/* orbit 设计 token
 *
 * 继承个人主站已经成型的视觉基因：薄荷绿底、手写体标题、不规则圆角、实心偏移阴影。
 * 这些 token 只属于 orbit——卫星站各自为政，见 .agent/design.md「视觉系统与皮肤边界」。
 *
 * 星球主色盘是给贴纸和悬停卡片用的：每颗星认领一对（浅/深），相邻轨道不得同色。
 * 分配表在 .agent/assets-brief.md。
 */

/* 自托管字体。以前 --font-hand 落到系统的「华文行楷」，只有 Mac 上好看，换台机器整页的
 * 手绘气质掉一半——而这件事在作者自己的屏幕上永远看不见。中文手写体整套 5MB 起，但页面上
 * 用手写体的字是有限的一小撮（标语 + 星名引文 + 印章），子集化后 68KB。
 * 子集由 `bun run font:subset` 生成并提交进仓库；构建期只校验覆盖面，改了文案没重跑就报错。
 * 两个字体都是 OFL，许可证与字体同目录（OFL 要求随字体一起发）。
 * swap：字体没到之前先用后备字显示，别让标语在首屏空着。 */
@font-face {
  font-family: "Ma Shan Zheng";
  src: url("/fonts/mashanzheng-subset.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

/* 可变字体，子集化时保留了字重轴，所以一个文件供整段区间用，不必各出一份静态字。 */
@font-face {
  font-family: "Nunito";
  src: url("/fonts/nunito-latin.woff2") format("woff2");
  font-weight: 200 1000;
  font-display: swap;
}

:root {
  /* ── 底 ───────────────────────────────────────── */
  --bg:            #edf7f2;
  --surface:       #ffffff;
  --surface-2:     #f4fbf7;

  /* ── 墨与字 ───────────────────────────────────── */
  --ink:           #14342a;   /* 正文；也是所有贴纸的统一描边色 */
  --ink-muted:     #5c7d6e;
  --ink-faint:     #a8c8b8;

  /* ── 主色：薄荷 ───────────────────────────────── */
  --mint:          #a7f3d0;
  --mint-dark:     #059669;
  --mint-light:    #d1fae5;
  --border:        #bbf0d4;

  /* ── 星球主色盘（浅 / 深成对使用） ────────────── */
  --sky:           #e0f2fe;  --sky-dark:     #0369a1;
  --purple:        #ede9fe;  --purple-dark:  #6d28d9;
  --yellow:        #fef9c3;  --yellow-dark:  #d97706;
  --indigo:        #e0e7ff;  --indigo-dark:  #4338ca;
  --blue:          #dbeafe;  --blue-dark:    #1d4ed8;
  --orange:        #ffedd5;  --orange-dark:  #c2410c;
  --lime:          #ecfccb;  --lime-dark:    #4d7c0f;
  --red:           #fee2e2;  --red-dark:     #b91c1c;
  --pink:          #fce7f3;  --pink-dark:    #be185d;
  --silver:        #f1f5f9;  --silver-dark:  #475569;

  /* ── 形 ───────────────────────────────────────── */
  --r-card:        8px 14px 10px 16px / 12px 8px 16px 10px;  /* 手绘感的不规则圆角 */
  --r-pill:        20px;
  --shadow:        4px 5px 0 var(--mint);
  --shadow-lift:   7px 9px 0 var(--mint);   /* 悬停抬起时 */

  /* ── 字 ───────────────────────────────────────── */
  /* 后面那两个是兜底：子集里没装的字（比如标语里新写了个生僻字）会逐个字退回去，
   * 而不是整段掉字体。构建期的覆盖面校验就是为了让这种退化不悄悄发生。 */
  --font-hand:     'Ma Shan Zheng', 'Xingkai SC', 'STXingkai', cursive;
  --font-body:     'Nunito', -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;

  /* ── 动 ───────────────────────────────────────── */
  --drift-slow:    64s;   /* 外圈轨道公转一周 */
  --drift-mid:     48s;
  --drift-fast:    36s;   /* 内圈 */
  --ease-pop:      cubic-bezier(0.34, 1.56, 0.64, 1);  /* 卡片抽出的回弹 */
}

/* 入夜配色暂不启用，先占位——贴纸必须在浅底与深底上都立得住，
 * 这条约束已写进 assets-brief.md（深描边 + 浅内芯）。 */
:root {
  --night-bg:      #10241c;
  --night-surface: #163026;
  --night-ink:     #e6f5ec;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --drift-slow: 0s;
    --drift-mid:  0s;
    --drift-fast: 0s;
  }
}
