@ash-qw/dsh-theme-prts 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1120,14 +1120,15 @@ html[data-dsh-prts] [data-width-handle]:not([data-dragging]) {
1120
1120
  z-index: 3;
1121
1121
  }
1122
1122
 
1123
+ /* Local submission echoes precede the durable user node; style both on first paint. */
1123
1124
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"],
1124
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] {
1125
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) {
1125
1126
  position: relative;
1126
1127
  color: var(--prts-ink);
1127
1128
  }
1128
1129
 
1129
1130
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"],
1130
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] [class$="_bubble"] {
1131
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"] {
1131
1132
  border: 1px solid var(--prts-line-strong) !important;
1132
1133
  border-left: 4px solid var(--prts-yellow) !important;
1133
1134
  border-radius: var(--prts-radius-card) !important;
@@ -1138,23 +1139,23 @@ html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind=
1138
1139
  }
1139
1140
 
1140
1141
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"] :is([data-markdown], [class*="markdown" i]),
1141
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] [class$="_bubble"] :is([data-markdown], [class*="markdown" i]) {
1142
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"] :is([data-markdown], [class*="markdown" i]) {
1142
1143
  background: transparent !important;
1143
1144
  }
1144
1145
 
1145
1146
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"] :is(pre, table, blockquote),
1146
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] [class$="_bubble"] :is(pre, table, blockquote) {
1147
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"] :is(pre, table, blockquote) {
1147
1148
  border: 1px solid var(--prts-line);
1148
1149
  background: var(--prts-glass-dense);
1149
1150
  }
1150
1151
 
1151
1152
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"] :is(pre, code),
1152
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] [class$="_bubble"] :is(pre, code) {
1153
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"] :is(pre, code) {
1153
1154
  font-family: var(--prts-mono) !important;
1154
1155
  }
1155
1156
 
1156
1157
  html[data-dsh-prts][data-prts-conversation-style="native"] [data-message-role="user"] pre,
1157
- html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind="user"] [class$="_bubble"] pre {
1158
+ html[data-dsh-prts][data-prts-conversation-style="native"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"] pre {
1158
1159
  max-width: 100%;
1159
1160
  overflow: auto;
1160
1161
  padding: 14px;
@@ -1163,7 +1164,7 @@ html[data-dsh-prts][data-prts-conversation-style="native"] [data-chat-flow-kind=
1163
1164
  }
1164
1165
 
1165
1166
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1166
- [data-chat-flow-kind="user"],
1167
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])),
1167
1168
  [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])
1168
1169
  ) {
1169
1170
  position: relative;
@@ -1171,7 +1172,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1171
1172
  overflow: visible;
1172
1173
  }
1173
1174
 
1174
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"] {
1175
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) {
1175
1176
  padding-inline-end: 54px;
1176
1177
  color: var(--prts-ink);
1177
1178
  }
@@ -1200,7 +1201,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role
1200
1201
  }
1201
1202
 
1202
1203
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="assistant-step"]:not([data-chat-group-part="reasoning"])::before,
1203
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"]::after,
1204
+ 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
1205
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="assistant"]::before,
1205
1206
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1206
1207
  position: absolute;
@@ -1240,7 +1241,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role
1240
1241
  0 8px 20px var(--prts-chat-shadow);
1241
1242
  }
1242
1243
 
1243
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"]::after,
1244
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering]))::after,
1244
1245
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1245
1246
  content: "我";
1246
1247
  right: 0;
@@ -1252,7 +1253,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role
1252
1253
  font: 500 13px/1 var(--prts-mono);
1253
1254
  }
1254
1255
 
1255
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"] [class$="_bubble"],
1256
+ 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"],
1256
1257
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1257
1258
  border: 1px solid var(--prts-chat-user-edge) !important;
1258
1259
  border-radius: 18px 6px 18px 18px !important;
@@ -1332,7 +1333,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1332
1333
  [data-prts-ai-surface],
1333
1334
  [data-message-role="assistant"],
1334
1335
  [data-message-role="user"],
