/* css/style.css — 全局兜底 + 旧组件残余
 *
 * R5 清理（2026-05-02）：
 *   删除被 R3/R4 覆盖的死代码（约 250 行）：
 *     - crisis-* 系列 → R3 .cmodal/.cm-* 取代
 *     - modal-* 系列 → R3 .opmodal/.opm-* 取代
 *     - toast-* 系列 → R3 .toast-stack/.toast 新版取代
 *     - endgame-* / grade-* / radar-card → R4 .eg-host/.endscr 取代
 *     - lb-* 旧版 → R4 .lb-host/.lb-modal 新版取代
 *     - .nav 主菜单 → 已不再使用
 *   保留：全局 reset、body、.fate 字号覆盖、.screen 容器、.val-*、按钮、nickname 弹窗
 */

/* ── 全局 reset ── */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: var(--bg-1, #0a0e1a);
  color: var(--text-2, #98a3bd);
  font-family: var(--font-sans);
  font-size: 13px;
}

/* fate card 用设计稿的 15px / 1.55 line-height（覆盖 body 的 13px） */
.fate { font-size: var(--fs-body, 15px); line-height: 1.55; }
/* fate 全屏背景：tokens.css 的 .fate 默认 100%/100%，需要外层撑开 */
body:has(.fate) { background: var(--bg-0, #07090f); }
.screen:has(.fate) { padding: 0; min-height: 100vh; }

/* 数字/代号统一用等宽字体（金融终端感）—— 兜底，main-ui.css 各组件可覆盖 */
.metric-tile .metric-value, .metric-trend, .metric-unit,
.role-code, .quarter-badge, .round-badge,
.choice-tag, .action-code, .event-code, .event-time,
.proj-from, .proj-to, .proj-arrow,
.status-seed, .pulse-value, .pulse-delta, .pulse-row,
.log-q, .log-code,
.redemption-score, .redemption-banner-code,
.timer strong {
  font-family: var(--font-mono);
}

/* ── 屏幕容器 ── */
.screen { display: none; padding: 20px; min-height: calc(100vh - 42px); }
.screen.active { display: block; }

/* ── 数值色调（toneFromClass 输出） ── */
.val-ok { color: var(--ok, #4caf50); }
.val-warn { color: var(--warn, #ffb74d); }
.val-bad { color: var(--danger, #ef5350); }

/* ── 通用按钮（被 nickname-card / endgame 早期版本用，现在仅 nickname 用）── */
.btn-primary {
  padding: 12px 32px;
  background: var(--info, #4fc3f7);
  border: none;
  border-radius: var(--r-md, 6px);
  color: var(--bg-1, #0a0e1a);
  font-size: var(--fs-sm, 13px);
  letter-spacing: 0.08em;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.15s;
}
.btn-primary:hover { background: #5fcbf8; }

.btn-secondary {
  padding: 12px 32px;
  background: transparent;
  border: 1px solid var(--line-strong, rgba(120,140,200,0.22));
  border-radius: var(--r-md, 6px);
  color: var(--info, #4fc3f7);
  font-size: var(--fs-sm, 13px);
  cursor: pointer;
  transition: all 0.15s;
}
.btn-secondary:hover {
  border-color: var(--info, #4fc3f7);
  background: rgba(79, 195, 247, 0.06);
}

/* ── 昵称输入弹窗（renderNicknamePrompt） ── */
.nickname-card {
  background: var(--bg-2, #10162a);
  border: 1px solid var(--line-strong, rgba(120,140,200,0.22));
  border-radius: var(--r-lg, 10px);
  padding: var(--sp-7, 48px) var(--sp-6, 36px);
  text-align: center;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
}
.nickname-title {
  font-size: var(--fs-h2, 22px);
  color: var(--text-1, #e6ebf5);
  margin-bottom: var(--sp-2, 8px);
  letter-spacing: 0.02em;
}
.nickname-subtitle {
  font-size: var(--fs-sm, 13px);
  color: var(--text-3, #5b667f);
  margin-bottom: var(--sp-5, 24px);
}
.nickname-input {
  width: 100%;
  padding: var(--sp-3, 12px) var(--sp-4, 16px);
  background: var(--bg-1, #0a0e1a);
  border: 1px solid var(--line-strong, rgba(120,140,200,0.22));
  border-radius: var(--r-md, 6px);
  color: var(--text-1, #e6ebf5);
  font-size: var(--fs-body, 15px);
  font-family: var(--font-sans);
  text-align: center;
  outline: none;
  margin-bottom: var(--sp-5, 24px);
  transition: border-color 0.15s;
}
.nickname-input:focus { border-color: var(--info, #4fc3f7); }
.nickname-input::placeholder { color: var(--text-4, #38415a); }
.nickname-actions {
  display: flex;
  gap: var(--sp-3, 12px);
  justify-content: center;
}
