/* A Logo Alive - Eye Animation Styles */

/* Base eye styles - hidden by default for no-JS fallback (just the A) */
.alive-logo .eye-group { opacity: 0; }
.alive-logo.js-animated .eye-group { opacity: 0; }
.alive-logo .eye {
  transition: transform 0.15s ease-out, opacity 0.15s ease-out;
  transform-box: fill-box;
  transform-origin: center;
}
.alive-logo .pupil {
  transition: transform 0.2s ease-out;
  transform-box: fill-box;
  transform-origin: center;
}
.alive-logo .glow { filter: drop-shadow(0 0 4px var(--color-eye, #F59E0B)) drop-shadow(0 0 8px rgba(245, 158, 11, 0.25)); }

/* ===========================================
   ANIMATIONS
   =========================================== */

/* Blink */
.alive-logo .blink { animation: aliveEyeBlink 0.15s ease-in-out; }
@keyframes aliveEyeBlink {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.1); }
}

/* Wink - holds closed longer */
.alive-logo .wink { animation: aliveEyeWink 0.4s ease-in-out; }
@keyframes aliveEyeWink {
  0%, 100% { transform: scaleY(1); }
  25%, 75% { transform: scaleY(0.1); }
}

/* Double blink */
.alive-logo .double-blink { animation: aliveEyeDoubleBlink 0.4s ease-in-out; }
@keyframes aliveEyeDoubleBlink {
  0%, 100% { transform: scaleY(1); }
  15%, 25% { transform: scaleY(0.1); }
  35%, 65% { transform: scaleY(1); }
  75%, 85% { transform: scaleY(0.1); }
}

/* Slow blink */
.alive-logo .slow-blink { animation: aliveEyeSlowBlink 0.8s ease-in-out; }
@keyframes aliveEyeSlowBlink {
  0%, 100% { transform: scaleY(1); }
  30%, 70% { transform: scaleY(0.05); }
}

/* Rapid blink */
.alive-logo .rapid-blink { animation: aliveEyeRapidBlink 0.6s ease-in-out; }
@keyframes aliveEyeRapidBlink {
  0%, 100% { transform: scaleY(1); }
  10%, 20% { transform: scaleY(0.1); }
  30%, 40% { transform: scaleY(1); }
  50%, 60% { transform: scaleY(0.1); }
  70%, 80% { transform: scaleY(1); }
  85%, 95% { transform: scaleY(0.1); }
}

/* Sleepy */
.alive-logo .sleepy { animation: aliveEyeSleepy 2s ease-in-out; }
@keyframes aliveEyeSleepy {
  0%, 100% { transform: scaleY(1); }
  30%, 70% { transform: scaleY(0.5); }
}

/* Widen (surprise) */
.alive-logo .widen { animation: aliveEyeWiden 0.8s ease-out; }
@keyframes aliveEyeWiden {
  0%, 100% { transform: scale(1); }
  30%, 50% { transform: scale(1.15); }
}

/* Squint */
.alive-logo .squint { animation: aliveEyeSquint 2.5s ease-in-out; }
@keyframes aliveEyeSquint {
  0%, 100% { transform: scaleY(1); }
  20%, 80% { transform: scaleY(0.4); }
}

/* Grow big */
.alive-logo .grow-big { animation: aliveEyeGrowBig 1.5s ease-out; }
@keyframes aliveEyeGrowBig {
  0%, 100% { transform: scale(1); }
  30%, 70% { transform: scale(1.3); }
}

/* Twitch */
.alive-logo .twitch { animation: aliveEyeTwitch 0.3s ease-in-out; }
@keyframes aliveEyeTwitch {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-1px); }
  75% { transform: translateX(1px); }
}

/* Lid twitch */
.alive-logo .lid-twitch { animation: aliveEyeLidTwitch 1.2s ease-in-out; transform-origin: center bottom; }
@keyframes aliveEyeLidTwitch {
  0%, 100% { transform: scaleY(1); }
  8% { transform: scaleY(0.88); }
  12% { transform: scaleY(0.95); }
  18% { transform: scaleY(0.85); }
  24% { transform: scaleY(0.98); }
  30% { transform: scaleY(0.9); }
  38% { transform: scaleY(0.96); }
  44% { transform: scaleY(0.87); }
  52% { transform: scaleY(0.94); }
  60% { transform: scaleY(0.91); }
  68% { transform: scaleY(0.97); }
  76% { transform: scaleY(0.93); }
  84% { transform: scaleY(0.98); }
  92% { transform: scaleY(0.96); }
}

