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
@@ -4,9 +4,9 @@
4
4
  /* ── the stage move in the card (InStage) ── */
5
5
  .hi-slot { display: contents; }
6
6
  .hi-mv { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
7
- .hi-why, .hi-note { margin: 0; font-size: var(--fs-2); color: var(--cz-ink3); }
7
+ .hi-why, .hi-note { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
8
8
  .hi-note b { color: var(--cz-ink2); }
9
- .hi-swl { display: flex; align-items: center; gap: 8px; font-size: var(--fs-2); color: var(--cz-ink2); }
9
+ .hi-swl { display: flex; align-items: center; gap: 8px; font-size: var(--fs-meta); color: var(--cz-ink2); line-height: var(--lh-meta); }
10
10
  .hi-sw { position: relative; flex: none; width: 32px; height: 20px; border-radius: 999px; background: var(--cz-c-d9dce1); border: 0; padding: 0; cursor: pointer; }
11
11
  .hi-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--cz-card); transition: left .15s; }
12
12
  .hi-sw[aria-checked="true"] { background: var(--cz-blue); }
@@ -19,13 +19,13 @@
19
19
  .hi-self { align-self: flex-start; }
20
20
 
21
21
  /* ── the list column groups (InTasks, InDocs) ── */
22
- .hi-g .hm-gh .hi-n { margin-left: auto; font-weight: 700; font-size: var(--fs-2); color: var(--cz-ink3); }
22
+ .hi-g .hm-gh .hi-n { margin-left: auto; font-weight: var(--fw-strong); font-size: var(--fs-label); color: var(--cz-ink3); line-height: var(--lh-label); }
23
23
  .hm-r.hi-r { min-height: 48px; margin-bottom: 2px; }
24
24
  .hm-r.hi-r .hm-rm { min-height: 48px; padding: 7px 10px; }
25
- .hm-r.hi-r .hm-rt b { font-weight: 600; }
25
+ .hm-r.hi-r .hm-rt b { font-weight: var(--fw-strong); }
26
26
  .hm-r.hi-r > .hi-chk { margin-left: 12px; }
27
27
  .hm-rt em.q { color: var(--cz-ink3); }
28
- .hm-rt em.late { color: var(--cz-late); font-weight: 700; }
28
+ .hm-rt em.late { color: var(--cz-late); font-weight: var(--fw-strong); }
29
29
  .hm-rt em.risk { color: var(--cz-risk); }
30
30
  .hm-dot.hi-risk { background: var(--cz-dot-risk); }
31
31
  .hm-tile.hi-sq { border-radius: 50%; background: var(--cz-well2); box-shadow: none; }
@@ -38,39 +38,39 @@
38
38
 
39
39
 
40
40
  /* ── the Viewer: Tasks, Documents, Stage (InTasks, InDocs) ── */
41
- .hi-v { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 24px; font-size: var(--fs-3); color: var(--cz-ink); }
41
+ .hi-v { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 24px; font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
42
42
  .hi-seg { align-self: flex-start; }
43
43
  .hi-vh2 { display: flex; align-items: center; gap: 8px; }
44
- .hi-vh2 h2 { flex: 1; min-width: 0; margin: 0; font-size: var(--fs-5); font-weight: 800; }
45
- .cz-pick.hi-pick { height: 30px; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink2); }
44
+ .hi-vh2 h2 { flex: 1; min-width: 0; margin: 0; font-size: var(--fs-panel); font-weight: var(--fw-strong); line-height: var(--lh-panel); }
45
+ .cz-pick.hi-pick { height: 30px; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); line-height: var(--lh-label); }
46
46
  .cz-pick.hi-pick svg { fill: none; stroke: currentColor; }
