.toc-container { border: 1px solid #e9ecef; border-radius: 6px; margin: 1.5rem 0; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); max-width:max-content; }
.toc-container .toc-header {padding: 1px 6px 1px 1rem; background-color: black; border-bottom: none; border-radius: 6px 6px 0 0;  transition: all 0.3s ease; }
.toc-header-clickable:hover { background: linear-gradient(135deg, #0056b3 0%, #004085 100%); }
.toc-container .card-header h5 { font-size: 1rem; font-weight: 600; margin: 0; }
.toc-toggle { border: 1px solid rgba(255,255,255,0.3); transition: all 0.3s ease; padding: 0.25rem 0.5rem; }
.toc-toggle:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.5); }
.toc-nav {max-height: 350px;overflow-y: auto;}
.toc-sublist {padding-left: 8px; border-left: 2px solid #e9ecef; }
.toc-item { padding-bottom: 6px; }
.toc-link { display: flex; align-items: center; padding: 4px; color: black; border-radius: 4px; transition: all 0.3s ease; font-size: 0.85rem; line-height: 1.3; }
.toc-link:hover { background: #f8f9fa; color: #007bff; transform: translateX(-2px); }
.toc-link.active { background: linear-gradient(135deg, #bbbbbbb0 0%, #0056b3 100%); color: white; font-weight: 500; }
.toc-link.active i { color: white; }
.toc-link:hover i { transform: rotate(90deg); }
.toc-link.active i { transform: rotate(90deg); }
.toc-level-2 .toc-link { font-size: 1rem; }
.toc-level-3 .toc-link { font-size: 0.875rem; padding-left: 8px;}
@media (max-width: 768px) { .toc-container { margin: 1rem 0; } .toc-nav { max-height: 250px; } .toc-link { font-size: 0.8rem; padding: 1px; } .toc-level-3 .toc-link { padding-left: 0.7rem; } .toc-sublist {padding-left: 0;}}
.toc-nav::-webkit-scrollbar { width: 4px; }
.toc-nav::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 2px; }
.toc-nav::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 2px; }
.toc-nav::-webkit-scrollbar-thumb:hover { background: #a8a8a8; }
.toc-container .collapse { transition: all 0.3s ease; }
.toc-item { animation: fadeInUp 0.2s ease forwards; opacity: 0; transform: translateY(5px); }
.toc-item:nth-child(1) { animation-delay: 0.05s; }
.toc-item:nth-child(2) { animation-delay: 0.1s; }
.toc-item:nth-child(3) { animation-delay: 0.15s; }
.toc-item:nth-child(4) { animation-delay: 0.2s; }
.toc-item:nth-child(5) { animation-delay: 0.25s; }
@keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }
.blog-post-content h2, .blog-post-content h3 { scroll-margin-top: 100px; position: relative; }
.blog-post-content h2:target, .blog-post-content h3:target { animation: highlightHeading 2s ease; }
@keyframes highlightHeading {
  0% { background: rgba(0, 123, 255, 0.1); transform: scale(1.01); }
  100% { background: transparent; transform: scale(1); }}