/* ===== 不平凡的世界 · 星空主题 =====
   设计哲学：统一骨架 + 个性点缀
   —— 版面全局统一（庄重·传世），主题色（accent）随人变化。
   主题色通过 <body data-theme="..."> 切换，可选：warm/solemn/calm/sunny/lively
*/
:root{
  --bg:#070b16;
  --bg-2:#0d1526;
  --card:#121a2e;
  --text:#eae7de;
  --muted:#9aa0b0;
  /* 默认主题：暖金 warm */
  --accent:#e8b04b;
  --accent-light:#f5c76a;
  --accent-soft:rgba(232,176,75,.16);
  --accent-faint:rgba(232,176,75,.07);
  --serif:"Songti SC","Noto Serif SC","STSong","SimSun",serif;
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,"Segoe UI",sans-serif;
}
/* ===== 主题色（随人） ===== */
[data-theme="solemn"]{ --accent:#c0a06a; --accent-light:#d9bd90; --accent-soft:rgba(192,160,106,.16); --accent-faint:rgba(192,160,106,.07); }
[data-theme="calm"]{ --accent:#86b0e0; --accent-light:#a9c8ec; --accent-soft:rgba(134,176,224,.16); --accent-faint:rgba(134,176,224,.07); }
[data-theme="sunny"]{ --accent:#f4a950; --accent-light:#f8c37e; --accent-soft:rgba(244,169,80,.16); --accent-faint:rgba(244,169,80,.07); }
[data-theme="lively"]{ --accent:#e8917a; --accent-light:#f0b09e; --accent-soft:rgba(232,145,122,.16); --accent-faint:rgba(232,145,122,.07); }

*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  background:var(--bg);
  background-image:radial-gradient(1200px 600px at 80% -10%,var(--accent-faint),transparent 60%),
                   radial-gradient(900px 500px at 0% 110%,rgba(70,110,180,.08),transparent 60%);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.75;
  min-height:100vh;
}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-light);}

/* 星空（JS 生成 .star 元素） */
.stars{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.star{position:absolute;background:#fff;border-radius:50%;opacity:.75;animation:twinkle 4s ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:.25;}50%{opacity:.9;}}

.wrap{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 22px;}
.topbar{padding:20px 0;display:flex;align-items:center;justify-content:space-between;}
.brand{font-family:var(--serif);font-size:1.1rem;color:var(--text);letter-spacing:.06em;}
.brand .dot{color:var(--accent);}
.topbar nav a{margin-left:18px;color:var(--muted);font-size:.92rem;}

/* ===== 首页 ===== */
.hero{padding:70px 0 40px;text-align:center;}
.hero h1{font-family:var(--serif);font-size:clamp(2rem,6vw,3.2rem);font-weight:600;letter-spacing:.1em;color:var(--text);}
.hero h1 .accent{color:var(--accent);}
.hero .sub{margin-top:14px;color:var(--muted);font-size:1.02rem;letter-spacing:.2em;}

.person-grid{margin:30px 0 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;}
.pcard{
  background:var(--card);border:1px solid var(--accent-soft);border-radius:14px;
  padding:20px;display:block;transition:transform .18s ease,border-color .18s ease;
}
.pcard:hover{transform:translateY(-4px);border-color:var(--accent);text-decoration:none;}
.pcard .pname{font-family:var(--serif);font-size:1.25rem;color:var(--text);}
.pcard .pmeta{color:var(--muted);font-size:.85rem;margin:6px 0 12px;}
.pcard .pquote{color:var(--accent);font-family:var(--serif);font-size:.95rem;line-height:1.6;opacity:.9;}

/* ===== 人物详情页 ===== */
.phead{padding:54px 0 26px;text-align:center;border-bottom:1px solid var(--accent-soft);}
.phead .pname{font-family:var(--serif);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:600;}
.phead .pmeta{color:var(--muted);margin-top:12px;font-size:.95rem;letter-spacing:.08em;}
.phead .pmeta span{margin:0 8px;color:var(--accent);}
.pquote{margin:30px auto 0;max-width:640px;font-family:var(--serif);font-size:1.25rem;color:var(--accent-light);line-height:1.8;}
.pquote::before{content:"“";}
.pquote::after{content:"”";}

.photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0;}
.photos-single{grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto;}
.photos figure{border:1px solid var(--accent-soft);border-radius:14px;overflow:hidden;background:var(--bg-2);}
.photos img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;}
.photos figcaption{text-align:center;padding:12px;color:var(--muted);font-size:.85rem;letter-spacing:.1em;}

.story{font-family:var(--serif);font-size:1.14rem;line-height:2.05;color:var(--text);}
.story h1{display:none;}
.story h2{font-size:1.4rem;color:var(--accent);margin:2.2em 0 .6em;letter-spacing:.06em;}
.story p{margin:.9em 0;text-indent:2em;}
.story blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 20px;color:var(--accent-light);margin:1.4em 0;}

.words{margin:56px 0;padding:40px 28px;border:1px solid var(--accent);border-radius:16px;
  background:linear-gradient(180deg,var(--accent-faint),transparent);text-align:center;}
.words .label{color:var(--accent);font-size:.85rem;letter-spacing:.3em;margin-bottom:18px;}
.words p{font-family:var(--serif);font-size:1.3rem;line-height:2;color:var(--accent-light);}