47
- .hi-empty { margin: 0; font-size: var(--fs-2); color: var(--cz-ink3); }
47
+ .hi-empty { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
48
48
  .hi-tg { display: flex; flex-direction: column; border-radius: 12px; }
49
49
  .hi-tg.over { background: var(--cz-bluebg); }
50
50
  .hi-gh { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
51
51
  .hi-ghb { flex: 1; display: flex; align-items: center; gap: 6px; height: 32px; padding: 0; border: 0; background: none; color: var(--cz-ink); font: inherit; cursor: pointer; text-align: left; }
52
52
  .hi-ghb svg { color: var(--cz-ink3); }
53
- .hi-ghb b { font-size: var(--fs-3); }
54
- .hi-ghb span { font-size: var(--fs-2); color: var(--cz-ink3); }
55
- .hi-trow { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-3); min-height: 26px; }
53
+ .hi-ghb b { font-size: var(--fs-body); line-height: var(--lh-body); }
54
+ .hi-ghb span { font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
55
+ .hi-trow { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-body); min-height: 26px; line-height: var(--lh-body); }
56
56
  .hi-trow:last-child { border-bottom: 0; }
57
57
  .hi-trow[draggable="true"] { cursor: grab; }
58
58
  .hi-trow.drag { opacity: .5; }
59
59
  .hi-tt { flex: 1; min-width: 0; border: 0; background: none; padding: 0; font: inherit; color: var(--cz-ink); text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
60
- .hi-tt em { font-style: normal; color: var(--cz-ink3); font-size: var(--fs-2); }
60
+ .hi-tt em { font-style: normal; color: var(--cz-ink3); font-size: var(--fs-meta); line-height: var(--lh-meta); }
61
61
  .hi-trow.done .hi-tt { text-decoration: line-through; color: var(--cz-ink3); }
62
- .hi-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 999px; font: inherit; font-size: var(--fs-1); font-weight: 700; background: var(--cz-well); color: var(--cz-ink2); white-space: nowrap; border: 0; flex: none; }
62
+ .hi-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 999px; font: inherit; font-size: var(--fs-badge); font-weight: var(--fw-strong); background: var(--cz-well); color: var(--cz-ink2); white-space: nowrap; border: 0; flex: none; line-height: var(--lh-badge); }
63
63
  button.hi-pill { cursor: pointer; }
64
64
  .hi-pill.ok { background: var(--cz-okbg); color: var(--cz-ok); }
65
65
  .hi-pill.w { background: var(--cz-riskbg); color: var(--cz-risk); }
66
66
  .hi-pill.dash { background: transparent; box-shadow: inset 0 0 0 1px var(--cz-c-c5c9d0); color: var(--cz-ink3); }
67
- .hi-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-grid; place-items: center; flex: none; }
68
- .hi-due { font-size: var(--fs-2); color: var(--cz-ink3); min-width: 38px; text-align: right; flex: none; }
69
- .hi-due.late { color: var(--cz-late); font-weight: 700; }
67
+ .hi-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-grid; place-items: center; flex: none; line-height: var(--lh-badge); }
68
+ .hi-due { font-size: var(--fs-meta); color: var(--cz-ink3); min-width: 38px; text-align: right; flex: none; line-height: var(--lh-meta); }
69
+ .hi-due.late { color: var(--cz-late); font-weight: var(--fw-strong); }
70
70
  .hi-trow .hi-ib { opacity: .35; }
71
71
  .hi-trow:hover .hi-ib, .hi-trow .hi-ib:focus-visible, .hi-trow .hi-ib[aria-expanded="true"] { opacity: 1; }
72
72
  .hi-add { display: flex; align-items: center; gap: 8px; height: 40px; border-radius: 14px; background: var(--cz-well); padding: 0 6px 0 12px; }
