create-pmos 0.133.0 → 0.135.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 (212) hide show
  1. package/package.json +1 -1
  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/bin/notes-replay.js +235 -0
  7. package/workspace/c3-briefing-test.js +130 -0
  8. package/workspace/c3-foundation-test.js +159 -0
  9. package/workspace/c3-ib-items-test.js +105 -0
  10. package/workspace/c3-ib-more-test.js +120 -0
  11. package/workspace/c3-ib-triage-backlog-test.js +119 -0
  12. package/workspace/c3-ini-harness.js +66 -0
  13. package/workspace/c3-initiatives-test.js +140 -0
  14. package/workspace/c3-one-home-test.js +14 -1
  15. package/workspace/c3-reports-test.js +57 -18
  16. package/workspace/c3-settings-test.js +139 -0
  17. package/workspace/c3-work-test.js +42 -10
  18. package/workspace/fixtures/one-home-baseline.json +1 -9
  19. package/workspace/guide/briefing-cards.md +15 -3
  20. package/workspace/guide/briefing.md +12 -8
  21. package/workspace/guide/calendar-popup.md +2 -2
  22. package/workspace/guide/console-calendar.md +39 -10
  23. package/workspace/guide/index.md +1 -0
  24. package/workspace/guide/initiative-boards.md +65 -0
  25. package/workspace/guide/jira.md +3 -1
  26. package/workspace/guide/layout.md +2 -0
  27. package/workspace/guide/my-work.md +5 -3
  28. package/workspace/guide/notes.md +35 -2
  29. package/workspace/guide/reports-dashboards.md +29 -5
  30. package/workspace/guide/settings.md +68 -0
  31. package/workspace/guide/welcome.md +10 -10
  32. package/workspace/lib/calendar-cli.js +3 -2
  33. package/workspace/lib/calendar-layers.js +21 -10
  34. package/workspace/lib/calendar-tidy.js +230 -0
  35. package/workspace/lib/engine/boards.js +542 -0
  36. package/workspace/lib/engine/breakdown-ops.js +180 -0
  37. package/workspace/lib/engine/calendar-import.js +84 -0
  38. package/workspace/lib/engine/calendar-model.js +185 -0
  39. package/workspace/lib/engine/card-state.js +92 -0
  40. package/workspace/lib/engine/derived/derive.js +92 -0
  41. package/workspace/lib/engine/derived/plan.js +3 -0
  42. package/workspace/lib/engine/derived/trust.js +3 -0
  43. package/workspace/lib/engine/doc-health.js +142 -0
  44. package/workspace/lib/engine/doc-sheet.js +75 -0
  45. package/workspace/lib/engine/intake.js +78 -0
  46. package/workspace/lib/engine/outbox.js +86 -0
  47. package/workspace/lib/engine/plan-forecast.js +342 -0
  48. package/workspace/lib/engine/promises.js +29 -0
  49. package/workspace/lib/engine/records/index.js +114 -0
  50. package/workspace/lib/engine/releases.js +96 -0
  51. package/workspace/lib/engine/replies.js +99 -0
  52. package/workspace/lib/engine/reply-contract/reply-contract.js +372 -0
  53. package/workspace/lib/engine/report-families.js +175 -0
  54. package/workspace/lib/engine/roadmap-ops.js +150 -0
  55. package/workspace/lib/engine/sessions-list.js +27 -0
  56. package/workspace/lib/engine/signal-rules.js +95 -0
  57. package/workspace/lib/engine/signals/cards.js +57 -0
  58. package/workspace/lib/engine/signals/detectors.js +370 -0
  59. package/workspace/lib/engine/signals/facts-cli.js +8 -0
  60. package/workspace/lib/engine/signals/facts.js +197 -0
  61. package/workspace/lib/engine/signals/index.js +33 -0
  62. package/workspace/lib/engine/signals/kinds.js +110 -0
  63. package/workspace/lib/engine/signals/layout-paths.js +44 -0
  64. package/workspace/lib/engine/signals/options.js +24 -0
  65. package/workspace/lib/engine/signals/score.js +72 -0
  66. package/workspace/lib/engine/signals/select.js +47 -0
  67. package/workspace/lib/engine/step-planner.js +65 -0
  68. package/workspace/lib/engine/trust/claim-rules.json +93 -0
  69. package/workspace/lib/engine/trust/import-calendar.js +21 -0
  70. package/workspace/lib/engine/trust/import-guard.js +36 -0
  71. package/workspace/lib/engine/trust/ledger.js +53 -0
  72. package/workspace/lib/engine/trust/outbox.js +45 -0
  73. package/workspace/lib/engine/trust/plan.js +5 -0
  74. package/workspace/lib/engine/trust/trust.js +21 -0
  75. package/workspace/lib/engine/truth-table.js +57 -0
  76. package/workspace/lib/engine/workspace-lib.js +24 -0
  77. package/workspace/lib/factory-join.js +1 -1
  78. package/workspace/lib/facts-async.js +4 -4
  79. package/workspace/lib/headless.js +95 -0
  80. package/workspace/lib/import-overlay.js +2 -1
  81. package/workspace/lib/jira-status.js +30 -3
  82. package/workspace/lib/notes-audio.js +28 -9
  83. package/workspace/lib/notes-capture.js +136 -0
  84. package/workspace/lib/notes-final.js +38 -13
  85. package/workspace/lib/notes-live-guard.js +117 -0
  86. package/workspace/lib/notes-replay.js +125 -0
  87. package/workspace/lib/notes-screen.js +180 -0
  88. package/workspace/lib/notes-whisper.js +139 -16
  89. package/workspace/lib/notes.js +4 -2
  90. package/workspace/lib/outbox-store.js +10 -6
  91. package/workspace/lib/pmos-verbs.js +3 -1
  92. package/workspace/lib/proactive-cli.js +7 -0
  93. package/workspace/lib/proactive.js +15 -2
  94. package/workspace/lib/repo-script.js +36 -0
  95. package/workspace/lib/report-dashboards.js +5 -2
  96. package/workspace/lib/report-frame.js +122 -0
  97. package/workspace/lib/report-schedules.js +113 -0
  98. package/workspace/lib/route-modules.js +9 -2
  99. package/workspace/lib/routes-boards.js +734 -0
  100. package/workspace/lib/routes-brief-page.js +13 -4
  101. package/workspace/lib/routes-briefing.js +22 -11
  102. package/workspace/lib/routes-c3-init.js +4 -3
  103. package/workspace/lib/routes-c3-life.js +2 -1
  104. package/workspace/lib/routes-c3-reports.js +96 -13
  105. package/workspace/lib/routes-c3-strategy.js +4 -3
  106. package/workspace/lib/routes-c3-timeline.js +3 -2
  107. package/workspace/lib/routes-calendar-import.js +3 -2
  108. package/workspace/lib/routes-calendar-views.js +9 -4
  109. package/workspace/lib/routes-doc-health.js +2 -1
  110. package/workspace/lib/routes-doc-sheet.js +2 -1
  111. package/workspace/lib/routes-forecast.js +2 -1
  112. package/workspace/lib/routes-hooks.js +3 -2
  113. package/workspace/lib/routes-initiatives.js +2 -1
  114. package/workspace/lib/routes-intake.js +2 -1
  115. package/workspace/lib/routes-notes.js +113 -15
  116. package/workspace/lib/routes-outbox.js +23 -3
  117. package/workspace/lib/routes-pm-items.js +19 -6
  118. package/workspace/lib/routes-records.js +3 -2
  119. package/workspace/lib/routes-releases.js +2 -1
  120. package/workspace/lib/routes-report-facts.js +4 -3
  121. package/workspace/lib/routes-report-families.js +2 -1
  122. package/workspace/lib/routes-roadmap-ops.js +5 -4
  123. package/workspace/lib/routes-runs.js +6 -5
  124. package/workspace/lib/routes-settings.js +51 -0
  125. package/workspace/lib/routes-signals.js +3 -2
  126. package/workspace/lib/routes-stage-tools.js +220 -0
  127. package/workspace/lib/run-answers.js +2 -1
  128. package/workspace/lib/settings-store.js +226 -0
  129. package/workspace/lib/stage-tools.js +208 -0
  130. package/workspace/lib/vendor/scripts/signals/layout-paths.js +2 -1
  131. package/workspace/lib/vendor/scripts/workspace-lib.js +24 -0
  132. package/workspace/lib/work-evidence.js +73 -0
  133. package/workspace/package-lock.json +2 -2
  134. package/workspace/package.json +1 -1
  135. package/workspace/public/pm/briefing-deck.js +63 -17
  136. package/workspace/public/pm/briefing-model.js +36 -7
  137. package/workspace/public/pm/c3-ambient.js +100 -0
  138. package/workspace/public/pm/c3-brief-needs.js +26 -6
  139. package/workspace/public/pm/c3-brief-pulse.js +12 -4
  140. package/workspace/public/pm/c3-brief-today.js +56 -21
  141. package/workspace/public/pm/c3-brief.js +2 -1
  142. package/workspace/public/pm/c3-calendar.js +161 -42
  143. package/workspace/public/pm/c3-calpop.js +5 -5
  144. package/workspace/public/pm/c3-demo-boards.js +649 -0
  145. package/workspace/public/pm/c3-demo-brief-page.js +1 -1
  146. package/workspace/public/pm/c3-demo-cal4.js +3 -2
  147. package/workspace/public/pm/c3-demo-cal5.js +52 -0
  148. package/workspace/public/pm/c3-demo-data.js +17 -27
  149. package/workspace/public/pm/c3-demo-rep3.js +46 -5
  150. package/workspace/public/pm/c3-demo.js +2 -1
  151. package/workspace/public/pm/c3-dock.js +1 -1
  152. package/workspace/public/pm/c3-ib-docs.js +80 -0
  153. package/workspace/public/pm/c3-ib-initiatives.js +134 -0
  154. package/workspace/public/pm/c3-ib-items.js +201 -0
  155. package/workspace/public/pm/c3-ib-releases.js +51 -0
  156. package/workspace/public/pm/c3-ib-sprints.js +55 -0
  157. package/workspace/public/pm/c3-ib-triage.js +178 -0
  158. package/workspace/public/pm/c3-ii-tabs.js +240 -0
  159. package/workspace/public/pm/c3-ini-records.js +197 -0
  160. package/workspace/public/pm/c3-ini-timeline.js +278 -0
  161. package/workspace/public/pm/c3-ini-ui.js +229 -0
  162. package/workspace/public/pm/c3-ini-work.js +139 -0
  163. package/workspace/public/pm/c3-initiatives.css +218 -0
  164. package/workspace/public/pm/c3-initiatives.js +741 -0
  165. package/workspace/public/pm/c3-plan.js +2 -2
  166. package/workspace/public/pm/c3-reports.css +47 -47
  167. package/workspace/public/pm/c3-reports.js +223 -185
  168. package/workspace/public/pm/c3-settings.css +74 -0
  169. package/workspace/public/pm/c3-settings.js +703 -0
  170. package/workspace/public/pm/c3-shell.js +102 -36
  171. package/workspace/public/pm/c3-terminal-icons.js +2 -2
  172. package/workspace/public/pm/c3-terminal.js +2 -2
  173. package/workspace/public/pm/calendar-views.js +26 -13
  174. package/workspace/public/pm/components.css +319 -213
  175. package/workspace/public/pm/console3.css +118 -23
  176. package/workspace/public/pm/dest-notes.js +26 -4
  177. package/workspace/public/pm/notes-screen-capture.js +165 -0
  178. package/workspace/public/pm/notes-screen-view.js +98 -0
  179. package/workspace/public/pm/panel-trees.js +5 -2
  180. package/workspace/public/pm/pm-work-view.js +233 -146
  181. package/workspace/public/pm/shell-bell.js +3 -2
  182. package/workspace/public/pm/shell-recording.js +148 -17
  183. package/workspace/public/pm/tokens.css +2 -2
  184. package/workspace/public/pm/view-notes.js +53 -11
  185. package/workspace/public/pm/welcome.js +197 -89
  186. package/workspace/public/welcome.html +6 -4
  187. package/workspace/server.js +105 -6
  188. package/workspace/skills/day-check.skill +1 -1
  189. package/workspace/skills/jira-sync.skill +6 -4
  190. package/workspace/skills/morning-brief.skill +1 -1
  191. package/workspace/test-files.json +14 -3
  192. package/workspace/test-lists/c3-ib-items.json +9 -0
  193. package/workspace/test-lists/c3-ib-more.json +9 -0
  194. package/workspace/test-lists/c3-ib-triage-backlog.json +9 -0
  195. package/workspace/test-lists/c3-initiative-boards.json +6 -0
  196. package/workspace/test-lists/calendar-tidy-up.json +6 -0
  197. package/workspace/test-lists/console3-briefing.json +9 -0
  198. package/workspace/test-lists/console3-foundation.json +9 -0
  199. package/workspace/test-lists/console3-reports.json +3 -3
  200. package/workspace/test-lists/meeting-notes.json +12 -4
  201. package/workspace/test-lists/workspace-headless-jobs.json +5 -0
  202. package/workspace/test-lists/workspace-package-script-closure.json +6 -0
  203. package/workspace/lib/vendor/workspace/lib/actor.js +0 -91
  204. package/workspace/lib/vendor/workspace/lib/board-cache.js +0 -156
  205. package/workspace/lib/vendor/workspace/lib/console-state.js +0 -295
  206. package/workspace/lib/vendor/workspace/lib/factory-join.js +0 -158
  207. package/workspace/lib/vendor/workspace/lib/git-info.js +0 -306
  208. package/workspace/lib/vendor/workspace/lib/plan-items.js +0 -922
  209. package/workspace/lib/vendor/workspace/lib/plan-tree.js +0 -419
  210. package/workspace/lib/vendor/workspace/lib/review-gate.js +0 -39
  211. package/workspace/lib/vendor/workspace/lib/sink.js +0 -321
  212. package/workspace/lib/vendor/workspace/lib/state-root.js +0 -587
