/* ==========================================================================
   tokens.css — 设计令牌
   项目：睿十二 个人主页
   方向：城市信号 / Urban Signal（复古未来，去赛博化）
   --------------------------------------------------------------------------
   所有颜色、字阶、间距、圆角、阴影、动效时长只在此定义。
   组件层禁止硬编码色值。改主题只需改这一层。
   ========================================================================== */

:root {
  /* ---------- 颜色 ---------- */
  /* 背景族：微冷极深，留一点蓝让暖色霓虹更跳 */
  --c-bg: #08090c;
  --c-surface: #111420;
  --c-surface-2: #171a26;

  /* 文字族：暖白，禁止纯 #fff（刺眼且廉价） */
  --c-text: #f4f1ea;
  --c-muted: #9a9aa3;
  /* 最弱一级：仍要过 4.5:1（对 --c-bg 实测 4.8:1），只用于等宽标注 */
  --c-faint: #7d7d87;

  /* 强调族：焰橙为主，洋红与琥珀只用于渐变和光晕 */
  --c-accent: #ff5c2b;
  --c-accent-hot: #ff2e7e;
  --c-amber: #ffc46b;

  /* 线条与网格 */
  --c-line: rgba(244, 241, 234, 0.1);
  --c-line-strong: rgba(244, 241, 234, 0.18);
  --c-grid: rgba(244, 241, 234, 0.04);

  /* 透明派生 */
  --c-accent-a08: rgba(255, 92, 43, 0.08);
  --c-accent-a18: rgba(255, 92, 43, 0.18);
  --c-accent-a35: rgba(255, 92, 43, 0.35);
  --c-accent-a55: rgba(255, 92, 43, 0.55);

  /* 霓虹渐变（全站唯一一套，禁止新增蓝紫） */
  /* 按钮渐变：橙 → 陶土 → 暖灰。去掉原来的洋红中段（2026-10-25 按用户要求改橙灰）
     三档都实测过与深色文字的对比度：橙端 6.2:1 / 中段 4.7:1 / 灰端 4.9:1 */
  --g-signal: linear-gradient(100deg, #e8703f 0%, #b8674f 48%, #8a8380 100%);
  /* 卡片描边光环仍保留焰橙→洋红，与按钮解耦，避免整页失去锋利的强调色 */
  --g-ring: conic-gradient(
    from var(--ring-angle, 0deg),
    transparent 0%,
    var(--c-accent) 10%,
    var(--c-accent-hot) 20%,
    transparent 32%
  );

  /* ---------- 字体 ---------- */
  /* 展示：思源宋体优先（本机与 iOS 均有），Windows 回退宋体
     备选方向：换成 --font-display-alt 即切换为黑体调性 */
  --font-display: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong,
    "SimSun", serif;
  --font-display-alt: "Noto Sans SC", "PingFang SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", sans-serif;
  --font-body: "PingFang SC", "Noto Sans SC", "HarmonyOS Sans SC",
    "Microsoft YaHei", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  /* 等宽：承载全部「信号 / 坐标 / 编号」语义，全站零下载 */
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code",
    "Roboto Mono", Consolas, "Liberation Mono", monospace;

  /* ---------- 字阶（流体，无需断点）---------- */
  --fs-hero: clamp(2.6rem, 10.5vw, 6.4rem);
  --fs-h2: clamp(1.5rem, 5.4vw, 2.1rem);
  --fs-h3: clamp(1.05rem, 3.6vw, 1.2rem);
  --fs-lead: clamp(1rem, 3.4vw, 1.125rem);
  --fs-body: 0.9375rem;
  --fs-sm: 0.8125rem;
  --fs-mono: 0.6875rem;
  --fs-mono-lg: 0.75rem;

  /* ---------- 间距梯度 ---------- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;

  /* ---------- 圆角 ---------- */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-full: 999px;

  /* ---------- 阴影：三级高度，带环境色而非纯黑 ---------- */
  --sh-1: 0 2px 10px rgba(0, 0, 0, 0.35);
  --sh-2: 0 10px 34px rgba(0, 0, 0, 0.45);
  --sh-3: 0 28px 72px rgba(0, 0, 0, 0.55);
  --sh-glow: 0 0 0 1px var(--c-accent-a18), 0 8px 40px rgba(255, 92, 43, 0.16);
  --sh-glow-strong: 0 0 0 1px var(--c-accent-a35),
    0 12px 56px rgba(255, 92, 43, 0.28);

  /* ---------- 动效 ---------- */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 160ms;
  --dur-base: 320ms;
  --dur-slow: 640ms;
  --dur-ambient: 4s;

  /* ---------- 布局 ---------- */
  --w-max: 1120px;
  --gutter: clamp(20px, 6vw, 64px);
  --statusbar-h: 38px;
  --dock-h: 68px;
}

/* 渐变描边动画依赖 @property 才能过渡角度；不支持时退化为静态描边 */
@property --ring-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
