@ash-qw/dsh-theme-prts 1.2.2 → 1.3.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.
@@ -44,15 +44,12 @@ html[data-dsh-prts] {
44
44
  --prts-glass-dense: rgba(7, 10, 12, .94);
45
45
  --prts-active-glass: var(--prts-glass-standard-surface);
46
46
  --prts-active-glass-filter: blur(18px) saturate(145%);
47
- --prts-chat-user-surface: #3a3211;
48
- --prts-chat-user-edge: #8c7718;
49
- --prts-chat-assistant-surface: rgba(17, 24, 28, .97);
50
- --prts-chat-assistant-edge: #34474f;
47
+ --prts-chat-user-surface: #efefed;
48
+ --prts-chat-assistant-surface: #454644;
51
49
  --prts-chat-avatar-surface: #151c20;
52
- --prts-chat-shadow: rgba(0, 0, 0, .3);
50
+ --prts-avatar-ring-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='none' stroke='%23c7cdca' stroke-width='3' pathLength='360' stroke-dasharray='98 24 96 24 98 20' transform='rotate(-80 50 50)'/%3E%3C/svg%3E");
53
51
  --prts-chat-backdrop: #0a0e11;
54
52
  --prts-chat-backdrop-edge: #0e1519;
55
- --prts-chat-link: #4d7079;
56
53
  color-scheme: dark;
57
54
  accent-color: var(--prts-yellow);
58
55
  }
@@ -80,15 +77,12 @@ html[data-dsh-prts][data-prts-scheme="light"] {
80
77
  --prts-glass-clear-surface: rgba(244, 249, 251, .78);
81
78
  --prts-glass-dense: rgba(249, 251, 252, .97);
82
79
  --prts-shadow-glass-overlay: 0 18px 44px rgba(48, 63, 70, .18), inset 0 1px rgba(255, 255, 255, .86);
83
- --prts-chat-user-surface: #fff0af;
84
- --prts-chat-user-edge: #c9a610;
85
- --prts-chat-assistant-surface: rgba(250, 252, 253, .97);
86
- --prts-chat-assistant-edge: #c7d4da;
80
+ --prts-chat-user-surface: #fff;
81
+ --prts-chat-assistant-surface: #dfe3df;
87
82
  --prts-chat-avatar-surface: #e4e9ec;
88
- --prts-chat-shadow: rgba(45, 59, 66, .16);
83
+ --prts-avatar-ring-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='none' stroke='%23657069' stroke-width='3' pathLength='360' stroke-dasharray='98 24 96 24 98 20' transform='rotate(-80 50 50)'/%3E%3C/svg%3E");
89
84
  --prts-chat-backdrop: #edf1f3;
90
85
  --prts-chat-backdrop-edge: #e4ebee;
91
- --prts-chat-link: #6b8d96;
92
86
  color-scheme: light;
93
87
  }
94
88
 
@@ -186,7 +180,8 @@ html[data-dsh-prts] [data-prts-theme-settings] button {
186
180
  color: inherit;
187
181
  }
188
182
 
189
- html[data-dsh-prts] :focus-visible {
183
+ /* Focus decoration belongs to theme controls, not host or third-party pages. */
184
+ html[data-dsh-prts] :is([data-prts-shell], [data-prts-theme-settings], [data-prts-plugin-settings]) :focus-visible {
190
185
  outline: 2px solid var(--prts-yellow) !important;
191
186
  outline-offset: 2px !important;
192
187
  }
@@ -1167,36 +1162,22 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1167
1162
  ) {
1168
1163
  position: relative;
1169
1164
  box-sizing: border-box;
1165
+ min-width: 0;
1170
1166
  overflow: visible;
1171
1167
  }
1172
1168
 
1173
1169
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) {
1174
- padding-inline-end: 54px;
1170
+ padding-inline-end: 80px;
1175
1171
  color: var(--prts-ink);
1176
1172
  }