/* Tilt */
.alive-logo .tilt-left { animation: aliveEyeTiltLeft 1.5s ease-in-out; }
.alive-logo .tilt-right { animation: aliveEyeTiltRight 1.5s ease-in-out; }
@keyframes aliveEyeTiltLeft {
  0%, 100% { transform: rotate(0deg); }
  30%, 70% { transform: rotate(-8deg) translateY(-1px); }
}
@keyframes aliveEyeTiltRight {
  0%, 100% { transform: rotate(0deg); }
  30%, 70% { transform: rotate(8deg) translateY(-1px); }
}

/* Double take */
.alive-logo .double-take { animation: aliveEyeDoubleTake 0.8s ease-out; }
@keyframes aliveEyeDoubleTake {
  0% { transform: scale(1); }
  15% { transform: scale(0.9) translateX(-2px); }
  35% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

/* Eye swaps */
.alive-logo .slow-swap-left { animation: aliveEyeSlowSwapL 2.5s ease-in-out; }
.alive-logo .slow-swap-right { animation: aliveEyeSlowSwapR 2.5s ease-in-out; }
@keyframes aliveEyeSlowSwapL { 0%, 20% { transform: translateX(0); } 40%, 60% { transform: translateX(16px); } 80%, 100% { transform: translateX(0); } }
@keyframes aliveEyeSlowSwapR { 0%, 20% { transform: translateX(0); } 40%, 60% { transform: translateX(-16px); } 80%, 100% { transform: translateX(0); } }

.alive-logo .micro-swap-left { animation: aliveEyeMicroSwapL 1.5s ease-in-out; }
.alive-logo .micro-swap-right { animation: aliveEyeMicroSwapR 1.5s ease-in-out; }
@keyframes aliveEyeMicroSwapL { 0%, 20% { transform: translateX(0); } 45%, 55% { transform: translateX(6px); } 80%, 100% { transform: translateX(0); } }
@keyframes aliveEyeMicroSwapR { 0%, 20% { transform: translateX(0); } 45%, 55% { transform: translateX(-6px); } 80%, 100% { transform: translateX(0); } }

.alive-logo .stagger-left { animation: aliveEyeStaggerL 2s ease-in-out; }
.alive-logo .stagger-right { animation: aliveEyeStaggerR 2s ease-in-out; }
@keyframes aliveEyeStaggerL { 0%, 10% { transform: translateX(0); } 35%, 55% { transform: translateX(16px); } 80%, 100% { transform: translateX(0); } }
@keyframes aliveEyeStaggerR { 0%, 20% { transform: translateX(0); } 45%, 65% { transform: translateX(-16px); } 90%, 100% { transform: translateX(0); } }

.alive-logo .glow-transfer-left { animation: aliveEyeGlowTransferL 2s ease-in-out; }
.alive-logo .glow-transfer-right { animation: aliveEyeGlowTransferR 2s ease-in-out; }
@keyframes aliveEyeGlowTransferL { 0%, 10% { opacity: 1; transform: translateX(0); } 25% { opacity: 0.4; } 45%, 55% { opacity: 1; transform: translateX(16px); } 75% { opacity: 0.4; } 90%, 100% { opacity: 1; transform: translateX(0); } }
@keyframes aliveEyeGlowTransferR { 0%, 10% { opacity: 0.4; transform: translateX(0); } 25% { opacity: 1; } 45%, 55% { opacity: 0.4; transform: translateX(-16px); } 75% { opacity: 1; } 90%, 100% { opacity: 0.4; transform: translateX(0); } }

/* Pupil directions */
.alive-logo .pupil.look-left { transform: translateX(-2px); }
.alive-logo .pupil.look-right { transform: translateX(2px); }
.alive-logo .pupil.look-up { transform: translateY(-1.5px); }
.alive-logo .pupil.look-down { transform: translateY(1.5px); }
.alive-logo .pupil.look-center { transform: translate(0, 0); }
.alive-logo .pupil.cross-left { transform: translateX(2px); }
.alive-logo .pupil.cross-right { transform: translateX(-2px); }

/* Eye roll */
.alive-logo .eye-roll { animation: aliveEyeRoll 2.8s ease-out; }
@keyframes aliveEyeRoll {
  0% { transform: translate(0, 0); }
  10% { transform: translate(0, -2px); }
  20% { transform: translate(0.8px, -1.9px); }
  30% { transform: translate(1.6px, -1.4px); }
  40% { transform: translate(2.2px, -0.6px); }
  50% { transform: translate(2.2px, 0.3px); }
  60% { transform: translate(2px, 1px); }
  70%, 82% { transform: translate(1.6px, 1.4px); }
  92% { transform: translate(0.5px, 0.4px); }
  100% { transform: translate(0, 0); }
}

/* Droopy */
.alive-logo .droopy { animation: aliveEyeDroopy 2s ease-in forwards; }
@keyframes aliveEyeDroopy { 0% { transform: translateY(0); } 100% { transform: translateY(4px); } }

/* Eye fall */
.alive-logo .eye-fall { animation: aliveEyeFall 1.4s forwards; }
@keyframes aliveEyeFall {
  0% { transform: translate(0, 0) rotate(0deg); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  25% { transform: translate(3px, 30px) rotate(35deg); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); }
  38% { transform: translate(5px, 20px) rotate(25deg); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  50% { transform: translate(7px, 30px) rotate(55deg); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); }
  60% { transform: translate(8px, 26px) rotate(48deg); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  70% { transform: translate(9px, 30px) rotate(70deg); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); }
  78% { transform: translate(9.5px, 28px) rotate(65deg); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  85% { transform: translate(10px, 30px) rotate(80deg); }
  100% { transform: translate(10px, 30px) rotate(85deg); }
}

/* Panic */
.alive-logo .panic { animation: aliveEyePanic 0.5s ease-in-out infinite; }
@keyframes aliveEyePanic {
  0%, 100% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(1.1) rotate(-5deg); }
  50% { transform: scale(0.95) rotate(0deg); }
  75% { transform: scale(1.1) rotate(5deg); }
}

/* Open/close */
.alive-logo .open-eyes { animation: aliveEyeOpen 0.45s ease-out forwards; }
@keyframes aliveEyeOpen {
  0% { opacity: 0; transform: scaleY(0); }
  50% { opacity: 1; transform: scaleY(1.12); }
  100% { opacity: 1; transform: scaleY(1); }
}

.alive-logo .close-eyes { animation: aliveEyeClose 0.18s cubic-bezier(0.4, 0, 1, 1) forwards; }
@keyframes aliveEyeClose {
  0% { opacity: 1; transform: scaleY(1); }
  40% { opacity: 1; transform: scaleY(0.5); }
  100% { opacity: 0; transform: scaleY(0); }
}

/* ===========================================
   NEW ANIMATIONS - IDLE STATES
   =========================================== */

/* Glow breath - opacity pulse */
.alive-logo .glow-breath { animation: aliveGlowBreath 3s ease-in-out; }
@keyframes aliveGlowBreath {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

/* Float drift - gentle vertical movement */
.alive-logo .float-drift { animation: aliveFloatDrift 4.5s ease-in-out; }
@keyframes aliveFloatDrift {
  0%, 100% { transform: translateY(0); }
  40% { transform: translateY(-4px); }
  50% { transform: translateY(-4px); }
  90% { transform: translateY(0); }
}

/* Content settle - drop, rise with scale, warm glow */
.alive-logo .content-settle { animation: aliveContentSettle 2.5s ease-in-out; }
@keyframes aliveContentSettle {
  0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); }
  20% { transform: translateY(2px) scale(1); }
  50% { transform: translateY(-1px) scale(0.95); filter: brightness(1.2); }
  80% { transform: translateY(0) scale(1); filter: brightness(1.1); }
}

