/*
 * .brtr — Animations
 * All @keyframes in one place.
 * Grouped by: aurora, hero entrance, floating cards, prototype UI, hints.
 */

/* ── S2 hero line entrance ── */
@keyframes s2LineIn {
  from { opacity: 0; transform: translateY(8px) scale(0.99); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

/* ── Aurora background blobs ── */
@keyframes af1 {
  0%, 100% { transform: translate(0,0) scale(1); }
  33% { transform: translate(40px,30px) scale(1.1); }
  66% { transform: translate(-20px,60px) scale(0.95); }
}
@keyframes af2 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(-30px,40px) scale(1.15); }
}
@keyframes af3 {
  0%, 100% { transform: translateX(-50%) scale(1); opacity: 1; }
  50% { transform: translateX(-48%) scale(1.1); opacity: 0.7; }
}

/* ── Hero entrance ── */
@keyframes heroIn {
  from { opacity: 0; filter: blur(6px); transform: translateY(16px); }
  to   { opacity: 1; filter: blur(0);   transform: translateY(0); }
}

@keyframes punchIn {
  0%   { opacity: 0; filter: blur(10px); transform: translateY(14px) scale(0.98); }
  50%  { opacity: 1; filter: blur(0); transform: translateY(-2px) scale(1.005); box-shadow: 0 0 30px rgba(184,146,46,0.12); }
  100% { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); box-shadow: var(--highlight-shadow); }
}

@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes frameIn {
  from { opacity: 0; filter: blur(4px); transform: translateY(40px); }
  to   { opacity: 1; filter: blur(0);   transform: translateY(0); }
}

/* ── Floating overlay cards ── */
@keyframes floatIn {
  from { opacity: 0; filter: blur(8px); transform: translateY(20px); }
  to   { opacity: 1; filter: blur(0);   transform: translateY(0); }
}

/* ── Online status indicator ── */
@keyframes onlinePulse {
  0%, 100% { box-shadow: 0 0 6px rgba(122,122,128,0.4); }
  50%      { box-shadow: 0 0 10px rgba(122,122,128,0.6); }
}

/* ── Prototype UI transitions ── */
@keyframes protoFade {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes teamLoad {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes memberLoad {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes doneCheck {
  from { transform: scale(0); opacity: 0; }
  50% { transform: scale(1.15); }
  to { transform: scale(1); opacity: 1; }
}

/* ── Typing cursor blink ── */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ── Interactivity hints (pulsing rings) ── */
@keyframes tagHint {
  0%, 100% { box-shadow: 0 0 0 0 rgba(160,104,48,0.25); }
  50% { box-shadow: 0 0 0 5px rgba(160,104,48,0); }
}

@keyframes expandHint {
  0%, 100% { text-shadow: 0 0 0 rgba(160,104,48,0); }
  50% { text-shadow: 0 0 8px rgba(160,104,48,0.3); }
}

@keyframes addHint {
  0%, 100% { box-shadow: 0 0 0 0 rgba(160,104,48,0.25); }
  50% { box-shadow: 0 0 0 6px rgba(160,104,48,0); }
}

@keyframes chatHint {
  0%, 100% { box-shadow: 0 0 0 0 rgba(160,104,48,0.2); }
  50% { box-shadow: 0 0 0 6px rgba(160,104,48,0); }
}

/* ── Voice playback pulse on play button ── */
@keyframes voicePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

/* ── AMA chat stagger — messages appear one by one ── */
@keyframes m5MsgIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Section 2b: mentor network ── */
@keyframes s2bGlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes s2bMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── S10 floating glow orbs ── */
@keyframes s10Float {
  0%, 100% { transform: translateX(-50%) translateY(0) scale(1); }
  50% { transform: translateX(-50%) translateY(30px) scale(1.1); }
}

/* ── S10 logo marquee ── */
@keyframes s10Marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Scheduler popover entrance/exit ── */
@keyframes schedIn {
  from { opacity: 0; transform: translateY(8px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes schedOut {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to   { opacity: 0; transform: translateY(4px) scale(0.98); }
}
