* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: system-ui, -apple-system, sans-serif;
    background: #0a0a0a;
    color: #fff;
    min-height: 100vh;
}
header {
    text-align: center;
    padding: 2rem 1rem 1rem;
    background: linear-gradient(180deg, #1a3a5c 0%, #0a0a0a 100%);
}
header h1 { font-size: 1.8rem; font-weight: 700; color: #fff; }
header p { color: #94a3b8; margin-top: 0.3rem; font-size: 0.95rem; }
.flag-row {
    display: flex; justify-content: center; gap: 1rem;
    margin: 0.5rem 0; font-size: 2.5rem;
}
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem; padding: 1.5rem; max-width: 1200px; margin: 0 auto;
}
.video-card {
    background: #1a1a2e; border-radius: 12px; overflow: hidden;
    transition: transform 0.2s;
}
.video-card:hover { transform: translateY(-3px); }
.video-card .video-wrap {
    position: relative; background: #000;
}
.video-card .video-wrap video {
    width: 100%; display: block; max-height: 70vh;
}
.video-card .caption {
    padding: 0.8rem 1rem; font-size: 0.85rem;
    color: #cbd5e1; line-height: 1.4;
}
.video-card .date {
    padding: 0 1rem 0.8rem; font-size: 0.75rem; color: #64748b;
}
.empty-state {
    grid-column: 1 / -1; text-align: center;
    padding: 4rem 1rem; color: #64748b;
}
footer {
    text-align: center; padding: 2rem;
    color: #475569; font-size: 0.8rem;
}
