/**
 * Endless Knowledge button pulse animation
 * 
 * Extracted from index.html (inline <style> that began at line 6596).
 * Stylesheet order matters (cascade); index.html links the files in numeric order.
 * See assets/README.md.
 */
        @keyframes ek-pulse {
          0%,100% { box-shadow: 0 0 0 0 rgba(111,160,214,0.0), 0 0 28px 6px rgba(111,160,214,0.22); }
          50%      { box-shadow: 0 0 0 10px rgba(111,160,214,0.0), 0 0 46px 14px rgba(111,160,214,0.38); }
        }
        @keyframes ek-aura-ring {
          0%   { transform: scale(1);   opacity: 0.55; }
          100% { transform: scale(2.1); opacity: 0; }
        }
        @keyframes ek-shimmer {
          0%   { background-position: -200% center; }
          100% { background-position: 200% center; }
        }
        @keyframes ek-float {
          0%,100% { transform: translateY(0px); }
          50%      { transform: translateY(-4px); }
        }
        @keyframes ek-particle {
          0%   { transform: translate(0,0) scale(1); opacity: 1; }
          100% { transform: translate(var(--px), var(--py)) scale(0); opacity: 0; }
        }
        .ek-wrapper {
          position: relative;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          margin-top: 22px;
        }
        .ek-aura-ring {
          position: absolute;
          inset: -10px;
          border-radius: 50px;
          border: 1.5px solid rgba(111,160,214,0.45);
          animation: ek-aura-ring 2.6s cubic-bezier(0.4,0,0.2,1) infinite;
          pointer-events: none;
        }
        .ek-aura-ring:nth-child(2) { animation-delay: 0.85s; }
        .ek-aura-ring:nth-child(3) { animation-delay: 1.7s; }
        .ek-btn {
          position: relative;
          display: inline-flex;
          align-items: center;
          gap: 10px;
          padding: 14px 30px;
          border: 1.5px solid var(--sky);
          border-radius: 40px;
          cursor: pointer;
          font-family: 'DM Sans', sans-serif;
          font-size: 0.95rem;
          font-weight: 800;
          letter-spacing: 0.06em;
          text-transform: uppercase;
          color: var(--sky-deep);
          background: linear-gradient(120deg, #ffffff, #E9F1FA, #ffffff);
          background-size: 260% 100%;
          animation: ek-shimmer 5s ease-in-out infinite, ek-float 3.6s cubic-bezier(0.45,0,0.55,1) infinite, ek-pulse 3.2s ease-in-out infinite;
          z-index: 1;
          overflow: hidden;
          text-decoration: none;
          outline: none;
          -webkit-tap-highlight-color: transparent;
          transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), filter 0.2s ease;
        }
        .ek-btn:active { transform: scale(0.96) translateY(-2px); filter: brightness(0.97); }
        .ek-btn-icon {
          font-size: 1.25rem;
          display: inline-block;
          animation: ek-float 2.1s ease-in-out infinite;
          animation-delay: 0.3s;
        }
        .ek-particle {
          position: absolute;
          width: 5px;
          height: 5px;
          border-radius: 50%;
          background: var(--sky);
          pointer-events: none;
          opacity: 0;
        }