73
- .hi-add input { flex: 1; min-width: 0; border: 0; background: none; outline: 0; font: inherit; font-size: var(--fs-3); color: var(--cz-ink); }
73
+ .hi-add input { flex: 1; min-width: 0; border: 0; background: none; outline: 0; font: inherit; font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
74
74
  .hi-foot { display: flex; gap: 4px; flex-wrap: wrap; border-top: 1px solid var(--cz-hair); padding-top: 8px; }
75
75
  .hi-drow { display: flex; align-items: flex-start; gap: 10px; padding: 8px; border-radius: 12px; }
76
76
  .hi-drow.look { background: var(--cz-bluebg); }
@@ -79,12 +79,12 @@ button.hi-pill { cursor: pointer; }
79
79
  .hi-dic { width: 30px; height: 30px; border-radius: 9px; background: var(--cz-well); display: inline-grid; place-items: center; flex: none; color: var(--cz-ink2); }
80
80
  .hi-dic.dash { background: none; box-shadow: inset 0 0 0 1.5px var(--cz-c-d9dce1); color: var(--cz-ink3); }
81
81
  .hi-dtx { min-width: 0; display: block; }
82
- .hi-dtx b { font-weight: 800; }
83
- .hi-dtx .hi-k { font-size: var(--fs-2); color: var(--cz-ink3); }
84
- .hi-dtx em { display: block; font-style: normal; font-size: var(--fs-2); color: var(--cz-ink3); }
85
- .hi-dtx small { display: block; font-size: var(--fs-1); color: var(--cz-ink3); overflow-wrap: anywhere; }
82
+ .hi-dtx b { font-weight: var(--fw-strong); }
83
+ .hi-dtx .hi-k { font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
84
+ .hi-dtx em { display: block; font-style: normal; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
85
+ .hi-dtx small { display: block; font-size: var(--fs-meta); color: var(--cz-ink3); overflow-wrap: anywhere; line-height: var(--lh-meta); }
86
86
  .hi-drow.later { align-items: center; color: var(--cz-ink3); }
87
- .hi-dt { flex: 1; font-size: var(--fs-3); }
87
+ .hi-dt { flex: 1; font-size: var(--fs-body); line-height: var(--lh-body); }
88
88
  .hi-drow > .hi-pill, .hi-drow > .hi-btn { margin-top: 4px; }
89
89
  .hi-sec { display: flex; flex-direction: column; gap: 8px; }
90
90
  .hi-stages { display: flex; flex-wrap: wrap; gap: 6px; }
@@ -130,13 +130,13 @@ button.hi-pill { cursor: pointer; }
130
130
  @media (max-width: 760px) { .hi-v.hi-page { padding-left: 0; padding-right: 0; } }
131
131
  .hi-pg { display: flex; flex-direction: column; gap: 2px; }
132
132
  .hi-pgh { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 4px; }
133
- .hi-pgh b { font-size: var(--fs-3); font-weight: 800; color: var(--cz-ink); }
134
- .hi-pgh .hi-n { font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink3); }
133
+ .hi-pgh b { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-row); }
134
+ .hi-pgh .hi-n { font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-label); }
135
135
  .hi-pgh .hm-gadd { margin-left: auto; }
136
- .hi-pgm { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink2); font: inherit; font-size: var(--fs-2); font-weight: 700; cursor: pointer; }
136
+ .hi-pgm { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink2); font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); cursor: pointer; line-height: var(--lh-label); }
137
137
  .hi-pge { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 6px; }
138
- .hi-pge p { margin: 0; font-size: var(--fs-2); color: var(--cz-ink3); }
139
- .hi-talk { min-height: 44px; border: 0; border-radius: 22px; background: var(--cz-well); color: var(--cz-ink3); font: inherit; font-size: var(--fs-3); text-align: left; padding: 0 16px; cursor: pointer; }
138
+ .hi-pge p { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
139
+ .hi-talk { min-height: 44px; border: 0; border-radius: 22px; background: var(--cz-well); color: var(--cz-ink3); font: inherit; font-size: var(--fs-body); text-align: left; padding: 0 16px; cursor: pointer; line-height: var(--lh-body); }
140
140
  @media (hover: hover) { .hi-pgm:hover { background: var(--cz-well2); } }
141
141
 
142
142
  /* ── D99: the initiative's own workflow (WfTriage, WfAChange, WfAWontDo) ── */
@@ -150,22 +150,22 @@ button.hi-pill { cursor: pointer; }
150
150
  .hm-card.hm-sc { padding: 0; background: transparent; box-shadow: none; }
151
151
  .hm-box.hm-scb { background: var(--cz-card); border-radius: 18px; padding: 12px; gap: 0; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cz-blue) 45%, transparent); }
