create-pmos 0.512.0 → 0.514.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/package.json +27 -95
  2. package/payload/KIT-VERSION +1 -1
  3. package/payload/planning/evals/eval-calibration.md +1 -1
  4. package/payload/planning/okrs/health-budgets.md +1 -1
  5. package/payload/state/discoveries.md +1 -1
  6. package/workspace/briefing-premium-adddoc-test.js +3 -3
  7. package/workspace/briefing-premium-board-test.js +2 -2
  8. package/workspace/briefing-premium-initiative-test.js +3 -3
  9. package/workspace/briefing-premium-insights-test.js +2 -2
  10. package/workspace/briefing-premium-sources-test.js +4 -5
  11. package/workspace/briefing-premium-test.js +2 -2
  12. package/workspace/changelog.json +26 -0
  13. package/workspace/guide/home.md +1 -1
  14. package/workspace/intel-report-ui-test.js +1 -1
  15. package/workspace/intelligence-gaps-ui-test.js +1 -1
  16. package/workspace/lib/premium-console-type.js +15 -12
  17. package/workspace/lib/routes-boards.js +18 -6
  18. package/workspace/metric-drafts-ui-test.js +2 -2
  19. package/workspace/package-lock.json +2 -2
  20. package/workspace/package.json +1 -1
  21. package/workspace/premium-menu-rows-test.js +1 -1
  22. package/workspace/premium-vw-doc-test.js +1 -1
  23. package/workspace/public/pm/bd-pin-card.css +4 -4
  24. package/workspace/public/pm/bd-publish.css +11 -11
  25. package/workspace/public/pm/bd-shared.css +17 -17
  26. package/workspace/public/pm/c3-capture.css +9 -9
  27. package/workspace/public/pm/c3-initiatives.css +23 -23
  28. package/workspace/public/pm/c3-listen.css +1 -1
  29. package/workspace/public/pm/components.css +572 -572
  30. package/workspace/public/pm/console3.css +374 -373
  31. package/workspace/public/pm/cozy-adler.css +4 -4
  32. package/workspace/public/pm/cozy-aud.css +1 -1
  33. package/workspace/public/pm/cozy-board.css +328 -328
  34. package/workspace/public/pm/cozy-ev.css +78 -78
  35. package/workspace/public/pm/cozy-home-rows.css +32 -32
  36. package/workspace/public/pm/cozy-home.css +240 -240
  37. package/workspace/public/pm/cozy-insights.css +200 -200
  38. package/workspace/public/pm/cozy-live-pill.css +5 -5
  39. package/workspace/public/pm/cozy-mtg-present.css +28 -28
  40. package/workspace/public/pm/cozy-onboard.css +15 -15
  41. package/workspace/public/pm/cozy-panel.css +39 -39
  42. package/workspace/public/pm/cozy-pick.css +5 -5
  43. package/workspace/public/pm/cozy-rec-now.css +23 -23
  44. package/workspace/public/pm/cozy-rec-present.css +11 -11
  45. package/workspace/public/pm/cozy-rec-tab.css +13 -13
  46. package/workspace/public/pm/cozy-steps.css +14 -14
  47. package/workspace/public/pm/cozy-today.css +95 -95
  48. package/workspace/public/pm/cozy-viewer.css +27 -27
  49. package/workspace/public/pm/cozy-vw-mtg.css +113 -113
  50. package/workspace/public/pm/cozy-vw-rp.css +79 -79
  51. package/workspace/public/pm/cozy-vw-shell.css +43 -43
  52. package/workspace/public/pm/cozy-vw.css +129 -129
  53. package/workspace/public/pm/cozy-xv.css +15 -15
  54. package/workspace/public/pm/cozy.css +53 -21
  55. package/workspace/public/pm/dash-view.css +27 -27
  56. package/workspace/public/pm/hi-pop.css +26 -26
  57. package/workspace/public/pm/home-impact.css +8 -8
  58. package/workspace/public/pm/home-ini.css +36 -36
  59. package/workspace/public/pm/home-line.css +7 -7
  60. package/workspace/public/pm/impact.css +9 -9
  61. package/workspace/public/pm/ini-view.css +243 -243
  62. package/workspace/public/pm/load-shapes.css +1 -1
  63. package/workspace/public/pm/loose-props.css +14 -14
  64. package/workspace/public/pm/metric-drafts.css +20 -20
  65. package/workspace/public/pm/ms-suggest.css +9 -9
  66. package/workspace/public/pm/ov-view.css +14 -14
  67. package/workspace/public/pm/premium-insights.js +3 -3
  68. package/workspace/public/pm/premium-report-frame.css +1 -1
  69. package/workspace/public/pm/premium-report-intel.css +17 -17
  70. package/workspace/public/pm/premium-report-print.css +1 -1
  71. package/workspace/public/pm/premium-vw-backlog.css +13 -13
  72. package/workspace/public/pm/premium-vw-cal.css +32 -32
  73. package/workspace/public/pm/premium-vw-copy.css +7 -7
  74. package/workspace/public/pm/premium-vw-doc.css +69 -69
  75. package/workspace/public/pm/premium-vw-item.css +12 -12
  76. package/workspace/public/pm/premium-vw-jira.css +39 -39
  77. package/workspace/public/pm/premium-vw-meet.css +28 -28
  78. package/workspace/public/pm/premium-vw-notepad.css +13 -13
  79. package/workspace/public/pm/premium-vw-notes.css +11 -11
  80. package/workspace/public/pm/premium-vw-rec.css +27 -27
  81. package/workspace/public/pm/premium-vw-report.css +21 -21
  82. package/workspace/public/pm/premium-vw-slides.css +28 -28
  83. package/workspace/public/pm/premium.css +618 -618
  84. package/workspace/public/pm/prog-order.css +6 -6
  85. package/workspace/public/pm/prog-page.css +17 -17
  86. package/workspace/public/pm/program-charter.css +33 -33
  87. package/workspace/public/pm/ready-lib.css +6 -6
  88. package/workspace/public/pm/sort-order.css +1 -1
  89. package/workspace/public/pm/split-merge.css +18 -18
  90. package/workspace/public/pm/task-card.css +24 -24
  91. package/workspace/public/pm/tk-tasks.css +42 -42
  92. package/workspace/public/pm/tk-view.css +6 -6
  93. package/workspace/public/pm/wf-page.css +31 -31
  94. package/workspace/public/premium-aud.html +1 -1
  95. package/workspace/public/premium-board.html +1 -1
  96. package/workspace/public/premium-intelligence.html +1 -1
  97. package/workspace/public/premium-rec.html +1 -1
  98. package/workspace/public/premium-viewer.html +1 -1
  99. package/workspace/public/premium-workflows.html +1 -1
  100. package/workspace/public/premium.html +1 -1
  101. package/workspace/public/vendor/plus-jakarta-sans-var.woff2 +0 -0
  102. package/workspace/server.js +1 -0
  103. package/workspace/third-party/README.md +2 -1
  104. package/workspace/third-party/plus-jakarta-sans-OFL.LICENSE +93 -0
@@ -3,28 +3,28 @@
3
3
  * so the light and the dark theme come from there. Motion: none here; a dot only appears (EvMenu: "Nothing moves; the dots only appear"). */
4
4
 
5
5
  /* ── shared small parts (the canvas's mi, kbd, pill, chip, box, warn, trow, th, lbl, skel) ── */
6
- .cz .ev-kbd { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 7px; background: var(--cz-well); font-size: var(--fs-1); font-weight: 700; color: var(--cz-ink3); font-family: var(--cz-sans); }
7
- .cz .ev-pill { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 999px; font-size: var(--fs-1); font-weight: 700; background: var(--cz-well); color: var(--cz-ink2); white-space: nowrap; }
6
+ .cz .ev-kbd { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 7px; background: var(--cz-well); font-size: var(--fs-badge); font-weight: var(--fw-strong); color: var(--cz-ink3); font-family: var(--cz-sans); line-height: var(--lh-badge); }
7
+ .cz .ev-pill { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 999px; font-size: var(--fs-badge); font-weight: var(--fw-strong); background: var(--cz-well); color: var(--cz-ink2); white-space: nowrap; line-height: var(--lh-badge); }
8
8
  .cz .ev-pill.y { background: var(--cz-bluebg); color: var(--cz-blueink); }
9
9
  .cz .ev-pill.ok { background: var(--cz-okbg); color: var(--cz-ok); }
