/* soft360 首页软件推广组件样式
 * 颜色全部用 simply 主题的 CSS 变量（--color-*-light 在 html.dark 下自动翻为暗色），
 * 以兼容整站明/暗切换（主题给 <html> 加 .dark 类）。 */

.soft360-promo {
    background: var(--color-white-light, #fff);
    border-radius: var(--size-radius, 8px);
    margin-bottom: 20px;
    overflow: hidden;
}

.soft360-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid var(--color-text-1-light, #f0f0f0);
    padding: 0 10px;
}

.soft360-tab {
    position: relative;
    padding: 14px 18px;
    font-size: 15px;
    color: var(--color-text-9-light, #666);
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

.soft360-tab:hover {
    color: #00b4a6;
}

.soft360-tab.active {
    color: #00b4a6;
    font-weight: 500;
}

.soft360-tab.active::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: -1px;
    height: 2px;
    background: #00b4a6;
    border-radius: 2px 2px 0 0;
}

/* 游戏娱乐 Tab 右侧提示文案：专用 class（观感参考复制按钮的青色 pill，
   但无 cursor:pointer 悬停小手、不挂复制钩子语义，避免与复制按钮混淆） */
.soft360-hint {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 13px;
    line-height: 1.2;
    color: #00b4a6;
    background: rgba(0, 180, 166, 0.12);
    border-radius: 4px;
    white-space: nowrap;
    user-select: none;
}

.soft360-hint .icon-simply {
    font-size: 1em;
    line-height: 1;
}

.soft360-panels {
    padding: 10px 0;
}

.soft360-panel {
    display: none;
}

.soft360-panel.active {
    display: block;
}

/* 首次加载完成后缓慢显示（opacity + translateY），仅作用于真实列表区。
   注意：切换已缓存 Tab 不重放此动画——面板本身不重建，做到最小内容切换。 */
@keyframes soft360-reveal {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.soft360-panel.soft360-revealing .soft360-list {
    animation: soft360-reveal 0.32s ease both;
}

.soft360-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--color-text-9-light, #999);
    font-size: 14px;
}

/* 公共表头：移出 .soft360-panels，所有 Tab 共享，切换时完全不动 */
.soft360-common-header {
    display: flex;
    align-items: center;
    padding: 8px 20px;
    font-size: 12px;
    color: var(--color-text-9-light, #999);
    border-bottom: 1px solid var(--color-text-1-light, #f5f5f5);
}

/* 尊重「减少动效」偏好 */
@media (prefers-reduced-motion: reduce) {
    .soft360-panel.soft360-revealing .soft360-list {
        animation: none;
    }
}

.soft360-h-name {
    flex: 1;
    padding-left: 62px;
}

.soft360-h-date {
    width: 120px;
    text-align: center;
}

.soft360-h-op {
    width: 150px;
    text-align: right;
}

.soft360-list {
    display: flex;
    flex-direction: column;
}

.soft360-item {
    display: flex;
    align-items: center;
    padding: 3px 20px;
    border-bottom: 1px solid var(--color-text-1-light, #f5f5f5);
    transition: background 0.15s ease;
}

.soft360-item:last-child {
    border-bottom: none;
}

.soft360-item:hover {
    background: var(--color-theme-1-light, #fafafa);
}

.soft360-info {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.soft360-icon {
    width: 32px;
    height: 32px;
    border-radius: var(--size-radius, 8px);
    margin-right: 14px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--color-text-1-light, #f5f5f5);
}

.soft360-icon-placeholder {
    background: var(--color-text-2-light, #e8e8e8);
}

.soft360-meta {
    min-width: 0;
    flex: 1;
}

.soft360-name {
    font-size: 15px;
    font-weight: 500;
    color: var(--color-text, #333);
    line-height: 1.4;
}

.soft360-desc {
    margin-top: 4px;
    font-size: 12px;
    color: var(--color-text-9-light, #999);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.soft360-date {
    width: 120px;
    text-align: center;
    font-size: 13px;
    color: var(--color-text-9-light, #999);
    flex-shrink: 0;
}

.soft360-actions {
    width: 150px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.soft360-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.1s ease;
}

.soft360-btn:active {
    transform: translateY(1px);
}

.soft360-download {
    background: #00b4a6;
    color: #fff;
}

.soft360-download:hover {
    opacity: 0.9;
    color: #fff;
}

.soft360-copy {
    background: rgba(0, 180, 166, 0.12);
    color: #00b4a6;
}

.soft360-copy:hover {
    background: rgba(0, 180, 166, 0.22);
}

/* 移动端适配 */
@media (max-width: 767px) {
    .soft360-tab {
        padding: 12px 14px;
        font-size: 14px;
    }

    .soft360-common-header {
        display: none;
    }

    .soft360-item {
        flex-wrap: wrap;
        padding: 3px 15px;
    }

    .soft360-info {
        width: 100%;
        margin-bottom: 10px;
    }

    .soft360-date {
        width: auto;
        flex: 1;
        text-align: left;
        font-size: 12px;
    }

    .soft360-actions {
        width: auto;
    }
}
