Skip to content

Commit 1b205d2

Browse files
committed
Stabilize mobile UI and update downloads
1 parent b200e84 commit 1b205d2

6 files changed

Lines changed: 170 additions & 95 deletions

File tree

css/crt.css

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -260,44 +260,36 @@
260260
@media (max-width: 767px) {
261261
.crt-monitor {
262262
width: 100vw;
263-
height: var(--app-height, 100dvh);
263+
height: var(--app-height, 100svh);
264264
max-height: none;
265-
border-radius: 16px;
266-
box-shadow:
267-
inset 0 0 16px rgba(0, 0, 0, 0.55),
268-
0 0 0 2px #0d0d1a,
269-
0 0 0 4px #2a2a42,
270-
0 0 0 6px #1a1a2e,
271-
0 0 24px rgba(0, 0, 0, 0.75);
265+
border-radius: 0;
266+
box-shadow: none;
267+
background: #0a0e1a;
272268
}
273269

274270
.crt-monitor::before {
275-
inset: -1px;
276-
border-radius: 18px;
271+
display: none;
277272
}
278273

279274
.crt-screen {
280-
inset: 4px;
281-
border-radius: 12px;
275+
inset: 0;
276+
border-radius: 0;
282277
transform: none;
283278
filter: none;
284-
box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.45);
279+
box-shadow: none;
285280
}
286281

287282
.crt-screen::before,
288283
.crt-screen::after,
289284
.crt-chromatic,
290285
.crt-phosphor,
291-
.crt-noise {
292-
display: none;
293-
}
294-
286+
.crt-noise,
295287
.crt-scanlines {
296-
opacity: 0.32;
288+
display: none;
297289
}
298290

299291
.crt-vignette {
300-
background: radial-gradient(ellipse 78% 72% at 50% 50%, transparent 56%, rgba(0, 0, 0, 0.32) 100%);
292+
background: none;
301293
}
302294
}
303295

@@ -366,7 +358,7 @@
366358
}
367359