@@ -17,9 +17,9 @@ import { needRow } from './c3-brief.js';
17
17
  /** Re-point a plan node at another scope (the Work tab's lens). Only the demo has a deck per scope. */
18
18
  export const setPlanScope = (host, scope) => setBriefingScope(host, scope);
19
19
 
20
- export function planNode(scope) {
20
+ export function planNode(scope, opts) {
21
21
  const host = el('div', { 'data-c3pg': 'plan' });
22
- mountBriefing(host, { noTicker: true, scope });
22
+ mountBriefing(host, { noTicker: true, scope, ...(opts || {}) });
23
23
  return host;
24
24
  }
25
25
 
@@ -1,62 +1,62 @@
1
1
  /* pm/c3-reports.css — the Reports dashboards of the console3 page (c3-reports.js links it once, as ensureC3Css links console3.css).
2
- * Tokens only. Corners: 6px on a control, 8px on a container, else 0 (R27 as amended 2026-10-07). The console3 primitives (.card, .seg,
3
- * .fold, .nrow, .xp) come from console3.css; this file adds the page's own layout under .rp3. */
2
+ * Tokens only. Corners: 6px on a control, 8px on a container, else 0 (R27 as amended 2026-10-07). The console3 primitives (.card.sect, .calbar, .lh,
3
+ * .seg, .pill, .fold, .nrow, .xp, .chips, .chip2, .hero, .chgl) come from console3.css; this file adds the page's own layout under .rp3.
4
+ * The tile grid, the head row and the headline-deck clip are the mockup's 33-reports.css under real class names (.mk-reports is .rp3). */
4
5
  .rp3{display:grid;gap:var(--sp-4);min-width:0;align-content:start}
5
- .rp3-intro{margin:0;color:var(--muted-foreground);font-size:var(--fs-3)}
6
+ .rp3>*{min-width:0}
7
+ .rp3>[data-rp3-deck]{overflow:hidden}
6
8
  .rp3-pane{display:grid;gap:var(--sp-4);min-width:0;align-content:start}
7
9
  .rp3-pane[hidden]{display:none}
8
- .rp3 .rp3-tabs{justify-self:start;flex-wrap:wrap;max-width:100%}
9
- .rp3 .rp3-tabs button[aria-selected="true"]{background:var(--background);color:var(--foreground);box-shadow:0 0 0 1px var(--border)}
10
- .rp3 .rp3-tabs .tag{margin-left:2px}
11
- .rp3-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-width:0}
12
- .rp3 .rp3-scope{flex-wrap:wrap;max-width:100%}
13
- .rp3-pick{display:inline-flex;gap:8px;align-items:center;min-width:0;max-width:100%;font-size:var(--fs-2)}
10
+ .rp3 .calbody,.rp3 .calbody>*{min-width:0}
11
+ .rp3 .calbar{align-items:center}
12
+ .rp3 .rp3-tabs{flex-wrap:wrap;max-width:100%}
13
+ .rp3 .rp3-tabs .bdg{margin-left:2px}
14
+ .rp3 .rp3-scope{justify-content:flex-end}
15
+ .rp3 .rp3-scope[hidden]{display:none}
16
+ /* the dashboard head: icon, title and dim line, then Share and Edit; 3 columns from 700px, the buttons on their own row below that */
17
+ .rp3 .lh{grid-template-columns:auto minmax(0,1fr)}
18
+ .rp3 .lh>.chips2{grid-column:1 / -1}
19
+ @media (min-width:700px){.rp3 .lh{grid-template-columns:auto minmax(0,1fr) auto}.rp3 .lh>.chips2{grid-column:auto}}
20
+ .rp3-pick{display:inline-flex;gap:8px;align-items:center;min-width:0;max-width:100%;font-size:var(--fs-2);margin-top:4px}
14
21
  .rp3-select{min-width:0;max-width:100%;min-height:32px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font:var(--fs-2) var(--mono);padding:4px 8px}
