.scene-copy{top:18%;bottom:auto;left:24px;right:24px;text-align:center;display:flex;flex-direction:column;align-items:center}.scene-copy .caption{margin-top:14px}.scene-copy h2 strong{font-size:clamp(62px,18vw,108px)}.float-block{z-index:2}.duck-block{width:44%;left:28%;bottom:31%;animation:duckSwim 2.1s ease-in-out infinite}.person-block{width:42%;right:29%;bottom:29%}.person-two{left:29%;right:auto}.plane-block{top:24%;right:12%}.plane-night{left:11%;right:auto}.final-copy{top:15%;bottom:auto}.story-actions{position:absolute;left:24px;right:24px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:10px}.story-actions button{height:56px;border:0;border-radius:14px;font:700 15px Manrope;cursor:pointer}.story-back{background:#ffffff55;color:#fff;text-shadow:0 1px 4px #17324c}.story-back:disabled{opacity:.45}.story-continue{background:#fff;color:var(--ink);box-shadow:0 6px 16px #06234555}.story-continue:hover{background:var(--yellow)}.scene-next{display:none}.scene .bars{margin:14px auto 0}.scene-finale .story-actions{display:none}.final-copy .share-row{width:100%;justify-content:center}.hint{display:none}
@media(max-height:700px){.scene-copy{top:13%}.duck-block{bottom:28%}.story-actions{bottom:18px}.story-actions button{height:50px}.person-block{bottom:25%}}

/* Final story grid: keep copy, stickers and controls in separate vertical zones. */
.scene-copy,
.final-copy{
  top:clamp(88px, 16vh, 156px);
  bottom:auto;
  left:50%;
  right:auto;
  width:min(78%, 310px);
  transform:translateX(-50%);
  padding:14px 16px 15px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:20px;
  background:rgba(7,29,57,.27);
  box-shadow:0 10px 28px rgba(3,20,42,.16);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
.scene-copy .eyebrow{margin:0 0 8px}
.scene-copy h2{line-height:1.02}
.scene-copy .caption{margin:13px auto 0;max-width:290px}
.scene-copy .bars{margin:14px auto 0}
.scene-chat .scene-copy{width:min(82%, 330px)}
.scene-chat .scene-copy .bars{width:min(100%, 270px)}
.scene-picnic .scene-copy{width:min(76%, 300px)}
.scene-night .scene-copy{width:min(76%, 300px)}
.scene-finale .final-copy{width:min(86%, 340px)}
.scene-copy .rank{margin:0 0 4px}
.final-copy .lead{margin:11px auto 15px}
.final-copy small{display:block;margin-top:12px}
.duck-block{left:7%;bottom:22%;width:34%;max-width:180px}
.person-block{right:5%;bottom:19%;width:36%;max-width:190px}
.person-two{left:5%;right:auto;bottom:22%}
.plane-block{right:10%;top:27%;width:18%;max-width:94px}
.plane-night{left:9%;right:auto;top:29%;width:16%;max-width:84px}
.duck-finale{left:3%;bottom:19%;width:27%;max-width:145px}
.person-finale{right:2%;bottom:20%;width:33%;max-width:175px}
.story-actions{left:22px;right:22px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px))}
.story-actions button{height:52px}

@media(max-height:700px){
  .scene-copy,
  .final-copy{top:76px;padding:12px 15px 13px;border-radius:17px}
  .scene-chat .scene-copy{width:min(84%, 320px)}
  .scene-finale .final-copy{width:min(90%, 330px)}
  .scene-copy h2 strong{font-size:clamp(64px,18vw,96px)}
  .scene-copy .caption{margin-top:9px;font-size:13px}
  .scene .bars{height:92px;margin-top:10px}
  .duck-block{bottom:24%;width:31%}
  .person-block{bottom:21%;width:33%}
  .person-two{bottom:24%}
  .plane-block{top:25%}
  .plane-night{top:27%}
  .final-copy .rank b{font-size:48px}
  .final-copy .lead{margin:8px auto 10px;font-size:14px}
  .story-actions{bottom:16px}
  .story-actions button{height:48px;font-size:14px}
}

/* Compact information panels on slides 3, 7, 11 and 15. */
.slide:nth-child(3) .scene-copy,
.slide:nth-child(7) .scene-copy,
.slide:nth-child(11) .scene-copy{
  width:min(88%, 340px);
  padding:10px 14px 11px;
}
.slide:nth-child(3) .scene-copy h2,
.slide:nth-child(7) .scene-copy h2{
  font-size:clamp(34px, 8vw, 52px);
  white-space:nowrap;
}
.slide:nth-child(11) .scene-copy h2 strong{font-size:clamp(58px, 16vw, 94px)}
.slide:nth-child(15) .scene-copy{
  width:min(90%, 340px);
  padding:11px 14px 12px;
}
.slide:nth-child(15) .scene-copy h2{font-size:clamp(34px, 8vw, 52px)}

/* Fixed panel heights keep these cards compact instead of stretching to the viewport. */
.slide:nth-child(3) .scene-copy,
.slide:nth-child(7) .scene-copy{height:150px;min-height:150px;max-height:150px;overflow:hidden}
.slide:nth-child(11) .scene-copy,
.slide:nth-child(15) .scene-copy{height:196px;min-height:196px;max-height:196px;overflow:hidden}

/* The long explanation on slide 12 stays inside the panel at every width. */
.slide:nth-child(12) .scene-copy{width:min(88%, 340px);padding:12px 16px 14px}
.slide:nth-child(12) .scene-copy h2{margin:0}
.slide:nth-child(12) .scene-copy h2 strong{font-size:clamp(68px, 18vw, 104px);line-height:.9}
.slide:nth-child(12) .lurks-caption{max-width:270px;margin:12px auto 0;font-size:clamp(12px, 3.2vw, 15px);line-height:1.25;text-wrap:balance}

@media(max-height:700px){
  .slide:nth-child(3) .scene-copy,
  .slide:nth-child(7) .scene-copy{height:132px;min-height:132px;max-height:132px}
  .slide:nth-child(11) .scene-copy,
  .slide:nth-child(15) .scene-copy{height:184px;min-height:184px;max-height:184px}
  .slide:nth-child(12) .scene-copy{padding:10px 14px 12px}
  .slide:nth-child(12) .lurks-caption{margin-top:8px;font-size:12px;line-height:1.2}
}
