.wrap { position: relative; display: inline-flex; } .tip { position: fixed; z-index: 10000; transform: translate(-50%, calc(-100% + 4px)); padding: 6px 10px; font-family: var(--font-ui); font-size: 12px; font-weight: 500; line-height: 1.3; color: var(--text-primary); white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--glass-border); border-radius: 8px; box-shadow: 0 4px 16px rgba(31, 38, 135, 0.12); } .tipVisible { opacity: 1; visibility: visible; transform: translate(-50%, -100%); } .tip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: rgba(255, 255, 255, 0.95); }