/* ---- Results flourish + animated next ---- */

.paper-sheet { position: relative; }
.paper-sheet.is-in { animation: paperIn 0.38s ease both; }

.sheet-stamp {
  position: absolute;
  top: 0.45rem;
  right: 0.7rem;
  z-index: 2;
  padding: 0.25rem 0.45rem;
  border: 3px solid #1cb0f6;
  border-radius: 8px;
  background: rgba(220, 252, 231, 0.92);
  color: #0284c7;
  font: 900 0.78rem/1 var(--alb-mono);
  transform: rotate(-12deg);
  animation: stampIn 0.5s cubic-bezier(0.2, 1.6, 0.4, 1) both;
  pointer-events: none;
}

.arithmetic-marks span.is-done { animation: markPop 0.45s ease; }

.type-station.is-leaving { animation: stationOut 0.3s ease both; }

.learn-stage { transition: opacity 0.2s ease, transform 0.2s ease; }
.learn-stage.is-leaving { opacity: 0; transform: translateY(8px); }

#learnNextBtn.is-live { animation: nextGlow 1.7s ease-in-out infinite; }

@keyframes paperIn {
  from { opacity: 0; transform: translateX(16px) rotate(0.6deg); }
  to { opacity: 1; transform: none; }
}

@keyframes stampIn {
  0% { transform: rotate(-20deg) scale(2.6); opacity: 0; }
  60% { transform: rotate(-10deg) scale(0.92); opacity: 1; }
  100% { transform: rotate(-12deg) scale(1); opacity: 1; }
}

@keyframes markPop {
  0% { transform: scale(1); }
  50% { transform: scale(1.4); }
  100% { transform: scale(1); }
}

@keyframes stationOut {
  to { opacity: 0; transform: translateY(-10px); }
}

@keyframes nextGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.55); }
  50% { box-shadow: 0 0 0 12px rgba(52, 211, 153, 0); }
}

