.toc{animation:fadeInUp .6s ease-out forwards;transform:translateY(20px);backdrop-filter:blur(10px);padding:20px 24px;border:1px solid rgba(0,0,0,.05);max-width:700px;animation-delay:.1s;opacity:0;margin:0 auto 30px;box-shadow:0 8px 32px rgba(0,0,0,.08);border-radius:16px;background:linear-gradient(135deg,rgba(240,244,250,.95),hsla(0,0%,100%,.9))}.toc-title{animation:fadeIn .5s ease-out forwards;font-size:22px;font-weight:700;color:var(--color-main);border-bottom:2px solid rgba(0,0,0,.06);animation-delay:.3s;opacity:0;gap:10px;margin:0 0 20px;align-items:center;padding-bottom:12px;display:flex}.toc-icon{animation:bounce 2s infinite;font-size:26px}.toc-list{list-style:none;flex-direction:column;gap:4px;margin:0;padding-left:0;display:flex}.toc-item{animation:slideIn .4s ease-out forwards;transform:translateX(-10px);position:relative;opacity:0}.toc-item:first-child{animation-delay:.4s}.toc-item:nth-child(2){animation-delay:.5s}.toc-item:nth-child(3){animation-delay:.6s}.toc-item:nth-child(4){animation-delay:.7s}.toc-item:nth-child(5){animation-delay:.8s}.toc-item:nth-child(6){animation-delay:.9s}.toc-item:nth-child(7){animation-delay:1s}.toc-link{overflow:hidden;padding:12px 16px;text-decoration:none;font-weight:500;color:var(--color-main);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;gap:12px;align-items:center;border-radius:10px;display:flex}.toc-link:before{height:100%;transform:scaleY(0);transition:transform .3s ease;content:"";position:absolute;top:0;background:var(--color-active);left:0;width:4px}.toc-link:hover{transform:translateX(8px);color:var(--color-active);box-shadow:0 4px 12px rgba(0,0,0,.08);background:hsla(0,0%,100%,.8)}.toc-link:hover:before{transform:scaleY(1)}.toc-link:hover .toc-emoji{transform:scale(1.3) rotate(10deg)}.toc-emoji{flex-shrink:0;font-size:20px;transition:transform .3s ease}.toc-text{line-height:1.4}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(-10px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:768px){.toc{padding:16px 18px;margin:0 15px 25px}.toc-title{font-size:19px}.toc-link{padding:10px 12px;font-size:15px;gap:10px}.toc-emoji{font-size:18px}}h2[id],h3[id],section[id]{scroll-margin-top:100px}