.market-map{border-radius:inherit;--mm-tint:#30d158;--mm-tint-dim:#30d15840;--mm-surface:#2c2c2ef5;--mm-text:#fff;--mm-text-2:#a1a1a6;--mm-edge:#ffffff1f;--mm-shadow:0 8px 24px #00000080;width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.market-map-light{--mm-tint:#137f38;--mm-tint-dim:#137f3829;--mm-surface:#fffffff5;--mm-text:#000;--mm-text-2:#6e6e73;--mm-edge:#0000001a;--mm-shadow:0 8px 24px #0000001f}.market-map-canvas{position:absolute;inset:0}.market-map-canvas:focus-visible{outline:2px solid var(--mm-tint);outline-offset:-2px}.market-map-light .market-map-canvas{background:#f2f2f7}.market-map-dark .market-map-canvas{background:#000}.market-map-skeleton{pointer-events:none;background:linear-gradient(100deg,#fff0 30%,#ffffff14 50%,#fff0 70%) 0 0/200% 100%;animation:1.4s ease-in-out infinite market-map-shimmer;position:absolute;inset:0}@keyframes market-map-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.market-map-skeleton{animation:none}}.market-map-notice{background:var(--mm-surface);max-width:min(360px,100% - 24px);color:var(--mm-text);box-shadow:0 0 0 1px var(--mm-edge), var(--mm-shadow);pointer-events:none;border-radius:8px;padding:8px 12px;font-size:.8rem;line-height:1.35;position:absolute;top:12px;left:12px}.market-map-notice-tiles{top:auto;bottom:36px}.market-map-selected{pointer-events:none;filter:drop-shadow(0 2px 4px #00000059);width:34px;height:34px}.market-map-selected svg{display:block}.market-map-origin{box-sizing:border-box;background:var(--origin-color,var(--mm-tint));width:16px;height:16px;box-shadow:0 0 0 2px var(--origin-color,var(--mm-tint));pointer-events:none;border:3px solid #fff;border-radius:50%}.market-map-popup{--tip-bg:#2c2c2e;--tip-text:#fff;--tip-title:#fff;--tip-muted:#a1a1a6;--tip-edge:#ffffff1f;--tip-shadow:0 8px 24px #00000080;--tip-fresh:#30d158;--tip-stale:#ff9f0a;--tip-never:#ff453a}.market-map-popup-light{--tip-bg:#fff;--tip-text:#000;--tip-title:#000;--tip-muted:#6e6e73;--tip-edge:#0000001a;--tip-shadow:0 8px 24px #0000001f;--tip-fresh:#137f38;--tip-stale:#c93400;--tip-never:#d70015}.market-map-popup .maplibregl-popup-content{background:var(--tip-bg);min-width:180px;color:var(--tip-text);box-shadow:0 0 0 1px var(--tip-edge), var(--tip-shadow);border-radius:10px;padding:9px 12px;font:12px/1.4 Inter,system-ui,sans-serif}.market-map-popup .maplibregl-popup-tip{border-top-color:var(--tip-bg);border-bottom-color:var(--tip-bg)}.market-map-tooltip strong{color:var(--tip-title);font-size:13px;font-weight:600;display:block}.market-map-tooltip div{color:var(--tip-muted)}.market-map-tooltip-value{align-items:baseline;gap:8px;margin-top:5px;display:flex}.market-map-tooltip-number{color:var(--tip-title);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.market-map-tooltip-number:before{content:"";background:var(--swatch,#888);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #0006}.market-map-tooltip-fresh{letter-spacing:.02em;margin-top:4px;font-size:11px}.market-map-tooltip .market-map-tooltip-fresh-fresh{color:var(--tip-fresh)}.market-map-tooltip .market-map-tooltip-fresh-stale{color:var(--tip-stale)}.market-map-tooltip .market-map-tooltip-fresh-never{color:var(--tip-never)}.market-map-keylist{z-index:2;background:var(--mm-surface);width:min(320px,100% - 24px);max-height:45%;color:var(--mm-text);box-shadow:0 0 0 1px var(--mm-edge), var(--mm-shadow);clip:rect(0 0 0 0);clip-path:inset(50%);border-radius:8px;width:1px;height:1px;margin:-1px;padding:0;font-size:.8rem;position:absolute;bottom:12px;left:12px;overflow:auto}.market-map-keylist:focus-within{clip:auto;clip-path:none;width:min(320px,100% - 24px);height:auto;margin:0;padding:8px}.market-map-keylist-hint{color:var(--mm-text-2);margin:0 0 6px}.market-map-keylist ol{margin:0;padding:0;list-style:none}.market-map-keylist button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 6px;display:block}.market-map-keylist button:focus-visible{outline:2px solid var(--mm-tint)}.market-map-keylist button[aria-pressed=true]{background:var(--mm-tint-dim)}