.heading-anchor {
            margin-left: 0.5rem;
            opacity: 0;
            color: #2563eb;
            font-weight: 400;
            text-decoration: none;
            transition: opacity 0.2s ease;
        }

        .heading-anchor:focus-visible {
            outline: 2px solid rgba(37, 99, 235, 0.6);
            outline-offset: 4px;
            opacity: 1;
        }

        h2:hover .heading-anchor,
        h3:hover .heading-anchor,
        h4:hover .heading-anchor,
        h5:hover .heading-anchor,
        h6:hover .heading-anchor {
            opacity: 1;
        }

        html.dark .heading-anchor {
            color: #60a5fa;
        }

        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .line-clamp-3 {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        [x-cloak] {
            display: none !important;
        }

        /* Table dark mode styles */
        .prose table {
            margin: 2rem 0;
        }

        .prose th {
            padding: 0.75rem;
            text-align: left;
            font-weight: 600;
            color: #111827;
            background-color: #f3f4f6;
            border-bottom: 1px solid #d1d5db;
        }

        .prose td {
            padding: 0.75rem;
            color: #374151;
            border-bottom: 1px solid #e5e7eb;
        }

        html.dark .prose th {
            color: #ffffff;
            background-color: #374151;
            border-bottom-color: #4b5563;
        }

        html.dark .prose td {
            color: #d1d5db;
            border-bottom-color: #4b5563;
        }