:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.code-panel[data-v-5535ed9d]{flex:1;background-color:#282828;border-right:2px solid #504945;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#ebdbb2}.code-lines[data-v-5535ed9d]{padding:20px;background-color:#282828;text-align:left}.code-line[data-v-5535ed9d]{display:block;position:relative;min-height:1.6em;white-space:pre;padding-left:50px;border-left:3px solid transparent;transition:background-color .15s ease}.code-line[data-v-5535ed9d]:hover{background-color:#50494533;cursor:pointer}.code-line.active[data-v-5535ed9d]{background-color:#45858826;border-left-color:#458588}.line-number[data-v-5535ed9d]{position:absolute;left:0;top:0;width:40px;height:100%;color:#665c54;text-align:right;padding-right:10px;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:inherit;line-height:1.6;display:flex;align-items:center;justify-content:flex-end}.code-line.active .line-number[data-v-5535ed9d]{color:#a89984}.code-text[data-v-5535ed9d]{color:#ebdbb2;font-family:inherit;font-size:inherit;line-height:1.6;white-space:pre}.code-text[data-v-5535ed9d] .shiki{background-color:transparent!important;padding:0!important;margin:0!important;font-family:inherit;font-size:inherit;line-height:inherit}.code-text[data-v-5535ed9d] code{font-family:inherit;font-size:inherit;line-height:inherit;background:none!important;padding:0!important}.code-panel[data-v-5535ed9d]::-webkit-scrollbar{width:10px}.code-panel[data-v-5535ed9d]::-webkit-scrollbar-track{background:#1d2021}.code-panel[data-v-5535ed9d]::-webkit-scrollbar-thumb{background:#504945;border-radius:5px}.code-panel[data-v-5535ed9d]::-webkit-scrollbar-thumb:hover{background:#665c54}.circle-node[data-v-93a2e336]{cursor:pointer;transition:all .3s ease}.node-circle[data-v-93a2e336]{fill:#1d2021;stroke:#928374;stroke-width:2;transition:all .3s ease}.node-circle.active[data-v-93a2e336]{fill:#076678;stroke:#83a598;stroke-width:3}.node-circle.to-remove[data-v-93a2e336]{fill:#cc241d;stroke:#fb4934;animation:pulse-93a2e336 1s infinite}.node-circle.removed[data-v-93a2e336]{fill:#1d2021;stroke:#665c54;opacity:.3}.node-text[data-v-93a2e336]{fill:#000;font-size:22px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none}.node-text.active[data-v-93a2e336],.node-text.to-remove[data-v-93a2e336]{fill:#000;font-weight:700}.node-text.removed[data-v-93a2e336]{fill:#665c54}@keyframes pulse-93a2e336{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.circle-node:hover .node-circle[data-v-93a2e336]:not(.removed){stroke-width:3;filter:brightness(1.2)}.circle-link[data-v-a861de08]{fill:none;transition:all .3s ease;stroke-linecap:round}.circle-link.type-next[data-v-a861de08]{stroke:#458588;stroke-width:2.5;stroke-dasharray:none;opacity:.9}.circle-link.type-next.active[data-v-a861de08]{stroke:#83a598;stroke-width:3.5;opacity:1;filter:drop-shadow(0 0 4px #83a598)}.circle-link.type-prev[data-v-a861de08]{stroke:#98971a;stroke-width:2;stroke-dasharray:5,3;opacity:.8}.circle-link.type-prev.active[data-v-a861de08]{stroke:#b8bb26;stroke-width:3;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 4px #b8bb26)}.circle-link.state-inactive[data-v-a861de08]{opacity:0;stroke-width:0;stroke-dasharray:none}.circle-link.state-fading[data-v-a861de08]{opacity:.3;stroke-width:1.5;stroke-dasharray:3,3}.circle-link.state-removed[data-v-a861de08]{opacity:.1;stroke-width:1;stroke-dasharray:2,4}.circle-link.type-next.state-removed[data-v-a861de08]{stroke:#45858850}.circle-link.type-prev.state-removed[data-v-a861de08]{stroke:#98971a50}.circle-link[data-v-a861de08]:hover:not(.state-removed){filter:brightness(1.4) drop-shadow(0 0 3px currentColor);stroke-width:4}.circle-link.type-next[data-v-a861de08]:hover{stroke:#88c9d9}.circle-link.type-prev[data-v-a861de08]:hover{stroke:#b8bb26}.animation-panel[data-v-8786e8b3]{flex:1;background-color:#1d2021;display:flex;align-items:center;justify-content:center;position:relative}.animation-container[data-v-8786e8b3]{width:90%;height:90%;display:flex;align-items:center;justify-content:center}.circle-svg[data-v-8786e8b3]{width:100%;height:100%;max-width:800px;max-height:800px}.info-text[data-v-8786e8b3]{fill:#fbf1c7;font-size:28px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.round-text[data-v-8786e8b3]{fill:#928374;font-size:22px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.circle-node[data-v-8786e8b3]{opacity:1;transition:opacity .3s ease}.circle-node.node-removed[data-v-8786e8b3]{opacity:.3}@media (max-width: 768px){.animation-container[data-v-8786e8b3]{width:95%;height:95%}.circle-svg[data-v-8786e8b3]{max-width:500px;max-height:500px}.info-text[data-v-8786e8b3]{font-size:16px}.round-text[data-v-8786e8b3]{font-size:14px}}.control-panel[data-v-a06bdbf0]{height:60px;background-color:#3c3836;border-top:2px solid #504945;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:20px;flex-wrap:wrap;position:relative;z-index:10}.button-group[data-v-a06bdbf0]{display:flex;align-items:center;gap:10px}.control-btn[data-v-a06bdbf0]{padding:10px 16px;background-color:#458588;color:#ebdbb2;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;transition:all .3s ease;display:flex;align-items:center;gap:5px;min-width:80px;justify-content:center}.control-btn[data-v-a06bdbf0]:hover:not(:disabled){background-color:#83a598;transform:translateY(-1px)}.control-btn[data-v-a06bdbf0]:active:not(:disabled){transform:translateY(0)}.control-btn[data-v-a06bdbf0]:disabled{opacity:.5;cursor:not-allowed}.play-btn[data-v-a06bdbf0]:hover:not(:disabled){background-color:#8ec07c}.pause-btn[data-v-a06bdbf0]:hover:not(:disabled){background-color:#fabd2f}.reset-btn[data-v-a06bdbf0]:hover:not(:disabled){background-color:#d3869b}.step-btn[data-v-a06bdbf0]:hover:not(:disabled){background-color:#fe8019}.speed-control[data-v-a06bdbf0]{display:flex;align-items:center;gap:10px}.speed-control label[data-v-a06bdbf0]{color:#ebdbb2;font-size:14px;white-space:nowrap}.speed-control input[type=range][data-v-a06bdbf0]{width:120px;height:4px;background:#504945;outline:none;border-radius:2px;-webkit-appearance:none}.speed-control input[type=range][data-v-a06bdbf0]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#458588;cursor:pointer;border-radius:50%;transition:background-color .3s ease}.speed-control input[type=range][data-v-a06bdbf0]::-webkit-slider-thumb:hover{background:#83a598}.speed-control span[data-v-a06bdbf0]{color:#a89984;font-size:14px;min-width:40px}.progress-info[data-v-a06bdbf0]{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.progress-info span[data-v-a06bdbf0]{color:#a89984;font-size:13px;text-align:right}.progress-info span[data-v-a06bdbf0]:first-child{color:#ebdbb2;font-weight:700}@media (max-width: 768px){.control-panel[data-v-a06bdbf0]{height:auto;min-height:80px;padding:15px;flex-direction:column;gap:15px}.button-group[data-v-a06bdbf0]{order:1;flex-wrap:wrap;justify-content:center}.speed-control[data-v-a06bdbf0]{order:2;justify-content:center}.progress-info[data-v-a06bdbf0]{order:3;align-items:center;text-align:center}.control-btn[data-v-a06bdbf0]{min-width:70px;font-size:12px;padding:8px 12px}.speed-control input[type=range][data-v-a06bdbf0]{width:100px}}@media (max-width: 480px){.control-panel[data-v-a06bdbf0]{padding:10px;gap:10px}.button-group[data-v-a06bdbf0]{gap:5px}.control-btn[data-v-a06bdbf0]{min-width:60px;padding:6px 8px;font-size:11px}.progress-info span[data-v-a06bdbf0]{font-size:12px}}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#282828;color:#ebdbb2;font-family:Consolas,Monaco,Courier New,monospace;overflow:hidden}#app{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden}.main-container{display:flex;flex:1}.code-panel{flex:1;background-color:#1d2021;border-right:2px solid #504945;overflow-y:auto;padding:20px;display:flex;flex-direction:column}.code-panel .code-content{background-color:#282828;border-radius:8px;padding:20px;box-shadow:0 4px 12px #0000004d;flex:1;text-align:left}.animation-panel{flex:1;background-color:#1d2021;display:flex;align-items:center;justify-content:center;position:relative}.animation-panel .animation-container{width:90%;height:90%;display:flex;align-items:center;justify-content:center}.control-panel{height:80px;background-color:#3c3836;border-top:2px solid #504945;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:20px;flex-wrap:wrap;position:relative;z-index:1000}.control-panel button{padding:10px 20px;background-color:#458588;color:#ebdbb2;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:14px;transition:all .3s ease}.control-panel button:hover{background-color:#83a598;transform:translateY(-1px)}.control-panel button:active{transform:translateY(0)}.control-panel button:disabled{opacity:.5;cursor:not-allowed}.control-panel .speed-control{display:flex;align-items:center;gap:10px}.control-panel .speed-control label{color:#ebdbb2;font-size:14px}.control-panel .speed-control input[type=range]{width:120px;height:4px;background:#504945;outline:none;border-radius:2px}.control-panel .speed-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#458588;cursor:pointer;border-radius:50%}.control-panel .speed-control input[type=range]::-webkit-slider-thumb:hover{background:#83a598}.hljs{background-color:#282828!important;color:#ebdbb2!important}.hljs .hljs-keyword{color:#cc241d!important}.hljs .hljs-type{color:#d79921!important}.hljs .hljs-number{color:#b16286!important}.hljs .hljs-string{color:#98971a!important}.hljs .hljs-comment{color:#928374!important;font-style:italic}.hljs .hljs-function{color:#98971a!important}.hljs .hljs-variable{color:#458588!important}.hljs .hljs-operator{color:#d65d0e!important}.code-line{display:block;transition:all .3s ease;border-left:3px solid transparent;padding:2px 0 2px 10px;margin-left:-10px}.code-line:hover{background-color:#5049454d;cursor:pointer}.code-line.active{background-color:#45858833;border-left-color:#458588;color:#fbf1c7;font-weight:700}.code-line .line-number{display:inline-block;width:30px;color:#665c54;text-align:right;margin-right:15px;-webkit-user-select:none;user-select:none}.active .code-line .line-number{color:#ebdbb2}.circle-node{fill:#3c3836;stroke:#ebdbb2;stroke-width:2;transition:all .3s ease}.circle-node.active{fill:#458588;stroke:#83a598;stroke-width:3}.circle-node.to-remove{fill:#cc241d;stroke:#fb4934;animation:pulse 1s infinite}.circle-node.removed{fill:#1d2021;stroke:#665c54;opacity:.3}.node-text{fill:#ebdbb2;font-size:14px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.active .node-text,.to-remove .node-text{fill:#fbf1c7}.circle-link{fill:none;stroke:#504945;stroke-width:2;stroke-dasharray:5,5}.circle-link.active{stroke:#458588;stroke-dasharray:none}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .5s ease-out}@media (max-width: 768px){.main-container{flex-direction:column;height:calc(100vh - 80px)}.code-panel,.animation-panel{flex:1;border-right:none}.code-panel{border-bottom:2px solid #504945}.control-panel{height:80px;flex-wrap:wrap;gap:10px}.speed-control{flex-basis:100%;justify-content:center}}.main-container{display:flex;flex:1;height:calc(100vh - 80px);overflow:hidden}.control-panel{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:1000!important;height:80px!important;background-color:#3c3836!important;border-top:2px solid #504945!important}
