body { background: #eef2f3; font-family: Arial, sans-serif; text-align: center; color: #222; margin: 0; padding: 0; } h1 { margin-top: 2rem; color: #3498db; font-size: 2.2rem; line-height: 1.2; } #board { display: grid; grid-template-columns: repeat(3, minmax(60px, 26vw)); grid-template-rows: repeat(3, minmax(60px, 26vw)); gap: 0.7em; justify-content: center; margin: 2rem auto 1.2rem auto; max-width: 95vw; } .cell { width: 100%; height: 100%; background: #fff; border-radius: 6px; box-shadow: 0 2px 8px #bbb; font-size: 10em; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; } .cell:hover, .cell:focus { background: #f1fafe; } #status { font-size: 1.1em; min-height: 2em; margin-bottom: 1em; word-break: break-word; } #restart-btn { background: #3498db; color: #fff; font-size: 1em; border: none; border-radius: 7px; padding: 0.7em 2em; cursor: pointer; transition: background 0.2s; margin-bottom: 2em; } #restart-btn:hover, #restart-btn:focus { background: #297fb8; } /* Celulares */ @media (max-width: 480px) { h1 { font-size: 1.3rem; margin-top: 1rem; } #board { grid-template-columns: repeat(3, minmax(38px, 30vw)); grid-template-rows: repeat(3, minmax(38px, 30vw)); gap: 0.4em; margin: 1rem auto; } .cell { font-size: 10em; border-radius: 4px; } #status { font-size: 1em; min-height: 1.2em; margin-bottom: 0.7em; } #restart-btn { font-size: 0.95em; padding: 0.5em 1.1em; border-radius: 5px; } } /* Tablets */ @media (max-width: 768px) { h1 { font-size: 1.6rem; } #board { grid-template-columns: repeat(3, minmax(50px, 22vw)); grid-template-rows: repeat(3, minmax(50px, 22vw)); } .cell { font-size: 10em; } } /* Pantallas grandes */ @media (min-width: 1200px) { #board { grid-template-columns: repeat(3, 100px); grid-template-rows: repeat(3, 100px); gap: 1em; } .cell { font-size: 3em; } }