@noobsociety/nsds 0.3.0 → 0.4.1
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 +46 -1
- package/CONTRIBUTING.md +43 -2
- package/README.md +87 -36
- package/SECURITY.md +38 -4
- package/dist/client/index.cjs +1 -0
- package/dist/client/index.d.cts +6 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +5 -0
- package/dist/components/_card-base.css +99 -0
- package/dist/components/hud/HUDBar.d.ts +16 -3
- package/dist/components/hud/HUDChat.d.ts +26 -0
- package/dist/components/hud/HUDJoystick.d.ts +21 -0
- package/dist/components/hud/HUDMinimap.d.ts +14 -0
- package/dist/components/hud/HUDPanel.d.ts +25 -0
- package/dist/components/hud/HUDTabWindow.d.ts +37 -0
- package/dist/components/hud-editor.css +197 -0
- package/dist/components/icons/RPGIcon.d.ts +15 -11
- package/dist/components/icons/registry.d.ts +37 -0
- package/dist/components/primitives.css +50 -20
- package/dist/components/react/index.d.ts +12 -2
- package/dist/components/scene-builder.css +740 -0
- package/dist/components/scene-builder.js +3039 -0
- package/dist/components/shared/constants.d.ts +41 -0
- package/dist/components/shared/styles.d.ts +1 -42
- package/dist/index.cjs +1 -1
- package/dist/index.js +6173 -1821
- package/dist/registry-BizUEm6W.js +136 -0
- package/dist/registry-Cyq-qspU.cjs +1 -0
- package/dist/styles.css +1 -0
- package/dist/tailwind/preset.cjs +108 -0
- package/dist/tailwind/preset.d.cts +3 -3
- package/dist/tokens/base.css +17 -4
- package/dist/tokens/colors.css +57 -53
- package/dist/tokens/hud.css +119 -78
- package/dist/tokens/motion.css +57 -23
- package/dist/tokens/spacing.css +39 -39
- package/dist/tokens/typography.css +20 -20
- package/package.json +41 -12
- package/dist/tailwind/package.json +0 -1
- package/dist/tailwind/preset.d.ts +0 -4
- package/dist/tailwind/preset.js +0 -144
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
//#region components/shared/constants.ts
|
|
2
|
+
var e = {
|
|
3
|
+
gold: "var(--ns-gold)",
|
|
4
|
+
pink: "var(--ns-pink)",
|
|
5
|
+
purple: "var(--ns-purple)",
|
|
6
|
+
cyan: "var(--ns-cyan)",
|
|
7
|
+
green: "var(--ns-green)",
|
|
8
|
+
orange: "var(--ns-orange)",
|
|
9
|
+
later: "var(--ns-ink-faint)"
|
|
10
|
+
}, t = e, n = {
|
|
11
|
+
done: {
|
|
12
|
+
className: "ns-quest-card--done",
|
|
13
|
+
label: "HOLDS",
|
|
14
|
+
icon: "✓"
|
|
15
|
+
},
|
|
16
|
+
active: {
|
|
17
|
+
className: "ns-quest-card--active",
|
|
18
|
+
label: "BUILDING",
|
|
19
|
+
icon: "▶"
|
|
20
|
+
},
|
|
21
|
+
planned: {
|
|
22
|
+
className: "ns-quest-card--planned",
|
|
23
|
+
label: "PLANNED",
|
|
24
|
+
icon: "◌"
|
|
25
|
+
},
|
|
26
|
+
locked: {
|
|
27
|
+
className: "ns-quest-card--locked",
|
|
28
|
+
label: "LATER",
|
|
29
|
+
icon: "✦"
|
|
30
|
+
}
|
|
31
|
+
}, r = [
|
|
32
|
+
"sword",
|
|
33
|
+
"bow",
|
|
34
|
+
"staff",
|
|
35
|
+
"katar",
|
|
36
|
+
"book",
|
|
37
|
+
"hammer"
|
|
38
|
+
], i = [
|
|
39
|
+
"neutral",
|
|
40
|
+
"fire",
|
|
41
|
+
"earth",
|
|
42
|
+
"wind",
|
|
43
|
+
"water",
|
|
44
|
+
"light",
|
|
45
|
+
"dark",
|
|
46
|
+
"void"
|
|
47
|
+
], a = [
|
|
48
|
+
"human",
|
|
49
|
+
"beast",
|
|
50
|
+
"demon",
|
|
51
|
+
"angel",
|
|
52
|
+
"spirit"
|
|
53
|
+
], o = [
|
|
54
|
+
"small",
|
|
55
|
+
"medium",
|
|
56
|
+
"large"
|
|
57
|
+
], s = [
|
|
58
|
+
"attack-sword",
|
|
59
|
+
"attack-bow",
|
|
60
|
+
"attack-staff",
|
|
61
|
+
"attack-katar",
|
|
62
|
+
"attack-book",
|
|
63
|
+
"attack-hammer"
|
|
64
|
+
], c = [
|
|
65
|
+
"passive",
|
|
66
|
+
"active",
|
|
67
|
+
"combo",
|
|
68
|
+
"stance",
|
|
69
|
+
"buff",
|
|
70
|
+
"debuff"
|
|
71
|
+
], l = [
|
|
72
|
+
"potion",
|
|
73
|
+
"ether",
|
|
74
|
+
"scroll",
|
|
75
|
+
"gem",
|
|
76
|
+
"relic",
|
|
77
|
+
"key"
|
|
78
|
+
], u = [
|
|
79
|
+
"helm",
|
|
80
|
+
"armor",
|
|
81
|
+
"cloak",
|
|
82
|
+
"shield",
|
|
83
|
+
"ring",
|
|
84
|
+
"greaves"
|
|
85
|
+
], d = [
|
|
86
|
+
"hat",
|
|
87
|
+
"emblem",
|
|
88
|
+
"cape",
|
|
89
|
+
"badge",
|
|
90
|
+
"boots"
|
|
91
|
+
], f = [
|
|
92
|
+
"menu",
|
|
93
|
+
"inventory",
|
|
94
|
+
"party",
|
|
95
|
+
"quest",
|
|
96
|
+
"map",
|
|
97
|
+
"shop",
|
|
98
|
+
"settings",
|
|
99
|
+
"save"
|
|
100
|
+
], p = [
|
|
101
|
+
"emote-tysm",
|
|
102
|
+
"emote-sos",
|
|
103
|
+
"emote-lol",
|
|
104
|
+
"emote-win",
|
|
105
|
+
"emote-lgo",
|
|
106
|
+
"emote-ugh",
|
|
107
|
+
"emote-myb",
|
|
108
|
+
"emote-wut",
|
|
109
|
+
"emote-grr"
|
|
110
|
+
], m = {
|
|
111
|
+
weapons: r,
|
|
112
|
+
elements: i,
|
|
113
|
+
races: a,
|
|
114
|
+
sizes: o,
|
|
115
|
+
attack: s,
|
|
116
|
+
skills: c,
|
|
117
|
+
items: l,
|
|
118
|
+
equip: u,
|
|
119
|
+
skins: d,
|
|
120
|
+
menu: f,
|
|
121
|
+
emotes: p
|
|
122
|
+
}, h = [
|
|
123
|
+
...r,
|
|
124
|
+
...i,
|
|
125
|
+
...a,
|
|
126
|
+
...o,
|
|
127
|
+
...s,
|
|
128
|
+
...c,
|
|
129
|
+
...l,
|
|
130
|
+
...u,
|
|
131
|
+
...d,
|
|
132
|
+
...f,
|
|
133
|
+
...p
|
|
134
|
+
];
|
|
135
|
+
//#endregion
|
|
136
|
+
export { m as a, h as c, c as d, r as f, n as h, u as i, a as l, e as m, i as n, l as o, t as p, p as r, f as s, s as t, o as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={gold:`var(--ns-gold)`,pink:`var(--ns-pink)`,purple:`var(--ns-purple)`,cyan:`var(--ns-cyan)`,green:`var(--ns-green)`,orange:`var(--ns-orange)`,later:`var(--ns-ink-faint)`},t=e,n={done:{className:`ns-quest-card--done`,label:`HOLDS`,icon:`✓`},active:{className:`ns-quest-card--active`,label:`BUILDING`,icon:`▶`},planned:{className:`ns-quest-card--planned`,label:`PLANNED`,icon:`◌`},locked:{className:`ns-quest-card--locked`,label:`LATER`,icon:`✦`}},r=[`sword`,`bow`,`staff`,`katar`,`book`,`hammer`],i=[`neutral`,`fire`,`earth`,`wind`,`water`,`light`,`dark`,`void`],a=[`human`,`beast`,`demon`,`angel`,`spirit`],o=[`small`,`medium`,`large`],s=[`attack-sword`,`attack-bow`,`attack-staff`,`attack-katar`,`attack-book`,`attack-hammer`],c=[`passive`,`active`,`combo`,`stance`,`buff`,`debuff`],l=[`potion`,`ether`,`scroll`,`gem`,`relic`,`key`],u=[`helm`,`armor`,`cloak`,`shield`,`ring`,`greaves`],d=[`hat`,`emblem`,`cape`,`badge`,`boots`],f=[`menu`,`inventory`,`party`,`quest`,`map`,`shop`,`settings`,`save`],p=[`emote-tysm`,`emote-sos`,`emote-lol`,`emote-win`,`emote-lgo`,`emote-ugh`,`emote-myb`,`emote-wut`,`emote-grr`],m={weapons:r,elements:i,races:a,sizes:o,attack:s,skills:c,items:l,equip:u,skins:d,menu:f,emotes:p},h=[...r,...i,...a,...o,...s,...c,...l,...u,...d,...f,...p];Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return o}});
|
package/dist/styles.css
CHANGED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Package preset: consumers provide their own `content` globs.
|
|
3
|
+
const nsdsPreset = {
|
|
4
|
+
darkMode: ['class', '[data-theme="dark"]'],
|
|
5
|
+
theme: {
|
|
6
|
+
extend: {
|
|
7
|
+
colors: {
|
|
8
|
+
ns: {
|
|
9
|
+
bg: {
|
|
10
|
+
0: 'var(--ns-bg-0)',
|
|
11
|
+
1: 'var(--ns-bg-1)',
|
|
12
|
+
2: 'var(--ns-bg-2)',
|
|
13
|
+
glass: 'var(--ns-glass)',
|
|
14
|
+
},
|
|
15
|
+
ink: {
|
|
16
|
+
DEFAULT: 'var(--ns-ink)',
|
|
17
|
+
dim: 'var(--ns-ink-dim)',
|
|
18
|
+
faint: 'var(--ns-ink-faint)',
|
|
19
|
+
},
|
|
20
|
+
gold: {
|
|
21
|
+
DEFAULT: 'var(--ns-gold)',
|
|
22
|
+
pale: 'var(--ns-gold-pale)',
|
|
23
|
+
deep: 'var(--ns-gold-deep)',
|
|
24
|
+
shadow: 'var(--ns-gold-shadow)',
|
|
25
|
+
fg: 'var(--ns-gold-btn-fg)',
|
|
26
|
+
},
|
|
27
|
+
green: 'var(--ns-green)',
|
|
28
|
+
cyan: 'var(--ns-cyan)',
|
|
29
|
+
orange: 'var(--ns-orange)',
|
|
30
|
+
pink: 'var(--ns-pink)',
|
|
31
|
+
purple: 'var(--ns-purple)',
|
|
32
|
+
accent: 'var(--ns-accent)',
|
|
33
|
+
line: 'var(--ns-line)',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
fontFamily: {
|
|
37
|
+
body: 'var(--ns-font-body)',
|
|
38
|
+
pixel: 'var(--ns-font-pixel)',
|
|
39
|
+
},
|
|
40
|
+
fontSize: {
|
|
41
|
+
'ns-xs': ['var(--ns-text-xs)', { lineHeight: 'var(--ns-leading-normal)' }],
|
|
42
|
+
'ns-sm': ['var(--ns-text-sm)', { lineHeight: 'var(--ns-leading-normal)' }],
|
|
43
|
+
'ns-base': ['var(--ns-text-base)', { lineHeight: 'var(--ns-leading-normal)' }],
|
|
44
|
+
'ns-lg': ['var(--ns-text-lg)', { lineHeight: 'var(--ns-leading-snug)' }],
|
|
45
|
+
'ns-xl': ['var(--ns-text-xl)', { lineHeight: 'var(--ns-leading-snug)' }],
|
|
46
|
+
'ns-2xl': ['var(--ns-text-2xl)', { lineHeight: 'var(--ns-leading-tight)' }],
|
|
47
|
+
'ns-3xl': ['var(--ns-text-3xl)', { lineHeight: 'var(--ns-leading-tight)' }],
|
|
48
|
+
'ns-4xl': ['var(--ns-text-4xl)', { lineHeight: 'var(--ns-leading-tight)' }],
|
|
49
|
+
},
|
|
50
|
+
fontWeight: {
|
|
51
|
+
'ns-normal': 'var(--ns-weight-normal)',
|
|
52
|
+
'ns-medium': 'var(--ns-weight-medium)',
|
|
53
|
+
'ns-semibold': 'var(--ns-weight-semibold)',
|
|
54
|
+
'ns-bold': 'var(--ns-weight-bold)',
|
|
55
|
+
},
|
|
56
|
+
lineHeight: {
|
|
57
|
+
'ns-tight': 'var(--ns-leading-tight)',
|
|
58
|
+
'ns-snug': 'var(--ns-leading-snug)',
|
|
59
|
+
'ns-normal': 'var(--ns-leading-normal)',
|
|
60
|
+
'ns-relaxed': 'var(--ns-leading-relaxed)',
|
|
61
|
+
},
|
|
62
|
+
spacing: {
|
|
63
|
+
'ns-1': 'var(--ns-space-1)',
|
|
64
|
+
'ns-2': 'var(--ns-space-2)',
|
|
65
|
+
'ns-3': 'var(--ns-space-3)',
|
|
66
|
+
'ns-4': 'var(--ns-space-4)',
|
|
67
|
+
'ns-5': 'var(--ns-space-5)',
|
|
68
|
+
'ns-6': 'var(--ns-space-6)',
|
|
69
|
+
'ns-8': 'var(--ns-space-8)',
|
|
70
|
+
'ns-10': 'var(--ns-space-10)',
|
|
71
|
+
'ns-12': 'var(--ns-space-12)',
|
|
72
|
+
'ns-16': 'var(--ns-space-16)',
|
|
73
|
+
'ns-20': 'var(--ns-space-20)',
|
|
74
|
+
},
|
|
75
|
+
maxWidth: {
|
|
76
|
+
'ns-container': 'var(--ns-container)',
|
|
77
|
+
},
|
|
78
|
+
height: {
|
|
79
|
+
'ns-header': 'var(--ns-header-h)',
|
|
80
|
+
},
|
|
81
|
+
borderRadius: {
|
|
82
|
+
'ns-sm': 'var(--ns-radius-sm)',
|
|
83
|
+
'ns-md': 'var(--ns-radius-md)',
|
|
84
|
+
'ns-lg': 'var(--ns-radius-lg)',
|
|
85
|
+
'ns-xl': 'var(--ns-radius-xl)',
|
|
86
|
+
'ns-full': 'var(--ns-radius-full)',
|
|
87
|
+
},
|
|
88
|
+
boxShadow: {
|
|
89
|
+
'ns-card-hover': 'var(--ns-shadow-card-hover)',
|
|
90
|
+
'ns-btn': 'var(--ns-shadow-btn)',
|
|
91
|
+
},
|
|
92
|
+
transitionDuration: {
|
|
93
|
+
'ns-fast': 'var(--ns-dur-fast)',
|
|
94
|
+
'ns-base': 'var(--ns-dur-base)',
|
|
95
|
+
'ns-slow': 'var(--ns-dur-slow)',
|
|
96
|
+
},
|
|
97
|
+
transitionTimingFunction: {
|
|
98
|
+
'ns-out': 'var(--ns-ease-out)',
|
|
99
|
+
'ns-spring': 'var(--ns-ease-spring)',
|
|
100
|
+
},
|
|
101
|
+
ringColor: {
|
|
102
|
+
'ns-focus': 'var(--ns-focus-ring)',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
plugins: [],
|
|
107
|
+
};
|
|
108
|
+
module.exports = nsdsPreset;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Config } from 'tailwindcss';
|
|
2
|
-
|
|
3
|
-
declare const
|
|
4
|
-
export =
|
|
2
|
+
type TailwindPreset = Omit<Config, 'content'>;
|
|
3
|
+
declare const nsdsPreset: TailwindPreset;
|
|
4
|
+
export = nsdsPreset;
|
package/dist/tokens/base.css
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/* NoobSociety — Base resets and body defaults */
|
|
2
|
-
*,
|
|
2
|
+
*,
|
|
3
|
+
*::before,
|
|
4
|
+
*::after {
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
}
|
|
3
7
|
|
|
4
8
|
html {
|
|
5
9
|
scroll-behavior: smooth;
|
|
@@ -23,9 +27,18 @@ body {
|
|
|
23
27
|
text-rendering: optimizeLegibility;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
img {
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
img {
|
|
31
|
+
display: block;
|
|
32
|
+
max-width: 100%;
|
|
33
|
+
}
|
|
34
|
+
a {
|
|
35
|
+
color: var(--ns-gold);
|
|
36
|
+
text-decoration: none;
|
|
37
|
+
transition: color var(--ns-transition-fast);
|
|
38
|
+
}
|
|
39
|
+
a:hover {
|
|
40
|
+
color: var(--ns-gold-pale);
|
|
41
|
+
}
|
|
29
42
|
|
|
30
43
|
button,
|
|
31
44
|
input,
|
package/dist/tokens/colors.css
CHANGED
|
@@ -1,79 +1,83 @@
|
|
|
1
1
|
/* NoobSociety — Color tokens (Monokai dark) */
|
|
2
2
|
:root {
|
|
3
3
|
/* ── Surfaces ─────────────────────────────────────────────── */
|
|
4
|
-
--ns-bg-0:
|
|
5
|
-
--ns-bg-1:
|
|
6
|
-
--ns-bg-2:
|
|
7
|
-
--ns-glass:
|
|
8
|
-
--ns-glass-2:
|
|
4
|
+
--ns-bg-0: #1a1a16; /* deepest — footer, sidebar */
|
|
5
|
+
--ns-bg-1: #272822; /* page base */
|
|
6
|
+
--ns-bg-2: #32332b; /* raised surfaces, icon slots */
|
|
7
|
+
--ns-glass: rgba(30, 31, 26, 0.88); /* card, header backdrop */
|
|
8
|
+
--ns-glass-2: rgba(30, 31, 26, 0.6); /* lighter glass */
|
|
9
9
|
--ns-glass-soft: rgba(30, 31, 26, 0.75); /* subtle card surface */
|
|
10
10
|
|
|
11
|
-
--ns-bg-0-rgb: 26 26 22;
|
|
12
|
-
--ns-bg-1-rgb: 39 40 34;
|
|
13
|
-
--ns-bg-2-rgb: 50 51 43;
|
|
14
|
-
--ns-glass-rgb: 30 31 26;
|
|
11
|
+
--ns-bg-0-rgb: 26 26 22; /* @kind other */
|
|
12
|
+
--ns-bg-1-rgb: 39 40 34; /* @kind other */
|
|
13
|
+
--ns-bg-2-rgb: 50 51 43; /* @kind other */
|
|
14
|
+
--ns-glass-rgb: 30 31 26; /* @kind other */
|
|
15
15
|
|
|
16
16
|
/* ── Borders ──────────────────────────────────────────────── */
|
|
17
|
-
--ns-line:
|
|
17
|
+
--ns-line: rgba(255, 255, 255, 0.12);
|
|
18
18
|
--ns-line-strong: rgba(255, 255, 255, 0.22);
|
|
19
|
-
--ns-line-soft:
|
|
19
|
+
--ns-line-soft: rgba(255, 255, 255, 0.08);
|
|
20
20
|
|
|
21
21
|
/* ── Ink (text) ───────────────────────────────────────────── */
|
|
22
|
-
--ns-ink:
|
|
23
|
-
--ns-ink-dim:
|
|
24
|
-
--ns-ink-faint: #75715e;
|
|
25
|
-
--ns-ink-rgb:
|
|
26
|
-
--ns-ink-dim-rgb:
|
|
27
|
-
--ns-ink-faint-rgb: 117 113 94;
|
|
22
|
+
--ns-ink: #f8f8f2; /* primary text — Monokai foreground */
|
|
23
|
+
--ns-ink-dim: #a8a28c; /* secondary text */
|
|
24
|
+
--ns-ink-faint: #75715e; /* placeholder, captions — Monokai comment */
|
|
25
|
+
--ns-ink-rgb: 248 248 242; /* @kind other */
|
|
26
|
+
--ns-ink-dim-rgb: 168 162 140; /* @kind other */
|
|
27
|
+
--ns-ink-faint-rgb: 117 113 94; /* @kind other */
|
|
28
28
|
|
|
29
29
|
/* ── Brand yellow (gold) — primary accent ─────────────────── */
|
|
30
|
-
--ns-gold:
|
|
31
|
-
--ns-gold-pale:
|
|
32
|
-
--ns-gold-deep:
|
|
30
|
+
--ns-gold: #e6db74;
|
|
31
|
+
--ns-gold-pale: #f4f099;
|
|
32
|
+
--ns-gold-deep: #cabb50;
|
|
33
33
|
--ns-gold-shadow: #b5a83f;
|
|
34
34
|
--ns-gold-btn-fg: #1c1c17; /* text on gold buttons */
|
|
35
|
-
--ns-gold-rgb:
|
|
36
|
-
--ns-gold-pale-rgb:
|
|
37
|
-
--ns-gold-deep-rgb:
|
|
38
|
-
--ns-gold-shadow-rgb: 181 168 63;
|
|
35
|
+
--ns-gold-rgb: 230 219 116; /* @kind other */
|
|
36
|
+
--ns-gold-pale-rgb: 244 240 153; /* @kind other */
|
|
37
|
+
--ns-gold-deep-rgb: 202 187 80; /* @kind other */
|
|
38
|
+
--ns-gold-shadow-rgb: 181 168 63; /* @kind other */
|
|
39
39
|
|
|
40
40
|
/* ── Monokai semantic accents ─────────────────────────────── */
|
|
41
|
-
--ns-green:
|
|
42
|
-
--ns-green-deep:
|
|
43
|
-
--ns-cyan:
|
|
44
|
-
--ns-cyan-deep:
|
|
45
|
-
--ns-orange:
|
|
41
|
+
--ns-green: #a6e22e; /* "Holds" / success */
|
|
42
|
+
--ns-green-deep: #7fb81e;
|
|
43
|
+
--ns-cyan: #66d9e8; /* "Planned" / info */
|
|
44
|
+
--ns-cyan-deep: #5bc8d7;
|
|
45
|
+
--ns-orange: #fd971f; /* "Building" / in-progress */
|
|
46
46
|
--ns-orange-deep: #c96f00;
|
|
47
|
-
--ns-pink:
|
|
48
|
-
--ns-purple:
|
|
49
|
-
--ns-green-rgb:
|
|
50
|
-
--ns-green-deep-rgb:
|
|
51
|
-
--ns-cyan-rgb:
|
|
52
|
-
--ns-cyan-deep-rgb:
|
|
53
|
-
--ns-orange-rgb:
|
|
54
|
-
--ns-orange-deep-rgb: 201 111 0;
|
|
55
|
-
--ns-pink-rgb:
|
|
56
|
-
--ns-purple-rgb:
|
|
47
|
+
--ns-pink: #f92672; /* danger / highlight */
|
|
48
|
+
--ns-purple: #ae81ff; /* decorative */
|
|
49
|
+
--ns-green-rgb: 166 226 46; /* @kind other */
|
|
50
|
+
--ns-green-deep-rgb: 127 184 30; /* @kind other */
|
|
51
|
+
--ns-cyan-rgb: 102 217 232; /* @kind other */
|
|
52
|
+
--ns-cyan-deep-rgb: 91 200 215; /* @kind other */
|
|
53
|
+
--ns-orange-rgb: 253 151 31; /* @kind other */
|
|
54
|
+
--ns-orange-deep-rgb: 201 111 0; /* @kind other */
|
|
55
|
+
--ns-pink-rgb: 249 38 114; /* @kind other */
|
|
56
|
+
--ns-purple-rgb: 174 129 255; /* @kind other */
|
|
57
57
|
|
|
58
58
|
/* ── Semantic aliases ─────────────────────────────────────── */
|
|
59
|
-
--ns-surface-page:
|
|
60
|
-
--ns-surface-card:
|
|
59
|
+
--ns-surface-page: var(--ns-bg-1);
|
|
60
|
+
--ns-surface-card: var(--ns-glass);
|
|
61
61
|
--ns-surface-raised: var(--ns-bg-2);
|
|
62
|
-
--ns-text-primary:
|
|
62
|
+
--ns-text-primary: var(--ns-ink);
|
|
63
63
|
--ns-text-secondary: var(--ns-ink-dim);
|
|
64
|
-
--ns-text-muted:
|
|
65
|
-
--ns-accent:
|
|
66
|
-
--ns-accent-hover:
|
|
67
|
-
--ns-status-holds:
|
|
64
|
+
--ns-text-muted: var(--ns-ink-faint);
|
|
65
|
+
--ns-accent: var(--ns-gold);
|
|
66
|
+
--ns-accent-hover: var(--ns-gold-pale);
|
|
67
|
+
--ns-status-holds: var(--ns-green);
|
|
68
68
|
--ns-status-building: var(--ns-orange);
|
|
69
|
-
--ns-status-planned:
|
|
70
|
-
--ns-status-later:
|
|
69
|
+
--ns-status-planned: var(--ns-cyan);
|
|
70
|
+
--ns-status-later: var(--ns-ink-faint);
|
|
71
71
|
|
|
72
72
|
/* ── Quest card status pill backgrounds ──────────────────────── */
|
|
73
|
-
--ns-quest-pill-done:
|
|
74
|
-
--ns-quest-pill-active:
|
|
73
|
+
--ns-quest-pill-done: rgba(166, 226, 46, 0.1);
|
|
74
|
+
--ns-quest-pill-active: rgba(253, 151, 31, 0.12);
|
|
75
75
|
--ns-quest-pill-planned: rgba(102, 217, 232, 0.12);
|
|
76
|
-
--ns-quest-pill-locked:
|
|
77
|
-
--ns-focus-ring:
|
|
78
|
-
--ns-selection-bg:
|
|
76
|
+
--ns-quest-pill-locked: rgba(255, 255, 255, 0.05);
|
|
77
|
+
--ns-focus-ring: rgba(230, 219, 116, 0.35);
|
|
78
|
+
--ns-selection-bg: rgba(249, 38, 114, 0.28);
|
|
79
|
+
|
|
80
|
+
/* ── Quest card component variables (overridden per-status in primitives) ── */
|
|
81
|
+
--ns-quest-color: var(--ns-status-later); /* default: locked/later */
|
|
82
|
+
--ns-quest-pill-bg: var(--ns-quest-pill-locked); /* default: locked */
|
|
79
83
|
}
|