*{font-family:abel,sans-serif}.app-header{text-align:center;margin-bottom:3rem}.app-title{font-size:3rem;font-weight:700;color:#111827;margin-bottom:1rem}.app-subtitle{font-size:1.25rem;color:#6b7280;max-width:32rem;margin:0 auto}@media (max-width: 640px){.app-title{font-size:2rem}.app-subtitle{font-size:1rem}}.algorithm-card{background:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem;cursor:pointer;transition:all .3s ease}.algorithm-card:hover{box-shadow:0 25px 50px -12px #00000040;transform:scale(1.05)}.algorithm-card.selected{background:#eff6ff}.algorithm-card:not(.selected):hover{background:#f9fafb}.algorithm-card-header{display:flex;align-items:center;margin-bottom:1rem}.algorithm-card-icon{padding:.75rem;border-radius:9999px;margin-right:1rem}.algorithm-card-icon.default{background:#f3f4f6;color:#6b7280}.algorithm-card-icon.selected{background:#3b82f6;color:#fff}.algorithm-card-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.algorithm-card-description{color:#6b7280;margin:0}.algorithm-grid{display:grid;gap:1.5rem;margin-bottom:3rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (min-width: 768px){.algorithm-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.algorithm-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.algorithm-grid{grid-template-columns:1fr}}.param-container{margin-bottom:1.5rem;max-width:95%;align-self:center}.param-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.param-required{color:#ef4444}.param-input,.param-select,.param-textarea{width:100%;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:all .2s ease}.param-input:focus,.param-select:focus,.param-textarea:focus{outline:none;border-color:transparent}.param-textarea{resize:none;font-family:inherit}.config-panel{background:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:2rem;margin-bottom:20px}.config-header{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1.5rem;display:flex;align-items:center}.config-icon{padding:.5rem;background:#3b82f6;color:#fff;border-radius:9999px;margin-right:1rem}.visualize-button{width:100%;background:linear-gradient(90deg,#3b82f6,#4f46e5);color:#fff;font-weight:600;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 15px -3px #0000001a;font-size:1rem}.visualize-button:hover{background:linear-gradient(90deg,#2563eb,#4338ca);transform:scale(1.05)}.empty-state{text-align:center;padding:3rem 0}.empty-state-icon{width:4rem;height:4rem;margin:0 auto 1rem;color:#9ca3af}.empty-state-text{font-size:1.25rem;color:#6b7280}.bs-visualizer{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a}.bs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.bs-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.bs-info{display:flex;gap:2rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.bs-target{font-size:1.1rem;color:#475569;padding:.5rem 1rem;background:#e2e8f0;border-radius:.5rem}.bs-step-counter{font-size:1rem;color:#64748b;padding:.5rem 1rem;background:#f1f5f9;border-radius:.5rem;border:1px solid #cbd5e1}.bs-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.bs-control-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#3b82f6;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.bs-control-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 15px -3px #0003}.bs-control-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:0 2px 4px -1px #0000001a}.bs-play-pause{width:56px;height:56px}.bs-play-pause.playing{background:#ef4444}.bs-play-pause.playing:hover{background:#dc2626}.bs-reset{background:#6b7280}.bs-reset:hover{background:#4b5563}.bs-speed-control{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.bs-speed-control label{font-weight:500;color:#374151}.bs-speed-select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;font-size:.875rem}.bs-array-container{margin-bottom:2rem}.bs-indices{display:flex;justify-content:center;gap:.25rem;margin-bottom:.5rem}.bs-index{width:60px;text-align:center;font-size:.875rem;color:#6b7280;font-weight:500}.bs-array{display:flex;justify-content:center;gap:.25rem;flex-wrap:wrap}.bs-element{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.1rem;font-weight:600;background:#fff;transition:all .4s ease;position:relative}.bs-element.bs-current-mid{background:#3b82f6;color:#fff;border-color:#1d4ed8;transform:scale(1.1);box-shadow:0 8px 15px -3px #3b82f666}.bs-element.bs-boundary{background:#f59e0b;color:#fff;border-color:#d97706;box-shadow:0 4px 6px -1px #f59e0b4d}.bs-element.bs-active-range{background:#10b981;color:#fff;border-color:#059669;box-shadow:0 4px 6px -1px #10b9814d}.bs-element.bs-eliminated{background:#ef4444;color:#fff;border-color:#dc2626;opacity:.6;transform:scale(.9)}.bs-element.bs-found{background:#22c55e;color:#fff;border-color:#16a34a;transform:scale(1.2);box-shadow:0 0 20px #22c55e99;animation:bs-pulse 1s ease-in-out infinite}.bs-element.bs-inactive{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db}@keyframes bs-pulse{0%,to{transform:scale(1.2);box-shadow:0 0 20px #22c55e99}50%{transform:scale(1.3);box-shadow:0 0 30px #22c55ecc}}.bs-status{margin-bottom:2rem}.bs-comparison{text-align:center;font-size:1.1rem;font-weight:500;color:#1e293b;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;min-height:3rem;display:flex;align-items:center;justify-content:center}.bs-range-info{display:flex;justify-content:center;gap:2rem;font-size:1rem;color:#475569;background:#f8fafc;padding:1rem;border-radius:.5rem;border:1px solid #e2e8f0}.bs-range-info span{font-weight:500}.bs-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0}.bs-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.bs-legend-color{width:20px;height:20px;border-radius:.25rem;border:1px solid #d1d5db}.bs-legend-color.bs-current-mid{background:#3b82f6}.bs-legend-color.bs-boundary{background:#f59e0b}.bs-legend-color.bs-active-range{background:#10b981}.bs-legend-color.bs-eliminated{background:#ef4444;opacity:.6}.bs-legend-color.bs-found{background:#22c55e}@media (max-width: 768px){.bs-visualizer{padding:1rem}.bs-title{font-size:1.5rem}.bs-header{flex-direction:column;align-items:center}.bs-info{flex-direction:column;gap:.5rem}.bs-array{justify-content:flex-start;overflow-x:auto;padding-bottom:1rem}.bs-element{width:50px;height:50px;font-size:1rem}.bs-index{width:50px;font-size:.75rem}.bs-legend{gap:1rem}.bs-range-info{flex-direction:column;gap:.5rem;text-align:center}.bs-comparison{font-size:1rem}}.graph-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.control-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#3b82f6;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.control-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 15px -3px #0003}.control-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px #0000001a}.control-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:0 2px 4px -1px #0000001a}.play-pause{width:56px;height:56px}.play-pause.playing{background:#ef4444}.play-pause.playing:hover:not(:disabled){background:#dc2626}.reset{background:#6b7280}.reset:hover:not(:disabled){background:#4b5563}.speed-control{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.speed-control label{font-weight:500;color:#374151;font-size:.875rem}.speed-control select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s ease}.speed-control select:hover{border-color:#3b82f6}.speed-control select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.step-info{display:flex;align-items:center;font-size:.875rem;color:#6b7280;font-weight:500;margin-left:1rem;padding:.5rem 1rem;background:#f8fafc;border-radius:.375rem;border:1px solid #e2e8f0}@media (max-width: 768px){.graph-controls{flex-direction:column;gap:1rem}.speed-control,.step-info{margin-left:0}.control-btn{width:44px;height:44px}.play-pause{width:52px;height:52px}}@media (max-width: 480px){.graph-controls{padding:.75rem}.control-btn{width:40px;height:40px}.play-pause{width:48px;height:48px}}.hs-visualizer{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a}.hs-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 2rem;text-align:center}.hs-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.hs-control-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#3b82f6;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.hs-control-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 15px -3px #0003}.hs-control-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:0 2px 4px -1px #0000001a}.hs-play-pause{width:56px;height:56px}.hs-play-pause.playing{background:#ef4444}.hs-play-pause.playing:hover{background:#dc2626}.hs-reset{background:#6b7280}.hs-reset:hover:not(:disabled){background:#4b5563}.hs-speed-control{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.hs-speed-control label{font-weight:500;color:#374151}.hs-speed-control select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;font-size:.875rem}.hs-array{display:flex;justify-content:center;gap:.25rem;flex-wrap:wrap;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.hs-element{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.1rem;font-weight:600;background:#fff;transition:all .4s ease;position:relative}.hs-element.hs-swap{background:#3b82f6;color:#fff;border-color:#1d4ed8;transform:scale(1.1);box-shadow:0 8px 15px -3px #3b82f666}.hs-element.hs-sorted{background:#22c55e;color:#fff;border-color:#16a34a;box-shadow:0 4px 6px -1px #22c55e4d;opacity:.8}.hs-tree-wrapper{display:flex;justify-content:center;margin-bottom:2rem;padding:2rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.hs-tree{display:block}.hs-node{fill:#fff;stroke:#e5e7eb;stroke-width:2;transition:all .4s ease}.hs-node.hs-swap{fill:#3b82f6;stroke:#1d4ed8;stroke-width:3;filter:drop-shadow(0 4px 6px rgba(59,130,246,.3))}.hs-node-text{font-size:14px;font-weight:600;fill:#1e293b;transition:all .4s ease}.hs-node.hs-swap+.hs-node-text{fill:#fff}.hs-status{text-align:center;font-size:1.1rem;font-weight:500;color:#1e293b;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;min-height:3rem;display:flex;align-items:center;justify-content:center}.hs-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;margin-bottom:2rem}.hs-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.hs-legend-color{width:20px;height:20px;border-radius:.25rem;border:1px solid #d1d5db}.hs-legend-color.hs-swap{background:#3b82f6}.hs-legend-color.hs-sorted{background:#22c55e}.hs-legend-color.hs-heapify{background:#f59e0b}.hs-legend-color.hs-inactive{background:#f3f4f6}@keyframes hs-swap-pulse{0%,to{transform:scale(1.1);box-shadow:0 8px 15px -3px #3b82f666}50%{transform:scale(1.2);box-shadow:0 8px 15px -3px #3b82f699}}.hs-element.hs-swap{animation:hs-swap-pulse .6s ease-in-out}.hs-heap-info{display:flex;justify-content:center;gap:2rem;font-size:1rem;color:#475569;background:#f8fafc;padding:1rem;border-radius:.5rem;border:1px solid #e2e8f0;margin-bottom:2rem}.hs-heap-info span{font-weight:500}@media (max-width: 768px){.hs-visualizer{padding:1rem}.hs-title{font-size:1.5rem}.hs-controls{flex-direction:column;gap:1rem}.hs-speed-control{margin-left:0}.hs-array{justify-content:flex-start;overflow-x:auto;padding-bottom:1rem}.hs-element{width:50px;height:50px;font-size:1rem}.hs-tree-wrapper{padding:1rem;overflow-x:auto}.hs-legend{gap:1rem;flex-direction:column;align-items:center}.hs-heap-info{flex-direction:column;gap:.5rem;text-align:center}.hs-status{font-size:1rem;padding:.75rem}}@media (max-width: 480px){.hs-element{width:45px;height:45px;font-size:.9rem}.hs-control-btn{width:44px;height:44px}.hs-play-pause{width:52px;height:52px}}.qs-visualizer{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a}.qs-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 2rem;text-align:center}.qs-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.qs-control-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#3b82f6;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.qs-control-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 15px -3px #0003}.qs-control-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:0 2px 4px -1px #0000001a}.qs-play-pause{width:56px;height:56px}.qs-play-pause.playing{background:#ef4444}.qs-play-pause.playing:hover:not(:disabled){background:#dc2626}.qs-reset{background:#6b7280}.qs-reset:hover:not(:disabled){background:#4b5563}.qs-speed-control{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.qs-speed-control label{font-weight:500;color:#374151}.qs-speed-control select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;font-size:.875rem}.qs-step-info{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.qs-step-counter{font-size:1rem;color:#64748b;padding:.5rem 1rem;background:#f1f5f9;border-radius:.5rem;border:1px solid #cbd5e1}.qs-range-info{display:flex;gap:2rem;font-size:1rem;color:#475569;background:#f8fafc;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center}.qs-range-info span{font-weight:500}.qs-array-container{margin-bottom:2rem}.qs-indices{display:flex;justify-content:center;gap:.25rem;margin-bottom:.5rem}.qs-index{width:60px;text-align:center;font-size:.875rem;color:#6b7280;font-weight:500}.qs-array{display:flex;justify-content:center;gap:.25rem;flex-wrap:wrap;padding:1rem}.qs-element{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.1rem;font-weight:600;background:#fff;transition:all .4s ease;position:relative}.qs-element.qs-pivot{background:#dc2626;color:#fff;border-color:#991b1b;transform:scale(1.1);box-shadow:0 8px 15px -3px #dc262666;animation:qs-pivot-pulse 1s ease-in-out infinite}.qs-element.qs-compare{background:#f59e0b;color:#fff;border-color:#d97706;box-shadow:0 4px 6px -1px #f59e0b4d}.qs-element.qs-swap{background:#3b82f6;color:#fff;border-color:#1d4ed8;transform:scale(1.1);box-shadow:0 8px 15px -3px #3b82f666}.qs-element.qs-active-range{background:#10b981;color:#fff;border-color:#059669;box-shadow:0 4px 6px -1px #10b9814d}.qs-element.qs-sorted{background:#22c55e;color:#fff;border-color:#16a34a;box-shadow:0 4px 6px -1px #22c55e4d;animation:qs-sorted-glow .6s ease-out}.qs-element.qs-inactive{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db;opacity:.7}@keyframes qs-pivot-pulse{0%,to{transform:scale(1.1);box-shadow:0 8px 15px -3px #dc262666}50%{transform:scale(1.15);box-shadow:0 8px 15px -3px #dc262699}}@keyframes qs-sorted-glow{0%{transform:scale(1);box-shadow:0 4px 6px -1px #22c55e4d}50%{transform:scale(1.1);box-shadow:0 0 20px #22c55e99}to{transform:scale(1);box-shadow:0 4px 6px -1px #22c55e4d}}.qs-status{margin-bottom:2rem}.qs-description{text-align:center;font-size:1.1rem;font-weight:500;color:#1e293b;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;min-height:3rem;display:flex;align-items:center;justify-content:center}.qs-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;margin-bottom:2rem}.qs-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.qs-legend-color{width:20px;height:20px;border-radius:.25rem;border:1px solid #d1d5db}.qs-legend-color.qs-pivot{background:#dc2626}.qs-legend-color.qs-compare{background:#f59e0b}.qs-legend-color.qs-swap{background:#3b82f6}.qs-legend-color.qs-active-range{background:#10b981}.qs-legend-color.qs-sorted{background:#22c55e}.qs-legend-color.qs-inactive{background:#f3f4f6}.demo-container{max-width:1400px;margin:0 auto;padding:2rem}.array-input-section{margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a}.input-controls{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;justify-content:center}.input-group{display:flex;flex-direction:column;gap:.5rem;min-width:300px}.input-group label{font-weight:500;color:#374151;font-size:.875rem}.array-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .2s}.array-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.update-btn,.random-btn{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;height:fit-content}.update-btn{background:#3b82f6;color:#fff}.update-btn:hover{background:#2563eb}.random-btn{background:#10b981;color:#fff}.random-btn:hover{background:#059669}@media (max-width: 768px){.qs-visualizer{padding:1rem}.qs-title{font-size:1.5rem}.qs-controls{flex-direction:column;gap:1rem}.qs-speed-control{margin-left:0}.qs-step-info{flex-direction:column;gap:.5rem}.qs-range-info{flex-direction:column;gap:.5rem;text-align:center}.qs-array{justify-content:flex-start;overflow-x:auto;padding-bottom:1rem}.qs-element{width:50px;height:50px;font-size:1rem}.qs-index{width:50px;font-size:.75rem}.qs-legend{gap:1rem;flex-direction:column;align-items:center}.qs-description{font-size:1rem;padding:.75rem}.input-controls{flex-direction:column;align-items:stretch}.input-group{min-width:auto}}@media (max-width: 480px){.qs-element{width:45px;height:45px;font-size:.9rem}.qs-index{width:45px}.qs-control-btn{width:44px;height:44px}.qs-play-pause{width:52px;height:52px}.demo-container{padding:1rem}}.graph-wrapper{display:flex;justify-content:center;margin-bottom:2rem;padding:2rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.graph-svg{display:block;min-width:800px}.graph-edge{transition:all .3s ease}.graph-edge.active{stroke:#3b82f6;stroke-width:2}.graph-edge.inactive{stroke:#4b5563;stroke-width:1;opacity:.3}.graph-node{fill:#fff;stroke:#e5e7eb;stroke-width:2;transition:all .4s ease;cursor:pointer}.graph-node:hover{stroke-width:3}.graph-node.current{fill:#3b82f6;stroke:#1d4ed8;stroke-width:3;filter:drop-shadow(0 4px 6px rgba(239,68,68,.3))}.graph-node.processing{fill:#f59e0b;stroke:#d97706;stroke-width:3;filter:drop-shadow(0 4px 6px rgba(245,158,11,.3))}.graph-node.visited{fill:#22c55e;stroke:#16a34a;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(34,197,94,.2))}.graph-node-text{font-size:14px;font-weight:600;fill:#1e293b;transition:all .4s ease;pointer-events:none;-webkit-user-select:none;user-select:none}.graph-node.current+text,.graph-node.processing+text{fill:#fff}.graph-node.visited+text{fill:#fff}.arrow-marker polygon{transition:fill .3s ease}@keyframes node-pulse{0%,to{transform:scale(1.2)}50%{transform:scale(1.3)}}.graph-node.current{animation:node-pulse 1s ease-in-out infinite}@media (max-width: 768px){.graph-wrapper{padding:1rem;overflow-x:auto}.graph-svg{min-width:600px}}.dfs-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0}.dfs-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.dfs-legend-color{width:20px;height:20px;border-radius:.25rem;border:1px solid #d1d5db}.dfs-legend-color.dfs-current-mid{background:#3b82f6}.dfs-legend-color.dfs-boundary{background:#f59e0b}.dfs-legend-color.dfs-active-range{background:#22c55e}.bfs-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0}.bfs-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.bfs-legend-color{width:20px;height:20px;border-radius:.25rem;border:1px solid #d1d5db}.bfs-legend-color.bfs-current-mid{background:#3b82f6}.bfs-legend-color.bfs-boundary{background:#f59e0b}.bfs-legend-color.bfs-active-range{background:#22c55e}.algorithm-workspace{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.visualization-container{width:100%;background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:center;align-items:center;min-height:300px;overflow-x:auto}@media (max-width: 640px){.algorithm-workspace{gap:1rem}.visualization-container{padding:1rem;min-height:200px}}.home-container{min-height:100vh;background:linear-gradient(135deg,#f0f9ff,#e0e7ff);padding:2rem}.home-content{max-width:72rem;margin:0 auto}@media (max-width: 640px){.home-container{padding:1rem}}
