html, body{ height:100%; margin:0; padding:0; overflow:hidden; background:#efefef; }

.mw-fit-outer{ position:fixed; left:0; top:0; right:0; bottom:0; overflow:hidden; }
.mw-fit-stage{ position:absolute; left:50%; top:10px; transform:translateX(-50%); transform-origin: top center; will-change: transform; }

.mw-wrap{
  width:1780px;
  max-width:none;
  margin:0;
  background:#f8f8f8;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  font:12px Tahoma, Verdana, Arial;
  color:#222;
}
.mw-wrap-head{
  padding:10px 12px;
  background:linear-gradient(to bottom,#fdfdfd,#e9e9e9);
  border-bottom:1px solid rgba(0,0,0,.12);
}
.mw-head-title{ font-weight:bold; font-size:13px; color:#111; }

.mw-wrap-body{ padding:10px; }
.mw-grid{ width:100%; border-collapse:collapse; }
.mw-grid td{ vertical-align:top; }

.mw-right{ width:360px; padding-left:10px; }

.mw-topbar{
  background:linear-gradient(to bottom,#ffffff,#f0f0f0);
  padding:8px 10px;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(0,0,0,.10);
}
.mw-topbar-left{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mw-topbar label{ font-weight:bold; font-size:11px; color:#333; }
.mw-select{
  padding:4px 6px;
  border:1px solid rgba(0,0,0,.20);
  background:#fff;
  font:12px Tahoma;
}

.mw-map-frame{
  background:#fff;
  padding:8px;
  border:1px solid rgba(0,0,0,.10);
}

/* правая панель */
.mw-panel{ background:#fbfbfb; border:1px solid rgba(0,0,0,.10); }
.mw-panel-head{
  background:linear-gradient(to bottom,#ffffff,#ececec);
  padding:10px 10px;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.mw-panel-title{ font-weight:bold; color:#111; font-size:12px; }
.mw-panel-body{ padding:10px; }

.mw-label{ font-size:11px; color:#444; margin-bottom:4px; }
.mw-input{
  width:100%; box-sizing:border-box;
  padding:8px 9px;
  border:1px solid rgba(0,0,0,.22);
  background:#fff; color:#111;
  outline:none;
  font:12px Tahoma, Verdana, Arial;
}
.mw-btn{
  width:100%; box-sizing:border-box;
  padding:8px 9px;
  border:1px solid rgba(0,0,0,.25);
  background:linear-gradient(to bottom,#f6f6f6,#dedede);
  cursor:pointer;
  font:bold 11px Tahoma, Verdana, Arial;
  color:#111;
}
.mw-btn:hover{ background:linear-gradient(to bottom,#ffffff,#e7e7e7); }

.mw-switches{
  margin-top:10px;
  padding:8px 8px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
}
.mw-sw-title{ font-weight:bold; font-size:11px; color:#333; margin-bottom:6px; }
.mw-sw{ display:block; margin:3px 0; font-size:11px; color:#222; cursor:pointer; user-select:none; }
.mw-sw input{ vertical-align:middle; margin-right:6px; }

.mw-results{
  margin-top:10px;
  height:360px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
}
.mw-card{
  border:1px solid rgba(0,0,0,.16);
  background:#fff;
  padding:9px 9px;
  margin-bottom:8px;
  cursor:pointer;
}
.mw-card:hover{ background:#f7f7f7; }
.mw-card-title{ font-weight:bold; color:#111; font-size:12px; margin-bottom:6px; }
.mw-card-line{ font-size:11px; color:#333; line-height:1.25; margin:2px 0; }

.mw-card-row{ display:flex; gap:10px; align-items:flex-start; }
.mw-card-thumb{ flex:0 0 92px; width:92px; }
.mw-card-thumb img{
  width:92px; height:92px; display:block;
  border-radius:20px;
  box-shadow:0 0 15px rgba(0,0,0,0.6);
  border:0; overflow:hidden; margin-top:1px; object-fit:cover;
}
.mw-card-info{ flex:1 1 auto; min-width:0; }

/* подсветка клетки */
#map-container td{ position:relative; }
#map-container td.mw-target::after{
  content:"";
  position:absolute;
  top:0; left:0; right:0; bottom:0;
  border:3px solid #ffe6a6;
  box-sizing:border-box;
  pointer-events:none;
  z-index:1;
  box-shadow:0 0 18px rgba(255,230,166,.35);
}

/* hide */
#map-container.mw-hide-loc .locati_m{ display:none !important; }
#map-container.mw-hide-name .locationsw{ display:none !important; }
#map-container.mw-hide-bots .Bot-info_m{ display:none !important; }
#map-container.mw-hide-grass .trava_m{ display:none !important; }
#map-container.mw-hide-wood .les_m{ display:none !important; }
#map-container.mw-hide-fish .fish_m{ display:none !important; }

/* ====== DRAG SCROLL CURSOR ====== */
#map-container{ cursor:grab; }
#map-container.mw-dragging{ cursor:grabbing; }

/* PRELOADER (плавный) */
.mw-loader{
  position:fixed; top:0; left:0; right:0; bottom:0;
  z-index:999999;
  display:flex;
  align-items:center; justify-content:center;
  background:rgba(8,10,12,.72);
  backdrop-filter: blur(6px);

  opacity:0;
  pointer-events:none;
  transition: opacity .28s ease;
}
.mw-loader.mw-on{
  opacity:1;
  pointer-events:auto;
}

.mw-loader-box{
  width:360px;
  max-width:92vw;
  background:linear-gradient(to bottom, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  border-radius:18px;
  padding:18px 18px 16px;
  text-align:center;
  transform: translateY(6px);
  opacity:0;
  animation: mwLoaderIn .26s ease-out forwards;
}
@keyframes mwLoaderIn{ to{ transform: translateY(0); opacity:1; } }

.mw-loader-logo{
  width:120px; height:120px;
  margin:0 auto 12px;
  display:block;
  filter: drop-shadow(0 0 20px rgba(0,0,0,.55));
  animation: mwLogoPulse 1.2s ease-in-out infinite;
}
@keyframes mwLogoPulse{
  0%{ transform: scale(1) rotate(0deg); opacity:1; }
  50%{ transform: scale(1.03) rotate(-1deg); opacity:.95; }
  100%{ transform: scale(1) rotate(0deg); opacity:1; }
}

.mw-loader-title{
  font:bold 12px Tahoma, Verdana, Arial;
  color:#fff;
  letter-spacing:.2px;
  margin-bottom:10px;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}

.mw-loader-bar{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.mw-loader-fill{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(to right, rgba(255,232,106,.0), rgba(255,232,106,.95));
  box-shadow:0 0 18px rgba(255,232,106,.35);
  transition: width .18s ease;
}
.mw-loader-meta{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:11px Tahoma;
  color:rgba(255,255,255,.88);
}
.mw-loader-pct{
  font-weight:bold;
  color:#ffe86a;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}

/* стиль текста на клетках */
#map-container td > div{
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  right:2px !important;
  bottom:2px !important;
  padding:0 !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:2px !important;
  pointer-events:none;
  box-sizing:border-box;
}
#map-container .locati_m{
  position:static !important;
  display:inline-block !important;
  align-self:flex-start;
  font:9px Tahoma, Verdana, sans-serif !important;
  color:#fffbe6 !important;
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.75));
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  padding:1px 6px;
  margin:0 !important;
  text-shadow:0 0 2px rgba(0,0,0,.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 2px rgba(0,0,0,.6);
}
#map-container .locationsw{
  position:static !important;
  transform:none !important;
  display:block !important;
  max-width:100% !important;
  padding:2px 4px !important;
  border-radius:6px !important;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
  font:bold 10px Tahoma !important;
  color:#ffe86a !important;
  text-shadow:0 0 3px rgba(0,0,0,.95) !important;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
#map-container .Bot-info_m,
#map-container .trava_m,
#map-container .les_m,
#map-container .fish_m{
  position:static !important;
  max-width:100% !important;
  display:block !important;
  padding:2px 4px !important;
  border-radius:6px !important;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.06);
  font:normal 9px Tahoma, Verdana, sans-serif !important;
  line-height:1.15 !important;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
#map-container .Bot-info_m{ color:#fff3c6 !important; }
#map-container .trava_m{    color:#c9f5ff !important; }
#map-container .les_m{      color:#e6d3ff !important; }
#map-container .fish_m{     color:#fffbdc !important; }




#map-container td > div{
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  right:2px !important;
  bottom:2px !important;

  padding:0 !important;
  overflow:hidden !important;
  text-overflow:clip !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:2px !important;

  pointer-events:none;
  box-sizing:border-box;
}

#map-container .locati_m{
  position:static !important;
  top:auto !important;
  left:auto !important;
  width:auto !important;
  text-align:left !important;

  display:inline-block !important;
  align-self:flex-start;

  font:9px Tahoma, Verdana, sans-serif !important;
  color:#fffbe6 !important;

  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.75));
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  padding:1px 6px;
  margin:0 !important;

  text-shadow:0 0 2px rgba(0,0,0,.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 2px rgba(0,0,0,.6);
}

#map-container .locationsw{
  position:static !important;
  top:auto !important; left:auto !important;
  transform:none !important;

  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;

  padding:2px 4px !important;
  border-radius:6px !important;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);

  font:bold 10px Tahoma !important;
  color:#ffe86a !important;
  text-shadow:0 0 3px rgba(0,0,0,.95) !important;

  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

#map-container .Bot-info_m,
#map-container .trava_m,
#map-container .les_m,
#map-container .fish_m{
  position:static !important;
  top:auto !important; left:auto !important;

  width:auto !important;
  max-width:100% !important;

  display:block !important;
  padding:2px 4px !important;
  border-radius:6px !important;

  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.06);

  font:normal 9px Tahoma, Verdana, sans-serif !important;
  line-height:1.15 !important;

  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

#map-container .Bot-info_m{ color:#fff3c6 !important; }
#map-container .trava_m{    color:#c9f5ff !important; }
#map-container .les_m{      color:#e6d3ff !important; }
#map-container .fish_m{     color:#fffbdc !important; }