* { box-sizing: border-box; margin: 0; padding: 0; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code { font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } .container { align-items: center; display: flex; height: 100vh; flex-direction: column; width: 100vw; } .controls { background: black; color: white; display: flex; padding: 1em; width: 100%; } .board-container { align-items: center; display: flex; flex: 1; justify-content: center; width: 100%; } .row { height: 30px; } .cell { border: 1px solid #999; border-right: none; border-bottom: none; display: inline-block; height: 30px; width: 30px; } .row:last-child .cell { border-bottom: 1px solid #999; } .cell:last-child { border-right: 1px solid #999; } .cell.alive { background: black; } .cell.clickable { cursor: pointer; } .button { background: black; border: 1px solid white; color: white; cursor: pointer; font-size: 16px; margin-right: 1em; padding: 0.25em 0.5em; } .button:not([disabled]):hover { background: white; color: black; } .controls__section { align-items: center; display: flex; flex: 1; justify-content: center; margin: 0.5em 0; } .size, .speed { align-items: center; display: flex; justify-content: center; } .button[disabled] { cursor: not-allowed; opacity: 0.6; } .controls .play { text-align: right; } .play .button { background: #347b20; } .play .button:hover { background: #4c9c36; color: white; } .reset .button { background: #7b2020; } .reset .button:hover { background: #9c3636; color: white; } .number-field { font-size: 16px; display: inline-block; margin-left: 0.25em; text-align: center; width: 50px; } .dimensions label { margin-right: 1em; } .play-reset { justify-content: flex-end; } .counter { padding: 1em; }