.audio{display:flex;justify-content:center;margin:10px 0 50px;}
.audio video{max-width:640px;width:100%;border-radius:12px;}
.audio .hint{color:var(--muted);font-size:.9rem;border:1px dashed var(--accent-soft);border-radius:10px;padding:10px 20px;}

footer{border-top:1px solid var(--accent-soft);padding:40px 0 60px;text-align:center;color:var(--muted);font-size:.85rem;line-height:2;}
footer .qrbox{width:120px;height:120px;margin:16px auto;border:1px dashed var(--accent-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem;}

/* ===== 搜索与筛选 ===== */
.searchbar{margin:6px 0 12px;}
.searchbar input[type=search]{
  display:block;width:100%;max-width:560px;margin:0 auto;
  padding:14px 20px 14px 48px;border-radius:999px;border:1px solid var(--accent-soft);
  background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0b0' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat 18px center / 18px 18px;
  color:var(--text);font-size:1rem;font-family:var(--sans);
  outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;
}
.searchbar input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.searchbar input::placeholder{color:var(--muted);}
.filters{margin:18px auto 4px;max-width:560px;display:flex;flex-direction:column;gap:10px;align-items:stretch;}
.filterrow{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;align-items:center;}
.fglabel{color:#b8bfcd;font-size:.78rem;letter-spacing:.18em;margin-right:2px;}
.chip{
  border:1px solid var(--accent);background:transparent;color:#d5dae4;
  padding:6px 15px;border-radius:999px;font-size:.84rem;cursor:pointer;transition:.15s;
  font-family:var(--sans);letter-spacing:.03em;
}
.chip:hover{color:#fff;background:var(--accent-soft);}
.chip.active{background:var(--accent);color:#1a1306;font-weight:600;}
.resultline{margin:12px auto 4px;max-width:560px;text-align:center;color:var(--muted);font-size:.85rem;min-height:1.5em;display:flex;align-items:center;justify-content:center;gap:14px;}
.clearbtn{
  border:none;background:transparent;color:var(--accent);font-size:.84rem;cursor:pointer;
  padding:2px 6px;font-family:var(--sans);letter-spacing:.05em;
}
.clearbtn:hover{color:var(--accent-light);text-decoration:underline;}
.totalcount{text-align:center;color:var(--muted);font-size:.9rem;letter-spacing:.06em;margin:16px 0 2px;}
.totalcount b{color:var(--accent);font-size:1.1rem;margin:0 4px;font-weight:600;}

/* ===== 关于页 / 404 ===== */
.page{padding:40px 0 30px;font-family:var(--serif);}
.page h1{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:600;letter-spacing:.06em;}
.page h1 .accent{color:var(--accent);}
.page .sub{color:var(--muted);font-size:.95rem;margin-top:10px;letter-spacing:.1em;}
.page h2{font-size:1.3rem;color:var(--accent);margin:2.2em 0 .6em;letter-spacing:.06em;}
.page p{font-size:1.08rem;line-height:2.05;color:var(--text);margin:.9em 0;}
.page ul{font-size:1.05rem;line-height:2.05;color:var(--text);margin:.4em 0 1em 1.5em;}
.page li{margin:.3em 0;}
.page blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 20px;color:var(--accent-light);margin:1.6em 0;font-size:1.2rem;}
.errpage{padding-top:60px;}
.err404{font-family:var(--serif);font-size:clamp(4.5rem,16vw,8rem);color:var(--accent);text-align:center;line-height:1;font-weight:600;}
.btn{
  display:inline-block;border:1px solid var(--accent);color:var(--accent);
  padding:10px 26px;border-radius:999px;font-size:.95rem;transition:.15s;
}
.btn:hover{background:var(--accent);color:#1a1306;}

/* ===== 页脚：备案号 / 二维码 ===== */
footer .qrimg{width:120px;height:120px;margin:16px auto;border-radius:12px;display:block;}
footer .beian{margin-top:12px;font-size:.82rem;color:var(--muted);}
footer .beian a{color:var(--muted);}
footer .beian a:hover{color:var(--accent-light);}

/* ===== 详情页：元信息链接 / 关键词 / 上下篇导航 ===== */
.pmeta a, .ptags a{color:var(--muted);border-bottom:1px dotted var(--accent-soft);transition:.15s;}
.pmeta a:hover, .ptags a:hover{color:var(--accent);border-bottom-color:var(--accent);}
.ptags{text-align:center;color:var(--muted);font-size:.85rem;margin:0 0 36px;}
.ptags a{margin:0 2px;}
.pnav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 46px;padding-top:26px;border-top:1px solid var(--accent-soft);}
.pnav-link{flex:1;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem;transition:.15s;min-width:0;}
.pnav-link:hover{color:var(--accent);}
.pnav-dir{color:var(--accent);font-size:1.1rem;}
.pnav-right{justify-content:flex-end;text-align:right;}
.pnav-empty{flex:1;}
.pnav-home{flex:0 0 auto;color:var(--accent);font-size:.92rem;letter-spacing:.08em;}
.pnav-home:hover{color:var(--accent-light);}

@media(max-width:560px){
  .photos{grid-template-columns:1fr 1fr;gap:10px;}
  .story{font-size:1.08rem;line-height:1.95;}
}
