@primary-color: #2152d1; @text-color: #303133; // 遮罩层 .update-notification-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.45); z-index: 9998; opacity: 0; transition: opacity 0.3s ease; &.show { opacity: 1; } } .update-notification { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); width: 980px; max-width: 90vw; max-height: 85vh; background: #ffffff; border-radius: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); z-index: 9999; display: flex; flex-direction: column; overflow: hidden; opacity: 0; transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1); &.show { opacity: 1; transform: translate(-50%, -50%) scale(1); } &-header { padding: 20px 32px; border-bottom: none; display: flex; justify-content: space-between; align-items: center; position: relative; } &-title { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 600; flex: 1; } &-icon { font-size: 20px; color: @primary-color; } &-close { font-size: 16px; color: #8c8c8c; cursor: pointer; padding: 4px 8px; border-radius: 4px; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; margin-left: 16px; &:hover { color: @text-color; background: rgba(0, 0, 0, 0.06); } &:active { transform: scale(0.95); } } &-content { flex: 1; padding: 24px 40px; overflow-y: auto; overflow-x: hidden; font-size: 14px; line-height: 1.8; color: @text-color; min-height: 0; /* 自定义滚动条样式 */ &::-webkit-scrollbar { width: 6px; } &::-webkit-scrollbar-track { background: #f5f5f5; } &::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 3px; transition: background 0.2s; &:hover { background: #bfbfbf; } } /* Markdown 样式 */ h1, h2, h3, h4, h5, h6 { color: @text-color; font-weight: 600; margin-top: 0; } h3 { font-size: 16px; margin: 0; padding: 10px 0; color: #262626; font-weight: 600; } h4 { font-size: 16px; margin: 0; color: #262626; font-weight: 600; line-height: 1.4; &.blue-title { color: #1677ff; } } p { margin: 0 0 8px 0; font-size: 14px; line-height: 1.8; color: #595959; &:last-child { margin-bottom: 0; } } /* 更新项左右布局样式 */ .update-item { display: flex; align-items: flex-start; gap: 0; padding: 0; background: transparent; border-radius: 0; border: none; transition: all 0.3s ease; position: relative; height: 120px; overflow: hidden; &:first-of-type { margin-top: 0; } &:last-of-type { margin-bottom: 0; } &:hover { background: transparent; } &-image { flex-shrink: 0; width: 210px; min-width: 180px; height: 120px; display: flex; align-items: center; justify-content: center; background: transparent; border-radius: 0; overflow: hidden; padding: 0 0 0 30px; position: relative; margin-right: 0; &::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 80px; background: linear-gradient(to bottom, rgba(232, 232, 232, 0) 0%, rgba(217, 217, 217, 0.4) 15%, #d9d9d9 50%, rgba(217, 217, 217, 0.4) 85%, rgba(232, 232, 232, 0) 100%); } img { width: 100%; height: 100%; object-fit: contain; margin: 0; border-radius: 0; padding: 0; transition: transform 0.3s ease; cursor: pointer; &:hover { transform: scale(1.02); } } } &-content { flex: 1; min-width: 0; height: 120px; padding-left: 32px; padding-top: 0; padding-right: 10px; display: flex; flex-direction: column; justify-content: flex-start; overflow-y: auto; overflow-x: hidden; /* 自定义滚动条样式 */ &::-webkit-scrollbar { width: 4px; } &::-webkit-scrollbar-track { background: transparent; } &::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 2px; transition: background 0.2s; &:hover { background: #bfbfbf; } } h3 { margin: 0; padding: 0; font-size: 16px; font-weight: 600; color: #262626; line-height: 1.4; letter-spacing: 0; a { color: #1677ff; font-size: 16px; font-weight: 600; font-style: italic; text-decoration: underline; transition: all 0.2s ease; &:hover { color: #1890ff; } } } h4 { margin-top: 0; margin-bottom: 0; font-size: 16px; font-weight: 600; color: #262626; line-height: 1.4; letter-spacing: 0; } p { margin: 10px 0 0 0; font-size: 14px; line-height: 1.8; color: #595959; &:first-of-type { margin-top: 12px; } & + p { margin-top: 8px; } } ul { margin: 12px 0 0 0; padding-left: 0; list-style: none; li { color: rgba(0, 0, 0, 0.65); font-size: 14px; line-height: 1.5; padding-left: 16px; position: relative; &::before { content: '•'; position: absolute; left: 0; color: rgba(0, 0, 0, 0.65); font-size: 14px; } } } } } } &-footer { padding: 16px 32px; border-top: 1px solid #f0f0f0; display: flex; flex-direction: row-reverse; justify-content: flex-start; align-items: center; background: #fff; gap: 16px; .footer-notice { display: flex; align-items: center; gap: 0; transition: all 0.2s ease; &:hover { opacity: 0.8; .info-icon { color: #1677ff; } .notice-text { color: #3b3b3b; } } .info-icon { font-size: 14px; color: #595959; display: inline-flex; align-items: center; transition: color 0.2s ease; font-weight: 700; } .notice-text { font-size: 14px; color: #929292; transition: color 0.2s ease; font-weight: 600; } } } &-button { min-width: 88px; padding: 8px 32px; background: @primary-color; color: #ffffff; border: none; border-radius: 4px; font-size: 14px; cursor: pointer; transition: all 0.2s ease; font-weight: 400; &:hover { background: #1a42a8; } &:active { transform: scale(0.98); } } }