/* 群艺馆前端设计系统 V3｜唯一全局颜色 Token
   规则：品牌颜色只在这里定义；业务 CSS 只消费语义变量。
   换品牌主色：优先只改 --brand-primary；换辅助强调色：只改 --brand-accent。 */
:root{
  color-scheme:light;
  --ui-font:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;

  /* ===== 品牌总开关：全 App 主色从这里改 ===== */
  --brand-primary:#B23A2E;
  --brand-accent:#C99A45;

  /* 品牌派生色：禁止业务页面再手写近似色。 */
  --brand-primary-hover:color-mix(in srgb,var(--brand-primary) 88%,black);
  --brand-primary-soft:color-mix(in srgb,var(--brand-primary) 10%,white);
  --brand-primary-softer:color-mix(in srgb,var(--brand-primary) 5%,white);
  --brand-accent-strong:color-mix(in srgb,var(--brand-accent) 82%,black);
  --brand-accent-soft:color-mix(in srgb,var(--brand-accent) 12%,white);
  --brand-accent-softer:color-mix(in srgb,var(--brand-accent) 7%,white);
  --brand-accent-line:color-mix(in srgb,var(--brand-accent) 28%,white);
  --brand-accent-shadow:color-mix(in srgb,var(--brand-accent) 24%,transparent);
  --on-brand:#FFFFFF;
  --on-accent:#2B2018;

  /* Classic 默认主题。 */
  --bg:#FBF5EA; --card:#FFFFFF; --ink:#2B2018; --sub:#7A6A58; --line:#ECDFC8;
  --primary:var(--brand-primary); --on-primary:var(--on-brand); --primary-sub:#F0D9B0;
  --accent:var(--brand-accent); --chip:#F5EAD4; --soft:#F7EFDF;
  --nav-active:var(--brand-primary); --nav-text:#7A6A58;
  --tab-glass:rgba(255,252,246,.78); --tab-glass-line:rgba(255,255,255,.66);

  /* 页面/文字/描边语义层。 */
  --surface-app-shell:rgb(234 220 199);
  --surface-page:var(--bg); --surface-card:var(--card); --surface-soft:var(--soft);
  --surface-muted:var(--chip); --surface-raised:var(--card);
  --text-primary:var(--ink); --text-secondary:var(--sub); --text-tertiary:rgb(146 127 104);
  --border-default:var(--line); --border-strong:color-mix(in srgb,var(--line) 72%,var(--ink));

  /* 暗色/游戏外壳。游戏棋盘、扑克牌本体允许拥有独立主题色。 */
  --dark-bg:#141D1B; --dark-card:#1F2B28; --dark-line:#2E3B38;
  --dark-ink:#F1EDE5; --dark-sub:#9FAAA5; --dark-gold:#E3B268;
  --game-gold:var(--dark-gold);

  /* 状态色：不随品牌主色变化，避免成功/警告/危险语义混乱。 */
  --state-success:#5F8F63; --state-success-strong:#4F7B55; --state-success-soft:#EDF6EA;
  --state-warning:#B76B2C; --state-warning-strong:#9A5A25; --state-warning-soft:#FFF0DB;
  --state-danger:#B6403B; --state-danger-strong:#8F2E2A; --state-danger-soft:#FBE9E7;
  --state-info:#375B94; --state-info-soft:#E7EDF8;
  --text-on-strong:var(--on-brand);

  /* 旧页面兼容变量：全部指向语义 Token。 */
  --gold:var(--brand-accent); --gold-soft:var(--brand-accent-soft);
  --red:var(--state-danger); --red-deep:var(--state-danger-strong);

  /* 适老字号与控件刻度。 */
  --fs-xs:14px; --fs-sm:15px; --ux-sub:var(--fs-sm); --fs-body:17px; --fs-action:18px; --fs-title:22px; --fs-display:28px;
  --lh-body:1.55;
  --control-h-sm:48px; --control-h-md:52px; --control-h-lg:56px;
  --radius-sm:12px; --radius-input:16px; --radius-control:18px; --radius-card:20px; --radius-action:28px; --radius-pill:999px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --shadow-card:0 6px 20px rgba(94,55,31,.10);
  --shadow-float:0 12px 32px rgba(94,55,31,.16);
  --z-content:0; --z-sticky:20; --z-nav:60; --z-popover:80; --z-overlay:100; --z-overlay-control:110; --z-modal:120; --z-fullscreen:130; --z-system:140;
}
html,body,button,input,textarea,select{font-family:var(--ui-font)}
:where(button,a,input,textarea,select,[role="button"]):focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 72%,white);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
