@import '../../style/theme.less';

page {
    background-color: @bg-page;
}

.lt-page {
    min-height: 100vh;
    padding: 0 @page-padding-x;
    padding-bottom: calc(200rpx + env(safe-area-inset-bottom));
    box-sizing: border-box;
}

.lt-main {
    padding-top: 24rpx;
    display: flex;
    flex-direction: column;
    /* space-y-8 = 32px → 64rpx */
    gap: 64rpx;
}

/* ===== 预览卡 (rounded-xl shadow-sm p-8 border) ===== */
.lt-preview-wrap {
    position: relative;
}

.lt-preview-card {
    background: @bg-white;
    border-radius: @radius-xl;
    box-shadow: @shadow;
    padding: 48rpx;
    border: @border;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.lt-preview-kicker {
    display: block;
    text-align: center;
    /* text-xs = 12px → 24rpx */
    font-size: @fs-section-head-title;
    font-weight: bold;
    color: @text-secondary;
    // 设置字母间距，使文本字符之间有更宽的间隔，提升可读性和美观性
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 40rpx;
}

.lt-canvas-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400rpx;
    background: @bg-gray;
    border-radius: @radius-sm;
    border: 2rpx dashed rgba(50, 46, 37, 0.12);
    overflow: hidden;
}

.lt-canvas {
    max-width: 100%;
    border-radius: @radius-sm;
    box-shadow: @shadow;
}

/* ===== 参数面板 (bg-surface-container rounded-xl p-6 space-y-6) ===== */
.lt-params {
    /* surface-container = #f0e7d6 */
    background: @bg-card;
    border-radius: @radius-xl;
    padding: 48rpx;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 48rpx;
    box-shadow: @shadow;
}

/* 标题行 (gap-2 = 8px → 16rpx) */
.lt-params-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16rpx;
}

.lt-params-emoji {
    /* text-xl = 20px → 40rpx */
    font-size: 40rpx;
    line-height: 1;
}

.lt-params-title {
    /* text-lg = 18px → 36rpx */
    font-size: @fs-section-head-title;
    font-weight: 700;
    color: @text-title;
}

/* 参数区块内间距 (space-y-3 = 12px → 24rpx) */
.param-block {
    display: flex;
    flex-direction: column;
    /* space-y-3 = 12px → 24rpx */
    gap: 24rpx;
}

/* 字段标签 (text-sm font-bold text-on-surface-variant ml-1) */
.lt-field-label {
    display: block;
    /* text-sm = 14px → 28rpx */
    font-size: 28rpx;
    font-weight: 700;
    /* on-surface-variant = #605b50 */
    color: @text-secondary;
    /* ml-1 = 4px → 8rpx */
    margin-left: 8rpx;
}

/* ===== 练习类型 Tab (grid-cols-2 gap-2 bg-surface-container-high p-1.5 rounded-lg) ===== */
.lt-mode-seg {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* gap-2 = 8px → 16rpx */
    gap: 16rpx;
    /* p-1.5 = 6px → 12rpx */
    padding: 12rpx;
    /* surface-container-high = #eae2d0 */
    background: #eae2d0;
    border-radius: 32rpx;
    box-sizing: border-box;
}

/* 未选中 item (py-2.5 px-3 text-sm font-medium rounded-lg text-on-surface-variant) */
.lt-mode-item {
    display: flex;
    align-items: center;
    justify-content: center;
    /* py-2.5 = 10px → 20rpx; px-3 = 12px → 24rpx */
    padding: 20rpx 24rpx;
    /* rounded-lg = 8px → 16rpx */
    border-radius: 32rpx;
    background: transparent;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    // transition: all 1s ease;
    box-sizing: border-box;
}

/* 选中 item (bg-primary-container text-on-primary-container font-bold shadow-sm) */
.lt-mode-item--active {
    /* primary-container = #ffd709 */
    background: @brand;
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}

