tokens.css 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /* ==========================================================================
  2. 产品创新看板 · Design tokens(v3 · iOS Liquid Glass)
  3. 玻璃是"透光"的:面板不是一块实心色,而是叠在彩色光场上的半透明磨砂。
  4. 没有光场,backdrop-filter 就没有东西可以模糊,玻璃感也就无从谈起。
  5. 所以这里先立两层底:
  6. 1) 光场 .ambient —— 四团极淡的色光 + 一道从左上斜下的天光,极缓漂移
  7. 2) 噪点 —— 细颗粒让玻璃有"物理材质"而不是纯 CSS 渐变
  8. 再立三层玻璃:
  9. L1 面板(最透,让底色透上来)
  10. L2 卡片/指标(稍实一层)
  11. L3 浮层(抽屉/顶栏,更实,保证远看也清楚)
  12. 光照只有一种:左上 → 右下。所有内高光在顶边,所有阴影往下偏右。
  13. 可读性铁律:正文/数字永远落在 --ink 系列上,对比度按最坏情况
  14. (玻璃 + 下方最亮的光)算过 ≥ 4.5:1;表头、浮层等必要时加实底衬底。
  15. ========================================================================== */
  16. :root{
  17. /* ---------- 光场颜色(只出现在背景层,绝不直接承载文字) ---------- */
  18. --haze-1:#7aa7ff; /* 左上偏蓝 */
  19. --haze-2:#e3d3ff; /* 右上偏紫 */
  20. --haze-3:#9ff0d4; /* 左下偏薄荷 */
  21. --haze-4:#ffe1c2; /* 右下偏暖橙 */
  22. --bg:#eef1f8;
  23. /* ---------- 玻璃(L1 → L3,越浮越实) ---------- */
  24. --glass-1:rgba(255,255,255,.26);
  25. --glass-2:rgba(255,255,255,.42);
  26. --glass-3:rgba(255,255,255,.58);
  27. --glass-solid:rgba(255,255,255,.80); /* 长文阅读衬底 / 表格头 */
  28. --glass-inset:rgba(255,255,255,.30);
  29. --blur-1:blur(28px) saturate(185%);
  30. --blur-2:blur(20px) saturate(175%);
  31. --blur-3:blur(32px) saturate(190%);
  32. /* ---------- 发丝边:上亮下暗的渐变边,模拟玻璃边缘折光 ---------- */
  33. --edge:linear-gradient(150deg,
  34. rgba(255,255,255,.95) 0%,
  35. rgba(255,255,255,.55) 28%,
  36. rgba(255,255,255,.18) 62%,
  37. rgba(255,255,255,.42) 100%);
  38. --edge-soft:linear-gradient(150deg,
  39. rgba(255,255,255,.9) 0%,
  40. rgba(255,255,255,.42) 40%,
  41. rgba(255,255,255,.12) 100%);
  42. --hairline:1px solid rgba(255,255,255,.62);
  43. --rule:rgba(24,34,56,.075);
  44. --rule-strong:rgba(24,34,56,.13);
  45. /* ---------- 光照:顶部内高光 + 往下偏右的极浅影(只做浮起,不做凹陷) ---------- */
  46. --light-top:inset 0 1px 0 rgba(255,255,255,.70);
  47. --lift-1:0 10px 30px -16px rgba(32,48,90,.14);
  48. --lift-2:0 18px 50px -28px rgba(32,48,90,.24);
  49. --lift-3:0 40px 90px -40px rgba(32,48,90,.36);
  50. /* ---------- 文字 ---------- */
  51. --ink:#141b2a; /* 正文/数字:在玻璃最亮处仍 ≥ 14:1 */
  52. --ink-2:#3b4557; /* 次级正文 ≈ 8:1 */
  53. --ink-3:#5c6678; /* 说明文字 ≈ 5.2:1 */
  54. --ink-4:#7b8494; /* 仅装饰/极弱元信息,不承载关键信息 */
  55. /* ---------- 强调色:只用来指路 ---------- */
  56. --accent:#1d5cf0;
  57. --accent-ink:#1747bd;
  58. --accent-wash:rgba(29,92,240,.09);
  59. --accent-glow:0 0 18px rgba(29,92,240,.28);
  60. --accent-line:rgba(29,92,240,.34);
  61. /* ---------- 状态:极轻色标 ---------- */
  62. --ok:#147a55; --ok-wash:rgba(20,122,85,.10);
  63. --warn:#8a5a00; --warn-wash:rgba(138,90,0,.10);
  64. --mute:#5f6878; --mute-wash:rgba(95,104,120,.09);
  65. --risk:#a63a2c; --risk-wash:rgba(166,58,44,.09);
  66. /* 证据/层 色相(小圆点、细条用,不做大面积底色) */
  67. --c-raw:#3d7a58;
  68. --c-process:#2f63c8;
  69. --c-sediment:#6b49a8;
  70. --c-record:#6f7787;
  71. --r-xl:24px; --r-lg:18px; --r-md:13px; --r-sm:9px;
  72. --font:-apple-system,BlinkMacSystemFont,"SF Pro SC","SF Pro Text","PingFang SC",
  73. "Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",
  74. "WenQuanYi Micro Hei","Helvetica Neue",Arial,sans-serif;
  75. --font-num:ui-rounded,"SF Pro Rounded","SF Pro Display",-apple-system,BlinkMacSystemFont,
  76. "Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  77. --sidebar:228px;
  78. --topbar:64px;
  79. }