/* NimbusMart v2.0 — Minimal overrides (Tailwind handles 95%) */

/* Utility */
.hidden { display: none !important; }

/* Product image fallback */
.product-img { transition: transform 0.3s ease; }
.product-img:hover { transform: scale(1.05); }

/* Code blocks in attack panels */
.code-block {
  background: #1e293b;
  color: #38bdf8;
  font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
  font-size: 0.8rem;
  border-radius: 0.5rem;
  padding: 1rem;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

/* Syntax highlighting */
.syn-key { color: #c084fc; }
.syn-str { color: #34d399; }
.syn-num { color: #fbbf24; }
.syn-bool { color: #f87171; }

/* Toast notifications */
.toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  animation: toast-in 0.3s ease-out;
}
@keyframes toast-in {
  from { opacity: 0; transform: translateY(1rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes toast-out {
  from { opacity: 1; }
  to { opacity: 0; transform: translateY(1rem); }
}

/* Chat bubbles */
.chat-bubble-user {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: white;
  border-radius: 1rem 1rem 0.25rem 1rem;
}
.chat-bubble-bot {
  background: #f3f4f6;
  color: #1f2937;
  border-radius: 1rem 1rem 1rem 0.25rem;
}

/* Typing indicator */
.typing-dot {
  width: 6px; height: 6px;
  background: #9ca3af;
  border-radius: 50%;
  animation: typing 1.4s infinite;
}
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes typing {
  0%, 60%, 100% { transform: translateY(0); }
  30% { transform: translateY(-4px); }
}

/* Chat trigger pulse ring + wobble */
.chat-trigger-pulse {
  box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5);
  animation: pulse-ring 2.5s ease-out infinite, chat-wobble 4s ease-in-out 3s infinite;
}
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5); }
  70% { box-shadow: 0 0 0 14px rgba(59, 130, 246, 0); }
  100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}
@keyframes chat-wobble {
  0%, 100% { transform: rotate(0deg); }
  15% { transform: rotate(-6deg); }
  30% { transform: rotate(5deg); }
  45% { transform: rotate(-3deg); }
  60% { transform: rotate(0deg); }
}

/* R2-D2 eye glow animation */
.r2-eye-glow {
  animation: eye-glow 3s ease-in-out infinite;
}
@keyframes eye-glow {
  0%, 100% { opacity: 0.7; r: 1.2; }
  50% { opacity: 1; r: 1.6; }
}

/* Bot simulator log */
.bot-log-entry.success { color: #16a34a; }
.bot-log-entry.blocked { color: #dc2626; }
.bot-log-entry.error { color: #d97706; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