1177
1173
 
1178
1174
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"]) {
1179
- --prts-chat-link-x: 22px;
1180
- padding-inline-start: 56px;
1175
+ padding-inline-start: 80px;
1181
1176
  color: var(--prts-ink);
1182
1177
  }
1183
1178
 
1184
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])::after,
1185
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::after {
1186
- content: "";
1187
- position: absolute;
1188
- z-index: 1;
1189
- top: 54px;
1190
- left: calc(var(--prts-chat-link-x) - 1px);
1191
- width: 2px;
1192
- height: 30px;
1193
- border-radius: 1px;
1194
- background: linear-gradient(to bottom,
1195
- color-mix(in srgb, var(--prts-chat-link) 56%, transparent),
1196
- color-mix(in srgb, var(--prts-chat-link) 20%, transparent) 72%,
1197
- transparent);
1198
- pointer-events: none;
1199
- }
1179
+
1180
+
1200
1181
 
1201
1182
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])::before,
1202
1183
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering]))::after,
@@ -1204,18 +1185,30 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role
1204
1185
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1205
1186
  position: absolute;
1206
1187
  z-index: 2;
1207
- top: 2px;
1188
+ top: -5px;
1208
1189
  display: grid;
1209
1190
  place-items: center;
1210
1191
  box-sizing: border-box;
1211
- width: 42px;
1212
- height: 42px;
1213
- border: 1px solid var(--prts-line);
1214
- border-radius: 14px;
1215
- background-color: var(--prts-chat-avatar-surface);
1216
- box-shadow:
1217
- inset 0 1px rgba(255, 255, 255, .08),
1218
- 0 8px 20px var(--prts-chat-shadow);
1192
+ --prts-portrait-size: 60px;
1193
+ width: var(--prts-portrait-size);
1194
+ height: var(--prts-portrait-size);
1195
+ min-width: var(--prts-portrait-size);
1196
+ max-width: var(--prts-portrait-size);
1197
+ min-height: var(--prts-portrait-size);
1198
+ max-height: var(--prts-portrait-size);
1199
+ padding: 5px;
1200
+ aspect-ratio: 1;
1201
+ border: 0;
1202
+ corner-shape: round;
1203
+ border-radius: 50%;
1204
+ outline: none;
1205
+ background-color: transparent;
1206
+ background-origin: border-box, content-box, content-box;
1207
+ background-clip: border-box, content-box, content-box;
1208
+ background-position: center;
1209
+ background-size: 100% 100%, cover, auto;
1210
+ background-repeat: no-repeat;
1211
+ box-shadow: none;
1219
1212
  pointer-events: none;
1220
1213
  }
1221
1214
 
@@ -1223,96 +1216,81 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-ki
1223
1216
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::before {
1224
1217
  content: "";
1225
1218
  left: 0;
1226
- width: 44px;
1227
- height: 48px;
1228
- border-color: color-mix(in srgb, var(--prts-cyan) 42%, var(--prts-line));
1229
- border-radius: 14px 14px 16px 16px;
1219
+
1230
1220
  background-image:
1231
- var(--prts-assistant-avatar-image, none),
1232
- linear-gradient(145deg, rgba(255, 255, 255, .08), transparent 56%);
1233
- background-repeat: no-repeat;
1234
- background-position: center, center;
1235
- background-size: cover, auto;
1236
- box-shadow:
1237
- inset 0 -2px color-mix(in srgb, var(--prts-cyan) 72%, transparent),
1238
- inset 0 1px rgba(255, 255, 255, .08),
1239
- 0 8px 20px var(--prts-chat-shadow);
1221
+ var(--prts-avatar-ring-image),
1222
+ var(--prts-custom-assistant-avatar, var(--prts-assistant-avatar-image, none)),
1223
+ linear-gradient(var(--prts-chat-avatar-surface), var(--prts-chat-avatar-surface));
1224
+
1240
1225
  }
