wgo
Version:
JavaScript library for game of Go
427 lines (356 loc) • 13.2 kB
CSS
@font-face {
font-family: 'wgo-icons';
src: url('data:application/font-woff;base64,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') format('woff');
font-weight: normal;
font-style: normal;
}
.wgo-player {
all: unset;
display: block;
font-family: calibri;
font-size: 15px;
position: relative;
--box-content-background: rgba(255, 255, 255, 0.5);
--box-background: rgba(121, 85, 72, 0.05);
}
.wgo-player__container {
display: flex;
max-height: 100%;
}
.wgo-player__container--row {
flex-direction: row;
}
.wgo-player__container--column {
flex-direction: column;
}
.wgo-player__container--column .wgo-player__box:last-child {
flex: 1;
}
.wgo-player__container--row > :nth-child(1) {
flex: 2;
}
.wgo-player__container--row > :nth-child(2) {
flex: 1;
}
.wgo-player__box {
background: var(--box-background);
padding: 10px 15px;
overflow: hidden;
}
.wgo-player__container--column > * + * {
margin-top: 1px;
}
.wgo-player__container--row > * + * {
margin-left: 1px;
}
.wgo-player__box--content {
display: flex;
flex-direction: column;
}
.wgo-player__box__title {
font-size: 1.5em;
margin-bottom: 5px;
}
.wgo-player__box__content {
flex: 1;
align-self: stretch;
background-color: var(--box-content-background);
padding: 5px 7px;
overflow: auto;
min-height: 54px;
}
.wgo-player__box__content p {
margin: 0 0 5px;
}
.wgo-player__player-tag {
display: flex;
align-items: center;
width: 100%;
box-sizing: border-box;
}
.wgo-player__player-tag__name {
font-size: 1.5em;
}
.wgo-player__player-tag__name__rank {
font-size: 0.66em;
}
.wgo-player__player-tag__name__rank:not(:empty)::before {
content: ' (';
}
.wgo-player__player-tag__name__rank:not(:empty)::after {
content: ')';
}
.wgo-player__player-tag__color {
margin-left: auto;
min-width: 30px;
max-width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
border-radius: 50%;
border: 1px solid black;
}
.wgo-player__player-tag__color--black {
background: rgba(64,64,64,1);
color: white;
}
.wgo-player__player-tag__color--white {
background: rgba(255,255,255,1);
}
.wgo-player__nick {
font-weight: bold;
}
.wgo-player__move-link {
background: rgba(0, 0, 0,0.3);
color: rgba(255,255,255,1);
padding: 0 3px;
border-radius: 3px;
text-decoration: none;
}
.wgo-player__move-link:hover {
background: rgba(0, 0, 0, 0.5);
}
.wgo-player__box__game-info {
border-collapse: collapse;
}
.wgo-player__box__game-info > tr > th {
text-align: left;
font-weight: bold;
padding: 5px 7px;
}
.wgo-player__box__game-info > tr > td {
padding: 5px 7px;
}
.wgo-player__box__game-info > tr:not(:last-child) > th,
.wgo-player__box__game-info > tr:not(:last-child) > td {
padding-bottom: 0;
}
.wgo-player__control-panel {
display: flex;
padding: 15px;
align-items: center;
}
.wgo-player__button {
display: inline-block;
font-weight: normal;
text-align: center;
cursor: pointer;
background: transparent;
border: 1px solid rgba(0, 0, 0, 0.3);
color: rgba(0, 0, 0, 0.8);
white-space: nowrap;
padding: 6px;
font-size: 15px;
border-radius: 4px;
user-select: none;
max-width: 50px;
box-sizing: border-box;
}
.wgo-player__button:disabled {
color: rgba(64, 64, 64, 0.5);
cursor: default;
}
.wgo-player__move-number {
width: 30px;
font-variant: tabular-nums;
max-width: 50px;
box-sizing: border-box;
}
.wgo-player__button-group {
font-size: 0px;
display: flex;
align-items: center;
justify-content: center;
flex: 1;
}
.wgo-player__button-group > * {
flex: 1;
}
.wgo-player__button-group > .wgo-player__button:first-child:not(:last-child) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.wgo-player__button-group > .wgo-player__button:not(:first-child):not(:last-child) {
border-radius: 0;
}
.wgo-player__button-group > .wgo-player__button:last-child:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.wgo-player__button-group .wgo-player__button + .wgo-player__button {
margin-left: -1px;
}
.wgo-player__button--menu {
margin-left: 15px;
width: 40px;
}
.wgo-player__menu-wrapper {
position: relative;
}
.wgo-player__menu {
position: absolute;
top: calc(100% + 5px);
right: 0;
border: 1px solid rgba(0, 0, 0, 0.3);
background-color: rgba(255, 255, 255, 0.95);
padding: 3px 0;
border-radius: 4px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.1s;
}
.wgo-player__menu:focus-within,
.wgo-player__button--menu:focus + .wgo-player__menu {
opacity: 1;
pointer-events: all;
}
.wgo-player__menu-item {
padding: 3px 29px 3px 9px;
position: relative;
cursor: pointer;
user-select: none;
display: block;
text-decoration: none;
color: inherit;
}
.wgo-player__menu-item:hover {
background-color: rgba(0, 0, 0, 0.05);
}
.wgo-player__menu-item--checked:after {
content: '\e813';
position: absolute;
right: 6px;
top: 6px;
font-family: "wgo-icons";
}
/* Available icons: */
.wgo-player__icon-fast-forward:before {
font-family: "wgo-icons";
content: '\e817';
}
.wgo-player__icon-to-end:before {
font-family: "wgo-icons";
content: '\e81a';
display: inline-block;
}
.wgo-player__icon-play:before {
font-family: "wgo-icons";
content: '\e80c';
display: inline-block;
}
.wgo-player__icon-check:before {
font-family: "wgo-icons";
content: '\e813';
display: inline-block;
}
.wgo-player__icon-menu:before {
font-family: "wgo-icons";
content: '\e81b';
display: inline-block;
}
.wgo-player__icon-comment:before {
font-family: "wgo-icons";
content: '\e800';
display: inline-block;
}
.wgo-player__icon-help-circled:before {
font-family: "wgo-icons";
content: '\e80f';
display: inline-block;
}
.wgo-player__icon-check-empty:before {
font-family: "wgo-icons";
content: '\e814';
display: inline-block;
}
.wgo-player__icon-circle-empty:before {
font-family: "wgo-icons";
content: '\e816';
display: inline-block;
}
.wgo-player__icon-circle:before {
font-family: "wgo-icons";
content: '\e815';
display: inline-block;
}
.wgo-player__icon-info:before {
font-family: "wgo-icons";
content: '\e801';
display: inline-block;
}
.wgo-player__icon--reverse:before {
transform: scaleX(-1);
}
.wgo-player__overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
backdrop-filter: blur(1px);
background: rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
}
.wgo-player__overlay__close {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
}
.wgo-player__modal {
max-width: 90%;
max-height: 90%;
width: 500px;
background: white;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
border-radius: 2px;
}
.wgo-player__modal__content {
width: 100%;
height: 100%;
background: white;
}
.wgo-player__wgo-info {
padding: 0 15px 10px;
font-size: 0.933em;
background: var(--box-background);
}
/* TEMP */
.btn-default {
color: #333333;
background-color: #ffffff;
border-color: #cccccc;
}
.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active {
color: #333333;
background-color: #ebebeb;
border-color: #adadad;
}
.btn:active, .btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.box {
display: flex;
padding: 10px 20px;
background: rgba(121, 85, 72, 0.05);
margin: 0 0px 1px 1px;
flex: 1;
flex-direction: column;
}
.title {
font-size: 1.5em;
margin-bottom: 0.25em;
}
.content {
background: rgba(255, 255, 255, 0.5);
flex: 1;
}