/* 脚手架样式：只做干净可读的底版，21st.dev 样式来了直接替换本文件即可，HTML 结构不动 */
:root { --bg:#f4f1ea; --ink:#22201c; --muted:#77716a; --card:#fff; --line:#e5dfd5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; }
.top { max-width:1100px; margin:0 auto; padding:36px 20px 12px; display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.top h1 { margin:0; font-size:28px; letter-spacing:.02em; }
.top p { margin:8px 0 0; color:var(--muted); }
.badge { border:1px solid var(--line); background:var(--card); padding:6px 10px; border-radius:999px; font-size:13px; color:var(--muted); }
.filters { max-width:1100px; margin:12px auto 0; padding:0 20px; display:flex; gap:8px; }
.filters button { border:1px solid var(--line); background:var(--card); padding:8px 14px; border-radius:999px; cursor:pointer; }
.filters button.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.grid { max-width:1100px; margin:18px auto; padding:0 20px 30px; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; cursor:pointer; text-align:left; padding:0; font:inherit; }
.card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.card figcaption { padding:12px 14px 14px; }
.card strong { display:block; font-size:16px; }
.card span { color:var(--muted); font-size:13px; }
.note { max-width:1100px; margin:0 auto; padding:0 20px 40px; color:var(--muted); font-size:14px; }
.lightbox { position:fixed; inset:0; background:rgba(0,0,0,.88); display:flex; align-items:center; justify-content:center; padding:20px; z-index:10; }
.lightbox[hidden] { display:none; }
.lightbox figure { max-width:900px; width:100%; margin:0; color:#fff; }
.lightbox img { width:100%; max-height:78vh; object-fit:contain; background:#000; border-radius:8px; }
.lightbox figcaption { margin-top:10px; display:flex; gap:12px; flex-wrap:wrap; color:#ddd; }
#close { position:fixed; top:16px; right:20px; font-size:32px; background:none; border:0; color:#fff; cursor:pointer; }