10
- .cz .ev-lbl { margin: 0; font-size: var(--fs-2); font-weight: 800; color: var(--cz-ink3); }
11
- .cz .ev-mlbl { margin: 0; font-size: var(--fs-2); font-weight: 800; color: var(--cz-ink3); padding: 8px 12px 4px; }
10
+ .cz .ev-lbl { margin: 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-label); }
11
+ .cz .ev-mlbl { margin: 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); padding: 8px 12px 4px; line-height: var(--lh-label); }
12
12
  .cz .ev-mut { color: var(--cz-ink3); }
13
- .cz .ev-small { font-size: var(--fs-2); }
14
- .cz .ev-h2 { margin: 0; font-size: var(--fs-5); font-weight: 800; color: var(--cz-ink); }
15
- .cz .ev-sub { margin: 2px 0 0; font-size: var(--fs-2); color: var(--cz-ink3); }
13
+ .cz .ev-small { font-size: var(--fs-meta); line-height: var(--lh-meta); }
14
+ .cz .ev-h2 { margin: 0; font-size: var(--fs-panel); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-panel); }
15
+ .cz .ev-sub { margin: 2px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
16
16
  .cz .ev-hr { height: 1px; background: var(--cz-hair); width: 100%; flex: none; border: 0; margin: 6px 0; }
17
- .cz .ev-box { background: var(--cz-well); border-radius: 16px; padding: 12px 14px; font-size: var(--fs-2); color: var(--cz-ink2); }
17
+ .cz .ev-box { background: var(--cz-well); border-radius: 16px; padding: 12px 14px; font-size: var(--fs-meta); color: var(--cz-ink2); line-height: var(--lh-meta); }
18
18
  .cz .ev-box.blue { background: var(--cz-bluebg); }
19
19
  .cz .ev-box b { color: var(--cz-ink); }
20
- .cz .ev-warn { background: var(--cz-riskbg); border-radius: 14px; padding: 12px 14px; color: var(--cz-risk); font-size: var(--fs-3); }
20
+ .cz .ev-warn { background: var(--cz-riskbg); border-radius: 14px; padding: 12px 14px; color: var(--cz-risk); font-size: var(--fs-body); line-height: var(--lh-body); }
21
21
  .cz .ev-warn b { color: inherit; }
22
22
  .cz .ev-line { display: flex; align-items: center; gap: 10px; }
23
23
  .cz .ev-line p { margin: 0; }
24
24
  .cz .ev-grow { flex: 1; min-width: 0; }
25
25
  .cz .ev-card { background: var(--cz-card); border-radius: 16px; border: 1px solid var(--cz-hair); padding: 12px 14px; }
26
- .cz .ev-btn { height: 36px; padding: 0 14px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: var(--fs-3); font-weight: 700; border: 1px solid var(--cz-hair); background: var(--cz-card); color: var(--cz-ink); white-space: nowrap; cursor: pointer; text-decoration: none; box-sizing: border-box; }
27
- .cz .ev-btn.sm { height: 30px; padding: 0 11px; font-size: var(--fs-2); }
26
+ .cz .ev-btn { height: 36px; padding: 0 14px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); border: 1px solid var(--cz-hair); background: var(--cz-card); color: var(--cz-ink); white-space: nowrap; cursor: pointer; text-decoration: none; box-sizing: border-box; line-height: var(--lh-row); }
27
+ .cz .ev-btn.sm { height: 30px; padding: 0 11px; font-size: var(--fs-meta); line-height: var(--lh-meta); }
28
28
  .cz .ev-btn.pri { background: var(--cz-solid); border-color: transparent; color: var(--cz-onsolid); }
29
29
  .cz .ev-btn.dark { background: var(--cz-ink); border-color: transparent; color: var(--cz-card); }
30
30
  .cz .ev-btn.soft { background: var(--cz-well); border-color: transparent; }
@@ -33,23 +33,23 @@
33
33
  .cz .ev-btn svg, .cz .ev-ib svg, .cz .ev-mi svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
34
34
  .cz .ev-ib { width: 32px; height: 32px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: var(--cz-ink2); background: none; border: 0; padding: 0; cursor: pointer; flex: none; }
35
35
  .cz .ev-ib:hover { background: var(--cz-well); }
36
- .cz .ev-chip { height: 30px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--cz-hair); background: var(--cz-card); display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: var(--fs-2); font-weight: 600; color: var(--cz-ink2); white-space: nowrap; cursor: pointer; }
36
+ .cz .ev-chip { height: 30px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--cz-hair); background: var(--cz-card); display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); white-space: nowrap; cursor: pointer; line-height: var(--lh-label); }
37
37
  .cz .ev-chip.on { background: var(--cz-bluebg); border-color: transparent; color: var(--cz-blueink); }
38
38
  .cz .ev-chip.gh { border-color: transparent; background: transparent; padding: 0 8px; }
39
39
  .cz .ev-chip svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
40
40
  .cz .ev-seg { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--cz-well); gap: 2px; flex: none; }
41
- .cz .ev-seg button { height: 32px; padding: 0 12px; border-radius: 999px; font: inherit; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink3); background: none; border: 0; cursor: pointer; }
42
- .cz .ev-seg.sm button { height: 28px; padding: 0 9px; font-size: var(--fs-2); }
41
+ .cz .ev-seg button { height: 32px; padding: 0 12px; border-radius: 999px; font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); background: none; border: 0; cursor: pointer; line-height: var(--lh-label); }
42
+ .cz .ev-seg.sm button { height: 28px; padding: 0 9px; font-size: var(--fs-meta); line-height: var(--lh-meta); }
43
43
  .cz .ev-seg button[aria-pressed="true"] { background: var(--cz-card); color: var(--cz-ink); box-shadow: 0 1px 3px rgba(42,46,53,.12); }
44
44
  .cz .ev-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; display: inline-block; background: var(--cz-dot-q); }
45
45
  .cz .ev-dot.you { background: var(--cz-blue); } .cz .ev-dot.risk { background: var(--cz-dot-risk); } .cz .ev-dot.ok { background: var(--cz-dot-ok); } .cz .ev-dot.none { background: transparent; }
46
- .cz .ev-av { width: 22px; height: 22px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-1); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: none; }
46
+ .cz .ev-av { width: 22px; height: 22px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-badge); font-weight: var(--fw-strong); display: inline-flex; align-items: center; justify-content: center; flex: none; line-height: var(--lh-badge); }
47
47
  .cz .ev-av.b { background: var(--cz-bluebg); color: var(--cz-blueink); }
48
48
  .cz .ev-av.sp { border-radius: 7px; background: var(--cz-bluebg); color: var(--cz-blue); }
49
- .cz .ev-trow { display: flex; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-3); color: var(--cz-ink); }
49
+ .cz .ev-trow { display: flex; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
50
50
  .cz .ev-trow:last-child { border-bottom: 0; }
51
51
  .cz .ev-trow p { margin: 0; }
52
- .cz .ev-th { font-size: var(--fs-2); font-weight: 800; color: var(--cz-ink3); padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); display: flex; gap: 10px; }
52
+ .cz .ev-th { font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); display: flex; gap: 10px; line-height: var(--lh-label); }
53
53
  .cz .ev-skel { display: block; background: var(--cz-well2); border-radius: 8px; height: 12px; }
54
54
  .cz .ev-tile { width: 30px; height: 30px; border-radius: 10px; background: var(--cz-well); display: inline-flex; align-items: center; justify-content: center; color: var(--cz-ink2); flex: none; }
55
55
  .cz .ev-tile svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@@ -57,11 +57,11 @@
57
57
 
58
58
  /* ── the place menu (FmA1Menu, FmA4Desk): Home, Board, Intelligence, then Search and Settings as icons ── */
59
59
  .cz-fabm.ev-menu { width: 250px; padding: 10px; gap: 2px; border-radius: 20px; border: 0; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); }
60
- .cz-fabm.ev-menu a, .cz-fabm.ev-menu button.ev-mi, .cz-fabm.ev-menu .ev-mi { min-height: 40px; padding: 0 12px; gap: 10px; border-radius: 12px; font-size: var(--fs-3); font-weight: 600; color: var(--cz-ink); width: 100%; box-sizing: border-box; border-top: 0; margin: 0; }
60
+ .cz-fabm.ev-menu a, .cz-fabm.ev-menu button.ev-mi, .cz-fabm.ev-menu .ev-mi { min-height: 40px; padding: 0 12px; gap: 10px; border-radius: 12px; font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); width: 100%; box-sizing: border-box; border-top: 0; margin: 0; line-height: var(--lh-row); }
61
61
  .cz-fabm.ev-menu svg { width: 18px; height: 18px; color: var(--cz-ink2); stroke-width: 1.8; }
