.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:16px}.post-card{background:var(--color-white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--transition);display:flex;flex-direction:column;color:inherit;text-decoration:none}.post-card:hover{transform:translateY(-4px)}.post-card__img-wrap{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--color-bg)}.post-card__img{object-fit:cover}.post-card__placeholder{width:100%;height:100%;background:var(--color-bg)}.post-card__body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.post-card__title{font-size:1rem;font-weight:700;color:var(--color-black)}.post-card__excerpt{font-size:.88rem;color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card__meta{font-size:.8rem;color:#9ca3af}.post-card__link{margin-top:auto;color:var(--color-primary);font-weight:600;font-size:.9rem}.post-detail{padding-bottom:32px;max-width:760px}.post-detail__title{font-size:1.6rem;font-weight:800;color:var(--color-primary-dark);margin:8px 0}.post-detail__meta{display:flex;gap:12px;font-size:.85rem;color:#6b7280;margin-bottom:16px}.post-detail__thumb{width:100%;border-radius:var(--radius);overflow:hidden;margin-bottom:16px;background:var(--color-bg)}.post-detail__thumb img{width:100%;height:auto;display:block}.post-content{font-size:1rem;line-height:1.7;color:var(--color-black)}.post-content h1,.post-content h2,.post-content h3{color:var(--color-primary-dark);margin:20px 0 10px}.post-content p{margin:10px 0}.post-content ol,.post-content ul{margin:10px 0 10px 22px}.post-content blockquote{border-left:3px solid var(--color-primary);padding-left:14px;color:#4b5563;margin:14px 0}.post-content img{max-width:100%}.post-content iframe,.post-content img{border-radius:var(--radius);margin:10px 0}.post-content iframe{width:100%;aspect-ratio:16/9;border:none}.post-content table{border-collapse:collapse;width:100%;margin:12px 0}.post-content table td,.post-content table th{border:1px solid var(--color-border);padding:6px 10px}.post-content pre{background:#111827;color:#e5e7eb;padding:12px 14px;border-radius:var(--radius);overflow-x:auto;margin:12px 0}.post-related{margin-top:32px}@media (min-width:768px){.post-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:24px}}