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

@lt-share-green: #9cd343;

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;
    gap: @section-gap;
}

/* ===== 预览卡 ===== */
.lt-preview-wrap {
    position: relative;
}

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

.lt-preview-kicker {
    display: block;
    text-align: center;
    font-size: 22rpx;
    font-weight: 700;
    color: @text-gray;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 24rpx;
}

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

/* ===== 参数面板 ===== */
.lt-params {
    background: @bg-header;
    border-radius: @radius;
    padding: 40rpx @page-padding-inner-x;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40rpx;
    border: @border;
    box-shadow: @shadow;
}

.lt-params-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12rpx;
}

.lt-params-emoji {
    font-size: 36rpx;
    line-height: 1;
}

.lt-params-title {
    font-size: @fs-section-head-title;
    font-weight: 700;
    color: @text-title;
    letter-spacing: @ls-nav-title;
}

.lt-field-label {
    display: block;
    font-size: 26rpx;
    font-weight: 700;
    color: @text-secondary;
    margin-bottom: 16rpx;
    margin-left: 4rpx;
}

/* ===== 练习类型：2×2 网格选择器 ===== */
.lt-mode-seg {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16rpx;
}

.lt-mode-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24rpx 16rpx;
    border-radius: @radius-sm;
    background: @bg-white;
    border: 2rpx solid rgba(50, 46, 37, 0.1);
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.04);
    transition: all 0.2s ease;
}

.lt-mode-item--active {
    background: @brand;
    border-color: rgba(255, 215, 9, 0.55);
    box-shadow: @shadow;
}

.lt-mode-item__text {
    font-size: 26rpx;
    font-weight: 600;
    color: @text-secondary;
    line-height: 1.35;
    text-align: center;
}

.lt-mode-item--active .lt-mode-item__text {
    color: @text-selected-btn;
    font-weight: 700;
}

/* ===== 字母选择网格：7 列 ===== */
.lt-letter-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12rpx;
}

.lt-letter-cell {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: @radius-sm;
    background: @bg-white;
    border: 2rpx solid rgba(50, 46, 37, 0.1);
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.04);
    transition: all 0.15s ease;
}

.lt-letter-cell--active {
    background: @brand;
    border-color: rgba(255, 215, 9, 0.55);
    box-shadow: @shadow;
    transform: scale(1.05);
}

.lt-letter-text {
    font-size: 32rpx;
    font-weight: 700;
    color: @text-secondary;
}

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

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

.lt-chip {
    flex: 1;
    text-align: center;
    padding: 24rpx 20rpx;
    font-size: 28rpx;
    font-weight: 600;
    color: @text-secondary;
    background: @bg-white;
    border-radius: @radius-sm;
    border: 2rpx solid rgba(50, 46, 37, 0.1);
    box-shadow: 0 2rpx 8rpx rgba(50, 46, 37, 0.04);
}

.lt-chip--active {
    background: @brand;
    color: @text-selected-btn;
    font-weight: 700;
    border-color: rgba(255, 215, 9, 0.55);
    box-shadow: @shadow;
}

/* ===== 换一批 ===== */
.lt-shuffle-btn {
    width: 100%;
    padding: 28rpx 24rpx;
    margin: 0;
    border-radius: @radius;
    border: 6rpx solid @bg-header;
    background: transparent;
    font-size: 32rpx;
    font-weight: 700;
    color: @text-secondary;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12rpx;
    box-sizing: border-box;

    &::after {
        border: none;
    }
}

.lt-shuffle-btn:active {
    background: @bg-header;
    transform: scale(0.98);
}

/* ===== 底栏 ===== */
.lt-bottom-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20rpx;
    padding: 24rpx @page-padding-x;
    padding-bottom: calc(24rpx + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: @border;
    box-shadow: 0 -8rpx 32rpx rgba(50, 46, 37, 0.06);
    box-sizing: border-box;
}

.lt-bottom-share,
.lt-bottom-save {
    margin: 0;
    height: 96rpx;
    line-height: 96rpx;
    border-radius: @radius-sm;
    font-size: 30rpx;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8rpx;
    padding: 0;
    box-sizing: border-box;

    &::after {
        border: none;
    }
}

.lt-bottom-share {
    flex: 0 0 35%;
    width: 35%;
    background: @lt-share-green;
    color: @text-white;
    box-shadow: @shadow;
}

.lt-bottom-save {
    flex: 1;
    min-width: 0;
    background: @brand;
    color: @text-selected-btn;
    font-weight: 800;
    box-shadow: @shadow-lg;
}

.lt-bottom-save[disabled] {
    opacity: 0.45;
}

.lt-bottom-icon {
    font-size: 36rpx;
    line-height: 1;
}

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