/* ============================================================
   Orbit 设计 Token v2.0
   全局唯一来源 · 深色炫酷版（Light 主题在文件尾部）
   ------------------------------------------------------------
   本文件是设计 token 的唯一出处。app.css / arcade.css 中
   所有颜色、渐变、圆角、间距、字号、字重、动效一律引用这里的变量。
   新增视觉值前先在本表找；确无表达能力时才增补，并同步 light 覆盖。
   ============================================================ */

:root {
  /* ---------- 背景层（0=最深底，3=最浅表面） ---------- */
  --bg-0:      #07040F;
  --bg-1:      #0D0818;
  --surface:   #15102A;
  --surface-2: #1E1738;
  --surface-3: #281E4A;

  --border:    rgba(148,120,255,.14);
  --border-hi: rgba(180,150,255,.28);

  /* ---------- 品牌与功能渐变 ---------- */
  --grad-brand:  linear-gradient(135deg,#B537F2 0%,#FF3CAC 100%);
  --grad-cyan:   linear-gradient(135deg,#00E5FF 0%,#B537F2 100%);
  --grad-warm:   linear-gradient(135deg,#FF3CAC 0%,#FF8A00 100%);
  /* —— 玩法专用渐变（六娱乐玩法 / 对局结果） —— */
  --grad-poll:    linear-gradient(135deg,#00E5FF 0%,#00B8D4 100%); /* 投票/青色玩法 */
  --grad-sync:    linear-gradient(135deg,#B537F2 0%,#7C1FE0 100%); /* 同步类玩法 */
  --grad-persona: linear-gradient(135deg,#FFB800 0%,#FF3CAC 100%); /* 抽卡/人格类 */
  --grad-meme:    linear-gradient(135deg,#FF8A00 0%,#FF3CAC 100%); /* 梗图类（与 warm 同族，作语义别名） */
  --grad-truth:   linear-gradient(135deg,#FF4D6D 0%,#B537F2 100%); /* 真心话/对决类 */

  /* ---------- 强调色 ---------- */
  --purple: #B537F2;
  --pink:   #FF3CAC;
  --cyan:   #00E5FF;
  --lime:   #B8FF3C;
  --gold:   #FFB800;
  --success:#00E5A8;
  --warning:#FFB800;
  --danger: #FF4D6D;
  --info:   #00E5FF;

  /* ---------- 文字 ---------- */
  --text-1: #FFFFFF;
  --text-2: #B8B0CC;
  --text-3: #ABA1C2;

  /* ---------- 光效 ---------- */
  --glow-pink:   0 0 24px rgba(255,60,172,.45);
  --glow-purple: 0 0 24px rgba(181,55,242,.5);
  --glow-cyan:   0 0 20px rgba(0,229,255,.4);
  --glow-gold:   0 0 24px rgba(255,184,0,.35);

  /* ---------- 间距（4/8 基准） ---------- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px;

  /* ---------- 圆角 ---------- */
  --r-sm:9px; --r-md:12px; --r-lg:14px;
  --r-xl:16px; --r-2xl:18px; --r-3xl:22px; --r-full:999px;

  /* ---------- 字号（rem 化前先固定值；响应处用 clamp） ---------- */
  --fs-display:52px; --fs-h1:22px; --fs-h2:16px;
  --fs-body:16px; --fs-sm:14px; --fs-xs:12px;

  /* ---------- 字重 ---------- */
  --fw-regular:400; --fw-bold:700; --fw-black:900;

  /* ---------- 动效 ---------- */
  --ease:     cubic-bezier(.2,0,0,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --t-fast:   120ms;
  --t-base:   180ms;
  --t-slow:   240ms;

  /* ---------- 尺寸与安全区 ---------- */
  --tap-min:  44px;   /* 主要触控目标下限 */
  --topbar-h: 56px;
  --tabbar-h: 72px;
  --phone-w:  430px;  /* 桌面端居中手机外壳最大宽 */
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top:    env(safe-area-inset-top, 0px);
}

/* 减少动态效果 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   语义别名（兼容历史类名；新代码请直接用语义色/表面 token）
   ============================================================ */
:root{
  color-scheme: dark;
  --bg: var(--bg-0);
  --bg2: var(--bg-1);
  --t1: var(--text-1);
  --t2: var(--text-2);
  --t3: var(--text-3);
  --glass: var(--surface);
  --glass-line: var(--border);
  --gl: var(--border);
  --ink-on-brand:#fff;
  --grad-button:linear-gradient(135deg,#a02bd4,#c8237c);
  --accent:#e8a0ff;
  --overlay:rgba(7,4,15,.92);
  --shadow:0 16px 50px #0003;
  --focus:#73e5f5;
  --game-bg:#0d0818;
  --game-panel:#1e1738;
  --game-text:#fff;
  --game-muted:#b8b0cc;
  --game-accent:#79e6f2;
}

/* ============================================================
   Light 主题（:root[data-theme=light]）—— 必须始终可用
   渐变在浅底下压暗以保证对比度
   ============================================================ */
:root[data-theme=light]{
  color-scheme:light;
  --bg-0:#f6f3fc; --bg-1:#fbf9ff;
  --surface:#fff; --surface-2:#eee8f8; --surface-3:#e3d9f3;
  --border:#d5c8e6; --border-hi:#af8fcf;
  --text-1:#21152f; --text-2:#58466e; --text-3:#6c567c;
  --purple:#8534b8; --pink:#b72776; --cyan:#007a8d;
  --gold:#865600; --success:#087957; --warning:#885900;
  --danger:#bd2541; --info:#007a8d;
  --accent:#79329e; --focus:#007b8f;
  --overlay:rgba(246,243,252,.96);
  --shadow:0 16px 50px #40205a15;
  --ink-on-brand:#fff;
  /* 浅底下功能渐变：保持色相、压暗端点 */
  --grad-brand:  linear-gradient(135deg,#8a2cc0 0%,#c22275 100%);
  --grad-cyan:   linear-gradient(135deg,#008fa5 0%,#8a2cc0 100%);
  --grad-warm:   linear-gradient(135deg,#c22275 0%,#c76500 100%);
  --grad-poll:    linear-gradient(135deg,#008fa5 0%,#006d80 100%);
  --grad-sync:    linear-gradient(135deg,#8a2cc0 0%,#5a159e 100%);
  --grad-persona: linear-gradient(135deg,#a87600 0%,#c22275 100%);
  --grad-meme:    linear-gradient(135deg,#c76500 0%,#c22275 100%);
  --grad-truth:   linear-gradient(135deg,#bd2541 0%,#8a2cc0 100%);
  --game-bg:#f6f3fc; --game-panel:#fff;
  --game-text:#21152f; --game-muted:#58466e; --game-accent:#007a8d;
}
