/* Review fixes: readable narrow layouts and physically coherent assembly. */
.friend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.friend-card{min-width:0}
footer a{display:inline-flex;align-items:center;min-height:44px}
.grownup-copy{line-height:1.75}
.grownup-copy p{max-width:68ch}
.book-rival{width:min(100%,260px);height:auto;max-height:none;object-fit:contain;margin:0 auto 20px}
.puppet-bloop .tail{transform:scaleX(-1);transform-origin:75% 55%}
.finale-scene.is-walking .puppet-bloop .tail{animation-name:finale-tail-mirrored}
.puppet-bloop .near-arm,.puppet-zippy .near-arm,.puppet-tumbit .near-arm,.puppet-fizzle .near-arm{transform:rotate(-25deg)}
.finale-scene.is-walking :is(.puppet-bloop,.puppet-zippy,.puppet-tumbit,.puppet-fizzle) .near-arm,.finale-scene.is-cheering :is(.puppet-bloop,.puppet-zippy,.puppet-tumbit,.puppet-fizzle) .near-arm{animation-name:steady-arm}
@keyframes steady-arm{from{transform:rotate(-25deg)}to{transform:rotate(-33deg)}}
/* The glass lid rests on the delivered tray instead of floating above it. */
.finale-scene .bread-tray .bread-tray-lid{transform:none;transition:none}
/* Keep the projected pattern and moving cloth inside the fabric perspective. */
.show-fabric{position:absolute;left:11%;top:12%;width:78%;height:57%;overflow:hidden;clip-path:polygon(1.3% 0,97.4% 10.5%,97.4% 100%,0 77.2%)}
.show-fabric>svg{position:absolute;inset:0;width:100%;height:100%;opacity:.15;background:radial-gradient(ellipse,#fff9dbbb,transparent)}
.show-screen .show-fabric .show-curtain{top:0;bottom:0;width:51%;border:0}
.show-fabric .curtain-left{left:0;right:auto}
.show-fabric .curtain-right{right:0;left:auto}
.is-cheering .show-fabric>svg,.is-finished .show-fabric>svg{opacity:1;transition:opacity 1.2s}
.is-cheering .show-fabric .curtain-left,.is-finished .show-fabric .curtain-left,.still .show-fabric .curtain-left{transform:translateX(-100%)}
.is-cheering .show-fabric .curtain-right,.is-finished .show-fabric .curtain-right,.still .show-fabric .curtain-right{transform:translateX(100%)}
@media(max-width:1000px){.friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){
  .page-heading h1{font-size:clamp(30px,8.4vw,38px);line-height:1.13}
  .friend-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .friend-card{padding:22px 18px}
  .friend-card>.portrait{width:180px}
  .friend-card p{min-height:0}
  .friend-card .button{font-size:15px;min-height:48px}
  .grownup-copy{padding:22px 16px}
  .grownup-copy .button{max-width:100%;font-size:14px;overflow-wrap:anywhere}
}
