* { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Segoe UI', sans-serif; background: #1a1a2e; color: #eee; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .container { text-align: center; } h1 { font-size: 2.5rem; margin-bottom: 1rem; color: #e94560; } .status { font-size: 1.2rem; margin-bottom: 1.5rem; min-height: 1.5em; color: #a8dadc; } .board { display: grid; grid-template-columns: repeat(3, 120px); grid-template-rows: repeat(3, 120px); gap: 8px; margin: 0 auto 1.5rem; width: fit-content; } .cell { background: #16213e; border: 2px solid #0f3460; border-radius: 8px; font-size: 3rem; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; user-select: none; } .cell:hover:not(.taken) { background: #0f3460; } .cell.taken { cursor: default; } .cell.x { color: #e94560; } .cell.o { color: #a8dadc; } .cell.winner { background: #0f3460; border-color: #e94560; } .scoreboard { display: flex; justify-content: center; gap: 2rem; margin-bottom: 1.5rem; } .score-item { display: flex; flex-direction: column; align-items: center; background: #16213e; border: 2px solid #0f3460; border-radius: 8px; padding: 0.5rem 1.5rem; min-width: 70px; } .score-label { font-size: 0.85rem; color: #a8dadc; text-transform: uppercase; letter-spacing: 1px; } .score-value { font-size: 2rem; font-weight: bold; color: #e94560; } .reset-btn { padding: 0.75rem 2rem; font-size: 1rem; background: #e94560; color: #fff; border: none; border-radius: 6px; cursor: pointer; transition: background 0.15s; } .reset-btn:hover { background: #c73652; }