.jnd-container { max-width: 1200px; margin: 0 auto; padding: 16px; }
.jnd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .jnd-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .jnd-grid { grid-template-columns: 1fr; } }

.jnd-card { border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.jnd-thumb img { width: 100%; height: 180px; object-fit: cover; display: block; }
.jnd-content { padding: 12px; }
.jnd-title { font-size: 1rem; margin: 0 0 6px; line-height: 1.3; }
.jnd-title a { color: #111827; text-decoration: none; }
.jnd-title a:hover { text-decoration: underline; }
.jnd-source { color: #6b7280; font-size: 0.85rem; margin-bottom: 8px; }
.jnd-excerpt { color: #374151; font-size: 0.95rem; margin: 0 0 10px; }
.jnd-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.jnd-tag { background: #f3f4f6; color: #374151; padding: 2px 8px; border-radius: 999px; font-size: 0.8rem; }

.jnd-actions { text-align: center; margin-top: 16px; }
.jnd-load-more { background: #111827; color: #fff; padding: 10px 16px; border: 0; border-radius: 6px; cursor: pointer; }
.jnd-load-more.is-disabled { opacity: 0.6; cursor: default; }

.jnd-error { color: #b91c1c; background: #fee2e2; border: 1px solid #fecaca; padding: 10px; border-radius: 6px; }
