1
0
James Ketrenos 446a581e94 Relayout on shuffle working again
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
2022-03-15 20:04:09 -07:00

300 lines
6.1 KiB
CSS

.Board {
display: flex;
align-self: stretch;
flex: 1;
align-items: stretch;
}
/* Offset 'BorderBox' such that 0,0 is the center
* of 'Board' */
.BoardBox {
position: absolute;
left: 50%;
top: 50%;
}
.Board .Tile {
z-index: 5; /* Below Road and Corner */
position: absolute;
background-position-y: 0px;
background-size: cover;
transform: translate(-50%, -50%) rotate(-30deg);
}
.Tile.Active {
z-index: 10; /* Above non-Active Tile, below Road and Corner */
filter: drop-shadow(0px 0px 12px black);
}
.Border {
position: absolute;
transform-origin: 0 0;
background-size: cover;
}
.Pip {
z-index: 50; /* Above Tile (5,10), Road (12), Corner (20) */
position: absolute;
background-size: 600% auto; /* pip-numbers is a 6x6 grid of pip images */
width: 40px;
height: 40px;
transform: translate(-50%, -50%);
}
.Pip.Option {
filter: brightness(150%);
}
.Pip.Active {
filter: drop-shadow(0px 0px 10px rgba(255, 0, 255, 1));
}
.Pip.Option:hover,
.Pip:hover {
filter: brightness(100%);
}
.Pip.Active:hover {
filter: drop-shadow(0px 0px 10px rgba(255, 0, 255, 1));
}
.Pip.Active.Option {
filter: brightness(150%) drop-shadow(0px 0px 10px rgba(255, 0, 255, 1));
}
.Pips[disabled],
.Tiles[disabled],
.Roads[disabled],
.Corners[disabled] {
pointer-events: none;
}
.Board .Corner {
filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.75));
z-index: 20; /* Above Tile, below Road */
position: absolute;
display: flex;
align-items: center;
justify-items: center;
box-sizing: border-box;
width: 25px;
height: 25px;
transform: translate(-50%, -50%);
pointer-events: none;
}
.Corner-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
}
.Corner:not([data-type]) .Corner-Shape,
.Corner[data-type="settlement"] .Corner-Shape {
clip-path: polygon(50% 0%,70% 15%,70% 2%,90% 2%,90% 30%,100% 40%,100% 100%,65% 100%,65% 65%,35% 65%,35% 100%,0% 100%,0% 40%);
}
.Corner[data-type="city"] .Corner-Shape {
clip-path: polygon(15% 0%,39% 23%,39% 52%,100% 56%,100% 74%,100% 100%,80% 100%,63% 100%,62% 75%,46% 75%,47% 100%,0% 100%,0% 24%);
}
.Board .Road {
position: absolute;
display: flex;
align-items: center;
justify-items: center;
box-sizing: border-box;
width: 10px;
height: 50px;
transform-origin: 50% 0;
z-index: 11; /* Above Tile, below Corner */
pointer-events: none;
}
.Road-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: polygon(0% 20%,0% 80%,100% 80%,100% 20%);
}
.Pip-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: circle(50%);
pointer-events: none;
}
.Tile-Shape {
display: flex;
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
clip-path: polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
}
.Board div[disabled] .Option {
cursor: pointer;
pointer-events: none;
}
@keyframes blink {
from {
filter: brightness(90%) drop-shadow(0 0 5px black);
opacity: 0.8;
}
to {
filter: brightness(100%) drop-shadow(0 0 10px black);
opacity: 1;
}
}
.Board .Option {
cursor: pointer;
pointer-events: all;
filter: brightness(150%) drop-shadow(0 0 10px black);
transition-timing-function: ease-in-out;
animation-duration: 0.5s;
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.Tile-Shape:hover,
.Corner-Shape:hover,
.Road-Shape:hover {
background-color: white;
}
.Board .Option .Tile-Shape,
.Board .Option .Corner-Shape,
.Board .Option .Road-Shape {
background-color: rgb(185, 185, 185);
}
.Robber .Pip-Shape {
top: -40px;
left: -40px;
clip-path: circle(50%);
transform: scale(0.45);
background-color: floralwhite;
background-size: contain;
background-position: center;
border: 4px solid #8c471f;
border-radius: 50%;
}
.Roberta .Pip-Shape:hover,
.Roberta .Pip-Shape {
background-image:url("./assets/woman-robber.png");
}
.Robert .Pip-Shape:hover,
.Robert .Pip-Shape {
background-image:url("./assets/man-robber.png");
}
.Velocirobber .Pip-Shape {
background-image:url("./assets/raptor-robber.png");
}
.Road.LongestRoad .Road-Shape {
filter: brightness(135%);
transform: scale(1.05);
}
.Road[data-longest="1"],
.Road[data-longest="2"],
.Road[data-longest="3"],
.Road[data-longest="4"] {
filter: drop-shadow(0px 0px 2.5px black);
}
.Road[data-longest="5"] {
filter: brightness(110%) drop-shadow(0px 0px 5px black);
}
.Road[data-longest="6"] {
filter: brightness(120%) drop-shadow(0px 0px 6px black);
}
.Road[data-longest="7"] {
filter: brightness(130%) drop-shadow(0px 0px 7px black);
}
.Road[data-longest="8"] {
filter: brightness(140%) drop-shadow(0px 0px 8px black);
}
.Road[data-longest="9"] {
filter: brightness(150%) drop-shadow(0px 0px 9px black);
}
.Road[data-longest="10"],
.Road[data-longest="11"],
.Road[data-longest="12"],
.Road[data-longest="13"],
.Road[data-longest="14"],
.Road[data-longest="15"] {
filter: brightness(160%) drop-shadow(0px 0px 10px black);
}
.Board .Selected {
background-color: rgba(0, 0, 0, 1);
box-shadow: 5px 5px 5px black;
}
[data-color='R'] > .Corner-Shape,
[data-color='R'] > .Road-Shape {
background-color: rgba(255, 0, 0, 1);
}
[data-color='O'] > .Corner-Shape,
[data-color='O'] > .Road-Shape {
background-color: rgb(255, 128, 0);
}
[data-color='W'] > .Corner-Shape,
[data-color='W'] > .Road-Shape {
background-color: rgba(255, 255, 255, 1);
}
[data-color='B'] > .Corner-Shape,
[data-color='B'] > .Road-Shape {
background-color: rgba(0, 0, 255, 1);
}
/*
.Option[data-color='R'] > .Corner-Shape,
.Option[data-color='R'] > .Road-Shape {
background-color: rgba(255, 188, 188, 0.8);
}
.Option[data-color='O'] > .Corner-Shape,
.Option[data-color='O'] > .Road-Shape {
background-color: rgba(255, 224, 162, 0.8);
}
.Option[data-color='W'] > .Corner-Shape,
.Option[data-color='W'] > .Road-Shape {
background-color: rgba(122, 122, 122, 0.8);
}
.Option[data-color='B'] > .Corner-Shape,
.Option[data-color='B'] > .Road-Shape {
background-color: rgba(192, 192, 255, 0.8);
}
*/