@ash-qw/dsh-theme-prts 1.0.4 → 1.0.6

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 (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.en.md +1 -1
  3. package/README.md +1 -1
  4. package/THIRD_PARTY_NOTICES.md +4 -4
  5. package/THIRD_PARTY_NOTICES.zh-CN.md +4 -4
  6. package/lib/client.js +226 -45
  7. package/package.json +1 -1
  8. package/src/assets/cursors/animation.json +83 -1
  9. package/src/assets/cursors/prts-link-hold.png +0 -0
  10. package/src/assets/cursors/prts-link-press-00.png +0 -0
  11. package/src/assets/cursors/prts-link-press-01.png +0 -0
  12. package/src/assets/cursors/prts-link-press-02.png +0 -0
  13. package/src/assets/cursors/prts-link-press-03.png +0 -0
  14. package/src/assets/cursors/prts-link-press-04.png +0 -0
  15. package/src/assets/cursors/prts-link-press-05.png +0 -0
  16. package/src/assets/cursors/prts-link-release-00.png +0 -0
  17. package/src/assets/cursors/prts-link-release-01.png +0 -0
  18. package/src/assets/cursors/prts-link-release-02.png +0 -0
  19. package/src/assets/cursors/prts-link-release-03.png +0 -0
  20. package/src/assets/cursors/prts-link-release-04.png +0 -0
  21. package/src/assets/cursors/prts-link-release-05.png +0 -0
  22. package/src/assets/cursors/prts-link-release-06.png +0 -0
  23. package/src/assets/cursors/prts-link-release-07.png +0 -0
  24. package/src/assets/cursors/prts-link-release-08.png +0 -0
  25. package/src/assets/cursors/prts-link-release-09.png +0 -0
  26. package/src/assets/cursors/prts-link-release-10.png +0 -0
  27. package/src/assets/cursors/prts-link-release-11.png +0 -0
  28. package/src/assets/cursors/prts-link.png +0 -0
  29. package/src/assets/cursors/prts-resize-ew.png +0 -0
  30. package/src/assets/cursors/prts-resize-nesw.png +0 -0
  31. package/src/assets/cursors/prts-resize-ns.png +0 -0
  32. package/src/assets/cursors/prts-resize-nwse.png +0 -0
  33. package/src/client/conversation-control-adapter.js +3 -1
  34. package/src/client/cursor-adapter.js +143 -34
  35. package/src/client/theme-settings-workbench.js +84 -7
  36. package/src/styles/cursor.css +5 -1
  37. package/src/styles/prts.css +26 -25
  38. package/src/styles/theme-settings-workbench.css +230 -0
@@ -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;
@@ -1712,7 +1713,7 @@ html[data-dsh-prts-settings] .prts-plugin-settings__copy strong {
1712
1713
  font-weight: 600;
1713
1714
  }
1714
1715
 
1715
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] {
1716
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]) {
1716
1717
  position: relative;
1717
1718
  width: 42px;
1718
1719
  height: 24px;
@@ -1725,7 +1726,7 @@ html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] {
1725
1726
  cursor: pointer;
1726
1727
  }
1727
1728
 
1728
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] > span {
1729
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]) > span {
1729
1730
  position: absolute;
1730
1731
  top: 3px;
1731
1732
  left: 3px;
@@ -1736,22 +1737,22 @@ html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] > span
1736
1737
  transition: transform 120ms ease;
1737
1738
  }
1738
1739
 
1739
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'].is-active {
1740
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]).is-active {
1740
1741
  background: var(--color-primary, #d9b800);
1741
1742
  color: #111;
1742
1743
  }
1743
1744
 
1744
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'].is-active > span {
1745
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]).is-active > span {
1745
1746
  transform: translateX(18px);
1746
1747
  }
1747
1748
 
1748
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch']:disabled {
1749
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]):disabled {
1749
1750
  cursor: not-allowed;
1750
1751
  opacity: .45;
1751
1752
  }
1752
1753
 
1753
1754
  @media (prefers-reduced-motion: reduce) {
1754
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] > span {
1755
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]) > span {
1755
1756
  transition: none;
1756
1757
  }
1757
1758
  }
@@ -1763,7 +1764,7 @@ html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch']:disable
1763
1764
  gap: 10px;
1764
1765
  }
1765
1766
 
1766
- html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] {
1767
+ html[data-dsh-prts-settings] :is(.prts-plugin-settings button[role='switch'], [data-prts-setting-switch]) {
1767
1768
  align-self: flex-end;
1768
1769
  }
1769
1770
  }