15
22
  .rp3-select:disabled{opacity:.6;cursor:not-allowed}
16
- .rp3-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;min-width:0}
17
- .rp3-ttl{display:grid;gap:2px;min-width:0}
18
- .rp3-ttl h2{margin:0;font:600 var(--fs-5)/1.3 var(--sans);overflow-wrap:anywhere}
19
- .rp3-ttl .dim{font:var(--fs-2) var(--mono)}
20
- .rp3-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
21
- .rp3-btn{display:inline-flex;gap:6px;align-items:center;min-height:32px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font:500 var(--fs-2) var(--mono);cursor:pointer}
22
- .rp3-btn[aria-pressed="true"],.rp3-btn.rp3-pri{background:var(--foreground);color:var(--background);border-color:var(--foreground)}
23
- .rp3-btn:disabled{opacity:.5;cursor:not-allowed}
24
23
  .rp3-btn:focus-visible,.rp3-select:focus-visible,.rp3-about:focus-visible,.rp3-librow:focus-visible{outline:2px solid color-mix(in oklab, var(--ring) 50%, var(--foreground));outline-offset:2px}
25
- .rp3-ib{padding:4px 6px}
24
+ @media (hover:hover){.rp3-about:hover{color:var(--foreground)}}
25
+ @media (pointer:coarse){.rp3-select{min-height:44px}.rp3-about{min-height:44px}.rp3-librow{min-height:48px}}
26
26
  .rp3-rot .ic{transform:rotate(90deg)}
