create-pmos 0.512.0 → 0.513.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 (103) hide show
  1. package/package.json +14 -16
  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 +13 -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/metric-drafts-ui-test.js +2 -2
  18. package/workspace/package-lock.json +2 -2
  19. package/workspace/package.json +1 -1
  20. package/workspace/premium-menu-rows-test.js +1 -1
  21. package/workspace/premium-vw-doc-test.js +1 -1
  22. package/workspace/public/pm/bd-pin-card.css +4 -4
  23. package/workspace/public/pm/bd-publish.css +11 -11
  24. package/workspace/public/pm/bd-shared.css +17 -17
  25. package/workspace/public/pm/c3-capture.css +9 -9
  26. package/workspace/public/pm/c3-initiatives.css +23 -23
  27. package/workspace/public/pm/c3-listen.css +1 -1
  28. package/workspace/public/pm/components.css +572 -572
  29. package/workspace/public/pm/console3.css +374 -373
  30. package/workspace/public/pm/cozy-adler.css +4 -4
  31. package/workspace/public/pm/cozy-aud.css +1 -1
  32. package/workspace/public/pm/cozy-board.css +328 -328
  33. package/workspace/public/pm/cozy-ev.css +78 -78
  34. package/workspace/public/pm/cozy-home-rows.css +32 -32
  35. package/workspace/public/pm/cozy-home.css +240 -240
  36. package/workspace/public/pm/cozy-insights.css +200 -200
  37. package/workspace/public/pm/cozy-live-pill.css +5 -5
  38. package/workspace/public/pm/cozy-mtg-present.css +28 -28
  39. package/workspace/public/pm/cozy-onboard.css +15 -15
  40. package/workspace/public/pm/cozy-panel.css +39 -39
  41. package/workspace/public/pm/cozy-pick.css +5 -5
  42. package/workspace/public/pm/cozy-rec-now.css +23 -23
  43. package/workspace/public/pm/cozy-rec-present.css +11 -11
  44. package/workspace/public/pm/cozy-rec-tab.css +13 -13
  45. package/workspace/public/pm/cozy-steps.css +14 -14
  46. package/workspace/public/pm/cozy-today.css +95 -95
  47. package/workspace/public/pm/cozy-viewer.css +27 -27
  48. package/workspace/public/pm/cozy-vw-mtg.css +113 -113
  49. package/workspace/public/pm/cozy-vw-rp.css +79 -79
  50. package/workspace/public/pm/cozy-vw-shell.css +43 -43
  51. package/workspace/public/pm/cozy-vw.css +129 -129
  52. package/workspace/public/pm/cozy-xv.css +15 -15
  53. package/workspace/public/pm/cozy.css +53 -21
  54. package/workspace/public/pm/dash-view.css +27 -27
  55. package/workspace/public/pm/hi-pop.css +26 -26
  56. package/workspace/public/pm/home-impact.css +8 -8
  57. package/workspace/public/pm/home-ini.css +36 -36
  58. package/workspace/public/pm/home-line.css +7 -7
  59. package/workspace/public/pm/impact.css +9 -9
  60. package/workspace/public/pm/ini-view.css +243 -243
  61. package/workspace/public/pm/load-shapes.css +1 -1
  62. package/workspace/public/pm/loose-props.css +14 -14
  63. package/workspace/public/pm/metric-drafts.css +20 -20
  64. package/workspace/public/pm/ms-suggest.css +9 -9
  65. package/workspace/public/pm/ov-view.css +14 -14
  66. package/workspace/public/pm/premium-insights.js +3 -3
  67. package/workspace/public/pm/premium-report-frame.css +1 -1
  68. package/workspace/public/pm/premium-report-intel.css +17 -17
  69. package/workspace/public/pm/premium-report-print.css +1 -1
  70. package/workspace/public/pm/premium-vw-backlog.css +13 -13
  71. package/workspace/public/pm/premium-vw-cal.css +32 -32
  72. package/workspace/public/pm/premium-vw-copy.css +7 -7
  73. package/workspace/public/pm/premium-vw-doc.css +69 -69
  74. package/workspace/public/pm/premium-vw-item.css +12 -12
  75. package/workspace/public/pm/premium-vw-jira.css +39 -39
  76. package/workspace/public/pm/premium-vw-meet.css +28 -28
  77. package/workspace/public/pm/premium-vw-notepad.css +13 -13
  78. package/workspace/public/pm/premium-vw-notes.css +11 -11
  79. package/workspace/public/pm/premium-vw-rec.css +27 -27
  80. package/workspace/public/pm/premium-vw-report.css +21 -21
  81. package/workspace/public/pm/premium-vw-slides.css +28 -28
  82. package/workspace/public/pm/premium.css +618 -618
  83. package/workspace/public/pm/prog-order.css +6 -6
  84. package/workspace/public/pm/prog-page.css +17 -17
  85. package/workspace/public/pm/program-charter.css +33 -33
  86. package/workspace/public/pm/ready-lib.css +6 -6
  87. package/workspace/public/pm/sort-order.css +1 -1
  88. package/workspace/public/pm/split-merge.css +18 -18
  89. package/workspace/public/pm/task-card.css +24 -24
  90. package/workspace/public/pm/tk-tasks.css +42 -42
  91. package/workspace/public/pm/tk-view.css +6 -6
  92. package/workspace/public/pm/wf-page.css +31 -31
  93. package/workspace/public/premium-aud.html +1 -1
  94. package/workspace/public/premium-board.html +1 -1
  95. package/workspace/public/premium-intelligence.html +1 -1
  96. package/workspace/public/premium-rec.html +1 -1
  97. package/workspace/public/premium-viewer.html +1 -1
  98. package/workspace/public/premium-workflows.html +1 -1
  99. package/workspace/public/premium.html +1 -1
  100. package/workspace/public/vendor/plus-jakarta-sans-var.woff2 +0 -0
  101. package/workspace/server.js +1 -0
  102. package/workspace/third-party/README.md +2 -1
  103. package/workspace/third-party/plus-jakarta-sans-OFL.LICENSE +93 -0
