*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#111;background:#fafafa}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:18px}

.top{border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{text-decoration:none;font-weight:900;font-size:20px;letter-spacing:.2px}

.search{display:flex;gap:10px;align-items:center;width:100%;max-width:520px}
.search input{flex:1;padding:11px 12px;border:1px solid #e2e2e2;border-radius:12px;background:#fff;outline:none}
.search button{padding:11px 14px;border:1px solid #e2e2e2;border-radius:12px;background:#fff;font-weight:800;cursor:pointer}
.search button:hover{background:#f3f3f3}

h1{font-size:26px;margin:12px 0 10px}
h2{font-size:18px;margin:18px 0 10px}
.p{color:#444;line-height:1.65;margin:0 0 12px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card{display:block;border:1px solid #eee;border-radius:16px;overflow:hidden;text-decoration:none;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06);transition:.12s}

.thumb{aspect-ratio:1/1;background:#f2f2f2;display:flex;align-items:center;justify-content:center}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}

.meta{padding:10px 12px;color:#666;font-size:13px}
.meta .k{font-weight:900;color:#111;font-size:14px;margin-bottom:4px}

.detail{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;align-items:start}
@media (max-width: 920px){.detail{grid-template-columns:1fr}}

.panel{border:1px solid #eee;border-radius:16px;background:#fff;padding:12px}
.hero{border-radius:14px;overflow:hidden;border:1px solid #eee;background:#fff}
.hero img{width:100%;height:auto;display:block}

.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.badge{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid #eee;border-radius:999px;background:#fff;font-size:12px;color:#555}

.breadcrumb{font-size:13px;color:#777;margin:10px 0}
.breadcrumb a{text-decoration:none;color:#777}
.breadcrumb a:hover{text-decoration:underline}
.btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid #e2e2e2;background:#111;color:#fff;text-decoration:none;font-weight:900}
.btn:hover{opacity:.92}
.btn-ghost{background:#fff;color:#111}
.footer{border-top:1px solid #eee;margin-top:24px;color:#666;font-size:13px;background:#fff}