pith-ui 0.0.0-stage → 0.1.1

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 (134) hide show
  1. package/AI.md +75 -0
  2. package/API.md +3688 -0
  3. package/LICENSE +661 -0
  4. package/README.md +80 -2
  5. package/dist/composer.d.ts +38 -0
  6. package/dist/composer.d.ts.map +1 -0
  7. package/dist/composer.js +123 -0
  8. package/dist/composer.js.map +1 -0
  9. package/dist/content/conversation-reader.d.ts +19 -0
  10. package/dist/content/conversation-reader.d.ts.map +1 -0
  11. package/dist/content/conversation-reader.js +280 -0
  12. package/dist/content/conversation-reader.js.map +1 -0
  13. package/dist/content/conversation-view.d.ts +65 -0
  14. package/dist/content/conversation-view.d.ts.map +1 -0
  15. package/dist/content/conversation-view.js +140 -0
  16. package/dist/content/conversation-view.js.map +1 -0
  17. package/dist/content/image-viewer.d.ts +25 -0
  18. package/dist/content/image-viewer.d.ts.map +1 -0
  19. package/dist/content/image-viewer.js +114 -0
  20. package/dist/content/image-viewer.js.map +1 -0
  21. package/dist/content/markdown.d.ts +12 -0
  22. package/dist/content/markdown.d.ts.map +1 -0
  23. package/dist/content/markdown.js +68 -0
  24. package/dist/content/markdown.js.map +1 -0
  25. package/dist/content/paged-preview.d.ts +15 -0
  26. package/dist/content/paged-preview.d.ts.map +1 -0
  27. package/dist/content/paged-preview.js +108 -0
  28. package/dist/content/paged-preview.js.map +1 -0
  29. package/dist/content/views.d.ts +9 -0
  30. package/dist/content/views.d.ts.map +1 -0
  31. package/dist/content/views.js +53 -0
  32. package/dist/content/views.js.map +1 -0
  33. package/dist/content/welcome.d.ts +18 -0
  34. package/dist/content/welcome.d.ts.map +1 -0
  35. package/dist/content/welcome.js +54 -0
  36. package/dist/content/welcome.js.map +1 -0
  37. package/dist/core.d.ts +36 -0
  38. package/dist/core.d.ts.map +1 -0
  39. package/dist/core.js +44 -0
  40. package/dist/core.js.map +1 -0
  41. package/dist/dom.d.ts +14 -0
  42. package/dist/dom.d.ts.map +1 -0
  43. package/dist/dom.js +69 -0
  44. package/dist/dom.js.map +1 -0
  45. package/dist/files/panels.d.ts +100 -0
  46. package/dist/files/panels.d.ts.map +1 -0
  47. package/dist/files/panels.js +286 -0
  48. package/dist/files/panels.js.map +1 -0
  49. package/dist/files/systems.d.ts +91 -0
  50. package/dist/files/systems.d.ts.map +1 -0
  51. package/dist/files/systems.js +273 -0
  52. package/dist/files/systems.js.map +1 -0
  53. package/dist/forms/actions.d.ts +27 -0
  54. package/dist/forms/actions.d.ts.map +1 -0
  55. package/dist/forms/actions.js +39 -0
  56. package/dist/forms/actions.js.map +1 -0
  57. package/dist/forms/custom-connection.d.ts +62 -0
  58. package/dist/forms/custom-connection.d.ts.map +1 -0
  59. package/dist/forms/custom-connection.js +72 -0
  60. package/dist/forms/custom-connection.js.map +1 -0
  61. package/dist/forms/dialog-frame.d.ts +41 -0
  62. package/dist/forms/dialog-frame.d.ts.map +1 -0
  63. package/dist/forms/dialog-frame.js +95 -0
  64. package/dist/forms/dialog-frame.js.map +1 -0
  65. package/dist/forms/history.d.ts +16 -0
  66. package/dist/forms/history.d.ts.map +1 -0
  67. package/dist/forms/history.js +21 -0
  68. package/dist/forms/history.js.map +1 -0
  69. package/dist/forms/identity.d.ts +16 -0
  70. package/dist/forms/identity.d.ts.map +1 -0
  71. package/dist/forms/identity.js +53 -0
  72. package/dist/forms/identity.js.map +1 -0
  73. package/dist/forms/model-editor.d.ts +40 -0
  74. package/dist/forms/model-editor.d.ts.map +1 -0
  75. package/dist/forms/model-editor.js +89 -0
  76. package/dist/forms/model-editor.js.map +1 -0
  77. package/dist/forms/panels.d.ts +146 -0
  78. package/dist/forms/panels.d.ts.map +1 -0
  79. package/dist/forms/panels.js +339 -0
  80. package/dist/forms/panels.js.map +1 -0
  81. package/dist/forms/provider-login.d.ts +22 -0
  82. package/dist/forms/provider-login.d.ts.map +1 -0
  83. package/dist/forms/provider-login.js +116 -0
  84. package/dist/forms/provider-login.js.map +1 -0
  85. package/dist/forms/resource-editor.d.ts +27 -0
  86. package/dist/forms/resource-editor.d.ts.map +1 -0
  87. package/dist/forms/resource-editor.js +34 -0
  88. package/dist/forms/resource-editor.js.map +1 -0
  89. package/dist/foundations.d.ts +95 -0
  90. package/dist/foundations.d.ts.map +1 -0
  91. package/dist/foundations.js +315 -0
  92. package/dist/foundations.js.map +1 -0
  93. package/dist/index.d.ts +28 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +28 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/navigation/context-menu.d.ts +26 -0
  98. package/dist/navigation/context-menu.d.ts.map +1 -0
  99. package/dist/navigation/context-menu.js +81 -0
  100. package/dist/navigation/context-menu.js.map +1 -0
  101. package/dist/navigation/navigation.d.ts +92 -0
  102. package/dist/navigation/navigation.d.ts.map +1 -0
  103. package/dist/navigation/navigation.js +368 -0
  104. package/dist/navigation/navigation.js.map +1 -0
  105. package/dist/primitives.d.ts +310 -0
  106. package/dist/primitives.d.ts.map +1 -0
  107. package/dist/primitives.js +633 -0
  108. package/dist/primitives.js.map +1 -0
  109. package/dist/styles.css +853 -0
  110. package/dist/surface.d.ts +29 -0
  111. package/dist/surface.d.ts.map +1 -0
  112. package/dist/surface.js +154 -0
  113. package/dist/surface.js.map +1 -0
  114. package/dist/tasks/approval.d.ts +25 -0
  115. package/dist/tasks/approval.d.ts.map +1 -0
  116. package/dist/tasks/approval.js +64 -0
  117. package/dist/tasks/approval.js.map +1 -0
  118. package/dist/tasks/permission.d.ts +37 -0
  119. package/dist/tasks/permission.d.ts.map +1 -0
  120. package/dist/tasks/permission.js +73 -0
  121. package/dist/tasks/permission.js.map +1 -0
  122. package/dist/tasks/runtime.d.ts +31 -0
  123. package/dist/tasks/runtime.d.ts.map +1 -0
  124. package/dist/tasks/runtime.js +34 -0
  125. package/dist/tasks/runtime.js.map +1 -0
  126. package/dist/theme.d.ts +4 -0
  127. package/dist/theme.d.ts.map +1 -0
  128. package/dist/theme.js +6 -0
  129. package/dist/theme.js.map +1 -0
  130. package/dist/workspace.d.ts +92 -0
  131. package/dist/workspace.d.ts.map +1 -0
  132. package/dist/workspace.js +288 -0
  133. package/dist/workspace.js.map +1 -0
  134. package/package.json +27 -4
