  /* ===================== MON EMPIRE : REVENUS PASSIFS (v53) ===================== */
  .em-q-sub { display: block; font-style: normal; font-size: .56rem; opacity: .65; white-space: nowrap; }
  .em-q[data-emeco] { border-color: rgba(59, 209, 122, .45); }
  .em-q[data-emeco] b { color: #3BD17A; }
  .em-big { font-size: .95rem; }
  .em-incrow i { font-style: normal; opacity: .85; }
  .em-incrow i.good { color: #3BD17A; opacity: 1; }
  .em-eco-big { display: flex; justify-content: space-between; align-items: baseline; margin: 8px 0 2px; padding: 10px 12px; border-radius: 12px; background: rgba(59, 209, 122, .08); border: 1px solid rgba(59, 209, 122, .25); }
  .em-eco-big span { font-size: .72rem; opacity: .75; }
  .em-eco-big b { font-size: 1.35rem; }
  .em-eco-big b.bad { color: #FF5A5A; }
  .em-src { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
  .em-srow { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 4px; column-gap: 8px; padding: 5px 8px; border-radius: 8px; background: rgba(255, 255, 255, .03); border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
  .em-srow span { font-size: .76rem; }
  .em-srow b { font-size: .76rem; color: #3BD17A; }
  .em-srow i { grid-column: 1 / 3; height: 4px; border-radius: 2px; background: linear-gradient(90deg, #3BD17A var(--w), rgba(255, 255, 255, .06) var(--w)); }
  .em-mini { display: flex; justify-content: space-between; gap: 8px; font-size: .76rem; padding: 4px 0; border-bottom: 1px dashed rgba(255, 255, 255, .07); }
  .em-mini b { color: #3BD17A; white-space: nowrap; }
  .em-mini.off { opacity: .55; } .em-mini.off b { color: inherit; }
  .em-offl { margin: 10px 0; text-align: left; }
  .em-offl .kv.tot b { font-size: 1.05rem; }
  .em-offl-src { margin-top: 6px; opacity: .9; }
  .em-coin { animation: emCoin 3.6s ease-out both; }
  @keyframes emCoin { 0% { opacity: 0; transform: translateY(14px); } 12% { opacity: 1; transform: translateY(0); } 75% { opacity: 1; } 100% { opacity: 0; transform: translateY(-26px); } }
  .em-pulse { opacity: 0; pointer-events: none; }
  .em-prod .em-pulse { transform-box: fill-box; transform-origin: center; animation: emPulse 5s ease-out infinite; }
  @keyframes emPulse { 0%, 70% { opacity: 0; transform: scale(.7); } 80% { opacity: .55; } 100% { opacity: 0; transform: scale(1.15); } }
  .lod-far .em-pulse { display: none; }
  @media (prefers-reduced-motion: reduce) { .em-coin, .em-prod .em-pulse { animation: none !important; } }
