#map_container { position:relative; }
#map { text-shadow:none; width: 100%; height: 500px; }
#map_container:-webkit-full-screen #map{height: 100vh;}
#map_container:-moz-full-screen #map{height: 100vh;}
#map_container:fullscreen #map{height: 100vh;}
#map canvas{ pointer-events:none; }

.pokemon-div, .oyabun-div { background: none !important; border: none !important; }
.pokemon-icon { width: 32px; height: 32px; image-rendering: pixelated; filter: drop-shadow(1px 0 1px #fff) drop-shadow(-1px 0 1px #fff) drop-shadow(0 1px 1px #fff) drop-shadow(0 -1px 1px #fff); }
.pokemon-icon.no-filter { filter:none; }
.pokemon-icon.oyabun-marker { filter: drop-shadow(1px 0 1px #fff) drop-shadow(-1px 0 1px #fff) drop-shadow(1px 0 1px #db5457) drop-shadow(-1px 0 1px #db5457) drop-shadow(0 1px 1px #db5457) drop-shadow(0 -1px 1px #db5457); }
.leaflet-popup-content { min-width: 200px; padding: 8px; margin:0; }
.popup { text-align: center; }
.popup-icon { width: 96px; height: 96px; image-rendering: pixelated; margin: 0 auto 6px; display: block; }
.popup-badge { display: inline-block; padding: 2px 6px; border-radius: 2px; font-size: 10px; font-weight: bold; margin-bottom: 4px; color: #fff; }
.popup-badge.oyabun { background: linear-gradient(135deg, #db5457, #e74c3c); }
.popup-name { font-size: 14px; font-weight: bold; color: #333; margin: 4px 0; }
.popup-info { font-size: 11px; color: #666; line-height: 1.4; margin: 3px 0; }
.popup-level { font-weight: bold; color: #4CAF50; }
.popup-badge.oyabun { margin-right: 6px; }
.uploaded-image { height: 100px; margin: 10px auto; display: block; border-radius: 4px; cursor: pointer; }
.uploaded-image-top { margin-top: 0; }
.marker-popup-container { text-align: center; padding: 8px; }
.marker-popup-name { font-weight: bold; font-size: 13px; }

.shape-label-icon { background: transparent !important; border: none !important; cursor: pointer; }
.shape-label { position: relative; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.shape-label svg { position: absolute; top: 0; left: 0; width: 36px; height: 36px; z-index: 0; pointer-events: none; }
.shape-label-text { position: relative; z-index: 10; color: #ffeb3b; font-weight: bold; font-size: 13px; line-height: 1; text-align: center; pointer-events: none; display: inline-block; }

#marker-toggle-controls { position: absolute; top: 80px; left: 10px; z-index: 1000; background: white; padding: 4px; border-radius: 4px; box-shadow: 0 1px 5px rgba(0,0,0,0.4); display: flex; flex-direction: column; gap: 3px; }
.marker-toggle-btn { display: flex; align-items: center; gap: 3px; padding: 2px 4px; border: 1px solid #ddd; border-radius: 3px; background: white; cursor: pointer; transition: all 0.2s; font-size: 10px; font-weight: bold; color: #333; white-space: nowrap; }
.marker-toggle-btn:hover { background: #f5f5f5; border-color: #4CAF50; }
.marker-toggle-btn.active { background: #e8f5e9; border-color: #4CAF50; }
.marker-toggle-btn.inactive { background: #f5f5f5; border-color: #ccc; opacity: 0.5; }
.marker-toggle-btn.inactive:hover { opacity: 0.7; }
.marker-toggle-icon { width: 12px; height: 18px; object-fit: contain; }
.marker-toggle-text { flex: 1; text-align: left; }

#marker-menu-toggle, #fullscreen-toggle {position: absolute;top: 80px;left: 10px;z-index: 1000;background: white;background-size: 80%;border: 2px solid rgba(0,0,0,0.2);border-radius: 4px;width: 36px;height: 36px;cursor: pointer;display: flex;align-items: center;justify-content: center;box-shadow: 0 1px 5px rgba(0,0,0,0.4);font-size: 8px;padding: 0;color: #333;}
#marker-menu-toggle:hover, #fullscreen-toggle:hover { background-color: #f4f4f4;}
#marker-toggle-controls.show { display: flex !important; left: 50px;}
#marker-toggle-controls.hide { display: none;}

#fullscreen-toggle {top: 120px;background-image: url('//img.yakkun.com/page/fullscreen.svg?v=2');background-repeat: no-repeat;background-position: center top;background-size: 100% 200%;text-indent: -9999px;overflow: hidden;}
#map_container:-webkit-full-screen #fullscreen-toggle{background-position: center bottom;}
#map_container:-moz-full-screen #fullscreen-toggle {background-position: center bottom;}
#map_container:fullscreen #fullscreen-toggle{background-position: center bottom;}

#map.evmode .pokemon-div:not(.evshow), #map.evmode .oyabun-div:not(.evshow){display:none;}
#map.evmode .ev_2{filter: drop-shadow(1px 0 1px #fff) drop-shadow(-1px 0 1px #fff) drop-shadow(1px 0 1px #439bd2) drop-shadow(-1px 0 1px #439bd2);}
#map.evmode .ev_3{filter: drop-shadow(1px 0 1px #fff) drop-shadow(-1px 0 1px #fff) drop-shadow(1px 0 1px #ff5508) drop-shadow(-1px 0 1px #ff5508);}