diff --git a/Makefile b/Makefile
index 22ee6bc..58bfb0b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.PHONY: dev serve lint fmt build publish help
+.PHONY: dev serve lint fmt build publish deploy logs status help
# Development server with auto-reload
dev:
@@ -26,6 +26,18 @@ build:
publish: build
uv publish
+# Deploy to Fly.io
+deploy:
+ fly deploy -a chess-pressure
+
+# Tail production logs
+logs:
+ fly logs -a chess-pressure
+
+# Production status
+status:
+ fly status -a chess-pressure
+
help:
@echo "chess-pressure"
@echo ""
@@ -35,3 +47,6 @@ help:
@echo " make fmt ruff format + auto-fix"
@echo " make build build sdist + wheel"
@echo " make publish build + publish to PyPI"
+ @echo " make deploy deploy to Fly.io"
+ @echo " make logs tail production logs"
+ @echo " make status Fly.io app status"
diff --git a/src/chess_pressure/static/index.html b/src/chess_pressure/static/index.html
index 9e8090e..0cfb824 100644
--- a/src/chess_pressure/static/index.html
+++ b/src/chess_pressure/static/index.html
@@ -102,6 +102,10 @@
+
+
diff --git a/src/chess_pressure/static/style.css b/src/chess_pressure/static/style.css
index 0e917c4..f9c77d3 100644
--- a/src/chess_pressure/static/style.css
+++ b/src/chess_pressure/static/style.css
@@ -328,6 +328,18 @@ dialog textarea {
}
.dialog-buttons button:hover { background: var(--move-active); }
+/* --- Footer --- */
+footer {
+ text-align: center;
+ padding: 1rem 0;
+ font-size: 0.75rem;
+}
+footer a {
+ color: var(--fg2);
+ text-decoration: none;
+}
+footer a:hover { text-decoration: underline; }
+
/* --- Mobile --- */
@media (max-width: 720px) {
main {