/* ══════════════════════════════════════════════════════════════
   PROMETHEUS // CONSOLE DE TORRE (ATC)
   Bloco de dados por aeronave, ligado ao símbolo por leader line.
   Tipografia monoespaçada e ciano fosforescente: é o que permite
   ler dezenas de alvos sobrepostos sem confundir etiqueta.
   ══════════════════════════════════════════════════════════════ */

.atc-wrap { background: none !important; border: 0 !important; }

.atc-blip {
  position: relative;
  width: 168px; height: 76px;
  pointer-events: none;                 /* só o símbolo e o bloco clicam */
  font-family: 'Share Tech Mono', ui-monospace, monospace;
}

/* ── símbolo da aeronave ─────────────────────────────────────── */
.atc-sym {
  position: absolute; left: 3px; bottom: 5px;
  pointer-events: auto; cursor: pointer;
  filter: drop-shadow(0 0 4px rgba(124, 236, 255, .75));
  /* o rotate() precisa girar no CENTRO. É o padrão para elementos HTML,
     mas o Safari antigo usa 0 0 em elementos SVG — declarar explícito
     evita a aeronave girar em torno do canto superior esquerdo. */
  transform-origin: 50% 50%;
  transform-box: view-box;
}
.atc-sym path { fill: #7cecff; }
/* o círculo transparente existe só para ampliar a área de toque até os
   cantos do quadrado de 18px; nunca deve receber contorno nem brilho */
.atc-sym circle { stroke: none; }
.atc-blip.dir .atc-sym { left: 3px; right: auto; }
.atc-blip.esq .atc-sym { left: auto; right: 3px; }

/* ── leader line: liga o símbolo ao bloco ────────────────────── */
.atc-leader {
  position: absolute;
  width: 22px; height: 22px;
  border-top: 1px solid rgba(124, 236, 255, .5);
  bottom: 22px;
}
.atc-blip.dir .atc-leader { left: 12px;  transform: skewX(-42deg); transform-origin: left bottom; }
.atc-blip.esq .atc-leader { right: 12px; transform: skewX(42deg);  transform-origin: right bottom; }

/* ── bloco de dados ──────────────────────────────────────────── */
.atc-block {
  position: absolute; top: 0;
  min-width: 76px; max-width: 128px;
  padding: 3px 6px;
  background: rgba(1, 6, 12, .82);
  border-left: 2px solid rgba(124, 236, 255, .7);
  line-height: 1.32;
  pointer-events: auto; cursor: pointer;
  backdrop-filter: blur(2px);
}
.atc-blip.dir .atc-block { left: 30px; }
.atc-blip.esq .atc-block { right: 30px; border-left: 0; border-right: 2px solid rgba(124, 236, 255, .7); text-align: right; }

.atc-block b {
  display: block;
  font-size: 10.5px; letter-spacing: .05em;
  color: #dff6ff; font-weight: 700;
}
.atc-block span { display: block; font-size: 9.5px; letter-spacing: .04em; }
.atc-fl  { color: #7cecff; }
.atc-fl em { font-style: normal; margin-left: 3px; opacity: .9; }
.atc-vel { color: #5f8ba1; }

/* ── voo baixo: em aproximação ou decolando ──────────────────── */
.atc-blip.baixo .atc-sym path { fill: #ffc857; }
.atc-blip.baixo .atc-sym { filter: drop-shadow(0 0 5px rgba(255, 200, 87, .85)); }
.atc-blip.baixo .atc-block { border-color: rgba(255, 200, 87, .8); }
.atc-blip.baixo .atc-fl { color: #ffc857; }

/* ── NO SOLO: taxiando ou parado no pátio ─────────────────────
   Discreto de propósito. Um avião parado no pátio não é notícia, e
   desenhá-lo com o mesmo peso de um em rota tira a atenção de quem
   está voando. Sem brilho, sem cor de alerta, opacidade reduzida:
   está lá, dá para clicar, mas não disputa o olho.
   Também não pulsa nem chama atenção porque, no solo, o rumo do
   ADS-B é a direção de taxiamento e oscila a cada leitura. */
.atc-blip.solo .atc-sym path { fill: #5f8ba1; }
.atc-blip.solo .atc-sym { filter: none; opacity: .72; }
.atc-blip.solo .atc-block { border-color: rgba(95, 139, 161, .5); opacity: .8; }
.atc-blip.solo .atc-fl { color: #7f9fae; }

/* ── emergência: squawk 7500/7600/7700 ───────────────────────── */
.atc-blip.emerg .atc-sym path { fill: #ff536e; }
.atc-blip.emerg .atc-sym {
  filter: drop-shadow(0 0 7px rgba(255, 83, 110, .95));
  animation: atcPisca 1s steps(2, end) infinite;
}
@keyframes atcPisca { 50% { opacity: .35; } }
.atc-blip.emerg .atc-block {
  border-color: #ff536e;
  background: rgba(28, 2, 8, .9);
}
.atc-blip.emerg .atc-block b { color: #ff8ba0; }
.atc-blip.emerg .atc-fl { color: #ff8ba0; }
.atc-sq {
  color: #ff536e !important;
  font-weight: 700; letter-spacing: .1em;
  margin-top: 2px;
}

/* ── etiqueta dos anéis de alcance ───────────────────────────── */
.atc-anel-tag {
  background: none !important; border: 0 !important;
  font-family: 'Share Tech Mono', monospace;
  font-size: 8.5px; letter-spacing: .14em;
  color: rgba(0, 212, 255, .32);
  text-align: center;
}

/* ── celular: bloco menor, senão a tela vira sopa de letra ───── */
@media (max-width: 820px) {
  .atc-blip { width: 132px; height: 66px; }
  .atc-block { min-width: 62px; max-width: 98px; padding: 2px 5px; }
  .atc-block b { font-size: 9.5px; }
  .atc-block span { font-size: 8.5px; }
  .atc-vel { display: none; }          /* prioridade: indicativo e nível */
  .atc-blip.dir .atc-block { left: 26px; }
  .atc-blip.esq .atc-block { right: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .atc-blip.emerg .atc-sym { animation: none; outline: 1px solid #ff536e; }
}
