.gpm-keeper-wrap{max-width:800px;margin:0 auto;padding:0 0 20px}
.gpm-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.gpm-overview-card{text-align:center;padding:16px 8px;border-radius:8px;background:var(--main-bg,#f5f5f5)}
.dark-theme .gpm-overview-card{background:var(--main-bg,#2a2a2a)}
.gpm-stat-num{display:block;font-size:28px;font-weight:700;line-height:1.2}
.gpm-stat-label{display:block;font-size:12px;color:#999;margin-top:4px}
.gpm-stat-fresh .gpm-stat-num{color:#52c41a}
.gpm-stat-pending .gpm-stat-num{color:#faad14}
.gpm-stat-expired .gpm-stat-num{color:#ff4d4f}
.gpm-stat-total .gpm-stat-num{color:#1890ff}

.gpm-filter-bar{margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gpm-filter-label{font-size:13px;color:#999}
.gpm-filter-btn{border:1px solid #ddd;border-radius:4px;padding:4px 12px;font-size:13px;background:transparent;cursor:pointer;transition:all .2s}
.gpm-filter-btn:hover{border-color:#1890ff;color:#1890ff}
.gpm-filter-btn.is-active{background:#1890ff;color:#fff;border-color:#1890ff}
.dark-theme .gpm-filter-btn{border-color:#444;color:#ccc}
.dark-theme .gpm-filter-btn:hover{border-color:#1890ff;color:#1890ff}
.dark-theme .gpm-filter-btn.is-active{background:#1890ff;color:#fff;border-color:#1890ff}

.gpm-resource-card{border:1px solid #e8e8e8;border-radius:8px;padding:16px;margin-bottom:12px;transition:box-shadow .2s}
.gpm-resource-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.dark-theme .gpm-resource-card{border-color:#3a3a3a}
.gpm-resource-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.gpm-resource-title-wrap{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}
.gpm-resource-cover{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0}
.gpm-resource-info{min-width:0}
.gpm-resource-title{font-size:15px;font-weight:600;color:var(--main-color,#333);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark-theme .gpm-resource-title{color:#e0e0e0}
.gpm-resource-title:hover{color:#1890ff}
.gpm-resource-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
.gpm-badge{font-size:11px;padding:2px 6px;border-radius:3px;display:inline-block}
.gpm-badge-version{background:#e6f7ff;color:#1890ff}
.gpm-badge-empty{background:#fff7e6;color:#faad14}
.gpm-status-badge{font-size:11px;padding:2px 6px;border-radius:3px;font-weight:500}
.gpm-badge-fresh{background:#f6ffed;color:#52c41a}
.gpm-badge-pending{background:#fffbe6;color:#faad14}
.gpm-badge-expired{background:#fff2f0;color:#ff4d4f}
.dark-theme .gpm-badge-version{background:#1a2a3a;color:#4db8ff}
.dark-theme .gpm-badge-empty{background:#3a3a1a;color:#ffd666}
.dark-theme .gpm-badge-fresh{background:#1a2a1a;color:#73d13d}
.dark-theme .gpm-badge-pending{background:#2a2a1a;color:#ffc53d}
.dark-theme .gpm-badge-expired{background:#2a1a1a;color:#ff7875}

.gpm-resource-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.gpm-action-btn{font-size:12px;padding:4px 10px;border-radius:4px;text-decoration:none;border:1px solid #d9d9d9;color:#666;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.gpm-action-btn:hover{color:#1890ff;border-color:#1890ff}
.gpm-btn-source{background:#f0f5ff;border-color:#adc6ff}
.dark-theme .gpm-action-btn{border-color:#555;color:#aaa}
.dark-theme .gpm-action-btn:hover{color:#4db8ff;border-color:#4db8ff}
.dark-theme .gpm-btn-source{background:#1a2a3a;border-color:#1a3a5a}

.gpm-resource-detail{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}
.dark-theme .gpm-resource-detail{border-top-color:#3a3a3a}
.gpm-detail-row{display:flex;flex-wrap:wrap;gap:16px}
.gpm-detail-item{display:flex;align-items:center;gap:4px}
.gpm-detail-label{font-size:12px;color:#999}
.gpm-detail-value{font-size:13px}
.gpm-text-muted{color:#bbb}

.gpm-steam-badge{font-size:11px;padding:2px 6px;border-radius:3px;font-weight:500}
.gpm-steam-ok{background:#f6ffed;color:#52c41a}
.gpm-steam-update{background:#fff2f0;color:#ff4d4f;animation:gpm-pulse 2s infinite}
@keyframes gpm-pulse{0%,100%{opacity:1}50%{opacity:.6}}
.gpm-steam-title{font-size:12px;color:#999;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}

.gpm-netdisk-check-btn{font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid #d9d9d9;background:transparent;cursor:pointer;color:#666;transition:all .2s}
.gpm-netdisk-check-btn:hover{color:#1890ff;border-color:#1890ff}
.dark-theme .gpm-netdisk-check-btn{border-color:#555;color:#aaa}
.gpm-netdisk-result{font-size:12px;margin-left:4px}
.gpm-netdisk-ok{color:#52c41a}
.gpm-netdisk-error{color:#ff4d4f}

@media(max-width:640px){
    .gpm-overview{grid-template-columns:repeat(2,1fr)}
    .gpm-resource-header{flex-direction:column}
    .gpm-resource-actions{width:100%}
    .gpm-detail-row{flex-direction:column;gap:8px}
}