62
- .cz-fabm.ev-menu [aria-current="page"] { background: var(--cz-well); color: var(--cz-ink); font-weight: 800; }
62
+ .cz-fabm.ev-menu [aria-current="page"] { background: var(--cz-well); color: var(--cz-ink); font-weight: var(--fw-strong); }
63
63
  .cz-fabm.ev-menu a:hover, .cz-fabm.ev-menu button.ev-mi:hover { background: var(--cz-well); }
64
- .cz-fabm.ev-menu .ev-k { margin-left: auto; font-size: var(--fs-2); color: var(--cz-ink3); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
64
+ .cz-fabm.ev-menu .ev-k { margin-left: auto; font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; line-height: var(--lh-label); }
65
65
  /* the tray under the places: Search and Settings as icons (feedback batch 16 item 5, canvas FmA1Menu); the dots sit where they lead */
66
66
  .cz-fabm.ev-menu .ev-tray { display: flex; gap: 8px; border-top: 1px solid var(--cz-hair); margin-top: 6px; padding: 8px 4px 0; }
67
67
  .cz-fabm.ev-menu .ev-tb { position: relative; width: 46px; height: 46px; border-radius: 14px; border: 0; background: var(--cz-well); color: var(--cz-ink); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
@@ -95,37 +95,37 @@
95
95
  /* ── Search (EvSearch, EvPhone right) ── */
96
96
  .ev-sp-scrim { position: fixed; inset: 0; z-index: 80; background: rgba(42,46,53,.18); }
97
97
  .ev-sp { position: fixed; z-index: 81; left: 50%; top: 70px; transform: translateX(-50%); width: min(740px, calc(100vw - 32px)); max-height: calc(100vh - 110px); display: flex; flex-direction: column;
98
- background: var(--cz-card); color: var(--cz-ink); border-radius: 24px; overflow: hidden; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); font-family: var(--cz-sans); font-size: var(--fs-3); }
98
+ background: var(--cz-card); color: var(--cz-ink); border-radius: 24px; overflow: hidden; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); font-family: var(--cz-sans); font-size: var(--fs-body); line-height: var(--lh-body); }
99
99
  .ev-sp[hidden], .ev-sp-scrim[hidden] { display: none; }
100
100
  .ev-sp-in { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--cz-hair); }
101
101
  .ev-sp-in > svg { width: 20px; height: 20px; color: var(--cz-ink3); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; flex: none; }
102
- .ev-sp-in input { flex: 1; min-width: 0; font: inherit; font-size: var(--fs-4); font-weight: 600; color: var(--cz-ink); border: 0; background: transparent; outline: 0; }
102
+ .ev-sp-in input { flex: 1; min-width: 0; font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); border: 0; background: transparent; outline: 0; line-height: var(--lh-row); }
103
103
  .cz .ev-sp-in input:focus-visible { outline: 0; } /* the open palette is the focus sign; the box draws no ring of its own (EvSearch) */
104
- .ev-sp-in input::placeholder { color: var(--cz-ink3); font-weight: 600; }
104
+ .ev-sp-in input::placeholder { color: var(--cz-ink3); font-weight: var(--fw-strong); }
105
105
  .ev-sp-in .ev-ib.x { display: none; }
106
106
  .ev-sp-chips { display: flex; gap: 6px; align-items: center; padding: 10px 14px 2px; flex-wrap: wrap; position: relative; }
107
107
  .ev-sp-chips .ev-wt { margin-left: auto; }
108
108
  .ev-sp-list { padding: 4px 8px 8px; display: flex; flex-direction: column; gap: 2px; overflow: auto; min-height: 0; }
109
- .ev-mi { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 12px; border-radius: 12px; font: inherit; font-size: var(--fs-3); font-weight: 600; color: var(--cz-ink); width: 100%; background: none; border: 0; text-align: left; cursor: pointer; box-sizing: border-box; text-decoration: none; }
109
+ .ev-mi { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 12px; border-radius: 12px; font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); width: 100%; background: none; border: 0; text-align: left; cursor: pointer; box-sizing: border-box; text-decoration: none; line-height: var(--lh-row); }
110
110
  .ev-mi:hover, .ev-mi.hl { background: var(--cz-well); }
111
111
  .ev-mi > svg { color: var(--cz-ink2); width: 18px; height: 18px; }
112
112
  .ev-mi .ev-t { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
113
- .ev-mi .ev-t b { font-weight: 800; }
114
- .ev-mi .ev-t .ev-mut { font-weight: 600; }
115
- .ev-mi .ev-k { margin-left: auto; font-size: var(--fs-2); color: var(--cz-ink3); font-weight: 600; white-space: nowrap; flex: none; }
116
- .ev-sp-ft { display: flex; gap: 14px; align-items: center; padding: 10px 18px; border-top: 1px solid var(--cz-hair); background: var(--cz-well); font-size: var(--fs-2); color: var(--cz-ink3); flex: none; }
113
+ .ev-mi .ev-t b { font-weight: var(--fw-strong); }
114
+ .ev-mi .ev-t .ev-mut { font-weight: var(--fw-strong); }
115
+ .ev-mi .ev-k { margin-left: auto; font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); white-space: nowrap; flex: none; line-height: var(--lh-label); }
116
+ .ev-sp-ft { display: flex; gap: 14px; align-items: center; padding: 10px 18px; border-top: 1px solid var(--cz-hair); background: var(--cz-well); font-size: var(--fs-meta); color: var(--cz-ink3); flex: none; line-height: var(--lh-meta); }
117
117
  .ev-sp-ft .ev-r { margin-left: auto; text-align: right; }
118
- .ev-sp-empty { padding: 10px 12px; font-size: var(--fs-2); color: var(--cz-ink3); margin: 0; }
118
+ .ev-sp-empty { padding: 10px 12px; font-size: var(--fs-meta); color: var(--cz-ink3); margin: 0; line-height: var(--lh-meta); }
119
119
  .ev-wtm { position: absolute; right: 14px; top: 44px; z-index: 2; width: 300px; background: var(--cz-card); border-radius: 16px; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); padding: 8px; display: flex; flex-direction: column; gap: 2px; }
120
120
  .ev-wtm[hidden] { display: none; }
121
- .ev-wtm label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 10px; border-radius: 12px; font-size: var(--fs-2); cursor: pointer; }
121
+ .ev-wtm label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 10px; border-radius: 12px; font-size: var(--fs-meta); cursor: pointer; line-height: var(--lh-meta); }
122
122
  .ev-wtm label:hover { background: var(--cz-well); }
123
123
  .ev-wtm input { accent-color: var(--cz-solid); width: 16px; height: 16px; }
124
- .ev-wtm small { margin-left: auto; color: var(--cz-ink3); font-size: var(--fs-2); }
124
+ .ev-wtm small { margin-left: auto; color: var(--cz-ink3); font-size: var(--fs-meta); line-height: var(--lh-meta); }
125
125
  @media (max-width: 760px) {
126
126
  .ev-sp { left: 0; top: 0; transform: none; width: 100vw; height: 100%; max-height: none; border-radius: 0; box-shadow: none; }
127
127
  .ev-sp-in { margin: 22px 16px 0; height: 52px; border-radius: 999px; background: var(--cz-well); padding: 0 8px 0 16px; border: 0; }
128
- .ev-sp-in input { font-size: var(--fs-4); }
128
+ .ev-sp-in input { font-size: var(--fs-field); }
129
129
  .ev-sp-in .ev-kbd { display: none; }
130
130
  .ev-sp-in .ev-ib.x { display: inline-flex; width: 44px; height: 44px; }
131
131
  .ev-sp-chips { flex-wrap: nowrap; overflow-x: auto; padding: 6px 16px 0; scrollbar-width: none; }
@@ -138,35 +138,35 @@
138
138
  }
139
139
 
140
140
  /* ── the Viewer's Everywhere cards: New for you, Sources, a file read from a worktree ── */
141
- .cz .ev-card-b { padding: 16px 18px 24px; display: flex; flex-direction: column; gap: 12px; font-size: var(--fs-3); color: var(--cz-ink); box-sizing: border-box; }
141
+ .cz .ev-card-b { padding: 16px 18px 24px; display: flex; flex-direction: column; gap: 12px; font-size: var(--fs-body); color: var(--cz-ink); box-sizing: border-box; line-height: var(--lh-body); }
142
142
  .cz .ev-head { display: flex; align-items: center; gap: 10px; }
