2026-06-08 19:39:41 +08:00

435 lines
7.7 KiB
CSS

* {
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
}
:root {
--app-scale: 1;
--design-scale: 0.3472222222;
}
html,
body {
margin: 0;
width: 100%;
min-height: 100%;
overflow-x: hidden;
overflow-y: auto;
background: #291000;
color: #fff;
font-family:
Arial,
"Helvetica Neue",
Helvetica,
sans-serif;
padding-bottom: calc((169 / 1080) * 100vw + env(safe-area-inset-bottom, 0px));
}
button {
border: 0;
padding: 0;
background: transparent;
color: inherit;
font: inherit;
outline: none;
}
[hidden] {
display: none !important;
}
.app-viewport {
position: relative;
width: 375px;
min-height: 772px;
margin: 0 auto;
transform: scale(var(--app-scale));
transform-origin: top center;
}
.page {
position: relative;
width: 375px;
min-height: 772px;
overflow: visible;
background: #291000;
}
.stage-wrap {
position: relative;
width: 375px;
height: 852px;
overflow: visible;
}
.stage {
position: absolute;
left: 0;
top: 0;
width: 1080px;
height: 2454px;
overflow: hidden;
transform: scale(var(--design-scale));
transform-origin: top left;
background: #291000;
}
.language-switcher {
position: absolute;
z-index: 10;
top: 44px;
right: 38px;
width: 190px;
direction: ltr;
}
.language-button {
display: flex;
align-items: center;
justify-content: center;
width: 156px;
height: 82px;
margin-left: auto;
border: 2px solid rgba(255, 232, 184, 0.62);
border-radius: 999px;
background: rgba(25, 9, 1, 0.58);
box-shadow:
inset 0 0 18px rgba(255, 210, 93, 0.18),
0 8px 18px rgba(0, 0, 0, 0.28);
color: #ffe8b8;
font-size: 34px;
font-weight: 800;
line-height: 34px;
letter-spacing: 0;
cursor: pointer;
}
.language-menu {
position: absolute;
top: 94px;
right: 0;
width: 190px;
overflow: hidden;
border: 2px solid rgba(255, 232, 184, 0.56);
border-radius: 18px;
background: rgba(25, 9, 1, 0.92);
box-shadow: 0 16px 30px rgba(0, 0, 0, 0.34);
}
.language-menu button {
display: block;
width: 100%;
height: 58px;
color: #fff5dc;
font-size: 28px;
font-weight: 700;
line-height: 28px;
cursor: pointer;
}
.language-menu button.is-active {
background: rgba(255, 210, 93, 0.22);
color: #ffd25d;
}
.hero-bg {
position: absolute;
left: 0;
top: 0;
width: 1080px;
height: 1919px;
object-fit: cover;
pointer-events: none;
}
.target-card {
position: absolute;
left: 47px;
top: 892px;
width: 985px;
height: 319px;
}
.target-card-img {
position: absolute;
inset: 0;
width: 985px;
height: 319px;
object-fit: fill;
pointer-events: none;
}
.target-value {
position: absolute;
left: 395px;
top: 111px;
display: flex;
align-items: center;
justify-content: center;
width: 238px;
height: 96px;
gap: 14px;
color: #fff1d6;
}
.coin-icon {
width: 44px;
height: 44px;
object-fit: contain;
}
.target-value strong {
font-size: 80px;
font-weight: 500;
line-height: 80px;
letter-spacing: 0;
color: #ffe6ba;
}
.reward-table {
position: absolute;
left: 36px;
top: 1241px;
width: 1008px;
height: 1163px;
}
.table-fill {
position: absolute;
left: 20px;
top: 15px;
width: 968px;
height: 1133px;
overflow: hidden;
background: repeating-linear-gradient(
to bottom,
#190901 0,
#190901 103px,
#290e00 103px,
#290e00 206px
);
}
.table-row-bg {
width: 968px;
height: 103px;
}
.row-dark {
background: #190901;
}
.row-light {
background: #290e00;
}
.table-border {
position: absolute;
pointer-events: none;
object-fit: fill;
}
.table-border-side {
left: 0;
top: 0;
width: 1008px;
height: 1163px;
}
.table-border-top {
left: 0;
top: 0;
width: 1008px;
height: 119px;
}
.table-border-bottom {
left: 0;
top: 1044px;
width: 1008px;
height: 119px;
}
.table-divider {
position: absolute;
left: 503px;
top: 15px;
width: 2px;
height: 1133px;
background: rgba(255, 255, 255, 0.92);
pointer-events: none;
}
.table-content {
position: absolute;
left: 20px;
top: 15px;
width: 968px;
height: 1133px;
}
.tier-row {
display: grid;
grid-template-columns: 1fr 1fr;
width: 968px;
height: 103px;
color: #fff;
font-size: 30px;
font-weight: 500;
line-height: 30px;
letter-spacing: 0;
}
.tier-row > div {
display: flex;
align-items: center;
justify-content: center;
min-width: 0;
}
.tier-row.is-head {
height: 103px;
}
.tier-row.is-head > div {
padding-top: 4px;
}
.tier-reward {
gap: 8px;
}
.tier-reward .mini-coin {
width: 38px;
height: 38px;
object-fit: contain;
}
.user-panel {
position: fixed;
z-index: 80;
left: 0;
right: 0;
bottom: 0;
width: 100vw;
height: calc((169 / 1080) * 100vw + env(safe-area-inset-bottom, 0px));
background: #190901;
box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.32);
}
.user-avatar {
position: absolute;
left: calc((46 / 1080) * 100vw);
top: calc((25 / 1080) * 100vw);
width: calc((119 / 1080) * 100vw);
height: calc((119 / 1080) * 100vw);
object-fit: cover;
border-radius: 50%;
}
.user-name {
position: absolute;
left: calc((189 / 1080) * 100vw);
top: calc((36 / 1080) * 100vw);
width: calc((280 / 1080) * 100vw);
overflow: hidden;
color: #fff;
font-size: calc((40 / 1080) * 100vw);
font-weight: 500;
line-height: calc((42 / 1080) * 100vw);
letter-spacing: 0;
white-space: nowrap;
text-overflow: ellipsis;
}
.user-id {
position: absolute;
left: calc((189 / 1080) * 100vw);
top: calc((102 / 1080) * 100vw);
width: calc((292 / 1080) * 100vw);
overflow: hidden;
color: rgba(255, 255, 255, 0.7);
font-size: calc((30 / 1080) * 100vw);
font-weight: 400;
line-height: calc((36 / 1080) * 100vw);
letter-spacing: 0;
white-space: nowrap;
text-overflow: ellipsis;
}
.metric-label {
position: absolute;
overflow: hidden;
color: #fff;
font-size: calc((28 / 1080) * 100vw);
font-weight: 400;
line-height: calc((32 / 1080) * 100vw);
letter-spacing: 0;
white-space: nowrap;
text-overflow: ellipsis;
}
.contribution-label {
left: calc((494 / 1080) * 100vw);
top: calc((43 / 1080) * 100vw);
width: calc((328 / 1080) * 100vw);
}
.rewards-label {
left: calc((552 / 1080) * 100vw);
top: calc((111 / 1080) * 100vw);
width: calc((270 / 1080) * 100vw);
}
.reward-button {
position: absolute;
width: calc((213 / 1080) * 100vw);
height: calc((69 / 1080) * 100vw);
cursor: pointer;
}
.reward-button img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: fill;
pointer-events: none;
}
.reward-button span {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: #fff;
font-size: calc((24 / 1080) * 100vw);
font-weight: 500;
line-height: calc((24 / 1080) * 100vw);
letter-spacing: 0;
text-align: center;
}
#contributionButton {
left: calc((838 / 1080) * 100vw);
top: calc((19 / 1080) * 100vw);
}
#rewardsButton {
left: calc((837 / 1080) * 100vw);
top: calc((87 / 1080) * 100vw);
}
.reward-button.is-disabled {
cursor: default;
}
html[dir="rtl"] .metric-label,
html[dir="rtl"] .user-name,
html[dir="rtl"] .user-id {
direction: rtl;
}