/* Sleep mode - fade glow */
.alive-logo .sleep-mode { animation: aliveSleepMode 3s ease-in-out; }
@keyframes aliveSleepMode {
  0%, 100% { opacity: 1; }
  30%, 70% { opacity: 0.3; }
}

/* Daydream soft - slight scale for dreamy look */
.alive-logo .daydream-soft { animation: aliveDaydreamSoft 2.5s ease-in-out; }
@keyframes aliveDaydreamSoft {
  0%, 100% { transform: scale(1); }
  30%, 70% { transform: scale(1.05); }
}

/* ===========================================
   NEW ANIMATIONS - EMOTIONS
   =========================================== */

/* Heart pulse - pupils widen horizontally for heart shape illusion */
.alive-logo .heart-pulse { animation: aliveHeartPulse 2s ease-in-out; }
@keyframes aliveHeartPulse {
  0%, 100% { transform: scaleX(1); }
  25%, 75% { transform: scaleX(1.3); }
  50% { transform: scaleX(1.2); }
}

/* Recognition - narrow then widen with glow */
.alive-logo .recognition { animation: aliveRecognition 2s ease-out; }
@keyframes aliveRecognition {
  0% { transform: scale(1); filter: brightness(1); }
  25% { transform: scale(0.9); filter: brightness(0.9); }
  60%, 80% { transform: scale(1.15); filter: brightness(1.3); }
  100% { transform: scale(1); filter: brightness(1); }
}