@@ -0,0 +1,853 @@
1
+ /* All selectors belong to Pith UI; no document-wide resets. */
2
+ .pui .pui-button, .pui .pui-control, .pui .pui-checkbox, .pui .pui-dialog, .pui .pui-notice, .pui .pui-form-section, .pui .pui-list-row, .pui .pui-disclosure, .pui .pui-popover, .pui .pui-collection, .pui .pui-status, .pui .pui-progress {
3
+ box-sizing: border-box;
4
+ font-family: var(--pui-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
5
+ font-size: var(--pui-font-size, 13px);
6
+ line-height: var(--pui-line-height, 20px);
7
+ color: var(--pui-text);
8
+ }
9
+ .pui .pui-button, .pui .pui-primary-button, .pui .pui-secondary-button, .pui .pui-quiet-icon {
10
+ display: inline-flex; align-items: center; justify-content: center;
11
+ }
12
+ .pui .pui-button, .pui .pui-primary-button, .pui .pui-secondary-button { gap: 7px; }
13
+ .pui .pui-button {
14
+ min-height: var(--pui-control-height, 40px); max-width: 100%; padding: 9px 14px;
15
+ border: 1px solid var(--pui-border); border-radius: var(--pui-radius, 8px);
16
+ background: var(--pui-surface); color: var(--pui-text);
17
+ font: inherit; font-size: var(--pui-font-size, 13px); line-height: 20px;
18
+ cursor: pointer; text-align: center; overflow-wrap: anywhere;
19
+ transition: background-color var(--pui-duration-fast, 120ms) ease, border-color var(--pui-duration-fast, 120ms) ease;
20
+ }
21
+ .pui .pui-button:hover:not(:disabled) { background: var(--pui-hover, #eef2f6); }
22
+ .pui .pui-button.pui-primary { background: var(--pui-accent); border-color: var(--pui-accent); color: var(--pui-accent-text, #10283e); }
23
+ .pui .pui-button.pui-danger { color: var(--pui-error-text); border-color: var(--pui-error-border); }
24
+ .pui .pui-button.pui-danger:hover:not(:disabled) { background: var(--pui-error-surface); }
25
+ .pui .pui-button:disabled { opacity: .5; cursor: default; }
26
+ .pui .pui-button.pui-compact { min-height: 30px; padding: 4px 9px; font-size: 12px; }
27
+ .pui .pui-button:focus-visible, .pui .pui-control:focus-visible, .pui .pui-checkbox input:focus-visible, .pui .pui-disclosure summary:focus-visible, .pui .pui-popover-panel:focus-visible {
28
+ outline: 2px solid var(--pui-focus, var(--pui-accent)); outline-offset: 3px;
29
+ }
30
+ .pui .pui-icon { display: inline-block; width: 18px; height: 18px; flex-shrink: 0; vertical-align: middle; }
31
+ .pui .pui-icon-button { width: 36px; min-width: 36px; min-height: 36px; padding: 8px; background: transparent; border-color: transparent; }
32
+ .pui .pui-text-action { min-height: 28px; padding: 3px 6px; background: transparent; border-color: transparent; }
33
+ /* Accepted product presentations share the action core, without changing the
34
+ measured compact-chat and ordinary-form dimensions during adoption. */
35
+ .pui .pui-primary-button, .pui .pui-secondary-button { font-size: 12px; font-weight: 500; padding: 10px 15px; border-radius: 7px; }
36
+ .pui .pui-primary-button { background: var(--pui-accent); color: var(--pui-accent-foreground); }
37
+ .pui .pui-primary-button:hover { background: var(--pui-accent-hover); }
38
+ .pui .pui-primary-button .pui-icon { width: 14px; height: 14px; }
39
+ .pui .pui-secondary-button { border: 1px solid var(--pui-border); background: var(--pui-surface-subtle); color: var(--pui-text); }
40
+ .pui .pui-secondary-button:hover { background: var(--pui-surface-hover); }
41
+ .pui .pui-quiet-icon { background: transparent; border-radius: 6px; padding: 4px; color: var(--pui-muted); }
42
+ .pui .pui-quiet-icon:hover { background: var(--pui-surface-hover); color: var(--pui-text); }
43
+ .pui .pui-text-button { background: none; color: var(--pui-accent); padding: 4px 6px; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
44
+ .pui .pui-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
45
+ .pui .pui-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
46
+ .pui .pui-field-label { font-size: 13px; font-weight: 500; color: var(--pui-text); }
47
+ .pui .pui-control {
48
+ display: block; width: 100%; min-width: 0; min-height: var(--pui-control-height, 40px);
49
+ padding: 9px 11px; border: 1px solid var(--pui-border); border-radius: var(--pui-radius, 8px);
50
+ background: var(--pui-input-surface, var(--pui-surface)); color: var(--pui-text);
51
+ font-size: var(--pui-font-size, 13px); line-height: 20px;
52
+ }
53
+ .pui .pui-control:disabled { opacity: .5; }
54
+ .pui .pui-control[readonly] { background: var(--pui-muted-surface, #f4f5f7); }
55
+ .pui .pui-control::placeholder { color: var(--pui-muted); opacity: 1; }
56
+ .pui .pui-control.pui-compact { min-height: 30px; padding: 4px 8px; }
57
+ .pui textarea.pui-control { min-height: 100px; resize: vertical; }
58
+ .pui select.pui-control[multiple], .pui select.pui-control[size]:not([size="1"]) { height: auto; min-height: 120px; }
59
+ .pui .pui-field-error, .pui .pui-invalid .pui-field-label { color: var(--pui-error-text); }
60
+ .pui .pui-invalid .pui-control { border-color: var(--pui-error-text); }
61
+ .pui .pui-field-description, .pui .pui-muted { color: var(--pui-muted); font-size: 12px; line-height: 20px; overflow-wrap: anywhere; }
62
+ .pui .pui-field-error { font-size: 12px; line-height: 20px; }
63
+ .pui .pui-checkbox { display: inline-flex; align-items: flex-start; gap: 9px; cursor: pointer; }
64
+ .pui .pui-checkbox input { flex-shrink: 0; margin: 3px 0 0; width: 15px; height: 15px; accent-color: var(--pui-accent); }
65
+ .pui .pui-checkbox small { display: block; color: var(--pui-muted); font-size: 12px; }
66
+ .pui .pui-notice { padding: 10px 12px; border: 1px solid var(--pui-border); border-radius: var(--pui-radius, 8px); background: var(--pui-muted-surface, #f4f5f7); overflow-wrap: anywhere; }
67
+ .pui .pui-notice-error, .pui .pui-form-error, .pui .pui-status-error { color: var(--pui-error-text); }
68
+ .pui .pui-notice-error { border-color: var(--pui-error-border); background: var(--pui-error-surface); }
69
+ .pui .pui-notice-warning { color: var(--pui-warning-text); background: var(--pui-warning-surface); }
70
+ .pui .pui-notice-success { color: var(--pui-success-text, #24683a); background: var(--pui-success-surface, #edf8ef); }
71
+ .pui .pui-status { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: 999px; background: var(--pui-muted-surface, #f0f2f5); font-size: 11px; white-space: nowrap; }
72
+ .pui .pui-status-success { color: var(--pui-success-text, #24683a); }
73
+ .pui .pui-status-warning { color: var(--pui-warning-text); }
74
+ .pui .pui-form-error { font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 14px; }
75
+ .pui .pui-form-error:empty { display: none; }
76
+ .pui .pui-progress { display: grid; gap: 7px; }
77
+ .pui .pui-progress progress { width: 100%; height: 8px; accent-color: var(--pui-accent); }
78
+ .pui .pui-form-section { display: grid; gap: 12px; min-width: 0; padding-block: 14px; }
79
+ .pui .pui-form-section > h3, .pui .pui-form-section > p { margin: 0; }
80
+ .pui .pui-form-section > h3 { font-size: 14px; font-weight: 600; line-height: 20px; }
81
+ .pui .pui-actions, .pui .pui-modal-footer, .pui .pui-file-actions, .pui .pui-feature-toolbar { display: flex; }
82
+ .pui .pui-actions, .pui .pui-feature-toolbar { align-items: center; flex-wrap: wrap; }
83
+ .pui .pui-actions, .pui .pui-modal-footer { justify-content: flex-end; gap: 9px; }
84
+ .pui .pui-actions[data-align="end"], .pui .pui-modal-footer[data-align="end"], .pui .pui-file-actions[data-align="end"], .pui .pui-feature-toolbar[data-align="end"] { justify-content: flex-end; }
85
+ .pui .pui-actions[data-align="start"], .pui .pui-modal-footer[data-align="start"], .pui .pui-file-actions[data-align="start"], .pui .pui-feature-toolbar[data-align="start"] { justify-content: flex-start; }
86
+ .pui .pui-actions[data-align="between"], .pui .pui-modal-footer[data-align="between"], .pui .pui-file-actions[data-align="between"], .pui .pui-feature-toolbar[data-align="between"] { justify-content: space-between; }
87
+ .pui .pui-modal-footer { margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--pui-border); }
88
+ .pui .pui-file-actions { gap: 6px; flex-wrap: wrap; }
89
+ .pui .pui-file-actions .pui-secondary-button { font-size: 11px; padding: 6px 9px; }
90
+ .pui .pui-feature-toolbar { gap: 7px; margin: 0 0 19px; }
91
+ .pui .pui-feature-toolbar .pui-secondary-button { padding: 8px 10px; }
92
+ .pui .pui-disclosure { border: 1px solid var(--pui-border); border-radius: var(--pui-radius, 8px); }
93
+ .pui .pui-disclosure summary { cursor: pointer; padding: 11px 13px; overflow-wrap: anywhere; }
94
+ .pui .pui-disclosure summary small { display: block; margin-inline-start: 16px; }
95
+ .pui .pui-disclosure summary[aria-disabled="true"] { opacity: .5; cursor: default; }
96
+ .pui .pui-disclosure-content { padding: 0 13px 13px; }
97
+ .pui .pui-list-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-width: 0; border: 1px solid var(--pui-border); border-radius: var(--pui-radius, 8px); }
98
+ .pui .pui-list-row-body { min-width: 0; flex: 1; overflow-wrap: anywhere; }
99
+ .pui .pui-list-row-title { font-weight: 500; }
100
+ .pui .pui-list-row.pui-selected { background: var(--pui-selected, #e7f0fc); border-color: var(--pui-accent); }
101
+ .pui .pui-collection { display: grid; gap: 10px; min-width: 0; }
102
+ .pui .pui-collection-content { display: grid; gap: 8px; }
103
+ .pui .pui-dialog {
104
+ width: min(600px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px);
105
+ padding: 22px; border: 1px solid var(--pui-border); border-radius: 14px;
106
+ background: var(--pui-surface); color: var(--pui-text);
107
+ box-shadow: 0 18px 60px rgb(0 0 0 / .2); overflow: auto; overscroll-behavior: contain;
108
+ }
109
+ .pui .pui-dialog::backdrop { background: rgb(0 0 0 / .42); }
110
+ .pui .pui-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
111
+ .pui .pui-dialog-heading h2 { margin: 0; font-size: 20px; font-weight: 600; line-height: 28px; }
112
+ .pui .pui-dialog-heading p { margin: 5px 0 0; }
113
+ .pui .pui-dialog-heading > div { min-width: 0; overflow-wrap: anywhere; }
114
+ .pui .pui-dialog > .pui-actions { margin-top: 18px; }
115
+ .pui .pui-dialog-body { min-width: 0; }
116
+ .pui .pui-text-edit { display: grid; gap: 12px; }
117
+ .pui .pui-text-edit > p { margin: 0; }
118
+ .pui .pui-popover { display: inline-block; position: relative; max-width: 100%; }
119
+ .pui .pui-popover-panel { position: absolute; z-index: 10; inset-block-start: calc(100% + 6px); inset-inline-start: 0; min-width: min(230px, 85vw); max-width: min(420px, 90vw); max-height: min(420px, 70dvh); overflow: auto; padding: 8px; border: 1px solid var(--pui-border); border-radius: 10px; background: var(--pui-surface); box-shadow: 0 8px 30px rgb(0 0 0 / .15); }
120
+ .pui .pui-menu { display: grid; gap: 3px; }
121
+ .pui .pui-menu > .pui-button { width: 100%; justify-content: flex-start; text-align: start; border-color: transparent; }
122
+ .pui .pui-menu > [aria-checked="true"]::after { content: '✓'; margin-inline-start: auto; }
123
+ .pui .pui-eyebrow { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--pui-muted); }
124
+ .pui .pui-icon-display { display: inline-flex; vertical-align: middle; color: var(--pui-text); }
125
+ .pui .pui-icon-small .pui-icon { width: 14px; height: 14px; }
126
+ .pui .pui-divider { display: flex; align-items: center; gap: 10px; color: var(--pui-muted); font: 12px/20px var(--pui-font-family, sans-serif); }
127
+ .pui .pui-divider::before, .pui .pui-divider::after { content: ''; height: 1px; flex: 1; background: var(--pui-border); }
128
+ .pui .pui-divider:empty::after { display: none; }
129
+ .pui .pui-key-value { margin: 0; font: 13px/20px var(--pui-font-family, sans-serif); color: var(--pui-text); }
130
+ .pui .pui-key-value > div { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(0, 2fr); gap: 12px; padding-block: 5px; }
131
+ .pui .pui-key-value dt { color: var(--pui-muted); }
132
+ .pui .pui-key-value dd { margin: 0; overflow-wrap: anywhere; }
133
+ .pui .pui-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
134
+ .pui .pui-toolbar.pui-compact { gap: 5px; }
135
+ .pui .pui-scroll-area { overflow: auto; min-width: 0; overscroll-behavior: contain; }
136
+ .pui .pui-scroll-area[data-size="small"] { max-height: 160px; }
137
+ .pui .pui-scroll-area[data-size="medium"] { max-height: 320px; }
138
+ .pui .pui-scroll-area[data-size="fill"] { max-height: 100%; }
139
+ .pui .pui-scroll-area:focus-visible { outline: 2px solid var(--pui-focus, var(--pui-accent)); outline-offset: 3px; }
140
+ .pui .pui-button[hidden], .pui .pui-field [hidden], .pui .pui-notice[hidden], .pui .pui-collection [hidden], .pui .pui-text-edit [hidden], .pui .pui-list-row [hidden], .pui .pui-dialog [hidden], .pui .pui-popover [hidden] { display: none; }
141
+ @media (prefers-reduced-motion: reduce) { .pui .pui-button { transition: none; } }
142
+ @media (max-width: 520px) { .pui .pui-dialog { padding: 16px; max-height: calc(100dvh - 24px); } .pui .pui-list-row { flex-wrap: wrap; } }
143
+
144
+
145
+ .pui .pui-feature-actions { display: contents; }
146
+ .pui .pui-field > .pui-field-label { margin: 0; }
147
+ .pui .pui-modal .pui-text-edit textarea { font-family: inherit; min-height: 120px; }
148
+ .pui .pui-confirm .pui-actions { margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--pui-border); }
149
+ .pui .pui-confirm .pui-danger { background: var(--pui-error-text); color: var(--pui-bg-main); border-color: transparent; }
150
+ .pui .pui-confirm .pui-danger:hover:not(:disabled) { background: var(--pui-error-text); filter: brightness(.9); }
151
+ .pui .pui-confirm .pui-neutral { background: var(--pui-surface-subtle); }
152
+ /* C light is the fallback. Explicit appearance always wins over the OS. */
153
+ .pui {
154
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
155
+ font-synthesis: none;
156
+ --pui-sidebar-width: 260px;
157
+ --pui-bg-main: #F7F8FB;
158
+ --pui-bg-sidebar: #ECEFF5;
159
+ --pui-surface: #FFFFFF;
160
+ --pui-surface-subtle: #F0F2F6;
161
+ --pui-surface-hover: #E4E8EE;
162
+ --pui-surface-selected: #E0E5EE;
163
+ --pui-surface-input: #F7F8FB;
164
+ --pui-surface-code: #F0F2F6;
165
+ --pui-user-message-bg: var(--pui-surface-subtle);
166
+ --pui-user-message-border: var(--pui-border);
167
+ --pui-text: #1F2530;
168
+ --pui-muted: #667085;
169
+ --pui-muted-tonal: #5D677A;
170
+ --pui-border: #D9DFE8;
171
+ --pui-border-strong: #B9C2D0;
172
+ --pui-scrollbar: #B9C2D0;
173
+ --pui-accent: #4A62C8;
174
+ --pui-accent-hover: #3F54B0;
175
+ --pui-accent-foreground: #FFFFFF;
176
+ --pui-focus-ring: #4A62C826;
177
+ --pui-warning-text: #8A570A;
178
+ --pui-warning-strong: #774905;
179
+ --pui-warning-surface: #FFF4DD;
180
+ --pui-warning-hover: #F8E7C3;
181
+ --pui-warning-border: #D8B470;
182
+ --pui-warning-code: #FFECCB;
183
+ --pui-warning-action: #96611D;
184
+ --pui-warning-action-hover: #7B4D12;
185
+ --pui-warning-foreground: #FFFFFF;
186
+ --pui-error-text: #B42318;
187
+ --pui-error-surface: #FEF0ED;
188
+ --pui-error-border: #E6ABA5;
189
+ --pui-diff-add: #166534;
190
+ --pui-diff-add-bg: #dcfce7;
191
+ --pui-diff-remove: #991b1b;
192
+ --pui-diff-remove-bg: #fee2e2;
193
+ --pui-overlay: #1F253066;
194
+ --pui-shadow: 0 12px 35px #1F25300D;
195
+ --pui-modal-shadow: 0 30px 100px #1F253026;
196
+ color: var(--pui-text);
197
+ background: var(--pui-bg-main);
198
+ color-scheme: light;
199
+ }
200
+
201
+ .pui[data-appearance="dark"] {
202
+ --pui-bg-main: #17191C;
203
+ --pui-bg-sidebar: #111316;
204
+ --pui-surface: #22252A;
205
+ --pui-surface-subtle: #1D2025;
206
+ --pui-surface-hover: #2B2F35;
207
+ --pui-surface-selected: #2D323A;
208
+ --pui-surface-input: #17191C;
209
+ --pui-surface-code: #14171B;
210
+ --pui-user-message-bg: #303030;
211
+ --pui-user-message-border: transparent;
212
+ --pui-text: #F0F1F3;
213
+ --pui-muted: #9EA5AF;
214
+ --pui-muted-tonal: #9EA5AF;
215
+ --pui-border: #343941;
216
+ --pui-border-strong: #505863;
217
+ --pui-scrollbar: #505863;
218
+ --pui-accent: #86B6F2;
219
+ --pui-accent-hover: #A2C8F7;
220
+ --pui-accent-foreground: #172435;
221
+ --pui-focus-ring: #86B6F22E;
222
+ --pui-warning-text: #E9C37B;
223
+ --pui-warning-strong: #F4D59A;
224
+ --pui-warning-surface: #32291D;
225
+ --pui-warning-hover: #443725;
226
+ --pui-warning-border: #725B37;
227
+ --pui-warning-code: #271F17;
228
+ --pui-warning-action: #E9C37B;
229
+ --pui-warning-action-hover: #F4D59A;
230
+ --pui-warning-foreground: #20180D;
231
+ --pui-error-text: #FFADA4;
232
+ --pui-error-surface: #352221;
233
+ --pui-error-border: #79504B;
234
+ --pui-diff-add: #bbf7d0;
235
+ --pui-diff-add-bg: #163526;
236
+ --pui-diff-remove: #fecaca;
237
+ --pui-diff-remove-bg: #442329;
238
+ --pui-overlay: #00000088;
239
+ --pui-shadow: 0 12px 35px #00000015;
240
+ --pui-modal-shadow: 0 30px 100px #00000080;
241
+ color-scheme: dark;
242
+ }
243
+
244
+ /* System also covers a missing or invalid preference before JS initializes. */
245
+ @media (prefers-color-scheme: dark) {
246
+ .pui:not([data-appearance="light"]):not([data-appearance="dark"]) {
247
+ --pui-bg-main: #17191C;
248
+ --pui-bg-sidebar: #111316;
249
+ --pui-surface: #22252A;
250
+ --pui-surface-subtle: #1D2025;
251
+ --pui-surface-hover: #2B2F35;
252
+ --pui-surface-selected: #2D323A;
253
+ --pui-surface-input: #17191C;
254
+ --pui-surface-code: #14171B;
255
+ --pui-user-message-bg: #303030;
256
+ --pui-user-message-border: transparent;
257
+ --pui-text: #F0F1F3;
258
+ --pui-muted: #9EA5AF;
259
+ --pui-muted-tonal: #9EA5AF;
260
+ --pui-border: #343941;
261
+ --pui-border-strong: #505863;
262
+ --pui-scrollbar: #505863;
263
+ --pui-accent: #86B6F2;
264
+ --pui-accent-hover: #A2C8F7;
265
+ --pui-accent-foreground: #172435;
266
+ --pui-focus-ring: #86B6F22E;
267
+ --pui-warning-text: #E9C37B;
268
+ --pui-warning-strong: #F4D59A;
269
+ --pui-warning-surface: #32291D;
270
+ --pui-warning-hover: #443725;
271
+ --pui-warning-border: #725B37;
272
+ --pui-warning-code: #271F17;
273
+ --pui-warning-action: #E9C37B;
274
+ --pui-warning-action-hover: #F4D59A;
275
+ --pui-warning-foreground: #20180D;
276
+ --pui-error-text: #FFADA4;
277
+ --pui-error-surface: #352221;
278
+ --pui-error-border: #79504B;
279
+ --pui-diff-add: #bbf7d0;
280
+ --pui-diff-add-bg: #163526;
281
+ --pui-diff-remove: #fecaca;
282
+ --pui-diff-remove-bg: #442329;
283
+ --pui-overlay: #00000088;
284
+ --pui-shadow: 0 12px 35px #00000015;
285
+ --pui-modal-shadow: 0 30px 100px #00000080;
286
+ color-scheme: dark;
287
+ }
288
+ }
289
+ .pui * { box-sizing: border-box; }
290
+ .pui body { margin: 0; }
291
+ .pui button, .pui input, .pui textarea, .pui select { font: inherit; }
292
+ .pui button { cursor: pointer; border: 0; color: inherit; }
293
+ .pui button:disabled { cursor: not-allowed; opacity: .45; }
294
+ .pui button, .pui a, .pui input, .pui textarea, .pui select, .pui summary { -webkit-tap-highlight-color: transparent; }
295
+ .pui button:focus-visible, .pui a:focus-visible, .pui summary:focus-visible, .pui select:focus-visible { outline: 2px solid var(--pui-accent); outline-offset: 3px; }
296
+ .pui button { transition: background .16s, color .16s, border-color .16s, opacity .16s; }
297
+ .pui [hidden] { display: none !important; }
298
+ .pui .pui-icon { width: 19px; height: 19px; flex-shrink: 0; }
299
+ .pui .pui-app { display: flex; height: 100dvh; min-height: 520px; overflow: hidden; }
300
+ .pui .pui-sidebar { width: var(--pui-sidebar-width); background: var(--pui-bg-sidebar); display: flex; flex-direction: column; flex-shrink: 0; padding: 29px 18px 20px; border-right: 1px solid var(--pui-border); }
301
+ .pui .pui-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--pui-text); font-size: 21px; letter-spacing: -.7px; font-weight: 600; padding: 0 7px; }
302
+ .pui .pui-brand-light { font-weight: 400; color: var(--pui-muted); }
303
+ .pui .pui-logo-mark { display: inline-grid; width: 24px; height: 24px; grid-template-columns: 1fr 1fr; gap: 3px; transform: rotate(-8deg); }
304
+ .pui .pui-logo-mark i { background: var(--pui-accent); border-radius: 2px; }
305
+ .pui .pui-logo-mark i:nth-child(2) { border-radius: 2px 9px 2px 2px; opacity: .7; }
306
+ .pui .pui-logo-mark i:nth-child(3) { border-radius: 2px 2px 2px 9px; opacity: .7; }
307
+ .pui .pui-sidebar-section-label { margin: 32px 9px 12px; display: flex; align-items: center; height: 20px; font-size: 11px; font-weight: 600; letter-spacing: 1.3px; color: var(--pui-muted-tonal); }
308
+ .pui .pui-sidebar-section-label .pui-quiet-icon { margin-left: auto; width: 23px; height: 23px; }
309
+ .pui .pui-sidebar-section-label .pui-icon { width: 14px; height: 14px; }
310
+ .pui .pui-workspace-list { display: flex; flex-direction: column; gap: 4px; }
311
+ .pui .pui-workspace-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 11px; background: transparent; color: var(--pui-muted-tonal); border-radius: 7px; text-align: left; font-size: 13px; }
312
+ .pui .pui-workspace-item:hover { background: var(--pui-surface-hover); }
313
+ .pui .pui-workspace-item.pui-selected { background: var(--pui-surface-selected); color: var(--pui-text); }
314
+ .pui .pui-workspace-item .pui-icon { width: 17px; height: 17px; color: var(--pui-muted-tonal); }
315
+ .pui .pui-workspace-item span:not(.pui-workspace-active-dot) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
316
+ .pui .pui-workspace-active-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--pui-accent); margin-left: auto; flex-shrink: 0; }
317
+ .pui .pui-empty-workspace { color: var(--pui-muted-tonal); }
318
+ .pui .pui-history-list { overflow-y: auto; min-height: 0; flex: 1; display: flex; flex-direction: column; gap: 10px; scrollbar-width: thin; }
319
+ .pui .pui-workspace-heading { display: flex; align-items: center; min-width: 0; border-radius: 7px; }
320
+ .pui .pui-workspace-heading:hover, .pui .pui-workspace-heading:focus-within { background: var(--pui-surface-hover); }
321
+ .pui .pui-workspace-heading.pui-selected { color: var(--pui-text); }
322
+ .pui .pui-workspace-toggle { min-width: 0; display: flex; align-items: center; gap: 7px; flex: 1; padding: 9px 5px; background: transparent; color: var(--pui-muted-tonal); text-align: left; font-size: 13px; }
323
+ .pui .pui-workspace-heading.pui-selected .pui-workspace-toggle { color: var(--pui-text); }
324
+ .pui .pui-workspace-toggle span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
325
+ .pui .pui-workspace-toggle .pui-icon { width: 16px; height: 16px; }
326
+ .pui .pui-workspace-toggle .pui-workspace-chevron { width: 10px; height: 10px; transition: transform .15s; }
327
+ .pui .pui-workspace-toggle[aria-expanded="true"] .pui-workspace-chevron { transform: rotate(90deg); }
328
+ .pui .pui-workspace-new, .pui .pui-workspace-more { flex-shrink: 0; width: 27px; height: 27px; margin-right: 3px; }
329
+ .pui .pui-workspace-new .pui-icon, .pui .pui-workspace-more .pui-icon { width: 15px; height: 15px; }
330
+ .pui .pui-workspace-children { margin: 2px 0 0 19px; display: flex; flex-direction: column; gap: 3px; }
331
+ .pui .pui-workspace-empty { padding: 6px 8px; margin: 0; font-size: 12px; color: var(--pui-muted); }
332
+ .pui .pui-history-row { display: flex; align-items: center; border-radius: 7px; min-width: 0; }
333
+ .pui .pui-history-row:hover, .pui .pui-history-row:focus-within { background: var(--pui-surface-hover); }
334
+ .pui .pui-history-row.pui-active { background: var(--pui-surface-selected); color: var(--pui-text); box-shadow: inset 2px 0 0 var(--pui-accent); }
335
+ .pui .pui-history-item { display: flex; min-width: 0; flex: 1; text-align: left; background: transparent; padding: 9px 8px; color: var(--pui-muted-tonal); border-radius: 7px; font-size: 13px; }
336
+ .pui .pui-history-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
337
+ .pui .pui-history-row.pui-active .pui-history-item, .pui .pui-history-item:hover { color: var(--pui-text); }
338
+ .pui .pui-history-more { width: 25px; height: 25px; flex-shrink: 0; margin-right: 3px; }
339
+ .pui .pui-history-more .pui-icon { width: 15px; height: 15px; }
340
+ @media (hover: hover) {
341
+ .pui .pui-history-more, .pui .pui-workspace-new, .pui .pui-workspace-more { opacity: 0; }
342
+ .pui .pui-history-row:hover .pui-history-more, .pui .pui-history-row:focus-within .pui-history-more, .pui .pui-history-more[aria-expanded="true"], .pui .pui-workspace-heading:hover .pui-workspace-new, .pui .pui-workspace-heading:focus-within .pui-workspace-new, .pui .pui-workspace-heading:hover .pui-workspace-more, .pui .pui-workspace-heading:focus-within .pui-workspace-more, .pui .pui-workspace-more[aria-expanded="true"] { opacity: 1; }
343
+ }
344
+ .pui .pui-history-empty { margin: 13px 11px; line-height: 1.5; font-size: 13px; color: var(--pui-muted-tonal); }
345
+ .pui .pui-sidebar-bottom { padding-top: 20px; margin-top: auto; }
346
+ .pui .pui-settings-button { display: flex; align-items: center; gap: 12px; background: transparent; color: var(--pui-muted-tonal); padding: 12px 11px; width: 100%; font-size: 13px; border-radius: 7px; }
347
+ .pui .pui-settings-button:hover { background: var(--pui-surface-hover); color: var(--pui-text); }
348
+ .pui .pui-settings-button .pui-icon { width: 17px; height: 17px; }
349
+ .pui .pui-local-status { border-top: 1px solid var(--pui-border); padding: 19px 11px 0; display: flex; align-items: center; gap: 8px; color: var(--pui-muted-tonal); font-size: 11px; letter-spacing: .1px; }
350
+ .pui .pui-status-dot { width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: var(--pui-muted); }
351
+ .pui .pui-status-dot.pui-reconnecting { background: var(--pui-warning-text); }
352
+ .pui .pui-main { flex: 1; min-width: 0; min-height: 0; overflow: hidden; display: flex; flex-direction: column; background: var(--pui-bg-main); }
353
+ .pui .pui-topbar { display: flex; align-items: center; justify-content: space-between; height: 79px; flex-shrink: 0; padding: 0 36px; border-bottom: 1px solid var(--pui-border); }
354
+ .pui .pui-breadcrumb { display: flex; align-items: center; gap: 11px; color: var(--pui-muted); font-size: 12px; min-width: 0; }
355
+ .pui .pui-breadcrumb > .pui-icon { width: 17px; height: 17px; color: var(--pui-muted); }
356
+ .pui .pui-breadcrumb span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
357
+ .pui .pui-breadcrumb-chevron { width: 12px !important; height: 12px !important; color: var(--pui-muted) !important; margin: 0 3px; }
358
+ .pui .pui-breadcrumb-current { color: var(--pui-muted); }
359
+ .pui .pui-model-indicator { width: 6px; height: 6px; border: 1px solid var(--pui-muted); border-radius: 2px; transform: rotate(45deg); }
360
+ .pui .pui-chat-scroll { overflow-y: auto; overflow-anchor: none; min-height: 0; flex: 1; padding: 0 30px; scrollbar-width: thin; scrollbar-color: var(--pui-scrollbar) transparent; }
361
+ .pui .pui-chat-scroll:focus { outline: none; }
362
+ .pui .pui-welcome { max-width: 650px; margin: 0 auto; padding: clamp(55px, 8.8vh, 106px) 0 36px; text-align: center; }
363
+ .pui .pui-welcome-mark { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--pui-border); background: var(--pui-surface); border-radius: 18px; margin-bottom: 24px; box-shadow: var(--pui-shadow); }
364
+ .pui .pui-welcome-mark .pui-logo-mark { width: 32px; height: 32px; gap: 4px; }
365
+ .pui .pui-eyebrow { font-size: 11px; letter-spacing: 1.7px; font-weight: 500; color: var(--pui-muted); margin: 0 0 13px; }
366
+ .pui .pui-welcome h1 { font-weight: 450; font-size: clamp(28px, 2.9vw, 40px); letter-spacing: -1.35px; line-height: 1.2; color: var(--pui-text); margin: 0 0 15px; }
367
+ .pui .pui-welcome-description { line-height: 1.5; font-size: 14px; color: var(--pui-muted); margin: 0; }
368
+ .pui .pui-setup-card { max-width: 445px; margin: 34px auto 0; border: 1px solid var(--pui-border); background: var(--pui-surface); border-radius: 12px; padding: 17px 18px 8px; text-align: left; }
369
+ .pui .pui-setup-card-heading { font-size: 12px; color: var(--pui-text); padding-bottom: 12px; border-bottom: 1px solid var(--pui-border); }
370
+ .pui .pui-setup-card-heading > span { float: right; font-size: 11px; color: var(--pui-muted); }
371
+ .pui .pui-setup-step { display: flex; align-items: center; gap: 13px; width: 100%; text-align: left; padding: 17px 0; background: transparent; }
372
+ .pui .pui-setup-step + .pui-setup-step { border-top: 1px solid var(--pui-border); }
373
+ .pui .pui-setup-step strong { display: block; font-size: 13px; font-weight: 450; color: var(--pui-text); margin-bottom: 5px; }
374
+ .pui .pui-setup-step small { display: block; color: var(--pui-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; max-width: 320px; white-space: nowrap; }
375
+ .pui .pui-setup-step > .pui-icon { width: 14px; height: 14px; color: var(--pui-muted); margin-left: auto; }
376
+ .pui .pui-setup-step:hover strong { color: var(--pui-text); }
377
+ .pui .pui-step-number { width: 28px; height: 28px; border: 1px solid var(--pui-border-strong); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--pui-muted-tonal); flex-shrink: 0; }
378
+ .pui .pui-step-number.pui-complete { background: var(--pui-surface-selected); border-color: var(--pui-border); }
379
+ .pui .pui-step-number .pui-icon { width: 15px; height: 15px; }
380
+ .pui .pui-welcome-footnote { margin-top: 25px; display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 11px; letter-spacing: .3px; color: var(--pui-muted); }
381
+ .pui .pui-welcome-footnote .pui-icon { width: 13px; height: 13px; }
382
+ .pui .pui-welcome-workspace { display: inline-flex; align-items: center; gap: 9px; margin-top: 30px; font-size: 12px; color: var(--pui-muted); }
383
+ .pui .pui-welcome-workspace .pui-icon { width: 16px; height: 16px; }
384
+ .pui .pui-welcome-workspace strong { font-weight: 500; color: var(--pui-text); }
385
+ .pui .pui-suggestions { display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; margin-top: 28px; }
386
+ .pui .pui-suggestions button { padding: 12px 13px; border: 1px solid var(--pui-border); border-radius: 8px; background: var(--pui-surface); font-size: 12px; display: flex; align-items: center; gap: 8px; color: var(--pui-muted); }
387
+ .pui .pui-suggestions button:hover { background: var(--pui-surface-hover); border-color: var(--pui-border); color: var(--pui-text); }
388
+ .pui .pui-suggestions .pui-icon { width: 14px; height: 14px; color: var(--pui-muted); }
389
+ .pui .pui-composer-region { width: min(810px, calc(100% - 80px)); margin: 0 auto; padding: 15px 0 17px; display: flex; flex-direction: column; min-height: 0; flex-shrink: 1; }
390
+ .pui .pui-composer-panels { min-height: 0; overflow-y: auto; flex: 0 1 auto; scrollbar-width: thin; scrollbar-color: var(--pui-scrollbar) transparent; }
391
+ .pui .pui-composer-region > .pui-composer, .pui .pui-composer-region > .pui-composer-note { flex-shrink: 0; }
392
+ .pui .pui-composer { background: var(--pui-surface); border: 1px solid var(--pui-border-strong); border-radius: 14px; padding: 17px 18px 11px; box-shadow: var(--pui-shadow); }
393
+ .pui .pui-composer:focus-within { border-color: var(--pui-accent); }
394
+ .pui .pui-composer textarea { width: 100%; display: block; resize: none; border: none; outline: none; min-height: 40px; max-height: 180px; padding: 1px 2px 10px; background: transparent; color: var(--pui-text); font-size: 14px; line-height: 1.5; overflow-y: auto; }
395
+ .pui .pui-composer textarea::placeholder { color: var(--pui-muted); }
396
+ .pui .pui-composer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
397
+ .pui .pui-composer-context { display: flex; align-items: center; gap: 8px; min-width: 0; }
398
+ .pui .pui-permission-control { display: inline-flex; align-items: center; gap: 6px; min-width: 0; border: 1px solid var(--pui-border); border-radius: 6px; background: var(--pui-surface-subtle); color: var(--pui-muted-tonal); padding: 6px 8px; }
399
+ .pui .pui-permission-control > .pui-icon { width: 12px; height: 12px; }
400
+ .pui .pui-permission-control > .pui-icon:last-child { width: 10px; height: 10px; opacity: .65; pointer-events: none; margin-left: -16px; }
401
+ .pui .pui-permission-control select { appearance: none; min-width: 0; max-width: 180px; padding: 0 16px 0 0; border: 0; background: transparent; outline: none; font-size: 12px; color: inherit; cursor: pointer; }
402
+ .pui .pui-permission-control select:disabled { opacity: .5; cursor: not-allowed; }
403
+ .pui .pui-permission-control:focus-within { outline: 2px solid var(--pui-accent); outline-offset: 3px; }
404
+ .pui .pui-permission-control.pui-full-access { background: var(--pui-warning-surface); border-color: var(--pui-warning-border); color: var(--pui-warning-text); }
405
+ .pui .pui-permission-control select option { background: var(--pui-surface); color: var(--pui-text); }
406
+ .pui .pui-composer-actions { display: flex; align-items: center; gap: 13px; }
407
+ .pui .pui-keyboard-hint { font-size: 11px; color: var(--pui-muted); }
408
+ .pui .pui-send-button { width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--pui-accent); color: var(--pui-accent-foreground); border-radius: 9px; }
409
+ .pui .pui-send-button:hover { background: var(--pui-accent-hover); }
410
+ .pui .pui-send-button:disabled { background: var(--pui-surface-subtle); color: var(--pui-muted-tonal); opacity: .7; }
411
+ .pui .pui-send-button .pui-icon { width: 17px; height: 17px; stroke-width: 2; }
412
+ .pui .pui-send-button.pui-is-stop .pui-icon { fill: currentColor; stroke: none; }
413
+ .pui .pui-composer-note { font-size: 11px; letter-spacing: .1px; text-align: center; color: var(--pui-muted); margin: 10px 0 0; }
414
+ .pui .pui-composer-note.pui-full-access-note { color: var(--pui-warning-text); }
415
+ .pui .pui-messages { max-width: 774px; margin: 0 auto; padding: 28px 0 16px; }
416
+ .pui .pui-message { display: flex; align-items: flex-start; margin-bottom: 22px; }
417
+ .pui .pui-message-content { min-width: 0; flex: 1; }
418
+ .pui .pui-user-message { justify-content: flex-end; }
419
+ .pui .pui-user-message .pui-message-content { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex: 0 1 auto; max-width: 82%; }
420
+ .pui .pui-user-message .pui-message-images { justify-content: flex-end; max-width: 100%; margin-top: 0; }
421
+ .pui .pui-message-footer { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
422
+ .pui .pui-message-time { color: var(--pui-muted); font-size: 12px; white-space: nowrap; }
423
+ .pui .pui-user-message .pui-message-footer { margin-top: 0; }
424
+ .pui .pui-message-actions { display: flex; align-items: center; gap: 6px; }
425
+ .pui .pui-message-action { width: 28px; height: 28px; }
426
+ .pui .pui-message-action .pui-icon { width: 16px; height: 16px; }
427
+ .pui .pui-message-action:disabled { opacity: .35; cursor: not-allowed; }
428
+ .pui .pui-message-action:focus-visible { outline: 2px solid var(--pui-accent); outline-offset: 2px; }
429
+ .pui .pui-user-text { max-width: 100%; white-space: pre-wrap; line-height: 1.5; color: var(--pui-text); font-size: 14px; overflow-wrap: anywhere; background: var(--pui-user-message-bg); border: 1px solid var(--pui-user-message-border); padding: 12px 16px; border-radius: 11px; }
430
+ .pui .pui-markdown { font-size: 14px; line-height: 1.5; color: var(--pui-text); overflow-wrap: anywhere; }
431
+ .pui .pui-markdown > :first-child { margin-top: 0; }
432
+ .pui .pui-markdown > :last-child { margin-bottom: 0; }
433
+ .pui .pui-markdown p { margin: 0 0 10px; }
434
+ .pui .pui-markdown h1, .pui .pui-markdown h2, .pui .pui-markdown h3, .pui .pui-markdown h4 { color: var(--pui-text); margin: 18px 0 8px; font-size: 17px; line-height: 1.4; font-weight: 600; }
435
+ .pui .pui-markdown h1 { font-size: 22px; }
436
+ .pui .pui-markdown h2 { font-size: 19px; }
437
+ .pui .pui-markdown ul, .pui .pui-markdown ol { padding-left: 23px; margin: 8px 0 10px; }
438
+ .pui .pui-markdown li { margin: 4px 0; }
439
+ .pui .pui-markdown li > p { margin-bottom: 6px; }
440
+ .pui .pui-markdown li > :last-child { margin-bottom: 0; }
441
+ .pui .pui-markdown code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; padding: 2px 5px; border: 1px solid var(--pui-border); border-radius: 4px; background: var(--pui-surface-code); color: var(--pui-text); }
442
+ .pui .pui-markdown pre { background: var(--pui-surface-code); border: 1px solid var(--pui-border); margin: 12px 0; padding: 12px 14px; border-radius: 9px; overflow-x: auto; font-size: 13px; line-height: 1.5; }
443
+ .pui .pui-markdown pre code { border: 0; border-radius: 0; padding: 0; background: transparent; color: var(--pui-text); font-size: inherit; }
444
+ .pui .pui-code-block { margin: 12px 0; border: 1px solid var(--pui-border); border-radius: 9px; overflow: hidden; background: var(--pui-surface-code); }
445
+ .pui .pui-code-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 12px; color: var(--pui-muted); font-size: 11px; border-bottom: 1px solid var(--pui-border); }
446
+ .pui .pui-code-toolbar .pui-code-copy { padding: 4px 9px; font-size: 11px; }
447
+ .pui .pui-markdown .pui-code-block pre { margin: 0; border: 0; border-radius: 0; }
448
+ .pui .pui-conversation-region { position: relative; display: flex; min-height: 0; flex: 1; }
449
+ .pui .pui-back-to-latest { position: absolute; bottom: 12px; right: 30px; display: flex; align-items: center; gap: 7px; font-size: 12px; box-shadow: var(--pui-modal-shadow); }
450
+ .pui .pui-back-to-latest .pui-icon { width: 14px; height: 14px; }
451
+ .pui .pui-conversation-find { display: flex; align-items: center; gap: 7px; padding: 7px 30px; border-bottom: 1px solid var(--pui-border); background: var(--pui-surface); }
452
+ .pui .pui-conversation-find input { flex: 1; min-width: 0; max-width: 420px; border: 1px solid var(--pui-border); border-radius: 6px; padding: 6px 9px; background: var(--pui-surface-input); color: var(--pui-text); font-size: 13px; }
453
+ .pui .pui-conversation-find [data-find-count] { min-width: 65px; color: var(--pui-muted); font-size: 12px; text-align: center; }
454
+ .pui .pui-conversation-find .pui-quiet-icon { padding: 5px; }
455
+ .pui .pui-find-previous .pui-icon { transform: rotate(180deg); }
456
+ .pui mark[data-find-match] { background: var(--pui-warning-code); color: var(--pui-text); border-radius: 2px; }
457
+ .pui mark.pui-find-current { background: var(--pui-accent); color: var(--pui-accent-foreground); }
458
+ .pui .pui-modal.pui-image-viewer { width: min(1200px, calc(100% - 40px)); max-height: 90dvh; }
459
+ .pui .pui-modal.pui-image-viewer h2 { font-size: 17px; overflow-wrap: anywhere; }
460
+ .pui .pui-image-viewer-viewport { height: 65dvh; overflow: auto; display: flex; background: var(--pui-surface-subtle); border: 1px solid var(--pui-border); border-radius: 8px; }
461
+ .pui .pui-image-viewer-viewport img { display: block; flex: none; max-width: none; margin: auto; object-fit: contain; }
462
+ .pui .pui-image-viewer-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
463
+ .pui .pui-image-viewer-toolbar [data-image-scale] { color: var(--pui-muted); font-size: 12px; }
464
+ .pui .pui-image-viewer-toolbar > div { display: flex; gap: 6px; }
465
+ .pui .pui-image-viewer-toolbar button { padding: 6px 9px; font-size: 12px; }
466
+ .pui .pui-history-image, .pui .pui-draft-image img, .pui .pui-file-preview-image { cursor: zoom-in; }
467
+ .pui .pui-markdown blockquote { margin: 12px 0; border-left: 3px solid var(--pui-border); padding: 3px 14px; color: var(--pui-muted-tonal); }
468
+ .pui .pui-markdown a { color: var(--pui-accent); text-underline-offset: 3px; }
469
+ .pui .pui-markdown a[aria-disabled="true"] { color: var(--pui-muted); cursor: wait; }
470
+ .pui .pui-markdown table { display: block; overflow-x: auto; border-collapse: collapse; margin: 12px 0; }
471
+ .pui .pui-markdown th, .pui .pui-markdown td { border: 1px solid var(--pui-border); padding: 7px 10px; text-align: left; }
472
+ .pui .pui-markdown th { background: var(--pui-surface-subtle); color: var(--pui-text); }
473
+ .pui .pui-markdown hr { border: 0; border-top: 1px solid var(--pui-border); margin: 18px 0; }
474
+ .pui .pui-message-error-label { color: var(--pui-error-text); font-size: 12px; display: block; margin-top: 10px; }
475
+ .pui .pui-tool-group { margin: -6px 0 16px; color: var(--pui-muted-tonal); }
476
+ .pui .pui-tool-group > summary { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 5px 0; list-style: none; cursor: pointer; font-size: 13px; }
477
+ .pui .pui-tool-group > summary::-webkit-details-marker { display: none; }
478
+ .pui .pui-tool-group > summary:hover { color: var(--pui-text); }
479
+ .pui .pui-tool-group > summary:focus-visible { outline: 2px solid var(--pui-accent); outline-offset: 3px; border-radius: 4px; }
480
+ .pui .pui-tool-group > summary .pui-icon { width: 16px; height: 16px; flex-shrink: 0; }
481
+ .pui .pui-tool-group > summary .pui-icon:last-child { width: 12px; height: 12px; transform: rotate(-90deg); }
482
+ .pui .pui-tool-group[open] > summary .pui-icon:last-child { transform: none; }
483
+ .pui .pui-tool-group-label { min-width: 0; overflow-wrap: anywhere; }
484
+ .pui .pui-tool-group-count, .pui .pui-tool-group-running, .pui .pui-tool-group-failed { font-size: 11px; flex-shrink: 0; }
485
+ .pui .pui-tool-group-running { color: var(--pui-accent); }
486
+ .pui .pui-tool-group-failed { color: var(--pui-error-text); }
487
+ .pui .pui-tool-group-content { padding-top: 8px; }
488
+ .pui .pui-tool-message { margin: 0 0 8px; border: 1px solid var(--pui-border); border-radius: 8px; background: var(--pui-surface); overflow: hidden; }
489
+ .pui .pui-tool-message:last-child { margin-bottom: 0; }
490
+ .pui .pui-tool-message summary { display: flex; gap: 9px; align-items: center; list-style: none; padding: 11px 13px; cursor: pointer; color: var(--pui-muted-tonal); font-size: 12px; }
491
+ .pui .pui-tool-message summary::-webkit-details-marker { display: none; }
492
+ .pui .pui-tool-message summary .pui-icon { width: 14px; height: 14px; color: var(--pui-muted-tonal); }
493
+ .pui .pui-tool-message summary .pui-icon:last-child { margin-left: 4px; width: 10px; height: 10px; }
494
+ .pui .pui-tool-status { margin-left: auto; font-size: 11px; color: var(--pui-muted-tonal); }
495
+ .pui .pui-tool-status-error { color: var(--pui-error-text); }
496
+ .pui .pui-tool-message pre { margin: 0; padding: 14px; border-top: 1px solid var(--pui-border); max-height: 270px; overflow: auto; font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--pui-muted-tonal); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
497
+ .pui .pui-command-details { padding: 12px 14px; border-top: 1px solid var(--pui-border); }
498
+ .pui .pui-tool-field-label { display: block; margin-bottom: 6px; color: var(--pui-muted); font-size: 11px; }
499
+ .pui .pui-tool-message .pui-command-text { padding: 0; border: 0; color: var(--pui-text); max-height: 180px; }
500
+ .pui .pui-command-directory { margin-top: 12px; }
501
+ .pui .pui-command-directory code { display: block; font-size: 11px; color: var(--pui-muted-tonal); overflow-wrap: anywhere; }
502
+ .pui .pui-command-output { border-top: 1px solid var(--pui-border); }
503
+ .pui .pui-command-output > .pui-tool-field-label { margin: 10px 14px 0; }
504
+ .pui .pui-command-output pre { border-top: 0; }
505
+ .pui .pui-system-message { margin: 0 0 22px; padding: 10px 13px; border-left: 2px solid var(--pui-border); color: var(--pui-muted); font-size: 12px; line-height: 1.5; }
506
+ .pui .pui-agent-working { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--pui-muted); margin-top: 12px; }
507
+ .pui .pui-working-dots { display: flex; gap: 4px; }
508
+ .pui .pui-working-dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--pui-muted); animation: pui-pulse 1.2s infinite; }
509
+ .pui .pui-working-dots i:nth-child(2) { animation-delay: .2s; }
510
+ .pui .pui-working-dots i:nth-child(3) { animation-delay: .4s; }
511
+ .pui .pui-inline-error { padding: 11px 13px; font-size: 12px; line-height: 1.6; background: var(--pui-error-surface); border: 1px solid var(--pui-error-border); color: var(--pui-error-text); border-radius: 9px; margin-bottom: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
512
+ .pui .pui-approval-card { padding: 15px; border: 1px solid var(--pui-warning-border); background: var(--pui-warning-surface); border-radius: 12px; margin-bottom: 12px; }
513
+ .pui .pui-approval-heading { display: flex; align-items: center; gap: 10px; }
514
+ .pui .pui-approval-heading > .pui-icon { width: 21px; height: 21px; color: var(--pui-warning-strong); }
515
+ .pui .pui-approval-heading strong { display: block; font-size: 13px; color: var(--pui-warning-strong); font-weight: 500; margin-bottom: 3px; }
516
+ .pui .pui-approval-heading span:not(.pui-approval-badge) { font-size: 12px; color: var(--pui-warning-text); }
517
+ .pui .pui-approval-badge { margin-left: auto; border: 1px solid var(--pui-warning-border); border-radius: 5px; padding: 4px 7px; font-family: ui-monospace, monospace; font-size: 11px; color: var(--pui-warning-text); max-width: 35%; overflow: hidden; text-overflow: ellipsis; }
518
+ .pui .pui-approval-warning { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: var(--pui-warning-text); }
519
+ .pui .pui-approval-scope { color: var(--pui-warning-text); font-size: 11px; line-height: 1.5; margin: 10px 0 12px; }
520
+ .pui .pui-approval-card pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; line-height: 1.6; color: var(--pui-warning-text); padding: 11px; background: var(--pui-warning-code); border-radius: 6px; max-height: 160px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
521
+ .pui .pui-approval-file { display: flex; align-items: baseline; gap: 10px; margin: 12px 0 8px; min-width: 0; font-size: 12px; }
522
+ .pui .pui-approval-file code { overflow-wrap: anywhere; color: var(--pui-text); }
523
+ .pui .pui-approval-card pre.pui-approval-diff { max-height: min(260px, 26vh); white-space: pre; overflow-wrap: normal; color: var(--pui-text); background: var(--pui-surface-code); border: 1px solid var(--pui-border); padding: 10px 0; }
524
+ .pui .pui-diff-line { display: block; min-height: 1.6em; padding: 0 12px; }
525
+ .pui .pui-diff-add { color: var(--pui-diff-add); background: var(--pui-diff-add-bg); }
526
+ .pui .pui-diff-remove { color: var(--pui-diff-remove); background: var(--pui-diff-remove-bg); }
527
+ .pui .pui-diff-meta { color: var(--pui-muted); }
528
+ .pui .pui-approval-arguments { margin-top: 8px; font-size: 12px; }
529
+ .pui .pui-approval-arguments summary { color: var(--pui-muted); cursor: pointer; }
530
+ .pui .pui-preview-note { font-size: 12px; color: var(--pui-muted); margin: 10px 0; }
531
+ .pui .pui-modal.pui-file-preview-modal { width: min(900px, calc(100% - 40px)); max-height: 85vh; }
532
+ .pui .pui-file-preview-modal h2 { overflow-wrap: anywhere; }
533
+ .pui .pui-file-preview-path { font-size: 12px; color: var(--pui-muted); overflow-wrap: anywhere; margin: 8px 0 18px; }
534
+ .pui .pui-file-preview-body { max-height: 55vh; overflow: auto; border: 1px solid var(--pui-border); border-radius: 8px; padding: 18px; background: var(--pui-surface-subtle); }
535
+ .pui .pui-file-preview-body .pui-markdown { max-width: 100%; }
536
+ .pui .pui-file-preview-text { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; line-height: 1.6; white-space: pre; }
537
+ .pui .pui-file-preview-image { display: block; max-width: 100%; max-height: 50vh; margin: auto; object-fit: contain; }
538
+ .pui .pui-file-preview-actions { display: flex; justify-content: flex-end; margin-top: 16px; }
539
+ .pui .pui-approval-actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
540
+ .pui .pui-secondary-button.pui-always-allow-button { color: var(--pui-warning-text); background: var(--pui-warning-surface); border-color: var(--pui-warning-border); }
541
+ .pui .pui-secondary-button.pui-always-allow-button:hover { background: var(--pui-warning-hover); }
542
+ .pui .pui-modal { width: min(500px, calc(100% - 40px)); max-height: calc(100dvh - 60px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--pui-scrollbar) transparent; background: var(--pui-surface); border: 1px solid var(--pui-border-strong); border-radius: 15px; padding: 27px 28px 23px; color: var(--pui-text); box-shadow: var(--pui-modal-shadow); }
543
+ .pui .pui-modal::-webkit-scrollbar { width: 6px; height: 6px; }
544
+ .pui .pui-modal::-webkit-scrollbar-track { background: transparent; margin: 8px 0; }
545
+ .pui .pui-modal::-webkit-scrollbar-thumb { background: var(--pui-scrollbar); border-radius: 999px; }
546
+ .pui .pui-modal::-webkit-scrollbar-thumb:hover { background: var(--pui-muted); }
547
+ .pui .pui-modal::backdrop { background: var(--pui-overlay); backdrop-filter: blur(5px); }
548
+ .pui .pui-modal-heading { display: flex; align-items: center; justify-content: space-between; }
549
+ .pui .pui-modal-heading .pui-eyebrow { font-size: 11px; letter-spacing: 1.5px; }
550
+ .pui .pui-modal h2 { font-size: 24px; font-weight: 500; letter-spacing: -.6px; margin: 7px 0 0; }
551
+ .pui .pui-modal .pui-quiet-icon { align-self: flex-start; }
552
+ .pui .pui-modal-description { font-size: 12px; color: var(--pui-muted); line-height: 1.5; margin: 18px 0 23px; }
553
+ .pui .pui-modal-description strong { color: var(--pui-text); font-weight: 500; }
554
+ .pui .pui-full-access-explanation { display: flex; align-items: flex-start; gap: 12px; padding: 15px; background: var(--pui-warning-surface); border: 1px solid var(--pui-warning-border); border-radius: 9px; color: var(--pui-warning-text); }
555
+ .pui .pui-full-access-explanation > .pui-icon { width: 21px; height: 21px; margin-top: 1px; color: var(--pui-warning-text); }
556
+ .pui .pui-full-access-explanation strong { font-size: 13px; font-weight: 500; color: var(--pui-warning-strong); }
557
+ .pui .pui-full-access-explanation p { font-size: 12px; line-height: 1.5; margin: 9px 0 0; }
558
+ .pui .pui-permission-revoke-note { font-size: 12px; line-height: 1.5; color: var(--pui-muted); margin: 17px 0 0; }
559
+ .pui .pui-primary-button.pui-full-access-confirm { background: var(--pui-warning-action); color: var(--pui-warning-foreground); }
560
+ .pui .pui-primary-button.pui-full-access-confirm:hover { background: var(--pui-warning-action-hover); }
561
+ .pui .pui-field-label { display: block; font-size: 12px; color: var(--pui-text); margin: 20px 0 9px; }
562
+ .pui .pui-modal input { background: var(--pui-surface-input); border: 1px solid var(--pui-border); border-radius: 7px; padding: 11px 12px; font-size: 13px; color: var(--pui-text); outline: none; width: 100%; }
563
+ .pui .pui-modal input:focus { border-color: var(--pui-accent); box-shadow: 0 0 0 2px var(--pui-focus-ring); }
564
+ .pui .pui-modal input::placeholder { color: var(--pui-muted); font-size: 12px; }
565
+ .pui .pui-input-with-icon { position: relative; }
566
+ .pui .pui-input-with-icon .pui-icon { position: absolute; left: 11px; top: 11px; width: 16px; height: 16px; color: var(--pui-muted); }
567
+ .pui .pui-input-with-icon input { padding-left: 36px; }
568
+ .pui .pui-configured-badge { font-size: 11px; color: var(--pui-muted); padding: 3px 5px; margin-left: 7px; border: 1px solid var(--pui-border); border-radius: 4px; }
569
+ .pui .pui-field-hint { font-size: 12px; line-height: 1.5; color: var(--pui-muted); margin: 9px 0 0; }
570
+ .pui .pui-modal-workspaces { display: flex; flex-direction: column; gap: 7px; }
571
+ .pui .pui-modal-workspace { width: 100%; display: flex; align-items: center; gap: 12px; padding: 13px 12px; background: var(--pui-surface-subtle); border: 1px solid var(--pui-border); text-align: left; border-radius: 8px; }
572
+ .pui .pui-modal-workspace:hover { background: var(--pui-surface-hover); }
573
+ .pui .pui-modal-workspace > .pui-icon:first-child { width: 18px; height: 18px; color: var(--pui-muted); }
574
+ .pui .pui-modal-workspace > .pui-icon:last-child { width: 14px; height: 14px; margin-left: auto; color: var(--pui-muted-tonal); }
575
+ .pui .pui-modal-workspace span { min-width: 0; }
576
+ .pui .pui-modal-workspace strong { display: block; font-weight: 500; color: var(--pui-text); font-size: 13px; margin-bottom: 4px; }
577
+ .pui .pui-modal-workspace small { display: block; font-size: 12px; color: var(--pui-muted-tonal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
578
+ .pui .pui-workspace-add { margin-top: 20px; }
579
+ .pui .pui-picker-button { display: flex; gap: 9px; align-items: center; justify-content: center; width: 100%; border: 1px dashed var(--pui-border); background: var(--pui-surface-subtle); color: var(--pui-text); border-radius: 8px; padding: 14px; font-size: 13px; }
580
+ .pui .pui-picker-button:hover { background: var(--pui-surface-hover); }
581
+ .pui .pui-picker-button .pui-icon { width: 17px; height: 17px; }
582
+ .pui .pui-path-divider { display: flex; align-items: center; gap: 10px; color: var(--pui-muted); font-size: 11px; margin: 20px 0; }
583
+ .pui .pui-path-divider::before, .pui .pui-path-divider::after { content: ''; height: 1px; background: var(--pui-border); flex: 1; }
584
+
585
+ .pui .pui-appearance-select { display: block; width: 100%; padding: 11px 12px; border: 1px solid var(--pui-border-strong); border-radius: 7px; background: var(--pui-surface-input); color: var(--pui-text); font-size: 13px; cursor: pointer; }
586
+ .pui .pui-appearance-select:focus { outline: none; border-color: var(--pui-accent); box-shadow: 0 0 0 2px var(--pui-focus-ring); }
587
+ .pui .pui-appearance-select option { background: var(--pui-surface); color: var(--pui-text); }
588
+ .pui .pui-appearance-hint { margin: 9px 0 0; color: var(--pui-muted); font-size: 12px; line-height: 1.5; }
589
+
590
+ .pui .pui-history-search { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--pui-border); border-radius: 7px; background: var(--pui-surface); color: var(--pui-muted-tonal); margin: 0 1px 14px; }
591
+ .pui .pui-history-search .pui-icon { width: 13px; height: 13px; }
592
+ .pui .pui-history-search input { min-width: 0; width: 100%; border: 0; outline: none; padding: 2px 0; font-size: 12px; background: transparent; color: var(--pui-text); }
593
+ .pui .pui-history-search input::placeholder { color: var(--pui-muted); }
594
+ .pui .pui-history-search:focus-within { border-color: var(--pui-accent); }
595
+ .pui .pui-sidebar-bottom { padding-top: 12px; }
596
+ .pui .pui-sidebar-bottom .pui-settings-button { padding-top: 10px; padding-bottom: 10px; }
597
+ .pui .pui-sidebar-conversation-menu { position: fixed; z-index: 6; display: flex; flex-direction: column; min-width: 180px; padding: 5px; border: 1px solid var(--pui-border); border-radius: 8px; background: var(--pui-surface); box-shadow: var(--pui-shadow); }
598
+ .pui .pui-sidebar-conversation-menu button { background: transparent; padding: 9px 11px; color: var(--pui-text); border-radius: 4px; text-align: left; font-size: 12px; }
599
+ .pui .pui-sidebar-conversation-menu button:hover, .pui .pui-sidebar-conversation-menu button:focus-visible { background: var(--pui-surface-hover); }
600
+ .pui .pui-composer-context { flex-wrap: wrap; }
601
+ .pui .pui-queued-messages { padding: 12px 14px; margin-bottom: 10px; border: 1px solid var(--pui-border); background: var(--pui-surface); border-radius: 9px; max-height: 180px; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--pui-scrollbar) transparent; }
602
+ .pui .pui-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--pui-text); font-size: 12px; font-weight: 500; margin: 0 0 10px; }
603
+ .pui .pui-queued-message { display: flex; gap: 9px; align-items: center; color: var(--pui-text); font-size: 12px; line-height: 1.6; }
604
+ .pui .pui-queued-message + .pui-queued-message { margin-top: 8px; }
605
+ .pui .pui-queue-badge { flex-shrink: 0; color: var(--pui-muted-tonal); background: var(--pui-surface-subtle); border-radius: 4px; padding: 1px 6px; font-size: 11px; }
606
+ .pui .pui-queued-message-content { flex: 1; min-width: 0; }
607
+ .pui .pui-queued-message-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; }
608
+ .pui .pui-queued-message-actions { display: flex; gap: 5px; flex-shrink: 0; align-items: center; }
609
+ .pui .pui-queued-message-actions .pui-icon { width: 15px; height: 15px; }
610
+ .pui .pui-queue-steer { gap: 5px; font-size: 12px; }
611
+ .pui .pui-artifacts-control { position: relative; flex-shrink: 0; }
612
+ .pui .pui-artifacts-toggle { min-width: 36px; height: 36px; gap: 5px; padding: 8px; border-radius: 9px; }
613
+ .pui .pui-artifacts-toggle[aria-expanded="true"] { color: var(--pui-text); background: var(--pui-surface-selected); }
614
+ .pui .pui-artifacts-count { font-size: 11px; font-weight: 500; }
615
+ .pui .pui-artifacts-panel { position: absolute; z-index: 6; top: calc(100% + 12px); right: 0; width: min(560px, calc(100vw - 34px)); max-height: calc(100dvh - 110px); display: flex; flex-direction: column; padding: 16px; border: 1px solid var(--pui-border); border-radius: 16px; background: var(--pui-surface); color: var(--pui-text); box-shadow: var(--pui-modal-shadow); }
616
+ .pui .pui-artifacts-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--pui-border); }
617
+ .pui .pui-artifacts-heading h2 { margin: 0; font-size: 14px; font-weight: 500; }
618
+ .pui .pui-artifacts-heading h2 span { margin-left: 8px; font-size: 11px; font-weight: 400; color: var(--pui-muted); }
619
+ .pui .pui-artifacts-heading .pui-quiet-icon { width: 28px; height: 28px; }
620
+ .pui .pui-artifacts-content { min-height: 0; overflow-y: auto; padding-top: 12px; scrollbar-width: thin; }
621
+ .pui .pui-artifacts-status { margin: 12px 0 0; font-size: 12px; color: var(--pui-muted); }
622
+ .pui .pui-artifacts-panel .pui-file-card { flex-wrap: wrap; }
623
+ .pui .pui-artifacts-panel .pui-file-info strong { overflow-wrap: anywhere; }
624
+ .pui .pui-artifacts-panel .pui-file-actions { width: 100%; margin-left: 28px; }
625
+ .pui .pui-file-card { display: flex; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid var(--pui-border); background: var(--pui-surface-subtle); border-radius: 8px; }
626
+ .pui .pui-file-card + .pui-file-card { margin-top: 8px; }
627
+ .pui .pui-file-card > .pui-icon { width: 17px; height: 17px; color: var(--pui-muted); margin-top: 2px; }
628
+ .pui .pui-file-info { min-width: 0; flex: 1; }
629
+ .pui .pui-file-info strong { display: block; color: var(--pui-text); font-size: 13px; font-weight: 500; margin-bottom: 5px; }
630
+ .pui .pui-file-info p { color: var(--pui-muted-tonal); font-size: 12px; line-height: 1.5; margin: 5px 0; }
631
+ .pui .pui-file-path { display: block; color: var(--pui-muted-tonal); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; user-select: text; }
632
+ .pui .pui-feature-modal { width: min(660px, calc(100% - 40px)); }
633
+ .pui .pui-feature-hint { color: var(--pui-muted); font-size: 12px; line-height: 1.5; margin: 8px 0; }
634
+ .pui .pui-resource-section { margin-top: 22px; }
635
+ .pui .pui-resource-section h3 { color: var(--pui-text); font-size: 14px; font-weight: 500; margin: 0 0 12px; }
636
+ .pui .pui-resource-card { border: 1px solid var(--pui-border); background: var(--pui-surface-subtle); border-radius: 8px; margin: 0 0 9px; overflow: hidden; }
637
+ .pui .pui-resource-card .pui-file-card { border: 0; border-radius: 0; }
638
+ .pui .pui-resource-preview { border-top: 1px solid var(--pui-border); }
639
+ .pui .pui-resource-preview summary { padding: 9px 12px; font-size: 12px; color: var(--pui-muted-tonal); cursor: pointer; }
640
+ .pui .pui-resource-preview pre { padding: 12px; margin: 0; max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--pui-text); font-size: 12px; line-height: 1.5; }
641
+ .pui .pui-resource-diagnostics p { font-size: 12px; color: var(--pui-warning-text); line-height: 1.5; overflow-wrap: anywhere; }
642
+ .pui .pui-connection-card { padding: 13px; border: 1px solid var(--pui-border); border-radius: 9px; margin-bottom: 9px; }
643
+ .pui .pui-connection-card-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
644
+ .pui .pui-connection-card-heading strong { color: var(--pui-text); font-size: 13px; font-weight: 500; }
645
+ .pui .pui-connection-status { color: var(--pui-muted-tonal); font-size: 12px; line-height: 1.5; margin: 8px 0 12px; }
646
+ .pui .pui-connection-status.pui-is-error, .pui .pui-destructive-button { color: var(--pui-error-text); }
647
+ .pui .pui-connection-editor { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--pui-border); }
648
+ .pui .pui-feature-select, .pui .pui-modal textarea { display: block; width: 100%; border: 1px solid var(--pui-border); border-radius: 7px; padding: 11px 12px; background: var(--pui-surface-input); color: var(--pui-text); font-size: 13px; }
649
+ .pui .pui-modal textarea { resize: vertical; min-height: 65px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; line-height: 1.6; }
650
+ .pui .pui-modal textarea.pui-secret-field { -webkit-text-security: disc; }
651
+ .pui .pui-modal textarea.pui-secret-field.pui-revealed { -webkit-text-security: none; }
652
+ .pui .pui-secret-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 20px 0 var(--pui-field-gap); }
653
+ .pui .pui-secret-label .pui-field-label { margin: 0; }
654
+ .pui .pui-feature-select:focus, .pui .pui-modal textarea:focus { outline: none; border-color: var(--pui-accent); box-shadow: 0 0 0 2px var(--pui-focus-ring); }
655
+ .pui .pui-feature-select option { color: var(--pui-text); background: var(--pui-surface); }
656
+ .pui .pui-checkbox-field { display: flex; align-items: center; gap: 8px; color: var(--pui-text); font-size: 12px; margin-top: 17px; line-height: 1.6; }
657
+ .pui .pui-modal .pui-checkbox-field input { width: 15px; height: 15px; padding: 0; margin: 0; accent-color: var(--pui-accent); }
658
+
659
+ .pui .pui-mobile-menu, .pui .pui-sidebar-scrim { display: none; }
660
+ .pui .pui-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
661
+ @keyframes pui-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
662
+ @media (max-width: 1000px) {
663
+ .pui { --pui-sidebar-width: 230px; }
664
+ .pui .pui-sidebar { padding-left: 14px; padding-right: 14px; }
665
+ .pui .pui-topbar { padding: 0 25px; }
666
+ .pui .pui-composer-region { width: calc(100% - 50px); }
667
+ .pui .pui-welcome h1 { font-size: 30px; }
668
+ .pui .pui-welcome { padding-top: 65px; }
669
+ }
670
+ @media (max-width: 720px) {
671
+ .pui .pui-app { min-height: 420px; }
672
+ .pui .pui-sidebar { position: fixed; z-index: 5; height: 100dvh; width: 260px; left: -260px; transition: left .2s; }
673
+ .pui .pui-sidebar.pui-open { left: 0; }
674
+ .pui .pui-sidebar-scrim.pui-visible { display: block; position: fixed; inset: 0; background: var(--pui-overlay); z-index: 4; }
675
+ .pui .pui-mobile-menu { display: inline-flex; margin-right: 12px; }
676
+ .pui .pui-topbar { height: 64px; padding: 0 17px; }
677
+ .pui .pui-breadcrumb { font-size: 12px; flex: 1; gap: 7px; }
678
+ .pui .pui-breadcrumb span { max-width: 110px; }
679
+ .pui .pui-breadcrumb-current, .pui .pui-breadcrumb-chevron { display: none; }
680
+ .pui .pui-breadcrumb > .pui-icon:first-child { display: none; }
681
+ .pui .pui-file-card { flex-wrap: wrap; }
682
+ .pui .pui-file-card .pui-file-actions { margin-left: 28px; }
683
+ .pui .pui-feature-toolbar .pui-secondary-button { font-size: 11px; }
684
+ .pui .pui-chat-scroll { padding: 0 19px; }
685
+ .pui .pui-welcome { padding-top: 47px; padding-bottom: 25px; }
686
+ .pui .pui-welcome-mark { width: 52px; height: 52px; border-radius: 14px; margin-bottom: 21px; }
687
+ .pui .pui-welcome-mark .pui-logo-mark { width: 27px; height: 27px; }
688
+ .pui .pui-welcome h1 { font-size: 27px; letter-spacing: -.9px; }
689
+ .pui .pui-welcome-description { font-size: 12px; }
690
+ .pui .pui-setup-card { margin-top: 25px; padding: 15px 14px 4px; }
691
+ .pui .pui-setup-step small { max-width: 230px; font-size: 11px; }
692
+ .pui .pui-setup-card-heading { font-size: 12px; }
693
+ .pui .pui-setup-step strong { font-size: 12px; }
694
+ .pui .pui-step-number { width: 25px; height: 25px; }
695
+ .pui .pui-welcome-footnote { margin-top: 20px; }
696
+ .pui .pui-suggestions { gap: 7px; margin-top: 22px; }
697
+ .pui .pui-suggestions button { font-size: 11px; padding: 10px; }
698
+ .pui .pui-composer-region { width: calc(100% - 28px); padding-top: 10px; padding-bottom: 12px; }
699
+ .pui .pui-composer { padding: 14px 13px 10px; border-radius: 12px; }
700
+ .pui .pui-composer textarea { font-size: 14px; }
701
+ .pui .pui-composer-toolbar { align-items: flex-end; }
702
+ .pui .pui-composer-context { flex-wrap: wrap; gap: 7px; }
703
+ .pui .pui-permission-control select { font-size: 12px; max-width: 150px; }
704
+ .pui .pui-keyboard-hint { display: none; }
705
+ .pui .pui-composer-note { font-size: 11px; margin-top: 9px; line-height: 1.6; }
706
+ .pui .pui-messages { padding-top: 23px; }
707
+ .pui .pui-message { margin-bottom: 20px; }
708
+ .pui .pui-user-message .pui-message-content { max-width: 90%; }
709
+ .pui .pui-markdown { font-size: 14px; }
710
+ .pui .pui-user-text { font-size: 14px; }
711
+ .pui .pui-tool-group > summary { flex-wrap: wrap; }
712
+ .pui .pui-approval-card { padding: 12px; }
713
+ .pui .pui-approval-heading strong { font-size: 12px; }
714
+ .pui .pui-approval-heading span:not(.pui-approval-badge) { font-size: 11px; }
715
+ .pui .pui-approval-heading > .pui-icon { width: 18px; height: 18px; }
716
+ .pui .pui-primary-button, .pui .pui-secondary-button { font-size: 12px; padding: 9px 12px; }
717
+ .pui .pui-modal { padding: 24px 21px 21px; }
718
+ .pui .pui-modal-description br { display: none; }
719
+ }
720
+ @media (prefers-reduced-motion: reduce) {
721
+ .pui *, .pui *::before, .pui *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
722
+ }
723
+
724
+ .pui .pui-run-status { margin: 0 4px 10px; color: var(--pui-muted); font-size: 13px; }
725
+ .pui .pui-run-status summary { cursor: pointer; padding: 6px 0; }
726
+ .pui [id$="run-status-details"] { max-height: min(50vh, 440px); overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-width: thin; }
727
+ .pui .pui-run-status dl { display: grid; grid-template-columns: 1fr auto; gap: 7px 20px; margin: 10px 0; }
728
+ .pui .pui-run-status dd { margin: 0; text-align: right; }
729
+ .pui .pui-run-status p { line-height: 1.5; max-width: 720px; }
730
+ .pui .pui-task-failure { border: 1px solid var(--pui-border); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: var(--pui-surface); font-size: 14px; }
731
+ .pui .pui-task-failure p { margin: 7px 0 12px; line-height: 1.5; }
732
+ .pui .pui-task-failure > div { display: flex; gap: 12px; align-items: center; }
733
+ .pui .pui-connection-test { border-top: 1px solid var(--pui-border); margin-top: 16px; padding-top: 16px; }
734
+ .pui .pui-connection-test [role=status] { font-size: 14px; line-height: 1.5; margin-top: 8px; }
735
+ .pui .pui-test-success { color: var(--pui-accent); }
736
+ .pui .pui-diagnostics-setting { border-top: 1px solid var(--pui-border); margin-top: 16px; padding-top: 12px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--pui-muted); }
737
+
738
+ .pui .pui-attach-images { flex-shrink: 0; }
739
+ .pui .pui-draft-images { display: flex; gap: 10px; overflow-x: auto; padding: 4px 0 14px; }
740
+ .pui .pui-draft-image { flex: 0 0 104px; position: relative; margin: 0; }
741
+ .pui .pui-draft-image img { display: block; width: 104px; height: 80px; object-fit: cover; border-radius: 9px; border: 1px solid var(--pui-border); background: var(--pui-surface-subtle); }
742
+ .pui .pui-draft-image figcaption { font-size: 11px; color: var(--pui-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-top: 5px; }
743
+ .pui .pui-remove-image { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--pui-surface); color: var(--pui-text); border: 1px solid var(--pui-border); }
744
+ .pui .pui-remove-image .pui-icon { width: 12px; height: 12px; }
745
+ .pui .pui-composer.pui-drag-images { outline: 2px solid var(--pui-accent); outline-offset: 3px; }
746
+ .pui .pui-image-guidance { text-align: left; line-height: 1.5; }
747
+ .pui .pui-message-images { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin-top: 12px; }
748
+ .pui .pui-history-image { display: block; max-width: min(100%, 320px); max-height: 250px; width: auto; height: auto; object-fit: contain; border: 1px solid var(--pui-border); border-radius: 10px; background: var(--pui-surface-subtle); }
749
+ .pui .pui-image-unavailable { min-width: 120px; min-height: 60px; font-size: 12px; color: var(--pui-muted); }
750
+ .pui .pui-queue-image-count { display: block; color: var(--pui-muted); font-size: 11px; margin-top: 3px; }
751
+
752
+ /* Model choices are SDK metadata; only the active selection is in snapshots. */
753
+ .pui .pui-model-list { display: block; width: 100%; margin-top: 10px; padding: 7px; border: 1px solid var(--pui-border); border-radius: 8px; background: var(--pui-surface-input); color: var(--pui-text); font-size: 13px; }
754
+ .pui .pui-model-list option { padding: 9px 8px; border-radius: 5px; }
755
+ .pui .pui-model-list:focus { outline: 2px solid var(--pui-focus-ring); border-color: var(--pui-accent); }
756
+ .pui .pui-composer-model { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; padding: 5px; color: var(--pui-muted-tonal); background: transparent; }
757
+ .pui .pui-composer-model:hover { color: var(--pui-text); }
758
+ .pui .pui-composer-thinking select { max-width: 132px; font-size: 12px; padding: 5px 3px; background: transparent; border: 0; color: var(--pui-muted-tonal); cursor: pointer; }
759
+ .pui .pui-composer-thinking select:disabled { opacity: .65; }
760
+ .pui .pui-composer-toolbar { flex-wrap: wrap; }
761
+ .pui .pui-composer-actions { margin-left: auto; }
762
+ @media (max-width: 900px) { .pui .pui-composer-model { max-width: 125px; } }
763
+
764
+ .pui .pui-provider-advanced { margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--pui-border); border-bottom: 1px solid var(--pui-border); }
765
+ .pui .pui-provider-advanced > summary { cursor: pointer; font-size: 12px; color: var(--pui-muted-tonal); }
766
+ .pui .pui-provider-advanced > summary:hover { color: var(--pui-text); }
767
+
768
+ .pui .pui-sidebar-conversation-menu .pui-destructive-menu-item { color: var(--pui-error-text); }
769
+ .pui .pui-conversation-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-shrink: 0; }
770
+ .pui .pui-compact-action { gap: 6px; padding: 6px 8px; font-size: 12px; }
771
+ .pui .pui-sdk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
772
+ .pui .pui-custom-model { margin: 20px 0; padding: 18px; border: 1px solid var(--pui-border); border-radius: 12px; }
773
+ .pui .pui-custom-model > .pui-destructive-button { margin-top: var(--pui-field-gap); }
774
+ .pui .pui-custom-model label { display: block; margin-bottom: 12px; font-size: 14px; color: var(--pui-muted); }
775
+ .pui .pui-custom-model input:not([type=checkbox]) { width: 100%; margin-top: 6px; }
776
+ .pui .pui-modal textarea.pui-resource-editor { width: 100%; min-height: 300px; padding: 14px; resize: vertical; font-family: ui-monospace, monospace; font-size: 14px; line-height: 1.6; color: var(--pui-text); background: var(--pui-surface-input); border: 1px solid var(--pui-border); border-radius: 10px; }
777
+ .pui .pui-custom-model label.pui-checkbox-field { display: flex; }
778
+ .pui .pui-branch-node { padding: 16px; margin: 10px 0; border: 1px solid var(--pui-border); border-radius: 12px; }
779
+ .pui .pui-branch-node p { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--pui-muted); font-size: 14px; line-height: 1.5; margin: 10px 0; }
780
+ .pui .pui-current-branch { border-left: 3px solid var(--pui-accent); }
781
+ .pui .pui-cost-requests { border-top: 1px solid var(--pui-border); margin-top: 12px; padding-top: 6px; }
782
+ .pui .pui-cost-table { overflow-x: auto; }
783
+ .pui .pui-cost-table table { border-collapse: collapse; width: 100%; font-size: 13px; }
784
+ .pui .pui-cost-table td, .pui .pui-cost-table th { border-bottom: 1px solid var(--pui-border); padding: 12px 8px; text-align: left; vertical-align: top; }
785
+ .pui .pui-cost-table td:first-child { min-width: 220px; overflow-wrap: anywhere; }
786
+ .pui .pui-cost-table pre { white-space: pre-wrap; }
787
+ .pui .pui-history-item { align-items: center; gap: 8px; }
788
+ .pui .pui-history-item > span:first-child { flex: 1; }
789
+ .pui .pui-history-status { width: 18px; height: 18px; flex: 0 0 18px; display: inline-flex; align-items: center; justify-content: center; color: var(--pui-accent); }
790
+ .pui .pui-history-status.pui-needs-approval { color: var(--pui-warning-text); }
791
+ .pui .pui-history-status svg { width: 16px; height: 16px; }
792
+ .pui .pui-history-spinner { width: 13px; height: 13px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pui-history-spin 1s linear infinite; }
793
+ .pui .pui-history-unread { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
794
+ @keyframes pui-history-spin { to { transform: rotate(360deg); } }
795
+ @media (prefers-reduced-motion: reduce) { .pui .pui-history-spinner { animation: none; } }
796
+ .pui .pui-completion-notices { position: fixed; z-index: 20; right: 24px; top: 96px; width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - 320px); overflow-y: auto; display: grid; gap: 10px; pointer-events: none; }
797
+ .pui .pui-completion-notice { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: var(--pui-surface); color: var(--pui-text); border: 1px solid var(--pui-border); border-radius: 12px; box-shadow: 0 8px 28px #0003; pointer-events: auto; }
798
+ .pui .pui-completion-check { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: light-dark(#D8F0E1, #254C38); color: light-dark(#286641, #8CD6A7); flex: 0 0 23px; }
799
+ .pui .pui-completion-check .pui-icon { width: 15px; height: 15px; }
800
+ .pui .pui-completion-content { flex: 1; min-width: 0; }
801
+ .pui .pui-completion-content strong { font-size: 13px; }
802
+ .pui .pui-completion-content p { font-size: 12px; color: var(--pui-muted); margin: 5px 0 9px; overflow-wrap: anywhere; }
803
+ .pui .pui-completion-content .pui-text-button { padding: 0; text-decoration: none; }
804
+ .pui .pui-completion-dismiss { width: 22px; height: 22px; flex: 0 0 22px; }
805
+ @media (max-width: 700px) { .pui .pui-completion-notices { right: 16px; top: 76px; } }
806
+ .pui .pui-workspace-busy { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; font-size: 12px; color: var(--pui-muted-tonal); }
807
+
808
+ /* Shared form controls for every dialog; compact timeline actions stay small. */
809
+ .pui { --pui-control-height: 40px; --pui-form-font-size: 13px; --pui-field-gap: 9px; }
810
+ .pui .pui-modal .pui-field-label, .pui .pui-modal .pui-custom-model label { font-size: var(--pui-form-font-size); line-height: 20px; }
811
+ .pui .pui-modal input:not([type="checkbox"]), .pui .pui-modal select:not([size]):not([multiple]), .pui .pui-modal select[size="1"]:not([multiple]) { min-height: var(--pui-control-height); height: var(--pui-control-height); padding: 9px 12px; font-size: var(--pui-form-font-size); line-height: 20px; }
812
+ .pui .pui-modal label > input:not([type="checkbox"]), .pui .pui-modal label > select { margin-top: var(--pui-field-gap); }
813
+ .pui .pui-modal .pui-primary-button, .pui .pui-modal .pui-secondary-button { min-height: var(--pui-control-height); padding: 9px 14px; font-size: var(--pui-form-font-size); line-height: 20px; }
814
+ .pui .pui-modal .pui-modal-description, .pui .pui-modal .pui-field-hint, .pui .pui-modal .pui-form-error { font-size: var(--pui-form-font-size); line-height: 20px; }
815
+ .pui .pui-modal .pui-modal-footer { margin-top: 20px; padding-top: 20px; gap: 8px; }
816
+ .pui .pui-modal .pui-provider-login-status { font-size: var(--pui-form-font-size); line-height: 20px; margin: 18px 0 0; }
817
+ .pui [id$="oauth-answer"] > .pui-primary-button { margin-top: 12px; }
818
+
819
+ /* Settings uses one spacing rhythm for fields, explanations and actions. */
820
+ .pui .pui-settings-panel .pui-settings-section { display: grid; gap: 12px; align-items: start; margin: 20px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--pui-border); color: var(--pui-text); }
821
+ .pui .pui-settings-panel .pui-settings-section h3 { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 600; }
822
+ .pui .pui-settings-panel .pui-field-hint, .pui .pui-settings-panel .pui-appearance-hint, .pui .pui-settings-panel .pui-modal-description { margin: 0; font-size: 13px; line-height: 20px; }
823
+ .pui .pui-settings-panel .pui-settings-copy { display: grid; gap: 0; }
824
+ .pui .pui-settings-panel .pui-settings-field { display: grid; gap: 12px; }
825
+ .pui .pui-settings-panel .pui-field-label { margin: 0; font-size: 13px; line-height: 20px; }
826
+ .pui .pui-settings-panel select, .pui .pui-settings-panel input { min-height: 40px; height: 40px; font-size: 13px; }
827
+ .pui .pui-settings-panel .pui-settings-actions, .pui .pui-settings-panel .pui-feature-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
828
+ .pui .pui-settings-panel .pui-primary-button, .pui .pui-settings-panel .pui-secondary-button { min-height: 40px; padding: 9px 14px; font-size: 13px; line-height: 20px; justify-self: start; }
829
+ .pui .pui-settings-panel .pui-provider-advanced { margin: 0; padding: 12px 0 0; border-bottom: 0; }
830
+ .pui .pui-settings-panel .pui-provider-advanced summary { font-size: 13px; line-height: 20px; }
831
+ .pui .pui-settings-panel .pui-provider-advanced .pui-field-label { margin: 12px 0; }
832
+ .pui .pui-settings-panel .pui-provider-advanced .pui-field-hint { margin-top: 12px; }
833
+ .pui .pui-settings-panel .pui-settings-section .pui-form-error, .pui [id$="connection-test-result"] { margin: 0; }
834
+ .pui [id$="connection-test-result"]:empty { display: none; }
835
+ .pui .pui-settings-panel [data-update-version]:empty, .pui .pui-settings-panel [data-update-message]:empty { display: none; }
836
+ .pui .pui-settings-panel .pui-modal-footer { margin-top: 20px; padding-top: 20px; gap: 8px; }
837
+ .pui .pui-update-settings progress { width: 100%; margin: 0; accent-color: var(--pui-accent); }
838
+
839
+ .pui .pui-app { width: 100%; }
840
+ .pui {
841
+ --pui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
842
+ --pui-font-size: var(--pui-form-font-size);
843
+ --pui-line-height: 20px;
844
+ --pui-radius: 8px;
845
+ --pui-focus: var(--pui-accent);
846
+ --pui-hover: var(--pui-surface-hover);
847
+ --pui-accent-text: var(--pui-accent-foreground);
848
+ --pui-input-surface: var(--pui-surface-input);
849
+ --pui-muted-surface: var(--pui-surface-subtle);
850
+ --pui-success-text: var(--pui-accent);
851
+ --pui-success-surface: var(--pui-surface-subtle);
852
+ --pui-duration-fast: 160ms;
853
+ }