/* G87 统一研究模式简易页样式（静态研究页，无素材依赖；沿用 leisure-ui 视觉基线） */
:root { color-scheme: light; }
body { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; margin: 0; background: #f4f5f7; color: #222; }
.wrap { max-width: 980px; margin: 0 auto; padding: 16px; }
header { background: #1f2937; color: #fff; padding: 14px 20px; }
header h1 { font-size: 18px; margin: 0; }
header .sub { font-size: 12px; color: #d1d5db; margin-top: 4px; }
.card { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px 16px; margin-top: 14px; }
.card h2 { font-size: 15px; margin: 0 0 10px; color: #111827; }
.kv { display: grid; grid-template-columns: 130px 1fr; row-gap: 6px; font-size: 14px; }
.kv .k { color: #6b7280; }
.note { background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; padding: 10px 12px; font-size: 13px; margin-top: 10px; }
.card .note { margin-top: 10px; }
.row { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; align-items: center; font-size: 14px; }
select, input[type=number], textarea { padding: 6px 8px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; max-width: 100%; box-sizing: border-box; }
input[type=number] { width: 130px; }
select { max-width: 300px; }
textarea { width: 100%; min-height: 240px; font-family: Consolas, monospace; font-size: 12px; }
button { padding: 6px 16px; border: 0; border-radius: 6px; background: #2563eb; color: #fff; font-size: 14px; cursor: pointer; }
button:disabled { background: #9ca3af; cursor: not-allowed; }
button.ghost { background: #6b7280; }
button.small { padding: 2px 10px; font-size: 12px; }
a { color: #2563eb; font-size: 13px; }
.subhead { font-size: 13px; color: #374151; font-weight: 600; margin-top: 10px; }
.subbox { font-size: 13px; margin-top: 4px; white-space: pre-wrap; word-break: break-word; color: #111827; }
.boxlist { border: 1px solid #e5e7eb; border-radius: 6px; padding: 6px 10px; max-height: 260px; overflow-y: auto; line-height: 1.7; }
.mono { font-family: Consolas, monospace; font-size: 12px; }
.boxjson { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; padding: 6px 10px; max-height: 220px; overflow-y: auto; }
.err-box { color: #b91c1c; border: 1px solid #fca5a5; border-radius: 6px; padding: 8px 10px; background: #fef2f2; }
#startResult, #actResult, #setResult { margin-top: 10px; font-size: 13px; white-space: pre-wrap; word-break: break-word; }
#startResult.ok, #actResult.ok, #setResult.ok { color: #047857; }
#startResult.err, #actResult.err, #setResult.err { color: #b91c1c; }
#startResult.warn, #actResult.warn, #setResult.warn { color: #b45309; }
#retryBox { display: none; margin-top: 10px; padding: 10px 12px; border: 1px dashed #f59e0b; border-radius: 6px; font-size: 13px; }
#retryDesc { white-space: pre-wrap; word-break: break-word; }
/* 双阵容面板 */
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }
@media (max-width: 800px) { .cols { grid-template-columns: 1fr; } }
.sideCol { border: 1px solid #e5e7eb; border-radius: 6px; padding: 8px 10px; font-size: 13px; }
.sideTitle { font-weight: 600; margin-bottom: 4px; }
.unit { margin: 6px 0; padding: 6px 8px; border: 1px solid #f3f4f6; border-radius: 6px; }
.unit.dead { background: #f9fafb; opacity: 0.75; }
.uLine { margin-top: 2px; }
.hpbar { display: inline-block; vertical-align: middle; width: 150px; height: 8px; background: #e5e7eb; border-radius: 4px; margin-right: 6px; overflow: hidden; }
.hpfill { height: 100%; background: #10b981; border-radius: 4px; }
.hpfill.dead { background: #9ca3af; }
.evtDie { color: #b91c1c; }
.evtEnd { color: #047857; font-weight: 600; }
#histList { font-size: 13px; }
/* G105 PVE 面板（tick 域研究替代；简洁血条/实体卡片，无美术资产） */
.wallbox { margin-top: 6px; font-size: 13px; }
.hpbar.wide { width: 320px; height: 12px; }
.hpfill.wall { background: #2563eb; }
.enemies { max-height: 300px; overflow-y: auto; }
.enemy { margin: 5px 0; padding: 5px 8px; border: 1px solid #f3f4f6; border-radius: 6px; font-size: 12.5px; }
.enemy .tags { color: #6b7280; }
.enemy .tag-slow { color: #0369a1; }
.enemy .tag-burn { color: #b45309; }
.enemy.bossCard { border: 1px solid #f59e0b; background: #fffbeb; }
.pvjson { width: 100%; min-height: 90px; font-family: Consolas, monospace; font-size: 12px; }
#pveOfferBox { margin-top: 8px; padding: 8px 10px; border: 1px dashed #f59e0b; border-radius: 6px; background: #fffbeb; }
#pveSkillNote { font-size: 12px; color: #6b7280; }
details { margin-top: 6px; font-size: 13px; }
details summary { cursor: pointer; color: #374151; }
.histItem { padding: 3px 0; border-bottom: 1px dashed #f3f4f6; }
.histItem .row { margin-top: 2px; }
/* G109 卡牌竞速/事件地图面板（研究替代；简单条形/列表，无美术资产） */
.hpfill.track { background: #f59e0b; }
.hpfill.trackRobot { background: #6b7280; }
.raceHandBtn { min-width: 150px; text-align: left; }
.evNodeBtn, .evOptBtn { text-align: left; }
.evWhy { font-size: 12px; color: #6b7280; }
/* G130 三策略组件挂载容器（组件样式自带 .rsc-autochess/.rsc-season 前缀；此处仅容器间距） */
#autochessPanelRoot, #seasonPanelRoot { margin-top: 6px; }
/* G138 智慧比拼/赛季PVP组件挂载容器（组件样式自带 .rsc-smartcompete/.rsc-season-pvp 前缀） */
#smartPanelRoot, #seasonPvpPanelRoot { margin-top: 6px; }
