/* ═══════════════════════════════════════════════════════════════════
   src/callsign-modal.css — IDENTITY-NAME-01F (#3432)
   In-game callsign Choose/Rename modal (matches the Character Select look —
   dark panel, cyan accent). NOT a native dialog.
   ═══════════════════════════════════════════════════════════════════ */
.callsign-modal-overlay {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(2, 4, 10, 0.72);
  backdrop-filter: blur(4px);
}
.callsign-modal {
  width: min(440px, 92vw);
  padding: 24px;
  border-radius: 16px;
  background: rgba(8, 12, 20, 0.97);
  border: 1px solid rgba(0, 200, 255, 0.18);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(0, 200, 255, 0.06) inset;
  color: #cbd5e1; font-family: inherit;
}
.callsign-modal-title { margin: 0 0 6px; font-size: 19px; font-weight: 800; color: #e2e8f0; letter-spacing: 0.01em; }
.callsign-modal-sub { margin: 0 0 16px; font-size: 13px; color: #64748b; line-height: 1.5; }
.callsign-input {
  width: 100%; box-sizing: border-box;
  padding: 12px 14px; border-radius: 10px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: #e2e8f0; font-size: 16px; font-family: inherit; letter-spacing: 0.02em;
  outline: none; transition: border-color 150ms ease;
}
.callsign-input:focus { border-color: rgba(0, 200, 255, 0.55); }
.callsign-preview { min-height: 20px; margin: 10px 2px 0; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.callsign-preview--idle { color: #64748b; font-weight: 500; }
.callsign-preview--checking { color: #94a3b8; font-weight: 500; }
.callsign-preview--ok { color: #67e8f9; }
.callsign-preview--err { color: #fca5a5; }
.callsign-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.callsign-btn {
  padding: 10px 18px; border-radius: 9px; font-size: 13px; font-weight: 700;
  font-family: inherit; letter-spacing: 0.03em; cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, opacity 150ms ease;
}
.callsign-btn--cancel { border: 1px solid rgba(148, 163, 184, 0.22); background: transparent; color: #94a3b8; }
.callsign-btn--cancel:hover { border-color: rgba(148, 163, 184, 0.4); color: #cbd5e1; }
.callsign-btn--save { border: 1px solid rgba(0, 200, 255, 0.5); background: rgba(0, 200, 255, 0.18); color: #a5f3fc; }
.callsign-btn--save:hover:not(:disabled) { background: rgba(0, 200, 255, 0.3); border-color: rgba(0, 200, 255, 0.75); }
.callsign-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.callsign-btn:focus-visible { outline: 2px solid rgba(0, 200, 255, 0.6); outline-offset: 2px; }
