/* 場面3「違いが出るのは、画像」
   左の ChatGPT では絵が浮かび上がり（画像生成の例）、右の Claude Code は空の枠のまま。
   最後に、右の枠へ「別の画像生成サービス」が入ってくる。
   動きの層: 見出し → 二つの列 → 左の絵が現れる（光の帯が走る） → 右に「作れない」 → 別のサービスが入る */

.scene-image {
  padding: 48px 84px 46px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 22px;
}

.scene-image .head {
  display: grid;
  gap: 14px;
}

.scene-image .title {
  font-size: 54px;
}

.scene-image .columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}

.scene-image .col {
  padding: 24px 28px 26px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 16px;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 16px 40px rgba(24, 32, 44, 0.09), 0 0 0 1px rgba(24, 32, 44, 0.05);
}

.scene-image .col-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.scene-image .col-head strong {
  font-family: var(--font-en);
  font-size: 30px;
  font-weight: 800;
}

.scene-image .shot {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  border-radius: 18px;
  overflow: hidden;
}

.scene-image .shot > * {
  grid-area: 1 / 1;
}

.scene-image .landscape,
.scene-image .placeholder {
  width: 100%;
  height: 100%;
  display: block;
}

.scene-image .scan {
  width: 34%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
  translate: -120% 0;
  opacity: 0;
}

.scene-image .shot-tag {
  margin: 14px;
  padding: 6px 14px;
  align-self: end;
  justify-self: start;
  background: rgba(24, 32, 44, 0.78);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  border-radius: 999px;
}

.scene-image .shot.is-empty {
  background: #faf8f3;
}

.scene-image .nope {
  margin-top: 18px;
  padding: 8px 18px;
  align-self: start;
  justify-self: center;
  background: var(--no);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  border-radius: 999px;
}

.scene-image .service {
  margin-bottom: 18px;
  padding: 10px 20px 10px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  align-self: end;
  justify-self: center;
  background: #fff;
  font-size: 20px;
  font-weight: 900;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(24, 32, 44, 0.16), 0 0 0 1px rgba(24, 32, 44, 0.06);
}

.scene-image .service svg {
  width: 48px;
  height: 34px;
}

.scene-image .verdict {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 24px;
  font-weight: 900;
}

.scene-image .verdict b {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #fff;
  font-family: var(--font-en);
  font-size: 22px;
  border-radius: 50%;
}

.scene-image .verdict.is-yes b {
  background: var(--yes);
}

.scene-image .verdict.is-no b {
  background: var(--no);
}

@keyframes image-develop {
  from { opacity: 0.25; filter: blur(16px) saturate(0.2); scale: 1.08; }
  to { opacity: 1; filter: blur(0) saturate(1); scale: 1; }
}

@keyframes image-scan {
  0% { translate: -120% 0; opacity: 0; }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { translate: 320% 0; opacity: 0; }
}

/* ---- 動き（この場面が再生中のときだけ） ---- */

.scene-image.is-active .kicker {
  animation: rise 0.5s var(--ease-out) 0.05s both;
}

.scene-image.is-active .title {
  animation: rise 0.6s var(--ease-out) 0.15s both;
}

.scene-image.is-active .col.is-gpt {
  animation: rise 0.7s var(--ease-out) 0.5s both;
}

.scene-image.is-active .col.is-claude {
  animation: rise 0.7s var(--ease-out) 0.65s both;
}

.scene-image.is-active .landscape {
  animation: image-develop 1.8s var(--ease-out) calc(var(--cue-1) + 1.3s) both;
}

.scene-image.is-active .scan {
  animation: image-scan 1.5s ease-in-out calc(var(--cue-1) + 1.5s) both;
}

.scene-image.is-active .shot-tag {
  animation: rise 0.5s var(--ease-out) calc(var(--cue-1) + 2.6s) both;
}

.scene-image.is-active .verdict.is-yes {
  animation: rise 0.6s var(--ease-out) calc(var(--cue-1) + 3.2s) both;
}

.scene-image.is-active .nope {
  animation: pop 0.45s var(--ease-pop) calc(var(--cue-2) + 3.2s) both;
}

.scene-image.is-active .service {
  animation: slide-right 0.7s var(--ease-out) calc(var(--cue-3) + 1.6s) both;
}

.scene-image.is-active .verdict.is-no {
  animation: rise 0.6s var(--ease-out) calc(var(--cue-3) + 2.2s) both;
}
