Impostor/www/style.css

262 lines
No EOL
4.5 KiB
CSS

:root {
--background: black;
--backgroundLighter: rgb(20, 20, 20);
--foreground: white;
--saBORbackground: rgba(54, 54, 54, 0.5);
--saBORforeground: darkgrey;
--impostorColor: rgb(60, 0, 0);
--civilColor: rgb(0, 50, 0);
}
.light-theme {
--background: white;
--backgroundLighter: rgb(230, 230, 230);
--foreground: black;
--saBORbackground: rgba(200, 200, 200, 0.5);
--saBORforeground: darkgrey;
--impostorColor: rgb(200, 120, 120);
--civilColor: rgb(120, 200, 120);
}
* {
transition: .2s;
margin: 0;
padding: 0;
box-sizing: border-box;
scrollbar-color: var(--foreground) transparent;
scrollbar-width: thin;
user-select: none;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: var(--background);
color: var(--foreground);
line-height: 1.6;
display: flex;
flex-direction: column;
padding: 2em;
gap: 1em;
height: 100dvh;
max-height: 100dvh;
width: 30vw;
margin: auto;
overflow: hidden;
scroll-behavior: smooth;
}
header {
text-align: center;
}
header img {
height: 8em;
}
h1 {
font-size: 2.5rem;
font-family: monospace;
}
main {
text-align: center;
margin-top: 40px;
}
p {
font-size: 1.2rem;
margin-bottom: 20px;
}
#playersList input {
width: 100%;
}
button, input, textarea {
padding: .6em;
border: none;
border-radius: 5px;
}
input, #gameLog {
background-color: var(--saBORbackground);
color: var(--foreground);
}
#gameLog {
font-size: 1.4em;
border: medium solid var(--foreground);
padding: 1em;
border-radius: 5px;
}
input {
transition: .2s;
border: medium solid var(--saBORforeground);
}
input:focus {
border-color: var(--foreground);
background-color: var(--foreground);
color: var(--background);
outline: none;
}
button {
transition: .2s;
background-color: var(--foreground);
color: var(--background);
/* text-shadow: 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1); */
}
/* button:hover {
background-color: var(--foreground);
color: var(--background);
} */
.playerHolder {
margin-bottom: 1em;
display: flex;
gap: .6em;
overflow-y: auto;
overflow-x: hidden;
button {
background-color: transparent;
font-family: monospace;
color: var(--foreground);
text-shadow: none;
}
}
input:focus {
border-color: var(--foreground);
}
#newPlayerButton {
width: 100%;
}
#startGame {
/* margin-top: auto;
margin-left: auto; */
}
#gameLog {
display: none;
margin: auto 0;
text-align: center;
transition: .4s;
border-width: medium 0;
p {
margin: 0;
}
}
#gameLog.impostor {
background-color: var(--impostorColor);
}
#gameLog.civil {
background-color: var(--civilColor);
}
#playlistHolder {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
padding-right: 0.5em;
padding: 1em .4em 0 .4em;
background-color: var(--backgroundLighter);
border-top: medium solid var(--saBORbackground);
border-radius: 0 0 10px 10px;
}
body.game #playlistHolder {
display: none;
}
body.game #gameLog {
display: unset;
}
body.game header {
display: none;
}
#bottomBar {
display: flex;
gap: .6em;
flex-shrink: 0;
margin-top: 0;
justify-content: end;
}
#hintCheckHolder p {
margin: auto auto auto 0;
}
#hintCheckHolder {
display: flex;
gap: .4em;
}
#timerInput {
width: 100%;
}
.optionsHolder {
border-bottom: medium solid var(--saBORbackground);
margin-bottom: 1em;
border-radius: 5px;
padding: 0 .8em 1em;
p {
margin-bottom: .4em;
}
}
.optionsHolder:last-child {
border-bottom: none;
}
.playerName {
font-size: x-large;
font-weight: bolder;
}
#timer {
font-size: xx-large;
}
.rainbowText {
background: linear-gradient(to right, var(--foreground), var(--background), var(--foreground), var(--impostorColor), var(--foreground), var(--civilColor)); -webkit-background-clip: text;
background-clip: text;
color: transparent;
animation: rainbow_animation 10s ease-in-out infinite;
background-size: 400% 100%;
text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.2);
}
@keyframes rainbow_animation {
0%,100% {
background-position: 0 0;
}
50% {
background-position: 100% 0;
}
}
@media (max-width: 1280px) {
body {
width: 60vw;
}
}
@media (max-width: 720px) {
body {
width: 100vw;
}
}