/* Proud nod - slow blink with vertical shift */
.alive-logo .proud-nod { animation: aliveProudNod 1.5s ease-in-out; }
@keyframes aliveProudNod {
  0%, 100% { transform: translateY(0) scaleY(1); }
  30% { transform: translateY(2px) scaleY(0.3); }
  50% { transform: translateY(2px) scaleY(0.3); }
  70% { transform: translateY(-1px) scaleY(1); }
}

/* Dawning realization - gradual widen with glow */
.alive-logo .dawning { animation: aliveDawning 2.5s ease-out; }
@keyframes aliveDawning {
  0% { transform: scale(1); filter: brightness(1); }
  70% { transform: scale(1.15); filter: brightness(1.4); }
  100% { transform: scale(1.15); filter: brightness(1.3); }
}

/* Starry-eyed - pupils shrink */
.alive-logo .starry-shrink { animation: aliveStarryShrink 2s ease-out; }
@keyframes aliveStarryShrink {
  0%, 100% { transform: scale(1); }
  30%, 70% { transform: scale(0.6); }
}

/* Starry-eyed - eyes widen slightly with glow */
.alive-logo .starry-widen { animation: aliveStarryWiden 2s ease-out; }
@keyframes aliveStarryWiden {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  30%, 70% { transform: scale(1.1); filter: brightness(1.5); }
}

/* Curious tilt - head tilt illusion */
.alive-logo .curious-tilt-up { animation: aliveCuriousTiltUp 1.8s ease-in-out; }
@keyframes aliveCuriousTiltUp {
  0%, 100% { transform: translateY(0); }
  30%, 70% { transform: translateY(-3px); }
}

.alive-logo .curious-tilt-down { animation: aliveCuriousTiltDown 1.8s ease-in-out; }
@keyframes aliveCuriousTiltDown {
  0%, 100% { transform: translateY(0); }
  30%, 70% { transform: translateY(3px); }
}

/* Warm glow - brightness increase */
.alive-logo .warm-glow { animation: aliveWarmGlow 3.5s ease-in-out; }
@keyframes aliveWarmGlow {
  0%, 100% { filter: brightness(1); }
  40%, 60% { filter: brightness(1.5); }
}

/* ===========================================
   NEW ANIMATIONS - FUN/HUMOR
   =========================================== */

/* Zoomies - dilated pupils */
.alive-logo .zoomies-dilate { animation: aliveZoomiesDilate 2.5s ease-out; }
@keyframes aliveZoomiesDilate {
  0%, 100% { transform: scale(1); }
  20%, 80% { transform: scale(1.3); }
}