.lt-mode-item__text {
    /* text-sm = 14px → 28rpx */
    font-size: 28rpx;
    /* 未选中 font-medium = 500 */
    font-weight: 500;
    /* on-surface-variant = #605b50 */
    color: @text-secondary; //#5b4b00
    line-height: 40rpx;
    text-align: center;
}

/* 选中态字色 (on-primary-container = #5b4b00, font-bold = 700) */
.lt-mode-item--active .lt-mode-item__text {
    /* on-primary-container = #5b4b00 */
    color: @text-selected-btn;
    font-weight: 700;
}

/* ===== 字母选择网格 (grid-cols-6 gap-2) ===== */
.lt-letter-grid {
    display: grid;
    /* 稿 grid-cols-6 */
    grid-template-columns: repeat(6, 1fr);
    /* gap-2 = 8px → 16rpx */
    gap: 16rpx;
}

/* 字母格子 (aspect-square rounded-lg bg-surface-container-lowest) */
.lt-letter-cell {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 32rpx;
    /* surface-container-lowest = #ffffff */
    background: @bg-white;
    box-sizing: border-box;
    /* 不用 :active：小程序 view 上背景色常在松手后才刷新；用 hover-class 才能按下即变色，并做过渡 */
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

/* 按下态（hover-class）：与选中态同色，松手后由 --active 保持 */
.lt-letter-cell--pressed {
    transform: scale(0.95);
    background: @brand;
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}

/* 选中字母 (bg-[#FFD700] text-[#6c5a00] shadow-sm) */
.lt-letter-cell--active {
    background: @brand;
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
    // box-shadow: @btn-shadow-pressed;
}

.lt-letter-text {
    /* text-lg = 18px → 36rpx */
    font-size: 36rpx;
    font-weight: 700;
    /* on-surface-variant = #605b50 */
    color: @text-secondary;
    line-height: 1;
    transition: color 0.2s ease;
}

.lt-letter-cell--active .lt-letter-text {
    /* #6c5a00 */
    color: @text-selected-btn;
}

.lt-letter-cell--pressed .lt-letter-text {
    color: @text-selected-btn;
}

/* ===== 大小写切换 ===== */
.lt-chip-row {
    display: flex;
    flex-direction: row;
    /* gap-2 = 8px → 16rpx */
    gap: 16rpx;
}

/* 未选中 chip (同练习类型 item 风格) */
.lt-chip {
    flex: 1;
    text-align: center;
    /* py-2.5 px-3 */
    padding: 20rpx 24rpx;
    /* text-sm = 14px → 28rpx */
    font-size: 28rpx;
    font-weight: 500;
    line-height: 40rpx;
    color: @text-secondary;
    background: #fff;
    /* rounded-lg */
    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);
}

/* 按下态（hover-class），未选与已选 chip 共用 */
.lt-chip--pressed {
    transform: scale(0.96);
    background: @brand;
    color: @text-selected-btn;
    font-weight: 700;
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}

/* 选中 chip (同练习类型选中态) */
.lt-chip--active {
    background: @brand;
    color: @text-selected-btn;
    font-weight: 700;
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.08);
}

/* 换一批：自定义描边按钮（对齐 stitch 粗边框 + 图标文案横排，避免 toy-button 覆盖成本） */
.lt-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;
    /* 与字母格/chip 一致：view 上勿依赖 :active 做背景或稳定缩放，用 hover-class */
    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);
}

/* 稿 active:scale-[0.98]，按下时略铺底便于看出过渡 */
.lt-shuffle-btn--hover {
    transform: scale(0.98);
    opacity: 0.92;
    background-color: rgba(234, 226, 208, 0.55);
}

/* toy-icon 自定义组件宿主节点默认 display:inline，须强制为 inline-flex 方可参与 flex 对齐 */
.lt-shuffle-btn toy-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.lt-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);
}

.lt-spacer-bottom {
    height: 24rpx;
}