@ash-qw/dsh-theme-prts 0.1.92 → 0.1.94
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.
- package/CHANGELOG.md +36 -0
- package/README.en.md +25 -65
- package/README.md +26 -68
- package/lib/client.js +1211 -63
- package/package.json +12 -2
- package/src/client/conversation-scale-adapter.js +110 -6
- package/src/client/index.js +18 -3
- package/src/client/operations-shell-v2.js +334 -20
- package/src/client/particle-field-adapter.js +134 -12
- package/src/client/preferences.js +24 -5
- package/src/client/resize-shield-adapter.js +5 -0
- package/src/client/theme-controller-v2.js +609 -16
- package/src/client/theme-settings-workbench.js +69 -2
- package/src/styles/prts.css +402 -16
- package/src/styles/theme-settings-workbench.css +17 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CONVERSATION_SCALE_FOCUS_CONTRAST_DEFAULT, CONVERSATION_SCALE_FOCUS_CONTRAST_MAX, CONVERSATION_SCALE_FOCUS_CONTRAST_MIN, CONVERSATION_SCALE_FOCUS_CONTRAST_STEP, resolveParticleDetail } from './preferences.js'
|
|
1
|
+
import { CONVERSATION_SCALE_FOCUS_CONTRAST_DEFAULT, CONVERSATION_SCALE_FOCUS_CONTRAST_MAX, CONVERSATION_SCALE_FOCUS_CONTRAST_MIN, CONVERSATION_SCALE_FOCUS_CONTRAST_STEP, PARTICLE_TRAVERSAL_SPEED_DEFAULT, PARTICLE_TRAVERSAL_SPEED_MAX, PARTICLE_TRAVERSAL_SPEED_MIN, PARTICLE_TRAVERSAL_SPEED_STEP, resolveParticleDetail } from './preferences.js'
|
|
2
2
|
import { resolveConversationScaleLengths } from './conversation-scale-adapter.js'
|
|
3
3
|
|
|
4
4
|
const SETTINGS_FOCUSABLE = [
|
|
@@ -16,6 +16,7 @@ const PRESET_OPTIONS = [
|
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
const COMMON_CONTROLS = [
|
|
19
|
+
['railDefaultHidden', '默认隐藏导航栏', [['false', '关闭'], ['true', '开启']]],
|
|
19
20
|
['texture', '环境底纹', [['off', '关闭'], ['restrained', '克制'], ['full', '完整']]],
|
|
20
21
|
['glass', '玻璃材质', [['off', '关闭'], ['soft', '柔和'], ['standard', '标准'], ['clear', '清晰']]],
|
|
21
22
|
['motion', '动态效果', [['system', '跟随系统'], ['reduced', '减少']]],
|
|
@@ -32,6 +33,8 @@ function settingButtons(key, label, options) {
|
|
|
32
33
|
? '<small data-prts-setting-note data-prts-transparency-status hidden>系统当前要求降低透明度</small>'
|
|
33
34
|
: key === 'motion'
|
|
34
35
|
? '<small data-prts-setting-note data-prts-effective-motion hidden>系统当前要求减少动态</small>'
|
|
36
|
+
: key === 'railDefaultHidden'
|
|
37
|
+
? '<small data-prts-setting-note>在任意窗口宽度下默认收起 P.R.T.S. 导航,可从左侧按钮临时展开</small>'
|
|
35
38
|
: ''
|
|
36
39
|
const sample = value => key === 'texture' || key === 'glass'
|
|
37
40
|
? `<i data-prts-option-sample="${key}" data-prts-option-sample-value="${value}" aria-hidden="true"></i>`
|
|
@@ -102,6 +105,10 @@ export function themeSettingsMarkup() {
|
|
|
102
105
|
<section data-prts-particle-detail>
|
|
103
106
|
<header><strong>粒子精度</strong><span>同时调整会话与新会话徽记</span></header>
|
|
104
107
|
<div role="radiogroup" aria-label="粒子精度">${particleMarkup()}</div>
|
|
108
|
+
<label data-prts-setting-row="particleTraversalSpeed" data-prts-setting-range-row data-prts-particle-traversal>
|
|
109
|
+
<span><strong>跟随移动速度</strong><small>控制普通会话徽记移动及破碎重组的滚动距离</small></span>
|
|
110
|
+
<div><input type="range" min="0" max="2" step="0.25" value="1" data-prts-setting-range data-prts-setting-key="particleTraversalSpeed" aria-label="粒子徽记跟随移动速度"><output data-prts-particle-traversal-output>1× · 每 1 个视口重组</output></div>
|
|
111
|
+
</label>
|
|
105
112
|
<span data-prts-particle-error role="alert" hidden>粒子资源加载异常,主题已使用静态后备效果</span>
|
|
106
113
|
</section>
|
|
107
114
|
<section data-prts-scale-adjustment>
|
|
@@ -150,6 +157,7 @@ export function createThemeSettingsOverlay({
|
|
|
150
157
|
backdrop,
|
|
151
158
|
onOpen = () => {},
|
|
152
159
|
onPreferenceChange = () => {},
|
|
160
|
+
onPreferencePreview = () => {},
|
|
153
161
|
onResetVisual = () => {},
|
|
154
162
|
onRetrySave = () => {},
|
|
155
163
|
getConversationScalePreview = () => ({ visible: false, reason: 'unmeasured', mode: 'hidden' }),
|
|
@@ -167,6 +175,8 @@ export function createThemeSettingsOverlay({
|
|
|
167
175
|
let scaleDistanceDirty = false
|
|
168
176
|
let scaleFocusContrastDraft
|
|
169
177
|
let scaleFocusContrastDirty = false
|
|
178
|
+
let particleTraversalSpeedDraft
|
|
179
|
+
let particleTraversalSpeedDirty = false
|
|
170
180
|
let calibrationResizeObserver
|
|
171
181
|
let calibrationSettleTimer
|
|
172
182
|
let calibrationFrame
|
|
@@ -222,6 +232,7 @@ export function createThemeSettingsOverlay({
|
|
|
222
232
|
if (!value) {
|
|
223
233
|
commitScaleDistance()
|
|
224
234
|
commitScaleFocusContrast()
|
|
235
|
+
commitParticleTraversalSpeed()
|
|
225
236
|
}
|
|
226
237
|
isOpen = value
|
|
227
238
|
trigger.setAttribute('aria-expanded', String(isOpen))
|
|
@@ -264,6 +275,37 @@ export function createThemeSettingsOverlay({
|
|
|
264
275
|
return normalizeScaleFocusContrast(scaleFocusContrastDirty ? scaleFocusContrastDraft : currentPreferences?.conversationScaleFocusContrast)
|
|
265
276
|
}
|
|
266
277
|
|
|
278
|
+
function normalizeParticleTraversalSpeed(value) {
|
|
279
|
+
const numeric = Number(value)
|
|
280
|
+
if (!Number.isFinite(numeric)) return PARTICLE_TRAVERSAL_SPEED_DEFAULT
|
|
281
|
+
const clamped = Math.min(PARTICLE_TRAVERSAL_SPEED_MAX, Math.max(PARTICLE_TRAVERSAL_SPEED_MIN, numeric))
|
|
282
|
+
return Math.round(clamped / PARTICLE_TRAVERSAL_SPEED_STEP) * PARTICLE_TRAVERSAL_SPEED_STEP
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
function currentParticleTraversalSpeed() {
|
|
286
|
+
return normalizeParticleTraversalSpeed(
|
|
287
|
+
particleTraversalSpeedDirty ? particleTraversalSpeedDraft : currentPreferences?.particleTraversalSpeed,
|
|
288
|
+
)
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
function conciseNumber(value) {
|
|
292
|
+
return String(Number(Number(value).toFixed(2)))
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
function particleTraversalLabel(value) {
|
|
296
|
+
const speed = normalizeParticleTraversalSpeed(value)
|
|
297
|
+
if (speed === 0) return '0× · 静止 / 不重组'
|
|
298
|
+
return `${conciseNumber(speed)}× · 每 ${conciseNumber(1 / speed)} 个视口重组`
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function renderParticleTraversal() {
|
|
302
|
+
if (!panel || !currentPreferences) return
|
|
303
|
+
const value = currentParticleTraversalSpeed()
|
|
304
|
+
const range = panel.querySelector('input[data-prts-setting-range][data-prts-setting-key="particleTraversalSpeed"]')
|
|
305
|
+
if (range && range.value !== String(value)) range.value = String(value)
|
|
306
|
+
setText(panel.querySelector('[data-prts-particle-traversal-output]'), particleTraversalLabel(value))
|
|
307
|
+
}
|
|
308
|
+
|
|
267
309
|
function calibrationStatus(state, value) {
|
|
268
310
|
if (state?.mode === 'configured') return `当前视图:使用配置上限 / ${Math.round(Number(state.left) || value)} px`
|
|
269
311
|
if (state?.simulated) return `模拟布局:使用配置上限 / ${value} px`
|
|
@@ -371,7 +413,7 @@ export function createThemeSettingsOverlay({
|
|
|
371
413
|
const detail = resolveParticleDetail(currentPreferences)
|
|
372
414
|
const detailLabels = { compact: '精简', standard: '标准', precise: '精细' }
|
|
373
415
|
const advanced = panel.querySelector('[data-prts-advanced-summary]')
|
|
374
|
-
setText(advanced, `${detailLabels[detail]} / 区分度 ${contrast} / ${value} px`)
|
|
416
|
+
setText(advanced, `${detailLabels[detail]} / ${conciseNumber(currentParticleTraversalSpeed())}× / 区分度 ${contrast} / ${value} px`)
|
|
375
417
|
if (!calibration) return
|
|
376
418
|
const distance = `${value}px`
|
|
377
419
|
if (calibration.style.getPropertyValue('--prts-calibration-distance') !== distance) {
|
|
@@ -400,6 +442,19 @@ export function createThemeSettingsOverlay({
|
|
|
400
442
|
return true
|
|
401
443
|
}
|
|
402
444
|
|
|
445
|
+
function commitParticleTraversalSpeed() {
|
|
446
|
+
if (!particleTraversalSpeedDirty || !currentPreferences) return false
|
|
447
|
+
const value = currentParticleTraversalSpeed()
|
|
448
|
+
particleTraversalSpeedDirty = false
|
|
449
|
+
particleTraversalSpeedDraft = value
|
|
450
|
+
if (value !== normalizeParticleTraversalSpeed(currentPreferences.particleTraversalSpeed)) {
|
|
451
|
+
onPreferenceChange('particleTraversalSpeed', value)
|
|
452
|
+
} else {
|
|
453
|
+
renderParticleTraversal()
|
|
454
|
+
}
|
|
455
|
+
return true
|
|
456
|
+
}
|
|
457
|
+
|
|
403
458
|
function renderPersistence() {
|
|
404
459
|
const status = panel?.querySelector?.('[data-prts-persistence-status]')
|
|
405
460
|
const error = panel?.querySelector?.('[data-prts-persistence-error]')
|
|
@@ -442,6 +497,8 @@ export function createThemeSettingsOverlay({
|
|
|
442
497
|
if (particleError) particleError.hidden = currentStatus?.particle?.phase !== 'error'
|
|
443
498
|
if (!scaleDistanceDirty) scaleDistanceDraft = normalizeScaleDistance(currentPreferences.conversationScaleMaxDistance)
|
|
444
499
|
if (!scaleFocusContrastDirty) scaleFocusContrastDraft = normalizeScaleFocusContrast(currentPreferences.conversationScaleFocusContrast)
|
|
500
|
+
if (!particleTraversalSpeedDirty) particleTraversalSpeedDraft = normalizeParticleTraversalSpeed(currentPreferences.particleTraversalSpeed)
|
|
501
|
+
renderParticleTraversal()
|
|
445
502
|
renderScaleCalibration()
|
|
446
503
|
renderPersistence()
|
|
447
504
|
}
|
|
@@ -478,6 +535,8 @@ export function createThemeSettingsOverlay({
|
|
|
478
535
|
scaleDistanceDraft = undefined
|
|
479
536
|
scaleFocusContrastDirty = false
|
|
480
537
|
scaleFocusContrastDraft = undefined
|
|
538
|
+
particleTraversalSpeedDirty = false
|
|
539
|
+
particleTraversalSpeedDraft = undefined
|
|
481
540
|
setResetConfirmation(false)
|
|
482
541
|
onResetVisual()
|
|
483
542
|
}
|
|
@@ -494,6 +553,12 @@ export function createThemeSettingsOverlay({
|
|
|
494
553
|
} else if (target.dataset.prtsSettingKey === 'conversationScaleFocusContrast') {
|
|
495
554
|
scaleFocusContrastDraft = value
|
|
496
555
|
scaleFocusContrastDirty = true
|
|
556
|
+
} else if (target.dataset.prtsSettingKey === 'particleTraversalSpeed') {
|
|
557
|
+
particleTraversalSpeedDraft = normalizeParticleTraversalSpeed(value)
|
|
558
|
+
particleTraversalSpeedDirty = true
|
|
559
|
+
renderParticleTraversal()
|
|
560
|
+
onPreferencePreview('particleTraversalSpeed', particleTraversalSpeedDraft)
|
|
561
|
+
return
|
|
497
562
|
} else {
|
|
498
563
|
return
|
|
499
564
|
}
|
|
@@ -521,6 +586,7 @@ export function createThemeSettingsOverlay({
|
|
|
521
586
|
if (!target?.matches?.('input[data-prts-setting-range]')) return
|
|
522
587
|
if (target.dataset.prtsSettingKey === 'conversationScaleMaxDistance') commitScaleDistance()
|
|
523
588
|
if (target.dataset.prtsSettingKey === 'conversationScaleFocusContrast') commitScaleFocusContrast()
|
|
589
|
+
if (target.dataset.prtsSettingKey === 'particleTraversalSpeed') commitParticleTraversalSpeed()
|
|
524
590
|
}
|
|
525
591
|
|
|
526
592
|
trigger?.addEventListener('click', toggle)
|
|
@@ -547,6 +613,7 @@ export function createThemeSettingsOverlay({
|
|
|
547
613
|
currentPersistence = persistenceState ?? { phase: 'idle', revision: 0 }
|
|
548
614
|
if (!scaleDistanceDirty) scaleDistanceDraft = normalizeScaleDistance(preferences?.conversationScaleMaxDistance)
|
|
549
615
|
if (!scaleFocusContrastDirty) scaleFocusContrastDraft = normalizeScaleFocusContrast(preferences?.conversationScaleFocusContrast)
|
|
616
|
+
if (!particleTraversalSpeedDirty) particleTraversalSpeedDraft = normalizeParticleTraversalSpeed(preferences?.particleTraversalSpeed)
|
|
550
617
|
renderState()
|
|
551
618
|
},
|
|
552
619
|
refreshScalePreview: renderScaleCalibration,
|
package/src/styles/prts.css
CHANGED
|
@@ -169,15 +169,14 @@ html[data-dsh-prts] a {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
/* Keep the host application's control metrics intact. Only controls owned by
|
|
172
|
-
the P.R.T.S. shell and settings overlay inherit
|
|
172
|
+
the P.R.T.S. shell and settings overlay inherit theme typography and color. */
|
|
173
173
|
html[data-dsh-prts] [data-prts-shell] :is(button, input, textarea, select),
|
|
174
174
|
html[data-dsh-prts] [data-prts-theme-settings] :is(button, input, textarea, select) {
|
|
175
175
|
font: inherit;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
html[data-dsh-prts] button:not([data-slot="sidebar.settings"] button) {
|
|
178
|
+
html[data-dsh-prts] [data-prts-shell] button,
|
|
179
|
+
html[data-dsh-prts] [data-prts-theme-settings] button {
|
|
181
180
|
color: inherit;
|
|
182
181
|
}
|
|
183
182
|
|
|
@@ -295,18 +294,23 @@ html[data-dsh-prts][data-prts-rail-mode="overlay"] [data-prts-rail-launcher]:is(
|
|
|
295
294
|
|
|
296
295
|
@media (hover: none), (pointer: coarse) {
|
|
297
296
|
html[data-dsh-prts][data-prts-rail-mode="overlay"] [data-prts-rail-launcher] {
|
|
298
|
-
top:
|
|
299
|
-
|
|
300
|
-
height: 40px;
|
|
301
|
-
opacity: .92;
|
|
302
|
-
transform: none;
|
|
297
|
+
top: 50%; width: 24px; height: 88px; opacity: .58;
|
|
298
|
+
transform: translateY(-50%); touch-action: none;
|
|
303
299
|
}
|
|
304
|
-
|
|
305
|
-
html[data-dsh-prts][data-prts-rail-
|
|
306
|
-
|
|
300
|
+
html[data-dsh-prts] [data-prts-rail-launcher] > span { opacity: 0; }
|
|
301
|
+
html[data-dsh-prts] [data-prts-rail-launcher][data-prts-rail-gesture-active] { width: 40px; opacity: 1; }
|
|
302
|
+
html[data-dsh-prts] [data-prts-rail-gesture-cue] {
|
|
303
|
+
position: absolute; inset: calc(27px + var(--prts-rail-gesture-progress, 0px)) 10px auto auto;
|
|
304
|
+
display: block; opacity: 0; font: 700 14px/8px sans-serif;
|
|
305
|
+
}
|
|
306
|
+
html[data-dsh-prts] [data-prts-rail-gesture-active] [data-prts-rail-gesture-cue] {
|
|
307
|
+
opacity: 1; animation: prts-rail-swipe-cue 720ms ease-in-out infinite;
|
|
307
308
|
}
|
|
309
|
+
html[data-dsh-prts] [data-prts-rail-gesture-ready] [data-prts-rail-gesture-cue] { filter: drop-shadow(0 0 3px currentColor); }
|
|
308
310
|
}
|
|
309
311
|
|
|
312
|
+
@keyframes prts-rail-swipe-cue { 50% { opacity: .45; } }
|
|
313
|
+
|
|
310
314
|
html[data-dsh-prts] [data-prts-rail-brand] {
|
|
311
315
|
height: 64px;
|
|
312
316
|
display: grid;
|
|
@@ -419,6 +423,360 @@ html[data-dsh-prts] [data-prts-scheme-toggle] svg {
|
|
|
419
423
|
stroke-width: 1.7;
|
|
420
424
|
}
|
|
421
425
|
|
|
426
|
+
html[data-dsh-prts] [data-prts-scheme-toggle] {
|
|
427
|
+
touch-action: none;
|
|
428
|
+
user-select: none;
|
|
429
|
+
}
|
|
430
|
+
html[data-dsh-prts][data-prts-scheme-transition-interactive] [data-prts-scheme-toggle] {
|
|
431
|
+
cursor: ew-resize;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
html[data-dsh-prts] [data-prts-scheme-toggle][data-prts-scheme-press] {
|
|
435
|
+
animation: prts-scheme-toggle-press 100ms var(--prts-ease-snap) both;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
@keyframes prts-scheme-toggle-press {
|
|
439
|
+
0%, 100% { transform: translateY(0) scale(1); }
|
|
440
|
+
50% { transform: translateY(0) scale(.96); }
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(root) {
|
|
444
|
+
animation: prts-scheme-view-hold var(--prts-scheme-duration, 520ms) linear both;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(root),
|
|
448
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(root) {
|
|
449
|
+
animation: none;
|
|
450
|
+
mix-blend-mode: normal;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(root) {
|
|
454
|
+
z-index: 1;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(root) {
|
|
458
|
+
z-index: 2;
|
|
459
|
+
clip-path: inset(0 max(0px, calc(100vw - var(--prts-scheme-reveal-x))) 0 0);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-grid),
|
|
463
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-edge),
|
|
464
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-node),
|
|
465
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-mark) {
|
|
466
|
+
animation: none;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-grid) {
|
|
470
|
+
z-index: 3;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-edge) {
|
|
474
|
+
z-index: 4;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-node),
|
|
478
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-group(prts-scheme-mark) {
|
|
479
|
+
z-index: 5;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(prts-scheme-grid),
|
|
483
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(prts-scheme-edge),
|
|
484
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(prts-scheme-node),
|
|
485
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-old(prts-scheme-mark) {
|
|
486
|
+
opacity: 0;
|
|
487
|
+
animation: none;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-grid),
|
|
491
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-edge),
|
|
492
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-node),
|
|
493
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-mark) {
|
|
494
|
+
opacity: 1;
|
|
495
|
+
animation: none;
|
|
496
|
+
mix-blend-mode: normal;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
@keyframes prts-scheme-view-hold {
|
|
500
|
+
from, to { opacity: 1; }
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"] {
|
|
504
|
+
--prts-scheme-grid-cell: 20px;
|
|
505
|
+
--prts-scheme-grid-diagonal-cell: 40px;
|
|
506
|
+
--prts-scheme-grid-axis: rgba(132, 158, 166, .14);
|
|
507
|
+
--prts-scheme-grid-node: rgba(150, 180, 188, .22);
|
|
508
|
+
--prts-scheme-grid-diagonal-opacity: .16;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
html[data-dsh-prts][data-prts-scheme-transition="light"] {
|
|
512
|
+
--prts-scheme-grid-axis: rgba(28, 36, 41, .12);
|
|
513
|
+
--prts-scheme-grid-node: rgba(24, 31, 35, .2);
|
|
514
|
+
--prts-scheme-grid-diagonal-opacity: .14;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
html[data-dsh-prts] [data-prts-scheme-reveal] {
|
|
518
|
+
box-sizing: border-box;
|
|
519
|
+
position: fixed;
|
|
520
|
+
z-index: 2147483647;
|
|
521
|
+
inset: 0;
|
|
522
|
+
width: 100vw;
|
|
523
|
+
max-width: none;
|
|
524
|
+
height: 100dvh;
|
|
525
|
+
max-height: none;
|
|
526
|
+
margin: 0;
|
|
527
|
+
padding: 0;
|
|
528
|
+
overflow: hidden;
|
|
529
|
+
border: 0;
|
|
530
|
+
background: transparent;
|
|
531
|
+
color: #ffd400;
|
|
532
|
+
--prts-scheme-grid-cell: 20px;
|
|
533
|
+
--prts-scheme-grid-diagonal-cell: 40px;
|
|
534
|
+
--prts-scheme-grid-axis: rgba(132, 158, 166, .08);
|
|
535
|
+
--prts-scheme-grid-node: rgba(150, 180, 188, .13);
|
|
536
|
+
--prts-scheme-grid-diagonal-opacity: .075;
|
|
537
|
+
pointer-events: none;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
html[data-dsh-prts] [data-prts-scheme-reveal="light"] {
|
|
541
|
+
--prts-scheme-grid-axis: rgba(28, 36, 41, .065);
|
|
542
|
+
--prts-scheme-grid-node: rgba(24, 31, 35, .105);
|
|
543
|
+
--prts-scheme-grid-diagonal-opacity: .06;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-edge] {
|
|
547
|
+
isolation: isolate;
|
|
548
|
+
position: absolute;
|
|
549
|
+
top: 0;
|
|
550
|
+
left: 0;
|
|
551
|
+
width: 29px;
|
|
552
|
+
height: 100vh;
|
|
553
|
+
background:
|
|
554
|
+
linear-gradient(90deg,
|
|
555
|
+
transparent 13px,
|
|
556
|
+
rgba(244, 247, 247, .96) 13px 14px,
|
|
557
|
+
rgba(255, 212, 0, .22) 14px 15px,
|
|
558
|
+
transparent 15px);
|
|
559
|
+
transform: translate3d(-14px, 0, 0);
|
|
560
|
+
transform-origin: 50% 50%;
|
|
561
|
+
view-transition-name: prts-scheme-edge;
|
|
562
|
+
will-change: transform;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-grid] {
|
|
566
|
+
position: absolute;
|
|
567
|
+
z-index: -2;
|
|
568
|
+
inset: 0 auto 0 -206px;
|
|
569
|
+
display: block;
|
|
570
|
+
width: 220px;
|
|
571
|
+
height: 100vh;
|
|
572
|
+
view-transition-name: prts-scheme-grid;
|
|
573
|
+
pointer-events: none;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-grid) {
|
|
577
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%2396b4bc' stroke-width='.55'%3E%3Cpath d='M0 0H40M0 20H40M0 40H40M0 0V40M20 0V40M40 0V40' stroke-opacity='.22'/%3E%3Cpath d='M0 0L20 20L0 40M20 0L40 20L20 40' stroke-opacity='.46'/%3E%3Cpath d='M20 0L0 20L20 40M40 0L20 20L40 40' stroke-opacity='.22'/%3E%3C/g%3E%3Cg fill='%2396b4bc' fill-opacity='.36'%3E%3Ccircle cx='0' cy='0' r='1'/%3E%3Ccircle cx='20' cy='0' r='1'/%3E%3Ccircle cx='40' cy='0' r='1'/%3E%3Ccircle cx='0' cy='20' r='1'/%3E%3Ccircle cx='20' cy='20' r='1'/%3E%3Ccircle cx='40' cy='20' r='1'/%3E%3Ccircle cx='0' cy='40' r='1'/%3E%3Ccircle cx='20' cy='40' r='1'/%3E%3Ccircle cx='40' cy='40' r='1'/%3E%3C/g%3E%3C/svg%3E");
|
|
578
|
+
background-repeat: repeat;
|
|
579
|
+
background-position: calc(220px - var(--prts-scheme-reveal-x)) 0;
|
|
580
|
+
background-size: var(--prts-scheme-grid-diagonal-cell) var(--prts-scheme-grid-diagonal-cell);
|
|
581
|
+
-webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .12) 16%, rgba(0, 0, 0, .48) 56%, #000 100%);
|
|
582
|
+
mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .12) 16%, rgba(0, 0, 0, .48) 56%, #000 100%);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
html[data-dsh-prts][data-prts-scheme-transition="light"]::view-transition-new(prts-scheme-grid) {
|
|
586
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%231c2429' stroke-width='.55'%3E%3Cpath d='M0 0H40M0 20H40M0 40H40M0 0V40M20 0V40M40 0V40' stroke-opacity='.2'/%3E%3Cpath d='M0 0L20 20L0 40M20 0L40 20L20 40' stroke-opacity='.42'/%3E%3Cpath d='M20 0L0 20L20 40M40 0L20 20L40 40' stroke-opacity='.2'/%3E%3C/g%3E%3Cg fill='%231c2429' fill-opacity='.32'%3E%3Ccircle cx='0' cy='0' r='1'/%3E%3Ccircle cx='20' cy='0' r='1'/%3E%3Ccircle cx='40' cy='0' r='1'/%3E%3Ccircle cx='0' cy='20' r='1'/%3E%3Ccircle cx='20' cy='20' r='1'/%3E%3Ccircle cx='40' cy='20' r='1'/%3E%3Ccircle cx='0' cy='40' r='1'/%3E%3Ccircle cx='20' cy='40' r='1'/%3E%3Ccircle cx='40' cy='40' r='1'/%3E%3C/g%3E%3C/svg%3E");
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-blend] {
|
|
590
|
+
position: absolute;
|
|
591
|
+
z-index: -1;
|
|
592
|
+
inset: 0;
|
|
593
|
+
width: 29px;
|
|
594
|
+
background: linear-gradient(90deg, transparent, rgba(255, 212, 0, .025) 43%, rgba(235, 244, 245, .11) 50%, rgba(255, 212, 0, .018) 58%, transparent);
|
|
595
|
+
-webkit-backdrop-filter: blur(2px);
|
|
596
|
+
backdrop-filter: blur(2px);
|
|
597
|
+
opacity: .54;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
html[data-dsh-prts] [data-prts-scheme-reveal="light"] [data-prts-scheme-reveal-blend] {
|
|
601
|
+
background: linear-gradient(90deg, transparent, rgba(28, 36, 41, .04) 42%, rgba(255, 255, 255, .2) 50%, rgba(255, 212, 0, .018) 58%, transparent);
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
html[data-dsh-prts] [data-prts-scheme-reveal="dark"] [data-prts-scheme-reveal-blend] {
|
|
605
|
+
background: linear-gradient(90deg, transparent, rgba(132, 158, 166, .035) 42%, rgba(235, 244, 245, .12) 50%, rgba(255, 212, 0, .018) 58%, transparent);
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-edge]::before {
|
|
609
|
+
content: "";
|
|
610
|
+
position: absolute;
|
|
611
|
+
top: 18%;
|
|
612
|
+
left: 7px;
|
|
613
|
+
width: 15px;
|
|
614
|
+
height: 28px;
|
|
615
|
+
border-top: 1px solid rgba(235, 244, 245, .58);
|
|
616
|
+
border-bottom: 1px solid rgba(235, 244, 245, .58);
|
|
617
|
+
background: linear-gradient(rgba(255, 212, 0, .72), rgba(255, 212, 0, .72)) 50% 50% / 100% 1px no-repeat;
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-edge]::after {
|
|
621
|
+
content: "";
|
|
622
|
+
position: absolute;
|
|
623
|
+
top: calc(18% + 12px);
|
|
624
|
+
left: 12px;
|
|
625
|
+
width: 5px;
|
|
626
|
+
height: 5px;
|
|
627
|
+
border: 1px solid rgba(255, 212, 0, .78);
|
|
628
|
+
background: rgba(8, 12, 14, .68);
|
|
629
|
+
transform: rotate(45deg);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-node] {
|
|
633
|
+
position: absolute;
|
|
634
|
+
z-index: 2;
|
|
635
|
+
bottom: clamp(88px, 18vh, 176px);
|
|
636
|
+
left: 14px;
|
|
637
|
+
display: block;
|
|
638
|
+
box-sizing: border-box;
|
|
639
|
+
width: 46px;
|
|
640
|
+
height: 62px;
|
|
641
|
+
color: #ffd400;
|
|
642
|
+
font-style: normal;
|
|
643
|
+
transform: translateX(10px);
|
|
644
|
+
view-transition-name: prts-scheme-node;
|
|
645
|
+
transition: transform 120ms var(--prts-ease-snap);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-edge][data-prts-scheme-reveal-side="left"] [data-prts-scheme-reveal-node] {
|
|
649
|
+
transform: translateX(calc(-100% - 10px));
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-node]::before {
|
|
653
|
+
content: "";
|
|
654
|
+
position: absolute;
|
|
655
|
+
top: 30px;
|
|
656
|
+
left: -10px;
|
|
657
|
+
width: 10px;
|
|
658
|
+
border-top: 1px solid rgba(255, 212, 0, .76);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-edge][data-prts-scheme-reveal-side="left"] [data-prts-scheme-reveal-node]::before {
|
|
662
|
+
right: -10px;
|
|
663
|
+
left: auto;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-mark] {
|
|
667
|
+
position: absolute;
|
|
668
|
+
top: 20px;
|
|
669
|
+
left: 20px;
|
|
670
|
+
display: block;
|
|
671
|
+
width: 6px;
|
|
672
|
+
height: 6px;
|
|
673
|
+
border-top: 1px solid currentColor;
|
|
674
|
+
border-right: 1px solid currentColor;
|
|
675
|
+
view-transition-name: prts-scheme-mark;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-meter] {
|
|
679
|
+
position: absolute;
|
|
680
|
+
top: 6px;
|
|
681
|
+
left: 0;
|
|
682
|
+
display: block;
|
|
683
|
+
box-sizing: border-box;
|
|
684
|
+
width: 6px;
|
|
685
|
+
height: 50px;
|
|
686
|
+
border: 1px solid rgba(255, 212, 0, .34);
|
|
687
|
+
background: rgba(8, 12, 14, .32);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-meter]::after {
|
|
691
|
+
content: "";
|
|
692
|
+
position: absolute;
|
|
693
|
+
top: -1px;
|
|
694
|
+
left: 6px;
|
|
695
|
+
width: 3px;
|
|
696
|
+
border-top: 1px solid rgba(255, 212, 0, .64);
|
|
697
|
+
box-shadow:
|
|
698
|
+
0 24px rgba(255, 212, 0, .42),
|
|
699
|
+
0 49px rgba(255, 212, 0, .64);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-meter-fill] {
|
|
703
|
+
position: absolute;
|
|
704
|
+
inset: 1px;
|
|
705
|
+
display: block;
|
|
706
|
+
background: currentColor;
|
|
707
|
+
box-shadow: 0 0 5px rgba(255, 212, 0, .28);
|
|
708
|
+
opacity: 0;
|
|
709
|
+
transform-origin: 50% 100%;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-label],
|
|
713
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-value] {
|
|
714
|
+
position: absolute;
|
|
715
|
+
left: 12px;
|
|
716
|
+
display: block;
|
|
717
|
+
color: currentColor;
|
|
718
|
+
font-family: var(--prts-mono);
|
|
719
|
+
font-style: normal;
|
|
720
|
+
line-height: 1;
|
|
721
|
+
white-space: nowrap;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-label] {
|
|
725
|
+
top: 7px;
|
|
726
|
+
font-size: 7px;
|
|
727
|
+
font-weight: 600;
|
|
728
|
+
letter-spacing: .16em;
|
|
729
|
+
opacity: .72;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
html[data-dsh-prts] [data-prts-scheme-reveal-value] {
|
|
733
|
+
bottom: 7px;
|
|
734
|
+
width: 24px;
|
|
735
|
+
height: 11px;
|
|
736
|
+
font-size: 11px;
|
|
737
|
+
font-weight: 700;
|
|
738
|
+
letter-spacing: .08em;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
html[data-dsh-prts][data-prts-scheme-transition-mode="view"]::view-transition-new(prts-scheme-node) {
|
|
742
|
+
background-image: linear-gradient(#ffd400, #ffd400);
|
|
743
|
+
background-position: left 1px bottom 7px;
|
|
744
|
+
background-repeat: no-repeat;
|
|
745
|
+
background-size: 2px var(--prts-scheme-control-meter-height, 0);
|
|
746
|
+
object-fit: none;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
html[data-dsh-prts][data-prts-scheme-transition-interactive]::view-transition-new(prts-scheme-node) {
|
|
750
|
+
background-image:
|
|
751
|
+
var(--prts-scheme-control-value-image),
|
|
752
|
+
linear-gradient(#ffd400, #ffd400);
|
|
753
|
+
background-position:
|
|
754
|
+
left 12px bottom 7px,
|
|
755
|
+
left 1px bottom 7px;
|
|
756
|
+
background-size:
|
|
757
|
+
24px 11px,
|
|
758
|
+
2px var(--prts-scheme-control-meter-height, 0);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
html[data-dsh-prts][data-prts-scheme-transition-complete]::view-transition-group(prts-scheme-grid),
|
|
762
|
+
html[data-dsh-prts][data-prts-scheme-transition-complete]::view-transition-group(prts-scheme-edge),
|
|
763
|
+
html[data-dsh-prts][data-prts-scheme-transition-complete]::view-transition-group(prts-scheme-node),
|
|
764
|
+
html[data-dsh-prts][data-prts-scheme-transition-complete]::view-transition-group(prts-scheme-mark) {
|
|
765
|
+
animation: prts-scheme-hud-release 100ms ease-out both;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
@keyframes prts-scheme-hud-release {
|
|
769
|
+
0%, 35% { opacity: 1; }
|
|
770
|
+
100% { opacity: 0; }
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
@media (max-width: 640px) {
|
|
774
|
+
html[data-dsh-prts] [data-prts-scheme-reveal] {
|
|
775
|
+
--prts-scheme-grid-cell: 16px;
|
|
776
|
+
--prts-scheme-grid-diagonal-cell: 32px;
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
|
|
422
780
|
html[data-dsh-prts] [data-prts-scheme-current="dark"] [data-prts-scheme-icon="light"],
|
|
423
781
|
html[data-dsh-prts] [data-prts-scheme-current="light"] [data-prts-scheme-icon="dark"] {
|
|
424
782
|
display: none;
|
|
@@ -458,12 +816,18 @@ html[data-dsh-prts] [data-prts-region="operation"] {
|
|
|
458
816
|
color: var(--prts-ink);
|
|
459
817
|
}
|
|
460
818
|
|
|
461
|
-
html[data-dsh-prts][data-prts-
|
|
462
|
-
|
|
819
|
+
html[data-dsh-prts] [data-prts-region="frame"][data-sidebar-collapsed] [data-prts-region="sessions"] :is(
|
|
820
|
+
[data-slot="sidebar.workspaces"],
|
|
821
|
+
[data-slot="sidebar.settings"]
|
|
822
|
+
) {
|
|
463
823
|
opacity: 0;
|
|
464
824
|
pointer-events: none;
|
|
465
825
|
}
|
|
466
826
|
|
|
827
|
+
html[data-dsh-prts] [data-sidebar-collapsed] :is([data-prts-owned-facility], [data-prts-owned-facility-spine], [data-prts-owned-facility-vector]) {
|
|
828
|
+
visibility: hidden; content-visibility: hidden;
|
|
829
|
+
}
|
|
830
|
+
|
|
467
831
|
html[data-dsh-prts] [data-prts-region="sessions"] > *,
|
|
468
832
|
html[data-dsh-prts] [data-prts-region="sessions"] [data-slot="sidebar"] {
|
|
469
833
|
height: 100%;
|
|
@@ -474,11 +838,15 @@ html[data-dsh-prts] [data-prts-region="sessions"] [data-rc7-sidebar-root] {
|
|
|
474
838
|
width: 100% !important;
|
|
475
839
|
min-width: var(--prts-sessions-width);
|
|
476
840
|
padding: 14px 10px;
|
|
477
|
-
overflow
|
|
841
|
+
overflow: hidden auto;
|
|
478
842
|
background: transparent !important;
|
|
479
843
|
color: var(--prts-ink);
|
|
480
844
|
}
|
|
481
845
|
|
|
846
|
+
html[data-dsh-prts] [data-prts-region="sessions"] [data-slot="sidebar.workspaces"] [role="tree"] {
|
|
847
|
+
overflow-x: hidden;
|
|
848
|
+
}
|
|
849
|
+
|
|
482
850
|
html[data-dsh-prts] [data-prts-region="sessions"] > * > [data-slot="sidebar"] > :first-child > button[aria-label*="new session" i] {
|
|
483
851
|
display: none !important;
|
|
484
852
|
}
|
|
@@ -992,7 +1360,11 @@ html[data-dsh-prts] [data-prts-floating-input] {
|
|
|
992
1360
|
color: var(--prts-ink) !important;
|
|
993
1361
|
}
|
|
994
1362
|
|
|
995
|
-
html[data-dsh-prts]
|
|
1363
|
+
html[data-dsh-prts] :is(
|
|
1364
|
+
[data-prts-floating-glass="menu"],
|
|
1365
|
+
[data-prts-floating-glass="listbox"],
|
|
1366
|
+
[data-prts-floating-glass="popover"]
|
|
1367
|
+
) [data-prts-floating-danger] {
|
|
996
1368
|
color: var(--prts-red) !important;
|
|
997
1369
|
}
|
|
998
1370
|
|
|
@@ -1005,6 +1377,7 @@ html[data-dsh-prts-settings] .prts-plugin-settings {
|
|
|
1005
1377
|
width: 100%;
|
|
1006
1378
|
display: grid;
|
|
1007
1379
|
gap: 16px;
|
|
1380
|
+
container: prts-plugin-settings / inline-size;
|
|
1008
1381
|
color: inherit;
|
|
1009
1382
|
font: inherit;
|
|
1010
1383
|
}
|
|
@@ -1117,6 +1490,19 @@ html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch']:disable
|
|
|
1117
1490
|
}
|
|
1118
1491
|
}
|
|
1119
1492
|
|
|
1493
|
+
@container prts-plugin-settings (max-width: 22rem) {
|
|
1494
|
+
html[data-dsh-prts-settings] .prts-plugin-settings__row {
|
|
1495
|
+
flex-direction: column;
|
|
1496
|
+
align-items: stretch;
|
|
1497
|
+
gap: 10px;
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
html[data-dsh-prts-settings] .prts-plugin-settings button[role='switch'] {
|
|
1501
|
+
align-self: flex-end;
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
|
|
1120
1506
|
|
|
1121
1507
|
@media (max-width: 640px) {
|
|
1122
1508
|
html[data-dsh-prts] {
|
|
@@ -439,6 +439,23 @@ html[data-dsh-prts] [data-prts-particle-detail-preview] {
|
|
|
439
439
|
border: 1px solid color-mix(in srgb, currentColor 44%, transparent);
|
|
440
440
|
}
|
|
441
441
|
html[data-dsh-prts] [data-prts-particle-detail-preview] b { width: 2px; height: 2px; background: currentColor; }
|
|
442
|
+
html[data-dsh-prts] [data-prts-particle-traversal] {
|
|
443
|
+
margin-top: 9px;
|
|
444
|
+
padding-top: 9px;
|
|
445
|
+
border-top: 1px solid var(--prts-line);
|
|
446
|
+
}
|
|
447
|
+
html[data-dsh-prts] [data-prts-particle-traversal] > span { display: grid; gap: 3px; }
|
|
448
|
+
html[data-dsh-prts] [data-prts-particle-traversal] > span strong { font-size: 9px; }
|
|
449
|
+
html[data-dsh-prts] [data-prts-particle-traversal] > span small {
|
|
450
|
+
color: var(--prts-muted);
|
|
451
|
+
font: 600 8px/1.35 var(--prts-mono);
|
|
452
|
+
}
|
|
453
|
+
html[data-dsh-prts] [data-prts-particle-traversal-output] {
|
|
454
|
+
min-width: 132px;
|
|
455
|
+
color: var(--prts-cyan);
|
|
456
|
+
font: 800 8px/1.2 var(--prts-mono);
|
|
457
|
+
text-align: right;
|
|
458
|
+
}
|
|
442
459
|
html[data-dsh-prts] [data-prts-particle-error] { margin: 8px 0 0; color: var(--prts-yellow); font: 700 8px/1.4 var(--prts-mono); }
|
|
443
460
|
|
|
444
461
|
html[data-dsh-prts] [data-prts-scale-calibration] {
|