create-pmos 0.134.0 → 0.136.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 (211) hide show
  1. package/package.json +1 -1
  2. package/payload/KIT-VERSION +2 -2
  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/payload/state/log.md +1 -1
  7. package/workspace/bin/notes-replay.js +235 -0
  8. package/workspace/c3-briefing-test.js +130 -0
  9. package/workspace/c3-foundation-test.js +159 -0
  10. package/workspace/c3-ib-items-test.js +105 -0
  11. package/workspace/c3-ib-more-test.js +120 -0
  12. package/workspace/c3-ib-triage-backlog-test.js +119 -0
  13. package/workspace/c3-ini-harness.js +66 -0
  14. package/workspace/c3-initiatives-test.js +140 -0
  15. package/workspace/c3-one-home-test.js +14 -1
  16. package/workspace/c3-reports-test.js +57 -18
  17. package/workspace/c3-settings-test.js +139 -0
  18. package/workspace/c3-work-test.js +42 -10
  19. package/workspace/fixtures/one-home-baseline.json +1 -9
  20. package/workspace/guide/briefing-cards.md +15 -3
  21. package/workspace/guide/briefing.md +12 -8
  22. package/workspace/guide/calendar-popup.md +2 -2
  23. package/workspace/guide/console-calendar.md +39 -10
  24. package/workspace/guide/index.md +1 -0
  25. package/workspace/guide/initiative-boards.md +65 -0
  26. package/workspace/guide/jira.md +3 -1
  27. package/workspace/guide/layout.md +2 -0
  28. package/workspace/guide/my-work.md +5 -3
  29. package/workspace/guide/notes.md +16 -1
  30. package/workspace/guide/reports-dashboards.md +29 -5
  31. package/workspace/guide/settings.md +68 -0
  32. package/workspace/guide/welcome.md +10 -10
  33. package/workspace/lib/calendar-cli.js +3 -2
  34. package/workspace/lib/calendar-layers.js +21 -10
  35. package/workspace/lib/calendar-tidy.js +230 -0
  36. package/workspace/lib/engine/boards.js +542 -0
  37. package/workspace/lib/engine/breakdown-ops.js +180 -0
  38. package/workspace/lib/engine/calendar-import.js +84 -0
  39. package/workspace/lib/engine/calendar-model.js +185 -0
  40. package/workspace/lib/engine/card-state.js +92 -0
  41. package/workspace/lib/engine/derived/derive.js +92 -0
  42. package/workspace/lib/engine/derived/plan.js +3 -0
  43. package/workspace/lib/engine/derived/trust.js +3 -0
  44. package/workspace/lib/engine/doc-health.js +142 -0
  45. package/workspace/lib/engine/doc-sheet.js +75 -0
  46. package/workspace/lib/engine/intake.js +78 -0
  47. package/workspace/lib/engine/outbox.js +86 -0
  48. package/workspace/lib/engine/plan-forecast.js +342 -0
  49. package/workspace/lib/engine/promises.js +29 -0
  50. package/workspace/lib/engine/records/index.js +114 -0
  51. package/workspace/lib/engine/releases.js +96 -0
  52. package/workspace/lib/engine/replies.js +99 -0
  53. package/workspace/lib/engine/reply-contract/reply-contract.js +372 -0
  54. package/workspace/lib/engine/report-families.js +175 -0
  55. package/workspace/lib/engine/roadmap-ops.js +150 -0
  56. package/workspace/lib/engine/sessions-list.js +27 -0
  57. package/workspace/lib/engine/signal-rules.js +95 -0
  58. package/workspace/lib/engine/signals/cards.js +57 -0
  59. package/workspace/lib/engine/signals/detectors.js +370 -0
  60. package/workspace/lib/engine/signals/facts-cli.js +8 -0
  61. package/workspace/lib/engine/signals/facts.js +197 -0
  62. package/workspace/lib/engine/signals/index.js +33 -0
  63. package/workspace/lib/engine/signals/kinds.js +110 -0
  64. package/workspace/lib/engine/signals/layout-paths.js +44 -0
  65. package/workspace/lib/engine/signals/options.js +24 -0
  66. package/workspace/lib/engine/signals/score.js +72 -0
  67. package/workspace/lib/engine/signals/select.js +47 -0
  68. package/workspace/lib/engine/step-planner.js +65 -0
  69. package/workspace/lib/engine/trust/claim-rules.json +93 -0
  70. package/workspace/lib/engine/trust/import-calendar.js +21 -0
  71. package/workspace/lib/engine/trust/import-guard.js +36 -0
  72. package/workspace/lib/engine/trust/ledger.js +53 -0
  73. package/workspace/lib/engine/trust/outbox.js +45 -0
  74. package/workspace/lib/engine/trust/plan.js +5 -0
  75. package/workspace/lib/engine/trust/trust.js +21 -0
  76. package/workspace/lib/engine/truth-table.js +57 -0
  77. package/workspace/lib/engine/workspace-lib.js +24 -0
  78. package/workspace/lib/factory-join.js +1 -1
  79. package/workspace/lib/facts-async.js +4 -4
  80. package/workspace/lib/headless.js +95 -0
  81. package/workspace/lib/import-overlay.js +2 -1
  82. package/workspace/lib/jira-status.js +30 -3
  83. package/workspace/lib/notes-capture.js +9 -1
  84. package/workspace/lib/notes-final.js +38 -13
  85. package/workspace/lib/notes-replay.js +125 -0
  86. package/workspace/lib/notes-screen.js +180 -0
  87. package/workspace/lib/notes-whisper.js +10 -3
  88. package/workspace/lib/outbox-store.js +10 -6
  89. package/workspace/lib/pmos-verbs.js +3 -1
  90. package/workspace/lib/proactive-cli.js +7 -0
  91. package/workspace/lib/proactive.js +15 -2
  92. package/workspace/lib/records-dir.js +29 -0
  93. package/workspace/lib/repo-script.js +36 -0
  94. package/workspace/lib/report-dashboards.js +5 -2
  95. package/workspace/lib/report-frame.js +122 -0
  96. package/workspace/lib/report-schedules.js +113 -0
  97. package/workspace/lib/route-modules.js +9 -2
  98. package/workspace/lib/routes-boards.js +734 -0
  99. package/workspace/lib/routes-brief-page.js +13 -4
  100. package/workspace/lib/routes-briefing.js +22 -11
  101. package/workspace/lib/routes-c3-init.js +9 -8
  102. package/workspace/lib/routes-c3-life.js +2 -1
  103. package/workspace/lib/routes-c3-reports.js +99 -15
  104. package/workspace/lib/routes-c3-strategy.js +7 -5
  105. package/workspace/lib/routes-c3-timeline.js +3 -2
  106. package/workspace/lib/routes-calendar-import.js +3 -2
  107. package/workspace/lib/routes-calendar-views.js +9 -4
  108. package/workspace/lib/routes-doc-health.js +2 -1
  109. package/workspace/lib/routes-doc-sheet.js +2 -1
  110. package/workspace/lib/routes-forecast.js +2 -1
  111. package/workspace/lib/routes-hooks.js +3 -2
  112. package/workspace/lib/routes-initiatives.js +2 -1
  113. package/workspace/lib/routes-intake.js +2 -1
  114. package/workspace/lib/routes-notes.js +55 -9
  115. package/workspace/lib/routes-outbox.js +23 -3
  116. package/workspace/lib/routes-pm-items.js +19 -6
  117. package/workspace/lib/routes-records.js +10 -7
  118. package/workspace/lib/routes-releases.js +2 -1
  119. package/workspace/lib/routes-report-facts.js +4 -3
  120. package/workspace/lib/routes-report-families.js +2 -1
  121. package/workspace/lib/routes-roadmap-ops.js +17 -14
  122. package/workspace/lib/routes-runs.js +6 -5
  123. package/workspace/lib/routes-settings.js +51 -0
  124. package/workspace/lib/routes-signals.js +3 -2
  125. package/workspace/lib/routes-stage-tools.js +220 -0
  126. package/workspace/lib/run-answers.js +2 -1
  127. package/workspace/lib/settings-store.js +226 -0
  128. package/workspace/lib/stage-tools.js +208 -0
  129. package/workspace/lib/vendor/scripts/signals/layout-paths.js +2 -1
  130. package/workspace/lib/vendor/scripts/workspace-lib.js +24 -0
  131. package/workspace/lib/work-evidence.js +73 -0
  132. package/workspace/package-lock.json +2 -2
  133. package/workspace/package.json +1 -1
  134. package/workspace/public/pm/briefing-deck.js +63 -17
  135. package/workspace/public/pm/briefing-model.js +36 -7
  136. package/workspace/public/pm/c3-ambient.js +100 -0
  137. package/workspace/public/pm/c3-brief-needs.js +26 -6
  138. package/workspace/public/pm/c3-brief-pulse.js +12 -4
  139. package/workspace/public/pm/c3-brief-today.js +56 -21
  140. package/workspace/public/pm/c3-brief.js +2 -1
  141. package/workspace/public/pm/c3-calendar.js +161 -42
  142. package/workspace/public/pm/c3-calpop.js +5 -5
  143. package/workspace/public/pm/c3-demo-boards.js +649 -0
  144. package/workspace/public/pm/c3-demo-brief-page.js +1 -1
  145. package/workspace/public/pm/c3-demo-cal4.js +3 -2
  146. package/workspace/public/pm/c3-demo-cal5.js +52 -0
  147. package/workspace/public/pm/c3-demo-data.js +17 -27
  148. package/workspace/public/pm/c3-demo-rep3.js +46 -5
  149. package/workspace/public/pm/c3-demo.js +2 -1
  150. package/workspace/public/pm/c3-dock.js +1 -1
  151. package/workspace/public/pm/c3-ib-docs.js +80 -0
  152. package/workspace/public/pm/c3-ib-initiatives.js +134 -0
  153. package/workspace/public/pm/c3-ib-items.js +201 -0
  154. package/workspace/public/pm/c3-ib-releases.js +51 -0
  155. package/workspace/public/pm/c3-ib-sprints.js +55 -0
  156. package/workspace/public/pm/c3-ib-triage.js +178 -0
  157. package/workspace/public/pm/c3-ii-tabs.js +240 -0
  158. package/workspace/public/pm/c3-ini-records.js +197 -0
  159. package/workspace/public/pm/c3-ini-timeline.js +278 -0
  160. package/workspace/public/pm/c3-ini-ui.js +229 -0
  161. package/workspace/public/pm/c3-ini-work.js +139 -0
  162. package/workspace/public/pm/c3-initiatives.css +218 -0
  163. package/workspace/public/pm/c3-initiatives.js +741 -0
  164. package/workspace/public/pm/c3-plan.js +2 -2
  165. package/workspace/public/pm/c3-reports.css +47 -47
  166. package/workspace/public/pm/c3-reports.js +223 -185
  167. package/workspace/public/pm/c3-settings.css +74 -0
  168. package/workspace/public/pm/c3-settings.js +703 -0
  169. package/workspace/public/pm/c3-shell.js +102 -36
  170. package/workspace/public/pm/c3-terminal-icons.js +2 -2
  171. package/workspace/public/pm/c3-terminal.js +2 -2
  172. package/workspace/public/pm/calendar-views.js +1 -1
  173. package/workspace/public/pm/components.css +319 -213
  174. package/workspace/public/pm/console3.css +99 -23
  175. package/workspace/public/pm/dest-notes.js +26 -4
  176. package/workspace/public/pm/notes-screen-capture.js +165 -0
  177. package/workspace/public/pm/notes-screen-view.js +98 -0
  178. package/workspace/public/pm/panel-trees.js +5 -2
  179. package/workspace/public/pm/pm-work-view.js +233 -146
  180. package/workspace/public/pm/shell-bell.js +3 -2
  181. package/workspace/public/pm/shell-recording.js +29 -8
  182. package/workspace/public/pm/tokens.css +2 -2
  183. package/workspace/public/pm/view-notes.js +46 -9
  184. package/workspace/public/pm/welcome.js +197 -89
  185. package/workspace/public/welcome.html +6 -4
  186. package/workspace/server.js +105 -6
  187. package/workspace/skills/day-check.skill +1 -1
  188. package/workspace/skills/jira-sync.skill +6 -4
  189. package/workspace/skills/morning-brief.skill +1 -1
  190. package/workspace/test-files.json +12 -3
  191. package/workspace/test-lists/c3-ib-items.json +9 -0
  192. package/workspace/test-lists/c3-ib-more.json +9 -0
  193. package/workspace/test-lists/c3-ib-triage-backlog.json +9 -0
  194. package/workspace/test-lists/c3-initiative-boards.json +6 -0
  195. package/workspace/test-lists/calendar-tidy-up.json +6 -0
  196. package/workspace/test-lists/console3-briefing.json +9 -0
  197. package/workspace/test-lists/console3-foundation.json +9 -0
  198. package/workspace/test-lists/console3-reports.json +3 -3
  199. package/workspace/test-lists/meeting-notes.json +10 -4
  200. package/workspace/test-lists/workspace-headless-jobs.json +5 -0
  201. package/workspace/test-lists/workspace-package-script-closure.json +6 -0
  202. package/workspace/lib/vendor/workspace/lib/actor.js +0 -91
  203. package/workspace/lib/vendor/workspace/lib/board-cache.js +0 -156
  204. package/workspace/lib/vendor/workspace/lib/console-state.js +0 -295
  205. package/workspace/lib/vendor/workspace/lib/factory-join.js +0 -158
  206. package/workspace/lib/vendor/workspace/lib/git-info.js +0 -306
  207. package/workspace/lib/vendor/workspace/lib/plan-items.js +0 -922
  208. package/workspace/lib/vendor/workspace/lib/plan-tree.js +0 -419
  209. package/workspace/lib/vendor/workspace/lib/review-gate.js +0 -39
  210. package/workspace/lib/vendor/workspace/lib/sink.js +0 -321
  211. package/workspace/lib/vendor/workspace/lib/state-root.js +0 -587
