JSFiddle - React, Tailwind, and code Playground
by dledle2
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Tic Tac Toe Trainer v01 working</title>
<style>
body { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; margin: 0; font-family: Arial, sans-serif; background: #f0f0f0; }
#gameContainer { position: relative; width: 90vmin; height: 90vmin; max-width: 400px; max-height: 400px; margin-bottom: 20px; }
#board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; width: 100%; height: 100%; }
.cell { background: #fff; border: 2px solid #333; font-size: calc(10vmin); display: flex; align-items: center; justify-content: center; cursor: pointer; user-select: none; }
.cell.hint { background: #ffeb3b88; }
.cell.user { color: lightblue; }
.cell.comp { color: rgba(165, 42, 42, 0.3); }
#symbolSelect { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 10; }
.symbol-btn { font-size: 20vmin; color: #fff; background: none; border: none; margin: 20px; cursor: pointer; user-select: none; }
.symbol-btn:active { transform: scale(0.95); }
#controls { display: flex; gap: 10px; }
.control-btn { padding: 10px 20px; font-size: 1rem; cursor: pointer; border: none; background: #333; color: #fff; border-radius: 4px; }
.control-btn:active { transform: scale(0.98); }
#hintText, #globalHints { margin-top: 15px; font-size: 1rem; max-width: 90vmin; white-space: pre-wrap; text-align: center; }
#globalHints { margin-top: 25px; padding: 15px; background: #fff6db; border: 1px solid #ccc; border-radius: 5px; }
@media (max-width:600px) { #gameContainer { width:90vw; height:90vw; } .cell { font-size: calc(20vw/3); } }
</style>
</head>
<body>
<div id="gameContainer">
<div...