*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--tokyo: #FF385C;--seoul: #7C3AED;--dubai: #D97706;--blue: #0570DE;--green: #00A699;--red: #E11D48;--bg: #F7F6F3;--surface: #FFFFFF;--surface-raised: #FFFFFF;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--text: #1A1A1A;--text-2: #717171;--text-3: #AAAAAA;--shadow-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 12px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 4px 24px rgba(0,0,0,.09), 0 2px 8px rgba(0,0,0,.05);--shadow-lg: 0 8px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}html,body,#root{height:100%;overflow:hidden}html.landing,html.landing body,html.landing #root{overflow:auto!important;height:auto!important;min-height:100%!important}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{position:relative;z-index:1;height:100%}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.leaflet-container{background:#e8e2d9!important}.leaflet-control-zoom{border:none!important;border-radius:14px!important;overflow:hidden;box-shadow:var(--shadow-md)!important}.leaflet-control-zoom a{background:#fffffff7!important;color:var(--text)!important;border:none!important;border-bottom:.5px solid var(--border)!important;font-size:18px!important;width:38px!important;height:38px!important;line-height:38px!important;font-family:var(--font)!important;font-weight:300!important}.leaflet-control-zoom a:last-child{border-bottom:none!important}.leaflet-control-zoom a:hover{background:#0000000a!important}.leaflet-popup-content-wrapper{background:#fff!important;border:1px solid var(--border)!important;border-radius:18px!important;color:var(--text)!important;box-shadow:var(--shadow-lg)!important;padding:0!important}.leaflet-popup-content{margin:0!important}.leaflet-popup-tip-container{display:none}.leaflet-popup-close-button{color:var(--text-3)!important;font-size:18px!important;top:10px!important;right:12px!important;z-index:10}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{box-shadow:0 0 0 9999px #0009,0 0 #ffffff80}50%{box-shadow:0 0 0 9999px #0009,0 0 0 8px #fff0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes globeSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.08)}to{transform:rotate(360deg) scale(1)}}@keyframes globePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}@keyframes planeFly{0%{transform:translate(-80px) translateY(10px) rotate(-5deg);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translate(80px) translateY(-10px) rotate(5deg);opacity:0}}@keyframes planeOrbit{0%{transform:rotate(0) translate(54px) rotate(0)}to{transform:rotate(360deg) translate(54px) rotate(-360deg)}}@keyframes dotsBlink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}button{-webkit-tap-highlight-color:transparent;cursor:pointer;font-family:var(--font)}a{-webkit-tap-highlight-color:transparent}
