body {
			  background: #222;
			  touch-action: pan-x pan-y;
			  -webkit-tap-highlight-color: transparent;
			  margin: 0;
			  padding: 0;
			  min-height: 100vh;
			}
			
			.game-back-btn {
			  position: fixed; top: 10px; left: 10px; z-index: 9999;
			  padding: 8px 14px; background: #fef3c7; color: #92400e;
			  border: 1px solid #fcd34d; border-radius: 8px; font-size: 13px;
			  text-decoration: none; font-weight: 500; cursor: pointer;
			  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
			}
			
			h2 {
			  color: #ffff7f;
			  font-family: monospace;
			  text-align: center;
			  padding: 0 10px;
			  font-size: 14px;
			  margin: 8px 0;
			}
			
			#game-container {
			  overflow: auto;
			  max-width: 100vw;
			  display: flex;
			  justify-content: center;
			}
			
			.game {
			  position: relative;
			  overflow: auto;
			  max-width: 100vw;
			}
			
			.background {
			  table-layout: fixed;
			  border-spacing: 0;
			}
			
			.background td {
			  padding: 0;
			}
			
			.lava, .actor {
			  background: #e55;
			}
			
			.wall {
			  background: #444;
			  border: solid 3px #333;
			  box-sizing: content-box;
			}
			
			.actor {
			  position: absolute;
			}
			
			.coin {
			  background: #e2e838;
			  border-radius: 50%;
			}
			
			.player {
			  background: #335699;
			  box-shadow: none;
			}
			
			.lost .player {
			  background: #a04040;
			}
			
			.won .player {
			  background: green;
			}
			
			#mobile-controls {
			  display: none;
			  flex-direction: column;
			  align-items: center;
			  gap: 4px;
			  padding: 10px 0 20px;
			  user-select: none;
			  -webkit-user-select: none;
			  position: relative;
			  z-index: 100;
			}
			
			.ctrl-row {
			  display: flex;
			  gap: 20px;
			}
			
			.ctrl-btn {
			  width: 56px;
			  height: 56px;
			  border-radius: 12px;
			  border: 2px solid rgba(255,255,255,0.3);
			  background: rgba(255,255,255,0.12);
			  color: #fff;
			  font-size: 22px;
			  cursor: pointer;
			  touch-action: none;
			  -webkit-tap-highlight-color: transparent;
			  display: flex;
			  align-items: center;
			  justify-content: center;
			  user-select: none;
			  -webkit-user-select: none;
			}
			
			.ctrl-btn:active {
			  background: rgba(255,255,255,0.3);
			}

			.ctrl-btn:focus { outline: none; }
			
			@media screen and (max-width: 800px) {
			  #mobile-controls {
			    display: flex;
			  }
			  h2 {
			    font-size: 12px;
			    margin: 4px 0;
			  }
			}
			
			#footer {
			  position: relative;
			  width: 100%;
			  margin: auto;
			  margin-top: 10px;
			  font-family: "Open Sans", sans-serif;
			  color: #fdde8c;
			  font-size: 0.8em;
			  text-transform: uppercase;
			  text-align: center;
			  line-height: 1.5;
			  user-select: none;
			}