143
143
  .cz .ev-head .ev-h2 { flex: 1; }
144
144
  .cz .ev-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
145
- .cz .ev-two .ev-box { font-size: var(--fs-2); }
145
+ .cz .ev-two .ev-box { font-size: var(--fs-meta); line-height: var(--lh-meta); }
146
146
  .cz .ev-news .ev-trow { align-items: flex-start; }
147
147
  .cz .ev-news .ev-trow .ev-dot { margin-top: 7px; }
148
148
  .cz .ev-news .ev-trow .ev-av { margin-top: 1px; }
149
149
  .cz .ev-news .ev-tx { flex: 1; min-width: 0; }
150
150
  .cz .ev-news .ev-tx p { overflow-wrap: anywhere; }
151
151
  .cz .ev-rest { display: flex; flex-direction: column; gap: 4px; }
152
- .cz .ev-rest button { display: flex; gap: 10px; font: inherit; font-size: var(--fs-2); text-align: left; background: none; border: 0; padding: 4px 0; color: var(--cz-ink2); cursor: pointer; border-radius: 8px; }
152
+ .cz .ev-rest button { display: flex; gap: 10px; font: inherit; font-size: var(--fs-meta); text-align: left; background: none; border: 0; padding: 4px 0; color: var(--cz-ink2); cursor: pointer; border-radius: 8px; line-height: var(--lh-meta); }
153
153
  .cz .ev-rest button { min-height: 32px; align-items: center; }
154
154
  .cz .ev-rest button:hover b { text-decoration: underline; }
155
155
  .cz .ev-rest button:focus { outline: 2px solid var(--cz-blue); outline-offset: 2px; }
156
156
  .cz .ev-rest b { width: 150px; flex: none; color: var(--cz-ink); }
157
157
  .cz .ev-rest span { flex: 1; }
158
158
  .cz .ev-foot { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
159
- .cz .ev-detail .ev-q { margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--cz-well); font-size: var(--fs-3); color: var(--cz-ink); }
159
+ .cz .ev-detail .ev-q { margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--cz-well); font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
160
160
  .cz .ev-acts { display: flex; flex-wrap: wrap; gap: 6px; }
161
161
  .cz .ev-src .ev-w-140 { width: 140px; flex: none; }
162
162
  .cz .ev-src .ev-w-96 { width: 96px; flex: none; display: inline-flex; justify-content: flex-end; }
163
163
  .cz .ev-src .ev-w-96 .ev-btn { width: 96px; }
164
- .cz .ev-src .ev-late { color: var(--cz-risk); font-weight: 700; }
164
+ .cz .ev-src .ev-late { color: var(--cz-risk); font-weight: var(--fw-strong); }
165
165
  .cz .ev-src .ev-tx { flex: 1; min-width: 0; }
166
- .cz .ev-pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--cz-mono); font-size: var(--fs-2); line-height: 1.5; color: var(--cz-ink2); background: var(--cz-well); border-radius: 14px; padding: 12px 14px; }
166
+ .cz .ev-pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--cz-mono); font-size: var(--fs-meta); line-height: 1.5; color: var(--cz-ink2); background: var(--cz-well); border-radius: 14px; padding: 12px 14px; }
167
167
  .cz .ev-frame { width: 100%; height: 60vh; border: 1px solid var(--cz-hair); border-radius: 14px; background: var(--cz-card); }
168
- .cz .ev-md h1, .cz .ev-md h2, .cz .ev-md h3 { margin: 10px 0 4px; font-size: var(--fs-4); font-weight: 800; }
169
- .cz .ev-md p, .cz .ev-md li { font-size: var(--fs-2); line-height: 1.5; color: var(--cz-ink2); }
168
+ .cz .ev-md h1, .cz .ev-md h2, .cz .ev-md h3 { margin: 10px 0 4px; font-size: var(--fs-section); font-weight: var(--fw-strong); line-height: var(--lh-section); }
169
+ .cz .ev-md p, .cz .ev-md li { font-size: var(--fs-meta); line-height: 1.5; color: var(--cz-ink2); }
170
170
  @media (max-width: 760px) {
171
171
  .cz .ev-two { grid-template-columns: 1fr; }
172
172
  .cz .ev-ib, .cz .ev-btn, .cz .ev-btn.sm, .cz .ev-chip { min-height: 44px; }
@@ -182,25 +182,25 @@
182
182
  .cz .ev-skelrow .ev-tx { flex: 1; display: flex; flex-direction: column; gap: 6px; }
183
183
  .cz .ev-skel.ev-s { height: 10px; }
184
184
  .cz .ev-w40 { width: 40%; } .cz .ev-w45 { width: 45%; } .cz .ev-w50 { width: 50%; } .cz .ev-w65 { width: 65%; } .cz .ev-w70 { width: 70%; } .cz .ev-w80 { width: 80%; }
185
- .cz .ev-right { margin-left: auto; font-weight: 600; }
186
- .cz .ev-cant { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-3); }
185
+ .cz .ev-right { margin-left: auto; font-weight: var(--fw-strong); }
186
+ .cz .ev-cant { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-body); line-height: var(--lh-body); }
187
187
  .cz .ev-cant .ev-acts .ev-btn { background: var(--cz-card); }
188
188
  .cz .ev-cant .ev-acts .ev-btn.ghost { background: transparent; color: var(--cz-risk); }
189
189
  .cz .ev-fail { display: flex; flex-direction: column; gap: 10px; }
190
190
  .cz .ev-fail .ev-btn:not(.ghost) { background: var(--cz-card); }
191
- .cz .ev-clear { display: flex; align-items: center; gap: 8px; font-size: var(--fs-3); font-weight: 700; margin: 0; }
191
+ .cz .ev-clear { display: flex; align-items: center; gap: 8px; font-size: var(--fs-row); font-weight: var(--fw-strong); margin: 0; line-height: var(--lh-row); }
192
192
  .cz .ev-more { display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: var(--cz-well); border-radius: 0 0 18px 18px; }
193
193
  .cz .ev-more .ev-btn { margin-left: auto; background: var(--cz-card); }
194
194
 
195
195
  /* ── Settings (EvSettings): a dialog over the page, its sections on the left ── */
196
196
  .ev-st-scrim { position: fixed; inset: 0; z-index: 90; background: rgba(42,46,53,.18); }
197
197
  .ev-st { position: fixed; z-index: 91; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(920px, calc(100vw - 32px)); height: min(700px, calc(100vh - 32px)); display: flex; overflow: hidden;
198
- background: var(--cz-card); color: var(--cz-ink); border-radius: 28px; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); font-family: var(--cz-sans); font-size: var(--fs-3); }
198
+ background: var(--cz-card); color: var(--cz-ink); border-radius: 28px; box-shadow: 0 24px 60px -24px rgba(42,46,53,.45), 0 0 0 1px var(--cz-hair); font-family: var(--cz-sans); font-size: var(--fs-body); line-height: var(--lh-body); }
199
199
  .ev-st[hidden], .ev-st-scrim[hidden] { display: none; }
200
200
  .ev-st-nav { width: 240px; flex: none; background: var(--cz-well); padding: 22px 12px; display: flex; flex-direction: column; gap: 2px; box-sizing: border-box; }
201
201
  .ev-st-nav .ev-h2 { padding: 0 12px 12px; }
202
202
  .ev-st-nav .ev-mi { text-decoration: none; }
203
- .ev-st-nav .ev-mi[aria-current="page"] { background: var(--cz-card); font-weight: 800; }
203
+ .ev-st-nav .ev-mi[aria-current="page"] { background: var(--cz-card); font-weight: var(--fw-strong); }
204
204
  .ev-st-nav .ev-mi:hover { background: var(--cz-card); }
205
205
  .ev-st-main { flex: 1; min-width: 0; padding: 24px 28px; display: flex; flex-direction: column; gap: 6px; overflow: auto; box-sizing: border-box; }
206
206
  .ev-st-main > .ev-top { display: flex; align-items: center; margin-bottom: 8px; }
@@ -208,9 +208,9 @@
208
208
  .ev-st .ev-trow { padding: 14px 0; }
209
209
  .ev-st .ev-trow .ev-tx { flex: 1; min-width: 0; }
210
210
  .ev-st .ev-trow .ev-tx p { margin: 0; }
