/* ============================================================
   Moonlight Peaks · 月光专属内容组件（共享纸金主题）
   主题统一后（用户反馈 1）：页面加载 style.css（纸/金书卷）+ 本文件；
   本文件只保留月光小镇**专属内容组件**——筛选器 / 成就追踪器 / 角色档案卡 /
   月光封底。全部使用 style.css 的共享 token，不再定义深色皮肤或独立导航骨架。
   ============================================================ */

/* ---------- 筛选器（渐进增强，无 JS 时整块不存在） ---------- */
.moon-filter{padding:12px 14px 4px}
.moon-filter-search{display:flex;gap:8px;align-items:center}
.moon-filter-search .moon-search{flex:1}
.moon-search{width:100%;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 12px;font-family:"Inter",sans-serif;font-size:.9rem}
.moon-search:focus{outline:2px solid var(--gold);border-color:transparent}
.moon-reset{background:transparent;border:1px solid var(--line);color:var(--ink-soft);border-radius:8px;
  padding:9px 14px;font-family:"Inter",sans-serif;font-size:.85rem;cursor:pointer;min-height:44px;
  transition:border-color .2s var(--ease),color .2s var(--ease)}
.moon-reset:hover{border-color:var(--gold);color:var(--gold)}
.moon-reset:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.moon-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.moon-chip-label{font-family:"Inter",sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-right:2px}
.moon-chip{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);border-radius:99px;
  padding:7px 13px;font-family:"Inter",sans-serif;font-size:.82rem;cursor:pointer;min-height:36px;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.moon-chip:hover{border-color:var(--gold);color:var(--ink)}
.moon-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.moon-chip[aria-pressed="true"]{background:rgba(184,134,11,.14);border-color:var(--gold);color:var(--deep);font-weight:600}
.moon-count{margin:10px 0 0;font-family:"Inter",sans-serif;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.moon-empty{margin:0;padding:16px 14px 18px;color:var(--ink-soft);font-size:.9rem;text-align:center}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 59 成就追踪器 ---------- */
.ach-panel{padding:14px 14px 2px}
.ach-progress{margin:0 0 4px}
.ach-bar{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--terra),var(--gold-soft));width:0;transition:width .3s var(--ease);box-shadow:0 0 10px rgba(184,134,11,.35)}
.ach-meta{margin:6px 0 0;font-family:"Inter",sans-serif;font-size:.72rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.ach-ctrls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0 0}
.ach-hide{display:inline-flex;align-items:center;gap:.45em;font-size:.85rem;color:var(--ink-soft);cursor:pointer;min-height:44px}
.ach-hide input{width:16px;height:16px;accent-color:var(--gold)}
/* 复选框放在真正的 <td> 里（此前是直接塞进 <tr>，会被当成匿名单元格导致整表错列） */
.ach-col{width:44px;text-align:center}
.ach-cb{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}
.moon-table tbody tr.ach-hidden{display:none}

/* ---------- 角色档案卡（characters hub / 单页跳转） ---------- */
.moon-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:6px}
.char-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}
.char-card:hover{transform:translateY(-2px);border-color:var(--gold-soft);box-shadow:0 8px 24px rgba(184,134,11,.18);text-decoration:none}
.char-card-name{font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.05rem;color:var(--deep)}
.char-card-sub{font-family:"Inter",sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.char-card-note{font-size:.82rem;color:var(--ink-soft)}
.moon-cards .char-card[data-soon]{opacity:.75}

/* ---------- 月光封底（映射共享 colophon 深底金线） ---------- */
.moon-colophon{grid-column:2 / -1;margin:44px 38px 34px;padding:34px 38px;background:linear-gradient(180deg,var(--deep),var(--deep-2));color:rgba(237,227,206,.82);border-radius:16px;box-shadow:var(--shadow-md);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;position:relative;overflow:hidden}
.moon-colophon::before{content:"";position:absolute;inset:9px;border:1px solid rgba(217,182,74,.25);border-radius:10px;pointer-events:none}
.moon-colophon h3{color:#F5EDDB;font-size:26px;margin-bottom:8px;font-weight:700}
.moon-colophon p{font-size:13.5px;line-height:1.7}
.moon-colophon-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.moon-colophon-links a{color:rgba(237,227,206,.85);font-size:13.5px}
.moon-colophon-links a:hover{color:var(--gold-soft)}
.colophon-legal{font-size:12px;color:rgba(237,227,206,.5);margin-top:12px;border-top:1px solid rgba(237,227,206,.15);padding-top:10px}

/* ---------- 移动端 ---------- */
@media (max-width:960px){
  .moon-colophon{margin:24px 14px;grid-template-columns:1fr;padding:26px 22px}
  .consent-card{padding:22px 18px}.consent-actions button{width:100%}
}
@media (max-width:520px){.moon-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media (prefers-reduced-motion:reduce){
  .ach-bar,.moon-chip,.moon-reset{transition:none}
}