152
152
  .hm-sch { display: flex; align-items: center; gap: 8px; min-height: 28px; }
153
- .hm-sch > b { font-size: var(--fs-3); font-weight: 800; color: var(--cz-ink); }
154
- .hm-sch .of { font-size: var(--fs-2); color: var(--cz-ink3); font-weight: 600; }
153
+ .hm-sch > b { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-row); }
154
+ .hm-sch .of { font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); line-height: var(--lh-label); }
155
155
  .hm-sch .hm-wf { display: inline-flex; align-items: center; justify-content: center; padding: 3px; margin-left: 2px; border: 0; border-radius: 9px; background: none; cursor: pointer; color: inherit; }
156
156
  .hm-sch .hm-wf:hover, .hm-sch .hm-wf[aria-expanded="true"] { background: var(--cz-well); }
157
- .hm-sct { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-2); color: var(--cz-ink3); font-weight: 600; white-space: nowrap; }
157
+ .hm-sct { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); white-space: nowrap; line-height: var(--lh-label); }
158
158
  .hm-sct.over { color: var(--cz-risk); }
159
159
  .hm-bars.hm-scbars { margin: 10px 0 8px; }
160
160
  .hm-bars.hm-scbars i { position: relative; } .hm-bars.hm-scbars i::after { content: ""; position: absolute; inset: -6px 0; } /* a taller hover target for the stage name */
161
161
  .hm-bars.hm-scbars i.skip { background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cz-ink3) 40%, transparent) 0 4px, transparent 4px 7px); }
162
162
  .hm-scl { border-top: 1px solid var(--cz-hair); padding-top: 8px; margin-top: 2px; }
163
- .hm-scwhy { margin: 0; padding: 4px 0 2px 34px; font-size: var(--fs-2); color: var(--cz-ink3); }
164
- .hm-scb > .hm-none { margin: 4px 0 0; font-size: var(--fs-2); color: var(--cz-ink3); }
163
+ .hm-scwhy { margin: 0; padding: 4px 0 2px 34px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
164
+ .hm-scb > .hm-none { margin: 4px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
165
165
  /* the move sheet: Move now and Back as two quiet buttons, side by side on a desktop, stacked on the phone */
166
166
  .hi-nxa { display: flex; gap: 8px; padding-top: 10px; border-top: 1px solid var(--cz-hair); }
167
167
  .hi-nxa .hi-btn { flex: 1; justify-content: center; height: 40px; border-radius: 12px; }
168
- .hi-pop .hi-swl { font-size: var(--fs-3); font-weight: 700; color: var(--cz-ink); min-height: 44px; }
168
+ .hi-pop .hi-swl { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); min-height: 44px; line-height: var(--lh-row); }
169
169
  .hi-pop .hi-swl > span { flex: 1; }
170
170
  .hi-pop .hi-sw { width: 44px; height: 28px; }
171
171
  .hi-pop .hi-sw::after { top: 4px; left: 4px; width: 20px; height: 20px; }
@@ -178,6 +178,6 @@ button.hi-pill { cursor: pointer; }
178
178
  .hi-pop .hi-sw[aria-checked="true"]::before, .hi-v .hi-sw[aria-checked="true"]::before, :root[data-theme="dark"] .hi-pop .hi-sw[aria-checked="true"]::before, :root[data-theme="dark"] .hi-v .hi-sw[aria-checked="true"]::before { background: var(--cz-blue); }
179
179
  .hi-pop .hi-sw::after, .hi-v .hi-sw::after { top: 12px; z-index: 1; background: var(--cz-onsolid); }
180
180
  .hi-pop.sheet .hi-nxa { flex-direction: column; border-top: 0; padding-top: 0; }
181
- .hi-pop.sheet .hi-nxa .hi-btn { height: 48px; border-radius: 14px; font-size: var(--fs-3); font-weight: 800; }
182
- .hi-pop.sheet .hi-h3 { font-size: var(--fs-4); }
181
+ .hi-pop.sheet .hi-nxa .hi-btn { height: 48px; border-radius: 14px; font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: var(--lh-row); }
182
+ .hi-pop.sheet .hi-h3 { font-size: var(--fs-body); line-height: var(--lh-body); }
183
183
  }
