@rpgjs/ui-css 5.0.0-alpha.44 → 5.0.0-beta.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.
@@ -0,0 +1,248 @@
1
+ body.rpg-ui-app,
2
+ .rpg-ui-app {
3
+ min-height: 100vh;
4
+ margin: 0;
5
+ background-color: var(--rpg-ui-body-bg);
6
+ background-image: var(--rpg-ui-body-background);
7
+ background-size: var(--rpg-ui-body-background-size);
8
+ background-position: var(--rpg-ui-body-background-position);
9
+ background-attachment: var(--rpg-ui-body-background-attachment);
10
+ color: var(--rpg-ui-text);
11
+ font-family: var(--rpg-ui-font);
12
+ }
13
+
14
+ body.rpg-ui-app {
15
+ overflow: hidden;
16
+ }
17
+
18
+ .rpg-ui-app {
19
+ position: relative;
20
+ isolation: isolate;
21
+ }
22
+
23
+ .glass-panel,
24
+ .rpg-ui-glass-panel {
25
+ background: var(--rpg-ui-surface-overlay);
26
+ backdrop-filter: var(--rpg-ui-backdrop-blur);
27
+ -webkit-backdrop-filter: var(--rpg-ui-backdrop-blur);
28
+ border: 1px solid var(--rpg-ui-border);
29
+ border-radius: var(--rpg-ui-radius-lg);
30
+ box-shadow: var(--rpg-ui-shadow-lg);
31
+ }
32
+
33
+ .rpg-hud,
34
+ .rpg-ui-hud {
35
+ position: absolute;
36
+ top: var(--rpg-ui-hud-top);
37
+ left: var(--rpg-ui-hud-left);
38
+ display: flex;
39
+ gap: var(--rpg-ui-hud-gap);
40
+ align-items: center;
41
+ padding: var(--rpg-ui-hud-padding);
42
+ border-radius: var(--rpg-ui-radius-full);
43
+ background: var(--rpg-ui-hud-background);
44
+ backdrop-filter: var(--rpg-ui-backdrop-blur);
45
+ -webkit-backdrop-filter: var(--rpg-ui-backdrop-blur);
46
+ border: 1px solid var(--rpg-ui-hud-border);
47
+ z-index: 20;
48
+ }
49
+
50
+ .rpg-avatar,
51
+ .rpg-ui-avatar {
52
+ width: var(--rpg-ui-avatar-size);
53
+ height: var(--rpg-ui-avatar-size);
54
+ border-radius: 50%;
55
+ background: var(--rpg-ui-avatar-background);
56
+ border: var(--rpg-ui-avatar-border-width) solid var(--rpg-ui-avatar-border);
57
+ box-shadow: var(--rpg-ui-avatar-shadow);
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ font-size: calc(var(--rpg-ui-avatar-size) * 0.5);
62
+ position: relative;
63
+ overflow: hidden;
64
+ flex-shrink: 0;
65
+ }
66
+
67
+ .rpg-avatar-face,
68
+ .rpg-ui-avatar-face {
69
+ width: 100%;
70
+ height: 100%;
71
+ border-radius: 50%;
72
+ overflow: hidden;
73
+ position: relative;
74
+ }
75
+
76
+ .rpg-avatar-face > *,
77
+ .rpg-ui-avatar-face > * {
78
+ display: block;
79
+ position: absolute;
80
+ top: 50%;
81
+ left: 50%;
82
+ transform: var(--rpg-ui-avatar-content-transform);
83
+ }
84
+
85
+ .rpg-avatar-level,
86
+ .rpg-ui-avatar-level {
87
+ position: absolute;
88
+ right: -4px;
89
+ bottom: -4px;
90
+ padding: 2px 6px;
91
+ border-radius: 10px;
92
+ border: 1px solid var(--rpg-ui-avatar-level-border);
93
+ background: var(--rpg-ui-avatar-level-bg);
94
+ color: var(--rpg-ui-avatar-level-color);
95
+ font-size: 12px;
96
+ font-weight: var(--rpg-ui-font-weight-bold);
97
+ }
98
+
99
+ .rpg-status-bars,
100
+ .rpg-ui-status-bars {
101
+ display: flex;
102
+ min-width: var(--rpg-ui-status-bars-width);
103
+ flex-direction: column;
104
+ gap: 6px;
105
+ }
106
+
107
+ .rpg-bar-container,
108
+ .rpg-ui-status-bar {
109
+ position: relative;
110
+ height: var(--rpg-ui-status-bar-height);
111
+ overflow: hidden;
112
+ border-radius: var(--rpg-ui-radius-full);
113
+ background: var(--rpg-ui-status-bar-background);
114
+ }
115
+
116
+ .rpg-bar-fill,
117
+ .rpg-ui-status-bar-fill {
118
+ height: 100%;
119
+ border-radius: inherit;
120
+ transition: width 0.3s ease-out;
121
+ box-shadow: var(--rpg-ui-status-bar-shadow);
122
+ background: var(--rpg-ui-gradient-bar);
123
+ }
124
+
125
+ .rpg-bar-fill.health,
126
+ .rpg-ui-status-bar-fill[data-type="health"] {
127
+ background: var(--rpg-ui-health-gradient);
128
+ }
129
+
130
+ .rpg-bar-fill.mana,
131
+ .rpg-ui-status-bar-fill[data-type="mana"] {
132
+ background: var(--rpg-ui-mana-gradient);
133
+ }
134
+
135
+ .rpg-bar-fill.xp,
136
+ .rpg-ui-status-bar-fill[data-type="experience"] {
137
+ background: var(--rpg-ui-xp-gradient);
138
+ }
139
+
140
+ .rpg-bar-text,
141
+ .rpg-ui-status-bar-label {
142
+ position: absolute;
143
+ top: 50%;
144
+ left: 6px;
145
+ transform: translateY(-50%);
146
+ color: var(--rpg-ui-status-bar-label-color);
147
+ font-size: 12px;
148
+ font-weight: var(--rpg-ui-font-weight-bold);
149
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
150
+ white-space: nowrap;
151
+ }
152
+
153
+ .rpg-item-dock,
154
+ .rpg-ui-dock {
155
+ position: absolute;
156
+ left: var(--rpg-ui-dock-left);
157
+ bottom: var(--rpg-ui-dock-bottom);
158
+ display: flex;
159
+ gap: var(--rpg-ui-dock-gap);
160
+ padding: var(--rpg-ui-dock-padding);
161
+ border-radius: var(--rpg-ui-radius-lg);
162
+ transform: translateX(var(--rpg-ui-dock-translate-x));
163
+ z-index: 20;
164
+ }
165
+
166
+ .rpg-item-slot,
167
+ .rpg-ui-dock-slot {
168
+ position: relative;
169
+ display: flex;
170
+ width: var(--rpg-ui-dock-slot-size);
171
+ height: var(--rpg-ui-dock-slot-size);
172
+ align-items: center;
173
+ justify-content: center;
174
+ border: 1px solid var(--rpg-ui-dock-slot-border);
175
+ border-radius: var(--rpg-ui-radius-md);
176
+ background: var(--rpg-ui-dock-slot-bg);
177
+ font-size: 28px;
178
+ cursor: pointer;
179
+ transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
180
+ }
181
+
182
+ .rpg-item-slot:hover,
183
+ .rpg-ui-dock-slot:hover,
184
+ .rpg-ui-dock-slot[data-hover="true"] {
185
+ transform: translateY(-8px) scale(1.08);
186
+ background: var(--rpg-ui-dock-slot-bg-hover);
187
+ border-color: var(--rpg-ui-dock-slot-border-hover);
188
+ box-shadow: var(--rpg-ui-dock-slot-shadow-hover);
189
+ }
190
+
191
+ .rpg-item-slot.active,
192
+ .rpg-ui-dock-slot[data-active="true"],
193
+ .rpg-ui-dock-slot[data-selected="true"] {
194
+ border-color: var(--rpg-ui-accent);
195
+ background: var(--rpg-ui-dock-slot-bg-active);
196
+ box-shadow: 0 0 15px color-mix(in srgb, var(--rpg-ui-accent), transparent 35%);
197
+ }
198
+
199
+ .rpg-item-qty,
200
+ .rpg-ui-dock-slot-qty {
201
+ position: absolute;
202
+ right: 4px;
203
+ bottom: 4px;
204
+ color: var(--rpg-ui-text);
205
+ font-size: 12px;
206
+ font-weight: var(--rpg-ui-font-weight-bold);
207
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
208
+ }
209
+
210
+ .rpg-fab,
211
+ .rpg-ui-fab {
212
+ position: absolute;
213
+ right: var(--rpg-ui-fab-right);
214
+ bottom: var(--rpg-ui-fab-bottom);
215
+ display: flex;
216
+ width: var(--rpg-ui-fab-size);
217
+ height: var(--rpg-ui-fab-size);
218
+ align-items: center;
219
+ justify-content: center;
220
+ border: 4px solid var(--rpg-ui-fab-border);
221
+ border-radius: 50%;
222
+ background: var(--rpg-ui-fab-gradient);
223
+ box-shadow: var(--rpg-ui-fab-shadow);
224
+ font-size: 32px;
225
+ cursor: pointer;
226
+ transition: transform 0.12s ease;
227
+ z-index: 20;
228
+ }
229
+
230
+ .rpg-fab:active,
231
+ .rpg-ui-fab:active {
232
+ transform: scale(0.95);
233
+ }
234
+
235
+ .rpg-minimap,
236
+ .rpg-ui-minimap {
237
+ position: absolute;
238
+ top: var(--rpg-ui-minimap-top);
239
+ right: var(--rpg-ui-minimap-right);
240
+ width: var(--rpg-ui-minimap-size);
241
+ height: var(--rpg-ui-minimap-size);
242
+ overflow: hidden;
243
+ border: 4px solid var(--rpg-ui-minimap-border);
244
+ border-radius: 50%;
245
+ background: var(--rpg-ui-minimap-background);
246
+ box-shadow: var(--rpg-ui-minimap-shadow);
247
+ z-index: 20;
248
+ }
@@ -0,0 +1,467 @@
1
+ .rpg-shop-container {
2
+ position: absolute;
3
+ inset: 20px;
4
+ display: flex;
5
+ width: auto;
6
+ max-width: var(--rpg-ui-shop-max-width);
7
+ height: auto;
8
+ min-height: calc(100% - 40px);
9
+ margin: 0 auto;
10
+ flex-direction: column;
11
+ border: 1px solid var(--rpg-ui-shop-muted-border);
12
+ border-radius: var(--rpg-ui-radius-lg);
13
+ background: var(--rpg-ui-surface-overlay-strong);
14
+ backdrop-filter: var(--rpg-ui-backdrop-blur);
15
+ -webkit-backdrop-filter: var(--rpg-ui-backdrop-blur);
16
+ box-shadow: var(--rpg-ui-shadow-lg);
17
+ }
18
+
19
+ .rpg-shop-body {
20
+ flex: 1;
21
+ display: flex;
22
+ min-height: 0;
23
+ }
24
+
25
+ .rpg-shop-left {
26
+ flex: 1;
27
+ min-width: 0;
28
+ position: relative;
29
+ display: flex;
30
+ flex-direction: column;
31
+ }
32
+
33
+ .rpg-shop-header {
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: space-between;
37
+ gap: 16px;
38
+ padding: 20px 30px;
39
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
40
+ background: rgba(0, 0, 0, 0.18);
41
+ }
42
+
43
+ .rpg-shop-merchant {
44
+ display: flex;
45
+ align-items: center;
46
+ gap: 16px;
47
+ }
48
+
49
+ .rpg-shop-merchant-avatar {
50
+ width: 50px;
51
+ height: 50px;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ overflow: hidden;
56
+ border: 2px solid var(--rpg-ui-accent);
57
+ border-radius: 50%;
58
+ background: rgba(0, 0, 0, 0.35);
59
+ flex-shrink: 0;
60
+ }
61
+
62
+ .rpg-shop-merchant-avatar > * {
63
+ width: 100% !important;
64
+ height: 100% !important;
65
+ object-fit: contain;
66
+ }
67
+
68
+ .rpg-shop-merchant-info h2,
69
+ .rpg-shop-merchant-info p {
70
+ margin: 0;
71
+ }
72
+
73
+ .rpg-shop-merchant-info p {
74
+ color: var(--rpg-ui-text-muted);
75
+ }
76
+
77
+ .rpg-shop-gold {
78
+ display: flex;
79
+ align-items: center;
80
+ gap: 8px;
81
+ padding: 8px 16px;
82
+ border: 1px solid color-mix(in srgb, var(--rpg-ui-shop-gold-color), transparent 70%);
83
+ border-radius: var(--rpg-ui-radius-full);
84
+ background: rgba(0, 0, 0, 0.32);
85
+ color: var(--rpg-ui-shop-gold-color);
86
+ font-weight: var(--rpg-ui-font-weight-bold);
87
+ white-space: nowrap;
88
+ }
89
+
90
+ .rpg-shop-tabs {
91
+ display: flex;
92
+ gap: 24px;
93
+ padding: 0 30px;
94
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
95
+ }
96
+
97
+ .rpg-shop-tab {
98
+ position: relative;
99
+ padding: 16px 0;
100
+ color: var(--rpg-ui-text-muted);
101
+ cursor: pointer;
102
+ transition: color 0.2s ease;
103
+ }
104
+
105
+ .rpg-shop-tab:hover {
106
+ color: var(--rpg-ui-text);
107
+ }
108
+
109
+ .rpg-shop-tab.active,
110
+ .rpg-shop-tab:focus {
111
+ color: var(--rpg-ui-accent);
112
+ font-weight: var(--rpg-ui-font-weight-bold);
113
+ outline: none;
114
+ }
115
+
116
+ .rpg-shop-tab.active::after,
117
+ .rpg-shop-tab:focus::after {
118
+ content: "";
119
+ position: absolute;
120
+ right: 0;
121
+ bottom: 0;
122
+ left: 0;
123
+ height: 3px;
124
+ border-radius: 3px 3px 0 0;
125
+ background: var(--rpg-ui-accent);
126
+ box-shadow: 0 -2px 10px color-mix(in srgb, var(--rpg-ui-accent), transparent 15%);
127
+ }
128
+
129
+ .rpg-shop-content {
130
+ flex: 1;
131
+ display: flex;
132
+ min-height: 0;
133
+ }
134
+
135
+ .rpg-shop-grid {
136
+ flex: 1;
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: 12px;
140
+ overflow-y: auto;
141
+ padding: 30px;
142
+ }
143
+
144
+ .rpg-shop-card {
145
+ display: flex;
146
+ align-items: center;
147
+ gap: 20px;
148
+ padding: 12px 20px;
149
+ border: 1px solid var(--rpg-ui-shop-card-border);
150
+ border-radius: var(--rpg-ui-radius-md);
151
+ background: var(--rpg-ui-shop-card-background);
152
+ cursor: pointer;
153
+ transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
154
+ }
155
+
156
+ .rpg-shop-card.disabled {
157
+ opacity: 0.5;
158
+ cursor: not-allowed;
159
+ }
160
+
161
+ .rpg-shop-card.disabled:hover,
162
+ .rpg-shop-card.disabled:focus {
163
+ transform: none;
164
+ background: var(--rpg-ui-shop-card-background);
165
+ border-color: var(--rpg-ui-shop-card-border);
166
+ box-shadow: none;
167
+ }
168
+
169
+ .rpg-shop-card:hover {
170
+ transform: translateX(4px);
171
+ background: var(--rpg-ui-shop-card-background-hover);
172
+ }
173
+
174
+ .rpg-shop-card.selected,
175
+ .rpg-shop-card:focus {
176
+ outline: none;
177
+ border-color: var(--rpg-ui-shop-card-border-active);
178
+ background: var(--rpg-ui-shop-card-background-active);
179
+ box-shadow: 0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 85%);
180
+ }
181
+
182
+ .rpg-shop-card-icon,
183
+ .rpg-shop-details-icon {
184
+ display: flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ overflow: hidden;
188
+ background: rgba(0, 0, 0, 0.28);
189
+ }
190
+
191
+ .rpg-shop-card-icon {
192
+ width: 48px;
193
+ height: 48px;
194
+ border-radius: var(--rpg-ui-radius-sm);
195
+ font-size: 24px;
196
+ flex-shrink: 0;
197
+ }
198
+
199
+ .rpg-shop-card-icon > *,
200
+ .rpg-shop-details-icon > * {
201
+ width: 100% !important;
202
+ height: 100% !important;
203
+ background-position: center !important;
204
+ background-repeat: no-repeat !important;
205
+ background-size: contain !important;
206
+ }
207
+
208
+ .rpg-shop-card-name {
209
+ flex: 1;
210
+ font-size: 16px;
211
+ font-weight: var(--rpg-ui-font-weight-bold);
212
+ text-align: left;
213
+ }
214
+
215
+ .rpg-shop-card-price,
216
+ .rpg-shop-details-qty,
217
+ .rpg-shop-modal-qty {
218
+ color: var(--rpg-ui-shop-gold-color);
219
+ font-weight: var(--rpg-ui-font-weight-bold);
220
+ }
221
+
222
+ .rpg-shop-card-qty {
223
+ color: var(--rpg-ui-text-muted);
224
+ font-size: var(--rpg-ui-font-size-sm);
225
+ white-space: nowrap;
226
+ }
227
+
228
+ .rpg-shop-details {
229
+ width: 280px;
230
+ display: flex;
231
+ flex-direction: column;
232
+ gap: 20px;
233
+ padding: 30px;
234
+ background: rgba(0, 0, 0, 0.2);
235
+ border-left: 1px solid rgba(255, 255, 255, 0.08);
236
+ }
237
+
238
+ .rpg-shop-details-header {
239
+ padding-bottom: 20px;
240
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
241
+ text-align: center;
242
+ }
243
+
244
+ .rpg-shop-details-icon {
245
+ width: 80px;
246
+ height: 80px;
247
+ margin: 0 auto 16px;
248
+ border: 2px solid var(--rpg-ui-border-light);
249
+ border-radius: var(--rpg-ui-radius-md);
250
+ font-size: 40px;
251
+ }
252
+
253
+ .rpg-shop-details-desc {
254
+ flex: 1;
255
+ color: var(--rpg-ui-text-muted);
256
+ line-height: 1.6;
257
+ font-size: var(--rpg-ui-font-size-sm);
258
+ }
259
+
260
+ .rpg-shop-content-mode {
261
+ align-items: center;
262
+ justify-content: center;
263
+ padding: 30px;
264
+ }
265
+
266
+ .rpg-shop-details-mode {
267
+ width: 100%;
268
+ max-width: 360px;
269
+ border: 1px solid rgba(255, 255, 255, 0.12);
270
+ border-left: none;
271
+ border-radius: var(--rpg-ui-radius-lg);
272
+ background: rgba(0, 0, 0, 0.35);
273
+ box-shadow: var(--rpg-ui-shadow-md);
274
+ }
275
+
276
+ .rpg-shop-card-tag {
277
+ padding: 4px 8px;
278
+ border: 1px solid color-mix(in srgb, var(--rpg-ui-accent), transparent 60%);
279
+ border-radius: var(--rpg-ui-radius-full);
280
+ background: color-mix(in srgb, var(--rpg-ui-accent), transparent 86%);
281
+ color: var(--rpg-ui-accent);
282
+ font-size: 11px;
283
+ text-transform: uppercase;
284
+ }
285
+
286
+ .rpg-shop-equipped {
287
+ color: var(--rpg-ui-accent);
288
+ font-size: 12px;
289
+ letter-spacing: 0.5px;
290
+ text-transform: uppercase;
291
+ }
292
+
293
+ .rpg-shop-stats {
294
+ display: flex;
295
+ flex-direction: column;
296
+ gap: 8px;
297
+ }
298
+
299
+ .rpg-shop-stat {
300
+ display: flex;
301
+ align-items: baseline;
302
+ justify-content: space-between;
303
+ font-size: 12px;
304
+ color: var(--rpg-ui-text-muted);
305
+ }
306
+
307
+ .rpg-shop-stat.positive .rpg-shop-stat-value {
308
+ color: #7dff9a;
309
+ }
310
+
311
+ .rpg-shop-stat.negative .rpg-shop-stat-value {
312
+ color: #ff7d7d;
313
+ }
314
+
315
+ .rpg-shop-stat-key {
316
+ color: var(--rpg-ui-text);
317
+ font-weight: var(--rpg-ui-font-weight-bold);
318
+ letter-spacing: 0.5px;
319
+ }
320
+
321
+ .rpg-shop-stat-value {
322
+ color: #7fffd4;
323
+ font-weight: var(--rpg-ui-font-weight-bold);
324
+ }
325
+
326
+ .rpg-shop-stat-current {
327
+ color: var(--rpg-ui-text-muted);
328
+ font-size: 11px;
329
+ }
330
+
331
+ .rpg-shop-trade {
332
+ display: flex;
333
+ flex-direction: column;
334
+ gap: 12px;
335
+ }
336
+
337
+ .rpg-shop-trade-tabs {
338
+ padding: 0;
339
+ border-bottom: none;
340
+ }
341
+
342
+ .rpg-shop-quantity {
343
+ display: flex;
344
+ align-items: center;
345
+ justify-content: space-between;
346
+ gap: 12px;
347
+ padding: 10px 12px;
348
+ border-radius: var(--rpg-ui-radius-md);
349
+ background: rgba(255, 255, 255, 0.05);
350
+ }
351
+
352
+ .rpg-shop-quantity-label {
353
+ color: var(--rpg-ui-text-muted);
354
+ font-size: 12px;
355
+ letter-spacing: 1px;
356
+ text-transform: uppercase;
357
+ }
358
+
359
+ .rpg-shop-quantity-controls {
360
+ display: flex;
361
+ align-items: center;
362
+ gap: 8px;
363
+ }
364
+
365
+ .rpg-shop-quantity-value {
366
+ min-width: 24px;
367
+ text-align: center;
368
+ font-weight: var(--rpg-ui-font-weight-bold);
369
+ }
370
+
371
+ .rpg-shop-modal {
372
+ position: absolute;
373
+ inset: 0;
374
+ z-index: 10;
375
+ display: flex;
376
+ align-items: center;
377
+ justify-content: center;
378
+ padding: 24px;
379
+ background: rgba(0, 0, 0, 0.55);
380
+ }
381
+
382
+ .rpg-shop-modal-card {
383
+ width: 100%;
384
+ max-width: 360px;
385
+ display: flex;
386
+ flex-direction: column;
387
+ gap: 12px;
388
+ padding: 24px;
389
+ border: 1px solid rgba(255, 255, 255, 0.15);
390
+ border-radius: var(--rpg-ui-radius-lg);
391
+ background: rgba(15, 15, 25, 0.95);
392
+ box-shadow: var(--rpg-ui-shadow-md);
393
+ }
394
+
395
+ .rpg-shop-modal-title {
396
+ color: var(--rpg-ui-accent);
397
+ font-size: 18px;
398
+ font-weight: var(--rpg-ui-font-weight-bold);
399
+ letter-spacing: 1px;
400
+ text-transform: uppercase;
401
+ }
402
+
403
+ .rpg-shop-modal-item {
404
+ color: var(--rpg-ui-text);
405
+ font-size: 16px;
406
+ }
407
+
408
+ .rpg-shop-modal-actions {
409
+ display: flex;
410
+ gap: 10px;
411
+ }
412
+
413
+ .rpg-shop-modal-total {
414
+ display: flex;
415
+ align-items: center;
416
+ justify-content: space-between;
417
+ padding: 8px 0;
418
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
419
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
420
+ color: var(--rpg-ui-accent);
421
+ font-weight: var(--rpg-ui-font-weight-bold);
422
+ letter-spacing: 0.5px;
423
+ text-transform: uppercase;
424
+ }
425
+
426
+ .rpg-shop-btn {
427
+ width: 100%;
428
+ padding: 16px;
429
+ border: none;
430
+ border-radius: var(--rpg-ui-radius-full);
431
+ background: var(--rpg-ui-accent);
432
+ color: #03121a;
433
+ font-size: 16px;
434
+ font-weight: var(--rpg-ui-font-weight-bold);
435
+ letter-spacing: 1px;
436
+ text-transform: uppercase;
437
+ cursor: pointer;
438
+ transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
439
+ }
440
+
441
+ .rpg-shop-btn:hover {
442
+ background: var(--rpg-ui-accent-hover);
443
+ box-shadow: 0 0 20px color-mix(in srgb, var(--rpg-ui-accent), transparent 25%);
444
+ }
445
+
446
+ .rpg-shop-btn.rpg-shop-btn-secondary {
447
+ border: 1px solid rgba(255, 255, 255, 0.2);
448
+ background: rgba(255, 255, 255, 0.1);
449
+ color: var(--rpg-ui-text);
450
+ }
451
+
452
+ .rpg-shop-btn.rpg-shop-btn-secondary:hover {
453
+ background: rgba(255, 255, 255, 0.18);
454
+ box-shadow: none;
455
+ }
456
+
457
+ @media (max-width: 900px) {
458
+ .rpg-shop-body {
459
+ flex-direction: column;
460
+ }
461
+
462
+ .rpg-shop-details {
463
+ width: 100%;
464
+ border-left: none;
465
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
466
+ }
467
+ }