2026-10-13 22:50:37 +08:00
|
|
|
.edit-page {
|
2026-10-15 21:56:45 +08:00
|
|
|
min-height: 100vh;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
color: #211c3a;
|
|
|
|
|
background:
|
|
|
|
|
radial-gradient(circle at 14% 12%, rgba(179, 154, 255, 0.72), transparent 34%),
|
|
|
|
|
linear-gradient(180deg, #c2afff 0%, #e4d8ff 36%, #edf4ff 70%, #edf5ff 100%);
|
|
|
|
|
overflow-x: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
// H5 keeps lazy-loaded page styles after navigation; contain all editor rules.
|
|
|
|
|
.edit-page {
|
|
|
|
|
.nav {
|
2026-10-15 21:56:45 +08:00
|
|
|
height: calc(112px + env(safe-area-inset-top));
|
|
|
|
|
padding: 0 32px 24px;
|
|
|
|
|
align-items: flex-end;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.nav-title {
|
2026-10-15 21:56:45 +08:00
|
|
|
color: #211c3a;
|
|
|
|
|
font-size: 40px;
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.back {
|
2026-10-15 21:56:45 +08:00
|
|
|
left: 34px;
|
|
|
|
|
bottom: 18px;
|
|
|
|
|
color: #292244;
|
|
|
|
|
font-size: 60px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.profile-loading {
|
|
|
|
|
padding-top: calc(280px + env(safe-area-inset-top));
|
|
|
|
|
text-align: center;
|
|
|
|
|
color: rgba(33, 28, 58, 0.58);
|
|
|
|
|
font-size: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.edit-content {
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: 750px;
|
|
|
|
|
min-height: 100vh;
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
padding: calc(164px + env(safe-area-inset-top)) 64px calc(78px + env(safe-area-inset-bottom));
|
|
|
|
|
box-sizing: border-box;
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.avatar-button {
|
|
|
|
|
width: 280px;
|
|
|
|
|
height: 280px;
|
|
|
|
|
flex: none;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: rgba(255, 255, 237, 0.94);
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
position: relative;
|
2026-10-15 21:56:45 +08:00
|
|
|
overflow: visible;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(102, 83, 151, 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.avatar-image {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.edit-water-mascot {
|
2026-10-15 21:56:45 +08:00
|
|
|
width: 142px;
|
|
|
|
|
height: 178px;
|
|
|
|
|
position: relative;
|
|
|
|
|
border-radius: 70% 70% 56% 56% / 82% 82% 42% 42%;
|
|
|
|
|
background: linear-gradient(180deg, #a0f6ff 0%, #47d2ef 54%, #1fb7e4 100%);
|
|
|
|
|
box-shadow: inset 16px 10px 30px rgba(255, 255, 255, 0.28);
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.edit-mascot-eye {
|
2026-10-13 22:50:37 +08:00
|
|
|
position: absolute;
|
2026-10-15 21:56:45 +08:00
|
|
|
top: 100px;
|
|
|
|
|
width: 10px;
|
|
|
|
|
height: 14px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: #3275ef;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.edit-mascot-eye.left { left: 48px; }
|
|
|
|
|
.edit-mascot-eye.right { right: 48px; }
|
2026-10-15 21:56:45 +08:00
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.edit-mascot-smile {
|
2026-10-15 21:56:45 +08:00
|
|
|
position: absolute;
|
|
|
|
|
left: 56px;
|
|
|
|
|
top: 116px;
|
|
|
|
|
width: 34px;
|
|
|
|
|
height: 22px;
|
|
|
|
|
border: 7px solid #3275ef;
|
|
|
|
|
border-top: 0;
|
|
|
|
|
border-radius: 0 0 28px 28px;
|
2026-10-13 22:50:37 +08:00
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.avatar-add {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 4px;
|
|
|
|
|
bottom: 4px;
|
|
|
|
|
width: 66px;
|
|
|
|
|
height: 66px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: linear-gradient(145deg, #ffb13b 0%, #ff8c1f 100%);
|
|
|
|
|
border: 5px solid rgba(255, 255, 255, 0.9);
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
box-shadow: 0 7px 16px rgba(188, 100, 19, 0.24);
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.plus-line {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 50%;
|
|
|
|
|
top: 50%;
|
|
|
|
|
width: 30px;
|
|
|
|
|
height: 6px;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
transform: translate(-50%, -50%);
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.plus-line.vertical {
|
|
|
|
|
transform: translate(-50%, -50%) rotate(90deg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.form-card {
|
|
|
|
|
width: 100%;
|
|
|
|
|
min-height: 94px;
|
|
|
|
|
border: 3px solid rgba(255, 255, 255, 0.72);
|
|
|
|
|
border-radius: 50px;
|
|
|
|
|
background: rgba(255, 255, 255, 0.68);
|
|
|
|
|
box-sizing: border-box;
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
2026-10-15 21:56:45 +08:00
|
|
|
color: #28204e;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.nickname-card {
|
2026-10-13 22:50:37 +08:00
|
|
|
margin-top: 58px;
|
2026-10-15 21:56:45 +08:00
|
|
|
padding: 0 30px;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.field-label {
|
|
|
|
|
flex: none;
|
|
|
|
|
font-size: 30px;
|
|
|
|
|
font-weight: 800;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.nickname-input {
|
|
|
|
|
height: 90px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
margin-left: 36px;
|
|
|
|
|
color: #28204e;
|
|
|
|
|
font-size: 31px;
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.nickname-input input {
|
|
|
|
|
height: 100%;
|
|
|
|
|
padding: 0;
|
|
|
|
|
line-height: 90px;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nickname-count {
|
|
|
|
|
flex: none;
|
|
|
|
|
color: #746c9c;
|
|
|
|
|
font-size: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-row {
|
|
|
|
|
width: 100%;
|
|
|
|
|
margin: 34px 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
gap: 76px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-option {
|
|
|
|
|
height: 94px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
border: 3px solid rgba(255, 255, 255, 0.7);
|
|
|
|
|
border-radius: 50px;
|
|
|
|
|
background: rgba(255, 255, 255, 0.66);
|
|
|
|
|
color: #332463;
|
|
|
|
|
font-size: 31px;
|
|
|
|
|
font-weight: 700;
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2026-10-15 21:56:45 +08:00
|
|
|
gap: 22px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-option.active {
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: linear-gradient(90deg, #65c8f9 0%, #51b8ef 100%);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-option + .gender-option {
|
|
|
|
|
margin-top: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-symbol {
|
|
|
|
|
font-size: 52px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
line-height: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.picker-card {
|
|
|
|
|
margin-bottom: 34px;
|
|
|
|
|
padding: 0 28px 0 31px;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-18 23:35:28 +08:00
|
|
|
.birthday-picker { width: 100%; margin-bottom: 34px; }
|
|
|
|
|
.birthday-calendar-tabs { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
|
|
|
|
|
.birthday-calendar-tab { margin: 0; padding: 10px 24px; border-radius: 28px; background: rgba(255,255,255,.4); color: #847498; font-size: 24px; line-height: 1.4; }
|
|
|
|
|
.birthday-calendar-tab.active { color: #fff; background: #a181d7; }
|
|
|
|
|
.birthday-card { margin-bottom: 0; }
|
|
|
|
|
.birthday-card .field-value { font-size: 26px; margin-left: 20px; }
|
|
|
|
|
.birthday-equivalent { display: block; margin: 12px 12px 0; color: #8e82a0; font-size: 22px; line-height: 1.5; }
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.form-picker {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.field-value {
|
|
|
|
|
flex: 1;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
margin-left: 36px;
|
|
|
|
|
font-size: 29px;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.field-value.location {
|
|
|
|
|
font-size: 27px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.field-value.placeholder {
|
|
|
|
|
color: #8e88aa;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.chevron {
|
|
|
|
|
flex: none;
|
|
|
|
|
margin-left: 14px;
|
|
|
|
|
font-size: 56px;
|
|
|
|
|
font-weight: 300;
|
|
|
|
|
line-height: 1;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.save-button {
|
|
|
|
|
width: 456px;
|
|
|
|
|
height: 96px;
|
|
|
|
|
margin-top: 36px;
|
|
|
|
|
border-radius: 52px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: #ff9828;
|
|
|
|
|
font-size: 34px;
|
|
|
|
|
font-weight: 800;
|
2026-10-13 22:50:37 +08:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2026-10-15 21:56:45 +08:00
|
|
|
box-shadow: 0 10px 20px rgba(222, 128, 32, 0.14);
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
2026-10-15 21:56:45 +08:00
|
|
|
.save-button[disabled] {
|
|
|
|
|
opacity: 0.68;
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.edit-note {
|
|
|
|
|
margin-top: 28px;
|
2026-10-15 21:56:45 +08:00
|
|
|
color: #666275;
|
|
|
|
|
font-size: 27px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.edit-note text {
|
|
|
|
|
color: #f13d57;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.avatar-mask {
|
|
|
|
|
position: fixed;
|
|
|
|
|
z-index: 30;
|
|
|
|
|
inset: 0;
|
|
|
|
|
background: rgba(21, 17, 39, 0.62);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.avatar-sheet {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
|
|
|
border-radius: 28px 28px 0 0;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
background: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.avatar-action {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 118px;
|
|
|
|
|
border-bottom: 1px solid #eeeef2;
|
|
|
|
|
border-radius: 0;
|
|
|
|
|
color: #202020;
|
|
|
|
|
background: #fff;
|
|
|
|
|
font-size: 33px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.sheet-gap {
|
|
|
|
|
height: 16px;
|
|
|
|
|
background: #f5f5f7;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.cancel-action {
|
|
|
|
|
height: 126px;
|
|
|
|
|
border-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media screen and (max-height: 700px) {
|
|
|
|
|
.edit-content {
|
|
|
|
|
padding-top: calc(140px + env(safe-area-inset-top));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.avatar-button {
|
|
|
|
|
width: 220px;
|
|
|
|
|
height: 220px;
|
|
|
|
|
}
|
|
|
|
|
|
2026-10-17 22:44:09 +08:00
|
|
|
.edit-water-mascot {
|
2026-10-15 21:56:45 +08:00
|
|
|
transform: scale(0.82);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nickname-card {
|
|
|
|
|
margin-top: 38px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-row,
|
|
|
|
|
.picker-card {
|
|
|
|
|
margin-bottom: 24px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gender-row {
|
|
|
|
|
margin-top: 24px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.save-button {
|
|
|
|
|
margin-top: 18px;
|
|
|
|
|
}
|
2026-10-13 22:50:37 +08:00
|
|
|
}
|
2026-10-17 22:44:09 +08:00
|
|
|
.profile-load-error { padding: 160px 35px 50px; display: flex; flex-direction: column; gap: 28px; text-align: center; color: #856c9c; font-size: 28px; line-height: 1.8; }
|
|
|
|
|
.profile-load-error > button { width: 70%; padding: 20px; margin: 0 auto; border-radius: 40px; font-size: 28px; line-height: 1.5; color: #fff; background: #ae85d9; }
|
|
|
|
|
.profile-preview-notice { display: block; margin: 0 0 24px; color: #9a86ad; font-size: 22px; line-height: 1.5; text-align: center; }
|
|
|
|
|
}
|