:root{--ink:#20291f;--muted:#71816f;--line:#e2e7dc;--paper:#f7f8f3;--card:#fff;--accent:#496a4b}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
 font:16px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header.site{max-width:760px;margin:0 auto;padding:56px 22px 10px}
header.site h1{margin:0;font-size:30px;letter-spacing:.5px}
header.site p{margin:8px 0 0;color:var(--muted)}
main{max-width:760px;margin:0 auto;padding:22px}
article.post{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 28px;margin:0 0 18px}
article.post h2{margin:0 0 6px;font-size:20px;line-height:1.5}
article.post h2 a{color:var(--ink)}
.meta{color:var(--muted);font-size:13px;margin:0 0 12px}
.excerpt{color:#3d4a3c;margin:0}
.tags{margin:12px 0 0;font-size:12px;color:var(--muted)}
.body{white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0 0}
.body img,.body video{max-width:100%;border-radius:10px}
.media a{display:inline-block;margin:10px 10px 0 0}
a.video-link{display:inline-block;background:var(--accent);color:#fff;border-radius:10px;padding:10px 18px;margin:16px 0 0;font-size:15px}
a.video-link:hover{text-decoration:none;opacity:.9}
span.vbadge{display:inline-block;background:#eef2e8;color:var(--accent);border-radius:999px;padding:1px 9px;margin-left:8px;font-size:12px}
.videos{display:grid;gap:14px}
article.vcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
article.vcard h3{margin:0 0 6px;font-size:17px;line-height:1.5}
article.vcard h3 a{color:var(--ink)}
article.vcard .meta{margin:0 0 12px}
nav.back{margin:0 0 18px;font-size:14px}
nav.topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
nav.topics a{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px}
nav.topics small{color:var(--muted)}
section.group{margin:0 0 34px}
section.group h3{margin:0 0 14px;font-size:17px;padding-bottom:8px;border-bottom:1px solid var(--line)}
section.group h3 small{color:var(--muted);font-weight:400;font-size:13px}
footer{max-width:760px;margin:0 auto;padding:34px 22px 60px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);margin-top:26px}
.empty{background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:34px;color:var(--muted);text-align:center}
header.hero{max-width:760px;margin:0 auto;padding:74px 22px 26px}
header.hero h1{margin:0;font-size:40px;letter-spacing:1px;line-height:1.2}
header.hero .role{margin:10px 0 0;color:var(--accent);font-size:15px;letter-spacing:.4px}
header.hero .lede{margin:18px 0 0;color:#3d4a3c;font-size:17px;max-width:34em}
nav.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
a.pill{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:14px}
a.pill:hover{text-decoration:none;border-color:var(--accent)}
main.home{max-width:760px;margin:0 auto;padding:26px 22px 40px}
main.home section{margin:0 0 44px}
main.home h2{font-size:15px;letter-spacing:2px;color:var(--muted);font-weight:600;margin:0 0 16px;text-transform:uppercase}
main.home p{margin:0 0 14px;color:#3d4a3c}
.cards{display:grid;gap:14px}
article.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
article.card h3{margin:0 0 8px;font-size:17px;line-height:1.5;color:var(--ink)}
article.card h3 a{color:var(--ink)}
article.card p{margin:0;font-size:15px;color:#3d4a3c}
.tago{margin:12px 0 0!important}
span.tag{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:2px 10px;margin:0 6px 0 0;font-size:12px;color:var(--muted)}
p.foot-link{margin:16px 0 0}
a.more{font-size:14px}
ul.contact{list-style:none;padding:0;margin:0}
ul.contact li{padding:7px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}
ul.contact li a{color:var(--ink)}
@media(max-width:560px){header.hero{padding:44px 16px 18px}header.hero h1{font-size:30px}header.hero .lede{font-size:16px}
 main.home{padding:20px 16px 30px}article.card{padding:18px}}
@media(max-width:560px){header.site{padding:34px 16px 6px}header.site h1{font-size:24px}main{padding:16px}
 article.post{padding:20px;border-radius:12px}article.post h2{font-size:18px}}