368360
.crt-boot-scanline.expanding {
369-
height: 100vh;
361+
height: 100%;
370362
transform: scaleY(1);
371363
top: 0;
372364
opacity: 0;

css/responsive.css

Lines changed: 105 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -127,28 +127,48 @@
127127
Still circular — NOT a vertical list!
128128
============================================================ */
129129
@media (max-width: 767px) {
130+
body {
131+
display: block;
132+
}
133+
134+
.website-container {
135+
width: 100%;
136+
height: 100%;
137+
}
138+
130139
.crt-monitor {
131140
width: 100vw;
132-
height: var(--app-height, 100dvh);
141+
height: var(--app-height, 100svh);
133142
max-width: none;
134143
max-height: none;
135-
border-radius: 16px;
144+
border-radius: 0;
136145
}
137146

138147
.crt-screen {
139-
inset: 4px;
140-
border-radius: 12px;
148+
inset: 0;
149+
border-radius: 0;
141150
}
142151

143152
/* ---- MENU SCREEN PADDING ---- */
144153
.menu-screen {
145-
padding: 10px 8px calc(env(safe-area-inset-bottom, 0px) + 14px);
154+
padding: max(10px, calc(env(safe-area-inset-top, 0px) + 8px)) 10px calc(env(safe-area-inset-bottom, 0px) + 14px);
146155
justify-content: flex-start;
147156
overflow-y: auto;
148157
overflow-x: hidden;
149158
-webkit-overflow-scrolling: touch;
150159
}
151160

161+
.menu-screen.active::before,
162+
.menu-screen.active::after,
163+
.arcade-hud::after,
164+
.arcade-details-panel::before,
165+
.arcade-details-panel::after,
166+
.details-header-border::after,
167+
.grid-node::before,
168+
.grid-node.selected::before {
169+
display: none;
170+
}
171+
152172
/* ---- COMPACT HUD ---- */
153173
.arcade-hud {
154174
width: 100%;
@@ -204,46 +224,52 @@
204224

205225
/* ---- GRID ---- */
206226
.arcade-grid {
207-
--grid-col-gap: 6px;
208-
--grid-row-gap: 6px;
227+
--grid-col-gap: 10px;
228+
--grid-row-gap: 10px;
209229
gap: var(--grid-row-gap) var(--grid-col-gap);
210230
flex: 0 0 auto;
211231
width: 100%;
212-
justify-content: center;
232+
justify-content: space-between;
213233
align-content: flex-start;
214234
}
215235

216236
.grid-node {
217-
flex: 0 0 calc((100% - (var(--grid-col-gap) * 4)) / 5);
218-
max-width: calc((100% - (var(--grid-col-gap) * 4)) / 5);
219-
padding: 6px 4px;
220-
border-width: 1px;
221-
border-radius: 4px;
237+
flex: 0 0 calc((100% - var(--grid-col-gap)) / 2);
238+
max-width: calc((100% - var(--grid-col-gap)) / 2);
239+
min-height: 84px;
240+
aspect-ratio: auto;
241+
padding: 10px 8px;
242+
border-width: 1.5px;
243+
border-radius: 6px;
244+
animation: none;
245+
backdrop-filter: none;
246+
transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
222247
}
223248

224249
.grid-node.selected {
225-
transform: translateY(-2px) scale(1.02);
250+
transform: none;
251+
animation: none;
226252
}
227253

228254
.grid-node-icon {
229-
width: 24px;
230-
height: 24px;
231-
margin-bottom: 4px;
255+
width: 30px;
256+
height: 30px;
257+
margin-bottom: 6px;
232258
}
233259

234260
.grid-node-label {
235-
font-size: 6px;
236-
line-height: 1.35;
237-
letter-spacing: 0.2px;
261+
font-size: 7px;
262+
line-height: 1.4;
263+
letter-spacing: 0.3px;
238264
}
239265

240266
.grid-node[data-id="battleships"] .grid-node-icon {
241-
width: 26px;
242-
height: 26px;
267+
width: 30px;
268+
height: 30px;
243269
}
244270

245271
.grid-node[data-id="battleships"] .grid-node-label {
246-
font-size: 5px;
272+
font-size: 6.4px;
247273
}
248274

249275
/* ---- DETAILS PANEL ---- */
@@ -254,6 +280,8 @@
254280
padding: 10px;
255281
border-width: 2px;
256282
overflow: visible;
283+
backdrop-filter: none;
284+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
257285
}
258286

259287
.details-header-border {
@@ -263,27 +291,30 @@
263291

264292
.details-header {
265293
font-size: 8px;
294+
animation: none;
266295
}
267296

268297
.details-showcase {
269-
gap: 7px;
270-
margin-bottom: 8px;
298+
gap: 10px;
299+
margin-bottom: 10px;
300+
animation: none;
271301
}
272302

273303
.details-icon-wrapper {
274-
width: 32px;
275-
height: 32px;
304+
width: 40px;
305+
height: 40px;
276306
}
277307

278308
.details-icon-wrapper svg,
279309
.details-icon-wrapper .grid-node-img {
280-
width: 22px;
281-
height: 22px;
310+
width: 26px;
311+
height: 26px;
282312
}
283313

284314
.details-title {
285-
font-size: 11px;
286-
line-height: 1.25;
315+
font-size: 12px;
316+
line-height: 1.35;
317+
text-shadow: none;
287318
}
288319

289320
.details-stats-block {
@@ -293,23 +324,24 @@
293324
}
294325

295326
.stat-row {
296-
font-size: 7px;
327+
font-size: 7.5px;
328+
animation: none;
297329
}
298330

299331
.details-info-box {
300-
font-size: 8px;
301-
line-height: 1.7;
332+
font-size: 8.5px;
333+
line-height: 1.75;
302334
max-height: none;
303-
min-height: 120px;
335+
min-height: 140px;
304336
flex: 1;
305337
overflow-y: auto;
306-
margin-bottom: 8px;
338+
margin-bottom: 10px;
307339
padding-right: 6px;
308340
}
309341

310342
.details-action-btn {
311-
padding: 8px 10px;
312-
font-size: 7px;
343+
padding: 10px 12px;
344+
font-size: 7.5px;
313345
line-height: 1.5;
314346
}
315347

@@ -321,6 +353,7 @@
321353
width: 100%;
322354
line-height: 1.5;
323355
margin-top: auto;
356+
animation: none;
324357
}
325358

326359
/* ---- SFX BUTTON ---- */
@@ -336,33 +369,49 @@
336369
.sfx-toggle:hover {
337370
opacity: 1;
338371
}
372+
373+
.hud-label,
374+
.hud-value,
375+
.details-icon-wrapper::after,
376+
.stat-bar span,
377+
.grid-node.selected .grid-node-label,
378+
.grid-node.selected .grid-node-icon,
379+
.grid-node.selected .grid-node-icon svg,
380+
.grid-node.selected .grid-node-icon .grid-node-img {
381+
animation: none;
382+
}
383+
384+
.grid-node.selected .grid-node-label,
385+
.grid-node.selected .grid-node-icon {
386+
transform: none;
387+
}
339388
}
340389

341390
/* ============================================================
342391
VERY SMALL SCREENS (≤400px)
343392
============================================================ */
344393
@media (max-width: 400px) {
345394
.grid-node-icon {
346-
width: 22px;
347-
height: 22px;
395+
width: 28px;
396+
height: 28px;
348397
}
349398

350399
.grid-node-label {
351-
font-size: 5.6px;
352-
line-height: 1.3;
400+
font-size: 6.4px;
401+
line-height: 1.35;
353402
}
354403

355404
.grid-node[data-id="battleships"] .grid-node-icon {
356-
width: 24px;
357-
height: 24px;
405+
width: 28px;
406+
height: 28px;
358407
}
359408

360409
.grid-node[data-id="battleships"] .grid-node-label {
361-
font-size: 4.5px;
410+
font-size: 6px;
362411
}
363412

364413
.details-info-box {
365-
font-size: 7.5px;
414+
font-size: 8px;
366415
max-height: none;
367416
}
368417

@@ -387,23 +436,27 @@
387436
}
388437

389438
.arcade-grid {
390-
--grid-col-gap: 3px;
391-
--grid-row-gap: 3px;
439+
--grid-col-gap: 6px;
440+
--grid-row-gap: 6px;
392441
gap: var(--grid-row-gap) var(--grid-col-gap);
442+
justify-content: space-between;
393443
}
394444

395445
.grid-node {
396-
padding: 3px;
446+
flex: 0 0 calc((100% - (var(--grid-col-gap) * 2)) / 3);
447+
max-width: calc((100% - (var(--grid-col-gap) * 2)) / 3);
448+
min-height: 64px;
449+
padding: 6px 4px;
397450
}
398451

399452
.grid-node-icon {
400-
width: 18px;
401-
height: 18px;
453+
width: 20px;
454+
height: 20px;
402455
margin-bottom: 2px;
403456
}
404457

405458
.grid-node-label {
406-
font-size: 5.5px;
459+
font-size: 5.8px;
407460
}
408461

409462
.details-stats-block {

css/start.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@
219219
max-width: 100%;
220220
filter: drop-shadow(0 0 18px rgba(255, 215, 0, 0.35))
221221
drop-shadow(0 0 42px rgba(255, 140, 0, 0.18));
222+
animation: none;
222223
}
223224

224225
.start-tagline {
@@ -241,12 +242,19 @@
241242
padding: 12px 16px;
242243
font-size: clamp(11px, 3.5vw, 15px);
243244
letter-spacing: 2px;
245+
animation: none;
244246
}
245247

246248
.floating-mascot {
247249
right: 4%;
248250
bottom: 24%;
249251
width: clamp(52px, 16vw, 88px);
252+
animation: none;
253+
}
254+
255+
.start-particle,
256+
.start-water::before {
257+
animation: none;
250258
}
251259
}
252260

0 commit comments

Comments
 (0)