@@ -1,23 +1,23 @@
1
1
  /* pm/c3-capture.css — the page the PMOS Chrome extension frames in its popup (c3-capture.js). Mockup 42-reportdeck.css .mk-cx-pop and friends. */
2
2
  .c3.c3-cap { min-height: 0; padding: 8px; background: var(--background); }
3
3
  .c3 .cap-pop { display: grid; gap: 10px; padding: 12px; box-sizing: border-box; }
4
- .c3 .cap-head { display: flex; gap: 8px; align-items: center; font-size: var(--fs-3); font-weight: 600; }
5
- .c3 .cap-head b { font-size: var(--fs-1); color: var(--acc); }
4
+ .c3 .cap-head { display: flex; gap: 8px; align-items: center; font-size: var(--fs-section); font-weight: var(--fw-strong); line-height: var(--lh-section); }
5
+ .c3 .cap-head b { font-size: var(--fs-meta); color: var(--acc); line-height: var(--lh-meta); }
6
6
  .c3 .cap-head span { flex: 1; min-width: 0; }
7
7
  .c3 .cap-what { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; align-items: start; padding: 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); }
8
- .c3 .cap-what b { display: flex; gap: 6px; align-items: center; font-size: var(--fs-2); overflow-wrap: anywhere; }
9
- .c3 .cap-what .mono { font-size: var(--fs-1); overflow-wrap: anywhere; }
8
+ .c3 .cap-what b { display: flex; gap: 6px; align-items: center; font-size: var(--fs-meta); overflow-wrap: anywhere; line-height: var(--lh-meta); }
9
+ .c3 .cap-what .mono { font-size: var(--fs-meta); overflow-wrap: anywhere; line-height: var(--lh-meta); }
10
10
  .c3 .cap-thumb { display: grid; gap: 3px; align-content: start; width: 56px; aspect-ratio: 16 / 9; padding: 4px; box-sizing: border-box; border: 1px solid var(--slide-border); border-radius: 6px; background: var(--slide-bg); }
11
11
  .c3 .cap-thumb i { display: block; height: 3px; background: var(--slide-track); }
12
12
  .c3 .cap-thumb.deck i:first-child { height: 6px; background: var(--slide-brand); }
13
13
  .c3 .cap-thumb.page { aspect-ratio: 3 / 4; width: 40px; justify-self: center; }
14
14
  .c3 .cap-f { display: grid; gap: 4px; }
15
- .c3 .cap-f select { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; font-size: var(--fs-3); }
16
- .c3 .cap-lbl { font-size: var(--fs-1); }
17
- .c3 .cap-line { font-size: var(--fs-2); line-height: 1.5; }
18
- .c3 .cap-step { font-size: var(--fs-1); }
15
+ .c3 .cap-f select { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; font-size: var(--fs-body); line-height: var(--lh-body); }
16
+ .c3 .cap-lbl { font-size: var(--fs-meta); line-height: var(--lh-meta); }
17
+ .c3 .cap-line { font-size: var(--fs-meta); line-height: 1.5; }
18
+ .c3 .cap-step { font-size: var(--fs-meta); line-height: var(--lh-meta); }
19
19
  .c3 .cap-acts { display: flex; gap: 8px; flex-wrap: wrap; }
20
- .c3 .cap-msg { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: var(--fs-3); line-height: 1.5; }
20
+ .c3 .cap-msg { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: var(--fs-body); line-height: 1.5; }
21
21
  .c3 .cap-msg .ic { flex: 0 0 auto; margin-top: 4px; }
22
22
  .c3 .cap-prog { height: 6px; border-radius: 6px; background: var(--muted); overflow: hidden; }
23
23
  .c3 .cap-prog i { display: block; width: var(--rp-w, 6%); height: 100%; background: var(--acc); }
@@ -33,10 +33,10 @@
33
33
 
34
34
  /* ── small parts ── */
35
35
  .c3 .ini-sw{display:inline-block;width:8px;height:8px;border-radius:0;flex:none;background:var(--ini-c)}
36
- .c3 .ini-note{font-size:var(--fs-2);line-height:1.45}
37
- .c3 .ini-lbl{font-size:var(--fs-1);letter-spacing:.04em}
38
- .c3 .ini-meta{font-size:var(--fs-2)}
39
- .c3 .ini-sub{text-transform:none;letter-spacing:0;font-weight:400}
36
+ .c3 .ini-note{font-size:var(--fs-meta);line-height:1.45}
37
+ .c3 .ini-lbl{font-size:var(--fs-meta);letter-spacing:.04em;line-height:var(--lh-meta);}
38
+ .c3 .ini-meta{font-size:var(--fs-meta);line-height:var(--lh-meta);}
39
+ .c3 .ini-sub{text-transform:none;letter-spacing:0;font-weight:var(--fw-regular)}
40
40
  .c3 .ini-lhm{min-width:0}
41
41
  .c3 .ini-seg{overflow-x:auto;max-width:100%;scrollbar-width:thin}
42
42
  .c3 .ini-seg .bdg{margin-left:2px}
@@ -52,13 +52,13 @@
52
52
  .c3 .hbr .tk u{width:var(--in-w,2%)}
53
53
  .c3 .hbr.ini-c{--c:var(--ini-c)}
54
54
  .c3 .ini-hbb{display:grid;gap:4px;width:100%;color:inherit;font:inherit;cursor:pointer}
55
- .c3 .ini-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;font-size:var(--fs-3)}
56
- .c3 .ini-kv dt{color:var(--muted-foreground);font:var(--fs-2) var(--mono)}
55
+ .c3 .ini-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;font-size:var(--fs-body);line-height:var(--lh-body);}
56
+ .c3 .ini-kv dt{color:var(--muted-foreground);font:var(--fs-meta)/var(--lh-meta) var(--mono)}
57
57
  .c3 .ini-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
58
58
  .c3 .ini-sp-sum{margin:var(--sp-3) 0;line-height:1.5} /* a sprint's summary (sprint-goal-summary) */
59
59
  .c3 .ini-sp-facts{margin:0 0 var(--sp-2)}
60
60
  .c3 .ini-sp-goal{min-width:0}
61
- .c3 .ini-sp-note{font-size:var(--fs-2);line-height:1.45;margin-top:var(--sp-1)}
61
+ .c3 .ini-sp-note{font-size:var(--fs-meta);line-height:1.45;margin-top:var(--sp-1)}
62
62
  .c3 .ini-sp-chips{margin-top:var(--sp-1)}
63
63
  .c3 .ini-sp-verdict{margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--border);border-radius:8px} /* the sprint brief (sprint-goal-summary) */
64
64
  .c3 .ini-sp-plan{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--acc)}
@@ -76,7 +76,7 @@
76
76
  .c3 .ini-vel .done{fill:var(--acc)}
77
77
  .c3 .ini-vel .done.now{fill:var(--warning)}
78
78
  .c3 .ini-vel .avg{stroke:var(--foreground);stroke-dasharray:4 3}
79
- .c3 .ini-vel text{fill:var(--muted-foreground);font:var(--fs-1) var(--mono)}
79
+ .c3 .ini-vel text{fill:var(--muted-foreground);font:var(--fs-meta)/var(--lh-meta) var(--mono)}
80
80
  .c3 .ini-vel text.v{fill:var(--foreground)}
81
81
  .c3 .ini-num{width:84px;flex:none}
82
82
  .c3 .ini-up,.c3 .ini-down{display:inline-flex}
@@ -84,7 +84,7 @@
84
84
  .c3 .ini-down{transform:rotate(90deg)}
85
85
  .c3 .ini-sub-row{padding-left:var(--sp-5)}
86
86
  .c3 .ini-pager{justify-content:flex-end}
87
- .c3 .ini-chk{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-3);cursor:pointer}
87
+ .c3 .ini-chk{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-body);cursor:pointer;line-height:var(--lh-body);}
88
88
  .c3 .ini-chk input{margin-top:2px;flex:none}
89
89
  .c3 .ini-chk.done span{color:var(--muted-foreground);text-decoration:line-through}
90
90
  .c3 .ini-grow{flex:1 1 auto}
@@ -94,7 +94,7 @@
94
94
  .c3 .ini-flash{outline:2px solid var(--acc);outline-offset:2px}
95
95
  .c3 .ini-pre{margin:0;white-space:pre-line}
96
96
  .c3 .ini-confirm{display:grid;gap:8px}
97
- .c3 .ini-err{color:var(--destructive);font-size:var(--fs-2)}
97
+ .c3 .ini-err{color:var(--destructive);font-size:var(--fs-meta);line-height:var(--lh-meta);}
98
98
 
99
99
  /* console3 draws a row in a briefing column with two tracks; a row here with actions keeps its third */
100
100
  .c3 .ini .brief .nrow:has(>.acts>*){grid-template-columns:auto minmax(0,1fr) auto}
@@ -110,12 +110,12 @@
110
110
  .c3 .ini-burn .ideal{stroke:var(--muted-foreground);stroke-dasharray:3 3;fill:none}
111
111
  .c3 .ini-burn .act{stroke:var(--acc);stroke-width:2;fill:none;stroke-linejoin:round}
112
112
  .c3 .ini-burn .dot{fill:var(--acc)}
113
- .c3 .ini-burn text{fill:var(--muted-foreground);font:var(--fs-1) var(--mono)}
113
+ .c3 .ini-burn text{fill:var(--muted-foreground);font:var(--fs-meta)/var(--lh-meta) var(--mono)}
114
114
 
115
115
  /* ── the popover menu ── */
116
116
  .c3 .ini-menu{position:fixed;left:var(--in-x,0);top:var(--in-y,0);z-index:60;width:min(300px,calc(100vw - 16px));max-height:min(420px,calc(100vh - 80px));overflow:auto;display:grid;gap:2px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--sh2)}
117
- .c3 .ini-mlbl{padding:6px 8px 2px;font:var(--fs-1) var(--mono);color:var(--muted-foreground);letter-spacing:.04em}
118
- .c3 .ini-mi{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:6px;font-size:var(--fs-3);color:var(--foreground)}
117
+ .c3 .ini-mlbl{padding:6px 8px 2px;font:var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--muted-foreground);letter-spacing:.04em}
118
+ .c3 .ini-mi{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:6px;font-size:var(--fs-body);color:var(--foreground);line-height:var(--lh-body);}
119
119
  .c3 .ini-mi[aria-current="true"]{color:var(--muted-foreground)}
120
120
 
121
121
  /* ── the kanban (Board tab) ── */
@@ -148,23 +148,23 @@
148
148
  .c3 .ini-tlgrid i{position:absolute;top:0;bottom:0;left:calc(var(--in-d0) * var(--in-pd) * 1px);width:1px;background:var(--border);opacity:.45}
149
149
  .c3 .ini-tlgrid i.mj{opacity:1}
150
150
  .c3 .ini-tlnow{position:absolute;top:0;bottom:0;left:calc(var(--lw) + var(--in-d0) * var(--in-pd) * 1px);width:2px;margin-left:-1px;background:var(--foreground);box-shadow:0 0 0 3px var(--accw);z-index:1;pointer-events:none}
151
- .c3 .ini-tlnow b{position:absolute;top:19px;left:50%;transform:translateX(-50%);font:600 var(--fs-1)/1 var(--mono);padding:3px 5px;border-radius:6px;background:var(--foreground);color:var(--background);white-space:nowrap}
151
+ .c3 .ini-tlnow b{position:absolute;top:19px;left:50%;transform:translateX(-50%);font:var(--fw-strong) var(--fs-badge)/1 var(--mono);padding:3px 5px;border-radius:6px;background:var(--foreground);color:var(--background);white-space:nowrap}
152
152
  .c3 .ini-tlr{position:relative;display:grid;grid-template-columns:var(--lw) minmax(0,1fr);height:24px;align-items:stretch}
153
- .c3 .ini-tll{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:4px;min-width:0;padding-right:8px;padding-left:calc(6px + var(--in-dep,0) * 14px);background:var(--card);border-right:1px solid var(--border);font:var(--fs-1)/1 var(--mono);color:var(--foreground)}
153
+ .c3 .ini-tll{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:4px;min-width:0;padding-right:8px;padding-left:calc(6px + var(--in-dep,0) * 14px);background:var(--card);border-right:1px solid var(--border);font:var(--fs-meta)/1 var(--mono);color:var(--foreground)}
154
154
  .c3 .ini-tltr{position:relative;min-width:0}
155
155
  .c3 .ini-tlr.hl .ini-tltr{background:color-mix(in oklab,var(--acc) 7%,transparent)}
156
156
  .c3 .ini-tlr.hl .ini-tll{background:color-mix(in oklab,var(--acc) 7%,var(--card))}
157
157
  .c3 .ini-tlr.hl .ini-tlname{color:var(--acc)}
158
158
  .c3 .ini-tlr.grp{height:28px}
159
- .c3 .ini-tlr.grp .ini-tll{font-weight:600}
159
+ .c3 .ini-tlr.grp .ini-tll{font-weight:var(--fw-strong)}
160
160
  .c3 .ini-tlr.grp:not(:first-of-type){border-top:1px solid var(--border)}
161
- .c3 .ini-tlr.ini .ini-tll{font-weight:500}
161
+ .c3 .ini-tlr.ini .ini-tll{font-weight:var(--fw-regular)}
162
162
  .c3 .ini-tlr.it .ini-tll{color:var(--muted-foreground)}
163
163
  .c3 .ini-tlr.mrk{border-top:1px dashed var(--border);margin-top:4px}
164
164
  .c3 .ini-tlhd{height:34px;border-bottom:1px solid var(--border)}
165
165
  .c3 .ini-tlhd .ini-tll{padding-left:8px;text-transform:uppercase;letter-spacing:.06em}
166
- .c3 .ini-tlt{position:absolute;left:calc(var(--in-d0) * var(--in-pd) * 1px);bottom:4px;padding-left:3px;font:var(--fs-1)/1 var(--mono);color:var(--muted-foreground);white-space:nowrap}
167
- .c3 .ini-tlt.mj{top:5px;bottom:auto;font-weight:600;color:var(--foreground)}
166
+ .c3 .ini-tlt{position:absolute;left:calc(var(--in-d0) * var(--in-pd) * 1px);bottom:4px;padding-left:3px;font:var(--fs-meta)/1 var(--mono);color:var(--muted-foreground);white-space:nowrap}
167
+ .c3 .ini-tlt.mj{top:5px;bottom:auto;font-weight:var(--fw-strong);color:var(--foreground)}
168
168
  .c3 .ini-tl.zooming .ini-tlt:not(.mj){opacity:0}
169
169
  .c3 .ini-tlc,.c3 .ini-tlo{display:inline-grid;place-items:center;width:18px;height:18px;flex:none;border-radius:6px;color:var(--muted-foreground);cursor:pointer}
170
170
  .c3 .ini-tlc svg{transition:transform .22s ease}
