.ff942-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-color: #bcd9cf; background: linear-gradient(135deg, #f2faf6, #f7fbfd); }
.ff942-panel-copy { display: flex; align-items: flex-start; gap: .9rem; }
.ff942-panel-copy h3 { margin: .15rem 0 .35rem; }
.ff942-panel-copy p { margin: 0; }
.ff942-panel-icon { display: grid; place-items: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; border-radius: 14px; background: #dff1e7; color: #146044; font-size: 1.35rem; }

.ff942-preview { display: grid; gap: 1rem; }
.ff942-merge-map { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: stretch; gap: .7rem; }
.ff942-merge-map > article { display: grid; align-content: center; gap: .25rem; padding: .85rem; border: 1px solid #d7e3e9; border-radius: 14px; background: #f6fafc; }
.ff942-merge-map > article.is-target { border-color: #9ed4b8; background: #eef9f3; }
.ff942-merge-map > span { align-self: center; font-size: 1.4rem; font-weight: 900; color: #247254; }
.ff942-merge-map small, .ff942-preview-group small { color: #668194; }
.ff942-merge-map code { overflow-wrap: anywhere; font-size: .73rem; }
.ff942-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.ff942-preview-group { border: 1px solid #d9e4e9; border-radius: 14px; overflow: hidden; background: #fff; }
.ff942-preview-group header { display: flex; justify-content: space-between; gap: .6rem; padding: .7rem .8rem; background: #f4f8fa; }
.ff942-preview-group header span { display: grid; place-items: center; min-width: 1.55rem; height: 1.55rem; border-radius: 999px; background: #dce9ef; font-weight: 900; }
.ff942-preview-group ul { display: grid; gap: 0; max-height: 13rem; overflow: auto; margin: 0; padding: 0; list-style: none; }
.ff942-preview-group li { display: grid; gap: .15rem; padding: .65rem .8rem; border-top: 1px solid #edf2f4; }
.ff942-preview-group p { margin: 0; padding: .8rem; color: #708895; }
.ff942-preview-group.is-change { border-color: #c7ddeb; }
.ff942-preview-group.is-preserved { border-color: #add9c1; }
.ff942-preview-group.is-history { grid-column: 1 / -1; border-color: #ddd3ed; }
.ff942-validation, .ff942-archive-warning { display: flex; gap: .75rem; padding: .85rem; border: 1px solid #efb9b4; border-radius: 14px; background: #fff1ef; color: #8a2d25; }
.ff942-validation ul { margin: .35rem 0 0; padding-left: 1.2rem; }
.ff942-archive-warning > span { display: grid; place-items: center; flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: 999px; background: #ba3e31; color: #fff; font-weight: 900; }
.ff942-archive-warning p { margin: .3rem 0 0; }
.ff942-phrase { display: grid; gap: .5rem; margin-top: 1rem; }
.ff942-actions { margin-top: 1rem; }

@media (max-width: 760px) {
  .ff942-panel { align-items: stretch; flex-direction: column; }
  .ff942-panel > .btn { width: 100%; min-height: 48px; }
  .ff942-merge-map { grid-template-columns: 1fr; }
  .ff942-merge-map > span { justify-self: center; transform: rotate(90deg); }
  .ff942-preview-grid { grid-template-columns: 1fr; }
  .ff942-preview-group.is-history { grid-column: auto; }
  .ff942-actions { display: grid; grid-template-columns: 1fr; }
  .ff942-actions .btn { width: 100%; min-height: 48px; }
}
