/* ============================================================
   设计系统 P0 统一基线（极简数据型 + 雾面点缀）
   覆盖策略：与 apple/cartoon 主题同级选择器后置覆盖；
   关键声明加 !important 以压过 apple-theme 的 !important。
   只做设计收敛，不改任何文案/跳转/流程/API。
   ============================================================ */

/* ---------- 1. 设计 Token ---------- */
:root {
  /* 品牌色：电光青主色 + 深一号实心（白字对比 ≥4.5:1）+ 琥珀点缀 */
  --ds-primary: #00bfa6;
  --ds-primary-strong: #006b58;
  --ds-primary-hover: #00594a;
  --ds-primary-weak: rgba(0, 191, 166, 0.12);
  --ds-accent: #ffb020;

  --ds-bg: #f5f6f8;
  --ds-surface: #ffffff;
  --ds-text: #1a1d23;
  --ds-muted: #5f6670;
  --ds-border: #e5e7eb;
  --ds-line-soft: #edeef2;

  --ds-success: #16a34a;
  --ds-success-weak: rgba(22, 163, 74, 0.1);
  --ds-danger: #e5484d;
  --ds-danger-weak: rgba(229, 72, 77, 0.1);
  --ds-warning: #f59e0b;
  --ds-warning-weak: rgba(245, 158, 11, 0.12);

  --ds-radius-sm: 8px;
  --ds-radius-md: 12px;
  --ds-radius-lg: 16px;
  --ds-shadow-1: 0 1px 2px rgba(16, 24, 40, 0.04);
  --ds-shadow-2: 0 8px 24px rgba(16, 24, 40, 0.08);
  --ds-shadow-focus: 0 0 0 3px rgba(0, 107, 88, 0.25);
}

