@howssatoshi/quantumcss 1.10.1 → 1.11.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.
Files changed (43) hide show
  1. package/README.md +11 -10
  2. package/dist/quantum.min.css +2 -2
  3. package/examples/admin-panel.html +303 -608
  4. package/examples/analytics-dashboard.html +128 -288
  5. package/examples/blog.css +297 -0
  6. package/examples/blog.html +216 -0
  7. package/examples/chat-messaging.html +11 -27
  8. package/examples/email-client.css +582 -0
  9. package/examples/email-client.html +432 -0
  10. package/examples/gaming-portal.css +352 -0
  11. package/examples/gaming-portal.html +239 -0
  12. package/examples/index.html +342 -232
  13. package/examples/kitchen-sink.html +284 -94
  14. package/examples/music-streaming.html +32 -91
  15. package/examples/{news-template.html → news.html} +35 -11
  16. package/examples/{portfolio-resume.html → portfolio.html} +72 -26
  17. package/examples/shopping.html +812 -0
  18. package/examples/starlight.html +7 -6
  19. package/examples/task.md +12 -0
  20. package/examples/travel.html +514 -0
  21. package/examples/video-streaming.html +1025 -546
  22. package/package.json +9 -3
  23. package/src/cli.js +5 -5
  24. package/src/defaults.js +18 -16
  25. package/src/starlight.js +20 -15
  26. package/src/styles/quantum-base.css +4 -0
  27. package/src/styles/quantum-components.css +1882 -136
  28. package/src/styles/quantum-icons.css +345 -0
  29. package/src/styles/starlight.css +2606 -1186
  30. package/dist/quantum.css +0 -2374
  31. package/examples/blog-template.html +0 -288
  32. package/examples/email-template.html +0 -712
  33. package/examples/gaming-template.html +0 -471
  34. package/examples/gradient-test.html +0 -129
  35. package/examples/shopping/images/headset.jpg +0 -0
  36. package/examples/shopping/images/sneakers.jpg +0 -0
  37. package/examples/shopping/images/windbreaker.jpg +0 -0
  38. package/examples/shopping/index.html +0 -525
  39. package/examples/theme-test.html +0 -159
  40. package/examples/travel/index.html +0 -432
  41. package/examples/verify_fixes.html +0 -52
  42. package/examples/verify_presets.html +0 -32
  43. /package/examples/{shopping/nova-shop.css → nova-shop.css} +0 -0
