:root {
--g-gap: 8px;
}
@media (min-width: 576px) {
:root {
--g-gap: 16px;
}
}
.glist {
display: grid;
gap: var(--g-gap);
}
.g4, .g3 {
--card-wmin: 296px;
}
.g3 {
grid-template-columns: repeat(3, 1fr);
--card-wmin: 296px;
}
.g4 {
grid-template-columns: repeat(4, 1fr);
--card-wmin: 296px;
}
.g8 {
grid-template-columns: repeat(8, 1fr);
--card-wmin: 144px;
}
@media (min-width: 576px) {
.g4, .g3 {
--card-wmin: 304px;
}
}
@media (min-width: 992px) {
.g2 {
--card-wmin: calc((100% - var(--g-gap) * 1) / 2);
}
.g3 {
--card-wmin: calc((100% - var(--g-gap) * 2) / 3);
}
.g4 {
--card-wmin: calc((100% - var(--g-gap) * 3) / 4);
}
.g8 {
--card-wmin: calc((100% - var(--g-gap) * 7) / 8);
}
}
.hscroll {
overflow-x: auto;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
padding-left: var(--wrp-p);
padding-right: var(--wrp-p);
margin-left: calc(var(--wrp-p)/-1);
margin-right: calc(var(--wrp-p)/-1);
padding-top: 24px;
padding-bottom: 24px;
margin-top: -24px;
margin-bottom: -24px;
scroll-snap-type: x mandatory;
}
.hscroll::-webkit-scrollbar {
display: none;
}
.hscroll .card {
scroll-margin-left: var(--wrp-p);
scroll-margin-right: var(--wrp-p);
scroll-snap-align: start;
scroll-snap-stop: always;
}
.hcarousel.glist {
--card-wmin: 304px;
grid-auto-flow: column;
grid-auto-columns: minmax(var(--card-wmin), 1fr);
}
@media (min-width: 992px) {
.hcarousel.glist {
--card-wmin: calc((100% - var(--g-gap) * 3) / 4);
}
}
@media (min-width: 992px) {
.scroll-container {
position: relative;
}
.scroll-buttons {
display: flex !important;
justify-content: space-between;
align-items: center;
position: absolute;
z-index: 10;
inset: 0;
left: calc(var(--wrp-p)/-1);
right: calc(var(--wrp-p)/-1);
pointer-events: none;
user-select: none;
}
.scroll-button {
position: relative;
display: flex;
align-items: center;
width: var(--wrp-p);
height: 100%;
padding: 0;
pointer-events: all;
color: inherit;
border: 0 none !important;
background: none !important;
outline: none !important;
cursor: pointer;
transition: opacity .2s ease, visibility .2s ease;
opacity: 1;
visibility: visible;
}
.scroll-button.prev {
justify-content: start;
}
.scroll-button.next {
justify-content: end;
}
.scroll-button.next .im {
margin-right: 4px;
}
.scroll-button.prev .im {
margin-left: 4px;
}
.scroll-button .im {
--im-color: hsl(var(--c-text));
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 1;
flex: 0 0 36px;
height: 36px;
border-radius: 50%;
}
.scroll-button .im::after {
content: "";
position: absolute;
z-index: -1;
inset: 0;
border-radius: 50%;
background-color: hsla(var(--c-body), 0.8);
transition: transform .15s ease, opacity .15s ease;
}
.scroll-button .im::before {
opacity: .6;
transition: opacity .15s ease;
}
.scroll-button:hover .im::before {
opacity: .8;
}
.scroll-button:hover .im::after {
transform: scale(1.03);
}
.scroll-button:active .im::after {
transform: scale(0.98);
}
.scrollbtn-fade .scroll-button::after {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
}
.scroll-button.hidden {
opacity: 0;
visibility: hidden;
pointer-events: none;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.scroll-button .im::after {
box-shadow: var(--block-sw);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
}
@media (min-width: 1200px) {
.scroll-button .im {
flex: 0 0 44px;
height: 44px;
}
.scroll-button .im::after {
background-color: hsl(var(--c-text));
opacity: .07;
}
.scroll-button:hover .im::after {
transform: scale(1.03);
opacity: 0.12;
}
.scroll-button:active .im::after {
transform: scale(0.98);
opacity: 0.13;
}
.scroll-button.next .im {
margin-right: 12px;
}
.scroll-button.prev .im {
margin-left: 12px;
}
.scrollbtn-fade .scroll-button.prev::after {
background-image: linear-gradient(-90deg, hsla(var(--c-body),0) 0%, hsla(var(--c-body),1) calc(100% - var(--wrp-p) * .75));
}
.scrollbtn-fade .scroll-button.next::after {
background-image: linear-gradient(90deg, hsla(var(--c-body),0) 0%, hsla(var(--c-body),1) calc(100% - var(--wrp-p) * .75));
}
}
.card-bubble {
height: 16px;
line-height: 16px;
padding: 0 4px;
text-transform: uppercase;
background-color: var(--mod_c);
color: hsl(var(--c-text));
border-radius: 10px;
}
html.darkmod .card-bubble {
background-color: midnightblue;
color: var(--mod_c);
}
.card-status {
display: flex;
align-items: center;
}
.card-status::before {
content: "";
width: 4px;
height: 4px;
border-radius: 50%;
margin-right: 4px;
}
.card-status-up {
color: var(--bg_update);
}
.card-status-up::before {
background-color: var(--bg_update);
}
.card-status-new {
color: var(--bg_new);
}
.card-status-new::before {
background-color: var(--bg_new);
}
.card-icon {
position: relative;
}
.card {
position: relative;
z-index: 1;
min-width: var(--card-wmin);
}
.cards-sw .card {
background-color: hsl(var(--block-bg));
box-shadow: var(--block-sw);
border-radius: var(--block-rd);
}
.card-wallpaper {
--appicon-size: 80px;
display: flex;
align-items: end;
padding: 16px;
height: 200px;
position: relative;
z-index: 1;
overflow: hidden;
border-radius: var(--block-rd);
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.card-wallpaper .cover {
position: absolute;
inset: 0;
z-index: -1;
}
.card-wallpaper .cover::after {
content: "";
position: absolute;
inset: 0;
background-color: hsla(0, 0%, 0%, .06);
transition: opacity .2s ease;
}
.card:hover .card-wallpaper .cover::after {
opacity: 0;
}
.card-wallpaper .appicon .mask {
--mask-w: 240px;
--mask-h: 240px;
--mask-bg: transparent;
--mask-size: 100% 100%;
--mask-img: url(//site-apk.site/wp-content/themes/zplay/assets/img/icons/star-mask.svg);
position: absolute;
z-index: -1;
left: calc(50% - var(--mask-w)/2);
top: calc(50% - var(--mask-h)/2);
background-image: radial-gradient(42.36% 42.36% at 50% 50%, hsla(var(--c-text-white),0.7) 0%, hsla(var(--c-text-white),0) 100%);
transform: scale(0.7);
opacity: 0;
transition: transform .7s ease, opacity .3s ease;
}
.card:hover .card-wallpaper .appicon .mask {
transform: scale(1);
opacity: 1;
}
.card:hover .card-wallpaper .appicon img {
transform: scale(1.02);
}
.card-row-btn {
display: flex;
align-items: center;
padding: 16px;
}
.card-row-btn .cont {
--title-fs: var(--fs);
--title-fw: var(--fw);
--title-lh: 20px;
--title-mb: 4px;
flex: 1 1 auto;
min-width: 100px;
padding-right: 8px;
}
.card-row-btn .btn {
position: relative;
z-index: 2;
}
.card-row-btn .btn .im {
display: none;
}
@media (min-width: 992px) and (max-width: 1199px) {
.card-row-btn .btn .im {
display: block;
}
.card-row-btn .btn .btn-cont {
display: none;
}
}
.cards-v .appitem .appicon::after, .app-list .appitem .appicon::after {
content: "";
border-radius: 50%;
position: absolute;
inset: -8%;
transform: translateY(15%);
z-index: -1;
background-image: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 0%, .2) 0%, hsla(0, 0%, 0%, 0) 100%);
pointer-events: none;
}
.appitem:hover .appicon img {
transform: scale(1.015);
}
.appitem .cont {
--title-fs: var(--fs-2);
--title-fw: var(--fw);
--title-lh: 20px;
--title-mb: 8px;
--meta-fs: var(--fs-4);
display: flex;
flex-direction: column;
padding: 12px 8px 8px 0;
}
.appitem .title {
opacity: .8;
overflow: hidden;
max-height: calc(var(--title-lh)*2);
transition: color .2s ease;
overflow-wrap: break-word;
word-break: break-word;
hyphens: auto;
min-width: 0;
}
.appitem:hover .title {
opacity: 1;
}
.appitem .meta-os {
order: -1;
margin-bottom: 8px;
}
.cards-sw .appitem {
--appicon-size: 108px;
display: flex;
align-items: center;
padding: 16px;
padding-left: 28px;
}
.cards-sw .appitem .cont {
flex: 1 1 auto;
padding-left: 12px;
}
.cards-sw .appitem .title {
max-height: calc(var(--title-lh)*2);
overflow: hidden;
}
.cards-sw .appitem .appicon {
min-width: var(--appicon-size);
}
@media (min-width: 992px) and (max-width: 1199px) {
.cards-sw .appitem {
--appicon-size: 80px;
}
}
.rateapps .card-ratenum {
--nums-color: var(--primary_c);
--nums-img: url(//site-apk.site/wp-content/themes/zplay/assets/img/nums.svg);
--nums-w: 76px;
--nums-h: 64px;
--nums-pos: 0;
--nums-poscalc: calc((var(--nums-h)*var(--nums-pos))/-1);
position: absolute;
z-index: 2;
left: 0;
top: calc(50% - var(--nums-h)/2);
max-width: var(--nums-w);
min-width: var(--nums-w);
height: var(--nums-h);
user-select: none;
pointer-events: none;
}
.rateapps .card-ratenum::after, .rateapps .card-ratenum::before {
content: "";
display: block;
position: absolute;
inset: 0;
flex-shrink: 0;
width: inherit;
height: inherit;
mask-size: calc(var(--nums-w)*2) auto;
-webkit-mask-size: calc(var(--nums-w)*2) auto;
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-image: var(--nums-img);
-webkit-mask-image: var(--nums-img);
}
.rateapps .card-ratenum::before {
background-color: var(--primary_c);
mask-position: left var(--nums-poscalc);
-webkit-mask-position: left var(--nums-poscalc);
}
.rateapps .card-ratenum::after {
background-color: var(--nums-color);
z-index: 1;
mask-position: right var(--nums-poscalc);
-webkit-mask-position: right var(--nums-poscalc);
}
.rateapps .appitem:nth-child(1) .card-ratenum {
--nums-pos: 0;
}
.rateapps .appitem:nth-child(2) .card-ratenum {
--nums-pos: 1;
}
.rateapps .appitem:nth-child(3) .card-ratenum {
--nums-pos: 2;
}
.rateapps .appitem:nth-child(4) .card-ratenum {
--nums-pos: 3;
}
.rateapps .appitem:nth-child(5) .card-ratenum {
--nums-pos: 4;
}
.rateapps .appitem:nth-child(6) .card-ratenum {
--nums-pos: 5;
}
.rateapps .appitem:nth-child(7) .card-ratenum {
--nums-pos: 6;
}
.rateapps .appitem:nth-child(8) .card-ratenum {
--nums-pos: 7;
}
.rateapps .appitem:nth-child(9) .card-ratenum {
--nums-pos: 8;
}
.rateapps .appitem:nth-child(10) .card-ratenum {
--nums-pos: 9;
}
.appdesc {
--appicon-size: 64px;
--title-fs: var(--fs);
--title-fw: var(--fw);
--desc-fs: var(--fs-2);
--title-lh: 20px;
--desc-lh: 20px;
display: flex;
flex-direction: column;
}
.card-first-cont {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 20px;
flex: 1 1 auto;
}
.card-first-cont .appicon {
margin-bottom: 16px;
}
.card-sec-cont {
display: flex;
justify-content: center;
padding: 20px;
padding-top: 0;
}
.appdesc .title {
display: block;
width: 100%;
margin-bottom: 8px;
}
.appdesc .desc {
max-height: calc(var(--desc-lh)*3);
overflow: hidden;
opacity: .8;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
line-clamp: 3;
}
.appdesc:hover .item-link .title {
color: var(--c-second);
}
.appdesc:hover .appicon img {
transform: scale(1.015);
}
.appdesc:hover .btn-line {
--btn-c-text: var(--c-second);
--btn-c-bg: var(--c-primary);
--btn-c-sw: inset 0 0 0 6px var(--c-primary);
}
.appdesc:hover .btn-line:hover {
--btn-c-bg: var(--c-primary_h);
}
.appdesc:hover .btn-line:active {
--btn-c-bg: var(--c-primary);
}
.setitem {
--appicon-size: 40px;
--title-fs: var(--fs);
--title-mb: 12px;
display: flex;
align-items: end;
padding: 20px;
color: hsl(var(--c-text-white));
height: 280px;
}
.setitem .cont {
flex: 1 1 auto;
}
.setitem .title {
display: block;
}
.card-bg {
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
overflow: hidden;
background-color: var(--card-bg);
}
.card-bg .cover {
position: absolute;
inset: 0;
-webkit-mask-image: linear-gradient(0deg, #0000 0%, #000 70%);
mask-image: linear-gradient(0deg, #0000 0%, #000 70%);
}
.card-bg img {
opacity: .8;
transition: opacity .2s ease;
}
.card:hover .card-bg img {
opacity: 1;
}
.setapp-list {
display: flex;
gap: 8px;
}
.setapp-list .appicon {
width: var(--appicon-size);
height: var(--appicon-size);
}
.setitem .appicon:hover img {
transform: scale(1.015);
}
.cardposts {
--title-fs: var(--fs);
--title-lh: var(--lh);
--title-fw: var(--fw);
--title-mb: 0;
--meta-gap: 12px;
}
.cardposts .meta {
padding: 2px 0;
height: 20px;
margin-bottom: 4px;
}
.cardposts .cover {
height: 184px;
border-radius: var(--block-rd);
margin-bottom: 12px;
}
.cardposts .cover::after {
content: "";
position: absolute;
inset: 0;
background-color: hsla(0, 0%, 0%, .06);
transition: opacity .2s ease;
}
.cardposts:hover .cover::after {
opacity: 0;
}
.cardposts .title {
opacity: .8;
transition: opacity .2s ease;
}
.cardposts:hover .title {
opacity: 1;
}
.cardcom {
display: flex;
flex-direction: column;
}
.cardcom-head {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
margin-bottom: 12px;
padding-right: 12px;
white-space: nowrap;
font-size: var(--fs-2);
}
.cardcom-head .username {
min-width: 0;
}
.cardcom-head time {
opacity: .7;
}
.cardcom-head .cover {
flex: 0 0 28px;
height: 28px;
border-radius: 50%;
background-color: var(--c-primary);
}
html.darkmod .cardcom-head .cover {
background-color: hsla(var(--c-text), 0.2);
}
.cardcom-cloud {
display: flex;
flex-direction: column;
gap: 16px;
width: 100%;
background-color: var(--bg_comt);
padding: 24px;
border-radius: var(--block-rd);
border-top-left-radius: 4px;
--desc-fs: var(--fs);
--desc-lh: 24px;
}
html.darkmod .cardcom-cloud {
background-color: var(--bg_comt);
}
.cardcom-cloud {
flex: 1 1 auto;
}
.cardcom-cloud .desc {
max-height: calc(var(--desc-lh)*2);
overflow: hidden;
}
.cardcom-cloud a.item-link {
justify-content: end;
font-size: var(--fs-2);
color: var(--c-second) !important;
margin-top: auto;
}
.cardcom-cloud a.item-link .im {
--im-color: var(--c-second);
}
.cardcom-cloud a.item-link .im::before {
transition: transform .2s ease;
}
.cardcom-cloud a.item-link:hover .im::before {
transform: translateX(2px);
}
.app-list {
--app-list-cols: 2;
--appicon-size: 220px;
gap: 20px var(--g-gap);
grid-template-columns: repeat(var(--app-list-cols), 1fr);
}
@media (min-width: 460px) {
.app-list {
--app-list-cols: 3;
}
}
@media (min-width: 576px) {
.app-list {
--app-list-cols: 2;
--appicon-size: 128px;
gap: var(--sect-gap) var(--g-gap);
}
.app-list .appitem {
display: flex;
align-items: center;
}
.app-list .appitem .cont {
flex: 1 1 auto;
padding-left: 16px;
min-width: 0;
}
.app-list .appitem .title {
max-height: calc(var(--title-lh)*3);
overflow: hidden;
}
.app-list .appitem .appicon {
min-width: var(--appicon-size);
}
}
@media (min-width: 900px) {
.app-list {
--app-list-cols: 3;
}
}
@media (min-width: 1200px) {
.app-list {
--app-list-cols: 4;
}
}