*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;height:-webkit-fill-available;overflow:hidden;-webkit-text-size-adjust:100%}body{height:100%;height:-webkit-fill-available;overflow:hidden;background:#f9fafb;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column;min-height:-webkit-fill-available}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes energyFloat{0%{opacity:0;transform:translateY(8px) scale(.7)}12%{opacity:1;transform:translateY(-4px) scale(1.08)}22%{opacity:1;transform:translateY(0) scale(1)}65%{opacity:.9;transform:translateY(-2px) scale(1)}to{opacity:0;transform:translateY(-26px) scale(.92)}}@keyframes energyBurst{0%{opacity:.7;transform:scale(.3)}50%{opacity:.4}to{opacity:0;transform:scale(1.8)}}@keyframes energyMerge{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}*{-webkit-tap-highlight-color:transparent}button{cursor:pointer}input[type=text]:focus{box-shadow:0 0 0 2px #c82a2d33}@keyframes sealRippleIn{0%{transform:scale(1);opacity:.8}to{transform:scale(.6);opacity:0}}@keyframes sealBreathe{0%,to{transform:scale(1);opacity:.15}50%{transform:scale(1.06);opacity:.35}}@keyframes badgeBounce{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes radarBloom{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes radarScan{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes radarBreathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.03);opacity:1}}@keyframes radarDataReveal{0%{transform:scale(0);opacity:0}60%{transform:scale(1.06);opacity:.95}to{transform:scale(1);opacity:1}}@keyframes pointPulse{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(2.2);opacity:.08}}@keyframes singleGlow{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.12);opacity:.5}}@keyframes singleRipple{0%{transform:scale(1);opacity:.5}to{transform:scale(2.8);opacity:0}}@keyframes singleCoreBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes crystalGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
