:root{
  --dark:#151008;
  --green:#15261d;
  --gold:#b98a4b;
  --paper:#e7d0aa;
  --ink:#24180c;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:#efe5d3;
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
header{
  background:linear-gradient(135deg,#111,#213426);
  color:#f1e3c7;
  padding:20px 28px;
  border-bottom:4px solid var(--gold);
}
.brand{
  color:var(--gold);
  font-weight:800;
  letter-spacing:.18em;
}
h1{
  margin:6px 0;
  font-family:Georgia,serif;
  font-size:34px;
}
header p{margin:0 0 12px;opacity:.9}
header a{
  display:inline-block;
  background:var(--gold);
  color:#111;
  padding:9px 14px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
}
main{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:0;
  min-height:calc(100vh - 150px);
}
.map-wrap{
  position:relative;
  background:#1b130b;
  overflow:auto;
  padding:18px;
}
.map-wrap img{
  display:block;
  width:100%;
  max-width:1600px;
  margin:auto;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  border:2px solid rgba(185,138,75,.5);
}
#pointsLayer{
  position:absolute;
  inset:18px;
  pointer-events:none;
}
.point{
  position:absolute;
  transform:translate(-50%,-50%);
  pointer-events:auto;
  cursor:pointer;
}
.point.found{
  width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f6d28a,#8b5b24 65%,#2b1a09);
  border:2px solid #24180c;
  box-shadow:0 0 0 3px rgba(255,221,138,.35),0 3px 12px rgba(0,0,0,.7);
}
.point.future,.point.zone{
  border-radius:50%;
  border:2px dashed rgba(255,230,160,.95);
  background:rgba(226,184,92,.18);
  box-shadow:0 0 30px rgba(226,184,92,.45);
}
.point.zone{
  border-color:rgba(120,165,125,.95);
  background:rgba(80,120,90,.22);
  box-shadow:0 0 30px rgba(80,120,90,.45);
}
aside{
  background:#ead7b8;
  padding:24px;
  border-left:3px solid rgba(36,24,12,.22);
}
h2{
  font-family:Georgia,serif;
  margin:10px 0;
}
.marker{
  display:inline-block;
  width:16px;height:16px;
  border-radius:50%;
  vertical-align:-3px;
  margin-right:8px;
}
.marker.found{background:#9b6a2f}
.marker.future{background:#e2b85c}
.marker.zone{background:#4d755c}
.note{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(36,24,12,.2);
  border-radius:12px;
  background:rgba(255,255,255,.35);
}
footer{
  text-align:center;
  background:#15261d;
  color:var(--gold);
  padding:16px;
  font-family:Georgia,serif;
}
.popup{
  position:fixed;
  z-index:10;
  max-width:320px;
  background:#f5ead5;
  border:2px solid var(--gold);
  border-radius:14px;
  padding:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.popup.hidden{display:none}
.popup h3{font-family:Georgia,serif;margin:4px 0}
.popup small{color:#7c5b2d;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.popup a{color:#5b3b14;font-weight:800}
label{display:block;font-weight:800;margin:12px 0}
input,textarea,select{
  width:100%;
  margin-top:6px;
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(36,24,12,.25);
  background:#fff8e8;
  font:inherit;
}
textarea{min-height:90px}
button{
  width:100%;
  margin-top:10px;
  padding:12px;
  border:0;
  border-radius:10px;
  background:var(--gold);
  color:#111;
  font-weight:900;
  cursor:pointer;
}
button.danger{background:#a54d3d;color:white}
.coords{font-weight:800;margin:14px 0}
.admin-map{cursor:crosshair}
@media(max-width:900px){
  main{grid-template-columns:1fr}
  aside{border-left:0;border-top:3px solid rgba(36,24,12,.22)}
  h1{font-size:28px}
}
