.puzzle-tooltip{position:fixed;padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,rgba(20,20,20,.85),rgba(40,40,40,.75));backdrop-filter:blur(8px);color:#fff;font-size:13px;opacity:0;transform:translate(-50%,-120%) scale(.95);transition:.2s;pointer-events:none;z-index:9999}.puzzle-tooltip::after{content:"";position:absolute;bottom:-6px;left:50%;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg)}.puzzle-tooltip.show{opacity:1;transform:translate(-50%,-140%) scale(1)}.circle-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#23557d;color:#fff;padding:12px 18px;border-radius:30px;font-size:13px;font-weight:700;animation:pulse 1.6s infinite;pointer-events:none}.spin-once{animation:spinReturn 2.8s cubic-bezier(.65,0,.35,1)}.puzzle-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.puzzle-piece{fill:rgba(35,85,125,0);stroke:transparent;transition:all .25s ease}.puzzle-piece.active{fill:rgba(35,85,125,.25);stroke:#23557d;stroke-width:2;filter:drop-shadow(0 0 10px rgba(35,85,125,.6))}.puzzle-piece.magnetic{transform-origin:center}.puzzle-tooltip{position:fixed;padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,rgba(20,20,20,.85),rgba(40,40,40,.75));backdrop-filter:blur(8px);color:#fff;font-size:13px;font-weight:500;pointer-events:none;opacity:0;transform:translate(-50%,-120%) scale(.95);transition:opacity .2s ease,transform .2s ease;z-index:9999;white-space:nowrap}.puzzle-tooltip::after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:inherit;border-radius:2px}.puzzle-tooltip.show{opacity:1;transform:translate(-50%,-140%) scale(1)}