Prepare game updates and single-process PM2 deployment

This commit is contained in:
2026-10-14 19:13:36 +09:00
parent 4f24129e29
commit 22792bc2b4
50 changed files with 1546 additions and 197 deletions
+41
View File
@@ -0,0 +1,41 @@
/* Keep the footer in layout during combat so it never covers action buttons. */
body.player-app .app > footer.app-footer {
display: flex;
flex: 0 0 auto;
width: 100vw;
align-self: center;
flex-direction: row;
align-items: center;
justify-content: flex-end;
gap: 4px;
padding: 8px max(24px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
background: transparent;
color: var(--muted);
}
body.player-app .app-footer nav { display: flex; align-items: center; gap: 4px; }
body.player-app .app-footer :is(.footer-divider, nav > span) { font-size: 12px; }
body.player-app .app-footer #connection { min-height: 16px; font-size: 10px; color: var(--muted); }
body.player-app .app-footer #connection::before { background: #9ca3af; }
body.player-app .app-footer #connection.connected { color: #15803d; }
body.player-app .app-footer #connection.connected::before { background: #15803d; }
body.player-app .app-footer #connection.disconnected { color: #dc2626; }
body.player-app .app-footer #connection.disconnected::before { background: #dc2626; }
body.player-app .app-footer button.quiet {
min-height: 44px;
padding: 8px;
border: 0;
background: transparent;
color: #454545;
box-shadow: none;
font-size: 12px;
transform: none;
}
body.player-app .app-footer button.quiet:hover { background: #fff0df; color: var(--ink); }
body.player-app .app-footer button.quiet:active { background: #ffe2bd; transform: none; }
body.player-app:is([data-screen=home], [data-screen=join]) .app-footer { position: absolute; right: 0; bottom: 0; background: transparent; }
body.player-app:is([data-screen=match], [data-screen=result]) .app > footer.app-footer { display: flex; }
@media (max-width: 760px) {
body.player-app:is([data-screen=home], [data-screen=join]) .app > footer.app-footer { position: static; margin-top: auto; }
}