27
- @media (hover:hover){
28
- .rp3-btn:not(:disabled):hover{border-color:var(--ring)}
29
- .rp3-about:hover{color:var(--foreground)}
30
- }
31
- @media (pointer:coarse){
32
- .rp3-btn,.rp3-select{min-height:44px}
33
- .rp3-about{min-height:44px}
34
- .rp3-librow{min-height:48px}
35
- }
36
- .rp3-note{margin:0;font-size:var(--fs-3)}
27
+ .rp3-note{margin:0}
37
28
  .rp3-status{margin:0;font-size:var(--fs-2)}
38
- .rp3-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:var(--sp-4);align-items:start;min-width:0}
39
- .rp3-w{display:grid;gap:6px;min-width:0;align-content:start}
40
- .rp3-w>.card{min-width:0}
29
+ /* the tiles: section cards in a grid (the mockup's .tiles). The real builders draw inside; their own head keeps only its question line. */
30
+ .rp3 .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:var(--sp-4);align-items:start;min-width:0}
31
+ .rp3 .tiles>.card{min-width:0}
32
+ .rp3 .tiles.editing>.card{border-style:dashed;border-color:var(--ring)}
33
+ .rp3-w{display:grid;gap:var(--sp-3);min-width:0;align-content:start}
34
+ .rp3-w>.sh2{grid-column:auto}
41
35
  .rp3-w svg{max-width:100%}
