@falling-ts/dsh-force-compact 0.2.1 → 0.2.3
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/README.cn.md +12 -0
- package/README.md +13 -0
- package/assets/live-conversation.png +0 -0
- package/assets/settings-panel.png +0 -0
- package/package.json +2 -1
- package/web/client.js +9 -6
- package/web/swish.css +49 -47
package/README.cn.md
CHANGED
|
@@ -214,6 +214,18 @@ falling-ts-force-compact:
|
|
|
214
214
|
|
|
215
215
|
---
|
|
216
216
|
|
|
217
|
+
## 截图
|
|
218
|
+
|
|
219
|
+

|
|
220
|
+
|
|
221
|
+
*设置面板 — `设置 > 强制压缩`。上面九个字段都可以实时编辑,无需重启。*
|
|
222
|
+
|
|
223
|
+
![会话页 — 红色 `[强制压缩中>>>]` 徽章挂在正在进行的回合旁边](assets/live-conversation.png)
|
|
224
|
+
|
|
225
|
+
*会话页 — live-UI 信令有三种状态(🟥 压缩中 / 🟢 已完成 / 🔵 工作中),绿色横幅约 3 s 后淡出回到随机「工作中」文案。*
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
217
229
|
## License
|
|
218
230
|
|
|
219
231
|
MIT(见 LICENSE)。
|
package/README.md
CHANGED
|
@@ -196,6 +196,19 @@ falling-ts-force-compact:
|
|
|
196
196
|
When the `settings` service is absent, the plugin falls back to the same defaults and still
|
|
197
197
|
compacts — the namespace is optional, never a hard dependency.
|
|
198
198
|
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Screenshots
|
|
202
|
+
|
|
203
|
+

