trivabble/public/trivabble.css

767 lines
12 KiB
CSS

:root {
--flash-light-color: #ee6633;
}
#board {
border-collapse:collapse;
}
a {
text-decoration:none;
color:blue;
}
html {
font-family: "Droid Sans", sans-serif;
}
html, #board, [draggable], .tile {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
}
#chat-messages, #number, #name {
-webkit-touch-callout: default;
-webkit-user-select: element;
-khtml-user-select: element;
-moz-user-select: element;
-ms-user-select: element;
user-select: element;
-moz-user-select: element;
-khtml-user-select: element;
-webkit-user-select: element;
user-select: element;
}
#chat-messages .error {
color: #F66;
}
#chat-messages .ok {
color: green;
}
#clear-game, #clear-rack {
white-space:pre-wrap;
}
[draggable] {
/* Required to make elements draggable in old WebKit */
-khtml-user-drag: element;
-webkit-user-drag: element;
}
#help-message {
font-size:small
}
#board td {
text-transform:uppercase;
border:1px solid #220;
background:#FFC;
vertical-align:middle;
text-align:center;
}
#board td .tile-placeholder {
position: relative;
height: 100%;
width: 100%;
top: 0px;
left: 0px;
display: -webkit-flex;
-webkit-justify-content: center;
-webkit-flex-direction: column;
display: flex;
justify-content: center;
flex-direction: column;
}
#board th {
font-size:small;
color:gray;
font-weight:normal
}
.corner {
visibility:hidden;
border:none !important
}
.special-cell-tripleWord {
background:#F77 !important;
box-shadow: 0 0 1px #F77;
}
.special-cell-tripleLetter {
background:#77F !important;
box-shadow: 0 0 1px #77F;
}
.special-cell-doubleLetter {
background:#7CF !important;
box-shadow: 0 0 1px #7CF;
}
.special-cell-doubleWord {
background:#FBB !important;
box-shadow: 0 0 1px #FBB;
}
.special-cell-label {
display:inline-block;
white-space:pre-wrap;
font-size:7px;
overflow:hidden;
}
.special-cell-label-clip .special-cell-label {
text-overflow:clip;
}
.special-cell-label-dots .special-cell-label {
text-overflow:ellipsis;
}
.special-cell-label-none .special-cell-label {
visibility:hidden;
}
.special-cell-label-short .special-cell-label {
display:inline;
}
#center-cell .special-cell-label {
font-weight:bold;
color:black;
font-size:large
}
body {
display:-webkit-flex;
display:flex;
-webkit-flex-direction:row;
flex-direction:row;
justify-content:safe center;
}
@media (max-width: 940px) {
body {
justify-content:start;
}
}
#menu, #panel {
display:-webkit-flex;
display:flex;
-webkit-flex-direction:column;
flex-direction:column;
}
button {
border-radius: 2px;
}
.panel button {
margin: 0.25em 0;
min-height:3em;
background: #CFC;
border: 1px solid #8C8;
cursor: pointer;
transition: 0.2s;
}
.panel button:hover {
background: #FD7;
border: 1px solid #CA5;
}
.panel button[disabled=disabled], .panel button:disabled {
background:#AFA;
cursor:not-allowed;
}
#rack {
background:#EEC;
z-index:10;
font-size:0;
border-radius:4px;
display:inline-block;
padding:2px 5px;
white-space:pre;
box-shadow:0 0 2px gray
}
#board td {
width:32px;
height:32px;
max-width:32px;
max-height:32px;
}
#rack .tile-placeholder {
height:32px;
width: 32px;
}
.tile {
background-color: #EE8;
transition:background-color 1s, border 1s;
display: inline-block;
width: 95%;
height: 95%;
left: 2.5%;
top: 2.5%;
position: absolute;
border: 1px solid #AA5;
box-sizing: border-box;
text-align: center;
font-size:1rem;
cursor:pointer
}
.tile.tile-spelling-ok {
background-color: #3E3;
}
.tile.tile-spelling-nok {
background-color: #E33;
}
.tile.tile-highlight {
background-color: #FFF;
font-weight: bold;
animation: highlight 4s ease-in;
border: 1px solid black;
}
@keyframes highlight {
0% {
background:red;
color:white;
}
100% {
background:white
}
}
.flash-light-highlighting .tile {
transition:none;
}
.flash-light-highlight {
background-color: #ee6633;
background-color: var(--flash-light-color);
}
.flash-light-highlight .tile:not(.tile-highlight) {
background-color: inherit;
}
.tile-score {
font-size: 0.5em;
position: absolute;
bottom: 0px;
right: 2px;
}
#chat-messages .tile {
position:relative;
cursor:auto;
top:0;
left:0;
width: 1.5em;
height: 1.5em;
margin:2px;
vertical-align:bottom;
}
#chat-messages .tile-letter {
font-size:0.9em;
}
#chat-messages .tile-score {
font-size: 0.4em;
}
#chat-messages.blink {
animation:chat-blink 1s
}
#chat-messages .info {
color:gray;
font-style:italic;
}
td.blink {
animation:td-blink 1s
}
.current-player {
font-weight:bold;
}
.current-player td:first-child:before {
position:absolute;
left:-1em;
color:red;
content: "→";
}
@keyframes chat-blink {
0% {
background:rgba(255, 255, 150, 0);
}
50% {
background:rgba(255, 255, 150, 1);
}
100% {
background:rgba(255, 255, 150, 0);
}
}
@keyframes td-blink {
0% {
background:rgba(100, 200, 255, 0);
}
50% {
background:rgba(100, 200, 255, 1);
}
100% {
background:rgba(100, 200, 255, 0);
}
}
.tile-target {
background:rgba(255,255,255, 0.9);
/* } */
/* #bag.tile-target, td .tile-target { */
outline: 1px solid #F33
}
#rack .tile-placeholder {
position:relative;
margin-left:1px;
margin-right:1px;
display:inline-block;
vertical-align:middle;
background:#CCA;
}
#panel {
/* -webkit-justify-content:center; does not look good */
justify-content:space-between;
text-align:center;
}
#bag, #rack-outer {
-webkit-align-self:center;
align-self:center;
text-align:center;
}
#p-name {
text-align:center;
font-size:small
}
.panel .minibutton {
padding:0.25ex 0.5ex;
min-height:0;
font-size:small
}
.msg-sender {
color:blue;
}
#chat-messages {
overflow:auto
}
#bag {
width:165px;
height:160px;
background:url(bag.svg) no-repeat;
background-size:100% 100%;
}
#bag:hover {
cursor:pointer;
opacity:0.8
}
#chat-messages {
border:1px solid silver;
box-sizing:border-box;
width: 100%;
margin-bottom:1px;
height:15em;
}
#chat-ta {
width:100%;
box-sizing:border-box;
height:3em
}
#participants {
font-size:small;
border-collapse:collapse;
margin:0 auto 1ex auto;
}
#participants th, #participants td {
border:1px solid gray;
padding:0.33ex 0.5ex;
}
#participants .score-cell > span {
display:inline-block;
min-width:2.5em;
}
#participants .score-cell > span:hover, #participants .turn-cell button:hover {
cursor:pointer;
background:#FFA
}
#participants .score-cell button {
min-height:4ex; /* for old webkit */
min-height: auto;
font-size:x-small;
padding:0 1ex;
margin:0;
background:#CCC;
color:back;
border:0;
}
#participants .score-cell button:hover {
background:#DDD;
}
#participants th {
font-weight:normal;
background:#EEE;
font-size:smaller
}
#participants-placeholder {
font-style:italic;
}
#participants .turn-cell button {
padding:0 2px;
background:white;
min-height:1em;
height:1em;
margin:0;
display:flex;
}
#participants .turn-cell img {
width:1em;
vertical-align: middle;
}
@media screen and (max-height:650px) {
#board td , #rack .tile-placeholder {
height:28px;
width: 28px;
}
}
@media screen and (max-height:600px) {
#board td , #rack .tile-placeholder {
height:24px;
width: 24px;
}
}
@media screen and (max-height:550px) {
#chat-messages {
height:7em;
}
}
#modal-settings-dialog p {
margin:0;
padding:0;
font-size:small;
}
#modal-settings-dialog label span, #modal-settings-dialog label input {
display: inline-block;
vertical-align: middle;
}
#lang-selection {
display:table;
}
#lang-selection p {
display:table-row;
}
#lang-selection p:first-child select {
margin-bottom:0.5ex;
}
#lang-selection select, #lang-selection label {
display:table-cell;
vertical-align:middle;
font-size:small;
}
#lang-selection select {
width:100%;
}
#lang-selection label {
padding-right:0.5ex;
}
.modal {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
opacity: 0;
visibility: hidden;
-webkit-transition: visibility 0s linear 0.25s, opacity 0.25s 0s;
transform: scale(1.1);
transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
z-index: 1;
}
.modal-header {
display:flex;
flex-direction:row;
}
.modal-header h1 {
flex:1;
}
.modal-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 1rem 1.5rem;
width: 24rem;
border-radius: 0.3rem;
}
#btn-settings-close {
font-weight: bold;
text-align: center;
border: 0;
}
.modal-content h1 {
margin: 0px;
font-weight: bold;
font-size: large;
}
.modal-button {
float: right;
width: 1.5rem;
line-height: 1.5rem;
text-align: center;
cursor: pointer;
border-radius: 0.25rem;
background-color: lightgray;
}
.modal-button:hover, #btn-settings:hover {
background-color: darkgray;
}
.show-modal {
opacity: 1;
visibility: visible;
-webkit-transition: visibility 0s linear 0s, opacity 0.25s 0s;
transform: scale(1.0);
transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
.modal-content > div:not(:last-child) {
margin-bottom: 1ex;
}
.span-range {
display:block;
text-align:center;
}
.span-range > span {
font-size:smaller;
}
.span-range > span, .span-range > input {
display:inline-block;
vertical-align: middle;
}
.alert {
z-index: 2;
}
#panel #btn-settings {
background:lightgray;
color:black;
font-size:small;
border-radius:3px;
border:none;
margin:0;
min-height: 2em;
float:right
}
#panel #btn-settings-and-timer {
text-align:right;
}
#btn-settings:before {
content: "⚙️ "
}
#info-spell-checking {
font-size:small;
color:gray;
}
#info-spell-checking a {
color:black;
}
#help-messages {
box-sizing:border-box;
overflow:auto;
width: auto;
margin-bottom:1px;
}
#help-box {
margin-left:1ex;
margin-top:1ex;
display:-webkit-flex;
-webkit-flex-direction:column;
-webkit-justify-content:center;
-webkit-align-items:center;
align-items:center;
display:flex;
flex-direction:column;
justify-content:center;
}
#help-box-inner {
display:-webkit-flex;
-webkit-flex-direction:row;
display:flex;
flex-direction:row;
min-height:2em;
border-top:1px solid gray;
border-bottom:1px solid gray;
-webkit-align-items:center;
align-items:center;
}
button#next-help-msg {
border:0;
background:none;
color:#333;
font-size:1.5rem;
margin-right:0.5ex;
background:#F1F1F1;
border-radius:100rem;
height:1.5em;
width:1.5em;
font-weight:bold;
transition:500ms;
padding:0;
}
button#next-help-msg:hover {
background:#CCC;
}
#help-box-title {
margin:0;
padding:0 0 0.25ex 0;
text-align:right;
width:100%;
color:gray;
font-size:small;
font-style:italic;
}
#help-messages p {
margin:0;
font-size:0.9;
color:#222;
padding:0 0.5ex;
max-width:17em;
}
#help-box-inner:before {
content:"i";
display:inline-block;
height:1.2em;
width:1.2em;
font-style:italic;
font-weight:bold;
font-family:serif;
color:#AAA;
border:2px solid;
border-radius:100rem;
}
#panel-buttons {
display:-webkit-flex;
-webkit-flex-direction: column;
display:flex;
flex-direction:column;
}
#timer {
font-size:x-small;
text-align:center;
margin:0;
margin-right:1ex;
}
#timer > span {
white-space:nowrap;
}
#timer > span:first-child {
color:gray;
}