/* ════════════════════════════════════════════════════════════════════════════
   theme-terminal.css — Red Terminal palette bridge
   ════════════════════════════════════════════════════════════════════════════
   WormGPT's home screen is a red-neon terminal (#050102 base, red-100 text,
   red/amber accents). A few older panels (Settings drawer tail, Model Selector,
   Arsenal catalog) were still authored against a generic indigo/slate/zinc
   palette, which clashed with the rest of the app.

   This stylesheet remaps those legacy utility classes onto the terminal palette
   so every panel matches the home screen. It is additive only: components that
   already use red-*/amber-* utilities are untouched, and no layout rules live
   here. New components should use the red/amber utilities directly instead of
   relying on these bridges.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Selection + focus ring picked up from the terminal accent ──────────── */
::selection { background: rgba(239, 68, 68, 0.35); color: #fff; }
input:focus, textarea:focus, select:focus { outline-color: rgba(239, 68, 68, 0.55); }

/* ── Legacy indigo → terminal red ───────────────────────────────────────── */
.text-indigo-100, .text-indigo-200 { color: #fecaca !important; }
.text-indigo-300 { color: #fca5a5 !important; }
.text-indigo-400 { color: #f87171 !important; }

.bg-indigo-500, .bg-indigo-600, .bg-indigo-700 { background-color: #dc2626 !important; }
.hover\:bg-indigo-500:hover, .hover\:bg-indigo-600:hover, .hover\:bg-indigo-700:hover { background-color: #ef4444 !important; }
.bg-indigo-600\/80 { background-color: rgba(220, 38, 38, 0.8) !important; }
.bg-indigo-500\/10, .bg-indigo-500\/15, .bg-indigo-500\/20, .bg-indigo-600\/20 { background-color: rgba(220, 38, 38, 0.18) !important; }
.bg-indigo-900 { background-color: rgba(69, 10, 10, 0.55) !important; }
.bg-indigo-950 { background-color: rgba(69, 10, 10, 0.55) !important; }
.bg-indigo-950\/20 { background-color: rgba(69, 10, 10, 0.2) !important; }
.bg-indigo-950\/30 { background-color: rgba(69, 10, 10, 0.3) !important; }
.bg-indigo-950\/40 { background-color: rgba(69, 10, 10, 0.4) !important; }
.bg-indigo-950\/60 { background-color: rgba(69, 10, 10, 0.6) !important; }
.bg-indigo-950\/70 { background-color: rgba(69, 10, 10, 0.7) !important; }
.bg-indigo-950\/80 { background-color: rgba(69, 10, 10, 0.8) !important; }

.border-indigo-400 { border-color: #f87171 !important; }
.border-indigo-500 { border-color: rgba(239, 68, 68, 0.75) !important; }
.border-indigo-500\/20 { border-color: rgba(239, 68, 68, 0.2) !important; }
.border-indigo-500\/30 { border-color: rgba(239, 68, 68, 0.3) !important; }
.border-indigo-500\/40 { border-color: rgba(239, 68, 68, 0.4) !important; }
.border-indigo-500\/50 { border-color: rgba(239, 68, 68, 0.5) !important; }
.border-indigo-500\/60 { border-color: rgba(239, 68, 68, 0.6) !important; }
.border-indigo-500\/80 { border-color: rgba(239, 68, 68, 0.8) !important; }
.border-indigo-700, .border-indigo-700\/60 { border-color: rgba(185, 28, 28, 0.6) !important; }
.border-indigo-800\/40 { border-color: rgba(153, 27, 27, 0.4) !important; }
.border-indigo-800\/50 { border-color: rgba(153, 27, 27, 0.5) !important; }
.border-indigo-800\/60 { border-color: rgba(153, 27, 27, 0.6) !important; }
.border-indigo-800\/80 { border-color: rgba(153, 27, 27, 0.8) !important; }
.border-indigo-900\/40, .border-indigo-950\/40 { border-color: rgba(127, 29, 29, 0.4) !important; }
.border-indigo-950 { border-color: rgba(127, 29, 29, 0.7) !important; }
.border-indigo-950\/60 { border-color: rgba(127, 29, 29, 0.6) !important; }
.border-indigo-950\/70 { border-color: rgba(127, 29, 29, 0.7) !important; }
.border-indigo-950\/80 { border-color: rgba(127, 29, 29, 0.8) !important; }

.shadow-indigo-900\/50, .shadow-indigo-950\/30, .shadow-indigo-950\/40 { box-shadow: 0 0 18px -4px rgba(239, 68, 68, 0.45) !important; }
.accent-indigo-500 { accent-color: #dc2626 !important; }

/* ── Legacy emerald (used for "success"/savings) → amber terminal accent ── */
.text-emerald-200, .text-emerald-300 { color: #fcd34d !important; }
.text-emerald-400, .text-emerald-500, .text-emerald-500\/80 { color: #fbbf24 !important; }

.bg-emerald-400, .bg-emerald-500 { background-color: #f59e0b !important; }
.bg-emerald-600 { background-color: #d97706 !important; }
.bg-emerald-500\/10, .bg-emerald-500\/15, .bg-emerald-500\/20, .bg-emerald-500\/25, .bg-emerald-600\/20 { background-color: rgba(245, 158, 11, 0.18) !important; }
.bg-emerald-950\/20 { background-color: rgba(69, 26, 3, 0.2) !important; }
.bg-emerald-950\/30 { background-color: rgba(69, 26, 3, 0.3) !important; }
.bg-emerald-950\/40 { background-color: rgba(69, 26, 3, 0.4) !important; }
.bg-emerald-950\/60 { background-color: rgba(69, 26, 3, 0.6) !important; }
.bg-emerald-950\/80 { background-color: rgba(69, 26, 3, 0.8) !important; }

.border-emerald-400 { border-color: #fbbf24 !important; }
.border-emerald-500 { border-color: rgba(245, 158, 11, 0.75) !important; }
.border-emerald-500\/20 { border-color: rgba(245, 158, 11, 0.2) !important; }
.border-emerald-500\/25 { border-color: rgba(245, 158, 11, 0.25) !important; }
.border-emerald-500\/30 { border-color: rgba(245, 158, 11, 0.3) !important; }
.border-emerald-500\/40 { border-color: rgba(245, 158, 11, 0.4) !important; }
.border-emerald-500\/50 { border-color: rgba(245, 158, 11, 0.5) !important; }
.border-emerald-500\/60 { border-color: rgba(245, 158, 11, 0.6) !important; }
.border-emerald-500\/80 { border-color: rgba(245, 158, 11, 0.8) !important; }
.border-emerald-600\/30 { border-color: rgba(217, 119, 6, 0.3) !important; }
.border-emerald-600\/50 { border-color: rgba(217, 119, 6, 0.5) !important; }
.border-emerald-600\/60 { border-color: rgba(217, 119, 6, 0.6) !important; }
.border-emerald-700\/50 { border-color: rgba(180, 83, 9, 0.5) !important; }
.border-emerald-950 { border-color: rgba(120, 53, 15, 0.7) !important; }
.border-emerald-950\/70 { border-color: rgba(120, 53, 15, 0.7) !important; }

.shadow-emerald-950\/30, .shadow-emerald-950\/50 { box-shadow: 0 0 18px -4px rgba(245, 158, 11, 0.4) !important; }
.accent-emerald-500 { accent-color: #f59e0b !important; }

/* Gradient stops (Tailwind drives gradients through CSS variables) */
.from-emerald-500, .from-emerald-600 {
  --tw-gradient-from: rgba(239, 68, 68, 0.9) !important;
  --tw-gradient-to: rgba(239, 68, 68, 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-emerald-950\/20, .to-emerald-950\/25, .to-emerald-950\/30 { --tw-gradient-to: rgba(69, 10, 10, 0.35) !important; }
.to-teal-500, .to-teal-600 { --tw-gradient-to: #b91c1c !important; }

/* ── Legacy slate/zinc neutrals → red-tinted terminal text ──────────────── */
.text-zinc-100, .text-slate-100 { color: #fff1f2 !important; }
.text-zinc-200, .text-slate-200 { color: #fee2e2 !important; }
.text-zinc-300, .text-slate-300 { color: rgba(254, 226, 226, 0.85) !important; }
.text-zinc-400, .text-slate-400 { color: rgba(254, 226, 226, 0.68) !important; }
.text-zinc-500, .text-slate-500 { color: rgba(254, 226, 226, 0.5) !important; }
.text-zinc-600, .text-zinc-700, .text-slate-600, .text-slate-700 { color: rgba(254, 226, 226, 0.4) !important; }
.placeholder-zinc-500::placeholder, .placeholder-slate-500::placeholder, .placeholder-slate-600::placeholder { color: rgba(254, 226, 226, 0.35) !important; }

.bg-zinc-800, .bg-slate-800, .bg-slate-800\/40, .bg-slate-800\/50, .bg-slate-800\/60, .bg-slate-800\/70, .bg-slate-800\/80 { background-color: rgba(69, 10, 10, 0.45) !important; }
.bg-zinc-900, .bg-slate-900, .bg-slate-900\/40, .bg-slate-900\/50, .bg-slate-900\/60, .bg-slate-900\/80 { background-color: rgba(69, 10, 10, 0.35) !important; }
.bg-slate-700 { background-color: rgba(69, 10, 10, 0.6) !important; }
.bg-slate-950 { background-color: #0a0103 !important; }

.border-slate-800, .border-slate-800\/40, .border-slate-800\/60, .border-zinc-800 { border-color: rgba(127, 29, 29, 0.35) !important; }
.border-slate-800\/80, .border-slate-700\/80 { border-color: rgba(127, 29, 29, 0.5) !important; }
.border-slate-700, .border-slate-700\/60, .border-zinc-700 { border-color: rgba(127, 29, 29, 0.45) !important; }
.border-slate-600\/60 { border-color: rgba(153, 27, 27, 0.5) !important; }
.border-slate-500 { border-color: rgba(153, 27, 27, 0.6) !important; }

/* ── Remaining stray hues pulled into the red/amber pair ────────────────── */
.text-violet-300, .text-purple-400 { color: #fca5a5 !important; }
.border-violet-500\/30 { border-color: rgba(239, 68, 68, 0.3) !important; }
.bg-violet-500\/10 { background-color: rgba(239, 68, 68, 0.1) !important; }
.text-cyan-300, .text-blue-300 { color: #fcd34d !important; }
.text-blue-400, .text-sky-400 { color: #fbbf24 !important; }
.text-teal-400 { color: #f87171 !important; }
.border-cyan-500\/30, .border-blue-500\/30 { border-color: rgba(245, 158, 11, 0.3) !important; }
.bg-cyan-500\/10, .bg-blue-500\/10 { background-color: rgba(245, 158, 11, 0.1) !important; }
.border-blue-700\/50 { border-color: rgba(180, 83, 9, 0.5) !important; }
.bg-blue-950\/60 { background-color: rgba(69, 26, 3, 0.5) !important; }
