@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.world-map-root{position:relative;width:100vw;height:100vh;background:#030a18;overflow:hidden}.map-area{position:absolute;inset:0 0 72px 72px;background:radial-gradient(ellipse at 50% 40%,#0d3560,#071428 55%,#030a18);overflow:hidden;transition:bottom .35s cubic-bezier(.4,0,.2,1)}.map-area svg{position:absolute;top:0;left:0;width:100%;height:100%}.side-banner{position:absolute;top:0;left:0;bottom:0;width:72px;background:#420098;z-index:10;display:flex;align-items:center;justify-content:center}.side-banner-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#ffe000;font-size:16px;font-weight:900;letter-spacing:.35em;text-transform:uppercase;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;white-space:nowrap}.stats-banner{position:absolute;bottom:72px;left:0;right:0;height:72px;background:#ec483d;z-index:10;display:flex;align-items:center;animation:banner-slide-up .4s cubic-bezier(.34,1.56,.64,1) both;overflow:hidden}.stats-inner{display:flex;align-items:center;gap:0;padding:0 24px 0 96px;width:100%;height:100%}.stats-label{font-size:9px;font-weight:900;letter-spacing:.4em;color:#fff9;text-transform:uppercase;flex-shrink:0;border-right:1.5px solid rgba(255,255,255,.2);padding-right:20px;margin-right:20px;line-height:1}.stats-number{font-size:28px;font-weight:900;color:#ffe000;letter-spacing:-.02em;flex-shrink:0;margin-right:16px;line-height:1;filter:drop-shadow(0 0 12px rgba(255,224,0,.5));animation:number-pop .5s cubic-bezier(.34,1.56,.64,1) .1s both}.stats-desc{color:#ffffffe6;font-size:14px;font-weight:400;letter-spacing:.01em;line-height:1.3}.stats-desc strong{font-weight:900;color:#fff}.stats-source{margin-left:auto;flex-shrink:0;color:#fff6;font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding-left:20px}.bottom-banner{position:absolute;bottom:0;left:0;right:0;height:72px;background:#420098;z-index:10;display:flex;align-items:center}.bottom-inner{display:flex;align-items:center;gap:0;padding:0 24px 0 96px;width:100%;height:100%}.bottom-label{font-size:9px;font-weight:900;letter-spacing:.4em;color:#ffe000b3;text-transform:uppercase;flex-shrink:0;border-right:1.5px solid rgba(251,158,177,.25);padding-right:20px;margin-right:20px;line-height:1}.bottom-selection{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dot-confirm{color:#ffe000;font-size:16px;line-height:1;animation:dot-pop .4s cubic-bezier(.34,1.56,.64,1) both;filter:drop-shadow(0 0 8px #FFE000);flex-shrink:0}.sel-name{color:#fff;font-size:19px;font-weight:900;letter-spacing:.02em;animation:slide-in .4s cubic-bezier(.34,1.56,.64,1) both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sel-country{color:#fb9eb1;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;animation:slide-in .5s cubic-bezier(.34,1.56,.64,1) both;white-space:nowrap}.bottom-prompt{color:#ffffff73;font-size:14px;font-weight:400;letter-spacing:.05em;font-style:italic}.bottom-hint{color:#fb9eb173;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-left:auto;flex-shrink:0;padding-left:20px}.zoom-controls{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;gap:6px;z-index:5}.zoom-btn{width:38px;height:38px;border:1.5px solid rgba(251,158,177,.35);border-radius:50%;background:#420098cc;color:#fff;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);line-height:1;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;padding-bottom:1px}.zoom-btn:hover{background:#ec483d;transform:scale(1.12);border-color:#ec483d}.zoom-btn:active{transform:scale(.97)}.reset-btn{font-size:14px;padding-bottom:0}.pulse-ring{animation:pulse-ring 1.6s ease-out infinite}@keyframes banner-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes number-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes pulse-ring{0%{r:10;opacity:.6}to{r:20;opacity:0}}@keyframes dot-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes slide-in{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
