
.map-page{padding-top:46px;padding-bottom:70px}
.map-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:20px 0 28px}
.map-intro h1{font-size:52px;line-height:1.02;letter-spacing:-2px;margin:8px 0 14px}
.map-intro .lead{max-width:760px}.map-intro-mascot{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35))}
.active-nav{color:#fff!important}
.map-toolbar{display:grid;gap:18px;padding:18px 20px}
.map-switch{display:flex;gap:9px;flex-wrap:wrap}
.map-tab{border:1px solid #27364a;background:#111923;color:#cbd5e1;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}
.map-tab.active{background:linear-gradient(135deg,#6b5cff,#8576ff);border-color:#8c7fff;color:#fff;box-shadow:0 8px 30px rgba(111,93,255,.22)}
.coords-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto auto auto auto;gap:10px;align-items:end}
.coords-form label{margin:0;display:flex;flex-direction:column;gap:6px;color:#b7c3d2;font-size:13px}
.coords-form input{width:100%;background:#0b1119;border:1px solid #2a394d;color:#eef2f7;border-radius:10px;padding:11px 12px;font:inherit}
.coords-form .button{height:43px;white-space:nowrap}
.map-options{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#99a9bb;font-size:13px}
.map-check{display:flex;align-items:center;gap:8px}.map-check input{accent-color:#7566ff}.map-range{font-variant-numeric:tabular-nums}
.map-shell{padding:18px}.map-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.map-head h2{font-size:26px;margin:3px 0}.cursor-readout{display:flex;flex-direction:column;align-items:flex-end;color:#8fa1b6;font-size:12px}
.cursor-readout strong{font-size:15px;color:#eef3f8;font-variant-numeric:tabular-nums}
.map-viewport{position:relative;width:100%;overflow:hidden;border-radius:14px;border:1px solid #26364b;background:#080d13;user-select:none;cursor:crosshair;line-height:0}
.legacy-map-image{display:block;width:100%;height:auto;pointer-events:none}
.marker-layer{position:absolute;inset:0;pointer-events:none}
.landmark-marker{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;border:2px solid #0a0f16;background:#6e60ff;box-shadow:0 0 0 3px rgba(110,96,255,.2),0 5px 14px rgba(0,0,0,.45);pointer-events:auto;cursor:pointer}
.landmark-marker::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#b5f8ff}
.landmark-marker:hover,.landmark-marker:focus-visible{z-index:4;transform:translate(-50%,-50%) scale(1.25);outline:none}
.player-marker{position:absolute;transform:translate(-50%,-100%);width:34px;height:42px;border:0;background:transparent;cursor:pointer;padding:0;z-index:7}
.player-marker span{display:block;width:26px;height:26px;margin:auto;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#04dcff,#825cff);border:3px solid #eafcff;box-shadow:0 8px 24px rgba(0,0,0,.55)}
.player-marker span::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#081019;left:7px;top:7px}
.marker-popup{position:absolute;z-index:10;min-width:190px;max-width:280px;padding:10px 12px;border-radius:11px;background:rgba(8,13,20,.96);border:1px solid #33445b;color:#ecf2f8;line-height:1.35;box-shadow:0 15px 38px rgba(0,0,0,.45);pointer-events:none}
.marker-popup b{display:block;margin-bottom:4px}.marker-popup span{color:#9db0c4;font-size:12px}
.map-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#8fa0b4;font-size:12px;padding-top:12px}
.map-foot #selectedCoords{color:#dce7f2;font-weight:750;font-variant-numeric:tabular-nums}
.map-help{display:grid;grid-template-columns:minmax(220px,.75fr) 2fr;gap:28px;margin-top:20px}
.map-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.map-help-grid p{margin:0;color:#9dacbd}.map-help code{color:#d6ccff}
.asset-credit{color:#6f7f91;font-size:11px;text-align:center;margin:18px 0 0}
@media(max-width:1050px){.coords-form{grid-template-columns:1fr 1fr repeat(2,auto)}.map-help,.map-help-grid{grid-template-columns:1fr}}
@media(max-width:720px){.map-page{padding-top:22px}.map-intro h1{font-size:38px}.map-intro-mascot{width:70px;height:70px}.coords-form{grid-template-columns:1fr 1fr}.coords-form .button{width:100%}.map-options,.map-foot{align-items:flex-start;flex-direction:column}.map-head{align-items:flex-start}.cursor-readout{align-items:flex-start}.map-shell{padding:10px}.landmark-marker{width:13px;height:13px}}

/* 4.8.2 mobile hardening */
.map-page,.map-toolbar,.map-shell,.map-help{min-width:0}
@media(max-width:520px){
  .map-intro{align-items:flex-start;gap:12px}.map-intro h1{font-size:34px;overflow-wrap:anywhere}
  .map-intro-mascot{width:58px;height:58px;flex:0 0 auto}
  .coords-form{grid-template-columns:1fr}
  .map-switch{display:grid;grid-template-columns:1fr 1fr}.map-tab{width:100%}
  .marker-popup{min-width:0;width:min(240px,calc(100vw - 48px))}
}
