.ish-cloud-wrap { position:relative; width:100%; height:60vh; min-height:420px; display:grid; place-items:center; }
.ish-cloud-loading { width:56px; height:56px; border-radius:999px; border:4px solid rgba(255,255,255,0.18); border-top-color: var(--ish-primary); animation: ishSpin 1s linear infinite; }
@keyframes ishSpin { to{ transform: rotate(360deg); } }
.ish-tagcloud { position:relative; width:min(900px, 92vw); height:min(900px, 92vw); border-radius:999px; }
.ish-tag-item { position:absolute; transform: translate(-50%, -50%); padding:0; border:0; background: none; text-decoration:none; transition: transform .18s ease, filter .18s ease; will-change: transform; }
.ish-tag-item:hover { transform: translate(-50%, -50%) scale(1.12); filter: brightness(1.06); }
.ish-tag-item:active { transform: translate(-50%, -50%) scale(1.08); }
.ish-tag-item[data-count="0"]{ opacity:0.65; }
.ish-tag-item .ish-tag-name { font-weight:700; }
.ish-tag-item .ish-tag-count { margin-left:6px; font-size:12px; color: var(--ish-muted); }

.ish-grad-text { display:inline-block; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

@media (max-width: 768px){
  .ish-cloud-wrap { height:auto; }
  .ish-tagcloud { width:100%; height:auto; display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:10px; }
  .ish-tag-item { position:relative; transform:none; justify-self:center; }
}
