/* ------------------------------------------------------------------
   Project Grey — theme overrides, social badges, pulse animations.
   Tailwind (CDN) handles layout; this file adds what it can't.
------------------------------------------------------------------- */

html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* ---------- LIGHT MODE ---------- */
html.light body { background: #f5f6f8; color: #14161a; }
html.light .bg-black,
html.light .bg-neutral-950,
html.light .bg-neutral-900,
html.light .bg-neutral-900\/90,
html.light .bg-neutral-900\/80,
html.light .bg-neutral-900\/60,
html.light .bg-neutral-950\/80 { background-color: #ffffff !important; }
html.light header.sticky { background-color: rgba(255,255,255,.92) !important; }
html.light .text-white { color: #14161a !important; }
html.light .text-gray-200,
html.light .text-gray-300 { color: #333842 !important; }
html.light .text-gray-400 { color: #5c6470 !important; }
html.light .border-neutral-800,
html.light .border-neutral-700 { border-color: #e2e5ea !important; }
html.light footer { background: #ffffff; }
html.light .text-amber-300 { color: #a97a10 !important; }
html.light .text-amber-400 { color: #b8860b !important; }
html.light .rounded-3xl { box-shadow: 0 2px 14px rgba(16,18,22,.07); }

/* ---------- SOCIAL BADGES: identical size, brand colour, centered ---------- */
.gg-social-badge {
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  animation: gg-pulse-soft 2.4s ease-in-out infinite;
  transition: transform .25s ease;
}
.gg-social:hover .gg-social-badge { transform: scale(1.12); }
.gg-social:nth-child(2) .gg-social-badge { animation-delay: .3s; }
.gg-social:nth-child(3) .gg-social-badge { animation-delay: .6s; }
.gg-social:nth-child(4) .gg-social-badge { animation-delay: .9s; }

/* Brand gradients — same footprint for every platform */
.gg-ig { background: linear-gradient(45deg,#f9ce34 0%,#ee2a7b 50%,#6228d7 100%); }
.gg-tt { background: linear-gradient(135deg,#25f4ee 0%,#000 45%,#fe2c55 100%); }
.gg-of { background: linear-gradient(135deg,#00aff0 0%,#0084b4 100%); }
.gg-tg { background: linear-gradient(135deg,#2AABEE 0%,#229ED9 100%); }

@keyframes gg-pulse-soft {
  0%, 100% { box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 0 rgba(212,175,55,.55); }
  50%      { box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 12px rgba(212,175,55,0); }
}

/* ---------- PULSATING CHAT BUTTON ---------- */
.gg-chat-pulse { animation: gg-chat-ring 2s ease-in-out infinite; }
@keyframes gg-chat-ring {
  0%, 100% { box-shadow: 0 10px 30px rgba(0,0,0,.45), 0 0 0 0 rgba(245,214,123,.65); }
  50%      { box-shadow: 0 10px 30px rgba(0,0,0,.45), 0 0 0 16px rgba(245,214,123,0); }
}

/* ---------- UTILITIES ---------- */
.line-clamp-1, .line-clamp-2, .line-clamp-3 {
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}
.line-clamp-1 { -webkit-line-clamp: 1; }
.line-clamp-2 { -webkit-line-clamp: 2; }
.line-clamp-3 { -webkit-line-clamp: 3; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #d4af37; }

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(.8); cursor: pointer; }
html.light input[type="date"]::-webkit-calendar-picker-indicator,
html.light input[type="time"]::-webkit-calendar-picker-indicator { filter: none; }

@media (prefers-reduced-motion: reduce) {
  .gg-social-badge, .gg-chat-pulse { animation: none; }
}

/* ---------- PROJECT GREY EXTRAS ---------- */
.gg-vault-card { transition: transform .3s ease, border-color .3s ease; }
.gg-vault-card:hover { transform: translateY(-6px); }
input, select, textarea { color-scheme: dark; }
html.light input, html.light select, html.light textarea { color-scheme: light; }
.gold-text {
  background: linear-gradient(90deg, #fde68a, #f5c760, #d97706);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- LIVE CAM INDICATOR ----------
   - Off air: rose pulsing glow (always on so the button is noticeable)
   - Live: multicolor animated gradient + pulse to announce the model is live */
.gg-live-pulse { color: #fb7185; animation: gg-live-ring 1.8s ease-in-out infinite; }
.gg-live-pulse:hover { color: #fda4af; }

.gg-live-live {
  color: #000;
  background: linear-gradient(90deg, #ff0080, #ff8c00, #ffe600, #22e584, #00cfff, #b026ff, #ff0080);
  background-size: 400% 100%;
  border: 0;
  animation: gg-rainbow 3s linear infinite, gg-live-ring 1.4s ease-in-out infinite;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}
.gg-live-live:hover { color: #000; filter: brightness(1.08); }

@keyframes gg-rainbow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 400% 50%; }
}

/* ring pulse used by both states */
@keyframes gg-live-ring {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244,63,94,.55); }
  50%      { box-shadow: 0 0 0 10px rgba(244,63,94,0); }
}
.gg-live-live { box-shadow: 0 0 0 0 rgba(255,0,128,.6); }
@keyframes gg-live-ring-pink {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,0,128,.55); }
  50%      { box-shadow: 0 0 0 12px rgba(255,0,128,0); }
}
.gg-live-live { animation: gg-rainbow 3s linear infinite, gg-live-ring-pink 1.4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .gg-live-pulse, .gg-live-live { animation: none; }
}
