.tooltip{opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;pointer-events:none}.tooltip-box{fill:#f7ca17;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.tooltip-text{font-family:Noto Sans TC,Inter,sans-serif;font-size:16px;font-weight:500;fill:#151515;text-anchor:middle;dominant-baseline:central;line-height:1.4}.tooltip-pointer{fill:#f7ca17;filter:drop-shadow(0 4px 3px rgba(0,0,0,.2))}.node-group{cursor:pointer;transition:transform .2s ease}@media (hover:hover) and (pointer:fine){.node-group:hover{transform:scale(1.02)}.node-group:hover .tooltip{opacity:1;visibility:visible}}.tooltip.is-visible{opacity:1;visibility:visible;animation:fadeIn .4s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:767px){.tooltip-text{font-size:18px;font-weight:600;line-height:1.3}.tooltip-box{filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}.tooltip.is-visible{animation:mobileSlideIn .5s ease-out forwards}@keyframes mobileSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}}.animate-fade-in{animation:sectionFadeIn 1.2s ease forwards}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}