1241
1226
 
1242
1227
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering]))::after,
1243
1228
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1244
- content: "我";
1229
+ content: var(--prts-user-avatar-label, "我");
1245
1230
  right: 0;
1246
- border-color: color-mix(in srgb, var(--prts-yellow) 58%, var(--prts-line));
1247
- background:
1248
- linear-gradient(145deg, color-mix(in srgb, var(--prts-yellow) 18%, transparent), transparent 58%),
1249
- var(--prts-chat-avatar-surface);
1250
- color: color-mix(in srgb, var(--prts-yellow) 78%, var(--prts-ink));
1231
+
1232
+ background-image:
1233
+ var(--prts-avatar-ring-image), var(--prts-custom-user-avatar, none),
1234
+ linear-gradient(var(--prts-chat-avatar-surface), var(--prts-chat-avatar-surface));
1235
+ color: var(--prts-ink);
1251
1236
  font: 500 13px/1 var(--prts-mono);
1252
1237
  }
1253
1238
 
1254
1239
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"],
1255
1240
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1256
- border: 1px solid var(--prts-chat-user-edge) !important;
1257
- border-radius: 18px 6px 18px 18px !important;
1258
- padding: 13px 18px !important;
1259
- background:
1260
- linear-gradient(145deg, color-mix(in srgb, var(--prts-yellow) 10%, transparent), transparent 54%),
1261
- var(--prts-chat-user-surface) !important;
1241
+ position: relative;
1242
+ --prts-ink: #191c19;
1243
+ --prts-muted: #515851;
1244
+ --prts-canvas: #e0e4e0;
1245
+ --prts-cyan: #27616a;
1246
+ border: 0 !important;
1247
+ border-radius: 18px 0 18px 18px !important;
1248
+ padding: 10px 18px !important;
1249
+ background: var(--prts-chat-user-surface) !important;
1262
1250
  color: var(--prts-ink) !important;
1263
1251
  clip-path: none !important;
1264
- box-shadow:
1265
- inset 0 1px color-mix(in srgb, var(--prts-yellow) 22%, transparent),
1266
- 0 9px 24px var(--prts-chat-shadow) !important;
1252
+ box-shadow: none !important;
1267
1253
  overflow-wrap: anywhere;
1268
1254
  }
1269
1255
 
1270
1256
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1271
- width: calc(100% - 54px);
1257
+ width: calc(100% - 80px);
1272
1258
  margin-inline-start: auto;
1273
1259
  }
1274
1260
 
1275
1261
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1276
- right: -54px;
1262
+ right: -80px;
1277
1263
  }
1278
1264
 
1279
1265
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"] {
1280
- --prts-chat-link-x: -34px;
1281
1266
  position: relative;
1282
- width: calc(100% - 56px);
1283
- margin-inline-start: calc((100% - min(var(--dsh-chat-content-width, 748px), 100%)) / 2 + 56px);
1284
- padding: 16px 22px !important;
1285
- border: 1px solid var(--prts-chat-assistant-edge) !important;
1286
- border-radius: 6px 18px 18px 18px !important;
1287
- background:
1288
- linear-gradient(118deg, color-mix(in srgb, var(--prts-cyan) 6%, transparent), transparent 44%),
1289
- var(--prts-chat-assistant-surface) !important;
1267
+ width: calc(100% - 80px);
1268
+ margin-inline-start: calc((100% - min(var(--dsh-chat-content-width, 748px), 100%)) / 2 + 80px);
1269
+ padding: 12px 22px !important;
1270
+ border: 0 !important;
1271
+ border-radius: 0 18px 18px 18px !important;
1272
+ background: var(--prts-chat-assistant-surface) !important;
1290
1273
  color: var(--prts-ink) !important;
