.market-subtabs{display:inline-flex;margin-bottom:16px}.market-map-controls,.map-buttons,.map-edit-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.market-map-controls{margin:18px 0 12px}.market-map-controls>.hint{flex:1}.map-edit-tools{margin:10px 0;padding:12px;background:#79a38926;border-radius:10px}.map-edit-tools label{display:flex;gap:8px;align-items:center}.market-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:16px}.market-map-viewport{position:relative;background:#17314a;border-radius:14px;overflow:hidden;min-height:400px;height:clamp(400px,65vh,850px)}#market-map-svg{width:100%;height:100%;display:block;touch-action:none;cursor:grab;user-select:none}#market-map-svg:active{cursor:grabbing}#market-map-svg image{image-rendering:pixelated}.market-pin{cursor:pointer;outline:none}.market-pin>circle{fill:#ba5422;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #0009)}.market-pin>.pin-dot{fill:#fff;stroke:none}.market-pin.selected>circle:first-child,.market-pin:focus>circle:first-child{fill:#005436;stroke:#ffdb7b;stroke-width:3}.map-north{position:absolute;right:12px;top:12px;background:#09121edd;color:white;padding:5px 10px;border-radius:8px;pointer-events:none}.map-shop-detail{position:relative;padding:18px;border:1px solid #80958b55;border-radius:14px;align-self:start;overflow-wrap:anywhere}.map-shop-detail h3{padding-right:18px;margin-top:0}.map-shop-detail dt{font-size:.8rem;opacity:.75;margin-top:16px}.map-shop-detail dd{margin:3px 0 0}.map-detail-close{position:absolute;right:8px;top:8px}.map-coverage{margin-top:20px}.map-coverage summary{cursor:pointer}#map-bounds{display:flex;gap:12px;flex-wrap:wrap;align-items:end}#map-bounds label{display:flex;flex-direction:column;gap:5px}#map-bounds input{width:130px}#map-edit[aria-pressed=true]{background:#005436;color:white}@media(max-width:800px){.market-map-layout{grid-template-columns:1fr}.market-map-viewport{height:55vh;min-height:340px}.map-shop-detail{padding:14px}.map-shop-detail dl{display:grid;grid-template-columns:1fr 2fr;gap:8px}.map-shop-detail dt,.map-shop-detail dd{margin:0}}
/* Fit the map's proportions instead of leaving tall empty bands around it. */
.market-map-viewport{height:auto;aspect-ratio:9/8;min-height:340px;max-height:75vh;align-self:start}#market-map-svg{position:absolute;inset:0}
.market-map-layout{display:block}#map-shop-detail{display:none}
.book-hit{fill:transparent;stroke:transparent;pointer-events:all}.market-pin.selected .book-hit,.market-pin:focus .book-hit{fill:#00543655;stroke:#ffdb7b;stroke-width:2}.market-pin{filter:drop-shadow(0 2px 2px #0009)}
#market-shop-popup{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid #80958b66;border-radius:16px;background:var(--surface,#fff);color:var(--text,#09121e);box-shadow:0 16px 60px #0006;z-index:1000}
#market-shop-popup::backdrop{background:#09121e88}#market-shop-popup .map-detail-close{width:44px;height:44px;top:8px;right:8px;font-size:24px;cursor:pointer}#market-shop-popup h3{padding-right:36px;font-size:1.2rem}#market-shop-popup dl{display:block}#market-shop-popup dt{margin-top:14px}#market-shop-popup dd{margin:4px 0 0}#market-shop-popup #map-edit-shop{margin-top:12px;min-height:44px}
@media(max-width:600px){#market-shop-popup{inset:auto 0 0;margin:0;width:100%;max-height:80dvh;border-radius:18px 18px 0 0;padding:24px 20px max(24px,env(safe-area-inset-bottom))}}

#market-shop-popup{max-width:100%}
