#meta-wrapper {
  position: relative;
  margin: 20px auto;
  width: 90%;
  max-width: 500px;
  text-align: center;
  font-family: sans-serif;
}

#meta-text {
  font-size: 16px;
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
}

#meta-bar-container {
  width: 100%;
  height: 30px;
  background-color: #f0f0f0;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #555;
  position: relative;
}

#meta-progress-fill {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: none;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  width: 0%;
  z-index: 1;
}

.meta-progress-text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.meta-progress-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5px 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.736);
  color: #111;
  font-size: 11.5px;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

#meta-progress-fill::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.15) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(255, 255, 255, 0.15) 75%,
    transparent 75%,
    transparent
  );
  background-size: 20px 20px;
  animation: meta-stripe-shift 1.2s linear infinite;
  opacity: 0.6;
}

#meta-progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, transparent 100%);
}

#meta-info {
  margin-top: 8px;
  font-size: 14px;
  color: #555; 
}


#meta-wrapper.loading .meta-spinner {
  display: flex;
}


#meta-wrapper.loading #meta-text,
#meta-wrapper.loading #meta-bar-container,
#meta-wrapper.loading #meta-info {
  visibility: hidden;
}

.meta-spinner {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.6);
}

.meta-spinner::before {
  content: "";
  width: 28px;
  height: 28px;
  border: 3px solid rgba(0, 0, 0, 0.25);
  border-top-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  animation: meta-spin 0.8s linear infinite;
}


@keyframes meta-spin {
  to { transform: rotate(360deg); }
}


@keyframes meta-stripe-shift {
  from { background-position: 0 0; }
  to { background-position: 40px 0; }
}