/* ============================================================
   Qicura · 积分系统前端样式（阶段 4）
   复用品牌 token：jade #2F4A3C · clay #A35A36 · 节气金 #C2A14E · cream #F6F1E7
   被 index.html（顶栏徽标 + 402 弹窗）与 credits.html（积分中心）共用。
   ============================================================ */

:root {
  --lb-jade: #2F4A3C;
  --lb-jade-d: #243A30;
  --lb-clay: #A35A36;
  --lb-gold: #C2A14E;
  --lb-cream: #F6F1E7;
  --lb-cream-2: #ECE3D2;
  --lb-paper: #FBF7EF;
  --lb-ink: #2D2620;
  --lb-ink-soft: #6B5E4F;
  --lb-line: #E3D8C2;
  --lb-serif: 'Fraunces', 'Noto Serif SC', Georgia, 'Noto Sans Arabic','Geeza Pro','Segoe UI Arabic',Tahoma,serif;
  --lb-sans: 'Inter', 'Noto Sans SC', system-ui, 'Noto Sans Arabic','Geeza Pro','Segoe UI Arabic',Tahoma,sans-serif;
  --lb-r: 16px;
  --lb-r-lg: 20px;
  --lb-r-pill: 999px;
  --lb-shadow-sm: 0 2px 10px rgba(47, 74, 60, .08);
  --lb-shadow: 0 14px 38px rgba(47, 74, 60, .14);
}

/* —— 顶栏积分徽标 —— */
.nav-credits-badge { display: inline-flex; align-items: center; }
.lb-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--lb-sans); font-weight: 600; font-size: 14px;
  color: var(--lb-jade); text-decoration: none;
  background: rgba(47, 74, 60, .07);
  border: 1px solid rgba(47, 74, 60, .18);
  border-radius: var(--lb-r-pill); padding: 6px 14px;
  transition: all .18s ease; white-space: nowrap;
}
.lb-badge:hover { background: var(--lb-jade); color: #fff; border-color: var(--lb-jade); }
.lb-badge__leaf { font-size: 13px; }
.lb-badge__num { font-weight: 700; }
.lb-badge__sub {
  font-size: 11px; font-weight: 700; letter-spacing: .04em;
  background: var(--lb-gold); color: #3b2e1d;
  border-radius: var(--lb-r-pill); padding: 1px 7px; margin-left: 2px;
}
.lb-badge--ghost { background: transparent; border-color: var(--lb-line); color: var(--lb-ink-soft); }
.lb-badge--ghost:hover { background: var(--lb-jade); color: #fff; border-color: var(--lb-jade); }

/* —— 大师问询每轮消耗提示 —— */
.mc-cost-hint {
  font-family: var(--lb-sans); font-size: 13px; color: var(--lb-ink-soft);
  padding: 4px 2px 8px; letter-spacing: .01em;
}
.mc-cost-hint--free { color: var(--lb-gold); font-weight: 600; }

/* —— 402 充值引导弹窗 —— */
.lb-modal-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(38, 33, 27, .5); backdrop-filter: blur(4px);
  display: none; align-items: center; justify-content: center; padding: 20px;
}
.lb-modal-overlay.open { display: flex; }
.lb-modal {
  position: relative; width: min(420px, 92vw);
  background: var(--lb-paper); border: 1px solid var(--lb-line);
  border-radius: var(--lb-r-lg); box-shadow: var(--lb-shadow);
  padding: 34px 30px 30px; text-align: center;
  font-family: var(--lb-sans);
}
.lb-modal__close {
  position: absolute; top: 14px; right: 16px;
  width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid var(--lb-line); background: transparent;
  color: var(--lb-ink-soft); font-size: 18px; line-height: 1; cursor: pointer;
  transition: all .15s ease;
}
.lb-modal__close:hover { color: var(--lb-jade); border-color: var(--lb-jade); }
.lb-modal__leaf { font-size: 34px; }
.lb-modal__title { font-family: var(--lb-serif); font-size: 24px; color: var(--lb-jade); margin: 8px 0 10px; }
.lb-modal__body { color: var(--lb-ink-soft); font-size: 15px; line-height: 1.6; margin: 0 0 22px; }
.lb-modal__cta { width: 100%; justify-content: center; text-decoration: none; }
/* 昵称弹窗（2026-10-07）：输入 / 错误条 / 暂不。
   错误条靠 hidden 属性控制显隐，且不依赖 styles.css 那条全局 [hidden] 规则 ——
   个人后台不一定加载它，写成 `.lb-nick-err{display:none}` + `:not([hidden])` 才在两个页面都成立。 */
.lb-nick-input { width: 100%; box-sizing: border-box; border: 1px solid var(--lb-line, #d8cfc0); border-radius: 10px; padding: 11px 13px; font-size: 15px; margin-bottom: 10px; }
.lb-nick-input:focus { outline: 2px solid var(--lb-jade); outline-offset: 1px; }
.lb-nick-err { display: none; color: #b56a5a; font-size: 13.5px; margin: 0 0 10px; }
.lb-nick-err:not([hidden]) { display: block; }
/* 「来自哪里」那一行（2026-10-07）：显隐同样只靠自己的 hidden 规则，不借 styles.css 那条全局的。
   下拉复用 .lb-nick-input 的框形，只补原生控件该有的光标与底色。 */
.lb-nick-country { display: none; }
.lb-nick-country:not([hidden]) { display: block; }
.lb-nick-label { display: block; font-size: 13.5px; color: var(--lb-ink-soft); margin: 4px 0 6px; }
select.lb-nick-input { background: #fff; cursor: pointer; font-family: inherit; }
.lb-nick-hint { margin: -2px 0 14px; font-size: 12.5px; line-height: 1.5; color: var(--lb-ink-soft); }
