.layer-panel {
  position: absolute;
  z-index: 500;
  right: 18px;
  top: 18px;
  width: 210px;
  background: #0b0e10e8;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px;
  display: grid;
  gap: 10px;
  backdrop-filter: blur(10px);
}
.layer-panel > strong { font-size: 13px; }
.layer-panel label { display:flex;align-items:center;gap:8px;color:var(--text);font-size:12px;cursor:pointer; }
.layer-panel label[hidden],.admin-only[hidden]{display:none!important}
.layer-panel label span { margin-left:auto;background:var(--panel2);border-radius:10px;padding:2px 7px; }
.layer-panel input { accent-color:var(--orange); }
.layer-panel .locked { color:var(--muted);cursor:not-allowed; }
.layer-panel small { margin-left:auto;color:var(--orange);font-size:9px; }
.player-pin { width:26px;height:26px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--orange);transform:rotate(-45deg);box-shadow:0 3px 14px #000; }
.player-pin::after { content:"";display:block;width:7px;height:7px;background:#fff;border-radius:50%;margin:6px; }
.player-name { font-weight:700; }
.region-label { color:#fff;background:#111a;border:0;box-shadow:none;font-size:9px; }
.entity-pin { width:18px;height:18px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 10px #000; }
.entity-pin.hostile { background:#e34343; }
.entity-pin.animal { background:#e1aa35; }
.vehicle-pin { width:28px;height:28px;display:grid;place-items:center;background:#101820;border:2px solid #58a6ff;border-radius:50%;font-size:16px;box-shadow:0 2px 10px #000; }
.vehicle-marker { background:transparent;border:0; }
.vehicle-marker > span { position:absolute;left:33px;top:4px;white-space:nowrap;background:#0b0e10e6;color:#fff;border:1px solid #344454;border-radius:5px;padding:3px 6px;font-size:11px;font-weight:700;text-shadow:0 1px 2px #000; }
.vehicle-marker.stale { opacity:.68; }
.vehicle-marker.stale .vehicle-pin { border-style:dashed;filter:grayscale(.35); }
.vehicle-remove-marker { margin-top:6px;padding:4px 8px;border:1px solid #ff6b35;border-radius:6px;background:#24130e;color:#ffb08e;cursor:pointer;font-size:12px; }
.vehicle-remove-marker:hover { background:#ff6b35;color:#111; }
#webapi-hint { color:var(--muted);font-size:9px; }
.map-source { display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--muted);font-size:12px; }
.map-source select { color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 7px; }
@media(max-width:760px){.layer-panel{right:10px;top:10px;width:185px}.map-note{display:none}}
.reset-panel{position:absolute;z-index:500;right:18px;bottom:18px;width:250px;background:#0b0e10ee;border:1px solid #ff383866;border-radius:10px;padding:14px;display:grid;gap:10px}.reset-panel[hidden]{display:none}.reset-panel>span{color:#ff7777;font-weight:700}.reset-panel #reset-risks{display:grid;gap:5px;font-size:12px}.reset-panel #reset-risks span{color:var(--muted)}.reset-panel small{color:var(--muted)}.reset-panel button{padding:8px;border-radius:7px;cursor:pointer}.reset-selecting{cursor:crosshair!important}
.danger-button{background:#a51d1d;color:#fff;border:1px solid #ff5555;font-weight:800}.danger-button:disabled{opacity:.35;cursor:not-allowed}
