This commit is contained in:
2026-07-30 18:38:39 +08:00
parent 5bc34def79
commit d63efeb083
69 changed files with 3100 additions and 153 deletions
+144
View File
@@ -0,0 +1,144 @@
/**
* How to claim — steps grid (shared by new-user-promotion & landing pages).
* Wrap section with class .clain-section
*/
.clain-section .claim-grid {
margin: 20px auto 0;
max-width: 800px;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 80px;
}
.clain-section .claim-item {
position: relative;
border-radius: 12px;
min-height: 190px;
padding: 18px;
background-repeat: no-repeat;
background-size: cover;
/* background-position: center; */
display: flex;
}
.clain-section .claim-item:nth-child(1) {
background-image: url("../../images/leading-v2/Frame.png");
}
.clain-section .claim-item:nth-child(2) {
background-image: url("../../images/leading-v2/Frame-1.png");
}
.clain-section .claim-item:nth-child(3) {
background-image: url("../../images/leading-v2/Frame-2.png");
}
.clain-section .claim-item:not(:last-child)::after {
content: "";
position: absolute;
right: -50px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 50px;
background: url("../../images/backgrounds/new-user-claim-arrow.png") no-repeat center / contain;
}
.clain-section .claim-text {
margin: 0;
padding-top: 90px;
font-size: 16px;
line-height: 1.45;
color: #bc9467;
}
.clain-section .claim-text strong {
display: block;
margin-bottom: 10px;
font-weight: 700;
color: #d4a574;
}
/* Desktop: step number is in card background; mobile uses claim-step-mark img */
.clain-section .claim-step-mark {
display: none;
}
@media (max-width: 992px) {
.clain-section .claim-grid {
grid-template-columns: 1fr;
}
.clain-section .claim-item:not(:last-child)::after {
display: none;
}
}
@media (max-width: 768px) {
.clain-section {
padding-left: 16px;
padding-right: 16px;
}
.clain-section .claim-grid {
display: flex;
flex-direction: column;
align-items: center;
gap: 28px;
max-width: min(360px, 92vw);
margin: 8px auto 0;
}
.clain-section .claim-item:nth-child(1),
.clain-section .claim-item:nth-child(2),
.clain-section .claim-item:nth-child(3) {
background-image: url("../../images/backgrounds/new-user-claim-card-bg-mobile.png");
}
.clain-section .claim-item {
width: 100%;
min-height: 152px;
padding: 20px 18px 22px 22px;
border-radius: 16px;
border: 1px solid rgba(180, 110, 45, 0.28);
box-shadow:
inset 0 2px 0 rgba(249, 135, 21, 0.55),
inset 2px 0 0 rgba(249, 135, 21, 0.42),
0 10px 28px rgba(0, 0, 0, 0.35);
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
background-size: cover;
background-position: center;
}
.clain-section .claim-step-mark {
display: block;
width: clamp(76px, 22vw, 112px);
height: auto;
margin: 0 0 10px;
align-self: flex-start;
object-fit: contain;
}
.clain-section .claim-text {
padding-top: 0;
font-size: 15px;
line-height: 1.5;
color: #d4a574;
text-align: left;
}
.clain-section .claim-item:not(:last-child)::after {
display: block;
left: 50%;
right: auto;
top: auto;
bottom: -28px;
transform: translateX(-50%);
width: 28px;
height: 22px;
background: url("../../images/backgrounds/new-user-claim-arrow-down.png") no-repeat center / contain;
}
}
@@ -0,0 +1,171 @@
/* Welcome rewards — reusable landing floor module */
.landing-welcome {
position: relative;
overflow: visible;
}
.landing-welcome__glow {
position: absolute;
top: 50%;
right: calc((100% - 100vw) / 2);
transform: translateY(-50%);
width: min(82vw, 720px);
height: 100vh;
max-height: 100svh;
z-index: 0;
pointer-events: none;
background: radial-gradient(ellipse at right center, rgba(249, 135, 21, 0.18), transparent 70%);
mix-blend-mode: screen;
}
.landing-welcome__inner {
position: relative;
z-index: 1;
max-width: 844px;
margin: 0 auto;
text-align: center;
}
.landing-promo-card {
display: flex;
flex-direction: column;
gap: 20px;
margin: 0 auto 20px;
padding: 28px 32px;
text-align: left;
border-radius: 14px;
border: 1px solid rgba(249, 135, 21, 0.35);
background: linear-gradient(135deg, rgba(249, 135, 21, 0.28), rgba(60, 30, 0, 0.55));
box-shadow: 0 0 40px rgba(249, 135, 21, 0.1);
}
@media (min-width: 640px) {
.landing-promo-card {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
}
.landing-promo-card__eyebrow {
margin: 0 0 6px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.05em;
}
.landing-promo-card__value {
margin: 0 0 4px;
font-size: clamp(32px, 5vw, 48px);
font-weight: 900;
line-height: 1;
color: var(--primary, #f98715);
}
.landing-promo-card__sub {
margin: 0;
font-size: 14px;
letter-spacing: 0.08em;
color: #fefefe;
}
.landing-promo-card__right {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 10px;
min-width: 160px;
}
.landing-promo-card__code-label {
margin: 0 0 4px;
font-size: 12px;
text-align: center;
letter-spacing: 0.05em;
}
.landing-promo-card__code {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 12px 24px;
border-radius: 8px;
border: 1px dashed rgba(255, 255, 255, 0.45);
background: rgba(0, 0, 0, 0.25);
font-size: 15px;
font-weight: 700;
letter-spacing: 0.05em;
color: inherit;
font-family: inherit;
cursor: pointer;
transition: border-color 0.2s ease, background-color 0.2s ease;
}
.landing-promo-card__code:hover {
border-color: rgba(249, 135, 21, 0.65);
background: rgba(0, 0, 0, 0.35);
}
.landing-promo-card__code:focus-visible {
outline: 2px solid var(--primary, #f98715);
outline-offset: 2px;
}
.landing-promo-card__code.is-copied {
border-color: rgba(249, 135, 21, 0.85);
}
.landing-welcome-copy-toast {
position: fixed;
top: calc(var(--aifo-nav-height, 5.75rem) + 12px);
right: 16px;
z-index: 2000;
max-width: min(320px, calc(100vw - 32px));
padding: 12px 16px;
border-radius: 8px;
border: 1px solid rgba(249, 135, 21, 0.45);
background: rgba(20, 12, 0, 0.92);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
font-size: 14px;
line-height: 1.4;
color: #fff;
pointer-events: none;
opacity: 0;
transform: translateY(-8px);
transition: opacity 0.2s ease, transform 0.2s ease;
}
.landing-welcome-copy-toast.is-visible {
opacity: 1;
transform: translateY(0);
}
.landing-welcome .landing-note {
margin: 24px auto 0;
max-width: 813px;
text-align: center;
font-size: 12px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.35);
}
@media (max-width: 768px) {
.landing-promo-card {
padding: 20px 18px;
align-items: stretch;
}
.landing-promo-card__offer {
text-align: center;
}
.landing-promo-card__right {
width: 100%;
}
.landing-promo-card__right .aifo-btn {
width: 100%;
}
}
+162
View File
@@ -0,0 +1,162 @@
/**
* 24 Hours Payout — reusable floor module.
* Used by pages/modules/payout-24h.section.html
*/
.payout-24h {
--payout-24h-primary: #f98715;
--payout-24h-amount: #f28c28;
--payout-24h-paid: #22c55e;
--payout-24h-card-bg: rgba(18, 18, 18, 0.85);
--payout-24h-card-border: rgba(255, 255, 255, 0.08);
margin-bottom: 96px;
text-align: center;
}
.payout-24h__title {
margin: 0 0 12px;
font-size: clamp(32px, 5.26vw, 60px);
line-height: 1.307;
font-weight: 800;
text-align: center;
letter-spacing: -0.035em;
color: #f9f9f9;
}
.payout-24h__accent {
color: var(--payout-24h-primary);
}
.payout-24h__subtitle {
margin: 0 auto 36px;
font-size: clamp(18px, 2.63vw, 30px);
line-height: 1.588;
font-weight: 400;
letter-spacing: 0;
color: #fff;
text-align: center;
}
.payout-24h__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
max-width: 960px;
margin: 0 auto;
text-align: left;
}
@media (max-width: 992px) {
.payout-24h__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
max-width: 640px;
}
}
@media (max-width: 560px) {
.payout-24h__grid {
grid-template-columns: 1fr;
max-width: 360px;
}
}
.payout-24h__card {
display: flex;
flex-direction: column;
gap: 14px;
padding: 16px 18px;
border-radius: 12px;
border: 1px solid var(--payout-24h-card-border);
background: var(--payout-24h-card-bg);
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.payout-24h__card:hover {
border-color: rgba(249, 135, 21, 0.25);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.payout-24h__card-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.payout-24h__amount {
font-size: clamp(18px, 2.5vw, 22px);
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--payout-24h-amount);
}
.payout-24h__badge {
flex-shrink: 0;
padding: 4px 10px;
border-radius: 999px;
background: rgba(34, 197, 94, 0.15);
border: 1px solid rgba(34, 197, 94, 0.45);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.06em;
color: var(--payout-24h-paid);
}
.payout-24h__card-bottom {
display: flex;
align-items: flex-start;
gap: 12px;
padding-top: 12px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.payout-24h__avatar {
flex-shrink: 0;
align-self: flex-end;
display: block;
width: 40px;
height: 40px;
margin-bottom: 2px;
border-radius: 0;
object-fit: cover;
border: none;
background: #1a1a1a;
}
.payout-24h__col {
display: flex;
flex: 1;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.payout-24h__label {
font-size: 16px;
font-weight: 700;
line-height: 1.63;
letter-spacing: 0;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.55);
}
.payout-24h__value {
font-size: 14px;
font-weight: 400;
line-height: 1.35;
color: #fff;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 768px) {
.payout-24h {
margin-bottom: 64px;
}
.payout-24h__subtitle {
margin-bottom: 28px;
}
}