:root{--bg: #f4f0e6;--card: #fffdf8;--ink: #2b2620;--ink-2: #6f675c;--line: #e2d9c6;--accent: #8a6d3b;--accent-2: #b98b4a;--radius: 14px;--shadow: 0 2px 12px rgba(80, 60, 30, .08)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;line-height:1.7}#top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;background:var(--card);border-bottom:1px solid var(--line)}#top .brand b{font-size:21px;letter-spacing:1px}#top .brand small{display:block;font-size:12.5px;color:var(--ink-2)}main{max-width:1120px;margin:0 auto;padding:18px 20px 40px}footer{max-width:1120px;margin:0 auto 40px;padding:0 20px;color:var(--ink-2);font-size:13px;display:flex;gap:8px;flex-wrap:wrap}.hero{text-align:center;padding:34px 18px 28px;margin-bottom:18px;background:linear-gradient(180deg,#fffdf8,#f2ead9);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero h1{margin:0 0 6px;font-size:34px;letter-spacing:8px;font-family:Songti SC,STSong,Georgia,serif}.hero p{margin:0;color:#6b5836;font-size:15px;letter-spacing:1px}.sect-title{font-size:18px;margin:22px 0 10px;color:#5d4f38}.fam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.fam-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;text-align:left;cursor:pointer;font:inherit;color:inherit}.fam-card:hover{border-color:var(--accent);transform:translateY(-2px);transition:.12s}.fam-name{font-size:24px;font-weight:700;font-family:Songti SC,STSong,Georgia,serif;letter-spacing:2px}.fam-tang{color:var(--accent);font-size:14px}.fam-place{color:var(--ink-2);font-size:14px}.fam-intro{color:#453f36;font-size:14.5px;min-height:44px}.fam-stats{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.fam-stats span{background:#f6f0e2;border:1px solid var(--line);border-radius:999px;padding:1px 10px}.fam-go{margin-top:4px;color:var(--accent);font-weight:600;font-size:15px}.note{margin-top:22px;padding:14px 16px;border-radius:var(--radius);background:#fffdf6;border:1px solid var(--line);color:#5b5142;font-size:14.5px}.note b{color:var(--accent)}.muted{color:var(--ink-2)}.err{color:#a5342c}
