/* HTML Selectors */ body { font-family: monospace; height: 95vh; width: 95vw; overflow: hidden; margin: 0 auto; user-select: none; background-color: #222; color: #ccc; } table { width: 100%; display: table; table-layout: fixed; } canvas { pointer-events: none; } td { text-align: center; height: calc(100vh / 6); transition: background-color ease-out .350s; border-radius: 40px; font-size: xx-large; } h1, p { text-align: center; margin: 5px; } /* Specific selectors */ td:hover { background-color: gray; } td.drawn { background-color: cornflowerblue; text-decoration: line-through; } td.drawn:hover { background-color: cadetblue; } td.drawn.bingo { background-color: green; } td.drawn.bingo:hover { background-color: darkgreen; } img#center-field-image { max-height: calc(100vh / 6); max-width: calc(100vw / 6); } p#seeed { user-select: text; } span#copy-permalink, span#refresh-bingo { cursor: pointer; } div#winner-message { display: flex; position: fixed; font-size: 3000%; text-shadow: 0 0 40px white; transition: all ease-out .75s; pointer-events: none; } div#winner-message.won { animation: won 5s; animation-timing-function: ease-in-out; } @keyframes won { 0% { left: 50%; top: 100%; transform: translate(-50%, 0); color: green; } 20% { left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 100%; color: yellow; } 40% { color: orange; } 50% { left: 50%; top: 50%; } 60% { color: purple; } 80% { color: blue; opacity: 100%; } 100% { left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 0; } } @media screen and (max-width: 767px) and (orientation: portrait){ td { font-size: large; } } @media screen and (max-width: 576px) and (orientation: portrait){ td { font-size: unset; } }