:root { --bg-main: #1f2526; --bg-secondary: #364446; --primary-element: #56d0b8; --secondary-element: #5dd6e3; --highlight-element: #ffec69; } .App { text-align: center; } .Logo-container { width: 100%; height: 100%; pointer-events: none; } .App-logo { height: 15vmin; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; } @media (prefers-reduced-motion: no-preference) { .App-logo { animation: Logo-rotate-in 2s cubic-bezier(0.755, 0.05, 0.855, 0.06) forwards; } .App-main { opacity: 0; animation: App-fade-in 0.65s ease-in 1.8s forwards; } } .App-bg { background-color: var(--bg-main); display: flex; flex-direction: column; align-items: center; justify-content: center; } .Game-main { min-height: 100vh; display: flex; flex-direction: row; gap: 5vmin; align-items: center; justify-content: center; font-size: calc(10px + 2vmin); } .Game-controls { height: 80vh; width: 10vw; background-color: var(--bg-secondary); display: flex; align-items: center; justify-content: center; font-size: calc(10px + 2vmin); } .Game-reasons { height: 80vh; width: 10vw; background-color: var(--bg-secondary); display: flex; align-items: center; justify-content: center; font-size: calc(10px + 2vmin); } .Grid-container { background: var(--bg-main); border-radius: 20px; width: 80vmin; height: 80vmin; display: grid; gap: 0.8vmin; /* exactly the same as the grid gap */ } .Grid { display: grid; width: 100%; height: auto; grid-template-columns: repeat(4, 1fr); gap: 0.8vmin; } .Fit-text { overflow: hidden; text-overflow: clip; } .Grid-square .Fit-text { font-size: calc(10px + 0.8vmin); overflow: hidden; text-overflow: clip; } .Completed-group .Fit-text { font-size: calc(10px + 1.5vmin); font-style: bold; overflow: hidden; text-overflow: clip; } .Grid-square { background: var(--secondary-element); border: none; border-radius: 10px; width: 19.4vmin; height: 19.4vmin; font-size: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; cursor: pointer; } .Completed-group { background: var(--secondary-element); border: none; border-radius: 10px; width: 100%; height: 19.4vmin; font-size: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; cursor: pointer; } .Group-reason { white-space: normal; word-wrap: break-word; /* Or word-break: break-word; */ overflow-wrap: break-word; } .Selected { background: var(--highlight-element); } .Removed { background: var(--bg-secondary); cursor: default; } .Submit-button { background: var(--primary-element); border-radius: 10px; margin-top: 2vmin; font-size: calc(10px + 1vmin); font-weight: bold; width: 100%; height: 5vh; border: none; cursor: pointer; } @keyframes Logo-rotate-in { from { transform: translate(-50%, -50%) rotate(0deg) scale(1); opacity: 1; } to { transform: translate(-50%, -50%) rotate(360deg) scale(5); opacity: 0; } } @keyframes App-fade-in { from { opacity: 0; } to { opacity: 1; } }