-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
394 lines (361 loc) · 39.3 KB
/
index.html
File metadata and controls
394 lines (361 loc) · 39.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ScreenForge — Force Any PC Game Into Borderless Windowed Mode</title>
<meta name="description" content="ScreenForge automatically forces PC games into borderless windowed mode. Fix alt-tab crashes, Discord overlay broken, and fullscreen issues for Metro Exodus, Resident Evil, LEGO Star Wars, Elden Ring. One click. $4.99.">
<meta name="keywords" content="borderless windowed fix, metro exodus no borderless, force windowed mode pc games, alt tab fix games, discord overlay fullscreen fix, resident evil borderless windowed, lego star wars windowed mode, elden ring borderless pc">
<link rel="canonical" href="https://alphakiir.github.io/screenforge/">
<meta property="og:title" content="ScreenForge — Force Any PC Game Into Borderless Windowed Mode">
<meta property="og:description" content="Fix alt-tab crashes, broken Discord overlay, and exclusive fullscreen. One click. Works for Metro Exodus, RE2/3/4, LEGO, Elden Ring and more.">
<meta property="og:url" content="https://alphakiir.github.io/screenforge/">
<meta property="og:type" content="website">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"ScreenForge","applicationCategory":"GameApplication","operatingSystem":"Windows 10, Windows 11","description":"ScreenForge automatically forces PC games into borderless windowed mode. Fixes alt-tab crashes, Discord overlay issues for Metro Exodus, Resident Evil 2 3 4 Remake, LEGO Star Wars, Elden Ring, Final Fantasy XIV, Honkai Star Rail.","offers":{"@type":"Offer","price":"4.99","priceCurrency":"USD"},"url":"https://alphakiir.gumroad.com/l/screenforge"}</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root {
--bg: #05050a;
--surface: #13131f;
--surface-hover: #1a1a2a;
--border: rgba(255,255,255,0.06);
--border-strong: rgba(255,255,255,0.12);
--text: #ededf0;
--text-dim: #a0a0b0;
--text-faint: #606070;
--accent: #7c3aed;
--accent-2: #22d3ee;
--accent-3: #10b981;
--danger: #ef4444;
--warn: #f59e0b;
--gradient: linear-gradient(135deg, #7c3aed 0%, #22d3ee 50%, #10b981 100%);
--gradient-accent: linear-gradient(135deg, #7c3aed 0%, #22d3ee 100%);
--gradient-success: linear-gradient(135deg, #10b981 0%, #22d3ee 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter','Segoe UI',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.5}
/* BG EFFECTS */
.bg-grid{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(rgba(124,58,237,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center top,black 0%,transparent 70%);pointer-events:none}
.bg-glow{position:fixed;z-index:-1;pointer-events:none;width:500px;height:500px;border-radius:50%;filter:blur(100px);opacity:.3}
.bg-glow.one{top:-150px;left:-100px;background:#7c3aed}
.bg-glow.two{bottom:-150px;right:-150px;background:#22d3ee}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,5,10,.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-logo{font-size:20px;font-weight:900;letter-spacing:-.8px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:shimmer 8s ease-in-out infinite;text-decoration:none}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{color:var(--text-dim);text-decoration:none;font-size:13px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--text)}
.btn-nav{background:linear-gradient(135deg,#7c3aed,#22d3ee);color:#fff;padding:8px 20px;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;transition:opacity .2s;letter-spacing:.3px}
.btn-nav:hover{opacity:.85}
@media(max-width:600px){.nav-hide{display:none}}
/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 60px;animation:fadeUp .6s ease}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.3);padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500;color:var(--accent-2);margin-bottom:24px}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--accent-3);border-radius:50%;box-shadow:0 0 8px var(--accent-3);animation:pulse 2s ease-in-out infinite}
.hero h1{font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;letter-spacing:-2.5px;line-height:1.05;margin-bottom:20px}
.grad-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:shimmer 8s ease-in-out infinite}
.hero-sub{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--text-dim);max-width:580px;line-height:1.65;margin-bottom:36px}
.hero-sub strong{color:var(--text)}
.btn-group{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:48px}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#7c3aed,#22d3ee);color:#fff;padding:15px 30px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;transition:all .2s;letter-spacing:.3px}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(124,58,237,.35)}
.btn-primary .price{background:rgba(0,0,0,.25);padding:3px 10px;border-radius:100px;font-size:13px}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);padding:15px 26px;border-radius:10px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}
.btn-secondary:hover{background:var(--surface-hover);border-color:rgba(255,255,255,.2)}
.hero-trust{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;color:var(--text-faint);font-size:12px}
.hero-trust span{display:inline-flex;align-items:center;gap:6px}
.check{width:14px;height:14px;color:var(--accent-3)}
/* SECTIONS COMMUNES */
.section{padding:80px 24px;max-width:1120px;margin:0 auto}
.section-center{text-align:center}
.section-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-2);background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.2);padding:4px 12px;border-radius:100px;margin-bottom:14px;font-family:'JetBrains Mono',monospace}
.section-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-1.2px;line-height:1.15;margin-bottom:14px}
.section-sub{color:var(--text-dim);max-width:540px;margin:0 auto;line-height:1.65}
.divider{border:none;border-top:1px solid var(--border);max-width:1120px;margin:0 auto}
/* PROBLEM */
.prob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:48px}
.prob-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px 20px;transition:all .25s}
.prob-card:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}
.prob-icon{width:38px;height:38px;border-radius:8px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:14px}
.prob-card h4{font-size:.95rem;font-weight:700;margin-bottom:6px}
.prob-card p{font-size:.85rem;color:var(--text-dim);line-height:1.6}
/* HOW IT WORKS */
.how-bg{background:linear-gradient(180deg,var(--bg) 0%,var(--surface) 50%,var(--bg) 100%)}
.steps{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:center;gap:0;margin-top:48px}
.step{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 20px;text-align:center;transition:all .25s}
.step:hover{border-color:rgba(124,58,237,.4);transform:translateY(-3px)}
.step-num{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--accent-2);margin-bottom:12px}
.step-emoji{font-size:28px;margin-bottom:12px}
.step h4{font-size:.92rem;font-weight:700;margin-bottom:6px}
.step p{font-size:.82rem;color:var(--text-dim);line-height:1.55}
.step-arrow{text-align:center;color:var(--text-faint);font-size:22px}
@media(max-width:700px){.steps{grid-template-columns:1fr;gap:10px}.step-arrow{display:none}}
/* GAMES */
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:40px}
.game-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 16px;transition:all .2s}
.game-card:hover{border-color:rgba(124,58,237,.35);background:var(--surface-hover);transform:translateY(-2px)}
.game-engine{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);margin-bottom:7px}
.game-card h4{font-size:.9rem;font-weight:700;margin-bottom:5px;line-height:1.3}
.game-method{font-size:.78rem;color:var(--text-dim)}
.method-tag{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--accent-3);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);padding:1px 7px;border-radius:100px;margin-right:5px}
.method-dx9{color:var(--accent-2);background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.2)}
/* FEATURES */
.feat-bg{background:var(--surface)}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1px;margin-top:48px;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.feat-item{background:var(--bg);padding:30px 26px;transition:background .2s}
.feat-item:hover{background:var(--surface-hover)}
.feat-num{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--text-faint);margin-bottom:14px}
.feat-icon-wrap{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(34,211,238,.15));border:1px solid rgba(124,58,237,.25);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:14px}
.feat-item h3{font-size:1rem;font-weight:700;margin-bottom:8px}
.feat-item p{font-size:.87rem;color:var(--text-dim);line-height:1.6}
/* OVERLAY DEMO */
.overlay-demo{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px;max-width:360px;margin:48px auto 0;font-family:'Inter',sans-serif}
.overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.overlay-title{font-weight:800;font-size:15px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.overlay-close{color:var(--text-faint);cursor:pointer;font-size:16px}
.overlay-btn{display:block;width:100%;padding:10px 16px;border-radius:8px;font-weight:700;font-size:13px;margin-bottom:8px;text-align:center;border:none;cursor:pointer;font-family:'Inter',sans-serif}
.btn-green{background:linear-gradient(135deg,#10b981,#22d3ee);color:#fff}
.btn-purple{background:linear-gradient(135deg,#7c3aed,#22d3ee);color:#fff}
.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim)}
.overlay-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}
.overlay-stat span:last-child{color:var(--accent-3);font-family:'JetBrains Mono',monospace;font-weight:600}
.overlay-hint{text-align:center;font-size:11px;color:var(--text-faint);margin-top:12px;font-family:'JetBrains Mono',monospace;letter-spacing:1px}
/* FAQ */
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:6px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s}
.faq-item:hover{border-color:var(--border-strong)}
.faq-q{width:100%;background:none;border:none;color:var(--text);font-family:'Inter',sans-serif;font-size:.93rem;font-weight:600;padding:18px 22px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .arr{color:var(--text-faint);font-size:18px;transition:transform .2s;flex-shrink:0}
.faq-q.open{color:var(--accent-2)}
.faq-q.open .arr{transform:rotate(45deg);color:var(--accent-2)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a.open{max-height:300px}
.faq-a-inner{padding:0 22px 18px;color:var(--text-dim);font-size:.86rem;line-height:1.7}
.faq-a-inner code{font-family:'JetBrains Mono',monospace;background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.2);padding:1px 7px;border-radius:4px;font-size:11px;color:var(--accent-2)}
/* CTA */
.cta-box{background:var(--surface);border:1px solid rgba(124,58,237,.25);border-radius:20px;padding:56px 32px;text-align:center;max-width:700px;margin:0 auto;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(124,58,237,.08) 0%,transparent 70%);pointer-events:none}
.cta-box h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;letter-spacing:-1.2px;margin-bottom:12px}
.cta-box p{color:var(--text-dim);margin-bottom:32px;line-height:1.65}
.cta-note{margin-top:18px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-faint);letter-spacing:1.5px}
/* FOOTER */
footer{border-top:1px solid var(--border);padding:40px 24px;text-align:center}
.footer-logo{font-size:18px;font-weight:900;letter-spacing:-.8px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:shimmer 8s ease-in-out infinite}
.footer-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:18px 0}
.footer-links a{color:var(--text-faint);text-decoration:none;font-size:13px;transition:color .2s}
.footer-links a:hover{color:var(--text-dim)}
.footer-note{font-size:11px;color:var(--text-faint)}
/* LANG */
.lang-sw{position:fixed;top:14px;right:24px;z-index:200;display:flex;gap:2px}
.lang-sw button{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);padding:5px 11px;font-family:'JetBrains Mono',monospace;font-size:10px;cursor:pointer;transition:all .2s;letter-spacing:1px}
.lang-sw button:first-child{border-radius:6px 0 0 6px;border-right:none}
.lang-sw button:last-child{border-radius:0 6px 6px 0}
.lang-sw button.active{background:linear-gradient(135deg,#7c3aed,#22d3ee);color:#fff;border-color:transparent}
</style>
</head>
<body>
<div class="bg-grid"></div>
<div class="bg-glow one"></div>
<div class="bg-glow two"></div>
<div class="lang-sw">
<button class="active" onclick="setLang('en')">EN</button>
<button onclick="setLang('fr')">FR</button>
</div>
<nav>
<a href="#" class="nav-logo">ScreenForge</a>
<div class="nav-links">
<a href="#how" class="nav-hide" data-en="How it works" data-fr="Comment ça marche">How it works</a>
<a href="#games" class="nav-hide" data-en="Games" data-fr="Jeux">Games</a>
<a href="#faq" class="nav-hide">FAQ</a>
<a href="https://alphakiir.gumroad.com/l/screenforge" target="_blank" class="btn-nav" data-en="Buy — $4.99" data-fr="Acheter — $4.99">Buy — $4.99</a>
</div>
</nav>
<!-- HERO -->
<section style="min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 60px;animation:fadeUp .6s ease">
<div class="hero-badge" data-en="v3.3 — Windows 10/11 — Lifetime license" data-fr="v3.3 — Windows 10/11 — Licence à vie">v3.3 — Windows 10/11 — Lifetime license</div>
<h1 style="font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;letter-spacing:-2.5px;line-height:1.05;margin-bottom:20px">
<span data-en="Stop fighting" data-fr="Fini de lutter">Stop fighting</span><br>
<span class="grad-text" data-en="fullscreen mode." data-fr="avec le plein écran.">fullscreen mode.</span>
</h1>
<p style="font-size:clamp(1rem,1.6vw,1.15rem);color:var(--text-dim);max-width:580px;line-height:1.65;margin-bottom:36px" data-en="ScreenForge automatically forces PC games into <strong style='color:var(--text)'>borderless windowed mode</strong> — no config editing, no command line. Fix alt-tab crashes, Discord overlay, and exclusive fullscreen in one click." data-fr="ScreenForge force automatiquement vos jeux PC en <strong style='color:var(--text)'>mode fenêtré sans bordures</strong> — sans éditer de fichiers, sans ligne de commande. Fini les crashs alt-tab, l'overlay Discord cassé et le plein écran exclusif en un clic.">
ScreenForge automatically forces PC games into <strong style="color:var(--text)">borderless windowed mode</strong> — no config editing, no command line. Fix alt-tab crashes, Discord overlay, and exclusive fullscreen in one click.
</p>
<div class="btn-group">
<a href="https://alphakiir.gumroad.com/l/screenforge" target="_blank" class="btn-primary">
<span data-en="Get ScreenForge" data-fr="Obtenir ScreenForge">Get ScreenForge</span>
<span class="price">$4.99</span>
</a>
<a href="#games" class="btn-secondary" data-en="↓ Supported games" data-fr="↓ Jeux supportés">↓ Supported games</a>
</div>
<div class="hero-trust">
<span><svg class="check" viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg><span data-en="Lifetime license" data-fr="Licence à vie">Lifetime license</span></span>
<span><svg class="check" viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>Windows 10 / 11</span>
<span><svg class="check" viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg><span data-en="Instant download" data-fr="Téléchargement immédiat">Instant download</span></span>
</div>
</section>
<hr class="divider">
<!-- PROBLEM -->
<div class="section">
<div class="section-center">
<span class="section-tag" data-en="THE PROBLEM" data-fr="LE PROBLÈME">THE PROBLEM</span>
<h2 class="section-title" data-en="Exclusive fullscreen<br>breaks everything." data-fr="Le plein écran exclusif<br>gâche tout.">Exclusive fullscreen<br>breaks everything.</h2>
<p class="section-sub" data-en="Most games default to exclusive fullscreen. It gives the GPU full control — and breaks everything else." data-fr="La plupart des jeux utilisent le plein écran exclusif par défaut. Ça donne le contrôle total au GPU et casse tout le reste.">Most games default to exclusive fullscreen. It gives the GPU full control — and breaks everything else.</p>
</div>
<div class="prob-grid">
<div class="prob-card"><div class="prob-icon">💥</div><h4 data-en="Alt-tab freezes or crashes" data-fr="Alt-tab qui gèle ou crashe">Alt-tab freezes or crashes</h4><p data-en="Switching windows forces a full GPU reset. Result: freeze, black screen, or crash." data-fr="Changer de fenêtre force un reset GPU complet. Résultat : freeze, écran noir ou crash.">Switching windows forces a full GPU reset. Result: freeze, black screen, or crash.</p></div>
<div class="prob-card"><div class="prob-icon">🚫</div><h4 data-en="Discord overlay doesn't work" data-fr="L'overlay Discord ne fonctionne pas">Discord overlay doesn't work</h4><p data-en="Exclusive fullscreen blocks all overlays. Discord, OBS, FPS counters — all invisible." data-fr="Le plein écran exclusif bloque tous les overlays. Discord, OBS, compteurs FPS — tous invisibles.">Exclusive fullscreen blocks all overlays. Discord, OBS, FPS counters — all invisible.</p></div>
<div class="prob-card"><div class="prob-icon">🖱️</div><h4 data-en="Mouse stuck in game" data-fr="Souris bloquée dans le jeu">Mouse stuck in game</h4><p data-en="Can't reach your second monitor without minimizing the game." data-fr="Impossible d'atteindre le second moniteur sans minimiser le jeu.">Can't reach your second monitor without minimizing the game.</p></div>
<div class="prob-card"><div class="prob-icon">⚙️</div><h4 data-en="Painful manual config editing" data-fr="Édition manuelle fastidieuse">Painful manual config editing</h4><p data-en="Metro Exodus, LEGO games and others require editing hidden config files. Tedious and error-prone." data-fr="Metro Exodus, les jeux LEGO et d'autres nécessitent d'éditer des fichiers de config cachés. Fastidieux et risqué.">Metro Exodus, LEGO games and others require editing hidden config files. Tedious and error-prone.</p></div>
</div>
</div>
<hr class="divider">
<!-- HOW -->
<div class="how-bg" id="how">
<div class="section">
<div class="section-center">
<span class="section-tag" data-en="HOW IT WORKS" data-fr="COMMENT ÇA MARCHE">HOW IT WORKS</span>
<h2 class="section-title" data-en="Three steps. Zero hassle." data-fr="Trois étapes. Zéro galère.">Three steps. Zero hassle.</h2>
</div>
<div class="steps">
<div class="step"><div class="step-num" data-en="STEP 01" data-fr="ÉTAPE 01">STEP 01</div><div class="step-emoji">🎮</div><h4 data-en="Select your game" data-fr="Sélectionne ton jeu">Select your game</h4><p data-en="ScreenForge auto-detects your installed games from a catalogue of 13 titles." data-fr="ScreenForge détecte automatiquement tes jeux installés parmi 13 titres supportés.">ScreenForge auto-detects your installed games from a catalogue of 13 titles.</p></div>
<div class="step-arrow">→</div>
<div class="step"><div class="step-num" data-en="STEP 02" data-fr="ÉTAPE 02">STEP 02</div><div class="step-emoji">⚡</div><h4 data-en="Click Launch" data-fr="Clique sur Lancer">Click Launch</h4><p data-en="ScreenForge edits the config automatically and launches the game in borderless windowed mode." data-fr="ScreenForge édite la config automatiquement et lance le jeu en mode fenêtré sans bordures.">ScreenForge edits the config automatically and launches the game in borderless windowed mode.</p></div>
<div class="step-arrow">→</div>
<div class="step"><div class="step-num" data-en="STEP 03" data-fr="ÉTAPE 03">STEP 03</div><div class="step-emoji">✅</div><h4 data-en="Play without issues" data-fr="Joue sans problème">Play without issues</h4><p data-en="Alt-tab works. Discord overlay works. Shift+F1 opens the in-game stats overlay." data-fr="Alt-tab fonctionne. Overlay Discord actif. Shift+F1 pour les stats en jeu.">Alt-tab works. Discord overlay works. Shift+F1 opens the in-game stats overlay.</p></div>
</div>
</div>
</div>
<hr class="divider">
<!-- GAMES -->
<div class="section" id="games">
<div class="section-center">
<span class="section-tag" data-en="CATALOGUE" data-fr="CATALOGUE">CATALOGUE</span>
<h2 class="section-title" data-en="13 games supported,<br>out of the box." data-fr="13 jeux supportés,<br>sans configuration.">13 games supported,<br>out of the box.</h2>
<p class="section-sub" data-en="ScreenForge ships with pre-configured profiles for all these titles. Select, click Launch, done." data-fr="ScreenForge est livré avec des profils préconfigurés pour tous ces titres. Sélectionne, clique sur Lancer, c'est fait.">ScreenForge ships with pre-configured profiles for all these titles. Select, click Launch, done.</p>
</div>
<div class="games-grid">
<div class="game-card"><div class="game-engine">4A ENGINE</div><h4>Metro Exodus</h4><p class="game-method"><span class="method-tag">AUTO</span>edits user.cfg</p></div>
<div class="game-card"><div class="game-engine">4A ENGINE</div><h4>Metro Exodus Enhanced Edition</h4><p class="game-method"><span class="method-tag">AUTO</span>edits user.cfg</p></div>
<div class="game-card"><div class="game-engine">4A ENGINE</div><h4>Metro 2033 Redux</h4><p class="game-method"><span class="method-tag">AUTO</span>edits user.cfg</p></div>
<div class="game-card"><div class="game-engine">4A ENGINE</div><h4>Metro Last Light Redux</h4><p class="game-method"><span class="method-tag">AUTO</span>edits user.cfg</p></div>
<div class="game-card"><div class="game-engine">RE ENGINE</div><h4>Resident Evil 2 Remake</h4><p class="game-method"><span class="method-tag">AUTO</span>edits config</p></div>
<div class="game-card"><div class="game-engine">RE ENGINE</div><h4>Resident Evil 3 Remake</h4><p class="game-method"><span class="method-tag">AUTO</span>edits config</p></div>
<div class="game-card"><div class="game-engine">RE ENGINE</div><h4>Resident Evil 4 Remake</h4><p class="game-method"><span class="method-tag">AUTO</span>edits config</p></div>
<div class="game-card"><div class="game-engine">DIRECTX 9</div><h4>LEGO Star Wars: The Complete Saga</h4><p class="game-method"><span class="method-tag method-dx9">DX9</span>proxy method</p></div>
<div class="game-card"><div class="game-engine">DIRECTX 9</div><h4>LEGO The Lord of the Rings</h4><p class="game-method"><span class="method-tag method-dx9">DX9</span>proxy method</p></div>
<div class="game-card"><div class="game-engine">DIRECTX 9</div><h4>LEGO Indiana Jones</h4><p class="game-method"><span class="method-tag method-dx9">DX9</span>proxy method</p></div>
<div class="game-card"><div class="game-engine">DIRECTX 9</div><h4>LEGO Marvel Super Heroes</h4><p class="game-method"><span class="method-tag method-dx9">DX9</span>proxy method</p></div>
<div class="game-card"><div class="game-engine">VALVE</div><h4>CS2 — Counter-Strike 2</h4><p class="game-method"><span class="method-tag">AUTO</span>edits config</p></div>
<div class="game-card"><div class="game-engine">DIGITAL EXTREMES</div><h4>Warframe</h4><p class="game-method"><span class="method-tag">AUTO</span>edits config</p></div>
</div>
</div>
</div>
<hr class="divider">
<!-- FEATURES + OVERLAY DEMO -->
<div class="feat-bg">
<div class="section" id="features">
<div class="section-center">
<span class="section-tag" data-en="FEATURES" data-fr="FONCTIONNALITÉS">FEATURES</span>
<h2 class="section-title" data-en="Built for gamers." data-fr="Conçu pour les gamers.">Built for gamers.</h2>
</div>
<div class="feat-grid">
<div class="feat-item"><div class="feat-num">01</div><div class="feat-icon-wrap">⚙️</div><h3 data-en="Auto config editing" data-fr="Édition automatique">Auto config editing</h3><p data-en="Finds the game's config file and edits the right values automatically. No manual work, no risk of corruption." data-fr="Trouve le fichier de config du jeu et modifie les bonnes valeurs automatiquement. Aucun travail manuel.">Finds the game's config file and edits the right values automatically. No manual work, no risk of corruption.</p></div>
<div class="feat-item"><div class="feat-num">02</div><div class="feat-icon-wrap">📊</div><h3 data-en="Shift+F1 in-game overlay" data-fr="Overlay in-game Shift+F1">Shift+F1 in-game overlay</h3><p data-en="Press Shift+F1 while in-game to open the ScreenForge overlay with real-time FPS, resolution and quick actions." data-fr="Appuie sur Shift+F1 en jeu pour ouvrir l'overlay ScreenForge avec FPS en temps réel et actions rapides.">Press Shift+F1 while in-game to open the ScreenForge overlay with real-time FPS, resolution and quick actions.</p></div>
<div class="feat-item"><div class="feat-num">03</div><div class="feat-icon-wrap">🔒</div><h3 data-en="Revert protection" data-fr="Protection contre le retour">Revert protection</h3><p data-en="Some games reset their config on every launch. ScreenForge locks the file so the game can't revert to fullscreen." data-fr="Certains jeux réinitialisent leur config à chaque lancement. ScreenForge verrouille le fichier pour empêcher ça.">Some games reset their config on every launch. ScreenForge locks the file so the game can't revert to fullscreen.</p></div>
<div class="feat-item"><div class="feat-num">04</div><div class="feat-icon-wrap">🔧</div><h3 data-en="DX9 proxy for old games" data-fr="Proxy DX9 pour vieux jeux">DX9 proxy for old games</h3><p data-en="Old LEGO games can't be fixed through config files. ScreenForge uses a DX9 proxy that intercepts the fullscreen call at startup." data-fr="Les vieux jeux LEGO ne peuvent pas être réparés via la config. ScreenForge utilise un proxy DX9 qui intercepte l'appel fullscreen.">Old LEGO games can't be fixed through config files. ScreenForge uses a DX9 proxy that intercepts the fullscreen call at startup.</p></div>
<div class="feat-item"><div class="feat-num">05</div><div class="feat-icon-wrap">🖱️</div><h3 data-en="Multi-monitor cursor" data-fr="Curseur multi-moniteur">Multi-monitor cursor</h3><p data-en="In borderless windowed mode, the mouse moves freely between all monitors. No alt-tab needed." data-fr="En mode fenêtré sans bordures, la souris se déplace librement entre tous les moniteurs. Plus d'alt-tab.">In borderless windowed mode, the mouse moves freely between all monitors. No alt-tab needed.</p></div>
<div class="feat-item"><div class="feat-num">06</div><div class="feat-icon-wrap">🛡️</div><h3 data-en="Anti-cheat compatible" data-fr="Compatible anti-cheat">Anti-cheat compatible</h3><p data-en="ScreenForge only modifies config files and window styles. No code injection. Does not trigger EAC or BattlEye." data-fr="ScreenForge ne modifie que des fichiers de config et des styles de fenêtre. Pas d'injection. Ne déclenche pas EAC ou BattlEye.">ScreenForge only modifies config files and window styles. No code injection. Does not trigger EAC or BattlEye.</p></div>
</div>
<!-- OVERLAY DEMO -->
<div class="overlay-demo">
<div class="overlay-header">
<span class="overlay-title">ScreenForge Overlay</span>
<span class="overlay-close">✕</span>
</div>
<button class="overlay-btn btn-green" data-en="✓ Borderless ACTIVE" data-fr="✓ Borderless ACTIF">✓ Borderless ACTIVE</button>
<button class="overlay-btn btn-purple" data-en="Display Stats" data-fr="Afficher les stats">Display Stats</button>
<button class="overlay-btn btn-outline" data-en="Centre Window" data-fr="Centrer la fenêtre">Centre Window</button>
<div class="overlay-stat"><span>FPS</span><span>142</span></div>
<div class="overlay-stat"><span data-en="Resolution" data-fr="Résolution">Resolution</span><span>1920×1080</span></div>
<div class="overlay-stat"><span data-en="Mode" data-fr="Mode">Mode</span><span data-en="Borderless" data-fr="Borderless">Borderless</span></div>
<p class="overlay-hint" data-en="SHIFT+F1 TO OPEN / CLOSE" data-fr="SHIFT+F1 POUR OUVRIR / FERMER">SHIFT+F1 TO OPEN / CLOSE</p>
</div>
</div>
</div>
<hr class="divider">
<!-- FAQ -->
<div class="section" id="faq" itemscope itemtype="https://schema.org/FAQPage" style="max-width:820px">
<div class="section-center">
<span class="section-tag">FAQ</span>
<h2 class="section-title" data-en="Common questions." data-fr="Questions fréquentes.">Common questions.</h2>
</div>
<div class="faq-list">
<div class="faq-item" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<button class="faq-q" onclick="toggleFaq(this)"><span itemprop="name" data-en="Metro Exodus has no borderless option — how to fix?" data-fr="Metro Exodus n'a pas d'option borderless — comment corriger ?">Metro Exodus has no borderless option — how to fix?</span><span class="arr">+</span></button>
<div class="faq-a" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><div class="faq-a-inner" itemprop="text" data-en='Metro uses the 4A Engine which forces exclusive fullscreen. ScreenForge edits <code>user.cfg</code> automatically — changes <code>r_fullscreen on</code> to <code>off</code> — then removes the window borders. Works for all Metro games.' data-fr='Metro utilise le 4A Engine qui force le plein écran exclusif. ScreenForge édite <code>user.cfg</code> automatiquement — change <code>r_fullscreen on</code> en <code>off</code> — puis retire les bordures. Fonctionne pour tous les jeux Metro.'>Metro uses the 4A Engine which forces exclusive fullscreen. ScreenForge edits <code>user.cfg</code> automatically — changes <code>r_fullscreen on</code> to <code>off</code> — then removes the window borders. Works for all Metro games.</div></div>
</div>
<div class="faq-item" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<button class="faq-q" onclick="toggleFaq(this)"><span itemprop="name" data-en="LEGO Star Wars keeps reverting to fullscreen — how to force windowed mode?" data-fr="LEGO Star Wars repasse en plein écran — comment forcer le mode fenêtré ?">LEGO Star Wars keeps reverting to fullscreen — how to force windowed mode?</span><span class="arr">+</span></button>
<div class="faq-a" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><div class="faq-a-inner" itemprop="text" data-en="Old LEGO games use DirectX 9 and overwrite config changes on every launch. ScreenForge uses a DX9 proxy that intercepts the fullscreen call before the game can set it — permanent fix, no config editing needed." data-fr="Les vieux jeux LEGO utilisent DirectX 9 et écrasent les changements de config à chaque lancement. ScreenForge utilise un proxy DX9 qui intercepte l'appel fullscreen avant que le jeu puisse le définir — fix permanent, aucune édition de config requise.">Old LEGO games use DirectX 9 and overwrite config changes on every launch. ScreenForge uses a DX9 proxy that intercepts the fullscreen call before the game can set it — permanent fix, no config editing needed.</div></div>
</div>
<div class="faq-item" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<button class="faq-q" onclick="toggleFaq(this)"><span itemprop="name" data-en="Discord overlay doesn't show in fullscreen games — how to fix?" data-fr="L'overlay Discord ne s'affiche pas — comment corriger ?">Discord overlay doesn't show in fullscreen games — how to fix?</span><span class="arr">+</span></button>
<div class="faq-a" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><div class="faq-a-inner" itemprop="text" data-en="Exclusive fullscreen blocks Discord overlay completely. ScreenForge converts the game to borderless windowed — Discord overlay, OBS, and all streaming tools work instantly after." data-fr="Le plein écran exclusif bloque complètement l'overlay Discord. ScreenForge convertit le jeu en fenêtré sans bordures — Discord, OBS et tous les outils de streaming fonctionnent immédiatement après.">Exclusive fullscreen blocks Discord overlay completely. ScreenForge converts the game to borderless windowed — Discord overlay, OBS, and all streaming tools work instantly after.</div></div>
</div>
<div class="faq-item" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<button class="faq-q" onclick="toggleFaq(this)"><span itemprop="name" data-en="Does it work with anti-cheat (EAC, BattlEye)?" data-fr="Fonctionne avec les anti-cheats (EAC, BattlEye) ?">Does it work with anti-cheat (EAC, BattlEye)?</span><span class="arr">+</span></button>
<div class="faq-a" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><div class="faq-a-inner" itemprop="text" data-en="Yes. ScreenForge only modifies config files and applies a standard Windows borderless window style. It does not inject code into processes, does not modify game memory, and does not interact with anti-cheat systems." data-fr="Oui. ScreenForge ne modifie que des fichiers de config et applique un style de fenêtre Windows standard. Il n'injecte aucun code dans les processus et n'interagit pas avec les anti-cheats.">Yes. ScreenForge only modifies config files and applies a standard Windows borderless window style. It does not inject code into processes, does not modify game memory, and does not interact with anti-cheat systems.</div></div>
</div>
<div class="faq-item" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<button class="faq-q" onclick="toggleFaq(this)"><span itemprop="name" data-en="What Windows versions are supported?" data-fr="Quelles versions de Windows sont supportées ?">What Windows versions are supported?</span><span class="arr">+</span></button>
<div class="faq-a" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><div class="faq-a-inner" itemprop="text" data-en="Windows 10 and Windows 11, 64-bit. No installation required — just run the .exe." data-fr="Windows 10 et Windows 11, 64 bits. Aucune installation requise — il suffit de lancer le .exe.">Windows 10 and Windows 11, 64-bit. No installation required — just run the .exe.</div></div>
</div>
</div>
</div>
<hr class="divider">
<!-- CTA -->
<div class="section section-center">
<div class="cta-box">
<p style="font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--accent-2);margin-bottom:12px" data-en="GET SCREENFORGE" data-fr="OBTENIR SCREENFORGE">GET SCREENFORGE</p>
<h2 class="section-title" data-en="Fix your games.<br>Right now." data-fr="Répare tes jeux.<br>Maintenant.">Fix your games.<br>Right now.</h2>
<p style="color:var(--text-dim);max-width:420px;margin:0 auto 32px;line-height:1.65" data-en="One-time payment. No subscription. Works immediately after download." data-fr="Paiement unique. Pas d'abonnement. Fonctionne immédiatement après le téléchargement.">One-time payment. No subscription. Works immediately after download.</p>
<a href="https://alphakiir.gumroad.com/l/screenforge" target="_blank" class="btn-primary" style="display:inline-flex;font-size:16px;padding:16px 36px">
<span data-en="Buy ScreenForge" data-fr="Acheter ScreenForge">Buy ScreenForge</span>
<span class="price" style="font-size:14px">$4.99</span>
</a>
<p class="cta-note" data-en="WINDOWS 10/11 · LIFETIME LICENSE · INSTANT DOWNLOAD" data-fr="WINDOWS 10/11 · LICENCE À VIE · TÉLÉCHARGEMENT IMMÉDIAT">WINDOWS 10/11 · LIFETIME LICENSE · INSTANT DOWNLOAD</p>
</div>
</div>
<footer>
<span class="footer-logo">ScreenForge</span>
<div class="footer-links">
<a href="https://alphakiir.gumroad.com/l/screenforge" target="_blank" data-en="Download" data-fr="Télécharger">Download</a>
<a href="https://github.com/AlphaKiir/screenforge" target="_blank">GitHub</a>
<a href="#faq">FAQ</a>
<a href="#games" data-en="Games" data-fr="Jeux">Games</a>
</div>
<p class="footer-note" data-en="© 2025 AlphaKiir · ScreenForge is not affiliated with any game publisher." data-fr="© 2025 AlphaKiir · ScreenForge n'est affilié à aucun éditeur de jeu.">© 2025 AlphaKiir · ScreenForge is not affiliated with any game publisher.</p>
</footer>
<script>
function toggleFaq(btn){
const a=btn.nextElementSibling;
const isOpen=btn.classList.contains('open');
document.querySelectorAll('.faq-q.open').forEach(b=>{b.classList.remove('open');b.nextElementSibling.classList.remove('open')});
if(!isOpen){btn.classList.add('open');a.classList.add('open')}
}
function setLang(lang){
document.querySelectorAll('[data-'+lang+']').forEach(el=>{
if(el.tagName==='META')el.setAttribute('content',el.getAttribute('data-'+lang));
else el.innerHTML=el.getAttribute('data-'+lang);
});
document.querySelectorAll('.lang-sw button').forEach(b=>b.classList.toggle('active',b.textContent.toLowerCase()===lang));
document.documentElement.lang=lang;
}
</script>
</body>
</html>