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:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.node{display:inline-block;height:25px;outline:1px solid gray;width:25px}.node-end{background-color:#e87b7b}.node-start{background-color:#82d782}.node-wall{background-color:#000}.node-visited{animation-delay:0;animation-direction:alternate;animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:visitedAnimation;animation-play-state:running;animation-timing-function:ease-out}@keyframes visitedAnimation{0%{background-color:#420029bf;border-radius:100%;transform:scale(.3)}50%{background-color:#a570adbf}75%{background-color:#e8a6a6b3;transform:scale(1.2)}to{background-color:#d5b9ffbf;transform:scale(1)}}.node-shortest-path{animation-delay:0;animation-direction:alternate;animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:shortestPath;animation-play-state:running;animation-timing-function:ease-out}@keyframes shortestPath{0%{background-color:#fffe6a;transform:scale(.6)}50%{background-color:#fffe6a;transform:scale(1.2)}to{background-color:#fffe6a;transform:scale(1)}}.navigation{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;padding:1rem 0;position:sticky;top:0;z-index:1000}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.nav-brand h1{color:#fff;font-size:1.8rem;font-weight:600;margin:0;text-shadow:0 2px 4px #0003}.nav-menu{align-items:center;display:flex;gap:1rem}.dropdown{position:relative}.dropdown-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.dropdown-toggle:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.dropdown-menu{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;list-style:none;margin-top:.5rem;min-width:220px;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu:before{border-bottom:8px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;content:"";height:0;position:absolute;right:20px;top:-8px;width:0}.dropdown-item{background:none;border:none;border-radius:0;color:#333;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background-color:#f8f9fa;color:#667eea}.dropdown-item:first-child{border-radius:12px 12px 0 0}.dropdown-item:last-child{border-radius:0 0 12px 12px}.clear-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.clear-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}@media (max-width:768px){.nav-container{flex-direction:column;gap:1rem;padding:0 1rem}.nav-brand h1{font-size:1.5rem}.nav-menu{justify-content:center;width:100%}.dropdown-menu,.dropdown-menu:before{left:50%;right:auto;transform:translateX(-50%)}}.grid{align-items:center;display:flex;flex-direction:column;margin:100px 0 0}.grid>div{display:flex;flex-direction:row}
/*# sourceMappingURL=main.95c2e54d.css.map*/