211
- .ev-st select.ev-inp, .ev-st input.ev-inp { height: 36px; border-radius: 14px; background: var(--cz-well); padding: 0 12px; font: inherit; font-size: var(--fs-3); color: var(--cz-ink); border: 0; box-sizing: border-box; }
211
+ .ev-st select.ev-inp, .ev-st input.ev-inp { height: 36px; border-radius: 14px; background: var(--cz-well); padding: 0 12px; font: inherit; font-size: var(--fs-body); color: var(--cz-ink); border: 0; box-sizing: border-box; line-height: var(--lh-body); }
212
212
  .ev-st input.ev-inp { flex: 1; min-width: 0; }
213
- .ev-st .ev-pick { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 12px; border-radius: 999px; background: var(--cz-well); font: inherit; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink2); border: 0; cursor: pointer; }
213
+ .ev-st .ev-pick { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 12px; border-radius: 999px; background: var(--cz-well); font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); border: 0; cursor: pointer; line-height: var(--lh-label); }
214
214
  .ev-st .ev-pick svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
215
215
  .ev-st .ev-upd { display: flex; align-items: center; gap: 12px; margin-top: auto; }
216
216
  /* Adler's moments in Settings (batch 17 item 4-B, AdM4): one face per section; a failure line takes the honest face */
@@ -218,33 +218,33 @@
218
218
  .ev-st .ev-say.honest { display: flex; align-items: center; gap: 8px; }
219
219
  .ev-st .ev-upd p { flex: 1; margin: 0; }
220
220
  .ev-st .ev-upd.first { margin-top: 0; }
221
- .ev-st .ev-sw { height: 28px; min-width: 52px; border-radius: 999px; border: 0; background: var(--cz-well2); color: var(--cz-ink3); font: inherit; font-size: var(--fs-2); font-weight: 700; cursor: pointer; }
221
+ .ev-st .ev-sw { height: 28px; min-width: 52px; border-radius: 999px; border: 0; background: var(--cz-well2); color: var(--cz-ink3); font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); cursor: pointer; line-height: var(--lh-label); }
222
222
  .ev-st .ev-sw[aria-checked="true"] { background: var(--cz-bluebg); color: var(--cz-blueink); }
223
223
  .ev-st .ev-add { display: flex; gap: 8px; margin-top: 8px; }
224
- .ev-st [role="status"] { min-height: 1.2em; margin: 0; font-size: var(--fs-2); color: var(--cz-ink3); }
224
+ .ev-st [role="status"] { min-height: 1.2em; margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
225
225
  /* Updates › what's new (design E, UpE): summary lines, the newest kit at version level, "Earlier this week" as one flat list of
226
226
  stories, the earlier weeks folded into an Archive. A blue dot is New, an amber dot is Fixed, no dot is Improved. */
227
227
  .ev-st .ev-wk { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--cz-hair); }
228
228
  .ev-st .ev-wkh { display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap; }
229
- .ev-st .ev-wkh b { font-size: var(--fs-5); font-weight: 800; }
229
+ .ev-st .ev-wkh b { font-size: var(--fs-panel); font-weight: var(--fw-strong); line-height: var(--lh-panel); }
230
230
  .ev-st .ev-sum { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 16px; background: var(--cz-bluebg); }
231
- .ev-st .ev-sum p { display: flex; gap: 10px; margin: 0; font-size: var(--fs-4); line-height: 1.5; color: var(--cz-ink); max-width: 72ch; }
231
+ .ev-st .ev-sum p { display: flex; gap: 10px; margin: 0; font-size: var(--fs-body); line-height: 1.5; color: var(--cz-ink); max-width: 72ch; }
232
232
  .ev-st .ev-sum svg { flex: none; margin-top: 5px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; color: var(--cz-blueink); }
233
- .ev-st .ev-leg { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--fs-2); color: var(--cz-ink3); }
233
+ .ev-st .ev-leg { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
234
234
  .ev-st .ev-leg span { display: inline-flex; align-items: center; gap: 6px; }
235
235
  .ev-st .ev-rel { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 0 14px; }
236
236
  .ev-st .ev-rv { display: flex; flex-direction: column; padding-top: 6px; color: var(--cz-blueink); font-variant-numeric: tabular-nums; }
237
- .ev-st .ev-rv b { font-size: var(--fs-4); font-weight: 800; }
238
- .ev-st .ev-rv span { font-weight: 600; }
237
+ .ev-st .ev-rv b { font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: var(--lh-row); }
238
+ .ev-st .ev-rv span { font-weight: var(--fw-strong); }
239
239
  .ev-st .ev-sl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
240
- .ev-st .ev-sy { display: flex; gap: 10px; padding: 6px 0; font-size: var(--fs-3); line-height: 1.5; color: var(--cz-ink2); max-width: 72ch; overflow-wrap: anywhere; }
241
- .ev-st .ev-sy b { color: var(--cz-ink); font-weight: 700; }
240
+ .ev-st .ev-sy { display: flex; gap: 10px; padding: 6px 0; font-size: var(--fs-body); line-height: 1.5; color: var(--cz-ink2); max-width: 72ch; overflow-wrap: anywhere; }
241
+ .ev-st .ev-sy b { color: var(--cz-ink); font-weight: var(--fw-strong); }
242
242
  .ev-st .ev-sx { flex: 1; min-width: 0; }
243
243
  .ev-st .ev-dc { width: 7px; flex: none; display: inline-flex; justify-content: center; padding-top: 8px; }
244
244
  .ev-st .ev-grp { display: flex; flex-direction: column; border-top: 1px solid var(--cz-hair); }
245
- .ev-st .ev-gh { display: flex; align-items: center; gap: 10px; min-height: 44px; padding-top: 6px; font-size: var(--fs-4); }
246
- .ev-st .ev-gh b { font-weight: 800; }
247
- .ev-st .ev-more { align-self: flex-start; min-height: 44px; padding: 0 0 0 17px; border: 0; background: none; font: inherit; font-size: var(--fs-2); color: var(--cz-ink3); cursor: pointer; }
245
+ .ev-st .ev-gh { display: flex; align-items: center; gap: 10px; min-height: 44px; padding-top: 6px; font-size: var(--fs-body); line-height: var(--lh-body); }
246
+ .ev-st .ev-gh b { font-weight: var(--fw-strong); }
247
+ .ev-st .ev-more { align-self: flex-start; min-height: 44px; padding: 0 0 0 17px; border: 0; background: none; font: inherit; font-size: var(--fs-meta); color: var(--cz-ink3); cursor: pointer; line-height: var(--lh-meta); }
248
248
  .ev-st .ev-more:hover { color: var(--cz-ink); }
249
249
  .ev-st .ev-wkr > .ev-sum { margin-bottom: 4px; }
250
250
  @media (max-width: 560px) { .ev-st .ev-rel { grid-template-columns: minmax(0, 1fr); } .ev-st .ev-rv { flex-direction: row; gap: 8px; align-items: baseline; padding-top: 0; } }
@@ -264,7 +264,7 @@
264
264
  .ev-st .ev-trow { flex-wrap: wrap; }
265
265
  .ev-st .ev-upd { flex-wrap: wrap; }
266
266
  .ev-st .ev-upd .ev-tx { flex: 1 1 180px; }
267
- .ev-st .ev-sw, .ev-st .ev-pick, .ev-st select.ev-inp, .ev-st input.ev-inp { min-height: 44px; font-size: var(--fs-4); }
267
+ .ev-st .ev-sw, .ev-st .ev-pick, .ev-st select.ev-inp, .ev-st input.ev-inp { min-height: 44px; font-size: var(--fs-field); }
268
268
  .ev-st .ev-seg button { min-height: 40px; }
269
269
  }
270
270
 
@@ -278,7 +278,7 @@
278
278
  /* Settings › Adler › Dress for the day (feedback batch 18 item 8, AsSet1): the header with its master switch, what he wears now or next,
279
279
  * the place pickers, the More festivals list under its row, and Wear now */
280
280
  .ev-st .ev-dr-hd { display: flex; align-items: center; gap: 8px; margin: 0 0 4px -6px; }
281
- .ev-st .ev-dr-hd h4 { margin: 0; font-size: var(--fs-4); font-weight: 800; }
281
+ .ev-st .ev-dr-hd h4 { margin: 0; font-size: var(--fs-section); font-weight: var(--fw-strong); line-height: var(--lh-section); }
282
282
  .ev-st .ev-dr-now { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; background: var(--cz-well); }
283
283
  .ev-st .ev-dr-now p { margin: 0; display: flex; flex-direction: column; gap: 2px; }
