frontend/3kh0v4/css/style.css
2024-02-01 07:22:16 -05:00

677 lines
11 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");
* {
font-family: "Ubuntu", sans-serif;
user-select: none;
}
html {
scroll-behavior: smooth;
}
::-webkit-scrollbar {
width: 16px;
}
::-webkit-scrollbar-thumb {
background: var(--theme);
border: 4px solid transparent;
background-clip: content-box;
border-radius: 8px;
}
::-webkit-scrollbar-corner {
background: transparent;
}
::placeholder {
color: var(--text-secondary);
user-select: none;
}
body {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
min-height: 100vh;
background: var(--background);
}
@keyframes breathing {
0% {
box-shadow: 0 5px 170px var(--theme);
}
25% {
box-shadow: 0 5px 200px var(--theme);
}
60% {
box-shadow: 0 5px 170px var(--theme);
}
100% {
box-shadow: 0 5px 170px var(--theme);
}
}
@-webkit-keyframes breathing {
0% {
box-shadow: 0 5px 170px var(--theme);
}
25% {
box-shadow: 0 5px 200px var(--theme);
}
60% {
box-shadow: 0 5px 170px var(--theme);
}
100% {
box-shadow: 0 5px 170px var(--theme);
}
}
.navbar {
height: 56px;
box-shadow: 0 5px 200px var(--theme);
position: sticky;
top: 0;
z-index: 9999;
animation: breathing 5s ease-out infinite normal;
}
.navbar.noshadow {
box-shadow: 0 0 0 var(--background);
animation: none;
}
.navitems {
display: flex;
justify-content: center;
height: 100%;
align-items: center;
gap: 10px;
background: var(--background);
}
.navlogo {
height: 45px;
border-radius: 15px;
position: absolute;
left: 5px;
user-select: none;
}
@keyframes shake {
0% {
transform: translate(1px, 1px) rotate(0deg);
}
10% {
transform: translate(-1px, -2px) rotate(-1deg);
}
20% {
transform: translate(-3px, 0px) rotate(1deg);
}
30% {
transform: translate(3px, 2px) rotate(0deg);
}
40% {
transform: translate(1px, -1px) rotate(1deg);
}
50% {
transform: translate(-1px, 2px) rotate(-1deg);
}
60% {
transform: translate(-3px, 1px) rotate(0deg);
}
70% {
transform: translate(3px, 1px) rotate(-1deg);
}
80% {
transform: translate(-1px, -1px) rotate(1deg);
}
90% {
transform: translate(1px, 2px) rotate(0deg);
}
100% {
transform: translate(1px, -2px) rotate(-1deg);
}
}
.navlogo:hover {
animation: shake 0.5s;
animation-iteration-count: infinite;
}
.navitem {
border-radius: 500px;
padding: 10px 15px;
font-size: 15px;
background: transparent;
cursor: pointer;
user-select: none;
color: var(--text);
}
.navitem[current] {
background: var(--theme);
color: var(--text-secondary);
}
.title {
font-size: 3em;
color: var(--text);
text-align: center;
margin-top: 180px;
font-weight: bold;
margin-top: 10rem;
}
.message {
text-align: center;
color: var(--text);
font-size: 1.5rem;
margin: 1rem;
}
.homemessage {
cursor: pointer;
width: fit-content;
user-select: none;
}
.play-link {
width: fit-content;
display: block;
}
.play {
height: 30px;
padding: 20px 15px;
display: flex;
align-items: center;
justify-content: center;
background: var(--theme);
font-size: 1rem;
border-radius: 15px;
cursor: pointer;
margin-bottom: 10rem;
user-select: none;
border: none;
color: var(--text-secondary);
transition: transform 500ms;
transition: background 250ms;
}
.play:hover {
background: var(--theme-hover);
}
a {
text-decoration: none;
color: #0084ff;
}
footer {
color: var(--text);
text-align: center;
margin-top: auto;
margin-bottom: 5px;
}
.searchbar {
height: 40px;
border: none;
background: var(--theme);
outline: none;
font-size: 1rem;
border-radius: 15px;
padding: 0 15px;
margin: 1rem;
width: 40rem;
color: var(--text-secondary);
max-width: calc(100% - 4rem);
}
.games {
display: flex;
align-items: center;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-content: center;
}
.game {
height: 240px;
width: 200px;
background: var(--theme);
color: var(--text);
text-decoration: none;
border-radius: 15px;
display: flex;
align-items: center;
flex-wrap: wrap;
justify-content: center;
-webkit-user-select: none;
user-select: none;
position: relative;
transition: 0.5s;
margin: 22px;
padding: 20px;
}
.game:hover {
transform: scale(1.1);
box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.616);
}
.game[hidden] {
display: none;
}
.game > img {
background: var(--theme);
object-fit: cover;
height: 200px;
width: 200px;
border-radius: 15px;
}
.game > span {
line-height: 40px;
width: 200px;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text-secondary);
padding: 0 10px;
font-size: 16px;
}
.nogames {
color: var(--text);
margin: 0 2rem;
margin-top: -2rem;
text-align: center;
display: none;
}
.section-title {
color: var(--text);
font-size: 1.5rem;
margin: 1rem;
}
.section-text {
color: var(--text);
font-size: 1rem;
margin: 0 1rem;
}
.section-text p {
font-size: 18px;
}
.section-text a {
color: var(--theme);
}
.buttons {
display: flex;
gap: 10px;
margin: 0 1rem;
user-select: none;
flex-wrap: wrap;
flex-direction: row;
justify-content: flex-start;
align-items: center;
align-content: center;
}
.button {
background: var(--theme);
width: fit-content;
padding: 10px;
border-radius: 6px;
cursor: pointer;
color: var(--text-secondary);
border: 0;
}
.input {
border: none;
background: var(--theme);
width: 200px;
padding: 10px;
border-radius: 6px;
outline: none;
color: var(--text-secondary);
}
select {
border: none;
background: var(--theme);
width: 200px;
padding: 10px;
border-radius: 6px;
outline: none;
color: var(--text-secondary);
}
.play-link {
width: fit-content;
display: block;
}
.reviews-link {
height: 35px;
padding: 20px 15px;
display: flex;
align-items: center;
justify-content: center;
background: var(--theme);
font-size: 1rem;
border-radius: 40px;
cursor: pointer;
margin-bottom: 10rem;
user-select: none;
border: none;
color: var(--text-secondary);
width: fit-content;
position: absolute;
bottom: 1rem;
right: 0;
left: 0;
margin: 0 auto;
}
#reviews {
margin-top: 26rem;
visibility: hidden;
height: 382px;
}
.review-container {
display: flex;
}
.review {
background: var(--theme);
width: 200px;
height: 350px;
margin: 1rem;
border-radius: 15px;
}
.review-img {
border-radius: 50%;
width: 124px;
height: 124px;
display: flex;
margin: 0 auto;
margin-top: 1rem;
}
.review-name {
color: var(--text-secondary);
font-size: 1.5rem;
text-align: center;
margin: 0.5rem;
overflow: hidden;
height: 29.6px;
}
.review-content {
margin: 0 10px;
text-align: center;
overflow: hidden;
height: 44%;
color: var(--text-secondary);
}
.review-placeholder {
width: 200px;
height: 350px;
margin: 1rem;
border-radius: 15px;
opacity: 0;
user-select: none;
pointer-events: none;
}
[class^="number-slide"],
[class*=" number-slide"] {
display: flex;
align-items: center;
justify-content: center;
}
.navigation-wrapper {
position: relative;
}
.arrow {
width: 30px;
height: 30px;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
fill: #fff;
cursor: pointer;
}
.arrow--left {
left: 5px;
fill: "#fff";
background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24' %3E%3Cpath d='M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z' %3E%3C/path%3E%3C/svg%3E");
}
.arrow--right {
left: auto;
right: 5px;
background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24' %3E%3Cpath d='M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z'%3E%3C/path%3E%3C/svg%3E");
}
.arrow--disabled.arrow--left {
background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='grey' viewBox='0 0 24 24' %3E%3Cpath d='M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z' %3E%3C/path%3E%3C/svg%3E");
}
.arrow--disabled.arrow--right {
background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' fill='grey' viewBox='0 0 24 24' %3E%3Cpath d='M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z'%3E%3C/path%3E%3C/svg%3E");
}
.version-warning {
color: var(--theme);
display: none;
}
.spinner {
display: inline-block;
color: var(--theme);
animation: 1.4s linear 0s infinite normal none running animation-61bdi0;
width: 80px;
height: 80px;
margin: 0 auto;
margin-top: 2rem;
}
.spinnerSvg {
stroke: currentColor;
stroke-dasharray: 80px, 200px;
stroke-dashoffset: 0;
-webkit-animation: animation-1p2h4ri 1.4s ease-in-out infinite;
animation: animation-1p2h4ri 1.4s ease-in-out infinite;
}
@keyframes animation-61bdi0 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.saveItems {
display: flex;
gap: 10px;
padding-left: 2rem;
}
.hiddenUpload {
display: none;
}
.uploadResult {
display: none;
color: var(--theme);
display: flex;
align-items: center;
}
.changelog-item {
display: flex;
width: fit-content;
border-radius: 2.5px;
margin: 1em 0;
}
.changelog-type {
padding: 0 0.5rem;
border-radius: 30px;
margin-right: 0.5rem;
user-select: none;
font-size: 13px;
display: flex;
align-items: center;
justify-content: center;
}
.changelog-type[added] {
background: #21bd01;
color: white;
}
.changelog-type[added]::before {
content: "Added";
}
.changelog-type[removed] {
background: #ff0000;
color: white;
}
.changelog-type[removed]::before {
content: "Removed";
}
.changelog-type[changed] {
background: #ff7b00;
color: white;
}
.changelog-type[changed]::before {
content: "Changed";
}
.hii {
color: var(--theme);
margin: 1rem;
margin-left: 2rem;
}
.alien {
border: none;
margin: 1rem auto;
}
input[type="color"] {
background: var(--text);
border: none;
border-radius: 5px;
outline: none;
padding: 2px;
}
.bookmarklet {
margin-bottom: 50px;
}
.content {
margin-left: 50px;
margin-bottom: 50px;
}
.hidden {
display: none;
}
.gamecontainer {
height: 50em;
}
.gamecontainer > .nav {
display: flex;
width: 100%;
height: 45px;
background: var(--theme);
align-items: stretch;
}
.gamecontainer > .nav > .item {
width: fit-content;
padding: 0.5em;
cursor: pointer;
}
.gamecontainer > .nav > span {
width: fit-content;
padding: 0.5em;
color: var(--text);
font-size: 22px;
}
.gamecontainer > .nav > .item#fullscreen {
margin: 0.2em;
width: fit-content;
padding: 0.4em;
cursor: pointer;
right: 0;
position: fixed;
background-color: var(--text);
border-radius: 999999999999999999999px;
}
.gamecontainer > .nav > .item > svg {
width: 30px;
}
.gamecontainer > .nav > .item > svg > path {
fill: var(--background);
}
.gamecontainer > div {
height: 100%;
}
.gamecontainer > div > iframe {
width: 100%;
height: 100%;
}