/* =====================================================================
   style.css — JSONの差分比較 ツール固有の微調整のみ。
   共通スタイルは /_shared/shirugear.css に任せる（結果表示は sg-result）。
   ===================================================================== */

/* 2つの入力を横並び（広い画面）/ 縦積み（狭い画面） */
.sg-json-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--sg-space-3, 12px);
}

/* 貼り付け用テキストエリアは等幅で見やすく */
.sg-json-input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9rem;
  line-height: 1.6;
  white-space: pre;
  overflow-wrap: normal;
  min-height: 8em;
}

/* パースエラー表示 */
.sg-err {
  margin-top: var(--sg-space-1, 4px);
  color: var(--sg-danger, #c0392b);
  font-size: 0.85rem;
  word-break: break-word;
}

/* オプション行 */
.sg-opt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 0.92rem;
}

/* 差分リスト */
.sg-difflist {
  display: flex;
  flex-direction: column;
  margin-top: var(--sg-space-3, 12px);
  border-top: 1px solid var(--sg-border, #e5e7eb);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.88rem;
}
.sg-diff-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--sg-border, #e5e7eb);
}
.sg-diff-row__sym {
  flex: 0 0 1.2em;
  font-weight: 700;
  text-align: center;
}
.sg-diff-row.is-add .sg-diff-row__sym { color: #1a7f37; }
.sg-diff-row.is-del .sg-diff-row__sym { color: #c0392b; }
.sg-diff-row.is-change .sg-diff-row__sym { color: #b26a00; }
.sg-diff-row.is-same .sg-diff-row__sym { color: var(--sg-muted, #999); }

.sg-diff-row__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sg-diff-row__path {
  font-weight: 600;
  word-break: break-all;
}
.sg-diff-row__val {
  color: var(--sg-muted, #555);
  word-break: break-all;
  white-space: pre-wrap;
}
.sg-diff-row.is-same .sg-diff-row__path,
.sg-diff-row.is-same .sg-diff-row__val {
  color: var(--sg-muted, #999);
}