1291
- box-shadow:
1292
- inset 0 1px color-mix(in srgb, var(--prts-cyan) 10%, transparent),
1293
- 0 10px 28px var(--prts-chat-shadow) !important;
1274
+ box-shadow: none !important;
1294
1275
  overflow-wrap: anywhere;
1295
1276
  }
1296
1277
 
1297
1278
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::before {
1298
- left: -56px;
1279
+ left: -80px;
1299
1280
  }
1300
1281
 
1301
1282
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"]) [class$="_body"]:has(:is([data-markdown], [data-slot*="markdown" i], .markdown-body)),
1302
1283
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-prts-ai-surface] {
1284
+ position: relative;
1303
1285
  box-sizing: border-box;
1304
1286
  width: fit-content;
1305
1287
  max-width: 100%;
1306
- padding: 16px 22px !important;
1307
- border: 1px solid var(--prts-chat-assistant-edge) !important;
1308
- border-radius: 6px 18px 18px 18px !important;
1309
- background:
1310
- linear-gradient(118deg, color-mix(in srgb, var(--prts-cyan) 6%, transparent), transparent 44%),
1311
- var(--prts-chat-assistant-surface) !important;
1288
+ padding: 12px 22px !important;
1289
+ border: 0 !important;
1290
+ border-radius: 0 18px 18px 18px !important;
1291
+ background: var(--prts-chat-assistant-surface) !important;
1312
1292
  color: var(--prts-ink) !important;
1313
- box-shadow:
1314
- inset 0 1px color-mix(in srgb, var(--prts-cyan) 10%, transparent),
1315
- 0 10px 28px var(--prts-chat-shadow) !important;
1293
+ box-shadow: none !important;
1316
1294
  overflow-wrap: anywhere;
1317
1295
  }
1318
1296
 
@@ -1368,11 +1346,31 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1368
1346
  color: var(--prts-ink) !important;
1369
1347
  }
1370
1348
 
1349
+ /* Bordered Baker tables need inset cells and a scrollport inside the bubble. */
1371
1350
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1372
- [data-prts-ai-surface],
1373
- [data-message-role="assistant"]
1374
- ) blockquote {
1375
- border-inline-start: 3px solid var(--prts-cyan);
1351
+ [data-prts-ai-surface], [data-message-role="assistant"], [data-message-role="user"],
1352
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]
1353
+ ) {
1354
+ & :is(th,td){padding-inline:14px!important}
1355
+ & :is(.md-table-wide,[class*="_tableScroll_"]){
1356
+ box-sizing:border-box;width:100%;max-width:100%;min-width:0;
1357
+ margin-inline:0!important;padding:0!important;overflow:auto;
1358
+ border:1px solid color-mix(in srgb,var(--prts-cyan) 24%,var(--prts-line));
1359
+ border-radius:10px;corner-shape:round;
1360
+ background:color-mix(in srgb,var(--prts-canvas) 88%,transparent);
1361
+ & > table{border:0;background:transparent;margin:0;width:100%}
1362
+ }
1363
+ }
1364
+
1365
+ /* Group process avatars without changing reply alignment or final-answer avatars. */
1366
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-prts-avatar-hidden]::before{content:none!important}
1367
+
1368
+ /* Baker quote surfaces; classic prose retains the host styling. */
1369
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind],[data-message-role],[data-prts-ai-surface],[data-submission-echo]) blockquote {
1370
+ border-radius:10px;corner-shape:round;padding:8px 14px;
1371
+ border-inline-start:3px solid var(--prts-cyan)!important;
1372
+ & > :first-child{margin-top:0}
1373
+ & > :last-child{margin-bottom:0}
1376
1374
  }
1377
1375
 
1378
1376
  html[data-dsh-prts] [aria-invalid="true"],
@@ -1777,66 +1775,59 @@ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [d
1777
1775
 
1778
1776
  @media (max-width: 760px) {
1779
1777
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) {
1780
- padding-inline: 8px 50px;
1778
+ padding-inline: 8px 74px;
1781
1779
  }
1782
1780
 
1783
1781
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"]) {
1784
1782
  padding-inline: 0 8px;
1785
- padding-inline-start: 50px;
1783
+ padding-inline-start: 74px;
1786
1784
  }
