body {
    margin: 0;
    background: #f4f4f4;
    font-family: Arial, sans-serif;
}

header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#0f172a;
    color:white;
    padding:20px;
    flex-wrap:wrap;
}

.controls {
    display:flex;
    gap:10px;
}

input,
select,
button {
    padding:10px;
    border-radius:5px;
    border:none;
}

#news {
    max-width:1400px;
    margin:auto;
    padding:20px;
    display:grid;

    grid-template-columns:
        repeat(auto-fill,minmax(350px,1fr));

    gap:20px;
}

.article {
    background:white;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,0.1);
    padding:20px;
}

.article h3 {
    margin-top:0;
}

.article a {
    text-decoration:none;
    color:#2563eb;
}

.article a:hover {
    text-decoration:underline;
}

.category {
    color:#1d4ed8;
    font-weight:bold;
    margin-bottom:10px;
}

.source {
    color:#777;
    font-size:0.8rem;
}

.dark {
    background:#0f172a;
    color:white;
}

.dark .article {
    background:#1e293b;
}

.dark .article a {
    color:#60a5fa;
}
