/** * AKSRT Special Page — 专题聚合页样式 * * @package AKSRT */ .special-page { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-4); } /* Cover section */ .special-cover { position: relative; width: 100%; height: 320px; border-radius: var(--radius-xl); overflow: hidden; margin-bottom: var(--space-8); background: var(--surface-2); } .special-cover__image { width: 100%; height: 100%; object-fit: cover; } .special-cover__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent); display: flex; align-items: flex-end; padding: var(--space-8); } .special-cover__title { font-size: var(--text-3xl); font-weight: 700; color: #fff; margin: 0 0 var(--space-2); } .special-cover__summary { font-size: var(--text-base); color: rgba(255, 255, 255, 0.85); margin: 0; max-width: 600px; line-height: var(--leading-normal); } /* Content layout */ .special-content { display: grid; grid-template-columns: 1fr 311px; gap: var(--space-8); align-items: start; } .special-content--no-sidebar { grid-template-columns: 1fr; } /* Subpage cards */ .special-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-4); } .special-card { background: var(--surface-1); border: 1px solid var(--color-line); border-radius: var(--radius-lg); overflow: hidden; transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease); } .special-card:hover { box-shadow: none; transform: none; } .special-card__thumbnail { width: 100%; height: 180px; object-fit: cover; background: var(--surface-2); } .special-card__body { padding: var(--card-padding); } .special-card__title { font-size: var(--text-lg); font-weight: 600; color: var(--color-ink); margin: 0 0 var(--space-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .special-card__excerpt { font-size: var(--text-sm); color: var(--color-ink-3); margin: 0; line-height: var(--leading-normal); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .special-card__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-3); font-size: var(--text-xs); color: var(--color-ink-4); } /* List layout */ .special-list { display: flex; flex-direction: column; gap: var(--space-4); } .special-list-item { display: flex; gap: var(--space-4); padding: var(--card-padding); background: var(--surface-1); border: 1px solid var(--color-line); border-radius: var(--radius-lg); transition: box-shadow var(--dur) var(--ease); } .special-list-item:hover { box-shadow: var(--shadow); } .special-list-item__thumbnail { width: 200px; height: 130px; object-fit: cover; border-radius: var(--radius); flex-shrink: 0; background: var(--surface-2); } .special-list-item__body { flex: 1; min-width: 0; } .special-list-item__title { font-size: var(--text-lg); font-weight: 600; color: var(--color-ink); margin: 0 0 var(--space-2); } .special-list-item__excerpt { font-size: var(--text-sm); color: var(--color-ink-3); margin: 0; line-height: var(--leading-normal); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* Sidebar */ .special-sidebar { position: sticky; top: calc(var(--nav-height) + var(--space-4)); } .special-sidebar__section { background: var(--surface-1); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--card-padding); margin-bottom: var(--space-4); } .special-sidebar__title { font-size: var(--text-base); font-weight: 600; color: var(--color-ink); margin: 0 0 var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-line-soft); } /* Responsive */ @media (max-width: 991px) { .special-content { grid-template-columns: 1fr; } .special-sidebar { position: static; } .special-cover { height: 220px; border-radius: var(--radius-lg); } .special-cover__title { font-size: var(--text-2xl); } } @media (max-width: 640px) { .special-cards { grid-template-columns: 1fr; } .special-list-item { flex-direction: column; } .special-list-item__thumbnail { width: 100%; height: 180px; } }