.atc-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
}
.atc-term {
  text-decoration: none;
  padding: 4px 6px;
  border-radius: 4px;
  transition: transform .25s ease, opacity .3s ease;
  display: inline-block;
  opacity: 0.95;
}
.atc-term:hover {
  transform: translateY(-4px) scale(1.05);
  text-decoration: underline;
}
/* Float */
@keyframes atc-float { 0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)} }
.atc-cloud.atc-animation-float .atc-term { animation-name: atc-float; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-duration: var(--atc-animation-speed,6s); }
/* Rotate */
@keyframes atc-rotate { 0%{transform:rotate(0)}50%{transform:rotate(6deg)}100%{transform:rotate(0)} }
.atc-cloud.atc-animation-rotate .atc-term { display:inline-block; animation-name: atc-rotate; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-duration: var(--atc-animation-speed,8s); }
/* Pulse */
@keyframes atc-pulse { 0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)} }
.atc-cloud.atc-animation-pulse .atc-term { animation-name: atc-pulse; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-duration: var(--atc-animation-speed,5s); }

/* Admin preview styling */
.atc-preview { border:1px dashed #ddd; padding:10px; margin-top:10px; background:#fff; }
.atc-no-terms { color:#777; }
