Files
restitution/src/styles/style.css
kaykayyali 3fc29f728e feat: Colyseus authoritative server + invite-code lobby
- Replace socket.io relay with Colyseus 0.15 authoritative server
- GameRoom with GameState schema (players, units, resources)
- Pure TS services: CombatResolver, EconomyService, PathfindingService, UnitManager
- POST /api/create-room → 4-char invite code
- React/MUI LobbyScreen: Create (shows code + START GAME) / Join by code
- ColyseusClient: joinOrCreate/join by room type = invite code
- Nginx: static assets direct, all else proxied to Colyseus (WS upgrade)
- Content-hashed JS bundles for Cloudflare cache-busting
- 1-player lobbies: START GAME button bypasses 2-player wait
2026-05-30 02:49:20 +00:00

79 lines
1001 B
CSS

/**
* Body CSS
* Docs: https://www.muicss.com/docs/v1/css-js/container
*/
html,
body {
height: 100%;
}
html,
body,
input,
textarea,
button {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}
/**
* Header CSS
*/
header {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 2;
}
header ul.mui-list--inline {
margin-bottom: 0;
}
header a {
color: white;
}
header table {
width: 100%;
}
/**
* Content CSS
*/
#content-wrapper {
min-height: 100%;
/* sticky footer */
box-sizing: border-box;
margin-bottom: -100px;
padding-bottom: 100px;
padding-top: 100px;
}
/**
* Footer CSS
*/
footer {
box-sizing: border-box;
height: 100px;
background-color: #eee;
border-top: 1px solid #e0e0e0;
padding-top: 35px;
}
/**
* Lobby screen styles
*/
#root:has(.lobby-container) {
height: 100%;
overflow: hidden;
}