  /* ===================== MON EMPIRE : TERRAINS (v54) ===================== */
  .em-lfront, .em-ltag { cursor: pointer; }
  .em-lfront:hover polygon { stroke-opacity: .9; }
  .em-lfront.sel polygon { fill: #1A1216; }
  .em-ltag rect { filter: drop-shadow(0 2px 6px #0008); }
  .em-ltag.ok rect { stroke-width: 2.2; }
  .em-ltag.own { pointer-events: none; }
  .lod-far .em-ltag:not(.own) { transform-box: fill-box; }
  .em-lbuy .em-lgrid line { stroke-dasharray: 200; stroke-dashoffset: 200; animation: emLGrid 1.2s .9s ease-out forwards; }
  .em-lbuy .em-lglow { animation: emLGlow 2.2s ease-out; }
  .em-lbuy > polygon:first-child { animation: emLOpen .9s ease-out; }
  .em-lstamp { animation: emLStamp 2.6s ease-out forwards; }
  @keyframes emLGrid { to { stroke-dashoffset: 0; } }
  @keyframes emLGlow { 0% { opacity: 0; } 30% { opacity: .55; } 100% { opacity: 0; } }
  @keyframes emLOpen { 0% { opacity: .2; } 100% { opacity: 1; } }
  @keyframes emLStamp { 0% { opacity: 0; transform: translateY(10px) scale(.8); } 15% { opacity: 1; transform: translateY(0) scale(1.05); } 80% { opacity: 1; } 100% { opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { .em-lbuy *, .em-lstamp { animation: none !important; stroke-dashoffset: 0 !important; } }
