716 lines
11 KiB
CSS
716 lines
11 KiB
CSS
:root {
|
|
--scale: 0.36;
|
|
--canvas-width: 1080px;
|
|
--canvas-height: 4560px;
|
|
--page-bg: #ffadd3;
|
|
--deep-red: #a01626;
|
|
--muted-pink: #da698c;
|
|
--gold: #ffe4a6;
|
|
--asset-root: "../../assets/yumi/cp-ranking";
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
min-height: 100%;
|
|
background: var(--page-bg);
|
|
font-family:
|
|
"Source Han Sans SC", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
|
-webkit-text-size-adjust: 100%;
|
|
}
|
|
|
|
body {
|
|
color: var(--deep-red);
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
}
|
|
|
|
button {
|
|
font: inherit;
|
|
appearance: none;
|
|
-webkit-appearance: none;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.page {
|
|
width: calc(var(--canvas-width) * var(--scale));
|
|
max-width: 100vw;
|
|
height: calc(var(--canvas-height) * var(--scale));
|
|
margin: 0 auto;
|
|
overflow: hidden;
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 173, 211, 0.97), rgba(255, 173, 211, 0.97)),
|
|
url("../../assets/yumi/cp-ranking/page-texture.jpg") center top / 100% auto repeat-y;
|
|
}
|
|
|
|
.canvas {
|
|
position: relative;
|
|
width: var(--canvas-width);
|
|
height: var(--canvas-height);
|
|
transform: scale(var(--scale));
|
|
transform-origin: left top;
|
|
overflow: hidden;
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 173, 211, 0.95), rgba(255, 173, 211, 0.95)),
|
|
url("../../assets/yumi/cp-ranking/page-texture.jpg") center top / 1080px auto repeat-y;
|
|
}
|
|
|
|
.asset {
|
|
position: absolute;
|
|
display: block;
|
|
max-width: none;
|
|
user-select: none;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.hero-image {
|
|
left: 0;
|
|
top: 0;
|
|
width: 1080px;
|
|
height: 1027px;
|
|
object-fit: fill;
|
|
}
|
|
|
|
.title-art {
|
|
left: -232px;
|
|
top: 356px;
|
|
width: 1478px;
|
|
height: 831px;
|
|
object-fit: fill;
|
|
}
|
|
|
|
.rules-button {
|
|
position: absolute;
|
|
left: 940px;
|
|
top: 169px;
|
|
width: 176px;
|
|
height: 94px;
|
|
padding: 0 0 8px;
|
|
border: 0;
|
|
color: #fff;
|
|
font-size: 24px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
text-align: center;
|
|
background: url("../../assets/yumi/cp-ranking/tab-default.png") center / 100% 100% no-repeat;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
.rules-button:active,
|
|
.tab-button:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
.countdown {
|
|
position: absolute;
|
|
left: 61px;
|
|
top: 1046px;
|
|
width: 964px;
|
|
height: 144px;
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 148px);
|
|
justify-content: space-between;
|
|
align-items: start;
|
|
}
|
|
|
|
.countdown-item {
|
|
position: relative;
|
|
width: 148px;
|
|
height: 144px;
|
|
color: #fff;
|
|
text-align: center;
|
|
}
|
|
|
|
.countdown-item img,
|
|
.mini-countdown-item img {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: fill;
|
|
}
|
|
|
|
.countdown-value {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 43px;
|
|
width: 148px;
|
|
color: #fff;
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
text-align: center;
|
|
}
|
|
|
|
.countdown-label {
|
|
position: absolute;
|
|
left: 176px;
|
|
top: 43px;
|
|
width: 40px;
|
|
color: #a83015;
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
}
|
|
|
|
.countdown-item:last-child .countdown-label {
|
|
display: none;
|
|
}
|
|
|
|
.tabs {
|
|
position: absolute;
|
|
left: 10px;
|
|
top: 1217px;
|
|
width: 1059px;
|
|
height: 182px;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 340px);
|
|
gap: 19px;
|
|
}
|
|
|
|
.tab-button {
|
|
position: relative;
|
|
display: block;
|
|
width: 340px;
|
|
height: 182px;
|
|
padding: 0;
|
|
border: 0;
|
|
color: #fff;
|
|
background: url("../../assets/yumi/cp-ranking/tab-default.png") center / 100% 100% no-repeat;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
.tab-button.is-active {
|
|
background-image: url("../../assets/yumi/cp-ranking/tab-active.png");
|
|
}
|
|
|
|
.tab-label {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 73px;
|
|
width: 340px;
|
|
height: 40px;
|
|
color: #fff;
|
|
font-size: 36px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.tab-panel {
|
|
display: none;
|
|
}
|
|
|
|
.tab-panel.is-active {
|
|
display: block;
|
|
}
|
|
|
|
.ornate-panel {
|
|
position: absolute;
|
|
left: 16px;
|
|
width: 1048px;
|
|
overflow: visible;
|
|
}
|
|
|
|
.panel-bg {
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.panel-bg::before,
|
|
.panel-bg::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
width: 1048px;
|
|
height: 308px;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: 100% 100%;
|
|
}
|
|
|
|
.panel-bg::before {
|
|
top: 0;
|
|
background-image: url("../../assets/yumi/cp-ranking/panel-top.png");
|
|
}
|
|
|
|
.panel-bg::after {
|
|
bottom: 0;
|
|
background-image: url("../../assets/yumi/cp-ranking/panel-bottom.png");
|
|
}
|
|
|
|
.panel-bg {
|
|
background:
|
|
url("../../assets/yumi/cp-ranking/panel-middle.png") center 308px / 1048px calc(100% - 616px) no-repeat;
|
|
}
|
|
|
|
.ornate-panel h2 {
|
|
position: absolute;
|
|
left: 98px;
|
|
right: 98px;
|
|
margin: 0;
|
|
color: #a83015;
|
|
font-size: 30px;
|
|
font-weight: 650;
|
|
line-height: 38px;
|
|
text-align: center;
|
|
}
|
|
|
|
.panel-subtitle {
|
|
position: absolute;
|
|
left: 98px;
|
|
right: 98px;
|
|
margin: 0;
|
|
color: var(--muted-pink);
|
|
font-size: 22px;
|
|
font-weight: 500;
|
|
line-height: 28px;
|
|
text-align: center;
|
|
}
|
|
|
|
.plaza-live-panel {
|
|
top: 1414px;
|
|
height: 1517px;
|
|
}
|
|
|
|
.plaza-live-panel h2 {
|
|
top: 178px;
|
|
}
|
|
|
|
.plaza-live-panel .panel-subtitle {
|
|
top: 269px;
|
|
}
|
|
|
|
.plaza-history-panel {
|
|
top: 2941px;
|
|
height: 1491px;
|
|
}
|
|
|
|
.plaza-history-panel h2 {
|
|
top: 176px;
|
|
font-size: 32px;
|
|
}
|
|
|
|
.plaza-history-panel .panel-subtitle {
|
|
top: 242px;
|
|
}
|
|
|
|
.cp-row-list {
|
|
position: absolute;
|
|
left: 84px;
|
|
width: 880px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.plaza-live-panel .cp-row-list {
|
|
top: 332px;
|
|
}
|
|
|
|
.plaza-history-panel .cp-row-list {
|
|
top: 306px;
|
|
}
|
|
|
|
.rank-list-panel .cp-row-list {
|
|
top: 306px;
|
|
}
|
|
|
|
.cp-row {
|
|
position: relative;
|
|
width: 880px;
|
|
height: 237px;
|
|
background: url("../../assets/yumi/cp-ranking/cp-row-frame.png") center / 100% 100% no-repeat;
|
|
}
|
|
|
|
.cp-user {
|
|
position: absolute;
|
|
top: 33px;
|
|
width: 166px;
|
|
height: 171px;
|
|
text-align: center;
|
|
}
|
|
|
|
.cp-user-left {
|
|
left: 59px;
|
|
}
|
|
|
|
.cp-user-right {
|
|
right: 59px;
|
|
}
|
|
|
|
.cp-avatar {
|
|
width: 135px;
|
|
height: 135px;
|
|
margin: 0 auto;
|
|
border: 3px solid #ffebbb;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
background: #ffd4e6;
|
|
}
|
|
|
|
.cp-name {
|
|
display: block;
|
|
width: 166px;
|
|
margin-top: 0;
|
|
color: var(--deep-red);
|
|
font-size: 25px;
|
|
font-weight: 650;
|
|
line-height: 36px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.row-center {
|
|
position: absolute;
|
|
left: 278px;
|
|
top: 0;
|
|
width: 324px;
|
|
height: 237px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.row-wave {
|
|
position: absolute;
|
|
top: 93px;
|
|
width: 179px;
|
|
height: 50px;
|
|
object-fit: fill;
|
|
}
|
|
|
|
.row-wave-left {
|
|
left: 187px;
|
|
}
|
|
|
|
.row-wave-right {
|
|
right: 187px;
|
|
transform: scaleX(-1);
|
|
}
|
|
|
|
.gift-icon {
|
|
position: relative;
|
|
z-index: 2;
|
|
width: 160px;
|
|
height: 160px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.score-heart {
|
|
position: relative;
|
|
z-index: 2;
|
|
width: 264px;
|
|
height: 238px;
|
|
background: url("../../assets/yumi/cp-ranking/rank-heart-glow.png") center / contain no-repeat;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--deep-red);
|
|
font-size: 30px;
|
|
font-weight: 650;
|
|
line-height: 36px;
|
|
}
|
|
|
|
.empty-state {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 96px;
|
|
color: var(--muted-pink);
|
|
font-size: 24px;
|
|
line-height: 34px;
|
|
text-align: center;
|
|
}
|
|
|
|
.podium {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 1392px;
|
|
width: 1080px;
|
|
height: 710px;
|
|
}
|
|
|
|
.podium-card {
|
|
position: absolute;
|
|
background: url("../../assets/yumi/cp-ranking/top-card.png") center / 100% 100% no-repeat;
|
|
}
|
|
|
|
.podium-card.rank-1 {
|
|
left: 158px;
|
|
top: 0;
|
|
width: 760px;
|
|
height: 397px;
|
|
}
|
|
|
|
.podium-card.rank-2 {
|
|
left: -70px;
|
|
top: 392px;
|
|
width: 608px;
|
|
height: 303px;
|
|
}
|
|
|
|
.podium-card.rank-3 {
|
|
left: 539px;
|
|
top: 392px;
|
|
width: 608px;
|
|
height: 303px;
|
|
}
|
|
|
|
.podium-crown {
|
|
position: absolute;
|
|
display: block;
|
|
object-fit: contain;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.rank-1 .podium-crown {
|
|
left: 303px;
|
|
top: 22px;
|
|
width: 154px;
|
|
height: 108px;
|
|
}
|
|
|
|
.rank-2 .podium-crown,
|
|
.rank-3 .podium-crown {
|
|
left: 245px;
|
|
top: 29px;
|
|
width: 118px;
|
|
height: 83px;
|
|
}
|
|
|
|
.podium-person {
|
|
position: absolute;
|
|
top: 158px;
|
|
width: 181px;
|
|
height: 239px;
|
|
text-align: center;
|
|
}
|
|
|
|
.rank-1 .podium-person-left {
|
|
left: 183px;
|
|
}
|
|
|
|
.rank-1 .podium-person-right {
|
|
right: 178px;
|
|
}
|
|
|
|
.rank-2 .podium-person,
|
|
.rank-3 .podium-person {
|
|
top: 126px;
|
|
width: 145px;
|
|
height: 192px;
|
|
}
|
|
|
|
.rank-2 .podium-person-left,
|
|
.rank-3 .podium-person-left {
|
|
left: 146px;
|
|
}
|
|
|
|
.rank-2 .podium-person-right,
|
|
.rank-3 .podium-person-right {
|
|
left: 321px;
|
|
}
|
|
|
|
.podium-avatar {
|
|
width: 181px;
|
|
height: 181px;
|
|
border: 3px solid #ffebbb;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.rank-2 .podium-avatar,
|
|
.rank-3 .podium-avatar {
|
|
width: 145px;
|
|
height: 145px;
|
|
border-width: 2px;
|
|
}
|
|
|
|
.podium-name {
|
|
display: block;
|
|
margin-top: 16px;
|
|
color: var(--deep-red);
|
|
font-size: 30px;
|
|
font-weight: 650;
|
|
line-height: 36px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.rank-2 .podium-name,
|
|
.rank-3 .podium-name {
|
|
margin-top: 15px;
|
|
font-size: 24px;
|
|
line-height: 29px;
|
|
}
|
|
|
|
.rank-list-panel {
|
|
top: 2152px;
|
|
height: 1519px;
|
|
}
|
|
|
|
.mini-countdown {
|
|
position: absolute;
|
|
left: 99px;
|
|
top: 173px;
|
|
width: 849px;
|
|
height: 115px;
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 118px);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.mini-countdown-item {
|
|
position: relative;
|
|
width: 118px;
|
|
height: 115px;
|
|
}
|
|
|
|
.mini-countdown-item span {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 29px;
|
|
width: 118px;
|
|
color: #fff;
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
text-align: center;
|
|
}
|
|
|
|
.mini-countdown-item b {
|
|
position: absolute;
|
|
left: 154px;
|
|
top: 29px;
|
|
color: #a83015;
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
line-height: 40px;
|
|
}
|
|
|
|
.mini-countdown-item:last-child b {
|
|
display: none;
|
|
}
|
|
|
|
.reward-panel {
|
|
height: 1075px;
|
|
}
|
|
|
|
.reward-panel-1 {
|
|
top: 1424px;
|
|
}
|
|
|
|
.reward-panel-2 {
|
|
top: 2509px;
|
|
}
|
|
|
|
.reward-panel-3 {
|
|
top: 3594px;
|
|
}
|
|
|
|
.reward-crown {
|
|
position: absolute;
|
|
left: 443px;
|
|
top: 148px;
|
|
width: 162px;
|
|
height: 114px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.reward-panel-2 .reward-crown {
|
|
width: 161px;
|
|
}
|
|
|
|
.reward-panel-3 .reward-crown {
|
|
width: 158px;
|
|
}
|
|
|
|
.reward-grid {
|
|
position: absolute;
|
|
left: 104px;
|
|
top: 272px;
|
|
width: 824px;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 240px);
|
|
column-gap: 60px;
|
|
row-gap: 52px;
|
|
}
|
|
|
|
.reward-card {
|
|
width: 240px;
|
|
min-height: 280px;
|
|
text-align: center;
|
|
}
|
|
|
|
.reward-frame {
|
|
position: relative;
|
|
width: 240px;
|
|
height: 240px;
|
|
background: url("../../assets/yumi/cp-ranking/reward-cell-frame.png") center / 100% 100% no-repeat;
|
|
}
|
|
|
|
.reward-frame img {
|
|
position: absolute;
|
|
left: 20px;
|
|
top: 25px;
|
|
width: 200px;
|
|
height: 200px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.reward-title {
|
|
margin-top: 14px;
|
|
color: var(--deep-red);
|
|
font-size: 24px;
|
|
font-weight: 650;
|
|
line-height: 30px;
|
|
min-height: 30px;
|
|
}
|
|
|
|
.reward-note {
|
|
margin-top: 4px;
|
|
color: var(--muted-pink);
|
|
font-size: 18px;
|
|
line-height: 20px;
|
|
}
|
|
|
|
.copyright {
|
|
position: absolute;
|
|
left: 115px;
|
|
top: 4472px;
|
|
width: 850px;
|
|
margin: 0;
|
|
color: var(--muted-pink);
|
|
font-size: 24px;
|
|
line-height: 40px;
|
|
text-align: center;
|
|
}
|
|
|
|
.tab-panel-rank.is-active ~ .copyright {
|
|
top: 3711px;
|
|
}
|
|
|
|
.tab-panel-rewards.is-active ~ .copyright {
|
|
top: 4709px;
|
|
}
|
|
|
|
.sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|