/* =====================================================================
   style.css — チェックディジット計算 ツール固有の微調整のみ。
   共通スタイルは /_shared/shirugear.css に任せる（結果表示は sg-result）。
   ===================================================================== */

/* モード切替（方式・動作） */
.sg-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: var(--sg-space-1, 4px);
}
.sg-mode {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 0.95rem;
}

/* 結果の値は折り返して読みやすく */
.sg-result__value {
  line-height: 1.6;
  word-break: break-word;
}
.sg-result__value.is-valid {
  color: var(--sg-success, #1a7f37);
}
.sg-result__value.is-invalid {
  color: var(--sg-danger, #c02020);
}

/* 計算過程 */
.sg-steps {
  margin-top: var(--sg-space-3, 12px);
  border-top: 1px solid var(--sg-border, #e5e7eb);
  padding-top: var(--sg-space-3, 12px);
}
.sg-steps__title {
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--sg-muted, #555);
}
.sg-steps__sum {
  margin: 8px 0 0;
  font-size: 0.9rem;
  color: var(--sg-muted, #555);
  line-height: 1.7;
}

/* 1桁ごとの内訳 */
.sg-breakdown {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 2px 16px;
}
.sg-breakdown-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px solid var(--sg-border, #e5e7eb);
  font-variant-numeric: tabular-nums;
}
.sg-breakdown-row__pos {
  flex: 0 0 1.6em;
  text-align: right;
  font-size: 0.8rem;
  color: var(--sg-muted, #999);
}
.sg-breakdown-row__char {
  flex: 0 0 1.2em;
  font-weight: 600;
  text-align: center;
}
.sg-breakdown-row__op {
  flex: 0 0 auto;
  font-size: 0.85rem;
  color: var(--sg-muted, #777);
}
.sg-breakdown-row__val {
  flex: 1 1 auto;
  text-align: right;
  font-weight: 600;
}