@@ -1785,7 +1786,7 @@ html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch']:disable
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] .prts-plugin-settings button[role='switch']:disable
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] .prts-plugin-settings button[role='switch']:disable
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;
@@ -262,6 +262,7 @@ html[data-dsh-prts] [data-prts-settings-common] [data-prts-setting-row] {
262
262
  html[data-dsh-prts] [data-prts-settings-common] [data-prts-setting-row]:nth-child(2n) { border-right: 0; }
263
263
 
264
264
  html[data-dsh-prts] [data-prts-settings-common] :is(
265
+ [data-prts-setting-row="sessionGlow"],
265
266
  [data-prts-setting-row="sessionFlowPalette"],
266
267
  [data-prts-setting-row="sessionFlowColors"],
267
268
  [data-prts-setting-row="sessionFlowSpeed"],
@@ -731,3 +732,232 @@ html[data-dsh-prts] :is(
731
732
  html[data-dsh-prts] [data-prts-theme-settings]::backdrop,
732
733
  html[data-dsh-prts] [data-prts-settings-backdrop] { background: color-mix(in srgb, var(--prts-canvas) 94%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
733
734
  }
735
+
736
+ html[data-dsh-prts] [data-prts-setting-row] > [data-prts-setting-switch] {
737
+ justify-self: end;
738
+ }
739
+
740
+ /* Grouped settings: quiet surfaces, consistent rows, one accent. */
741
+ html[data-dsh-prts] [data-prts-theme-settings] {
742
+ width: min(clamp(56rem, 62vw, 68rem), calc(100vw - 3rem));
743
+ height: min(48rem, calc(100dvh - 3rem));
744
+ max-height: calc(100dvh - 3rem);
745
+ }
746
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-frame] {
747
+ height: 100%;
748
+ clip-path: none;
749
+ border-radius: 8px;
750
+ background: var(--prts-panel);
751
+ border-color: color-mix(in srgb, var(--prts-line) 70%, transparent);
752
+ }
753
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-frame]::before { content: none; }
754
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-header] {
755
+ min-height: 88px;
756
+ padding: 20px 72px 20px 28px;
757
+ background: transparent;
758
+ border-color: color-mix(in srgb, var(--prts-line) 60%, transparent);
759
+ }
760
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-header] strong {
761
+ font-size: 22px;
762
+ letter-spacing: 0;
763
+ line-height: 1.3;
764
+ }
765
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-header] small { font-weight: 500; letter-spacing: .08em; }
766
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-close] { top: 25px; right: 22px; border-radius: 4px; background: transparent; }
767
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-summary] span {
768
+ box-shadow: none;
769
+ background: transparent;
770
+ color: var(--prts-muted);
771
+ clip-path: none;
772
+ font-weight: 500;
773
+ }
774
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-body] {
775
+ min-height: 0;
776
+ display: grid;
777
+ grid-template-columns: 148px minmax(0, 1fr);
778
+ }
779
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-nav] {
780
+ display: flex;
781
+ flex-direction: column;
782
+ gap: 6px;
783
+ padding: 24px 14px;
784
+ border-right: 1px solid color-mix(in srgb, var(--prts-line) 45%, transparent);
785
+ background: color-mix(in srgb, var(--prts-canvas) 35%, var(--prts-panel));
786
+ }
787
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump] {
788
+ text-align: left;
789
+ min-height: 42px;
790
+ padding: 10px 14px;
791
+ border: 0;
792
+ border-radius: 4px;
793
+ background: transparent;
794
+ color: var(--prts-muted);
795
+ font: 500 14px/1.4 var(--prts-body);
796
+ }
797
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump]:hover,
798
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump]:focus-visible {
799
+ color: var(--prts-ink);
800
+ background: var(--prts-panel-raised);
801
+ }
802
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-scroll] { padding: 8px 28px 28px; }
803
+ html[data-dsh-prts] [data-prts-theme-settings] :is([data-prts-settings-presets], [data-prts-settings-common], [data-prts-settings-advanced], [data-prts-settings-actions]) {
804
+ border: 0;
805
+ background: transparent;
806
+ overflow: visible;
807
+ margin: 0 0 18px;
808
+ }
809
+ html[data-dsh-prts] [data-prts-theme-settings] :is([data-prts-settings-presets], [data-prts-settings-common]) > header {
810
+ min-height: auto;
811
+ padding: 24px 0 12px;
812
+ border: 0;
813
+ }
814
+ 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 {
816
+ font: 650 16px/1.5 var(--prts-body);
817
+ letter-spacing: 0;
818
+ }
819
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-presets] > div { gap: 8px; }
820
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-preset-card] {
821
+ min-height: 94px;
822
+ padding: 14px !important;
823
+ border: 1px solid var(--prts-line) !important;
824
+ border-radius: 5px;
825
+ box-shadow: none;
826
+ gap: 8px;
827
+ }
828
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-preset-card].is-selected {
829
+ border-color: var(--prts-yellow) !important;
830
+ background: color-mix(in srgb, var(--prts-yellow) 7%, var(--prts-panel)) !important;
831
+ box-shadow: none;
832
+ }
833
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-preset-card] span {
834
+ white-space: normal;
835
+ color: var(--prts-muted);
836
+ font-weight: 400;
837
+ line-height: 1.6;
838
+ }
839
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common-grid] { grid-template-columns: minmax(0, 1fr); }
840
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row] {
841
+ display: grid;
842
+ grid-template-columns: minmax(150px, .85fr) minmax(0, 1.6fr);
843
+ min-height: 76px;
844
+ gap: 20px;
845
+ padding: 16px 0;
846
+ border: 0;
847
+ border-bottom: 1px solid color-mix(in srgb, var(--prts-line) 45%, transparent);
848
+ align-items: center;
849
+ }
850
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row]:last-child { border-bottom: 0; }
851
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-note] {
852
+ color: var(--prts-muted);
853
+ font: 400 12px/1.65 var(--prts-body);
854
+ }
855
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-row] > span > strong { font-weight: 550; line-height: 1.5; }
856
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-row] > div { gap: 4px; }
857
+ html[data-dsh-prts] [data-prts-theme-settings] button[data-prts-setting-key]:not([data-prts-preset-card]) {
858
+ border-radius: 4px;
859
+ border: 1px solid transparent;
860
+ background: var(--prts-panel-raised);
861
+ color: var(--prts-muted);
862
+ font-weight: 500;
863
+ min-height: 40px;
864
+ padding: 8px;
865
+ box-shadow: none;
866
+ }
867
+ html[data-dsh-prts] [data-prts-theme-settings] button[data-prts-setting-key].is-selected:not([data-prts-preset-card]) {
868
+ background: color-mix(in srgb, var(--prts-yellow) 12%, var(--prts-panel));
869
+ border-color: color-mix(in srgb, var(--prts-yellow) 70%, transparent);
870
+ color: var(--prts-ink);
871
+ }
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; }
882
+ @media (max-width: 720px) {
883
+ html[data-dsh-prts] [data-prts-theme-settings] { width: 100vw; height: 100dvh; max-height: none; }
884
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-frame] { border-radius: 0; }
885
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-header] { min-height: 76px; padding: 16px 58px 16px 20px; }
886
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-close] { top: 20px; right: 14px; }
887
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-body] { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
888
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-nav] { flex-direction: row; padding: 8px 12px; gap: 0; border: 0; border-bottom: 1px solid var(--prts-line); }
889
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump] { flex: 1; text-align: center; padding: 10px 4px; font-size: 13px; white-space: nowrap; }
890
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-scroll] { padding: 0 20px 24px; }
891
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-presets] > div { grid-template-columns: minmax(0, 1fr); }
892
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-preset-card] { min-height: 70px; }
893
+ 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
+ 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
+ }
896
+
897
+ /* Four navigation destinations, each with one continuous settings surface. */
898
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-scroll] {
899
+ padding: 20px 24px 28px;
900
+ background: var(--prts-canvas);
901
+ }
902
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] {
903
+ margin: 0 0 28px;
904
+ padding: 0 20px 8px;
905
+ border: 1px solid var(--prts-line);
906
+ border-radius: 6px;
907
+ background: var(--prts-panel);
908
+ scroll-margin-top: 16px;
909
+ }
910
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] > [data-prts-section-heading] {
911
+ display: flex;
912
+ align-items: center;
913
+ justify-content: space-between;
914
+ gap: 12px;
915
+ min-height: 76px;
916
+ margin: 0 -20px 8px;
917
+ padding: 18px 20px;
918
+ border: 0;
919
+ border-bottom: 1px solid var(--prts-line);
920
+ border-radius: 5px 5px 0 0;
921
+ background: var(--prts-panel-raised);
922
+ }
923
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] > [data-prts-section-heading] > span {
924
+ display: grid;
925
+ gap: 5px;
926
+ }
927
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] > [data-prts-section-heading] strong {
928
+ font: 650 18px/1.4 var(--prts-body);
929
+ letter-spacing: 0;
930
+ }
931
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] > [data-prts-section-heading] small {
932
+ color: var(--prts-muted);
933
+ font: 400 12px/1.5 var(--prts-body);
934
+ }
935
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section="appearance"] > section {
936
+ margin-bottom: 8px;
937
+ }
938
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section="appearance"] > section > header {
939
+ padding: 16px 0 10px;
940
+ }
941
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section="appearance"] > section > header strong {
942
+ font-size: 13px;
943
+ color: var(--prts-muted);
944
+ }
945
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced]:not([open]) {
946
+ padding-bottom: 0;
947
+ }
948
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-advanced]:not([open]) > summary {
949
+ margin-bottom: 0;
950
+ border-bottom: 0;
951
+ border-radius: 5px;
952
+ }
953
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump][aria-current="location"] {
954
+ color: var(--prts-ink);
955
+ background: var(--prts-panel-raised);
956
+ box-shadow: inset 3px 0 var(--prts-yellow);
957
+ }
958
+ @media (max-width: 720px) {
959
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-theme-settings-scroll] { padding: 16px 12px 24px; }
960
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] { padding-inline: 14px; margin-bottom: 24px; }
961
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-section] > [data-prts-section-heading] { margin-inline: -14px; padding-inline: 14px; flex-wrap: wrap; gap: 4px 12px; }
962
+ html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-jump][aria-current="location"] { box-shadow: inset 0 -3px var(--prts-yellow); }
963
+ }