body{margin:0;background-color:#000;color:#fff;font-family:Inter,sans-serif;overflow:hidden}#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.node{width:20px;height:20px;border:1px solid #222}.node-finish{background-color:#888}.node-start{background-color:#fff}.node-visited{animation-name:visitedAnimation;animation-duration:1.5s;animation-timing-function:ease-out;animation-delay:0;animation-direction:alternate;animation-iteration-count:1;animation-fill-mode:forwards;animation-play-state:running;background-color:#444;transition:background-color .2s ease}.node:hover{transform:scale(1.15)}.node-weighted{background-color:#555;box-shadow:inset 0 0 4px #aaa}@keyframes visitedAnimation{0%{transform:scale(.3);background-color:#000042bf;border-radius:100%}50%{background-color:#1168d9bf}75%{transform:scale(1.2);background-color:#00d99fbf}to{transform:scale(1);background-color:#00bedabf}}.node-wall{background-color:#333}.node-weight{background-color:#2040f5}.node-shortest-path{animation-name:shortestPath;animation-duration:1.5s;animation-timing-function:ease-out;animation-delay:0;animation-direction:alternate;animation-iteration-count:1;animation-fill-mode:forwards;animation-play-state:running;background-color:#fff}@keyframes shortestPath{0%{transform:scale(.6);background-color:#fffe6a}50%{transform:scale(1.2);background-color:#fffe6a}to{transform:scale(1);background-color:#fffe6a}}body{margin:0;background:#000;color:#fff;font-family:Inter,sans-serif}.navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 30px;background:#000;border-bottom:1px solid #222}.title{font-size:20px;font-weight:500;letter-spacing:1px;color:#fff}.controls button{margin:0 6px;padding:8px 14px;border:1px solid #333;border-radius:6px;background:transparent;color:#ccc;cursor:pointer;transition:all .2s ease}.controls button:hover{background:#fff;color:#000;border-color:#fff}.active-btn{background:#fff;color:#000;border:1px solid #ffffff;box-shadow:0 0 10px #fff9}.grid{width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.grid>div{display:flex}input[type=range]{margin-left:15px;cursor:pointer}
