app-twins/src/index.css

710 lines
15 KiB
CSS

:root {
--text: #6b6375;
--text-h: #08060d;
--bg: #fff;
--panel-bg: rgba(255, 255, 255, 0.88);
--border: #e5e4e7;
--code-bg: #f4f3ec;
--accent: #aa3bff;
--accent-bg: rgba(170, 59, 255, 0.1);
--accent-border: rgba(170, 59, 255, 0.5);
--social-bg: rgba(244, 243, 236, 0.5);
--shadow:
rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;
--sans: system-ui, 'Segoe UI', Roboto, sans-serif;
--heading: system-ui, 'Segoe UI', Roboto, sans-serif;
--mono: ui-monospace, Consolas, monospace;
font: 18px/145% var(--sans);
letter-spacing: 0.18px;
color-scheme: light dark;
color: var(--text);
background: var(--bg);
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@media (max-width: 1024px) {
font-size: 16px;
}
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
@media (prefers-color-scheme: dark) {
:root {
--text: #9ca3af;
--text-h: #f3f4f6;
--bg: #16171d;
--panel-bg: rgba(31, 32, 40, 0.88);
--border: #2e303a;
--code-bg: #1f2028;
--accent: #c084fc;
--accent-bg: rgba(192, 132, 252, 0.15);
--accent-border: rgba(192, 132, 252, 0.5);
--social-bg: rgba(47, 48, 58, 0.5);
--shadow:
rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px;
}
}
#root {
min-height: 100svh;
}
body {
margin: 0;
min-width: 320px;
background:
radial-gradient(circle at top, rgba(170, 59, 255, 0.12), transparent 35%),
var(--bg);
}
h1,
h2 {
font-family: var(--heading);
font-weight: 500;
color: var(--text-h);
}
h1 {
font-size: 56px;
letter-spacing: -1.68px;
margin: 32px 0;
@media (max-width: 1024px) {
font-size: 36px;
margin: 20px 0;
}
}
h2 {
font-size: 24px;
line-height: 118%;
letter-spacing: -0.24px;
margin: 0 0 8px;
@media (max-width: 1024px) {
font-size: 20px;
}
}
p {
margin: 0;
}
#PayPage {
min-height: 100svh;
padding-bottom: 84px;
.header {
width: 100%;
height: 248px;
background: url('./images/pay/header-bg.png') no-repeat;
background-size: 100% 100%;
padding: 0 16px;
display: flex;
flex-direction: column;
.tips {
padding-top: 44px;
.tip {
height: 20px;
background: #CDF6E0;
border-radius: 6px 6px 6px 6px;
padding: 3px 10px;
width: 70px;
height: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 10px;
color: #07994D;
line-height: 14px;
text-align: left;
font-style: normal;
text-transform: none;
}
.date {
margin-left: 6px;
width: 84px;
height: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 10px;
color: #222222;
line-height: 14px;
text-align: left;
font-style: normal;
text-transform: none;
}
}
.title {
margin-top: 14px;
height: 34px;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
font-size: 26px;
color: #222222;
line-height: 34px;
text-align: left;
font-style: normal;
text-transform: none;
.lock {
color: #00B85C;
}
}
}
.plan {
position: relative;
width: 100%;
height: 162px;
margin-top: -62px;
overflow: hidden;
touch-action: pan-y;
user-select: none;
-webkit-user-select: none;
.plan-track {
position: relative;
width: min(100%, 360px);
height: 100%;
margin: 0 auto;
}
.plan-item {
position: absolute;
top: 18px;
left: 50%;
width: 98px;
height: 118px;
background: #FFFFFF;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
border: 1px solid transparent;
border-radius: 8px 8px 8px 8px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 6px;
padding: 0;
appearance: none;
cursor: pointer;
transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms ease, box-shadow 320ms ease, background-color 320ms ease, border-color 320ms ease;
transform: translateX(-50%);
opacity: 0.58;
z-index: 1;
.plan-price-symbol {
font-size: 10px;
transition: color 320ms ease;
}
.plan-name {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 14px;
color: #222222;
line-height: 20px;
text-align: left;
font-style: normal;
text-transform: none;
margin-bottom: 7px;
transition: color 320ms ease, font-size 320ms ease, font-weight 320ms ease, line-height 320ms ease;
}
.plan-price {
font-family: D-DIN-PRO, D-DIN-PRO;
font-weight: 500;
font-size: 22px;
color: #222222;
line-height: 26px;
text-align: left;
font-style: normal;
text-transform: none;
transition: color 320ms ease, font-size 320ms ease, font-weight 320ms ease, line-height 320ms ease;
}
.plan-origin-price {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 12px;
color: #999999;
line-height: 16px;
text-align: center;
font-style: normal;
text-decoration-line: line-through;
text-transform: none;
transition: color 320ms ease, font-size 320ms ease, line-height 320ms ease;
}
}
.plan-item.is-left {
transform: translateX(calc(-50% - 122px));
opacity: 0.74;
z-index: 1;
}
.plan-item.is-right {
transform: translateX(calc(-50% + 122px));
opacity: 0.74;
z-index: 1;
}
.plan-item.selected {
top: 7px;
width: 120px;
height: 140px;
background: #F7FEFA;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
border-color: #00B85C;
transform: translateX(-50%);
opacity: 1;
z-index: 2;
.plan-price-symbol {
font-size: 10px;
color: #FF2D2D;
}
.plan-name {
font-weight: 500;
font-size: 18px;
color: #00B85C;
line-height: 26px;
}
.plan-price {
font-weight: 600;
font-size: 28px;
color: #FF2D2D;
line-height: 32px;
}
.plan-origin-price {
font-weight: 400;
font-size: 13px;
color: #A2A2A2;
line-height: 16px;
}
}
}
.pay-method {
padding: 0 16px;
.pay-method-title {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 14px;
color: #222222;
line-height: 20px;
text-align: left;
font-style: normal;
text-transform: none;
margin-bottom: 16px;
}
.pay-method-list {
display: flex;
flex-direction: column;
border-radius: 8px;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
.pay-method-item {
height: 60px;
border-radius: 0px 0px 0px 0px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 0 12px;
}
.pay-method-item:first-child {
border-bottom: 1px solid #E5E4E7;
}
.pay-method-info {
display: flex;
flex-direction: row;
gap: 10px;
}
.pay-method-icon {
width: 26px;
height: 26px;
}
.pay-method-name {
font-family: PingFang SC, PingFang SC;
font-weight: normal;
font-size: 16px;
color: #1A1A1A;
line-height: 22px;
text-align: left;
font-style: normal;
text-transform: none;
}
.pay-method-selected-icon {
width: 18px;
height: 18px;
}
}
}
.pay-button {
position: fixed;
left: 16px;
right: 16px;
bottom: 6px;
width: calc(100% - 32px);
max-width: 343px;
height: 52px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
background: #00B85C;
border: none;
border-radius: 921px 921px 921px 921px;
box-shadow: 0px 10px 24px 0px rgba(0, 184, 92, 0.24);
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 17px;
color: #FFFFFF;
line-height: 24px;
text-align: center;
font-style: normal;
text-transform: none;
cursor: pointer;
transition: opacity 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}
.pay-button:active {
transform: scale(0.98);
}
.pay-button:disabled {
opacity: 0.72;
cursor: not-allowed;
box-shadow: none;
}
.contact-us {
position: absolute;
right: 15px;
bottom: 95px;
width: 50px;
height: 50px;
background: #FFFFFF;
box-shadow: 0px 0px 11px 0px rgba(0, 150, 75, 0.2);
border: 1px solid #00B85C;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
img {
width: 20px;
height: 20px;
}
span {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 10px;
color: #222222;
line-height: 14px;
text-align: justify;
font-style: normal;
text-transform: none;
}
}
}
#PayResultPage {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 70px;
.result {
margin-top: 80px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 26px;
img {
width: 96px;
height: 96px;
}
.result-title {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 18px;
color: #1A1A1A;
line-height: 26px;
text-align: center;
font-style: normal;
text-transform: none;
}
}
.btn {
border: none;
width: 158px;
height: 52px;
background: #E7E7E7;
border-radius: 921px 921px 921px 921px;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 17px;
color: #666666;
line-height: 24px;
text-align: center;
font-style: normal;
text-transform: none;
}
.failed-btn {
background: #00B85C;
color: #FFFFFF;
}
}
#Twins {
height: 100svh;
.header {
height: 248px;
background: url('./images/app-twins/bg.png') no-repeat;
background-size: 100% 100%;
padding: 30px 16px;
.row-1 {
font-family: Alimama ShuHeiTi, Alimama ShuHeiTi;
font-weight: 700;
font-size: 26px;
color: #222222;
line-height: 32px;
text-align: left;
font-style: normal;
text-transform: none;
}
.row-2 {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 14px;
color: #222222;
line-height: 20px;
text-align: left;
font-style: normal;
text-transform: none;
margin-top: 8px;
margin-bottom: 16px;
}
.row-3 {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
.item {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
}
img {
width: 18px;
height: 18px;
}
span {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 13px;
color: #46524C;
line-height: 18px;
text-align: left;
font-style: normal;
text-transform: none;
}
}
}
.card {
height: calc(100dvh - 178px);
padding: 20px 16px;
border-radius: 30px 30px 0px 0px;
background: #FFFFFF;
overflow: hidden;
margin-top: -85px;
.card-title {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 18px;
color: #222222;
line-height: 26px;
text-align: left;
font-style: normal;
text-transform: none;
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
img {
width: 56px;
height: 10px;
}
}
.card-steps {
margin-top: 20px;
display: flex;
flex-direction: column;
gap: 20px;
.step-item {
height: 210px;
background: #FFFFFF;
border-radius: 12px 12px 12px 12px;
box-shadow: 0px 0px 10px 0px rgba(0, 150, 75, 0.2);
background-size: 100% 100%;
background-repeat: no-repeat;
background-position: center;
padding: 14px 12px;
display: flex;
flex-direction: column;
gap: 10px;
.step-item-label {
width: 52px;
height: 22px;
border-radius: 3px 3px 3px 3px;
border: 1px solid #00B85C;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 12px;
color: #00B85C;
line-height: 16px;
text-align: left;
font-style: normal;
text-transform: none;
}
.step-item-title {
font-family: PingFang SC, PingFang SC;
font-weight: 600;
font-size: 16px;
color: #222222;
line-height: 22px;
text-align: left;
font-style: normal;
text-transform: none;
}
.step-item-desc {
width: 53.29%;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 13px;
color: #666666;
line-height: 20px;
text-align: left;
font-style: normal;
text-transform: none;
}
.step-item-link {
width: 136px;
height: 32px;
background: #00B85C;
border-radius: 117px 117px 117px 117px;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 14px;
color: #FFFFFF;
line-height: 20px;
text-align: left;
font-style: normal;
text-transform: none;
}
}
}
.contact-us {
width: 115px;
height: 54px;
background: #FFFFFF;
box-shadow: 0px 0px 10px 0px rgba(0, 150, 75, 0.2);
border-radius: 11px 11px 11px 11px;
border: 1px solid #07994D;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 6px;
position: absolute;
right: 10px;
bottom: 17px;
img {
width: 26px;
height: 26px;
}
span {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 14px;
color: #00B85C;
line-height: 20px;
text-align: center;
font-style: normal;
text-transform: none;
}
}
}
}
.green {
color: #00B85C;
}