@@ -0,0 +1,352 @@
1
+ :root {
2
+ --side-padding: 1.5rem;
3
+ --max-width: 1200px;
4
+ --color-starlight: #00d4ff;
5
+ }
6
+
7
+ *, *::before, *::after {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ /* ==========================================================================
12
+ GLOBAL & THEME
13
+ ========================================================================== */
14
+
15
+ body {
16
+ background: radial-gradient(circle at top right, #1a1a3a, #0a0a1a 40%), #050505;
17
+ color: #f1f5f9;
18
+ margin: 0;
19
+ font-family: var(--q-font-sans, sans-serif);
20
+ min-height: 100vh;
21
+ }
22
+
23
+ html[data-theme="light"] body {
24
+ background: #f8fafc !important;
25
+ color: #1e293b;
26
+ }
27
+
28
+ /* Use Core Text Gradient Logic */
29
+ brand-text, brand-logo, footer-logo {
30
+ display: inline-block;
31
+ background: linear-gradient(to right, var(--q-color-starlight-peach), var(--q-color-starlight-blue));
32
+ -webkit-background-clip: text;
33
+ -webkit-text-fill-color: transparent;
34
+ background-clip: text;
35
+ font-weight: inherit;
36
+ }
37
+
38
+ html[data-theme="light"] brand-text,
39
+ html[data-theme="light"] brand-logo,
40
+ html[data-theme="light"] footer-logo {
41
+ background: linear-gradient(135deg, var(--q-color-starlight-peach) 40%, var(--q-color-starlight-blue) 100%) !important;
42
+ -webkit-background-clip: text !important;
43
+ -webkit-text-fill-color: transparent !important;
44
+ }
45
+
46
+ .theme-toggle {
47
+ cursor: pointer;
48
+ width: 2.5rem;
49
+ height: 2.5rem;
50
+ border-radius: 50%;
51
+ transition: background 0.3s ease;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ flex-shrink: 0;
56
+ }
57
+ .theme-toggle:hover { background: rgba(255, 255, 255, 0.1); }
58
+ html[data-theme="light"] .theme-toggle:hover { background: rgba(0, 0, 0, 0.05); }
59
+
60
+ /* ==========================================================================
61
+ HERO SECTION
62
+ ========================================================================== */
63
+
64
+ hero-section {
65
+ display: flex;
66
+ height: 80vh;
67
+ align-items: center;
68
+ justify-content: center;
69
+ text-align: center;
70
+ background: linear-gradient(rgba(10, 10, 26, 0.4), rgba(10, 10, 26, 0.9)),
71
+ url('https://images.unsplash.com/photo-1542751371-adc38448a05e?auto=format&fit=crop&w=1920&q=80');
72
+ background-size: cover;
73
+ background-position: center;
74
+ }
75
+
76
+ hero-content { max-width: 800px; padding: 0 var(--side-padding); }
77
+
78
+ trending-badge {
79
+ display: inline-block;
80
+ padding: 0.5rem 1rem;
81
+ background: rgba(0, 212, 255, 0.1);
82
+ color: var(--color-starlight);
83
+ border-radius: 9999px;
84
+ font-size: 0.875rem;
85
+ font-weight: 600;
86
+ margin-bottom: 1.5rem;
87
+ }
88
+
89
+ hero-title {
90
+ display: block;
91
+ font-size: 4.5rem;
92
+ font-weight: 800;
93
+ letter-spacing: -0.05em;
94
+ margin-bottom: 1.5rem;
95
+ line-height: 1;
96
+ }
97
+
98
+ hero-description {
99
+ display: block;
100
+ font-size: 1.25rem;
101
+ color: #94a3b8;
102
+ margin-bottom: 2.5rem;
103
+ line-height: 1.6;
104
+ }
105
+
106
+ hero-actions { display: flex; gap: 1.5rem; justify-content: center; }
107
+ hero-actions button {
108
+ padding: 1rem 3rem;
109
+ border-radius: 9999px;
110
+ font-weight: 700;
111
+ cursor: pointer;
112
+ transition: 0.3s;
113
+ }
114
+
115
+ .btn-buy { background: white; color: #000; border: none; }
116
+ .btn-buy:hover { background: var(--color-starlight); }
117
+
118
+ .btn-trailer {
119
+ background: rgba(255, 255, 255, 0.05);
120
+ color: white;
121
+ border: 2px solid rgba(255, 255, 255, 0.1);
122
+ }
123
+ .btn-trailer:hover { background: rgba(255, 255, 255, 0.1); }
124
+
125
+ @media (max-width: 768px) {
126
+ hero-title { font-size: 3rem; }
127
+ hero-actions { flex-direction: column; }
128
+ }
129
+
130
+ /* ==========================================================================
131
+ FEATURED GAMES
132
+ ========================================================================== */
133
+
134
+ featured-games {
135
+ display: block;
136
+ max-width: var(--max-width);
137
+ margin: 0 auto;
138
+ padding: 6rem var(--side-padding);
139
+ }
140
+
141
+ section-header {
142
+ display: flex;
143
+ justify-content: space-between;
144
+ align-items: flex-end;
145
+ margin-bottom: 3rem;
146
+ }
147
+
148
+ sub-title {
149
+ display: block;
150
+ font-size: 0.875rem;
151
+ font-weight: 700;
152
+ color: var(--color-starlight);
153
+ text-transform: uppercase;
154
+ letter-spacing: 0.1em;
155
+ margin-bottom: 0.5rem;
156
+ }
157
+
158
+ main-title {
159
+ display: block;
160
+ font-size: 2.5rem;
161
+ font-weight: 700;
162
+ letter-spacing: -0.02em;
163
+ }
164
+
165
+ .view-all {
166
+ color: var(--color-starlight);
167
+ font-weight: 700;
168
+ text-decoration: none;
169
+ border-bottom: 2px solid var(--color-starlight);
170
+ padding-bottom: 4px;
171
+ }
172
+
173
+ game-grid {
174
+ display: grid;
175
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
176
+ gap: 2rem;
177
+ }
178
+
179
+ game-card {
180
+ display: block;
181
+ background: rgba(255, 255, 255, 0.03);
182
+ border: 1px solid rgba(255, 255, 255, 0.08);
183
+ border-radius: 1.5rem;
184
+ overflow: hidden;
185
+ cursor: pointer;
186
+ transition: 0.3s;
187
+ }
188
+ game-card:hover { transform: translateY(-8px); border-color: var(--color-starlight); }
189
+
190
+ game-image {
191
+ display: block; height: 200px; background-size: cover; background-position: center; transition: 0.5s;
192
+ }
193
+ game-card:hover game-image { transform: scale(1.05); }
194
+
195
+ game-details { display: block; padding: 1.5rem; }
196
+
197
+ game-header { display: flex; justify-content: space-between; margin-bottom: 0.5rem; }
198
+ game-title { font-size: 1.25rem; font-weight: 700; }
199
+ game-price { color: var(--color-starlight); font-weight: 700; }
200
+
201
+ game-desc { display: block; font-size: 0.875rem; color: #94a3b8; margin-bottom: 1rem; }
202
+
203
+ game-tags { display: flex; gap: 0.5rem; }
204
+ tag {
205
+ padding: 0.25rem 0.75rem;
206
+ background: rgba(255, 255, 255, 0.05);
207
+ border-radius: 0.5rem;
208
+ font-size: 0.75rem;
209
+ font-weight: 600;
210
+ }
211
+
212
+ /* ==========================================================================
213
+ FAQ & CTA
214
+ ========================================================================== */
215
+
216
+ faq-section {
217
+ display: block;
218
+ max-width: var(--max-width);
219
+ margin: 0 auto;
220
+ padding: 0 var(--side-padding) 8rem;
221
+ }
222
+
223
+ faq-header { display: block; text-align: center; margin-bottom: 3rem; }
224
+
225
+ accordion-list { display: flex; flex-direction: column; gap: 1rem; max-width: 600px; margin: 0 auto; }
226
+
227
+ cta-section {
228
+ display: block;
229
+ max-width: var(--max-width);
230
+ margin: 0 auto;
231
+ padding: 0 var(--side-padding) 8rem;
232
+ }
233
+
234
+ cta-card {
235
+ display: block;
236
+ background: rgba(255, 255, 255, 0.03);
237
+ backdrop-filter: blur(16px);
238
+ border: 1px solid rgba(255, 255, 255, 0.1);
239
+ border-radius: 2rem;
240
+ padding: 4rem;
241
+ text-align: center;
242
+ box-shadow: 0 0 40px rgba(0, 212, 255, 0.1);
243
+ }
244
+
245
+ cta-title { display: block; font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem; }
246
+ cta-description { display: block; font-size: 1.125rem; color: #94a3b8; margin-bottom: 2.5rem; max-width: 600px; margin-left: auto; margin-right: auto; }
247
+
248
+ cta-form { display: flex; gap: 1rem; justify-content: center; }
249
+ cta-form input {
250
+ background: rgba(255, 255, 255, 0.05);
251
+ border: 1px solid rgba(255, 255, 255, 0.1);
252
+ padding: 1rem 2rem;
253
+ border-radius: 1rem;
254
+ color: white;
255
+ width: 100%;
256
+ max-width: 400px;
257
+ outline: none;
258
+ }
259
+ cta-form button {
260
+ background: linear-gradient(to right, var(--q-color-starlight-peach), var(--q-color-starlight-blue));
261
+ color: #000;
262
+ padding: 1rem 3rem;
263
+ border-radius: 1rem;
264
+ font-weight: 700;
265
+ border: none;
266
+ cursor: pointer;
267
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
268
+ transition: 0.3s;
269
+ }
270
+ cta-form button:hover { transform: scale(1.05); }
271
+
272
+ html[data-theme="light"] cta-form button {
273
+ background: linear-gradient(135deg, var(--q-color-starlight-peach) 40%, var(--q-color-starlight-blue) 100%) !important;
274
+ }
275
+
276
+ @media (max-width: 768px) {
277
+ cta-form { flex-direction: column; }
278
+ cta-form input { max-width: none; }
279
+ }
280
+
281
+ /* ==========================================================================
282
+ FOOTER
283
+ ========================================================================== */
284
+
285
+ footer {
286
+ background: #050505;
287
+ padding: 5rem var(--side-padding);
288
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
289
+ }
290
+
291
+ footer-container { display: block; max-width: var(--max-width); margin: 0 auto; }
292
+
293
+ footer-grid {
294
+ display: grid;
295
+ grid-template-columns: 2fr repeat(3, 1fr);
296
+ gap: 4rem;
297
+ margin-bottom: 4rem;
298
+ }
299
+
300
+ footer-column h5 { font-size: 1.125rem; font-weight: 700; margin: 0 0 1.5rem; }
301
+ footer-column nav { display: flex; flex-direction: column; gap: 1rem; }
302
+ footer-column nav a { color: #64748b; text-decoration: none; transition: 0.2s; }
303
+ footer-column nav a:hover { color: white; }
304
+
305
+ footer-logo {
306
+ display: block; font-size: 1.5rem; font-weight: 800; letter-spacing: -0.05em;
307
+ margin-bottom: 1.5rem;
308
+ }
309
+
310
+ footer-bottom {
311
+ display: flex; justify-content: space-between; align-items: center;
312
+ padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.05);
313
+ }
314
+
315
+ social-links { display: flex; gap: 2rem; }
316
+ social-links a { color: #64748b; text-decoration: none; }
317
+ social-links a:hover { color: var(--color-starlight); }
318
+
319
+ @media (max-width: 1024px) {
320
+ footer-grid { grid-template-columns: repeat(2, 1fr); }
321
+ }
322
+
323
+ @media (max-width: 768px) {
324
+ footer-grid { grid-template-columns: 1fr; gap: 3rem; }
325
+ footer-bottom { flex-direction: column; gap: 1.5rem; text-align: center; }
326
+ }
327
+
328
+ /* ==========================================================================
329
+ LIGHT MODE OVERRIDES
330
+ ========================================================================== */
331
+
332
+ html[data-theme="light"] nav-links a { color: #64748b; }
333
+ html[data-theme="light"] nav-links a:hover { color: #2563eb; }
334
+
335
+ html[data-theme="light"] hero-section {
336
+ background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.95)),
337
+ url('https://images.unsplash.com/photo-1542751371-adc38448a05e?auto=format&fit=crop&w=1920&q=80');
338
+ }
339
+ html[data-theme="light"] hero-description { color: #64748b; }
340
+ html[data-theme="light"] .btn-trailer { color: #1e293b; border-color: #e2e8f0; }
341
+
342
+ html[data-theme="light"] game-card { background: #fff; border-color: #e2e8f0; }
343
+ html[data-theme="light"] game-desc { color: #64748b; }
344
+ html[data-theme="light"] tag { background: #f1f5f9; color: #64748b; }
345
+
346
+ html[data-theme="light"] cta-card { background: #fff; border-color: #e2e8f0; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
347
+ html[data-theme="light"] cta-description { color: #64748b; }
348
+ html[data-theme="light"] cta-form input { background: #f1f5f9; border-color: #e2e8f0; color: #1e293b; }
349
+
350
+ html[data-theme="light"] footer { background: #fff; border-top-color: #e2e8f0; }
351
+ html[data-theme="light"] footer-column nav a { color: #64748b; }
352
+ html[data-theme="light"] footer-column nav a:hover { color: #1e293b; }
@@ -0,0 +1,239 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>GameVault - Ultra Gaming Experience</title>
7
+ <link rel="stylesheet" href="../dist/quantum.min.css" />
8
+ <link rel="stylesheet" href="../src/styles/quantum-components.css" />
9
+ <link rel="stylesheet" href="gaming-portal.css" />
10
+ </head>
11
+ <body>
12
+ <!-- Navigation -->
13
+ <input type="checkbox" id="nav-toggle" class="nav-toggle" />
14
+ <header class="nav-header">
15
+ <label class="nav-hamburger" for="nav-toggle">
16
+ <span class="nav-hamburger-icon">
17
+ <span></span>
18
+ <span></span>
19
+ <span></span>
20
+ </span>
21
+ </label>
22
+ <a href="#" class="nav-brand text-gradient">GAMEVAULT</a>
23
+ <nav class="nav-links">
24
+ <a href="#">Store</a>
25
+ <a href="#">Games</a>
26
+ <a href="#">News</a>
27
+ <a href="#">Community</a>
28
+ </nav>
29
+ <div class="flex items-center gap-4">
30
+ <div class="theme-toggle" onclick="toggleTheme()">
31
+ <i class="q-icon-display"></i>
32
+ <i class="q-icon-sun sun-icon"></i>
33
+ <i class="q-icon-moon moon-icon"></i>
34
+ </div>
35
+ <button class="btn-starlight" style="border-radius: 9999px; padding: 0.5rem 1.5rem;">Play Now</button>
36
+ </div>
37
+ </header>
38
+
39
+ <!-- Mobile Drawer -->
40
+ <div class="nav-drawer">
41
+ <div class="nav-drawer-inner">
42
+ <a href="#">Store</a>
43
+ <a href="#">Games</a>
44
+ <a href="#">News</a>
45
+ <a href="#">Community</a>
46
+ </div>
47
+ </div>
48
+
49
+ <!-- Hero Section -->
50
+ <hero-section>
51
+ <hero-content class="animate-slide-up">
52
+ <trending-badge>Trending Now</trending-badge>
53
+ <hero-title>CYBERPUNK <brand-text>2077</brand-text></hero-title>
54
+ <hero-description>
55
+ Step into Night City, an obsessed megalopolis where you play
56
+ as V, a mercenary outlaw going after a one-of-a-kind
57
+ implant.
58
+ </hero-description>
59
+ <hero-actions>
60
+ <button class="btn-buy">Buy Now - $59.99</button>
61
+ <button class="btn-trailer">Watch Trailer</button>
62
+ </hero-actions>
63
+ </hero-content>
64
+ </hero-section>
65
+
66
+ <!-- Main Content -->
67
+ <main>
68
+ <featured-games>
69
+ <section-header>
70
+ <header-info>
71
+ <sub-title>Editor's Choice</sub-title>
72
+ <main-title>Featured Games</main-title>
73
+ </header-info>
74
+ <a href="#" class="view-all">View All Games →</a>
75
+ </section-header>
76
+
77
+ <game-grid>
78
+ <!-- Game Card 1 -->
79
+ <game-card>
80
+ <game-image style="background-image: url('https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=800&q=80');"></game-image>
81
+ <game-details>
82
+ <game-header>
83
+ <game-title>Retro Pulse</game-title>
84
+ <game-price>$19.99</game-price>
85
+ </game-header>
86
+ <game-desc>A high-octane synthwave racer with neon visuals.</game-desc>
87
+ <game-tags>
88
+ <tag>Action</tag>
89
+ <tag>Indie</tag>
90
+ </game-tags>
91
+ </game-details>
92
+ </game-card>
93
+
94
+ <!-- Game Card 2 -->
95
+ <game-card>
96
+ <game-image style="background-image: url('https://images.unsplash.com/photo-1614680376593-902f74cf0d41?auto=format&fit=crop&w=800&q=80');"></game-image>
97
+ <game-details>
98
+ <game-header>
99
+ <game-title>Star Frontier</game-title>
100
+ <game-price>Free</game-price>
101
+ </game-header>
102
+ <game-desc>Explore the outer reaches of the galaxy in this MMO.</game-desc>
103
+ <game-tags>
104
+ <tag>MMO</tag>
105
+ <tag>Sci-Fi</tag>
106
+ </game-tags>
107
+ </game-details>
108
+ </game-card>
109
+
110
+ <!-- Game Card 3 -->
111
+ <game-card>
112
+ <game-image style="background-image: url('https://images.unsplash.com/photo-1511512578047-dfb367046420?auto=format&fit=crop&w=800&q=80');"></game-image>
113
+ <game-details>
114
+ <game-header>
115
+ <game-title>Quest Lore</game-title>
116
+ <game-price>$44.99</game-price>
117
+ </game-header>
118
+ <game-desc>An epic open-world RPG with branching storylines.</game-desc>
119
+ <game-tags>
120
+ <tag>RPG</tag>
121
+ <tag>Adventure</tag>
122
+ </game-tags>
123
+ </game-details>
124
+ </game-card>
125
+ </game-grid>
126
+ </featured-games>
127
+
128
+ <!-- FAQ Section -->
129
+ <faq-section>
130
+ <faq-header>
131
+ <sub-title>Support Center</sub-title>
132
+ <main-title>Frequently Asked Questions</main-title>
133
+ </faq-header>
134
+
135
+ <accordion-list data-accordion>
136
+ <div class="accordion-item accordion active">
137
+ <div class="accordion-header">
138
+ <span>What are the minimum system requirements?</span>
139
+ <i class="q-icon-chevron-down accordion-icon"></i>
140
+ </div>
141
+ <div class="accordion-content">
142
+ <p>For the best experience, we recommend an NVIDIA RTX 3060 or equivalent, 16GB RAM, and an i7 processor.</p>
143
+ </div>
144
+ </div>
145
+ <div class="accordion-item accordion">
146
+ <div class="accordion-header">
147
+ <span>How do I claim my pre-order bonuses?</span>
148
+ <i class="q-icon-chevron-down accordion-icon"></i>
149
+ </div>
150
+ <div class="accordion-content">
151
+ <p>Pre-order bonuses are automatically linked to your GameVault account.</p>
152
+ </div>
153
+ </div>
154
+ <div class="accordion-item accordion">
155
+ <div class="accordion-header">
156
+ <span>Is cross-platform play supported?</span>
157
+ <i class="q-icon-chevron-down accordion-icon"></i>
158
+ </div>
159
+ <div class="accordion-content">
160
+ <p>Yes! Most of our multiplayer titles support cross-play between PC, PlayStation, and Xbox.</p>
161
+ </div>
162
+ </div>
163
+ </accordion-list>
164
+ </faq-section>
165
+
166
+ <!-- CTA Section -->
167
+ <cta-section>
168
+ <cta-card>
169
+ <cta-title>Join the <brand-text>Elite</brand-text></cta-title>
170
+ <cta-description>Get exclusive access to beta tests, early drops, and a community of over 10 million gamers.</cta-description>
171
+ <cta-form>
172
+ <input type="email" placeholder="Enter your email..." />
173
+ <button>Sign Up Free</button>
174
+ </cta-form>
175
+ </cta-card>
176
+ </cta-section>
177
+ </main>
178
+
179
+ <!-- Footer -->
180
+ <footer>
181
+ <footer-container>
182
+ <footer-grid>
183
+ <footer-column class="brand">
184
+ <footer-logo>GAMEVAULT</footer-logo>
185
+ <p>The ultimate destination for gamers worldwide. Play, connect, and grow.</p>
186
+ </footer-column>
187
+ <footer-column>
188
+ <h5>Platform</h5>
189
+ <nav>
190
+ <a href="#">Download</a>
191
+ <a href="#">Web Player</a>
192
+ <a href="#">Mobile App</a>
193
+ </nav>
194
+ </footer-column>
195
+ <footer-column>
196
+ <h5>Company</h5>
197
+ <nav>
198
+ <a href="#">About Us</a>
199
+ <a href="#">Careers</a>
200
+ <a href="#">Contact</a>
201
+ </nav>
202
+ </footer-column>
203
+ <footer-column>
204
+ <h5>Support</h5>
205
+ <nav>
206
+ <a href="#">Help Center</a>
207
+ <a href="#">Safety</a>
208
+ <a href="#">Privacy</a>
209
+ </nav>
210
+ </footer-column>
211
+ </footer-grid>
212
+
213
+ <footer-bottom>
214
+ <copyright>&copy; 2026 GameVault Interactive. All rights reserved.</copyright>
215
+ <social-links>
216
+ <a href="#">Twitter</a>
217
+ <a href="#">Discord</a>
218
+ <a href="#">Twitch</a>
219
+ </social-links>
220
+ </footer-bottom>
221
+ </footer-container>
222
+ </footer>
223
+
224
+ <script src="../src/starlight.js"></script>
225
+ <script>
226
+ function toggleMobileMenu() {
227
+ document.getElementById('mobile-menu').classList.toggle('active');
228
+ document.querySelector('.hamburger').classList.toggle('active');
229
+ }
230
+ function toggleTheme() {
231
+ const html = document.documentElement;
232
+ const currentTheme = html.getAttribute('data-theme');
233
+ const newTheme = currentTheme === 'light' ? 'dark' : 'light';
234
+ html.setAttribute('data-theme', newTheme);
235
+ localStorage.setItem('theme', newTheme);
236
+ }
237
+ </script>
238
+ </body>
239
+ </html>