Files
Werewolf/client/src/styles/game.css
2023-08-14 02:50:46 -04:00

1180 lines
22 KiB
CSS

.lobby-player, #moderator, .spectator, .potential-moderator, #current-moderator {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
background-color: #000000;
color: #e7e7e7;
padding: 5px;
border-radius: 3px;
font-size: 17px;
width: 16em;
border: 2px solid transparent;
margin: 0 auto 0.25em auto;
}
.lobby-player, .spectator {
position: relative;
}
.lobby-player img, .spectator img {
height: 22px;
margin: 0 8px;
cursor: pointer;
padding: 5px;
border-radius: 5px;
border: 1px solid transparent;
position: absolute;
right: -33px;
}
.lobby-player img:active, .spectator img:active {
border: 1px solid whitesmoke;
}
.lobby-player img:hover, .spectator img:hover {
filter: brightness(1.5);
background-color: #8080804d;
}
.moderator {
border: 2px solid #c58f13 !important;
}
#current-moderator {
border-radius: 5px;
color: #d7d7d7;
background-color: #16141e;
padding: 0 10px;
width: 90%;
margin-bottom: 0.5em;
}
.potential-moderator {
margin: 0.5em auto;
border: 2px solid #46455299;
background: #4645525c;
}
#transfer-mod-modal h2 {
margin-bottom: 15px;
}
#lobby-players {
overflow-y: auto;
max-height: 30em;
overflow-x: hidden;
padding: 0 25px 0 10px;
border-radius: 5px;
}
#lobby-people-container label {
display: block;
}
#spectator-count {
color: #b1afcd;
text-decoration: underline;
font-size: 17px;
margin: 5px 0 10px 0;
cursor: pointer;
}
.lobby-player-client {
border: 2px solid #21ba45;
}
.lobby-player div:nth-child(2), .spectator div:nth-child(2), .potential-moderator div:nth-child(2), #current-moderator div:nth-child(2) {
color: #21ba45;
}
#moderator.moderator-client {
border: 2px solid lightgray;
}
#game-state-container {
justify-content: center;
flex-direction: row;
flex-wrap: wrap;
display: flex;
width: 100%;
margin: 0 auto 140px auto;
}
#game-state-container h2 {
margin: 0.5em 0;
max-width: 17em;
}
#save-role-changes-button, #cancel-role-changes-button {
padding: 10px;
font-size: 25px;
margin: 0.5em 0;
}
#role-edit-prompt {
display: flex;
margin: 10px 0;
padding: 10px 0;
width: 100%;
max-width: 16em;
border-radius: 5px;
justify-content: center;
background-color: #16141e;
}
#role-edit-prompt button {
margin: 0 20px;
}
#save-role-changes-button img {
width: 20px;
margin-left: 10px;
}
#return-to-lobby-button,
#end-of-game-buttons #return-to-lobby-button,
#mod-transfer-button,
#edit-roles-button,
#save-role-changes-button {
background-color: #045ea6;
border: 2px solid #024070;
}
#return-to-lobby-button:hover,
#end-of-game-buttons #return-to-lobby-button:hover,
#mod-transfer-button:hover,
#edit-roles-button:hover,
#save-role-changes-button:hover {
background-color: rgba(0, 120, 215, 0.45);
border: 2px solid #045EA6;
}
#mid-game-role-editor {
display: flex;
border-radius: 5px;
position: fixed;
width: 100%;
height: 100%;
z-index: 100001;
align-items: center;
justify-content: center;
font-family: 'signika-negative', sans-serif;
flex-direction: column;
overflow: auto;
}
#role-edit-container-background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: calc(100% + 100px);
background-color: rgba(0, 0, 0, 1);
z-index: 100000;
cursor: pointer;
}
#mid-game-role-editor #step-2 {
width: 100%;
display: flex;
justify-content: center;
overflow: auto;
align-items: center;
}
#save-button {
}
#mid-game-role-editor #custom-roles-container {
height: fit-content;
}
#play-pause-placeholder {
width: 60px;
height: 60px;
}
#restart-game:hover {
border-color: #e7e7e7;
}
#lobby-header {
display: flex;
flex-direction: column;
align-items: center;
max-width: 95%;
margin: 1em 1em 0 1em;
}
#lobby-header > div:nth-child(1) {
width: 100%;
}
#lobby-header > div:nth-child(2) {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}
h1 {
text-align: center;
margin: 0.5em auto;
}
#game-content .placeholder-row:nth-child(1) {
margin-top: 2em;
}
#footer.game-page-footer {
margin-top: 1em;
margin-bottom: 85px;
}
#footer.game-page-footer a {
margin: 0 5px;
}
#end-of-game-header {
display: flex;
flex-direction: column;
flex-wrap: wrap;
margin: 0 !important;
align-items: center;
}
#end-of-game-header h2 {
border: 1px solid #3b3a4a;
border-radius: 5px;
background-color: #1a1726;
padding: 7px;
margin: 0.5em;
}
#end-of-game-header button {
margin: 0.5em;
min-width: 12em;
font-size: 18px;
}
#end-of-game-header #return-to-lobby-button {
margin-bottom: 1em !important;
animation: shadow-pulse-blue 1.5s infinite ease-out;
padding: 10px;
}
.potential-moderator:hover {
border: 2px solid #d7d7d7;
cursor: pointer;
}
.potential-moderator:active {
border: 2px solid #21ba45;
transition: border 0.2s ease-out;
}
#game-link {
cursor: pointer;
margin-top: 10px;
padding: 7px;
border-radius: 5px;
background-color: #121314;
border: 2px solid #3b3a4a;
color: #e7e7e7;
align-items: center;
display: flex;
transition: background-color 0.2s;
max-width: 20em;
}
#game-code {
color: #e7e7e7;
margin-top: 5px;
}
#game-code span {
font-family: "signika-negative", sans-serif;
letter-spacing: 0.2rem;
color: #21ba45;
font-size: 30px;
}
#game-link > div {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: 95%;
}
.role-info-name {
display: flex;
}
.role-info-name h5:nth-child(1) {
margin-right: 10px;
color: #21ba45;
}
#role-info-button img, #mod-transfer-button img {
height: 25px;
margin-left: 10px;
}
#game-role-info-container {
display: flex;
flex-direction: column;
align-items: flex-start;
margin: 1em 0;
overflow-y: auto;
max-height: 35em;
min-width: 19em;
}
#game-role-info-container > div {
width: 95%;
border: 1px solid #46455299;
background: #4645525c;
padding: 5px;
border-radius: 5px;
margin-bottom: 5px;
}
#transfer-mod-modal-content {
overflow-y: auto;
max-height: 35em;
width: 100%;
}
.potential-moderator {
width: 90%;
}
#role-info-modal .modal-button-container, #player-options-modal .modal-button-container {
margin-top: 1em;
justify-content: center;
}
#player-options-modal-content {
margin: 1em 0;
}
.player-option {
background-color: #4645525c;
border: 2px solid #46455299;
color: #d7d7d7;
display: flex;
font-family: 'signika-negative', sans-serif !important;
padding: 10px 30px;
border-radius: 5px;
font-size: 16px;
flex-direction: column;
align-items: flex-start;
text-align: left;
margin: 10px 0;
}
.player-option:hover, .player-option:active {
border: 2px solid #e7e7e7;
background-color: #33343c;
cursor: pointer;
}
#game-role-info-container .role-info-name {
border-radius: 5px;
font-size: 20px;
font-family: signika-negative, sans-serif;
}
#role-info-modal h2 {
color: #d7d7d7;
font-family: signika-negative, sans-serif;
font-weight: normal;
}
#game-role-info-container p, #game-role-info-container h5 {
text-align: left;
}
#game-role-info-container p {
color: #d7d7d7;
font-size: 14px;
font-family: signika-negative, sans-serif;
}
#game-role {
display: none;
position: relative;
border: 5px solid transparent;
background-color: #e3e3e3;
flex-direction: column;
cursor: pointer;
justify-content: space-between;
max-width: 17em;
border-radius: 5px;
height: 23em;
margin: 10px 20px;
width: 100%;
box-shadow: 0 1px 1px rgba(0,0,0,0.11),
0 2px 2px rgba(0,0,0,0.11),
0 4px 4px rgba(0,0,0,0.11),
0 8px 8px rgba(0,0,0,0.11),
0 16px 16px rgba(0,0,0,0.11),
0 32px 32px rgba(0,0,0,0.11);
/*perspective: 1000px;*/
/*transform-style: preserve-3d;*/
}
#game-role, #game-role-back {
user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
}
#game-role:active, #game-role-back:active {
filter: brightness(0.85);
}
.game-role-good {
border: 4px solid #5469c5 !important;
}
.game-role-evil {
border: 4px solid #c55454 !important;
}
#game-role-back {
display: flex;
align-items: center;
justify-content: center;
background-color: #16141e;
border: 4px solid #61606a;
position: relative;
flex-direction: column;
cursor: pointer;
max-width: 17em;
border-radius: 5px;
height: 23em;
margin: 10px 20px;
width: 100%;
box-shadow: 0 1px 1px rgba(0,0,0,0.11),
0 2px 2px rgba(0,0,0,0.11),
0 4px 4px rgba(0,0,0,0.11),
0 8px 8px rgba(0,0,0,0.11),
0 16px 16px rgba(0,0,0,0.11),
0 32px 32px rgba(0,0,0,0.11);
/*perspective: 1000px;*/
/*transform-style: preserve-3d;*/
}
#game-role-back h4 {
font-size: 30px;
padding: 0.5em;
text-align: center;
color: #e7e7e7;
}
#game-role-back p {
color: #c3c3c3;
font-size: 18px;
text-align: center;
padding: 10px;
}
#game-timer {
padding: 10px;
margin-top: 5px;
background-color: #0f0f10;
color: #e7e7e7;
border-radius: 5px;
font-size: 35px;
text-shadow: 0 3px 4px rgb(0 0 0 / 85%);
border: 1px solid #747474;
width: 204px;
display: flex;
justify-content: center;
align-items: center;
height: 43px;
margin-bottom: 15px;
position: relative;
}
.timer-error {
color: #c51212 !important;
font-size: 20px !important;
}
#game-timer.low {
color: #e71c0d;
border: 1px solid #ca1b17;
background-color: #361a1a;
}
#game-role #role-name {
position: absolute;
top: 6%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 20px;
font-family: 'signika-negative', sans-serif;
width: 95%;
text-align: center;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
#role-image {
user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
position: absolute;
top: 37%;
left: 50%;
transform: translate(-50%, -50%);
width: 78%;
}
#game-role #role-description {
overflow: auto;
position: absolute;
bottom: 6%;
left: 50%;
transform: translate(-50%, 0);
font-size: 15px;
width: 90%;
text-align: left;
max-height: 6em;
}
#role-name.good {
color: #4466fb !important;
}
#game-link img {
width: 20px;
height: 20px;
margin-left: 0.5em;
}
#game-title {
margin: 0 auto;
}
#client-container {
max-width: 25em;
width: 75%;
margin: 1em 0;
position: relative;
}
#client-container button {
background-color: transparent;
height: fit-content;
margin: 0 8px;
cursor: pointer;
padding: 5px;
border-radius: 5px;
border: 1px solid transparent;
position: absolute;
right: -50px;
top: 32px;
}
#client-container button:hover {
cursor: pointer;
filter: brightness(1.5);
background-color: #8080804d;
}
#client-container button img {
width: 22px;
pointer-events: none;
}
#client {
padding: 5px 10px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 5px;
border: 1px solid #46455299;
background: #4645525c;
}
#client-name {
max-width: 13em;
color: #e7e7e7;
font-family: 'signika-negative', sans-serif;
font-size: 25px;
margin: 0.25em 2em 0.25em 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#client-user-type {
color: #21ba45;
font-family: 'signika-negative', sans-serif;
font-size: 25px;
background-color: black;
border-radius: 5px;
display: block;
padding: 0 5px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
}
label[for='moderator'] {
font-family: 'signika-negative', sans-serif;
color: lightgray;
filter: drop-shadow(2px 2px 4px black);
font-size: 30px;
}
#start-game-prompt, #game-control-prompt, #leave-game-prompt {
padding: 0.5em 0;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: fixed;
z-index: 3;
font-family: 'signika-negative', sans-serif;
font-weight: 100;
box-shadow: 0 -6px 15px rgba(0, 0, 0, 0.5);
left: 0;
right: 0;
bottom: 0;
border-radius: 5px;
/* width: fit-content; */
font-size: 20px;
height: 100px;
margin: 0 auto;
max-width: 100%;
background-color: #1b1a24;
}
#game-control-prompt button, #start-game-prompt button, #leave-game-prompt button {
margin: 0 15px;
min-width: 5em;
}
#start-game-prompt p {
color: whitesmoke;
font-size: 15px;
}
#start-game-prompt > div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-evenly;
}
#game-control-prompt {
box-shadow: 0 -6px 40px black;
}
#start-game-button, #end-game-button, #return-to-lobby-button, #edit-roles-button, #leave-game-button {
font-family: 'signika-negative', sans-serif !important;
padding: 10px;
border-radius: 5px;
color: #e7e7e7;
cursor: pointer;
border: 2px solid transparent;
transition: background-color, border 0.3s ease-out;
text-shadow: 0 3px 4px rgb(0 0 0 / 85%);
font-size: 25px;
user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
}
#start-game-button {
background-color: #1c8a36;
}
#end-game-button, #leave-game-button {
background-color: #8a1c1c;
}
#start-game-button:hover {
background-color: #326243;
border: 2px solid #1c8a36;
}
#end-game-button:hover, #leave-game-button:hover {
background-color: #623232;
border: 2px solid #8a1c1c;
}
#play-pause {
display: flex;
align-items: center;
margin-left: 1em;
}
#play-pause img {
cursor: pointer;
user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
width: 60px;
}
#play-pause img:hover {
filter: brightness(0.5);
}
#play-pause img:active {
transform: scale(0.95);
}
.paused {
animation: pulse 0.75s linear infinite alternate;
border: 1px solid #ffc83d !important;
}
.paused-low {
animation: pulse-low 0.75s linear infinite alternate;
}
#game-header {
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
margin: 1em;
}
#game-header button {
min-width: 12em;
}
#timer-container-moderator {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
margin-bottom: 1em;
padding: 0.5em;
border-radius: 5px;
border: 1px solid #46455299;
background: #4645525c;
}
canvas {
border-radius: 5px;
margin: 20px 5px;
}
.game-player {
border-left: 3px solid #21ba45;
display: flex;
color: #f1f1f1;
background-color: #000000;
align-items: center;
padding: 0 5px;
justify-content: space-between;
margin: 0.25em 0;
position: relative;
border-radius: 3px;
}
.player-action-buttons {
justify-content: flex-end;
}
.game-player-name, .lobby-player-name, .spectator-name, .potential-mod-name, #current-moderator-name {
position: relative;
min-width: 6em;
max-width: 10em;
overflow: hidden;
white-space: nowrap;
font-weight: bold;
font-size: 16px;
text-overflow: ellipsis;
text-align: left;
}
.kill-player-button, .reveal-role-button {
background-color: #434156;
font-family: 'signika-negative', sans-serif !important;
border-radius: 5px;
color: #e7e7e7;
height: 25px;
font-size: 16px;
cursor: pointer;
border: 2px solid transparent;
transition: background-color, border 0.2s ease-out;
text-shadow: 0 3px 4px rgb(0 0 0 / 55%);
margin: 5px 0 5px 25px;
width: 65px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.kill-player-button:hover, .reveal-role-button:hover {
border: 2px solid #b1afcd;
}
#game-players-container {
width: 27em;
max-width: 100%;
}
.placeholder-button {
font-family: 'signika-negative', sans-serif !important;
display: flex;
justify-content: center;
align-items: center;
border-radius: 5px;
color: #767676;
font-weight: bold;
font-size: 16px;
text-shadow: 0 3px 4px rgb(0 0 0 / 55%);
margin: 5px 0 5px 25px;
width: 65px;
height: 25px;
}
#game-link:hover {
background-color: #26282a;
border: 2px solid #d7d7d7;
}
/*.reveal-role-button {*/
/* background-color: #586a6e;*/
/*}*/
.reveal-role-button img {
width: 18px;
}
#game-player-list > .game-player.killed::after {
content: '\01F480';
font-size: 24px;
margin-left: 1em;
}
.killed, .killed .game-player-role {
/*color: gray !important;*/
}
.game-player-role {
min-width: 7em;
color: #bbbbbb;
}
.game-player.killed {
border-left: 3px solid #444444;
}
.reveal-role-button {
display: flex;
align-items: center;
}
/*.make-mod-button {*/
/* background-color: #3f5256;*/
/* font-size: 18px;*/
/* padding: 10px;*/
/* border: 2px transparent;*/
/* border-radius: 5px;*/
/* color: #d7d7d7;*/
/* font-family: signika-negative, sans-serif;*/
/*}*/
.make-mod-button:hover {
cursor: pointer;
}
/*.kill-player-button {*/
/* background-color: #9f4747;*/
/*}*/
.killed-card {
width: 55% !important;
}
.game-player > div:nth-child(2) {
display: flex;
flex-wrap: wrap;
}
#game-parameters {
border: 1px solid #46455299;
background: #4645525c;
border-radius: 5px;
padding: 5px 20px;
}
#game-player-list {
overflow-y: auto;
overflow-x: hidden;
padding: 0 10px 10px 0;
max-height: 37em;
}
#game-player-list > div {
padding: 2px 10px;
border-radius: 3px;
margin-bottom: 0.25em;
}
#players-alive-label {
display: block;
font-size: 25px;
}
#transfer-mod-form {
width: 100%;
}
#mod-transfer-button {
margin-bottom: 0.5em;
}
#transfer-mod-form .modal-button-container {
justify-content: center;
}
#transfer-mod-modal .modal-button-container {
justify-content: center;
}
#change-name-form-content {
display: flex;
flex-direction: column;
margin: 0 auto;
max-width: 15em;
text-align: left;
margin: 2px auto;
}
#change-name-form-content input {
font-size: 20px;
}
#change-name-form-content label {
display: flex;
margin-bottom: 0.5em;
}
#lobby-people-container , #game-people-container {
padding: 10px;
border-radius: 5px;
min-height: 25em;
border: 1px solid #46455299;
background: #4645525c;
max-width: 35em;
min-width: 19em;
margin-top: 1em;
}
#transfer-mod-modal-content {
margin-bottom: 2em;
color: #d7d7d7;
}
#game-state-container.vertical-flex {
flex-direction: column;
align-items: center;
}
@media(max-width: 800px) {
#start-game-prompt, #game-control-prompt, #leave-game-prompt {
border-radius: 0;
width: 100%;
bottom: 0;
}
}
@media(max-width: 500px) {
#client-container button img {
width: 18px;
pointer-events: none;
}
#client-container button {
right: -46px;
top: 27px;
}
label {
font-size: 18px;
}
#game-people-container {
padding: 5px;
}
#players-alive-label {
font-size: 20px;
}
#client-name {
font-size: 20px;
margin: 0.25em 0 0.25em 0;
}
#client-user-type, #game-parameters {
font-size: 20px;
}
#game-state-container {
margin: 0 auto 105px auto;
}
button {
font-size: 16px;
}
#play-pause img {
width: 45px;
}
/*.make-mod-button {*/
/* font-size: 16px;*/
/* padding: 5px;*/
/*}*/
.game-player-name, .game-player-role {
font-size: 14px;
}
#game-timer {
padding: 5px;
font-size: 30px;
height: 30px;
width: 167px;
}
#role-info-button, #mod-transfer-button {
padding: 7px;
}
#players-alive-label {
font-size: 20px;
}
#start-game-prompt, #game-control-prompt, #leave-game-prompt {
height: 65px;
}
#start-game-button, #end-game-button, #return-to-lobby-button, #edit-roles-button, #leave-game-button {
font-size: 20px;
padding: 5px;
}
#game-role, #game-role-back {
height: 18em;
max-width: 13em;
}
#client-container {
margin: 0;
}
#game-role-back p {
font-size: 18px;
}
#game-role-back h4 {
font-size: 22px;
}
h2 {
font-size: 18px;
}
#role-description {
font-size: 14px;
max-height: 7em;
}
#role-image {
width: 70%;
}
}
@keyframes pulse {
from {
color: rgba(255, 255, 255, 0.1);
} to {
color: rgba(255, 255, 255, 1);
}
}
@keyframes shadow-pulse {
0% {
box-shadow: 0 0 0 0 rgba(28, 138, 54, 0.7);
}
70% {
box-shadow: 0 0 0 10px rgba(28, 138, 54, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(28, 138, 54, 0);
}
}
@keyframes shadow-pulse-blue {
0% {
box-shadow: 0 0 0 0 rgba(4, 94, 166, 0.7);
}
70% {
box-shadow: 0 0 0 10px rgba(4, 94, 166, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(4, 94, 166, 0);
}
}
@keyframes pulse-low {
from {
color: rgba(231, 28, 13 , 0.1);
} to {
color: rgba(231, 28, 13, 1);
}
}
@keyframes fade-in-slide-up {
0% {
opacity: 0;
transform: translateY(20px);
}
5% {
opacity: 1;
transform: translateY(0px);
}
100% {
opacity: 1;
transform: translateY(0px);
}
}
@keyframes fade-in-slide-down {
0% {
opacity: 0;
transform: translateY(-20px);
}
5% {
opacity: 1;
transform: translateY(0px);
}
100% {
opacity: 1;
transform: translateY(0px);
}
}