534 lines
8.4 KiB
CSS
Executable File
534 lines
8.4 KiB
CSS
Executable File
.Table {
|
|
display: flex;
|
|
position: absolute;
|
|
align-self: stretch;
|
|
width: 100%;
|
|
height: 100vh;
|
|
min-height: 100%;
|
|
justify-content: space-between; /* left-justify 'board', right-justify 'game' */
|
|
background-image: url("./assets/tabletop.png");
|
|
}
|
|
|
|
.Loading {
|
|
position: absolute;
|
|
top: 1em;
|
|
right: 31em;
|
|
width: 3em !important;
|
|
height: 3em !important;
|
|
z-index: 10010;
|
|
}
|
|
|
|
.NoNetwork {
|
|
position: absolute;
|
|
z-index: 10000;
|
|
display: flex;
|
|
top: 1em;
|
|
right: 31em;
|
|
width: 3em;
|
|
height: 3em;
|
|
background-image: url("./assets/no-network.png");
|
|
background-size: contain;
|
|
background-position: center;
|
|
}
|
|
|
|
.Roberta .Pip-Shape:hover,
|
|
.Roberta .Pip-Shape {
|
|
background-image:url("./assets/woman-robber.png");
|
|
}
|
|
|
|
|
|
.BottomBar {
|
|
display: flex;
|
|
margin-right: 30rem;
|
|
justify-content: space-between;
|
|
align-items: flex-end;
|
|
height: 10.5rem;
|
|
overflow: visible;
|
|
}
|
|
|
|
.WaitingForPlayer {
|
|
display: flex;
|
|
position: absolute;
|
|
left: 0.5em;
|
|
opacity: 0.8;
|
|
top: 0.5em;
|
|
justify-content: center;
|
|
align-items: center;
|
|
/*background: rgba(0,0,0,0.5);*/
|
|
z-index: 0;/*1000*/
|
|
}
|
|
|
|
.WaitingForPlayer .Title {
|
|
align-self: center;
|
|
padding: 0.5em;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.GameOrder {
|
|
display: flex;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 30vw;
|
|
bottom: 0;
|
|
top: 0;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 1000;
|
|
max-height: 100vh;
|
|
overflow: auto;
|
|
}
|
|
|
|
.GameOrder .Title {
|
|
align-self: center;
|
|
padding: 2px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.GameOrder .PlayerList {
|
|
padding: 0.5em;
|
|
background-color:rgba(224, 224, 224);
|
|
margin: 0.5em 0;
|
|
}
|
|
.GameOrder > * {
|
|
min-width: 20em;
|
|
display: inline-flex;
|
|
padding: 0.5em;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.GameOrder .PlayerColor {
|
|
width: 1em;
|
|
height: 1em;
|
|
}
|
|
|
|
.GameOrder .GameOrderPlayer {
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: 100%;
|
|
align-items: center;
|
|
padding: 2px 0;
|
|
}
|
|
|
|
.GameOrderPlayer > * {
|
|
margin: 0 0.25em;
|
|
}
|
|
|
|
.SelectPlayer {
|
|
display: flex;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
top: 0;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background: rgba(0,0,0,0.5);
|
|
z-index: 1000;
|
|
}
|
|
|
|
.SelectPlayer .Title {
|
|
align-self: center;
|
|
padding: 2px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.SelectPlayer .SelectPlayerList {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
padding: 0.5em;
|
|
background-color:rgba(224, 224, 224);
|
|
margin: 0.5em 0;
|
|
}
|
|
|
|
.SelectPlayer > * {
|
|
width: 20em;
|
|
display: inline-flex;
|
|
padding: 0.5em;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.SelectPlayer .PlayerColor {
|
|
width: 1em;
|
|
height: 1em;
|
|
}
|
|
|
|
.SelectPlayer .SelectPlayerItem {
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: 100%;
|
|
align-items: center;
|
|
padding: 2px 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.SelectPlayer > * {
|
|
margin: 0 0.25em;
|
|
}
|
|
|
|
|
|
.Display {
|
|
display: inline-block;
|
|
position: absolute;
|
|
}
|
|
|
|
.Cards {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: right;
|
|
vertical-align: bottom;
|
|
padding: 0.5em;
|
|
box-sizing: border-box;
|
|
max-height: 100%;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.Stack {
|
|
position: relative;
|
|
display: flex;
|
|
}
|
|
|
|
.Stack:not(:first-child) {
|
|
margin-left: -3em;
|
|
transition: margin-left 1s ease-in-out 0.25s;
|
|
}
|
|
|
|
.Stack > * {
|
|
transition: margin-left 1s ease-in-out 0.25s, margin-right 1s ease-in-out 0.25s;
|
|
}
|
|
|
|
.Stack > *:not(:first-child) {
|
|
margin-left: -4.5em;
|
|
}
|
|
|
|
.Hand:hover .Stack:hover > *:not(:first-child) {
|
|
/* margin-left: -2em; */
|
|
}
|
|
|
|
.Hand:hover .Stack:hover:not(:last-child) > *:last-child {
|
|
/* margin-right: 3em; */
|
|
}
|
|
|
|
.Hand {
|
|
display: flex;
|
|
min-height: calc(7.2em + 0.5em);
|
|
}
|
|
|
|
.Hand > button {
|
|
align-self: center;
|
|
justify-self: center;
|
|
}
|
|
|
|
.Placard:hover {
|
|
filter: brightness(105%);
|
|
}
|
|
|
|
.Development:hover {
|
|
filter: brightness(150%);
|
|
}
|
|
|
|
.Development.Selected {
|
|
filter: brightness(150%);
|
|
top: -1em;
|
|
}
|
|
|
|
.Game {
|
|
display: flex;
|
|
position: absolute;
|
|
flex-direction: column;
|
|
box-sizing: border-box;
|
|
max-height: 100vh;
|
|
overflow: hidden;
|
|
max-width: 30rem;
|
|
z-index: 100;
|
|
padding: 0.5em;
|
|
right: 0px;
|
|
}
|
|
|
|
.Game > * {
|
|
/* for Firefox */
|
|
min-height: 0;
|
|
}
|
|
|
|
.Game > *:not(:last-child) {
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
.Game.lobby {
|
|
}
|
|
|
|
/*
|
|
* Game
|
|
* Message
|
|
* Players
|
|
* Chat
|
|
* Action
|
|
*/
|
|
|
|
.Chat {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 1;
|
|
padding: 0.5em;
|
|
}
|
|
|
|
.ChatList {
|
|
/* for Firefox */
|
|
min-height: 0;
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
overflow: auto;
|
|
scroll-behavior: smooth;
|
|
align-items: flex-start;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.ChatList .System {
|
|
background-color: #f0f0f0;
|
|
transform: scale(0.8);
|
|
border-radius: 0.25em;
|
|
}
|
|
|
|
.ChatInput {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ChatList .MuiListItem-gutters {
|
|
padding: 2px 0 2px 0;
|
|
}
|
|
|
|
.ChatList .MuiTypography-body1 {
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.ChatList .System .MuiTypography-body1 {
|
|
margin-left: 1em;
|
|
}
|
|
|
|
.ChatList .MuiTypography-body2 {
|
|
font-size: 0.7rem;
|
|
}
|
|
|
|
.ChatList .MuiListItemText-multiline {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
padding: 4px 0px 4px 4px;
|
|
}
|
|
|
|
.ChatList .PlayerColor {
|
|
width: 1em;
|
|
height: 1em;
|
|
padding: 0;
|
|
margin-top: 6px;
|
|
align-self: flex-start;
|
|
}
|
|
|
|
.Players {
|
|
flex: 1 0;
|
|
overflow: hidden;
|
|
padding: 0.5em;
|
|
user-select: none;
|
|
}
|
|
|
|
.PlayerSelector .PlayerColor {
|
|
width: 1em;
|
|
height: 1em;
|
|
}
|
|
|
|
.PlayerSelector {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.PlayerSelector.MuiList-padding {
|
|
padding: 0;
|
|
}
|
|
|
|
.PlayerSelector .PlayerEntry {
|
|
flex: 1 1 0px;
|
|
align-items: center;
|
|
display: inline-flex;
|
|
flex-direction: row;
|
|
min-width: 10em;
|
|
}
|
|
|
|
.PlayerSelector .MuiTypography-body1 {
|
|
font-size: 0.8rem;
|
|
/* white-space: nowrap;*/
|
|
}
|
|
|
|
.PlayerSelector .MuiTypography-body2 {
|
|
font-size: 0.7rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.Players .PlayerEntry {
|
|
border: 1px solid rgba(0,0,0,0);
|
|
border-radius: 0.5em;
|
|
min-width: 10em;
|
|
}
|
|
|
|
.Players .PlayerEntry[data-selectable=true]:hover {
|
|
border-color: rgba(0,0,0,0.5);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.Players .PlayerEntry[data-selected=true] {
|
|
background-color: rgba(255, 255, 0, 0.5);
|
|
}
|
|
|
|
.Players .PlayerToggle {
|
|
min-width: 5em;
|
|
display: inline-flex;
|
|
align-items: flex-end;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.PlayerName {
|
|
padding: 0.5em;
|
|
}
|
|
|
|
.Players > * {
|
|
width: 100%;
|
|
}
|
|
|
|
.Players .nameInput {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.Placard {
|
|
position: relative;
|
|
width: 9.4em;
|
|
height: 11.44em;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
margin: 0.25em;
|
|
display: inline-block;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-items: space-between;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.Placard > div {
|
|
box-sizing: border-box;
|
|
margin: 0 0.9em;
|
|
}
|
|
.Placard:not([disabled]) {
|
|
cursor: pointer;
|
|
}
|
|
.Placard.Selected {
|
|
filter: brightness(110%);
|
|
transform-origin: 100% 100%;
|
|
transform: scale(1.5);
|
|
}
|
|
.Placard > div:nth-child(1) {
|
|
height: 15.5%;
|
|
}
|
|
.Placard > div:nth-child(2),
|
|
.Placard > div:nth-child(3),
|
|
.Placard > div:nth-child(4),
|
|
.Placard > div:nth-child(5) {
|
|
height: 15.25%;
|
|
}
|
|
.Placard > div:nth-child(6) {
|
|
flex: 1;
|
|
}
|
|
.Placard > div:hover:nth-child(2),
|
|
.Placard > div:hover:nth-child(3),
|
|
.Placard > div:hover:nth-child(4),
|
|
.Placard > div:hover:nth-child(5) {
|
|
background-color: #ffffff40;
|
|
}
|
|
|
|
.Development {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 4.9em;
|
|
height: 7.2em;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
margin: 0.25em;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.Action {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
flex: 1 0;
|
|
align-items: center;
|
|
justify-content: space-evenly;
|
|
background-color: rgba(16, 16, 16, 0.25);
|
|
padding: 0.25em;
|
|
}
|
|
|
|
button {
|
|
margin: 0.25em;
|
|
background-color: white;
|
|
border: 1px solid black !important;
|
|
}
|
|
|
|
.Error {
|
|
display: flex;
|
|
position: absolute;
|
|
top: calc(50vh - 1.5em);
|
|
left: calc(0vw + 1em);
|
|
right: calc(30vw + 2em);
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: yellow;
|
|
padding: 1em;
|
|
z-index: 10000;
|
|
}
|
|
|
|
.Message {
|
|
display: inline-block;
|
|
flex: 1 0;
|
|
justify-content: left;
|
|
text-align: left;
|
|
/* font-size: 12pt;*/
|
|
padding: 0.5em;
|
|
user-select: none;
|
|
}
|
|
|
|
.Message .PlayerColor {
|
|
width: 1em;
|
|
height: 1em;
|
|
}
|
|
|
|
.Message div {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.PlayerName {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-direction: row;
|
|
}
|
|
|
|
.PlayerName > .nameInput {
|
|
margin-right: 1em;
|
|
flex: 1;
|
|
max-width: 30em;
|
|
}
|
|
|
|
.PlayerName > Button {
|
|
background: lightblue;
|
|
}
|
|
|
|
.Statistics > div:nth-child(2) {
|
|
display: flex;
|
|
flex-direction: row;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.Statistics div:nth-child(2) div {
|
|
padding: 0.25em 0.5em;
|
|
}
|