1335
- [data-chat-flow-kind="user"] [class$="_bubble"]
1336
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]
1336
1337
  ) :is([data-markdown], [class*="markdown" i]) {
1337
1338
  background: transparent !important;
1338
1339
  }
@@ -1341,7 +1342,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1341
1342
  [data-prts-ai-surface],
1342
1343
  [data-message-role="assistant"],
1343
1344
  [data-message-role="user"],
1344
- [data-chat-flow-kind="user"] [class$="_bubble"]
1345
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]
1345
1346
  ) :is(pre, table, blockquote) {
1346
1347
  border: 1px solid color-mix(in srgb, var(--prts-cyan) 24%, var(--prts-line));
1347
1348
  background: color-mix(in srgb, var(--prts-canvas) 88%, transparent);
@@ -1351,7 +1352,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1351
1352
  [data-prts-ai-surface],
1352
1353
  [data-message-role="assistant"],
1353
1354
  [data-message-role="user"],
1354
- [data-chat-flow-kind="user"] [class$="_bubble"]
1355
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]
1355
1356
  ) :is(pre, code) {
1356
1357
  font-family: var(--prts-mono) !important;
1357
1358
  }
@@ -1360,7 +1361,7 @@ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is(
1360
1361
  [data-prts-ai-surface],
1361
1362
  [data-message-role="assistant"],
1362
1363
  [data-message-role="user"],
1363
- [data-chat-flow-kind="user"] [class$="_bubble"]
1364
+ :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) [class$="_bubble"]
1364
1365
  ) pre {
1365
1366
  max-width: 100%;
1366
1367
  overflow: auto;
@@ -1785,7 +1786,7 @@ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [d
1785
1786
  }
1786
1787
 
1787
1788
  @media (max-width: 760px) {
1788
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"] {
1789
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering])) {
1789
1790
  padding-inline: 8px 50px;
1790
1791
  }
1791
1792
 
@@ -1802,7 +1803,7 @@ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [d
1802
1803
  border-radius: 11px 11px 13px 13px;
1803
1804
  }
1804
1805
 
1805
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"]::after,
1806
+ html[data-dsh-prts][data-prts-conversation-style="deck-chat"] :is([data-chat-flow-kind="user"], [data-submission-echo]:not([data-pending-steering]))::after,
1806
1807
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"]::after {
1807
1808
  right: 8px;
1808
1809
  width: 34px;
@@ -1811,7 +1812,7 @@ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [d
1811
1812
  font-size: 11px;
1812
1813
  }
1813
1814
 