284
284
  .ev-st .ev-dr-pl { display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
@@ -294,7 +294,7 @@
294
294
  .ev-st-warn .ev-ib-card { background: var(--cz-card); }
295
295
  .ev-st .ev-reads { margin-bottom: 12px; }
296
296
  .ev-st .ev-fr { align-items: center; gap: 10px; }
297
- .ev-st .ev-fr .ev-late { color: var(--cz-risk); font-weight: 700; }
297
+ .ev-st .ev-fr .ev-late { color: var(--cz-risk); font-weight: var(--fw-strong); }
298
298
  .ev-st .ev-ib-sp { width: 32px; flex: none; }
299
299
  .ev-st-nav .ev-mi .ev-dot.risk { margin-left: 6px; }
300
300
  .ev-st .ev-rl { margin: 4px 0; }
@@ -305,26 +305,26 @@
305
305
  .nv-ini:hover, .nv-opt:hover { background: var(--cz-well); }
306
306
  .nv-it { width: 32px; height: 32px; border-radius: 10px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--cz-bluebg); color: var(--cz-blueink); }
307
307
  .nv-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
308
- .nv-tx b { font-size: var(--fs-3); font-weight: 800; overflow-wrap: anywhere; }
309
- .nv-tx em { font-style: normal; font-size: var(--fs-1); color: var(--cz-ink3); }
310
- .nv-nth { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-1); font-weight: 800; }
308
+ .nv-tx b { font-size: var(--fs-row); font-weight: var(--fw-strong); overflow-wrap: anywhere; line-height: var(--lh-row); }
309
+ .nv-tx em { font-style: normal; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
310
+ .nv-nth { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-badge); font-weight: var(--fw-strong); line-height: var(--lh-badge); }
311
311
  .nv-opts { display: flex; flex-direction: column; gap: 8px; }
312
312
  .nv-opt { align-items: flex-start; }
313
313
  .nv-opt.on { border-color: var(--cz-blue); background: var(--cz-bluebg); }
314
314
  .nv-rd { width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; border: 2px solid var(--cz-ink3); flex: none; box-sizing: border-box; }
315
315
  .nv-opt.on .nv-rd { border: 5px solid var(--cz-blue); }
316
316
  /* "I’d do this" on the overlap choice the agent recommends (batch 18 item 2-B); not .nv-rec, which is the ask Viewer's Record press (2-A) */
317
- .nv-idd { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--cz-card); color: var(--cz-blueink); font-size: var(--fs-1); font-weight: 800; vertical-align: 1px; }
317
+ .nv-idd { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--cz-card); color: var(--cz-blueink); font-size: var(--fs-badge); font-weight: var(--fw-strong); vertical-align: 1px; line-height: var(--lh-badge); }
318
318
  .nv-go { padding-top: 2px; }
319
319
  .nv-pri svg { flex: none; }
320
320
  /* the bridge (batch 20 item 3, canvas WmB): each new stage with the old stages that go into it; ✕ and ✓ as icons, ✓ last */
321
321
  .nv-bridge { border: 1px solid var(--cz-hair); border-radius: 14px; background: var(--cz-card); padding: 2px 14px; }
322
322
  .nv-br { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; padding: 10px 0; }
323
323
  .nv-br + .nv-br { border-top: 1px solid var(--cz-hair); }
324
- .nv-bo { padding: 5px 10px; border-radius: 10px; background: var(--cz-well); color: var(--cz-ink2); font-weight: 700; font-size: var(--fs-2); }
324
+ .nv-bo { padding: 5px 10px; border-radius: 10px; background: var(--cz-well); color: var(--cz-ink2); font-weight: var(--fw-strong); font-size: var(--fs-label); line-height: var(--lh-label); }
325
325
  .nv-ba { display: inline-flex; color: var(--cz-ink3); }
326
- .nv-bn { padding: 5px 10px; border-radius: 10px; background: var(--cz-bluebg); color: var(--cz-blueink); font-weight: 800; font-size: var(--fs-2); }
327
- .nv-bc { margin-left: auto; font-style: normal; font-size: var(--fs-1); color: var(--cz-ink3); }
326
+ .nv-bn { padding: 5px 10px; border-radius: 10px; background: var(--cz-bluebg); color: var(--cz-blueink); font-weight: var(--fw-strong); font-size: var(--fs-label); line-height: var(--lh-label); }
327
+ .nv-bc { margin-left: auto; font-style: normal; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
328
328
  .nv-goi { display: flex; justify-content: flex-end; gap: 10px; }
329
329
  .nv-ico { width: 44px; height: 44px; padding: 0; border-radius: 22px; justify-content: center; }
330
330
  .nv-parts { margin: 0; padding: 0 0 0 18px; display: flex; flex-direction: column; gap: 6px; color: var(--cz-ink2); }
@@ -334,7 +334,7 @@
334
334
  .nv-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 0 14px; border: 0; background: none; color: var(--cz-ink); font: inherit; text-align: left; cursor: pointer; }
335
335
  .nv-row + .nv-row { border-top: 1px solid var(--cz-hair); }
336
336
  .nv-row:disabled { cursor: default; }
337
- .nv-row b { flex: none; font-weight: 800; }
337
+ .nv-row b { flex: none; font-weight: var(--fw-strong); }
338
338
  .nv-row span { flex: 1; min-width: 0; text-align: right; color: var(--cz-ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
339
339
  .nv-row svg { flex: none; color: var(--cz-ink3); }
340
340
  /* Settings › Claude's checks (canvas GrillEntry): what this month used of the credit, as one quiet bar */
@@ -349,8 +349,8 @@
349
349
  .ev-st input.ev-inp.ev-jl-key { flex: 0 1 190px; width: 190px; }
350
350
  .ev-st .ev-ib.ev-jl-pri { background: var(--cz-bluebg); color: var(--cz-blueink); }
351
351
  .ev-st .ev-jl-need { display: flex; align-items: center; gap: 10px; margin: 4px 0 6px; }
352
- .ev-st .ev-jl-need p { flex: 1; margin: 0; font-size: var(--fs-3); }
353
- .ev-st .ev-jl-ok, .ev-st .ev-jl-bad { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ok); }
352
+ .ev-st .ev-jl-need p { flex: 1; margin: 0; font-size: var(--fs-body); line-height: var(--lh-body); }
353
+ .ev-st .ev-jl-ok, .ev-st .ev-jl-bad { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ok); line-height: var(--lh-label); }
354
354
  .ev-st .ev-jl-bad { color: var(--cz-late); }
355
355
  .ev-st p.ev-jl-ok, .ev-st p.ev-jl-bad { padding: 0 0 8px; }
356
356
  .ev-st .ev-jl-lbl { padding: 14px 0 4px; }
@@ -358,7 +358,7 @@
358
358
  .ev-st .ev-jl-rp .ev-trow.ev-jl-r { padding: 10px 0; border-bottom: 0; }
359
359
  .ev-st .ev-jl-ind { border-left: 2px solid var(--cz-hair); margin: 0 0 6px 8px; }
360
360
  .ev-st .ev-jl-ind .ev-trow.ev-jl-r { padding-left: 16px; }
361
- .ev-st .ev-jl-ind .ev-tx b { font-weight: 700; }
361
+ .ev-st .ev-jl-ind .ev-tx b { font-weight: var(--fw-strong); }
362
362
  .ev-st .ev-jl-hr { height: 1px; background: var(--cz-hair); }
363
363
  .ev-st .ev-sw:disabled { opacity: .5; cursor: default; }
364
364
  @media (max-width: 760px) {
@@ -368,14 +368,14 @@
368
368
  /* Settings › Claude: the shared sign-in block (pm/cozy-claude-setup.js). Its Welcome styles (premium.css .wl-btn, .cs-*) are not on this
369
369
  * page, so the block takes the Settings look here: pill buttons, the well select, quiet notes (batch 20 item 12). */
370
370
  .ev-st [data-claude-setup] .cs-panel { display: grid; gap: 10px; justify-items: start; }
371
- .ev-st [data-claude-setup] p { margin: 0; color: var(--cz-ink2); font-size: var(--fs-3); line-height: 1.45; }
372
- .ev-st [data-claude-setup] p.note, .ev-st [data-claude-setup] .cs-status { color: var(--cz-ink3); font-size: var(--fs-2); }
373
- .ev-st [data-claude-setup] .wl-btn { height: 36px; padding: 0 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: var(--fs-3); font-weight: 700; border: 0; background: var(--cz-solid); color: var(--cz-onsolid); cursor: pointer; white-space: nowrap; }
371
+ .ev-st [data-claude-setup] p { margin: 0; color: var(--cz-ink2); font-size: var(--fs-body); line-height: 1.45; }
372
+ .ev-st [data-claude-setup] p.note, .ev-st [data-claude-setup] .cs-status { color: var(--cz-ink3); font-size: var(--fs-meta); line-height: var(--lh-meta); }
373
+ .ev-st [data-claude-setup] .wl-btn { height: 36px; padding: 0 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); border: 0; background: var(--cz-solid); color: var(--cz-onsolid); cursor: pointer; white-space: nowrap; line-height: var(--lh-row); }
374
374
  .ev-st [data-claude-setup] .wl-btn.alt { background: var(--cz-card); color: var(--cz-ink); border: 1px solid var(--cz-hair); }
