.PathFindingComponent_container__JACee{width:100%;padding-top:2rem;color:#0d303f}.PathFindingComponent_mainContent___ryf1{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:2rem;width:100%}.PathFindingComponent_gridShell__CwOA3{display:flex;min-width:0;justify-content:center}.PathFindingComponent_gridContainer__1I6Yz{display:flex;width:min(60vh,100%,560px);aspect-ratio:1;flex-shrink:0;flex-direction:column;padding:15px;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 50px rgba(0,0,0,.1);font-size:0;perspective:1000px;transform-style:preserve-3d;transition:box-shadow .3s ease}.PathFindingComponent_gridContainer__1I6Yz:hover{box-shadow:0 15px 60px rgba(0,0,0,.15)}.PathFindingComponent_row__BZBiH{display:flex;width:100%;min-height:0;flex:1;font-size:0;transform-style:preserve-3d}.PathFindingComponent_node__gOkK2{position:relative;display:block;width:5%;height:100%;padding:0;margin:0;border:1px solid #eee;box-sizing:border-box;transform-style:preserve-3d;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}.PathFindingComponent_node__gOkK2:hover{z-index:2;transform:translateZ(1px);box-shadow:0 2px 4px rgba(0,0,0,.05)}.PathFindingComponent_nodeEmpty__X22A_{background:#fff}.PathFindingComponent_nodeStart__rhm1_{background:#f44;box-shadow:0 0 6px rgba(255,68,68,.2);transform:translateZ(1px)}.PathFindingComponent_nodeEnd__4xyEV{background:#4caf50;box-shadow:0 0 6px rgba(76,175,80,.2);transform:translateZ(1px)}.PathFindingComponent_nodeVisited__JSCNR{background:rgba(255,167,38,.9);animation:PathFindingComponent_pulseVisited__hINfR 2s ease-in-out infinite}.PathFindingComponent_nodeNext__aSRVh{z-index:3;border:2px solid #ffeb3b;background:blue;box-shadow:0 0 10px blue;transform:translateZ(5px)}.PathFindingComponent_nodePath__6gyo3{z-index:2;background:#4caf50;box-shadow:0 0 8px rgba(76,175,80,.4);animation:PathFindingComponent_pathGlow__jcvvT 1.5s ease-in-out infinite alternate;transform:translateZ(2px)}.PathFindingComponent_nodeObstacle__s69la{background:rgba(66,66,66,.9);box-shadow:0 2px 3px rgba(0,0,0,.05)}.PathFindingComponent_nodeBlock__D7Zig{background:#d32f2f;box-shadow:0 0 15px rgba(211,47,47,.3);transform:translateZ(3px)}.PathFindingComponent_controls__bEdfP{position:relative;display:flex;width:100%;margin-top:2.25rem;flex-direction:column;align-items:center;gap:.65rem}.PathFindingComponent_inputGroup__dkR31,.PathFindingComponent_selectWrapper__cBhD5{width:100%;max-width:273px;min-width:120px}.PathFindingComponent_inputWrapper__E2rjq{display:flex;width:100%;align-items:center;gap:.55rem}.PathFindingComponent_inputWrapper__E2rjq label{flex:0 0 auto;color:#4a90e2;font-size:1rem;font-weight:400;white-space:nowrap}.PathFindingComponent_inputWrapper__E2rjq input{width:0;min-width:0;flex:1}.PathFindingComponent_controls__bEdfP input,.PathFindingComponent_controls__bEdfP select{min-height:3.25rem;border:2px solid #4a90e2;border-radius:.5rem;outline:none;background:#fff;padding:.8rem;color:#4a90e2;font:inherit;font-size:1.1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.PathFindingComponent_controls__bEdfP input:focus-visible,.PathFindingComponent_controls__bEdfP select:focus-visible{border-color:#2563eb;box-shadow:0 0 0 4px rgba(74,144,226,.16)}.PathFindingComponent_controls__bEdfP input:disabled,.PathFindingComponent_controls__bEdfP select:disabled{cursor:not-allowed;opacity:.55}.PathFindingComponent_controls__bEdfP select{width:100%;cursor:pointer}.PathFindingComponent_musicToggle__R9dcr{position:absolute;top:-3.1rem;right:.4rem;display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,0);box-shadow:none;color:inherit;cursor:pointer;font-size:16px;transition:transform .2s ease,background-color .2s ease}.PathFindingComponent_musicToggle__R9dcr:hover{background:rgba(255,255,255,.72);transform:scale(1.1)}.PathFindingComponent_musicToggle__R9dcr:active{transform:scale(.95)}.PathFindingComponent_musicToggle__R9dcr:focus-visible{outline:2px solid #4a90e2;outline-offset:3px}.PathFindingComponent_stats__MOOTj{margin-top:.8rem;color:#4a4a4a;font-size:1.1rem;font-weight:700;text-align:center}.PathFindingComponent_error__NiK5d{width:100%;max-width:273px;margin:.25rem 0 0;border:1px solid #fecaca;border-radius:.75rem;background:#fef2f2;padding:.75rem;color:#b91c1c;font-size:.72rem;line-height:1.2rem}.PathFindingComponent_loading__y42pF{display:flex;min-height:28rem;align-items:center;justify-content:center;gap:.6rem;border-radius:12px;background:#f8f7f1;color:#4a4a4a;font-size:.85rem}.PathFindingComponent_srOnly__KyiB_{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes PathFindingComponent_pulseVisited__hINfR{0%,to{opacity:.5;transform:translateZ(0) scale(.98)}50%{opacity:.75;transform:translateZ(0) scale(1)}}@keyframes PathFindingComponent_pathGlow__jcvvT{0%{opacity:.8;box-shadow:0 0 4px rgba(255,193,7,.3)}to{opacity:1;box-shadow:0 0 8px rgba(255,193,7,.5)}}@media(max-width:820px){.PathFindingComponent_mainContent___ryf1{grid-template-columns:1fr;gap:1.25rem}.PathFindingComponent_gridContainer__1I6Yz{width:min(100%,520px)}.PathFindingComponent_controls__bEdfP{width:min(100%,320px);margin:1.75rem auto 0}.PathFindingComponent_musicToggle__R9dcr{right:0}}@media(max-width:480px){.PathFindingComponent_container__JACee{padding-top:1rem}.PathFindingComponent_gridContainer__1I6Yz{padding:9px;border-radius:10px}.PathFindingComponent_node__gOkK2{border-width:.5px}.PathFindingComponent_controls__bEdfP{gap:.55rem}.PathFindingComponent_inputGroup__dkR31,.PathFindingComponent_selectWrapper__cBhD5{max-width:273px}.PathFindingComponent_controls__bEdfP input,.PathFindingComponent_controls__bEdfP select{min-height:3rem;padding:.7rem;font-size:1rem}.PathFindingComponent_inputWrapper__E2rjq label{font-size:.95rem}}@media(prefers-reduced-motion:reduce){.PathFindingComponent_gridContainer__1I6Yz,.PathFindingComponent_musicToggle__R9dcr,.PathFindingComponent_node__gOkK2{animation:none;transition:none}}.GlowingButton_glowingButton__9mduR{position:relative;width:100%;max-width:273px;min-width:120px;padding:1rem;border-radius:.5rem;background-color:#2d2d2d;color:#999;font-size:clamp(.9rem,1.5vw,1.1rem);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border:none;cursor:pointer;transition:all .3s ease;overflow:hidden;margin:.5rem}@media(max-width:768px){.GlowingButton_glowingButton__9mduR{padding:.8rem;font-size:.9rem;min-width:100px;margin:.3rem}}@media(max-width:480px){.GlowingButton_glowingButton__9mduR{padding:.6rem;font-size:.8rem;min-width:90px;margin:.2rem;letter-spacing:.05em}}.GlowingButton_glowingButton__9mduR:disabled{opacity:.6;cursor:not-allowed}.GlowingButton_glowingButton__9mduR:disabled:hover:before{opacity:0}.GlowingButton_glowingButton__9mduR:hover{color:var(--clr);text-shadow:0 0 15px var(--clr),0 0 40px var(--clr);transform:translateY(-2px)}.GlowingButton_glowingButton__9mduR span{position:relative;z-index:1}.GlowingButton_glowingButton__9mduR:before{content:"";position:absolute;top:var(--y);left:var(--x);transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(var(--clr),transparent,transparent);transition:.5s,top 0s,left 0s;opacity:0}.GlowingButton_glowingButton__9mduR:hover:before{opacity:.5}.GlowingButton_glowingButton__9mduR:after{content:"";position:absolute;inset:2px;background-color:#2d2d2d;border-radius:.4rem}