/* 组合示例用的页面级样式:只演示「怎么拼」,不属于组件库 */ .sectionHead { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--su-space-4); } .headMain { display: flex; align-items: center; gap: var(--su-space-3); } .bar { width: 4px; height: 16px; border-radius: 2px; background-color: var(--su-color-primary); } .titleWrap { position: relative; display: inline-flex; } .title { font-size: var(--su-font-size-lg); font-weight: 600; } .badge { position: absolute; top: -7px; left: 100%; margin-left: 4px; } .appRow { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 6px 0; border-radius: var(--su-radius-sm); } .appRow:hover .appName { color: var(--su-color-primary); } .appInfo { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .appName { font-size: var(--su-font-size-md); font-weight: 500; transition: color var(--su-duration-fast) var(--su-ease-out); } .appDesc { overflow: hidden; font-size: var(--su-font-size-sm); color: var(--su-text-muted); text-overflow: ellipsis; white-space: nowrap; } .posterCard { overflow: hidden; } .posterCover { display: block; aspect-ratio: 2 / 3; overflow: hidden; background-color: var(--su-gray-2); } .posterCover img { width: 100%; height: 100%; object-fit: cover; } .posterBody { display: flex; flex-direction: column; align-items: flex-start; gap: var(--su-space-1); padding: var(--su-space-2) var(--su-space-3) var(--su-space-3); } .posterTitle { font-size: var(--su-font-size-md); font-weight: 500; }