:root{
  --text:#1f2937;--muted:#6b7280;--bg:#f7f8fb;--card:#ffffff;--border:#e5e7eb;
  --primary:#2563eb;--primary-600:#1d4ed8;--accent:#111827;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:1100px;margin:0 auto;padding:24px}
.nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.brand{font-weight:700;color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn:hover{border-color:#cfd6de}
.filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.input{width:260px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.select{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.card .thumb{height:160px;background:#eef2f7;display:block;background-size:cover;background-position:center}
.card .body{padding:14px}
.card .title{font-weight:700;margin-bottom:6px}
.card .meta{font-size:12px;color:var(--muted)}
.hero{height:280px;border-radius:12px;background-size:cover;background-position:center;margin-bottom:16px}
.detail{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px}
.detail .title{font-size:24px;font-weight:800;margin:6px 0}
.detail .meta{font-size:13px;color:var(--muted);margin-bottom:12px}
.detail .content{line-height:1.75}
.section{margin-top:18px}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef2ff;color:var(--primary-600);font-size:12px;font-weight:600}
.list{display:flex;flex-direction:column;gap:8px}
.list a{display:flex;gap:10px;align-items:center;color:var(--text);text-decoration:none;padding:8px;border:1px solid var(--border);border-radius:10px;background:#fff}
.list .mini{width:64px;height:48px;border-radius:8px;background-size:cover;background-position:center}
.footer{margin-top:24px;color:var(--muted);font-size:12px}
/* 布局与侧栏 */
.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}
.sidebar{position:sticky;top:16px;align-self:flex-start;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:12px}
.menu{padding:12px}
.menu-heading{font-weight:700;color:var(--accent);margin:6px 0}
.menu-list{list-style:none;padding:0;margin:0}
.menu-list li{margin:4px 0}
.menu-list button{width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;border-radius:8px;color:var(--text);cursor:pointer}
.menu-list button:hover{background:#f3f4f6}
.menu-sub .sub{padding-left:14px;color:var(--muted)}
@media (max-width:860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input{width:100%}}
@media (max-width:560px){.grid{grid-template-columns:repeat(1,minmax(0,1fr))}.layout{grid-template-columns:1fr}.sidebar{top:8px;max-height:none}}