/* 批次25：与 src/route-shell.css 的 :root 兜底块逐条等值（契约：首屏 preboot 与全局兜底必须是同一套值）。 */
/* 批次25：全局中性/角色 token 兜底权威（design-system/ccfun-finance/MASTER.md 授权值）。
   这张表由 main.jsx 静态引入，六条顶层路由在首帧之前就加载它；
   blue-theme.css / public-site.css / admin-theme.css 各自只在一条路由上存在。
   没有这块兜底，var(--ink) 之类的引用在登录页与客服端就是解析不到的空值（文字回退成黑、边框消失）。 */
:root {
  --navy: #1e1c1a;
  --navy-2: #2a2d31;
  --nav-line: #34383d;
  --nav-line-raised: #4a4f56;
  --nav-thumb: #565b62;
  --slate-accent: #5a6068;
  --blue: #2b2926;
  --blue-dark: #1e1c1a;
  --ink: #2b2926;
  --ink-2: #55524d;
  --muted: #69655c;
  --line: #e0dcd6;
  --surface: #fff;
  --page: #efece7;
  --soft: #f7f4f0;
  --success: #0e6b5c;
  --warn: #8a5a0b;
  --coral: #a3202b;
  --success-line: #a9cfc5;
  --success-bg: #e7f2ee;
  --warn-line: #e8ce9c;
  --warn-bg: #fbf0dc;
  --danger-line: #e8b7b7;
  --danger-bg: #fbe9e9;
  --accent-bg: #f7f4f0;
  --ink-strong: #1e1c1a;
  --nav-ink: #ffffff;
  --nav-ink-2: #a8a49c;
  --nav-ink-3: #8b8880;
  --ink-faint: #9a958c;
  --line-control: #948f86;
  --neutral: #55524d;
  --neutral-line: #d8d3ca;
  --neutral-mark: #8a857b;
  --neutral-bg: #f2efea;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  background: var(--page);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.preboot-route-shell {
  min-height: 100dvh;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 20px;
  padding: 28px;
  color: var(--ink);
  text-align: center;
}

.preboot-route-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 18px;
}

.preboot-route-brand span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.preboot-route-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.preboot-route-progress {
  width: min(280px, 72vw);
  height: 3px;
  overflow: hidden;
  background: var(--line);
}

.preboot-route-progress i {
  width: 42%;
  height: 100%;
  display: block;
  background: var(--blue);
  animation: preboot-route-progress 1.1s ease-in-out infinite;
}

.preboot-route-shell p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
}

@keyframes preboot-route-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(260%); }
}

@media (prefers-reduced-motion: reduce) {
  .preboot-route-progress i {
    animation: none;
    transform: none;
  }
}
