.tree-node{touch-action:none;position:absolute;width:60px;height:60px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease,transform .3s ease,color .3s ease;box-shadow:var(--shadow-glow);transform:translate(-50%,-50%)}.tree-node.new-node{animation:nodeInserted .5s ease-out}.tree-node.current-in-traversal{border-color:var(--accent-primary);background-color:var(--accent-primary);color:var(--bg-app);box-shadow:0 0 25px var(--accent-primary);transform:translate(-50%,-50%) scale(1.15)}.tree-node.visited{border:2px solid var(--success);box-shadow:0 0 15px var(--success);transform:translate(-50%,-50%) scale(1.15)}.tree-node.selected{border-color:var(--accent-secondary);box-shadow:0 0 0 4px rgba(168,85,247,.2),0 0 20px var(--accent-secondary);z-index:30}@media (max-width:768px){.tree-node{font-size:.8rem}.ghost-node,.tree-node{width:42px;height:42px;border-width:2px}}.tree-node:hover{border:2px solid var(--accent-primary);transform:translate(-50%,-50%) scale(1.2);color:var(--accent-primary)}.ghost-node{position:absolute;width:60px;height:60px;background-color:transparent;border:2px dashed var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:border-color .3s ease,background-color .3s ease,color .3s ease;color:var(--text-secondary);transform:translate(-50%,-50%);cursor:pointer}.ghost-node:hover{border:2px dashed var(--accent-primary);color:var(--accent-primary);background:var(--bg-surface)}.tree-edge{stroke:var(--border-color);stroke-width:3.5;opacity:.9}.tree-edge-overlay-current{stroke:var(--accent-primary);stroke-width:5.5;filter:drop-shadow(0 0 12px rgba(34,211,238,.9));opacity:1;stroke-dasharray:1;stroke-dashoffset:0;animation:edge-draw .35s ease-out forwards;pointer-events:none}.tree-edge.tree-edge-visited{stroke:var(--success);stroke-width:4.5;filter:drop-shadow(0 0 8px rgba(52,211,153,.45));opacity:1}@keyframes edge-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.latest-traversal-node{animation:dim .5s ease-out}@keyframes dim{0%{filter:brightness(1.5)}to{filter:brightness(.8)}}@keyframes nodeInserted{0%{transform:translate(-50%,-50%) scale(0);opacity:0}60%{transform:translate(-50%,-50%) scale(1.4);opacity:1}to{transform:translate(-50%,-50%) scale(1)}}.tree-node.delayed-highlight.current-in-traversal,.tree-node.delayed-highlight.visited{transition-delay:.35s}.tree-node.pointer-target{border-color:var(--accent-primary);border-style:dashed;color:var(--accent-primary);box-shadow:0 0 12px color-mix(in srgb,var(--accent-primary) 35%,transparent);transform:translate(-50%,-50%) scale(1.06)}.tree-pointer{display:flex;flex-direction:column;align-items:center;pointer-events:none}.pointer-arrow-icon{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--accent-primary);filter:drop-shadow(0 0 6px var(--accent-primary));animation:pointer-bob .85s ease-in-out infinite}@keyframes pointer-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.traversal-log-overlay{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);z-index:10;pointer-events:none;max-width:85%}.traversal-log-inner{display:flex;align-items:center;gap:2px;background:color-mix(in srgb,var(--bg-surface) 88%,transparent);border:1px solid var(--border-color);border-radius:999px;padding:5px 14px;backdrop-filter:blur(10px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap}.traversal-log-inner::-webkit-scrollbar{display:none}.log-entry-group{gap:2px}.log-chip,.log-entry-group{display:inline-flex;align-items:center}.log-chip{width:26px;height:26px;border-radius:50%;justify-content:center;font-size:11px;font-weight:700;font-family:monospace;flex-shrink:0}.log-chip-done{background:var(--success);color:var(--bg-app);opacity:.85}.log-chip-latest{background:var(--accent-primary);color:var(--bg-app);box-shadow:0 0 10px color-mix(in srgb,var(--accent-primary) 55%,transparent);animation:chip-pop .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes chip-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.log-sep{font-size:10px;margin:0 2px;opacity:.6}.log-order-label,.log-sep{color:var(--text-secondary);flex-shrink:0}.log-order-label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.7;padding-right:8px;margin-right:4px;border-right:1px solid var(--border-color);white-space:nowrap}.flying-chip-node{width:30px;height:30px;border-radius:50%;background:var(--accent-primary);color:var(--bg-app);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:monospace;animation:fly-to-log .62s cubic-bezier(.4,0,.6,1) forwards;box-shadow:0 0 14px color-mix(in srgb,var(--accent-primary) 60%,transparent)}@keyframes fly-to-log{0%{transform:translate(0) scale(1);opacity:1}60%{transform:translate(calc(var(--fly-dx) * .7),calc(var(--fly-dy) * .7)) scale(.85);opacity:.9}to{transform:translate(var(--fly-dx),var(--fly-dy)) scale(.55);opacity:0}}