:root { --max: 1100px; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin:0; color:#111; background:#fff; }
header { border-bottom:1px solid #eee; }
nav { max-width: var(--max); margin: 0 auto; padding: 14px 16px; display:flex; gap:14px; align-items:center; }
nav a { text-decoration:none; color:#111; font-weight:600; }
nav a:hover { text-decoration:underline; }
main { max-width: var(--max); margin: 0 auto; padding: 18px 16px 60px; }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:14px; }
.card { border:1px solid #eee; border-radius:12px; overflow:hidden; background:#fff; }
.card img { width:100%; display:block; aspect-ratio: 16/9; object-fit:cover; }
.card .meta { padding:10px 12px; }
.small { color:#555; font-size: 13px; }
.row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.btn { border:1px solid #ddd; padding:8px 10px; border-radius:10px; background:#fff; cursor:pointer; }
.btn:hover { background:#f6f6f6; }
.filters { display:flex; gap:10px; flex-wrap:wrap; margin: 14px 0; }
select, input { padding:8px 10px; border-radius:10px; border:1px solid #ddd; }
footer { border-top:1px solid #eee; padding: 20px 0; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
.notice { background:#fafafa; border:1px solid #eee; padding:12px; border-radius:12px; }