1787
1785
 
1788
1786
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])::before,
1789
1787
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::before {
1790
1788
  left: 8px;
1791
- width: 34px;
1792
- height: 38px;
1793
- border-radius: 11px 11px 13px 13px;
1789
+ --prts-portrait-size: 52px;
1790
+ border-radius: 50%;
1794
1791
  }
1795
1792
 
1796
1793
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering]))::after,
1797
1794
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1798
1795
  right: 8px;
1799
- width: 34px;
1800
- height: 34px;
1801
- border-radius: 11px;
1796
+ --prts-portrait-size: 52px;
1797
+ border-radius: 50%;
1802
1798
  font-size: 11px;
1803
1799
  }
1804
1800
 
1805
1801
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"],
1806
1802
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1807
- padding: 11px 15px !important;
1808
- border-radius: 16px 5px 16px 16px !important;
1803
+ padding: 9px 15px !important;
1804
+ border-radius: 16px 0 16px 16px !important;
1809
1805
  }
1810
1806
 
1811
1807
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"]) [class$="_body"]:has(:is([data-markdown], [data-slot*="markdown" i], .markdown-body)),
1812
1808
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-prts-ai-surface],
1813
1809
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"] {
1814
- padding: 13px 16px !important;
1815
- border-radius: 5px 16px 16px 16px !important;
1810
+ padding: 10px 16px !important;
1811
+ border-radius: 0 16px 16px 16px !important;
1816
1812
  }
1817
1813
 
1818
1814
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1819
- width: calc(100% - 42px);
1815
+ width: calc(100% - 66px);
1820
1816
  }
1821
1817
 
1822
1818
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1823
- right: -42px;
1819
+ right: -66px;
1824
1820
  }
1825
1821
 
1826
1822
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"] {
1827
- --prts-chat-link-x: -25px;
1828
- width: calc(100% - 42px);
1829
- margin-inline-start: 42px;
1823
+ width: calc(100% - 66px);
1824
+ margin-inline-start: 66px;
1830
1825
  }
1831
1826
 
1832
1827
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::before {
1833
- left: -42px;
1828
+ left: -66px;
1834
1829
  }
1835
1830
 
1836
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])::after,
1837
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::after {
1838
- display: none;
1839
- }
1840
1831
  }
1841
1832
 
1842
1833
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
@@ -1907,3 +1898,17 @@ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [d
1907
1898
  transition-duration: .01ms !important;
1908
1899
  }
1909
1900
  }