@@ -72,7 +72,7 @@
72
72
  opacity: 0.5;
73
73
  cursor: default;
74
74
  }
75
- .pmc-btn--primary {
75
+ .pmc-btn.pmc-btn--primary { /* two classes: inside the console `.c3 button { color: inherit }` would otherwise win and the label would go dark on dark */
76
76
  background: var(--foreground);
77
77
  color: var(--background);
78
78
  border-color: var(--foreground);
@@ -7863,6 +7863,69 @@
7863
7863
  flex-wrap: wrap;
7864
7864
  }
7865
7865
 
7866
+ /* notes-screen-capture: the screenshots of the shared screen, beside the transcript */
7867
+ .nt-screen-feed {
7868
+ position: fixed;
7869
+ left: 0;
7870
+ top: 0;
7871
+ width: 16px;
7872
+ height: 9px;
7873
+ opacity: 0;
7874
+ pointer-events: none;
7875
+ }
7876
+ .nt-screen {
7877
+ display: flex;
7878
+ flex-direction: column;
7879
+ gap: 8px;
7880
+ min-width: 0;
7881
+ }
7882
+ .nt-screen__strip {
7883
+ display: flex;
7884
+ gap: 8px;
7885
+ overflow-x: auto;
7886
+ padding-bottom: 4px;
7887
+ }
7888
+ .nt-shot {
7889
+ flex-direction: column;
7890
+ align-items: flex-start;
7891
+ gap: 4px;
7892
+ height: auto;
7893
+ padding: 4px;
7894
+ }
7895
+ .nt-shot__img {
7896
+ display: block;
7897
+ width: 160px;
7898
+ height: auto;
7899
+ border: 1px solid var(--border);
7900
+ border-radius: 6px;
7901
+ }
7902
+ .nt-shot--now .nt-shot__img {
7903
+ border-color: var(--foreground);
7904
+ }
7905
+ .nt-shot--line {
7906
+ padding: 0;
7907
+ margin-left: 8px;
7908
+ }
7909
+ .nt-shot--line .nt-shot__img {
7910
+ width: 48px;
7911
+ }
7912
+ .nt-shot-big {
7913
+ display: block;
7914
+ width: 100%;
7915
+ height: auto;
7916
+ border: 1px solid var(--border);
7917
+ border-radius: 6px;
7918
+ }
7919
+ .nt-shot-text {
7920
+ margin: 0;
7921
+ max-height: 160px;
7922
+ overflow: auto;
7923
+ font-size: 12px;
7924
+ line-height: 18px;
7925
+ white-space: pre-wrap;
7926
+ color: var(--muted-foreground);
7927
+ }
7928
+
7866
7929
  /* -- layouts · .lg- the legacy and fixture shells (Run 3, slice 3D) -- */
7867
7930
  /* The legacy and fixture cockpit's two columns: the list head (a stack) and the rail's tile column. */
7868
7931
  .lg-stack {
@@ -7965,283 +8028,326 @@
7965
8028
  containers). The tab strip and the scratchpad are drawn with inline radii (workspace-cockpit-nav); the inline radii
7966
8029
  (8px tab strip, 6px controls) stay. A tab's colour dot is a dot and keeps its circle. */
7967
8030
 
7968
- /* -- layouts · .wl- Welcome: the first-run page (onboarding-scan-and-map slice 2) -- */
7969
- .wl-page {
7970
- background: var(--background);
7971
- }
8031
+ /* -- layouts · .wl- Welcome: the first-run page (onboarding-scan-and-map slice 2, drawn in console3 by welcome-console3) -- */
8032
+ /* The page draws with console3.css parts inside a .c3 .c3pg root (.card.sect, .sh2, .nrow, .chip2, .tag, .fold, .pbar, .xp)
8033
+ and the pmc-btn and pmc-check primitives. These rules add only what console3 has no class for: the frame, the progress
8034
+ labels, the field blocks and the footer bar (the approved console3 mockup's Welcome page). .wl-page.c3 outranks a .c3 rule. */
7972
8035
  .wl-body {
7973
8036
  margin: 0;
7974
8037
  background: var(--background);
7975
8038
  color: var(--foreground);
7976
- font-family: var(--sans);
7977
- font-size: 16px;
7978
- line-height: 1.5;
7979
8039
  }
7980
- .wl-wrap {
7981
- max-width: 720px;
7982
- margin: 0 auto;
7983
- padding: 24px 16px 64px;
7984
- box-sizing: border-box;
8040
+ .wl-noscript {
8041
+ padding: 16px;
8042
+ font-family: var(--mono);
7985
8043
  }
7986
- .wl-wrap * {
7987
- box-sizing: border-box;
8044
+ .wl-page.c3 .wl-welcome {
8045
+ width: 100%;
8046
+ padding: var(--sp-3) 0 var(--sp-6);
8047
+ display: grid;
8048
+ gap: var(--sp-5);
8049
+ align-content: start;
7988
8050
  }
7989
- .wl-steps {
8051
+ .wl-page.c3 .wl-top {
7990
8052
  display: flex;
8053
+ align-items: center;
8054
+ justify-content: space-between;
8055
+ gap: 10px;
7991
8056
  flex-wrap: wrap;
8057
+ }
8058
+ .wl-page.c3 .wl-top h1 {
8059
+ margin: 0;
8060
+ font-size: var(--fs-4);
8061
+ font-weight: 600;
8062
+ letter-spacing: 0.04em;
8063
+ }
8064
+ .wl-page.c3 .wl-sub {
8065
+ font: var(--fs-2) var(--mono);
8066
+ color: var(--muted-foreground);
8067
+ }
8068
+ .wl-page.c3 .wl-tools {
8069
+ display: flex;
7992
8070
  gap: 6px;
7993
- margin: 0 0 20px;
7994
- padding: 0;
8071
+ align-items: center;
8072
+ }
8073
+ .wl-page.c3 .wl-col {
8074
+ width: 100%;
8075
+ max-width: 720px;
8076
+ margin: 0 auto;
8077
+ display: grid;
8078
+ gap: var(--sp-4);
8079
+ }
8080
+ .wl-page.c3 .wl-prog {
8081
+ display: grid;
8082
+ gap: 8px;
8083
+ }
8084
+ .wl-page.c3 .wl-fill {
8085
+ width: var(--wl-prog, 0%);
8086
+ animation: none;
8087
+ }
8088
+ .wl-page.c3 .wl-steps {
7995
8089
  list-style: none;
7996
- font-family: var(--mono);
7997
- font-size: 12px;
8090
+ margin: 0;
8091
+ padding: 0;
8092
+ display: flex;
8093
+ flex-wrap: wrap;
8094
+ justify-content: space-between;
8095
+ gap: 2px 12px;
8096
+ }
8097
+ .wl-page.c3 .wl-stepbtn {
8098
+ background: none;
8099
+ border: 0;
8100
+ padding: 2px 0;
8101
+ display: inline-flex;
8102
+ gap: 4px;
8103
+ align-items: center;
8104
+ font: var(--fs-1) var(--mono);
7998
8105
  color: var(--muted-foreground);
8106
+ cursor: pointer;
7999
8107
  }
8000
- .wl-steps li {
8001
- padding: 2px 8px;
8002
- border: 1px solid var(--border);
8003
- border-radius: 6px;
8108
+ .wl-page.c3 .wl-stepbtn:disabled {
8109
+ cursor: default;
8004
8110
  }
8005
- .wl-steps li[aria-current="step"] {
8111
+ .wl-page.c3 .wl-stepbtn[aria-current="step"] {
8006
8112
  color: var(--foreground);
8007
- border-color: var(--foreground);
8113
+ font-weight: 700;
8008
8114
  }
8009
- .wl-h1 {
8010
- font-size: 20px;
8011
- line-height: 1.2;
8012
- margin: 0 0 8px;
8013
- font-weight: 600;
8115
+ .wl-page.c3 .wl-stepbtn:focus-visible {
8116
+ outline: 2px solid color-mix(in oklab, var(--ring) 50%, var(--foreground));
8117
+ outline-offset: 2px;
8014
8118
  }
8015
- .wl-h2 {
8016
- font-size: 16px;
8119
+ .wl-page.c3 .wl-head h1 {
8017
8120
  margin: 0;
8121
+ font-size: var(--fs-5);
8122
+ line-height: 1.2;
8018
8123
  font-weight: 600;
8019
8124
  }
8020
- .wl-p {
8021
- margin: 0 0 12px;
8022
- }
8023
- .wl-muted {
8125
+ .wl-page.c3 .wl-lead {
8126
+ margin: 4px 0 0;
8024
8127
  color: var(--muted-foreground);
8128
+ font-size: var(--fs-3);
8025
8129
  }
8026
- .wl-card {
8027
- background: var(--card);
8028
- border: 1px solid var(--border);
8029
- border-radius: 8px;
8030
- padding: 14px 16px;
8031
- margin: 0 0 14px;
8130
+ .wl-page.c3 .wl-card {
8131
+ gap: var(--sp-3);
8032
8132
  }
8033
- .wl-path {
8034
- font-family: var(--mono);
8035
- font-size: 12px;
8133
+ .wl-page.c3 .wl-card .sh2 {
8134
+ display: flex;
8135
+ justify-content: space-between;
8136
+ align-items: center;
8137
+ gap: 8px;
8138
+ flex-wrap: wrap;
8139
+ margin-top: var(--sp-2);
8140
+ padding: var(--sp-3) 0 var(--sp-2);
8141
+ border-bottom: 1px solid var(--border);
8142
+ }
8143
+ .wl-page.c3 .wl-card .sh2 h2 {
8144
+ margin: 0;
8145
+ font: 500 var(--fs-2) var(--mono);
8036
8146
  color: var(--muted-foreground);
8037
- word-break: break-all;
8147
+ text-transform: uppercase;
8148
+ letter-spacing: 0.06em;
8149
+ display: flex;
8150
+ gap: 8px;
8151
+ align-items: center;
8038
8152
  }
8039
- .wl-promise {
8040
- font-family: var(--mono);
8041
- font-size: 12px;
8042
- margin: 16px 0;
8043
- padding: 10px 12px;
8044
- border-left: 3px solid var(--foreground);
8045
- background: var(--muted);
8153
+ .wl-page.c3 .wl-board,
8154
+ .wl-page.c3 .wl-q {
8155
+ display: grid;
8156
+ gap: var(--sp-2);
8046
8157
  }
8047
- .wl-actions {
8158
+ .wl-page.c3 .wl-foot {
8048
8159
  display: flex;
8049
- flex-wrap: wrap;
8160
+ justify-content: space-between;
8050
8161
  align-items: center;
8051
- gap: 12px;
8052
- margin-top: 18px;
8162
+ gap: 8px;
8163
+ border-top: 1px solid var(--border);
8164
+ padding-top: var(--sp-3);
8165
+ margin-top: var(--sp-2);
8166
+ flex-wrap: nowrap;
8053
8167
  }
8054
- .wl-btn {
8055
- font: inherit;
8056
- cursor: pointer;
8057
- border-radius: 8px;
8058
- padding: 10px 16px;
8059
- min-height: 44px;
8060
- border: 1px solid var(--border);
8061
- background: var(--secondary);
8062
- color: var(--foreground);
8168
+ .wl-page.c3 .wl-foot > div {
8169
+ display: flex;
8170
+ min-width: 0;
8171
+ }
8172
+ .wl-page.c3 .wl-foot > div:last-child {
8173
+ justify-content: flex-end;
8174
+ flex: 0 1 auto;
8175
+ }
8176
+ .wl-page.c3 .wl-primary {
8177
+ color: var(--background);
8063
8178
  text-decoration: none;
8064
- display: inline-flex;
8065
- align-items: center;
8066
- justify-content: center;
8067
8179
  }
8068
- .wl-btn.wl-primary {
8069
- background: var(--primary);
8070
- color: var(--primary-foreground);
8071
- border-color: var(--primary);
8072
- font-weight: 600;
8180
+ .wl-page.c3 .wl-e {
8181
+ border-color: var(--destructive);
8182
+ color: var(--destructive);
8073
8183
  }
8074
- .wl-btn:disabled {
8075
- opacity: 0.55;
8076
- cursor: default;
8184
+ .wl-page.c3 .wl-small {
8185
+ font-size: var(--fs-2);
8186
+ margin: 0;
8077
8187
  }
8078
- .wl-btn.wl-quiet {
8079
- background: none;
8080
- border: none;
8081
- color: var(--muted-foreground);
8082
- text-decoration: underline;
8083
- padding: 8px 4px;
8084
- min-height: 36px;
8188
+ .wl-page.c3 .wl-bad {
8189
+ color: var(--destructive);
8085
8190
  }
8086
- .wl-btn.wl-small {
8087
- min-height: 32px;
8088
- padding: 4px 10px;
8089
- font-size: 14px;
8191
+ .wl-page.c3 .wl-fld {
8192
+ display: grid;
8193
+ gap: 4px;
8194
+ }
8195
+ .wl-page.c3 .wl-flabel,
8196
+ .wl-page.c3 .wl-qt {
8197
+ font-size: var(--fs-2);
8198
+ font-weight: 500;
8199
+ }
8200
+ .wl-page.c3 .wl-fld input,
8201
+ .wl-page.c3 .wl-fld select,
8202
+ .wl-page.c3 .wl-fld textarea,
8203
+ .wl-page.c3 .wl-q select,
8204
+ .wl-page.c3 .wl-q > input {
8205
+ width: 100%;
8206
+ box-sizing: border-box;
8207
+ }
8208
+ .wl-page.c3 .wl-fld textarea {
8209
+ resize: vertical;
8090
8210
  }
8091
- .wl-btn:focus-visible,
8092
- .wl-input:focus-visible,
8093
- .wl-check:focus-visible {
8211
+ .wl-page.c3 .wl-fld input:focus-visible,
8212
+ .wl-page.c3 .wl-fld select:focus-visible,
8213
+ .wl-page.c3 .wl-fld textarea:focus-visible,
8214
+ .wl-page.c3 .wl-q select:focus-visible,
8215
+ .wl-page.c3 .wl-q > input:focus-visible,
8216
+ .wl-page.c3 .wl-opt input:focus-visible {
8094
8217
  outline: 2px solid color-mix(in oklab, var(--ring) 50%, var(--foreground));
8095
8218
  outline-offset: 2px;
8096
8219
  }
8097
- .wl-spin {
8098
- display: inline-block;
8099
- width: 14px;
8100
- height: 14px;
8101
- border: 2px solid var(--border);
8102
- border-top-color: var(--foreground);
8103
- border-radius: 6px;
8104
- animation: wlspin 0.8s linear infinite;
8105
- margin-right: 8px;
8220
+ .wl-page.c3 .wl-opt {
8221
+ display: flex;
8222
+ gap: 8px;
8223
+ align-items: center;
8224
+ min-height: 32px;
8225
+ font-size: var(--fs-3);
8106
8226
  }
8107
- @keyframes wlspin {
8108
- to {
8109
- transform: rotate(360deg);
8110
- }
8227
+ .wl-page.c3 .wl-opt input {
8228
+ accent-color: var(--foreground);
8229
+ margin: 0;
8111
8230
  }
8112
- .wl-error {
8113
- border: 1px solid var(--destructive);
8114
- color: var(--destructive);
8115
- border-radius: 8px;
8116
- padding: 10px 12px;
8117
- margin: 0 0 14px;
8231
+ .wl-page.c3 .wl-opt input[type="text"] {
8232
+ width: auto;
8233
+ flex: 1 1 160px;
8118
8234
  }
8119
- .wl-findings {
8120
- margin: 0;
8121
- padding-left: 22px;
8235
+ .wl-page.c3 .wl-tool {
8236
+ display: grid;
8237
+ gap: 2px;
8238
+ padding: 6px 0;
8122
8239
  }
8123
- .wl-findings li {
8124
- margin: 0 0 12px;
8240
+ .wl-page.c3 .wl-tool label > span {
8241
+ font-weight: 600;
8125
8242
  }
8126
- .wl-ref {
8127
- font-family: var(--mono);
8128
- font-size: 12px;
8129
- color: var(--muted-foreground);
8130
- word-break: break-all;
8243
+ .wl-page.c3 .wl-cb label > span:empty {
8244
+ display: none;
8131
8245
  }
8132
- .wl-board > header {
8133
- display: flex;
8134
- flex-wrap: wrap;
8135
- justify-content: space-between;
8136
- gap: 8px;
8137
- align-items: baseline;
8138
- margin-bottom: 8px;
8246
+ .wl-page.c3 .wl-tool .dim {
8247
+ font-size: var(--fs-2);
8248
+ padding-left: 24px;
8139
8249
  }
8140
- .wl-row {
8141
- display: grid;
8142
- grid-template-columns: auto 1fr;
8143
- gap: 6px 10px;
8144
- padding: 10px 0;
8145
- border-top: 1px solid var(--border);
8146
- align-items: start;
8250
+ .wl-page.c3 .wl-err {
8251
+ color: var(--destructive);
8252
+ font-size: var(--fs-2);
8253
+ padding-left: 24px;
8147
8254
  }
8148
- .wl-check {
8149
- width: 20px;
8150
- height: 20px;
8151
- margin: 10px 0 0;
8255
+ .wl-page.c3 .wl-num {
8256
+ counter-reset: wln;
8152
8257
  }
8153
- .wl-input {
8154
- font: inherit;
8155
- color: var(--foreground);
8156
- background: var(--background);
8157
- border: 1px solid var(--input);
8158
- border-radius: 6px;
8159
- padding: 6px 8px;
8160
- min-height: 36px;
8161
- max-width: 100%;
8258
+ .wl-page.c3 .wl-num > li {
8259
+ counter-increment: wln;
8162
8260
  }
8163
- .wl-row .wl-input[type="text"] {
8164
- width: 100%;
8261
+ .wl-page.c3 .wl-num > li .ki::before {
8262
+ content: counter(wln);
8263
+ font: 500 var(--fs-2) var(--mono);
8165
8264
  }
8166
- .wl-meta {
8167
- display: flex;
8168
- flex-wrap: wrap;
8169
- gap: 6px 10px;
8170
- align-items: center;
8171
- font-family: var(--mono);
8172
- font-size: 12px;
8173
- color: var(--muted-foreground);
8265
+ .wl-page.c3 .wl-card .nrow {
8266
+ grid-template-columns: auto minmax(0, 1fr) auto;
8174
8267
  }
8175
- .wl-chip {
8176
- border: 1px solid var(--border);
8177
- border-radius: 6px;
8178
- padding: 1px 8px;
8268
+ .wl-page.c3 .wl-card .nrow .acts {
8269
+ grid-column: auto;
8179
8270
  }
8180
- .wl-docs {
8181
- margin: 4px 0 0;
8182
- padding-left: 18px;
8183
- font-family: var(--mono);
8184
- font-size: 12px;
8185
- color: var(--muted-foreground);
8186
- word-break: break-all;
8271
+ .wl-page.c3 .wl-card .nrow .nb {
8272
+ display: grid;
8273
+ gap: 2px;
8274
+ min-width: 0;
8187
8275
  }
8188
- .wl-q {
8189
- margin: 0 0 14px;
8276
+ .wl-page.c3 .wl-card .nrow .chips {
8277
+ margin-top: 2px;
8190
8278
  }
8191
- .wl-label {
8192
- display: block;
8193
- margin: 4px 0;
8279
+ .wl-page.c3 .wl-card .chip2 {
8280
+ min-width: 0;
8281
+ overflow-wrap: anywhere;
8194
8282
  }
8195
- .wl-q .wl-free {
8196
- margin-top: 10px;
8197
- color: var(--muted-foreground);
8283
+ .wl-page.c3 .wl-off .nb,
8284
+ .wl-page.c3 .wl-off .acts {
8285
+ opacity: 0.5;
8198
8286
  }
8199
- .wl-q .wl-free .wl-input {
8200
- display: block;
8201
- margin-top: 4px;
8287
+ .wl-page.c3 .wl-cb {
8288
+ min-height: 30px;
8202
8289
  }
8203
- .wl-added {
8204
- margin: 8px 0 0;
8205
- padding-left: 18px;
8206
- font-size: 14px;
8290
+ .wl-page.c3 .wl-edit {
8291
+ display: grid;
8292
+ grid-template-columns: 2fr 1fr;
8293
+ gap: var(--sp-3);
8294
+ padding: 8px 2px 4px;
8207
8295
  }
8208
- .wl-sources {
8209
- list-style: none;
8210
- margin: 0 0 12px;
8296
+ .wl-page.c3 .wl-docs {
8297
+ margin: 4px 0 0;
8211
8298
  padding: 0;
8299
+ list-style: none;
8212
8300
  display: grid;
8213
- gap: 12px;
8301
+ gap: 2px;
8214
8302
  }
8215
- .wl-source {
8216
- display: flex;
8217
- flex-wrap: wrap;
8218
- justify-content: space-between;
8219
- align-items: center;
8220
- gap: 12px;
8221
- padding-bottom: 12px;
8222
- border-bottom: 1px solid var(--border);
8303
+ .wl-page.c3 .wl-spindot {
8304
+ width: 12px;
8305
+ height: 12px;
8306
+ border: 2px solid currentColor;
8307
+ border-right-color: transparent;
8308
+ border-radius: 50%;
8309
+ display: inline-block;
8310
+ animation: wlspin 0.8s linear infinite;
8223
8311
  }
8224
- .wl-source-text {
8225
- flex: 1 1 260px;
8226
- min-width: 0;
8312
+ @keyframes wlspin {
8313
+ to {
8314
+ transform: rotate(360deg);
8315
+ }
8227
8316
  }
8228
- .wl-source-actions {
8229
- display: flex;
8230
- flex-wrap: wrap;
8231
- align-items: center;
8232
- gap: 8px;
8317
+ @media (prefers-reduced-motion: reduce) {
8318
+ .wl-page.c3 .wl-spindot {
8319
+ animation: none;
8320
+ }
8233
8321
  }
8234
- @media (max-width: 520px) {
8235
- .wl-actions {
8236
- flex-direction: column;
8237
- align-items: stretch;
8322
+ @media (pointer: coarse) {
8323
+ .wl-page.c3 .wl-fld input,
8324
+ .wl-page.c3 .wl-fld select,
8325
+ .wl-page.c3 .wl-fld textarea,
8326
+ .wl-page.c3 .wl-q select,
8327
+ .wl-page.c3 .wl-q > input,
8328
+ .wl-page.c3 .wl-opt input[type="text"] {
8329
+ min-height: 44px;
8330
+ font-size: 16px;
8238
8331
  }
8239
- .wl-actions .wl-btn {
8240
- width: 100%;
8332
+ .wl-page.c3 .wl-opt,
8333
+ .wl-page.c3 .wl-stepbtn,
8334
+ .wl-page.c3 .wl-cb {
8335
+ min-height: 44px;
8241
8336
  }
8242
- .wl-actions .wl-btn.wl-quiet {
8243
- width: auto;
8244
- align-self: center;
8337
+ .wl-page.c3 .wl-opt input {
8338
+ min-height: 44px;
8339
+ }
8340
+ .wl-page.c3 .wl-opt input[type="radio"] {
8341
+ width: 20px;
8342
+ height: 20px;
8343
+ }
8344
+ }
8345
+ @media (max-width: 480px) {
8346
+ .wl-page.c3 .wl-edit {
8347
+ grid-template-columns: 1fr;
8348
+ }
8349
+ .wl-page.c3 .wl-steps {
8350
+ justify-content: flex-start;
8245
8351
  }
8246
8352
  }
8247
8353