|
|
204
|
+
|
|
205
|
+
*Settings panel — `设置 > 强制压缩`. All nine fields above can be edited live without restart.*
|
|
206
|
+
|
|
207
|
+
![Live conversation — red "[forced compacting>>>]" badge pinned beside an in-flight turn](assets/live-conversation.png)
|
|
208
|
+
|
|
209
|
+
*Conversation page — the live-UI signal paints three states (🟥 compressing / 🟢 done / 🔵 working);
|
|
210
|
+
the green banner fades after ~3 s back to a random "working" line.*
|
|
211
|
+
|
|
199
212
|
### Tuning for low-context llama.cpp
|
|
200
213
|
|
|
201
214
|
Serve `Qwen3.8‑27B` with a comfortable-but-modest context and let the plugin decide the
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@falling-ts/dsh-force-compact",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "DSH Cordis plugin: hooks the core model-request seam (agent/pre-step + agent/request) to force-compact a session's context and disable thinking per the \"强制压缩配置\" settings namespace (disableThinking, autoThresholdTokens, retainLatestTokens, turnEndForceCompactionEnabled). When the threshold fires (or /force-compact queues while busy), the latest `retainLatestTokens` of the conversation's surface tokens are KEPT VERBATIM and everything before that cutoff is COMPACTED INTO A SINGLE SUMMARY NODE in one LLM call (original span entries become shadowed/skipped). Also compacts at each turn/end and at each session/flush durability checkpoint. Host half is a pure listener; a web client half registers a settings.section (强制压缩 / Force Compact) that reads and writes the same settings namespace.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"index.js",
|
|
14
14
|
"src/",
|
|
15
15
|
"web/",
|
|
16
|
+
"assets/",
|
|
16
17
|
"cordis.patch.yml"
|
|
17
18
|
],
|
|
18
19
|
"license": "MIT",
|
package/web/client.js
CHANGED
|
@@ -642,12 +642,15 @@ window.__ModuleLoader__.load({
|
|
|
642
642
|
// 每条对应 web/swish.css 里的 .falling-ts-swish-NN(@keyframes falling-ts-swish-NN),
|
|
643
643
|
// 色值单一事实源在 src/core/ui-signal.js 的 WORKING_COLORS(20 项)与
|
|
644
644
|
// PINNED_COLORS(2 项),此处仅做"hex → 编号"映射,不做任何样式计算。
|
|
645
|
+
// 2026 深色化第二轮:与 src/core/ui-signal.js 的 WORKING_COLORS(20 项)
|
|
646
|
+
// + PINNED_COLORS(2 项:compressing 暗红 / done 暗绿)逐字对应,
|
|
647
|
+
// 索引 0..19 = 工作态,20 = compressing,21 = done。
|
|
645
648
|
const SWISH_HEXES = [
|
|
646
|
-
"#
|
|
647
|
-
"#
|
|
648
|
-
"#
|
|
649
|
-
"#
|
|
650
|
-
"#
|
|
649
|
+
"#1e40af","#1e3a8a","#312e81","#4c1d95","#581c87",
|
|
650
|
+
"#8318a3","#86198f","#9d174d","#9f1239","#991b1b",
|
|
651
|
+
"#9a3412","#92400e","#854d0e","#4d7c0f","#3f6212",
|
|
652
|
+
"#166534","#065f46","#0e7490","#155e75","#172554",
|
|
653
|
+
"#9b1c2b","#2f6f52",
|
|
651
654
|
];
|
|
652
655
|
const SWISH_CLASS_PREFIX = "falling-ts-swish-";
|
|
653
656
|
function swishClassForColor(hex) {
|
|
@@ -713,7 +716,7 @@ window.__ModuleLoader__.load({
|
|
|
713
716
|
* 该属性仅在有相位色时存在(paintTurnStatus 同步贴/撤),属性消失时选择器失配、
|
|
714
717
|
* 官方 caption 灰自然恢复。详见 web/swish.css 头注释与「文本颜色强调」节。
|
|
715
718
|
*/
|
|
716
|
-
const SWISH_CSS = "@keyframes falling-ts-swish-00{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-00{animation-name:falling-ts-swish-00!important;background-image:linear-gradient(90deg,#
|
|
719
|
+
const SWISH_CSS = "@keyframes falling-ts-swish-00{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-00{animation-name:falling-ts-swish-00!important;background-image:linear-gradient(90deg,#1e40af 0%,#1e40af 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#1e40af 60%,#1e40af 100%)!important}@keyframes falling-ts-swish-01{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-01{animation-name:falling-ts-swish-01!important;background-image:linear-gradient(90deg,#1e3a8a 0%,#1e3a8a 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#1e3a8a 60%,#1e3a8a 100%)!important}@keyframes falling-ts-swish-02{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-02{animation-name:falling-ts-swish-02!important;background-image:linear-gradient(90deg,#312e81 0%,#312e81 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#312e81 60%,#312e81 100%)!important}@keyframes falling-ts-swish-03{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-03{animation-name:falling-ts-swish-03!important;background-image:linear-gradient(90deg,#4c1d95 0%,#4c1d95 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#4c1d95 60%,#4c1d95 100%)!important}@keyframes falling-ts-swish-04{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-04{animation-name:falling-ts-swish-04!important;background-image:linear-gradient(90deg,#581c87 0%,#581c87 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#581c87 60%,#581c87 100%)!important}@keyframes falling-ts-swish-05{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-05{animation-name:falling-ts-swish-05!important;background-image:linear-gradient(90deg,#8318a3 0%,#8318a3 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#8318a3 60%,#8318a3 100%)!important}@keyframes falling-ts-swish-06{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-06{animation-name:falling-ts-swish-06!important;background-image:linear-gradient(90deg,#86198f 0%,#86198f 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#86198f 60%,#86198f 100%)!important}@keyframes falling-ts-swish-07{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-07{animation-name:falling-ts-swish-07!important;background-image:linear-gradient(90deg,#9d174d 0%,#9d174d 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#9d174d 60%,#9d174d 100%)!important}@keyframes falling-ts-swish-08{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-08{animation-name:falling-ts-swish-08!important;background-image:linear-gradient(90deg,#9f1239 0%,#9f1239 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#9f1239 60%,#9f1239 100%)!important}@keyframes falling-ts-swish-09{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-09{animation-name:falling-ts-swish-09!important;background-image:linear-gradient(90deg,#991b1b 0%,#991b1b 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#991b1b 60%,#991b1b 100%)!important}@keyframes falling-ts-swish-10{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-10{animation-name:falling-ts-swish-10!important;background-image:linear-gradient(90deg,#9a3412 0%,#9a3412 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#9a3412 60%,#9a3412 100%)!important}@keyframes falling-ts-swish-11{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-11{animation-name:falling-ts-swish-11!important;background-image:linear-gradient(90deg,#92400e 0%,#92400e 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#92400e 60%,#92400e 100%)!important}@keyframes falling-ts-swish-12{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-12{animation-name:falling-ts-swish-12!important;background-image:linear-gradient(90deg,#854d0e 0%,#854d0e 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#854d0e 60%,#854d0e 100%)!important}@keyframes falling-ts-swish-13{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-13{animation-name:falling-ts-swish-13!important;background-image:linear-gradient(90deg,#4d7c0f 0%,#4d7c0f 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#4d7c0f 60%,#4d7c0f 100%)!important}@keyframes falling-ts-swish-14{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-14{animation-name:falling-ts-swish-14!important;background-image:linear-gradient(90deg,#3f6212 0%,#3f6212 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#3f6212 60%,#3f6212 100%)!important}@keyframes falling-ts-swish-15{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-15{animation-name:falling-ts-swish-15!important;background-image:linear-gradient(90deg,#166534 0%,#166534 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#166534 60%,#166534 100%)!important}@keyframes falling-ts-swish-16{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-16{animation-name:falling-ts-swish-16!important;background-image:linear-gradient(90deg,#065f46 0%,#065f46 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#065f46 60%,#065f46 100%)!important}@keyframes falling-ts-swish-17{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-17{animation-name:falling-ts-swish-17!important;background-image:linear-gradient(90deg,#0e7490 0%,#0e7490 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#0e7490 60%,#0e7490 100%)!important}@keyframes falling-ts-swish-18{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-18{animation-name:falling-ts-swish-18!important;background-image:linear-gradient(90deg,#155e75 0%,#155e75 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#155e75 60%,#155e75 100%)!important}@keyframes falling-ts-swish-19{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-19{animation-name:falling-ts-swish-19!important;background-image:linear-gradient(90deg,#172554 0%,#172554 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#172554 60%,#172554 100%)!important}@keyframes falling-ts-swish-20{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-20{animation-name:falling-ts-swish-20!important;background-image:linear-gradient(90deg,#9b1c2b 0%,#9b1c2b 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#9b1c2b 60%,#9b1c2b 100%)!important}@keyframes falling-ts-swish-21{from{background-position:100% 0}to{background-position:0 0}}.falling-ts-swish-21{animation-name:falling-ts-swish-21!important;background-image:linear-gradient(90deg,#2f6f52 0%,#2f6f52 40%,var(--dsw-fc-swish-band,#ffffff) 50%,#2f6f52 60%,#2f6f52 100%)!important}.turnStatus[data-fc-bg] .turnStatusClock,[data-fc-bg] span:last-of-type{color:attr(data-fc-bg)!important;-webkit-text-fill-color:attr(data-fc-bg)!important}";
|
|
717
720
|
|
|
718
721
|
/**
|
|
719
722
|
* 确保 <style id="falling-ts-swish-inline"> 已挂在 <head>(幂等,至多一次)。
|
package/web/swish.css
CHANGED
|
@@ -21,163 +21,165 @@
|
|
|
21
21
|
*
|
|
22
22
|
* Color index ↔ phase mapping (single source of truth lives in
|
|
23
23
|
* `src/core/ui-signal.js` — keep in sync manually if either side grows):
|
|
24
|
-
* 00..19 = WORKING_COLORS[0..19] (random working states)
|
|
25
|
-
* 20 = PINNED_COLORS.compressing (#
|
|
26
|
-
* 21 = PINNED_COLORS.done (#
|
|
24
|
+
* 00..19 = WORKING_COLORS[0..19] (random working states, extra-dark)
|
|
25
|
+
* 20 = PINNED_COLORS.compressing (#9b1c2b deep burgundy-red)
|
|
26
|
+
* 21 = PINNED_COLORS.done (#2f6f52 muted pine-green)
|
|
27
|
+
*
|
|
28
|
+
* 2026 深色化第二轮:所有色值加深一档(与 ui-signal.js 同步),扫光带仍为白色。
|
|
27
29
|
*/
|
|
28
30
|
|
|
29
|
-
/* ---------- 00 · working · #
|
|
31
|
+
/* ---------- 00 · working · #1e40af (royal blue) ---------- */
|
|
30
32
|
@keyframes falling-ts-swish-00 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
31
33
|
.falling-ts-swish-00 {
|
|
32
34
|
animation-name: falling-ts-swish-00 !important;
|
|
33
|
-
background-image: linear-gradient(90deg, #
|
|
35
|
+
background-image: linear-gradient(90deg, #1e40af 0%, #1e40af 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #1e40af 60%, #1e40af 100%) !important;
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
/* ---------- 01 · working · #
|
|
38
|
+
/* ---------- 01 · working · #1e3a8a (deep blue) ---------- */
|
|
37
39
|
@keyframes falling-ts-swish-01 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
38
40
|
.falling-ts-swish-01 {
|
|
39
41
|
animation-name: falling-ts-swish-01 !important;
|
|
40
|
-
background-image: linear-gradient(90deg, #
|
|
42
|
+
background-image: linear-gradient(90deg, #1e3a8a 0%, #1e3a8a 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #1e3a8a 60%, #1e3a8a 100%) !important;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
/* ---------- 02 · working · #
|
|
45
|
+
/* ---------- 02 · working · #312e81 (indigo) ---------- */
|
|
44
46
|
@keyframes falling-ts-swish-02 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
45
47
|
.falling-ts-swish-02 {
|
|
46
48
|
animation-name: falling-ts-swish-02 !important;
|
|
47
|
-
background-image: linear-gradient(90deg, #
|
|
49
|
+
background-image: linear-gradient(90deg, #312e81 0%, #312e81 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #312e81 60%, #312e81 100%) !important;
|
|
48
50
|
}
|
|
49
51
|
|
|
50
|
-
/* ---------- 03 · working · #
|
|
52
|
+
/* ---------- 03 · working · #4c1d95 (violet) ---------- */
|
|
51
53
|
@keyframes falling-ts-swish-03 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
52
54
|
.falling-ts-swish-03 {
|
|
53
55
|
animation-name: falling-ts-swish-03 !important;
|
|
54
|
-
background-image: linear-gradient(90deg, #
|
|
56
|
+
background-image: linear-gradient(90deg, #4c1d95 0%, #4c1d95 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #4c1d95 60%, #4c1d95 100%) !important;
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
/* ---------- 04 · working · #
|
|
59
|
+
/* ---------- 04 · working · #581c87 (purple) ---------- */
|
|
58
60
|
@keyframes falling-ts-swish-04 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
59
61
|
.falling-ts-swish-04 {
|
|
60
62
|
animation-name: falling-ts-swish-04 !important;
|
|
61
|
-
background-image: linear-gradient(90deg, #
|
|
63
|
+
background-image: linear-gradient(90deg, #581c87 0%, #581c87 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #581c87 60%, #581c87 100%) !important;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
/* ---------- 05 · working · #
|
|
66
|
+
/* ---------- 05 · working · #8318a3 (plum) ---------- */
|
|
65
67
|
@keyframes falling-ts-swish-05 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
66
68
|
.falling-ts-swish-05 {
|
|
67
69
|
animation-name: falling-ts-swish-05 !important;
|
|
68
|
-
background-image: linear-gradient(90deg, #
|
|
70
|
+
background-image: linear-gradient(90deg, #8318a3 0%, #8318a3 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #8318a3 60%, #8318a3 100%) !important;
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
/* ---------- 06 · working · #
|
|
73
|
+
/* ---------- 06 · working · #86198f (orchid) ---------- */
|
|
72
74
|
@keyframes falling-ts-swish-06 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
73
75
|
.falling-ts-swish-06 {
|
|
74
76
|
animation-name: falling-ts-swish-06 !important;
|
|
75
|
-
background-image: linear-gradient(90deg, #
|
|
77
|
+
background-image: linear-gradient(90deg, #86198f 0%, #86198f 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #86198f 60%, #86198f 100%) !important;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
/* ---------- 07 · working · #
|
|
80
|
+
/* ---------- 07 · working · #9d174d (magenta) ---------- */
|
|
79
81
|
@keyframes falling-ts-swish-07 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
80
82
|
.falling-ts-swish-07 {
|
|
81
83
|
animation-name: falling-ts-swish-07 !important;
|
|
82
|
-
background-image: linear-gradient(90deg, #
|
|
84
|
+
background-image: linear-gradient(90deg, #9d174d 0%, #9d174d 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #9d174d 60%, #9d174d 100%) !important;
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
/* ---------- 08 · working · #
|
|
87
|
+
/* ---------- 08 · working · #9f1239 (pink) ---------- */
|
|
86
88
|
@keyframes falling-ts-swish-08 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
87
89
|
.falling-ts-swish-08 {
|
|
88
90
|
animation-name: falling-ts-swish-08 !important;
|
|
89
|
-
background-image: linear-gradient(90deg, #
|
|
91
|
+
background-image: linear-gradient(90deg, #9f1239 0%, #9f1239 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #9f1239 60%, #9f1239 100%) !important;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
/* ---------- 09 · working · #
|
|
94
|
+
/* ---------- 09 · working · #991b1b (rose) ---------- */
|
|
93
95
|
@keyframes falling-ts-swish-09 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
94
96
|
.falling-ts-swish-09 {
|
|
95
97
|
animation-name: falling-ts-swish-09 !important;
|
|
96
|
-
background-image: linear-gradient(90deg, #
|
|
98
|
+
background-image: linear-gradient(90deg, #991b1b 0%, #991b1b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #991b1b 60%, #991b1b 100%) !important;
|
|
97
99
|
}
|
|
98
100
|
|
|
99
|
-
/* ---------- 10 · working · #
|
|
101
|
+
/* ---------- 10 · working · #9a3412 (crimson) ---------- */
|
|
100
102
|
@keyframes falling-ts-swish-10 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
101
103
|
.falling-ts-swish-10 {
|
|
102
104
|
animation-name: falling-ts-swish-10 !important;
|
|
103
|
-
background-image: linear-gradient(90deg, #
|
|
105
|
+
background-image: linear-gradient(90deg, #9a3412 0%, #9a3412 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #9a3412 60%, #9a3412 100%) !important;
|
|
104
106
|
}
|
|
105
107
|
|
|
106
|
-
/* ---------- 11 · working · #
|
|
108
|
+
/* ---------- 11 · working · #92400e (scarlet) ---------- */
|
|
107
109
|
@keyframes falling-ts-swish-11 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
108
110
|
.falling-ts-swish-11 {
|
|
109
111
|
animation-name: falling-ts-swish-11 !important;
|
|
110
|
-
background-image: linear-gradient(90deg, #
|
|
112
|
+
background-image: linear-gradient(90deg, #92400e 0%, #92400e 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #92400e 60%, #92400e 100%) !important;
|
|
111
113
|
}
|
|
112
114
|
|
|
113
|
-
/* ---------- 12 · working · #
|
|
115
|
+
/* ---------- 12 · working · #854d0e (rust) ---------- */
|
|
114
116
|
@keyframes falling-ts-swish-12 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
115
117
|
.falling-ts-swish-12 {
|
|
116
118
|
animation-name: falling-ts-swish-12 !important;
|
|
117
|
-
background-image: linear-gradient(90deg, #
|
|
119
|
+
background-image: linear-gradient(90deg, #854d0e 0%, #854d0e 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #854d0e 60%, #854d0e 100%) !important;
|
|
118
120
|
}
|
|
119
121
|
|
|
120
|
-
/* ---------- 13 · working · #
|
|
122
|
+
/* ---------- 13 · working · #4d7c0f (ochre-gold) ---------- */
|
|
121
123
|
@keyframes falling-ts-swish-13 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
122
124
|
.falling-ts-swish-13 {
|
|
123
125
|
animation-name: falling-ts-swish-13 !important;
|
|
124
|
-
background-image: linear-gradient(90deg, #
|
|
126
|
+
background-image: linear-gradient(90deg, #4d7c0f 0%, #4d7c0f 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #4d7c0f 60%, #4d7c0f 100%) !important;
|
|
125
127
|
}
|
|
126
128
|
|
|
127
|
-
/* ---------- 14 · working · #
|
|
129
|
+
/* ---------- 14 · working · #3f6212 (olive) ---------- */
|
|
128
130
|
@keyframes falling-ts-swish-14 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
129
131
|
.falling-ts-swish-14 {
|
|
130
132
|
animation-name: falling-ts-swish-14 !important;
|
|
131
|
-
background-image: linear-gradient(90deg, #
|
|
133
|
+
background-image: linear-gradient(90deg, #3f6212 0%, #3f6212 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #3f6212 60%, #3f6212 100%) !important;
|
|
132
134
|
}
|
|
133
135
|
|
|
134
|
-
/* ---------- 15 · working · #
|
|
136
|
+
/* ---------- 15 · working · #166534 (moss) ---------- */
|
|
135
137
|
@keyframes falling-ts-swish-15 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
136
138
|
.falling-ts-swish-15 {
|
|
137
139
|
animation-name: falling-ts-swish-15 !important;
|
|
138
|
-
background-image: linear-gradient(90deg, #
|
|
140
|
+
background-image: linear-gradient(90deg, #166534 0%, #166534 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #166534 60%, #166534 100%) !important;
|
|
139
141
|
}
|
|
140
142
|
|
|
141
|
-
/* ---------- 16 · working · #
|
|
143
|
+
/* ---------- 16 · working · #065f46 (pine) ---------- */
|
|
142
144
|
@keyframes falling-ts-swish-16 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
143
145
|
.falling-ts-swish-16 {
|
|
144
146
|
animation-name: falling-ts-swish-16 !important;
|
|
145
|
-
background-image: linear-gradient(90deg, #
|
|
147
|
+
background-image: linear-gradient(90deg, #065f46 0%, #065f46 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #065f46 60%, #065f46 100%) !important;
|
|
146
148
|
}
|
|
147
149
|
|
|
148
|
-
/* ---------- 17 · working · #
|
|
150
|
+
/* ---------- 17 · working · #0e7490 (teal) ---------- */
|
|
149
151
|
@keyframes falling-ts-swish-17 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
150
152
|
.falling-ts-swish-17 {
|
|
151
153
|
animation-name: falling-ts-swish-17 !important;
|
|
152
|
-
background-image: linear-gradient(90deg, #
|
|
154
|
+
background-image: linear-gradient(90deg, #0e7490 0%, #0e7490 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #0e7490 60%, #0e7490 100%) !important;
|
|
153
155
|
}
|
|
154
156
|
|
|
155
|
-
/* ---------- 18 · working · #
|
|
157
|
+
/* ---------- 18 · working · #155e75 (cyan) ---------- */
|
|
156
158
|
@keyframes falling-ts-swish-18 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
157
159
|
.falling-ts-swish-18 {
|
|
158
160
|
animation-name: falling-ts-swish-18 !important;
|
|
159
|
-
background-image: linear-gradient(90deg, #
|
|
161
|
+
background-image: linear-gradient(90deg, #155e75 0%, #155e75 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #155e75 60%, #155e75 100%) !important;
|
|
160
162
|
}
|
|
161
163
|
|
|
162
|
-
/* ---------- 19 · working · #
|
|
164
|
+
/* ---------- 19 · working · #172554 (navy) ---------- */
|
|
163
165
|
@keyframes falling-ts-swish-19 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
164
166
|
.falling-ts-swish-19 {
|
|
165
167
|
animation-name: falling-ts-swish-19 !important;
|
|
166
|
-
background-image: linear-gradient(90deg, #
|
|
168
|
+
background-image: linear-gradient(90deg, #172554 0%, #172554 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #172554 60%, #172554 100%) !important;
|
|
167
169
|
}
|
|
168
170
|
|
|
169
|
-
/* ---------- 20 · compressing · #
|
|
171
|
+
/* ---------- 20 · compressing · #9b1c2b (deep burgundy-red, pinned) ---------- */
|
|
170
172
|
@keyframes falling-ts-swish-20 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
171
173
|
.falling-ts-swish-20 {
|
|
172
174
|
animation-name: falling-ts-swish-20 !important;
|
|
173
|
-
background-image: linear-gradient(90deg, #
|
|
175
|
+
background-image: linear-gradient(90deg, #9b1c2b 0%, #9b1c2b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #9b1c2b 60%, #9b1c2b 100%) !important;
|
|
174
176
|
}
|
|
175
177
|
|
|
176
|
-
/* ---------- 21 · done · #
|
|
178
|
+
/* ---------- 21 · done · #2f6f52 (muted pine-green, pinned) ---------- */
|
|
177
179
|
@keyframes falling-ts-swish-21 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
178
180
|
.falling-ts-swish-21 {
|
|
179
181
|
animation-name: falling-ts-swish-21 !important;
|
|
180
|
-
background-image: linear-gradient(90deg, #
|
|
182
|
+
background-image: linear-gradient(90deg, #2f6f52 0%, #2f6f52 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #2f6f52 60%, #2f6f52 100%) !important;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
185
|
/* No independent clock recolor rule here. The TurnStatus text fill is painted
|