.skill-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 16px; } .skill-tags span { padding: 6px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-line); font-size: 13px; color: var(--color-ink-3); } .timeline { max-width: 560px; margin: 40px auto 0; padding-left: 20px; border-left: 2px solid var(--color-line); } .timeline__item { position: relative; padding: 0 0 24px 20px; } .timeline__item::before { content: ""; position: absolute; left: -27px; top: 4px; width: 12px; height: 12px; border-radius: var(--radius-avatar); background: var(--color-primary); border: 2px solid var(--surface-page); } .friends-grid { display: grid; grid-template-columns: 1fr; gap: 20px; } @media (min-width: 768px) { .friends-grid { grid-template-columns: repeat(3, 1fr); } } .friend-card { border-radius: var(--radius-lg); border: 1px solid var(--color-line); padding: 20px; text-align: center; background: var(--surface-2); transition: transform 0.25s, box-shadow 0.25s; color: inherit; text-decoration: none; display: block; } .friend-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); color: inherit; } .friend-card img { width: 80px; height: 80px; object-fit: contain; border-radius: var(--radius-btn); margin-bottom: 12px; } .friend-card h3 { font-size: 1rem; margin: 0 0 8px; } .friend-card p { font-size: 12px; color: var(--color-ink-3); margin: 0; line-height: 1.5; } .error-hero { text-align: center; padding: 80px 20px 60px; max-width: 720px; margin: 0 auto; } .error-hero__icon { font-size: 4rem; margin: 0 0 8px; color: var(--color-primary); } .error-hero__code { font-size: clamp(4rem, 12vw, 7rem); font-weight: 800; color: var(--color-ink-4, var(--color-ink-3)); line-height: 1; margin-bottom: 8px; } .error-hero__title { font: 700 clamp(20px, 3vw, 28px)/1.3 var(--font-display); margin: 0 0 12px; color: var(--color-ink); } .error-hero__desc { color: var(--color-ink-2); max-width: 480px; margin: 0 auto 28px; line-height: 1.65; } .error-hero__search { display: flex; align-items: center; gap: 8px; max-width: 480px; margin: 0 auto 24px; padding: 6px 6px 6px 14px; border: 1px solid var(--color-line); border-radius: var(--radius-pill); background: var(--surface-1); transition: border-color .18s ease, box-shadow .18s ease; } .error-hero__search:focus-within { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(240, 68, 148, 0.15); } .error-hero__search-icon { color: var(--color-ink-3); display: inline-flex; } .error-hero__search input[type="search"] { flex: 1 1 auto; border: 0; background: transparent; outline: none; font: 500 14px/1 var(--font-ui); color: var(--color-ink); padding: 8px 0; } .error-hero__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; } .error-section { max-width: 720px; margin: 40px auto; padding: 24px; background: var(--surface-1); border: 1px solid var(--color-line); border-radius: var(--radius-lg); } .error-section__title { font: 600 16px/1.2 var(--font-ui); margin: 0 0 16px; color: var(--color-ink); } .error-section__chips { display: flex; flex-wrap: wrap; gap: 8px; } .error-section__chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--radius-pill); background: var(--surface-2); color: var(--color-ink-2); text-decoration: none; font: 500 13px/1 var(--font-ui); transition: background .18s ease, color .18s ease; } .error-section__chip:hover { background: var(--color-primary); color: var(--color-on-primary); } .error-section__chip span { opacity: .7; font-variant-numeric: tabular-nums; } .error-section__list { list-style: none; margin: 0; padding: 0; } .error-section__list li + li { border-top: 1px dashed var(--color-line); } .error-section__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; color: var(--color-ink); text-decoration: none; transition: color .18s ease; } .error-section__list a:hover .error-section__list-title { color: var(--color-primary); } .error-section__list-title { flex: 1 1 auto; font: 500 14px/1.4 var(--font-ui); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .error-section__list-meta { flex: 0 0 auto; color: var(--color-ink-3); font: 500 12px/1 var(--font-ui); font-variant-numeric: tabular-nums; } /* ============================================================ * 首页分类推荐模块 * ============================================================ */ .category-recommend { max-width: var(--container); margin: 40px auto; padding: 0 20px; } .category-recommend__header { margin-bottom: 24px; } .category-recommend__title { font-size: 24px; font-weight: 700; color: var(--color-ink); position: relative; padding-left: 16px; margin: 0; } .category-recommend__title::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 2px; background: var(--color-primary); } .category-recommend__grid { display: grid; grid-template-columns: repeat(var(--cr-columns, 2), 1fr); gap: 20px; } .category-recommend-card { border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--surface-2); overflow: hidden; transition: box-shadow 0.2s ease, border-color 0.2s ease; } .category-recommend-card:hover { box-shadow: var(--shadow-md); border-color: var(--color-primary); } .category-recommend-card__hero { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-3); } .category-recommend-card__hero a { display: block; width: 100%; height: 100%; } .category-recommend-card__cover { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; } .category-recommend-card:hover .category-recommend-card__cover { transform: scale(1.02); } .category-recommend-card__badge { position: absolute; top: 12px; right: 12px; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: var(--radius-pill); backdrop-filter: blur(4px); pointer-events: none; } .category-recommend-card__meta { padding: 16px 16px 12px; } .category-recommend-card__name { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.3; } .category-recommend-card__name a { color: var(--color-ink); } .category-recommend-card__name a:hover { color: var(--color-primary); } .category-recommend-card__desc { margin: 0; font-size: 14px; color: var(--color-ink-3); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .category-recommend-card__posts { list-style: none; margin: 0; padding: 0 16px; border-top: 1px solid var(--color-line); } .category-recommend-card__post-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--color-line); } .category-recommend-card__post-item:last-child { border-bottom: none; } .category-recommend-card__post-title { flex: 1; font-size: 14px; color: var(--color-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }