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
@@ -2,22 +2,22 @@
2
2
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
3
3
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
4
4
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-700.woff2) format("woff2");font-weight:600 700;font-display:swap}
5
- :root{--fs-1:11px;--fs-2:12px;--fs-3:14px;--fs-4:16px;--fs-5:20px;--fs-6:28px}
5
+ :root{--fw-regular:400;--fw-strong:600;--fs-field:16px;--fs-display:26px;--fs-page:26px;--fs-panel:18px;--fs-section:15px;--fs-row:15px;--fs-body:15px;--fs-meta:13px;--fs-label:13px;--fs-badge:13px;--lh-display:1.2;--lh-page:1.2;--lh-panel:1.3;--lh-section:1.35;--lh-row:1.4;--lh-body:1.6;--lh-meta:1.5;--lh-label:1.35;--lh-badge:1.2}
6
6
  /* pm/premium-vw-copy.css — a Confluence page or Google Doc in the premium viewer (premium-vw-copies.js, premium-viewer R11). Loaded by vwStyle('copy'). */
7
7
  .cpv{display:grid;gap:12px;max-width:760px}
8
8
  .cpv-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid);box-shadow:var(--card-shadow)}
9
9
  .cpv-bar.warn{background:color-mix(in oklab,var(--ember) 12%,var(--card-solid))}
10
10
  .cpv-bar>div{flex:1;min-width:0;display:grid;gap:2px}
11
- .cpv-bar b{font-size:var(--fs-3);font-weight:600;color:var(--ink)}
12
- .cpv-bar small{font-size:var(--fs-2);color:var(--ink-3)}
13
- .cpv-lg{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:6px;background:var(--well);color:var(--ink);font-size:var(--fs-2);font-weight:600}
11
+ .cpv-bar b{font-size:var(--fs-row);font-weight:var(--fw-strong);color:var(--ink);line-height:var(--lh-row);}
12
+ .cpv-bar small{font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
13
+ .cpv-lg{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:6px;background:var(--well);color:var(--ink);font-size:var(--fs-label);font-weight:var(--fw-strong);line-height:var(--lh-label);}
14
14
  .cpv-why{margin:0}
15
- .cpv-why code{font-size:var(--fs-2)}
15
+ .cpv-why code{font-size:var(--fs-meta);line-height:var(--lh-meta);}
16
16
  .cpv-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
17
17
  .cpv-acts .dmcta{border-radius:6px;text-decoration:none}
18
18
  .cpv-empty{display:grid;gap:8px;padding:18px 20px;border:1px dashed var(--ink-3);border-radius:8px;color:var(--ink-2)}
19
- .cpv-empty b{font-size:var(--fs-4);font-weight:600;color:var(--ink)}
20
- .cpv-empty p{margin:0;font-size:var(--fs-3)}
19
+ .cpv-empty b{font-size:var(--fs-row);font-weight:var(--fw-strong);color:var(--ink);line-height:var(--lh-row);}
20
+ .cpv-empty p{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);}
21
21
  .cpv-page{padding:18px 22px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid)}
22
22
  .cpv-page.dim{opacity:.62}
23
23
  @media (max-width:700px){
@@ -1,4 +1,4 @@
1
- :root{--fs-1:11px;--fs-2:12px;--fs-3:14px;--fs-4:16px;--fs-5:20px;--fs-6:28px}
1
+ :root{--fw-regular:400;--fw-strong:600;--fs-field:16px;--fs-display:26px;--fs-page:26px;--fs-panel:18px;--fs-section:15px;--fs-row:15px;--fs-body:15px;--fs-meta:13px;--fs-label:13px;--fs-badge:13px;--lh-display:1.2;--lh-page:1.2;--lh-panel:1.3;--lh-section:1.35;--lh-row:1.4;--lh-body:1.6;--lh-meta:1.5;--lh-label:1.35;--lh-badge:1.2}
2
2
  /* premium-vw-doc.css — the document page in the premium viewer (initiative premium-viewer, S2). Loaded once by vwStyle('doc'). Sizes are the console's
3
3
  * six steps only (var(--fs-1..6)), weights 400/500/600, the page's own tokens otherwise. Checked by premium-console-type.test.js. */
4
4
  :root{--vw-lnk:rgb(36,92,190);--vw-pur:rgb(110,72,190)}
@@ -6,74 +6,74 @@
6
6
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--vw-lnk:rgb(130,170,250);--vw-pur:rgb(186,160,250)}}
7
7
  .vwdoc{max-width:780px;margin:0 auto;padding:2px 0 24px;position:relative}
8
8
  .vwdoc .gap{flex:1}
9
- .vwmut{color:var(--ink-3);font-size:var(--fs-2);margin:0}
9
+ .vwmut{color:var(--ink-3);font-size:var(--fs-meta);margin:0;line-height:var(--lh-meta);}
10
10
  .vwline{margin:0 0 10px}
11
- .vwfnone{margin:8px 0;padding:22px 20px;border:1px dashed var(--hair);border-radius:8px;display:grid;gap:6px;color:var(--ink-2);font-size:var(--fs-3)}
11
+ .vwfnone{margin:8px 0;padding:22px 20px;border:1px dashed var(--hair);border-radius:8px;display:grid;gap:6px;color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);}
12
12
  .vwart .vwbtn{text-decoration:none;justify-self:start}
13
- .vwfnone b{font-weight:500;color:var(--ink)}
14
- .vwfnone code{font:400 var(--fs-1) var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
15
- .vwempty{color:var(--ink-3);font-size:var(--fs-3);padding:24px 4px}
13
+ .vwfnone b{font-weight:var(--fw-regular);color:var(--ink)}
14
+ .vwfnone code{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
15
+ .vwempty{color:var(--ink-3);font-size:var(--fs-body);padding:24px 4px;line-height:var(--lh-body);}
16
16
  .vwrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
17
17
  .vwrow .vwmut{flex:1;min-width:160px}
18
- .vwbtn{min-height:34px;padding:0 13px;border-radius:6px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:500 var(--fs-2) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
18
+ .vwbtn{min-height:34px;padding:0 13px;border-radius:6px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
19
19
  .vwbtn.pri{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}
20
20
  .vwbtn[disabled]{opacity:.45;cursor:default}
21
21
  .vwbtn .i,.vwseg .i,.vwtb .i,.vwcl .i,.vwagt>.i{width:15px;height:15px;flex:none}
22
- .vwin{flex:1;min-width:0;min-height:34px;padding:0 11px;border-radius:6px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:400 var(--fs-3) var(--sans)}
22
+ .vwin{flex:1;min-width:0;min-height:34px;padding:0 11px;border-radius:6px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--sans)}
23
23
  .vwdoc :focus-visible{outline:2px solid var(--ember);outline-offset:2px}
24
24
  /* the document's own bar: Page, Edit, Markdown, and Ask the agent */
25
25
  .vwdt{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}
26
26
  .vwsg{display:inline-flex;padding:3px;border-radius:8px;background:var(--well);gap:2px}
27
- .vwseg{min-height:30px;padding:0 11px;border-radius:6px;border:0;background:transparent;color:var(--ink-2);font:500 var(--fs-2) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
27
+ .vwseg{min-height:30px;padding:0 11px;border-radius:6px;border:0;background:transparent;color:var(--ink-2);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
28
28
  .vwseg[aria-pressed="true"]{background:var(--card-solid);color:var(--ink);box-shadow:var(--card-shadow)}
29
29
  .vwseg[disabled]{opacity:.45;cursor:default}
30
30
  .vwask{margin:0 0 14px;padding:10px 12px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid)}
31
- .vwask textarea{width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--ink);font:400 var(--fs-3)/1.5 var(--sans);resize:vertical;outline:0}
31
+ .vwask textarea{width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--ink);font:var(--fw-regular) var(--fs-body)/1.5 var(--sans);resize:vertical;outline:0}
32
32
  /* an agent's edit: one bar, then the changed sections highlighted in the page */
33
- .vwag{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 8px 8px 14px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow);font-size:var(--fs-2);color:var(--ink-2)}
33
+ .vwag{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 8px 8px 14px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow);font-size:var(--fs-meta);color:var(--ink-2);line-height:var(--lh-meta);}
34
34
  .vwagt{display:flex;gap:9px;align-items:flex-start;flex:1;min-width:200px}
35
35
  .vwagt>.i{color:var(--ember-ink);margin-top:2px}
36
- .vwagt b{display:block;color:var(--ink);font-weight:500}
36
+ .vwagt b{display:block;color:var(--ink);font-weight:var(--fw-regular)}
37
37
  .vwaga{display:flex;gap:6px}
38
38
  .vwchg{position:relative;margin:0 -12px 6px;padding:2px 12px 2px;border-left:3px solid var(--ok);background:color-mix(in oklab,var(--ok) 8%,transparent);border-top-right-radius:6px;border-bottom-right-radius:6px}
39
39
  .vwchg.removed{border-left-color:var(--bad);background:color-mix(in oklab,var(--bad) 7%,transparent)}
40
40
  .vwchg.removed .vwcb{text-decoration:line-through;color:var(--ink-3)}
41
41
  .vwchg.off{border-left-color:var(--hair);background:transparent}
42
42
  .vwchg.off.removed .vwcb{text-decoration:none;color:inherit}
43
- .vwcl{display:flex;align-items:center;gap:6px;width:100%;min-height:30px;margin:4px 0 0;padding:0;border:0;background:transparent;color:var(--ok);font:500 var(--fs-1) var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left}
43
+ .vwcl{display:flex;align-items:center;gap:6px;width:100%;min-height:30px;margin:4px 0 0;padding:0;border:0;background:transparent;color:var(--ok);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left}
44
44
  .vwchg.removed .vwcl{color:var(--bad)}
45
45
  .vwchg.off .vwcl{color:var(--ink-3)}
46
46
  .vwcl em{margin-left:auto;font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--sans);color:var(--ink-3);text-decoration:underline}
47
47
  .vwbefore{margin:6px 0 10px;padding:10px 12px;border-radius:6px;background:var(--well);border:1px dashed var(--hair)}
48
- .vwlab{margin:0 0 6px;font:500 var(--fs-1) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
48
+ .vwlab{margin:0 0 6px;font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
49
49
  /* the page itself, drawn like a Confluence page */
50
- .cf{background:var(--card-solid);border:1px solid var(--hair);border-radius:8px;padding:26px 36px 20px;box-shadow:var(--card-shadow);font-size:var(--fs-3);line-height:1.65;color:var(--ink);transition:box-shadow .25s}
50
+ .cf{background:var(--card-solid);border:1px solid var(--hair);border-radius:8px;padding:26px 36px 20px;box-shadow:var(--card-shadow);font-size:var(--fs-body);line-height:1.65;color:var(--ink);transition:box-shadow .25s}
51
51
  .cf.editing{box-shadow:0 0 0 2px color-mix(in oklab,var(--ember) 35%,transparent)}
52
- .cft{font:600 var(--fs-6)/1.25 var(--sans);letter-spacing:-.015em;margin:0 0 10px;outline:0}
53
- .cfby{display:flex;align-items:center;gap:8px;font-size:var(--fs-2);color:var(--ink-3);flex-wrap:wrap}
54
- .cfby .avdot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--solid);color:var(--on-solid);font:600 var(--fs-1) var(--sans)}
52
+ .cft{font:var(--fw-strong) var(--fs-page)/1.25 var(--sans);letter-spacing:-.015em;margin:0 0 10px;outline:0}
53
+ .cfby{display:flex;align-items:center;gap:8px;font-size:var(--fs-meta);color:var(--ink-3);flex-wrap:wrap;line-height:var(--lh-meta);}
54
+ .cfby .avdot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--solid);color:var(--on-solid);font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--sans)}
55
55
  .cflb{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
56
- .cflb span{font-size:var(--fs-1);padding:1px 8px;border-radius:6px;background:var(--well);color:var(--ink-2)}
57
- .cfpr{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:var(--fs-2)}
58
- .cfpr th{width:150px;text-align:left;font-weight:500;background:var(--well);color:var(--ink-2)}
56
+ .cflb span{font-size:var(--fs-meta);padding:1px 8px;border-radius:6px;background:var(--well);color:var(--ink-2);line-height:var(--lh-meta);}
57
+ .cfpr{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:var(--fs-meta);line-height:var(--lh-meta);}
58
+ .cfpr th{width:150px;text-align:left;font-weight:var(--fw-regular);background:var(--well);color:var(--ink-2)}
59
59
  .cfpr th,.cfpr td{border:1px solid var(--hair);padding:6px 11px;vertical-align:top;overflow-wrap:anywhere}
60
60
  .cfb{outline:0;min-height:80px}
61
61
  .cfb>:first-child{margin-top:18px}
62
- .cfb h2{font:600 var(--fs-5)/1.3 var(--sans);letter-spacing:-.01em;margin:26px 0 8px}
63
- .cfb h3{font:600 var(--fs-4)/1.35 var(--sans);margin:20px 0 6px}
64
- .cfb h4{font:600 var(--fs-3)/1.4 var(--sans);margin:16px 0 4px}
62
+ .cfb h2{font:var(--fw-strong) var(--fs-panel)/1.3 var(--sans);letter-spacing:-.01em;margin:26px 0 8px}
63
+ .cfb h3{font:var(--fw-strong) var(--fs-section)/1.35 var(--sans);margin:20px 0 6px}
64
+ .cfb h4{font:var(--fw-strong) var(--fs-section)/1.4 var(--sans);margin:16px 0 4px}
65
65
  .cfb p{margin:0 0 10px}
66
66
  .cfb ul,.cfb ol{margin:0 0 10px;padding-left:24px}
67
67
  .cfb li{margin:3px 0}
68
68
  .cf a{color:var(--vw-lnk);text-decoration:none}
69
69
  .cfb blockquote{margin:0 0 12px;padding:1px 0 1px 16px;border-left:3px solid var(--hair);color:var(--ink-2)}
70
70
  .cfb blockquote p:last-child{margin:0}
71
- .cfb code{font:400 var(--fs-2) var(--mono);background:var(--well);padding:1px 5px;border-radius:6px}
71
+ .cfb code{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);background:var(--well);padding:1px 5px;border-radius:6px}
72
72
  .cfb hr{border:0;border-top:1px solid var(--hair);margin:22px 0}
73
73
  .cfb .tw{overflow-x:auto;margin:0 0 14px}
74
- .cfb table{border-collapse:collapse;min-width:60%;font-size:var(--fs-2)}
74
+ .cfb table{border-collapse:collapse;min-width:60%;font-size:var(--fs-meta);line-height:var(--lh-meta);}
75
75
  .cfb th,.cfb td{border:1px solid var(--hair);padding:6px 11px;text-align:left;vertical-align:top;min-width:60px}
76
- .cfb thead th{background:var(--well);font-weight:500}
76
+ .cfb thead th{background:var(--well);font-weight:var(--fw-regular)}
77
77
  .cfb .tw table{width:max-content;min-width:60%}
78
78
  .cfb .tw th,.cfb .tw td{max-width:32ch;overflow-wrap:break-word}
79
79
  .cfb .al-l{text-align:left}
@@ -88,8 +88,8 @@
88
88
  .pnl.warning{--pb:color-mix(in oklab,var(--ember) 14%,transparent);--pc:var(--ember-ink)}
89
89
  .pnl.caution{--pb:color-mix(in oklab,var(--bad) 10%,transparent);--pc:var(--bad)}
90
90
  .pnl.decision{--pb:color-mix(in oklab,var(--ok) 7%,transparent);--pc:var(--ok)}
91
- .pnl.decision .pc::before{content:"Decision";display:block;font:600 var(--fs-1) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin-bottom:2px}
92
- .lz{display:inline-block;padding:0 6px;border-radius:6px;font:600 var(--fs-1)/19px var(--sans);text-transform:uppercase;letter-spacing:.03em;vertical-align:1px;background:var(--well);color:var(--ink-2);white-space:nowrap;user-select:none}
91
+ .pnl.decision .pc::before{content:"Decision";display:block;font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin-bottom:2px}
92
+ .lz{display:inline-block;padding:0 6px;border-radius:6px;font:var(--fw-strong) var(--fs-badge)/19px var(--sans);text-transform:uppercase;letter-spacing:.03em;vertical-align:1px;background:var(--well);color:var(--ink-2);white-space:nowrap;user-select:none}
93
93
  .lz.g{background:color-mix(in oklab,var(--ok) 14%,transparent);color:var(--ok)}
94
94
  .lz.b{background:color-mix(in oklab,var(--vw-lnk) 13%,transparent);color:var(--vw-lnk)}
95
95
  .lz.r{background:color-mix(in oklab,var(--bad) 13%,transparent);color:var(--bad)}
@@ -103,41 +103,41 @@
103
103
  .chk[aria-checked="true"]::after{content:"";width:8px;height:4px;border:2px solid var(--card-solid);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
104
104
  .tasks li[data-done="true"]>span:last-child{text-decoration:line-through;color:var(--ink-3)}
105
105
  .xp{border:1px solid var(--hair);border-radius:6px;margin:0 0 14px}
106
- .xp summary{cursor:pointer;padding:7px 12px;font-weight:500;list-style:none;display:flex;gap:8px;align-items:center}
106
+ .xp summary{cursor:pointer;padding:7px 12px;font-weight:var(--fw-regular);list-style:none;display:flex;gap:8px;align-items:center}
107
107
  .xp summary::-webkit-details-marker{display:none}
108
108
  .xp summary::before{content:"";width:6px;height:6px;border:solid var(--ink-3);border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .2s}
109
109
  .xp[open] summary::before{transform:rotate(45deg)}
110
110
  .xp>div{padding:0 14px 4px 26px}
111
111
  .cb{border:1px solid var(--hair);border-radius:8px;overflow:hidden;margin:0 0 14px}
112
- .cbh{display:flex;align-items:center;padding:4px 12px;background:var(--well);font:500 var(--fs-1) var(--mono);color:var(--ink-3);user-select:none}
113
- .cb pre{margin:0;padding:12px 14px;font:400 var(--fs-2)/1.6 var(--mono);overflow-x:auto;outline:0}
114
- .cff{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--hair);margin-top:24px;padding-top:12px;font-size:var(--fs-2);color:var(--ink-3)}
115
- .cff code{font:400 var(--fs-1) var(--mono);overflow-wrap:anywhere}
112
+ .cbh{display:flex;align-items:center;padding:4px 12px;background:var(--well);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3);user-select:none}
113
+ .cb pre{margin:0;padding:12px 14px;font:var(--fw-regular) var(--fs-meta)/1.6 var(--mono);overflow-x:auto;outline:0}
114
+ .cff{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--hair);margin-top:24px;padding-top:12px;font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
115
+ .cff code{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);overflow-wrap:anywhere}
116
116
  /* the sign-off under a page the agent drafted (batch 17 item 4-A, AdH4): Adler's face and one line, quiet */
117
- .vwsign{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;border-radius:14px;background:var(--well);color:var(--ink-2);font-size:var(--fs-3)}
117
+ .vwsign{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;border-radius:14px;background:var(--well);color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);}
118
118
  /* editing: a toolbar over the page, a / menu, and the save row */
119
119
  .vwetb{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:1px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;padding:4px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow)}
120
120
  .vwetb::-webkit-scrollbar{display:none}
121
121
  .vwetb .sp{width:1px;height:18px;background:var(--hair);margin:0 4px;flex:none}
122
- .vwtb{height:32px;min-width:32px;padding:0 7px;border:0;border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:400 var(--fs-2) var(--sans);color:var(--ink-2);white-space:nowrap;flex:none;cursor:pointer}
122
+ .vwtb{height:32px;min-width:32px;padding:0 7px;border:0;border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);color:var(--ink-2);white-space:nowrap;flex:none;cursor:pointer}
123
123
  .vwtb[aria-pressed="true"]{background:var(--well);color:var(--ink)}
124
- .vwtb.fx{font-size:var(--fs-3)}
124
+ .vwtb.fx{font-size:var(--fs-body);line-height:var(--lh-body);}
125
125
  .vwtb.dd::after{content:"";width:5px;height:5px;border:solid currentColor;border-width:0 1.4px 1.4px 0;transform:rotate(45deg) translateY(-2px);margin-left:2px;opacity:.6}
126
126
  .vwtb .styL{min-width:84px;text-align:left}
127
127
  .vwpop{position:absolute;left:var(--rp-px,8px);top:var(--rp-py,0);z-index:20;min-width:220px;max-width:300px;max-height:320px;overflow:auto;padding:5px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow)}
128
- .vwpop button{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:34px;padding:3px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:400 var(--fs-2) var(--sans);text-align:left;cursor:pointer}
128
+ .vwpop button{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:34px;padding:3px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);text-align:left;cursor:pointer}
129
129
  .vwpop button[aria-current="true"],.vwpop button:focus-visible{background:var(--well)}
130
- .vwpop .ki{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:var(--well);color:var(--ink-2);font:500 var(--fs-1) var(--sans)}
131
- .vwpop kbd{font:400 var(--fs-1) var(--mono);color:var(--ink-3)}
130
+ .vwpop .ki{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:var(--well);color:var(--ink-2);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans)}
131
+ .vwpop kbd{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3)}
132
132
  .vwpop .vwmut{padding:8px}
133
133
  .vwsave{margin:12px 0 0;padding:12px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid)}
134
134
  .vwsave .vwin{width:100%;box-sizing:border-box}
135
- .vwerr{margin:6px 0 0;font-size:var(--fs-2);color:var(--ember-ink)}
135
+ .vwerr{margin:6px 0 0;font-size:var(--fs-meta);color:var(--ember-ink);line-height:var(--lh-meta);}
136
136
  .vwerr:empty{display:none}
137
- .vwmd{width:100%;box-sizing:border-box;min-height:420px;padding:16px 18px;border-radius:8px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:400 var(--fs-2)/1.6 var(--mono);resize:vertical;outline:0}
137
+ .vwmd{width:100%;box-sizing:border-box;min-height:420px;padding:16px 18px;border-radius:8px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:var(--fw-regular) var(--fs-meta)/1.6 var(--mono);resize:vertical;outline:0}
138
138
  @media (max-width:640px){
139
139
  .cf{padding:18px 16px 14px;border-radius:6px}
140
- .cft{font-size:var(--fs-5)}
140
+ .cft{font-size:var(--fs-panel);line-height:var(--lh-panel);}
141
141
  .cfpr th{width:110px}
142
142
  .vwchg{margin:0 -8px 6px;padding:2px 8px}
143
143
  .vwbtn,.vwseg,.vwtb,.vwcl,.vwpop button{min-height:44px}
@@ -149,35 +149,35 @@
149
149
  /* the opener's own buttons on the read bar (a report's Present, Print and Download) */
150
150
  .vwxm{position:relative;display:inline-flex}
151
151
  .vwxmn{top:calc(100% + 6px);right:0;min-width:260px}
152
- .vwxmn a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;padding:3px 8px;border-radius:6px;color:var(--ink);font:400 var(--fs-2) var(--sans);text-decoration:none}
152
+ .vwxmn a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;padding:3px 8px;border-radius:6px;color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);text-decoration:none}
153
153
  .vwxmn a:focus-visible{background:var(--well)}
154
- .vwxmn small{display:block;color:var(--ink-3);font-size:var(--fs-1)}
154
+ .vwxmn small{display:block;color:var(--ink-3);font-size:var(--fs-meta);line-height:var(--lh-meta);}
155
155
  .vwxmn .vwmut{padding:6px 8px 4px}
156
156
  @media (max-width:640px){.vwxmn{right:auto;left:0;min-width:240px}.vwxmn a{min-height:44px}}
157
157
  /* Health, Links and Copies: three chips under the bar, each opening its panel */
158
158
  .vwmore{display:inline-flex;gap:2px;flex-wrap:wrap;margin:0}
159
- .vwchip{min-height:30px;padding:0 8px;border-radius:999px;border:0;background:transparent;color:var(--ink-2);font:500 var(--fs-2) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
159
+ .vwchip{min-height:30px;padding:0 8px;border-radius:999px;border:0;background:transparent;color:var(--ink-2);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
160
160
  .vwchip em{font-style:normal;font-family:var(--mono);color:var(--ink-3)}
161
161
  .vwchip.ok em{color:var(--ok)}.vwchip.warn em{color:var(--ember-ink)}
162
162
  .vwchip[aria-expanded="true"]{background:var(--well);color:var(--ink)}
163
163
  .vwmp{margin:0 0 14px;padding:12px 14px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid);display:grid;gap:8px}
164
164
  .vwck{display:grid;gap:4px}
165
- .vwckr{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--hair);font-size:var(--fs-2)}
165
+ .vwckr{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--hair);font-size:var(--fs-meta);line-height:var(--lh-meta);}
166
166
  .vwckr .ckdot{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}
167
167
  .vwckr.ok i{background:var(--ok)}.vwckr.no i{background:var(--bad)}
168
- .vwckr b{font-weight:500;font-family:var(--mono);overflow-wrap:anywhere}
168
+ .vwckr b{font-weight:var(--fw-regular);font-family:var(--mono);overflow-wrap:anywhere}
169
169
  .vwckr span{color:var(--ink-3)}
170
- .vwckr small{grid-column:2/-1;color:var(--ink-3);font-size:var(--fs-1)}
170
+ .vwckr small{grid-column:2/-1;color:var(--ink-3);font-size:var(--fs-meta);line-height:var(--lh-meta);}
171
171
  .vwlinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
172
172
  .vwli{display:flex;align-items:center;gap:8px;justify-content:space-between}
173
- .vwli>button,.vwli>span:first-child{display:flex;align-items:center;gap:8px;min-width:0;min-height:36px;padding:2px 6px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:400 var(--fs-2) var(--sans);text-align:left}
173
+ .vwli>button,.vwli>span:first-child{display:flex;align-items:center;gap:8px;min-width:0;min-height:36px;padding:2px 6px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);text-align:left}
174
174
  .vwli>button{cursor:pointer}
175
- .vwli b{font-weight:500;display:block;overflow-wrap:anywhere}.vwli small{display:block;color:var(--ink-3);font-size:var(--fs-1)}
175
+ .vwli b{font-weight:var(--fw-regular);display:block;overflow-wrap:anywhere}.vwli small{display:block;color:var(--ink-3);font-size:var(--fs-meta);line-height:var(--lh-meta);}
176
176
  .vwli .i{width:15px;height:15px;flex:none;color:var(--ink-3)}
177
177
  .vwcp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--hair)}
178
- .vwcp b{font-weight:500;display:block}.vwcp small{display:block;color:var(--ink-3);font-size:var(--fs-1);overflow-wrap:anywhere}
178
+ .vwcp b{font-weight:var(--fw-regular);display:block}.vwcp small{display:block;color:var(--ink-3);font-size:var(--fs-meta);overflow-wrap:anywhere;line-height:var(--lh-meta);}
179
179
  .vwcp .vwmut,.vwcp a{grid-column:1/-1}
180
- .vwcp a{color:var(--vw-lnk);font-size:var(--fs-2)}
180
+ .vwcp a{color:var(--vw-lnk);font-size:var(--fs-meta);line-height:var(--lh-meta);}
181
181
  @media (max-width:640px){.vwchip,.vwli>button{min-height:44px}}
182
182
  @media (hover:hover){.vwbtn:hover{background:var(--well)}.cf a:hover{text-decoration:underline}.vwtb:hover{background:var(--well);color:var(--ink)}.vwpop button:hover{background:var(--well)}.vwxmn a:hover{background:var(--well)}.vwli>button:hover{background:var(--well)}}
183
183
  .cfb .vwcm{display:none}
@@ -195,32 +195,32 @@
195
195
  .vwib[aria-expanded="true"]{background:var(--well);color:var(--ink)}
196
196
  .vwib:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
197
197
  .vwdlm{right:0;top:calc(100% + 4px);min-width:200px;width:max-content;max-width:min(300px,80vw)}
198
- .vwdlm button small{margin-left:auto;padding-left:12px;font:500 var(--fs-1) var(--mono);color:var(--ink-3)}
198
+ .vwdlm button small{margin-left:auto;padding-left:12px;font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3)}
199
199
  iframe.vwprint{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
200
200
  @media (hover:hover){.vwib:hover{background:var(--well);color:var(--ink)}}
201
201
  @media (max-width:640px){.vwib{width:44px;height:44px}.vwdlm button{min-height:44px}}
202
202
  /* the share popover (premium-viewer-share S1, S8, P1): under the icons on a desktop, a sheet at the bottom on a phone */
203
- .vwshp{position:absolute;right:0;top:calc(100% + 4px);z-index:6;width:340px;max-width:min(340px,calc(100vw - 32px));padding:8px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow);display:grid;gap:4px;font-size:var(--fs-2);color:var(--ink)}
203
+ .vwshp{position:absolute;right:0;top:calc(100% + 4px);z-index:6;width:340px;max-width:min(340px,calc(100vw - 32px));padding:8px;border-radius:8px;background:var(--card-solid);border:1px solid var(--hair);box-shadow:var(--card-shadow);display:grid;gap:4px;font-size:var(--fs-meta);color:var(--ink);line-height:var(--lh-meta);}
204
204
  .vwshp .i{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--ink-3)}
205
- .vwsh{font:500 var(--fs-1) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:6px 8px 2px}
205
+ .vwsh{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:6px 8px 2px}
206
206
  .vwsm{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
207
- .vwsm small{margin-left:auto;font:500 var(--fs-1) var(--mono);color:var(--ink-3)}
207
+ .vwsm small{margin-left:auto;font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3)}
208
208
  .vwsrow2{display:flex;align-items:center;gap:10px;min-height:40px;padding:2px 8px}.vwsrow2>span{flex:1}
209
209
  .vwsw{position:relative;width:40px;height:24px;flex:none;border-radius:6px;border:1px solid var(--hair);background:var(--well);cursor:pointer;padding:0}
210
210
  .vwsw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:6px;background:var(--ink-3);transition:left .15s}
211
211
  .vwsw[aria-checked="true"]{background:var(--ok);border-color:transparent}.vwsw[aria-checked="true"]::after{left:19px;background:var(--card-solid)}
212
- .vwspwi{display:flex;gap:6px;padding:0 8px}.vwspwi input{flex:1;min-width:0;min-height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--hair);background:var(--well);color:var(--ink);font:500 var(--fs-2) var(--mono)}
213
- .vwsn{margin:2px 8px;color:var(--ink-3);font-size:var(--fs-1);line-height:1.45}
214
- .vwserr{margin:2px 8px;color:var(--bad);font-size:var(--fs-1);line-height:1.45}
212
+ .vwspwi{display:flex;gap:6px;padding:0 8px}.vwspwi input{flex:1;min-width:0;min-height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--hair);background:var(--well);color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono)}
213
+ .vwsn{margin:2px 8px;color:var(--ink-3);font-size:var(--fs-meta);line-height:1.45}
214
+ .vwserr{margin:2px 8px;color:var(--bad);font-size:var(--fs-meta);line-height:1.45}
215
215
  .vwsgo{margin:4px 8px 4px;justify-content:center}
216
216
  .vwssep{height:1px;background:var(--hair);margin:4px 4px}
217
217
  .vwsrow{display:flex;align-items:center;gap:10px;padding:6px 8px}.vwsrow>span{flex:1;min-width:0}
218
- .vwsrow b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vwsrow em{font-style:normal;color:var(--ink-3);font-size:var(--fs-1)}
219
- .vwsoff{flex:none;min-height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--bad);font:500 var(--fs-1) var(--sans);cursor:pointer}
218
+ .vwsrow b{display:block;font-weight:var(--fw-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vwsrow em{font-style:normal;color:var(--ink-3);font-size:var(--fs-meta);line-height:var(--lh-meta);}
219
+ .vwsoff{flex:none;min-height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--bad);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);cursor:pointer}
220
220
  .vwslnk{margin:2px 8px 6px;padding:10px;border:1px solid var(--hair);border-radius:8px;display:grid;gap:8px}
221
- .vwslnk code{font:500 var(--fs-1) var(--mono);overflow-wrap:anywhere;user-select:all}
221
+ .vwslnk code{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);overflow-wrap:anywhere;user-select:all}
222
222
  .vwspw{display:flex;align-items:center;gap:8px}
223
- .vwsr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vwsok{color:var(--ok);font-size:var(--fs-1)}
223
+ .vwsr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vwsok{color:var(--ok);font-size:var(--fs-meta);line-height:var(--lh-meta);}
224
224
  .vwslnk .vwsn{margin:0}
225
225
  .vwshp :focus-visible{outline:2px solid var(--ember);outline-offset:2px}
226
226
  @media (hover:hover){.vwsm:hover{background:var(--well)}}
@@ -245,21 +245,21 @@ iframe.vwprint{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opa
245
245
  }
246
246
  /* the contents under the page's header */
247
247
  .vwtoc{margin:0 0 14px;padding:8px 12px;border-radius:10px;background:var(--well)}
248
- .vwtoc summary{cursor:pointer;font:600 var(--fs-2) var(--sans);color:var(--ink-2);list-style:none;min-height:28px;display:flex;align-items:center;gap:6px}
248
+ .vwtoc summary{cursor:pointer;font:var(--fw-strong) var(--fs-label)/var(--lh-label) var(--sans);color:var(--ink-2);list-style:none;min-height:28px;display:flex;align-items:center;gap:6px}
249
249
  .vwtoc summary::-webkit-details-marker{display:none}
250
- .vwtoc summary em{font-style:normal;color:var(--ink-3);font-weight:500}
250
+ .vwtoc summary em{font-style:normal;color:var(--ink-3);font-weight:var(--fw-regular)}
251
251
  .vwtoc ol{margin:4px 0 2px;padding:0;list-style:none;display:grid;gap:2px}
252
252
  .vwtoc li.sub{padding-left:14px}
253
- .vwtoc a{display:block;padding:4px 0;color:var(--ink);text-decoration:none;font:400 var(--fs-2) var(--sans)}
253
+ .vwtoc a{display:block;padding:4px 0;color:var(--ink);text-decoration:none;font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans)}
254
254
  .vwtoc a:hover{color:var(--blue-ink, var(--ink))}
255
255
  @media (max-width:640px){.vwtoc a{padding:8px 0}}
256
256
  /* a PDF takes the Viewer's whole width and height, with no card around it (Wawan, 2026-11-02, batch 22 item 15) */
257
257
  .vwdoc.vwpdf{max-width:none;padding:0 0 8px}
258
258
  .vwpdf .vwfile{display:flex;flex-direction:column;gap:6px}
259
259
  .vwpdf .vwpdff{height:calc(100dvh - 150px);min-height:420px}
260
- .vwpdf .cff{display:flex;gap:8px;font-size:var(--fs-1);color:var(--ink-3);padding:0 2px}
260
+ .vwpdf .cff{display:flex;gap:8px;font-size:var(--fs-meta);color:var(--ink-3);padding:0 2px;line-height:var(--lh-meta);}
261
261
  .vwpdfr{display:flex;flex-direction:column;gap:8px}
262
262
  .vwpdfp{display:flex;flex-direction:column;gap:8px}
263
263
  .vwpdfp canvas{display:block;border-radius:4px;box-shadow:0 0 0 1px var(--hair)}
264
- .vwpdfs{margin:0;font-size:var(--fs-1);color:var(--ink-3)}
264
+ .vwpdfs{margin:0;font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
265
265
  .vwpdfs:empty{display:none}
@@ -1,10 +1,10 @@
1
- :root{--fs-1:11px;--fs-2:12px;--fs-3:14px;--fs-4:16px;--fs-5:20px;--fs-6:28px}
1
+ :root{--fw-regular:400;--fw-strong:600;--fs-field:16px;--fs-display:26px;--fs-page:26px;--fs-panel:18px;--fs-section:15px;--fs-row:15px;--fs-body:15px;--fs-meta:13px;--fs-label:13px;--fs-badge:13px;--lh-display:1.2;--lh-page:1.2;--lh-panel:1.3;--lh-section:1.35;--lh-row:1.4;--lh-body:1.6;--lh-meta:1.5;--lh-label:1.35;--lh-badge:1.2}
2
2
  /* pm/premium-vw-item.css — the work item view of the premium viewer (initiative premium-viewer, S7). Loaded by vwStyle('item'). Console type sizes only. */
3
3
  .vwi .vwi-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}
4
- .vwi .vwi-head b{font-size:var(--fs-4);font-weight:600;color:var(--ink);overflow-wrap:anywhere}
5
- .vwi .vwi-desc,.vwi .vwi-p{font-size:var(--fs-3);color:var(--ink-2);margin:6px 0;line-height:1.5}
6
- .vwi .vwi-next{font-size:var(--fs-3);color:var(--ink);margin:4px 0}
7
- .vwi .vwi-wait{font-size:var(--fs-3);color:var(--ink-2);margin:0}
4
+ .vwi .vwi-head b{font-size:var(--fs-section);font-weight:var(--fw-strong);color:var(--ink);overflow-wrap:anywhere;line-height:var(--lh-section);}
5
+ .vwi .vwi-desc,.vwi .vwi-p{font-size:var(--fs-body);color:var(--ink-2);margin:6px 0;line-height:1.5}
6
+ .vwi .vwi-next{font-size:var(--fs-body);color:var(--ink);margin:4px 0;line-height:var(--lh-body);}
7
+ .vwi .vwi-wait{font-size:var(--fs-body);color:var(--ink-2);margin:0;line-height:var(--lh-body);}
8
8
  .vwi .vwi-s{margin:18px 0 0}
9
9
  .vwi .vwi-s>.label{margin:0 0 8px}
10
10
  .vwi .vwi-l{list-style:none;margin:0;padding:0;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid);box-shadow:var(--card-shadow)}
@@ -15,17 +15,17 @@
15
15
  @media (hover:hover){.vwi .vwi-r:hover{background:var(--well)}}
16
16
  .vwi .vwi-r:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}
17
17
  .vwi .vwi-t{display:flex;flex-direction:column;gap:2px;min-width:0}
18
- .vwi .vwi-t b{font-size:var(--fs-3);font-weight:500;color:var(--ink);overflow-wrap:anywhere}
19
- .vwi .vwi-t small{font-size:var(--fs-2);color:var(--ink-3);overflow-wrap:anywhere}
18
+ .vwi .vwi-t b{font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--ink);overflow-wrap:anywhere;line-height:var(--lh-body);}
19
+ .vwi .vwi-t small{font-size:var(--fs-meta);color:var(--ink-3);overflow-wrap:anywhere;line-height:var(--lh-meta);}
20
20
  .vwi .vwi-path{font-family:var(--mono)}
21
- .vwi .vwi-w{margin:0;padding-left:18px;font-size:var(--fs-3);color:var(--ink-2)}
22
- .vwi .vwi-foot{margin:18px 0 0;font-size:var(--fs-3)}
23
- .vwi .vwi-go,.vwi .vwi-p a{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
21
+ .vwi .vwi-w{margin:0;padding-left:18px;font-size:var(--fs-body);color:var(--ink-2);line-height:var(--lh-body);}
22
+ .vwi .vwi-foot{margin:18px 0 0;font-size:var(--fs-body);line-height:var(--lh-body);}
23
+ .vwi .vwi-go,.vwi .vwi-p a{color:var(--ink);font-weight:var(--fw-regular);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
24
24
  .vwi-open{margin:14px 0 0}
25
25
  .vwi-open .dmcta{min-height:44px}
26
26
  /* in the cozy Viewer (Home), where premium.css is not loaded: the facts are a two-column list, and the card keeps its gutter (testing fixes) */
27
- .vwi .kv2{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:8px 18px;font-size:var(--fs-3);margin:6px 0}
27
+ .vwi .kv2{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:8px 18px;font-size:var(--fs-body);margin:6px 0;line-height:var(--lh-body);}
28
28
  .vwi .kv2 span:nth-child(odd){color:var(--ink-3)}
29
- .vwi .kv2 span:nth-child(even){color:var(--ink);font-weight:500;line-height:1.5;overflow-wrap:anywhere}
29
+ .vwi .kv2 span:nth-child(even){color:var(--ink);font-weight:var(--fw-regular);line-height:1.5;overflow-wrap:anywhere}
30
30
  .cz-vw-body>.vwi{padding:16px 20px 24px}
31
31
  .cz-vw-body>.vwi>.vwi-head{display:none} /* the Viewer header already names it */
@@ -2,88 +2,88 @@
2
2
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
3
3
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
4
4
  @font-face{font-family:"IBM Plex Mono";src:url(/vendor/ibm-plex-mono-700.woff2) format("woff2");font-weight:600 700;font-display:swap}
5
- :root{--fs-1:11px;--fs-2:12px;--fs-3:14px;--fs-4:16px;--fs-5:20px;--fs-6:28px}
5
+ :root{--fw-regular:400;--fw-strong:600;--fs-field:16px;--fs-display:26px;--fs-page:26px;--fs-panel:18px;--fs-section:15px;--fs-row:15px;--fs-body:15px;--fs-meta:13px;--fs-label:13px;--fs-badge:13px;--lh-display:1.2;--lh-page:1.2;--lh-panel:1.3;--lh-section:1.35;--lh-row:1.4;--lh-body:1.6;--lh-meta:1.5;--lh-label:1.35;--lh-badge:1.2}
6
6
  /* pm/premium-vw-jira.css — the Jira ticket and sprint tabs of the premium viewer (initiative premium-viewer, S5). Loaded once by
7
7
  * pm/premium-vw-jira.js. Console type only: sizes var(--fs-1..6), weights 400, 500 and 600. */
8
8
  .jv{max-width:900px;margin:0 auto;display:grid;gap:12px;min-width:0}
9
9
  .jv .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
10
10
  .jv .gap{flex:1}
11
- .jk{font:500 var(--fs-2) var(--mono);color:var(--ink-3);white-space:nowrap}
12
- .jnote{margin:0;font-size:var(--fs-2);color:var(--ink-3);line-height:1.5}
13
- .jbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 6px 6px 10px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid);font-size:var(--fs-2);color:var(--ink-2)}
11
+ .jk{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono);color:var(--ink-3);white-space:nowrap}
12
+ .jnote{margin:0;font-size:var(--fs-meta);color:var(--ink-3);line-height:1.5}
13
+ .jbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 6px 6px 10px;border:1px solid var(--hair);border-radius:8px;background:var(--card-solid);font-size:var(--fs-meta);color:var(--ink-2);line-height:var(--lh-meta);}
14
14
  .jbt{flex:1;min-width:0}
15
- .jbt b{font-weight:600;color:var(--ink)}
16
- .jlg{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--solid);color:var(--on-solid);font:600 var(--fs-1) var(--sans);flex:none}
17
- .jbtn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--ink);font:500 var(--fs-2) var(--sans);text-decoration:none;cursor:pointer}
15
+ .jbt b{font-weight:var(--fw-strong);color:var(--ink)}
16
+ .jlg{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--solid);color:var(--on-solid);font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--sans);flex:none}
17
+ .jbtn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--ink);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);text-decoration:none;cursor:pointer}
18
18
  .jbtn:focus-visible,.jcrd:focus-visible,.jln button:focus-visible,.jseg button:focus-visible,.jfoot a:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
19
19
  .jempty{padding:22px;border:1px dashed var(--hair);border-radius:8px;text-align:center;color:var(--ink-2)}
20
- .jempty b{display:block;font-size:var(--fs-3);font-weight:600;color:var(--ink);margin-bottom:4px}
21
- .jempty p{margin:0;font-size:var(--fs-2)}
20
+ .jempty b{display:block;font-size:var(--fs-row);font-weight:var(--fw-strong);color:var(--ink);margin-bottom:4px;line-height:var(--lh-row);}
21
+ .jempty p{margin:0;font-size:var(--fs-meta);line-height:var(--lh-meta);}
22
22
  /* ticket */
23
23
  .jtk{background:var(--card-solid);border:1px solid var(--hair);border-radius:8px;padding:22px 24px;box-shadow:var(--card-shadow);min-width:0;overflow-wrap:anywhere}
24
- .jbc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-2);color:var(--ink-3);margin-bottom:6px}
25
- .jtk h1{font-size:var(--fs-5);line-height:1.3;font-weight:600;margin:0 0 10px;color:var(--ink)}
26
- .jtk h3{font-size:var(--fs-3);font-weight:600;margin:18px 0 6px;color:var(--ink)}
24
+ .jbc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-meta);color:var(--ink-3);margin-bottom:6px;line-height:var(--lh-meta);}
25
+ .jtk h1{font-size:var(--fs-page);line-height:1.3;font-weight:var(--fw-strong);margin:0 0 10px;color:var(--ink)}
26
+ .jtk h3{font-size:var(--fs-section);font-weight:var(--fw-strong);margin:18px 0 6px;color:var(--ink);line-height:var(--lh-section);}
27
27
  .jmeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px}
28
- .jst{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;font:600 var(--fs-1) var(--sans);text-transform:uppercase;letter-spacing:.03em;background:var(--well);color:var(--ink-2)}
28
+ .jst{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--sans);text-transform:uppercase;letter-spacing:.03em;background:var(--well);color:var(--ink-2)}
29
29
  .jst.doing{background:color-mix(in oklab,var(--sky,rgb(29,122,252)) 16%,transparent);color:var(--ink)}
30
30
  .jst.done{background:color-mix(in oklab,var(--ok) 16%,transparent);color:var(--ok)}
31
31
  .jst.draft{background:transparent;border:1px dashed var(--hair);color:var(--ink-3)}
32
- .jchip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--hair);font-size:var(--fs-2);color:var(--ink-2)}
32
+ .jchip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--hair);font-size:var(--fs-meta);color:var(--ink-2);line-height:var(--lh-meta);}
33
33
  .jchip.mut{color:var(--ink-3)}
34
- .jpts{min-width:22px;height:20px;padding:0 7px;border-radius:6px;background:var(--well);font:600 var(--fs-1)/20px var(--sans);text-align:center;color:var(--ink-2);flex:none}
34
+ .jpts{min-width:22px;height:20px;padding:0 7px;border-radius:6px;background:var(--well);font:var(--fw-strong) var(--fs-badge)/20px var(--sans);text-align:center;color:var(--ink-2);flex:none}
35
35
  .jmeta .jpts{height:28px;line-height:28px}
36
- .jflag{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--fs-2);font-weight:500;color:var(--bad)}
37
- .jbody{font-size:var(--fs-3);line-height:1.5;color:var(--ink)}
36
+ .jflag{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--fs-meta);font-weight:var(--fw-regular);color:var(--bad);line-height:var(--lh-meta);}
37
+ .jbody{font-size:var(--fs-body);line-height:1.5;color:var(--ink)}
38
38
  .jmd>:first-child{margin-top:0}.jmd>:last-child{margin-bottom:0}
39
39
  .jmd p,.jmd ul,.jmd ol{margin:0 0 8px}
40
40
  .jmd ul,.jmd ol{padding-left:20px}
41
- .jmd code{font:400 var(--fs-2) var(--mono)}
41
+ .jmd code{font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--mono)}
42
42
  .jprog{height:6px;border-radius:6px;background:var(--well);overflow:hidden;margin:0 0 6px}
43
43
  .jprog i{display:block;height:100%;width:var(--bd-w,0);background:var(--ok);border-radius:6px}
44
44
  .jlinks{display:grid}
45
- .jln{display:flex;align-items:center;gap:8px;min-height:44px;border-top:1px solid var(--hair);font-size:var(--fs-3)}
45
+ .jln{display:flex;align-items:center;gap:8px;min-height:44px;border-top:1px solid var(--hair);font-size:var(--fs-body);line-height:var(--lh-body);}
46
46
  .jln:first-child{border-top:0}
47
- .jln em{font-style:normal;font-size:var(--fs-2);color:var(--ink-3);width:76px;flex:none}
47
+ .jln em{font-style:normal;font-size:var(--fs-meta);color:var(--ink-3);width:76px;flex:none;line-height:var(--lh-meta);}
48
48
  .jln button,.jlx{display:flex;align-items:center;gap:7px;min-height:44px;min-width:0;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left}
49
49
  .jln button{cursor:pointer}
50
- .jln b{font-weight:500;min-width:0;overflow-wrap:anywhere}
51
- .jfoot{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--hair);font-size:var(--fs-2);color:var(--ink-3)}
52
- .jfoot a{color:var(--ink);font-weight:500}
50
+ .jln b{font-weight:var(--fw-regular);min-width:0;overflow-wrap:anywhere}
51
+ .jfoot{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--hair);font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
52
+ .jfoot a{color:var(--ink);font-weight:var(--fw-regular)}
53
53
  /* sprint */
54
54
  .jseg{display:flex;gap:6px;flex-wrap:wrap}
55
- .jseg button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--ink-2);font:500 var(--fs-2) var(--sans);cursor:pointer}
56
- .jseg button small{font-size:var(--fs-1);color:var(--ink-3)}
55
+ .jseg button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:6px;border:1px solid var(--hair);background:transparent;color:var(--ink-2);font:var(--fw-regular) var(--fs-meta)/var(--lh-meta) var(--sans);cursor:pointer}
56
+ .jseg button small{font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
57
57
  .jseg button[aria-pressed="true"]{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}
58
58
  .jseg button[aria-pressed="true"] small{color:inherit}
59
59
  .jsh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card-solid);border:1px solid var(--hair);border-radius:8px;padding:12px 16px;box-shadow:var(--card-shadow)}
60
- .jsh h3{margin:0;font-size:var(--fs-4);font-weight:600;color:var(--ink)}
61
- .jsh p{margin:2px 0 0;font-size:var(--fs-2);color:var(--ink-3)}
60
+ .jsh h3{margin:0;font-size:var(--fs-section);font-weight:var(--fw-strong);color:var(--ink);line-height:var(--lh-section);}
61
+ .jsh p{margin:2px 0 0;font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
62
62
  .jsh>div{min-width:0}
63
63
  .jpastb{border-style:dashed!important}
64
64
  .jpastb[aria-expanded="true"]{border-style:solid!important;background:var(--well)!important}
65
65
  .jpast[hidden]{display:none}
66
66
  .jgoal{display:grid;gap:4px;background:var(--card-solid);border:1px solid var(--hair);border-radius:8px;padding:12px 16px;box-shadow:var(--card-shadow);min-width:0;overflow-wrap:anywhere}
67
- .jgoal .jlab{margin:0;font:600 var(--fs-1) var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
68
- .jgoal b{font-size:var(--fs-3);font-weight:600;line-height:1.45;color:var(--ink)}
69
- .jgoal p{margin:0;font-size:var(--fs-2);line-height:1.5;color:var(--ink-2)}
67
+ .jgoal .jlab{margin:0;font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
68
+ .jgoal b{font-size:var(--fs-row);font-weight:var(--fw-strong);line-height:1.45;color:var(--ink)}
69
+ .jgoal p{margin:0;font-size:var(--fs-meta);line-height:1.5;color:var(--ink-2)}
70
70
  .jgoal .jgref{color:var(--ink-3)}
71
71
  .jsh .jgoal{flex-basis:100%;background:none;border:0;border-top:1px solid var(--hair);border-radius:0;box-shadow:none;padding:10px 0 0}
72
- .jcap{display:flex;align-items:center;gap:8px;font-size:var(--fs-2);color:var(--ink-3)}
72
+ .jcap{display:flex;align-items:center;gap:8px;font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
73
73
  .jcap i{display:block;width:90px;height:6px;border-radius:6px;background:var(--well);overflow:hidden;position:relative}
74
74
  .jcap i::after{content:"";position:absolute;inset:0;width:var(--bd-w,0);background:var(--ok);border-radius:6px}
75
75
  .jbrd{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
76
76
  .jcol{background:color-mix(in oklab,var(--well) 80%,transparent);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:7px;min-width:0}
77
- .jcolh{display:flex;justify-content:space-between;font:600 var(--fs-1) var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:4px 4px 2px}
78
- .jnone{margin:0;padding:6px 4px;font-size:var(--fs-2);color:var(--ink-3)}
77
+ .jcolh{display:flex;justify-content:space-between;font:var(--fw-strong) var(--fs-badge)/var(--lh-badge) var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:4px 4px 2px}
78
+ .jnone{margin:0;padding:6px 4px;font-size:var(--fs-meta);color:var(--ink-3);line-height:var(--lh-meta);}
79
79
  .jcrd{display:grid;gap:8px;min-height:44px;padding:9px 10px;border-radius:6px;border:1px solid var(--hair);background:var(--card-solid);color:var(--ink);font:inherit;text-align:left;box-shadow:0 1px 2px rgba(0,0,0,.04);min-width:0;overflow-wrap:anywhere}
80
80
  button.jcrd{cursor:pointer}
81
- .jcrd b{font-size:var(--fs-2);font-weight:500;line-height:1.4}
81
+ .jcrd b{font-size:var(--fs-meta);font-weight:var(--fw-regular);line-height:1.4}
82
82
  .jcrd.off{background:transparent;border-style:dashed}
83
83
  .jcrd.risk{border-color:color-mix(in oklab,var(--bad) 45%,var(--hair))}
84
- .jrk{display:flex;align-items:center;gap:5px;font-size:var(--fs-1);font-weight:600;color:var(--bad)}
84
+ .jrk{display:flex;align-items:center;gap:5px;font-size:var(--fs-badge);font-weight:var(--fw-strong);color:var(--bad);line-height:var(--lh-badge);}
85
85
  .jft{display:flex;align-items:center;gap:6px;min-width:0}
86
- .jsx{font-size:var(--fs-1);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
86
+ .jsx{font-size:var(--fs-meta);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:var(--lh-meta);}
87
87
  @media (max-width:640px){
88
88
  .jtk{padding:16px}
89
89
  .jbtn,.jseg button{min-height:44px}
@@ -93,7 +93,7 @@ button.jcrd{cursor:pointer}
93
93
  /* Agreed design V1: the ticket's facts grid (Status, Assignee, Points, Sprint, Initiative, Jira read), two columns of soft wells */
94
94
  .jfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 4px}
95
95
  .jfd{padding:10px 12px;border-radius:8px;background:var(--well);min-width:0}
96
- .jfd dt{font-size:var(--fs-1);font-weight:600;color:var(--ink-3)}
97
- .jfd dd{margin:2px 0 0;font-size:var(--fs-3);font-weight:600;color:var(--ink);overflow-wrap:anywhere}
98
- .jfd.mut dd{font-weight:600;color:var(--ink-3)}
96
+ .jfd dt{font-size:var(--fs-badge);font-weight:var(--fw-strong);color:var(--ink-3);line-height:var(--lh-badge);}
97
+ .jfd dd{margin:2px 0 0;font-size:var(--fs-row);font-weight:var(--fw-strong);color:var(--ink);overflow-wrap:anywhere;line-height:var(--lh-row);}
98
+ .jfd.mut dd{font-weight:var(--fw-strong);color:var(--ink-3)}
99
99
  .jago{color:var(--ink-3)}