/* 旧变量兼容层：同特异性后置覆盖 cartoon-theme 的蓝绿残留 */
html[data-cartoon="on"][data-theme="light"],
html[data-cartoon="on"][data-theme="dark"] {
  --apple-blue: #00876f;
  --apple-blue-soft: rgba(0, 191, 166, 0.12);
  --apple-bg: #f5f6f8;
  --apple-surface: #ffffff;
  --apple-ink: #1a1d23;
  --apple-muted: #5f6670;
  --apple-line: #e5e7eb;
  --apple-line-soft: #edeef2;
  --apple-radius: 16px;
  --apple-green: #16a34a;
  --apple-red: #e5484d;
  --apple-faint: #5f5f63;
  --ink: #1a1d23;
  --muted: #5f6670;
  --line: #e5e7eb;
  --bg: #f5f6f8;
  --blue: #00876f;
  --soft: rgba(0, 191, 166, 0.12);
  --green: #16a34a;
  --card: #ffffff;
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

/* 暗色旧变量 */
html[data-cartoon="on"][data-theme="dark"] {
  --ds-bg: #0b0f14;
  --ds-surface: #14181f;
  --ds-text: #edeff3;
  --ds-muted: #9aa3b0;
  --ds-border: #2a2f38;
  --ds-line-soft: #232832;
  --ds-primary: #2be0c2;
  --ds-primary-strong: #35d0b4;
  --ds-primary-hover: #2cbb9f;
  --ds-primary-weak: rgba(43, 224, 194, 0.14);
  --ds-success: #4ade80;
  --ds-danger: #ff6b6e;
  --ds-warning: #ffc53d;
  --ds-success-weak: rgba(74, 222, 128, 0.12);
  --ds-danger-weak: rgba(255, 107, 110, 0.12);
  --ds-warning-weak: rgba(255, 197, 61, 0.14);
  --apple-bg: #0b0f14;
  --apple-surface: #14181f;
  --apple-ink: #edeff3;
  --apple-muted: #9aa3b0;
  --apple-faint: #8a919c;
  --apple-line: #2a2f38;
  --apple-line-soft: #232832;
  --apple-blue: #35d0b4;
  --ink: #edeff3;
  --muted: #9aa3b0;
  --line: #2a2f38;
  --bg: #0b0f14;
  --blue: #35d0b4;
  --soft: rgba(43, 224, 194, 0.14);
  --card: #14181f;
}

/* ---------- 2. 按钮：四档 + 统一 40px / 12px（去胶囊与卡通渐变/绿残留） ---------- */
html[data-cartoon="on"] .btn {
  min-height: 40px !important;
  padding: 9px 18px !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 12px !important;
  background: var(--ds-surface) !important;
  color: var(--ds-text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: var(--ds-shadow-1) !important;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}
html[data-cartoon="on"] .btn:hover { background: #f7f8fa !important; box-shadow: var(--ds-shadow-2) !important; }
html[data-cartoon="on"] .btn:active:not(:disabled) { transform: translateY(1px); box-shadow: none !important; }
html[data-cartoon="on"] .btn:disabled { opacity: 0.45; cursor: not-allowed; box-shadow: none !important; }

/* 主按钮：实心主色 */
html[data-cartoon="on"] .btn.primary {
  background: var(--ds-primary-strong) !important;
  border-color: var(--ds-primary-strong) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 9px 18px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(0, 107, 88, 0.25) !important;
}
html[data-cartoon="on"] .btn.primary:hover { background: var(--ds-primary-hover) !important; border-color: var(--ds-primary-hover) !important; }
html[data-cartoon="on"] .btn.primary:disabled { background: var(--ds-primary-strong) !important; border-color: var(--ds-primary-strong) !important; opacity: 0.45; }

/* 次级：Tonal（主色 12% 底 + 主色字，无边框） */
html[data-cartoon="on"] .btn.secondary {
  background: var(--ds-primary-weak) !important;
  border-color: transparent !important;
  color: var(--ds-primary-strong) !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .btn.secondary:hover { background: rgba(0, 191, 166, 0.2) !important; box-shadow: none !important; }
/* 首页次级 CTA 特例（原 0,4,1 规则压顶） */
html[data-cartoon="on"] .btn.secondary.home-pricing-cta {
  background: var(--ds-primary-weak) !important;
  border-color: transparent !important;
  color: var(--ds-primary-strong) !important;
  border-radius: 12px !important;
}

/* 幽灵/文字 */
html[data-cartoon="on"] .btn.ghost {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--ds-primary-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .btn.ghost:hover { background: var(--ds-primary-weak) !important; }

/* 危险 */
html[data-cartoon="on"] .btn.danger {
  background: var(--ds-danger-weak) !important;
  border-color: rgba(229, 72, 77, 0.35) !important;
  color: var(--ds-danger) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .btn.danger:hover { background: rgba(229, 72, 77, 0.16) !important; }

/* 小按钮：32px / 10px */
html[data-cartoon="on"] .btn.small {
  min-height: 32px !important;
  padding: 5px 12px !important;
  font-size: 12.5px !important;
  border-radius: 10px !important;
}

/* 兜底：普通 .btn 不允许再出现卡通绿 */
html[data-cartoon="on"] .btn:not(.primary):not(.secondary):not(.ghost):not(.danger) {
  border-color: var(--ds-border) !important;
  background: var(--ds-surface) !important;
  color: var(--ds-text) !important;
  box-shadow: var(--ds-shadow-1) !important;
}

/* ---------- 3. 输入/下拉/搜索：40px / 10px / 主色焦点环 ---------- */
html[data-cartoon="on"] .input {
  min-height: 40px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 10px !important;
  background: var(--ds-surface) !important;
  color: var(--ds-text) !important;
  font-size: 14px !important;
}
html[data-cartoon="on"] .input:focus,
html[data-cartoon="on"] .input:focus-visible {
  outline: none !important;
  border-color: var(--ds-primary-strong) !important;
  box-shadow: var(--ds-shadow-focus) !important;
}
html[data-cartoon="on"] textarea.input { min-height: 96px !important; }
html[data-cartoon="on"] select.input { min-height: 40px !important; }

/* ---------- 4. 卡片：16px / 细边框 / 浅阴影分层 ---------- */
html[data-cartoon="on"] .card,
html[data-cartoon="on"] .home-advantage-card,
html[data-cartoon="on"] .home-service-summary,
html[data-cartoon="on"] .status-overview,
html[data-cartoon="on"] .status-card,
html[data-cartoon="on"] .price-card,
html[data-cartoon="on"] .stat-card,
html[data-cartoon="on"] .announcement-card,
html[data-cartoon="on"] .model-usage-card,
html[data-cartoon="on"] .quick-card,
html[data-cartoon="on"] .recharge-section,
html[data-cartoon="on"] .recharge-summary,
html[data-cartoon="on"] .balance-panel,
html[data-cartoon="on"] .key-table-card,
html[data-cartoon="on"] .docs-code-panel,
html[data-cartoon="on"] .announcement-panel,
html[data-cartoon="on"] .route-create-dialog,
html[data-cartoon="on"] .user-console-table,
html[data-cartoon="on"] .support-contact,
html[data-cartoon="on"] .user-console-section,
html[data-cartoon="on"] .user-console-order-create,
html[data-cartoon="on"] .chat-workspace {
  background: var(--ds-surface) !important;
  border: 1px solid var(--ds-line-soft) !important;
  border-radius: 16px !important;
  background-image: none !important;
  box-shadow: var(--ds-shadow-1) !important;
}
/* 强调卡：加深阴影层级 */
html[data-cartoon="on"] .status-card,
html[data-cartoon="on"] .price-card,
html[data-cartoon="on"] .balance-panel,
html[data-cartoon="on"] .user-console-table,
html[data-cartoon="on"] .user-console-dialog-card {
  box-shadow: var(--ds-shadow-2) !important;
}
html[data-cartoon="on"] .card:hover,
html[data-cartoon="on"] .home-advantage-card:hover,
html[data-cartoon="on"] .price-card:hover {
  box-shadow: var(--ds-shadow-2) !important;
  transform: translateY(-1px);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
html[data-cartoon="on"] .card::before,
html[data-cartoon="on"] .card::after,
html[data-cartoon="on"] .status-card::before,
html[data-cartoon="on"] .status-card::after,
html[data-cartoon="on"] .price-card::before,
html[data-cartoon="on"] .price-card::after { display: none !important; }

/* ---------- 5. 导航：8px / 单强调 ---------- */
html[data-cartoon="on"] .nav-item {
  min-height: 40px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--ds-text) !important;
  transform: none !important;
}
html[data-cartoon="on"] .nav-item:hover { background: rgba(16, 24, 40, 0.05) !important; }
html[data-cartoon="on"] .nav-item.active {
  background: var(--ds-primary-weak) !important;
  color: var(--ds-primary-strong) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .nav-item.active::before { display: none !important; }

/* ---------- 6. 文字链接 / 复制/文档按钮：去胶囊去绿 ---------- */
html[data-cartoon="on"] .text-link { color: var(--ds-primary-strong) !important; font-weight: 500 !important; }
html[data-cartoon="on"] .docs-copy,
html[data-cartoon="on"] .docs-code-head button,
html[data-cartoon="on"] .docs-tabs button,
html[data-cartoon="on"] .docs-text-link {
  border-radius: 10px !important;
  border: 1px solid var(--ds-border) !important;
  background: var(--ds-surface) !important;
  color: var(--ds-primary-strong) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .docs-copy:hover { background: var(--ds-primary-weak) !important; }

/* ---------- 7. 定价筛选区：摘要去蓝边框，行内操作去绿胶囊 ---------- */
html[data-cartoon="on"] .pricing-summary {
  background: var(--ds-primary-weak) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--ds-muted) !important;
}
html[data-cartoon="on"] .pricing-summary strong { color: var(--ds-text) !important; font-weight: 600 !important; }
html[data-cartoon="on"] .row-actions .btn,
html[data-cartoon="on"] .pricing-table .row-actions .btn,
html[data-cartoon="on"] .status-detail-toggle,
html[data-cartoon="on"] [data-status-detail],
html[data-cartoon="on"] [data-price-detail],
html[data-cartoon="on"] [data-price-copy] {
  border-radius: 10px !important;
  border: 1px solid var(--ds-border) !important;
  background: var(--ds-surface) !important;
  color: var(--ds-primary-strong) !important;
  box-shadow: none !important;
}
html[data-cartoon="on"] .pricing-toolbar .pf-actions .btn {
  align-self: center;
  min-height: 40px !important;
  padding: 9px 18px !important;
}
html[data-cartoon="on"] .pricing-group-segments button,
html[data-cartoon="on"] [data-pricing-group] {
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
  font-weight: 500 !important;
}
html[data-cartoon="on"] .pricing-group-segments button.active,
html[data-cartoon="on"] [data-pricing-group].active {
  background: var(--ds-primary-weak) !important;
  color: var(--ds-primary-strong) !important;
  font-weight: 600 !important;
}

/* ---------- 8. 表格：表头 12px 灰、数字等宽 ---------- */
html[data-cartoon="on"] .apple-table th,
html[data-cartoon="on"] .list-table th,
html[data-cartoon="on"] .usage-log-table th {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ds-muted) !important;
  letter-spacing: 0.02em !important;
}
html[data-cartoon="on"] .apple-table td,
html[data-cartoon="on"] .list-table td,
html[data-cartoon="on"] .usage-log-table td { font-size: 13.5px !important; }
html[data-cartoon="on"] .num,
html[data-cartoon="on"] .price-num,
html[data-cartoon="on"] td.num,
html[data-cartoon="on"] .usage-log-token,
html[data-cartoon="on"] .status-node-latency,
html[data-cartoon="on"] .status-metric-cell strong,
html[data-cartoon="on"] .price-amount,
html[data-cartoon="on"] .key-mask {
  font-variant-numeric: tabular-nums;
}

/* ---------- 9. 标签/徽章：6px 药丸 + 语义色弱底 ---------- */
html[data-cartoon="on"] .badge,
html[data-cartoon="on"] .key-status,
html[data-cartoon="on"] .price-billing-badge,
html[data-cartoon="on"] .price-group-tag,
html[data-cartoon="on"] .announcement-cat {
  border-radius: 6px !important;
  font-weight: 600 !important;
}
html[data-cartoon="on"] .badge.green,
html[data-cartoon="on"] .key-status.green { background: var(--ds-success-weak) !important; color: var(--ds-success) !important; }
html[data-cartoon="on"] .badge.amber,
html[data-cartoon="on"] .key-status.amber { background: var(--ds-warning-weak) !important; color: #b45309 !important; }
html[data-cartoon="on"] .badge.red { background: var(--ds-danger-weak) !important; color: var(--ds-danger) !important; }
html[data-cartoon="on"] .status-light i,
html[data-cartoon="on"] .status-dot { width: 8px; height: 8px; }
html[data-cartoon="on"] .status-light.status-ok i,
html[data-cartoon="on"] .status-light.status-healthy i {
  background: var(--ds-success);
  box-shadow: 0 0 0 3px var(--ds-success-weak);
  animation: ds-pulse 2.4s ease-in-out infinite;
}
@keyframes ds-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }

/* ---------- 10. 雾面点缀（④）：弹窗 / Toast 毛玻璃 ---------- */
html[data-cartoon="on"] .user-console-dialog { background: transparent; }
html[data-cartoon="on"] .user-console-dialog .user-console-dialog-card,
html[data-cartoon="on"] .user-console-dialog form,
html[data-cartoon="on"] .key-dialog-card,
html[data-cartoon="on"] .points-dialog-card {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 20px 60px rgba(16, 24, 40, 0.22) !important;
}
html[data-cartoon="on"] .toast {
  background: rgba(16, 24, 40, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(16, 24, 40, 0.25) !important;
}

/* ---------- 11. 间距收敛 ---------- */
html[data-cartoon="on"] .page { padding: 44px 48px 72px; }
html[data-cartoon="on"] .page-head { margin-bottom: 28px; }
html[data-cartoon="on"] .section-title { margin-bottom: 24px; }
html[data-cartoon="on"] .home-hero-inner { padding: 40px 0 24px; }
html[data-cartoon="on"] .home-advantages { gap: 16px; margin: 28px 0; }
html[data-cartoon="on"] .home-service-summary { margin-top: 28px; }
html[data-cartoon="on"] .user-console-dashboard { gap: 20px; }
html[data-cartoon="on"] .user-console-section + .user-console-section { margin-top: 16px; }

/* ---------- 12. 暗色模式组件覆盖 ---------- */
html[data-cartoon="on"][data-theme="dark"] body { background: var(--ds-bg); color: var(--ds-text); }
html[data-cartoon="on"][data-theme="dark"] .btn { background: #1a2028 !important; border-color: var(--ds-border) !important; color: var(--ds-text) !important; box-shadow: none !important; }
html[data-cartoon="on"][data-theme="dark"] .btn.primary { background: var(--ds-primary-strong) !important; border-color: var(--ds-primary-strong) !important; color: #0b0f14 !important; font-weight: 700 !important; }
html[data-cartoon="on"][data-theme="dark"] .btn.secondary { background: var(--ds-primary-weak) !important; color: var(--ds-primary) !important; border-color: transparent !important; }
html[data-cartoon="on"][data-theme="dark"] .btn:hover { background: #1f2730 !important; }
html[data-cartoon="on"][data-theme="dark"] .btn.primary:hover { background: var(--ds-primary-hover) !important; }
html[data-cartoon="on"][data-theme="dark"] .input { background: #14181f !important; border-color: var(--ds-border) !important; color: var(--ds-text) !important; }
html[data-cartoon="on"][data-theme="dark"] .card,
html[data-cartoon="on"][data-theme="dark"] .home-advantage-card,
html[data-cartoon="on"][data-theme="dark"] .home-service-summary,
html[data-cartoon="on"][data-theme="dark"] .status-card,
html[data-cartoon="on"][data-theme="dark"] .price-card,
html[data-cartoon="on"][data-theme="dark"] .stat-card,
html[data-cartoon="on"][data-theme="dark"] .announcement-card,
html[data-cartoon="on"][data-theme="dark"] .model-usage-card,
html[data-cartoon="on"][data-theme="dark"] .recharge-section,
html[data-cartoon="on"][data-theme="dark"] .balance-panel,
html[data-cartoon="on"][data-theme="dark"] .key-table-card,
html[data-cartoon="on"][data-theme="dark"] .user-console-table,
html[data-cartoon="on"][data-theme="dark"] .user-console-section,
html[data-cartoon="on"][data-theme="dark"] .user-console-order-create,
html[data-cartoon="on"][data-theme="dark"] .chat-workspace {
  background: var(--ds-surface) !important;
  border-color: var(--ds-line-soft) !important;
}
html[data-cartoon="on"][data-theme="dark"] .pricing-summary { background: var(--ds-primary-weak) !important; }
html[data-cartoon="on"][data-theme="dark"] .toast { background: rgba(13, 17, 23, 0.92) !important; }
html[data-cartoon="on"][data-theme="dark"] .user-console-dialog .user-console-dialog-card,
html[data-cartoon="on"][data-theme="dark"] .key-dialog-card,
html[data-cartoon="on"][data-theme="dark"] .points-dialog-card {
  background: rgba(20, 24, 31, 0.82) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-cartoon="on"][data-theme="dark"] .nav-item { color: var(--ds-text) !important; }
html[data-cartoon="on"][data-theme="dark"] .nav-item.active { background: var(--ds-primary-weak) !important; color: var(--ds-primary) !important; }
html[data-cartoon="on"][data-theme="dark"] .text-link { color: var(--ds-primary) !important; }
html[data-cartoon="on"][data-theme="dark"] .account-link,
html[data-cartoon="on"][data-theme="dark"] #accountBtn { color: var(--ds-primary) !important; }
html[data-cartoon="on"][data-theme="dark"] .user-console-head>div>span,
html[data-cartoon="on"][data-theme="dark"] .user-console-section-head span,
html[data-cartoon="on"][data-theme="dark"] .user-console-order-create>div>span,
html[data-cartoon="on"][data-theme="dark"] .user-console-dialog header span { color: #9aa3b0 !important; }
html[data-cartoon="on"][data-theme="dark"] .brand-copy small,
html[data-cartoon="on"][data-theme="dark"] .home-service-label,
html[data-cartoon="on"][data-theme="dark"] .hs-cell span,
html[data-cartoon="on"][data-theme="dark"] .side-label { color: #9aa3b0 !important; }
html[data-cartoon="on"][data-theme="dark"] .docs-copy { background: #14181f !important; border-color: var(--ds-border) !important; color: var(--ds-primary) !important; }

/* 移动端触控高度 */
@media (max-width: 600px) {
  html[data-cartoon="on"] .btn { min-height: 44px !important; }
  html[data-cartoon="on"] .btn.small { min-height: 36px !important; }
}

/* ---------- 13. P1 首页：实时数据带 + 品牌拓扑背景 ---------- */
html[data-cartoon="on"] .home-hero { position: relative; overflow: hidden; }
html[data-cartoon="on"] .hero-topology-bg {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}
html[data-cartoon="on"] .hero-topology-bg circle { fill: var(--ds-primary); }
html[data-cartoon="on"] .hero-topology-bg path { stroke: var(--ds-primary); stroke-width: 1.2; stroke-dasharray: 6 5; animation: ds-flow 14s linear infinite; }
@keyframes ds-flow { to { stroke-dashoffset: -220; } }
html[data-cartoon="on"] .home-hero-inner { position: relative; z-index: 1; }
html[data-cartoon="on"] .home-realtime {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 760px;
  margin: 28px auto 0;
  padding: 16px 20px;
  border: 1px solid var(--ds-line-soft);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: var(--ds-shadow-1);
}
html[data-cartoon="on"] .hr-item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
  row-gap: 2px;
  align-items: center;
  text-align: left;
}
html[data-cartoon="on"] .hr-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ds-success);
  grid-row: 1 / 3;
  box-shadow: 0 0 0 3px var(--ds-success-weak);
  animation: ds-pulse 2.4s ease-in-out infinite;
}
html[data-cartoon="on"] .hr-label { color: var(--ds-muted); font-size: 12px; font-weight: 600; letter-spacing: 0.03em; }
html[data-cartoon="on"] .hr-value { color: var(--ds-text); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
html[data-cartoon="on"] .hr-item small { grid-column: 1 / -1; color: var(--ds-muted); font-size: 11.5px; }

/* ---------- 14. P2/P3：加载骨架屏（shimmer）与小块统一 ---------- */
html[data-cartoon="on"] .user-console-state,
html[data-cartoon="on"] .route-attempt-empty {
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.6) 50%, transparent 70%);
  background-color: #f3f4f6;
  background-size: 200% 100%;
  animation: ds-shimmer 1.6s linear infinite;
}
@keyframes ds-shimmer { to { background-position: -200% 0; } }
html[data-cartoon="on"] .console-usage-stat,
html[data-cartoon="on"] .status-metric-cell,
html[data-cartoon="on"] .price-cell,
html[data-cartoon="on"] .status-aggregate > div {
  background: #f7f8fa;
  border: 1px solid var(--ds-line-soft);
  border-radius: 12px;
}
html[data-cartoon="on"] .status-metric-cell strong,
html[data-cartoon="on"] .price-cell strong { color: var(--ds-text); }

/* ---------- 15. P3 品牌图形标（节点 + 流线） ---------- */
html[data-cartoon="on"] .brand-logo {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: var(--ds-primary-weak);
  color: var(--ds-primary-strong);
  font-size: 17px;
  font-weight: 700;
}

/* ---------- 16. P3 Toast：图标 + 可关闭 ---------- */
html[data-cartoon="on"] .toast { display: flex; align-items: center; gap: 10px; padding: 12px 14px; min-width: 260px; max-width: 420px; }
html[data-cartoon="on"] .toast .toast-icon { flex: none; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 255, 255, 0.14); }
html[data-cartoon="on"] .toast .toast-msg { flex: 1; font-size: 13.5px; line-height: 1.5; }
html[data-cartoon="on"] .toast .toast-close {
  flex: none;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
html[data-cartoon="on"] .toast .toast-close:hover { background: rgba(255, 255, 255, 0.16); }

/* ---------- 17. P4 暗色补漏 ---------- */
html[data-cartoon="on"][data-theme="dark"] .home-realtime { background: rgba(20, 24, 31, 0.72); border-color: var(--ds-line-soft); }
html[data-cartoon="on"][data-theme="dark"] .user-console-state,
html[data-cartoon="on"][data-theme="dark"] .route-attempt-empty { background-color: #171c24; }
html[data-cartoon="on"][data-theme="dark"] .console-usage-stat,
html[data-cartoon="on"][data-theme="dark"] .status-metric-cell,
html[data-cartoon="on"][data-theme="dark"] .price-cell,
html[data-cartoon="on"][data-theme="dark"] .status-aggregate > div { background: #1a2028; border-color: var(--ds-line-soft); }
html[data-cartoon="on"][data-theme="dark"] .key-mask { background: #1f2730; color: var(--ds-primary); }
html[data-cartoon="on"][data-theme="dark"] .brand-logo { background: var(--ds-primary-weak); color: var(--ds-primary); }
html[data-cartoon="on"][data-theme="dark"] .hero-topology-bg { opacity: 0.22; }
