browser-go-proto/css/main.css

512 lines
10 KiB
CSS

@import url('https://fonts.googleapis.com/css?family=La+Belle+Aurore|Raleway:300|Raleway:600');
* {
box-sizing: border-box;
margin: 0;
vertical-align: middle;
font-family: 'Raleway', sans-serif;
}
html {
font-size: 12px;
background: radial-gradient(farthest-corner at 55% 40%, rgb(150, 200, 220) 0%, rgb(97, 166, 194) 65%, rgb(70,100,120) 90%, rgb(40, 80, 90) 100%);
}
body {
height: vh;
width: vw;
display: flex;
justify-content: center;
}
.modal {
display: flex;
position: fixed;
z-index: 2;
/* display: none; */
width: 100vw;
height: 100vh;
background-color: rgba(0,0,0,0.3);
align-items: flex-start;
justify-content: center;
visibility: hidden;
overflow-y: scroll;
}
#menu {
position: relative;
background-color: rgb(250, 2250, 255, 0.9);
padding: 1vmin;
display: grid;
grid-template-columns: 60vw;
grid-template-rows: auto auto 60vw auto;
grid-template-areas:
"meta"
"player"
"record"
"submit";
font-family: 'La Belle Aurore', cursive;
min-height: 0;
max-height: 100vh;
z-index: 3;
}
#menu .menu-subblock {
display: flex;
justify-content: space-between;
margin: .25em;
}
#game-meta {
grid-area: meta;
display: flex;
flex-direction: column;
}
.menu-heading, content, #instructions, div[data-player-meta] label {
font-family: 'Raleway', sans-serif;
}
h1 {
font-size: 140%;
font-weight: 600;
}
h4 {
font-weight: 600;
margin: .25em;
font-size: 110%;
}
#player-meta {
grid-area: player;
display: flex;
justify-items: stretch;
flex-direction: column;
}
#player-meta span[id$="rank"] {
margin: 0 2em;
}
#player-meta input[type="button"] {
margin: .25em;
}
#player-meta * .menu-line {
display: flex;
flex-flow: row nowrap;
align-items: baseline;
justify-items: flex-start;
}
div[data-player-meta] {
width: 100%;
justify-self: stretch;
}
div[data-player-meta] input[type="text"] {
width: 90%;
justify-self: stretch;
}
div[data-player-meta] input {
margin: 1vmin;
}
#confirm {
visibility: hidden;
}
div[data-player-meta] label {
margin: .25em;
font-size: 100%;
}
#game-record-space {
grid-area: record;
}
#instructions {
padding: .5em;
line-height: 1.5;
overflow: scroll;
height: 100%;
width: 100%
}
#instructions, #game-record{
border: 2px solid black;
height: 1;
}
#game-record {
visibility: hidden;
}
#game-update-space {
grid-area: submit;
margin: .5em;
display: flex;
justify-content: space-between;
}
content {
display: flex !important;
flex-direction: column;
justify-content: space-between !important;
height: 100vh;
width: 100vw;
}
.player-pos {
display: flex;
align-items: flex-end;
justify-content: space-around;
flex: 5;
height: 9vmin;
}
#game-hud p {
font-size: 130%;
width: 100%;
order: 0;
width: 10vh;
background-color: rgba(0,0,0,0.3);
padding: 1vh;
color: #fff;
cursor: pointer;
visibility: hidden;
}
.player-pos#black-pos {
align-items: flex-start;
flex-direction: row-reverse;
justify-self: flex-end;
}
#kifu {
order: 0;
height: 10vh;
width: 8vh;
background-color: #FFF;
transform: rotate(-20deg);
}
.bowl {
order: -1;
margin: 4vh;
height: 15vh;
width: 15vh;
/* border: solid black; */
border-radius: 50%;
background-color: rgb(116, 48, 17);
background: radial-gradient(farthest-corner at 48% 54%, rgba(30, 5, 0, 0.25) 0%, rgba(30, 5, 0, 0.45) 2%, rgba(30, 5, 0, 0.75) 32%, rgb(0,0,0,0.85)35%, rgb(116,48,17) 48%, rgb(140, 60, 40) 52%, rgb(100, 40, 5) 55%, rgb(116, 48, 17) 58%, rgb(140,60,40) 65%, rgb(100, 40, 5) 80%, rgb(80, 20, 0) 90%);
box-shadow: -1vmin 2vmin 1.5vmin rgba(83, 53, 35, 0.61);
display: flex;
align-items: center;
justify-content: center;
}
.bowl p {
display: none;
}
.stone-image {
height: 100%;
width: 100%;
border-radius: 50%;
background-size: cover;
z-index: -1;
}
#white-stone-image {
background-image: url(../images/white-stones-bowl.jpg);
}
#black-stone-image {
background-image: url(../images/black-stones-bowl.jpg);
}
.bowl[data-turn]:hover p {
display: block;
color: #FFF;
background-color: rgba(0,0,0,0.3);
padding: .5em;
cursor: grab;
}
.bowl[data-turn] {
box-shadow: 0 0 3vh 3vh rgb(255, 175, 2);
}
.caps-space {
color: #FFF;
margin: 1vh;
height: 10vh;
width: 10vh;
border-radius: 50%;
background: radial-gradient(farthest-side at 49% 52%, rgb(150, 75, 50) 0%, rgb(116,48,17) 35%, rgb(116,48,17) 64%, rgb(80, 20, 0) 65%, rgb(175, 140, 95) 70%, rgb(120, 50, 40) 80%, rgb(80, 20, 0) 95%, rgb(175, 140, 95) 100%);
box-shadow: -0.5vmin 1vmin 1vmin rgba(83, 53, 35, 0.61);
display: flex;
align-items: center;
justify-content: center;
}
.caps-space :first-child {
display: none;
}
.bowl[data-turn] + .name-space .caps-space:hover :first-child {
display: block;
position: absolute;
background-color: rgba(0,0,0,0.7);
padding: .5em;
cursor: grab;
}
.name-space {
order: 1;
display: flex;
flex-direction: column;
align-items: center;
}
.name-space h4 {
font-size: 120%;
color: rgb(255,240,230);
background-color: rgba(0,0,0,0.7);
padding: 0.25em;
z-index: 1;
}
#board-container {
width: 100%;
display: grid;
grid-template-areas: 100%;
grid-template-columns: 100%;
grid-template-areas:
"board";
}
#board-space tbody {
background: radial-gradient(farthest-corner at 55% 40%, rgba(244, 230, 120, 0.75) 0%, rgba(234, 178, 78, 0.5) 65%, rgba(200, 160, 90, 0.45) 90%, rgba(200, 140, 90, 0.45) 100%);
background-size: cover;
padding: 1vmin;
}
#board-space {
grid-area: board;
margin: 0 auto;
display: flex;
flex-direction: column;
background-image: url(../images/board.png);
z-index: 1;
box-shadow: -2vmin 4vmin 3vmin rgba(145, 92, 23, 0.5);
flex: 1;
}
#board-space table {
display: flex;
align-items: stretch;
justify-content: space-between;
margin: auto;
}
#board-space td {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%);
border-radius: 50% solid black;
color: black;
margin: auto;
padding: 0;
vertical-align: middle;
}
#board-space .board-9x9 td {
height: 9vmin;
width: 9vmin;
}
#board-space .board-13x13 td {
height: 7vmin;
width: 7vmin;
}
#board-space .board-19x19 td {
height: 5vmin;
width: 5vmin;
}
#board-space td.top {
background: conic-gradient( rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%);
}
#board-space td.btm {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%);
}
#board-space td.lft {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 99%, #000 100%);
}
#board-space td.rgt {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%);
}
#board-space td.top.lft {
background: conic-gradient( rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%);
}
#board-space td.top.rgt {
background: conic-gradient( rgba(0,0,0,0) 49%, #000 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76% );
}
#board-space td.btm.lft {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 24%, #000 25%, rgba(0,0,0,0) 26%, rgba(0,0,0,0) 99%, #000 100%);
}
#board-space td.btm.rgt {
background: conic-gradient(#000 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0) 74%, #000 75%, rgba(0,0,0,0) 76%, rgba(0,0,0,0) 99%, #000 100%);
}
.stone.hoshi {
background: radial-gradient(circle farthest-corner at center, #000 0%, #000 14%, rgba(0,0,0,0) 15%);
z-index: 3;
}
td .stone {
width: 85%;
height: 85%;
border-radius: 50%;
margin: auto;
vertical-align: middle;
display: flex;
flex-direction: column;
justify-content: center;
}
td .stone .dot {
width: 35%;
height: 35%;
border-radius: 50%;
margin: auto;
vertical-align: middle;
}
td .stone[data-stone="ko"] {
background-color: transparent;
border: 1vmin solid rgba(200,20,50,0.8);
border-radius: 0%;
}
td .stone[data-stone="white"] {
background: radial-gradient(farthest-side at 55% 40%, white 0%, rgb(200,200,200) 65%, rgb(100,100,100) 90%, rgb(68, 50, 0) 100%);
box-shadow: -.25vmin .5vmin .5vmin rgba(145, 92, 23, 0.5);
}
td .stone[data-stone="black"] {
background-color: black;
background: radial-gradient(farthest-side at 55% 40%, rgb(220,220,220) 0%, rgb(60,60,60) 45%, rgb(15,15,15) 90%, rgb(5, 5, 0) 100%);
box-shadow: -.25vmin .5vmin .5vmin rgba(145, 92, 23, 0.75);
}
td .stone[data-stone="none"] {
background-color: transparent;
}
td .dot[data-dot="white"] {
background-color: white;
}
td .dot[data-dot="black"] {
background-color: black;
}
td .dot[data-dot="none"] {
background-color: transparent;
}
td .dot[data-dot="dame"] {
background-color: purple;
}
@media only screen and (min-width: 591px) {
#player-meta {
flex-direction: row;
}
div[data-player-meta] {
width: 50%;
}
}
/* Responsive Design */
@media only screen and (min-width: 500px) {
html {
font-size: 14px;
}
.player-pos {
height: 14vh;
}
}
@media only screen and (min-width: 590px) {
#board-space .board-19x19 td {
height: 3.5vh;
width: 3.5vh;
}
}
@media only screen and (min-width: 570px) {
#board-space .board-9x9 td {
height: 7.5vh;
width: 7.5vh;
}
#board-space .board-13x13 td {
height: 5vh;
width: 5vh;
}
.bowl {
order: -1;
margin: 3vh;
height: 10vh;
width: 10vh;
}
.caps-space {
color: #FFF;
margin: 2vh;
height: 7vh;
width: 7vh;
}
}
@media only screen and (min-width: 700px) {
content {
width: 700px;
}
#menu {
grid-template-columns: 50vw;
grid-template-rows: auto auto 50vw auto;
}
}
@media only screen and (min-width: 900px) {
#menu {
grid-template-columns: 55vh;
grid-template-rows: auto auto 55vh auto;
}
}