/* Zoomies - shake */
.alive-logo .zoomies-shake { animation: aliveZoomiesShake 2.5s ease-in-out; }
@keyframes aliveZoomiesShake {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(2px, -1px); }
  20% { transform: translate(-2px, 1px); }
  30% { transform: translate(3px, 0); }
  40% { transform: translate(-1px, -2px); }
  50% { transform: translate(2px, 2px); }
  60% { transform: translate(-3px, -1px); }
  70% { transform: translate(1px, 2px); }
  80% { transform: translate(-2px, -2px); }
  90% { transform: translate(2px, 1px); }
}

/* Dizzy - pupil circular motion */
.alive-logo .dizzy-pupil { animation: aliveDizzyPupil 2.5s ease-in-out; }
@keyframes aliveDizzyPupil {
  0%, 100% { transform: translate(0, 0); }
  12.5% { transform: translate(1.5px, -1px); }
  25% { transform: translate(2px, 0); }
  37.5% { transform: translate(1.5px, 1px); }
  50% { transform: translate(0, 1.5px); }
  62.5% { transform: translate(-1.5px, 1px); }
  75% { transform: translate(-2px, 0); }
  87.5% { transform: translate(-1.5px, -1px); }
}

/* Dizzy - wobble */
.alive-logo .dizzy-wobble { animation: aliveDizzyWobble 2.5s ease-in-out; }
@keyframes aliveDizzyWobble {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(2px); }
  40% { transform: translateX(-2px); }
  60% { transform: translateX(1.5px); }
  80% { transform: translateX(-1px); }
}

/* Hypnotize - alternating scale */
.alive-logo .hypno-left { animation: aliveHypnoLeft 3s ease-in-out; }
@keyframes aliveHypnoLeft {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(0.8); }
  50% { transform: scale(1.2); }
  75% { transform: scale(0.8); }
}

.alive-logo .hypno-right { animation: aliveHypnoRight 3s ease-in-out; }
@keyframes aliveHypnoRight {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.2); }
  50% { transform: scale(0.8); }
  75% { transform: scale(1.2); }
}

/* Bouncy excited */
.alive-logo .bouncy { animation: aliveBouncy 1.5s ease-out; }
@keyframes aliveBouncy {
  0%, 100% { transform: translateY(0); }
  10% { transform: translateY(-5px); }
  20% { transform: translateY(0); }
  30% { transform: translateY(-4px); }
  40% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  60% { transform: translateY(0); }
  70% { transform: translateY(-2px); }
  80% { transform: translateY(0); }
  90% { transform: translateY(-1px); }
}

/* Sneeze */
.alive-logo .sneeze { animation: aliveSneeze 1.8s ease-in-out; }
@keyframes aliveSneeze {
  0%, 100% { transform: scaleY(1); }
  20% { transform: scaleY(0.2); }
  40% { transform: scaleY(0.2); }
  50% { transform: scaleY(1.3); }
  70% { transform: scaleY(1); }
}

/* Wake up panic - snap wide */
.alive-logo .wake-panic { animation: aliveWakePanic 2.5s ease-out; }
@keyframes aliveWakePanic {
  0% { transform: scale(1.3); }
  20% { transform: scale(1.3); }
  50% { transform: scale(1.2) translateX(2px); }
  60% { transform: scale(1.2) translateX(-2px); }
  70% { transform: scale(1.1) translateX(1px); }
  80% { transform: scale(1.05) translateX(-1px); }
  100% { transform: scale(1); }
}

/* Panic pupils - shrink and look around */
.alive-logo .panic-pupils { animation: alivePanicPupils 2.5s ease-out; }
@keyframes alivePanicPupils {
  0%, 20% { transform: scale(0.5); }
  30% { transform: scale(0.5) translateX(-2px); }
  40% { transform: scale(0.5) translateX(2px); }
  50% { transform: scale(0.6) translateY(-1px); }
  60% { transform: scale(0.7) translateX(-1px); }
  80% { transform: scale(0.85); }
  100% { transform: scale(1); }
}

/* ===========================================
   NEW ANIMATIONS - HUMAN QUIRKS
   =========================================== */

/* Yawn - oval stretch */
.alive-logo .yawn { animation: aliveYawn 2.5s ease-in-out; }
@keyframes aliveYawn {
  0%, 100% { transform: scaleY(1) scaleX(1); }
  30%, 50% { transform: scaleY(0.5) scaleX(1.1); }
  70% { transform: scaleY(1) scaleX(1); }
}