@@ -175,7 +175,7 @@
175
175
  .c3 .ini-tlx{display:flex;align-items:center;gap:5px;min-width:0;flex:1 1 auto;cursor:pointer;font:inherit;color:inherit}
176
176
  .c3 span.ini-tlx{cursor:default}
177
177
  .c3 .ini-tlkey{flex:none;color:var(--muted-foreground)}
178
- .c3 .ini-tlsrc{flex:none;font-size:var(--fs-1);letter-spacing:.04em;padding:0 3px;border-radius:0;color:var(--muted-foreground);background:var(--muted)}
178
+ .c3 .ini-tlsrc{flex:none;font-size:var(--fs-meta);letter-spacing:.04em;padding:0 3px;border-radius:0;color:var(--muted-foreground);background:var(--muted);line-height:var(--lh-meta);}
179
179
  .c3 .ini-tlsrc.j{display:inline-grid;place-items:center;padding:0 1px;color:var(--acc);background:color-mix(in oklab,var(--acc) 12%,transparent)}
180
180
  .c3 .ini-tlsrc svg{width:11px;height:11px}
181
181
  .c3 .ini-tlname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@@ -206,13 +206,13 @@
206
206
  @keyframes ini-grow{from{transform:scaleX(0);opacity:0}40%{opacity:1}to{transform:scaleX(1);opacity:1}}
207
207
  @keyframes ini-fade{from{opacity:0}to{opacity:1}}
208
208
  @keyframes ini-shake{0%,100%{translate:0}20%{translate:-4px}40%{translate:4px}60%{translate:-3px}80%{translate:2px}}
209
- .c3 .ini-tip{position:absolute;left:var(--in-x,0);top:var(--in-y,0);z-index:20;min-width:200px;max-width:280px;display:grid;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--sh2);font:var(--fs-1)/1.4 var(--mono);color:var(--foreground);pointer-events:none;opacity:0;translate:0 4px;transition:opacity .12s,translate .12s}
209
+ .c3 .ini-tip{position:absolute;left:var(--in-x,0);top:var(--in-y,0);z-index:20;min-width:200px;max-width:280px;display:grid;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--sh2);font:var(--fs-meta)/1.4 var(--mono);color:var(--foreground);pointer-events:none;opacity:0;translate:0 4px;transition:opacity .12s,translate .12s}
210
210
  .c3 .ini-tip.on{opacity:1;translate:0 0}
211
- .c3 .ini-tip b{font:600 var(--fs-2)/1.3 var(--sans)}
211
+ .c3 .ini-tip b{font:var(--fw-strong) var(--fs-label)/1.3 var(--sans)}
212
212
  .c3 .ini-tip>div{display:flex;align-items:center;gap:5px}
213
213
  .c3 .ini-tip svg{width:11px;height:11px;flex:none;color:var(--muted-foreground)}
214
214
  .c3 .ini-tip .dim{color:var(--muted-foreground)}
215
- .c3 .ini-tlmv{padding:0 4px;border-radius:0;background:var(--accw);color:var(--acc);font-weight:600}
215
+ .c3 .ini-tlmv{padding:0 4px;border-radius:0;background:var(--accw);color:var(--acc);font-weight:var(--fw-strong)}
216
216
  .c3 .ini-pgl .ini-fg{color:var(--foreground)}
217
217
  .c3 .ini-tlkeyi{display:inline-block;flex:none;vertical-align:middle;margin-right:4px}
218
218
  .c3 .ini-tlkeyi.now{width:2px;height:11px;background:var(--foreground)}
@@ -5,6 +5,6 @@
5
5
  .c3 .lsn-help { margin: 0; }
6
6
  .c3 .lsn-aside { align-items: center; }
7
7
  .c3 .lsn-thumb { width: 148px; height: 84px; flex: 0 0 auto; object-fit: cover; border: 1px solid var(--border); background: var(--muted); }
8
- .c3 .lsn-chip { font-size: 12px; }
8
+ .c3 .lsn-chip { font-size: var(--fs-meta); line-height: var(--lh-meta); }
9
9
  .c3 .lsn-chip.off { color: var(--warning); }
10
10
  @media (max-width: 640px) { .c3 .lsn-thumb { width: 96px; height: 60px; } }