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

@fav-seg-track: #f0e7d6;
@fav-thumb-placeholder: #e5dcc9;
@fav-secondary-cta-bg: #ffc697;
@fav-secondary-cta-text: #6d3b00;
@fav-heart: #b02500;

.fav-page {
    min-height: 100vh;
    background: @bg-page;
    box-sizing: border-box;
}


.fav-nav__clear {
    font-size: 26rpx;
    font-weight: 600;
    color: fade(@text-selected-btn, 65%);
    padding: 12rpx 20rpx;
    border-radius: 999rpx;
}

.fav-scroll {
    box-sizing: border-box;
    width: 100%;
}

.fav-body {
    padding: @section-gap-xs @page-padding-x;
    padding-bottom: calc(48rpx + env(safe-area-inset-bottom) + 120rpx);
    box-sizing: border-box;
}

/* Segmented（Stitch 胶囊） */
.fav-seg {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 12rpx;
    margin-bottom: @section-gap-sm;
    border-radius: 999rpx;
    background: @fav-seg-track;
    box-shadow: @shadow;
    box-sizing: border-box;
}

.fav-seg__pill {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22rpx 16rpx;
    border-radius: 999rpx;
    box-sizing: border-box;
}

.fav-seg__pill--active {
    background: @brand;
    box-shadow: @shadow;
}

.fav-seg__text {
    font-size: 26rpx;
    font-weight: 700;
    color: @text-secondary;
}

.fav-seg__pill--active .fav-seg__text {
    color: @text-selected-btn;
}

/* 收藏列表卡片 */
.fav-list {
    display: flex;
    flex-direction: column;
    gap: 32rpx;
}

.fav-card {
    border-radius: @radius-lg;
    box-sizing: border-box;
}

.fav-card--row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32rpx;
    padding: 32rpx;
    background: @bg-header;
    box-shadow: @shadow;
}

.fav-card__thumb {
    width: 160rpx;
    height: 160rpx;
    border-radius: @radius;
    flex-shrink: 0;
    background: @fav-thumb-placeholder;
}

.fav-card__main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8rpx;
}

.fav-card__title {
    font-size: 32rpx;
    font-weight: 700;
    color: @text-title;
    line-height: 1.25;
}

.fav-card__meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 4rpx;
}

.fav-card__meta-text {
    font-size: 22rpx;
    color: @text-secondary;
}

.fav-card__stars {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rpx;
}

.fav-card__badge {
    margin-top: 4rpx;
    font-size: 18rpx;
    font-weight: 600;
    color: @text-gray;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6rpx 16rpx;
    border-radius: 999rpx;
    background: @fav-seg-track;
}

.fav-card__heart {
    flex-shrink: 0;
    width: 80rpx;
    height: 80rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* Bento 大卡 */
.fav-card--bento {
    position: relative;
    overflow: hidden;
    padding: 48rpx 140rpx 48rpx 40rpx;
    background: @fav-seg-track;
    box-shadow: @shadow;
}

.fav-bento__content {
    position: relative;
    z-index: 1;
}

.fav-bento__title {
    font-size: 36rpx;
}

.fav-bento__meta {
    font-size: 26rpx;
    color: @text-secondary;
    margin-top: 8rpx;
    margin-bottom: 28rpx;
    line-height: 1.4;
}

.fav-bento__tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16rpx;
}

.fav-bento__tag {
    padding: 8rpx 22rpx;
    border-radius: 999rpx;
    font-size: 20rpx;
    font-weight: 700;
    color: @fav-secondary-cta-text;
    background: rgba(255, 255, 255, 0.55);
}

.fav-bento__deco {
    position: absolute;
    right: -40rpx;
    bottom: -48rpx;
    z-index: 0;
    pointer-events: none;
}

.fav-bento__heart {
    position: absolute;
    top: 40rpx;
    right: 32rpx;
    z-index: 2;
    width: 80rpx;
    height: 80rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* 底部去发现 */
.fav-cta {
    margin-top: @section-gap;
    padding: 48rpx 0 24rpx;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fav-cta__hint {
    font-size: 26rpx;
    font-weight: 600;
    color: @text-gray;
}

.fav-cta__btn {
    margin-top: 32rpx;
    padding: 22rpx 64rpx;
    border-radius: 999rpx;
    font-size: 26rpx;
    font-weight: 700;
    background: @fav-secondary-cta-bg !important;
    color: @fav-secondary-cta-text !important;
    border: none !important;
    box-shadow: @shadow;
}

.fav-cta__btn::after {
    border: none;
}

/* 下载历史 */
.fav-dl {
    display: flex;
    flex-direction: column;
    gap: 16rpx;
}

.fav-dl__section-label {
    display: block;
    font-size: 22rpx;
    font-weight: 700;
    color: @text-gray;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 8rpx 16rpx 16rpx;
}

.fav-dl__items {
    display: flex;
    flex-direction: column;
    gap: 32rpx;
    margin-bottom: 32rpx;
}

.fav-dl-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32rpx;
    padding: 32rpx;
    background: @bg-header;
    border-radius: @radius-lg;
    box-shadow: @shadow;
    box-sizing: border-box;
}

.fav-dl-row--muted {
    opacity: 0.92;
}

.fav-dl-row__thumb {
    width: 160rpx;
    height: 160rpx;
    border-radius: @radius;
    flex-shrink: 0;
    background: @fav-thumb-placeholder;
}

.fav-dl-row__thumb--ph {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, @fav-secondary-cta-bg 0%, fade(@brand, 35%) 100%);
}

.fav-dl-row__main {
    flex: 1;
    min-width: 0;
}

.fav-dl-row__title {
    font-size: 32rpx;
    font-weight: 700;
    color: @text-title;
    line-height: 1.25;
    margin-bottom: 12rpx;
}

.fav-dl-row__meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12rpx;
    font-size: 26rpx;
    color: fade(@text-secondary, 88%);
}

.fav-dl-row__time {
    color: fade(@text-secondary, 88%);
}

.fav-dl-row__dot {
    width: 8rpx;
    height: 8rpx;
    border-radius: 50%;
    background: @text-gray;
    opacity: 0.45;
}

.fav-dl-row__status {
    color: fade(@text-secondary, 65%);
}

.fav-dl-row__status--hi {
    color: #006b1b;
    font-weight: 600;
}

.fav-dl-row__more {
    flex-shrink: 0;
    width: 72rpx;
    height: 72rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* 空状态 */
.fav-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 120rpx 32rpx 64rpx;
}

.fav-empty__emoji {
    font-size: 100rpx;
    margin-bottom: 24rpx;
}

.fav-empty__icon {
    margin-bottom: 24rpx;
}

.fav-empty__msg {
    font-size: 30rpx;
    font-weight: 600;
    color: @text-title;
    margin-bottom: 12rpx;
}

.fav-empty__sub {
    font-size: 26rpx;
    color: @text-secondary;
    margin-bottom: 40rpx;
    text-align: center;
}

.fav-empty__btn {
    padding: 20rpx 56rpx;
    border-radius: 999rpx;
    font-size: 28rpx;
    font-weight: 700;
    background: @brand;
    color: @text-selected-btn;
    border: none;
}

.fav-empty__btn::after {
    border: none;
}