:root{--fade-up: translateY(10px);}
.animate-fade-in{animation:fade-in .6s ease-out both}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.animate-fade-up{animation:fade-up .6s ease-out both}
@keyframes fade-up{from{opacity:0;transform:var(--fade-up)}to{opacity:1;transform:translateY(0)}}
.animate-gradient{background-size:400% 400%;animation:grad 10s ease infinite}
@keyframes grad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* Insight article table of contents */
.toc{
  padding:0.85rem 1rem;
  margin:1.5rem 0 1.75rem;
  border-radius:0.75rem;
  background:#eff6ff;/* blue-100 */
  border:1px solid #bfdbfe;/* blue-200 */
  font-size:0.9rem;
}
.toc>ul{
  list-style:none;
  margin:0;
  padding-left:0;
  display:grid;
  row-gap:0.3rem;
}
.toc li{
  display:flex;
  align-items:center;
  gap:0.35rem;
}
.toc li::before{
  content:"•";
  color:#3b82f6;/* blue-500 */
  font-size:0.9rem;
}
.toc a{
  color:#1d4ed8;/* blue-700 */
  text-decoration:none;
}
.toc a:hover{
  text-decoration:underline;
}