@@ -7,19 +7,19 @@
7
7
  .pl-row { display: flex; align-items: center; gap: 4px; min-height: 48px; padding: 2px 4px 2px 0; }
8
8
  .pl-hit { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 6px 0 14px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 14px; }
9
9
  .pl-hit:focus-visible, .pl-stop:focus-visible, .pl-ib:focus-visible, .pl-dvb:focus-visible { outline: 2px solid var(--cz-blue); outline-offset: 2px; }
10
- .pl-t { flex: 1; min-width: 0; font-size: var(--fs-3); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
10
+ .pl-t { flex: 1; min-width: 0; font-size: var(--fs-row); font-weight: var(--fw-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: var(--lh-row); }
11
11
  .hm-pl.open .pl-t { white-space: normal; }
12
12
  .hm-pl.you .pl-t, .hm-goalq .pl-t { color: var(--cz-blueink); }
13
- .pl-n { flex: none; font-size: var(--fs-2); font-weight: 600; color: var(--cz-ink3); }
13
+ .pl-n { flex: none; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-label); }
14
14
  .pl-cv { flex: none; display: inline-flex; color: var(--cz-ink3); }
15
15
  .pl-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--cz-blue); }
16
16
  .pl-clk { display: inline-flex; color: var(--cz-ink3); }
