*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f6f2;color:#1a1a2e;line-height:1.5;-webkit-font-smoothing:antialiased}input,select,button,textarea{font-family:inherit}button{transition:opacity .12s,transform .1s}button:hover{opacity:.9}button:active{transform:scale(.98)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3d1c7;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#b4b2a9}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}@keyframes map-pulse-ring{0%{box-shadow:0 0 #f5a6238c}70%{box-shadow:0 0 0 9px #f5a62300}to{box-shadow:0 0 #f5a62300}}@keyframes map-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes map-sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.map-node-circle{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.map-node:hover .map-node-circle{transform:scale(1.1);filter:brightness(1.1)}.map-node-active .map-node-circle{animation:map-pulse-ring 1.8s ease-out infinite}.map-trophy-float{animation:map-float 2.6s ease-in-out infinite}.map-sparkle{animation:map-sparkle 1.6s ease-in-out infinite}
