.suggest-idea-button {
  border: 1px solid #d9b7c8;
  border-radius: 999px;
  background: #f3e8ee;
  color: #795370;
  padding: 10px 15px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  transition: background .2s, transform .2s;
}
.suggest-idea-button:hover {
  background: #ead4e3;
  transform: translateY(-2px);
}
#suggestIdeaButton span { margin-left: 7px; font-size: inherit; letter-spacing: normal; }
.idea-thanks { text-align: center; padding: 12px 4px 4px; }
.idea-thanks h2 { margin: 0 0 12px; }
.idea-thanks p { color: #77716a; line-height: 1.6; font-size: 14px; }
.idea-hearts {
  position: relative;
  display: grid;
  place-items: center;
  height: 130px;
  margin-bottom: 12px;
}
.idea-hearts span { position: absolute; font-size: 30px; animation: idea-heart-float 2.8s ease-out infinite; }
.idea-hearts span:first-child { font-size: 68px; animation: idea-heart-pop 1.8s ease-in-out infinite; }
.idea-hearts span:nth-child(2) { --heart-x: -95px; animation-delay: .15s; }
.idea-hearts span:nth-child(3) { --heart-x: 90px; animation-delay: .65s; }
.idea-hearts span:nth-child(4) { --heart-x: -45px; animation-delay: 1.15s; }
.idea-hearts span:nth-child(5) { --heart-x: 50px; animation-delay: 1.65s; }
@keyframes idea-heart-float {
  0% { transform: translate(var(--heart-x), 25px) scale(.6); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translate(var(--heart-x), -80px) scale(1.1); opacity: 0; }
}
@keyframes idea-heart-pop {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}
.admin-ideas-list { display: grid; gap: 12px; max-height: 60vh; overflow: auto; }
.admin-idea { border: 1px solid #e6e1d8; border-radius: 14px; background: #fff; padding: 14px 16px; }
.admin-idea p { margin: 7px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
.admin-idea small { color: #8c857d; font-size: 11px; }
.status-pill.regenerating { background: #e5def3; color: #69519b; }
.status-pill.submitting { background: #e5def3; color: #69519b; }
.status-pill:is(.queued, .submitting, .generating, .regenerating)::before {
  content: "";
  display: inline-block;
  flex: none;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: status-spin .8s linear infinite;
}
@keyframes status-spin { to { transform: rotate(360deg); } }
.status-pill.revision_failed { background: #f4dfdb; color: #a94e42; }
.status-pill.revision_paused { background: #f5ead6; color: #86612f; }
@media (max-width: 760px) {
  .catalog-foot { flex-wrap: wrap; align-items: center; }
  .suggest-idea-button { margin-left: auto; }
  #suggestIdeaButton span { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .idea-hearts span { animation: none; }
  .idea-hearts span:not(:first-child) { display: none; }
  .status-pill:is(.queued, .submitting, .generating, .regenerating)::before {
    animation: none;
    border-top-color: currentColor;
  }
}
