Connect student profiles, defaults, and feedback records to the Rust API. Configure the WeChat AppID, custom tab bar, and local development workflow for version 0.1.0.
146 lines
2.1 KiB
Plaintext
146 lines
2.1 KiB
Plaintext
page {
|
|
min-height: 100%;
|
|
box-sizing: border-box;
|
|
background: #f4f8fe;
|
|
color: #17233a;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
}
|
|
|
|
view,
|
|
text,
|
|
input,
|
|
button {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
button::after {
|
|
border: 0;
|
|
}
|
|
|
|
.page-shell {
|
|
min-height: 100vh;
|
|
padding: 40rpx 32rpx 164rpx;
|
|
}
|
|
|
|
.eyebrow {
|
|
color: #2b67e8;
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.page-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14rpx;
|
|
margin-top: 12rpx;
|
|
}
|
|
|
|
.heading-icon {
|
|
color: #2b67e8;
|
|
font-size: 46rpx;
|
|
font-weight: 500;
|
|
line-height: 1;
|
|
}
|
|
|
|
.page-title {
|
|
color: #111b32;
|
|
font-size: 52rpx;
|
|
font-weight: 800;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.page-subtitle {
|
|
margin-top: 18rpx;
|
|
color: #718096;
|
|
font-size: 30rpx;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.surface {
|
|
overflow: hidden;
|
|
border: 2rpx solid #d7e5f4;
|
|
border-radius: 16rpx;
|
|
background: #ffffff;
|
|
box-shadow: 0 8rpx 22rpx rgba(45, 78, 120, 0.08);
|
|
}
|
|
|
|
.primary-button,
|
|
.secondary-button,
|
|
.icon-button {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 76rpx;
|
|
border-radius: 12rpx;
|
|
font-size: 30rpx;
|
|
font-weight: 700;
|
|
line-height: 1;
|
|
}
|
|
|
|
.primary-button {
|
|
border: 2rpx solid #2b67e8;
|
|
background: #2b67e8;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.secondary-button,
|
|
.icon-button {
|
|
border: 2rpx solid #c9dced;
|
|
background: #ffffff;
|
|
color: #2b67e8;
|
|
}
|
|
|
|
.button-icon {
|
|
margin-right: 10rpx;
|
|
font-size: 34rpx;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.helper-text {
|
|
color: #7b8796;
|
|
font-size: 26rpx;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.field-label {
|
|
color: #2b67e8;
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.field-value {
|
|
margin-top: 18rpx;
|
|
color: #17233a;
|
|
font-size: 32rpx;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.status-banner {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 20rpx;
|
|
margin-top: 24rpx;
|
|
padding: 20rpx 22rpx;
|
|
border: 2rpx solid #efc7c7;
|
|
border-radius: 12rpx;
|
|
background: #fff7f7;
|
|
color: #a83d3d;
|
|
font-size: 25rpx;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.status-action {
|
|
flex: none;
|
|
color: #2b67e8;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.loading-state {
|
|
padding: 70rpx 32rpx;
|
|
color: #718096;
|
|
font-size: 28rpx;
|
|
text-align: center;
|
|
}
|