:root{--blog-page-background:#f9fafb;--blog-card-background:#fff;--blog-text-primary:#1a202c;--blog-text-secondary:#4b5563;--blog-text-muted:#6b7280;--blog-link-color:#2563eb;--blog-link-hover-color:#1d4ed8;--blog-border-color:#e5e7eb;--blog-gradient-start:#111827;--blog-gradient-end:#1f2937;--blog-hero-text:#fff}main.blog-page-main{min-height:100vh;color:var(--blog-text-primary);position:relative;z-index:1}.blog-page-main a{text-decoration:none;color:inherit}.blog-container{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.min-h-screen{min-height:100vh}.gradient-bg{background:linear-gradient(to right,var(--blog-gradient-start,#111827),var(--blog-gradient-end,#1f2937));padding-top:5rem;padding-bottom:5rem;position:relative;z-index:1}.gradient-bg,.gradient-bg h1{color:var(--blog-hero-text,#fff)}.gradient-bg h1{font-size:3rem;line-height:1;font-weight:700;margin-bottom:1.5rem}.gradient-bg p{font-size:1.25rem;line-height:1.75rem;opacity:.9;max-width:42rem;color:var(--blog-hero-text,#fff)}.search-container{background-color:var(--card-bg);border-radius:var(--radius);box-shadow:var(--card-shadow,0 4px 6px -1px rgba(0,0,0,.1));padding:1.5rem;margin-bottom:2rem;margin-top:-2rem;position:relative;z-index:2}.relative{position:relative}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:var(--radius);border:1px solid var(--border);transition:all .2s ease;font-size:1rem;color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(59,130,246,.2)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.blog-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem;padding-top:3rem;padding-bottom:3rem}@media (min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-card-link{display:block;text-decoration:none;color:inherit}.blog-card,.blog-card-link{height:100%;position:relative;z-index:1}.blog-card{background-color:var(--card-bg);border-radius:var(--radius);box-shadow:var(--card-shadow,0 4px 6px -1px rgba(0,0,0,.1));overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.blog-card:hover{box-shadow:var(--card-hover-shadow,0 20px 25px -5px rgba(0,0,0,.1));transform:translateY(-.25rem)}.blog-post-image{width:100%;height:12rem;object-fit:cover}.blog-post-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.blog-post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.blog-post-category{color:var(--link-color);font-weight:500}.blog-post-category,.blog-post-time{font-size:.875rem;line-height:1.25rem}.blog-post-time{color:var(--text-muted)}.blog-post-title{color:var(--text-primary);font-size:1.25rem;line-height:1.75rem;font-weight:700;margin-bottom:.75rem;transition:color .2s ease;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;min-height:3.5rem}.blog-card-link:hover .blog-post-title{color:var(--link-hover-color)}.blog-post-excerpt{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.blog-post-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border);margin-top:auto}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.text-gray-400{color:#9ca3af}.text-gray-500{color:var(--text-muted)}.text-sm{font-size:.875rem;line-height:1.25rem}.col-span-full{grid-column:1/-1}.text-center{text-align:center}.py-12{padding-top:3rem;padding-bottom:3rem}.text-red-600{color:#dc2626}.blog-post-rating{display:flex;align-items:center;gap:.25rem;margin-top:.5rem;margin-bottom:.75rem}.blog-post-rating .star-icon{width:16px;height:16px;color:#e0e0e0}.blog-post-rating .star-icon.filled{color:#ffc107}.blog-post-rating .review-count{font-size:.875rem;color:var(--blog-text-muted);margin-left:.25rem}.blog-post-rating.no-reviews{font-size:.875rem;color:var(--blog-text-muted);font-style:italic;margin-top:.5rem;margin-bottom:.75rem}.blog-post-title+.blog-post-footer{margin-top:1rem}.blog-post-title+.blog-post-rating{margin-top:.5rem}