:root{
  --bg:#f7f3ea; --card:#fffdf8; --ink:#2c2416; --muted:#7a6e5d;
  --accent:#8b3a2b; --accent2:#c4a35a; --line:#e6dcc8;
  --ok:#2f6b4f; --warn:#9a5b1f; --chip:#efe6d4;
  --shadow:0 8px 24px rgba(60,40,10,.08);
  --radius:14px; --max:960px;
  --font:"PingFang SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.site-header{background:linear-gradient(135deg,#5c2a22,#8b3a2b 60%,#b08a3c);color:#fff;padding:14px 0 18px;box-shadow:var(--shadow)}
.site-header .brand{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.site-header h1{margin:0;font-size:1.35rem;letter-spacing:.08em;font-weight:700}
.site-header .tag{opacity:.9;font-size:.85rem}
.nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.nav a{color:#fff;background:rgba(255,255,255,.14);padding:6px 12px;border-radius:999px;font-size:.9rem}
.nav a:hover{background:rgba(255,255,255,.28);text-decoration:none}
.hero{padding:22px 0 8px}
.hero h2{margin:0 0 6px;font-size:1.45rem}
.hero p{margin:0;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:14px 0;box-shadow:var(--shadow)}
.card h3{margin:0 0 12px;font-size:1.1rem;border-left:4px solid var(--accent2);padding-left:10px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:720px){.form-grid{grid-template-columns:repeat(4,1fr)}}
label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:4px}
input,select,button,textarea{font:inherit}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
button.btn{appearance:none;border:0;background:var(--accent);color:#fff;padding:11px 18px;border-radius:999px;cursor:pointer;font-weight:600}
button.btn:hover{filter:brightness(1.05)}
button.btn.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.chip{display:inline-block;background:var(--chip);padding:2px 8px;border-radius:999px;font-size:.8rem;margin:2px}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.pillar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 4px}
.pillar .name{font-size:.75rem;color:var(--muted)}
.pillar .gz{font-size:1.55rem;font-weight:700;letter-spacing:.12em;margin:6px 0;color:var(--accent)}
.pillar .meta{font-size:.75rem;color:var(--muted);line-height:1.4}
.wx-bars{display:grid;gap:8px}
.wx-bar{display:grid;grid-template-columns:2.2em 1fr 3em;gap:8px;align-items:center;font-size:.9rem}
.wx-bar .track{height:10px;background:#efe8da;border-radius:999px;overflow:hidden}
.wx-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:999px}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th,.table td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}
.table th{color:var(--muted);font-weight:600}
.excerpt{background:#fff;border-left:3px solid var(--accent2);padding:10px 12px;margin:8px 0;border-radius:0 10px 10px 0;font-size:.92rem}
.excerpt .cite{display:block;margin-top:6px;font-size:.78rem;color:var(--muted)}
.disclaimer{background:#fff8e8;border:1px solid #f0d9a8;color:#6a4e1f;padding:12px 14px;border-radius:12px;font-size:.88rem;margin:16px 0}
.site-footer{margin:28px 0 40px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
.site-footer .links{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.site-footer a{color:var(--accent)}
.search-box{display:flex;gap:8px}
.search-box input{flex:1}
.book-list{display:grid;gap:10px}
.book-item{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.book-item:hover{border-color:var(--accent2);text-decoration:none}
.book-item strong{display:block;color:var(--ink)}
.book-item span{font-size:.8rem;color:var(--muted)}
.toc a{display:block;padding:8px 0;border-bottom:1px dashed var(--line);color:var(--ink)}
.chapter-body{white-space:pre-wrap;font-size:.95rem;line-height:1.8}
.muted{color:var(--muted)}
.badge{display:inline-block;padding:1px 8px;border-radius:6px;background:#f3e7d3;font-size:.75rem;margin-left:4px}
.share-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hidden{display:none!important}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.tabs button{border:1px solid var(--line);background:#fff;padding:7px 12px;border-radius:999px;cursor:pointer}
.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* birth place cascade */
.place-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
@media(min-width:720px){.place-grid{grid-template-columns:repeat(3,1fr)}}
.place-search-wrap{position:relative;margin-top:10px}
.place-search-hits{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.search-hit{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer;font:inherit}
.search-hit:hover{background:#f7f0e4}
.place-meta{margin-top:8px;font-size:.88rem;color:var(--muted)}
.place-meta strong{color:var(--ink);font-weight:600}
.lng-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:10px}


/* v3 白话解读 */
.baihua-card{border:1px solid #e0d2bf;background:linear-gradient(180deg,#fffaf2,#fff)}
.baihua-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.baihua-head h3{margin:0}
.baihua-actions{display:flex;gap:8px;flex-wrap:wrap}
.baihua-sec{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line)}
.baihua-sec h4{margin:0 0 8px;font-size:1.05rem;color:var(--ink)}
.baihua-p{line-height:1.85;margin:0 0 12px;color:#3b2414}
.baihua-cites{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:8px;vertical-align:middle}
.baihua-cite{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#f0e4d4;color:#6b4a32;text-decoration:none;border:1px solid #e0d2bf}
.baihua-cite:hover{background:#e8d5bc}
.cite-flash{animation:citeFlash 1.6s ease}
@keyframes citeFlash{0%,100%{box-shadow:none}20%,60%{box-shadow:0 0 0 3px rgba(180,120,60,.45)}}

.baihua-current{background:#fff3e0;border-left:3px solid #c47a2c;padding:10px 12px;border-radius:6px}
.baihua-disc-top,.baihua-disc-end{font-size:.9rem;color:#7a5c45;line-height:1.7}
.cite-flash{outline:2px solid #c47a2c;outline-offset:4px;transition:outline .2s}