/* Allergy rub - squint and jiggle */
.alive-logo .allergy-rub { animation: aliveAllergyRub 1.8s ease-in-out; }
@keyframes aliveAllergyRub {
  0%, 100% { transform: scaleY(1) translateX(0); }
  20% { transform: scaleY(0.6) translateX(1px); }
  30% { transform: scaleY(0.6) translateX(-1px); }
  40% { transform: scaleY(0.6) translateX(0.5px); }
  50% { transform: scaleY(0.6) translateX(-0.5px); }
  60% { transform: scaleY(0.6) translateX(1px); }
  70% { transform: scaleY(0.6) translateX(-1px); }
  85% { transform: scaleY(0.8) translateX(0); }
}

/* Morning stick - one eye stuck */
.alive-logo .morning-stuck { animation: aliveMorningStuck 2.5s ease-out; }
@keyframes aliveMorningStuck {
  0%, 60% { transform: scaleY(0.7); }
  70% { transform: scaleY(0.7); }
  80% { transform: scaleY(1.1); }
  100% { transform: scaleY(1); }
}

.alive-logo .morning-normal { animation: aliveMorningNormal 2.5s ease-out; }
@keyframes aliveMorningNormal {
  0%, 100% { transform: scaleY(1); }
}

/* Bright light - squint */
.alive-logo .bright-squint { animation: aliveBrightSquint 2.5s ease-out; }
@keyframes aliveBrightSquint {
  0% { transform: scaleY(0.3); }
  20% { transform: scaleY(0.3); }
  100% { transform: scaleY(1); }
}

/* Bright light - pupils shrink */
.alive-logo .bright-shrink { animation: aliveBrightShrink 2.5s ease-out; }
@keyframes aliveBrightShrink {
  0% { transform: scale(0.4); }
  20% { transform: scale(0.4); }
  100% { transform: scale(1); }
}

/* ===========================================
   NEW ANIMATIONS - TECH/ROBOT
   =========================================== */

/* Loading circle - spin */
.alive-logo .loading-spin { animation: aliveLoadingSpin 2s linear; }
@keyframes aliveLoadingSpin {
  0% { transform: rotate(0deg) translateX(1px) rotate(0deg); }
  100% { transform: rotate(360deg) translateX(1px) rotate(-360deg); }
}

/* Loading track - follow the other eye */
.alive-logo .loading-track { animation: aliveLoadingTrack 2s ease-in-out; }
@keyframes aliveLoadingTrack {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-1px); }
  50% { transform: translateX(0); }
  75% { transform: translateX(1px); }
}

/* Loading dots - opacity pulse sequence */
.alive-logo .loading-dot-1 { animation: aliveLoadingDot1 2s ease-in-out infinite; }
@keyframes aliveLoadingDot1 {
  0%, 100% { opacity: 0.3; }
  33% { opacity: 1; }
  66% { opacity: 0.6; }
}

.alive-logo .loading-dot-2 { animation: aliveLoadingDot2 2s ease-in-out infinite; }
@keyframes aliveLoadingDot2 {
  0%, 100% { opacity: 0.6; }
  33% { opacity: 0.3; }
  66% { opacity: 1; }
}

/* Glitch */
.alive-logo .glitch { animation: aliveGlitch 1.5s steps(1) infinite; }
@keyframes aliveGlitch {
  0%, 100% { transform: translateX(0); filter: none; }
  10% { transform: translateX(-3px); filter: hue-rotate(90deg); }
  20% { transform: translateX(3px); filter: none; }
  30% { transform: translateX(-2px); filter: hue-rotate(-90deg); }
  40% { transform: translateX(0); filter: none; }
  50% { transform: translateX(2px); filter: hue-rotate(180deg); }
  60% { transform: translateX(-1px); filter: none; }
  70% { transform: translateX(3px); filter: hue-rotate(-45deg); }
  80% { transform: translateX(0); filter: none; }
  90% { transform: translateX(-2px); filter: hue-rotate(45deg); }
}