375
375
  .ev-st [data-claude-setup] .wl-btn.quiet { background: none; color: var(--cz-ink2); }
376
376
  .ev-st [data-claude-setup] .wl-btn:disabled { opacity: .5; cursor: default; }
377
- .ev-st [data-claude-setup] .cs-label { display: flex; align-items: center; gap: 10px; font-size: var(--fs-3); font-weight: 700; color: var(--cz-ink); }
378
- .ev-st [data-claude-setup] select { height: 36px; border-radius: 14px; background: var(--cz-well); padding: 0 12px; font: inherit; font-size: var(--fs-3); font-weight: 400; color: var(--cz-ink); border: 0; min-width: 200px; }
377
+ .ev-st [data-claude-setup] .cs-label { display: flex; align-items: center; gap: 10px; font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-row); }
378
+ .ev-st [data-claude-setup] select { height: 36px; border-radius: 14px; background: var(--cz-well); padding: 0 12px; font: inherit; font-size: var(--fs-body); font-weight: var(--fw-regular); color: var(--cz-ink); border: 0; min-width: 200px; line-height: var(--lh-body); }
379
379
  .ev-st [data-claude-setup] .cs-actions { display: flex; flex-wrap: wrap; gap: 8px; }
380
380
  .ev-st [data-claude-setup] .cs-term { width: 100%; min-height: 280px; border-radius: 14px; overflow: hidden; }
381
381
  @media (max-width: 760px) { .ev-st [data-claude-setup] .wl-btn, .ev-st [data-claude-setup] select { min-height: 44px; } .ev-st [data-claude-setup] .cs-label { flex-wrap: wrap; } }
@@ -5,18 +5,18 @@
5
5
  .hr-card { margin: 0 0 8px; }
6
6
  .hr-card + .hr-card { margin-top: 0; }
7
7
  .hr-men-card { margin-bottom: 12px; }
8
- .hr-at { color: var(--cz-blueink); font-weight: 800; font-size: var(--fs-3); }
8
+ .hr-at { color: var(--cz-blueink); font-weight: var(--fw-strong); font-size: var(--fs-row); line-height: var(--lh-row); }
9
9
  .hr-men:not(.new) .hr-at { color: var(--cz-ink3); }
10
- .hr-new { color: var(--cz-blueink); font-weight: 700; }
10
+ .hr-new { color: var(--cz-blueink); font-weight: var(--fw-strong); }
11
11
  /* the badge counts the asks that wait on the PM (XmsMentionsGrill 4); a new ask adds one line under the name */
12
- .hr-bd { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--cz-blue); color: var(--cz-onsolid); font-size: var(--fs-2); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; margin-left: auto; }
13
- .hr-sub { display: block; font-size: var(--fs-2); font-weight: 600; color: var(--cz-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
12
+ .hr-bd { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--cz-blue); color: var(--cz-onsolid); font-size: var(--fs-label); font-weight: var(--fw-strong); display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; margin-left: auto; line-height: var(--lh-label); }
13
+ .hr-sub { display: block; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: var(--lh-label); }
14
14
  .hr-rec-card { box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--cz-red) 32%, var(--cz-card)); }
15
15
  .hr-rdot { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--cz-dot-red); }
16
- .hr-rst { color: var(--cz-red); font-weight: 700; font-variant-numeric: tabular-nums; }
16
+ .hr-rst { color: var(--cz-red); font-weight: var(--fw-strong); font-variant-numeric: tabular-nums; }
17
17
  .hr-rec-card.paused { box-shadow: 0 0 0 1.5px var(--cz-hair); }
18
18
  .hr-rec-card.paused .hr-rdot { background: var(--cz-ink3); }
19
- .hr-rec-card.paused .hr-rst { color: var(--cz-ink3); font-weight: 600; }
19
+ .hr-rec-card.paused .hr-rst { color: var(--cz-ink3); font-weight: var(--fw-strong); }
20
20
  .hr-rec-card.paused .hm-rt b { color: var(--cz-ink2); }
21
21
  /* motion is importance: a recording that is on breathes once in a while (critical level, as the record dot elsewhere) */
22
22
  .hr-rec-card:not(.paused) .hr-rdot { position: relative; }
@@ -35,7 +35,7 @@
35
35
  /* ── the Mentions Viewer: the round solid press and the 30-day question (kept from Mentions A+) ── */
36
36
  .hr-rp { width: 44px; height: 44px; border-radius: 999px; border: 0; background: var(--cz-solid); color: var(--cz-onsolid); display: inline-grid; place-items: center; cursor: pointer; flex: none; }
37
37
  .hr-rp:focus-visible, .hr-ckb:focus-visible, .hr-all:focus-visible { outline: 2px solid var(--cz-blue); outline-offset: 2px; }
38
- .hr-ck { display: flex; align-items: center; gap: 6px; margin: 0 4px 8px; padding: 4px 4px 4px 12px; border-radius: 12px; background: var(--cz-riskbg); color: var(--cz-risk); font-size: var(--fs-3); font-weight: 700; }
38
+ .hr-ck { display: flex; align-items: center; gap: 6px; margin: 0 4px 8px; padding: 4px 4px 4px 12px; border-radius: 12px; background: var(--cz-riskbg); color: var(--cz-risk); font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: var(--lh-row); }
39
39
  .hr-ck span { flex: 1; min-width: 0; }
40
40
  .hr-ckb { width: 36px; height: 36px; border-radius: 999px; border: 0; background: var(--cz-card); color: var(--cz-ink2); display: inline-grid; place-items: center; cursor: pointer; flex: none; }
41
41
 
@@ -44,7 +44,7 @@
44
44
  .mn-open-card { display: flex; gap: 14px; align-items: flex-start; background: var(--cz-card); border-radius: 20px; padding: 14px 16px; box-shadow: 0 0 0 1px var(--cz-hair); }
45
45
  .mn-open-card .ad-svg, .mn-open-card .ad-dot { flex: none; margin-top: 2px; }
46
46
  .mn-oc { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
47
- .mn-oc p { margin: 0; font-size: var(--fs-4); line-height: 1.5; color: var(--cz-ink); }
47
+ .mn-oc p { margin: 0; font-size: var(--fs-body); line-height: 1.5; color: var(--cz-ink); }
48
48
  .mn-acts { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
49
49
  .mn-acts.sp { justify-content: space-between; flex-wrap: wrap; }
50
50
  .mn-acts.sp > span { display: inline-flex; gap: 8px; }
@@ -58,47 +58,47 @@
58
58
  .mn-row.sel .mn-open { padding-bottom: 10px; }
59
59
  .mn-open:hover { background: color-mix(in srgb, var(--cz-well) 45%, transparent); }
60
60
  .mn-open:focus-visible, .mn-more:focus-visible, .mn-all:focus-visible { outline: 2px solid var(--cz-blue); outline-offset: 2px; }
61
- .mn-av { position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); display: inline-grid; place-items: center; font-size: var(--fs-1); font-weight: 800; flex: none; }
61
+ .mn-av { position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); display: inline-grid; place-items: center; font-size: var(--fs-badge); font-weight: var(--fw-strong); flex: none; line-height: var(--lh-badge); }
62
62
  .mn-bg { position: absolute; right: -3px; bottom: -3px; width: 16px; height: 16px; border-radius: 50%; background: var(--cz-card); color: var(--cz-ink3); display: grid; place-items: center; box-shadow: 0 0 0 1.5px var(--cz-card); }
63
63
  .mn-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
