dsh-font-enhancer 1.4.6 → 1.4.10
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.md +5 -0
- package/lib/client.js +368 -8
- package/lib/orb/orb-chromaticMetal.html +322 -0
- package/lib/orb/orb-plasma.html +322 -0
- package/lib/orb/orb-violetEmber.html +322 -0
- package/package.json +77 -76
package/README.md
CHANGED
|
@@ -39,6 +39,11 @@ Features **unified** global font/color overrides, **theme** save/switch, **框
|
|
|
39
39
|
- **Unified Font** checkbox: one font family + size applies to **all** enabled regions.
|
|
40
40
|
- When unified is ON, the randomizer randomizes the unified value (not per-region).
|
|
41
41
|
|
|
42
|
+
### 🎨 三球共享 128 皮肤 Unified Ball Skins
|
|
43
|
+
- 与 dsh-todo-float-ball / dsh-skill-browser 共享同一套 128 款皮肤目录(`window.__DSH_BALL_SKINS`)。
|
|
44
|
+
- 面板 🎨 按钮或 DSH 设置页任一处切换,三个悬浮球与其展开面板颜色实时同步。
|
|
45
|
+
- 「原版(仅本球)」选项可让字体球单独回到原始暖极光外观,不影响另两球。
|
|
46
|
+
|
|
42
47
|
### 主题系统 Theme System
|
|
43
48
|
- **Save** the current full configuration (all regions' fonts + colors) as a named theme.
|
|
44
49
|
- **Apply** any saved theme to restore its settings.
|
package/lib/client.js
CHANGED
|
@@ -3,6 +3,355 @@ window.__ModuleLoader__.load({
|
|
|
3
3
|
factory: function (require) {
|
|
4
4
|
var module = { exports: {} };
|
|
5
5
|
var exports = module.exports;
|
|
6
|
+
// skin-catalog.js — shared 128-skin catalog for dsh-todo-float-ball /
|
|
7
|
+
// dsh-skill-browser / dsh-font-enhancer. Generated by make_skin_catalog.py.
|
|
8
|
+
// Proposal numbering matches the approved design sheets (01-128).
|
|
9
|
+
(function () {
|
|
10
|
+
if (window.__DSH_BALL_SKINS) return;
|
|
11
|
+
function hs(h,s,l,a){return a==null?("hsl("+h+","+s+"%,"+l+"%)"):("hsla("+h+","+s+"%,"+l+"%,"+a+")");}
|
|
12
|
+
var FORMULA = {
|
|
13
|
+
deep:[["朱砂","VERMILION",4],["酡颜","FLUSHED",13],["琥珀","AMBER",32],["缃色","PALE GOLD",44],["藤黄","GAMBOGE",52],["松花","PINE POLLEN",62],["葱倩","SCALLION",78],["艾绿","MUGWORT",96],["嫩柳","WILLOW",112],["竹青","BAMBOO",126],["石绿","MINERAL GREEN",138],["翡翠","JADEITE",152],["天水碧","SKY WATER",164],["铜绿","VERDIGRIS",172],["松石","TURQUOISE",180],["孔雀","PEACOCK",188],["晴山","CLEAR HILL",194],["天青","AZURE",200],["湖水","LAKE BLUE",207],["霁蓝","AFTER RAIN",214],["群青","ULTRAMARINE",221],["靛蓝","INDIGO",229],["绀青","NAVY",236],["藏蓝","TIBETAN",243],["窃蓝","FLEDGLING BLUE",250],["青莲","LOTUS VIOLET",258],["紫藤","WISTERIA",265],["紫棠","VIOLET WOOD",272],["雪青","SNOW LILAC",283],["丁香","LILAC",290],["堇色","VIOLET",297],["藕荷","LOTUS PINK",305],["烟霞","MISTY GLOW",315],["十样锦","BROCADE",326],["海棠","BEGONIA",334],["银红","SILVER RED",341],["桃夭","PEACH BLOSSOM",349],["绛纱","CRIMSON GAUZE",356]],
|
|
14
|
+
muted:[["栗","CHESTNUT",16],["驼","CAMEL",26],["灰陶","POTTERY",34],["枯茶","DRIED TEA",42],["秋香","AUTUMN",58],["苔径","MOSS PATH",88],["豆绿","BEAN GREEN",98],["青梅","GREEN PLUM",116],["苍山","PALE MOUNTAIN",150],["青矾","VITRIOL",194],["沧浪","PALE WAVE",205],["雾蓝","FOG BLUE",212],["青灰","BLUISH GRAY",224],["黛蓝","HAZY BLUE",232],["黛灰","INK GRAY",252],["紫灰","VIOLET GRAY",276],["烟紫","SMOKY VIOLET",288],["藕灰","LOTUS GRAY",308],["绛紫","CRIMSON PLUM",326],["檀","SANDLEWOOD",359]],
|
|
15
|
+
soft:[["曙光","FIRST LIGHT",8],["橄榄","OLIVE",66],["松间","PINEWOOD",140],["青栀","GARDENIA",168],["湖烟","LAKE MIST",190],["碧涛","BLUE WAVE",202],["竹月","BAMBOO MOON",216],["星蓝","STAR BLUE",226],["青冥","AZURE DEPTH",244],["紫冥","DUSK VIOLET",262],["夜堇","NIGHT VIOLET",284],["芋紫","TARO",300],["霞粉","GLOW PINK",338],["树莓","RASPBERRY",344],["樱贝","CHERRY SHELL",352]],
|
|
16
|
+
neutral:[["银鼠","SILVER RAT",205],["玄青","INK CYAN",160],["玄墨","JET BLACK",275],["乌羽","RAVEN",8],["烟灰","SMOKE",32],["灰鹄","SWAN",140],["玄天","DARK SKY",222],["黛烟","INK SMOKE",288],["铁灰","IRON",210],["磨石","WHETSTONE",95]],
|
|
17
|
+
light:[["月白","MOON WHITE",210],["卵白","EGG WHITE",88],["牙色","IVORY",46],["茶白","TEA WHITE",28],["米浆","RICE MILK",52],["亚麻","LINEN",32],["藕丝","LOTUS THREAD",330],["绫粉","SILK PINK",350],["青白","PALE CELADON",160],["天际","SKYLINE",205],["紫丁","PALE LILAC",285],["雾粉","MIST PINK",345],["薄荷","MINT",150],["绢黄","PALE SILK",48],["灰绿","SAGE",110],["雪浪","SNOW WAVE",195],["燕羽","SWALLOW",225]],
|
|
18
|
+
};
|
|
19
|
+
function varsFor(kind,hh){
|
|
20
|
+
var v={};
|
|
21
|
+
if(kind==="deep"){v={bgA:hs(hh,42,17),bgB:hs(hh,48,7),edge:hs(hh,60,85,".2"),spec:"rgba(255,255,255,.16)",stI:hs(hh,14,54),stP:hs(hh,40,62),stA:hs(hh,88,68),stD:hs(hh,50,42),lbc:hs(hh,35,94),trk:hs(hh,50,80,".13"),pbgA:hs(hh,24,12),pbgB:hs(hh,28,7),pbd:hs(hh,45,80,".14"),ptx:hs(hh,28,92),itm:hs(hh,16,66),itD:hs(hh,18,52),cctx:hs(hh,16,66),chipBg:hs(hh,30,60,".07"),hintC:hs(hh,12,45),hair1:hs(hh,88,68),hair2:hs(hh,50,42)};}
|
|
22
|
+
else if(kind==="muted"){v={bgA:hs(hh,19,15),bgB:hs(hh,20,6),edge:hs(hh,30,78,".17"),spec:"rgba(255,255,255,.1)",stI:hs(hh,10,50),stP:hs(hh,22,56),stA:hs(hh,42,62),stD:hs(hh,28,40),lbc:hs(hh,18,90),trk:hs(hh,30,75,".12"),pbgA:hs(hh,14,11),pbgB:hs(hh,16,6),pbd:hs(hh,25,75,".12"),ptx:hs(hh,14,88),itm:hs(hh,10,62),itD:hs(hh,12,48),cctx:hs(hh,10,62),chipBg:hs(hh,18,55,".06"),hintC:hs(hh,8,42),hair1:hs(hh,42,62),hair2:hs(hh,28,40)};}
|
|
23
|
+
else if(kind==="soft"){v={bgA:hs(hh,28,21),bgB:hs(hh,30,10),edge:hs(hh,45,85,".22"),spec:"rgba(255,255,255,.2)",stI:hs(hh,16,58),stP:hs(hh,36,66),stA:hs(hh,80,70),stD:hs(hh,44,46),lbc:hs(hh,30,95),trk:hs(hh,45,85,".14"),pbgA:hs(hh,20,15),pbgB:hs(hh,24,9),pbd:hs(hh,40,85,".15"),ptx:hs(hh,24,93),itm:hs(hh,14,70),itD:hs(hh,16,56),cctx:hs(hh,14,70),chipBg:hs(hh,26,65,".08"),hintC:hs(hh,10,50),hair1:hs(hh,80,70),hair2:hs(hh,44,46)};}
|
|
24
|
+
else if(kind==="neutral"){v={bgA:hs(hh,7,18),bgB:hs(hh,8,7),edge:"rgba(255,255,255,.14)",spec:"rgba(255,255,255,.12)",stI:hs(hh,10,52),stP:hs(hh,28,60),stA:hs(hh,62,64),stD:hs(hh,38,42),lbc:hs(hh,10,93),trk:hs(hh,20,80,".12"),pbgA:hs(hh,6,12),pbgB:hs(hh,7,7),pbd:"rgba(255,255,255,.09)",ptx:hs(hh,8,90),itm:hs(hh,8,64),itD:hs(hh,10,50),cctx:hs(hh,8,64),chipBg:"rgba(255,255,255,.05)",hintC:hs(hh,6,42),hair1:hs(hh,62,64),hair2:hs(hh,38,42)};}
|
|
25
|
+
else{v={bgA:hs(hh,36,96),bgB:hs(hh,26,84),edge:hs(hh,30,22,".26"),spec:"rgba(255,255,255,.85)",hi:"rgba(255,255,255,.7)",stI:hs(hh,10,60),stP:hs(hh,26,44),stA:hs(hh,40,30),stD:hs(hh,28,40),lbc:hs(hh,25,20),trk:hs(hh,25,20,".14"),pbgA:hs(hh,45,97),pbgB:hs(hh,32,90),pbd:hs(hh,30,25,".15"),ptx:hs(hh,25,20),itm:hs(hh,12,40),itD:hs(hh,14,52),cctx:hs(hh,12,42),chipBg:hs(hh,25,25,".06"),hintC:hs(hh,10,55),hair1:hs(hh,40,30),hair2:hs(hh,28,40)};}
|
|
26
|
+
return v;
|
|
27
|
+
}
|
|
28
|
+
var EX={};
|
|
29
|
+
var EX_ORDER=[];
|
|
30
|
+
EX["01"]={no:"01",name:"曜石极光",en:"OBSIDIAN AURORA",group:"招牌特效",anim:"flashy",vars:{bgA:"#273049",bgB:"#090c15",edge:"rgba(255,255,255,.16)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f2f7ff",trk:"rgba(255,255,255,.1)",stI:"#8fa0b8",stP:"#6fb6ff",stA:"#ffb454",stD:"#34e39a",pbgA:"#171c2b",pbgB:"#0c0f18",pbd:"rgba(255,255,255,.09)",ptx:"#dfe7f3",itm:"#b6c6dd",itD:"#7d9c8d",cctx:"#b6c6dd",chipBg:"rgba(255,255,255,.06)",hintC:"#5f6b80",hair1:"#34e39a",hair2:"#7c6bff"},rim:"%RIM%{position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 68%,var(--stA) 86%,#fff 93%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));filter:drop-shadow(0 0 6px var(--stA));opacity:.95;animation:dshSkinSpin 2.6s linear infinite}",band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
31
|
+
EX_ORDER.push("01");
|
|
32
|
+
EX["02"]={no:"02",name:"赛博机能",en:"CYBER CIRCUIT",group:"招牌特效",anim:"flashy",vars:{bgA:"#0d1b2e",bgB:"#04080f",edge:"rgba(0,229,255,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#c9e7f5",trk:"rgba(255,255,255,.1)",stI:"#4f7b95",stP:"#00e5ff",stA:"#ff2d95",stD:"#00ff9d",pbgA:"#0a1622",pbgB:"#050b12",pbd:"rgba(0,229,255,.24)",ptx:"#c9e7f5",itm:"#9fc3d8",itD:"#5f9a85",cctx:"#9fc3d8",chipBg:"rgba(0,229,255,.06)",hintC:"#4f7b95",hair1:"#00e5ff",hair2:"#ff2d95"},rim:"%RIM%{position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;border:1px dashed var(--stP);animation:dshSkinSpin 6s linear infinite}",band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,229,255,.07) 0 1px,transparent 1px 3px)}"};
|
|
33
|
+
EX_ORDER.push("02");
|
|
34
|
+
EX["03"]={no:"03",name:"等离子核心",en:"PLASMA CORE",group:"招牌特效",anim:"flashy",vars:{bgA:"#2a1210",bgB:"#0d0403",edge:"rgba(255,140,60,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f5e3d5",trk:"rgba(255,255,255,.1)",stI:"#8a5a4a",stP:"#ffa23d",stA:"#ff5c2b",stD:"#ffd23d",pbgA:"#1c0e0a",pbgB:"#0c0504",pbd:"rgba(255,140,60,.22)",ptx:"#f5e3d5",itm:"#c8a795",itD:"#96826e",cctx:"#c8a795",chipBg:"rgba(255,140,60,.07)",hintC:"#8a5a4a",hair1:"#ff9a3d",hair2:"#ff3d81"},rim:"%RIM%{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 40deg,rgba(255,154,61,0),#ff9a3d,#ff3d81,#3d9aff,rgba(61,154,255,0) 82%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 1px));filter:blur(2.5px);animation:dshSkinSpin 3s linear infinite}"};
|
|
35
|
+
EX_ORDER.push("03");
|
|
36
|
+
EX["04"]={no:"04",name:"全息幻彩",en:"HOLOGRAPHIC",group:"招牌特效",anim:"flashy",vars:{bgA:"#b8a6f5",bgB:"#6ec6ee",edge:"rgba(255,255,255,.65)",spec:"rgba(255,255,255,.5)",hi:"rgba(255,255,255,.6)",lbc:"#241d4f",trk:"rgba(36,29,79,.2)",stI:"#7c86a8",stP:"#6a5df0",stA:"#e0559f",stD:"#0fae84",pbgA:"#f2f0ff",pbgB:"#e2e8ff",pbd:"rgba(106,93,240,.28)",ptx:"#2a2547",itm:"#4a5470",itD:"#57806c",cctx:"#4a5470",chipBg:"rgba(106,93,240,.08)",hintC:"#7a7fa0",hair1:"#e0559f",hair2:"#6a5df0"},rim:"%RIM%{position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 0deg,#ff9ad5,#ffd1a1,#a1ffd1,#9ad5ff,#b89aff,#ff9ad5);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));filter:blur(3px);opacity:.8;animation:dshSkinSpin 9s linear infinite}",band:"%BAND%{position:absolute;inset:3px 4px 55% 4px;border-radius:inherit;pointer-events:none;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.05));filter:blur(.5px)}"};
|
|
37
|
+
EX_ORDER.push("04");
|
|
38
|
+
EX["05"]={no:"05",name:"量子矩阵",en:"QUANTUM MATRIX",group:"招牌特效",anim:"flashy",vars:{bgA:"#0c1f12",bgB:"#020804",edge:"rgba(0,255,136,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#c9f5d9",trk:"rgba(255,255,255,.1)",stI:"#4f8a63",stP:"#27e584",stA:"#a3ff12",stD:"#00ff9d",pbgA:"#05130a",pbgB:"#020a05",pbd:"rgba(0,255,136,.25)",ptx:"#c9f5d9",itm:"#8fc7a5",itD:"#5f9a78",cctx:"#8fc7a5",chipBg:"rgba(0,255,136,.06)",hintC:"#4f8a63",hair1:"#27e584",hair2:"#a3ff12"},rim:"%RIM%{position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;border:1px dashed rgba(0,255,136,.5);animation:dshSkinSpinR 5s linear infinite}",band:"%BAND%{position:absolute;inset:4px;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(0,255,136,.55) 1px,transparent 1.4px);background-size:7px 7px;-webkit-mask:radial-gradient(circle,#000 0 62%,transparent 74%);mask:radial-gradient(circle,#000 0 62%,transparent 74%);opacity:.5}"};
|
|
39
|
+
EX_ORDER.push("05");
|
|
40
|
+
EX["06"]={no:"06",name:"星环",en:"STAR HALO",group:"招牌特效",anim:"flashy",vars:{bgA:"#131a33",bgB:"#05070f",edge:"rgba(186,160,255,.35)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#e2dcff",trk:"rgba(255,255,255,.1)",stI:"#7d86a8",stP:"#8f9fff",stA:"#ffc46e",stD:"#b28bff",pbgA:"#101527",pbgB:"#070a14",pbd:"rgba(150,130,255,.22)",ptx:"#e2dcff",itm:"#a99cd0",itD:"#8678b0",cctx:"#a99cd0",chipBg:"rgba(150,130,255,.07)",hintC:"#7d86a8",hair1:"#8f9fff",hair2:"#b28bff"},rim:"%RIM%{position:absolute;inset:-7px -15px;border-radius:50%;pointer-events:none;border:1.5px solid rgba(186,160,255,.65);transform:rotate(-16deg) scaleY(.42);box-shadow:0 0 10px rgba(150,120,255,.45),inset 0 0 6px rgba(150,120,255,.3)}",band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.8) 1px,transparent 1.3px),radial-gradient(rgba(186,160,255,.7) .8px,transparent 1.1px);background-size:21px 19px,13px 17px;background-position:4px 6px,9px 12px;opacity:.5;-webkit-mask:radial-gradient(circle,#000 0 55%,transparent 72%);mask:radial-gradient(circle,#000 0 55%,transparent 72%)}"};
|
|
41
|
+
EX_ORDER.push("06");
|
|
42
|
+
EX["07"]={no:"07",name:"熔岩核心",en:"MAGMA CORE",group:"招牌特效",anim:"flashy",vars:{bgA:"#1d0f0a",bgB:"#0a0403",edge:"rgba(255,110,40,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f5ded0",trk:"rgba(255,255,255,.1)",stI:"#7d5648",stP:"#ff8a3d",stA:"#ff4d1f",stD:"#ffbe3d",pbgA:"#170d09",pbgB:"#0b0504",pbd:"rgba(255,110,40,.22)",ptx:"#f5ded0",itm:"#c8a48e",itD:"#96826e",cctx:"#c8a48e",chipBg:"rgba(255,110,40,.07)",hintC:"#7d5648",hair1:"#ff6b2b",hair2:"#ffbe3d"},band:"%BAND%{position:absolute;inset:2px;border-radius:inherit;pointer-events:none;background:repeating-conic-gradient(from 12deg,transparent 0 26deg,rgba(255,110,40,.6) 26deg 29deg);-webkit-mask:radial-gradient(circle,transparent 0 46%,#000 60% 78%,transparent 88%);mask:radial-gradient(circle,transparent 0 46%,#000 60% 78%,transparent 88%);opacity:.75}"};
|
|
43
|
+
EX_ORDER.push("07");
|
|
44
|
+
EX["08"]={no:"08",name:"极地冰川",en:"GLACIER",group:"招牌特效",anim:"flashy",vars:{bgA:"#dff0fa",bgB:"#9fc8e8",edge:"rgba(255,255,255,.78)",spec:"rgba(255,255,255,.75)",hi:"rgba(255,255,255,.7)",lbc:"#123247",trk:"rgba(20,60,90,.18)",stI:"#6f8ba5",stP:"#2f9dd8",stA:"#f06a5d",stD:"#0fa878",pbgA:"#eef7fd",pbgB:"#d8ecf8",pbd:"rgba(60,120,170,.3)",ptx:"#14344a",itm:"#3f5f7a",itD:"#4a7a63",cctx:"#3f5f7a",chipBg:"rgba(30,80,120,.07)",hintC:"#5b7d96",hair1:"#2f9dd8",hair2:"#0fa878"},band:"%BAND%{position:absolute;inset:2px;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.95) 1px,transparent 1.5px);background-size:15px 13px;background-position:3px 4px;opacity:.8;-webkit-mask:radial-gradient(circle,#000 0 58%,transparent 75%);mask:radial-gradient(circle,#000 0 58%,transparent 75%)}"};
|
|
45
|
+
EX_ORDER.push("08");
|
|
46
|
+
EX["09"]={no:"09",name:"霓虹脉搏",en:"NEON PULSE",group:"招牌特效",anim:"flashy",vars:{bgA:"#10101f",bgB:"#05050c",edge:"rgba(255,45,149,.5)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f0d9ec",trk:"rgba(255,255,255,.1)",stI:"#5a5a7d",stP:"#00c8ff",stA:"#ff2d95",stD:"#00ff9d",pbgA:"#0d0d1a",pbgB:"#060609",pbd:"rgba(255,45,149,.3)",ptx:"#f0d9ec",itm:"#b893c9",itD:"#7d9c8d",cctx:"#b893c9",chipBg:"rgba(255,45,149,.07)",hintC:"#8b8bb0",hair1:"#ff2d95",hair2:"#00c8ff"},rim:"%RIM%{position:absolute;inset:-7px;border-radius:inherit;pointer-events:none;border:1px solid rgba(0,200,255,.3)}",extra:"%B%{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 5px 14px rgba(0,0,0,.5),0 0 12px var(--st),0 0 0 1px var(--st) inset!important}"};
|
|
47
|
+
EX_ORDER.push("09");
|
|
48
|
+
EX["10"]={no:"10",name:"机械核心",en:"MECH CORE",group:"招牌特效",anim:"flashy",vars:{bgA:"#262b33",bgB:"#0e1116",edge:"rgba(255,176,32,.45)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#dde3ec",trk:"rgba(255,255,255,.1)",stI:"#6f7a88",stP:"#58a6ff",stA:"#ffb020",stD:"#3fd68a",pbgA:"#171b22",pbgB:"#0c0f14",pbd:"rgba(255,176,32,.22)",ptx:"#dde3ec",itm:"#9aa5b3",itD:"#7d9c8d",cctx:"#9aa5b3",chipBg:"rgba(255,176,32,.06)",hintC:"#6f7a88",hair1:"#ffb020",hair2:"#58a6ff"},rim:"%RIM%{position:absolute;inset:-4px;border-radius:inherit;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(255,176,32,.55) 0 7deg,transparent 7deg 24deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2px));animation:dshSkinSpinR 11s linear infinite}",band:"%BAND%{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.7) 1.2px,transparent 1.8px),radial-gradient(circle at 50% 96%,rgba(255,255,255,.7) 1.2px,transparent 1.8px),radial-gradient(circle at 4% 50%,rgba(255,255,255,.7) 1.2px,transparent 1.8px),radial-gradient(circle at 96% 50%,rgba(255,255,255,.7) 1.2px,transparent 1.8px);opacity:.6}"};
|
|
49
|
+
EX_ORDER.push("10");
|
|
50
|
+
EX["11"]={no:"11",name:"暗物质",en:"DARK MATTER",group:"招牌特效",anim:"flashy",vars:{bgA:"#100a1f",bgB:"#030109",edge:"rgba(160,110,255,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#e4d9ff",trk:"rgba(255,255,255,.1)",stI:"#5f5480",stP:"#9d6bff",stA:"#d05cff",stD:"#7af0ff",pbgA:"#120c20",pbgB:"#070310",pbd:"rgba(160,110,255,.25)",ptx:"#e4d9ff",itm:"#a99cc9",itD:"#7d9c8d",cctx:"#a99cc9",chipBg:"rgba(160,110,255,.07)",hintC:"#9082b3",hair1:"#d05cff",hair2:"#7af0ff"},rim:"%RIM%{position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 90deg,transparent 0 30%,rgba(208,92,255,.9) 52%,rgba(122,240,255,.7) 68%,transparent 88%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 1px));filter:blur(1.5px);animation:dshSkinSpin 2.2s linear infinite}",band:"%BAND%{position:absolute;inset:9px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle,#000 0 55%,rgba(122,240,255,.25) 78%,transparent)}"};
|
|
51
|
+
EX_ORDER.push("11");
|
|
52
|
+
EX["12"]={no:"12",name:"粒子星云",en:"PARTICLE NEBULA",group:"招牌特效",anim:"flashy",vars:{bgA:"#1b1440",bgB:"#070516",edge:"rgba(200,140,255,.35)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#e8def5",trk:"rgba(255,255,255,.1)",stI:"#7d72a8",stP:"#7fb0ff",stA:"#ff8ad0",stD:"#8affd0",pbgA:"#150f30",pbgB:"#090617",pbd:"rgba(170,130,255,.22)",ptx:"#e8def5",itm:"#b0a3cc",itD:"#7d9c8d",cctx:"#b0a3cc",chipBg:"rgba(170,130,255,.07)",hintC:"#7d72a8",hair1:"#ff8ad0",hair2:"#7fb0ff"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(255,138,208,.9) 1.1px,transparent 1.6px),radial-gradient(rgba(127,176,255,.85) .9px,transparent 1.4px),radial-gradient(rgba(255,255,255,.9) .8px,transparent 1.2px);background-size:19px 17px,14px 21px,23px 13px;background-position:5px 7px,11px 14px,2px 16px;opacity:.75;-webkit-mask:radial-gradient(circle,#000 0 56%,transparent 74%);mask:radial-gradient(circle,#000 0 56%,transparent 74%)}"};
|
|
53
|
+
EX_ORDER.push("12");
|
|
54
|
+
EX["13"]={no:"13",name:"流体渐变",en:"FLUID GRADIENT",group:"招牌特效",anim:"flashy",vars:{bgA:"#7c5cf0",bgB:"#2a1a5e",edge:"rgba(255,255,255,.32)",spec:"rgba(255,255,255,.4)",hi:"rgba(255,255,255,.12)",lbc:"#f2edff",trk:"rgba(255,255,255,.1)",stI:"#8f86b8",stP:"#4dd8ff",stA:"#ff7ab0",stD:"#4dffc0",pbgA:"#151033",pbgB:"#0a0720",pbd:"rgba(180,150,255,.25)",ptx:"#ece4ff",itm:"#b3a6d9",itD:"#7d9c8d",cctx:"#b3a6d9",chipBg:"rgba(180,150,255,.08)",hintC:"#8f86b8",hair1:"#4dd8ff",hair2:"#ff7ab0"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 28% 68%,rgba(255,122,176,.55),transparent 55%),radial-gradient(circle at 74% 26%,rgba(77,216,255,.5),transparent 52%)}"};
|
|
55
|
+
EX_ORDER.push("13");
|
|
56
|
+
EX["14"]={no:"14",name:"黄金时代",en:"GOLDEN AGE",group:"招牌特效",anim:"flashy",vars:{bgA:"#241d0d",bgB:"#0c0904",edge:"rgba(255,215,0,.45)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#ffefc4",trk:"rgba(255,255,255,.1)",stI:"#8a7a4f",stP:"#e6c34d",stA:"#ffb020",stD:"#58d68d",pbgA:"#16120a",pbgB:"#0a0805",pbd:"rgba(255,215,0,.28)",ptx:"#f2e6c8",itm:"#c2b48c",itD:"#7d9c8d",cctx:"#c2b48c",chipBg:"rgba(255,215,0,.06)",hintC:"#8a7a4f",hair1:"#ffd700",hair2:"#e6c34d"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,236,170,.75) 47%,rgba(255,255,255,.9) 50%,rgba(255,236,170,.75) 53%,transparent 70%);background-size:260% 100%;background-position:118% 0;-webkit-mask:radial-gradient(circle,#000 0 62%,transparent 78%);mask:radial-gradient(circle,#000 0 62%,transparent 78%)}"};
|
|
57
|
+
EX_ORDER.push("14");
|
|
58
|
+
EX["15"]={no:"15",name:"蒸汽波",en:"VAPORWAVE",group:"招牌特效",anim:"flashy",vars:{bgA:"#2b1140",bgB:"#0d0518",edge:"rgba(255,94,200,.5)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f5dcf0",trk:"rgba(255,255,255,.1)",stI:"#7d5a95",stP:"#22d3ee",stA:"#ff5ec8",stD:"#3dffc8",pbgA:"#170b26",pbgB:"#0b0513",pbd:"rgba(255,94,200,.3)",ptx:"#f5dcf0",itm:"#c39cc9",itD:"#7d9c8d",cctx:"#c39cc9",chipBg:"rgba(255,94,200,.07)",hintC:"#7d5a95",hair1:"#ff5ec8",hair2:"#22d3ee"},band:"%BAND%{position:absolute;inset:2px 3px 52% 3px;border-radius:inherit;pointer-events:none;background:linear-gradient(rgba(255,150,220,.4),rgba(120,240,255,.08));filter:blur(.5px)}",extra:"%B%{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 5px 14px rgba(0,0,0,.5),-4px -4px 16px rgba(255,94,200,.45),4px 4px 16px rgba(34,211,238,.45)!important}"};
|
|
59
|
+
EX_ORDER.push("15");
|
|
60
|
+
EX["16"]={no:"16",name:"战术HUD",en:"TACTICAL HUD",group:"招牌特效",anim:"flashy",vars:{bgA:"#0f1a12",bgB:"#050b07",edge:"rgba(74,222,128,.45)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#d2f5dc",trk:"rgba(255,255,255,.1)",stI:"#5a7d66",stP:"#4ade80",stA:"#a3e635",stD:"#34e39a",pbgA:"#0c1710",pbgB:"#060d08",pbd:"rgba(74,222,128,.28)",ptx:"#d2f5dc",itm:"#8fb89c",itD:"#5f9a78",cctx:"#8fb89c",chipBg:"rgba(74,222,128,.06)",hintC:"#5a7d66",hair1:"#4ade80",hair2:"#a3e635"},rim:"%RIM%{position:absolute;inset:-5px;border-radius:inherit;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(74,222,128,.5) 0 2deg,transparent 2deg 15deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1px));animation:dshSkinSpin 14s linear infinite}",band:"%BAND%{position:absolute;inset:7px;border-radius:inherit;pointer-events:none;background:linear-gradient(rgba(74,222,128,.55),rgba(74,222,128,.55)) 50% 0/1px 7px no-repeat,linear-gradient(rgba(74,222,128,.55),rgba(74,222,128,.55)) 50% 100%/1px 7px no-repeat,linear-gradient(rgba(74,222,128,.55),rgba(74,222,128,.55)) 0 50%/7px 1px no-repeat,linear-gradient(rgba(74,222,128,.55),rgba(74,222,128,.55)) 100% 50%/7px 1px no-repeat;opacity:.7}"};
|
|
61
|
+
EX_ORDER.push("16");
|
|
62
|
+
EX["17"]={no:"17",name:"方块像素",en:"PIXEL QUEST",group:"招牌特效",anim:"flashy",vars:{bgA:"#3b4268",bgB:"#24283d",edge:"#0f1120",spec:"rgba(255,255,255,.22)",hi:"rgba(255,255,255,.1)",lbc:"#dfe4ff",trk:"rgba(16,18,31,.8)",stI:"#8a90b8",stP:"#41a6f6",stA:"#ffcd75",stD:"#38b764",pbgA:"#2a2f4a",pbgB:"#1a1d33",pbd:"rgba(15,17,32,.9)",ptx:"#dfe4ff",itm:"#9aa3cc",itD:"#7d9c8d",cctx:"#9aa3cc",chipBg:"rgba(255,255,255,.06)",hintC:"#9aa3c2",hair1:"#ffcd75",hair2:"#41a6f6"},extra:"%B%{border-radius:10px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),5px 5px 0 rgba(0,0,0,.55),0 0 0 1px var(--edge)!important;font-family:Consolas,monospace!important}"};
|
|
63
|
+
EX_ORDER.push("17");
|
|
64
|
+
EX["18"]={no:"18",name:"磁悬浮轨道",en:"MAGLEV ORBIT",group:"招牌特效",anim:"flashy",vars:{bgA:"#141a24",bgB:"#070a10",edge:"rgba(90,209,230,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#d8ecf2",trk:"rgba(255,255,255,.1)",stI:"#5f7a88",stP:"#5ad1e6",stA:"#ffb454",stD:"#34e39a",pbgA:"#121822",pbgB:"#080c12",pbd:"rgba(90,209,230,.25)",ptx:"#d8ecf2",itm:"#96b5c2",itD:"#7d9c8d",cctx:"#96b5c2",chipBg:"rgba(90,209,230,.06)",hintC:"#5f7a88",hair1:"#5ad1e6",hair2:"#34e39a"},rim:"%RIM%{position:absolute;inset:-7px -15px;border-radius:50%;pointer-events:none;border:1.3px solid rgba(90,209,230,.7);transform:rotateX(66deg) rotate(-18deg);box-shadow:0 0 9px rgba(90,209,230,.4)}",band:"%BAND%{position:absolute;inset:-7px -15px;border-radius:50%;pointer-events:none;border:1.3px solid rgba(52,227,154,.55);transform:rotateX(66deg) rotate(52deg);box-shadow:0 0 9px rgba(52,227,154,.35)}"};
|
|
65
|
+
EX_ORDER.push("18");
|
|
66
|
+
EX["19"]={no:"19",name:"太阳风暴",en:"SOLAR FLARE",group:"招牌特效",anim:"flashy",vars:{bgA:"#2a1a08",bgB:"#0f0803",edge:"rgba(255,220,120,.5)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f8ecd2",trk:"rgba(255,255,255,.1)",stI:"#9a835a",stP:"#ffd23d",stA:"#ff9a1f",stD:"#ffe98a",pbgA:"#1c1206",pbgB:"#0d0803",pbd:"rgba(255,210,110,.28)",ptx:"#f8ecd2",itm:"#c9b491",itD:"#9a8a68",cctx:"#c9b491",chipBg:"rgba(255,210,110,.07)",hintC:"#9a835a",hair1:"#ffd23d",hair2:"#ff9a1f"},rim:"%RIM%{position:absolute;inset:-8px;border-radius:inherit;pointer-events:none;background:repeating-conic-gradient(from 0deg,rgba(255,220,120,.4) 0 4deg,transparent 4deg 16deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 3px),#000 calc(100% - 1px),transparent 100%);mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 3px),#000 calc(100% - 1px),transparent 100%);filter:blur(.6px);animation:dshSkinSpin 16s linear infinite}",band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 62%,rgba(255,240,180,.5) 0%,transparent 52%)}"};
|
|
67
|
+
EX_ORDER.push("19");
|
|
68
|
+
EX["20"]={no:"20",name:"深海荧光",en:"ABYSS BIOLUM",group:"招牌特效",anim:"flashy",vars:{bgA:"#06222a",bgB:"#02090c",edge:"rgba(45,212,191,.4)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#d2f2ee",trk:"rgba(255,255,255,.1)",stI:"#4f7d7a",stP:"#2dd4bf",stA:"#b26bff",stD:"#5dffb0",pbgA:"#062026",pbgB:"#030c10",pbd:"rgba(45,212,191,.25)",ptx:"#d2f2ee",itm:"#8fc0ba",itD:"#5f9a85",cctx:"#8fc0ba",chipBg:"rgba(45,212,191,.06)",hintC:"#4f7d7a",hair1:"#2dd4bf",hair2:"#5dffb0"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(93,255,214,.95) 1.2px,transparent 1.7px),radial-gradient(rgba(178,107,255,.85) 1px,transparent 1.5px),radial-gradient(rgba(93,220,255,.8) .9px,transparent 1.4px);background-size:17px 19px,13px 15px,21px 12px;background-position:4px 8px,10px 3px,15px 14px;opacity:.8;-webkit-mask:radial-gradient(circle,#000 0 54%,transparent 74%);mask:radial-gradient(circle,#000 0 54%,transparent 74%)}"};
|
|
69
|
+
EX_ORDER.push("20");
|
|
70
|
+
EX["21"]={no:"21",name:"墨玉",en:"INK JADE",group:"克制精选",anim:"calm",vars:{bgA:"#22302e",bgB:"#0b1211",edge:"rgba(190,225,215,.2)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#dcf2ec",trk:"rgba(190,225,215,.14)",stI:"#5f7a74",stP:"#79a49a",stA:"#4fe0c0",stD:"#2a9d84",pbgA:"#141f1d",pbgB:"#0a100f",pbd:"rgba(190,225,215,.14)",ptx:"#d9ece7",itm:"#9db3ad",itD:"#6f938a",cctx:"#9db3ad",chipBg:"rgba(190,225,215,.07)",hintC:"#5f7a74",hair1:"#4fe0c0",hair2:"#2a9d84"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
71
|
+
EX_ORDER.push("21");
|
|
72
|
+
EX["22"]={no:"22",name:"石墨极简",en:"GRAPHITE MONO",group:"克制精选",anim:"calm",vars:{bgA:"#262b33",bgB:"#101319",edge:"rgba(255,255,255,.14)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#eef1f6",trk:"rgba(255,255,255,.1)",stI:"#6b7480",stP:"#9aa2ad",stA:"#e8edf2",stD:"#ffffff",pbgA:"#181c23",pbgB:"#0d1015",pbd:"rgba(255,255,255,.09)",ptx:"#e2e7ee",itm:"#9aa4b0",itD:"#7d8792",cctx:"#9aa4b0",chipBg:"rgba(255,255,255,.05)",hintC:"#67707f",hair1:"#e8edf2",hair2:"#6b7480"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
73
|
+
EX_ORDER.push("22");
|
|
74
|
+
EX["23"]={no:"23",name:"暮蓝",en:"DUSK BLUE",group:"克制精选",anim:"calm",vars:{bgA:"#1e2836",bgB:"#0b0f18",edge:"rgba(170,195,230,.2)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#dce6f4",trk:"rgba(170,195,230,.13)",stI:"#5d6b80",stP:"#8299b8",stA:"#9fc6f2",stD:"#5f86be",pbgA:"#141b26",pbgB:"#0a0e16",pbd:"rgba(170,195,230,.13)",ptx:"#d8e2f0",itm:"#9cafcc",itD:"#7288a6",cctx:"#9cafcc",chipBg:"rgba(170,195,230,.06)",hintC:"#5d6b80",hair1:"#9fc6f2",hair2:"#5f86be"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
75
|
+
EX_ORDER.push("23");
|
|
76
|
+
EX["24"]={no:"24",name:"可可",en:"COCOA",group:"克制精选",anim:"calm",vars:{bgA:"#2b2019",bgB:"#120c08",edge:"rgba(224,190,150,.2)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#f2e6d8",trk:"rgba(224,190,150,.13)",stI:"#7d6a5c",stP:"#ab8d70",stA:"#e0aa6e",stD:"#a87848",pbgA:"#1c1410",pbgB:"#0f0a07",pbd:"rgba(224,190,150,.13)",ptx:"#efe2d2",itm:"#bda892",itD:"#96826e",cctx:"#bda892",chipBg:"rgba(224,190,150,.06)",hintC:"#7d6a5c",hair1:"#e0aa6e",hair2:"#a87848"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
77
|
+
EX_ORDER.push("24");
|
|
78
|
+
EX["25"]={no:"25",name:"雾灰哑光",en:"MATTE MIST",group:"克制精选",anim:"calm",vars:{bgA:"#2a2f36",bgB:"#161a20",edge:"rgba(200,210,222,.18)",spec:"rgba(255,255,255,.07)",hi:"rgba(255,255,255,.06)",lbc:"#e5eaf0",trk:"rgba(200,210,222,.12)",stI:"#67707c",stP:"#8b98a8",stA:"#bcc8d6",stD:"#8b9db2",pbgA:"#181c22",pbgB:"#0e1116",pbd:"rgba(200,210,222,.12)",ptx:"#dfe4ea",itm:"#9aa5b1",itD:"#7c8894",cctx:"#9aa5b1",chipBg:"rgba(200,210,222,.06)",hintC:"#67707c",hair1:"#bcc8d6",hair2:"#67707c"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.09}"};
|
|
79
|
+
EX_ORDER.push("25");
|
|
80
|
+
EX["26"]={no:"26",name:"苔原",en:"MOSS TUNDRA",group:"克制精选",anim:"calm",vars:{bgA:"#1c2a20",bgB:"#0a120c",edge:"rgba(180,215,185,.2)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#ddeddd",trk:"rgba(180,215,185,.13)",stI:"#5d7a64",stP:"#86ad8c",stA:"#a4dca0",stD:"#4f9d68",pbgA:"#131f16",pbgB:"#0a110c",pbd:"rgba(180,215,185,.13)",ptx:"#dae9da",itm:"#9db8a0",itD:"#75967c",cctx:"#9db8a0",chipBg:"rgba(180,215,185,.06)",hintC:"#5d7a64",hair1:"#a4dca0",hair2:"#4f9d68"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
81
|
+
EX_ORDER.push("26");
|
|
82
|
+
EX["27"]={no:"27",name:"烟紫",en:"DUSTY PLUM",group:"克制精选",anim:"calm",vars:{bgA:"#26202b",bgB:"#100b14",edge:"rgba(210,190,230,.2)",spec:"rgba(255,255,255,.16)",hi:"rgba(255,255,255,.12)",lbc:"#ebe2f4",trk:"rgba(210,190,230,.13)",stI:"#776b82",stP:"#9d8bb0",stA:"#c9aee6",stD:"#8a6cae",pbgA:"#171221",pbgB:"#0c0812",pbd:"rgba(210,190,230,.13)",ptx:"#e6ddf0",itm:"#a99bb8",itD:"#877799",cctx:"#a99bb8",chipBg:"rgba(210,190,230,.06)",hintC:"#776b82",hair1:"#c9aee6",hair2:"#8a6cae"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
83
|
+
EX_ORDER.push("27");
|
|
84
|
+
EX["28"]={no:"28",name:"月白纸墨",en:"PAPER & INK",group:"克制精选",anim:"calm",vars:{bgA:"#f7f5ef",bgB:"#dcd8cd",edge:"rgba(60,55,45,.28)",spec:"rgba(255,255,255,.85)",hi:"rgba(255,255,255,.7)",lbc:"#2c2a24",trk:"rgba(60,55,45,.14)",stI:"#a09c92",stP:"#6e6a60",stA:"#33302a",stD:"#55524a",pbgA:"#faf9f5",pbgB:"#edeae1",pbd:"rgba(60,55,45,.16)",ptx:"#33302a",itm:"#6e6a60",itD:"#8b877d",cctx:"#6e6a60",chipBg:"rgba(60,55,45,.05)",hintC:"#8b877d",hair1:"#33302a",hair2:"#a09c92"},band:"%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}"};
|
|
85
|
+
EX_ORDER.push("28");
|
|
86
|
+
var KIND_LABEL={deep:"浓郁深底",muted:"尘埃灰调",soft:"柔光深底",neutral:"中性点缀",light:"浅色纸面"};
|
|
87
|
+
var TINT="%BAND%{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 122%,var(--st) 0%,transparent 54%);opacity:.13}";
|
|
88
|
+
var ALL=[],BY_ID={};
|
|
89
|
+
(function build(){
|
|
90
|
+
EX_ORDER.forEach(function(id){var s=EX[id];s.id=id;s.kind="special";ALL.push(s);BY_ID[id]=s;});
|
|
91
|
+
var order=["deep","muted","soft","neutral","light"],no=28;
|
|
92
|
+
order.forEach(function(kind){
|
|
93
|
+
FORMULA[kind].forEach(function(row){
|
|
94
|
+
no++;var id=(no<100?"0":"")+String(no);
|
|
95
|
+
var s={id:id,no:id,name:row[0],en:row[1],kind:kind,group:KIND_LABEL[kind],anim:"calm",vars:varsFor(kind,row[2])};
|
|
96
|
+
if(!s.band)s.band=TINT;
|
|
97
|
+
ALL.push(s);BY_ID[id]=s;
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
})();
|
|
101
|
+
var KEY="dsh-ball-skin",DEFAULT_ID="01";
|
|
102
|
+
function getId(){try{var v=localStorage.getItem(KEY);if(v&&BY_ID[v])return v;}catch(e){}return DEFAULT_ID;}
|
|
103
|
+
function setSkin(id){
|
|
104
|
+
if(!BY_ID[id])return false;
|
|
105
|
+
try{localStorage.setItem(KEY,id);}catch(e){}
|
|
106
|
+
var hooks=window.__dshBallSkinHooks||[];
|
|
107
|
+
for(var i=0;i<hooks.length;i++){try{hooks[i](id,BY_ID[id]);}catch(e){}}
|
|
108
|
+
try{window.dispatchEvent(new CustomEvent("dsh-ball-skin-change",{detail:{id:id}}));}catch(e){}
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
function varsCss(sel,id){var s=BY_ID[id]||BY_ID[DEFAULT_ID];var out=sel+"{";
|
|
112
|
+
for(var k in s.vars){out+="--"+k+":"+s.vars[k]+";";}
|
|
113
|
+
return out+"}";}
|
|
114
|
+
function varsAll(sel){return varsCss(sel,getId());}
|
|
115
|
+
function fx(id,sel){var s=BY_ID[id]||BY_ID[DEFAULT_ID];var out=[];
|
|
116
|
+
if(s.rim)out.push(s.rim.split("%RIM%").join(sel.RIM));
|
|
117
|
+
if(s.band)out.push(s.band.split("%BAND%").join(sel.BAND));
|
|
118
|
+
if(s.extra)out.push(s.extra.split("%B%").join(sel.B));
|
|
119
|
+
return out.join("\n");}
|
|
120
|
+
function groups(){var g=[],seen={};ALL.forEach(function(s){if(!seen[s.group]){seen[s.group]=true;g.push(s.group);}});return g;}
|
|
121
|
+
window.__DSH_BALL_SKINS={ALL:ALL,BY_ID:BY_ID,getId:getId,setSkin:setSkin,varsCss:varsCss,varsAll:varsAll,fx:fx,groups:groups,KIND_LABEL:KIND_LABEL,KEY:KEY,DEFAULT_ID:DEFAULT_ID};
|
|
122
|
+
})();
|
|
123
|
+
// ---- unified ball skin system (shared 128 skins, three-ball sync) ----
|
|
124
|
+
// The base panelCss() rules are all !important, so every skin override is
|
|
125
|
+
// passed through imp() (adds !important to each declaration) and appended
|
|
126
|
+
// in a LATER <style> element (#dsh-fe-skin-style) to win the cascade.
|
|
127
|
+
var SKIN = window.__DSH_BALL_SKINS || null;
|
|
128
|
+
var SKIN_STYLE_ID = "dsh-fe-skin-style";
|
|
129
|
+
function imp(css) {
|
|
130
|
+
return css.replace(/([^{}]+)\{([^{}]*)\}/g, function (m, sel, body) {
|
|
131
|
+
var decls = body.split(";").map(function (d) {
|
|
132
|
+
d = d.trim();
|
|
133
|
+
if (!d) return d;
|
|
134
|
+
var i = d.indexOf(":");
|
|
135
|
+
if (i < 0) return d;
|
|
136
|
+
var p = d.slice(0, i), v = d.slice(i + 1);
|
|
137
|
+
if (/!important\s*$/.test(v)) return p + ":" + v;
|
|
138
|
+
return p + ":" + v + " !important";
|
|
139
|
+
}).join(";");
|
|
140
|
+
return sel + "{" + decls + "}";
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
function skinBallCss() {
|
|
144
|
+
if (!SKIN) return "";
|
|
145
|
+
var id = SKIN.getId();
|
|
146
|
+
var s = SKIN.BY_ID[id];
|
|
147
|
+
if (!s) return "";
|
|
148
|
+
var B = "#dsh-fe-root #dsh-fe-toggle", BAND = B + "::before", RIM = B + "::after";
|
|
149
|
+
var css = SKIN.varsCss("#dsh-fe-root", id);
|
|
150
|
+
css += "\n" + imp(B + "{border-radius:50%;background:radial-gradient(circle at 32% 24%,var(--spec,rgba(255,255,255,.16)) 0%,rgba(255,255,255,.03) 28%,rgba(255,255,255,0) 46%),linear-gradient(158deg,var(--bgA,#262b33),var(--bgB,#101319));border:1px solid var(--edge,rgba(255,255,255,.14));box-shadow:inset 0 1px 0 var(--hi,rgba(255,255,255,.12)),0 5px 14px rgba(0,0,0,.42);color:var(--lbc,#eef1f6);text-shadow:0 0 6px var(--stA,transparent);filter:none}");
|
|
151
|
+
if (s.anim === "flashy") css += "\n" + imp(B + "{animation:feOrbBreathe 3.2s ease-in-out infinite}");
|
|
152
|
+
css += "\n" + imp(BAND + "{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1;background:radial-gradient(circle at 50% 122%,var(--stA,#888) 0%,transparent 54%);opacity:.13;filter:none;animation:none}");
|
|
153
|
+
css += "\n" + imp(RIM + "{content:none}");
|
|
154
|
+
css += "\n@keyframes dshSkinSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}\n@keyframes dshSkinSpinR{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}";
|
|
155
|
+
css += "\n" + imp(SKIN.fx(id, { B: B, BAND: BAND, RIM: RIM }));
|
|
156
|
+
if (s.rim) css += "\n" + imp(RIM + "{content:''}");
|
|
157
|
+
return css;
|
|
158
|
+
}
|
|
159
|
+
function skinPanelCss() {
|
|
160
|
+
if (!SKIN) return "";
|
|
161
|
+
var P = "#dsh-fe-panel";
|
|
162
|
+
var id = SKIN.getId();
|
|
163
|
+
var css = SKIN.varsCss(P, id);
|
|
164
|
+
// 统一三球面板底色:字体球此前从未覆盖 #dsh-fe-panel 自身背景(基础为硬编码深灰),
|
|
165
|
+
// 现改为与 todo/技能球完全相同的 var(--pbgA)/var(--pbgB) 渐变,浅色主题才跟得上。
|
|
166
|
+
css += "\n" + imp(P + "{background:linear-gradient(180deg,var(--pbgA,rgba(16,18,22,.94)),var(--pbgB,rgba(12,15,24,.96)))!important;color:var(--ptx,#e6e6e6)!important;border:1px solid var(--pbd,rgba(255,255,255,.08))!important}");
|
|
167
|
+
css += "\n" + imp(P + "#dsh-fe-root,#dsh-fe-root *{font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;line-height:1.55!important}");
|
|
168
|
+
css += "\n" + imp(P + "#dsh-fe-panel{padding:14px!important;border-radius:16px!important;font-size:13px!important;font-variant-numeric:tabular-nums!important}");
|
|
169
|
+
css += "\n" + imp(P + "#dsh-fe-panel::before{content:'';position:absolute;top:0;left:16px;right:16px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--hair1,#3ec6ff),var(--hair2,#7c6bff),transparent);opacity:.8}");
|
|
170
|
+
css += "\n" + imp(P + "#dsh-fe-panel .dsh-fe-header{padding:0 0 10px!important;margin-bottom:10px!important;border-bottom:1px solid var(--pbd,rgba(255,255,255,.07))!important}");
|
|
171
|
+
css += "\n" + imp(P + "#dsh-fe-panel .dsh-fe-header h4{font-size:15px!important;font-weight:700!important;color:var(--ptx,#f0f2f5)!important;letter-spacing:.5px!important}");
|
|
172
|
+
css += "\n" + imp(P + "#dsh-fe-panel .dsh-fe-header .dsh-fe-sub{font-size:11.5px!important;color:var(--hintC,#6b7280)!important}");
|
|
173
|
+
css += "\n" + imp(P + "#dsh-fe-panel #dsh-fe-close{width:26px!important;height:26px!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--chipBg,rgba(255,255,255,.06))!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;cursor:pointer!important;font-size:12px!important}");
|
|
174
|
+
css += "\n" + imp(P + "#dsh-fe-panel #dsh-fe-close:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important}");
|
|
175
|
+
css += "\n" + imp(P + "#dsh-fe-panel #dsh-fe-skin-btn{width:26px!important;height:26px!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--chipBg,rgba(255,255,255,.06))!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;cursor:pointer!important;font-size:12px!important;margin-right:6px!important}");
|
|
176
|
+
css += "\n" + imp(P + "#dsh-fe-panel #dsh-fe-skin-btn:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important}");
|
|
177
|
+
css += "\n" + imp(P + " .dsh-fe-themeblock{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
178
|
+
css += "\n" + imp(P + " #dsh-fe-unified{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
179
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
180
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar2{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
181
|
+
css += "\n" + imp(P + " .dsh-fe-customfont{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
182
|
+
css += "\n" + imp(P + " #dsh-fe-guide{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:12px!important}");
|
|
183
|
+
css += "\n" + imp(P + " .dsh-fe-themeblock{padding:10px 12px!important;margin-bottom:10px!important}");
|
|
184
|
+
css += "\n" + imp(P + " #dsh-fe-unified{padding:8px 12px!important;margin-bottom:10px!important}");
|
|
185
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar{padding:6px 8px!important;margin-bottom:8px!important;gap:6px!important}");
|
|
186
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar2{padding:6px 8px!important;margin-bottom:10px!important;gap:6px!important}");
|
|
187
|
+
css += "\n" + imp(P + " .dsh-fe-customfont{padding:10px 12px!important}");
|
|
188
|
+
css += "\n" + imp(P + " .dsh-fe-themeblock button{background:rgba(255,255,255,.055)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;border-radius:8px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;padding:5px 10px!important;transition:all .15s!important}");
|
|
189
|
+
css += "\n" + imp(P + " .dsh-fe-themeblock button:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important;background:rgba(255,255,255,.09)!important}");
|
|
190
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar button{background:rgba(255,255,255,.055)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;border-radius:8px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;padding:5px 10px!important;transition:all .15s!important}");
|
|
191
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar button:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important;background:rgba(255,255,255,.09)!important}");
|
|
192
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar2 button{background:rgba(255,255,255,.055)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;border-radius:8px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;padding:5px 10px!important;transition:all .15s!important}");
|
|
193
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar2 button:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important;background:rgba(255,255,255,.09)!important}");
|
|
194
|
+
css += "\n" + imp(P + " .dsh-fe-customfont button{background:rgba(255,255,255,.055)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;border-radius:8px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;padding:5px 10px!important;transition:all .15s!important}");
|
|
195
|
+
css += "\n" + imp(P + " .dsh-fe-customfont button:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important;background:rgba(255,255,255,.09)!important}");
|
|
196
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar .dsh-fe-btn-accent{background:linear-gradient(135deg,var(--stA,#5b8cff),var(--stD,#2fa8ff))!important;border-color:transparent!important;color:#06121c!important;font-weight:700!important}");
|
|
197
|
+
css += "\n" + imp(P + " .dsh-fe-toolbar .dsh-fe-btn-accent:hover{color:#06121c!important;filter:brightness(1.1)!important}");
|
|
198
|
+
css += "\n" + imp(P + " .dsh-fe-card{background:var(--chipBg,rgba(255,255,255,.045))!important;border:1px solid var(--pbd,rgba(255,255,255,.07))!important;border-radius:10px!important;padding:10px 12px!important;margin-bottom:8px!important}");
|
|
199
|
+
css += "\n" + imp(P + " .dsh-fe-card:hover{border-color:var(--stA,#5b8cff)!important}");
|
|
200
|
+
css += "\n" + imp(P + " .dsh-fe-card-head button{background:rgba(255,255,255,.055)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;border-radius:7px!important;color:var(--ptx,#dfe4ec)!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:11px!important}");
|
|
201
|
+
css += "\n" + imp(P + " .dsh-fe-card-head button:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important}");
|
|
202
|
+
css += "\n" + imp(P + " .dsh-fe-card-head .dsh-fe-enb{background:var(--chipBg,rgba(255,255,255,.055))!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#dfe4ec)!important;border-radius:7px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important}");
|
|
203
|
+
css += "\n" + imp(P + " .dsh-fe-card-head .dsh-fe-enb:hover{border-color:var(--stA,#5b8cff)!important;color:var(--stA,#5b8cff)!important}");
|
|
204
|
+
css += "\n" + imp(P + " .dsh-fe-card-head .dsh-fe-cb input{accent-color:var(--stA,#6aa6ff)!important}");
|
|
205
|
+
css += "\n" + imp(P + " #dsh-fe-enb input{accent-color:var(--stA,#6aa6ff)!important}");
|
|
206
|
+
css += "\n" + imp(P + " .dsh-fe-card-body{background:var(--chipBg,rgba(255,255,255,.045))!important;border-top:1px solid var(--pbd,rgba(255,255,255,.07))!important;margin-top:9px!important;padding:10px 10px 4px!important;border-radius:0 0 10px 10px!important}");
|
|
207
|
+
css += "\n" + imp(P + " .dsh-fe-body-col label{color:var(--hintC,#8b93a1)!important;font-size:10px!important;letter-spacing:.03em!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important}");
|
|
208
|
+
css += "\n" + imp(P + " select{background:rgba(0,0,0,.3)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#e6e6e6)!important;border-radius:7px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important}");
|
|
209
|
+
css += "\n" + imp(P + " input[type=text]{background:rgba(0,0,0,.3)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#e6e6e6)!important;border-radius:7px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important}");
|
|
210
|
+
css += "\n" + imp(P + " input[type=number]{background:rgba(0,0,0,.3)!important;border:1px solid var(--pbd,rgba(255,255,255,.1))!important;color:var(--ptx,#e6e6e6)!important;border-radius:7px!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important}");
|
|
211
|
+
css += "\n" + imp(P + " select:focus{border-color:var(--stA,#5b8cff)!important;box-shadow:0 0 0 3px var(--chipBg,rgba(106,166,255,.08))!important}");
|
|
212
|
+
css += "\n" + imp(P + " input:focus{border-color:var(--stA,#5b8cff)!important;box-shadow:0 0 0 3px var(--chipBg,rgba(106,166,255,.08))!important}");
|
|
213
|
+
css += "\n" + imp(P + " .dsh-fe-italicrow{color:var(--itm,#9aa1b5)!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important}");
|
|
214
|
+
css += "\n" + imp(P + " .dsh-fe-colorrow{color:var(--itm,#9aa1b5)!important;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important;font-size:12px!important}");
|
|
215
|
+
css += "\n" + imp(P + " .dsh-fe-colorrow input[type=color]{background:var(--pbgB,#1b1d22)!important;border:1px solid var(--pbd,rgba(255,255,255,.12))!important}");
|
|
216
|
+
css += "\n" + imp(P + " .dsh-fe-colorrow input[type=color]:hover{border-color:var(--stA,#5b8cff)!important}");
|
|
217
|
+
css += "\n" + imp(P + " .dsh-fe-dot{border-color:var(--pbd,rgba(255,255,255,.2))!important}");
|
|
218
|
+
css += "\n" + imp(P + " input[type=range]{accent-color:var(--stA,#6aa6ff)!important}");
|
|
219
|
+
css += "\n" + imp(P + " input[type=checkbox]{accent-color:var(--stA,#6aa6ff)!important}");
|
|
220
|
+
css += "\n" + imp(P + " .dsh-fe-cf-label{font-size:11.5px!important;font-weight:700!important;color:var(--ptx,#dfe4ec)!important;letter-spacing:.3px!important}");
|
|
221
|
+
css += "\n" + imp(P + " .dsh-fe-cf-item{background:rgba(255,255,255,.035)!important;border:1px solid var(--pbd,rgba(255,255,255,.06))!important;border-radius:8px!important;padding:6px 10px!important;margin-bottom:6px!important}");
|
|
222
|
+
css += "\n" + imp(P + " .dsh-fe-cf-name{color:var(--ptx,#dfe4ec)!important;font-size:12px!important}");
|
|
223
|
+
css += "\n" + imp(P + " .dsh-fe-cf-tip{font-size:10.5px!important;color:var(--hintC,#8b93a1)!important}");
|
|
224
|
+
css += "\n" + imp(P + " #dsh-fe-guide{padding:10px 12px!important}");
|
|
225
|
+
css += "\n" + imp(P + " #dsh-fe-guide h4{font-size:13px!important;margin-bottom:6px!important}");
|
|
226
|
+
css += "\n" + imp(P + " #dsh-fe-guide p{font-size:11.5px!important;line-height:1.7!important;color:var(--itm,#9aa1b5)!important;margin-bottom:6px!important}");
|
|
227
|
+
css += "\n" + imp(P + " select{font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important}");
|
|
228
|
+
css += "\n" + imp(P + " input{font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important}");
|
|
229
|
+
css += "\n" + imp(P + " button{font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif!important}");
|
|
230
|
+
css += "\n" + imp(P + "::-webkit-scrollbar-thumb{background:var(--pbd,rgba(255,255,255,.14))!important;border-radius:3px!important}");
|
|
231
|
+
return css;
|
|
232
|
+
|
|
233
|
+
}
|
|
234
|
+
// 原版皮肤(仅本球):flag 置位时清空皮肤覆盖样式,字体球回到原始暖极光。
|
|
235
|
+
var SKIN_CLASSIC_KEY = "dsh-ball-skin-classic-font";
|
|
236
|
+
function isSkinClassic() { try { return localStorage.getItem(SKIN_CLASSIC_KEY) === "1"; } catch (e) { return false; } }
|
|
237
|
+
function setSkinClassic(on) {
|
|
238
|
+
try { if (on) localStorage.setItem(SKIN_CLASSIC_KEY, "1"); else localStorage.removeItem(SKIN_CLASSIC_KEY); } catch (e) {}
|
|
239
|
+
applySkinNow();
|
|
240
|
+
}
|
|
241
|
+
function applySkinNow() {
|
|
242
|
+
if (!SKIN || !document.head) return;
|
|
243
|
+
var el = document.getElementById(SKIN_STYLE_ID);
|
|
244
|
+
if (!el) { el = document.createElement("style"); el.id = SKIN_STYLE_ID; }
|
|
245
|
+
el.textContent = isSkinClassic() ? "" : skinBallCss() + "\n" + skinPanelCss();
|
|
246
|
+
document.head.appendChild(el); // (re)append last to beat the !important base css
|
|
247
|
+
ensureSkinMenuCss();
|
|
248
|
+
refreshSkinMenu();
|
|
249
|
+
try {
|
|
250
|
+
var sel = document.getElementById("dsh-fe-skin-sel");
|
|
251
|
+
if (sel) {
|
|
252
|
+
if (!sel.options.length) {
|
|
253
|
+
var groups = SKIN.groups(), html = '<option value="classic">原版 · 暖极光(仅本球)</option>';
|
|
254
|
+
for (var g = 0; g < groups.length; g++) {
|
|
255
|
+
html += '<optgroup label="' + groups[g] + '">';
|
|
256
|
+
for (var i = 0; i < SKIN.ALL.length; i++) {
|
|
257
|
+
var s = SKIN.ALL[i];
|
|
258
|
+
if (s.group !== groups[g]) continue;
|
|
259
|
+
html += '<option value="' + s.id + '">方案' + s.no + ' · ' + s.name + '</option>';
|
|
260
|
+
}
|
|
261
|
+
html += "</optgroup>";
|
|
262
|
+
}
|
|
263
|
+
sel.innerHTML = html;
|
|
264
|
+
}
|
|
265
|
+
sel.value = isSkinClassic() ? "classic" : SKIN.getId();
|
|
266
|
+
}
|
|
267
|
+
} catch (e) {}
|
|
268
|
+
}
|
|
269
|
+
// ---- todo-style grouped skin menu (panel 🎨) ----
|
|
270
|
+
var SKINMENU_STYLE_ID = "dsh-fe-skinmenu-style";
|
|
271
|
+
function skinMenuHtml() {
|
|
272
|
+
if (!SKIN) return "";
|
|
273
|
+
function dot(s) {
|
|
274
|
+
var a = (s.vars && s.vars.stA) || "#888", b = (s.vars && s.vars.bgB) || "#222";
|
|
275
|
+
return '<span class="dot" style="background:linear-gradient(135deg,' + a + ',' + b + ')"></span>';
|
|
276
|
+
}
|
|
277
|
+
var html = '<div class="cap">原版</div>';
|
|
278
|
+
html += '<div class="row' + (isSkinClassic() ? " cur" : "") + '" data-skin-classic="1">' +
|
|
279
|
+
'<span class="chk">' + (isSkinClassic() ? "✓" : "") + '</span>' +
|
|
280
|
+
'<span class="dot" style="background:linear-gradient(135deg,#ffd9a8,#8f1030)"></span>' +
|
|
281
|
+
"<span>原版 · 暖极光(仅本球)</span></div>";
|
|
282
|
+
var groups = SKIN.groups();
|
|
283
|
+
for (var g = 0; g < groups.length; g++) {
|
|
284
|
+
html += '<div class="cap">' + groups[g] + "</div>";
|
|
285
|
+
for (var i = 0; i < SKIN.ALL.length; i++) {
|
|
286
|
+
var s = SKIN.ALL[i];
|
|
287
|
+
if (s.group !== groups[g]) continue;
|
|
288
|
+
var cur = !isSkinClassic() && s.id === SKIN.getId();
|
|
289
|
+
html += '<div class="row' + (cur ? " cur" : "") + '" data-skin-id="' + s.id + '" title="' + s.en + ' (方案 ' + s.no + ')">' +
|
|
290
|
+
'<span class="chk">' + (cur ? "✓" : "") + "</span>" + dot(s) +
|
|
291
|
+
"<span>" + s.no + " · " + s.name + "</span></div>";
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return html;
|
|
295
|
+
}
|
|
296
|
+
function skinMenuEl() { return document.getElementById("dsh-fe-skin-menu"); }
|
|
297
|
+
function refreshSkinMenu() {
|
|
298
|
+
var m = skinMenuEl();
|
|
299
|
+
if (m && m.classList.contains("open")) m.innerHTML = skinMenuHtml();
|
|
300
|
+
}
|
|
301
|
+
function toggleSkinMenu() {
|
|
302
|
+
var m = skinMenuEl();
|
|
303
|
+
if (!m) return;
|
|
304
|
+
if (m.classList.contains("open")) { m.classList.remove("open"); m.innerHTML = ""; }
|
|
305
|
+
else { m.innerHTML = skinMenuHtml(); m.classList.add("open"); m.style.margin = "0 4px 12px"; }
|
|
306
|
+
}
|
|
307
|
+
function ensureSkinMenuCss() {
|
|
308
|
+
var el = document.getElementById(SKINMENU_STYLE_ID);
|
|
309
|
+
if (!el) {
|
|
310
|
+
el = document.createElement("style");
|
|
311
|
+
el.id = SKINMENU_STYLE_ID;
|
|
312
|
+
el.textContent = SKINMENU_CSS;
|
|
313
|
+
document.head.appendChild(el);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// delegated: 🎨 button + menu rows (class-only rows never touch font's data-act dispatcher)
|
|
317
|
+
document.addEventListener("click", function (ev) {
|
|
318
|
+
var t = ev.target;
|
|
319
|
+
if (!t || !t.closest) return;
|
|
320
|
+
if (t.closest("#dsh-fe-skin-btn")) { ev.preventDefault(); toggleSkinMenu(); return; }
|
|
321
|
+
var row = t.closest("#dsh-fe-skin-menu .row");
|
|
322
|
+
if (!row) return;
|
|
323
|
+
ev.stopPropagation();
|
|
324
|
+
if (row.getAttribute("data-skin-classic")) { setSkinClassic(true); return; }
|
|
325
|
+
var id = row.getAttribute("data-skin-id");
|
|
326
|
+
if (id) { setSkinClassic(false); SKIN.setSkin(id); }
|
|
327
|
+
}, true);
|
|
328
|
+
var SKINMENU_CSS = ".dsb-skinmenu,.fe-skinmenu{display:none;max-height:46vh;overflow-y:auto;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(10,13,20,.98);padding:6px;z-index:5;box-shadow:0 14px 40px rgba(0,0,0,.5)}\n.dsb-skinmenu.open,.fe-skinmenu.open{display:block}\n.dsb-skinmenu .cap,.fe-skinmenu .cap{font-size:10.5px;font-weight:700;color:#8b93a8;padding:6px 8px 2px;letter-spacing:1px}\n.dsb-skinmenu .row,.fe-skinmenu .row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;cursor:pointer;font-size:12px;color:#dfe4ec;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',system-ui,sans-serif}\n.dsb-skinmenu .row:hover,.fe-skinmenu .row:hover{background:rgba(255,255,255,.08)}\n.dsb-skinmenu .row.cur,.fe-skinmenu .row.cur{color:var(--stA,#ffd27a);font-weight:600}\n.dsb-skinmenu .dot,.fe-skinmenu .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}\n.dsb-skinmenu .chk,.fe-skinmenu .chk{width:14px;text-align:center;flex-shrink:0}";
|
|
329
|
+
function installBallSkins() { applySkinNow(); }
|
|
330
|
+
if (SKIN) {
|
|
331
|
+
try {
|
|
332
|
+
window.__dshBallSkinHooks = window.__dshBallSkinHooks || [];
|
|
333
|
+
if (window.__dshBallSkinHooks.indexOf(applySkinNow) < 0) window.__dshBallSkinHooks.push(applySkinNow);
|
|
334
|
+
} catch (e) {}
|
|
335
|
+
try { window.addEventListener("dsh-ball-skin-change", function () { applySkinNow(); }); } catch (e) {}
|
|
336
|
+
try { window.addEventListener("storage", function (ev) { if (ev && ev.key === SKIN.KEY) applySkinNow(); }); } catch (e) {}
|
|
337
|
+
document.addEventListener("change", function (ev) {
|
|
338
|
+
var t = ev.target;
|
|
339
|
+
if (!t || !t.id) return;
|
|
340
|
+
if (t.id === "dsh-fe-skin-sel") {
|
|
341
|
+
if (t.value === "classic") { setSkinClassic(true); return; }
|
|
342
|
+
setSkinClassic(false);
|
|
343
|
+
SKIN.setSkin(t.value);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
if (t.id === "dsh-set-skin-global") {
|
|
347
|
+
// 全局三球统一换肤:清掉本球与技能球的「原版」标记
|
|
348
|
+
try { localStorage.removeItem(SKIN_CLASSIC_KEY); } catch (e) {}
|
|
349
|
+
try { localStorage.removeItem("dsh-ball-skin-classic-skill"); } catch (e) {}
|
|
350
|
+
SKIN.setSkin(t.value);
|
|
351
|
+
}
|
|
352
|
+
// dsb-set-skin 由技能插件自己的监听处理(含其原版标记)
|
|
353
|
+
}, true);
|
|
354
|
+
}
|
|
6
355
|
|
|
7
356
|
// ---- Word-style font lists (label, css-family) ----
|
|
8
357
|
var EN_FONTS = [
|
|
@@ -310,14 +659,18 @@ window.__ModuleLoader__.load({
|
|
|
310
659
|
"",
|
|
311
660
|
"/* ── toggle button — gem-like floating orb (max-visible) ── */",
|
|
312
661
|
"#dsh-fe-root{position:static !important;z-index:2147483647;pointer-events:none}",
|
|
313
|
-
"#dsh-fe-toggle{position:fixed;left:auto;top:auto;right:18px;bottom:18px;z-index:2147483647 !important;width:54px !important;height:54px !important;border-radius:50% !important;border:0 !important;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.15),rgba(40,44,54,.95) 70%) !important;color:#eef0f4 !important;font-size:22px !important;font-weight:700 !important;cursor:grab !important;user-select:none !important;touch-action:none !important;box-shadow:0 4px 24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.15) !important;line-height:
|
|
662
|
+
"#dsh-fe-toggle{position:fixed;left:auto;top:auto;right:18px;bottom:18px;z-index:2147483647 !important;width:54px !important;height:54px !important;border-radius:50% !important;border:0 !important;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.15),rgba(40,44,54,.95) 70%) !important;color:#eef0f4 !important;font-size:22px !important;font-weight:700 !important;cursor:grab !important;user-select:none !important;touch-action:none !important;box-shadow:0 4px 24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.15) !important;line-height:normal !important;text-align:center !important;display:block !important;visibility:visible !important;opacity:1 !important;transform:none !important;pointer-events:auto !important}",
|
|
314
663
|
"#dsh-fe-toggle:hover{box-shadow:0 6px 32px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.2) !important;transform:scale(1.06) !important}",
|
|
315
664
|
"#dsh-fe-toggle.dsh-fe-dragging{cursor:grabbing !important;transform:scale(1.12) !important;box-shadow:0 8px 40px rgba(0,0,0,.8) !important}",
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
665
|
+
/* ── v1.4.10 二版暖色波澜球(白核+橙粉光带+conic环+呼吸;参照 orb 效果)── */
|
|
666
|
+
'#dsh-fe-root #dsh-fe-toggle{width:46px !important;height:46px !important;border-radius:50% !important;background:radial-gradient(circle at 50% 60%, rgba(255,255,255,.98) 0%, rgba(255,210,150,.92) 9%, rgba(255,130,60,.75) 18%, rgba(255,70,130,.55) 32%, rgba(200,40,120,.4) 46%, rgba(30,10,20,.9) 66%, rgba(14,4,10,.99) 100%) !important;box-shadow:0 0 26px rgba(255,140,70,.55),0 0 4px rgba(255,90,160,.3),0 4px 18px rgba(0,0,0,.55),inset 0 1px 3px rgba(255,255,255,.4),inset 0 -8px 16px rgba(255,90,160,.14),inset 0 0 14px rgba(255,120,80,.2) !important;font-size:15px !important;font-weight:800 !important;color:#ffffff !important;display:flex !important;align-items:center !important;justify-content:center !important;animation:feOrbBreathe 3.2s ease-in-out infinite !important}',
|
|
667
|
+
'#dsh-fe-root #dsh-fe-toggle::before{content:"";position:absolute;inset:1px;border-radius:50%;z-index:1;background:radial-gradient(ellipse 85% 26% at 50% 60%, rgba(255,255,255,1) 0%, rgba(255,230,190,.88) 18%, rgba(255,170,110,.55) 38%, rgba(255,90,140,.4) 55%, transparent 75%),radial-gradient(ellipse 70% 18% at 55% 42%, rgba(255,150,80,.55) 0%, transparent 70%),radial-gradient(ellipse 70% 18% at 45% 74%, rgba(190,60,225,.4) 0%, transparent 70%);filter:blur(1px);animation:bandFlow 4.5s ease-in-out infinite !important}',
|
|
668
|
+
'#dsh-fe-root #dsh-fe-toggle::after{content:"";position:absolute;inset:-1px;border-radius:50%;z-index:1;background:conic-gradient(from 200deg, rgba(255,255,255,.55), rgba(255,170,110,.4), rgba(255,90,160,.4), rgba(255,255,255,.15), rgba(255,140,66,.4), rgba(255,255,255,.55));-webkit-mask:radial-gradient(circle, transparent 63%, #000 66%, #000 72%, transparent 76%);mask:radial-gradient(circle, transparent 63%, #000 66%, #000 72%, transparent 76%);animation:rimSpin 7s linear infinite;filter:blur(.5px)}',
|
|
669
|
+
'@keyframes bandFlow{0%,100%{transform:translateY(-3px) scaleY(.94);opacity:.8}50%{transform:translateY(3px) scaleY(1.12);opacity:1}}',
|
|
670
|
+
'@keyframes rimSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}',
|
|
671
|
+
'@keyframes feOrbBreathe{0%,100%{transform:scale(.96);filter:brightness(.92)}50%{transform:scale(1.05);filter:brightness(1.12)}}',
|
|
672
|
+
'@keyframes feGlow{0%,100%{text-shadow:0 0 4px rgba(255,255,255,.95),0 0 10px rgba(255,200,120,.9),0 0 20px rgba(255,120,80,.7)}50%{text-shadow:0 0 6px rgba(255,255,255,1),0 0 16px rgba(255,220,150,1),0 0 32px rgba(255,140,90,.9)}}',
|
|
673
|
+
'#dsh-fe-root #dsh-fe-toggle:hover{transform:scale(1.08) !important}',
|
|
321
674
|
"/* ── panel root — deep glass studio (position set by JS positionPanel) ── */",
|
|
322
675
|
"#dsh-fe-panel{position:fixed !important;z-index:2147483647 !important;width:348px !important;max-width:calc(100vw - 36px) !important;max-height:86vh;overflow-y:auto !important;overflow-x:hidden !important;color:#e6e6e6 !important;border-radius:20px !important;padding:20px !important;font:13px/1.5 KaiTi,'Microsoft YaHei',sans-serif !important;background:rgba(16,18,22,.92) !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 20px 60px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06) !important;backdrop-filter:blur(24px) !important;-webkit-backdrop-filter:blur(24px) !important;visibility:visible !important;pointer-events:auto !important}",
|
|
323
676
|
"#dsh-fe-panel::-webkit-scrollbar{width:3px}",
|
|
@@ -1034,13 +1387,14 @@ window.__ModuleLoader__.load({
|
|
|
1034
1387
|
pc.dataset.plugin = "dsh-font-enhancer";
|
|
1035
1388
|
pc.textContent = panelCss();
|
|
1036
1389
|
document.head.appendChild(pc);
|
|
1390
|
+
try { installBallSkins(); } catch (eSkin) {} // skin overrides after base css
|
|
1037
1391
|
|
|
1038
1392
|
root = document.createElement("div");
|
|
1039
1393
|
root.id = "dsh-fe-root";
|
|
1040
1394
|
root.innerHTML =
|
|
1041
|
-
'<button id="dsh-fe-toggle" type="button" title="
|
|
1395
|
+
'<button id="dsh-fe-toggle" type="button" title="字体插件(点击打开字体设置面板)">字</button>' +
|
|
1042
1396
|
'<div id="dsh-fe-panel" style="display:none">' +
|
|
1043
|
-
'<div class="dsh-fe-header"><div class="dsh-fe-hl"><h4>字体区域设置</h4><div class="dsh-fe-sub">每个区域独立调字体/颜色</div></div><button id="dsh-fe-close" type="button" title="关闭">✕</button></div>' +
|
|
1397
|
+
'<div class="dsh-fe-header"><div class="dsh-fe-hl"><h4>字体区域设置</h4><div class="dsh-fe-sub">每个区域独立调字体/颜色</div></div><button id="dsh-fe-skin-btn" type="button" title="切换皮肤(三球同步 · 128款)" style="margin-right:6px">🎨</button><button id="dsh-fe-close" type="button" title="关闭">✕</button></div>' +
|
|
1044
1398
|
'<div style="font-size:11px;color:#8b93a1;padding:4px 4px 8px;line-height:1.5">⬇️ 下滑至底部有 <b style="color:#8ab8ff">快速上手说明</b>;换字体/颜色、框选、一键装可爱字体都在这里。</div>' +
|
|
1045
1399
|
'<div class="dsh-fe-themeblock">' +
|
|
1046
1400
|
'<select id="dsh-fe-theme-sel"></select>' +
|
|
@@ -1051,6 +1405,12 @@ window.__ModuleLoader__.load({
|
|
|
1051
1405
|
'<button type="button" data-act="themeDel" title="删除选中主题">🗑</button>' +
|
|
1052
1406
|
'<button type="button" data-act="themeClearAll" title="删除所有已保存的主题" style="color:#e08080">🗑 清空全部</button>' +
|
|
1053
1407
|
"</div>" +
|
|
1408
|
+
'<div id="dsh-fe-skin-menu" class="fe-skinmenu"></div>' +
|
|
1409
|
+
'<div class="dsh-fe-themeblock" style="flex-wrap:wrap">' +
|
|
1410
|
+
'<span style="font-size:11px;color:#8b93a1;flex-shrink:0">悬浮球皮肤</span>' +
|
|
1411
|
+
'<select id="dsh-fe-skin-sel" style="flex:2;min-width:140px;padding:5px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.35);color:inherit;font:inherit;font-size:12px"></select>' +
|
|
1412
|
+
'<span style="font-size:10.5px;color:#8b93a1;flex-shrink:0">三球同步</span>' +
|
|
1413
|
+
'</div>' +
|
|
1054
1414
|
'<div class="dsh-fe-unified" id="dsh-fe-unified">' +
|
|
1055
1415
|
'<div class="dsh-fe-u-row">' +
|
|
1056
1416
|
'<span class="dsh-fe-u-label">全局统一</span>' +
|