.main-content { flex: 1; padding: 24px; overflow-y: auto; min-width: 0; }
.page-title { font-size: 1.6rem; font-weight: 700; margin-bottom: 6px; }
.page-subtitle { font-size: 0.9rem; color: #888; margin-bottom: 24px; }
.cards-grid { columns: 3 260px; gap: 20px; margin-bottom: 30px; }
.card {
  break-inside: avoid; margin-bottom: 20px;
  background: var(--card-bg); border: 1px solid var(--border-color);
  border-radius: 14px; overflow: hidden; box-shadow: var(--card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-top-color 0.3s ease;
  border-top: 3px solid transparent; cursor: pointer;
}
.card:hover { transform: translateY(-4px) scale(1.01); box-shadow: 0 12px 32px rgba(0,0,0,0.15); border-top-color: var(--accent-color); }
.card-thumb { width: 100%; height: 150px; background: linear-gradient(135deg, var(--accent-color), var(--secondary-color)); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; position: relative; overflow: hidden; }
.card-thumb::after { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Ccircle cx='20' cy='20' r='10'/%3E%3C/g%3E%3C/svg%3E"); }
.card-body { padding: 14px; }
.card-title { font-size: 0.95rem; font-weight: 600; margin-bottom: 6px; }
.card-meta { font-size: 0.78rem; color: #888; }
.card.featured .card-thumb { height: 220px; font-size: 3.5rem; }
.section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.section-title { font-size: 1.1rem; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.section-link { font-size: 0.82rem; color: var(--secondary-color); }
.hero {
  border-radius: 16px; padding: 40px; color: #fff; margin-bottom: 28px;
  background: linear-gradient(270deg, var(--primary-color), var(--secondary-color), #9c27b0, var(--primary-color));
  background-size: 400% 400%; animation: heroGradient 8s ease infinite;
  position: relative; overflow: hidden;
}
.hero::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/svg%3E"); }
@keyframes heroGradient { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.hero h1 { font-size: 2rem; margin-bottom: 10px; position: relative; }
.hero p { font-size: 0.95rem; opacity: 0.9; position: relative; }
@media (max-width: 768px) { .main-content { padding: 16px; } .hero { padding: 24px; } .hero h1 { font-size: 1.4rem; } .cards-grid { columns: 1; } }