42
- .rp3.editing .rp3-w{outline:1px dashed var(--ring);outline-offset:6px;border-radius:8px}
43
- .rp3-wh{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;min-width:0}
44
- .rp3-wt{font:600 var(--fs-3) var(--sans);overflow-wrap:anywhere}
36
+ .rp3-w>.card{min-width:0;border:0;box-shadow:none;background:transparent;padding:0;border-radius:0}
37
+ .rp3-w>.card>h3{margin:0}
38
+ .rp3-w>.card>h3 .dim{font-size:var(--fs-2);text-transform:none;letter-spacing:0;font-family:var(--sans)}
39
+ .rp3-w>.card>h3 .dim::first-letter{text-transform:uppercase}
45
40
  .rp3-about{display:flex;gap:6px;align-items:center;color:var(--muted-foreground);font:var(--fs-2) var(--mono);cursor:pointer;padding:4px 2px;border-radius:6px}
46
41
  .rp3-case{display:grid;gap:6px;padding:8px 2px 4px;font-size:var(--fs-3)}
47
42
  .rp3-case p{margin:0}
48
- .rp3-add .sh h3{margin:0;font:600 var(--fs-3) var(--sans)}
49
- .rp3-addrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--border)}
50
43
  .rp3-librow .tt{font-size:var(--fs-4)}
