.vod-agg{max-width:980px;margin:20px auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,Helvetica,sans-serif;color:#222}
.vod-agg *{box-sizing:border-box}

/* 搜索条 */
.vod-agg-search{display:flex;gap:10px;margin-bottom:14px;align-items:center}
.vod-agg-input{flex:1;padding:10px 12px;border:1px solid #dde1e6;border-radius:8px;background:#fff;transition:border .2s, box-shadow .2s}
.vod-agg-input:focus{outline:none;border-color:#0a84ff;box-shadow:0 0 0 3px rgba(10,132,255,.15)}
.vod-agg-btn{padding:10px 14px;border-radius:8px;border:0;background:#0a84ff;color:#fff;cursor:pointer;font-weight:600;transition:background .2s, transform .04s}
.vod-agg-btn:hover{background:#006fdd}
.vod-agg-btn:active{transform:translateY(1px)}
.vod-agg-btn:disabled{opacity:.6;cursor:not-allowed}

/* 列表区域 */
.vod-agg-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}

/* 卡片 */
.vod-agg-card{display:flex;gap:10px;border:1px solid #eef1f5;background:#fff;border-radius:10px;overflow:hidden;padding:10px;transition:box-shadow .2s,border-color .2s}
.vod-agg-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.06);border-color:#e3e8ef}
.vod-agg-pic{width:100px;flex:0 0 100px}
.vod-agg-thumb{width:100%;height:140px;background:#f3f4f6;background-size:cover;background-position:center;border-radius:8px}
.vod-agg-meta{flex:1;min-width:0}
.vod-agg-title{font-size:16px;line-height:1.3;margin:0 0 8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 来源按钮 */
.vod-agg-sources{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.vod-agg-source{padding:6px 8px;font-size:12px;border:1px solid #e6eaf0;background:#f7f9fc;border-radius:6px;color:#334155;cursor:pointer}
.vod-agg-source:hover{background:#eef3fb;border-color:#d9e4ff;color:#0a4bff}

/* 剧集列表 */
.vod-agg-episode-list{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;padding:6px;border-top:1px dashed #edf0f4;background:#fafbfc;border-radius:6px}
.vod-agg-ep{padding:6px 10px;font-size:12px;background:#fff;border:1px solid #e6eaf0;border-radius:6px;color:#374151;cursor:pointer}
.vod-agg-ep:hover{background:#f3f8ff;border-color:#d7e6ff;color:#0a4bff}
.vod-agg-ep.active{background:#0a84ff;color:#fff;border-color:#0a84ff}

/* 播放器 */
.vod-agg-player{margin-top:16px;background:#0b0b0b;border-radius:12px;padding:10px}
#vod-agg-video{width:100%;height:480px;background:#000;border-radius:8px}
.vod-agg-player-info{margin-bottom:8px;font-size:14px;color:#e5e7eb}

/* 消息组件 */
.vod-agg-msg{padding:10px 12px;border-radius:8px;margin:6px 0;font-size:14px}
.vod-agg-msg.info{background:#eef6ff;border:1px solid #cfe3ff;color:#0b63ce}
.vod-agg-msg.warn{background:#fff6e5;border:1px solid #ffe0a6;color:#8f5a00}
.vod-agg-msg.error{background:#ffeef0;border:1px solid #ffd0d6;color:#991b1b}
.vod-agg-msg.empty{background:#f3f4f6;border:1px dashed #e5e7eb;color:#374151}
.vod-agg-msg.fade{opacity:0;transition:opacity .3s}

/* Loading 状态 */
.vod-agg-loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:14px;border:1px dashed #e5e7eb;border-radius:10px;background:#fafbfc;color:#475569}
.vod-agg .spinner{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#0a84ff;border-radius:50%;animation:vod-agg-spin 1s linear infinite}
@keyframes vod-agg-spin{to{transform:rotate(360deg)}}

/* 搜索中状态视觉反馈 */
.vod-agg.is-searching .vod-agg-input{opacity:.85}
.vod-agg.is-searching .vod-agg-btn{opacity:.8}

/* 滚动条优化 */
.vod-agg-episode-list::-webkit-scrollbar{height:8px;width:8px}
.vod-agg-episode-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
