/* Vzhled misí na mapě — JEDEN soubor pro klienta i admin (od 2026-09-28).
 *
 * Klient ho načítá z /shared/mission-map/mission-map.css (index.html),
 * admin ho importuje přes $shared (routes/+layout.svelte). Patří sem jen to,
 * co potřebují sdílené ikony ze shared/mission-map/*.js: barvy typů misí,
 * obal ikony, pulz a paprsky majáku. Noční režim a skrývání popisků jsou
 * vlastnost klienta a zůstávají v client/src/styles.css.
 */

:root {
  /* ── Barvy typů misí ──────────────────────────────────────────────────
   * JEDINÉ MÍSTO, kde se barva typu mise určuje. Změna tady se promítne
   * do odznaků, formulářů, legendy i značek na mapě — nikde jinde se hex
   * kód typu psát nemá.
   *
   * JS (značky na mapě, SVG ikony) si hodnotu vyzvedne přes
   * `missionTypeColor()` v shared/missionTypeColor.js, takže i tam platí
   * tenhle zápis.
   *
   * Každý typ musí mít barvu, kterou nemá nikdo jiný — jinak operátor
   * v seznamu nerozezná, na co se dívá. (Battlefield měl do 0.8.5 tutéž
   * zelenou jako normální mise.)
   */

  --mt-normal: #22c55e;          /* zelená */
  --mt-jammer: #ef4444;          /* červená */
  --mt-radar: #3b82f6;           /* modrá */
  --mt-transport: #f97316;       /* oranžová */
  --mt-counterstrike: #dc2626;   /* tmavě červená */
  --mt-beacons: #eab308;         /* žlutá */
  --mt-battlefield: #a855f7;     /* fialová */
  --mt-tactical_asset: #ec4899;  /* růžová */
}

/* Obal ikony (L.divIcon className) — bez výchozího bílého čtverečku Leafletu. */
.mission-marker-icon { background: none !important; border: none !important; }

/* Pulz aktivní mise, bodu nebo bombsitu. */
@keyframes marker-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.12); opacity: 0.85; } }

/* Paprsky majáku na aktivní frontě. */
.beacon-marker--pulse .beacon-rays {
  animation: beacon-flash 1.1s ease-in-out infinite;
}
@keyframes beacon-flash {
  0%, 100% { opacity: 0.3; }
  50%      { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .beacon-marker--pulse .beacon-rays { animation: none; opacity: 0.9; }
}
