/* === xhs-writer/_tokens.css ===
   43 个 --app-* CSS Custom Properties，1:1 复制自 agent.uplus.site production DOM
   出处：docs/UI-GROUND-TRUTH-xhs-tokens.md
   禁止自造 hex，全部走 var(--app-*)
   =========================================================================== */

:root {
  /* ---- 主色系（玫瑰豆沙）---- */
  --app-primary: #b87d75;
  --app-primary-hover: #a06a63;
  --app-primary-bright: #a86a60;
  --app-primary-soft: #f5edeb;
  --app-primary-soft-strong: rgba(184, 125, 117, 0.18);
  --app-primary-ring: rgba(184, 125, 117, 0.24);
  --app-primary-shadow: rgba(184, 125, 117, 0.24);

  /* ---- 语义状态色 ---- */
  --app-success: #22c55e;
  --app-success-soft: rgba(34, 197, 94, 0.10);
  --app-warning: #fbbf24;
  --app-warning-soft: rgba(251, 191, 36, 0.14);
  /* 社区生态板块的低饱和告警色（Cam 2026-08-03 方案 A 拍板转正：与既有 fallback 同值，视觉零变化） */
  --app-warn: #b5852f;
  --app-warn-soft: #fbf4df;
  --app-danger: #c4342d;
  --app-danger-soft: rgba(196, 52, 45, 0.08);
  --app-danger-ring: rgba(196, 52, 45, 0.18);

  /* ---- 文字 6 档 ---- */
  --app-text-strong: #111827;
  --app-text: #242424;
  --app-text-secondary: #4b5563;
  --app-text-muted: #6b7280;
  --app-text-subtle: #9aa4af;
  --app-text-disabled: #a5afb8;

  /* ---- 表面 Glass 三层 + soft / warm ---- */
  --app-bg-page: #f5f6f8;
  --app-bg-warm: #f8f7f4;
  --app-surface: #fff;
  --app-surface-soft: #fcfcfd;
  --app-surface-muted: #f8fafc;
  --app-surface-glass: rgba(255, 255, 255, 0.72);
  --app-surface-glass-panel: rgba(255, 255, 255, 0.58);
  --app-surface-glass-hover: rgba(255, 255, 255, 0.86);

  /* ---- 边框 ---- */
  --app-border-soft: rgba(139, 157, 175, 0.10);
  --app-border: rgba(139, 157, 175, 0.14);
  --app-border-strong: #e5e7eb;

  /* ---- 导航 ---- */
  --app-nav-accent: #2f5d8a;
  --app-nav-accent-soft: rgba(47, 93, 138, 0.10);

  /* ---- 圆角阶梯 ---- */
  --app-radius-sm: 8px;
  --app-radius-md: 10px;
  --app-radius-lg: 12px;
  --app-radius-xl: 16px;
  --app-radius-panel: 20px;

  /* ---- 阴影 ---- */
  --app-shadow-card: 0 8px 24px rgba(139, 157, 175, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.75);
  --app-shadow-inset-card: inset 0 1px 0 rgba(255, 255, 255, 0.85), inset 0 -1px 0 rgba(139, 157, 175, 0.08), 0 10px 30px rgba(139, 157, 175, 0.08);
  --app-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, 0.92), inset 0 0 0 1px rgba(139, 157, 175, 0.14), 0 10px 24px rgba(139, 157, 175, 0.12);
  --app-shadow-cta-primary: 0 10px 24px rgba(184, 125, 117, 0.24);

  /* ---- 字体 + 动效 ---- */
  --app-font: "Noto Sans SC", "PingFang SC", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --app-ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* ---- 布局尺寸（本 demo 私有，非线上 token）---- */
  --xhs-sidebar-w: 208px;
  --xhs-sidebar-w-collapsed: 64px;
  --xhs-master-w: 370px;
  --xhs-sticky-cta-h: 80px;
}

/* ---- 全局 reset ---- */
* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  font-family: var(--app-font);
  background: var(--app-bg-page);
  color: var(--app-text-strong);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: 0;
  background: transparent;
  padding: 0;
}

button:disabled { cursor: not-allowed; }

a { color: inherit; text-decoration: none; }

input, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  outline: 0;
}

textarea { resize: vertical; }
