/* 我的收藏:1440px 桌面稿,公共个人页头与封面卡复用 profile.css。 */ .favorites-page [hidden] { display: none !important; } .favorites-main { display: flex; flex-direction: column; gap: 24px; width: min(calc(100% - 48px), var(--page-width)); margin-inline: auto; padding: 24px 0 40px; } .favorites-main.is-empty { width: 100%; max-width: none; gap: 24px; margin: 0; padding: 24px 0 40px; } .favorites-main.is-empty .favorites-toolbar { width: min(calc(100% - 48px), var(--page-width)); margin-inline: auto; } .favorites-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; } .favorites-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; } .favorites-filter, .favorites-manage { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 36px; border: 1px solid var(--line); border-radius: 999px; background: transparent; font-size: 14px; font-weight: 500; line-height: 20px; white-space: nowrap; } .favorites-filter { padding-inline: 16px; color: var(--text-muted); } .favorites-filter.is-active { border-color: rgba(236, 35, 127, .3); background: rgba(236, 35, 127, .1); color: var(--accent-hot); } .favorites-manage { gap: 6px; padding-inline: 12px; border-color: rgba(255, 255, 255, .24); color: var(--text); cursor: pointer; } .favorites-manage img, .favorites-manage svg { display: block; width: 16px; height: 16px; flex: 0 0 16px; } .favorites-filter:hover, .favorites-manage:hover { border-color: rgba(255, 255, 255, .36); color: var(--text); } .favorites-filter:focus-visible, .favorites-manage:focus-visible, .favorites-pagination button:focus-visible { outline: 2px solid var(--accent-hot); outline-offset: 3px; } .favorites-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 24px; min-width: 0; } .favorites-grid .favorites-card { min-width: 0; } .favorites-card__mobile-meta, .favorites-card__remove { display: none; } .favorites-card__media { position: relative; min-width: 0; } .favorites-page.is-managing .favorites-card__remove { position: absolute; top: 6px; left: 6px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; background: rgba(11, 11, 13, .78); color: #fff; font-size: 18px; line-height: 1; } .favorites-card__remove img { display: block; width: 14px; height: 14px; } .favorites-page.is-managing .favorites-manage { border-color: rgba(236, 35, 127, .3); background: rgba(236, 35, 127, .1); color: var(--accent-hot); } .favorites-load-more { display: none; } .favorites-pagination, .favorites-pagination__pages { display: flex; align-items: center; justify-content: center; gap: 8px; } .favorites-pagination { min-height: 36px; } .favorites-pagination button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--bg-elevated); color: var(--text-muted); font-family: Inter, var(--font); font-size: 16px; font-weight: 600; line-height: 20px; } .favorites-pagination button.is-active { border-color: transparent; background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%); color: #fff; } .favorites-pagination button:not(:disabled):not(.is-active):hover { border-color: rgba(255, 255, 255, .24); color: var(--text); } .favorites-pagination button:disabled { cursor: default; opacity: .45; } .favorites-pagination button img, .favorites-pagination button svg { display: block; width: 16px; height: 16px; } .favorites-pagination > .favorites-pagination__button:first-child img { transform: rotate(180deg); } .favorites-pagination__total { color: var(--text-dim); font-size: 12px; line-height: 18px; white-space: nowrap; } .favorites-empty { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; padding: 96px 16px; font-size: 14px; line-height: 22px; text-align: center; } .favorites-main.is-empty:has(.favorites-recommendations) .favorites-empty { padding-bottom: 40px; } .favorites-main.is-empty .favorites-recommendations { padding-top: 8px; } .favorites-filter-empty { margin: 0; padding: 56px 16px; color: var(--text-dim); font-size: 14px; line-height: 22px; text-align: center; } .favorites-empty__icon { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; flex: 0 0 96px; border: 1px solid var(--line); border-radius: 50%; background: #1b1b1f; } .favorites-empty__icon img { width: 40px; height: 40px; } .favorites-empty__title { margin: 0; color: var(--text); font-size: 20px; font-weight: 600; line-height: 28px; } .favorites-empty__description { margin: 0; color: var(--text-muted); font-size: 14px; font-weight: 400; line-height: 22px; } .favorites-empty__description-mobile, .favorites-recommendations__more-mobile { display: none; } .favorites-empty__action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 147px; height: 48px; border-radius: 999px; background: linear-gradient(105deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%); color: #fff; font-size: 14px; font-weight: 600; line-height: 20px; white-space: nowrap; } .favorites-empty__action img { width: 20px; height: 20px; } .favorites-empty__action:focus-visible, .favorites-recommendations__head a:focus-visible { outline: 2px solid var(--accent-hot); outline-offset: 3px; } .favorites-recommendations { width: min(calc(100% - 48px), var(--page-width)); margin-inline: auto; padding-bottom: 40px; } .favorites-recommendations__head { display: flex; align-items: center; justify-content: space-between; height: 32px; margin-bottom: 18px; } .favorites-recommendations__head h2 { margin: 0; color: var(--text); font-size: 20px; font-weight: 600; line-height: 28px; } .favorites-recommendations__head a { display: inline-flex; align-items: center; gap: 4px; color: var(--text-muted); font-size: 14px; line-height: 22px; } .favorites-recommendations__head a img { width: 16px; height: 16px; } .favorites-recommendations__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }