/* 视频反推 · 复刻(页面 #page-prompt-reverse)· 沿用 tokens.css 暗色放映室令牌;前缀 rv-
 *   本文件:核心外框(hero / 顶栏 / 步骤条 / 作业条 / 提示条 / 页签 / 左侧原片泳道 / 下一步条 / 抽屉 / 弹层)+ 通用小部件(按钮 / 输入 / 分段 / 表格 / 标签)
 *          + home(首页 / 新建 / 体检 / G0)+ assets(看板 / 资产抽屉 / 替换)+ pack(提示词 / 负面词 / 风格 / 导出)
 *   拆解报告在 reverse-read.css,设定图 / 复刻 / 对照在 reverse-make.css;同名小部件按容器限定
 *   断点沿用平台 1100 / 900 / 720 / 640:≤900 分镜表强制卡片、播放器收进主区上方;≤640 主按钮吸底;375px 不出横向滚动 */
.rv { position: relative; padding-bottom: 24px; color: var(--text); min-width: 0; }
.rv.has-foot { padding-bottom: 12px; }
.rv * { box-sizing: border-box; min-width: 0; }
.rv [hidden] { display: none !important; }
.rv img, .rv video { max-width: 100%; }
.rv h3, .rv h4, .rv h5 { color: var(--strong); margin: 0 0 8px; }
.rv h3 { font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rv h3 i, .rv h4 i { color: var(--accent); }
.rv h4 { font-size: 13.5px; }
.rv h5 { font-size: 13px; }
.rv-dim { color: var(--text-hint); font-size: 12px; }
.rv-muted { color: var(--text-secondary); }
.rv-err { color: var(--danger); font-size: 12.5px; }
.rv-grow { flex: 1 1 auto; }
.rv-lnk { background: none; border: none; padding: 0 4px; color: var(--accent-deep); cursor: pointer; font-size: 12.5px; text-decoration: none; }
.rv-lnk:hover { text-decoration: underline; }
.rv-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rv-row.end { justify-content: flex-end; }
.rv-row.center { justify-content: center; }
.rv-col { display: flex; flex-direction: column; gap: 8px; }
.rv-lrow { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; }
.rv-lrow h3, .rv-lrow h4 { margin: 0; }
.rv-card { background: var(--bg-white); border: 1px solid var(--border); border-radius: 14px; padding: 12px 14px; margin-top: 10px; min-width: 0; }
.rv-card.red { border-color: rgba(224, 123, 99, .45); }
.rv-note { margin: 8px 0; padding: 8px 12px; border-radius: 10px; font-size: 12.5px; line-height: 1.6; color: var(--text-secondary); background: var(--bg-warm); border: 1px solid var(--border); }
.rv-note.ok { color: var(--success); border-color: rgba(77, 191, 168, .35); }
.rv-note.warn { color: var(--accent); border-color: rgba(232, 176, 75, .35); background: var(--primary-light); }
.rv-note.err { color: var(--danger); border-color: rgba(224, 123, 99, .35); }
.rv-note b { color: var(--strong); margin-right: 4px; }
.rv-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; padding: 1px 7px; border-radius: 6px; background: var(--bg-warm); border: 1px solid var(--border); color: var(--text-secondary); font-style: normal; white-space: nowrap; vertical-align: middle; }
.rv-tag.ok { color: var(--success); border-color: rgba(77, 191, 168, .35); }
.rv-tag.gold { color: var(--accent); border-color: rgba(232, 176, 75, .4); background: var(--primary-light); }
.rv-tag.bad { color: var(--danger); border-color: rgba(224, 123, 99, .4); }
.rv-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; font-weight: 700; color: #1a1206; vertical-align: middle; }
.rv-badge.red { background: var(--danger); color: #fff; }
.rv-badge.yellow { background: var(--accent); }
.rv-mark { display: inline-block; min-width: 1em; margin-right: 2px; color: var(--accent-deep); font-style: normal; cursor: help; }
.rv-measured { display: block; color: var(--text-hint); font-size: 11.5px; margin-top: 2px; }
.rv-sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .25); vertical-align: -2px; margin-right: 2px; }
.rv-ul { margin: 0; padding-left: 18px; line-height: 1.8; font-size: 13px; }
.rv-pre { margin: 6px 0; padding: 10px 12px; border-radius: 10px; background: var(--bg-warm); border: 1px solid var(--border); color: var(--strong); font-size: 13px; line-height: 1.7; white-space: pre-wrap; word-break: break-word; font-family: inherit; }
.rv-pre.alt { border-style: dashed; color: var(--text); }

/* 按钮 / 输入 / 分段 / 表格 */
.rv-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 9px; font-size: 13px; cursor: pointer; border: 1px solid var(--border); background: var(--bg-warm); color: var(--text); text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; min-height: 34px; }
.rv-btn:hover { border-color: rgba(255, 255, 255, .2); color: var(--strong); }
.rv-btn.primary, .rv-btn.rv-btn-primary { background: var(--gold-grad); color: #1a1206; border-color: transparent; font-weight: 700; }
.rv-btn.primary:hover, .rv-btn.rv-btn-primary:hover { filter: brightness(1.08); color: #1a1206; }
.rv-btn.ghost { background: transparent; }
.rv-btn.ok { color: var(--success); border-color: rgba(77, 191, 168, .4); }
.rv-btn.danger:hover { color: var(--danger); border-color: rgba(224, 123, 99, .45); }
.rv-btn.sm { padding: 4px 10px; font-size: 12px; min-height: 28px; }
.rv-btn.on { border-color: var(--accent); color: var(--accent); }
.rv-btn[disabled] { opacity: .45; cursor: not-allowed; filter: none; }
.rv-ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--text-secondary); cursor: pointer; font-size: 13px; }
.rv-ic:hover { background: var(--bg-warm); color: var(--strong); border-color: var(--border); }
.rv-ic.on { color: var(--accent); }
.rv-ic.danger:hover { color: var(--danger); }
.rv-ic[disabled] { opacity: .35; cursor: not-allowed; }
.rv-inp, .rv-sel { background: var(--bg-warm); border: 1px solid var(--border); border-radius: 8px; color: var(--text); padding: 7px 10px; font-size: 13px; outline: none; min-width: 0; font-family: inherit; }
.rv-inp:focus, .rv-sel:focus { border-color: rgba(232, 176, 75, .55); }
.rv-inp.sm, .rv-sel.sm { padding: 5px 8px; font-size: 12.5px; }
.rv-inp.xs, .rv-sel.xs { padding: 3px 6px; font-size: 12px; width: auto; }
.rv-inp.xs[type="number"] { width: 90px; }
.rv-inp.grow { flex: 1 1 160px; }
.rv-inp.mono { font-family: var(--font-mono, monospace); font-size: 12px; }
textarea.rv-inp { resize: vertical; line-height: 1.6; width: 100%; }
.rv-field { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--text-secondary); margin: 8px 0; }
.rv-field.sm { margin: 4px 0; }
.rv-field .rv-inp:not(.xs) { width: 100%; }
.rv-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--text-secondary); margin-bottom: 10px; }
.rv-switch { flex-direction: row !important; align-items: center; gap: 8px !important; flex-wrap: wrap; }
.rv-switch input { accent-color: var(--accent); }
.rv-seg { display: inline-flex; background: var(--bg-warm); border: 1px solid var(--border); border-radius: 9px; padding: 2px; flex-wrap: wrap; gap: 2px; }
.rv-seg button { border: none; background: transparent; color: var(--text-secondary); padding: 5px 11px; border-radius: 7px; font-size: 12.5px; cursor: pointer; min-height: 30px; display: inline-flex; align-items: center; gap: 4px; }
.rv-seg button:hover { color: var(--strong); }
.rv-seg button.on { background: var(--primary-light); color: var(--accent); box-shadow: inset 0 0 0 1px rgba(232, 176, 75, .3); font-weight: 600; }
.rv-seg button[disabled] { opacity: .4; cursor: not-allowed; }
.rv-seg button small { font-size: 10.5px; color: var(--text-hint); }
.rv-chk { display: inline-flex; align-items: flex-start; gap: 6px; font-size: 12.5px; color: var(--text); cursor: pointer; user-select: none; line-height: 1.5; }
.rv-chk input { accent-color: var(--accent); margin-top: 3px; flex: 0 0 auto; }
.rv-chk.sm { font-size: 12px; }
.rv-mini { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--text-secondary); }
.rv-radios { display: flex; flex-wrap: wrap; gap: 6px; }
.rv-radios.col { flex-direction: column; }
.rv-radio { display: inline-flex; align-items: flex-start; gap: 8px; padding: 7px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-warm); font-size: 12.5px; cursor: pointer; min-width: 0; }
.rv-radio.on { border-color: var(--accent); background: var(--primary-light); }
.rv-radio.dis { opacity: .5; cursor: not-allowed; }
.rv-radio input { accent-color: var(--accent); margin-top: 3px; }
.rv-radio span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rv-radio b { color: var(--strong); }
.rv-radio small { color: var(--text-hint); font-size: 11.5px; line-height: 1.5; }
.rv-radio .rv-tag { margin-left: 6px; }
.rv-radio span > .rv-tag { align-self: flex-start; margin-left: 0; }   /* 竖排的选项里「推荐 / 默认」标签不拉满整行 */
.rv-gwhy { margin-right: auto; font-size: 12px; display: inline-flex; align-items: center; gap: 4px; }   /* 按钮置灰时旁边写明还差什么 */
.rv-opt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 7px 0; }
.rv-olab { flex: 0 0 60px; color: var(--text-secondary); font-size: 12.5px; }
.rv-req { color: var(--danger); font-style: normal; }
.rv-tbl { width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0; }
.rv-tbl th, .rv-tbl td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.rv-tbl th { color: var(--text-hint); font-weight: 600; font-size: 12px; white-space: nowrap; }
.rv-tbl td:last-child, .rv-tbl th:last-child { text-align: right; white-space: nowrap; }
.rv-tbl tr.opt td { color: var(--text-hint); }
.rv-tbl tr.q td { background: rgba(232, 176, 75, .06); }
.rv-tbl td small { display: block; color: var(--text-hint); font-size: 11.5px; }
.rv-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 10px 0; }
.rv-kpis > div { background: var(--bg-warm); border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rv-kpis em { font-style: normal; font-size: 11px; color: var(--text-hint); }
.rv-kpis b { font-size: 14px; color: var(--strong); font-variant-numeric: tabular-nums; line-height: 1.5; }
.rv-kpis b small { font-size: 11.5px; color: var(--text-secondary); font-weight: 400; }
.rv-sum { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 10px; background: var(--primary-light); margin: 8px 0; }
.rv-sum b { color: var(--accent); font-size: 15px; }
.rv-impact { margin: 8px 0; padding-left: 18px; font-size: 13px; line-height: 1.8; }
.rv-errs { margin: 6px 0 0; padding-left: 18px; color: var(--danger); font-size: 12.5px; line-height: 1.7; }
.rv-dl { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 5px 12px; font-size: 13px; margin: 6px 0; }
.rv-dl dt { color: var(--text-hint); }
.rv-dl dd { margin: 0; color: var(--text); min-width: 0; word-break: break-word; }
.rv-dl dd small { display: block; color: var(--text-hint); font-size: 11.5px; }
.rv-dl.wide { grid-template-columns: 120px minmax(0, 1fr); }
.rv-dl dt.grp { grid-column: 1 / -1; color: var(--accent); font-size: 12px; margin-top: 6px; border-bottom: 1px dashed var(--border); padding-bottom: 2px; }
.rv-dl dd.grp { display: none; }
.rv-bar { display: inline-block; flex: 0 0 120px; height: 6px; border-radius: 3px; background: var(--bg-warm); overflow: hidden; }
.rv-bar u { display: block; height: 100%; background: var(--gold-grad); text-decoration: none; transition: width .4s; }
.rv-bar.lg { flex: 1 1 160px; height: 8px; }
.rv-empty { padding: 32px 12px; text-align: center; color: var(--text-hint); font-size: 13px; }
.rv-empty.err { color: var(--danger); }
.rv-chips { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.rv-chips.wrap { margin: 6px 0; }
.rv-chip { font-size: 11.5px; padding: 3px 9px; border-radius: 999px; background: var(--bg-warm); border: 1px solid var(--border); color: var(--text-secondary); white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
button.rv-chip, label.rv-chip { cursor: pointer; }
.rv-chip.lnk { color: var(--accent-deep); }
.rv-chip.on { color: var(--accent); border-color: rgba(232, 176, 75, .5); background: var(--primary-light); }
.rv-chip.pick:hover { border-color: var(--accent); }
.rv-chip.dis, .rv-chip[disabled] { opacity: .5; cursor: not-allowed; }
.rv-chip b { color: var(--strong); }
.rv-costb { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: var(--primary-light); color: var(--accent); border: 1px solid rgba(232, 176, 75, .35); white-space: nowrap; }
.rv-costb.free { color: var(--success); background: rgba(77, 191, 168, .12); border-color: rgba(77, 191, 168, .3); }
.rv-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.rv-flt { display: inline-flex; align-items: center; gap: 4px; background: transparent; border: 1px solid var(--border); border-radius: 999px; padding: 4px 11px; font-size: 12.5px; color: var(--text-secondary); cursor: pointer; }
.rv-flt.on { color: var(--accent); border-color: rgba(232, 176, 75, .5); background: var(--primary-light); }
.rv-flt em { font-style: normal; font-size: 11px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--accent); color: #1a1206; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.rv-more { position: relative; display: inline-flex; }
.rv-menu { position: absolute; right: 0; top: 34px; z-index: 30; min-width: 170px; background: var(--bg-white); border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-lg); padding: 4px; display: flex; flex-direction: column; }
.rv-menu button { background: transparent; border: none; color: var(--text); text-align: left; padding: 8px 10px; border-radius: 7px; cursor: pointer; font-size: 13px; display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.rv-menu button:hover { background: var(--bg-warm); }
.rv-menu button.danger { color: var(--danger); }
.rv-frames { display: flex; gap: 3px; }
.rv-frames img { width: 44px; height: 44px; object-fit: cover; border-radius: 5px; background: var(--bg-warm); }
.rv-cropimg { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; background: var(--bg-warm); }
.rv-cropimg.lg { width: 140px; height: 140px; }
.rv-legend { display: flex; gap: 12px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-hint); margin: 4px 0 8px; }
.rv-legend i { font-size: 11px; }

/* hero / 顶栏 */
.rv-hero { position: relative; }
.rv-hero-act { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; gap: 8px; }
.rv-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; margin-top: 10px; border-radius: 14px; background: var(--bg-white); border: 1px solid var(--border); box-shadow: var(--shadow-console); position: relative; }
.rv-back { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: none; color: var(--text-secondary); cursor: pointer; font-size: 13px; padding: 6px 8px; border-radius: 8px; }
.rv-back:hover { color: var(--strong); background: var(--bg-warm); }
.rv-ttl { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rv-ttl b { color: var(--strong); font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 36vw; }
.rv-disp { font-style: normal; font-size: 11.5px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--border); color: var(--text-secondary); white-space: nowrap; }
.rv-disp.run { color: var(--accent); border-color: rgba(232, 176, 75, .4); background: var(--primary-light); }
.rv-disp.wait { color: #e8b04b; border-color: rgba(232, 176, 75, .55); }
.rv-disp.ok { color: var(--success); border-color: rgba(77, 191, 168, .4); }
.rv-disp.warn { color: var(--danger); border-color: rgba(224, 123, 99, .4); }
.rv-cost { background: transparent; border: 1px solid var(--border); border-radius: 999px; padding: 5px 12px; color: var(--text); font-size: 12.5px; cursor: pointer; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rv-cost:hover { border-color: var(--accent); }

/* 步骤条 */
.rv-steps { display: flex; align-items: stretch; gap: 6px; margin: 10px 0 0; padding: 2px; list-style: none; overflow-x: auto; }
.rv-step { flex: 1 1 0; min-width: 0; display: flex; }
.rv-step button { position: relative; width: 100%; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-white); color: var(--text-secondary); cursor: pointer; text-align: left; min-width: 0; overflow: hidden; font-size: 12.5px; }
.rv-step button[disabled] { cursor: not-allowed; opacity: .55; }
.rv-step-n { flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: var(--bg-warm); border: 1px solid var(--border); }
.rv-step-name { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rv-step-l { font-style: normal; font-size: 11px; color: var(--text-hint); white-space: nowrap; margin-left: auto; }
.rv-step button u { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--gold-grad); text-decoration: none; }
.rv-step.cur button { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(232, 176, 75, .35); }
.rv-step-done .rv-step-n { background: rgba(77, 191, 168, .18); color: var(--success); border-color: transparent; }
.rv-step-running .rv-step-n, .rv-step-queued .rv-step-n { color: var(--accent); border-color: var(--accent); }
.rv-step-review .rv-step-n { background: var(--accent); color: #1a1206; border-color: transparent; }
.rv-step-review .rv-step-l, .rv-step-stale .rv-step-l { color: var(--accent); }
.rv-step-error .rv-step-n, .rv-step-interrupted .rv-step-n { background: rgba(224, 123, 99, .2); color: var(--danger); border-color: transparent; }
.rv-step-error .rv-step-l, .rv-step-interrupted .rv-step-l { color: var(--danger); }
.rv-steps-sel { display: none; margin-top: 10px; align-items: center; gap: 8px; font-size: 13px; color: var(--text-secondary); }
.rv-steps-sel select { flex: 1; background: var(--bg-warm); border: 1px solid var(--border); border-radius: 8px; color: var(--text); padding: 7px 8px; }

/* 作业条 / 提示条 / 页签 */
.rv-job { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: var(--primary-light); border: 1px solid rgba(232, 176, 75, .3); font-size: 13px; color: var(--text); }
.rv-job > i { color: var(--accent); }
.rv-job.q { background: var(--bg-warm); border-color: var(--border); }
.rv-job.err { background: rgba(224, 123, 99, .1); border-color: rgba(224, 123, 99, .35); }
.rv-job.err > i { color: var(--danger); }
.rv-job.sub { background: transparent; border-style: dashed; color: var(--text-secondary); padding: 5px 12px; }
.rv-job-l { flex: 1 1 200px; }
.rv-warns { margin: 0; padding: 0; list-style: none; }
.rv-warn { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; padding: 8px 12px; border-radius: 10px; font-size: 13px; background: var(--primary-light); border: 1px solid rgba(232, 176, 75, .35); color: var(--text); }
.rv-warn > i { color: var(--accent); }
.rv-warn.red { background: rgba(224, 123, 99, .1); border-color: rgba(224, 123, 99, .35); }
.rv-warn.red > i { color: var(--danger); }
.rv-warn.info { background: var(--bg-warm); border-color: var(--border); }
.rv-warn.info > i { color: var(--text-hint); }
.rv-warn span { flex: 1 1 200px; }
.rv-warn em { font-style: normal; color: var(--text-hint); margin-left: 6px; font-size: 12px; }
.rv-tabs, .rv-htabs { display: flex; gap: 18px; border-bottom: 1px solid var(--border); margin: 12px 0 10px; overflow-x: auto; }
.rv-tab { position: relative; background: transparent; border: none; cursor: pointer; padding: 10px 2px; font-size: 14px; font-weight: 500; color: var(--text-hint); display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.rv-tab:hover { color: var(--text); }
.rv-tab.on { color: var(--strong); font-weight: 800; }
.rv-tab.on::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--accent); border-radius: 2px; }
.rv-tab em { font-style: normal; font-size: 11px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--accent); color: #1a1206; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.rv-tab.sm { font-size: 12.5px; padding: 7px 2px; }

/* 主区:左侧原片与镜头泳道 + 右侧内容 */
#rv-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 10px; align-items: start; }
.rv.has-side #rv-body { grid-template-columns: 280px minmax(0, 1fr); }
.rv.has-side.side-off #rv-body { grid-template-columns: 44px minmax(0, 1fr); }
#rv-side:empty { display: none; }
.rv-side { position: sticky; top: 8px; background: var(--bg-white); border: 1px solid var(--border); border-radius: 14px; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.rv-side-h { display: flex; align-items: center; gap: 8px; }
.rv-side-h b { color: var(--strong); font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.rv-side-h b i { color: var(--accent); }
.rv-side-h .rv-ic { margin-left: auto; }
.rv-side-open { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-white); color: var(--accent); cursor: pointer; position: sticky; top: 8px; }
.rv-player { width: 100%; border-radius: 10px; background: #000; max-height: 46vh; }
.rv-cover { position: relative; border-radius: 10px; overflow: hidden; background: var(--bg-warm); display: flex; flex-direction: column; gap: 4px; }
.rv-cover img { width: 100%; max-height: 40vh; object-fit: contain; display: block; }
.rv-cover .rv-dim { padding: 0 6px 6px; }
.rv-lane { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text-hint); }
.rv-lane em { flex: 0 0 26px; font-style: normal; }
.rv-lane-b { position: relative; flex: 1 1 auto; display: flex; gap: 1px; min-width: 0; height: 46px; }
.rv-lane-b.thin { height: 8px; background: var(--bg-warm); border-radius: 4px; overflow: hidden; }
.rv-lane-b.thin i { position: absolute; top: 0; bottom: 0; background: var(--success); opacity: .8; }
.rv-lane-s { position: relative; flex: 1 1 0; min-width: 6px; border: 1px solid transparent; border-radius: 4px; padding: 0; background: var(--bg-warm); cursor: pointer; overflow: hidden; }
.rv-lane-s img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rv-lane-s span { position: absolute; left: 2px; bottom: 1px; font-size: 9px; color: #fff; text-shadow: 0 0 3px #000; }
.rv-lane-s.on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.rv-lane-s.playing { border-color: var(--success); }
/* 原片播放器小控件:时间码 / 0.25× / 1× / 逐帧 */
.rv-plctl { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.rv-pl-tc { font-variant-numeric: tabular-nums; font-size: 12px; color: var(--text-hint); margin-right: auto; }
.rv-side-f { display: flex; gap: 4px; flex-wrap: wrap; }
#rv-main { min-width: 0; }
.rv-view { min-width: 0; }
.rv-view > .rv-card:first-child { margin-top: 0; }

/* 下一步条 */
.rv-next { position: sticky; bottom: 0; z-index: 40; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding: 10px 14px; border-radius: 14px 14px 0 0; background: var(--bg-white); border: 1px solid var(--border); border-bottom: none; box-shadow: 0 -8px 24px rgba(0, 0, 0, .25); font-size: 13px; }
#rv-next:empty { display: none; }
.rv-next b { color: var(--strong); }
.rv-next-label { flex: 1 1 200px; }
.rv-next .rv-acts { display: flex; gap: 8px; align-items: center; margin-left: auto; flex-wrap: wrap; }

/* 抽屉 / 弹层 */
.rv-drawer { position: fixed; inset: 0; z-index: 1200; }
.rv-dbg, .rv-mbg { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.rv-dpanel { position: absolute; top: 0; right: 0; bottom: 0; width: 600px; max-width: 100%; background: var(--bg-white); border-left: 1px solid var(--border); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; }
.rv-drawer.fresh .rv-dpanel { animation: rvSlide .22s ease-out; }
@keyframes rvSlide { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.rv-dbody { flex: 1; overflow: auto; padding: 16px 18px 24px; }
.rv-x { position: absolute; right: 10px; top: 10px; z-index: 2; width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg-warm); color: var(--text-secondary); cursor: pointer; }
.rv-x:hover { color: var(--strong); }
.rv-dhead, .rv-mhead { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding-right: 36px; flex-wrap: wrap; }
.rv-dhead b, .rv-mhead b { color: var(--strong); font-size: 16px; }
.rv-dhead > i, .rv-mhead > i { color: var(--accent); }
.rv-modal { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; padding: 16px; }
.rv-mbox { position: relative; width: 600px; max-width: 100%; max-height: 92vh; overflow: auto; background: var(--bg-white); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow-lg); padding: 18px; }
.rv-modal-gate .rv-mbox, .rv-modal-takes .rv-mbox { width: 760px; }
.rv-off { padding: 60px 16px; text-align: center; color: var(--text-secondary); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rv-off > i { font-size: 36px; color: var(--text-hint); }   /* 只放大顶上的大图标;「重试」按钮里的小图标不跟着放大(2026-10-24 走查) */
.rv-off h3 { margin: 0; }
.rv-off p { margin: 0; max-width: 520px; line-height: 1.7; }
.rv-gsec { padding: 10px 0; border-bottom: 1px dashed var(--border); }
.rv-gsec:last-of-type { border-bottom: none; }
.rv-gsec h4 { margin-bottom: 6px; }
.rv-acks .rv-chk { display: flex; margin: 6px 0; }
.rv-gfoot { position: sticky; bottom: -18px; background: var(--bg-white); padding: 10px 0; margin: 0 -2px; }

/* ───── 首页 ───── */
.rv-newcard { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px 16px; margin-top: 10px; border-radius: 16px; border: 2px dashed rgba(232, 176, 75, .45); background: var(--bg-white); cursor: pointer; color: var(--text-secondary); text-align: center; }
.rv-newcard:hover { border-color: var(--accent); background: var(--primary-light); }
.rv-newcard > i { font-size: 28px; color: var(--accent); }
.rv-newcard b { color: var(--strong); font-size: 15px; }
.rv-newcard span { font-size: 12px; color: var(--text-hint); }
.rv-quick { width: 100%; max-width: 560px; margin-top: 8px; cursor: default; }
.rv-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 10px; }
.rv-cards1 { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.rv-pcard { display: flex; gap: 12px; padding: 10px; margin-top: 0; }
.rv-cover { position: relative; flex: 0 0 96px; aspect-ratio: 9 / 16; max-height: 150px; border-radius: 10px; overflow: hidden; background: var(--bg-warm); display: flex; align-items: center; justify-content: center; color: var(--text-hint); cursor: pointer; }
.rv-pcard .rv-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rv-pcard .rv-cover .rv-disp { position: absolute; left: 4px; top: 4px; background: rgba(0, 0, 0, .6); }
.rv-cbody { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.rv-ctitle { color: var(--strong); font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-cmeta { font-size: 12px; color: var(--text-hint); }
.rv-cstat { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; }
.rv-cstat em { font-style: normal; color: var(--text-hint); }
.rv-cacts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 4px; align-items: center; }
.rv-empty-home { padding: 30px 16px; text-align: center; color: var(--text-secondary); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rv-empty-home i { font-size: 30px; color: var(--text-hint); }
.rv-empty-home ol { text-align: left; margin: 6px 0; padding-left: 20px; line-height: 1.9; max-width: 640px; }
.rv-legacy { margin-top: 14px; font-size: 13px; color: var(--text-secondary); }
.rv-legacy summary { cursor: pointer; padding: 6px 0; }
.rv-legacy ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rv-legacy li { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-radius: 10px; background: var(--bg-white); border: 1px dashed var(--border); }
.rv-legacy li b { color: var(--strong); font-weight: 600; }
.rv-image-rev p { line-height: 1.7; color: var(--text-secondary); }

/* ───── 新建 ───── */
.rv-new { display: grid; grid-template-columns: 62fr 38fr; gap: 16px; align-items: start; margin-top: 10px; }
.rv-new-l, .rv-new-r { min-width: 0; }
.rv-settings { position: sticky; top: 8px; background: var(--bg-white); border: 1px solid var(--border); border-radius: 14px; padding: 12px 14px; font-size: 13px; }
.rv-kinds { margin: 8px 0; }
.rv-drop { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 14px; border-radius: 14px; border: 2px dashed var(--border); background: var(--bg-white); cursor: pointer; text-align: center; color: var(--text-secondary); margin: 8px 0; }
.rv-drop:hover { border-color: var(--accent); background: var(--primary-light); }
.rv-drop.sm { padding: 14px; }
.rv-drop i { font-size: 24px; color: var(--accent); }
.rv-drop b { color: var(--strong); }
.rv-drop span { font-size: 12px; color: var(--text-hint); }
.rv-drop .rv-bar { width: 60%; }
.rv-newfoot { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 14px; background: var(--bg-white); border: 1px solid var(--border); }
.rv-newest { flex: 1 1 200px; font-size: 13px; color: var(--text-secondary); }
.rv-newest b { color: var(--strong); }
.rv-newfoot .rv-acts { display: flex; gap: 8px; margin-left: auto; }

/* ───── 体检与 G0 ───── */
.rv-strip { display: flex; gap: 4px; overflow-x: auto; padding: 6px 0; }
.rv-strip-s { position: relative; flex: 0 0 auto; width: 72px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-warm); padding: 0; cursor: pointer; overflow: hidden; }
.rv-strip-s img { width: 100%; height: 96px; object-fit: cover; display: block; }
.rv-strip-s > i { display: flex; height: 96px; align-items: center; justify-content: center; color: var(--text-hint); }
.rv-strip-s span { display: block; font-size: 10.5px; color: var(--text-secondary); padding: 2px 4px; white-space: nowrap; }
.rv-strip-s em { position: absolute; left: 3px; top: 3px; font-style: normal; font-size: 10px; padding: 1px 5px; border-radius: 5px; background: rgba(0, 0, 0, .65); color: #fff; }
.rv-cutq { display: inline-flex; align-items: center; gap: 6px; margin: 2px 8px 2px 0; }
.rv-trans summary { cursor: pointer; font-size: 13px; color: var(--text-secondary); padding: 6px 0; }
.rv-trans ol { margin: 0; padding-left: 22px; font-size: 13px; line-height: 1.8; }
.rv-trans em { font-style: normal; color: var(--text-hint); margin-right: 8px; font-variant-numeric: tabular-nums; }
.rv-g0 { border-color: rgba(232, 176, 75, .45); }

/* ───── 资产看板 ───── */
.rv-g1 { border-color: rgba(232, 176, 75, .35); }
.rv-ctabs { display: none; margin: 10px 0; }
.rv-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; margin-top: 10px; }
.rv-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rv-colh { display: flex; align-items: baseline; gap: 8px; }
.rv-colh i { color: var(--accent); }
.rv-colh b { color: var(--strong); font-size: 14px; }
.rv-acard { display: flex; flex-direction: column; gap: 6px; border-radius: 12px; background: var(--bg-white); border: 1px solid var(--border); padding: 10px; font-size: 12.5px; min-width: 0; }
.rv-acard.flagged { border-color: rgba(224, 123, 99, .45); }
.rv-acard.locked { border-style: dashed; }
.rv-ahead { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rv-ahead b { color: var(--strong); font-size: 14px; }
.rv-evwall { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 2px; }
.rv-ev { position: relative; flex: 0 0 auto; width: 64px; height: 64px; border: none; padding: 0; border-radius: 8px; overflow: hidden; background: var(--bg-warm); cursor: pointer; }
.rv-evwall.lg .rv-ev { width: 110px; height: 110px; }
.rv-ev img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rv-ev span { position: absolute; left: 0; right: 0; bottom: 0; font-size: 9.5px; color: #fff; background: rgba(0, 0, 0, .55); padding: 1px 3px; white-space: nowrap; overflow: hidden; }
.rv-acard .rv-dl { grid-template-columns: 64px minmax(0, 1fr); font-size: 12.5px; }
.rv-slots { display: flex; gap: 6px; flex-wrap: wrap; }
.rv-slot { display: flex; flex-direction: column; align-items: center; gap: 3px; width: 92px; padding: 6px 4px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-warm); cursor: pointer; font-size: 11px; color: var(--text-secondary); }
.rv-slot img { width: 80px; height: 60px; object-fit: cover; border-radius: 6px; }
.rv-slot > i { width: 80px; height: 60px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-hint); font-size: 18px; }
.rv-slot span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 84px; }
.rv-slot.bad { border-color: rgba(224, 123, 99, .45); }
.rv-slot.ok { border-color: rgba(77, 191, 168, .4); }
.rv-aacts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; align-items: center; }
.rv-sheet { display: flex; gap: 10px; padding: 8px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-warm); margin-bottom: 8px; }
.rv-sheet.bad { border-color: rgba(224, 123, 99, .45); }
.rv-sheet-img { flex: 0 0 120px; height: 120px; border-radius: 8px; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; color: var(--text-hint); font-size: 22px; }
.rv-sheet-img img { width: 100%; height: 100%; object-fit: contain; }
.rv-sheet-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; }
.rv-sheet-b b { color: var(--strong); }
.rv-views { display: flex; gap: 4px; flex-wrap: wrap; }
.rv-views figure { margin: 0; width: 56px; text-align: center; font-size: 10.5px; color: var(--text-hint); }
.rv-views img, .rv-views figure > i { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; background: var(--bg); display: inline-flex; align-items: center; justify-content: center; }
.rv-conflict { border-color: rgba(232, 176, 75, .4); background: var(--primary-light); }
.rv-conflict b { color: var(--strong); display: block; }

/* ───── 提示词 / 负面词 / 风格 / 导出 ───── */
.rv-tbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border-radius: 12px; background: var(--bg-white); border: 1px solid var(--border); }
.rv-pcards { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.rv-pcard-p { background: var(--bg-white); border: 1px solid var(--border); border-radius: 14px; padding: 10px 14px; min-width: 0; }
.rv-pcard-p.stale { border-color: rgba(232, 176, 75, .5); }
.rv-pcard-p.locked { border-style: dashed; }
.rv-pcard-p header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: var(--text-secondary); }
.rv-pcard-p header b { color: var(--strong); font-size: 15px; }
.rv-pcard-p header span { white-space: nowrap; }
.rv-ptext { font-size: 13px; }
.rv-pneg { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; font-size: 12.5px; margin: 4px 0; }
.rv-pneg b { color: var(--text-secondary); font-weight: 600; white-space: nowrap; }
.rv-pneg code { font-size: 12px; color: var(--text); word-break: break-word; }
.rv-pmeta { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; margin-top: 6px; }
.rv-pmeta > div { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rv-pmeta b { color: var(--text-secondary); font-weight: 600; white-space: nowrap; }
.rv-neggrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.rv-neggrid .rv-card { margin-top: 0; }
.rv-neglist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; }
.rv-neglist li { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rv-neglist code { color: var(--accent-deep); font-size: 12px; }
.rv-neglist small { color: var(--text-hint); margin-left: auto; }
.rv-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rv-two .rv-card { margin-top: 0; }
.rv-palette { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0; font-size: 12.5px; }
.rv-palette span { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px 3px 3px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-warm); }
.rv-palette i { width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); }
.rv-palette small { color: var(--text-hint); }
.rv-anchor { margin: 8px 0; }
.rv-anchor img { max-width: 200px; border-radius: 10px; display: block; }
.rv-anchor figcaption { font-size: 11.5px; color: var(--text-hint); margin-top: 4px; }
.rv-exports { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.rv-exp { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--bg-white); border: 1px solid var(--border); font-size: 13px; flex-wrap: wrap; }
.rv-exp > i { color: var(--accent); font-size: 18px; width: 24px; text-align: center; }
.rv-exp.off { opacity: .55; }
.rv-exp .rv-grow { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rv-exp b { color: var(--strong); }

/* ───── 窄屏(1100 / 900 / 720 / 640) ───── */
@media (max-width: 1100px) {
    .rv.has-side #rv-body { grid-template-columns: 220px minmax(0, 1fr); }
    .rv-dpanel { width: 100%; }
    .rv-two { grid-template-columns: 1fr; }
    .rv-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .rv-steps { display: none; }
    .rv-steps-sel { display: flex; }
    .rv.has-side #rv-body, .rv.has-side.side-off #rv-body { grid-template-columns: minmax(0, 1fr); }
    .rv-side { position: static; }
    .rv-side-open { position: static; }
    .rv-player { max-height: 32vh; }
    .rv-ctabs { display: inline-flex; }
    .rv-cols { grid-template-columns: 1fr; }
    .rv-cols .rv-col { display: none; }
    .rv-cols[data-col="characters"] .rv-col[data-k="characters"], .rv-cols[data-col="props"] .rv-col[data-k="props"], .rv-cols[data-col="scenes"] .rv-col[data-k="scenes"] { display: flex; }
    .rv-new { grid-template-columns: 1fr; }
    .rv-settings { position: static; }
    .rv-ttl b { max-width: 50vw; }
}
@media (max-width: 720px) {
    .rv-hero-act { position: static; transform: none; margin-top: 6px; }
    .rv-cards { grid-template-columns: 1fr; }
    .rv-mbox { padding: 14px; }
    .rv-dbody { padding: 14px; }
    .rv-olab { flex-basis: 100%; }
    .rv-dl { grid-template-columns: 72px minmax(0, 1fr); }
    .rv-dl.wide { grid-template-columns: 96px minmax(0, 1fr); }
    .rv-neggrid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .rv.has-foot { padding-bottom: 72px; }
    .rv .rv-next { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; border-radius: 0; padding: 8px 12px; gap: 8px; flex-wrap: nowrap; }
    .rv-next b, .rv-next .rv-dim { display: none; }
    .rv-next-label { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
    .rv-costb { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
    .rv .rv-next .rv-acts { margin-left: auto; flex: 0 0 auto; flex-wrap: nowrap; }
    .rv .rv-next .rv-acts .rv-btn:not(.primary) { display: none; }
    .rv .rv-next .rv-acts .rv-btn.primary { padding: 7px 12px; }
    .rv-pcard { flex-direction: column; }
    .rv-pcard .rv-cover { flex-basis: auto; width: 100%; aspect-ratio: 16 / 9; max-height: none; }
    .rv-ttl b { max-width: 42vw; font-size: 14px; }
    .rv-cost { font-size: 11.5px; padding: 4px 9px; }
    .rv-kpis { grid-template-columns: 1fr 1fr; }
    .rv-top .rv-btn.ghost span, .rv-top .rv-btn.ghost { font-size: 12px; }
    .rv-ic { width: 34px; height: 34px; }
    .rv button:not(.rv-step button):not(.rv-lane-s):not(.rv-strip-s):not(.rv-ev), .rv select, .rv .rv-lnk, .rv .rv-flt, .rv .rv-chip.lnk, .rv .rv-seg button, .rv .rv-radio { min-height: 34px; }
    .rv .rv-lnk, .rv .rv-chip.lnk { display: inline-flex; align-items: center; }
    .rv-sel.xs, .rv-inp.xs { padding-top: 6px; padding-bottom: 6px; }
    .rv-sheet { flex-direction: column; }
    .rv-sheet-img { flex-basis: auto; width: 100%; height: 160px; }
    .rv-modal-gate .rv-mbox, .rv-modal-takes .rv-mbox { width: 100%; }
    /* 窄屏:卡片里的长文案按钮(如 G1「确认角色 · 道具 · 场景,画设定图 · 约 N 积分」)允许折行,不撑出横向滚动;吸底条与小按钮仍单行 */
    .rv .rv-btn:not(.sm):not(.rv-next .rv-btn) { white-space: normal; max-width: 100%; text-align: left; }
    .rv .rv-row.end .rv-btn.primary { justify-content: center; }
}
@media (pointer: coarse) {
    .rv-ic, .rv-btn.sm, .rv-flt, .rv-seg button { min-height: 34px; }
}

/* ── 2026-10-14 多工具优化轮:报价一处 + 小问号、自动程度下拉、单选弹层、开拆弹层高级设置、下载记录点选、来源小标记 ── */
.rv-price { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.rv-qm { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; margin-left: 4px; border-radius: 50%; border: 1px solid currentColor; font-size: 10px; font-style: normal; font-weight: 600; line-height: 1; cursor: help; opacity: .75; vertical-align: middle; }
.rv-qm:hover, .rv-qm:focus { opacity: 1; outline: none; }
.rv-next-why { flex: 1 1 100%; font-size: 12px; color: var(--text-hint); }
.rv-next-why i { color: var(--accent); }
.rv-autosel { gap: 6px; }
.rv-autosel select { border: none; background: transparent; color: var(--accent-deep); font-size: 11.5px; padding: 0 2px; cursor: pointer; max-width: 9em; }
.rv-pick .rv-radio { width: 100%; text-align: left; font: inherit; color: inherit; }
.rv-pick .rv-radio > i { margin-top: 3px; color: var(--accent); }
.rv-gadv { margin: 6px 0 2px; border: 1px solid var(--border); border-radius: 10px; padding: 6px 10px; background: var(--bg-warm); }
.rv-gadv > summary { cursor: pointer; font-weight: 600; color: var(--strong); padding: 4px 0; }
.rv-gadv > summary .rv-dim { font-weight: 400; margin-left: 6px; }
.rv-gadv .rv-gsec { padding: 8px 0; }
.rv-gprice .rv-sum { margin: 0; }
.rv-pdetail { margin-top: 6px; }
.rv-pdetail > summary { cursor: pointer; font-size: 12px; color: var(--text-hint); }
.rv-ylist { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow: auto; padding: 2px; }
.rv-yitem { display: flex; align-items: flex-start; gap: 8px; text-align: left; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-warm); cursor: pointer; font: inherit; color: inherit; }
.rv-yitem.on { border-color: var(--accent); background: var(--primary-light); }
.rv-yitem > i { margin-top: 3px; color: var(--accent); }
.rv-yitem span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rv-yitem b { color: var(--strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-yitem small { color: var(--text-hint); font-size: 11.5px; }
.rv-mark.guess, .rv-mark.user { font-size: 10.5px; padding: 0 5px; border-radius: 6px; border: 1px solid var(--border); margin-right: 4px; min-width: 0; }
.rv-mark.guess { color: var(--text-hint); }
.rv-mark.user { color: var(--accent-deep); border-color: rgba(232, 176, 75, .4); }
.rv-steps3 { margin: 4px 0 8px; }
.rv-cutfold > summary { cursor: pointer; }
.rv-cutfold .rv-cutq { display: inline-flex; margin: 4px 6px 0 0; }
@media (max-width: 640px) {
    .rv-autosel span { display: none; }
    .rv-next-why { font-size: 11px; }
}
/* AI 一键修复确认框:按要做的事分组的清单(2026-10-16) */
.rv-fixplan { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; max-height: 260px; overflow: auto; }
.rv-fixplan-g b { font-size: 13px; color: var(--strong); }
.rv-fixplan-g ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; }
.rv-fixplan-g li { display: flex; gap: 8px; min-width: 0; }
.rv-fixplan-g li span { flex: none; color: var(--text); }
.rv-fixplan-g li em { font-style: normal; color: var(--text-hint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.rv-tab.rv-tab-mode { margin-left: auto; color: var(--text-hint); }
