/* Live Map precision pass
   Keep vector boundaries readable without letting thick outlines cover terrain. */
#map-viewport{
  --hv-zone-stroke:.9;
  --hv-zone-fill:.12;
  --hv-zone-stroke-opacity:.88;
}
#tracker-shapes .shape{
  stroke-width:var(--hv-zone-stroke);
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-opacity:var(--hv-zone-stroke-opacity);
}
#tracker-shapes .zone{
  stroke-width:var(--hv-zone-stroke);
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-opacity:var(--hv-zone-stroke-opacity);
  paint-order:stroke fill;
}
#tracker-shapes .migrations{
  fill:#4ade5f;
  fill-opacity:var(--hv-zone-fill);
}
#tracker-shapes .patrolZones{
  fill:#f4483c;
  fill-opacity:calc(var(--hv-zone-fill) * .9);
}
#tracker-shapes .sanctuaries{
  fill:#ff7bd8;
  fill-opacity:calc(var(--hv-zone-fill) * .85);
}
#tracker-shapes .caves{
  stroke-width:max(.65px,calc(var(--hv-zone-stroke) * .8));
  stroke-opacity:.72;
}
.map-layer-precision{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.12);
}
.map-layer-precision>span{
  display:block;
  margin-bottom:8px;
  color:#9ba7a0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.precision-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  margin:8px 0;
  color:#d9e2dc;
  font-size:10px;
}
.precision-row input[type="range"]{
  width:100%;
  accent-color:#d8a928;
}
.precision-value{
  text-align:right;
  color:#d8a928;
  font-variant-numeric:tabular-nums;
}
.map-source-status{
  display:block;
  margin-top:8px;
  color:#7f8b84;
  font-size:9px;
  line-height:1.45;
}

.map-source-card{
  margin-top:12px;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-left:3px solid #66736b;
  border-radius:8px;
  background:rgba(4,9,6,.42);
}
.map-source-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
.map-source-card-head span{
  color:#8f9b94;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}
.map-source-card-head b{
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  color:#b8c3bd;
  font-size:7px;
  letter-spacing:.08em;
}
.map-source-card>strong{
  display:block;
  color:#e3eae5;
  font-size:11px;
}
.map-source-card>small{
  display:block;
  margin-top:4px;
  color:#87928c;
  font-size:9px;
  line-height:1.4;
}
.map-source-card[data-state="current"]{border-left-color:#79a744}
.map-source-card[data-state="current"] .map-source-card-head b{color:#bfe28b;border-color:rgba(121,167,68,.45);background:rgba(121,167,68,.08)}
.map-source-card[data-state="fallback"]{border-left-color:#d8a928}
.map-source-card[data-state="fallback"] .map-source-card-head b{color:#f0cf69;border-color:rgba(216,169,40,.45);background:rgba(216,169,40,.08)}
.map-source-card[data-state="error"]{border-left-color:#a54a3f}
.map-source-card[data-state="error"] .map-source-card-head b{color:#efa095;border-color:rgba(165,74,63,.5);background:rgba(165,74,63,.08)}

#map-source-audit{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#9ea9a2;
}
.map-source-card[data-geometry="checked"] #map-source-audit{color:#a9c984}
.map-source-card[data-geometry="review"] #map-source-audit{color:#efae72}