/* Notification ping - glow pulse outward */
.alive-logo .notification-ping { animation: aliveNotificationPing 1.5s ease-out; }
@keyframes aliveNotificationPing {
  0% { filter: brightness(1) drop-shadow(0 0 0 rgba(245, 158, 11, 0)); }
  30% { filter: brightness(1.5) drop-shadow(0 0 8px rgba(245, 158, 11, 0.8)); }
  60% { filter: brightness(1.3) drop-shadow(0 0 12px rgba(245, 158, 11, 0.4)); }
  100% { filter: brightness(1) drop-shadow(0 0 0 rgba(245, 158, 11, 0)); }
}

/* Focus pull - blur to sharp */
.alive-logo .focus-pull { animation: aliveFocusPull 1.2s ease-out; }
@keyframes aliveFocusPull {
  0% { filter: blur(2px); }
  100% { filter: blur(0); }
}

/* ===========================================
   NEW ANIMATIONS - PERSONALITY
   =========================================== */

/* Shy peek - shrink and stay */
.alive-logo .shy-shrink { animation: aliveShyShrink 1.8s ease-in-out; }
@keyframes aliveShyShrink {
  0%, 100% { transform: scale(1); }
  30%, 70% { transform: scale(0.6); }
}

/* Shy peek - grow from small */
.alive-logo .shy-peek { animation: aliveShyPeek 1.8s ease-in-out; }
@keyframes aliveShyPeek {
  0% { transform: scale(0.6); }
  30% { transform: scale(0.6); }
  50% { transform: scale(1); }
  100% { transform: scale(1); }
}

/* Jitter nervous - rapid small movements */
.alive-logo .jitter { animation: aliveJitter 1.8s linear; }
@keyframes aliveJitter {
  0%, 100% { transform: translate(0, 0); }
  5% { transform: translate(1px, -1px); }
  10% { transform: translate(-1px, 0); }
  15% { transform: translate(0, 1px); }
  20% { transform: translate(2px, 0); }
  25% { transform: translate(-1px, -1px); }
  30% { transform: translate(1px, 1px); }
  35% { transform: translate(0, -1px); }
  40% { transform: translate(-2px, 0); }
  45% { transform: translate(1px, 1px); }
  50% { transform: translate(0, -1px); }
  55% { transform: translate(-1px, 1px); }
  60% { transform: translate(2px, -1px); }
  65% { transform: translate(-1px, 0); }
  70% { transform: translate(0, 1px); }
  75% { transform: translate(1px, -1px); }
  80% { transform: translate(-1px, 1px); }
  85% { transform: translate(1px, 0); }
  90% { transform: translate(0, -1px); }
  95% { transform: translate(-1px, 0); }
}

/* Jitter pupils - delayed movement */
.alive-logo .jitter-pupil { animation: aliveJitterPupil 1.8s linear 0.05s; }
@keyframes aliveJitterPupil {
  0%, 100% { transform: translate(0, 0); }
  8% { transform: translate(0.5px, -0.5px); }
  16% { transform: translate(-0.5px, 0.5px); }
  24% { transform: translate(1px, 0); }
  32% { transform: translate(-0.5px, -0.5px); }
  40% { transform: translate(0.5px, 0.5px); }
  48% { transform: translate(0, -0.5px); }
  56% { transform: translate(-1px, 0); }
  64% { transform: translate(0.5px, 0.5px); }
  72% { transform: translate(0, -0.5px); }
  80% { transform: translate(-0.5px, 0.5px); }
  88% { transform: translate(0.5px, 0); }
}

/* Sparkle wake - fade in with brightness spike */
.alive-logo .sparkle-wake { animation: aliveSparkleWake 1.5s ease-out; }
@keyframes aliveSparkleWake {
  0% { opacity: 0; filter: brightness(1); }
  70% { opacity: 1; filter: brightness(1); }
  85% { opacity: 1; filter: brightness(2); }
  100% { opacity: 1; filter: brightness(1); }
}

/* Dramatic zoom - pupils snap large */
.alive-logo .dramatic-zoom { animation: aliveDramaticZoom 0.8s ease-out; }
@keyframes aliveDramaticZoom {
  0% { transform: scale(1); }
  15% { transform: scale(1.8); }
  45% { transform: scale(1.8); }
  100% { transform: scale(1); }
}