17
17
  .pl-stop { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--cz-hair); background: var(--cz-card); color: var(--cz-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
18
18
  .pl-body { padding: 0 14px 12px; }
19
- .pl-head { margin: 0 0 10px; font-size: var(--fs-2); color: var(--cz-ink3); line-height: 1.4; }
19
+ .pl-head { margin: 0 0 10px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: 1.4; }
20
20
  .pl-sl { margin-top: 2px; }
21
- .pl-now { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid var(--cz-hair); font-size: var(--fs-2); min-width: 0; }
22
- .pl-now b { flex: none; font-weight: 800; }
21
+ .pl-now { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid var(--cz-hair); font-size: var(--fs-meta); min-width: 0; line-height: var(--lh-meta); }
22
+ .pl-now b { flex: none; font-weight: var(--fw-strong); }
23
23
  .pl-nt { min-width: 0; color: var(--cz-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
24
24
  .hm-pl.open .pl-nt { white-space: normal; }
25
25
  .pl-acts { display: flex; gap: 8px; margin-top: 10px; }
@@ -29,10 +29,10 @@
29
29
  /* the Viewer (a desktop) */
30
30
  .pl-vw { padding: 16px 20px; }
31
31
  .pl-vwh { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 6px; }
32
- .pl-vwh b { flex: 1; min-width: 0; font-size: var(--fs-4); font-weight: 800; line-height: 1.3; }
32
+ .pl-vwh b { flex: 1; min-width: 0; font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: 1.3; }
33
33
 
34
34
  /* the divider where a run finished */
35
- .pl-dv { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: var(--fs-2); font-weight: 700; color: var(--cz-ink2); }
35
+ .pl-dv { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); line-height: var(--lh-label); }
36
36
  .pl-dv .ln { flex: 1; height: 1px; background: var(--cz-hair); }
37
37
  .pl-dv.stop { color: var(--cz-risk); }
38
38
  .pl-dvb { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 8px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; border-radius: 10px; }
@@ -2,24 +2,24 @@
2
2
  * leaf outside Adler's sprout. Colours are the --cz-* tokens of cozy.css, type is the var(--fs-N) scale. */
3
3
  .im { display: flex; flex-direction: column; gap: 14px; font-family: var(--cz-sans); color: var(--cz-ink); }
4
4
  .im-hd { display: flex; flex-direction: column; gap: 4px; }
5
- .im-hd b { font-size: var(--fs-5); font-weight: 800; letter-spacing: -.01em; }
6
- .im-hd span { font-size: var(--fs-4); color: var(--cz-ink2); }
5
+ .im-hd b { font-size: var(--fs-display); font-weight: var(--fw-strong); letter-spacing: -.01em; line-height: var(--lh-display); }
6
+ .im-hd span { font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
7
7
  .im-card { background: var(--cz-card); border: 1px solid var(--cz-hair); border-radius: 18px; padding: 4px 16px; }
8
8
  .im-row { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 0; border-top: 1px solid var(--cz-hair); }
9
9
  .im-row:first-child { border-top: 0; }
10
10
  .im-tile { width: 36px; height: 36px; border-radius: 10px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--cz-well); color: var(--cz-ink2); }
11
11
  .im-tile.b { background: var(--cz-bluebg); color: var(--cz-blue); }
12
12
  .im-tile.g { background: var(--cz-okbg); color: var(--cz-ok); }
13
- .im-av { width: 36px; height: 36px; border-radius: 18px; flex: none; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: var(--fs-3); background: var(--cz-well); color: var(--cz-ink); }
13
+ .im-av { width: 36px; height: 36px; border-radius: 18px; flex: none; display: inline-flex; align-items: center; justify-content: center; font-weight: var(--fw-strong); font-size: var(--fs-row); background: var(--cz-well); color: var(--cz-ink); line-height: var(--lh-row); }
14
14
  .im-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
15
- .im-t { font-size: var(--fs-4); font-weight: 400; }
16
- b.im-t { font-weight: 700; }
17
- .im-s { font-size: var(--fs-3); color: var(--cz-ink2); }
15
+ .im-t { font-size: var(--fs-body); font-weight: var(--fw-regular); line-height: var(--lh-body); }
16
+ b.im-t { font-weight: var(--fw-strong); }
17
+ .im-s { font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
18
18
  .im-ib { width: 44px; height: 44px; border-radius: 22px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--cz-well); color: var(--cz-ink2); text-decoration: none; }
19
- .im-lock { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-3); color: var(--cz-ink2); }
19
+ .im-lock { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
20
20
  .im-wk { display: flex; flex-direction: column; gap: 8px; }
21
21
  .im-wk.quiet { flex-direction: row; align-items: baseline; gap: 10px; padding: 4px 0; }
22
- .im-wl { font-size: var(--fs-2); font-weight: 800; letter-spacing: .02em; color: var(--cz-ink2); flex: none; }
22
+ .im-wl { font-size: var(--fs-label); font-weight: var(--fw-strong); letter-spacing: .02em; color: var(--cz-ink2); flex: none; line-height: var(--lh-label); }
23
23
  .im-row .im-wl { width: 64px; }
24
24
  .im-wk summary { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; list-style: none; border-radius: 12px; }
25
25
  .im-wk summary::-webkit-details-marker { display: none; }
@@ -31,7 +31,7 @@ b.im-t { font-weight: 700; }
31
31
  .im-made { margin-top: 18px; }
32
32
  .im-win { margin-bottom: 12px; border-radius: 18px; overflow: hidden; }
33
33
  .im-ch { margin: 12px 0; }
34
- .im-mt { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: var(--fs-3); color: var(--cz-ink2); }
34
+ .im-mt { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
35
35
  .im-face { width: 40px; height: 44px; border: 0; padding: 0; margin: 0 -4px 0 0; background: none; border-radius: 22px; flex: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
36
36
  .im-face .ad-svg.hv-ad { width: 36px; height: 36px; }
37
37
  @media (hover: hover) { .im-ib:hover, .im-face:hover, .im-wk summary:hover { background: var(--cz-well2); } }