1814
- html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-chat-flow-kind="user"] [class$="_bubble"],
1815
+ 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"],
1815
1816
  html[data-dsh-prts][data-prts-conversation-style="deck-chat"] [data-message-role="user"] {
1816
1817
  padding: 11px 15px !important;
1817
1818
  border-radius: 16px 5px 16px 16px !important;
@@ -187,7 +187,7 @@ html[data-dsh-prts] [data-prts-settings-common] > header {
187
187
 
188
188
  html[data-dsh-prts] [data-prts-settings-presets] > header span,
189
189
  html[data-dsh-prts] [data-prts-settings-common] > header span,
190
- html[data-dsh-prts] [data-prts-settings-advanced] summary > span {
190
+ html[data-dsh-prts] [data-prts-settings-advanced] > [data-prts-section-heading] > span {
191
191
  display: flex;
192
192
  align-items: baseline;
193
193
  gap: 9px;
@@ -195,7 +195,7 @@ html[data-dsh-prts] [data-prts-settings-advanced] summary > span {
195
195
 
196
196
  html[data-dsh-prts] [data-prts-settings-presets] > header strong,
197
197
  html[data-dsh-prts] [data-prts-settings-common] > header strong,
198
- html[data-dsh-prts] [data-prts-settings-advanced] summary strong {
198
+ html[data-dsh-prts] [data-prts-settings-advanced] > [data-prts-section-heading] strong {
199
199
  font: 800 13px/1 var(--prts-display);
200
200
  letter-spacing: .05em;
201
201
  }
@@ -459,31 +459,16 @@ html[data-dsh-prts] [data-prts-theme-settings] input:focus-visible {
459
459
  outline-offset: 2px;
460
460
  }
461
461
 
462
- html[data-dsh-prts] [data-prts-settings-advanced] summary {
462
+ html[data-dsh-prts] [data-prts-settings-advanced] > [data-prts-section-heading] {
463
463
  min-height: 52px;
464
464
  display: flex;
465
465
  align-items: center;
466
466
  justify-content: space-between;
467
467
  gap: 12px;
468
468
  padding: 11px;
469
- cursor: pointer;
470
469
  list-style: none;
471
470
  }
472
471
 
473
- html[data-dsh-prts] [data-prts-settings-advanced] summary::-webkit-details-marker { display: none; }
474
- html[data-dsh-prts] [data-prts-settings-advanced] summary::after {
475
- content: "+";
476
- width: 24px;
477
- height: 24px;
478
- display: grid;
479
- place-items: center;
480
- margin-left: 2px;
481
- border: 1px solid var(--prts-line);
482
- color: var(--prts-cyan);
483
- font: 800 13px/1 var(--prts-mono);
484
- }
485
-
486
- html[data-dsh-prts] [data-prts-settings-advanced][open] summary::after { content: "−"; }
487
472
  html[data-dsh-prts] [data-prts-settings-advanced-content] {
488
473
  display: grid;
489
474
  grid-template-columns: minmax(0, 1fr);
@@ -615,7 +600,7 @@ html[data-dsh-prts] :is(
615
600
  html[data-dsh-prts] :is(
616
601
  [data-prts-settings-presets] > header strong,
617
602
  [data-prts-settings-common] > header strong,
618
- [data-prts-settings-advanced] summary strong,
603
+ [data-prts-settings-advanced] > [data-prts-section-heading] strong,
619
604
  [data-prts-preset-card] strong,
620
605
  [data-prts-settings-common] [data-prts-setting-row] > span > strong,
621
606
  [data-prts-settings-advanced-content] section > header strong,
@@ -812,7 +797,7 @@ html[data-dsh-prts] [data-prts-theme-settings] :is([data-prts-settings-presets],
812
797
  border: 0;
813
798
  }
814
799
  html[data-dsh-prts] [data-prts-theme-settings] :is([data-prts-settings-presets], [data-prts-settings-common]) > header strong,
815
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced] summary strong {
800
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced] > [data-prts-section-heading] strong {
816
801
  font: 650 16px/1.5 var(--prts-body);
817
802
  letter-spacing: 0;
818
803
  }
@@ -869,16 +854,18 @@ html[data-dsh-prts] [data-prts-theme-settings] button[data-prts-setting-key].is-
869
854
  border-color: color-mix(in srgb, var(--prts-yellow) 70%, transparent);
870
855
  color: var(--prts-ink);
871
856
  }
872
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-row="sessionFlowPalette"] > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
873
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-row="sessionFlowColors"] { grid-template-columns: minmax(0, 1fr); }
874
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced] { border-top: 1px solid var(--prts-line); }
875
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced] summary { padding: 22px 0; }
876
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced] summary::after { border: 0; color: var(--prts-muted); }
877
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced-content] { border: 0; }
878
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced-content] > section { padding: 0 0 20px; }
879
- html[data-dsh-prts] [data-prts-theme-settings] :is([data-prts-advanced-summary], [data-prts-session-flow-speed-output], [data-prts-particle-traversal-output]) { color: var(--prts-muted); font-size: 12px; font-weight: 400; }
880
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-actions] { padding-top: 24px; border-top: 1px solid var(--prts-line); }
881
- html[data-dsh-prts] [data-prts-theme-settings] [data-prts-reset-zone] { padding: 0; }
857
+ html[data-dsh-prts] [data-prts-theme-settings] {
858
+ & [data-prts-setting-row="sessionFlowPalette"] > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
859
+ & [data-prts-setting-row="sessionFlowColors"] { grid-template-columns: minmax(0, 1fr); }
860
+ & [data-prts-settings-advanced] { border-top: 1px solid var(--prts-line); }
861
+ & [data-prts-settings-advanced] > [data-prts-section-heading] { padding: 22px 0; }
862
+ & [data-prts-settings-section][hidden] { display: none !important; }
863
+ & [data-prts-settings-advanced-content] { border: 0; }
864
+ & [data-prts-settings-advanced-content] > section { padding: 0 0 20px; }
865
+ & :is([data-prts-advanced-summary], [data-prts-session-flow-speed-output], [data-prts-particle-traversal-output]) { color: var(--prts-muted); font-size: 12px; font-weight: 400; }
866
+ & [data-prts-settings-actions] { padding-top: 24px; border-top: 1px solid var(--prts-line); }
867
+ & [data-prts-reset-zone] { padding: 0; }
868
+ }
882
869
  @media (max-width: 720px) {
883
870
  html[data-dsh-prts] [data-prts-theme-settings] { width: 100vw; height: 100dvh; max-height: none; }
884
871
  html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-frame] { border-radius: 0; }
@@ -893,3 +880,101 @@ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-reset-zone] { padding:
893
880
  html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row] { grid-template-columns: minmax(0, 1fr); gap: 10px; }
894
881
  html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row]:has(> [data-prts-setting-switch]) { grid-template-columns: minmax(0, 1fr) auto; gap: 20px; }
895
882
  }
883
+
884
+ html[data-dsh-prts] [data-prts-theme-settings] {
885
+ /* Four navigation destinations, each with one continuous settings surface. */
886
+ & [data-prts-theme-settings-scroll] {
887
+ padding: 20px 24px 28px;
888
+ background: var(--prts-canvas);
889
+ }
890
+ & [data-prts-settings-section] {
891
+ margin: 0 0 28px;
892
+ padding: 0 20px 8px;
893
+ border: 1px solid var(--prts-line);
894
+ border-radius: 6px;
895
+ background: var(--prts-panel);
896
+ scroll-margin-top: 16px;
897
+ }
898
+ & [data-prts-settings-section] > [data-prts-section-heading] {
899
+ display: flex;
900
+ align-items: center;
901
+ justify-content: space-between;
902
+ gap: 12px;
903
+ min-height: 76px;
904
+ margin: 0 -20px 8px;
905
+ padding: 18px 20px;
906
+ border: 0;
907
+ border-bottom: 1px solid var(--prts-line);
908
+ border-radius: 5px 5px 0 0;
909
+ background: var(--prts-panel-raised);
910
+ }
911
+ & [data-prts-settings-section] > [data-prts-section-heading] > span {
912
+ display: grid;
913
+ gap: 5px;
914
+ }
915
+ & [data-prts-settings-section] > [data-prts-section-heading] strong {
916
+ font: 650 18px/1.4 var(--prts-body);
917
+ letter-spacing: 0;
918
+ }
919
+ & [data-prts-settings-section] > [data-prts-section-heading] small {
920
+ color: var(--prts-muted);
921
+ font: 400 12px/1.5 var(--prts-body);
922
+ }
923
+ & [data-prts-settings-section="appearance"] > section {
924
+ margin-bottom: 8px;
925
+ }
926
+ & [data-prts-settings-section="appearance"] > section > header {
927
+ padding: 16px 0 10px;
928
+ }
929
+ & [data-prts-settings-section="appearance"] > section > header strong {
930
+ font-size: 13px;
931
+ color: var(--prts-muted);
932
+ }
933
+ & [data-prts-settings-jump][aria-selected="true"] {
934
+ color: var(--prts-ink);
935
+ background: var(--prts-panel-raised);
936
+ box-shadow: inset 3px 0 var(--prts-yellow);
937
+ }
938
+ @media (max-width: 720px) {
939
+ & [data-prts-theme-settings-scroll] { padding: 16px 12px 24px; }
940
+ & [data-prts-settings-section] { padding-inline: 14px; margin-bottom: 24px; }
941
+ & [data-prts-settings-section] > [data-prts-section-heading] { margin-inline: -14px; padding-inline: 14px; flex-wrap: wrap; gap: 4px 12px; }
942
+ & [data-prts-settings-jump][aria-selected="true"] { box-shadow: inset 0 -3px var(--prts-yellow); }
943
+ }
944
+
945
+ & [data-prts-custom-emblem] {
946
+ display: grid;
947
+ gap: 14px;
948
+ padding-block: 16px 24px;
949
+ border-bottom: 1px solid var(--prts-line);
950
+ margin-bottom: 20px;
951
+ }
952
+ & [data-prts-custom-emblem] header { display: grid; gap: 6px; }
953
+ & [data-prts-custom-emblem] :is(small, p) { font: 400 12px/1.6 var(--prts-body); color: var(--prts-muted); margin: 0; }
954
+ & [data-prts-custom-emblem] label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; font-size: 13px; }
955
+ & [data-prts-emblem-editor] { display: grid; gap: 14px; }
956
+ & [data-prts-custom-emblem] :is(input,select) { min-width: 0; max-width: 100%; }
957
+ & [data-prts-custom-emblem] select { padding: 8px; background: var(--prts-panel-raised); color: var(--prts-ink); border: 1px solid var(--prts-line); }
958
+ & [data-prts-emblem-preview] { width: min(100%, 280px); height: auto; justify-self: center; border: 1px solid var(--prts-line); border-radius: 4px; }
959
+ & [data-prts-emblem-actions] { display: flex; flex-wrap: wrap; gap: 10px; }
960
+ & [data-prts-emblem-actions] button { padding: 10px 14px; border: 1px solid var(--prts-line); border-radius: 4px; color: var(--prts-ink); background: var(--prts-panel-raised); }
961
+ & [data-prts-emblem-actions] button:disabled { opacity: .45; }
962
+ & [data-prts-custom-emblem] h4 { margin: 8px 0 12px; font: 600 14px/1.5 var(--prts-body); }
963
+ & [data-prts-emblem-list] { display: grid; gap: 10px; list-style: none; padding: 0; margin: 14px 0; }
964
+ & :is([data-prts-emblem-list] > li, [data-prts-emblem-hero-row]) { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px; border: 1px solid var(--prts-line); border-radius: 4px; }
965
+ & :is([data-prts-emblem-list], [data-prts-emblem-hero-row]) canvas { width: 48px; height: 48px; flex: none; border-radius: 3px; }
966
+ & :is([data-prts-emblem-list] > li, [data-prts-emblem-hero-row]) > span { flex: 1; min-width: 100px; overflow-wrap: anywhere; font-size: 13px; }
967
+ & [data-emblem-action] { padding: 7px 10px; border: 1px solid var(--prts-line); border-radius: 4px; background: var(--prts-panel-raised); color: var(--prts-ink); }
968
+ & [data-emblem-action]:disabled { opacity: .4; }
969
+ & [data-prts-emblem-reorder] { padding: 0; border: 0; background: transparent; cursor: grab; }
970
+ & [data-emblem-key] {user-select:none;-webkit-touch-callout:none}
971
+ & [data-prts-emblem-reorder]:focus-visible { outline: 2px solid var(--prts-ink); outline-offset: 3px; }
972
+ & [data-prts-emblem-sorting] { user-select: none; }
973
+ & [data-prts-emblem-dragging] { opacity: .35; border-style: dashed !important; }
974
+ & [data-prts-emblem-drag-ghost] { background: var(--prts-panel-raised); box-shadow: 0 8px 28px #0005; opacity: .95; }
975
+ & [data-prts-emblem-workspace] { display: grid; gap: 14px; padding: 16px 0; border-top: 1px solid var(--prts-line); }
976
+ @media (max-width:720px) {
977
+ & [data-prts-emblem-list] [data-prts-emblem-actions] { flex-basis: 100%; gap: 5px; }
978
+ }
979
+
980
+ }