Files
2026-05-08 18:36:45 +08:00

209 lines
4.3 KiB
Plaintext

@import '../../style/theme.less';
page {
background-color: @bg-page;
}
.md-page {
min-height: 100vh;
padding: 0 @page-padding-x;
padding-bottom: calc(200rpx + env(safe-area-inset-bottom));
box-sizing: border-box;
}
.md-main {
padding-top: 24rpx;
display: flex;
flex-direction: column;
gap: 64rpx;
}
/* ===== 区块 ===== */
.md-section {
display: flex;
flex-direction: column;
gap: 32rpx;
}
.md-section-title {
font-size: 32rpx;
font-weight: 700;
color: #6d3b00;
padding-left: 8rpx;
}
/* ===== 练习类型 2列卡片网格 ===== */
.md-type-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32rpx;
}
.md-type-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12rpx;
padding: 32rpx 24rpx;
border-radius: 24rpx;
background: #f8f0e0;
box-sizing: border-box;
transition:
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.md-type-card__icon {
font-size: 42rpx;
line-height: 1;
margin-bottom: 4rpx;
}
.md-type-card--active {
background: linear-gradient(145deg, #ffd709 0%, #efc900 100%);
box-shadow: 0 8rpx 32rpx rgba(50, 46, 37, 0.06);
}
.md-type-card--pressed {
transform: scale(0.95);
}
.md-type-card__label {
font-size: 30rpx;
font-weight: 700;
color: @text-secondary;
text-align: center;
}
.md-type-card--active .md-type-card__label {
color: #453900;
}
/* ===== 子选项 Chip ===== */
.md-chip-row {
display: flex;
flex-direction: row;
gap: 24rpx;
}
.md-chip-row--wrap {
flex-wrap: wrap;
.md-chip {
flex: none;
min-width: calc(33.33% - 16rpx);
}
}
.md-chip {
flex: 1;
box-sizing: border-box;
text-align: center;
padding: 24rpx 16rpx;
font-size: 28rpx;
font-weight: 700;
line-height: 40rpx;
color: @text-secondary;
background: @bg-card;
border-radius: 32rpx;
transition:
background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.md-chip--pressed {
transform: scale(0.96);
background: @brand;
color: @text-selected-btn;
box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}
.md-chip--active {
background: @brand;
color: @text-selected-btn;
box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}
/* ===== 数字选择网格(numberFind 专用) ===== */
.md-number-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 30rpx;
padding: 0 8rpx;
}
.md-number-cell {
aspect-ratio: 1;
display: flex;
align-items: center;
justify-content: center;
border-radius: 24rpx;
background: @bg-card;
box-sizing: border-box;
transition:
background-color 0.2s ease,
transform 0.2s ease,
box-shadow 0.2s ease;
}
.md-number-cell--pressed {
transform: scale(0.95);
background: @brand;
box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}
.md-number-cell--active {
background: @brand;
box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}
.md-number-text {
font-size: 40rpx;
font-weight: 700;
color: @text-secondary;
line-height: 1;
transition: color 0.2s ease;
}
.md-number-cell--active .md-number-text,
.md-number-cell--pressed .md-number-text {
color: @text-selected-btn;
}
/* ===== 随机生成按钮 ===== */
.md-shuffle-btn {
box-sizing: border-box;
width: 100%;
height: 108rpx;
padding: 0 32rpx;
border-radius: 32rpx;
border: 8rpx solid @bg-card;
background: transparent;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12rpx;
transition:
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1),
background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.md-shuffle-btn--hover {
transform: scale(0.98);
opacity: 0.92;
background-color: rgba(234, 226, 208, 0.55);
}
.md-shuffle-btn__text {
font-size: 36rpx;
font-weight: 700;
line-height: 1;
color: @text-secondary;
transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}