*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:#1e293b;-webkit-font-smoothing:antialiased;background:#c6ddf0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.map-root{--paper:#fff;--ink:#1e293b;width:100%;height:100%;color:var(--ink);background:#c6ddf0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.map-canvas{display:block;position:absolute;inset:0}.map-canvas-top{touch-action:none}.theme-picker{background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);box-shadow:0 4px 20px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:12px;gap:4px;padding:4px;display:flex;position:absolute;top:20px;right:20px}.theme-picker button{appearance:none;color:color-mix(in srgb, var(--ink) 75%, transparent);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:6px 11px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.theme-picker button:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}.theme-picker button.active{background:color-mix(in srgb, var(--ink) 11%, transparent);color:var(--ink)}.theme-picker .swatches{gap:3px;display:flex}.theme-picker .swatches i{border-radius:50%;width:8px;height:8px}@media (width<=760px){.theme-picker{inset:auto auto 20px 50%;transform:translate(-50%)}.theme-picker button{gap:3px;padding:8px 10px;font-size:0}}.zoom-controls{background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);box-shadow:0 4px 20px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:12px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;bottom:20px;right:20px}.zoom-controls button{appearance:none;width:34px;height:34px;color:color-mix(in srgb, var(--ink) 80%, transparent);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:17px;line-height:1;transition:background .15s,transform .1s}.zoom-controls button:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.zoom-controls button:active{transform:scale(.92)}.map-hint{color:color-mix(in srgb, var(--ink) 55%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:450;position:absolute;bottom:22px;left:22px}.map-hint span{color:color-mix(in srgb, var(--ink) 45%, transparent);margin-top:3px;font-size:11px;font-weight:400;display:block}.map-hint span a{pointer-events:auto}.tooltip{z-index:10;background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);min-width:150px;max-width:230px;box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 16%, transparent);pointer-events:none;opacity:0;border-radius:12px;padding:10px 14px;transition:opacity .15s,transform .15s;position:fixed;transform:translateY(4px)}.tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-name{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.tooltip-flag{font-size:17px}.tooltip-meta{color:color-mix(in srgb, var(--ink) 62%, transparent);margin-top:3px;font-size:12px;font-weight:450}.map-loading{background:color-mix(in srgb, var(--paper) 80%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.map-loading p{color:color-mix(in srgb, var(--ink) 70%, transparent);font-size:13px;font-weight:500}.spinner{border:2.5px solid color-mix(in srgb, var(--ink) 15%, transparent);border-top-color:var(--ink);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.map-title p,.map-hint{display:none}}
