:root {
  --bg-color: #f8f9fa;
  --card-bg: #ffffff;
  --text-color: #333333;
  --primary-color: #e63946;
  --border-color: #e9ecef;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: var(--bg-color);
  color: var(--text-color);
  line-height: 1.6;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 16px;
}

.header {
  background: #1a1a1a;
  color: #fff;
  padding: 32px 0;
  text-align: center;
}

.header h1 { margin: 0; font-size: 1.8rem; }
.header p { margin: 8px 0 0; color: #aaa; font-size: 0.9rem; }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin: 32px auto;
}

.card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.date { font-size: 0.8rem; color: #888; }
.title { font-size: 1.05rem; margin: 8px 0; line-height: 1.4; }
.title a { color: var(--text-color); text-decoration: none; }
.title a:hover { color: var(--primary-color); }
.description { font-size: 0.85rem; color: #666; flex-grow: 1; margin-bottom: 16px; }

.btn {
  display: block;
  text-align: center;
  background: var(--primary-color);
  color: #fff;
  text-decoration: none;
  padding: 10px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 0.9rem;
}
.btn:hover { opacity: 0.9; }

.footer {
  text-align: center;
  padding: 24px 0;
  border-top: 1px solid var(--border-color);
  font-size: 0.8rem;
  color: #777;
}