@keyframes stackPush{0%{transform:translateY(-50px) scale(.8);opacity:0}50%{transform:translateY(-25px) scale(.9);opacity:.5}to{transform:translateY(0) scale(1);opacity:1}}@keyframes stackPop{0%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-25px) scale(.9);opacity:.5}to{transform:translateY(-50px) scale(.8);opacity:0}}@keyframes stackPeek{0%,to{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 20px #ef444480}}.stack-node{transition:all .3s ease}.stack-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stack-node.top{border-color:#ef4444;box-shadow:0 0 10px #ef44444d}.stack-node.current{border-color:#f97316;box-shadow:0 0 15px #f9731666}.stack-container{transition:all .3s ease}.stack-container:hover{box-shadow:0 8px 25px #0000001a}.stack-top-indicator{animation:pulse 2s infinite}.stack-push{animation:stackPush .6s ease-out}.stack-pop{animation:stackPop .6s ease-in}.stack-peek{animation:stackPeek .4s ease-in-out}.stack-empty{opacity:.5;filter:grayscale(50%)}.stack-size-change,.stack-connection{transition:all .3s ease}.stack-connection:hover{stroke-width:3;stroke:#3b82f6}.doubly-linked-list-node{position:relative;transition:all .3s ease}.doubly-linked-list-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.doubly-linked-list-node.head{border-color:#ef4444;box-shadow:0 0 10px #ef44444d}.doubly-linked-list-node.tail{border-color:#3b82f6;box-shadow:0 0 10px #3b82f64d}.doubly-linked-list-node.current{border-color:#f97316;box-shadow:0 0 15px #f9731666;animation:pulse 1s infinite}.doubly-linked-list-node.found{border-color:#10b981;box-shadow:0 0 15px #10b98166;animation:bounce .6s ease-in-out}.doubly-link{transition:all .3s ease}.doubly-link.next{stroke:#3b82f6;stroke-width:2;marker-end:url(#arrowhead)}.doubly-link.prev{stroke:#10b981;stroke-width:2;stroke-dasharray:5,5;marker-end:url(#arrowhead-reverse)}.doubly-link:hover{stroke-width:3;stroke:#1d4ed8}.doubly-link-label{font-size:10px;font-weight:500;pointer-events:none}.doubly-link-label.next{color:#3b82f6}.doubly-link-label.prev{color:#10b981}.doubly-link-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.doubly-link-next{margin-bottom:1.5rem}.doubly-linked-list-container{overflow-x:auto;overflow-y:hidden}.doubly-linked-list-wrapper{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;min-height:120px;gap:0;row-gap:2rem}.doubly-linked-list-wrapper>div{margin:0;padding:0}@media (max-width: 768px){.doubly-linked-list-wrapper{gap:1rem}.doubly-linked-list-container{padding:1rem}}.doubly-linked-list-container{transition:all .3s ease}.doubly-linked-list-container:hover{box-shadow:0 8px 25px #0000001a}@keyframes doublyInsert{0%{transform:scale(0) rotate(180deg);opacity:0}50%{transform:scale(1.1) rotate(90deg);opacity:.5}to{transform:scale(1) rotate(0);opacity:1}}.doubly-insert{animation:doublyInsert .6s ease-out}@keyframes doublyDelete{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(90deg);opacity:.5}to{transform:scale(0) rotate(180deg);opacity:0}}.doubly-delete{animation:doublyDelete .6s ease-in}@keyframes doublyTraverse{0%{background-color:transparent}50%{background-color:#f9731633}to{background-color:transparent}}.doubly-traverse{animation:doublyTraverse .8s ease-in-out}@keyframes doublyReverseTraverse{0%{background-color:transparent}50%{background-color:#3b82f633}to{background-color:transparent}}.doubly-reverse-traverse{animation:doublyReverseTraverse .8s ease-in-out}.doubly-link-draw{stroke-dasharray:100;animation:linkDraw .5s ease-out}.doubly-status-indicator{position:absolute;top:-8px;right:-8px;width:16px;height:16px;border-radius:50%;background-color:#10b981;border:2px solid white;box-shadow:0 2px 4px #0003;animation:statusPulse 2s infinite}@media (max-width: 768px){.doubly-linked-list-container{min-width:300px}.doubly-linked-list-node{min-width:60px;padding:8px}}@media (prefers-color-scheme: dark){.doubly-linked-list-node{background-color:#1f2937;border-color:#374151}.doubly-linked-list-node:hover{border-color:#60a5fa}.doubly-link.next{stroke:#d1d5db}.doubly-link.prev{stroke:#6b7280}}.circular-linked-list-node{position:relative;transition:all .3s ease;border-radius:50%}.circular-linked-list-node:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026}.circular-linked-list-node.head{border-color:#ef4444;box-shadow:0 0 10px #ef44444d}.circular-linked-list-node.current{border-color:#f97316;box-shadow:0 0 15px #f9731666;animation:pulse 1s infinite}.circular-linked-list-node.found{border-color:#10b981;box-shadow:0 0 15px #10b98166;animation:bounce .6s ease-in-out}.circular-link{transition:all .3s ease;stroke:#3b82f6;stroke-width:3;fill:none}.circular-link.circular{stroke:#ef4444;stroke-width:4;stroke-dasharray:10}.circular-arrow{fill:#ef4444}@keyframes arrowPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.circular-link:hover{stroke-width:3;stroke:#3b82f6}.circular-linked-list-container{transition:all .3s ease;overflow:hidden}.circular-linked-list-container:hover{box-shadow:0 8px 25px #0000001a}.circular-layout-adaptive{display:flex;justify-content:center;align-items:center;min-height:200px}@media (max-width: 768px){.circular-linked-list-container{padding:1rem}.circular-layout-adaptive{min-height:150px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes dash{to{stroke-dashoffset:-20}}@keyframes circularInsert{0%{transform:scale(0) rotate(180deg);opacity:0}50%{transform:scale(1.1) rotate(90deg);opacity:.5}to{transform:scale(1) rotate(0);opacity:1}}.circular-insert{animation:circularInsert .6s ease-out}@keyframes circularDelete{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(90deg);opacity:.5}to{transform:scale(0) rotate(180deg);opacity:0}}.circular-delete{animation:circularDelete .6s ease-in}@keyframes circularTraverse{0%{background-color:transparent}50%{background-color:#f9731633}to{background-color:transparent}}.circular-traverse{animation:circularTraverse .8s ease-in-out}@keyframes circularRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.circular-rotate{animation:circularRotate 4s linear infinite}.circular-status-indicator{position:absolute;top:-8px;right:-8px;width:16px;height:16px;border-radius:50%;background-color:#10b981;border:2px solid white;box-shadow:0 2px 4px #0003;animation:statusPulse 2s infinite}@keyframes statusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}@keyframes circularLayout{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.circular-layout{animation:circularLayout .5s ease-out}@keyframes linkDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.circular-link-draw{stroke-dasharray:100;animation:linkDraw .5s ease-out}.circular-node-group{transition:all .3s ease}.circular-node-group:hover{transform:scale(1.02)}@media (max-width: 768px){.circular-linked-list-container{min-width:300px;min-height:250px}.circular-linked-list-node{min-width:50px;min-height:50px;padding:6px}}@media (prefers-color-scheme: dark){.circular-linked-list-node{background-color:#1f2937;border-color:#374151}.circular-linked-list-node:hover{border-color:#60a5fa}.circular-link{stroke:#d1d5db}.circular-link.circular{stroke:#f87171}}.circular-linked-list-container{position:relative;overflow:hidden}.circular-linked-list-container:before{content:"";position:absolute;top:50%;left:50%;width:200px;height:200px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;animation:circularGlow 3s ease-in-out infinite}@keyframes circularGlow{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.1)}}.circular-node-connection{position:absolute;width:100%;height:100%;pointer-events:none}.circular-node-connection svg{width:100%;height:100%}.circular-node-label{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:10px;color:#6b7280;white-space:nowrap}.circular-operation-indicator{position:absolute;top:10px;right:10px;padding:4px 8px;background-color:#3b82f6e6;color:#fff;border-radius:4px;font-size:12px;font-weight:500;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0}20%,80%{opacity:1}}.queue-node{transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.queue-node:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.queue-node.border-red-400{animation:frontPulse 2s infinite}@keyframes frontPulse{0%,to{box-shadow:0 2px 4px #ef44444d}50%{box-shadow:0 4px 8px #ef444480}}.queue-node.border-cyan-400{animation:rearPulse 2s infinite}@keyframes rearPulse{0%,to{box-shadow:0 2px 4px #22d3ee4d}50%{box-shadow:0 4px 8px #22d3ee80}}.queue-node.scale-110{animation:currentAccess 1s infinite alternate}@keyframes currentAccess{0%{transform:scale(1.1)}to{transform:scale(1.15)}}.queue-node.bg-blue-400{animation:foundNode 1s ease-in-out}@keyframes foundNode{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.queue-link{transition:stroke .3s ease}.queue-link:hover{stroke-width:3}.queue-container{min-height:120px;padding:20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}@keyframes enqueueIn{0%{opacity:0;transform:translate(50px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.enqueue-animation{animation:enqueueIn .5s ease-out}@keyframes dequeueOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8) translate(-50px)}}.dequeue-animation{animation:dequeueOut .5s ease-in}.queue-visualization .bg-gray-50{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}@media (max-width: 640px){.queue-node{width:3rem;height:3rem}.queue-container{padding:10px}.queue-visualization .grid{grid-template-columns:1fr}}.queue-node.ring-2{animation:highlightPulse 1s infinite}@keyframes highlightPulse{0%,to{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 10px #22c55e00}}@keyframes bubbleSortCompare{0%{transform:scale(1);box-shadow:0 0 #fb923cb3}50%{transform:scale(1.15);box-shadow:0 0 0 15px #fb923c00}to{transform:scale(1);box-shadow:0 0 #fb923c00}}@keyframes bubbleSortSwap{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(-30px) scale(1.2)}75%{transform:translateY(-30px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes bubbleSortHighlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.bubble-sort-bar{transition:all .3s ease-in-out;border-radius:4px 4px 0 0;position:relative}.bubble-sort-bar.comparing{animation:bubbleSortCompare 1s ease-in-out}.bubble-sort-bar.swapping{animation:bubbleSortSwap 1.5s ease-in-out}.bubble-sort-bar.highlighted{animation:bubbleSortHighlight .5s ease-in-out infinite}.bubble-sort-bar.unsorted{background-color:#3b82f6}.bubble-sort-bar.sorted{background-color:#22c55e}.bubble-sort-bar.comparing{background-color:#fb923c}.bubble-sort-bar.swapping{background-color:#ef4444}@media (max-width: 768px){.bubble-sort-bar{width:30px!important}}@media (prefers-color-scheme: dark){.bubble-sort-bar{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.bubble-sort-bar{border:2px solid currentColor}}@keyframes insertionSortCompare{0%{transform:scale(1);box-shadow:0 0 #f97316b3}50%{transform:scale(1.15);box-shadow:0 0 0 10px #f973164d}to{transform:scale(1);box-shadow:0 0 #f9731600}}@keyframes insertionSortMove{0%{transform:translateY(0) scale(1);box-shadow:0 0 #ef4444b3}25%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}50%{transform:translateY(-20px) scale(1.2);box-shadow:0 0 0 10px #ef44444d}75%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}to{transform:translateY(0) scale(1);box-shadow:0 0 #ef444400}}@keyframes insertionSortInsert{0%{transform:scale(1);box-shadow:0 0 #9333eab3}25%{transform:scale(1.2);box-shadow:0 0 0 8px #9333ea80}50%{transform:scale(1.3);box-shadow:0 0 0 15px #9333ea4d}75%{transform:scale(1.2);box-shadow:0 0 0 8px #9333ea80}to{transform:scale(1);box-shadow:0 0 #9333ea00}}.insertion-sort-bar.comparing{animation:insertionSortCompare 1s ease-in-out}.insertion-sort-bar.moving{animation:insertionSortMove 1s ease-in-out}.insertion-sort-bar.inserting{animation:insertionSortInsert 1s ease-in-out}.insertion-sort-bar:hover{transform:scale(1.05);transition:transform .2s ease}.insertion-sort-bar{transition:all .3s ease}@media (max-width: 768px){.insertion-sort-bar{min-width:24px}@keyframes insertionSortCompare{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes insertionSortMove{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.15)}to{transform:translateY(0) scale(1)}}@keyframes insertionSortInsert{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}}@keyframes selectionSortCompare{0%{transform:scale(1);box-shadow:0 0 #f97316b3}50%{transform:scale(1.15);box-shadow:0 0 0 10px #f973164d}to{transform:scale(1);box-shadow:0 0 #f9731600}}@keyframes selectionSortSelect{0%{transform:scale(1);box-shadow:0 0 #9333eab3}25%{transform:scale(1.2);box-shadow:0 0 0 8px #9333ea80}50%{transform:scale(1.3);box-shadow:0 0 0 15px #9333ea4d}75%{transform:scale(1.2);box-shadow:0 0 0 8px #9333ea80}to{transform:scale(1);box-shadow:0 0 #9333ea00}}@keyframes selectionSortSwap{0%{transform:translateY(0) scale(1);box-shadow:0 0 #ef4444b3}25%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}50%{transform:translateY(-20px) scale(1.2);box-shadow:0 0 0 10px #ef44444d}75%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}to{transform:translateY(0) scale(1);box-shadow:0 0 #ef444400}}.selection-sort-bar.comparing{animation:selectionSortCompare 1s ease-in-out}.selection-sort-bar.selecting{animation:selectionSortSelect 1s ease-in-out}.selection-sort-bar.swapping{animation:selectionSortSwap 1s ease-in-out}.selection-sort-bar:hover{transform:scale(1.05);transition:transform .2s ease}.selection-sort-bar{transition:all .3s ease}@media (max-width: 768px){.selection-sort-bar{min-width:24px}@keyframes selectionSortCompare{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes selectionSortSelect{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes selectionSortSwap{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.15)}to{transform:translateY(0) scale(1)}}}@keyframes quickSortCompare{0%{transform:scale(1);box-shadow:0 0 #f97316b3}50%{transform:scale(1.15);box-shadow:0 0 0 10px #f973164d}to{transform:scale(1);box-shadow:0 0 #f9731600}}@keyframes quickSortSwap{0%{transform:translate(0) scale(1);box-shadow:0 0 #ef4444b3}25%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}50%{transform:translateY(-20px) scale(1.2);box-shadow:0 0 0 10px #ef44444d}75%{transform:translateY(-10px) scale(1.1);box-shadow:0 0 0 5px #ef444480}to{transform:translateY(0) scale(1);box-shadow:0 0 #ef444400}}@keyframes quickSortPartition{0%{transform:scale(1);box-shadow:0 0 #9333eab3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #9333ea66}to{transform:scale(1);box-shadow:0 0 #9333ea00}}.quick-sort-bar.comparing{animation:quickSortCompare 1s ease-in-out}.quick-sort-bar.swapping{animation:quickSortSwap 1s ease-in-out}.quick-sort-bar.partitioning{animation:quickSortPartition 1s ease-in-out}.quick-sort-bar:hover{transform:scale(1.05);transition:transform .2s ease}.quick-sort-bar{transition:all .3s ease}@media (max-width: 768px){.quick-sort-bar{min-width:24px}@keyframes quickSortCompare{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes quickSortSwap{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.15)}to{transform:translateY(0) scale(1)}}@keyframes quickSortPartition{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}}@keyframes mergeSortCompare{0%{transform:scale(1);box-shadow:0 0 #f97316b3}50%{transform:scale(1.15);box-shadow:0 0 0 10px #f973164d}to{transform:scale(1);box-shadow:0 0 #f9731600}}@keyframes mergeSortMerge{0%{transform:scale(1);box-shadow:0 0 #9333eab3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #9333ea66}to{transform:scale(1);box-shadow:0 0 #9333ea00}}@keyframes mergeSortSplit{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.05);box-shadow:0 0 0 6px #3b82f666}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.merge-sort-bar.comparing{animation:mergeSortCompare 1s ease-in-out}.merge-sort-bar.merging{animation:mergeSortMerge 1s ease-in-out}.merge-sort-bar.splitting{animation:mergeSortSplit 1s ease-in-out}.merge-sort-bar:hover{transform:scale(1.05);transition:transform .2s ease}.merge-sort-bar{transition:all .3s ease}@media (max-width: 768px){.merge-sort-bar{min-width:24px}@keyframes mergeSortCompare{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes mergeSortMerge{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes mergeSortSplit{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}}.heap-sort-bar{transition:all .3s ease}.heap-sort-bar.comparing{animation:heap-sort-comparing .8s ease-in-out}.heap-sort-bar.heapifying{animation:heap-sort-heapifying .8s ease-in-out}.heap-sort-bar.swapping{animation:heap-sort-swapping .8s ease-in-out}.heap-sort-bar.heap-top{animation:heap-sort-heap-top .8s ease-in-out}@keyframes heap-sort-comparing{0%{transform:scale(1);box-shadow:0 0 #fb923cb3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #fb923c4d}to{transform:scale(1);box-shadow:0 0 #fb923c00}}@keyframes heap-sort-heapifying{0%{transform:scale(1);box-shadow:0 0 #a855f7b3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #a855f74d}to{transform:scale(1);box-shadow:0 0 #a855f700}}@keyframes heap-sort-swapping{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}25%{transform:scale(1.2) rotate(5deg);box-shadow:0 0 0 8px #ef444480}75%{transform:scale(1.2) rotate(-5deg);box-shadow:0 0 0 8px #ef444480}to{transform:scale(1);box-shadow:0 0 #ef444400}}@keyframes heap-sort-heap-top{0%{transform:scale(1);box-shadow:0 0 #eab308b3}50%{transform:scale(1.15);box-shadow:0 0 0 10px #eab30866}to{transform:scale(1);box-shadow:0 0 #eab30800}}.heap-sort-bar.heap-node{position:relative}.heap-sort-bar.heap-node:before{content:"";position:absolute;top:-2px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid rgba(59,130,246,.8)}.heap-sort-bar.heap-root:after{content:"★";position:absolute;top:-20px;left:50%;transform:translate(-50%);color:#fbbf24;font-size:12px;font-weight:700}@keyframes shellSortCompare{0%{transform:scale(1);box-shadow:0 0 #fb923cb3}50%{transform:scale(1.15);box-shadow:0 0 0 15px #fb923c00}to{transform:scale(1);box-shadow:0 0 #fb923c00}}@keyframes shellSortShift{0%{transform:translate(0) scale(1)}25%{transform:translate(-10px) scale(1.1)}50%{transform:translate(-20px) scale(1.15)}75%{transform:translate(-10px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes shellSortInsert{0%{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-25px) scale(1.2);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes shellSortSwap{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(-30px) scale(1.2)}75%{transform:translateY(-30px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes shellSortGapUpdate{0%{transform:scale(1);border-width:2px}50%{transform:scale(1.05);border-width:4px}to{transform:scale(1);border-width:2px}}@keyframes shellSortHighlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.shell-sort-bar{transition:all .3s ease-in-out;border-radius:4px 4px 0 0;position:relative;border:2px solid transparent}.shell-sort-bar.comparing{animation:shellSortCompare 1s ease-in-out}.shell-sort-bar.shifting{animation:shellSortShift 1.2s ease-in-out}.shell-sort-bar.inserting{animation:shellSortInsert 1s ease-in-out}.shell-sort-bar.swapping{animation:shellSortSwap 1.5s ease-in-out}.shell-sort-bar.gap-updating{animation:shellSortGapUpdate .8s ease-in-out}.shell-sort-bar.highlighted{animation:shellSortHighlight .5s ease-in-out infinite}.shell-sort-bar.unsorted{background-color:#9ca3af}.shell-sort-bar.sorted{background-color:#22c55e}.shell-sort-bar.comparing{background-color:#fb923c}.shell-sort-bar.shifting{background-color:#9333ea}.shell-sort-bar.inserting{background-color:#2563eb}.shell-sort-bar.swapping{background-color:#ef4444}.shell-sort-bar.gap-group-0{background-color:#60a5fa}.shell-sort-bar.gap-group-1{background-color:#22d3ee}.shell-sort-bar.gap-group-2{background-color:#2dd4bf}.shell-sort-bar.gap-group-3{background-color:#34d399}.shell-sort-bar.gap-group-4{background-color:#a3e635}@media (max-width: 768px){.shell-sort-bar{width:30px!important}}@media (prefers-color-scheme: dark){.shell-sort-bar{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.shell-sort-bar{border:3px solid currentColor}}.shell-sort-bar.gap-group{border-style:dashed;border-color:#0000004d}.shell-sort-container.gap-updating .shell-sort-bar{animation:shellSortGapUpdate .8s ease-in-out}@keyframes counting-sort-pulse{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f600}to{transform:scale(1);box-shadow:0 0 #3b82f600}}@keyframes counting-glow{0%{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}to{box-shadow:0 0 5px #3b82f680}}@keyframes cumulative-pulse{0%{transform:scale(1);box-shadow:0 0 #9333eab3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #9333ea00}to{transform:scale(1);box-shadow:0 0 #9333ea00}}@keyframes output-pulse{0%{transform:scale(1);box-shadow:0 0 #22c55eb3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.counting-sort-pulse{animation:counting-sort-pulse 1s ease-in-out}.counting-glow{animation:counting-glow 2s ease-in-out infinite}.cumulative-pulse{animation:cumulative-pulse 1s ease-in-out}.output-pulse{animation:output-pulse 1s ease-in-out}.count-array-item{transition:all .3s ease}.count-array-item.active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.count-array-item.incrementing{animation:counting-sort-pulse .5s ease-in-out}.output-array-item{transition:all .5s ease}.output-array-item.placing{animation:output-pulse .8s ease-in-out}.phase-indicator{transition:all .3s ease;opacity:.6}.phase-indicator.active{opacity:1;transform:scale(1.05)}.value-highlight{position:relative}.value-highlight:after{content:"";position:absolute;inset:-2px;border:2px solid #fbbf24;border-radius:6px;animation:counting-glow 1.5s ease-in-out infinite}@media (max-width: 768px){.counting-sort-pulse{animation-duration:.8s}.counting-glow{animation-duration:1.5s}}@media (prefers-color-scheme: dark){.count-array-item.active{box-shadow:0 4px 8px #ffffff1a}}@keyframes radix-sort-pulse{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f64d}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.radix-sort-pulse{animation:radix-sort-pulse 1s ease-in-out infinite}@keyframes max-value-glow{0%{box-shadow:0 0 5px #f9731680}50%{box-shadow:0 0 20px #f97316cc,0 0 30px #f9731699}to{box-shadow:0 0 5px #f9731680}}.max-value-glow{animation:max-value-glow 1.5s ease-in-out infinite}@keyframes digit-sort-pulse{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}25%{transform:scale(1.1);box-shadow:0 0 0 5px #3b82f680}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f64d}75%{transform:scale(1.1);box-shadow:0 0 0 5px #3b82f680}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.digit-sort-pulse{animation:digit-sort-pulse 2s ease-in-out infinite}@keyframes counting-pulse{0%{transform:scale(1);box-shadow:0 0 #9333eab3}50%{transform:scale(1.08);box-shadow:0 0 0 8px #9333ea66}to{transform:scale(1);box-shadow:0 0 #9333ea00}}.counting-pulse{animation:counting-pulse 1.2s ease-in-out infinite}@keyframes cumulative-pulse{0%{transform:scale(1);box-shadow:0 0 #9333eacc;background-color:#9333ea}50%{transform:scale(1.1);box-shadow:0 0 0 12px #9333ea66;background-color:#7e22ce}to{transform:scale(1);box-shadow:0 0 #9333ea00;background-color:#9333ea}}.cumulative-pulse{animation:cumulative-pulse 1.5s ease-in-out infinite}@keyframes output-pulse{0%{transform:scale(1);box-shadow:0 0 #22c55eb3}50%{transform:scale(1.06);box-shadow:0 0 0 8px #22c55e66}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.output-pulse{animation:output-pulse 1s ease-in-out infinite}@keyframes completion-glow{0%{box-shadow:0 0 5px #22c55e80}50%{box-shadow:0 0 20px #22c55ecc,0 0 30px #22c55e99}to{box-shadow:0 0 5px #22c55e80}}.completion-glow{animation:completion-glow 2s ease-in-out infinite}@keyframes digit-highlight{0%{background-color:#3b82f633;transform:scale(1)}50%{background-color:#3b82f699;transform:scale(1.2)}to{background-color:#3b82f633;transform:scale(1)}}.digit-highlight{animation:digit-highlight 1s ease-in-out infinite;border-radius:4px;padding:2px 4px;margin:0 1px}.radix-sort-container{transition:all .3s ease-in-out}.radix-sort-container.animating{transform:scale(1.02);box-shadow:0 4px 20px #0000001a}.radix-bar{transition:all .5s cubic-bezier(.4,0,.2,1)}.radix-bar:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.count-bar{transition:all .7s cubic-bezier(.4,0,.2,1);position:relative}.count-bar:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(147,51,234,.3),transparent);border-radius:inherit;opacity:0;transition:opacity .3s ease}.count-bar.active:before{opacity:1}@keyframes digit-indicator{0%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(1)}}.digit-indicator{animation:digit-indicator 1.5s ease-in-out infinite}@media (max-width: 768px){.radix-sort-pulse{animation-duration:1.5s}.digit-sort-pulse{animation-duration:2.5s}.counting-pulse{animation-duration:1.8s}}@media (prefers-color-scheme: dark){.radix-sort-pulse{box-shadow:0 0 #60a5fab3}.max-value-glow{box-shadow:0 0 5px #fb923c80}.counting-pulse{box-shadow:0 0 #a855f7b3}.output-pulse{box-shadow:0 0 #34d399b3}}@keyframes bucket-distribute{0%{transform:translateY(0) scale(1);box-shadow:0 0 #3b82f680}50%{transform:translateY(-10px) scale(1.1);box-shadow:0 4px 20px #3b82f699}to{transform:translateY(0) scale(1);box-shadow:0 0 #3b82f680}}.bucket-distribute{animation:bucket-distribute 1s ease-in-out}@keyframes bucket-sort{0%{transform:scale(1);background-color:#22c55e}25%{transform:scale(1.05);background-color:#16a34a}50%{transform:scale(1.1);background-color:#15803d}75%{transform:scale(1.05);background-color:#16a34a}to{transform:scale(1);background-color:#22c55e}}.bucket-sort{animation:bucket-sort 1s ease-in-out}@keyframes bucket-highlight{0%{border-color:#3b82f6;box-shadow:0 0 #3b82f64d}50%{border-color:#2563eb;box-shadow:0 0 15px #3b82f699}to{border-color:#3b82f6;box-shadow:0 0 #3b82f64d}}@keyframes bucket-sort-highlight{0%{border-color:#22c55e;box-shadow:0 0 #22c55e4d}50%{border-color:#16a34a;box-shadow:0 0 15px #22c55e99}to{border-color:#22c55e;box-shadow:0 0 #22c55e4d}}@keyframes element-enter{0%{opacity:0;transform:translateY(-20px) scale(.8)}50%{opacity:.7;transform:translateY(-5px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}.element-enter{animation:element-enter .6s ease-out}@keyframes count-update{0%{transform:scale(1)}50%{transform:scale(1.2);color:#3b82f6}to{transform:scale(1)}}.count-update{animation:count-update .4s ease-in-out}@keyframes bucket-merge{0%{transform:translate(0) scale(1);opacity:1}50%{transform:translate(5px) scale(1.05);opacity:.8}to{transform:translate(0) scale(1);opacity:1}}.bucket-merge{animation:bucket-merge 1s ease-in-out}@keyframes bucket-highlight{0%{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 #3b82f64d}50%{border-color:#2563eb;background-color:#dbeafe;box-shadow:0 0 10px #3b82f680}to{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 #3b82f64d}}.bucket-highlight{animation:bucket-highlight 1s ease-in-out infinite}@keyframes bucket-sort-highlight{0%{border-color:#22c55e;background-color:#f0fdf4;box-shadow:0 0 #22c55e4d}50%{border-color:#16a34a;background-color:#dcfce7;box-shadow:0 0 10px #22c55e80}to{border-color:#22c55e;background-color:#f0fdf4;box-shadow:0 0 #22c55e4d}}.bucket-sort-highlight{animation:bucket-sort-highlight 1s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.pulse{animation:pulse 1s ease-in-out infinite}@keyframes blink{0%,50%{opacity:1}25%,75%{opacity:.5}}.blink{animation:blink 1s ease-in-out infinite}@keyframes slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.slide-in{animation:slide-in .5s ease-out}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(20px);opacity:0}}.slide-out{animation:slide-out .5s ease-in}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.bounce{animation:bounce 1s ease-in-out}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate{animation:rotate 1s linear infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-shift{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient-shift 3s ease infinite}@keyframes element-move{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.element-move{animation:element-move .8s ease-in-out}@keyframes bucket-fill{0%{height:0;opacity:0}to{height:auto;opacity:1}}.bucket-fill{animation:bucket-fill .6s ease-out}@keyframes success{0%{transform:scale(1);background-color:#22c55e}50%{transform:scale(1.1);background-color:#16a34a}to{transform:scale(1);background-color:#10b981}}.success{animation:success .8s ease-in-out}@media (max-width: 768px){.bucket-distribute,.bucket-sort,.bucket-merge,.bucket-highlight,.bucket-sort-highlight{animation-duration:.8s}}@media (prefers-reduced-motion: reduce){.bucket-distribute,.bucket-sort,.bucket-merge,.bucket-highlight,.bucket-sort-highlight,.pulse,.blink,.slide-in,.slide-out,.bounce,.rotate,.gradient-shift,.element-move,.bucket-fill,.success{animation:none}}@keyframes linearSearchCompare{0%{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.15);box-shadow:0 0 0 15px #3b82f600}to{transform:scale(1);box-shadow:0 0 #3b82f600}}@keyframes linearSearchFound{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(-30px) scale(1.2)}75%{transform:translateY(-30px) scale(1.1)}to{transform:translateY(0) scale(1)}}.linear-search-bar{transition:all .3s ease-in-out;border-radius:4px 4px 0 0;position:relative}.linear-search-bar.searching{animation:linearSearchCompare 1s ease-in-out}.linear-search-bar.found{animation:linearSearchFound 1.5s ease-in-out}.linear-search-bar.highlighted{animation:linearSearchHighlight .5s ease-in-out infinite}.linear-search-bar.unsearched{background-color:#3b82f6}.linear-search-bar.searching{background-color:#fb923c}.linear-search-bar.found{background-color:#22c55e}.linear-search-bar.not_found{background-color:#9ca3af}@media (max-width: 768px){.linear-search-bar{min-width:30px!important}}@media (prefers-color-scheme: dark){.linear-search-bar{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.linear-search-bar{border:2px solid currentColor}}.pointer{position:absolute;top:-10px;font-size:24px;color:#ff6b35;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);transition:left .3s ease;animation:pointer-bounce 1s ease-in-out infinite}.result{padding:4px 12px;border-radius:15px;font-weight:700;font-size:14px}.result.match{background:#00b8944d;color:#00b894;border:1px solid #00b894}.result.no-match{background:#e74c3c4d;color:#e74c3c;border:1px solid #e74c3c}.controls{display:flex;justify-content:center;align-items:center;gap:15px;margin:30px 0;flex-wrap:wrap}.control-btn{padding:10px 20px;border:none;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.control-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn.primary{background:linear-gradient(145deg,#ff6b35,#f39c12);border-color:#ff6b35}.control-btn.primary:hover:not(:disabled){background:linear-gradient(145deg,#e55a2b,#e67e22)}.speed-control{display:flex;align-items:center;gap:8px}.speed-control label{font-weight:700;font-size:14px}.speed-control select{padding:6px 12px;border-radius:15px;border:1px solid rgba(255,255,255,.3);background:#fff3;color:#fff;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speed-control select option{background:#333;color:#fff}.algorithm-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.complexity-info,.algorithm-steps{background:#ffffff1a;padding:20px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.complexity-info h4,.algorithm-steps h4{margin:0 0 15px;font-size:18px;color:gold}.complexity-info ul,.algorithm-steps ol{margin:0;padding-left:20px}.complexity-info li,.algorithm-steps li{margin-bottom:8px;line-height:1.4}@keyframes pulse{0%,to{transform:scale(1.1) translateY(-5px)}50%{transform:scale(1.15) translateY(-8px)}}@keyframes found-bounce{0%{transform:scale(1.1) translateY(-5px)}50%{transform:scale(1.3) translateY(-10px)}to{transform:scale(1.15) translateY(-5px)}}@keyframes final-glow{0%{box-shadow:0 0 20px #00b89480}to{box-shadow:0 0 30px #00b894cc}}@keyframes linearSearchCompare{0%{transform:scale(1);box-shadow:0 0 #fb923cb3}50%{transform:scale(1.15);box-shadow:0 0 0 15px #fb923c00}to{transform:scale(1);box-shadow:0 0 #fb923c00}}@keyframes linearSearchFound{0%{transform:translateY(0) scale(1);box-shadow:0 0 #22c55eb3}25%{transform:translateY(-20px) scale(1.2);box-shadow:0 0 0 10px #22c55e80}50%{transform:translateY(-20px) scale(1.3);box-shadow:0 0 0 20px #22c55e00}75%{transform:translateY(-20px) scale(1.2);box-shadow:0 0 0 10px #22c55e4d}to{transform:translateY(0) scale(1);box-shadow:0 0 #22c55e00}}@keyframes linearSearchHighlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes linearSearchPulse{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.linear-search-element.searching{animation:linearSearchCompare 1s ease-in-out}.linear-search-element.found{animation:linearSearchFound 1.5s ease-in-out}.linear-search-element.highlighted{animation:linearSearchHighlight .5s ease-in-out infinite}.linear-search-element.unsearched{background-color:#3b82f6}.linear-search-element.searching{background-color:#fb923c}.linear-search-element.found{background-color:#22c55e}.linear-search-element.not-found{background-color:#9ca3af}@media (max-width: 768px){.linear-search-container{padding:15px}.linear-search-header{flex-direction:column;gap:15px;text-align:center}.search-info{flex-direction:column;gap:10px}.linear-search-array{flex-wrap:wrap;gap:8px}.linear-search-element{width:60px;height:60px}.element-value{font-size:16px}.algorithm-info{grid-template-columns:1fr}.controls{flex-direction:column;gap:10px}}@media (max-width: 480px){.linear-search-element{width:50px;height:50px}.element-value{font-size:14px}.element-index{font-size:10px}}@keyframes binarySearchCompare{0%{transform:scale(1);box-shadow:0 0 #fb923cb3}50%{transform:scale(1.15);box-shadow:0 0 0 15px #fb923c00}to{transform:scale(1);box-shadow:0 0 #fb923c00}}@keyframes binarySearchFound{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(-30px) scale(1.2)}75%{transform:translateY(-30px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes binarySearchHighlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.binary-search-bar{transition:all .3s ease-in-out;border-radius:4px 4px 0 0;position:relative}.binary-search-bar.searching{animation:binarySearchCompare 1s ease-in-out}.binary-search-bar.found{animation:binarySearchFound 1.5s ease-in-out}.binary-search-bar.highlighted{animation:binarySearchHighlight .5s ease-in-out infinite}.binary-search-bar.unsearched{background-color:#3b82f6}.binary-search-bar.searching{background-color:#fb923c}.binary-search-bar.found{background-color:#22c55e}.binary-search-bar.not_found{background-color:#9ca3af}.binary-search-bar.searched{background-color:#d1d5db}.binary-search-bar.out_of_range{background-color:#b4b3b3;opacity:.6}@media (max-width: 768px){.binary-search-bar{width:30px!important}}@media (prefers-color-scheme: dark){.binary-search-bar{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.binary-search-bar{border:2px solid currentColor}}.search-pointer{position:relative;height:30px;margin-bottom:20px}.pointer{position:absolute;top:-10px;font-size:24px;color:#ef4444;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);transition:left .3s ease;animation:pointer-bounce 1s ease-in-out infinite}@keyframes pointer-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.status-display{background:#ffffff1a;padding:20px;border-radius:8px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.status-text{font-size:18px;font-weight:700;margin-bottom:10px;text-align:center}.comparison-result{display:flex;justify-content:center;align-items:center;gap:10px;font-size:16px;margin-top:10px}.result{padding:4px 12px;border-radius:15px;font-weight:700;color:#fff}.result.equal{background-color:#10b981}.result.less{background-color:#f59e0b}.result.greater{background-color:#ef4444}@keyframes boundaryUpdate{0%{background-color:#3b82f633}50%{background-color:#3b82f699}to{background-color:#3b82f633}}.boundary-update{animation:boundaryUpdate 1s ease-in-out}.search-complete{position:relative}.search-complete:after{content:"✓";position:absolute;top:-10px;right:-10px;background-color:#10b981;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.search-failed{position:relative}.search-failed:after{content:"✗";position:absolute;top:-10px;right:-10px;background-color:#ef4444;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}@keyframes rangeNarrow{0%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.8);opacity:.7}to{transform:scaleX(1);opacity:1}}.range-narrow{animation:rangeNarrow .8s ease-in-out}@keyframes midCalculation{0%{border-color:transparent}25%{border-color:#ef4444;border-style:dashed}50%{border-color:#ef4444;border-style:solid}75%{border-color:#ef4444;border-style:dashed}to{border-color:#ef4444;border-style:solid}}.mid-calculation{animation:midCalculation 1s ease-in-out}.search-direction{position:absolute;top:50%;transform:translateY(-50%);font-size:20px;font-weight:700;color:#ef4444;animation:direction-pulse 1s ease-in-out infinite}.search-direction.left{left:-30px}.search-direction.right{right:-30px}@keyframes direction-pulse{0%,to{opacity:.6;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.2)}}.complexity-hint{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);font-size:10px;color:#6b7280;background:#ffffffe6;padding:2px 6px;border-radius:4px;white-space:nowrap}.dark .complexity-hint{background:#000000e6;color:#9ca3af}@keyframes performanceComparison{0%{background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981)}33%{background:linear-gradient(90deg,#f59e0b,#10b981,#ef4444)}66%{background:linear-gradient(90deg,#10b981,#ef4444,#f59e0b)}to{background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981)}}.performance-indicator{height:3px;width:100%;animation:performanceComparison 3s ease-in-out infinite;margin-top:5px;border-radius:2px}
