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}*{box-sizing:border-box}#root,body,html{margin:0;overflow:hidden;padding:0}#root,.App,body,html{height:100%;width:100%}.App{display:flex;flex-direction:column;position:relative;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;min-height:100%;overflow:auto;padding:30px 0 10px;position:relative;width:100%}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){#root,body,html{overflow:auto}.App-header{padding:0 0 5px}}.move-zeroes{background-color:#3a3f4b;border-radius:10px;margin-top:20px;max-width:600px;padding:30px;width:80%}.move-zeroes h2{color:#61dafb;margin-top:0}.move-zeroes form{display:flex;flex-direction:column;gap:15px;margin:20px 0}.move-zeroes form div{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.move-zeroes input{border:none;border-radius:5px;font-size:16px;padding:10px;width:100%}.move-zeroes button{background-color:#61dafb;border:none;border-radius:5px;color:#282c34;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .3s}.move-zeroes button:hover{background-color:#4fa9d5}.result{background-color:#4a5061;border-radius:5px;margin-top:20px;padding:15px}.result h3{color:#61dafb;margin-top:0}.result p{background-color:#282c34;border-radius:5px;font-family:monospace;font-size:18px;padding:10px}.visualizer-controls{background-color:#2a2e3a;border-radius:8px;box-shadow:0 4px 10px #0003;box-sizing:border-box;color:#fff;margin-bottom:4px;margin-top:15px;padding:8px 12px;width:100%}.controls-layout{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.input-section{flex:1 1;min-width:200px}.input-with-button{display:flex;gap:4px}.input-with-button input{background-color:#3a3f4b;border:none;border-radius:3px;color:#fff;flex:1 1;font-size:13px;min-width:0;padding:3px 6px}.input-with-button button{background-color:#61dafb;border:none;border-radius:3px;color:#282c34;cursor:pointer;font-weight:700;padding:3px 6px;transition:background-color .2s;white-space:nowrap}.input-with-button button:hover{background-color:#4fa9d5}.error-message{color:#ff5252;font-size:12px;margin-top:3px}.speed-and-presets{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.speed-control{min-width:120px;width:170px}.speed-control label{color:#ddd;display:flex;flex-direction:column;font-size:13px}.speed-control input[type=range]{-webkit-appearance:none;appearance:none;background-color:#3a3f4b;border-radius:3px;height:6px;margin-top:5px;outline:none;width:100%}.speed-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#61dafb;border-radius:50%;cursor:pointer;height:16px;-webkit-transition:background-color .2s;transition:background-color .2s;width:16px}.speed-control input[type=range]::-webkit-slider-thumb:hover{background-color:#4fa9d5}.preset-buttons{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.preset-button{background-color:#3a3f4b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 8px;transition:background-color .2s;white-space:nowrap}.preset-button:hover{background-color:#4a5061}.preset-button.random{background-color:#7e57c2}.preset-button.random:hover{background-color:#6a4aad}@media (max-width:900px){.controls-layout{align-items:stretch;flex-direction:column;gap:5px}.input-section{margin-bottom:5px;max-width:none}.speed-and-presets{align-items:stretch;flex-direction:column;gap:10px}.speed-control{width:100%}}@media (max-width:480px){.visualizer-controls{padding:6px 8px}.preset-buttons{justify-content:center}.input-with-button button,.input-with-button input{font-size:12px;padding:2px 4px}}.algorithm-visualizer{box-sizing:border-box;margin:0 auto;padding:0;width:100%}.algorithm-visualizer,.code-explanation-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.code-explanation-container{gap:10px}.compact-layout{gap:10px;position:relative;width:100%}.compact-layout,.left-panel{display:flex;flex:1 1;height:100%}.left-panel{border-radius:10px;min-width:0;overflow:hidden;padding:10px 12px 15px}.left-panel,.visualization-container{background-color:#2a2e3a;box-shadow:0 4px 10px #0003;flex-direction:column}.visualization-container{border:none;border-radius:8px;box-sizing:border-box;display:flex;gap:10px;padding:10px;width:100%}.visualization-header{align-items:center;display:flex;justify-content:center;padding:5px 0}.visualization-header h2{color:#fff;font-size:18px;margin:0}.visualization-content{background-color:initial;border:none;border-radius:0;display:flex;flex-direction:column;gap:10px}.visualization-section{align-items:center;border:none;display:flex;flex:1 1;justify-content:center;min-height:200px;padding:10px 0}.right-panel{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;padding-bottom:10px;width:38%}@media (max-width:1024px){.compact-layout{flex-direction:column;height:auto}.right-panel{max-height:400px;width:100%}.left-panel,.right-panel{flex-shrink:0;height:auto}.left-panel{margin-bottom:10px;min-height:300px}.code-explanation-container{flex-direction:row;height:100%}.code-section,.explanation-section{height:100%;margin-bottom:0;width:50%}.code-section{margin-right:10px}}@media (max-width:768px){.algorithm-visualizer{height:auto;min-height:0}.compact-layout{gap:5px}.code-explanation-container{flex-direction:column;height:auto}.code-section,.explanation-section{height:auto;max-height:250px;width:100%}.code-section{margin-bottom:5px;margin-right:0}.left-panel{min-height:250px;padding:8px}}@media (max-width:480px){.left-panel,.right-panel{padding:5px}.compact-layout{gap:5px}}.array-container-d3{box-sizing:border-box;display:flex;justify-content:center;min-height:150px;overflow:visible;padding:5px;width:100%}svg{overflow:visible}.array-element rect{box-shadow:0 2px 5px #0003;transition:all .5s ease}.array-element text{pointer-events:none}.index-label{fill:#fff;font-size:12px}.index-background{fill:#333;opacity:.7}.zero-element rect{fill:#777}.swapping rect{fill:#ff5252;filter:drop-shadow(0 0 3px rgba(255,82,82,.8));transform:scale(1.1)}.swap-paths path{stroke-dashoffset:0;animation:dash 1s linear forwards}@keyframes dash{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.pointer circle{animation:pulse 1s infinite}.highlight-animation{animation:highlight-pulse .6s ease-in-out}@keyframes highlight-pulse{0%,to{filter:brightness(100%);transform:scale(1)}50%{filter:brightness(120%);transform:scale(1.15)}}.swap-animation{animation:swap-effect .8s ease-in-out}@keyframes swap-effect{0%{filter:brightness(100%);transform:scale(1)}50%{filter:brightness(150%) drop-shadow(0 0 8px rgba(255,82,82,.8));transform:scale(1.2)}to{filter:brightness(100%);transform:scale(1)}}@media (max-width:768px){.array-container-d3{padding:3px}}@media (max-width:480px){.array-container-d3{padding:2px}}.step-explanation{align-items:center;background-color:#3a3f4b;border-radius:5px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;justify-content:center;margin:5px 0;padding:6px;text-align:center;width:100%}.current-action{margin-bottom:5px}.action-tag{border-radius:12px;display:inline-block;font-size:12px;font-weight:700;padding:3px 8px}.action-tag.swap{background-color:#ff5252;color:#fff}.action-tag.compare{background-color:#fb8c00;color:#fff}.action-tag.move{background-color:#7e57c2;color:#fff}.action-tag.init{background-color:#009688;color:#fff}.action-tag.complete{background-color:#43a047;color:#fff}.description-text{font-size:14px;line-height:1.4;margin:0}@media (max-width:768px){.step-explanation{padding:4px}.action-tag{font-size:11px;padding:2px 6px}.description-text{font-size:12px;line-height:1.3}}@media (max-width:480px){.description-text{font-size:11px;line-height:1.2}}.controls{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:5px;margin-top:4px;width:100%}.control-button{align-items:center;background-color:#3a3f4b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:2px;padding:4px 6px;transition:all .2s}.button-icon{font-size:16px}.shortcut-hint{color:#ffffffb3;font-size:9px;font-weight:400;margin-left:3px}.control-button:hover{background-color:#4a5061;transform:translateY(-2px)}.control-button:active{transform:translateY(0)}.control-button.play{background-color:#43a047}.control-button.play:hover{background-color:#388e3c}.control-button.pause{background-color:#fb8c00}.control-button.pause:hover{background-color:#f57c00}.control-button.reset{background-color:#f44336}.control-button.reset:hover{background-color:#e53935}.control-button:disabled{background-color:#555;color:#888;cursor:not-allowed;transform:none}.control-button:disabled .shortcut-hint{color:#888888b3}@media (max-width:768px){.controls{gap:4px}.control-button{font-size:10px;padding:3px 5px}.button-icon{font-size:14px}.shortcut-hint{font-size:8px}}@media (max-width:480px){.control-button{font-size:9px;gap:1px;padding:3px 4px}.button-icon{font-size:12px}.shortcut-hint{font-size:7px;margin-left:2px}}.progress-stats{box-sizing:border-box;margin-top:auto;padding:2px 0;width:100%}.progress-bar{background-color:#3a3f4b;border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden;width:100%}.progress-fill{background-color:#61dafb;height:100%;transition:width .3s ease}.statistics{color:#ddd;display:flex;font-size:12px;justify-content:space-between;margin-bottom:3px}.statistic{align-items:center;display:flex}.statistic span{font-weight:700}@media (max-width:768px){.progress-bar{height:3px;margin-bottom:4px}.statistics{font-size:11px}}@media (max-width:480px){.progress-bar{margin-bottom:2px}.statistics{font-size:10px}}.visualizer-page{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-height:100vh;max-width:100%;overflow:hidden;padding:0 10px 15px;width:100%}.page-header{align-items:center;display:flex;justify-content:center;margin-bottom:10px;padding:30px 0 15px;position:relative;text-align:center;width:100%}.leetcode-link{color:inherit;display:inline-block;text-decoration:none}.page-header h1{color:#61dafb;font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-link{display:block;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:transform .2s ease-in-out}.github-link:hover{transform:translateY(-50%) scale(1.1)}.github-icon{fill:#61dafb;display:block}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative;width:100%}@media (max-width:768px){.visualizer-page{height:100vh;overflow:auto}.page-header{font-size:16px;padding:30px 0 15px}.github-link{right:5px}}@media (max-width:480px){.visualizer-page{padding:5px}.page-header{padding:25px 0 10px}.github-icon{height:24px;width:24px}}
/*# sourceMappingURL=main.7b0998cd.css.map*/