51
44
  .rp3-libcard{padding-top:10px;min-width:0}
52
- .rp3-share{display:grid;gap:var(--sp-4);min-width:0}
53
- .rp3-frame{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:14px;display:grid;gap:12px;min-width:0}
54
- .rp3-frame h4{margin:0 0 4px;padding-bottom:4px;border-bottom:1px solid var(--border);font:500 var(--fs-1) var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground)}
55
- .rp3-frame h5{margin:8px 0 2px;font:600 var(--fs-3) var(--sans)}
56
- .rp3-frame p{margin:0;overflow-wrap:anywhere}
57
- .rp3-hl{font:600 var(--fs-4)/1.35 var(--sans)}
58
- .rp3-nums{margin:4px 0 0;padding-left:18px;color:var(--muted-foreground);font-size:var(--fs-2)}
59
- .rp3-why{margin:0;border-left:3px solid var(--warning);background:var(--muted);padding:8px 10px;font-size:var(--fs-2)}
60
- .rp3-wrap{flex-wrap:wrap}
61
- .ph .rp3-grid,.rp3.ph .rp3-grid{grid-template-columns:minmax(0,1fr)}
62
- .ph .rp3-addrow,.rp3.ph .rp3-addrow{grid-template-columns:minmax(0,1fr)}
45
+ .rp3-share,.rp3-frame{display:grid;gap:var(--sp-4);min-width:0}
46
+ .rp3-hl{overflow-wrap:anywhere}
47
+ .rp3-nums{margin:4px 0 0;padding-left:18px;color:var(--muted-foreground);font-size:var(--fs-2);font-weight:400}
48
+ .rp3-why{margin:0}
49
+ /* a row with buttons keeps them on its right (console3 sets two columns for every .brief row); under 560px they drop under the text */
50
+ .rp3 .brief .nrow:has(>.acts){grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
51
+ .rp3 .brief .nrow>.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
52
+ @media (max-width:560px){.rp3 .brief .nrow:has(>.acts){grid-template-columns:auto minmax(0,1fr)}.rp3 .brief .nrow>.acts{grid-column:2;justify-content:flex-start}}
53
+ .rp3-draft-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:var(--fs-2)/1.5 var(--mono)}
54
+ .rp3 .seg button:disabled,.rp3-share .seg button:disabled{opacity:.6;cursor:not-allowed}
55
+ .rp3-min0{min-width:0}
56
+ .rp3-sub{font-size:var(--fs-2)}
57
+ .rp3-flat{margin:0}
58
+ .rp3-stack{display:grid;gap:var(--sp-3)}
59
+ .rp3-stack4{display:grid;gap:var(--sp-4)}
60
+ .ph .tiles,.rp3.ph .tiles{grid-template-columns:minmax(0,1fr)}
61
+ .rp3 button.ib.ib{width:28px;padding:0;justify-content:center;color:var(--foreground)}
62
+ .rp3 button.ib.ib:disabled{opacity:.35}