* { font-family: 'Montserrat', sans-serif; } html, body { margin: 0; padding: 0; min-width: 100vw; min-height: 100vh; display: block; background-color: var(--main-bg); color: var(--main-color); } /* Topbar rules */ .topbar { position: fixed; background-color: var(--gui-bg-main); top: 0; left: 0; display: flex; flex-direction: column; width: 100vw; z-index: 1; } .top-buttons { display: flex; } button.top-button { border-radius: 0; background-color: var(--top-bg-button); color: var(--top-color-button); flex: 1; border-left: 1px solid var(--top-border); border-right: 1px solid var(--top-border); transition-duration: 0.2s; } button.top-button:hover { background-color: var(--top-bg-button-hover); color: var(--top-color-button-hover); } button.top-button:active { background-color: var(--top-bg-button-active); color: var(--top-color-button-active); } .top-buttons > button:first-child { border-left: none; } .top-buttons > button:last-child { border-right: none; } div.new-game { flex: 1; flex-grow: 1; border-top: 2px solid var(--top-border); } div.mobile-settings { flex: 1; flex-grow: 1; border-top: 2px solid var(--top-border); } div.topbar > div.status { height: 5px; flex-basis: auto; background-color: var(--server-bg-loading); } div.topbar > div.status[s=loading] { background-color: var(--server-bg-loading); } div.topbar > div.status[s=ok] { background-color: var(--server-bg-ok); } div.topbar > div.status[s=closed] { background-color: var(--server-bg-closed); } /* Content rules */ div.stats { padding: 5px; display: flex; flex-direction: column; } div.stats > div { flex: 1; display: flex; } div.stats > div > span { flex-basis: content; display: inline-block; } div.stats > div > span:last-child { text-align: right; flex: 1; display: inline-block; } div.game { background-color: var(--gui-bg-game); color: var(--gui-color-game); border-radius: 5px; box-shadow: var(--gui-shadow-game) 3px 3px 2px; box-sizing: border-box; margin-bottom: 10px; } div.game:last-child { margin-bottom: none; } div.settings { display:flex; flex-direction: column; padding: 5px; } /* Table rules */ .table { position: absolute; z-index: 2; width: 100vw; height: 100vh; animation-duration: 0.8s; background-color: rgba(0, 0, 0, 0.5); overflow: hidden; } .table[state=open] ,.table[state=close]{ animation-name: slide-in; animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1); animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: forwards; } .table[state=close] { animation-direction: reverse; } .table[state=closed] { transform: translate(0, -100vh); opacity: 0; } @keyframes slide-in { from { transform: translate(0, -100vh); opacity: 0; } to { transform: translate(0, 0); opacity: 1; } }