.blog-article-page{background:#f8f9fa;display:flex;flex-direction:column;min-height:100vh}.blog-article-error,.blog-article-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.blog-article-error h1{color:#1e3a8a;font-size:2rem;margin-bottom:16px}.blog-article-error p{color:#6b7280;margin-bottom:24px}.blog-back-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background .2s ease}.blog-back-button:hover{background:#2563eb}.blog-back-link{align-items:center;color:#3b82f6;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;margin-bottom:24px;text-decoration:none;transition:color .2s ease}.blog-back-link:hover{color:#1e3a8a}.blog-article-cover{border-radius:12px;margin-bottom:24px;max-height:400px;overflow:hidden;width:100%}.blog-article-cover img{height:100%;object-fit:cover;width:100%}.blog-article-meta{align-items:center;color:#6b7280;display:flex;font-size:.95rem;gap:12px;margin-bottom:16px}.blog-article-date{font-weight:500}.blog-article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.blog-article-tag{background:#e0e7ff;border-radius:12px;color:#3b82f6;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 12px;text-transform:lowercase}.blog-article-content{flex:1 1;padding:40px 20px 80px}.blog-article-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#333;font-size:1.1rem;line-height:1.8;margin:0 auto;max-width:800px;padding:60px}.blog-article-container h1{color:#1e3a8a;font-size:2.25rem;font-weight:700;line-height:1.3;margin:0 0 1.5rem}.blog-article-container h2{color:#1e3a8a;font-size:1.5rem;font-weight:700;line-height:1.4;margin:2.5rem 0 1rem}.blog-article-container h3{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin:2rem 0 .75rem}.blog-article-container h3 img{height:48px;margin:0 8px;vertical-align:middle;width:auto}.blog-article-container h3 img[src*=github-mark]{height:24px}.blog-article-container p{margin-bottom:1.5rem}.blog-article-container ol,.blog-article-container ul{margin:1.5rem 0;padding-left:1.5rem}.blog-article-container li{margin-bottom:.75rem}.blog-article-container blockquote{background:#f0f7ff;border-left:4px solid #3b82f6;border-radius:0 8px 8px 0;color:#4b5563;font-style:italic;margin:1.5rem 0;padding:16px 24px}.blog-article-container blockquote p{margin:0}.blog-article-image{border-radius:8px;height:auto;margin:1.5rem 0;max-width:100%}.blog-article-image-link{cursor:zoom-in;display:block}.blog-article-image-link .blog-article-image{transition:opacity .2s ease}.blog-article-image-link:hover .blog-article-image{opacity:.9}.blog-lightbox-overlay{align-items:center;background:#000000e6;bottom:0;cursor:zoom-out;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.blog-lightbox-image{border-radius:4px;max-height:95%;max-width:95%;object-fit:contain}.blog-lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;line-height:1;padding:10px;position:absolute;right:20px;top:20px}.blog-lightbox-close:hover{color:#ccc}.blog-inline-code{background:#f3f4f6;border-radius:4px;color:#dc2626;display:inline;font-size:.9em;padding:2px 6px}.blog-code-block,.blog-inline-code{font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace}.blog-code-block{background:#1e293b;border-radius:8px;color:#e2e8f0;font-size:.9rem;line-height:1.6;margin:1.5rem 0;overflow-x:auto;padding:20px}.blog-code-block code{background:none;color:inherit;padding:0}.blog-article-link{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .2s ease}.blog-article-link:hover{color:#2563eb;text-decoration:underline}.blog-article-container hr{border:none;border-top:2px solid #e5e7eb;margin:2.5rem 0}.blog-article-container strong{color:#111827;font-weight:600}.blog-article-container table{border-collapse:collapse;margin:1.5rem 0;width:100%}.blog-article-container td,.blog-article-container th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.blog-article-container th{background:#f3f4f6;color:#1e3a8a;font-weight:600}.blog-article-container tr:hover{background:#f9fafb}.blog-article-author-section{border-top:2px solid #e5e7eb;margin-top:48px;padding-top:32px}.blog-article-author-info{display:flex;flex-direction:column;gap:8px}.blog-article-author-name{color:#1e3a8a;font-size:1.1rem;font-weight:600}.blog-article-author-description{color:#6b7280;font-size:.95rem;line-height:1.6}@media (max-width:768px){.blog-article-content{padding:30px 20px 60px}.blog-article-container{font-size:1rem;padding:40px 30px}.blog-article-container h1{font-size:1.75rem}.blog-article-container h2{font-size:1.3rem}.blog-article-container h3{font-size:1.15rem}.blog-code-block{font-size:.85rem;padding:16px}}@media (max-width:480px){.blog-article-meta{align-items:flex-start;flex-direction:column;gap:4px}.blog-article-content{padding:20px 15px 60px}.blog-article-container{font-size:.95rem;padding:30px 20px}.blog-article-container h1{font-size:1.5rem}.blog-article-container h2{font-size:1.2rem;margin-top:2rem}.blog-article-container h3{font-size:1.1rem}.blog-code-block{border-radius:0;font-size:.8rem;margin-left:-20px;margin-right:-20px;padding:12px}.blog-article-cover{max-height:250px}}
/*# sourceMappingURL=526.6dedc151.chunk.css.map*/