/* ========================================================================
   tokens.css — 午夜场 Midnight Premiere · 设计令牌
   一场只为一位观众放映的深夜电影。深靛夜空为底,烟火金与玫瑰余烬点亮。
   ======================================================================== */

@property --sweep {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

:root {
  color-scheme: dark;

  /* ---- 夜色 ---- */
  --night-deep: oklch(0.16 0.035 275);   /* 深靛夜空(全站底色) */
  --night:      oklch(0.20 0.040 285);   /* 夜 */
  --night-soft: oklch(0.26 0.045 295);   /* 浮层/卡片 */
  --night-line: oklch(0.34 0.040 295);   /* 发丝分隔线 */

  /* ---- 文字 ---- */
  --ivory:      oklch(0.95 0.015 85);    /* 象牙白(标题/正文) */
  --ivory-dim:  oklch(0.80 0.020 85);    /* 次级文字 */
  --ivory-faint:oklch(0.66 0.022 88);    /* 弱化标注 */

  /* ---- 烟火金 ---- */
  --gold:       oklch(0.82 0.120 85);
  --gold-deep:  oklch(0.70 0.130 75);
  --gold-faint: oklch(0.82 0.120 85 / 0.22);

  /* ---- 玫瑰余烬 ---- */
  --rose:       oklch(0.62 0.140 25);
  --rose-soft:  oklch(0.74 0.110 20);

  /* ---- 黎明(第五幕地平线) ---- */
  --dawn:       oklch(0.75 0.090 55);

  /* ---- 字体:三个声音 ---- */
  /* 放映机的字:旧铅字印刷明朝体(片名/幕名/字幕/按钮) */
  --font-cine: 'Huiwen-mincho', 'Noto Serif SC', 'Songti SC', 'STSong', serif;
  /* 他的手写:悠然小楷(信/信封/署名) */
  --font-hand: 'slideyouran', 'Kaiti SC', 'STKaiti', '楷体', cursive, serif;
  /* 拉丁/数字/幕号(CJK 回落到明朝体,保证混排统一) */
  --font-display: 'Italiana', 'Huiwen-mincho', Georgia, serif;
  /* 毛笔华彩:仅「毕业快乐」一处 */
  --font-brush: 'Ma Shan Zheng', 'Kaiti SC', 'STKaiti', '楷体', serif;
  /* 兼容旧引用 */
  --font-serif: var(--font-cine);

  /* ---- 字阶(模块化 ≥1.25,流体) ---- */
  --t-meta:  clamp(0.68rem, 1.7vw, 0.8rem);
  --t-small: clamp(0.84rem, 2vw, 0.95rem);
  --t-body:  clamp(1.02rem, 2.5vw, 1.22rem);
  --t-cap:   clamp(1.04rem, 2.6vw, 1.3rem);
  --t-h3:    clamp(1.42rem, 3.6vw, 2.05rem);
  --t-act:   clamp(2.3rem, 7vw, 3.7rem);
  --t-hero:  clamp(2.7rem, 9vw, 5rem);
  --t-title: clamp(3rem, 11vw, 5.8rem);
  --t-ghost: clamp(8rem, 26vw, 17rem);

  /* ---- 间距 ---- */
  --pad-x: clamp(1.25rem, 5vw, 4.5rem);
  --gap-ch: clamp(6rem, 16vh, 12rem);      /* 章与章之间的夜色留白 */
  --radius: 6px;
  --radius-lg: 14px;

  /* ---- 缓动 ---- */
  --e-out:  cubic-bezier(0.19, 1, 0.22, 1);      /* expo-out */
  --e-soft: cubic-bezier(0.45, 0.05, 0.25, 1);
  --e-back: cubic-bezier(0.34, 1.45, 0.5, 1);

  /* ---- 语义 z 轴 ---- */
  --z-atmo: 0;        /* 星空/星云/黎明 */
  --z-film: 1;        /* 正片内容 */
  --z-overlay: 2;     /* 颗粒/暗角(盖在正片上 = 胶片质感) */
  --z-fx: 3;          /* 烟花/金粒(盖过暗角,保持明亮) */
  --z-burn: 4;        /* 幕间换盘闪烁 */
  --z-ui: 5;          /* 进度/音乐开关 */
  --z-gate: 6;        /* 票根入场 */
  --z-trail: 7;       /* 爱心拖尾 */
  --z-cursor: 8;      /* 光标本体 */

  /* ---- 氛围强度(随幕切换,scroll.js 驱动 body[data-act]) ---- */
  --nebula-gold-o: 0.14;
  --nebula-rose-o: 0.10;
  --photo-warmth: 0.10;   /* 照片调色暖度 */
}

/* 每一幕的氛围微调:夜的温度随故事推进 */
body[data-act="1"] { --nebula-gold-o: 0.08; --nebula-rose-o: 0.07; }
body[data-act="2"] { --nebula-gold-o: 0.13; --nebula-rose-o: 0.11; }
body[data-act="3"] { --nebula-gold-o: 0.20; --nebula-rose-o: 0.13; --photo-warmth: 0.16; }
body[data-act="4"] { --nebula-gold-o: 0.10; --nebula-rose-o: 0.14; }
body[data-act="5"] { --nebula-gold-o: 0.16; --nebula-rose-o: 0.10; }
