/* =====================================================================
   style.css — CSS transformジェネレーター ツール固有の微調整のみ。
   共通スタイルは /_shared/shirugear.css に任せる（結果表示は sg-result）。
   ===================================================================== */

/* 2カラム（操作 / プレビュー） */
.sg-tg-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sg-space-4, 16px);
  align-items: start;
}
@media (max-width: 720px) {
  .sg-tg-layout {
    grid-template-columns: 1fr;
  }
}

/* プリセットボタン群 */
.sg-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--sg-space-1, 4px);
}
.sg-preset {
  font-size: 0.85rem;
  padding: 6px 12px;
  border: 1px solid var(--sg-border, #e2e6ee);
  border-radius: 999px;
  background: var(--sg-surface, #fff);
  color: var(--sg-fg, #222);
  cursor: pointer;
}
.sg-preset:hover {
  border-color: var(--sg-accent, #3b5bdb);
  color: var(--sg-accent, #3b5bdb);
}

/* 各コントロール（ラベル + スライダー + 数値） */
.sg-tg-ctrl {
  margin-top: var(--sg-space-3, 12px);
}
.sg-tg-unit {
  font-weight: 400;
  font-size: 0.8rem;
  color: var(--sg-muted, #888);
  margin-left: 6px;
}
.sg-tg-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}
.sg-tg-range {
  flex: 1 1 auto;
  min-width: 0;
  accent-color: var(--sg-accent, #3b5bdb);
}
.sg-tg-num {
  flex: 0 0 84px;
  width: 84px;
  text-align: right;
}

/* transform-origin のカスタム% */
.sg-tg-origin {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}
.sg-tg-origin-field {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
}
.sg-tg-origin-field .sg-tg-num {
  flex: 0 0 64px;
  width: 64px;
}

/* プレビュー領域 */
.sg-tg-preview-card {
  position: sticky;
  top: 12px;
}
.sg-tg-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  margin-top: 8px;
  border: 1px dashed var(--sg-border, #e2e6ee);
  border-radius: var(--sg-radius, 10px);
  background:
    repeating-linear-gradient(0deg, transparent, transparent 23px, var(--sg-border, #eef0f5) 24px),
    repeating-linear-gradient(90deg, transparent, transparent 23px, var(--sg-border, #eef0f5) 24px);
  overflow: hidden;
}
.sg-tg-box,
.sg-tg-ghost {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
/* 変形後の要素 */
.sg-tg-box {
  background: var(--sg-accent, #3b5bdb);
  color: #fff;
  box-shadow: 0 6px 18px rgba(59, 91, 219, 0.28);
  transition: transform 0.12s ease-out;
}
/* 変形前の位置を示すゴースト（中央に固定） */
.sg-tg-ghost {
  position: absolute;
  border: 2px dashed var(--sg-muted, #b7bdca);
  color: var(--sg-muted, #b7bdca);
  background: transparent;
  font-size: 0.9rem;
  font-weight: 600;
}

/* 生成コードは等幅で改行を保持 */
.sg-tg-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.6;
}
