.blog-page {
            padding: 3rem 0;
        }

        .blog-post-list {
            max-width: 780px;
            margin: 0 auto;
        }

        .blog-article-page {
            max-width: 820px;
            margin: 0 auto;
        }

        .article-header {
            padding: 3rem 0 2rem;
        }

        .blog-article-page .article-header {
            padding: 0 0 2rem;
        }
        
        .article-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-bottom: 1rem;
        }
        
        .article-tag {
            background: #f3f4f6;
            color: #374151;
            padding: 0.25rem 0.5rem;
            border-radius: 0.25rem;
            font-size: 0.75rem;
        }
        
        .article-title {
            font-size: 2.75rem;
            font-weight: bold;
            color: #111827;
            line-height: 1.2;
            margin-bottom: 1.5rem;
        }
        
        .article-meta {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            color: #6b7280;
            margin-bottom: 2rem;
        }
        
        .meta-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        
        .article-content {
            background: white;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
            line-height: 1.7;
            overflow: hidden;
        }
        
        /* Markdown Content Styles */
        .markdown-content h1 {
            font-size: 1.875rem;
            font-weight: bold;
            color: #111827;
            margin: 2rem 0 1.5rem;
            border-bottom: 2px solid #e5e7eb;
            padding-bottom: 0.5rem;
        }
        
        .markdown-content h2 {
            font-size: 1.5rem;
            font-weight: bold;
            color: #111827;
            margin: 2rem 0 1rem;
        }
        
        .markdown-content h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #111827;
            margin: 1.5rem 0 0.75rem;
        }

        .markdown-content h1:first-child,
        .markdown-content h2:first-child,
        .markdown-content h3:first-child {
            margin-top: 0;
        }
        
        .markdown-content p {
            color: #374151;
            margin-bottom: 1rem;
            line-height: 1.7;
        }

        .markdown-content p:last-child {
            margin-bottom: 0;
        }
        
        .markdown-content strong {
            font-weight: 600;
            color: #111827;
        }
        
        .markdown-content em {
            font-style: italic;
            color: #6b7280;
        }
        
        .markdown-content ul, .markdown-content ol {
            margin: 1rem 0;
            padding-left: 1.5rem;
        }
        
        .markdown-content li {
            margin-bottom: 0.5rem;
            color: #374151;
        }
        
        .markdown-content blockquote {
            border-left: 4px solid #2563eb;
            background: #f8fafc;
            padding: 1rem 1.5rem;
            margin: 1.5rem 0;
            font-style: italic;
            color: #475569;
        }
        
        .markdown-content code {
            background: #f1f5f9;
            color: #e11d48;
            padding: 0.125rem 0.25rem;
            border-radius: 0.25rem;
            font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
            font-size: 0.875em;
        }
        
        .markdown-content pre {
            background: #1e293b;
            color: #e2e8f0;
            padding: 1.5rem;
            border-radius: 0.5rem;
            overflow-x: auto;
            margin: 1.5rem 0;
            font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
        }
        
        .markdown-content pre code {
            background: none;
            color: inherit;
            padding: 0;
        }

        .markdown-content img {
            display: block;
            max-width: 100%;
            height: auto;
            border-radius: 0.5rem;
            margin: 1.5rem auto;
        }
        
        .markdown-content .math-formula {
            text-align: center;
            margin: 2rem 0;
            font-size: 1.5rem;
            font-family: 'Times New Roman', serif;
            background: #f9fafb;
            padding: 1rem;
            border-radius: 0.5rem;
            border: 1px solid #e5e7eb;
        }
        
        .markdown-content hr {
            margin: 2rem 0;
            border: none;
            border-top: 1px solid #e5e7eb;
        }
        
        .markdown-content a {
            color: #2563eb;
            text-decoration: underline;
            transition: color 0.3s ease;
        }
        
        .markdown-content a:hover {
            color: #1d4ed8;
        }
        
        .markdown-content table {
            width: 100%;
            border-collapse: collapse;
            margin: 1.5rem 0;
        }
        
        .markdown-content th,
        .markdown-content td {
            border: 1px solid #e5e7eb;
            padding: 0.75rem;
            text-align: left;
        }
        
        .markdown-content th {
            background: #f9fafb;
            font-weight: 600;
            color: #111827;
        }
        
        .article-footer {
            margin-top: 3rem;
            padding-top: 2rem;
            border-top: 1px solid #e5e7eb;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .article-footer .back-link {
            margin-bottom: 0;
        }
        
        .article-footer-text h3 {
            font-size: 1.125rem;
            font-weight: 600;
            color: #111827;
            margin-bottom: 0.5rem;
        }
        
        .article-footer-text p {
            color: #6b7280;
        }
        
        .back-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: #6b7280;
            text-decoration: none;
            margin-bottom: 1.5rem;
            transition: color 0.3s ease;
        }
        
        .back-link:hover {
            color: #2563eb;
        }
        
        .loading {
            text-align: center;
            padding: 2rem;
            color: #6b7280;
        }
        
        .error {
            text-align: center;
            padding: 2rem;
            color: #dc2626;
            background: #fef2f2;
            border-radius: 0.5rem;
            border: 1px solid #fecaca;
        }

         .blog-header {
            padding: 3rem 1rem;
            text-align: center;
        }
        
        .blog-header h1 {
            font-size: 3rem;
            font-weight: bold;
            color: #111827;
            margin-bottom: 1rem;
        }
        
        .blog-header p {
            font-size: 1.25rem;
            color: #6b7280;
            max-width: 600px;
            margin: 0 auto;
        }
        
        .back-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: #6b7280;
            text-decoration: none;
            margin-bottom: 1rem;
            transition: color 0.3s ease;
        }
        
        .back-link:hover {
            color: #2563eb;
        }
        
        .blog-post-card {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
            margin-bottom: 2rem;
            padding: 1.5rem;
            transition: box-shadow 0.3s ease;
        }
        
        .blog-post-card:hover {
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }
        
        .post-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-bottom: 1rem;
        }
        
        .tag {
            background: #f3f4f6;
            color: #374151;
            padding: 0.25rem 0.5rem;
            border-radius: 0.25rem;
            font-size: 0.75rem;
        }
        
        .post-title {
            font-size: 1.5rem;
            font-weight: bold;
            margin-bottom: 0.5rem;
        }
        
        .post-title a {
            color: #111827;
            text-decoration: none;
            transition: color 0.3s ease;
        }
        
        .post-title a:hover {
            color: #2563eb;
        }
        
        .post-meta {
            color: #6b7280;
            font-size: 1rem;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        
        .post-excerpt {
            color: #6b7280;
            line-height: 1.6;
            margin-bottom: 1rem;
        }

        @media (max-width: 640px) {
            .blog-page {
                padding: 2rem 0;
            }

            .article-content {
                padding: 1.25rem;
            }

            .article-title {
                font-size: 2rem;
            }

            .article-meta {
                align-items: flex-start;
                flex-direction: column;
                gap: 0.75rem;
            }

            .markdown-content pre {
                padding: 1rem;
            }
        }