1901
+
1902
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] {
1903
+ & :is([data-prts-ai-surface], [data-message-role="assistant"]) { --prts-bubble-surface: var(--prts-chat-assistant-surface); }
1904
+ & [data-prts-ai-surface]::before,
1905
+ & [data-message-role="assistant"]::after,
1906
+ & :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]::before,
1907
+ & [data-message-role="user"]::before {
1908
+ content: ""; position: absolute; top: 0; left: -9px; width: 10px; height: 18px; pointer-events: none;
1909
+ background: var(--prts-bubble-surface, var(--prts-chat-user-surface));
1910
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M0 0H10V18Q10 6 0 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
1911
+ }
1912
+ & :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]::before,
1913
+ & [data-message-role="user"]::before { left: auto; right: -9px; transform: scaleX(-1); }
1914
+ }
@@ -196,6 +196,8 @@ html[data-dsh-prts] [data-prts-composer-fallback]::after {
196
196
  position: absolute;
197
197
  z-index: 1;
198
198
  inset: 1px 1px 3px;
199
+ border: 0;
200
+ border-radius: 0;
199
201
  background: var(--prts-composer-surface, var(--prts-active-glass));
200
202
  clip-path: polygon(
201
203
  2px 0,
@@ -310,8 +312,7 @@ html[data-dsh-prts] :is(
310
312
  [data-composer-card] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
311
313
  [data-prts-composer-fallback] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
312
314
  [data-prts-glass-control],
313
- [data-prts-conversation-control]:not([data-prts-conversation-control="micro"]),
314
- [data-produced-files-row] > button[type="button"]
315
+ [data-prts-conversation-control]:not([data-prts-conversation-control="micro"], [data-prts-conversation-control="file"])
315
316
  ) {
316
317
  --prts-control-outline: var(--prts-line);
317
318
  --prts-control-surface: var(--prts-panel-raised);
@@ -333,8 +334,7 @@ html[data-dsh-prts] :is(
333
334
  [data-composer-card] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
334
335
  [data-prts-composer-fallback] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
335
336
  [data-prts-glass-control],
336
- [data-prts-conversation-control]:not([data-prts-conversation-control="micro"]),
337
- [data-produced-files-row] > button[type="button"]
337
+ [data-prts-conversation-control]:not([data-prts-conversation-control="micro"], [data-prts-conversation-control="file"])
338
338
  )::before {
339
339
  content: "";
340
340
  position: absolute;
@@ -353,8 +353,7 @@ html[data-dsh-prts] :is(
353
353
  [data-composer-card] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
354
354
  [data-prts-composer-fallback] button:not([data-slot="conversation.input.attachments"] *):not([data-prts-glass-menu] *):not([data-prts-floating-glass] *):not([role="menu"] *):not([role="listbox"] *),
355
355
  [data-prts-glass-control],
356
- [data-prts-conversation-control]:not([data-prts-conversation-control="micro"]),
357
- [data-produced-files-row] > button[type="button"]
356
+ [data-prts-conversation-control]:not([data-prts-conversation-control="micro"], [data-prts-conversation-control="file"])
358
357
  ):is(:hover, :focus-visible) {
359
358
  --prts-control-outline: var(--prts-yellow);
360
359
  }
@@ -442,3 +441,35 @@ html[data-dsh-prts] [data-prts-hero-active] [data-composer-seat] {
442
441
  align-self: end;
443
442
  justify-self: center;
444
443
  }
444
+
445
+ /* File presentations share one rounded material; preview hit targets stay native. */
446
+ html[data-dsh-prts] :is([data-presented-file],[data-changed-files],[data-prts-conversation-control="file"],[data-produced-files-row] > button[type="button"]){
447
+ border:1px solid var(--prts-glass-border)!important;
448
+ border-radius:10px!important;corner-shape:round!important;clip-path:none!important;
449
+ background:var(--prts-active-glass)!important;color:var(--prts-ink);
450
+ backdrop-filter:var(--prts-active-glass-filter);
451
+ &::before{content:none}
452
+ &:is(:hover,:focus-within){border-color:var(--prts-yellow)!important}
453
+ }
454
+ /* One surface for both single-file summaries and grouped changes. */
455
+ html[data-dsh-prts] [data-changed-files]{
456
+ overflow:hidden;
457
+ & button{background:transparent;backdrop-filter:none}
458
+ & button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--prts-yellow) 8%,transparent)}
459
+ & button:focus-visible{box-shadow:inset 0 0 0 2px var(--prts-yellow)}
460
+ }
461
+
462
+ /* Inline file references need their own inset, unlike full delivery cards. */
463
+ html[data-dsh-prts] [data-prts-conversation-control="file"]:is([class*="_fileLink"],[class*="_fileMention"]){
464
+ padding:4px 10px!important;max-width:100%;box-sizing:border-box;
465
+ white-space:normal;overflow-wrap:anywhere;
466
+ }
467
+
468
+ /* Baker user bubbles are light even when the surrounding shell is dark. */
469
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([class$="_bubble"],[data-message-role="user"]) [data-ref-chip="file"]{
470
+ background:color-mix(in srgb,var(--prts-cyan) 8%,var(--prts-canvas))!important;
471
+ border-color:color-mix(in srgb,var(--prts-cyan) 28%,transparent)!important;
472
+ color:var(--prts-cyan)!important;backdrop-filter:none!important;
473
+ padding:2px 7px!important;border-radius:6px!important;
474
+ &:is(:hover,:focus-visible){border-color:var(--prts-cyan)!important}
475
+ }
@@ -235,15 +235,11 @@ html[data-dsh-prts] [data-prts-settings-common] :is(
235
235
  [data-prts-setting-row="sessionGlow"],
236
236
  [data-prts-setting-row="sessionFlowPalette"],
237
237
  [data-prts-setting-row="sessionFlowColors"],
238
- [data-prts-setting-row="sessionFlowSpeed"],
239
- [data-prts-setting-row="conversationStyle"]
238
+ [data-prts-setting-row="sessionFlowSpeed"]
240
239
  ) {
241
240
  grid-column: 1 / -1;
242
241
  border-right: 0;
243
242
  }
244
- html[data-dsh-prts] [data-prts-settings-common] [data-prts-setting-row="conversationStyle"] {
245
- border-bottom: 0;
246
- }
247
243
  html[data-dsh-prts] [data-prts-setting-row] > div {
248
244
  min-width: 0;
249
245
  display: flex;
@@ -862,3 +858,60 @@ margin-bottom: 20px;
862
858
  & [data-prts-emblem-edit-bar] [data-prts-emblem-actions]{margin-left:auto;}
863
859
  @media(max-width:640px){& [data-prts-emblem-edit-body]{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px;}& [data-prts-emblem-edit-preview]{min-height:180px;}& [data-prts-emblem-preview]{max-width:220px;}}
864
860
  @media (max-width:720px){& [data-prts-emblem-list] [data-prts-emblem-actions]{flex-basis:100%;gap:5px;}}}
861
+
862
+ html[data-dsh-prts]{
863
+ [data-prts-avatars]{grid-column:1/-1;display:grid;gap:12px}
864
+ [data-prts-avatars][hidden]{display:none}
865
+ [data-prts-avatars] header{display:grid;gap:6px}
866
+ [data-prts-avatars] :is(small,p){font-size:12px;color:var(--prts-muted)}
867
+ [data-prts-avatar-row]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
868
+ [data-prts-avatar-preview]{display:grid;place-items:center;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-width:44px;max-width:44px;aspect-ratio:1;padding:5px;border:0;border-radius:50%;corner-shape:round;background-color:transparent;background-position:center;background-size:100% 100%,cover,auto;background-repeat:no-repeat;background-origin:border-box,content-box,content-box;background-clip:border-box,content-box,content-box}
869
+ [data-prts-avatar-preview="user"]{background-image:var(--prts-avatar-ring-image),var(--prts-custom-user-avatar,none),linear-gradient(var(--prts-chat-avatar-surface),var(--prts-chat-avatar-surface))}
870
+ [data-prts-avatar-preview="user"]::after{content:var(--prts-user-avatar-label,"我")}
871
+ [data-prts-avatar-preview="assistant"]{background-image:var(--prts-avatar-ring-image),var(--prts-custom-assistant-avatar,var(--prts-assistant-avatar-image,none)),linear-gradient(var(--prts-chat-avatar-surface),var(--prts-chat-avatar-surface))}
872
+ [data-prts-avatar-upload]{position:relative;padding:8px;border:1px solid var(--prts-line);cursor:pointer}
873
+ [data-prts-avatar-upload] input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
874
+ [data-prts-avatar-upload]:focus-within{outline:2px solid var(--prts-cyan)}
875
+ [data-prts-avatar-upload]:has(input:disabled){opacity:.4}
876
+
877
+ }
878
+
879
+ html[data-dsh-prts] [data-prts-avatar-crop]{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:24px;background:var(--prts-panel);color:var(--prts-ink);border:1px solid var(--prts-line);font:14px/1.5 var(--prts-body);
880
+ &::backdrop{background:#0009}
881
+ & canvas{display:block;width:100%;height:auto;aspect-ratio:1;margin:16px auto;border-radius:4px;corner-shape:round;outline:1px solid var(--prts-line-strong);touch-action:none;cursor:grab;background:var(--prts-canvas)}
882
+ & canvas:active{cursor:grabbing}
883
+ & label{display:flex;align-items:center;gap:12px}
884
+ & input{flex:1;min-width:0}
885
+ & p{font-size:12px;color:var(--prts-muted)}
886
+ & header,& [data-crop-tools]{display:flex;align-items:center;justify-content:space-between;gap:12px}
887
+ & [data-crop-tools] label{flex:1;min-width:0;gap:8px}
888
+ & [data-crop-tools] button{padding:6px;font-size:12px}
889
+ & footer{display:grid;grid-template-columns:1fr auto auto;gap:4px;border-top:1px solid var(--prts-line);padding-top:16px}
890
+ & footer span{display:none}
891
+ & footer button{padding:8px;font-size:12px}
892
+ & [data-crop-reset]{justify-self:start}
893
+ & [data-crop-reset],& [data-crop-cancel]{border-color:transparent;background:transparent}
894
+ & [data-crop-save]{background:var(--prts-yellow);color:#151a1d;border-color:var(--prts-yellow)}
895
+ & button{padding:8px 12px;background:var(--prts-panel-raised);color:var(--prts-ink);border:1px solid var(--prts-line)}
896
+ & button:disabled{opacity:.5}
897
+ }
898
+
899
+ html[data-dsh-prts]{
900
+ [data-prts-conversation-settings]{display:grid;gap:16px;padding:18px;border:1px solid var(--prts-line);background:var(--prts-panel)}
901
+ [data-prts-conversation-settings] header{display:grid;gap:5px}
902
+ [data-prts-conversation-settings] small{display:block;color:var(--prts-muted);font-size:12px;line-height:1.6}
903
+ [data-prts-conversation-cards]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
904
+ [data-prts-conversation-cards] button{display:grid;gap:6px;text-align:left;padding:14px;min-width:0;color:var(--prts-ink);background:var(--prts-canvas);border:1px solid var(--prts-line);cursor:pointer;font:inherit}
905
+ [data-prts-conversation-cards] button[aria-pressed="true"]{border-color:var(--prts-cyan);background:color-mix(in srgb,var(--prts-cyan) 7%,var(--prts-canvas))}
906
+ [data-prts-conversation-sample]{display:grid;gap:8px;height:48px;padding:8px;opacity:.7}
907
+ [data-prts-conversation-sample] i{width:70%;height:10px;background:var(--prts-muted)}
908
+ [data-prts-conversation-sample] i:first-child{justify-self:end;width:45%}
909
+ [data-prts-conversation-sample="baker"] i{height:16px;border-radius:5px;corner-shape:round}
910
+ [data-prts-avatar-choices]{display:flex;flex-wrap:wrap;gap:24px}
911
+ [data-prts-avatar-preview]{cursor:pointer;color:var(--prts-ink);font:inherit;box-shadow:none}
912
+ [data-prts-avatar-preview]:focus-visible{outline:2px solid var(--prts-cyan);outline-offset:3px}
913
+ [data-prts-avatar-preview]::before{display:none}
914
+ [data-prts-avatars]{padding-top:16px;border-top:1px solid var(--prts-line)}
915
+ [data-prts-avatar-crop] [data-prts-avatar-upload]{padding:6px 10px;font-size:12px}
916
+ }
917
+ @media(max-width:480px){html[data-dsh-prts] [data-prts-conversation-cards]{grid-template-columns:1fr}}