.pair-comparison { margin:24px 0; }
.combat-lab #formulaConditionFields>label { display:grid; grid-template-rows:24px 56px auto; align-content:start; gap:9px; min-width:0; }
.combat-lab #formulaConditionFields>label>select,.combat-lab #formulaConditionFields>label>input { width:100%; height:56px; min-height:56px; margin:0; }
.combat-lab #formulaConditionFields .field-hint { margin:0; font-weight:400; line-height:1.7; }
.pair-actions { margin:0 0 20px; }
.pair-gain { display:inline-block; margin:12px 18px; font-size:19px; font-weight:700; color:var(--accent-strong); }
.pair-actions p { margin:10px 0 0; }
.pair-reforges { margin:18px 0 0; padding:12px; border:1px solid var(--line); border-radius:8px; }
.pair-reforges legend { font-size:12px; color:var(--accent-strong); }
.pair-reforges label { display:grid; grid-template-columns:minmax(0,1fr) 76px 16px; align-items:center; gap:8px; margin:10px 0; font-size:12px; }
.pair-reforges small { display:block; color:var(--muted); margin-top:5px; font-size:11px; }
.pair-reforges input { width:100%; min-width:0; padding:8px; }
@media(max-width:700px){.pair-reforges label{grid-template-columns:minmax(0,1fr) 58px 12px;gap:4px}.pair-reforges{padding:6px}}
.pair-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.pair-heading h2 { margin:0 0 8px; font-size:22px; }
.pair-heading p,.pair-names p { margin:0; font-size:13px; color:var(--muted); }
.pair-filter { display:flex; align-items:center; gap:8px; font-size:13px; white-space:nowrap; }
.pair-filter input { width:18px; height:18px; min-height:0!important; margin:0; }
.pair-names,.pair-slot { display:grid; grid-template-columns:116px minmax(0,1fr) minmax(0,1fr); gap:0; }
.pair-names { background:var(--panel-soft); border:1px solid var(--line); border-radius:10px 10px 0 0; }
.pair-names>div { padding:20px; min-width:0; }
.pair-names>div:last-child { border-left:1px solid var(--line); background:var(--guide-selected); }
.pair-names small { color:var(--muted); font-size:12px; }
.pair-names h3 { margin:7px 0 10px; font-size:19px; overflow-wrap:anywhere; }
.pair-names .pair-pending { color:var(--danger,#b9443d); }
.pair-equipment { border:1px solid var(--line); border-top:0; border-radius:0 0 10px 10px; overflow:hidden; }
.pair-slot+.pair-slot { border-top:1px solid var(--line); }
.pair-slot>h4 { margin:0; padding:20px 12px; font-size:13px; color:var(--muted); }
.pair-slot>h4 small { display:block; margin-top:10px; font-weight:400; color:var(--accent-strong); }
.pair-slot>div { padding:18px 20px; min-width:0; overflow-wrap:anywhere; }
.pair-slot>div:last-child { border-left:1px solid var(--line); }
.pair-slot.is-changed>div:last-child { background:var(--guide-selected); }
.pair-slot>div>strong { display:block; font-size:15px; line-height:1.6; }
.pair-item-enchants { font-size:12px; color:var(--muted); margin:6px 0 10px; }
.pair-slot details { border:0!important; padding:0!important; margin:12px 0 0!important; }
.pair-slot summary { font-size:12px; color:var(--accent-strong); }
.pair-slot .equipment-diff-part { margin-top:10px!important; padding:0!important; border:0!important; }
.pair-slot .equipment-diff-part strong { font-size:11px; color:var(--muted); }
.pair-slot .equipment-diff-part p { font-size:12px; line-height:1.7; white-space:pre-line; margin:4px 0; }
.pair-empty { padding:20px; margin:0; }
.pair-panels { margin-top:24px!important; }
.pair-panels table { width:100%; min-width:480px; }
.pair-panels td:not(:first-child) { font-variant-numeric:tabular-nums; text-align:right; }
.pair-panels th { text-align:left; font-weight:500; }
.pair-panels tr.is-changed { background:var(--panel-soft); }
.positive { color:var(--accent-strong); }
.contribution-view { margin-top:28px; }
.contribution-view h2 { font-size:22px; margin:0 0 8px; }
.contribution-row { display:grid; grid-template-columns:minmax(100px,200px) minmax(60px,1fr) 90px; gap:16px; align-items:center; padding:12px 0; font-size:14px; }
.contribution-row>strong { text-align:right; font-variant-numeric:tabular-nums; color:var(--accent-strong); }
.contribution-track { height:12px; background:var(--panel-soft); border-radius:4px; overflow:hidden; }
.contribution-track i { display:block; height:100%; background:var(--accent); border-radius:4px; }
.contribution-row.negative>strong { color:var(--danger,#c4314b); }
.contribution-row.negative i { background:var(--danger,#c4314b); }
.contribution-view>details { margin-top:20px; }
.combat-lab .pair-edit-mode { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.combat-lab .pair-edit-mode>.compare-side { min-width:0; }
.combat-lab .pair-edit-mode .profile-brief { border:1px solid var(--line); padding:18px; border-radius:8px; background:var(--panel-soft); }
.combat-lab .pair-edit-mode .auto-fields { max-width:none; }
.combat-lab .pair-edit-mode .fields { grid-template-columns:minmax(0,1fr); }
@media(max-width:700px) {
 .pair-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .pair-names,.pair-slot { grid-template-columns:80px minmax(0,1fr) minmax(0,1fr); }
 .pair-names>div,.pair-slot>div { padding:14px 10px; }
 .pair-names h3 { font-size:15px; }
 .pair-slot>h4 { padding:14px 8px; font-size:11px; }
 .pair-slot>div>strong { font-size:13px; }
 .pair-names p { font-size:11px; }
 .contribution-row { grid-template-columns:100px minmax(40px,1fr) 70px; gap:10px; font-size:12px; }
 .combat-lab .pair-edit-mode { grid-template-columns:minmax(0,1fr); }
 .pair-names,.pair-slot { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .pair-names>span { display:none; }
 .pair-slot>h4 { grid-column:1/-1; background:var(--panel-soft); display:flex; align-items:center; gap:12px; }
 .pair-slot>h4 small { margin:0; }
 .pair-reforges label { grid-template-columns:minmax(0,1fr) 12px; }
 .pair-reforges label>span:first-child { grid-column:1/-1; }
 .pair-reforges input { width:68px; }
}

/* Keep two complete, aligned configuration columns visible together. */
.combat-lab .pair-heading { justify-content:flex-start; flex-direction:row; flex-wrap:wrap; align-items:center; gap:18px; }
.combat-lab .pair-heading h2 { margin:0; }
.combat-lab .pair-filter { display:inline-flex; flex-direction:row; align-items:center; width:auto; gap:8px; margin:0; cursor:pointer; }
.combat-lab .pair-filter input { flex:0 0 18px; width:18px; height:18px; padding:0; min-height:0; margin:0; }
.combat-lab .pair-filter span { font-size:14px; line-height:22px; }
.combat-lab .pair-panels { margin:0 0 24px!important; }
.pair-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.pair-profile { display:grid; grid-template-rows:subgrid; grid-row:1 / span var(--pair-rows); gap:0; min-width:0; border:1px solid var(--line-strong,var(--line)); border-radius:10px; background:var(--panel-solid); overflow:hidden; }
.pair-profile-base { grid-column:1; }.pair-profile-next { grid-column:2; }
.pair-profile-header { padding:22px; background:var(--panel-soft); }
.combat-lab .pair-profile-header label { display:flex; flex-direction:column; gap:10px; font-size:17px; font-weight:700; }
.combat-lab .pair-profile-header select { width:100%; min-width:0; min-height:48px; font-size:15px; }
.pair-profile-header p { color:var(--muted); font-size:12px; margin:10px 0; }
.pair-equipment-item { min-width:0; padding:20px 22px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.pair-equipment-item h4 { font-size:13px; color:var(--muted); margin:0 0 8px; }
.pair-item-name { font-size:16px; font-weight:700; line-height:1.6; margin:0 0 12px; }
.pair-equipment-item dl { margin:0; }.pair-part { margin:12px 0 0; }.pair-part dt { font-size:12px; color:var(--muted); margin-bottom:5px; }.pair-part dd { margin:0; }
.pair-value { margin:3px 0; line-height:1.7; font-size:14px; }
.combat-lab .pair-reforge-line { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:7px; min-height:44px; margin:4px 0; font-size:14px; }
.combat-lab .pair-reforge-line input { width:72px; min-height:38px; padding:7px; font-size:15px; color:inherit; }
.pair-value-base { color:#9b5214; background:#fff1dc; border-left:3px solid #c87929; padding:4px 8px; border-radius:3px; }
.pair-value-next { color:#087879; background:#e0f5ef; border-left:3px solid #269e9f; padding:4px 8px; border-radius:3px; }
.night-mode .pair-value-base { color:#ffd1a3; background:#553d28; border-color:#e5a469; }
.night-mode .pair-value-next { color:#9ae9dc; background:#21483f; border-color:#5ac9b8; }
.pair-legend { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 12px; font-size:12px; color:var(--muted); }
.pair-muted { margin:5px 0; color:var(--muted); font-size:13px; }
@media(max-width:700px){
 .pair-columns { gap:0 10px; }.pair-profile-header,.pair-equipment-item { padding:14px 10px; }
 .pair-item-name { font-size:14px; }.pair-value,.combat-lab .pair-reforge-line { font-size:12px; }
 .combat-lab .pair-profile-header select { font-size:13px; }.combat-lab .pair-reforge-line input { width:55px; }
 .pair-gain { margin:12px 0; }.combat-lab #formulaConditionFields>label { grid-template-rows:auto 56px auto; }
}

/* Results read as a report; selection and editing live in the equipment step. */
.combat-lab .report-view .guide-heading { padding-bottom:16px; }
.combat-lab .report-view .guide-heading h2 { font-size:28px; }
.combat-lab .report-view .guide-meta { margin-bottom:10px; }
.combat-lab .report-toolbar { margin-bottom:24px; gap:10px 16px; }
.combat-lab .report-toolbar #comparisonImageStatus { flex-basis:auto; font-size:12px; }
.combat-lab #comparisonReport .result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:28px; row-gap:8px; }
.combat-lab #comparisonReport #resultEyebrow { grid-column:1; grid-row:1; margin:0; }
.combat-lab #comparisonReport #resultTitle { grid-column:1; grid-row:2; margin:0; }
.combat-lab #comparisonReport .report-pair-context { grid-column:1; grid-row:3; margin:0; }
.combat-lab #comparisonReport #mainResult { grid-column:2; grid-row:1 / 4; align-self:center; margin:0; }
.combat-lab #comparisonReport #resultSummary { grid-column:1 / -1; margin:4px 0; }
.combat-lab #comparisonReport #resultMetrics { grid-column:1 / -1; margin-top:8px; }
.combat-lab .report-difference-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.combat-lab #comparisonReport .report-difference-heading h2 { margin:0; }
.combat-lab .report-change-table td { white-space:pre-line; }
.combat-lab .report-changed-value { color:var(--accent-strong); font-weight:650; }
.combat-lab #comparisonReport .contribution-view { margin:0; }
.combat-lab #comparisonReport .contribution-view h2,.combat-lab #comparisonReport .skill-calculations h2 { color:var(--accent-strong); font-size:21px; margin:0 0 10px; }
.combat-lab .skill-gain-table th:first-child { width:30%; }
.combat-lab .skill-contribution strong { display:block; color:var(--accent-strong); font-variant-numeric:tabular-nums; }
.combat-lab .skill-contribution .contribution-track { display:block; max-width:180px; height:5px; margin-top:9px; }
.combat-lab .skill-contribution.negative strong { color:var(--danger,#c4314b); }
.combat-lab .skill-contribution.negative i { background:var(--danger,#c4314b); }
.combat-lab .skill-calculations { margin-top:30px; }
.combat-lab #comparisonReport .skill-formula-explanation { margin:10px 0; padding:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.combat-lab .skill-formula-explanation>summary { padding:15px 18px; cursor:pointer; font-size:15px; }
.combat-lab .skill-formula-explanation>summary>span { float:right; font-weight:400; font-size:12px; color:var(--muted); }
.combat-lab .skill-formula-explanation[open]>summary { background:var(--panel-soft); border-bottom:1px solid var(--line); }
.combat-lab [data-explanation-content] { padding:0 20px; }
.combat-lab .formula-source { color:var(--muted); font-size:12px; line-height:1.8; margin:18px 0; }
.combat-lab .formula-steps { padding-left:24px; margin:0; }
.combat-lab .formula-steps>li { padding:0 0 20px 6px; margin:20px 0; border-bottom:1px solid var(--line); }
.combat-lab .formula-steps>li::marker { color:var(--accent-strong); font-weight:700; }
.combat-lab .formula-steps h4 { margin:0 0 9px; font-size:15px; }
.combat-lab .formula-expression { line-height:1.85; font-size:13px; margin:0 0 12px; overflow-wrap:anywhere; white-space:pre-line; }
.combat-lab .formula-inheritance-note { padding:12px 16px; background:var(--panel-soft); border-left:3px solid var(--accent); font-size:13px; line-height:1.8; }
.combat-lab .formula-inheritance-note strong { display:block; margin-bottom:4px; }
.combat-lab .formula-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.combat-lab .formula-substitution { min-width:0; padding:12px 14px; background:var(--panel-soft); border-radius:6px; }
.combat-lab .formula-substitution>span { font-size:11px; color:var(--muted); }
.combat-lab .formula-substitution p { margin:6px 0 0; font-size:12px; line-height:1.8; overflow-wrap:anywhere; white-space:pre-line; }
.combat-lab .formula-substitution strong { font-size:15px; font-variant-numeric:tabular-nums; }
.combat-lab .formula-value-base { border-left:3px solid #c87929; }.combat-lab .formula-value-next { border-left:3px solid var(--accent); }
.combat-lab .formula-inputs { margin-bottom:20px; }
.combat-lab #comparisonReport .report-reference { margin-top:30px; padding:18px 0; border-top:1px solid var(--line); }
.combat-lab .report-reference>summary { cursor:pointer; font-size:16px; }
.combat-lab .report-reference>summary>span { font-size:12px; color:var(--muted); font-weight:400; margin-left:12px; }
.combat-lab .report-reference .report-input-grid { margin-top:20px; align-items:start; }
.combat-lab .report-reference .report-input-group:first-child { grid-row:auto; }
.combat-lab .report-pair-context { color:var(--muted); font-size:13px; margin:10px 0 16px; }
.combat-lab #damageAmplificationCard fieldset { margin:22px 0 18px; padding:16px; border:1px solid var(--line); border-radius:8px; }
.combat-lab #damageAmplificationCard legend { padding:0 6px; font-weight:650; }
@media(min-width:900px){.combat-lab #resultMetrics { grid-template-columns:repeat(4,minmax(0,1fr)); }}
@media(max-width:600px){
 .combat-lab #comparisonReport .result-card { display:block; }
 .combat-lab #comparisonReport #resultTitle { margin:8px 0; }
 .combat-lab #comparisonReport #mainResult { margin:14px 0; }
 .combat-lab .formula-values { grid-template-columns:minmax(0,1fr); }
 .combat-lab [data-explanation-content] { padding:0 12px; }
 .combat-lab .report-difference-heading { align-items:flex-start; }
 .combat-lab #comparisonReport .skill-gain-table th,.combat-lab #comparisonReport .skill-gain-table td { padding:10px 6px; font-size:12px; }
}
