.ekzy-game-map { --map-bg:#050806;--map-panel:#080d0a;--map-line:rgba(193,215,194,.2);--map-text:#eef1e7;--map-muted:#8f9a8e;--map-dim:#5e685e;--map-acid:#b6e75d;position:relative;min-width:0;border:1px solid var(--map-line);background:var(--map-bg);color:var(--map-text);font-family:var(--sans);overflow:hidden; }
.ekzy-map-toolbar { position:relative;z-index:1200;min-height:78px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(330px,.8fr) auto;gap:10px;align-items:end;padding:11px;border-bottom:1px solid var(--map-line);background:rgba(5,9,7,.96); }
.ekzy-map-toolbar label { display:grid;gap:5px;min-width:0;color:var(--map-dim);font:700 8px var(--mono);letter-spacing:.1em;text-transform:uppercase; }
.ekzy-map-toolbar input,.ekzy-map-toolbar select { width:100%;height:38px;border:1px solid var(--map-line);border-radius:0;background:#070c09;color:var(--map-text);padding:0 11px;outline:0;font:650 11px var(--mono); }
.ekzy-map-toolbar input:focus,.ekzy-map-toolbar select:focus { border-color:var(--map-acid); }
.ekzy-map-search-wrap { position:relative;min-width:0; }
.ekzy-map-search-results { position:absolute;z-index:1500;left:0;right:0;top:61px;max-height:330px;overflow:auto;border:1px solid var(--map-line);background:#060a08;box-shadow:0 18px 45px #000; }
.ekzy-map-search-results button { width:100%;display:grid;gap:4px;padding:11px;border:0;border-top:1px solid var(--map-line);background:transparent;color:var(--map-text);text-align:left;cursor:pointer; }
.ekzy-map-search-results button:hover { background:rgba(182,231,93,.07); }
.ekzy-map-search-results button span { font-size:11px; }
.ekzy-map-search-results button small,.ekzy-map-search-results>div { color:var(--map-muted);font:9px var(--mono); }
.ekzy-map-search-results>div { padding:16px; }
.ekzy-map-coordinate-form { display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end; }
.ekzy-map-coordinate-form button,.ekzy-map-actions button,.ekzy-map-layer-head button,.ekzy-map-layer-bulk button { min-height:38px;border:1px solid var(--map-line);background:#0a100c;color:var(--map-muted);padding:0 12px;cursor:pointer;font:700 9px var(--mono);white-space:nowrap; }
.ekzy-map-coordinate-form button:hover,.ekzy-map-actions button:hover,.ekzy-map-actions button.is-active,.ekzy-map-layer-bulk button:hover { color:var(--map-text);border-color:var(--map-acid); }
.ekzy-map-actions { display:flex;gap:6px;align-items:end;overflow-x:auto; }
.ekzy-map-actions select { min-width:112px; }
[data-map-layers-toggle] { display:none; }
.ekzy-map-body { min-width:0;display:grid;grid-template-columns:310px minmax(0,1fr); }
.ekzy-map-layer-panel { height:720px;overflow:auto;border-right:1px solid var(--map-line);background:rgba(6,10,8,.98); }
.ekzy-map-layer-head { position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:9px 12px;border-bottom:1px solid var(--map-line);background:#060a08; }
.ekzy-map-layer-head b { font:750 11px var(--mono);text-transform:uppercase;letter-spacing:.1em; }
.ekzy-map-layer-head button { display:none; }
.ekzy-map-layer-bulk { display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px; }
.ekzy-map-layer-panel details { border-top:1px solid var(--map-line); }
.ekzy-map-layer-panel summary { min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;color:var(--map-text);cursor:pointer;list-style:none;font:700 10px var(--mono);text-transform:uppercase; }
.ekzy-map-layer-panel summary::-webkit-details-marker { display:none; }
.ekzy-map-layer-panel summary b { color:var(--map-acid);font-size:9px; }
.ekzy-map-layer-panel details>div { padding:0 8px 9px; }
.ekzy-map-layer-panel label { min-height:35px;display:grid;grid-template-columns:17px 10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;color:var(--map-muted);cursor:pointer;font-size:10px;line-height:1.3; }
.ekzy-map-layer-panel label:hover { color:var(--map-text);background:rgba(182,231,93,.05); }
.ekzy-map-layer-panel label input { width:14px;height:14px;margin:0;accent-color:var(--map-acid); }
.ekzy-map-layer-panel label i { width:8px;height:8px;border-radius:50%;background:var(--point-color);box-shadow:0 0 7px var(--point-color); }
.ekzy-map-layer-panel label small { color:var(--map-dim);font:8px var(--mono); }
.ekzy-map-stage { position:relative;min-width:0;height:720px;overflow:hidden;background:#020403; }
.ekzy-map-canvas { position:absolute;inset:0;background:#020403; }
.ekzy-map-coordinate-readout { position:absolute;z-index:450;left:12px;bottom:12px;max-width:calc(100% - 24px);display:grid;grid-template-columns:auto auto;gap:3px 10px;padding:9px 11px;border:1px solid var(--map-line);background:rgba(4,7,5,.9);pointer-events:none; }
.ekzy-map-coordinate-readout span { color:var(--map-acid);font:700 8px var(--mono); }
.ekzy-map-coordinate-readout b { color:var(--map-text);font:700 10px var(--mono); }
.ekzy-map-coordinate-readout small { grid-column:1/-1;color:var(--map-dim);font:8px var(--mono); }
.ekzy-map-measure-readout { position:absolute;z-index:450;right:12px;bottom:12px;padding:10px 12px;border:1px solid #9b683b;background:rgba(25,13,5,.92);color:#f4bd7f;font:750 10px var(--mono); }
.ekzy-game-map .leaflet-container { background:#020403;cursor:crosshair; }
.ekzy-game-map .leaflet-control-zoom a { border-color:var(--map-line);border-radius:0!important;background:#070c09;color:var(--map-text); }
.ekzy-game-map .leaflet-control-attribution { display:none; }
.ekzy-game-map .leaflet-popup-content-wrapper,.ekzy-game-map .leaflet-popup-tip { border-radius:0;background:#080d0a;color:var(--map-text);box-shadow:0 14px 40px #000; }
.ekzy-game-map .leaflet-popup-content { margin:13px 15px; }
.ekzy-map-popup { display:grid;gap:7px; }
.ekzy-map-popup b { font-size:12px; }
.ekzy-map-popup span,.ekzy-map-popup { color:var(--map-muted);font:10px/1.45 var(--mono); }
.ekzy-map-sector { stroke:rgba(255,255,255,.38)!important; }
.ekzy-map-sector-label { display:grid!important;place-items:center!important;margin:-12px 0 0 -20px!important;color:rgba(255,255,255,.7);font:800 16px var(--mono);text-shadow:0 1px 4px #000; }
.ekzy-map-point,.ekzy-map-admin-marker { background:transparent;border:0; }
.ekzy-map-point i { display:block;width:12px;height:12px;margin:3px;border:2px solid #e6efe1;border-radius:50%;background:var(--point-color);box-shadow:0 0 0 2px #050705,0 0 11px var(--point-color); }
.ekzy-map-point-agriculture i { width:9px;height:9px;margin:4.5px;opacity:.85; }
.ekzy-map-admin-marker i { display:block;width:16px;height:16px;margin:4px;transform:rotate(45deg);border:2px solid #fff;background:var(--point-color);box-shadow:0 0 0 2px #050705,0 0 13px var(--point-color); }
.ekzy-map-admin-player i { border-radius:50%;transform:none; }
.ekzy-map-admin-custom i { cursor:move; }
.ekzy-map-cluster { display:grid!important;place-items:center!important;border-radius:50%;background:rgba(5,10,7,.85);border:2px solid var(--map-acid);box-shadow:0 0 0 5px rgba(182,231,93,.14),0 0 15px rgba(182,231,93,.4);color:var(--map-text);font:800 10px var(--mono); }
.ekzy-map-cluster span { pointer-events:none; }
.ekzy-game-map .marker-cluster-small,.ekzy-game-map .marker-cluster-medium,.ekzy-game-map .marker-cluster-large { background:transparent; }
.ekzy-game-map .marker-cluster div { margin:0;background:transparent; }
.ekzy-game-map .leaflet-tooltip { border-radius:0;border-color:var(--map-line);background:#080d0a;color:var(--map-text);font:9px var(--mono);box-shadow:0 8px 25px #000; }

@media (max-width:1000px) {
  .ekzy-map-toolbar { grid-template-columns:1fr 1fr;align-items:end; }
  .ekzy-map-actions { grid-column:1/-1; }
  .ekzy-map-body { grid-template-columns:260px minmax(0,1fr); }
}
@media (max-width:760px) {
  .ekzy-game-map { overflow:visible; }
  .ekzy-map-toolbar { grid-template-columns:1fr;padding:9px; }
  .ekzy-map-coordinate-form { grid-template-columns:1fr 1fr auto; }
  .ekzy-map-actions { grid-column:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible; }
  .ekzy-map-actions button,.ekzy-map-actions select { width:100%;min-width:0;padding-inline:7px;white-space:normal;line-height:1.2; }
  [data-map-layers-toggle] { display:block; }
  .ekzy-map-body { display:block; }
  .ekzy-map-stage { height:min(68svh,620px);min-height:480px; }
  .ekzy-map-layer-panel { position:absolute;z-index:1000;left:8px;right:8px;top:300px;height:min(56svh,420px);border:1px solid var(--map-line);box-shadow:0 25px 70px #000;transform:translateY(110%);visibility:hidden;transition:transform .2s,visibility .2s; }
  .ekzy-game-map.layers-open .ekzy-map-layer-panel { transform:translateY(0);visibility:visible; }
  .ekzy-map-layer-head button { display:block; }
  .ekzy-map-coordinate-readout { left:8px;bottom:8px; }
  .ekzy-map-coordinate-readout small { display:none; }
  .ekzy-map-measure-readout { right:8px;bottom:8px; }
}
@media (max-width:430px) {
  .ekzy-map-coordinate-form { grid-template-columns:1fr 1fr; }
  .ekzy-map-coordinate-form button { grid-column:1/-1; }
  .ekzy-map-actions { padding-bottom:2px; }
  .ekzy-map-actions button,.ekzy-map-actions select { min-width:0; }
  .ekzy-map-stage { min-height:455px; }
}