64
64
  .mn-top { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
65
- .mn-nm { flex: none; max-width: 60%; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
66
- .mn-pl { flex: 0 1 auto; min-width: 0; font-size: var(--fs-2); color: var(--cz-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
65
+ .mn-nm { flex: none; max-width: 60%; font-weight: var(--fw-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
66
+ .mn-pl { flex: 0 1 auto; min-width: 0; font-size: var(--fs-meta); color: var(--cz-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: var(--lh-meta); }
67
67
  .mn-r { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; flex: none; }
68
- .mn-n { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--cz-well); color: var(--cz-ink2); font-size: var(--fs-1); font-weight: 800; display: inline-grid; place-items: center; }
69
- .mn-age { font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink3); white-space: nowrap; }
68
+ .mn-n { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: var(--cz-well); color: var(--cz-ink2); font-size: var(--fs-badge); font-weight: var(--fw-strong); display: inline-grid; place-items: center; line-height: var(--lh-badge); }
69
+ .mn-age { font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); white-space: nowrap; line-height: var(--lh-label); }
70
70
  .mn-age.late { color: var(--cz-risk); }
71
71
  .mn-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cz-blue); }
72
- .mn-gist { font-size: var(--fs-3); line-height: 1.45; color: var(--cz-ink2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
73
- .mn-gist em { font-style: normal; font-weight: 700; color: var(--cz-blueink); }
74
- .mn-tag { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-2); color: var(--cz-ink3); }
72
+ .mn-gist { font-size: var(--fs-body); line-height: 1.45; color: var(--cz-ink2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
73
+ .mn-gist em { font-style: normal; font-weight: var(--fw-strong); color: var(--cz-blueink); }
74
+ .mn-tag { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
75
75
  .mn-row > .mn-dr, .mn-row > .mn-sent, .mn-row > .mn-acts, .mn-row > .hr-ck { margin-left: 54px; }
76
- .mn-dr { display: flex; flex-direction: column; gap: 4px; padding: 10px 14px; border-radius: 14px; background: var(--cz-bluebg); font-size: var(--fs-3); line-height: 1.5; color: var(--cz-ink); }
76
+ .mn-dr { display: flex; flex-direction: column; gap: 4px; padding: 10px 14px; border-radius: 14px; background: var(--cz-bluebg); font-size: var(--fs-body); line-height: 1.5; color: var(--cz-ink); }
77
77
  .mn-dr p { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
78
78
  .mn-dr.no { background: var(--cz-well); }
79
79
  .mn-dr.in { background: var(--cz-card); }
80
- .mn-drh { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-2); font-weight: 700; color: var(--cz-blueink); white-space: normal !important; }
80
+ .mn-drh { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-blueink); white-space: normal !important; line-height: var(--lh-label); }
81
81
  .mn-dr.no .mn-drh { color: var(--cz-ink2); }
82
- .mn-sent { margin: 0; display: flex; align-items: center; gap: 6px; font-size: var(--fs-2); color: var(--cz-ink3); }
83
- .mn-more { align-self: stretch; text-align: left; padding: 12px 6px 4px 54px; border: 0; background: none; font: inherit; font-size: var(--fs-3); font-weight: 700; color: var(--cz-blueink); cursor: pointer; }
82
+ .mn-sent { margin: 0; display: flex; align-items: center; gap: 6px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
83
+ .mn-more { align-self: stretch; text-align: left; padding: 12px 6px 4px 54px; border: 0; background: none; font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-blueink); cursor: pointer; line-height: var(--lh-row); }
84
84
  .mn-all { width: 36px; height: 36px; border: 0; border-radius: 999px; background: none; color: var(--cz-ink2); display: inline-grid; place-items: center; cursor: pointer; }
85
85
  .mn-stk { display: inline-flex; align-items: center; height: 36px; padding-right: 6px; }
86
86
  .czs-sec.t:has(.mn-stk) > .czs-row { padding-right: 112px; }
87
- .mn-stk i { font-style: normal; width: 26px; height: 26px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-1); font-weight: 800; display: inline-grid; place-items: center; box-shadow: 0 0 0 2px var(--cz-card); }
87
+ .mn-stk i { font-style: normal; width: 26px; height: 26px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-badge); font-weight: var(--fw-strong); display: inline-grid; place-items: center; box-shadow: 0 0 0 2px var(--cz-card); line-height: var(--lh-badge); }
88
88
  .mn-stk i + i { margin-left: -6px; }
89
- .mn-gap { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--cz-hair); font-size: var(--fs-2); line-height: 1.45; color: var(--cz-ink2); }
89
+ .mn-gap { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--cz-hair); font-size: var(--fs-meta); line-height: 1.45; color: var(--cz-ink2); }
90
90
  .mn-gap p { margin: 0; flex: 1; min-width: 0; }
91
91
  .mn-gap b { color: var(--cz-ink); }
92
- .mn-foot { margin: 4px 0 0; font-size: var(--fs-1); color: var(--cz-ink3); }
92
+ .mn-foot { margin: 4px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
93
93
  /* one conversation */
94
94
  .mn-ask { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 20px; background: var(--cz-bluebg); }
95
95
  .mn-ask.calm { background: color-mix(in srgb, var(--cz-well) 60%, var(--cz-card)); }
96
- .mn-ak { margin: 0; font-size: var(--fs-2); font-weight: 700; color: var(--cz-blueink); }
96
+ .mn-ak { margin: 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-blueink); line-height: var(--lh-label); }
97
97
  .mn-ak.late { color: var(--cz-risk); }
98
98
  .mn-ask.calm .mn-ak { color: var(--cz-ink3); }
99
- .mn-aq { margin: 0; font-size: var(--fs-3); line-height: 1.5; color: var(--cz-ink); overflow-wrap: anywhere; }
99
+ .mn-aq { margin: 0; font-size: var(--fs-body); line-height: 1.5; color: var(--cz-ink); overflow-wrap: anywhere; }
100
100
  .mn-ask .mn-ib { background: var(--cz-card); }
101
- .mn-card { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 20px; background: var(--cz-card); box-shadow: 0 0 0 1px var(--cz-hair); font-size: var(--fs-3); line-height: 1.5; }
101
+ .mn-card { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 20px; background: var(--cz-card); box-shadow: 0 0 0 1px var(--cz-hair); font-size: var(--fs-body); line-height: 1.5; }
102
102
  .mn-h { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--cz-blueink); }
103
103
  .mn-h b { color: var(--cz-ink); }
104
104
  .mn-st, .mn-fd { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
@@ -109,12 +109,12 @@
109
109
  .mn-watch { flex-direction: row; align-items: center; gap: 10px; }
110
110
  .mn-watch > svg { flex: none; color: var(--cz-blueink); }
111
111
  .mn-watch p { margin: 0; flex: 1; min-width: 0; }
112
- .mn-wl { margin: 0; display: flex; gap: 8px; align-items: center; font-size: var(--fs-2); color: var(--cz-ink2); }
112
+ .mn-wl { margin: 0; display: flex; gap: 8px; align-items: center; font-size: var(--fs-meta); color: var(--cz-ink2); line-height: var(--lh-meta); }
113
113
  .mn-wl svg { color: var(--cz-blueink); flex: none; }
114
114
  .mn-thr { display: flex; flex-direction: column; gap: 8px; }
115
- .mn-day { margin: 6px 0 0; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink2); }
116
- .mn-msg { align-self: flex-start; max-width: 80%; display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 14px; background: var(--cz-card); box-shadow: 0 0 0 1px var(--cz-hair); font-size: var(--fs-3); line-height: 1.45; overflow-wrap: anywhere; }
117
- .mn-msg small { font-size: var(--fs-1); font-weight: 700; color: var(--cz-ink3); }
115
+ .mn-day { margin: 6px 0 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); line-height: var(--lh-label); }
116
+ .mn-msg { align-self: flex-start; max-width: 80%; display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 14px; background: var(--cz-card); box-shadow: 0 0 0 1px var(--cz-hair); font-size: var(--fs-body); line-height: 1.45; overflow-wrap: anywhere; }
117
+ .mn-msg small { font-size: var(--fs-badge); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-badge); }
118
118
  .mn-msg.me { align-self: flex-end; background: var(--cz-bluebg); box-shadow: none; }
119
119
  /* the desktop: the list and the conversation side by side (MnA4) */
120
120
  .mn-split { display: grid; grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 24px; align-items: start; }
@@ -122,5 +122,5 @@
122
122
  .mn-conv { position: sticky; top: 0; }
123
123
  .mn-ch { display: flex; align-items: center; gap: 12px; }
124
124
  .mn-cht { flex: 1; min-width: 0; display: flex; flex-direction: column; }
125
- .mn-cht b { font-size: var(--fs-4); }
126
- .mn-cht small { font-size: var(--fs-2); color: var(--cz-ink3); }
125
+ .mn-cht b { font-size: var(--fs-body); line-height: var(--lh-body); }
126
+ .mn-cht small { font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }