/* 妙唱发布会 · 共享视觉规范（scenes 与 deck 共用；scene 内不要改这里，局部样式写在 scene 自己的 <style> 里） */
:root {
  --bg: #000;
  --fg: #f5f5f7;
  --fg-2: #a1a1a6;      /* 次级文字 */
  --fg-3: #6e6e73;      /* 弱文字 / 注释 */
  --line: rgba(255, 255, 255, 0.12);
  --card: rgba(255, 255, 255, 0.06);
  --card-strong: #1d1d1f;

  /* 状态色（成熟度标签） */
  --ok: #30d158;        /* 已上线 / 可接入 */
  --beta: #0a84ff;      /* 内测 */
  --dev: #ff9f0a;       /* 研发中 */
  --plan: #8e8e93;      /* 规划 / 原型 */

  /* 章节强调色：每个能力一对渐变 */
  --voice-a: #64d2ff;  --voice-b: #0a84ff;   /* 妙唱·声控 */
  --ruby-a: #66d4cf;   --ruby-b: #30d158;    /* 妙唱·注音 */
  --score-a: #ffd60a;  --score-b: #ff9f0a;   /* 妙唱·智谱 */
  --guide-a: #bf5af2;  --guide-b: #ff375f;   /* 妙唱·导唱 / 实时判定 */
  --rate-a: #30d158;   --rate-b: #64d2ff;    /* 妙唱·评分 */
  --beauty-a: #ff375f; --beauty-b: #ff9f0a;  /* 妙唱·美声 */
  --mv-a: #ff453a;     --mv-b: #ff2d55;      /* 妙唱·MV */
  --create-a: #5e5ce6; --create-b: #bf5af2;  /* 妙唱·创作 */
  --persona-a: #0a84ff; --persona-b: #66d4cf;/* 妙唱·画像 */

  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", "Hiragino Sans GB", sans-serif;
  --mono: "SF Mono", ui-monospace, Menlo, monospace;
  --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);     /* Apple 常用的「快出慢停」 */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  width: 100%; height: 100%;
  background: var(--bg); color: var(--fg);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  color-scheme: dark;
}

/* 1920×1080 固定舞台，由 stage.js 等比缩放并居中（黑边留白） */
.stage {
  position: absolute; left: 50%; top: 50%;
  width: 1920px; height: 1080px;
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
  overflow: hidden;
  background: var(--bg);
}

/* 字号阶梯（在 1920 画布上的像素值；投屏缩放后依然清晰，正文不小于 26px） */
.t-hero  { font-size: 132px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
.t-title { font-size: 84px;  font-weight: 700; letter-spacing: -0.025em; line-height: 1.1; }
.t-h2    { font-size: 56px;  font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.t-h3    { font-size: 40px;  font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; }
.t-body  { font-size: 32px;  font-weight: 400; line-height: 1.5; color: var(--fg-2); }
.t-cap   { font-size: 26px;  font-weight: 400; line-height: 1.45; color: var(--fg-3); }
.t-eyebrow { font-size: 28px; font-weight: 600; letter-spacing: 0.02em; }
.mono { font-family: var(--mono); }

/* 渐变字：给元素加 class="grad" 并设置 --a/--b */
.grad {
  background: linear-gradient(100deg, var(--a, #fff), var(--b, #a1a1a6));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

/* 成熟度标签 */
.status {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 24px; font-weight: 600; letter-spacing: 0.01em;
  padding: 10px 22px; border-radius: 999px;
  border: 1.5px solid currentColor; background: rgba(255,255,255,0.03);
}
.status::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.status.ok { color: var(--ok); }
.status.beta { color: var(--beta); }
.status.dev { color: var(--dev); }
.status.plan { color: var(--plan); }

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 28px;
}
