/* style.css -- merged from per-tier scene CSS by wizard2.stages.build_deploy */
/* Scene root must fill its positioning container. */
.scn { position: absolute; inset: 0; }

/* ============ tier U ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-long-sleep-just-last-year {
  background:
    linear-gradient(180deg, #2a2423 0%, #3b3230 30%, #4a3f3c 60%, #2a2423 100%),
    radial-gradient(ellipse at 50% 80%, #5a4b47 0%, transparent 70%);
}
.scn-long-sleep-just-last-year .wall   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3f3c 0%, #3b3230 100%); }
.scn-long-sleep-just-last-year .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #2a2423 0%, #3b3230 100%); }
.scn-long-sleep-just-last-year .pallet { position:absolute; bottom:30%; left:25%; width:50%; height:18%; background: linear-gradient(180deg, #5a4b47 0%, #3b3230 100%); border-radius: 10px; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); }
.scn-long-sleep-just-last-year .figure { position:absolute; bottom:32%; left:32%; width:36%; height:14%; background: radial-gradient(ellipse at 50% 50%, #1a1514 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lsj-breath 4s ease-in-out infinite; }
.scn-long-sleep-just-last-year .blanket{ position:absolute; bottom:30%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #6a5a55 0%, #4a3f3c 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%; box-shadow: 0 4px 6px rgba(0,0,0,.3); }
.scn-long-sleep-just-last-year .window { position:absolute; top:15%; right:15%; width:20%; height:25%; background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 100%); border: 6px solid #3b3230; border-radius: 4px; }
.scn-long-sleep-just-last-year .glow   { position:absolute; top:18%; right:18%; width:14%; height:18%; background: radial-gradient(circle, #806b4a 0%, transparent 70%); opacity:.6; animation: lsj-flicker 3s ease-in-out infinite alternate; }
.scn-long-sleep-just-last-year .dust-a { position:absolute; top:24%; left:30%; width:4%; height:4%; background: rgba(180,160,140,.4); border-radius:50%; filter: blur(2px); animation: lsj-drifta 12s linear infinite; }
.scn-long-sleep-just-last-year .dust-b { position:absolute; top:20%; right:40%; width:3%; height:3%; background: rgba(180,160,140,.3); border-radius:50%; filter: blur(2px); animation: lsj-driftb 16s linear infinite reverse; }

@keyframes lsj-breath {
  0%   { transform: scaleY(1) translateY(0); }
  50%  { transform: scaleY(1.02) translateY(-2px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes lsj-flicker {
  0%   { opacity:.3; transform: scale(1); }
  50%  { opacity:.7; transform: scale(1.05); }
  100% { opacity:.4; transform: scale(0.95); }
}
@keyframes lsj-drifta {
  0%   { transform: translate(0,0) scale(1); opacity:.3; }
  50%  { transform: translate(10px,-8px) scale(1.2); opacity:.5; }
  100% { transform: translate(20px,-16px) scale(0.8); opacity:.2; }
}
@keyframes lsj-driftb {
  0%   { transform: translate(0,0) scale(0.8); opacity:.2; }
  50%  { transform: translate(-8px,6px) scale(1); opacity:.4; }
  100% { transform: translate(-16px,12px) scale(0.9); opacity:.1; }
}

.scn-item-apples-pumpkins {
  background:
    linear-gradient(180deg, #8a8a8a 0%, #b0b0b0 30%, #9a9a9a 60%, #7a7a7a 100%),
    radial-gradient(ellipse at 50% 100%, #a0a0a0 0%, transparent 70%);
}
.scn-item-apples-pumpkins .sky      { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #8a8a8a 0%, #b0b0b0 100%); animation: iap-sky 20s ease-in-out infinite alternate; }
.scn-item-apples-pumpkins .field    { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #5e5a4a 0%, #6e6a5a 50%, #7a7664 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; }
.scn-item-apples-pumpkins .stubble  { position:absolute; bottom:10%; left:0; right:0; height:8%; background: repeating-linear-gradient(90deg, transparent 0px, transparent 10px, #7a7a6a 10px, #7a7a6a 12px, transparent 12px); }
.scn-item-apples-pumpkins .apple1   { position:absolute; bottom:20%; left:20%; width:6%; height:7%; background: radial-gradient(circle at 40% 30%, #c8553d 0%, #a0461a 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: iap-apple 3s ease-in-out infinite alternate; }
.scn-item-apples-pumpkins .apple2   { position:absolute; bottom:15%; left:45%; width:5%; height:6%; background: radial-gradient(circle at 40% 30%, #c8553d 0%, #a0461a 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: iap-apple 4s ease-in-out infinite alternate-reverse; }
.scn-item-apples-pumpkins .pumpkin1 { position:absolute; bottom:8%; left:55%; width:12%; height:10%; background: radial-gradient(ellipse at 50% 60%, #d18a4a 0%, #b06a30 100%); border-radius: 50%; transform: rotate(-10deg); animation: iap-pumpkin 5s ease-in-out infinite; }
.scn-item-apples-pumpkins .pumpkin2 { position:absolute; bottom:10%; right:15%; width:10%; height:8%; background: radial-gradient(ellipse at 50% 60%, #d18a4a 0%, #b06a30 100%); border-radius: 50%; transform: rotate(5deg); animation: iap-pumpkin 6s ease-in-out infinite reverse; }
.scn-item-apples-pumpkins .cart     { position:absolute; bottom:2%; left:10%; width:30%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 4px 4px 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: iap-cart 8s ease-in-out infinite; }
.scn-item-apples-pumpkins .wheel    { position:absolute; bottom:2%; left:15%; width:8%; height:8%; background: radial-gradient(circle, #3a2a1a 30%, #2a1a0a 70%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: iap-wheel 2s linear infinite; }

@keyframes iap-sky {
  0%   { opacity: .8; }
  50%  { opacity: 1; }
  100% { opacity: .7; }
}
@keyframes iap-apple {
  0%   { transform: rotate(0deg) scale(1); }
  50%  { transform: rotate(5deg) scale(1.05); }
  100% { transform: rotate(-5deg) scale(0.95); }
}
@keyframes iap-pumpkin {
  0%   { transform: rotate(-10deg) scale(1); }
  50%  { transform: rotate(-8deg) scale(1.03); }
  100% { transform: rotate(-12deg) scale(0.97); }
}
@keyframes iap-cart {
  0%   { transform: translateY(0) rotate(0deg); }
  50%  { transform: translateY(-3px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes iap-wheel {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Scene 1: cobweb-attitudes */
.scn-cobweb-attitudes { background: linear-gradient(180deg, #2a2a1a 0%, #3d3d2e 30%, #4c4433 100%), radial-gradient(ellipse at 50% 30%, #5a4e3a 0%, transparent 70%); }
.scn-cobweb-attitudes .bg-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(0deg, #4a3f2c 0%, #2d281c 100%); }
.scn-cobweb-attitudes .cobweb { position:absolute; width:120px; height:120px; border-radius:50%; background: radial-gradient(circle at center, rgba(180,170,150,0.15) 0%, transparent 70%); }
.scn-cobweb-attitudes .cobweb-1 { top:15%; left:10%; transform:rotate(25deg); animation: ca-web1 12s ease-in-out infinite; }
.scn-cobweb-attitudes .cobweb-2 { top:5%; right:20%; transform:rotate(-15deg); animation: ca-web2 15s ease-in-out infinite; }
.scn-cobweb-attitudes .spider { position:absolute; top:18%; left:15%; width:14px; height:12px; background: #1c1c1c; border-radius: 50% 50% 40% 40%; transform-origin: center top; animation: ca-spider 3s ease-in-out infinite alternate; }
.scn-cobweb-attitudes .thread { position:absolute; top:20%; left:16%; width:2px; height:80px; background: linear-gradient(180deg, rgba(180,170,150,0.3) 0%, transparent 100%); transform-origin: top center; animation: ca-thread 3s ease-in-out infinite; }
.scn-cobweb-attitudes .dust-mote { position:absolute; bottom:40%; right:25%; width:4px; height:4px; background: rgba(210,200,180,0.6); border-radius:50%; filter: blur(2px); animation: ca-dust 8s linear infinite; }
.scn-cobweb-attitudes .lantern { position:absolute; bottom:20%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: radial-gradient(circle at 50% 60%, #f0c068 0%, #b08040 60%); border-radius:4px 4px 10px 10px; box-shadow: 0 0 30px 10px rgba(192,128,64,0.3); }
@keyframes ca-web1 { 0%,100% { transform:rotate(25deg) scale(1); } 50% { transform:rotate(30deg) scale(1.02); } }
@keyframes ca-web2 { 0%,100% { transform:rotate(-15deg) scale(1); } 50% { transform:rotate(-20deg) scale(1.01); } }
@keyframes ca-spider { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ca-thread { 0%,100% { transform: translateX(0); } 50% { transform: translateX(1px); } }
@keyframes ca-dust { 0% { transform: translate(0, 0) scale(0.8); opacity:0.6; } 50% { transform: translate(20px, -30px) scale(1.2); opacity:0.2; } 100% { transform: translate(40px, -60px) scale(0.5); opacity:0; } }
/* extra keyframe for dust exit */

/* Scene 2: brain-wider-sky */
.scn-brain-wider-sky { background: linear-gradient(180deg, #d4e4f0 0%, #b8d0e0 40%, #a0bcd0 100%), radial-gradient(ellipse at 70% 20%, #f0f8ff 0%, transparent 60%); }
.scn-brain-wider-sky .bg-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #7eb8d6 0%, #c2def0 100%); }
.scn-brain-wider-sky .cloud { position:absolute; width:100px; height:30px; background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.1) 100%); border-radius:50%; filter: blur(4px); }
.scn-brain-wider-sky .high { top:8%; left:20%; animation: bw-cloud 35s linear infinite; }
.scn-brain-wider-sky .low { top:25%; left:60%; width:70px; height:20px; animation: bw-cloud 45s linear infinite reverse; animation-delay: -15s; }
.scn-brain-wider-sky .bookshelf { position:absolute; bottom:15%; left:10%; width:40%; height:50%; background: linear-gradient(180deg, #5c3a1e 0%, #3a2210 100%); border-radius:2px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3); }
.scn-brain-wider-sky .window { position:absolute; bottom:20%; right:12%; width:25%; height:55%; background: radial-gradient(circle at 50% 40%, #b0d0ee 0%, #8fb0d0 100%); border:4px solid #4a3620; border-radius:6px; }
.scn-brain-wider-sky .brain { position:absolute; top:35%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: radial-gradient(circle at 55% 40%, #d8c8b8 0%, #b09888 100%); border-radius: 45% 55% 55% 45% / 50% 50% 50% 50%; box-shadow: 0 0 20px rgba(200,180,160,0.4); animation: bw-brain 6s ease-in-out infinite alternate; }
.scn-brain-wider-sky .pulse { position:absolute; top:35%; left:50%; width:80px; height:60px; transform:translateX(-50%); border-radius: 45% 55% 55% 45% / 50% 50% 50% 50%; box-shadow: 0 0 40px rgba(200,180,160,0.2) inset, 0 0 60px rgba(200,180,160,0.1); animation: bw-pulse 4s ease-in-out infinite alternate; }
@keyframes bw-cloud { 0% { transform: translateX(-30px); } 100% { transform: translateX(120vw); } }
@keyframes bw-brain { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.05) rotate(3deg); } 100% { transform: translateX(-50%) scale(1) rotate(0); } }
@keyframes bw-pulse { 0% { opacity:0.5; } 50% { opacity:0.9; } 100% { opacity:0.5; } }

/* Scene 3: bone-marrowless */
.scn-bone-marrowless { background: linear-gradient(180deg, #1a1a2a 0%, #2c2038 40%, #3a2840 100%), radial-gradient(ellipse at 50% 80%, #3a2840 0%, transparent 70%); }
.scn-bone-marrowless .bg-shadow { position:absolute; inset:0; background: linear-gradient(180deg, #0e0b14 0%, #1a1322 100%); opacity:0.8; }
.scn-bone-marrowless .bone-main { position:absolute; bottom:20%; left:40%; width:80px; height:20px; transform:translateX(-50%) rotate(-10deg); background: linear-gradient(180deg, #d4c4a0 0%, #b8a888 100%); border-radius: 0 50% 50% 0 / 0 60% 60% 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-bone-marrowless .shard { position:absolute; bottom:25%; left:55%; width:30px; height:8px; transform:rotate(25deg); background: #c0b090; border-radius:0 30% 30% 0; }
.scn-bone-marrowless .cat-silhouette { position:absolute; bottom:10%; left:70%; width:40px; height:50px; background: #0d0a0f; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bo-cat 8s ease-in-out infinite; }
.scn-bone-marrowless .candle-flicker { position:absolute; bottom:30%; left:20%; width:10px; height:6px; background: radial-gradient(circle, #ffd680 0%, #f0a040 60%); border-radius:50%; box-shadow: 0 0 20px 6px rgba(240,160,64,0.6); animation: bo-flicker 0.8s steps(3) infinite; }
.scn-bone-marrowless .shadow-pool { position:absolute; bottom:5%; left:10%; right:10%; height:20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%); }
@keyframes bo-cat { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes bo-flicker { 0% { opacity:0.8; transform: scale(1); } 33% { opacity:1; transform: scale(1.1); } 66% { opacity:0.7; transform: scale(0.9); } 100% { opacity:0.8; transform: scale(1); } }

/* Scene 4: past-curious-creature */
.scn-past-curious-creature { background: linear-gradient(180deg, #5a606e 0%, #4a5060 40%, #3a4050 100%), radial-gradient(ellipse at 30% 50%, #6a7280 0%, transparent 60%); }
.scn-past-curious-creature .bg-overcast { position:absolute; inset:0; background: linear-gradient(180deg, #7a808e 0%, #5a606e 100%); opacity:0.6; }
.scn-past-curious-creature .creature-body { position:absolute; bottom:10%; left:40%; width:60px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #3a3a3a 0%, #141414 100%); border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%; }
.scn-past-curious-creature .creature-head { position:absolute; bottom:55%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle at 40% 40%, #5a5a5a 0%, #2a2a2a 100%); border-radius:50%; }
.scn-past-curious-creature .creature-arm { position:absolute; bottom:25%; width:40px; height:8px; background: #1a1a1a; border-radius: 0 20px 20px 0; }
.scn-past-curious-creature .left { left:5%; transform-origin: right center; animation: pc-arm-left 2s ease-in-out infinite alternate; }
.scn-past-curious-creature .right { right:5%; transform-origin: left center; animation: pc-arm-right 2.5s ease-in-out infinite alternate; }
.scn-past-curious-creature .ammo { position:absolute; width:8px; height:18px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a30 100%); border-radius: 2px 2px 50% 50%; transform:rotate(30deg); }
.scn-past-curious-creature .ammo-1 { bottom:30%; left:30%; animation: pc-ammo 3s linear infinite; }
.scn-past-curious-creature .ammo-2 { bottom:25%; right:25%; animation: pc-ammo 4s linear infinite; animation-delay: -1.5s; }
.scn-past-curious-creature .ground { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); }
@keyframes pc-arm-left { 0% { transform: rotate(-20deg); } 100% { transform: rotate(20deg); } }
@keyframes pc-arm-right { 0% { transform: rotate(20deg); } 100% { transform: rotate(-20deg); } }
@keyframes pc-ammo { 0% { transform: translate(0,0) rotate(30deg); opacity:0.8; } 50% { transform: translate(-10px, -20px) rotate(60deg); opacity:0.4; } 100% { transform: translate(-20px, -40px) rotate(90deg); opacity:0; } }
/* Note: bone scene name was "bone-marrowless" per user, we used that in selector */

/* frost-smile - tense dim interior */
.scn-frost-smile {
  background: 
    linear-gradient(180deg, #1c1b2a 0%, #2a2838 60%, #3b3545 100%),
    radial-gradient(ellipse at 30% 80%, #4a3f4f 0%, transparent 60%);
}
.scn-frost-smile .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2e2b3d 0%, #1f1c2a 100%); 
  animation: fs-wall 6s ease-in-out infinite alternate;
}
.scn-frost-smile .window-frost {
  position: absolute; top: 15%; left: 10%; width: 40%; height: 50%; 
  background: linear-gradient(135deg, rgba(200,210,230,0.15) 0%, rgba(255,255,255,0.05) 100%); 
  border-radius: 8px; box-shadow: inset 0 0 30px rgba(200,210,230,0.1); 
  filter: blur(1px); animation: fs-frost 10s ease-in-out infinite alternate;
}
.scn-frost-smile .table {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 8%; 
  background: linear-gradient(180deg, #4a3d32 0%, #2d221e 100%); 
  border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.6); animation: fs-table 8s ease-in-out infinite alternate;
}
.scn-frost-smile .teacup {
  position: absolute; bottom: 27%; left: 42%; width: 8px; height: 10px; 
  background: radial-gradient(ellipse at 30% 20%, #d4c4a8 0%, #8a7a60 100%); 
  border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: fs-cup 4s ease-in-out infinite;
}
.scn-frost-smile .figure-fs {
  position: absolute; bottom: 18%; left: 55%; width: 22px; height: 40px; 
  background: linear-gradient(180deg, #1f1c2a 0%, #0f0d14 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; animation: fs-figure 5s ease-in-out infinite;
}
.scn-frost-smile .breath {
  position: absolute; top: 30%; left: 48%; width: 14px; height: 10px; 
  background: radial-gradient(circle, rgba(200,210,230,0.3) 0%, transparent 80%); 
  filter: blur(3px); animation: fs-breath 3s ease-in-out infinite alternate;
}
@keyframes fs-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes fs-frost { 0% { opacity: 0.3; filter: blur(1px); } 50% { opacity: 0.6; filter: blur(0px); } 100% { opacity: 0.4; filter: blur(2px); } }
@keyframes fs-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes fs-cup { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } }
@keyframes fs-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(8px) translateY(0) rotate(-2deg); } 75% { transform: translateX(12px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }
@keyframes fs-breath { 0% { transform: scale(1); opacity: 0.3; } 100% { transform: scale(1.8); opacity: 0; } }

/* fork-in-being - tense moonlit */
.scn-fork-in-being {
  background: 
    linear-gradient(180deg, #0d1321 0%, #1a2035 30%, #2a3550 100%),
    radial-gradient(ellipse at 50% 0%, #3c4f70 0%, transparent 60%);
}
.scn-fork-in-being .moon {
  position: absolute; top: 8%; right: 15%; width: 30px; height: 30px; 
  background: radial-gradient(circle at 35% 35%, #e8e8f0 0%, #a0a8c0 100%); 
  border-radius: 50%; box-shadow: 0 0 40px 10px rgba(160,168,192,0.4); 
  animation: fib-moon 15s ease-in-out infinite alternate;
}
.scn-fork-in-being .sky-fib {
  position: absolute; inset: 0 0 60% 0; background: linear-gradient(180deg, #0d1321 0%, transparent 100%); 
  animation: fib-sky 12s ease-in-out infinite alternate;
}
.scn-fork-in-being .ground-fib {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%; 
  background: linear-gradient(180deg, #1a2a1a 0%, #0d1a0d 100%); 
  border-radius: 40% 60% 0 0 / 20% 40% 0 0; box-shadow: inset 0 20px 40px rgba(0,0,0,0.8);
  animation: fib-ground 18s ease-in-out infinite alternate;
}
.scn-fork-in-being .road {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 4%; 
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); 
  border-radius: 50% 50% 20% 20%; filter: blur(1px); animation: fib-road 8s ease-in-out infinite alternate;
}
.scn-fork-in-being .dead-tree-left {
  position: absolute; bottom: 40%; left: 10%; width: 12px; height: 80px; 
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); 
  border-radius: 40% 40% 20% 20%; transform-origin: bottom center; 
  animation: fib-tree 10s ease-in-out infinite alternate;
}
.scn-fork-in-being .dead-tree-right {
  position: absolute; bottom: 35%; right: 8%; width: 10px; height: 60px; 
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); 
  border-radius: 40% 40% 20% 20%; transform-origin: bottom center; 
  animation: fib-tree 12s ease-in-out infinite alternate; animation-delay: -3s;
}
.scn-fork-in-being .figure-fib {
  position: absolute; bottom: 20%; left: 45%; width: 20px; height: 45px; 
  background: linear-gradient(180deg, #1a2035 0%, #0d1321 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; animation: fib-figure 6s ease-in-out infinite;
}
@keyframes fib-moon { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-5px) scale(1.05); } 100% { transform: translateX(2px) scale(0.98); } }
@keyframes fib-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes fib-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes fib-road { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.98); } }
@keyframes fib-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes fib-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(6px) translateY(-3px) rotate(2deg); } 50% { transform: translateX(12px) translateY(0) rotate(-1deg); } 75% { transform: translateX(18px) translateY(-3px) rotate(1deg); } 100% { transform: translateX(24px) translateY(0) rotate(0deg); } }

/* bed-of-awe - calm dark */
.scn-bed-of-awe {
  background: 
    linear-gradient(180deg, #0c0a12 0%, #16131c 50%, #1f1a28 100%),
    radial-gradient(ellipse at 50% 60%, #2a2438 0%, transparent 70%);
}
.scn-bed-of-awe .darkness {
  position: absolute; inset: 0; background: linear-gradient(135deg, #0c0a12 0%, #1a1624 100%); 
  animation: boa-dark 20s ease-in-out infinite alternate;
}
.scn-bed-of-awe .mattress {
  position: absolute; bottom: 25%; left: 15%; width: 70%; height: 20%; 
  background: linear-gradient(180deg, #2a2430 0%, #1f1a24 100%); 
  border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.8); animation: boa-mattress 15s ease-in-out infinite alternate;
}
.scn-bed-of-awe .pillow {
  position: absolute; bottom: 40%; left: 35%; width: 18%; height: 12%; 
  background: radial-gradient(ellipse at 40% 30%, #3a3444 0%, #1f1a28 100%); 
  border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.6); animation: boa-pillow 12s ease-in-out infinite alternate;
}
.scn-bed-of-awe .coverlet {
  position: absolute; bottom: 28%; left: 18%; width: 64%; height: 10%; 
  background: linear-gradient(180deg, #3a3444 0%, #2a2438 100%); 
  border-radius: 8px; box-shadow: inset 0 2px 4px rgba(255,255,255,0.05); animation: boa-cover 18s ease-in-out infinite alternate;
}
.scn-bed-of-awe .shadow-figure {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 50px; 
  background: linear-gradient(180deg, #0c0a12 0%, #000000 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform: translateX(-50%); animation: boa-shadow 8s ease-in-out infinite alternate;
}
.scn-bed-of-awe .faint-glow {
  position: absolute; bottom: 45%; left: 48%; width: 8px; height: 8px; 
  background: radial-gradient(circle, rgba(200,180,140,0.2) 0%, transparent 80%); 
  border-radius: 50%; filter: blur(4px); animation: boa-glow 6s ease-in-out infinite alternate;
}
@keyframes boa-dark { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes boa-mattress { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes boa-pillow { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(4px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes boa-cover { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes boa-shadow { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.05); } 100% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes boa-glow { 0% { opacity: 0.1; transform: scale(1); } 100% { opacity: 0.4; transform: scale(2); } }

/* quiet-slips - calm moonlit */
.scn-quiet-slips {
  background: 
    linear-gradient(180deg, #0e1624 0%, #1a2334 40%, #2a3650 100%),
    radial-gradient(ellipse at 50% 80%, #2a3650 0%, transparent 60%);
}
.scn-quiet-slips .floor-qs {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; 
  background: linear-gradient(180deg, #1a2030 0%, #0e1420 100%); 
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: qs-floor 20s ease-in-out infinite alternate;
}
.scn-quiet-slips .wall-qs {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #1a2334 0%, #0e1624 100%); 
  animation: qs-wall 15s ease-in-out infinite alternate;
}
.scn-quiet-slips .chair {
  position: absolute; bottom: 15%; left: 30%; width: 50px; height: 60px; 
  background: linear-gradient(180deg, #2a3040 0%, #1a2028 100%); 
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; 
  box-shadow: 0 4px 12px rgba(0,0,0,0.7); animation: qs-chair 10s ease-in-out infinite alternate;
}
.scn-quiet-slips .figure-qs {
  position: absolute; bottom: 18%; left: 38%; width: 18px; height: 35px; 
  background: linear-gradient(180deg, #2a3650 0%, #1a2334 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; animation: qs-figure 6s ease-in-out infinite alternate;
}
.scn-quiet-slips .moonlight-shaft {
  position: absolute; top: 0; left: 20%; width: 15%; height: 100%; 
  background: linear-gradient(180deg, rgba(200,210,230,0.12) 0%, transparent 80%); 
  transform: skewX(-10deg); filter: blur(6px); animation: qs-shaft 12s ease-in-out infinite alternate;
}
.scn-quiet-slips .shadow-qs {
  position: absolute; bottom: 5%; left: 33%; width: 40px; height: 15px; 
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 80%); 
  border-radius: 50%; animation: qs-shadow 6s ease-in-out infinite alternate;
}
@keyframes qs-floor { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes qs-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes qs-chair { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes qs-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes qs-shaft { 0% { opacity: 0.3; transform: skewX(-10deg) scaleY(1); } 50% { opacity: 0.6; transform: skewX(-8deg) scaleY(1.05); } 100% { opacity: 0.3; transform: skewX(-10deg) scaleY(1); } }
@keyframes qs-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.2); opacity: 0.5; } 100% { transform: scaleX(1); opacity: 0.3; } }

/* one block per scene id. Append to style.css. */

/* ----- intellect-activity ----- */
.scn-intellect-activity {
  background: linear-gradient(135deg, #f5e6d0 0%, #e3d2b5 50%, #d4bfa0 100%),
              radial-gradient(ellipse at 70% 30%, #fff6e8 0%, transparent 60%);
}
.scn-intellect-activity .wallpaper { position:absolute; inset:0; background: repeating-linear-gradient(90deg, #e8dcc8 0px, #e8dcc8 1px, transparent 1px, transparent 3px); opacity:0.3; animation: ia-paper 20s linear infinite; }
.scn-intellect-activity .desk { position:absolute; bottom:8%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #c4a87a 0%, #a88c5e 100%); border-radius:4px 4px 0 0; box-shadow:0 4px 12px rgba(0,0,0,0.2); }
.scn-intellect-activity .book-left { position:absolute; bottom:35%; left:18%; width:40px; height:60px; background: linear-gradient(90deg, #6b4e3a 0%, #8b6a4e 50%, #6b4e3a 100%); border-radius:2px; box-shadow:2px 2px 6px rgba(0,0,0,0.3); transform:rotate(-5deg); animation: ia-book 8s ease-in-out infinite; }
.scn-intellect-activity .book-right { position:absolute; bottom:33%; left:55%; width:45px; height:55px; background: linear-gradient(90deg, #5a6a3a 0%, #7a8a5a 50%, #5a6a3a 100%); border-radius:2px; box-shadow:2px 2px 6px rgba(0,0,0,0.3); transform:rotate(3deg); animation: ia-book 9s ease-in-out infinite reverse; }
.scn-intellect-activity .paper { position:absolute; bottom:45%; left:35%; width:70px; height:50px; background: #faf5e8; border-radius:1px; box-shadow:1px 1px 3px rgba(0,0,0,0.1); transform:rotate(-2deg); animation: ia-paper-float 12s ease-in-out infinite; }
.scn-intellect-activity .pen { position:absolute; bottom:42%; left:60%; width:50px; height:4px; background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%); border-radius:2px; transform:rotate(20deg); transform-origin: right center; animation: ia-pen 5s ease-in-out infinite; }
.scn-intellect-activity .window-light { position:absolute; top:5%; left:60%; width:80px; height:100px; background: linear-gradient(180deg, rgba(255,240,210,0.3) 0%, transparent 100%); border-radius:4px; filter:blur(8px); animation: ia-light 8s ease-in-out infinite alternate; }
.scn-intellect-activity .shadow { position:absolute; bottom:8%; left:15%; right:15%; height:10%; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 100%); filter:blur(6px); animation: ia-shadow 10s ease-in-out infinite; }

@keyframes ia-paper { 0% { transform:translateX(0) } 100% { transform:translateX(-100%) } }
@keyframes ia-book { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-2px) } }
@keyframes ia-paper-float { 0%,100% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-3px) } }
@keyframes ia-pen { 0%,100% { transform: rotate(20deg) } 50% { transform: rotate(25deg) } }
@keyframes ia-light { 0%,100% { opacity:0.6 } 50% { opacity:1 } }
@keyframes ia-shadow { 0%,100% { opacity:0.3 } 50% { opacity:0.5 } }

/* ----- verses-in-letters ----- */
.scn-verses-in-letters {
  background: linear-gradient(180deg, #ece1d0 0%, #d6c8b0 40%, #bfaa8a 100%),
              radial-gradient(ellipse at 30% 50%, #faf0e0 0%, transparent 60%);
}
.scn-verses-in-letters .table { position:absolute; bottom:5%; left:5%; right:5%; height:60%; background: linear-gradient(180deg, #b89878 0%, #9a7a5a 100%); border-radius:3px; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
.scn-verses-in-letters .letter { position:absolute; bottom:45%; left:30%; width:80px; height:55px; background: #faf5e8; border-radius:1px; box-shadow:1px 1px 4px rgba(0,0,0,0.1); transform:rotate(-3deg); animation: vl-letter 14s ease-in-out infinite; }
.scn-verses-in-letters .envelope { position:absolute; bottom:42%; left:55%; width:70px; height:45px; background: linear-gradient(180deg, #e8dcc0 0%, #d4c8a8 100%); border-radius:2px; box-shadow:1px 1px 3px rgba(0,0,0,0.1); transform:rotate(5deg); animation: vl-envelope 10s ease-in-out infinite; }
.scn-verses-in-letters .seal { position:absolute; bottom:56%; left:68%; width:12px; height:12px; background: radial-gradient(circle, #a06850 0%, #7a4a3a 100%); border-radius:50%; box-shadow:0 0 4px rgba(0,0,0,0.3); animation: vl-seal 6s ease-in-out infinite; }
.scn-verses-in-letters .inkpot { position:absolute; bottom:48%; left:15%; width:20px; height:24px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius:30% 30% 20% 20%; box-shadow:0 2px 6px rgba(0,0,0,0.4); animation: vl-inkpot 8s ease-in-out infinite; }
.scn-verses-in-letters .quill { position:absolute; bottom:55%; left:12%; width:40px; height:3px; background: linear-gradient(90deg, #6a5a4a 0%, #c8b090 50%, #f0e0d0 100%); border-radius:2px; transform:rotate(-40deg); transform-origin: left center; animation: vl-quill 5s ease-in-out infinite; }
.scn-verses-in-letters .blotter { position:absolute; bottom:38%; left:70%; width:30px; height:20px; background: #7a6a5a; border-radius:2px; box-shadow:0 1px 3px rgba(0,0,0,0.2); animation: vl-blotter 12s ease-in-out infinite; }

@keyframes vl-letter { 0%,100% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-3px) } }
@keyframes vl-envelope { 0%,100% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } }
@keyframes vl-seal { 0%,100% { transform: scale(1) } 50% { transform: scale(1.1) } }
@keyframes vl-inkpot { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes vl-quill { 0%,100% { transform: rotate(-40deg) } 50% { transform: rotate(-35deg) } }
@keyframes vl-blotter { 0%,100% { opacity:0.7 } 50% { opacity:1 } }

/* ----- spontaneous-insight ----- */
.scn-spontaneous-insight {
  background: linear-gradient(180deg, #2b2b45 0%, #1e1e34 40%, #12121e 100%),
              radial-gradient(ellipse at 50% 30%, #3a3a5a 0%, transparent 60%);
}
.scn-spontaneous-insight .bg-bookshelf { position:absolute; inset:0; background: repeating-linear-gradient(0deg, #3a3a4a 0px, #3a3a4a 20px, transparent 20px, transparent 24px); opacity:0.2; animation: si-shelf 30s linear infinite; }
.scn-spontaneous-insight .chair { position:absolute; bottom:8%; left:50%; width:60px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:20% 20% 10% 10%; box-shadow:0 6px 12px rgba(0,0,0,0.6); }
.scn-spontaneous-insight .figure-silhouette { position:absolute; bottom:20%; left:50%; width:30px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: si-figure 6s ease-in-out infinite; }
.scn-spontaneous-insight .lightbulb { position:absolute; top:16%; left:50%; width:24px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #ffd080 0%, #c08040 80%); border-radius:50% 50% 30% 30%; box-shadow:0 0 20px 8px #ffd080, 0 0 40px 16px rgba(255,208,128,0.3); animation: si-bulb 3s ease-in-out infinite; }
.scn-spontaneous-insight .glow-outer { position:absolute; top:10%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,208,128,0.15) 0%, transparent 70%); border-radius:50%; animation: si-glow 4s ease-in-out infinite alternate; }
.scn-spontaneous-insight .spark { position:absolute; border-radius:50%; background: #ffd080; box-shadow:0 0 8px 2px #ffd080; }
.scn-spontaneous-insight .spark-1 { top:20%; left:45%; width:4px; height:4px; animation: si-spark-a 2s ease-in-out infinite; }
.scn-spontaneous-insight .spark-2 { top:15%; left:55%; width:3px; height:3px; animation: si-spark-b 2.5s ease-in-out infinite 0.5s; }
.scn-spontaneous-insight .spark-3 { top:25%; left:52%; width:5px; height:5px; animation: si-spark-c 3s ease-in-out infinite 1s; }

@keyframes si-shelf { 0% { transform:translateY(0) } 100% { transform:translateY(-100%) } }
@keyframes si-figure { 0%,100% { transform: translateX(-50%) translateY(0) scale(1) } 50% { transform: translateX(-50%) translateY(-2px) scale(1.02) } }
@keyframes si-bulb { 0%,100% { opacity:0.7; transform: translateX(-50%) scale(1) } 50% { opacity:1; transform: translateX(-50%) scale(1.1) } }
@keyframes si-glow { 0%,100% { opacity:0.3 } 50% { opacity:0.7 } }
@keyframes si-spark-a { 0%,100% { transform: translate(0,0) scale(1); opacity:1 } 50% { transform: translate(-8px,-12px) scale(0.5); opacity:0 } }
@keyframes si-spark-b { 0%,100% { transform: translate(0,0) scale(1); opacity:1 } 50% { transform: translate(10px,-10px) scale(0.5); opacity:0 } }
@keyframes si-spark-c { 0%,100% { transform: translate(0,0) scale(1); opacity:1 } 50% { transform: translate(4px,-18px) scale(0.5); opacity:0 } }

/* ----- pearls-and-sea ----- */
.scn-pearls-and-sea {
  background: linear-gradient(180deg, #4a8ab5 0%, #2d6a8a 30%, #1a4a6a 60%, #0a2a4a 100%),
              radial-gradient(ellipse at 30% 40%, #5a9ac5 0%, transparent 70%);
  animation: ps-ocean 20s ease-in-out infinite alternate;
}
.scn-pearls-and-sea .ocean-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a9ac5 0%, #3a7a9a 50%, #2a5a7a 100%); opacity:0.5; animation: ps-waves 8s ease-in-out infinite; }
.scn-pearls-and-sea .sand { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #d4b888 0%, #c0a070 100%); border-radius:40% 60% 0 0 / 80% 70% 0 0; box-shadow:inset 0 4px 12px rgba(0,0,0,0.2); }
.scn-pearls-and-sea .shell { position:absolute; bottom:20%; background: linear-gradient(180deg, #f0e0c8 0%, #c8b098 100%); border-radius:50% 50% 30% 30%; box-shadow:0 2px 6px rgba(0,0,0,0.2); }
.scn-pearls-and-sea .shell-left { left:20%; width:50px; height:40px; transform:rotate(-15deg); animation: ps-shell 12s ease-in-out infinite; }
.scn-pearls-and-sea .shell-right { left:55%; width:60px; height:50px; transform:rotate(10deg); animation: ps-shell 14s ease-in-out infinite reverse; }
.scn-pearls-and-sea .pearl { position:absolute; border-radius:50%; background: radial-gradient(circle at 30% 30%, #fff8f0 0%, #e8dcc8 60%, #c8b898 100%); box-shadow:0 0 8px rgba(255,248,240,0.5); }
.scn-pearls-and-sea .pearl-large { bottom:28%; left:35%; width:20px; height:20px; animation: ps-pearl-large 10s ease-in-out infinite; }
.scn-pearls-and-sea .pearl-small { bottom:25%; left:45%; width:12px; height:12px; animation: ps-pearl-small 8s ease-in-out infinite; }
.scn-pearls-and-sea .foam { position:absolute; bottom:30%; left:0; right:0; height:8px; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); filter:blur(3px); animation: ps-foam 6s ease-in-out infinite; }
.scn-pearls-and-sea .ripple { position:absolute; bottom:35%; left:30%; width:40px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,0.2); background:transparent; box-shadow:0 0 6px rgba(255,255,255,0.1); animation: ps-ripple 4s ease-out infinite; }

@keyframes ps-ocean { 0% { background-position:0 0 } 100% { background-position:0 -20px } }
@keyframes ps-waves { 0%,100% { transform:translateY(0) scale(1) } 50% { transform:translateY(-3px) scale(1.02) } }
@keyframes ps-shell { 0%,100% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } }
@keyframes ps-pearl-large { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.05) } }
@keyframes ps-pearl-small { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.1) } }
@keyframes ps-foam { 0%,100% { transform: translateX(0) opacity:0.3 } 50% { transform: translateX(20px) opacity:0.7 } }
@keyframes ps-ripple { 0% { transform: scale(0); opacity:0.8 } 100% { transform: scale(2); opacity:0 } }

.scn-cherubic-gentlewomen { background: linear-gradient(180deg, #fef8e0 0%, #fce3b0 30%, #f2cfa8 60%, #e8b88a 100%), radial-gradient(ellipse at 50% 60%, #fff5e0 0%, transparent 70%); }

.scn-cherubic-gentlewomen .wall { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #fff8e8 0%, #f5e0c0 100%); }

.scn-cherubic-gentlewomen .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #d9b98a 0%, #b89264 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.1); }

.scn-cherubic-gentlewomen .plush-chair { position: absolute; bottom: 32%; left: 20%; width: 120px; height: 100px; background: linear-gradient(135deg, #c8553d 0%, #a0461a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; box-shadow: 0 8px 15px rgba(0,0,0,0.2); animation: cg-bounce 3s ease-in-out infinite; }

.scn-cherubic-gentlewomen .star-mobile { position: absolute; top: 15%; left: 60%; width: 60px; height: 60px; background: radial-gradient(circle, #ffd700 0%, #f0c060 60%, transparent 100%); clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); animation: cg-spin 8s ease-in-out infinite; box-shadow: 0 0 20px rgba(255,215,0,0.5); }

.scn-cherubic-gentlewomen .lady-figure { position: absolute; bottom: 26%; left: 45%; width: 30px; height: 70px; background: linear-gradient(180deg, #e8c4a0 0%, #c09070 30%, #806050 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cg-sway 5s ease-in-out infinite; transform-origin: bottom center; }

.scn-cherubic-gentlewomen .dimity-curtain { position: absolute; top: 0; right: 10%; width: 80px; height: 100%; background: linear-gradient(90deg, #f0e6d8 0%, #fdf6e8 50%, #e8dcc8 100%); opacity: 0.7; border-radius: 10% 10% 0 0; box-shadow: -5px 0 15px rgba(0,0,0,0.1); animation: cg-flutter 4s ease-in-out infinite; }

.scn-cherubic-gentlewomen .brittle-lady { position: absolute; bottom: 24%; right: 25%; width: 22px; height: 50px; background: linear-gradient(180deg, #f0d4b0 0%, #b89070 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: cg-teeter 6s ease-in-out infinite; }

@keyframes cg-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes cg-spin { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.1); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes cg-sway { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes cg-flutter { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
@keyframes cg-teeter { 0%,100% { transform: rotate(0) translateX(0); } 33% { transform: rotate(-2deg) translateX(3px); } 66% { transform: rotate(2deg) translateX(-3px); } }

/* ---- never-wanted-maddest-joy ---- */
.scn-never-wanted-maddest-joy { background: linear-gradient(180deg, #9aa8b8 0%, #b0bdc8 40%, #c8d0d8 70%, #e0e4e8 100%), radial-gradient(ellipse at 50% 80%, #c8d0d8 0%, transparent 90%); }

.scn-never-wanted-maddest-joy .bg-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #d0d8e0 0%, #e8ecf0 100%); }

.scn-never-wanted-maddest-joy .table { position: absolute; bottom: 25%; left: 20%; right: 20%; height: 18px; background: linear-gradient(180deg, #b09878 0%, #8a7056 100%); border-radius: 4px; box-shadow: 0 6px 10px rgba(0,0,0,0.15); }

.scn-never-wanted-maddest-joy .wine-glass { position: absolute; bottom: 35%; left: 35%; width: 40px; height: 60px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(200,200,220,0.3) 80%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; border: 2px solid rgba(200,210,220,0.5); box-shadow: 0 4px 8px rgba(0,0,0,0.1); animation: nw-glow 4s ease-in-out infinite; }

.scn-never-wanted-maddest-joy .hope-glow { position: absolute; bottom: 40%; left: 50%; width: 20px; height: 20px; background: radial-gradient(circle, #ffe5a0 0%, transparent 80%); border-radius: 50%; animation: nw-pulse 6s ease-in-out infinite; }

.scn-never-wanted-maddest-joy .abstemious-bowl { position: absolute; bottom: 28%; left: 55%; width: 70px; height: 18px; background: linear-gradient(180deg, #d0b890 0%, #a08868 100%); border-radius: 50%; box-shadow: 0 3px 6px rgba(0,0,0,0.2); animation: nw-settle 8s ease-in-out infinite; }

.scn-never-wanted-maddest-joy .goal-vine { position: absolute; bottom: 30%; left: 62%; width: 30px; height: 6px; background: #5a6a4a; border-radius: 50%; transform-origin: left center; animation: nw-reach 10s ease-in-out infinite; }

@keyframes nw-glow { 0%,100% { opacity: 0.6; } 50% { opacity: 1; box-shadow: 0 0 15px rgba(255,220,150,0.3); } }
@keyframes nw-pulse { 0%,100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.5); opacity: 0.9; } }
@keyframes nw-settle { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes nw-reach { 0%,100% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(1.1); } }

/* ---- fire-out-flood ---- */
.scn-fire-out-flood { background: linear-gradient(180deg, #2a1e1a 0%, #3a2a22 30%, #4a3830 60%, #5a4840 100%), radial-gradient(ellipse at 50% 40%, #4a3830 0%, transparent 90%); }

.scn-fire-out-flood .room-dark { position: absolute; inset: 0; background: linear-gradient(180deg, #1a1410 0%, #2a1e1a 100%); }

.scn-fire-out-flood .fireplace { position: absolute; bottom: 20%; left: 30%; right: 30%; height: 120px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6); }

.scn-fire-out-flood .embers { position: absolute; bottom: 25%; left: 38%; width: 80px; height: 30px; background: radial-gradient(ellipse, #c06530 0%, #8a4020 60%, transparent 100%); animation: ff-flicker 3s ease-in-out infinite alternate; }

.scn-fire-out-flood .drawer { position: absolute; bottom: 10%; left: 55%; width: 100px; height: 50px; background: linear-gradient(180deg, #8a7056 0%, #6a5240 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: ff-slide 12s ease-in-out infinite; }

.scn-fire-out-flood .water-drip { position: absolute; bottom: 35%; left: 60%; width: 8px; height: 40px; background: linear-gradient(180deg, transparent 0%, #5a8a9a 50%, #7aaab8 100%); border-radius: 50%; animation: ff-drip 5s ease-in infinite; }

.scn-fire-out-flood .cedar-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 22%; background: linear-gradient(180deg, #4a3830 0%, #2a1e1a 100%); border-top: 2px solid #5a4a3a; }

@keyframes ff-flicker { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.2); } 100% { opacity: 0.5; transform: scaleY(0.8); } }
@keyframes ff-slide { 0%,100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
@keyframes ff-drip { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 70% { transform: translateY(20px); opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } }

/* ---- modest-lot ---- */
.scn-modest-lot { background: linear-gradient(180deg, #7a8a96 0%, #9aaab5 30%, #b0c0c8 60%, #c8d4da 100%), radial-gradient(ellipse at 50% 100%, #b0c0c8 0%, transparent 80%); }

.scn-modest-lot .sky-overcast { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #9aaab5 0%, #bcc8d0 100%); animation: ml-cloudshift 20s linear infinite; }

.scn-modest-lot .sea { position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(180deg, #5a789a 0%, #4a688a 40%, #3a5878 100%); }

.scn-modest-lot .shore-sand { position: absolute; bottom: 15%; left: 0; right: 0; height: 12%; background: linear-gradient(180deg, #b8a888 0%, #a09078 100%); border-radius: 30% 40% 0 0 / 50% 60% 0 0; }

.scn-modest-lot .sailor-silhouette { position: absolute; bottom: 18%; left: 30%; width: 20px; height: 45px; background: #1a2a3a; border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: ml-walk 6s ease-in-out infinite; }

.scn-modest-lot .small-ship { position: absolute; bottom: 42%; left: 60%; width: 80px; height: 30px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%); clip-path: polygon(0% 40%, 100% 40%, 85% 100%, 15% 100%); animation: ml-rock 8s ease-in-out infinite; }

.scn-modest-lot .lighthouse { position: absolute; bottom: 30%; right: 15%; width: 20px; height: 70px; background: linear-gradient(180deg, #e0d0b0 0%, #c0b090 50%, #a09078 100%); border-radius: 10% 10% 0 0; box-shadow: 0 0 15px rgba(200,190,160,0.3); animation: ml-beam 5s ease-in-out infinite alternate; }

@keyframes ml-cloudshift { 0% { background-position: 0 0; } 100% { background-position: 200px 0; } }
@keyframes ml-walk { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(10px) rotate(2deg); } 50% { transform: translateX(20px) rotate(-2deg); } 75% { transform: translateX(30px) rotate(2deg); } 100% { transform: translateX(40px) rotate(-1deg); } }
@keyframes ml-rock { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } }
@keyframes ml-beam { 0% { box-shadow: 0 0 10px rgba(200,190,160,0.2); } 100% { box-shadow: 0 0 30px rgba(200,190,160,0.6); } }

.scn-summer-solstice-day {
  background: 
    linear-gradient(180deg, #fbe9d2 0%, #f4d4a0 40%, #e8b86a 70%, #c8923e 100%),
    radial-gradient(ellipse at 50% 30%, #fff7e8 0%, transparent 60%);
}
.scn-summer-solstice-day .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #b8e2ff 0%, #88c8ff 100%); animation: s1-sky 20s ease-in-out infinite alternate; }
.scn-summer-solstice-day .sun { position:absolute; top:18%; left:55%; width:80px; height:80px; background: radial-gradient(circle, #fffce8 0%, #ffdd77 40%, #f7b32b 70%, transparent 100%); border-radius:50%; box-shadow: 0 0 80px 40px rgba(255,221,119,0.4); animation: s1-sun 6s ease-in-out infinite; }
.scn-summer-solstice-day .fields { position:absolute; bottom:0; left:0; width:100%; height:55%; background: linear-gradient(180deg, #9abf6e 0%, #7ca354 40%, #5c7f3a 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,0.15); }
.scn-summer-solstice-day .flower-a { position:absolute; bottom:20%; left:20%; width:18px; height:18px; background: radial-gradient(circle, #ffdd99 0%, #e8a230 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform: rotate(-15deg); animation: s1-flower 4s ease-in-out infinite; }
.scn-summer-solstice-day .flower-b { position:absolute; bottom:18%; left:40%; width:14px; height:14px; background: radial-gradient(circle, #ffe6b3 0%, #d48a20 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform: rotate(10deg); animation: s1-flower 5s ease-in-out infinite reverse; }
.scn-summer-solstice-day .stem-a { position:absolute; bottom:20%; left:20%; width:3px; height:40px; background: linear-gradient(180deg, #4a7a2a 0%, #2d5a1a 100%); transform-origin: bottom center; transform: rotate(-10deg); animation: s1-stem 4s ease-in-out infinite; }
.scn-summer-solstice-day .stem-b { position:absolute; bottom:18%; left:40%; width:3px; height:35px; background: linear-gradient(180deg, #4a7a2a 0%, #2d5a1a 100%); transform-origin: bottom center; transform: rotate(8deg); animation: s1-stem 5s ease-in-out infinite reverse; }
.scn-summer-solstice-day .cloud-s1 { position:absolute; top:12%; left:10%; width:100px; height:25px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(200,230,255,0.3) 100%); border-radius: 50%; filter: blur(8px); animation: s1-drift 40s linear infinite; }
@keyframes s1-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes s1-sun { 0% { transform: scale(1); box-shadow: 0 0 60px 30px rgba(255,221,119,0.3); } 50% { transform: scale(1.08); box-shadow: 0 0 100px 50px rgba(255,221,119,0.5); } 100% { transform: scale(1); box-shadow: 0 0 60px 30px rgba(255,221,119,0.3); } }
@keyframes s1-flower { 0% { transform: rotate(-15deg) scale(1); } 50% { transform: rotate(-10deg) scale(1.1); } 100% { transform: rotate(-15deg) scale(1); } }
@keyframes s1-stem { 0% { transform: rotate(-10deg) scaleY(1); } 50% { transform: rotate(-8deg) scaleY(1.05); } 100% { transform: rotate(-10deg) scaleY(1); } }
@keyframes s1-drift { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }

.scn-ceded-baptism {
  background: 
    linear-gradient(180deg, #d9c4a0 0%, #b6926c 40%, #8a6a4a 70%, #5a3f2a 100%),
    radial-gradient(ellipse at 50% 100%, #a77e5a 0%, transparent 70%);
}
.scn-ceded-baptism .wall-left { position:absolute; inset:0 60% 0 0; background: linear-gradient(90deg, #6a4a3a 0%, #8a6040 100%); box-shadow: inset -5px 0 15px rgba(0,0,0,0.3); }
.scn-ceded-baptism .wall-right { position:absolute; inset:0 0 0 40%; background: linear-gradient(90deg, #8a6040 0%, #6a4a3a 100%); box-shadow: inset 5px 0 15px rgba(0,0,0,0.3); }
.scn-ceded-baptism .window-light { position:absolute; left:50%; top:10%; width:80px; height:120px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #fff8e8 0%, #ffe3b0 60%, #c8945a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 60px 30px rgba(255,200,100,0.3); animation: cb-window 5s ease-in-out infinite alternate; }
.scn-ceded-baptism .font { position:absolute; bottom:15%; left:50%; width:60px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #9a7a5a 0%, #6a4a3a 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-ceded-baptism .figure-kneeling { position:absolute; bottom:10%; left:45%; width:28px; height:55px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cb-figure 6s ease-in-out infinite; }
.scn-ceded-baptism .pew { position:absolute; bottom:12%; left:35%; width:35px; height:20px; background: linear-gradient(180deg, #5a3a2a 0%, #3a221a 100%); border-radius: 5% 5% 10% 10%; box-shadow: 2px 2px 5px rgba(0,0,0,0.3); }
.scn-ceded-baptism .dust-rays { position:absolute; top:15%; left:50%; width:200px; height:200px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 0%, rgba(255,220,160,0.1) 0%, transparent 70%); filter: blur(8px); animation: cb-dust 12s ease-in-out infinite alternate; }
@keyframes cb-window { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes cb-figure { 0% { transform: translateY(0); } 25% { transform: translateY(-2px); } 50% { transform: translateY(0); } 75% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes cb-dust { 0% { opacity:0.3; transform: translateX(-50%) scale(1); } 50% { opacity:0.8; transform: translateX(-50%) scale(1.1); } 100% { opacity:0.4; transform: translateX(-50%) scale(0.95); } }

.scn-long-parting-judgment {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2c203a 40%, #4a3050 70%, #6a405a 100%),
    radial-gradient(ellipse at 50% 100%, #7a5060 0%, transparent 70%);
}
.scn-long-parting-judgment .heaven-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #6a3a5a 0%, #c08060 40%, #e0a070 100%); animation: lp-sky 15s ease-in-out infinite alternate; }
.scn-long-parting-judgment .horizon-line { position:absolute; bottom:45%; left:0; width:100%; height:2px; background: linear-gradient(90deg, transparent 0%, #f0c0a0 50%, transparent 100%); box-shadow: 0 0 20px 8px rgba(240,192,160,0.3); animation: lp-glow 4s ease-in-out infinite; }
.scn-long-parting-judgment .figure-left { position:absolute; bottom:40%; left:30%; width:30px; height:70px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lp-figure-l 8s ease-in-out infinite; }
.scn-long-parting-judgment .figure-right { position:absolute; bottom:40%; right:30%; width:30px; height:70px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lp-figure-r 8s ease-in-out infinite reverse; }
.scn-long-parting-judgment .beam-1 { position:absolute; top:10%; left:20%; width:4px; height:60%; background: linear-gradient(180deg, rgba(255,200,150,0.4) 0%, transparent 100%); transform: rotate(15deg); transform-origin: top center; filter: blur(2px); animation: lp-beam 10s ease-in-out infinite; }
.scn-long-parting-judgment .beam-2 { position:absolute; top:10%; right:20%; width:4px; height:60%; background: linear-gradient(180deg, rgba(255,200,150,0.4) 0%, transparent 100%); transform: rotate(-20deg); transform-origin: top center; filter: blur(2px); animation: lp-beam 12s ease-in-out infinite reverse; }
.scn-long-parting-judgment .glow-center { position:absolute; top:30%; left:50%; width:100px; height:100px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,200,150,0.15) 0%, transparent 70%); animation: lp-glow 6s ease-in-out infinite; }
@keyframes lp-sky { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes lp-glow { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.5; } }
@keyframes lp-figure-l { 0% { transform: translateY(0) rotate(3deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(3deg); } }
@keyframes lp-figure-r { 0% { transform: translateY(0) rotate(-3deg); } 25% { transform: translateY(-3px) rotate(-2deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes lp-beam { 0% { opacity:0.2; transform: rotate(15deg) scaleY(1); } 50% { opacity:0.8; transform: rotate(15deg) scaleY(1.2); } 100% { opacity:0.2; transform: rotate(15deg) scaleY(1); } }

.scn-she-rose-to-requirement {
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 40%, #4a4a5a 100%),
    radial-gradient(ellipse at 50% 100%, #4a4a5a 0%, transparent 60%);
}
.scn-she-rose-to-requirement .room-back { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 100%); }
.scn-she-rose-to-requirement .window { position:absolute; top:10%; left:65%; width:70px; height:100px; background: radial-gradient(ellipse at 50% 50%, #5a5a6a 0%, #3a3a4a 100%); border: 2px solid #5a4a3a; box-shadow: inset 0 0 30px rgba(100,100,120,0.2); border-radius: 4% 4% 8% 8%; animation: sr-window 12s ease-in-out infinite alternate; }
.scn-she-rose-to-requirement .table { position:absolute; bottom:20%; left:30%; width:80px; height:10px; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.4); }
.scn-she-rose-to-requirement .chair { position:absolute; bottom:18%; left:35%; width:30px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-she-rose-to-requirement .woman-silhouette { position:absolute; bottom:20%; left:30%; width:25px; height:60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sr-woman 5s ease-in-out infinite; }
.scn-she-rose-to-requirement .playthings { position:absolute; bottom:12%; left:20%; width:12px; height:12px; background: radial-gradient(circle, #7a7a8a 0%, #4a4a5a 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,0.2), 12px 4px 0 0 #5a5a6a, -8px -2px 0 0 #6a6a7a; animation: sr-toys 6s ease-in-out infinite; }
.scn-she-rose-to-requirement .lamp-glow { position:absolute; bottom:30%; left:55%; width:50px; height:50px; background: radial-gradient(circle, rgba(200,180,140,0.15) 0%, transparent 70%); animation: sr-lamp 8s ease-in-out infinite; }
@keyframes sr-window { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }
@keyframes sr-woman { 0% { transform: translateY(0); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0); } }
@keyframes sr-toys { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes sr-lamp { 0% { opacity:0.2; } 50% { opacity:0.5; } 100% { opacity:0.3; } }

.scn-item-funeral-box {
  background:
    linear-gradient(135deg, #1e1a2e 0%, #2a2438 40%, #3d2e4a 100%),
    radial-gradient(ellipse at 50% 80%, #2a2438 0%, transparent 60%);
}
.scn-item-funeral-box .floor {
  position: absolute; inset: auto 0 0 0; height: 30%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.5);
}
.scn-item-funeral-box .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a1e 60%, #1e1210 100%);
  opacity: 0.9;
}
.scn-item-funeral-box .coffin {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 100px; height: 40px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a10 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: ifb-coffin 8s ease-in-out infinite;
}
.scn-item-funeral-box .mourner1 {
  position: absolute; bottom: 30%; left: 30%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ifb-mourn1 6s ease-in-out infinite;
}
.scn-item-funeral-box .mourner2 {
  position: absolute; bottom: 30%; left: 58%; width: 14px; height: 38px;
  background: linear-gradient(180deg, #2a1a1a 0%, #121010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ifb-mourn2 7s ease-in-out infinite;
  animation-delay: -2s;
}
.scn-item-funeral-box .drum {
  position: absolute; bottom: 26%; left: 45%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2010 100%);
  border-radius: 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: ifb-drum 4s ease-in-out infinite;
}
.scn-item-funeral-box .light-shaft {
  position: absolute; top: 0%; left: 40%; width: 80px; height: 100%;
  background: linear-gradient(180deg, rgba(200,180,160,.15) 0%, transparent 60%);
  filter: blur(20px);
  animation: ifb-light 12s ease-in-out infinite alternate;
}
.scn-item-funeral-box .shadow {
  position: absolute; bottom: 22%; left: 44%; width: 120px; height: 20px;
  background: rgba(0,0,0,.4);
  border-radius: 50%;
  filter: blur(8px);
  animation: ifb-shadow 8s ease-in-out infinite;
}
@keyframes ifb-coffin {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px); }
}
@keyframes ifb-mourn1 {
  0%, 100% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(1deg); }
}
@keyframes ifb-mourn2 {
  0%, 100% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(-3px) rotate(-2deg); }
}
@keyframes ifb-drum {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.8); }
}
@keyframes ifb-light {
  0% { opacity: 0.3; }
  100% { opacity: 0.7; }
}
@keyframes ifb-shadow {
  0%, 100% { transform: scaleX(1); opacity: 0.4; }
  50% { transform: scaleX(1.1); opacity: 0.6; }
}

.scn-meant-to-find-her-wander {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2030 50%, #1e1a2a 100%),
    radial-gradient(ellipse at 30% 60%, #2a2030 0%, transparent 70%);
}
.scn-meant-to-find-her-wander .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1e1a2a 0%, #2a2030 40%, #1a1620 100%);
}
.scn-meant-to-find-her-wander .door {
  position: absolute; bottom: 25%; left: 20%; width: 60px; height: 90px;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1a10 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  animation: mfw-door 15s ease-in-out infinite;
}
.scn-meant-to-find-her-wander .figure {
  position: absolute; bottom: 25%; left: 35%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mfw-figure 6s ease-in-out infinite;
}
.scn-meant-to-find-her-wander .window {
  position: absolute; top: 20%; right: 15%; width: 30px; height: 40px;
  border: 2px solid #2a1e1a;
  background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 10px rgba(0,0,0,.3);
  animation: mfw-window 8s ease-in-out infinite alternate;
}
.scn-meant-to-find-her-wander .candle {
  position: absolute; bottom: 30%; left: 25%; width: 4px; height: 10px;
  background: linear-gradient(180deg, #e0b070 0%, #b08040 100%);
  border-radius: 30%;
  box-shadow: 0 0 12px 4px #b0804099;
  animation: mfw-candle 3s ease-in-out infinite;
}
.scn-meant-to-find-her-wander .shadow {
  position: absolute; bottom: 22%; left: 30%; width: 40px; height: 10px;
  background: rgba(0,0,0,.3);
  border-radius: 50%;
  filter: blur(6px);
  animation: mfw-shadow 6s ease-in-out infinite;
}
@keyframes mfw-door {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(0.95); }
}
@keyframes mfw-figure {
  0%, 100% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(8px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-8px) rotate(1deg); }
}
@keyframes mfw-window {
  0% { opacity: 0.6; box-shadow: inset 0 0 5px rgba(0,0,0,.2); }
  100% { opacity: 1; box-shadow: inset 0 0 15px rgba(0,0,0,.5); }
}
@keyframes mfw-candle {
  0%, 100% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.1); opacity: 1; }
}
@keyframes mfw-shadow {
  0%, 100% { transform: scaleX(1); opacity: 0.3; }
  50% { transform: scaleX(1.2); opacity: 0.4; }
}

.scn-sing-waiting-sickness {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #3a2a1e 50%, #1e1612 100%),
    radial-gradient(ellipse at 60% 30%, #4a3020 0%, transparent 60%);
}
.scn-sing-waiting-sickness .bg-interior {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1e1612 0%, #2a1e1a 40%, #1a1210 100%);
}
.scn-sing-waiting-sickness .door {
  position: absolute; bottom: 20%; left: 10%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a10 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 15px rgba(0,0,0,.6);
  animation: sws-door 12s ease-in-out infinite;
}
.scn-sing-waiting-sickness .chair {
  position: absolute; bottom: 22%; left: 30%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: sws-chair 8s ease-in-out infinite alternate;
}
.scn-sing-waiting-sickness .figure {
  position: absolute; bottom: 24%; left: 35%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sws-figure 5s ease-in-out infinite;
}
.scn-sing-waiting-sickness .bonnet {
  position: absolute; top: 28%; left: 35%; width: 20px; height: 10px;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(1px);
  animation: sws-bonnet 5s ease-in-out infinite;
}
.scn-sing-waiting-sickness .candle {
  position: absolute; bottom: 30%; left: 28%; width: 4px; height: 12px;
  background: linear-gradient(180deg, #e0b070 0%, #b08040 100%);
  border-radius: 30%;
  box-shadow: 0 0 12px 4px #b0804080;
  animation: sws-candle 3s ease-in-out infinite;
}
.scn-sing-waiting-sickness .shelf {
  position: absolute; top: 15%; left: 20%; width: 80px; height: 6px;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1a10 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: sws-shelf 20s ease-in-out infinite;
}
@keyframes sws-door {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(0.96); }
}
@keyframes sws-chair {
  0% { transform: translateY(0); }
  100% { transform: translateY(2px); }
}
@keyframes sws-figure {
  0%, 100% { transform: translateX(0) rotate(-3deg); }
  25% { transform: translateX(6px) rotate(3deg); }
  50% { transform: translateX(-2px) rotate(-2deg); }
  75% { transform: translateX(8px) rotate(2deg); }
}
@keyframes sws-bonnet {
  0%, 100% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-2px) rotate(5deg); }
}
@keyframes sws-candle {
  0%, 100% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.15); opacity: 1; }
}
@keyframes sws-shelf {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(1px); }
}

.scn-superfluous-sun-dateless-fame {
  background:
    linear-gradient(180deg, #c8d8e0 0%, #a0b8c8 50%, #788898 100%),
    radial-gradient(ellipse at 80% 30%, #d0e0f0 0%, transparent 60%);
  /* sunlit, warm whites and blues */
}
.scn-superfluous-sun-dateless-fame .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #b8d0e0 0%, #c8d8e0 40%, #a8c0d0 100%);
  animation: ssf-day 20s ease-in-out infinite alternate;
}
.scn-superfluous-sun-dateless-fame .sun {
  position: absolute; top: 15%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff8e0 0%, #f0d080 50%, #d0a050 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #fff8e066, 0 0 80px 40px #f0d08044;
  animation: ssf-sun 30s ease-in-out infinite;
}
.scn-superfluous-sun-dateless-fame .ground {
  position: absolute; inset: auto 0 0 0; height: 30%;
  background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 100%);
  border-radius: 30% 0 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.2);
}
.scn-superfluous-sun-dateless-fame .figure {
  position: absolute; bottom: 20%; left: 30%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ssf-figure 8s ease-in-out infinite;
}
.scn-superfluous-sun-dateless-fame .star1 {
  position: absolute; top: 10%; left: 15%; width: 6px; height: 6px;
  background: #ffe8c0;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px #ffe8c080;
  animation: ssf-star 6s ease-in-out infinite alternate;
}
.scn-superfluous-sun-dateless-fame .star2 {
  position: absolute; top: 25%; left: 40%; width: 4px; height: 4px;
  background: #fff0d0;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #fff0d080;
  animation: ssf-star 8s ease-in-out infinite alternate-reverse;
}
.scn-superfluous-sun-dateless-fame .star3 {
  position: absolute; top: 18%; left: 70%; width: 5px; height: 5px;
  background: #ffecb0;
  border-radius: 50%;
  box-shadow: 0 0 10px 3px #ffecb066;
  animation: ssf-star 10s ease-in-out infinite alternate;
}
@keyframes ssf-day {
  0% { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes ssf-sun {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.02); }
}
@keyframes ssf-figure {
  0%, 100% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(10px) rotate(2deg); }
}
@keyframes ssf-star {
  0% { opacity: 0.2; transform: scale(0.5); }
  100% { opacity: 0.9; transform: scale(1.2); }
}

/* hope-glutton – dim interior, calm */
.scn-hope-glutton {
  background: linear-gradient(180deg, #1e1e1e 0%, #2a2a2a 30%, #3c3c3c 60%, #1a1a1a 100%),
              radial-gradient(ellipse at 50% 70%, rgba(80,60,40,0.3) 0%, transparent 60%);
}
.scn-hope-glutton .wall   { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2e2e2e 0%, #1a1a1a 100%); }
.scn-hope-glutton .floor  { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-hope-glutton .table  { position:absolute; bottom:20%; left:50%; width:70px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-hope-glutton .chair  { position:absolute; bottom:20%; left:45%; width:24px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:30% 30% 10% 10%; }
.scn-hope-glutton .fruit  { position:absolute; bottom:37%; left:50%; width:16px; height:18px; transform:translateX(-50%); background: radial-gradient(circle at 40% 30%, #6a4a3a 0%, #3a2a1a 80%); border-radius:50%; box-shadow: 0 0 12px 2px rgba(200,150,100,0.3); animation: hg-fruit 5s ease-in-out infinite alternate; }
.scn-hope-glutton .glow   { position:absolute; bottom:38%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, rgba(200,180,140,0.15) 0%, transparent 70%); animation: hg-glow 6s ease-in-out infinite alternate; }
.scn-hope-glutton .shadow { position:absolute; bottom:16%; left:45%; width:90px; height:20px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.4) 0%, transparent 70%); animation: hg-shadow 5s ease-in-out infinite alternate; }
@keyframes hg-fruit  { 0% { transform:translateX(-50%) scale(1); } 50% { transform:translateX(-50%) scale(1.05); } 100% { transform:translateX(-50%) scale(1); } }
@keyframes hg-glow   { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes hg-shadow { 0% { opacity:0.3; transform:scaleX(1); } 50% { opacity:0.5; transform:scaleX(1.1); } 100% { opacity:0.3; transform:scaleX(1); } }

/* heaven-unreachable – overcast, calm */
.scn-heaven-unreachable {
  background: linear-gradient(180deg, #b0b8c0 0%, #9ca4b0 30%, #788090 60%, #5a606a 100%),
              radial-gradient(ellipse at 50% 20%, rgba(200,210,220,0.3) 0%, transparent 60%);
}
.scn-heaven-unreachable .sky-bg { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c0c8d0 0%, #a0a8b0 100%); animation: hu-sky 20s ease-in-out infinite alternate; }
.scn-heaven-unreachable .hill   { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a7050 0%, #4a5030 100%); border-radius:60% 40% 0 0 / 70% 50% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.3); animation: hu-hill 18s ease-in-out infinite alternate; }
.scn-heaven-unreachable .tree   { position:absolute; bottom:45%; left:35%; width:20px; height:60px; background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%); border-radius:4px 4px 0 0; transform-origin: bottom; animation: hu-tree 8s ease-in-out infinite; }
.scn-heaven-unreachable .apple  { position:absolute; bottom:72%; left:34%; width:14px; height:16px; background: radial-gradient(circle at 40% 30%, #8a6a3a 0%, #5a4a2a 80%); border-radius:50%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: hu-apple 6s ease-in-out infinite; }
.scn-heaven-unreachable .house  { position:absolute; bottom:28%; right:20%; width:50px; height:40px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: hu-house 12s ease-in-out infinite alternate; }
.scn-heaven-unreachable .cloud-a{ position:absolute; top:12%; left:10%; width:80px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(200,210,220,0.2) 100%); border-radius:50%; filter:blur(5px); animation: hu-cloud-a 40s linear infinite; }
.scn-heaven-unreachable .cloud-b{ position:absolute; top:22%; right:15%; width:60px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(200,210,220,0.1) 100%); border-radius:50%; filter:blur(4px); animation: hu-cloud-b 55s linear infinite reverse; }
@keyframes hu-sky    { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes hu-hill   { 0% { transform:translateY(0); } 50% { transform:translateY(-4px); } 100% { transform:translateY(0); } }
@keyframes hu-tree   { 0%,100% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } }
@keyframes hu-apple  { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-3px) rotate(5deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes hu-house  { 0% { transform:scale(1); } 50% { transform:scale(1.02); } 100% { transform:scale(1); } }
@keyframes hu-cloud-a{ 0% { transform:translateX(-40px); } 100% { transform:translateX(120vw); } }
@keyframes hu-cloud-b{ 0% { transform:translateX(0); } 100% { transform:translateX(-100vw); } }

/* venerate-simple-days – sunlit, calm */
.scn-venerate-simple-days {
  background: linear-gradient(180deg, #7ac0e0 0%, #a8d8f0 30%, #d0e8f8 60%, #f0f8ff 100%),
              radial-gradient(ellipse at 50% 0%, #f8e8a0 0%, transparent 60%);
}
.scn-venerate-simple-days .sky-warm { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #90d0f0 0%, #c0e8ff 100%); animation: vsd-sky 25s ease-in-out infinite alternate; }
.scn-venerate-simple-days .sun      { position:absolute; top:8%; right:15%; width:50px; height:50px; background: radial-gradient(circle, #fff4c0 0%, #f8d88a 60%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 10px rgba(248,216,138,0.4); animation: vsd-sun 15s ease-in-out infinite alternate; }
.scn-venerate-simple-days .meadow   { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #8ab86a 0%, #5a8a3a 100%); border-radius:60% 40% 0 0 / 30% 20% 0 0; }
.scn-venerate-simple-days .oak      { position:absolute; bottom:30%; left:25%; width:30px; height:80px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:6px; transform-origin: bottom; }
.scn-venerate-simple-days .oak::after { content:''; position:absolute; top:-40px; left:-20px; width:70px; height:60px; background: radial-gradient(ellipse at 50% 100%, #4a7a3a 0%, #2a5a1a 60%, transparent 70%); border-radius:50%; }
.scn-venerate-simple-days .acorn    { position:absolute; bottom:58%; left:28%; width:10px; height:12px; background: radial-gradient(circle at 40% 30%, #7a5a3a 0%, #4a3a1a 80%); border-radius:50% 50% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: vsd-acorn 4s ease-in-out infinite alternate; }
.scn-venerate-simple-days .leaf-a   { position:absolute; bottom:65%; left:15%; width:20px; height:10px; background: radial-gradient(ellipse at 50% 50%, #6a9a4a 0%, #4a7a2a 80%); border-radius:50%; filter:blur(1px); animation: vsd-leaf-a 8s ease-in-out infinite; }
.scn-venerate-simple-days .leaf-b   { position:absolute; bottom:62%; left:65%; width:18px; height:9px; background: radial-gradient(ellipse at 50% 50%, #7aaa5a 0%, #5a8a3a 80%); border-radius:50%; filter:blur(1px); animation: vsd-leaf-b 10s ease-in-out infinite reverse; }
@keyframes vsd-sky    { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes vsd-sun    { 0% { transform:scale(1) translateY(0); box-shadow:0 0 40px 10px rgba(248,216,138,0.4); } 50% { transform:scale(1.05) translateY(-3px); box-shadow:0 0 50px 15px rgba(248,216,138,0.6); } 100% { transform:scale(1) translateY(0); box-shadow:0 0 40px 10px rgba(248,216,138,0.4); } }
@keyframes vsd-acorn  { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-2px) rotate(5deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes vsd-leaf-a { 0% { transform:translate(0,0) rotate(0deg); opacity:0.8; } 25% { transform:translate(5px,-3px) rotate(10deg); opacity:0.9; } 50% { transform:translate(-2px,-6px) rotate(-5deg); opacity:0.7; } 75% { transform:translate(3px,-2px) rotate(8deg); opacity:0.9; } 100% { transform:translate(0,0) rotate(0deg); opacity:0.8; } }
@keyframes vsd-leaf-b { 0% { transform:translate(0,0) rotate(0deg); opacity:0.7; } 25% { transform:translate(-4px,-2px) rotate(-8deg); opacity:0.85; } 50% { transform:translate(2px,-5px) rotate(5deg); opacity:0.65; } 75% { transform:translate(-3px,-1px) rotate(-6deg); opacity:0.8; } 100% { transform:translate(0,0) rotate(0deg); opacity:0.7; } }

/* drowning-attempt – dark, tense */
.scn-drowning-attempt {
  background: linear-gradient(180deg, #0a0a1a 0%, #12122e 30%, #1a1a3e 60%, #0e0e1e 100%),
              radial-gradient(ellipse at 50% 80%, rgba(0,20,40,0.4) 0%, transparent 60%);
}
.scn-drowning-attempt .deep-water { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #12122e 0%, #0a0a1a 100%); animation: da-deep 10s ease-in-out infinite alternate; }
.scn-drowning-attempt .mid-water  { position:absolute; bottom:20%; left:0; right:0; height:50%; background: linear-gradient(180deg, rgba(20,30,50,0.8) 0%, rgba(10,10,20,0.9) 100%); }
.scn-drowning-attempt .figure     { position:absolute; bottom:25%; left:50%; width:24px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5); animation: da-figure 6s ease-in-out infinite; }
.scn-drowning-attempt .bubbles    { position:absolute; bottom:40%; left:48%; width:8px; height:8px; background: radial-gradient(circle, rgba(200,220,240,0.3) 0%, transparent 70%); border-radius:50%; animation: da-bubbles 4s ease-out infinite; }
.scn-drowning-attempt .bubbles::before { content:''; position:absolute; top:-10px; left:-4px; width:6px; height:6px; background: radial-gradient(circle, rgba(200,220,240,0.2) 0%, transparent 70%); border-radius:50%; animation: da-bubbles 5s ease-out infinite 0.5s; }
.scn-drowning-attempt .bubbles::after  { content:''; position:absolute; top:-18px; left:2px; width:4px; height:4px; background: radial-gradient(circle, rgba(200,220,240,0.15) 0%, transparent 70%); border-radius:50%; animation: da-bubbles 6s ease-out infinite 1s; }
.scn-drowning-attempt .light      { position:absolute; top:10%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, rgba(200,220,255,0.1) 0%, transparent 60%); animation: da-light 7s ease-in-out infinite alternate; }
@keyframes da-deep   { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes da-figure { 0% { transform:translateX(-50%) translateY(0) rotate(0deg); } 25% { transform:translateX(-45%) translateY(-2px) rotate(3deg); } 50% { transform:translateX(-50%) translateY(0) rotate(0deg); } 75% { transform:translateX(-55%) translateY(-2px) rotate(-3deg); } 100% { transform:translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes da-bubbles { 0% { transform:translate(0,0) scale(1); opacity:0.6; } 100% { transform:translate(2px,-60px) scale(0.5); opacity:0; } }
@keyframes da-light  { 0% { opacity:0.2; transform:translateX(-50%) scale(1); } 50% { opacity:0.5; transform:translateX(-50%) scale(1.2); } 100% { opacity:0.2; transform:translateX(-50%) scale(1); } }

/* Scene: proud-to-die-tie-strings */
.scn-proud-to-die-tie-strings {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2d2040 40%, #1e1428 100%),
    radial-gradient(ellipse at 70% 30%, #3a2a50 0%, transparent 60%);
}
.scn-proud-to-die-tie-strings .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a1e30 0%, #3a2a48 50%, #1e1428 100%);
}
.scn-proud-to-die-tie-strings .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e1520 0%, #0d0a10 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.6);
}
.scn-proud-to-die-tie-strings .window-frame {
  position: absolute; top: 15%; left: 25%; width: 50%; height: 55%;
  border: 4px solid #4a3a50; border-radius: 4px;
  background: transparent; box-shadow: inset 0 0 30px rgba(80,60,100,0.3);
}
.scn-proud-to-die-tie-strings .moonlight {
  position: absolute; top: 18%; left: 28%; width: 44%; height: 50%;
  background: linear-gradient(180deg, rgba(200,180,220,0.15) 0%, transparent 100%);
  animation: pt-glow 8s ease-in-out infinite alternate;
}
.scn-proud-to-die-tie-strings .figure {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #2a1e30 0%, #1a1018 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pt-figure 5s ease-in-out infinite alternate;
}
.scn-proud-to-die-tie-strings .strings {
  position: absolute; bottom: 35%; left: 35%; width: 30%; height: 2px;
  background: #5a3a40; box-shadow: 0 -2px 0 #4a2a30;
  transform: rotate(5deg);
  animation: pt-strings 4s ease-in-out infinite;
}
.scn-proud-to-die-tie-strings .shadow {
  position: absolute; bottom: 16%; left: 38%; width: 24%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: pt-shadow 6s ease-in-out infinite alternate;
}
.scn-proud-to-die-tie-strings .dust {
  position: absolute; top: 30%; left: 10%; width: 2px; height: 2px;
  background: #c0b0d0; border-radius: 50%;
  box-shadow: 20px 40px 3px rgba(200,180,220,0.2), 80px 120px 5px rgba(200,180,220,0.15), 150px 80px 4px rgba(200,180,220,0.1);
  animation: pt-drift 25s linear infinite;
}
@keyframes pt-glow {
  0% { opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}
@keyframes pt-figure {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  50% { transform: translateX(4px) translateY(-2px) rotate(2deg); }
  100% { transform: translateX(-2px) translateY(0) rotate(0deg); }
}
@keyframes pt-strings {
  0%, 100% { transform: rotate(5deg) scaleX(1); }
  50% { transform: rotate(-3deg) scaleX(1.1); }
}
@keyframes pt-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  100% { opacity: 0.7; transform: scaleX(1.2); }
}
@keyframes pt-drift {
  0% { transform: translate(0,0); }
  25% { transform: translate(30px, -20px); }
  50% { transform: translate(60px, 10px); }
  75% { transform: translate(90px, -30px); }
  100% { transform: translate(120px, 0); }
}

/* Scene: dying-needs-little */
.scn-dying-needs-little {
  background: 
    linear-gradient(180deg, #2a3040 0%, #1e2838 40%, #0f1820 100%),
    radial-gradient(ellipse at 50% 20%, #3a4a60 0%, transparent 70%);
}
.scn-dying-needs-little .room-bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1e2838 0%, #141c28 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.3);
}
.scn-dying-needs-little .window {
  position: absolute; top: 12%; left: 20%; width: 60%; height: 50%;
  background: linear-gradient(180deg, #3a4a60 0%, #2a3a4e 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(100,130,170,0.2);
  animation: dn-window 10s ease-in-out infinite alternate;
}
.scn-dying-needs-little .hills-outer {
  position: absolute; bottom: 25%; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(180deg, #2a3a40 0%, #1a2830 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.4);
  animation: dn-hills-outer 20s ease-in-out infinite alternate;
}
.scn-dying-needs-little .hills-inner {
  position: absolute; bottom: 30%; left: 15%; right: 15%; height: 20%;
  background: linear-gradient(180deg, #3a4a50 0%, #2a3840 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  animation: dn-hills-inner 25s ease-in-out infinite alternate;
}
.scn-dying-needs-little .figure {
  position: absolute; bottom: 18%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1e2830 0%, #0f1820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dn-figure 6s ease-in-out infinite alternate;
}
.scn-dying-needs-little .breath {
  position: absolute; bottom: 30%; left: 44%; width: 8px; height: 8px;
  background: rgba(200,200,220,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: dn-breath 3s ease-in-out infinite alternate;
}
.scn-dying-needs-little .curtain {
  position: absolute; top: 10%; left: 18%; width: 10%; height: 50%;
  background: linear-gradient(180deg, rgba(60,80,100,0.6) 0%, rgba(40,50,70,0.8) 100%);
  border-radius: 0 4px 4px 0;
  transform-origin: left;
  animation: dn-curtain 8s ease-in-out infinite alternate;
}
@keyframes dn-window {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes dn-hills-outer {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes dn-hills-inner {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes dn-figure {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(5px) rotate(1deg); }
  100% { transform: translateX(-2px) rotate(0deg); }
}
@keyframes dn-breath {
  0% { opacity: 0.2; transform: scale(1); }
  100% { opacity: 0.7; transform: scale(1.5); }
}
@keyframes dn-curtain {
  0% { transform: scaleX(1); }
  100% { transform: scaleX(0.8); }
}

/* Scene: quieter-than-sleep */
.scn-quieter-than-sleep {
  background: 
    linear-gradient(180deg, #1a2030 0%, #151c2a 50%, #0e1520 100%),
    radial-gradient(ellipse at 50% 70%, #202840 0%, transparent 60%);
}
.scn-quieter-than-sleep .deep-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1e2638 0%, #141c28 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.4);
}
.scn-quieter-than-sleep .bed {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #2a3040 0%, #1a2028 100%);
  border-radius: 12px 12px 4px 4px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.scn-quieter-than-sleep .blanket {
  position: absolute; bottom: 15%; left: 12%; right: 12%; height: 28%;
  background: linear-gradient(180deg, #3a4050 0%, #2a3040 100%);
  border-radius: 8px 8px 2px 2px;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
  animation: qs-blanket 12s ease-in-out infinite alternate;
}
.scn-quieter-than-sleep .pillow {
  position: absolute; bottom: 38%; left: 20%; width: 20%; height: 12%;
  background: radial-gradient(ellipse at 50% 50%, #4a5060 0%, #2a3040 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-quieter-than-sleep .figure {
  position: absolute; bottom: 18%; left: 30%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #2a3040 0%, #1a2028 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: qs-figure 7s ease-in-out infinite alternate;
}
.scn-quieter-than-sleep .sprig {
  position: absolute; bottom: 42%; left: 40%; width: 4px; height: 20px;
  background: #4a5a3a;
  border-radius: 2px;
  transform: rotate(10deg);
  box-shadow: 2px -4px 0 #5a6a4a, -2px -8px 0 #4a5a3a;
  animation: qs-sprig 6s ease-in-out infinite alternate;
}
.scn-quieter-than-sleep .shadow-hover {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  animation: qs-shadow 8s ease-in-out infinite alternate;
}
@keyframes qs-blanket {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes qs-figure {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(3px) rotate(1deg); }
  100% { transform: translateX(-1px) rotate(0deg); }
}
@keyframes qs-sprig {
  0% { transform: rotate(10deg) scaleX(1); }
  50% { transform: rotate(5deg) scaleX(1.1); }
  100% { transform: rotate(15deg) scaleX(1); }
}
@keyframes qs-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  100% { opacity: 0.6; transform: scaleX(1.2); }
}

/* Scene: soul-ajar-three-weeks */
.scn-soul-ajar-three-weeks {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #241e32 40%, #0d0a18 100%),
    radial-gradient(ellipse at 20% 50%, #2a2040 0%, transparent 70%);
}
.scn-soul-ajar-three-weeks .dark-room {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0a18 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
}
.scn-soul-ajar-three-weeks .doorway {
  position: absolute; top: 20%; left: 35%; width: 30%; height: 60%;
  border: 3px solid #3a2a40;
  border-radius: 4px;
  background: linear-gradient(180deg, #2a1e30 0%, #1a1020 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.3);
  animation: sa-doorway 12s ease-in-out infinite alternate;
}
.scn-soul-ajar-three-weeks .light-slice {
  position: absolute; top: 22%; left: 36%; width: 28%; height: 56%;
  background: linear-gradient(90deg, rgba(220,200,180,0.15) 0%, rgba(220,200,180,0.05) 100%);
  transform-origin: left;
  animation: sa-light-slice 8s ease-in-out infinite alternate;
}
.scn-soul-ajar-three-weeks .guest-shadow {
  position: absolute; top: 25%; left: 42%; width: 16%; height: 50%;
  background: linear-gradient(180deg, rgba(10,10,20,0.6) 0%, transparent 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  filter: blur(4px);
  animation: sa-guest 6s ease-in-out infinite alternate;
}
.scn-soul-ajar-three-weeks .host-figure {
  position: absolute; bottom: 18%; left: 30%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #1e1a2a 0%, #0d0a18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sa-host 5s ease-in-out infinite alternate;
}
.scn-soul-ajar-three-weeks .threshold {
  position: absolute; bottom: 22%; left: 35%; width: 30%; height: 4px;
  background: #3a2a40;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: sa-threshold 10s ease-in-out infinite alternate;
}
.scn-soul-ajar-three-weeks .fog {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(30,25,40,0) 0%, rgba(20,15,30,0.6) 100%);
  animation: sa-fog 15s ease-in-out infinite alternate;
}
@keyframes sa-doorway {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes sa-light-slice {
  0% { opacity: 0.2; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.3; transform: scaleX(1); }
}
@keyframes sa-guest {
  0% { transform: translateX(0) translateY(0); opacity: 0.3; }
  50% { transform: translateX(5px) translateY(-5px); opacity: 0.7; }
  100% { transform: translateX(-3px) translateY(0); opacity: 0.4; }
}
@keyframes sa-host {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(-1px) rotate(0deg); }
}
@keyframes sa-threshold {
  0% { opacity: 0.4; }
  100% { opacity: 0.8; }
}
@keyframes sa-fog {
  0% { opacity: 0.5; }
  100% { opacity: 0.9; }
}

/* bliss-abyss */
.scn-bliss-abyss { background: linear-gradient(180deg, #6b7b8d 0%, #4e5f6e 50%, #35444f 100%), radial-gradient(ellipse at 50% 0%, #8a9ba8 0%, transparent 60%); }
.scn-bliss-abyss .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #7a8a9c 0%, #5a6a7a 100%); animation: ba-sky 15s ease-in-out infinite alternate; }
.scn-bliss-abyss .mountains { position:absolute; bottom:25%; left:0; right:0; height:20%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 30% 70% 0 0 / 60% 90% 0 0; box-shadow: inset 0 10px 15px rgba(0,0,0,.3); animation: ba-mountains 20s ease-in-out infinite; }
.scn-bliss-abyss .abyss { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; box-shadow: inset 0 5px 20px rgba(0,0,0,.6); }
.scn-bliss-abyss .bridge { position:absolute; bottom:28%; left:20%; right:20%; height:4px; background: linear-gradient(90deg, transparent 0%, #5a4a3a 15%, #7a6a5a 50%, #5a4a3a 85%, transparent 100%); border-radius: 50%; box-shadow: 0 0 5px rgba(0,0,0,.3); animation: ba-bridge 3s ease-in-out infinite; }
.scn-bliss-abyss .figure { position:absolute; bottom:30%; left:45%; width:16px; height:36px; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: ba-figure 4s ease-in-out infinite; }
.scn-bliss-abyss .mist { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(120,140,160,0) 0%, rgba(120,140,160,0.3) 50%, rgba(100,120,140,0.1) 100%); filter: blur(10px); animation: ba-mist 12s ease-in-out infinite alternate; }
@keyframes ba-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes ba-mountains { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ba-bridge { 0%,100% { transform: translateY(1px) scaleY(1) } 50% { transform: translateY(-1px) scaleY(1.15) } }
@keyframes ba-figure { 0% { transform: translateX(0) rotate(-2deg) } 30% { transform: translateX(3px) rotate(1deg) } 70% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ba-mist { 0% { opacity:.3; transform: translateY(5px) } 50% { opacity:.6; transform: translateY(-5px) } 100% { opacity:.3; transform: translateY(0) } }

/* plank-to-plank */
.scn-plank-to-plank { background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 50%, #000a1a 100%), radial-gradient(ellipse at 50% 100%, #2a3a4a 0%, transparent 70%); }
.scn-plank-to-plank .sky-stars { position:absolute; inset:0 0 40% 0; background: radial-gradient(circle at 20% 30%, #cfdfef 1px, transparent 1px), radial-gradient(circle at 60% 15%, #cfdfef 1px, transparent 1px), radial-gradient(circle at 80% 40%, #cfdfef 1px, transparent 1px), radial-gradient(circle at 35% 55%, #cfdfef 1px, transparent 1px); background-size: 100px 100px, 150px 150px, 120px 120px, 200px 200px; background-position: 0 0, 0 0, 0 0, 0 0; animation: pp-stars 20s linear infinite; }
.scn-plank-to-plank .sea { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2a3a4a 0%, #0a1a2a 100%); border-radius: 40% 60% 0 0 / 30% 30% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.5); animation: pp-sea 8s ease-in-out infinite alternate; }
.scn-plank-to-plank .plank-1 { position:absolute; bottom:30%; left:25%; width:8%; height:3px; background: linear-gradient(90deg, #4a3a2a, #7a6a5a, #4a3a2a); border-radius: 2px; animation: pp-plank 2.5s ease-in-out infinite; }
.scn-plank-to-plank .plank-2 { position:absolute; bottom:35%; left:55%; width:10%; height:2px; background: linear-gradient(90deg, #3a2a1a, #6a5a4a, #3a2a1a); border-radius: 2px; animation: pp-plank 3s ease-in-out infinite 1s; }
.scn-plank-to-plank .figure { position:absolute; bottom:25%; left:35%; width:15px; height:38px; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius:50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: pp-figure 1.2s ease-in-out infinite; }
.scn-plank-to-plank .star-fall { position:absolute; top:10%; left:40%; width:3px; height:3px; background:#cfdfef; border-radius:50%; box-shadow: 0 0 6px 2px rgba(207,223,239,.5); animation: pp-star-fall 5s linear infinite; }
@keyframes pp-stars { 0% { background-position: 0 0, 0 0, 0 0, 0 0; } 100% { background-position: 100px 200px, 150px 100px, 120px 180px, 200px 50px; } }
@keyframes pp-sea { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(2px) scaleY(1.02) } 100% { transform: translateY(-1px) scaleY(.98) } }
@keyframes pp-plank { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(1px) rotate(1deg) } 70% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pp-figure { 0% { transform: translate(0,0) rotate(-3deg) } 25% { transform: translate(2px,-1px) rotate(4deg) } 50% { transform: translate(-1px,0) rotate(-2deg) } 75% { transform: translate(3px,1px) rotate(5deg) } 100% { transform: translate(0,0) rotate(-3deg) } }
@keyframes pp-star-fall { 0% { transform: translateY(0) scale(1); opacity:1 } 50% { transform: translateY(30px) scale(0.5); opacity:.5 } 100% { transform: translateY(60px) scale(0); opacity:0 } }

/* thanksgiving-day */
.scn-thanksgiving-day { background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 100%, #5a4a3a 0%, transparent 70%); }
.scn-thanksgiving-day .bg-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-bottom: 2px solid #3a2a1a; box-shadow: inset 0 10px 20px rgba(0,0,0,.2); animation: td-wall 10s ease-in-out infinite; }
.scn-thanksgiving-day .table { position:absolute; bottom:20%; left:10%; right:10%; height:5%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 2px; box-shadow: 0 -2px 8px rgba(0,0,0,.3); }
.scn-thanksgiving-day .chair { position:absolute; bottom:22%; left:35%; width:20px; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%; transform-origin: bottom; animation: td-chair 6s ease-in-out infinite; }
.scn-thanksgiving-day .plate { position:absolute; bottom:24%; left:55%; width:30px; height:10px; background: radial-gradient(ellipse, #b0a090 0%, #8a7a6a 100%); border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,.3); animation: td-plate 8s ease-in-out infinite; }
.scn-thanksgiving-day .memory { position:absolute; bottom:26%; left:50%; width:12px; height:25px; background: linear-gradient(180deg, rgba(180,170,160,0.4) 0%, rgba(140,130,120,0.2) 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; filter: blur(1px); animation: td-memory 7s ease-in-out infinite alternate; }
.scn-thanksgiving-day .window-light { position:absolute; top:10%; right:15%; width:30px; height:40px; background: linear-gradient(135deg, rgba(200,190,180,0.2) 0%, rgba(255,245,230,0.1) 100%); border: 2px solid #4a3a2a; border-radius: 4px; box-shadow: 0 0 20px rgba(255,245,230,0.1); animation: td-window 12s ease-in-out infinite; }
@keyframes td-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.95 } }
@keyframes td-chair { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-2deg) translateY(-1px) } }
@keyframes td-plate { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.03) } 100% { transform: translateY(0) scale(1) } }
@keyframes td-memory { 0% { opacity:.3; transform: translateX(0) scale(.95) } 50% { opacity:.6; transform: translateX(2px) scale(1) } 100% { opacity:.4; transform: translateX(-1px) scale(.95) } }
@keyframes td-window { 0%,100% { box-shadow: 0 0 15px rgba(255,245,230,0.05) } 50% { box-shadow: 0 0 30px rgba(255,245,230,0.15) } }

/* softened-by-time */
.scn-softened-by-time { background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 50%, #2a3a3a 100%), radial-gradient(ellipse at 50% 0%, #7a8a8a 0%, transparent 50%); }
.scn-softened-by-time .sky-overcast { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #7a8a8a 0%, #5a6a6a 100%); animation: st-sky 20s ease-in-out infinite alternate; }
.scn-softened-by-time .tower { position:absolute; bottom:0; left:20%; right:20%; height:60%; background: linear-gradient(90deg, #3a4a4a 0%, #5a6a6a 30%, #6a7a7a 50%, #5a6a6a 70%, #3a4a4a 100%); border-radius: 5% 5% 0 0 / 10% 10% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.3); animation: st-tower 15s ease-in-out infinite; }
.scn-softened-by-time .window-ruin { position:absolute; bottom:25%; left:35%; width:20px; height:30px; background: #2a3a3a; border: 3px solid #5a6a6a; border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: inset 0 0 15px rgba(0,0,0,.5); animation: st-window 9s ease-in-out infinite; }
.scn-softened-by-time .vine-left { position:absolute; bottom:0; left:25%; width:8px; height:50%; background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 100%); border-radius: 10% 10% 20% 20% / 40% 40% 20% 20%; transform-origin: bottom center; animation: st-vine 6s ease-in-out infinite; }
.scn-softened-by-time .vine-right { position:absolute; bottom:0; right:25%; width:8px; height:40%; background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 100%); border-radius: 10% 10% 20% 20% / 40% 40% 20% 20%; transform-origin: bottom center; animation: st-vine 7s ease-in-out infinite 1.5s; }
.scn-softened-by-time .shadow-base { position:absolute; bottom:0; left:10%; right:10%; height:10%; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 100%); border-radius: 50%; filter: blur(5px); animation: st-shadow 12s ease-in-out infinite; }
@keyframes st-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes st-tower { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes st-window { 0%,100% { transform: scale(1) } 50% { transform: scale(1.05) translateY(1px) } }
@keyframes st-vine { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(3deg) scaleY(1.02) } 100% { transform: rotate(-2deg) scaleY(1) } }
@keyframes st-shadow { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.5; transform: scaleX(1.05) } 100% { opacity:.3; transform: scaleX(1) } }

/* Scene: immortal-alps-look-down */
.scn-immortal-alps-look-down {
  background: linear-gradient(180deg, #87ceeb 0%, #d4e8f7 40%, #f0f8ff 70%, #e0f0e8 100%),
              radial-gradient(ellipse at 70% 20%, #ffffff 0%, transparent 60%);
}
.scn-immortal-alps-look-down .sky-glow {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent 100%);
  animation: ia-sky 20s ease-in-out infinite alternate;
}
.scn-immortal-alps-look-down .distant-range {
  position:absolute; bottom:40%; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #6a8baa 0%, #8baac8 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
  box-shadow: inset 0 4px 15px rgba(0,0,0,0.1);
  animation: ia-distant 30s ease-in-out infinite alternate;
}
.scn-immortal-alps-look-down .mid-range {
  position:absolute; bottom:30%; left:10%; right:10%; height:20%;
  background: linear-gradient(180deg, #7a9a7a 0%, #5a7a5a 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.2);
}
.scn-immortal-alps-look-down .snow-peak {
  position:absolute; bottom:45%; left:50%; width:120px; height:80px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #ffffff 0%, #c0d8f0 60%);
  border-radius: 50% 50% 20% 20% / 60% 60% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  animation: ia-peak 12s ease-in-out infinite alternate;
}
.scn-immortal-alps-look-down .town {
  position:absolute; bottom:30%; left:30%; width:60px; height:30px;
  background: linear-gradient(180deg, #8a7060 0%, #5a4a3a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-immortal-alps-look-down .daisies {
  position:absolute; bottom:0; left:10%; right:10%; height:30%;
  background: radial-gradient(circle at 20% 50%, #f0e0c0 5px, transparent 6px);
  background-size: 30px 30px;
  opacity:0.8;
  animation: ia-daisies 8s ease-in-out infinite;
}
.scn-immortal-alps-look-down .sun-ray {
  position:absolute; top:10%; left:30%; width:200px; height:4px;
  background: linear-gradient(90deg, rgba(255,255,150,0.6), transparent);
  transform: rotate(-20deg);
  filter: blur(2px);
  animation: ia-sunray 15s ease-in-out infinite alternate;
}
.scn-immortal-alps-look-down .figure {
  position:absolute; bottom:22%; left:45%; width:16px; height:30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ia-figure 6s ease-in-out infinite;
}
@keyframes ia-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes ia-distant { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ia-peak { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) translateY(-2px) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes ia-daisies { 0%,100% { opacity:0.6 } 50% { opacity:0.9 } }
@keyframes ia-sunray { 0% { opacity:0.3; transform: rotate(-25deg) } 100% { opacity:0.7; transform: rotate(-15deg) } }
@keyframes ia-figure { 0% { transform: translateX(0) } 25% { transform: translateX(8px) translateY(-1px) } 50% { transform: translateX(16px) } 75% { transform: translateX(8px) translateY(1px) } 100% { transform: translateX(0) } }

/* Scene: belt-around-my-life */
.scn-belt-around-my-life {
  background: linear-gradient(180deg, #6a7a8a 0%, #8a9a9a 30%, #a0b0b0 60%, #7a8a8a 100%),
              radial-gradient(circle at 50% 80%, #9aa8a8 0%, transparent 70%);
}
.scn-belt-around-my-life .bg-mist {
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 40%, rgba(200,210,210,0.3) 100%);
  animation: ba-mist 25s ease-in-out infinite alternate;
}
.scn-belt-around-my-life .figure-torso {
  position:absolute; bottom:20%; left:50%; width:40px; height:90px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 5px 0 15px rgba(0,0,0,0.3);
  animation: ba-torso 7s ease-in-out infinite;
}
.scn-belt-around-my-life .belt-strap {
  position:absolute; bottom:48%; left:50%; width:60px; height:10px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #2a1a0a 0%, #4a3a2a 50%, #2a1a0a 100%);
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-belt-around-my-life .buckle {
  position:absolute; bottom:47%; left:50%; width:14px; height:14px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c0b0a0 0%, #8a7a6a 70%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(192,176,160,0.6);
  animation: ba-buckle 4s ease-in-out infinite;
}
.scn-belt-around-my-life .cloud-wisp {
  position:absolute; top:30%; left:20%; width:120px; height:30px;
  background: linear-gradient(90deg, rgba(255,255,255,0.4) 0%, transparent 100%);
  border-radius: 60%;
  filter: blur(8px);
  animation: ba-cloud 40s linear infinite;
}
.scn-belt-around-my-life .ground-fade {
  position:absolute; bottom:0; left:0; right:0; height:15%;
  background: linear-gradient(180deg, transparent 0%, #4a5a5a 100%);
}
@keyframes ba-mist { 0% { opacity:0.5 } 100% { opacity:0.9 } }
@keyframes ba-torso { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg) } 50% { transform: translateX(-50%) translateY(-3px) rotate(2deg) } }
@keyframes ba-buckle { 0%,100% { opacity:0.8; box-shadow: 0 0 6px 2px rgba(192,176,160,0.4) } 50% { opacity:1; box-shadow: 0 0 12px 4px rgba(192,176,160,0.8) } }
@keyframes ba-cloud { 0% { transform: translateX(-100px) } 100% { transform: translateX(100vw) } }

/* Scene: item-jewel-memory */
.scn-item-jewel-memory {
  background: linear-gradient(135deg, #f5e6d0 0%, #e8d5b8 40%, #d4c4a0 70%, #c0b090 100%),
              radial-gradient(circle at 30% 40%, #fff8f0 0%, transparent 60%);
}
.scn-item-jewel-memory .bg-warm {
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(255,200,150,0.2) 0%, transparent 100%);
  animation: ijm-bg 15s ease-in-out infinite alternate;
}
.scn-item-jewel-memory .hand-palm {
  position:absolute; bottom:30%; left:50%; width:80px; height:60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4b89a 0%, #b8987a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: ijm-hand 8s ease-in-out infinite;
}
.scn-item-jewel-memory .finger-thumb {
  position:absolute; bottom:42%; left:45%; width:14px; height:35px;
  background: linear-gradient(180deg, #c8a888 0%, #a88868 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(15deg);
  animation: ijm-finger 6s ease-in-out infinite;
}
.scn-item-jewel-memory .jewel-gem {
  position:absolute; bottom:38%; left:50.5%; width:18px; height:18px;
  background: radial-gradient(circle, #9a5a8a 0%, #683868 60%);
  border-radius: 40% 60% 60% 40% / 50% 40% 60% 50%;
  box-shadow: 0 0 12px 3px rgba(154,90,138,0.6);
  animation: ijm-gem 4s ease-in-out infinite alternate;
}
.scn-item-jewel-memory .jewel-glow {
  position:absolute; bottom:38%; left:50.5%; width:40px; height:40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(200,150,200,0.3) 0%, transparent 70%);
  animation: ijm-glow 4s ease-in-out infinite alternate;
}
.scn-item-jewel-memory .amethyst-mist {
  position:absolute; bottom:20%; left:20%; right:20%; height:60%;
  background: radial-gradient(ellipse at 50% 50%, rgba(160,100,160,0.2) 0%, transparent 70%);
  filter: blur(15px);
  animation: ijm-mist 20s ease-in-out infinite alternate;
}
.scn-item-jewel-memory .sleep-shadow {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%);
}
@keyframes ijm-bg { 0% { opacity:0.7 } 100% { opacity:1 } }
@keyframes ijm-hand { 0%,100% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(-2deg) translateY(-2px) } }
@keyframes ijm-finger { 0%,100% { transform: rotate(15deg) } 50% { transform: rotate(20deg) translateY(-3px) } }
@keyframes ijm-gem { 0% { transform: scale(1) } 50% { transform: scale(1.2) } 100% { transform: scale(0.9) } }
@keyframes ijm-glow { 0% { opacity:0.4; transform: translate(-50%,-50%) scale(1) } 100% { opacity:0.8; transform: translate(-50%,-50%) scale(1.3) } }
@keyframes ijm-mist { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }

/* Scene: nature-gentlest-mother */
.scn-nature-gentlest-mother {
  background: linear-gradient(180deg, #b8d8a8 0%, #8aba7a 40%, #6a9a5a 70%, #4a7a3a 100%),
              radial-gradient(ellipse at 20% 70%, #d0e8c0 0%, transparent 60%);
}
.scn-nature-gentlest-mother .forest-bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(200,230,180,0.3) 0%, transparent 100%);
  animation: ngm-forest 25s ease-in-out infinite alternate;
}
.scn-nature-gentlest-mother .mother-figure {
  position:absolute; bottom:25%; left:30%; width:30px; height:70px;
  background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 3px 0 12px rgba(0,0,0,0.2);
  animation: ngm-mother 10s ease-in-out infinite;
}
.scn-nature-gentlest-mother .squirrel {
  position:absolute; bottom:20%; left:60%; width:20px; height:25px;
  background: linear-gradient(180deg, #a07a50 0%, #80603a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: ngm-squirrel 4s ease-in-out infinite;
}
.scn-nature-gentlest-mother .bird {
  position:absolute; top:30%; right:20%; width:28px; height:12px;
  background: linear-gradient(90deg, #5a3a2a 0%, #7a5a3a 100%);
  border-radius: 50% 50% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-10deg);
  animation: ngm-bird 7s ease-in-out infinite;
}
.scn-nature-gentlest-mother .tree-left {
  position:absolute; bottom:0; left:5%; width:40px; height:80%;
  background: linear-gradient(180deg, #3a5a2a 0%, #2a4a1a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: 3px 0 10px rgba(0,0,0,0.3);
  animation: ngm-tree 30s ease-in-out infinite alternate;
}
.scn-nature-gentlest-mother .tree-right {
  position:absolute; bottom:0; right:8%; width:50px; height:70%;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 30% 30% 0 0 / 15% 15% 0 0;
  box-shadow: -3px 0 10px rgba(0,0,0,0.3);
}
.scn-nature-gentlest-mother .sunbeams {
  position:absolute; top:10%; left:20%; width:300px; height:5px;
  background: linear-gradient(90deg, rgba(255,255,200,0.4) 0%, transparent 100%);
  transform: rotate(30deg);
  filter: blur(3px);
  animation: ngm-sunbeams 20s ease-in-out infinite alternate;
}
.scn-nature-gentlest-mother .grass {
  position:absolute; bottom:0; left:0; right:0; height:15%;
  background: linear-gradient(180deg, transparent 0%, #4a7a3a 50%, #3a6a2a 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
}
@keyframes ngm-forest { 0% { opacity:0.7 } 100% { opacity:1 } }
@keyframes ngm-mother { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes ngm-squirrel { 0% { transform: translateX(0) } 25% { transform: translateX(10px) translateY(-3px) } 50% { transform: translateX(20px) } 75% { transform: translateX(10px) translateY(2px) } 100% { transform: translateX(0) } }
@keyframes ngm-bird { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-5px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes ngm-tree { 0% { transform: scaleY(1) } 100% { transform: scaleY(1.02) } }
@keyframes ngm-sunbeams { 0% { opacity:0.3; transform: rotate(28deg) } 100% { opacity:0.6; transform: rotate(32deg) } }

/* Scene: fate-slew-him */
.scn-fate-slew-him {
  background: linear-gradient(180deg, #0b0b1a 0%, #1a1a3e 40%, #2a1a3e 100%), radial-gradient(ellipse at 50% 20%, #3a2a5e 0%, transparent 70%);
}
.scn-fate-slew-him .sky-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1a1a3e 0%, #2a2a5e 50%, transparent 100%);
  animation: fsh-sky 8s ease-in-out infinite alternate;
}
.scn-fate-slew-him .figure {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%;
  animation: fsh-fig 5s ease-in-out infinite;
}
.scn-fate-slew-him .stake {
  position: absolute; bottom: 30%; width: 4px; height: 40px; background: #4a3a2a;
  border-radius: 2px; transform-origin: bottom center;
  animation: fsh-stake 3s ease-in-out infinite alternate;
}
.scn-fate-slew-him .stake-1 { left: 20%; animation-delay: 0s; transform: rotate(-15deg); }
.scn-fate-slew-him .stake-2 { left: 43%; animation-delay: 0.5s; transform: rotate(5deg); }
.scn-fate-slew-him .stake-3 { left: 66%; animation-delay: 1s; transform: rotate(-8deg); }
.scn-fate-slew-him .lightning {
  position: absolute; top: 5%; right: 20%; width: 6px; height: 80px;
  background: linear-gradient(180deg, #c0e0ff 0%, transparent 100%);
  clip-path: polygon(50% 0%, 60% 30%, 40% 50%, 70% 70%, 50% 100%);
  opacity: 0.8; animation: fsh-light 4s ease-in-out infinite;
}
.scn-fate-slew-him .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 0 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: fsh-ground 12s ease-in-out infinite alternate;
}
@keyframes fsh-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fsh-fig {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-4px) rotate(1deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(-1deg); }
  75% { transform: translateX(-50%) translateY(2px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes fsh-stake {
  0% { transform: var(--rot) translateY(0); opacity: 0.7; }
  50% { transform: var(--rot) translateY(-2px); opacity: 1; }
  100% { transform: var(--rot) translateY(0); opacity: 0.8; }
}
@keyframes fsh-light {
  0% { opacity: 0; }
  10% { opacity: 0.9; }
  30% { opacity: 0; }
  60% { opacity: 0.6; }
  100% { opacity: 0; }
}
@keyframes fsh-ground {
  0% { transform: translateY(0); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(0); }
}

/* Scene: measure-every-grief */
.scn-measure-every-grief {
  background: linear-gradient(180deg, #6b7a8a 0%, #8a9baa 40%, #a0b0c0 100%), radial-gradient(ellipse at 50% 100%, #7a8a9a 0%, transparent 70%);
}
.scn-measure-every-grief .sky-overcast {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #8a9baa 0%, #a0b0c0 60%, transparent 100%);
  animation: mg-sky 20s ease-in-out infinite alternate;
}
.scn-measure-every-grief .far-horizon {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: mg-horizon 25s ease-in-out infinite alternate;
}
.scn-measure-every-grief .figure-grieving {
  position: absolute; bottom: 25%; left: 35%; width: 30px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  animation: mg-figure 8s ease-in-out infinite;
}
.scn-measure-every-grief .arm-and-hand {
  position: absolute; bottom: 40%; left: 45%; width: 20px; height: 6px;
  background: #3a4a5a; border-radius: 50%; transform-origin: left center;
  animation: mg-arm 6s ease-in-out infinite alternate;
}
.scn-measure-every-grief .weight {
  position: absolute; bottom: 20%; width: 14px; height: 14px;
  background: #5a6a7a; border-radius: 50%;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.3);
  animation: mg-weight 12s ease-in-out infinite alternate;
}
.scn-measure-every-grief .scale-left { left: 30%; animation-delay: 0s; }
.scn-measure-every-grief .scale-right { left: 70%; animation-delay: 1s; }
.scn-measure-every-grief .cloud-layer {
  position: absolute; height: 12px; background: rgba(160,176,192,0.5);
  border-radius: 50%; filter: blur(4px); animation: mg-cloud 40s linear infinite;
}
.scn-measure-every-grief .cloud-a { top: 10%; left: 0; width: 120px; }
.scn-measure-every-grief .cloud-b { top: 18%; left: 40%; width: 80px; animation-delay: -15s; }
@keyframes mg-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes mg-horizon {
  0% { transform: translateY(0); }
  50% { transform: translateY(3px); }
  100% { transform: translateY(0); }
}
@keyframes mg-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(0deg); }
  75% { transform: translateX(-50%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes mg-arm {
  0% { transform: rotate(20deg); }
  50% { transform: rotate(30deg); }
  100% { transform: rotate(20deg); }
}
@keyframes mg-weight {
  0% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
  100% { transform: translateY(0); }
}
@keyframes mg-cloud {
  0% { transform: translateX(-120px); }
  100% { transform: translateX(calc(100vw + 120px)); }
}

/* Scene: king-who-doesnt-speak */
.scn-king-who-doesnt-speak {
  background: linear-gradient(180deg, #2a2218 0%, #3a3228 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 70%);
}
.scn-king-who-doesnt-speak .room-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a3228 0%, #4a3a2a 100%);
  animation: kws-wall 15s ease-in-out infinite alternate;
}
.scn-king-who-doesnt-speak .window-shutters {
  position: absolute; top: 10%; left: 10%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #2a2218 0%, #1a120a 100%);
  border: 4px solid #5a4a3a;
  border-radius: 4px;
  animation: kws-shutter 12s ease-in-out infinite alternate;
}
.scn-king-who-doesnt-speak .king-throne {
  position: absolute; bottom: 15%; left: 50%; width: 80px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: kws-throne 9s ease-in-out infinite;
}
.scn-king-who-doesnt-speak .king-figure {
  position: absolute; bottom: 30%; left: 50%; width: 36px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%;
  animation: kws-king 8s ease-in-out infinite;
}
.scn-king-who-doesnt-speak .speaker-figure {
  position: absolute; bottom: 8%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  animation: kws-speaker 10s ease-in-out infinite;
}
.scn-king-who-doesnt-speak .candle {
  position: absolute; bottom: 35%; left: 30%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #8a7040 100%);
  border-radius: 2px;
}
.scn-king-who-doesnt-speak .candle::before {
  content: ''; position: absolute; top: -6px; left: 0; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffd080 0%, transparent 100%);
  border-radius: 50%;
  animation: kws-flame 3s ease-in-out infinite alternate;
}
.scn-king-who-doesnt-speak .dust {
  position: absolute; top: 20%; left: 50%; width: 6px; height: 6px;
  background: rgba(200,180,150,0.3); border-radius: 50%;
  filter: blur(3px);
  animation: kws-dust 20s linear infinite;
}
@keyframes kws-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes kws-shutter {
  0% { transform: scaleX(0.95); }
  50% { transform: scaleX(1); }
  100% { transform: scaleX(0.97); }
}
@keyframes kws-throne {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes kws-king {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(-1deg); }
  50% { transform: translateX(-50%) rotate(0deg); }
  75% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes kws-speaker {
  0% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(10px) translateY(-4px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes kws-flame {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.3) translateY(-2px); opacity: 1; }
  100% { transform: scaleY(1) translateY(0); opacity: 0.9; }
}
@keyframes kws-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  20% { opacity: 0.3; }
  80% { opacity: 0.3; }
  100% { transform: translate(40vw, -20vh) scale(0.5); opacity: 0; }
}

/* Scene: dropped-low-regard */
.scn-dropped-low-regard {
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1a2e 50%, #2a2a3e 100%), radial-gradient(ellipse at 50% 80%, #3a3a4e 0%, transparent 70%);
}
.scn-dropped-low-regard .abyss-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  animation: dlr-abyss 15s ease-in-out infinite alternate;
}
.scn-dropped-low-regard .shelf-top {
  position: absolute; top: 15%; left: 10%; right: 10%; height: 6px;
  background: linear-gradient(180deg, #c0b0a0 0%, #8a7a6a 100%);
  border-radius: 2px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: dlr-shelf 12s ease-in-out infinite alternate;
}
.scn-dropped-low-regard .plate {
  position: absolute; width: 30px; height: 6px;
  background: radial-gradient(ellipse, #d0c0b0 0%, #a09080 100%);
  border-radius: 50%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
  animation: dlr-plate 3s ease-in-out infinite;
}
.scn-dropped-low-regard .plate-1 { top: 20%; left: 25%; animation-delay: 0s; }
.scn-dropped-low-regard .plate-2 { top: 22%; left: 55%; animation-delay: 0.5s; }
.scn-dropped-low-regard .pieces {
  position: absolute; width: 8px; height: 8px;
  background: #a09080; border-radius: 2px;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: dlr-fall 4s ease-in infinite;
}
.scn-dropped-low-regard .group-1 { top: 30%; left: 40%; animation-delay: 1s; }
.scn-dropped-low-regard .group-2 { top: 35%; left: 60%; animation-delay: 2s; }
.scn-dropped-low-regard .stone-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.8);
  animation: dlr-floor 18s ease-in-out infinite alternate;
}
@keyframes dlr-abyss {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes dlr-shelf {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes dlr-plate {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
  50% { transform: translateY(4px) rotate(5deg); opacity: 0.6; }
  100% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
}
@keyframes dlr-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  30% { transform: translateY(20px) rotate(45deg); opacity: 0.8; }
  60% { transform: translateY(40px) rotate(90deg); opacity: 0.6; }
  100% { transform: translateY(60px) rotate(135deg); opacity: 0; }
}
@keyframes dlr-floor {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

/* alabaster-chambers – dark chamber with pale alabaster tones */
.scn-alabaster-chambers {
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 50%, #3a3a4a 100%),
              radial-gradient(ellipse at 70% 60%, #4a4a5a 0%, transparent 60%);
}
.scn-alabaster-chambers .chamber-wall.left {
  position: absolute; left: 0; top: 0; bottom: 0; width: 20%;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
  animation: al-wall 12s ease-in-out infinite alternate;
}
.scn-alabaster-chambers .chamber-wall.right {
  position: absolute; right: 0; top: 0; bottom: 0; width: 20%;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
  animation: al-wall 12s ease-in-out infinite alternate-reverse;
}
.scn-alabaster-chambers .chamber-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.6);
}
.scn-alabaster-chambers .chamber-ceiling {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 100%);
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.4);
}
.scn-alabaster-chambers .sleeping-form {
  position: absolute; bottom: 25%; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
  animation: al-sleep 8s ease-in-out infinite;
}
.scn-alabaster-chambers .alabaster-glow {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #d0d0e0 0%, #a0a0b0 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(208,208,224,0.2);
  animation: al-glow 6s ease-in-out infinite alternate;
}
@keyframes al-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes al-sleep { 0%, 100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.98) translateY(2px); } }
@keyframes al-glow { 0% { opacity: 0.4; box-shadow: 0 0 30px 15px rgba(208,208,224,0.15); } 100% { opacity: 0.8; box-shadow: 0 0 60px 30px rgba(208,208,224,0.3); } }

/* quiet-nonchalance-death – moonlit meadow with cocoon and butterfly */
.scn-quiet-nonchalance-death {
  background: linear-gradient(180deg, #0b1320 0%, #1a2a3a 50%, #0a1a2a 100%),
              radial-gradient(ellipse at 50% 0%, #2a4a6a 0%, transparent 70%);
}
.scn-quiet-nonchalance-death .moon {
  position: absolute; top: 8%; left: 60%; width: 70px; height: 70px;
  background: radial-gradient(circle, #e8eefa 0%, #b0c0d0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(176,192,208,0.3);
  animation: qn-moon 15s ease-in-out infinite alternate;
}
.scn-quiet-nonchalance-death .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a3a2a 0%, #0a2a1a 100%);
  border-radius: 80% 60% 0 0 / 60% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-quiet-nonchalance-death .cocoon {
  position: absolute; bottom: 55%; left: 30%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: top center;
  animation: qn-cocoon 6s ease-in-out infinite;
}
.scn-quiet-nonchalance-death .butterfly {
  position: absolute; bottom: 60%; left: 45%; width: 40px; height: 25px;
  background: linear-gradient(135deg, #b07060 0%, #805040 100%);
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
  transform-origin: center bottom;
  animation: qn-butterfly 4s ease-in-out infinite;
}
.scn-quiet-nonchalance-death .grass-blade {
  position: absolute; bottom: 40%; left: 20%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%);
  border-radius: 30% 30% 0 0;
  transform-origin: bottom center;
  animation: qn-grass 7s ease-in-out infinite alternate;
}
.scn-quiet-nonchalance-death .death-silhouette {
  position: absolute; bottom: 42%; left: 70%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000000 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  animation: qn-death 10s ease-in-out infinite alternate;
}
@keyframes qn-moon { 0% { transform: translate(0,0); } 50% { transform: translate(10px, -5px); } 100% { transform: translate(-5px, 5px); } }
@keyframes qn-cocoon { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg) scale(1.02); } }
@keyframes qn-butterfly { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(15deg) scale(0.95); } 50% { transform: rotate(-10deg) scale(1.05); } 75% { transform: rotate(20deg) scale(0.9); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes qn-grass { 0% { transform: rotate(-5deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-3deg); } }
@keyframes qn-death { 0% { transform: translateX(0) scaleY(1); } 100% { transform: translateX(5px) scaleY(0.97); } }

/* train-burial-gate – overcast churchyard with train and gate */
.scn-train-burial-gate {
  background: linear-gradient(180deg, #4a4a5a 0%, #6a6a7a 30%, #3a3a4a 100%),
              radial-gradient(ellipse at 50% 0%, #5a5a6a 0%, transparent 60%);
}
.scn-train-burial-gate .sky-overcast {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  animation: tb-sky 20s ease-in-out infinite alternate;
}
.scn-train-burial-gate .burial-gate {
  position: absolute; bottom: 45%; left: 35%; width: 120px; height: 80px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  animation: tb-gate 8s ease-in-out infinite alternate;
}
.scn-train-burial-gate .train-track {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #3a3a4a 0%, #5a5a6a 50%, #3a3a4a 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: tb-track 4s linear infinite;
}
.scn-train-burial-gate .tombstone {
  position: absolute; bottom: 42%; left: 60%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: tb-stone 12s ease-in-out infinite alternate;
}
.scn-train-burial-gate .bird {
  position: absolute; bottom: 60%; left: 40%; width: 20px; height: 15px;
  background: #1a1a2a;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  animation: tb-bird 3s ease-in-out infinite;
}
.scn-train-burial-gate .church-spire {
  position: absolute; bottom: 50%; right: 25%; width: 15px; height: 80px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
  animation: tb-spire 15s ease-in-out infinite alternate;
}
@keyframes tb-sky { 0%, 100% { opacity: 0.8; } 50% { opacity: 0.6; } }
@keyframes tb-gate { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.95) translateY(-2px); } 100% { transform: scaleX(1.02); } }
@keyframes tb-track { 0% { background-position: 0 0; } 100% { background-position: -40px 0; } }
@keyframes tb-stone { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes tb-bird { 0%, 100% { transform: scale(1) translateY(0); } 50% { transform: scale(0.8) translateY(-5px); } }
@keyframes tb-spire { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* troubled-about-many-things – dim interior with figure on slab, chains */
.scn-troubled-about-many-things {
  background: linear-gradient(180deg, #1a1a1e 0%, #2a2a32 40%, #0e0e12 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a32 0%, transparent 70%);
}
.scn-troubled-about-many-things .dim-interior {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 50%, rgba(0,0,0,0.8) 100%);
  animation: ta-dim 10s ease-in-out infinite alternate;
}
.scn-troubled-about-many-things .slab {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a4a52 0%, #2a2a32 100%);
  border-radius: 4px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
}
.scn-troubled-about-many-things .figure-lying {
  position: absolute; bottom: 22%; left: 50%; width: 60px; height: 35px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3a42 0%, #1a1a22 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ta-figure 8s ease-in-out infinite;
}
.scn-troubled-about-many-things .chains {
  position: absolute; bottom: 25%; left: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a4a52 0%, #2a2a32 100%);
  clip-path: circle(40% at 50% 50%);
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.4);
  animation: ta-chains 5s ease-in-out infinite alternate;
}
.scn-troubled-about-many-things .head-halo {
  position: absolute; bottom: 35%; left: 50%; width: 20px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #6a6a7a 0%, #3a3a4a 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(106,106,122,0.2);
  animation: ta-halo 6s ease-in-out infinite alternate;
}
.scn-troubled-about-many-things .listless-hair {
  position: absolute; bottom: 33%; left: 50%; width: 40px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: ta-hair 7s ease-in-out infinite alternate;
}
@keyframes ta-dim { 0%, 100% { opacity: 0.8; } 50% { opacity: 0.9; } }
@keyframes ta-figure { 0%, 100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes ta-chains { 0% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }
@keyframes ta-halo { 0% { opacity: 0.5; box-shadow: 0 0 20px 5px rgba(106,106,122,0.15); } 100% { opacity: 0.8; box-shadow: 0 0 40px 15px rgba(106,106,122,0.3); } }
@keyframes ta-hair { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }

/* Scene: tomorrow-night-again */
.scn-tomorrow-night-again {
  background:
    linear-gradient(180deg, #0b0b2e 0%, #1c1d4a 40%, #2a2b5e 70%, #0f0f2b 100%),
    radial-gradient(ellipse at 50% 20%, #3a4a7a 0%, transparent 80%);
}
.scn-tomorrow-night-again .night-sky {
  position: absolute; inset: 0; 
  background: radial-gradient(circle at 70% 25%, #f0e8a0 0%, #f0e8a0 8%, transparent 12%);
  animation: tn-sky 12s ease-in-out infinite alternate;
}
.scn-tomorrow-night-again .moon {
  position: absolute; top: 8%; right: 18%; width: 70px; height: 70px;
  background: radial-gradient(circle at 40% 40%, #faf5e0 0%, #e8ddb0 80%, #c0b080 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(240,232,160,0.3);
  animation: tn-moon 15s ease-in-out infinite alternate;
}
.scn-tomorrow-night-again .window-frame {
  position: absolute; bottom: 20%; left: 20%; width: 120px; height: 150px;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-tomorrow-night-again .window-frame::before {
  content: ''; position: absolute; top: 8%; left: 8%; width: 84%; height: 84%;
  background: linear-gradient(180deg, #1a2a4a 0%, #0a1a2a 100%);
  border-radius: 4%;
}
.scn-tomorrow-night-again .bugle {
  position: absolute; bottom: 22%; left: 25%; width: 40px; height: 12px;
  background: linear-gradient(90deg, #8a7a5a 0%, #c0a070 40%, #8a7a5a 80%);
  border-radius: 50% / 100% 100% 80% 80%;
  transform: rotate(-15deg);
  animation: tn-bugle 4s ease-in-out infinite;
}
.scn-tomorrow-night-again .dancer {
  position: absolute; bottom: 12%; left: 45%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #0f0f1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tn-dance 3s ease-in-out infinite;
}
.scn-tomorrow-night-again .cloud-1 {
  position: absolute; top: 12%; left: 10%; width: 90px; height: 20px;
  background: linear-gradient(180deg, rgba(200,200,220,0.5) 0%, rgba(200,200,220,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: tn-cloud1 40s linear infinite;
}
.scn-tomorrow-night-again .cloud-2 {
  position: absolute; top: 18%; right: 5%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(200,200,220,0.4) 0%, rgba(200,200,220,0.05) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: tn-cloud2 55s linear infinite reverse;
}
@keyframes tn-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes tn-moon { 0% { transform: translate(0,0); } 50% { transform: translate(-5px,3px); } 100% { transform: translate(3px,-2px); } }
@keyframes tn-bugle { 0%,100% { transform: rotate(-15deg) translate(0,0); } 50% { transform: rotate(-12deg) translate(2px,-1px); } }
@keyframes tn-dance { 0% { transform: translate(0,0) rotate(-3deg); } 25% { transform: translate(8px,-2px) rotate(2deg); } 50% { transform: translate(16px,0) rotate(-2deg); } 75% { transform: translate(24px,-1px) rotate(1deg); } 100% { transform: translate(32px,0) rotate(0deg); } }
@keyframes tn-cloud1 { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }
@keyframes tn-cloud2 { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }

/* Scene: unto-my-books-so-good */
.scn-unto-my-books-so-good {
  background:
    linear-gradient(180deg, #f5eed5 0%, #efe0b8 30%, #d9c49a 60%, #b8a67a 100%),
    radial-gradient(ellipse at 50% 100%, #f5eed5 0%, transparent 70%);
}
.scn-unto-my-books-so-good .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d9c49a 0%, #c0a880 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.1);
  animation: ub-wall 10s ease-in-out infinite alternate;
}
.scn-unto-my-books-so-good .bookshelf {
  position: absolute; bottom: 25%; left: 5%; right: 5%; height: 45%;
  background: repeating-linear-gradient(0deg, #5a4a3a 0px, #5a4a3a 4px, #7a6a5a 4px, #7a6a5a 8px);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.scn-unto-my-books-so-good .bookshelf::after {
  content: ''; position: absolute; bottom: 10%; left: 10%; width: 80%; height: 5%;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #4a3a2a 100%);
  border-radius: 2px;
}
.scn-unto-my-books-so-good .lamp-glow {
  position: absolute; top: 25%; left: 45%; width: 60px; height: 60px;
  background: radial-gradient(circle, #f0d080 0%, #e0b060 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 50px 30px rgba(240,208,128,0.3);
  animation: ub-lamp 6s ease-in-out infinite alternate;
}
.scn-unto-my-books-so-good .reader {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: ub-read 8s ease-in-out infinite;
}
.scn-unto-my-books-so-good .book-open {
  position: absolute; bottom: 18%; left: 48%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #b08050 0%, #8a6a40 100%);
  border-radius: 5% 5% 10% 10%;
  transform: perspective(200px) rotateY(-20deg);
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: ub-book 4s ease-in-out infinite alternate;
}
.scn-unto-my-books-so-good .window-wild {
  position: absolute; top: 8%; right: 10%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #6a8a6a 0%, #4a6a4a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: ub-window 12s ease-in-out infinite alternate;
}
@keyframes ub-wall { 0% { background: linear-gradient(180deg, #d9c49a 0%, #c0a880 100%); } 100% { background: linear-gradient(180deg, #e8d8b0 0%, #c8b090 100%); } }
@keyframes ub-lamp { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes ub-read { 0% { transform: rotate(5deg) translate(0,0); } 25% { transform: rotate(3deg) translate(2px,-1px); } 50% { transform: rotate(6deg) translate(0,1px); } 75% { transform: rotate(4deg) translate(-2px,0); } 100% { transform: rotate(5deg) translate(0,0); } }
@keyframes ub-book { 0% { transform: perspective(200px) rotateY(-20deg); } 100% { transform: perspective(200px) rotateY(-25deg); } }
@keyframes ub-window { 0% { background: linear-gradient(180deg, #6a8a6a 0%, #4a6a4a 100%); } 100% { background: linear-gradient(180deg, #8aaa8a 0%, #5a7a5a 100%); } }

/* Scene: this-merit-hath-the-worst */
.scn-this-merit-hath-the-worst {
  background:
    linear-gradient(180deg, #4a5a5a 0%, #3a4a4a 30%, #2a3a3a 60%, #1a2a2a 100%),
    radial-gradient(ellipse at 50% 80%, #5a6a6a 0%, transparent 70%);
}
.scn-this-merit-hath-the-worst .overcast-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a6a6a 0%, #4a5a5a 40%, #3a4a4a 100%);
  animation: mh-sky 15s ease-in-out infinite alternate;
}
.scn-this-merit-hath-the-worst .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
}
.scn-this-merit-hath-the-worst .deer {
  position: absolute; bottom: 30%; left: 30%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 50%, #1a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: scale(1) rotate(-2deg);
  animation: mh-deer 8s ease-in-out infinite;
}
.scn-this-merit-hath-the-worst .deer::before {
  content: ''; position: absolute; top: -20px; left: 10px; width: 10px; height: 25px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 0 0;
  transform: rotate(10deg);
}
.scn-this-merit-hath-the-worst .deer::after {
  content: ''; position: absolute; top: -18px; left: 25px; width: 8px; height: 22px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 0 0;
  transform: rotate(-15deg);
}
.scn-this-merit-hath-the-worst .tree-stump {
  position: absolute; bottom: 25%; left: 60%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.4);
  animation: mh-stump 10s ease-in-out infinite alternate;
}
.scn-this-merit-hath-the-worst .figure-rest {
  position: absolute; bottom: 20%; left: 65%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(5deg);
  animation: mh-figure 6s ease-in-out infinite;
}
.scn-this-merit-hath-the-worst .mist {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, rgba(150,170,170,0.4) 0%, transparent 100%);
  filter: blur(10px);
  animation: mh-mist 20s ease-in-out infinite alternate;
}
@keyframes mh-sky { 0% { background: linear-gradient(180deg, #5a6a6a 0%, #4a5a5a 40%, #3a4a4a 100%); } 100% { background: linear-gradient(180deg, #4a5a5a 0%, #3a4a4a 40%, #2a3a3a 100%); } }
@keyframes mh-deer { 0% { transform: rotate(-2deg) translate(0,0); } 25% { transform: rotate(-1deg) translate(3px,-1px); } 50% { transform: rotate(-3deg) translate(0,2px); } 75% { transform: rotate(0deg) translate(-3px,-1px); } 100% { transform: rotate(-2deg) translate(0,0); } }
@keyframes mh-stump { 0% { transform: scale(1); } 100% { transform: scale(0.95); } }
@keyframes mh-figure { 0% { transform: rotate(5deg) translate(0,0); } 50% { transform: rotate(3deg) translate(2px,-2px); } 100% { transform: rotate(5deg) translate(0,0); } }
@keyframes mh-mist { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.2; } }

/* Scene: hunger-was-a-way */
.scn-hunger-was-a-way {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 30%, #4a3a2a 60%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 80%, #5a4a3a 0%, transparent 70%);
}
.scn-hunger-was-a-way .dim-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
  animation: hw-wall 10s ease-in-out infinite alternate;
}
.scn-hunger-was-a-way .table {
  position: absolute; bottom: 15%; left: 15%; right: 15%; height: 25%;
  background: linear-gradient(135deg, #5a4a3a 0%, #4a3a2a 100%);
  border-radius: 5% 5% 2% 2%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  transform: perspective(400px) rotateX(5deg);
}
.scn-hunger-was-a-way .bread-loaf {
  position: absolute; bottom: 20%; left: 35%; width: 40px; height: 25px;
  background: radial-gradient(ellipse at 40% 30%, #c08a50 0%, #8a5a30 70%);
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: hw-bread 6s ease-in-out infinite alternate;
}
.scn-hunger-was-a-way .chair {
  position: absolute; bottom: 10%; left: 45%; width: 25px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5%;
  transform: rotate(-3deg);
}
.scn-hunger-was-a-way .window-out {
  position: absolute; top: 10%; right: 15%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
  animation: hw-window 15s ease-in-out infinite alternate;
}
.scn-hunger-was-a-way .candle {
  position: absolute; bottom: 30%; left: 20%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #f0d0a0 0%, #d0b080 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 10px rgba(240,208,160,0.5);
  animation: hw-candle 4s ease-in-out infinite alternate;
}
@keyframes hw-wall { 0% { background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); } 100% { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); } }
@keyframes hw-bread { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(1deg); } 100% { transform: scale(0.98) rotate(-1deg); } }
@keyframes hw-window { 0% { background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); } 100% { background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); } }
@keyframes hw-candle { 0% { opacity:0.6; transform: translate(0,0) scaleY(1); } 50% { opacity:1; transform: translate(1px,-2px) scaleY(1.05); } 100% { opacity:0.7; transform: translate(-1px,0) scaleY(0.95); } }

.scn-insulting-sun-insect { background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 20%, #f0c060 0%, transparent 70%); }
.scn-insulting-sun-insect .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a2e 100%); animation: is-sky 12s ease-in-out infinite alternate; }
.scn-insulting-sun-insect .sun { position:absolute; top:10%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, #f0c060 0%, #c08040 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 20px #c08040; animation: is-sun 8s ease-in-out infinite alternate; }
.scn-insulting-sun-insect .tree { position:absolute; bottom:30%; left:40%; width:12px; height:50%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a0a 100%); border-radius:20% 20% 10% 10%; transform-origin: bottom; animation: is-tree 6s ease-in-out infinite; }
.scn-insulting-sun-insect .insect { position:absolute; bottom:55%; left:42%; width:8px; height:6px; background:#2a2a2a; border-radius:50% 50% 40% 40%; animation: is-insect 4s ease-in-out infinite; }
.scn-insulting-sun-insect .glow-rays { position:absolute; top:10%; left:50%; width:120px; height:120px; transform:translate(-50%,-50%); background: radial-gradient(circle, rgba(240,192,96,0.3) 0%, transparent 70%); filter: blur(10px); animation: is-glow 10s ease-in-out infinite alternate; }
.scn-insulting-sun-insect .leaves { position:absolute; bottom:40%; left:30%; width:60px; height:40px; background: radial-gradient(ellipse at 50% 100%, #2a5a2a 0%, transparent 70%); border-radius:50%; filter: blur(4px); animation: is-leaves 7s ease-in-out infinite; }
.scn-insulting-sun-insect .ground { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius:40% 60% 0 0 / 80% 70% 0 0; }
@keyframes is-sky { 0%{opacity:0.8} 50%{opacity:1} 100%{opacity:0.7} }
@keyframes is-sun { 0%{transform:translateX(-50%) scale(1); opacity:0.8} 50%{transform:translateX(-50%) scale(1.05); opacity:1} 100%{transform:translateX(-50%) scale(0.95); opacity:0.7} }
@keyframes is-tree { 0%{transform:rotate(-2deg)} 50%{transform:rotate(2deg)} 100%{transform:rotate(-1deg)} }
@keyframes is-insect { 0%{transform:translate(0,0) rotate(0deg)} 25%{transform:translate(4px,-2px) rotate(10deg)} 50%{transform:translate(8px,0) rotate(-5deg)} 75%{transform:translate(12px,-1px) rotate(5deg)} 100%{transform:translate(16px,0) rotate(0deg)} }
@keyframes is-glow { 0%{opacity:0.5; width:120px; height:120px} 50%{opacity:0.9; width:140px; height:140px} 100%{opacity:0.6; width:130px; height:130px} }
@keyframes is-leaves { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(2px,-2px) scale(1.1)} 100%{transform:translate(-1px,0) scale(0.95)} }

.scn-sunrise-little-maid-each-lose { background: linear-gradient(180deg, #3a2a1a 0%, #c08040 30%, #d0a060 60%, #f0d080 100%), radial-gradient(ellipse at 50% 10%, #f0d080 0%, transparent 60%); }
.scn-sunrise-little-maid-each-lose .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #6a4a2a 0%, #d0a060 60%, #f0d080 100%); animation: su-sky 15s ease-in-out infinite alternate; }
.scn-sunrise-little-maid-each-lose .sunrise { position:absolute; top:5%; left:50%; width:100px; height:60px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #f0d080 0%, transparent 70%); border-radius:50% 50% 0 0; filter:blur(10px); animation: su-sun 20s ease-in-out infinite alternate; }
.scn-sunrise-little-maid-each-lose .horizon { position:absolute; bottom:40%; left:0; right:0; height:4px; background:#6a4a2a; box-shadow:0 2px 8px rgba(0,0,0,0.3); }
.scn-sunrise-little-maid-each-lose .maid { position:absolute; bottom:35%; left:50%; width:20px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: su-maid 6s ease-in-out infinite; }
.scn-sunrise-little-maid-each-lose .ground { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius:30% 70% 0 0 / 60% 80% 0 0; }
.scn-sunrise-little-maid-each-lose .fence { position:absolute; bottom:32%; left:30%; width:60%; height:2px; background:#3a2a1a; box-shadow: 0 -10px 0 0 #3a2a1a, 0 -20px 0 0 #3a2a1a; animation: su-fence 8s ease-in-out infinite; }
.scn-sunrise-little-maid-each-lose .shadow { position:absolute; bottom:20%; left:40%; width:40px; height:10px; background:rgba(0,0,0,0.3); border-radius:50%; filter:blur(2px); animation: su-shadow 6s ease-in-out infinite; }
@keyframes su-sky { 0%{opacity:0.7} 50%{opacity:1} 100%{opacity:0.8} }
@keyframes su-sun { 0%{transform:translateX(-50%) translateY(10px); opacity:0.6} 50%{transform:translateX(-50%) translateY(0); opacity:1} 100%{transform:translateX(-50%) translateY(5px); opacity:0.8} }
@keyframes su-maid { 0%{transform:translateX(-50%) translateY(0) rotate(-2deg)} 50%{transform:translateX(-50%) translateY(-3px) rotate(1deg)} 100%{transform:translateX(-50%) translateY(0) rotate(0deg)} }
@keyframes su-fence { 0%{opacity:0.6} 50%{opacity:0.9} 100%{opacity:0.7} }
@keyframes su-shadow { 0%{transform:scaleX(1)} 50%{transform:scaleX(0.8)} 100%{transform:scaleX(1)} }

.scn-night-maid-grave-leisure { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 40%, #2a2a4e 100%), radial-gradient(ellipse at 50% 20%, #4a4a6e 0%, transparent 70%); }
.scn-night-maid-grave-leisure .night-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 100%); animation: ng-sky 20s ease-in-out infinite alternate; }
.scn-night-maid-grave-leisure .stars { position:absolute; top:5%; left:10%; width:80%; height:40%; background: radial-gradient(circle at 20% 30%, #ffffff 0%, transparent 1%), radial-gradient(circle at 60% 15%, #ffffff 0%, transparent 1.5%), radial-gradient(circle at 80% 40%, #ffffff 0%, transparent 0.8%); background-size: 3px 3px, 2px 2px, 4px 4px; opacity:0.7; animation: ng-stars 30s linear infinite; }
.scn-night-maid-grave-leisure .moon { position:absolute; top:12%; left:70%; width:50px; height:50px; background: radial-gradient(circle, #e0e0f0 0%, #b0b0d0 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(176,176,208,0.4); animation: ng-moon 12s ease-in-out infinite alternate; }
.scn-night-maid-grave-leisure .grave { position:absolute; bottom:30%; left:45%; width:30px; height:20px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 2px 8px rgba(0,0,0,0.5); animation: ng-grave 8s ease-in-out infinite; }
.scn-night-maid-grave-leisure .maid { position:absolute; bottom:30%; left:40%; width:18px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: ng-maid 5s ease-in-out infinite; }
.scn-night-maid-grave-leisure .tree-silhouette { position:absolute; bottom:30%; left:15%; width:10px; height:60%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:20% 20% 10% 10%; transform-origin: bottom; animation: ng-tree 9s ease-in-out infinite alternate; }
.scn-night-maid-grave-leisure .fog { position:absolute; bottom:25%; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(30,30,50,0.5) 0%, transparent 100%); filter: blur(8px); animation: ng-fog 15s ease-in-out infinite alternate; }
@keyframes ng-sky { 0%{opacity:0.8} 50%{opacity:1} 100%{opacity:0.6} }
@keyframes ng-stars { 0%{opacity:0.5} 50%{opacity:0.9} 100%{opacity:0.6} }
@keyframes ng-moon { 0%{transform:translateX(0) scale(1); opacity:0.8} 50%{transform:translateX(-5px) scale(1.05); opacity:1} 100%{transform:translateX(0) scale(0.95); opacity:0.7} }
@keyframes ng-maid { 0%{transform:translateX(-50%) translateY(0) rotate(-1deg)} 50%{transform:translateX(-50%) translateY(-2px) rotate(1deg)} 100%{transform:translateX(-50%) translateY(0) rotate(0deg)} }
@keyframes ng-tree { 0%{transform:rotate(-3deg)} 50%{transform:rotate(3deg)} 100%{transform:rotate(-2deg)} }
@keyframes ng-fog { 0%{opacity:0.3; transform:translateY(0)} 50%{opacity:0.6; transform:translateY(-4px)} 100%{opacity:0.4; transform:translateY(2px)} }

.scn-far-from-pity-dancer { background: linear-gradient(180deg, #3a2a2a 0%, #5a3a2a 30%, #c08040 60%, #e0a060 100%), radial-gradient(ellipse at 50% 80%, #e0a060 0%, transparent 70%); }
.scn-far-from-pity-dancer .dusk-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #4a2a2a 0%, #c08040 100%); animation: fd-sky 18s ease-in-out infinite alternate; }
.scn-far-from-pity-dancer .stage { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.6); }
.scn-far-from-pity-dancer .dancer { position:absolute; bottom:30%; left:50%; width:30px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: fd-dancer 10s ease-in-out infinite; }
.scn-far-from-pity-dancer .spotlight { position:absolute; top:10%; left:40%; width:60px; height:80px; background: radial-gradient(ellipse at 50% 0%, rgba(240,200,160,0.3) 0%, transparent 70%); filter: blur(20px); animation: fd-spot 14s ease-in-out infinite alternate; }
.scn-far-from-pity-dancer .curtain-left { position:absolute; top:0; left:0; width:25%; height:100%; background: linear-gradient(180deg, #5a1a1a 0%, #3a0a0a 100%); border-radius:0 0 60% 0 / 0 0 40% 0; animation: fd-left 8s ease-in-out infinite; }
.scn-far-from-pity-dancer .curtain-right { position:absolute; top:0; right:0; width:25%; height:100%; background: linear-gradient(180deg, #5a1a1a 0%, #3a0a0a 100%); border-radius:0 0 0 60% / 0 0 0 40%; animation: fd-right 8s ease-in-out infinite reverse; }
.scn-far-from-pity-dancer .dust { position:absolute; bottom:20%; left:35%; width:50%; height:30%; background: radial-gradient(circle at 30% 40%, rgba(200,160,120,0.2) 0%, transparent 50%); filter: blur(6px); animation: fd-dust 20s linear infinite; }
@keyframes fd-sky { 0%{opacity:0.7} 50%{opacity:1} 100%{opacity:0.8} }
@keyframes fd-dancer { 0%{transform:translateX(-50%) translateY(0) rotate(-5deg)} 25%{transform:translateX(-45%) translateY(-2px) rotate(3deg)} 50%{transform:translateX(-40%) translateY(-4px) rotate(-2deg)} 75%{transform:translateX(-45%) translateY(-1px) rotate(4deg)} 100%{transform:translateX(-50%) translateY(0) rotate(0deg)} }
@keyframes fd-spot { 0%{opacity:0.4; transform:scaleY(0.9)} 50%{opacity:0.8; transform:scaleY(1.2)} 100%{opacity:0.5; transform:scaleY(1)} }
@keyframes fd-left { 0%{transform:translateX(0)} 50%{transform:translateX(5px)} 100%{transform:translateX(0)} }
@keyframes fd-right { 0%{transform:translateX(0)} 50%{transform:translateX(-5px)} 100%{transform:translateX(0)} }
@keyframes fd-dust { 0%{transform:translateY(0) scale(1); opacity:0.3} 50%{transform:translateY(-10px) scale(1.2); opacity:0.6} 100%{transform:translateY(-20px) scale(1.5); opacity:0} }

/* scene: triumph-kinds */
.scn-triumph-kinds {
  background:
    linear-gradient(180deg, #2c2f3a 0%, #1d1f28 50%, #12141a 100%),
    linear-gradient(135deg, #3a3f4a 0%, transparent 60%);
}
.scn-triumph-kinds .wall-back { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3e424f 0%, #2c2f3a 100%); animation: tk-wall 12s ease-in-out infinite alternate; }
.scn-triumph-kinds .wall-side { position:absolute; inset:0 50% 30% 0; background: linear-gradient(135deg, #2a2d38 0%, #1b1e27 100%); transform: skewX(-5deg); box-shadow: inset -10px 0 15px rgba(0,0,0,.5); }
.scn-triumph-kinds .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a1c22 0%, #242730 100%); }
.scn-triumph-kinds .window-light { position:absolute; top:15%; left:20%; width:35%; height:45%; background: radial-gradient(ellipse at 50% 30%, rgba(180,200,220,.15) 0%, transparent 70%); animation: tk-win 6s ease-in-out infinite alternate; }
.scn-triumph-kinds .figure { position:absolute; bottom:20%; left:35%; width:20%; height:50%; background: linear-gradient(180deg, #1a1c26 0%, #0c0e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tk-fig 3s ease-in-out infinite; }
.scn-triumph-kinds .sword-glow { position:absolute; bottom:38%; left:45%; width:4%; height:30%; background: linear-gradient(180deg, #c8a45c 0%, #8a6a2a 50%, transparent 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px rgba(200,164,92,.4); animation: tk-sword 2s ease-in-out infinite alternate; }
.scn-triumph-kinds .shadow-sharp { position:absolute; bottom:0; left:30%; width:30%; height:8%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.6) 30%, transparent 100%); filter: blur(2px); animation: tk-shadow 2.5s ease-in-out infinite; }
@keyframes tk-wall { 0%{opacity:.9} 50%{opacity:1} 100%{opacity:.85} }
@keyframes tk-win { 0%{opacity:.5; transform:scale(1)} 50%{opacity:.8; transform:scale(1.02)} 100%{opacity:.6; transform:scale(1)} }
@keyframes tk-fig { 0%{transform:translateX(0) translateY(0) rotate(-1deg)} 25%{transform:translateX(4px) translateY(-2px) rotate(2deg)} 50%{transform:translateX(0) translateY(0) rotate(-1deg)} 75%{transform:translateX(-4px) translateY(-2px) rotate(2deg)} 100%{transform:translateX(0) translateY(0) rotate(-1deg)} }
@keyframes tk-sword { 0%{opacity:.7; box-shadow:0 0 15px 5px rgba(200,164,92,.3)} 50%{opacity:1; box-shadow:0 0 30px 12px rgba(200,164,92,.6)} 100%{opacity:.8; box-shadow:0 0 20px 8px rgba(200,164,92,.4)} }
@keyframes tk-shadow { 0%{opacity:.3; transform:scaleX(1)} 50%{opacity:.6; transform:scaleX(1.1)} 100%{opacity:.3; transform:scaleX(1)} }

/* scene: death-pageant */
.scn-death-pageant {
  background:
    linear-gradient(180deg, #0a0a10 0%, #14141c 40%, #1a1822 100%),
    radial-gradient(ellipse at 50% 90%, #2a2538 0%, transparent 70%);
}
.scn-death-pageant .bg-void { position:absolute; inset:0; background: linear-gradient(180deg, #06060c 0%, #0e0d16 100%); animation: dp-void 20s ease-in-out infinite alternate; }
.scn-death-pageant .corridor-wall-left { position:absolute; inset:0 70% 0 0; background: linear-gradient(90deg, #1c1b26 0%, transparent 100%); box-shadow: inset -5px 0 10px rgba(0,0,0,.6); }
.scn-death-pageant .corridor-wall-right { position:absolute; inset:0 0 0 70%; background: linear-gradient(270deg, #1c1b26 0%, transparent 100%); box-shadow: inset 5px 0 10px rgba(0,0,0,.6); }
.scn-death-pageant .pall-cloth { position:absolute; bottom:15%; left:30%; width:40%; height:45%; background: linear-gradient(180deg, #3a3250 0%, #1e1a30 100%); border-radius: 30% 70% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 -10px 30px rgba(0,0,0,.5); animation: dp-pall 8s ease-in-out infinite alternate; }
.scn-death-pageant .figure-line { position:absolute; bottom:10%; left:15%; width:10%; height:50%; background: linear-gradient(180deg, #1a1824 0%, #0c0b14 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: dp-fig 4s ease-in-out infinite; }
.scn-death-pageant .candle-flicker { position:absolute; bottom:30%; left:20%; width:2%; height:12%; background: linear-gradient(180deg, #ffd080 0%, #b08040 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 15px 5px rgba(255,208,128,.5); animation: dp-candle 1.5s ease-in-out infinite alternate; }
.scn-death-pageant .light-end { position:absolute; bottom:40%; left:50%; width:8%; height:20%; background: radial-gradient(ellipse at 50% 0%, rgba(200,200,220,.1) 0%, transparent 100%); transform: translateX(-50%); animation: dp-end 6s ease-in-out infinite alternate; }
@keyframes dp-void { 0%{opacity:.8} 50%{opacity:1} 100%{opacity:.85} }
@keyframes dp-pall { 0%{transform:translateY(0) scaleY(1)} 50%{transform:translateY(-5px) scaleY(1.02)} 100%{transform:translateY(0) scaleY(1)} }
@keyframes dp-fig { 0%{transform:translateX(0) rotate(0deg)} 25%{transform:translateX(2px) rotate(1deg)} 50%{transform:translateX(0) rotate(0deg)} 75%{transform:translateX(-2px) rotate(-1deg)} 100%{transform:translateX(0) rotate(0deg)} }
@keyframes dp-candle { 0%{opacity:.7; box-shadow:0 0 10px 3px rgba(255,208,128,.4)} 50%{opacity:1; box-shadow:0 0 20px 8px rgba(255,208,128,.7)} 100%{opacity:.75; box-shadow:0 0 12px 4px rgba(255,208,128,.45)} }
@keyframes dp-end { 0%{opacity:.2} 50%{opacity:.5} 100%{opacity:.3} }

/* scene: morning-oversleep */
.scn-morning-oversleep {
  background:
    linear-gradient(180deg, #fbe8d0 0%, #f2d5b0 40%, #e8c090 100%),
    radial-gradient(ellipse at 50% 20%, #ffe4c4 0%, transparent 70%);
}
.scn-morning-oversleep .wall-warm { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #f0ddd0 0%, #e0c8b8 100%); }
.scn-morning-oversleep .curtain-left { position:absolute; top:5%; left:5%; width:25%; height:75%; background: linear-gradient(180deg, #d4b8a0 0%, #b89a80 100%); border-radius: 0 20% 20% 0 / 0 40% 40% 0; box-shadow: inset -5px 0 10px rgba(0,0,0,.1); animation: mo-curtain 20s ease-in-out infinite alternate; }
.scn-morning-oversleep .curtain-right { position:absolute; top:5%; right:5%; width:25%; height:75%; background: linear-gradient(180deg, #d4b8a0 0%, #b89a80 100%); border-radius: 20% 0 0 20% / 40% 0 0 40%; box-shadow: inset 5px 0 10px rgba(0,0,0,.1); animation: mo-curtain 20s ease-in-out infinite alternate-reverse; }
.scn-morning-oversleep .window-dawn { position:absolute; top:10%; left:30%; width:40%; height:65%; background: radial-gradient(ellipse at 50% 30%, #ffe8b0 0%, #f8d090 50%, #d0a870 100%); border-radius: 5%; box-shadow: 0 0 30px 10px rgba(248,208,144,.3); animation: mo-window 8s ease-in-out infinite alternate; }
.scn-morning-oversleep .bed-frame { position:absolute; bottom:5%; left:10%; width:80%; height:20%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-morning-oversleep .pillow { position:absolute; bottom:18%; left:15%; width:18%; height:10%; background: radial-gradient(ellipse at 50% 40%, #f8f0e0 0%, #e8d8c0 100%); border-radius: 40% 40% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.1); animation: mo-pillow 6s ease-in-out infinite; }
.scn-morning-oversleep .blanket-fold { position:absolute; bottom:5%; left:35%; width:50%; height:15%; background: linear-gradient(180deg, #c0a888 0%, #a08868 100%); border-radius: 30% 30% 10% 10%; }
.scn-morning-oversleep .dust-mote-a { position:absolute; top:20%; left:40%; width:2%; height:2%; background: radial-gradient(circle, rgba(255,240,200,.6) 0%, transparent 100%); animation: mo-mote 12s linear infinite; }
.scn-morning-oversleep .dust-mote-b { position:absolute; top:40%; left:60%; width:3%; height:3%; background: radial-gradient(circle, rgba(255,240,200,.5) 0%, transparent 100%); animation: mo-mote 15s linear infinite reverse; }
@keyframes mo-curtain { 0%{transform:scaleX(1)} 50%{transform:scaleX(0.95)} 100%{transform:scaleX(1)} }
@keyframes mo-window { 0%{opacity:.8; box-shadow:0 0 20px 5px rgba(248,208,144,.2)} 50%{opacity:1; box-shadow:0 0 40px 15px rgba(248,208,144,.4)} 100%{opacity:.85; box-shadow:0 0 25px 8px rgba(248,208,144,.25)} }
@keyframes mo-pillow { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-2px) rotate(2deg)} 50%{transform:translateY(0) rotate(0deg)} 75%{transform:translateY(-2px) rotate(-2deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes mo-mote { 0%{transform:translateY(0) translateX(0) scale(1); opacity:.3} 25%{transform:translateY(-20px) translateX(15px) scale(1.2); opacity:.7} 50%{transform:translateY(-40px) translateX(30px) scale(1); opacity:.4} 75%{transform:translateY(-20px) translateX(15px) scale(0.8); opacity:.6} 100%{transform:translateY(0) translateX(0) scale(1); opacity:.3} }

/* scene: death-journey */
.scn-death-journey {
  background:
    linear-gradient(180deg, #4a2a3a 0%, #7a4a5a 30%, #a86a5a 60%, #c8a050 100%),
    radial-gradient(ellipse at 50% 100%, #7a4a5a 0%, transparent 70%);
}
.scn-death-journey .sky-dusk { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a1a2a 0%, #7a4a5a 40%, #b07a5a 80%, transparent 100%); animation: dj-sky 12s ease-in-out infinite alternate; }
.scn-death-journey .horizon-line { position:absolute; bottom:40%; left:0; right:0; height:2%; background: linear-gradient(90deg, #2a1a1a 0%, #4a2a3a 30%, #6a4a4a 70%, #2a1a1a 100%); box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-death-journey .path-forward { position:absolute; bottom:0; left:30%; width:40%; height:45%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; transform: perspective(200px) rotateX(10deg); }
.scn-death-journey .figure-gown { position:absolute; bottom:25%; left:40%; width:12%; height:50%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0c0c 100%); border-radius: 50% 50% 35% 35% / 70% 70% 30% 30%; transform-origin: bottom center; animation: dj-fig 4s ease-in-out infinite; box-shadow: 0 0 10px 3px rgba(0,0,0,.3); }
.scn-death-journey .fading-light { position:absolute; top:20%; left:45%; width:10%; height:30%; background: radial-gradient(ellipse at 50% 0%, rgba(255,200,150,.15) 0%, transparent 100%); animation: dj-light 8s ease-in-out infinite alternate; }
.scn-death-journey .cloud-drift-a { position:absolute; top:8%; left:10%; width:40%; height:12%; background: linear-gradient(180deg, rgba(200,160,130,.3) 0%, transparent 100%); border-radius: 50%; filter: blur(6px); animation: dj-cloud 40s linear infinite; }
.scn-death-journey .cloud-drift-b { position:absolute; top:15%; right:5%; width:30%; height:10%; background: linear-gradient(180deg, rgba(200,160,130,.2) 0%, transparent 100%); border-radius: 50%; filter: blur(5px); animation: dj-cloud 50s linear infinite reverse; }
@keyframes dj-sky { 0%{opacity:.8} 50%{opacity:1} 100%{opacity:.85} }
@keyframes dj-fig { 0%{transform:translateX(0) translateY(0) rotate(-1deg)} 25%{transform:translateX(3px) translateY(-2px) rotate(1deg)} 50%{transform:translateX(0) translateY(0) rotate(0deg)} 75%{transform:translateX(-3px) translateY(-2px) rotate(-1deg)} 100%{transform:translateX(0) translateY(0) rotate(0deg)} }
@keyframes dj-light { 0%{opacity:.2} 50%{opacity:.5} 100%{opacity:.3} }
@keyframes dj-cloud { 0%{transform:translateX(0)} 100%{transform:translateX(120vw)} }

/* Scene: shall-know-why */
.scn-shall-know-why { background: linear-gradient(180deg, #f5e6ca 0%, #d4c4a0 40%, #8a9ba8 70%, #4a5a6a 100%), radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 60%); }
.scn-shall-know-why .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #e8dcc8 0%, #c4b59a 100%); }
.scn-shall-know-why .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b8a888 0%, #8a7a64 100%); }
.scn-shall-know-why .window { position:absolute; top:15%; left:50%; width:30%; height:40%; background: linear-gradient(180deg, #e8f0ff 0%, #b0c8e0 100%); border:6px solid #7a6a54; border-radius:4px; box-shadow: inset 0 0 40px 10px #fffbe0; transform:translateX(-50%); animation: skw-window 12s ease-in-out infinite alternate; }
.scn-shall-know-why .desk { position:absolute; bottom:25%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-shall-know-why .book { position:absolute; bottom:28%; left:40%; width:10%; height:6%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:1px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: skw-book 6s ease-in-out infinite; }
.scn-shall-know-why .figure { position:absolute; bottom:28%; left:42%; width:8%; height:18%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: skw-figure 4s ease-in-out infinite alternate; }
.scn-shall-know-why .beam { position:absolute; top:15%; left:50%; width:20%; height:70%; background: linear-gradient(180deg, rgba(255,248,224,0.3) 0%, rgba(255,248,224,0) 100%); transform:translateX(-50%) rotate(5deg); filter: blur(8px); animation: skw-beam 8s ease-in-out infinite alternate; }
@keyframes skw-window { 0% { opacity:0.9; box-shadow: inset 0 0 30px 5px #fffbe0; } 50% { opacity:1; box-shadow: inset 0 0 60px 20px #fffbe0; } 100% { opacity:0.85; box-shadow: inset 0 0 40px 10px #fffbe0; } }
@keyframes skw-book { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes skw-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(3px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes skw-beam { 0% { opacity:0.3; transform: translateX(-50%) rotate(3deg) scaleY(0.95); } 50% { opacity:0.6; transform: translateX(-50%) rotate(7deg) scaleY(1.05); } 100% { opacity:0.4; transform: translateX(-50%) rotate(5deg) scaleY(1); } }

/* Scene: portfolios-full-verses */
.scn-portfolios-full-verses { background: linear-gradient(180deg, #4a3a2a 0%, #7a5a3a 30%, #c8a868 60%, #e8d8b8 100%), radial-gradient(ellipse at 50% 0%, #fff4d4 0%, transparent 60%); }
.scn-portfolios-full-verses .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #8a7a5a 0%, #5a4a3a 100%); }
.scn-portfolios-full-verses .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); }
.scn-portfolios-full-verses .shelf { position:absolute; top:25%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #9a7a5a 0%, #6a4a2a 100%); border-radius:4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.4), 0 8px 16px rgba(0,0,0,.3); }
.scn-portfolios-full-verses .portfolio { position:absolute; top:30%; left:30%; width:20%; height:25%; background: linear-gradient(180deg, #a08060 0%, #604030 100%); border-radius:2px; border:3px solid #3a2a1a; box-shadow: 2px 4px 8px rgba(0,0,0,.5); animation: pfv-portfolio 10s ease-in-out infinite alternate; }
.scn-portfolios-full-verses .lamp { position:absolute; top:20%; left:60%; width:8%; height:12%; background: radial-gradient(circle at 50% 30%, #f0d090 0%, #b08040 60%, #6a3a1a 100%); border-radius:40%; box-shadow: 0 0 40px 15px rgba(240,208,144,.4), 0 0 80px 30px rgba(240,208,144,.2); animation: pfv-lamp 5s ease-in-out infinite alternate; }
.scn-portfolios-full-verses .figure { position:absolute; bottom:22%; left:50%; width:10%; height:20%; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateX(-50%); animation: pfv-figure 4s ease-in-out infinite; }
.scn-portfolios-full-verses .papers { position:absolute; bottom:20%; left:45%; width:15%; height:4%; background: linear-gradient(180deg, #e8dcc8 0%, #c4b080 100%); border-radius:1px; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: pfv-papers 7s ease-in-out infinite; }
@keyframes pfv-portfolio { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-2deg); } }
@keyframes pfv-lamp { 0% { opacity:0.8; box-shadow: 0 0 30px 10px rgba(240,208,144,.3); } 50% { opacity:1; box-shadow: 0 0 60px 25px rgba(240,208,144,.5); } 100% { opacity:0.9; box-shadow: 0 0 40px 15px rgba(240,208,144,.35); } }
@keyframes pfv-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-48%) translateY(-2px) rotate(1deg); } 75% { transform: translateX(-52%) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0); } }
@keyframes pfv-papers { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(2deg); } }

/* Scene: portfolios-found-sister */
.scn-portfolios-found-sister { background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #3a3a4a 60%, #5a4a3a 100%), radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%); }
.scn-portfolios-found-sister .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); }
.scn-portfolios-found-sister .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(135deg, #3a2a1a 0%, #1a0a0a 100%); }
.scn-portfolios-found-sister .chest { position:absolute; bottom:20%; left:10%; width:30%; height:45%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius:2px; box-shadow: 0 8px 16px rgba(0,0,0,.6); }
.scn-portfolios-found-sister .portfolio-open { position:absolute; bottom:22%; left:20%; width:20%; height:30%; background: linear-gradient(180deg, #8a6a4a 0%, #4a2a1a 100%); border-radius:1px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: pfs-portfolio 9s ease-in-out infinite alternate; }
.scn-portfolios-found-sister .candle { position:absolute; bottom:35%; left:55%; width:4%; height:12%; background: linear-gradient(180deg, #e0c080 0%, #a08040 50%, #4a2a0a 100%); border-radius:40% 40% 10% 10%; box-shadow: 0 0 20px 6px #e0c080; animation: pfs-candle 6s ease-in-out infinite alternate; }
.scn-portfolios-found-sister .hand { position:absolute; bottom:25%; left:30%; width:6%; height:14%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pfs-hand 3s ease-in-out infinite; }
.scn-portfolios-found-sister .shadow { position:absolute; bottom:20%; left:35%; width:25%; height:30%; background: rgba(0,0,0,.4); filter: blur(8px); animation: pfs-shadow 8s ease-in-out infinite alternate; }
@keyframes pfs-portfolio { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-3deg); } }
@keyframes pfs-candle { 0% { opacity:0.7; box-shadow: 0 0 15px 4px #e0c080; } 50% { opacity:1; box-shadow: 0 0 30px 10px #e0c080; } 100% { opacity:0.8; box-shadow: 0 0 20px 6px #e0c080; } }
@keyframes pfs-hand { 0% { transform: translateX(0) translateY(0) rotate(-5deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(5deg); } 75% { transform: translateX(8px) translateY(-1px) rotate(-3deg); } 100% { transform: translateX(12px) translateY(0) rotate(0); } }
@keyframes pfs-shadow { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.1); } 100% { opacity:0.4; transform: scaleX(0.95); } }

/* Scene: rigorous-pruning */
.scn-rigorous-pruning { background: linear-gradient(180deg, #2a2a1a 0%, #3a3a2a 30%, #5a4a3a 60%, #6a5a4a 100%), radial-gradient(ellipse at 50% 30%, #7a6a5a 0%, transparent 60%); }
.scn-rigorous-pruning .floor { position:absolute; bottom:0; left:0; right:0; height:22%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); }
.scn-rigorous-pruning .wall { position:absolute; inset:0 0 22% 0; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-rigorous-pruning .desk { position:absolute; bottom:20%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-rigorous-pruning .paper { position:absolute; bottom:25%; left:30%; width:15%; height:8%; background: linear-gradient(180deg, #e8dcc0 0%, #c4b080 100%); border-radius:1px; box-shadow: 1px 1px 4px rgba(0,0,0,.3); animation: rp-paper 7s ease-in-out infinite alternate; }
.scn-rigorous-pruning .quill { position:absolute; bottom:30%; left:35%; width:2%; height:15%; background: linear-gradient(180deg, #e0d0b0 0%, #a08060 50%, #4a3a2a 100%); border-radius:0% 0% 50% 50%; transform:rotate(-30deg); transform-origin: bottom center; animation: rp-quill 4s ease-in-out infinite; }
.scn-rigorous-pruning .inkwell { position:absolute; bottom:25%; left:40%; width:4%; height:6%; background: radial-gradient(circle at 50% 40%, #3a2a1a 0%, #1a0a00 100%); border-radius:50%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-rigorous-pruning .figure { position:absolute; bottom:20%; left:25%; width:10%; height:22%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rp-figure 5s ease-in-out infinite; }
@keyframes rp-paper { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes rp-quill { 0% { transform: rotate(-25deg); } 50% { transform: rotate(-35deg); } 100% { transform: rotate(-28deg); } }
@keyframes rp-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 75% { transform: translateX(2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }

/* went-to-thank-her */
.scn-went-to-thank-her {
  background: linear-gradient(135deg, #1a1025 0%, #2a1a35 40%, #1a1025 100%), radial-gradient(ellipse at 50% 0%, #2a1a35 0%, transparent 60%);
}
.scn-went-to-thank-her .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a35 0%, #1a1025 100%);
  animation: wtt1-fade 8s ease-in-out infinite alternate;
}
.scn-went-to-thank-her .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1025 0%, #2a1a35 100%);
}
.scn-went-to-thank-her .stone-bed {
  position: absolute; bottom: 18%; left: 50%; width: 70%; height: 30%; transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 -6px 12px rgba(0,0,0,0.6), 0 8px 16px rgba(0,0,0,0.4);
  animation: wtt1-stone 12s ease-in-out infinite;
}
.scn-went-to-thank-her .nosegay-head {
  position: absolute; bottom: 36%; left: 38%; width: 30px; height: 30px;
  background: radial-gradient(circle, #6a4a3a 0%, #3a2a1a 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(106,74,58,0.3);
  animation: wtt1-nosegay 6s ease-in-out infinite alternate;
}
.scn-went-to-thank-her .nosegay-foot {
  position: absolute; bottom: 22%; right: 38%; width: 28px; height: 28px;
  background: radial-gradient(circle, #5a3a2a 0%, #2a1a1a 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(90,58,42,0.3);
  animation: wtt1-nosegay 6s ease-in-out infinite alternate-reverse;
}
.scn-went-to-thank-her .candle {
  position: absolute; bottom: 28%; left: 15%; width: 12px; height: 60px;
  background: linear-gradient(180deg, #f0d080 0%, #a07030 80%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: 0 0 40px 18px rgba(240,208,128,0.3), 0 0 80px 30px rgba(240,208,128,0.1);
  animation: wtt1-candle 3s ease-in-out infinite alternate;
}
.scn-went-to-thank-her .figure {
  position: absolute; bottom: 12%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1025 0%, #0a0a15 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wtt1-figure 4s ease-in-out infinite;
}
@keyframes wtt1-fade { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wtt1-stone { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } }
@keyframes wtt1-nosegay { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(0.95) rotate(-3deg); } }
@keyframes wtt1-candle { 0% { opacity: 0.7; transform: scaleY(0.95); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.8; transform: scaleY(1); } }
@keyframes wtt1-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 50% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(8px) translateY(0) rotate(0deg); } }

/* never-saw-moor */
.scn-never-saw-moor {
  background: linear-gradient(180deg, #b0c8d0 0%, #889ea8 40%, #708088 100%), radial-gradient(ellipse at 50% 100%, #607080 0%, transparent 60%);
}
.scn-never-saw-moor .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #c0d0d8 0%, #a0b0b8 100%);
  animation: nsm1-sky 15s ease-in-out infinite alternate;
}
.scn-never-saw-moor .sea {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #708088 0%, #889ea8 100%);
  border-radius: 30% 30% 0 0;
  animation: nsm1-sea 10s ease-in-out infinite;
}
.scn-never-saw-moor .moor {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #607060 0%, #405040 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
  animation: nsm1-moor 20s ease-in-out infinite;
}
.scn-never-saw-moor .heather-a {
  position: absolute; bottom: 15%; left: 10%; width: 40px; height: 20px;
  background: radial-gradient(circle, #c080a0 0%, #906070 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: nsm1-heather 6s ease-in-out infinite alternate;
}
.scn-never-saw-moor .heather-b {
  position: absolute; bottom: 12%; right: 15%; width: 30px; height: 15px;
  background: radial-gradient(circle, #b07090 0%, #805060 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: nsm1-heather 6s ease-in-out infinite alternate-reverse;
  animation-delay: 2s;
}
.scn-never-saw-moor .path {
  position: absolute; bottom: 5%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #4a5a4a 0%, #3a4a3a 100%);
  border-radius: 40% 60% 40% 60% / 100% 100% 100% 100%;
  transform: skewX(-10deg);
  animation: nsm1-path 12s ease-in-out infinite;
}
@keyframes nsm1-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes nsm1-sea { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes nsm1-moor { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes nsm1-heather { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.2) rotate(5deg); } 100% { transform: scale(0.9) rotate(-3deg); } }
@keyframes nsm1-path { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }

/* how-he-suffered */
.scn-how-he-suffered {
  background: linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 50%, #1a0a0a 100%), radial-gradient(ellipse at 30% 50%, #4a3a3a 0%, transparent 70%);
}
.scn-how-he-suffered .room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1a1a 0%, #1a0a0a 100%);
  animation: hhs1-room 10s ease-in-out infinite;
}
.scn-how-he-suffered .wall-left {
  position: absolute; top: 0; left: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  box-shadow: inset -10px 0 20px rgba(0,0,0,0.5);
  animation: hhs1-wall 8s ease-in-out infinite alternate;
}
.scn-how-he-suffered .window {
  position: absolute; top: 20%; right: 10%; width: 60px; height: 80px;
  background: radial-gradient(circle at 50% 50%, #d0c0a0 0%, #a09070 70%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(208,192,160,0.4);
  animation: hhs1-window 4s ease-in-out infinite alternate;
}
.scn-how-he-suffered .sunbeam {
  position: absolute; top: 20%; right: 10%; width: 200px; height: 300px;
  background: linear-gradient(135deg, rgba(208,192,160,0.15) 0%, transparent 80%);
  clip-path: polygon(0 0, 100% 0, 40% 100%, 0% 100%);
  animation: hhs1-sunbeam 6s ease-in-out infinite alternate;
}
.scn-how-he-suffered .bed {
  position: absolute; bottom: 10%; left: 10%; width: 60%; height: 35%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
  animation: hhs1-bed 12s ease-in-out infinite;
}
.scn-how-he-suffered .patient {
  position: absolute; bottom: 15%; left: 15%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: hhs1-patient 3s ease-in-out infinite;
}
.scn-how-he-suffered .chair {
  position: absolute; bottom: 5%; left: 45%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  animation: hhs1-chair 8s ease-in-out infinite alternate;
}
.scn-how-he-suffered .clock {
  position: absolute; top: 5%; right: 30%; width: 40px; height: 40px;
  background: radial-gradient(circle, #6a5a4a 0%, #2a1a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: hhs1-clock 2s steps(60) infinite;
}
@keyframes hhs1-room { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes hhs1-wall { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98); } 100% { transform: scaleX(1); } }
@keyframes hhs1-window { 0% { opacity: 0.5; box-shadow: 0 0 20px 5px rgba(208,192,160,0.2); } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(208,192,160,0.6); } 100% { opacity: 0.6; box-shadow: 0 0 25px 8px rgba(208,192,160,0.3); } }
@keyframes hhs1-sunbeam { 0% { opacity: 0.3; transform: rotate(-2deg); } 50% { opacity: 0.6; transform: rotate(2deg); } 100% { opacity: 0.2; transform: rotate(-1deg); } }
@keyframes hhs1-bed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes hhs1-patient { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hhs1-chair { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(0.98); } 100% { transform: translateY(0) scale(1); } }
@keyframes hhs1-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* last-night-she-lived */
.scn-last-night-she-lived {
  background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3e 40%, #0a0a2a 100%), radial-gradient(ellipse at 50% 100%, #1a1a3e 0%, transparent 60%);
}
.scn-last-night-she-lived .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0a2a 0%, #1a1a3e 100%);
  animation: lns1-bg 12s ease-in-out infinite alternate;
}
.scn-last-night-she-lived .moonlight {
  position: absolute; top: 15%; right: 20%; width: 180px; height: 400px;
  background: linear-gradient(180deg, rgba(200,220,255,0.15) 0%, transparent 80%);
  clip-path: polygon(0 0, 100% 0, 30% 100%, 0% 100%);
  animation: lns1-moonlight 6s ease-in-out infinite alternate;
}
.scn-last-night-she-lived .bed {
  position: absolute; bottom: 10%; left: 10%; width: 65%; height: 35%;
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
  animation: lns1-bed 10s ease-in-out infinite;
}
.scn-last-night-she-lived .figure-silhouette {
  position: absolute; bottom: 15%; left: 20%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #0a0a2a 0%, #000010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lns1-figure 5s ease-in-out infinite;
}
.scn-last-night-she-lived .chair {
  position: absolute; bottom: 5%; left: 45%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 100%);
  border-radius: 10% 10% 5% 5%;
  animation: lns1-chair 8s ease-in-out infinite alternate;
}
.scn-last-night-she-lived .cup {
  position: absolute; bottom: 22%; left: 35%; width: 14px; height: 16px;
  background: linear-gradient(180deg, #c0c0d0 0%, #8080a0 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 6px rgba(192,192,208,0.2);
  animation: lns1-cup 4s ease-in-out infinite;
}
.scn-last-night-she-lived .shadow-drift {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(ellipse at 60% 80%, rgba(0,0,0,0.2) 0%, transparent 60%);
  animation: lns1-shadow 15s ease-in-out infinite alternate;
}
@keyframes lns1-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes lns1-moonlight { 0% { opacity: 0.1; transform: skewX(-5deg); } 50% { opacity: 0.4; transform: skewX(3deg); } 100% { opacity: 0.2; transform: skewX(-2deg); } }
@keyframes lns1-bed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes lns1-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes lns1-chair { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(0.97); } 100% { transform: translateY(0) scale(1); } }
@keyframes lns1-cup { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.6; } }
@keyframes lns1-shadow { 0% { opacity: 0.2; } 50% { opacity: 0.4; } 100% { opacity: 0.2; } }

.scn-your-riches-taught-poverty {
  background: 
    linear-gradient(180deg, #f9d68a 0%, #f0c27a 40%, #e6b45a 100%),
    radial-gradient(ellipse at 50% 30%, #ffe4a0 0%, transparent 60%);
}
.scn-your-riches-taught-poverty .sky-glow {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #ffeac0 0%, transparent 100%);
  animation: rpt-sky 8s ease-in-out infinite alternate;
}
.scn-your-riches-taught-poverty .sun-ray {
  position:absolute; top:5%; left:35%; width:30%; height:60%;
  background: linear-gradient(135deg, rgba(255,220,150,0.5) 0%, transparent 70%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: rpt-ray 12s ease-in-out infinite alternate;
}
.scn-your-riches-taught-poverty .pedestal {
  position:absolute; bottom:15%; left:50%; transform:translateX(-50%);
  width:120px; height:200px; background: linear-gradient(180deg, #d4b08a 0%, #b8906a 50%, #9a7050 100%);
  border-radius: 4% 4% 8% 8%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2);
}
.scn-your-riches-taught-poverty .crown {
  position:absolute; bottom:52%; left:50%; transform:translateX(-50%);
  width:100px; height:40px; background: linear-gradient(135deg, #c8a060 0%, #e8c080 50%, #c8a060 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: rpt-crown 6s ease-in-out infinite;
}
.scn-your-riches-taught-poverty .jewel {
  position:absolute; border-radius:50%;
  background: radial-gradient(circle, #ff7080 0%, #c04050 70%);
  box-shadow: 0 0 12px 4px rgba(255,112,128,0.6);
}
.scn-your-riches-taught-poverty .jewel-1 {
  width:14px; height:14px; bottom:56%; left:48%;
  animation: rpt-jewel1 4s ease-in-out infinite alternate;
}
.scn-your-riches-taught-poverty .jewel-2 {
  width:10px; height:10px; bottom:54%; left:55%;
  background: radial-gradient(circle, #80c0ff 0%, #4080c0 70%);
  box-shadow: 0 0 10px 3px rgba(128,192,255,0.6);
  animation: rpt-jewel2 5s ease-in-out infinite alternate;
}
.scn-your-riches-taught-poverty .leaf {
  position:absolute; bottom:20%; left:42%; width:30px; height:50px;
  background: linear-gradient(135deg, #6ab04c 0%, #4a8a2c 100%);
  border-radius: 0 50% 50% 50%;
  transform: rotate(-20deg);
  animation: rpt-leaf 7s ease-in-out infinite;
}
@keyframes rpt-sky { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes rpt-ray { 0% { transform: rotate(-5deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes rpt-crown { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg) } 50% { transform: translateX(-50%) translateY(-4px) rotate(2deg) } }
@keyframes rpt-jewel1 { 0% { transform: translate(0,0) scale(1); opacity:0.8 } 100% { transform: translate(2px,-2px) scale(1.2); opacity:1 } }
@keyframes rpt-jewel2 { 0% { transform: translate(0,0) scale(1); opacity:0.7 } 100% { transform: translate(-1px,1px) scale(1.1); opacity:0.9 } }
@keyframes rpt-leaf { 0% { transform: rotate(-20deg) translate(0,0) } 50% { transform: rotate(-15deg) translate(2px,-5px) } 100% { transform: rotate(-22deg) translate(0,0) } }

.scn-it-is-golconda {
  background: 
    linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 40%, #5a4a3a 100%),
    radial-gradient(ellipse at 50% 80%, #b0a090 0%, transparent 70%);
}
.scn-it-is-golconda .sky-flat {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #c0b0a0 0%, #9a8a7a 100%);
  animation: gol-sky 15s ease-in-out infinite alternate;
}
.scn-it-is-golconda .mine-hill {
  position:absolute; bottom:30%; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
}
.scn-it-is-golconda .mine-shaft {
  position:absolute; bottom:20%; left:40%; width:20%; height:40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.7);
  animation: gol-shaft 20s ease-in-out infinite;
}
.scn-it-is-golconda .worker {
  position:absolute; width:20px; height:40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
}
.scn-it-is-golconda .worker-1 {
  bottom:28%; left:30%; 
  animation: gol-worker1 6s ease-in-out infinite;
}
.scn-it-is-golconda .worker-2 {
  bottom:32%; right:30%; 
  animation: gol-worker2 7s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-it-is-golconda .dust {
  position:absolute; width:8px; height:8px;
  background: rgba(200,180,160,0.4);
  border-radius:50%; filter: blur(3px);
}
.scn-it-is-golconda .dust-1 { top:45%; left:20%; animation: gol-dust1 12s linear infinite; }
.scn-it-is-golconda .dust-2 { top:50%; right:25%; animation: gol-dust2 15s linear infinite; animation-delay: -4s; }
.scn-it-is-golconda .light-haze {
  position:absolute; top:10%; left:30%; width:40%; height:60%;
  background: radial-gradient(ellipse, rgba(220,200,180,0.15) 0%, transparent 70%);
  animation: gol-haze 10s ease-in-out infinite alternate;
}
@keyframes gol-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes gol-shaft { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes gol-worker1 { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(8px) rotate(2deg) } }
@keyframes gol-worker2 { 0% { transform: translateX(0) rotate(2deg) } 100% { transform: translateX(-10px) rotate(-2deg) } }
@keyframes gol-dust1 { 0% { transform: translateY(0) scale(1); opacity:0 } 10% { opacity:0.6 } 90% { opacity:0.6 } 100% { transform: translateY(-60px) scale(2); opacity:0 } }
@keyframes gol-dust2 { 0% { transform: translateY(0) scale(1); opacity:0 } 10% { opacity:0.5 } 90% { opacity:0.5 } 100% { transform: translateY(-80px) scale(2.5); opacity:0 } }
@keyframes gol-haze { 0% { transform: translateX(-10px) scale(0.95); opacity:0.3 } 50% { transform: translateX(10px) scale(1.05); opacity:0.6 } 100% { transform: translateX(-5px) scale(0.95); opacity:0.4 } }

.scn-gave-self-to-him {
  background: 
    linear-gradient(180deg, #b0a8a0 0%, #90847a 40%, #6a5e54 100%),
    radial-gradient(ellipse at 50% 70%, #c0b8a8 0%, transparent 60%);
}
.scn-gave-self-to-him .room-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #c8beb0 0%, #a09486 100%);
}
.scn-gave-self-to-him .table {
  position:absolute; bottom:15%; left:20%; right:20%; height:15%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
}
.scn-gave-self-to-him .contract {
  position:absolute; bottom:28%; left:45%; width:30%; height:8%;
  background: linear-gradient(135deg, #e8ddd0 0%, #c8b8a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: gsh-contract 8s ease-in-out infinite;
}
.scn-gave-self-to-him .figure-sit {
  position:absolute; bottom:28%; left:25%; width:40px; height:70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: gsh-figure 10s ease-in-out infinite alternate;
}
.scn-gave-self-to-him .hand-extend {
  position:absolute; bottom:32%; left:40%; width:24px; height:30px;
  background: linear-gradient(180deg, #c8a080 0%, #a08060 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(20deg);
  animation: gsh-hand 6s ease-in-out infinite;
}
.scn-gave-self-to-him .seal {
  position:absolute; bottom:30%; left:55%; width:16px; height:16px;
  background: radial-gradient(circle, #b05040 0%, #803020 70%);
  border-radius:50%;
  box-shadow: 0 0 8px 2px rgba(176,80,64,0.5);
  animation: gsh-seal 5s ease-in-out infinite alternate;
}
.scn-gave-self-to-him .window-glow {
  position:absolute; top:8%; left:10%; width:25%; height:35%;
  background: radial-gradient(ellipse at 50% 30%, rgba(200,190,170,0.4) 0%, transparent 70%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 0 30px rgba(220,210,190,0.3);
  animation: gsh-window 12s ease-in-out infinite alternate;
}
@keyframes gsh-contract { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(0.5deg) } }
@keyframes gsh-figure { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) translateY(-2px) } 100% { transform: rotate(0deg) } }
@keyframes gsh-hand { 0%,100% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(25deg) translateY(-3px) } }
@keyframes gsh-seal { 0% { transform: scale(1); opacity:0.8 } 100% { transform: scale(1.2); opacity:1 } }
@keyframes gsh-window { 0% { opacity:0.2 } 50% { opacity:0.6 } 100% { opacity:0.3 } }

.scn-going-to-him-happy-letter {
  background: 
    linear-gradient(180deg, #2a2020 0%, #3a2820 40%, #4a3020 100%),
    radial-gradient(ellipse at 50% 60%, #5a3a2a 0%, transparent 70%);
}
.scn-going-to-him-happy-letter .desk-top {
  position:absolute; bottom:0; left:10%; right:10%; height:45%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
}
.scn-going-to-him-happy-letter .paper {
  position:absolute; bottom:30%; left:30%; width:40%; height:30%;
  background: linear-gradient(135deg, #f0e8d0 0%, #d0c8a0 100%);
  border-radius: 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: hl-paper 10s ease-in-out infinite;
}
.scn-going-to-him-happy-letter .quill {
  position:absolute; bottom:45%; left:55%; width:50px; height:80px;
  background: linear-gradient(180deg, #e0d0b0 0%, #c0a080 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  transform: rotate(-20deg);
  transform-origin: bottom center;
  animation: hl-quill 4s ease-in-out infinite alternate;
}
.scn-going-to-him-happy-letter .inkwell {
  position:absolute; bottom:42%; left:20%; width:24px; height:30px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-going-to-him-happy-letter .candle {
  position:absolute; bottom:32%; left:70%; width:16px; height:50px;
  background: linear-gradient(180deg, #f0e0c8 0%, #d0c0a0 100%);
  border-radius: 4px;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.2);
  animation: hl-candle 12s ease-in-out infinite;
}
.scn-going-to-him-happy-letter .flame {
  position:absolute; bottom:58%; left:71.5%; width:10px; height:20px;
  background: radial-gradient(ellipse at 50% 30%, #ffe080 0%, #ffa030 50%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  animation: hl-flame 1.5s ease-in-out infinite alternate;
  box-shadow: 0 0 20px 6px rgba(255,160,48,0.5);
}
.scn-going-to-him-happy-letter .hand-write {
  position:absolute; bottom:48%; left:45%; width:30px; height:40px;
  background: linear-gradient(180deg, #c8a080 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(10deg);
  animation: hl-hand 6s ease-in-out infinite alternate;
}
.scn-going-to-him-happy-letter .blot {
  position:absolute; bottom:38%; left:40%; width:12px; height:12px;
  background: radial-gradient(circle, #2a2a3a 0%, #1a1a2a 80%);
  border-radius:50%;
  opacity:0.6;
  animation: hl-blot 8s ease-in-out infinite;
}
@keyframes hl-paper { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes hl-quill { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-10deg) } 100% { transform: rotate(-20deg) } }
@keyframes hl-candle { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes hl-flame { 0% { transform: scaleY(1) scaleX(0.9); opacity:0.8 } 100% { transform: scaleY(1.3) scaleX(1.1); opacity:1 } }
@keyframes hl-hand { 0% { transform: rotate(10deg) translateY(0) } 100% { transform: rotate(15deg) translateY(-3px) } }
@keyframes hl-blot { 0%,100% { opacity:0.4; transform: scale(1) } 50% { opacity:0.7; transform: scale(1.2) } }

/* light-exists-spring */
.scn-light-exists-spring {
  background: linear-gradient(180deg, #f9e3d0 0%, #e8c9b0 30%, #d4b89a 60%, #b89e7e 100%),
              radial-gradient(ellipse at 50% 0%, #ffe8d0 0%, transparent 60%);
}
.scn-light-exists-spring .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #fce8d8 0%, #f5dfd0 40%, transparent 100%); animation:les-sky 12s ease-in-out infinite alternate; }
.scn-light-exists-spring .hills { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(180deg, #a3b89a 0%, #7a9a6a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.15); animation:les-hills 18s ease-in-out infinite alternate; }
.scn-light-exists-spring .lawn { position:absolute; bottom:10%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%); border-radius: 0 0 20% 20%; animation:les-lawn 20s ease-in-out infinite alternate; }
.scn-light-exists-spring .tree { position:absolute; bottom:30%; left:35%; width:40px; height:80px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:les-tree 15s ease-in-out infinite; }
.scn-light-exists-spring .tree-distant { position:absolute; bottom:38%; right:20%; width:25px; height:50px; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform:scale(0.7); animation:les-tree-distant 25s ease-in-out infinite; }
.scn-light-exists-spring .glow { position:absolute; bottom:40%; left:30%; width:60px; height:60px; background: radial-gradient(circle, #ffd8b0 0%, #ffe0c0 30%, transparent 70%); border-radius:50%; filter:blur(15px); animation:les-glow 6s ease-in-out infinite alternate; }
.scn-light-exists-spring .cloud { position:absolute; top:15%; left:10%; width:120px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%); border-radius:50%; filter:blur(8px); animation:les-cloud 40s linear infinite; }
@keyframes les-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes les-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes les-lawn { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes les-tree { 0% { transform: rotate(-1deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes les-tree-distant { 0% { transform: scale(0.7) translateX(0); } 50% { transform: scale(0.72) translateX(5px); } 100% { transform: scale(0.7) translateX(0); } }
@keyframes les-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.3); } 100% { opacity:0.7; transform:scale(1.1); } }
@keyframes les-cloud { 0% { transform: translateX(-30px); } 100% { transform: translateX(120vw); } }

/* lady-red-lady-white */
.scn-lady-red-lady-white {
  background: linear-gradient(180deg, #f7e8d0 0%, #e0d0b8 30%, #c4b89a 60%, #a89a7e 100%),
              radial-gradient(ellipse at 70% 50%, #ffe8d0 0%, transparent 60%);
}
.scn-lady-red-lady-white .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #fce8d8 0%, #f0dcc8 40%, transparent 100%); animation:lrlw-sky 14s ease-in-out infinite alternate; }
.scn-lady-red-lady-white .field { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #7a9a6a 0%, #5a7a4a 100%); border-radius: 0 0 30% 30%; animation:lrlw-field 20s ease-in-out infinite alternate; }
.scn-lady-red-lady-white .hill { position:absolute; bottom:30%; right:10%; width:40%; height:40%; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%); border-radius: 50% 0 0 50% / 100% 0 0 50%; animation:lrlw-hill 18s ease-in-out infinite alternate; }
.scn-lady-red-lady-white .lady-red { position:absolute; bottom:35%; left:15%; width:20px; height:45px; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:lrlw-lady-red 6s ease-in-out infinite; }
.scn-lady-red-lady-white .lady-white { position:absolute; bottom:12%; left:45%; width:18px; height:40px; background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b8 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:lrlw-lady-white 8s ease-in-out infinite; }
.scn-lady-red-lady-white .breeze { position:absolute; bottom:20%; left:0; right:0; height:4px; background: linear-gradient(90deg, transparent 0%, rgba(200,200,200,0.3) 20%, transparent 40%); border-radius:50%; filter:blur(2px); animation:lrlw-breeze 5s linear infinite; }
.scn-lady-red-lady-white .tree { position:absolute; bottom:40%; left:70%; width:30px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:lrlw-tree 15s ease-in-out infinite; }
@keyframes lrlw-sky { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes lrlw-field { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes lrlw-hill { 0% { transform: translateX(0); } 50% { transform: translateX(-5px); } 100% { transform: translateX(0); } }
@keyframes lrlw-lady-red { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes lrlw-lady-white { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes lrlw-breeze { 0% { transform: translateX(-20%); } 100% { transform: translateX(120%); } }
@keyframes lrlw-tree { 0% { transform: rotate(-1deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }

/* dear-march-come-in */
.scn-dear-march-come-in {
  background: linear-gradient(180deg, #f0dcc8 0%, #e0c8b0 30%, #c8b098 60%, #b09880 100%),
              radial-gradient(ellipse at 50% 20%, #ffe8d0 0%, transparent 70%);
}
.scn-dear-march-come-in .wall-left { position:absolute; top:0; left:0; width:35%; height:100%; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-right:3px solid #a09080; }
.scn-dear-march-come-in .wall-right { position:absolute; top:0; right:0; width:35%; height:100%; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-left:3px solid #a09080; }
.scn-dear-march-come-in .window { position:absolute; top:10%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #ffe8d8 0%, #f0dcc8 100%); border:5px solid #8a7a6a; border-radius:5px; box-shadow: inset 0 0 20px rgba(255,200,150,0.3); animation:dmci-window 8s ease-in-out infinite alternate; }
.scn-dear-march-come-in .door { position:absolute; bottom:0; left:25%; width:60px; height:120px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 10% 10% 0 0; border:3px solid #3a2a1a; transform-origin: bottom center; animation:dmci-door 6s ease-in-out infinite; }
.scn-dear-march-come-in .stairs { position:absolute; bottom:0; left:35%; width:30%; height:80px; background: repeating-linear-gradient(0deg, #8a7a6a 0px, #8a7a6a 15px, #7a6a5a 15px, #7a6a5a 30px); transform: skewX(-20deg); animation:dmci-stairs 12s ease-in-out infinite alternate; }
.scn-dear-march-come-in .figure-speaker { position:absolute; bottom:20%; left:20%; width:20px; height:50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:dmci-speaker 4s ease-in-out infinite; }
.scn-dear-march-come-in .figure-march { position:absolute; bottom:20%; right:20%; width:22px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:dmci-march 5s ease-in-out infinite; }
.scn-dear-march-come-in .hat { position:absolute; top:0; right:15%; width:30px; height:15px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 0 0; transform: rotate(15deg); transform-origin: left; animation:dmci-hat 7s ease-in-out infinite alternate; }
.scn-dear-march-come-in .light-beam { position:absolute; top:10%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, rgba(255,220,180,0.4) 0%, transparent 100%); filter:blur(10px); animation:dmci-light 3s ease-in-out infinite alternate; }
@keyframes dmci-window { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes dmci-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(5deg); } 100% { transform: rotateY(0deg); } }
@keyframes dmci-stairs { 0% { transform: skewX(-20deg) translateX(0); } 50% { transform: skewX(-18deg) translateX(3px); } 100% { transform: skewX(-20deg) translateX(0); } }
@keyframes dmci-speaker { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-5px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes dmci-march { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dmci-hat { 0% { transform: rotate(15deg); } 50% { transform: rotate(25deg); } 100% { transform: rotate(15deg); } }
@keyframes dmci-light { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.4; } }

/* like-march-purple */
.scn-like-march-purple {
  background: linear-gradient(180deg, #e8c8a0 0%, #d4b090 30%, #c09880 60%, #a88070 100%),
              radial-gradient(ellipse at 30% 40%, #ffe0c0 0%, transparent 60%);
}
.scn-like-march-purple .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #fce0c8 0%, #f0c8a8 40%, transparent 100%); animation:lmp-sky 12s ease-in-out infinite alternate; }
.scn-like-march-purple .ground { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; animation:lmp-ground 18s ease-in-out infinite alternate; }
.scn-like-march-purple .sun { position:absolute; top:10%; left:20%; width:80px; height:80px; background: radial-gradient(circle, #ffd8a0 0%, #ffc080 50%, transparent 70%); border-radius:50%; filter:blur(10px); animation:lmp-sun 10s ease-in-out infinite alternate; }
.scn-like-march-purple .figure-march { position:absolute; bottom:30%; left:50%; width:25px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:lmp-figure 5s ease-in-out infinite; }
.scn-like-march-purple .shoes { position:absolute; bottom:30%; left:48%; width:30px; height:10px; background: linear-gradient(90deg, #5a3a5a 0%, #7a5a7a 100%); border-radius: 40% 40% 0 0; transform:translateX(-50%); animation:lmp-shoes 3s ease-in-out infinite alternate; }
.scn-like-march-purple .forest { position:absolute; bottom:40%; right:10%; width:40%; height:30%; background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%); border-radius: 60% 0 0 40% / 80% 0 0 60%; clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%); animation:lmp-forest 20s ease-in-out infinite alternate; }
.scn-like-march-purple .adder { position:absolute; bottom:35%; left:25%; width:30px; height:6px; background: linear-gradient(90deg, #5a3a2a 0%, #4a2a1a 100%); border-radius:50%; transform: rotate(20deg); animation:lmp-adder 4s ease-in-out infinite alternate; }
@keyframes lmp-sky { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes lmp-ground { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes lmp-sun { 0% { transform: scale(0.9); opacity:0.7; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(0.95); opacity:0.8; } }
@keyframes lmp-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) translateY(-4px) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes lmp-shoes { 0% { transform: translateX(-50%) rotate(-5deg); } 50% { transform: translateX(-50%) rotate(5deg); } 100% { transform: translateX(-50%) rotate(-5deg); } }
@keyframes lmp-forest { 0% { transform: translateX(0); } 50% { transform: translateX(-5px); } 100% { transform: translateX(0); } }
@keyframes lmp-adder { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(15deg) translateY(2px); } 100% { transform: rotate(20deg) translateY(0); } }

.scn-final-summer-blindness {
  background:
    linear-gradient(180deg, #1c1630 0%, #3d2a44 30%, #6b4b5a 60%, #945c4a 100%),
    radial-gradient(ellipse at 50% 70%, #b86a3a 0%, transparent 60%);
}
.scn-final-summer-blindness .dusk-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #2a1f3a 0%, #4d3348 50%, transparent 100%);
  animation: fsm-sky 14s ease-in-out infinite alternate;
}
.scn-final-summer-blindness .distant-hills {
  position: absolute; bottom: 32%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2b2e 0%, #1f1a1c 100%);
  border-radius: 60% 40% 0 0 / 70% 50% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,.5);
  animation: fsm-hills 20s ease-in-out infinite alternate;
}
.scn-final-summer-blindness .figure-silhouette {
  position: absolute; bottom: 27%; left: 55%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #0f0c12 0%, #1a141c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fsm-figure 5s ease-in-out infinite;
}
.scn-final-summer-blindness .sun-disc {
  position: absolute; bottom: 42%; left: 40%; width: 80px; height: 80px;
  background: radial-gradient(circle, #f0a050 0%, #d07030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #d07030, 0 0 120px 40px rgba(208,112,48,.4);
  animation: fsm-sun 8s ease-in-out infinite alternate;
}
.scn-final-summer-blindness .path-glow {
  position: absolute; bottom: 22%; left: 40%; width: 120px; height: 8px;
  background: linear-gradient(90deg, transparent 0%, #b86a3a 30%, #ffc080 50%, #b86a3a 70%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: fsm-path 6s ease-in-out infinite;
}
.scn-final-summer-blindness .tree-left {
  position: absolute; bottom: 25%; left: 15%; width: 30px; height: 120px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  box-shadow: -5px 0 10px rgba(0,0,0,.6);
  animation: fsm-tree 12s ease-in-out infinite alternate;
}
.scn-final-summer-blindness .tree-right {
  position: absolute; bottom: 25%; right: 12%; width: 25px; height: 100px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  box-shadow: 5px 0 10px rgba(0,0,0,.6);
  animation: fsm-tree 14s ease-in-out infinite alternate;
}
@keyframes fsm-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes fsm-hills { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes fsm-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(5px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(0) } 100% { transform: translateX(20px) translateY(0) rotate(-2deg) } }
@keyframes fsm-sun { 0% { transform: scale(1) translateY(0); opacity:.9 } 50% { transform: scale(1.05) translateY(-5px); opacity:1 } 100% { transform: scale(.95) translateY(3px); opacity:.85 } }
@keyframes fsm-path { 0%,100% { opacity:.3 } 50% { opacity:.6 } }
@keyframes fsm-tree { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }

.scn-haunted-brain {
  background:
    linear-gradient(135deg, #1a1a2e 0%, #2a2a44 40%, #1a1a2e 100%),
    radial-gradient(circle at 70% 30%, #3a3a5a 0%, transparent 70%);
}
.scn-haunted-brain .corridor-walls {
  position: absolute; inset: 0 10% 0 10%;
  background: linear-gradient(180deg, #2e2e48 0%, #1a1a30 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: hb-walls 10s ease-in-out infinite alternate;
}
.scn-haunted-brain .corridor-floor {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 25%;
  background: linear-gradient(180deg, #2a2a44 0%, #1a1a2e 100%);
  border-radius: 0 0 10% 10%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-haunted-brain .figure-ghost {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 70px;
  background: linear-gradient(180deg, rgba(220,220,240,.2) 0%, rgba(180,180,200,.05) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(3px);
  box-shadow: 0 0 30px 10px rgba(200,200,255,.1);
  animation: hb-ghost 6s ease-in-out infinite alternate;
}
.scn-haunted-brain .door-shape {
  position: absolute; bottom: 5%; left: 30%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a1a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 0 20px 5px rgba(0,0,0,.4);
  animation: hb-door 8s ease-in-out infinite;
}
.scn-haunted-brain .window-light {
  position: absolute; bottom: 35%; left: 25%; width: 20px; height: 30px;
  background: radial-gradient(circle, #f0e0c0 0%, #c0a080 60%, transparent 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 30px 10px #c0a080, 0 0 60px 20px rgba(192,160,128,.3);
  animation: hb-window 4s ease-in-out infinite alternate;
}
.scn-haunted-brain .shadow-creep {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, #0a0a14 100%);
  animation: hb-shadow 12s ease-in-out infinite;
}
@keyframes hb-walls { 0% { transform: perspective(800px) rotateY(0deg) } 50% { transform: perspective(800px) rotateY(3deg) } 100% { transform: perspective(800px) rotateY(0deg) } }
@keyframes hb-ghost { 0% { transform: translateY(0) scale(1) rotate(-2deg); opacity:.4 } 50% { transform: translateY(-10px) scale(1.1) rotate(0); opacity:.7 } 100% { transform: translateY(0) scale(1) rotate(2deg); opacity:.4 } }
@keyframes hb-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.98) } }
@keyframes hb-window { 0% { opacity:.6; box-shadow: 0 0 20px 5px #c0a080 } 50% { opacity:1; box-shadow: 0 0 40px 12px #e0c0a0 } 100% { opacity:.7; box-shadow: 0 0 25px 8px #c0a080 } }
@keyframes hb-shadow { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }

.scn-majesty-of-death {
  background:
    linear-gradient(180deg, #2a1a1a 0%, #4a2a2a 30%, #3a1a1a 100%),
    radial-gradient(circle at 50% 40%, #5e3a3a 0%, transparent 70%);
}
.scn-majesty-of-death .throne-base {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 40%;
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 -10px 30px rgba(0,0,0,.6);
  animation: mod-throne 12s ease-in-out infinite alternate;
}
.scn-majesty-of-death .robed-figure {
  position: absolute; bottom: 15%; left: 38%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #5e3a3a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 40px 10px rgba(0,0,0,.5);
  animation: mod-figure 8s ease-in-out infinite;
}
.scn-majesty-of-death .angel-left {
  position: absolute; bottom: 30%; left: 15%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #c0a080 0%, #8a6a50 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px rgba(192,160,128,.4);
  transform-origin: bottom center;
  animation: mod-angel-l 15s ease-in-out infinite;
}
.scn-majesty-of-death .angel-right {
  position: absolute; bottom: 30%; right: 15%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #c0a080 0%, #8a6a50 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px rgba(192,160,128,.4);
  transform-origin: bottom center;
  animation: mod-angel-r 15s ease-in-out infinite alternate;
}
.scn-majesty-of-death .drapery-back {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #5e1a1d 0%, #3a0a0a 100%);
  border-radius: 0 0 40% 40%;
  box-shadow: 0 10px 30px rgba(0,0,0,.5);
}
.scn-majesty-of-death .crown-glow {
  position: absolute; bottom: 55%; left: 46%; width: 30px; height: 20px;
  background: radial-gradient(circle, #e0c060 0%, #c0a040 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 40px 15px #c0a040, 0 0 80px 30px rgba(192,160,64,.4);
  animation: mod-crown 5s ease-in-out infinite alternate;
}
@keyframes mod-throne { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }
@keyframes mod-figure { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
@keyframes mod-angel-l { 0% { transform: translateX(0) translateY(0) rotate(-5deg) } 33% { transform: translateX(-10px) translateY(-5px) rotate(-8deg) } 66% { transform: translateX(5px) translateY(-2px) rotate(-3deg) } 100% { transform: translateX(0) translateY(0) rotate(-5deg) } }
@keyframes mod-angel-r { 0% { transform: translateX(0) translateY(0) rotate(5deg) } 33% { transform: translateX(10px) translateY(-5px) rotate(8deg) } 66% { transform: translateX(-5px) translateY(-2px) rotate(3deg) } 100% { transform: translateX(0) translateY(0) rotate(5deg) } }
@keyframes mod-crown { 0% { opacity:.7; box-shadow: 0 0 30px 10px #c0a040 } 50% { opacity:1; box-shadow: 0 0 60px 20px #e0c060 } 100% { opacity:.8; box-shadow: 0 0 40px 12px #c0a040 } }

.scn-went-up-year {
  background:
    linear-gradient(180deg, #8a9a8a 0%, #6a7a6a 50%, #5a6a5a 100%),
    radial-gradient(ellipse at 50% 100%, #7a8a6a 0%, transparent 60%);
}
.scn-went-up-year .overcast-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0c0b0 0%, #8a9a8a 80%);
  animation: wyy-sky 20s ease-in-out infinite alternate;
}
.scn-went-up-year .hills-path {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 70% 30% 0 0 / 50% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.3);
  animation: wyy-hills 18s ease-in-out infinite alternate;
}
.scn-went-up-year .figure-climbing {
  position: absolute; bottom: 28%; left: 55%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wyy-climb 6s ease-in-out infinite;
}
.scn-went-up-year .village-houses {
  position: absolute; bottom: 20%; left: 20%; right: 60%; height: 15%;
  background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
  box-shadow: inset 0 -5px 10px rgba(0,0,0,.4);
}
.scn-went-up-year .cloud-slow {
  position: absolute; top: 15%; left: 10%; width: 100px; height: 20px;
  background: linear-gradient(180deg, rgba(200,210,200,.4) 0%, rgba(180,190,180,.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: wyy-cloud 40s linear infinite;
}
.scn-went-up-year .tree-line {
  position: absolute; bottom: 22%; left: 5%; right: 5%; height: 10%;
  background: linear-gradient(180deg, #3a5a2a 0%, #2a4a1a 100%);
  border-radius: 50% 50% 0 0;
  opacity: .7;
  animation: wyy-trees 15s ease-in-out infinite alternate;
}
@keyframes wyy-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes wyy-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) scale(1.01) } 100% { transform: translateY(0) } }
@keyframes wyy-climb { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(6px) translateY(-3px) rotate(0) } 50% { transform: translateX(12px) translateY(0) rotate(2deg) } 75% { transform: translateX(18px) translateY(-2px) rotate(0) } 100% { transform: translateX(24px) translateY(0) rotate(-2deg) } }
@keyframes wyy-cloud { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes wyy-trees { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(1) } }

.scn-wd { background: linear-gradient(180deg, #1a1423 0%, #2a1d3a 40%, #1f142c 100%), radial-gradient(ellipse at 50% 60%, #2a1d3a 0%, transparent 60%); }
.scn-wd .shadow-bg { position:absolute; inset:0; background: radial-gradient(circle at 20% 50%, rgba(20,10,30,0.9) 0%, transparent 70%); animation: wd-shadow 8s ease-in-out infinite alternate; }
.scn-wd .wall { position:absolute; bottom:50%; left:15%; right:15%; height:70%; background: linear-gradient(180deg, #3a2a4a 0%, #1a1222 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.7); }
.scn-wd .floor { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 0 0 20% 20%; }
.scn-wd .figure { position:absolute; bottom:28%; left:40%; width:22px; height:50px; background: linear-gradient(180deg, #0a0a14 0%, #1a1020 50%, #0a0a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wd-figure 4s ease-in-out infinite; }
.scn-wd .mirror { position:absolute; bottom:42%; left:55%; width:30px; height:40px; background: linear-gradient(135deg, rgba(200,180,220,0.15) 0%, rgba(180,160,200,0.05) 100%); border: 1px solid rgba(160,140,180,0.3); border-radius: 8%; box-shadow: 0 0 20px rgba(160,140,180,0.2); animation: wd-mirror 12s ease-in-out infinite alternate; }
.scn-wd .candle { position:absolute; bottom:35%; left:30%; width:6px; height:12px; background: linear-gradient(180deg, #f0c080 0%, #b08050 100%); border-radius: 10%; box-shadow: 0 0 16px 6px rgba(200,150,80,0.4), 0 0 30px 12px rgba(200,150,80,0.15); animation: wd-candle 3s ease-in-out infinite alternate; }
.scn-wd .doubt-hand { position:absolute; bottom:30%; left:55%; width:12px; height:18px; background: linear-gradient(180deg, #1a1020 0%, #0a0a14 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom left; animation: wd-hand 5s ease-in-out infinite; }
@keyframes wd-shadow { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes wd-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(-2px) translateY(-1px) rotate(-2deg) } 50% { transform: translateX(2px) translateY(0) rotate(2deg) } 75% { transform: translateX(-1px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes wd-mirror { 0% { opacity:0.5; transform: scaleX(1) } 50% { opacity:0.7; transform: scaleX(1.02) } 100% { opacity:0.4; transform: scaleX(0.98) } }
@keyframes wd-candle { 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 14px 4px rgba(200,150,80,0.4) } 50% { transform: scaleY(1.03) translateY(-1px); box-shadow: 0 0 22px 8px rgba(200,150,80,0.5) } 100% { transform: scaleY(0.97) translateY(1px); box-shadow: 0 0 14px 4px rgba(200,150,80,0.3) } }
@keyframes wd-hand { 0% { transform: translate(0,0) rotate(5deg) } 30% { transform: translate(3px,-2px) rotate(-3deg) } 60% { transform: translate(-2px,1px) rotate(2deg) } 100% { transform: translate(0,0) rotate(5deg) } }

.scn-obe { background: linear-gradient(180deg, #c8d6d6 0%, #9fb0b8 30%, #7c8f96 100%), radial-gradient(ellipse at 50% 30%, #b0c4c8 0%, transparent 50%); }
.scn-obe .overcast-sky { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(200,210,215,0.2) 100%); animation: obe-sky 20s ease-in-out infinite alternate; }
.scn-obe .distant-hill { position:absolute; bottom:30%; left:0; right:0; height:40%; background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 100%); border-radius: 70% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); animation: obe-hill 25s ease-in-out infinite; }
.scn-obe .blessed-tree { position:absolute; bottom:35%; left:50%; width:60px; height:90px; transform: translateX(-50%); background: linear-gradient(180deg, #3c4c3c 0%, #2a3a2a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; box-shadow: 0 0 40px 10px rgba(50,70,50,0.5); animation: obe-tree 15s ease-in-out infinite alternate; }
.scn-obe .small-figure { position:absolute; bottom:30%; left:45%; width:10px; height:24px; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); border-radius: 50% 50% 30% 30%; transform-origin: bottom center; animation: obe-figure 8s ease-in-out infinite; }
.scn-obe .soft-drifter { position:absolute; top:20%; left:30%; width:40px; height:10px; background: linear-gradient(90deg, rgba(255,255,255,0.2) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: obe-drift 30s linear infinite; }
@keyframes obe-sky { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes obe-hill { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.005) } 100% { transform: translateY(0) scale(1) } }
@keyframes obe-tree { 0% { transform: translateX(-50%) rotate(0deg) scale(1) } 50% { transform: translateX(-50%) rotate(1deg) scale(1.01) } 100% { transform: translateX(-50%) rotate(-1deg) scale(0.98) } }
@keyframes obe-figure { 0% { transform: translateY(0) rotate(0deg) } 40% { transform: translateY(-2px) rotate(2deg) } 80% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes obe-drift { 0% { transform: translateX(-50px) } 100% { transform: translateX(150vw) } }

.scn-rc { background: linear-gradient(135deg, #f2d9c4 0%, #e0c2a0 30%, #c8a57a 100%), radial-gradient(ellipse at 30% 80%, #e8c4a8 0%, transparent 60%); }
.scn-rc .sunny-garden { position:absolute; inset:0; background: radial-gradient(circle at 50% 80%, rgba(200,180,140,0.3) 0%, transparent 70%); animation: rc-garden 10s ease-in-out infinite alternate; }
.scn-rc .large-rose { position:absolute; bottom:20%; left:45%; width:80px; height:70px; transform: translateX(-50%); background: radial-gradient(circle at 50% 60%, #c8553d 0%, #a0461a 50%, #7a2a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 30px 8px rgba(200,85,61,0.3); animation: rc-rose 6s ease-in-out infinite; }
.scn-rc .hand-figure { position:absolute; bottom:35%; left:35%; width:20px; height:28px; background: linear-gradient(180deg, #e8c8b0 0%, #d0a888 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rc-hand 5s ease-in-out infinite; }
.scn-rc .falling-petal { position:absolute; top:10%; left:40%; width:8px; height:6px; background: #c8553d; border-radius: 50% 0 50% 0; opacity:0.8; animation: rc-petal 8s linear infinite; }
.scn-rc .bumble-bee { position:absolute; top:30%; left:60%; width:12px; height:8px; background: linear-gradient(135deg, #f0d080 0%, #d0a050 50%, #f0d080 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(200,150,80,0.4); animation: rc-bee 4s ease-in-out infinite; }
.scn-rc .bloom-stem { position:absolute; bottom:20%; left:45%; width:4px; height:50px; transform: translateX(-50%); background: linear-gradient(180deg, #4a7a3a 0%, #2a5a1a 100%); border-radius: 2px; }
@keyframes rc-garden { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes rc-rose { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) rotate(2deg) } 100% { transform: translateX(-50%) scale(0.98) rotate(-2deg) } }
@keyframes rc-hand { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 30% { transform: translateX(10px) translateY(-2px) rotate(2deg) } 60% { transform: translateX(5px) translateY(0) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes rc-petal { 0% { transform: translateY(0) rotate(0deg); opacity:0.8 } 50% { transform: translateY(50px) rotate(180deg); opacity:0.4 } 100% { transform: translateY(100px) rotate(360deg); opacity:0 } }
@keyframes rc-bee { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(8px, -4px) rotate(10deg) } 50% { transform: translate(16px, 2px) rotate(-5deg) } 75% { transform: translate(8px, -2px) rotate(5deg) } 100% { transform: translate(0,0) rotate(0deg) } }

.scn-sft { background: linear-gradient(180deg, #e8f0e0 0%, #c8d8b0 40%, #a0c080 100%), radial-gradient(ellipse at 50% 60%, #d0e0b8 0%, transparent 50%); }
.scn-sft .bright-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c0d8e8 0%, #e8f0e0 100%); animation: sft-sky 12s ease-in-out infinite alternate; }
.scn-sft .flower-field { position:absolute; bottom:0; left:-10%; right:-10%; height:70%; background: linear-gradient(180deg, #8aac6a 0%, #6a8a4a 50%, #5a7a3a 100%); border-radius: 40% 60% 0 0; box-shadow: inset 0 20px 20px rgba(0,0,0,0.2); animation: sft-field 20s ease-in-out infinite; }
.scn-sft .figure-silhouette { position:absolute; bottom:30%; left:50%; width:20px; height:55px; transform: translateX(-50%); background: linear-gradient(180deg, #2a3a1a 0%, #1a2a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sft-figure 8s ease-in-out infinite; }
.scn-sft .rising-blossom { position:absolute; bottom:40%; left:40%; width:10px; height:8px; background: #f0d090; border-radius: 50%; opacity:0.8; animation: sft-blossom 12s linear infinite; }
.scn-sft .oriole-bird { position:absolute; top:15%; left:70%; width:14px; height:10px; background: radial-gradient(circle at 50% 50%, #e09030 0%, #b07020 100%); border-radius: 50% 50% 20% 20%; transform: rotate(-10deg); animation: sft-bird 6s ease-in-out infinite; }
.scn-sft .whippoorwill { position:absolute; top:25%; left:20%; width:12px; height:9px; background: radial-gradient(circle at 50% 50%, #7a6a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 20% 20%; animation: sft-whip 7s ease-in-out infinite; }
@keyframes sft-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes sft-field { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.005) } 100% { transform: translateY(0) scale(1) } }
@keyframes sft-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 25% { transform: translateX(-50%) translateY(-2px) rotate(2deg) } 75% { transform: translateX(-50%) translateY(1px) rotate(-1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes sft-blossom { 0% { transform: translate(0,0) scale(1); opacity:0.8 } 50% { transform: translate(-20px, -60px) scale(1.2); opacity:0.4 } 100% { transform: translate(-40px, -120px) scale(1); opacity:0 } }
@keyframes sft-bird { 0% { transform: translate(0,0) rotate(-10deg) } 50% { transform: translate(10px,-4px) rotate(-5deg) } 100% { transform: translate(0,0) rotate(-10deg) } }
@keyframes sft-whip { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(-8px,-2px) rotate(5deg) } 100% { transform: translate(0,0) rotate(0deg) } }

.scn-mystery-well {
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 40%, #2a2a3a 100%),
              radial-gradient(ellipse at 50% 100%, #5a5a6a 0%, transparent 60%);
}
.scn-mystery-well .mw-sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #7a7a8a 0%, #4a4a5a 100%); animation: mw-sky 14s ease-in-out infinite alternate; }
.scn-mystery-well .mw-grass { position:absolute; bottom:50%; left:0; right:0; height:8%; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border-radius: 30% 70% 0 0; animation: mw-grass 5s ease-in-out infinite; }
.scn-mystery-well .mw-rim { position:absolute; bottom:40%; left:40%; width:20%; height:4%; background: linear-gradient(90deg, #5a5a5a 0%, #7a7a7a 50%, #5a5a5a 100%); border-radius: 20%; box-shadow: 0 -2px 6px rgba(0,0,0,.3); }
.scn-mystery-well .mw-water { position:absolute; bottom:32%; left:45%; width:10%; height:8%; background: radial-gradient(ellipse 60% 40% at 50% 60%, #2a3a4a 0%, #1a2a3a 100%); border-radius: 50%; box-shadow: inset 0 0 12px #0a1a2a; animation: mw-water 3s ease-in-out infinite alternate; }
.scn-mystery-well .mw-reflection { position:absolute; bottom:32%; left:45%; width:10%; height:8%; background: linear-gradient(180deg, rgba(90,100,120,.3) 0%, transparent 100%); border-radius: 50%; animation: mw-reflection 4s ease-in-out infinite; }
.scn-mystery-well .mw-figure { position:absolute; bottom:42%; left:44%; width:8px; height:16px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: mw-figure 6s ease-in-out infinite; }
@keyframes mw-sky { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes mw-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes mw-water { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) translateY(-1px) } 100% { transform: scaleY(1) } }
@keyframes mw-reflection { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .2 } }
@keyframes mw-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(4deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-3px) rotate(-4deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-light-fashionless {
  background: linear-gradient(180deg, #b0b8c0 0%, #889098 50%, #606870 100%),
              radial-gradient(ellipse at 50% 0%, #c8d0d8 0%, transparent 70%);
}
.scn-light-fashionless .lf-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #c0c8d0 0%, #a0a8b0 100%); animation: lf-sky 20s ease-in-out infinite alternate; }
.scn-light-fashionless .lf-trees-bg { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a5058 0%, #303840 100%); border-radius: 60% 40% 0 0 / 50% 30% 0 0; animation: lf-trees 30s ease-in-out infinite alternate; }
.scn-light-fashionless .lf-ground { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #606866 0%, #484e4c 100%); border-radius: 20% 80% 0 0; }
.scn-light-fashionless .lf-bee { position:absolute; bottom:50%; left:30%; width:6px; height:4px; background: #606868; border-radius: 50%; animation: lf-bee 12s ease-in-out infinite; }
.scn-light-fashionless .lf-light { position:absolute; top:10%; left:45%; width:12px; height:18px; background: radial-gradient(circle, rgba(255,255,240,.4) 0%, transparent 70%); filter: blur(4px); animation: lf-light 8s ease-in-out infinite alternate; }
@keyframes lf-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes lf-trees { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(-4px) scaleY(1.01) } 100% { transform: translateX(2px) scaleY(1) } }
@keyframes lf-bee { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(10px,-5px) rotate(10deg) } 50% { transform: translate(20px,2px) rotate(-5deg) } 75% { transform: translate(5px,-3px) rotate(8deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes lf-light { 0% { opacity: .2; transform: scale(1) } 50% { opacity: .6; transform: scale(1.3) } 100% { opacity: .2; transform: scale(1) } }

.scn-dew-sufficient {
  background: linear-gradient(180deg, #f0d8a0 0%, #e0b878 40%, #c89858 100%),
              radial-gradient(ellipse at 50% 0%, #ffecb0 0%, transparent 60%);
}
.scn-dew-sufficient .ds-sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #ffd8b0 0%, #f0c088 100%); animation: ds-sky 18s ease-in-out infinite alternate; }
.scn-dew-sufficient .ds-leaf { position:absolute; bottom:10%; left:15%; width:70%; height:45%; background: linear-gradient(180deg, #5a8040 0%, #3a6028 100%); border-radius: 60% 40% 50% 50% / 70% 50% 60% 40%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.3); animation: ds-leaf 14s ease-in-out infinite alternate; }
.scn-dew-sufficient .ds-dew { position:absolute; bottom:35%; left:40%; width:18px; height:14px; background: radial-gradient(circle, #ffffff 0%, #d8e8f0 50%, #b0c8d8 100%); border-radius: 50%; box-shadow: 0 0 12px 4px rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.1); animation: ds-dew 6s ease-in-out infinite; }
.scn-dew-sufficient .ds-sun { position:absolute; top:8%; left:35%; width:30px; height:30px; background: radial-gradient(circle, #ffe080 0%, #ffc040 60%, transparent 80%); border-radius: 50%; animation: ds-sun 20s ease-in-out infinite alternate; }
.scn-dew-sufficient .ds-stem { position:absolute; bottom:0; left:60%; width:4px; height:15%; background: linear-gradient(180deg, #4a6a2a 0%, #2a4a1a 100%); border-radius: 2px; transform-origin: bottom; animation: ds-stem 12s ease-in-out infinite; }
@keyframes ds-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes ds-leaf { 0% { transform: rotate(0deg) scale(1) } 50% { transform: rotate(1deg) scale(1.005) } 100% { transform: rotate(-1deg) scale(1) } }
@keyframes ds-dew { 0% { transform: scale(1) translate(0,0) } 33% { transform: scale(1.03) translate(1px,-1px) } 66% { transform: scale(.98) translate(-1px,1px) } 100% { transform: scale(1) translate(0,0) } }
@keyframes ds-sun { 0% { transform: translate(0,0) scale(1); opacity: .8 } 50% { transform: translate(2px,-3px) scale(1.05); opacity: 1 } 100% { transform: translate(-2px,1px) scale(1); opacity: .85 } }
@keyframes ds-stem { 0% { transform: rotate(-1deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }

.scn-bill-auger {
  background: linear-gradient(180deg, #78a8d0 0%, #a0c8e0 50%, #c8e0f0 100%),
              radial-gradient(ellipse at 50% 100%, #b0d8e8 0%, transparent 60%);
}
.scn-bill-auger .ba-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #90c0e0 0%, #b0d8f0 100%); animation: ba-sky 20s ease-in-out infinite alternate; }
.scn-bill-auger .ba-sun { position:absolute; top:6%; right:15%; width:28px; height:28px; background: radial-gradient(circle, #ffe870 0%, #ffd050 60%, transparent 80%); border-radius: 50%; animation: ba-sun 22s ease-in-out infinite alternate; }
.scn-bill-auger .ba-water { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #3a6a4a 0%, #2a4a3a 100%); border-radius: 70% 30% 0 0; animation: ba-water 8s ease-in-out infinite; }
.scn-bill-auger .ba-trunk { position:absolute; bottom:30%; left:20%; width:12px; height:40%; background: linear-gradient(90deg, #5a3a2a 0%, #7a5a4a 40%, #4a2a1a 100%); border-radius: 3px; transform-origin: bottom center; animation: ba-trunk 6s ease-in-out infinite; }
.scn-bill-auger .ba-leaves { position:absolute; bottom:60%; left:18%; width:40px; height:20px; background: linear-gradient(180deg, #4a7a3a 0%, #2a5a2a 100%); border-radius: 60% 40% 50% 50% / 40% 60% 40% 60%; animation: ba-leaves 12s ease-in-out infinite alternate; }
.scn-bill-auger .ba-bird { position:absolute; bottom:55%; left:20%; width:8px; height:14px; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: top; animation: ba-bird 0.8s ease-in-out infinite alternate; }
.scn-bill-auger .ba-snake { position:absolute; bottom:20%; left:50%; width:30px; height:6px; background: linear-gradient(90deg, #3a5a2a 0%, #2a4a1a 100%); border-radius: 50%; animation: ba-snake 10s ease-in-out infinite; }
@keyframes ba-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes ba-sun { 0% { transform: translate(0,0) scale(1); opacity: .8 } 50% { transform: translate(1px,-2px) scale(1.02); opacity: 1 } 100% { transform: translate(-1px,1px) scale(1); opacity: .85 } }
@keyframes ba-water { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ba-trunk { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }
@keyframes ba-leaves { 0% { transform: scale(1) } 50% { transform: scale(1.03) rotate(-2deg) } 100% { transform: scale(1) rotate(2deg) } }
@keyframes ba-bird { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes ba-snake { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) rotate(3deg) } 50% { transform: translateX(10px) rotate(0deg) } 75% { transform: translateX(5px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-morns-meeker-nuts-brown {
  background: linear-gradient(180deg, #c4b9a0 0%, #a8957a 40%, #8b7a63 100%),
              radial-gradient(ellipse at 50% 80%, #b8a58a 0%, transparent 70%);
}
.scn-morns-meeker-nuts-brown .mm-sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #d4c9b0 0%, #b8a58a 50%, #a09078 100%);
  animation: mm-sky 15s ease-in-out infinite alternate;
}
.scn-morns-meeker-nuts-brown .mm-clouds {
  position: absolute; top: 10%; left: 0; right: 0; height: 30%;
  background: repeating-linear-gradient(90deg,
    rgba(255,255,240,0.3) 0px, rgba(255,255,240,0.1) 80px,
    rgba(255,255,240,0.3) 160px, transparent 200px);
  filter: blur(12px);
  animation: mm-drift 40s linear infinite;
}
.scn-morns-meeker-nuts-brown .mm-hill {
  position: absolute; bottom: 30%; left: -10%; right: -10%; height: 40%;
  background: linear-gradient(180deg, #9c8a70 0%, #7a6a54 100%);
  border-radius: 60% 50% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2);
  animation: mm-sway 20s ease-in-out infinite alternate;
}
.scn-morns-meeker-nuts-brown .mm-tree {
  position: absolute; bottom: 44%; left: 55%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #5c4a36 0%, #3a2c1e 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: mm-tree-sway 8s ease-in-out infinite;
}
.scn-morns-meeker-nuts-brown .mm-fence {
  position: absolute; bottom: 38%; left: 20%; width: 50%; height: 4px;
  background: #4a3e2e;
  box-shadow: 0 12px 0 #4a3e2e, 0 24px 0 #4a3e2e;
  border-radius: 2px;
  animation: mm-fence 10s ease-in-out infinite;
}
.scn-morns-meeker-nuts-brown .mm-bush {
  position: absolute; bottom: 36%; left: 65%; width: 40px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #8b6b4a 0%, #6a5030 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  animation: mm-bush-sway 7s ease-in-out infinite alternate;
}
.scn-morns-meeker-nuts-brown .mm-leaves {
  position: absolute; bottom: 35%; left: 50%; width: 80px; height: 60px;
  background: radial-gradient(ellipse at 30% 40%, #b87878 0%, #a0461a 50%, #703010 100%);
  border-radius: 50% 40% 60% 50%;
  filter: blur(3px);
  animation: mm-leaves-drift 12s ease-in-out infinite;
}
@keyframes mm-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes mm-drift {
  0% { transform: translateX(-20%); }
  100% { transform: translateX(20%); }
}
@keyframes mm-sway {
  0% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-3px) translateX(5px); }
  100% { transform: translateY(0) translateX(-3px); }
}
@keyframes mm-tree-sway {
  0%,100% { transform: rotate(-1deg); }
  50% { transform: rotate(2deg); }
}
@keyframes mm-fence {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes mm-bush-sway {
  0% { transform: scale(1) translateX(0); }
  100% { transform: scale(1.05) translateX(4px); }
}
@keyframes mm-leaves-drift {
  0% { transform: translate(0,0) rotate(0deg); }
  50% { transform: translate(3px,-2px) rotate(3deg); }
  100% { transform: translate(-2px,1px) rotate(-2deg); }
}

.scn-hemlock-nature-thrives {
  background: linear-gradient(180deg, #b0b8c0 0%, #8c97a0 30%, #66707a 70%, #4a535c 100%),
              radial-gradient(ellipse at 50% 100%, #a0aab0 0%, transparent 60%);
}
.scn-hemlock-nature-thrives .hn-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #c8d0d8 0%, #a0aab0 50%, #809098 100%);
  animation: hn-sky 18s ease-in-out infinite alternate;
}
.scn-hemlock-nature-thrives .hn-snow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #e8eef0 0%, #d0d8dc 100%);
  border-radius: 30% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.1);
  animation: hn-snow-glint 12s ease-in-out infinite;
}
.scn-hemlock-nature-thrives .hn-hemlock {
  position: absolute; bottom: 40%; left: 30%; width: 80px; height: 160px;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 40%, #1a2a1a 100%);
  border-radius: 30% 30% 15% 15% / 60% 60% 20% 20%;
  box-shadow: inset -10px 0 15px rgba(0,0,0,0.4);
  animation: hn-tree-sway 10s ease-in-out infinite alternate;
}
.scn-hemlock-nature-thrives .hn-children {
  position: absolute; bottom: 25%; left: 50%; width: 18px; height: 24px;
  background: #4a3a3a;
  border-radius: 50% 50% 40% 40%;
  box-shadow: 20px 0 0 #5a4a4a, -15px -2px 0 #3a2a2a;
  animation: hn-run 5s ease-in-out infinite;
}
.scn-hemlock-nature-thrives .hn-dnieper {
  position: absolute; bottom: 15%; left: -5%; right: -5%; height: 10%;
  background: linear-gradient(90deg, #7090a0 0%, #80a0b0 50%, #7090a0 100%);
  border-radius: 0 0 40% 30%;
  opacity: 0.7;
  animation: hn-wave 8s ease-in-out infinite;
}
.scn-hemlock-nature-thrives .hn-club {
  position: absolute; bottom: 30%; left: 45%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 0 0 20% 20%;
  transform: rotate(15deg);
  animation: hn-club-swing 4s ease-in-out infinite;
}
@keyframes hn-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes hn-snow-glint {
  0%,100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes hn-tree-sway {
  0% { transform: rotate(-2deg); }
  100% { transform: rotate(2deg); }
}
@keyframes hn-run {
  0% { transform: translateX(0) scaleY(1); }
  25% { transform: translateX(8px) scaleY(1.02); }
  50% { transform: translateX(16px) scaleY(1); }
  75% { transform: translateX(8px) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes hn-wave {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(4px) scaleX(1.02); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes hn-club-swing {
  0%,100% { transform: rotate(10deg); }
  50% { transform: rotate(25deg); }
}

.scn-one-dignity-delays {
  background: linear-gradient(180deg, #1a1520 0%, #2a2030 30%, #3a2a40 60%, #1a1020 100%),
              radial-gradient(ellipse at 50% 20%, #4a2a50 0%, transparent 70%);
}
.scn-one-dignity-delays .od-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #2a2030 0%, #3a2a40 40%, #2a1a30 100%);
  animation: od-sky 20s ease-in-out infinite alternate;
}
.scn-one-dignity-delays .od-purple-haze {
  position: absolute; top: 20%; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(100,50,120,0.3) 0%, transparent 60%);
  filter: blur(20px);
  animation: od-haze 15s ease-in-out infinite;
}
.scn-one-dignity-delays .od-coach {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 70px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%);
  border-radius: 10% 10% 15% 15% / 30% 30% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 8px 20px rgba(0,0,0,0.6), inset 0 0 10px rgba(80,60,40,0.5);
  animation: od-coach-roll 12s ease-in-out infinite;
}
.scn-one-dignity-delays .od-wheel {
  position: absolute; bottom: 18%; left: 38%; width: 30px; height: 30px;
  border-radius: 50%;
  border: 4px solid #5a4a3a;
  background: radial-gradient(circle, #3a2a1a 0%, #1a1008 100%);
  box-shadow: 44px 0 0 0 #2a1a10, 44px 0 0 4px #5a4a3a;
  animation: od-wheel-spin 4s linear infinite;
}
.scn-one-dignity-delays .od-crown {
  position: absolute; top: 18%; left: 50%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #c0a030 0%, #a08020 50%, #806010 100%);
  clip-path: polygon(0% 100%, 20% 0%, 50% 40%, 80% 0%, 100% 100%);
  filter: drop-shadow(0 0 8px #c0a030);
  animation: od-crown-glow 3s ease-in-out infinite alternate;
}
.scn-one-dignity-delays .od-bells {
  position: absolute; bottom: 38%; left: 30%; width: 8px; height: 16px;
  background: #6a5a4a;
  border-radius: 50% 50% 10% 10%;
  box-shadow: 20px 0 0 #6a5a4a, -15px 0 0 #5a4a3a;
  animation: od-bell-swing 6s ease-in-out infinite;
}
.scn-one-dignity-delays .od-figure {
  position: absolute; bottom: 30%; left: 32%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: od-figure-walk 8s ease-in-out infinite;
}
@keyframes od-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes od-haze {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(1); }
}
@keyframes od-coach-roll {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-4px); }
}
@keyframes od-wheel-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes od-crown-glow {
  0% { filter: drop-shadow(0 0 6px #c0a030); }
  100% { filter: drop-shadow(0 0 16px #e0c050); }
}
@keyframes od-bell-swing {
  0%,100% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
}
@keyframes od-figure-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(6px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(12px) translateY(0) rotate(0deg); }
  75% { transform: translateX(6px) translateY(1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(2deg); }
}

.scn-crier-of-glee {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 30%, #4a4a5a 60%, #2a2a3a 100%),
              radial-gradient(ellipse at 50% 80%, #5a5a6a 0%, transparent 70%);
}
.scn-crier-of-glee .cg-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #4a4a5a 40%, #3a3a4a 100%);
  animation: cg-sky 14s ease-in-out infinite alternate;
}
.scn-crier-of-glee .cg-hill {
  position: absolute; bottom: 25%; left: -5%; right: -5%; height: 50%;
  background: linear-gradient(180deg, #4a4a3a 0%, #3a3a2a 100%);
  border-radius: 40% 30% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
  animation: cg-hill 20s ease-in-out infinite;
}
.scn-crier-of-glee .cg-crier {
  position: absolute; bottom: 38%; left: 50%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: translateX(-50%);
  animation: cg-crier-stand 4s ease-in-out infinite;
}
.scn-crier-of-glee .cg-echo {
  position: absolute; bottom: 50%; left: 60%; width: 0; height: 0;
  border-style: solid;
  border-width: 0 8px 12px 8px;
  border-color: transparent transparent rgba(200,200,200,0.3) transparent;
  animation: cg-echo-pulse 5s ease-in-out infinite;
}
.scn-crier-of-glee .cg-cloud {
  position: absolute; top: 12%; left: 20%; width: 80px; height: 14px;
  background: rgba(200,200,200,0.15);
  border-radius: 50%;
  filter: blur(8px);
  animation: cg-cloud-drift 40s linear infinite;
}
.scn-crier-of-glee .cg-light {
  position: absolute; top: 10%; left: 40%; width: 6px; height: 6px;
  background: radial-gradient(circle, #e0e0e0 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(255,255,255,0.2), 0 0 40px rgba(255,255,255,0.1);
  animation: cg-light-twinkle 3s ease-in-out infinite alternate;
}
@keyframes cg-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes cg-hill {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes cg-crier-stand {
  0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-2px) rotate(-2deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(2deg); }
}
@keyframes cg-echo-pulse {
  0% { opacity: 0; transform: translate(0,0) scale(1); }
  50% { opacity: 0.5; transform: translate(10px,-5px) scale(1.5); }
  100% { opacity: 0; transform: translate(20px,-10px) scale(2); }
}
@keyframes cg-cloud-drift {
  0% { transform: translateX(-40px); }
  100% { transform: translateX(100vw); }
}
@keyframes cg-light-twinkle {
  0% { opacity: 0.3; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.5); }
}

.scn-whiter-than-pipe-hyperbole { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 0%, #4a4a6e 0%, transparent 70%); }
.scn-whiter-than-pipe-hyperbole .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); }
.scn-whiter-than-pipe-hyperbole .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1a2e 0%, #3a3a2e 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,.3); }
.scn-whiter-than-pipe-hyperbole .window { position:absolute; top:15%; left:35%; width:30%; height:40%; background: linear-gradient(180deg, #4a6a8e 0%, #6a8aae 100%); border:4px solid #1a1a2e; border-radius:4% 4% 8% 8%; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-whiter-than-pipe-hyperbole .fog { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(200,200,220,0.4) 0%, rgba(200,200,220,0) 100%); filter: blur(8px); animation: wtp-fog 15s ease-in-out infinite alternate; }
.scn-whiter-than-pipe-hyperbole .spirit { position:absolute; bottom:25%; left:40%; width:30px; height:50px; background: linear-gradient(180deg, rgba(255,255,255,0.8) 0%, rgba(200,200,220,0.3) 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 30px rgba(255,255,255,0.3); animation: wtp-spirit 8s ease-in-out infinite; }
.scn-whiter-than-pipe-hyperbole .flower { position:absolute; bottom:20%; left:50%; width:12px; height:18px; background: radial-gradient(circle, #e8e8f0 0%, #c0c0d0 70%); border-radius: 50% 50% 0 0; transform: rotate(15deg); box-shadow: 0 0 12px rgba(200,200,220,0.5); animation: wtp-flower 6s ease-in-out infinite; }
.scn-whiter-than-pipe-hyperbole .glow { position:absolute; top:12%; left:32%; width:40%; height:50%; background: radial-gradient(circle, rgba(180,200,255,0.15) 0%, transparent 70%); animation: wtp-glow 10s ease-in-out infinite alternate; }
@keyframes wtp-fog { 0% { opacity: 0.3; transform: translateY(0) } 50% { opacity: 0.6; transform: translateY(-5px) } 100% { opacity: 0.3; transform: translateY(0) } }
@keyframes wtp-spirit { 0% { transform: translateY(0) scale(1); opacity:0.7 } 25% { transform: translateY(-4px) scale(1.02); opacity:0.9 } 50% { transform: translateY(0) scale(0.98); opacity:0.8 } 75% { transform: translateY(2px) scale(1.01); opacity:0.7 } 100% { transform: translateY(0) scale(1); opacity:0.8 } }
@keyframes wtp-flower { 0% { transform: rotate(10deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(10deg) } }
@keyframes wtp-glow { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.5 } }

.scn-docile-crescent-soldier { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #2a2a3e 100%), radial-gradient(ellipse at 50% 20%, #2a2a4e 0%, transparent 70%); }
.scn-docile-crescent-soldier .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3e 100%); animation: dcs-sky 20s ease-in-out infinite alternate; }
.scn-docile-crescent-soldier .moon { position:absolute; top:8%; right:20%; width:40px; height:40px; background: radial-gradient(circle, #a0a0c0 0%, #606080 70%); border-radius:50%; box-shadow: 0 0 20px rgba(160,160,200,0.5); clip-path: ellipse(50% 50% at 50% 50%); transform: rotate(-20deg); animation: dcs-moon 12s ease-in-out infinite; }
.scn-docile-crescent-soldier .tombstone { position:absolute; bottom:20%; left:40%; width:30px; height:50px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: dcs-tombstone 8s ease-in-out infinite; }
.scn-docile-crescent-soldier .grass { position:absolute; bottom:5%; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%); border-radius: 60% 40% 0 0 / 80% 60% 0 0; filter: blur(2px); animation: dcs-grass 15s ease-in-out infinite alternate; }
.scn-docile-crescent-soldier .soldier { position:absolute; bottom:20%; left:30%; width:18px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(5deg); animation: dcs-soldier 6s ease-in-out infinite; }
.scn-docile-crescent-soldier .flag { position:absolute; bottom:45%; left:32%; width:6px; height:12px; background: #4a3a3a; border-radius:0 20% 20% 0; transform-origin: bottom left; animation: dcs-flag 4s ease-in-out infinite; }
.scn-docile-crescent-soldier .shadow { position:absolute; bottom:18%; left:28%; width:50px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%); animation: dcs-shadow 6s ease-in-out infinite; }
@keyframes dcs-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes dcs-moon { 0% { transform: rotate(-20deg) scale(1); } 50% { transform: rotate(-10deg) scale(1.05); } 100% { transform: rotate(-20deg) scale(1); } }
@keyframes dcs-tombstone { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes dcs-grass { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes dcs-soldier { 0% { transform: rotate(3deg) translateY(0) } 25% { transform: rotate(6deg) translateY(-1px) } 50% { transform: rotate(3deg) translateY(0) } 75% { transform: rotate(0deg) translateY(1px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes dcs-flag { 0% { transform: rotate(0deg) } 50% { transform: rotate(20deg) } 100% { transform: rotate(0deg) } }
@keyframes dcs-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } 100% { transform: scaleX(1) } }

.scn-immortal-word-heaven-proof { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 0%, #4a4a6e 0%, transparent 70%); }
.scn-immortal-word-heaven-proof .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); }
.scn-immortal-word-heaven-proof .window { position:absolute; top:10%; left:30%; width:40%; height:50%; background: #1a1a3e; border:4px solid #2a2a4e; border-radius:4% 4% 8% 8%; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); overflow:hidden; }
.scn-immortal-word-heaven-proof .sky { position:absolute; top:0; left:0; width:100%; height:100%; background: linear-gradient(180deg, #0a0a1a 0%, #2a2a4e 60%, #4a4a6e 100%); animation: iwh-sky 12s ease-in-out infinite alternate; }
.scn-immortal-word-heaven-proof .stars { position:absolute; top:5%; left:10%; width:4px; height:4px; background:#fff; border-radius:50%; box-shadow: 20px 30px 0 #fff, 60px 10px 0 #fff, 100px 50px 0 #fff, 150px 20px 0 #fff, 200px 60px 0 #fff, 50px 70px 0 #fff, 120px 80px 0 #fff, 180px 40px 0 #fff; animation: iwh-stars 8s ease-in-out infinite; }
.scn-immortal-word-heaven-proof .figure { position:absolute; bottom:15%; left:40%; width:20px; height:45px; background: linear-gradient(180deg, #e8e8f0 0%, #a0a0c0 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 30px rgba(255,255,255,0.2); animation: iwh-figure 10s ease-in-out infinite; }
.scn-immortal-word-heaven-proof .halo { position:absolute; bottom:45%; left:38%; width:30px; height:30px; background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%); border-radius:50%; animation: iwh-halo 6s ease-in-out infinite; }
.scn-immortal-word-heaven-proof .light { position:absolute; top:5%; left:25%; width:50%; height:60%; background: radial-gradient(ellipse, rgba(200,200,255,0.1) 0%, transparent 70%); animation: iwh-light 15s ease-in-out infinite alternate; }
@keyframes iwh-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes iwh-stars { 0% { opacity:0.3; transform: scale(0.8) } 50% { opacity:0.8; transform: scale(1.2) } 100% { opacity:0.3; transform: scale(0.8) } }
@keyframes iwh-figure { 0% { transform: translateY(0) rotate(-2deg); opacity:0.7 } 25% { transform: translateY(-5px) rotate(0deg); opacity:0.9 } 50% { transform: translateY(0) rotate(2deg); opacity:0.8 } 75% { transform: translateY(3px) rotate(0deg); opacity:0.7 } 100% { transform: translateY(0) rotate(-2deg); opacity:0.8 } }
@keyframes iwh-halo { 0% { transform: scale(0.8); opacity:0.5 } 50% { transform: scale(1.2); opacity:1 } 100% { transform: scale(0.8); opacity:0.5 } }
@keyframes iwh-light { 0% { opacity:0.2; transform: scale(0.9) } 50% { opacity:0.5; transform: scale(1.1) } 100% { opacity:0.2; transform: scale(0.9) } }

.scn-grave-cottage-divided { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 0%, #4a4a6e 0%, transparent 70%); }
.scn-grave-cottage-divided .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0e 100%); }
.scn-grave-cottage-divided .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a1a0e 0%, #2a2a1a 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,0.4); }
.scn-grave-cottage-divided .table { position:absolute; bottom:15%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-grave-cottage-divided .teacup { position:absolute; bottom:17%; left:35%; width:12px; height:14px; background: linear-gradient(180deg, #c0b090 0%, #a09080 100%); border-radius: 50% 50% 20% 20%; transform: rotate(5deg); animation: gcd-teacup 6s ease-in-out infinite; }
.scn-grave-cottage-divided .teapot { position:absolute; bottom:12%; left:45%; width:20px; height:16px; background: linear-gradient(180deg, #b0a090 0%, #908070 100%); border-radius: 40% 40% 20% 20%; transform: rotate(-10deg); animation: gcd-teapot 8s ease-in-out infinite; }
.scn-grave-cottage-divided .window { position:absolute; top:10%; left:10%; width:20%; height:30%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border:4px solid #1a1a2e; border-radius:8% 8% 12% 12%; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); overflow:hidden; }
.scn-grave-cottage-divided .grave { position:absolute; top:30%; left:25%; width:15px; height:20px; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 100%); border-radius:10% 10% 0 0; transform: rotate(-5deg); animation: gcd-grave 12s ease-in-out infinite; }
@keyframes gcd-teacup { 0% { transform: rotate(3deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes gcd-teapot { 0% { transform: rotate(-8deg) translateY(0) } 25% { transform: rotate(-12deg) translateY(-1px) } 50% { transform: rotate(-8deg) translateY(0) } 75% { transform: rotate(-4deg) translateY(1px) } 100% { transform: rotate(-8deg) translateY(0) } }
@keyframes gcd-grave { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(-2deg) scale(1.05) } 100% { transform: rotate(-5deg) scale(1) } }

.scn-i-gained-it-so {
  background: linear-gradient(180deg, #7b8a8b 0%, #5c6e6f 40%, #3a4a4b 100%), radial-gradient(ellipse at 50% 60%, #6b7a7b 0%, transparent 70%);
}
.scn-i-gained-it-so .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #8a9a9b 0%, #6a7a7b 40%, #4a5a5b 100%);
  animation: igs-sky 14s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .trunk {
  position: absolute; bottom: 20%; left: 46%; width: 12px; height: 50%;
  background: linear-gradient(180deg, #4a3d35 0%, #2d241e 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: igs-trunk 6s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .branch-l {
  position: absolute; bottom: 52%; left: 38%; width: 60px; height: 8px;
  background: linear-gradient(90deg, #4a3d35 0%, #2d241e 80%);
  border-radius: 4px;
  transform-origin: right center;
  animation: igs-branch-l 8s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .branch-r {
  position: absolute; bottom: 45%; left: 50%; width: 55px; height: 7px;
  background: linear-gradient(90deg, #4a3d35 0%, #2d241e 80%);
  border-radius: 4px;
  transform-origin: left center;
  animation: igs-branch-r 9s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .twigs {
  position: absolute; bottom: 50%; left: 42%; width: 1px; height: 30px;
  background: #3a2d27;
  border-radius: 50%;
  box-shadow: 3px -5px 0 #3a2d27, -4px -3px 0 #3a2d27, 6px -8px 0 #3a2d27, -7px -7px 0 #3a2d27;
  animation: igs-twigs 10s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .figure {
  position: absolute; bottom: 28%; left: 46%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #1f1a16 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: 50% 100%;
  animation: igs-figure 5s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .hand {
  position: absolute; bottom: 44%; left: 44%; width: 8px; height: 12px;
  background: #2d241e;
  border-radius: 50% 50% 40% 40%;
  animation: igs-hand 4s ease-in-out infinite alternate;
}
.scn-i-gained-it-so .leaf {
  position: absolute; bottom: 56%; left: 60%; width: 10px; height: 6px;
  background: #5a6b4a;
  border-radius: 50% 0 50% 0;
  filter: blur(1px);
  animation: igs-leaf 7s ease-in-out infinite alternate;
}
@keyframes igs-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes igs-trunk { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(1); } }
@keyframes igs-branch-l { 0% { transform: rotate(5deg); } 50% { transform: rotate(-2deg) translateY(2px); } 100% { transform: rotate(5deg); } }
@keyframes igs-branch-r { 0% { transform: rotate(-4deg); } 50% { transform: rotate(6deg) translateY(-1px); } 100% { transform: rotate(-4deg); } }
@keyframes igs-twigs { 0% { transform: scale(1); } 50% { transform: scale(1.1) rotate(3deg); } 100% { transform: scale(1); } }
@keyframes igs-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes igs-hand { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(-3px, -2px) rotate(10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes igs-leaf { 0% { transform: rotate(0deg) translate(0,0); opacity: 0.6; } 50% { transform: rotate(30deg) translate(8px, -5px); opacity: 1; } 100% { transform: rotate(0deg) translate(0,0); opacity: 0.6; } }

.scn-sovereign-anguish {
  background: linear-gradient(180deg, #1b232e 0%, #2c3848 40%, #11161e 100%), radial-gradient(ellipse at 50% 70%, #1e2a3a 0%, transparent 60%);
}
.scn-sovereign-anguish .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a364a 0%, #0e121a 100%);
  animation: sa-sky 16s ease-in-out infinite alternate;
}
.scn-sovereign-anguish .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #1a3040 0%, #0a1a2a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: sa-sea 20s ease-in-out infinite alternate;
}
.scn-sovereign-anguish .shore {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #2a2f24 0%, #1a1f14 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.5);
}
.scn-sovereign-anguish .figure {
  position: absolute; bottom: 38%; left: 50%; width: 16px; height: 50px;
  background: linear-gradient(180deg, #0d0f12 0%, #050608 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 20% 20%;
  transform: translateX(-50%);
  animation: sa-figure 8s ease-in-out infinite alternate;
}
.scn-sovereign-anguish .brook {
  position: absolute; bottom: 42%; left: 20%; width: 60px; height: 2px;
  background: linear-gradient(90deg, rgba(120,140,160,0.6) 0%, rgba(120,140,160,0.2) 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: sa-brook 12s ease-in-out infinite alternate;
}
.scn-sovereign-anguish .mist {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 30%;
  background: radial-gradient(ellipse at 30% 50%, rgba(180,200,220,0.15) 0%, transparent 70%);
  filter: blur(8px);
  animation: sa-mist 25s linear infinite alternate;
}
@keyframes sa-sky { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes sa-sea { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes sa-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes sa-brook { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(1.1); } 100% { opacity: 0.3; transform: scaleX(1); } }
@keyframes sa-mist { 0% { opacity: 0; } 50% { opacity: 0.5; } 100% { opacity: 0; } }

.scn-years-from-home {
  background: linear-gradient(180deg, #4a3e5c 0%, #2c1f3a 30%, #1a0f24 70%, #0d0612 100%), radial-gradient(ellipse at 60% 50%, #3a2e4c 0%, transparent 60%);
}
.scn-years-from-home .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #5c4a70 0%, #2c1f3a 80%, #1a0f24 100%);
  animation: yfh-sky 18s ease-in-out infinite alternate;
}
.scn-years-from-home .house {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #3a2e3c 0%, #1f1724 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: yfh-house 6s ease-in-out infinite alternate;
}
.scn-years-from-home .door {
  position: absolute; bottom: 20%; left: 48%; width: 8%; height: 25%;
  background: linear-gradient(180deg, #2a1f2c 0%, #120a14 100%);
  border-radius: 4% 4% 0 0;
  transform: translateX(-50%);
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.8);
  animation: yfh-door 8s ease-in-out infinite alternate;
}
.scn-years-from-home .window-a {
  position: absolute; bottom: 48%; left: 35%; width: 8%; height: 12%;
  background: radial-gradient(circle, #4a3a5c 0%, #2a1e3a 70%);
  border-radius: 10%;
  animation: yfh-window 10s ease-in-out infinite alternate;
}
.scn-years-from-home .window-b {
  position: absolute; bottom: 48%; right: 35%; width: 8%; height: 12%;
  background: radial-gradient(circle, #4a3a5c 0%, #2a1e3a 70%);
  border-radius: 10%;
  animation: yfh-window 10s ease-in-out infinite alternate-reverse;
  animation-delay: -5s;
}
.scn-years-from-home .figure {
  position: absolute; bottom: 22%; left: 46%; width: 10px; height: 44px;
  background: linear-gradient(180deg, #0f0a14 0%, #050308 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform: translateX(-50%);
  animation: yfh-figure 4s ease-in-out infinite alternate;
}
.scn-years-from-home .hands {
  position: absolute; bottom: 28%; left: 44%; width: 14px; height: 8px;
  background: #0f0a14;
  border-radius: 40% 40% 20% 20%;
  box-shadow: 1px 0 0 #0f0a14, -1px 0 0 #0f0a14;
  animation: yfh-hands 2s ease-in-out infinite alternate;
}
@keyframes yfh-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes yfh-house { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01) translateY(-1px); } 100% { transform: scaleY(1); } }
@keyframes yfh-door { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(0.98) ; } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes yfh-window { 0% { opacity: 0.3; box-shadow: 0 0 0 0 transparent; } 50% { opacity: 0.8; box-shadow: 0 0 15px 5px #6a5a7c; } 100% { opacity: 0.3; box-shadow: 0 0 0 0 transparent; } }
@keyframes yfh-figure { 0% { transform: translateX(-50%) rotate(-2deg) scaleY(1); } 50% { transform: translateX(-52%) translateY(-1px) rotate(2deg) scaleY(1.02); } 100% { transform: translateX(-50%) rotate(-2deg) scaleY(1); } }
@keyframes yfh-hands { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(-2px, 1px) rotate(5deg); } 100% { transform: translate(0,0) rotate(0deg); } }

.scn-fled-gasping-from-house {
  background: linear-gradient(180deg, #0f0c14 0%, #1a1424 30%, #0d0912 70%, #050308 100%), radial-gradient(ellipse at 40% 40%, #1f1830 0%, transparent 70%);
}
.scn-fled-gasping-from-house .wall {
  position: absolute; left: 20%; bottom: 0; width: 60%; height: 80%;
  background: linear-gradient(180deg, #1a1424 0%, #0d0912 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
  animation: fgh-wall 10s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .door {
  position: absolute; left: 45%; bottom: 0; width: 10%; height: 60%;
  background: linear-gradient(180deg, #2a1f34 0%, #120a1a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 -2px 10px rgba(0,0,0,0.8);
  transform: translateX(-50%);
  animation: fgh-door 12s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .latch {
  position: absolute; left: 49.5%; bottom: 40%; width: 1%; height: 4%;
  background: #3a2a4a;
  border-radius: 20%;
  animation: fgh-latch 2s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .hand {
  position: absolute; left: 46%; bottom: 38%; width: 8px; height: 10px;
  background: #1a1424;
  border-radius: 40% 40% 20% 20%;
  animation: fgh-hand 1.5s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .figure {
  position: absolute; right: 15%; bottom: 10%; width: 12px; height: 46px;
  background: linear-gradient(180deg, #0d0a12 0%, #050308 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 20% 20%;
  animation: fgh-figure 3s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .shadow {
  position: absolute; right: 12%; bottom: 10%; width: 20%; height: 2px;
  background: #050308;
  border-radius: 50%;
  filter: blur(3px);
  animation: fgh-shadow 3s ease-in-out infinite alternate;
}
.scn-fled-gasping-from-house .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #0a0710 0%, #050308 100%);
  border-radius: 10% 10% 0 0;
}
@keyframes fgh-wall { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.01); } 100% { transform: scaleX(1); } }
@keyframes fgh-door { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(0.97); } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes fgh-latch { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(1px, -1px) rotate(10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes fgh-hand { 0% { transform: translate(0,0) rotate(-5deg); } 50% { transform: translate(-2px, 2px) rotate(5deg); } 100% { transform: translate(0,0) rotate(-5deg); } }
@keyframes fgh-figure { 0% { transform: translateX(0) rotate(0deg) scaleX(1); } 50% { transform: translateX(15px) rotate(-3deg) scaleX(1.05); } 100% { transform: translateX(30px) rotate(0deg) scaleX(1); } }
@keyframes fgh-shadow { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.3); } 100% { opacity: 0.3; transform: scaleX(1); } }

.scn-item-bird-came-down-walk {
  background: 
    linear-gradient(180deg, #87ceeb 0%, #f0e68c 40%, #ffd700 70%, #ffa500 100%),
    radial-gradient(ellipse at 30% 20%, #fff8dc 0%, transparent 50%);
}

.scn-item-bird-came-down-walk .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 60%, transparent 100%);
  animation: brd-sky 25s ease-in-out infinite alternate;
}

.scn-item-bird-came-down-walk .sunbeam {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(135deg, rgba(255,255,200,0.6) 0%, transparent 70%);
  transform: skewX(-15deg);
  animation: brd-beam 12s ease-in-out infinite alternate;
}

.scn-item-bird-came-down-walk .grass-whorl {
  position: absolute; bottom: 35%; left: 10%; width: 120%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, #4a7c4f 0%, #2e5c33 70%);
  border-radius: 50% 50% 0 0;
  animation: brd-grass 8s ease-in-out infinite;
}

.scn-item-bird-came-down-walk .blade-tall {
  position: absolute; bottom: 40%; left: 30%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #5a8a3a 0%, #3a6a2a 100%);
  border-radius: 0 0 40% 40%;
  transform-origin: bottom center;
  animation: brd-blade 5s ease-in-out infinite alternate;
}

.scn-item-bird-came-down-walk .bird-body {
  position: absolute; bottom: 38%; left: 40%; width: 34px; height: 24px;
  background: radial-gradient(circle at 40% 50%, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg);
  animation: brd-hop 3s ease-in-out infinite;
}

.scn-item-bird-came-down-walk .dewdrop {
  position: absolute; bottom: 42%; left: 35%; width: 8px; height: 10px;
  background: radial-gradient(circle, #ffffff 0%, #a0d8f0 60%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 8px 2px rgba(255,255,255,0.6);
  animation: brd-dew 4s ease-in-out infinite;
}

@keyframes brd-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; filter: brightness(1.1); }
  100% { opacity: 0.8; filter: brightness(0.9); }
}
@keyframes brd-beam {
  0% { transform: skewX(-15deg) translateX(0); }
  50% { transform: skewX(-10deg) translateX(5px); }
  100% { transform: skewX(-20deg) translateX(-3px); }
}
@keyframes brd-grass {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes brd-blade {
  0% { transform: rotate(-2deg); }
  100% { transform: rotate(2deg); }
}
@keyframes brd-hop {
  0% { transform: translateY(0) rotate(-5deg); }
  25% { transform: translateY(-4px) rotate(0deg); }
  50% { transform: translateY(0) rotate(3deg); }
  75% { transform: translateY(-2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes brd-dew {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(0.8); opacity: 0.5; }
}

/* ------- scene snake ------- */
.scn-narrow-fellow-in-grass {
  background:
    linear-gradient(180deg, #e0f0ff 0%, #c0d8f0 40%, #90b0d0 80%, #6080a0 100%),
    radial-gradient(ellipse at 80% 20%, #fff8dc 0%, transparent 60%);
}

.scn-narrow-fellow-in-grass .grass-blade {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4a7a3a 0%, #2a5a2a 100%);
  border-radius: 60% 40% 0 0;
  box-shadow: inset 0 -10px 30px rgba(0,0,0,0.3);
}

.scn-narrow-fellow-in-grass .snake-body {
  position: absolute; bottom: 35%; left: 30%; width: 80px; height: 8px;
  background: linear-gradient(90deg, #5a6a3a 0%, #3a4a2a 50%, #5a6a3a 100%);
  border-radius: 50% 50% 50% 50%;
  transform-origin: 30% center;
  animation: snk-slither 6s ease-in-out infinite;
}

.scn-narrow-fellow-in-grass .snake-head {
  position: absolute; bottom: 36%; left: 28%; width: 12px; height: 10px;
  background: radial-gradient(circle, #4a5a2a 0%, #2a3a1a 100%);
  border-radius: 50% 40% 50% 40%;
  transform: rotate(10deg);
  animation: snk-head 6s ease-in-out infinite;
}

.scn-narrow-fellow-in-grass .whip-lash {
  position: absolute; bottom: 40%; left: 15%; width: 100px; height: 3px;
  background: linear-gradient(90deg, transparent 0%, #d0c0a0 30%, #b0a080 70%, transparent 100%);
  border-radius: 50%;
  transform: rotate(-20deg);
  filter: blur(1px);
  animation: snk-whip 2s ease-in-out infinite;
}

.scn-narrow-fellow-in-grass .shadows {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 80%, rgba(0,0,0,0.2) 0%, transparent 70%);
  animation: snk-shadow 8s ease-in-out infinite alternate;
}

.scn-narrow-fellow-in-grass .sun-glare {
  position: absolute; top: 10%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #fff 0%, #ffe0a0 40%, transparent 80%);
  border-radius: 50%;
  animation: snk-glare 3s ease-in-out infinite;
}

@keyframes snk-slither {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(10px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-10px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes snk-head {
  0% { transform: rotate(10deg) translateX(0); }
  25% { transform: rotate(5deg) translateX(3px); }
  50% { transform: rotate(15deg) translateX(0); }
  75% { transform: rotate(8deg) translateX(-2px); }
  100% { transform: rotate(10deg) translateX(0); }
}
@keyframes snk-whip {
  0% { transform: rotate(-20deg) scaleX(1); }
  50% { transform: rotate(-30deg) scaleX(1.3); }
  100% { transform: rotate(-20deg) scaleX(1); }
}
@keyframes snk-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes snk-glare {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.2); opacity: 1; }
}

/* ------- scene mushroom ------- */
.scn-item-mushroom-elf-plants {
  background:
    linear-gradient(180deg, #c0c0a0 0%, #a0b08a 40%, #7a8a6a 80%, #4a5a3a 100%),
    radial-gradient(ellipse at 50% 60%, #d0d0b0 0%, transparent 70%);
}

.scn-item-mushroom-elf-plants .soil {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 70% 0 0;
}

.scn-item-mushroom-elf-plants .mush-cap {
  position: absolute; bottom: 45%; left: 45%; width: 50px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #b85a3a 0%, #8a3a1a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: inner 0 -4px 8px rgba(0,0,0,0.3);
  transform-origin: bottom center;
  animation: msh-puff 8s ease-in-out infinite;
}

.scn-item-mushroom-elf-plants .mush-stem {
  position: absolute; bottom: 35%; left: 48%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #e0d0b0 0%, #c0b090 100%);
  border-radius: 20% 20% 30% 30%;
  transform: translateX(-50%);
}

.scn-item-mushroom-elf-plants .elf-figure {
  position: absolute; bottom: 30%; left: 32%; width: 18px; height: 34px;
  background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: msh-elf 5s ease-in-out infinite;
}

.scn-item-mushroom-elf-plants .bubble {
  position: absolute; width: 12px; height: 12px;
  background: radial-gradient(circle, rgba(255,255,255,0.6) 0%, rgba(200,220,200,0.2) 80%);
  border-radius: 50%;
  animation: msh-bubble 8s linear infinite;
}

.scn-item-mushroom-elf-plants .b1 {
  bottom: 55%; left: 60%;
  animation-delay: 0s;
}

.scn-item-mushroom-elf-plants .b2 {
  bottom: 50%; left: 70%;
  width: 8px; height: 8px;
  animation-delay: 3s;
}

@keyframes msh-puff {
  0%, 100% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.08) translateY(-2px); }
}
@keyframes msh-elf {
  0% { transform: rotate(-2deg) translateY(0); }
  30% { transform: rotate(2deg) translateY(-1px); }
  70% { transform: rotate(-1deg) translateY(0); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes msh-bubble {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-15px) scale(1.2); opacity: 0.5; }
  100% { transform: translateY(-30px) scale(0.6); opacity: 0; }
}

/* ------- scene spider ------- */
.scn-item-spider-sewed-at-night {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #0f0f2a 40%, #2a1a3e 80%, #1a0a1a 100%),
    radial-gradient(ellipse at 60% 30%, #6a4a8a 0%, transparent 70%);
}

.scn-item-spider-sewed-at-night .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a5e 0%, #0a0a2a 100%);
  animation: spd-sky 15s ease-in-out infinite alternate;
}

.scn-item-spider-sewed-at-night .web-arc {
  position: absolute; top: 10%; left: 30%; width: 100px; height: 80px;
  border: 1px solid rgba(200,200,230,0.3);
  border-radius: 50% 50% 0 0;
  border-color: transparent transparent rgba(200,200,230,0.3) transparent;
  transform: rotate(20deg);
  animation: spd-web 20s ease-in-out infinite alternate;
}

.scn-item-spider-sewed-at-night .spider {
  position: absolute; top: 18%; left: 40%; width: 10px; height: 10px;
  background: radial-gradient(circle, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40%;
  transform-origin: center;
  animation: spd-descend 6s ease-in-out infinite;
}

.scn-item-spider-sewed-at-night .silken-thread {
  position: absolute; top: 18%; left: 45%; width: 2px; height: 100px;
  background: linear-gradient(180deg, rgba(200,200,230,0.4) 0%, transparent 100%);
  transform-origin: top center;
  animation: spd-thread 6s ease-in-out infinite;
}

.scn-item-spider-sewed-at-night .moon-glow {
  position: absolute; top: 5%; right: 15%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(180,180,255,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: spd-moon 8s ease-in-out infinite alternate;
}

.scn-item-spider-sewed-at-night .daisy {
  position: absolute; bottom: 15%; left: 20%; width: 16px; height: 16px;
  background: radial-gradient(circle, #ffffff 30%, #d0d0e0 80%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(200,200,255,0.3);
  animation: spd-daisy 5s ease-in-out infinite alternate;
}

@keyframes spd-sky {
  0% { opacity: 0.7; filter: brightness(0.8); }
  50% { opacity: 1; filter: brightness(1); }
  100% { opacity: 0.8; filter: brightness(0.9); }
}
@keyframes spd-web {
  0% { transform: rotate(20deg) scale(1); }
  50% { transform: rotate(25deg) scale(1.02); }
  100% { transform: rotate(15deg) scale(0.98); }
}
@keyframes spd-descend {
  0% { transform: translateY(0); }
  50% { transform: translateY(12px); }
  100% { transform: translateY(0); }
}
@keyframes spd-thread {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.15); }
  100% { transform: scaleY(1); }
}
@keyframes spd-moon {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}
@keyframes spd-daisy {
  0% { transform: rotate(-5deg) scale(1); }
  100% { transform: rotate(5deg) scale(1.05); }
}

/* split-the-lark – calm dawn */
.scn-split-the-lark {
  background: linear-gradient(180deg, #fbc2a0 0%, #f8d5a3 30%, #d4c9a8 70%, #7ba0b0 100%),
              radial-gradient(ellipse at 50% 0%, #fbd7a4 0%, transparent 60%);
}
.scn-split-the-lark .dawn-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #f7cba5 0%, #d9b89a 60%, transparent); animation: sl-sky 25s ease-in-out infinite alternate; }
.scn-split-the-lark .sun-glow { position:absolute; top:8%; left:35%; width:80px; height:80px; background: radial-gradient(circle, #ffeeb5 0%, #f8c77a 40%, transparent 70%); border-radius:50%; opacity:.6; animation: sl-glow 8s ease-in-out infinite alternate; }
.scn-split-the-lark .hill { position:absolute; bottom:20%; left:0; right:0; height:40%; background: linear-gradient(180deg, #8b7a5a 0%, #5d4f38 100%); border-radius: 50% 30% 0 0 / 70% 40% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.3); animation: sl-hill 20s ease-in-out infinite; }
.scn-split-the-lark .lark-bird { position:absolute; bottom:45%; left:45%; width:40px; height:30px; background: radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, #1a1208 100%); border-radius: 50% 50% 30% 30% / 50% 50% 40% 40%; transform-origin: 50% 100%; animation: sl-bird 4s ease-in-out infinite; }
.scn-split-the-lark .lark-bird::after { content:''; position:absolute; top:-10px; left:5px; width:30px; height:18px; background: radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 70%); border-radius:50%; transform: rotate(-10deg); animation: sl-wing 0.5s ease-in-out infinite alternate; }
.scn-split-the-lark .music-note { position:absolute; width:14px; height:14px; background: radial-gradient(circle, #f0d8b0 0%, #cfa87a 70%); border-radius:50%; box-shadow: 0 0 10px 4px rgba(207,168,122,.4); animation: sl-note 12s linear infinite; }
.scn-split-the-lark .note-a { top:25%; left:20%; animation-duration:14s; animation-delay:-2s; }
.scn-split-the-lark .note-b { top:35%; right:25%; width:10px; height:10px; animation-duration:18s; animation-delay:-5s; opacity:.7; }
.scn-split-the-lark .note-c { top:20%; left:55%; width:12px; height:12px; animation-duration:11s; animation-delay:-8s; }
.scn-split-the-lark .grass-blade { position:absolute; bottom:20%; left:0; right:0; height:5%; background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%); border-radius:0; filter:blur(1px); animation: sl-grass 3s ease-in-out infinite alternate; }
@keyframes sl-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes sl-glow { 0% { transform: scale(1) rotate(0deg); opacity:.5 } 50% { transform: scale(1.1) rotate(5deg); opacity:.7 } 100% { transform: scale(0.95) rotate(-3deg); opacity:.6 } }
@keyframes sl-hill { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sl-bird { 0%,100% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(10px) rotate(1deg) } 50% { transform: translateX(20px) rotate(-2deg) } 75% { transform: translateX(10px) rotate(0deg) } }
@keyframes sl-wing { 0% { transform: rotate(-20deg) scaleY(1) } 100% { transform: rotate(20deg) scaleY(0.8) } }
@keyframes sl-note { 0% { transform: translateY(0) rotate(0deg) scale(1); opacity:1 } 25% { transform: translateY(-20px) rotate(90deg) scale(1.2); opacity:.8 } 50% { transform: translateY(-40px) rotate(180deg) scale(1); opacity:.6 } 75% { transform: translateY(-60px) rotate(270deg) scale(0.8); opacity:.4 } 100% { transform: translateY(-80px) rotate(360deg) scale(0.5); opacity:0 } }
@keyframes sl-grass { 0% { transform: skewX(0deg) } 50% { transform: skewX(3deg) } 100% { transform: skewX(-2deg) } }

/* lose-thee-sweeter – warm overcast desert & sea */
.scn-lose-thee-sweeter {
  background: linear-gradient(180deg, #cbb8a1 0%, #b59e82 40%, #8a7a5a 70%, #503a2a 100%),
              radial-gradient(ellipse at 50% 100%, #7a6a4a 0%, transparent 60%);
}
.scn-lose-thee-sweeter .overcast-sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #d4c4b0 0%, #b0a090 50%, #8a7a6a 100%); animation: lts-sky 30s ease-in-out infinite alternate; }
.scn-lose-thee-sweeter .sea { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a6a5a 0%, #2a4a3a 100%); border-radius:0; box-shadow: inset 0 8px 20px rgba(0,0,0,.4); animation: lts-sea 12s ease-in-out infinite alternate; }
.scn-lose-thee-sweeter .dune { position:absolute; bottom:10%; left:0; right:0; background: linear-gradient(180deg, #b08a5a 0%, #8a6a3a 100%); border-radius: 60% 40% 0 0 / 80% 50% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.3); }
.scn-lose-thee-sweeter .dune-back { bottom:15%; height:35%; opacity:.8; animation: lts-dune 25s ease-in-out infinite; }
.scn-lose-thee-sweeter .dune-front { bottom:5%; height:30%; animation: lts-dune 20s ease-in-out infinite reverse; }
.scn-lose-thee-sweeter .figure { position:absolute; bottom:12%; left:40%; width:16px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: lts-walk 6s ease-in-out infinite; }
.scn-lose-thee-sweeter .cloud { position:absolute; width:120px; height:20px; background: linear-gradient(90deg, rgba(200,180,160,.5) 0%, rgba(200,180,160,.2) 100%); border-radius:50%; filter:blur(8px); }
.scn-lose-thee-sweeter .cloud-a { top:15%; left:10%; animation: lts-cloud-drift 40s linear infinite; }
.scn-lose-thee-sweeter .cloud-b { top:25%; right:5%; width:90px; height:15px; animation: lts-cloud-drift 55s linear infinite reverse; }
.scn-lose-thee-sweeter .horizon-fog { position:absolute; bottom:30%; left:0; right:0; height:8%; background: linear-gradient(180deg, transparent 0%, rgba(180,160,140,.3) 100%); filter:blur(6px); animation: lts-fog 15s ease-in-out infinite alternate; }
@keyframes lts-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes lts-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes lts-dune { 0% { transform: translateY(0) perspective(200px) rotateX(0deg) } 50% { transform: translateY(-3px) perspective(200px) rotateX(2deg) } 100% { transform: translateY(0) perspective(200px) rotateX(0deg) } }
@keyframes lts-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(5px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(20px) translateY(0) rotate(0) } }
@keyframes lts-cloud-drift { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes lts-fog { 0% { opacity:.5 } 100% { opacity:.8 } }

/* poor-little-heart – funny dim interior */
.scn-poor-little-heart {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 80%);
}
.scn-poor-little-heart .dim-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a2a1a 0%, transparent); animation: plh-wall 15s ease-in-out infinite alternate; }
.scn-poor-little-heart .floor-board { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); box-shadow: inset 0 4px 8px rgba(0,0,0,.5); }
.scn-poor-little-heart .table { position:absolute; bottom:20%; left:30%; width:60px; height:8px; background: linear-gradient(90deg, #5a3a1a 0%, #3a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 6px rgba(0,0,0,.4); }
.scn-poor-little-heart .candle { position:absolute; bottom:30%; left:38%; width:10px; height:28px; background: linear-gradient(180deg, #f0d8b0 0%, #c8a870 100%); border-radius: 2px 2px 4px 4px; box-shadow: 0 0 8px 2px rgba(200,168,112,.5); transform-origin: bottom center; animation: plh-candle 3s ease-in-out infinite; }
.scn-poor-little-heart .candle-flame { position:absolute; bottom:50%; left:38.5%; width:8px; height:12px; background: radial-gradient(ellipse at 50% 100%, #ffc080 0%, #ff8020 40%, transparent 80%); border-radius:50% 50% 40% 40%; animation: plh-flame 1s ease-in-out infinite alternate; }
.scn-poor-little-heart .heart-shape { position:absolute; bottom:25%; left:47%; width:20px; height:18px; background: radial-gradient(ellipse at 50% 30%, #b87878 0%, #5a1a1d 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform: rotate(45deg); box-shadow: 0 0 12px 4px rgba(120,40,40,.3); animation: plh-heart 2s ease-in-out infinite; }
.scn-poor-little-heart .chair-leg { position:absolute; bottom:15%; width:6px; height:20px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 2px; }
.scn-poor-little-heart .chair-leg.left { left:28%; animation: plh-leg-left 1.5s ease-in-out infinite; }
.scn-poor-little-heart .chair-leg.right { left:45%; animation: plh-leg-right 1.5s ease-in-out infinite reverse; }
@keyframes plh-wall { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes plh-candle { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-1px) rotate(1deg) } }
@keyframes plh-flame { 0% { transform: scaleY(1) rotate(0deg) } 50% { transform: scaleY(1.2) rotate(3deg) } 100% { transform: scaleY(0.9) rotate(-3deg) } }
@keyframes plh-heart { 0%,100% { transform: rotate(45deg) scale(1) } 50% { transform: rotate(45deg) scale(1.15) } }
@keyframes plh-leg-left { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(2px) rotate(2deg) } }
@keyframes plh-leg-right { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(2px) rotate(-2deg) } }

/* word-bears-sword – tense overcast battlefield */
.scn-word-bears-sword {
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 30%, #2a2a3a 70%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 0%, #4a4a5a 0%, transparent 70%);
}
.scn-word-bears-sword .battle-sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 50%, #2a2a3a 100%); animation: wbs-sky 20s ease-in-out infinite alternate; }
.scn-word-bears-sword .shattered-ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 30% 70% 0 0 / 60% 80% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); animation: wbs-ground 15s ease-in-out infinite; }
.scn-word-bears-sword .sword-blade { position:absolute; bottom:35%; left:48%; width:8px; height:80px; background: linear-gradient(180deg, #b0b0c0 0%, #606070 100%); border-radius: 2px 2px 0 0; transform-origin: bottom center; box-shadow: 2px 0 4px rgba(0,0,0,.5); animation: wbs-blade 2s ease-in-out infinite alternate; }
.scn-word-bears-sword .sword-hilt { position:absolute; bottom:35%; left:46%; width:12px; height:20px; background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%); border-radius: 2px 2px 4px 4px; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
.scn-word-bears-sword .fallen-brother { position:absolute; bottom:10%; left:30%; width:50px; height:30px; background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a1008 100%); border-radius: 60% 60% 30% 30% / 70% 70% 40% 40%; transform: rotate(-15deg); animation: wbs-fallen 8s ease-in-out infinite; }
.scn-word-bears-sword .mud-splash { position:absolute; bottom:8%; left:25%; width:40px; height:12px; background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 70%); border-radius:50%; filter:blur(3px); animation: wbs-mud 6s ease-in-out infinite; }
.scn-word-bears-sword .dust-cloud { position:absolute; bottom:20%; right:20%; width:60px; height:20px; background: radial-gradient(ellipse at 50% 50%, rgba(100,90,80,.4) 0%, transparent 70%); filter:blur(8px); animation: wbs-dust 25s linear infinite; }
@keyframes wbs-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes wbs-ground { 0% { transform: translateY(0) } 50% { transform: translateY(2px) } 100% { transform: translateY(0) } }
@keyframes wbs-blade { 0% { transform: rotate(-1deg) scaleY(1) } 50% { transform: rotate(1deg) scaleY(0.98) } 100% { transform: rotate(-1deg) scaleY(1) } }
@keyframes wbs-fallen { 0%,100% { transform: rotate(-15deg) translateX(0) } 50% { transform: rotate(-13deg) translateX(2px) } }
@keyframes wbs-mud { 0% { transform: scale(1) } 50% { transform: scale(1.1) opacity(.6) } 100% { transform: scale(1) opacity(1) } }
@keyframes wbs-dust { 0% { transform: translateX(0) scale(1); opacity:.6 } 50% { transform: translateX(-30px) scale(1.5); opacity:.3 } 100% { transform: translateX(0) scale(1); opacity:.6 } }

/* ride-indefinite-bee */
.scn-ride-indefinite-bee {
  background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 50%, #b8860b 100%), radial-gradient(ellipse at 50% 30%, #fff8dc 0%, transparent 60%);
}
.scn-ride-indefinite-bee .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #fff5d6 0%, #ffd700 70%);
  animation: rid-sky 8s ease-in-out infinite alternate;
}
.scn-ride-indefinite-bee .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8fbc8f 0%, #556b2f 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,30,0,.3);
  animation: rid-meadow 12s ease-in-out infinite;
}
.scn-ride-indefinite-bee .sun {
  position: absolute; top: 10%; left: 30%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fffacd 0%, #ffd700 60%, #ff8c00 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,215,0,.6);
  animation: rid-sun 6s ease-in-out infinite alternate;
}
.scn-ride-indefinite-bee .bee {
  position: absolute; top: 35%; left: 20%; width: 30px; height: 24px;
  background: repeating-linear-gradient(0deg, #222 0px, #222 4px, #e8b92e 4px, #e8b92e 8px);
  border-radius: 50%;
  transform-origin: center center;
  animation: rid-bee 4s ease-in-out infinite;
}
.scn-ride-indefinite-bee .flower-a {
  position: absolute; bottom: 15%; left: 30%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 20%, #ffd700 0%, #ffa500 60%, #8b4513 100%);
  border-radius: 50% 50% 10% 10%;
  animation: rid-flower 3s ease-in-out infinite alternate;
}
.scn-ride-indefinite-bee .flower-b {
  position: absolute; bottom: 10%; left: 55%; width: 18px; height: 28px;
  background: radial-gradient(circle at 50% 20%, #fff0f5 0%, #ffb6c1 60%, #c71585 100%);
  border-radius: 50% 50% 10% 10%;
  animation: rid-flower 3.5s ease-in-out infinite alternate;
}
.scn-ride-indefinite-bee .cloud-a {
  position: absolute; top: 15%; left: 60%; width: 80px; height: 20px;
  background: rgba(255,255,255,.7);
  border-radius: 50%;
  filter: blur(8px);
  animation: rid-cloud 30s linear infinite;
}
.scn-ride-indefinite-bee .cloud-b {
  position: absolute; top: 25%; right: 10%; width: 60px; height: 15px;
  background: rgba(255,255,255,.5);
  border-radius: 50%;
  filter: blur(6px);
  animation: rid-cloud 40s linear infinite reverse;
}
@keyframes rid-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes rid-meadow { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes rid-sun { 0% { box-shadow: 0 0 30px 10px rgba(255,215,0,.5); transform: scale(1); } 100% { box-shadow: 0 0 60px 30px rgba(255,215,0,.8); transform: scale(1.05); } }
@keyframes rid-bee { 0% { transform: translate(0,0) rotate(10deg); } 25% { transform: translate(40px, -20px) rotate(-10deg) scale(0.9); } 50% { transform: translate(80px, 0) rotate(5deg); } 75% { transform: translate(120px, -15px) rotate(-5deg) scale(1.1); } 100% { transform: translate(160px, 0) rotate(0deg); } }
@keyframes rid-flower { 0% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }
@keyframes rid-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }

/* moon-chin-gold */
.scn-moon-chin-gold {
  background: linear-gradient(180deg, #0b0b2e 0%, #1a1a4e 40%, #2a2a5e 100%), radial-gradient(ellipse at 50% 0%, #3a3a7a 0%, transparent 70%);
}
.scn-moon-chin-gold .night-sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0a2a 0%, #15154e 60%, #20205e 100%);
  animation: mcg-sky 10s ease-in-out infinite alternate;
}
.scn-moon-chin-gold .stars {
  position: absolute; inset: 0;
  background: transparent;
  background-image: radial-gradient(1px 1px at 10% 20%, #fff, transparent),
                    radial-gradient(1px 1px at 30% 40%, #e0e0ff, transparent),
                    radial-gradient(2px 2px at 50% 10%, #fffacd, transparent),
                    radial-gradient(1px 1px at 70% 60%, #e0e0ff, transparent),
                    radial-gradient(2px 2px at 90% 30%, #fff, transparent),
                    radial-gradient(1px 1px at 20% 80%, #e0e0ff, transparent),
                    radial-gradient(1px 1px at 60% 70%, #fffacd, transparent),
                    radial-gradient(2px 2px at 80% 90%, #fff, transparent);
  background-size: 100% 100%;
  animation: mcg-stars 12s linear infinite;
}
.scn-moon-chin-gold .moon {
  position: absolute; top: 12%; right: 25%; width: 70px; height: 70px;
  background: radial-gradient(circle at 40% 40%, #fffacd 0%, #f5deb3 60%, #daa520 100%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px rgba(218,165,32,.4);
  animation: mcg-moon 8s ease-in-out infinite alternate;
}
.scn-moon-chin-gold .figure {
  position: absolute; bottom: 10%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a2a5a 0%, #0b0b2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mcg-figure 6s ease-in-out infinite;
}
.scn-moon-chin-gold .bonnet {
  position: absolute; bottom: 55%; left: 32%; width: 50px; height: 20px;
  background: linear-gradient(180deg, #4a4a8a 0%, #2a2a5a 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(-10deg);
  animation: mcg-bonnet 4s ease-in-out infinite alternate;
}
.scn-moon-chin-gold .trinkets {
  position: absolute; bottom: 25%; left: 30%; width: 8px; height: 8px;
  background: #ffd700;
  border-radius: 50%;
  box-shadow: 12px 0 #ffd700, 24px 5px #ffd700, 36px -2px #ffd700, 48px 3px #ffd700;
  animation: mcg-trinkets 3s ease-in-out infinite alternate;
}
@keyframes mcg-sky { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes mcg-stars { 0% { opacity: .6; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes mcg-moon { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 40px 15px rgba(218,165,32,.3); } 100% { transform: translateY(-5px) scale(1.05); box-shadow: 0 0 60px 30px rgba(218,165,32,.5); } }
@keyframes mcg-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mcg-bonnet { 0% { transform: rotate(-15deg) translateY(0); } 100% { transform: rotate(-5deg) translateY(-2px); } }
@keyframes mcg-trinkets { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-3px) rotate(10deg); } }

/* bat-dun-wings */
.scn-bat-dun-wings {
  background: linear-gradient(180deg, #2b1b3a 0%, #4a2a5a 40%, #6a3a6a 100%), radial-gradient(ellipse at 50% 70%, #7a4a7a 0%, transparent 70%);
}
.scn-bat-dun-wings .dusk-sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a1a3a 0%, #6a3a6a 50%, #8a5a7a 100%);
  animation: bdw-sky 10s ease-in-out infinite alternate;
}
.scn-bat-dun-wings .moon-cloud {
  position: absolute; top: 15%; left: 40%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fffacd 0%, #daa520 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(12px);
  animation: bdw-moon 8s ease-in-out infinite alternate;
}
.scn-bat-dun-wings .bat-body {
  position: absolute; top: 30%; left: 50%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: bdw-body 2s ease-in-out infinite;
}
.scn-bat-dun-wings .wing-l {
  position: absolute; top: 28%; left: 38%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a2020 0%, #1a1010 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  transform-origin: right center;
  animation: bdw-wing 0.5s ease-in-out infinite alternate;
}
.scn-bat-dun-wings .wing-r {
  position: absolute; top: 28%; left: 55%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a2020 0%, #1a1010 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  transform-origin: left center;
  animation: bdw-wing 0.5s ease-in-out infinite alternate-reverse;
}
.scn-bat-dun-wings .umbrella {
  position: absolute; top: 32%; left: 44%; width: 30px; height: 10px;
  background: #5a3a2a;
  border-radius: 50% 50% 0 0;
  transform: rotate(10deg);
  animation: bdw-umb 3s ease-in-out infinite alternate;
}
.scn-bat-dun-wings .cloud-c {
  position: absolute; top: 10%; left: 70%; width: 70px; height: 18px;
  background: rgba(150,100,150,.3);
  border-radius: 50%;
  filter: blur(10px);
  animation: bdw-cloud 40s linear infinite;
}
.scn-bat-dun-wings .cloud-d {
  position: absolute; top: 20%; right: 10%; width: 50px; height: 12px;
  background: rgba(150,100,150,.2);
  border-radius: 50%;
  filter: blur(8px);
  animation: bdw-cloud 50s linear infinite reverse;
}
@keyframes bdw-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes bdw-moon { 0% { transform: scale(1) translateY(0); filter: blur(12px); } 100% { transform: scale(1.1) translateY(-4px); filter: blur(10px); } }
@keyframes bdw-body { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes bdw-wing { 0% { transform: rotate(-30deg); } 100% { transform: rotate(30deg); } }
@keyframes bdw-umb { 0% { transform: rotate(10deg) scale(1); } 100% { transform: rotate(-5deg) scale(0.9); } }
@keyframes bdw-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-200px); } }

/* balloons-set */
.scn-balloons-set {
  background: linear-gradient(180deg, #b0c4de 0%, #d3d3d3 50%, #808080 100%), radial-gradient(ellipse at 50% 20%, #c0c0c0 0%, transparent 60%);
}
.scn-balloons-set .overcast-sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #a9a9a9 0%, #dcdcdc 40%, #c0c0c0 100%);
  animation: bal-sky 15s ease-in-out infinite alternate;
}
.scn-balloons-set .clouds {
  position: absolute; top: 10%; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.5) 0%, transparent 50%),
              radial-gradient(ellipse at 80% 40%, rgba(255,255,255,.4) 0%, transparent 50%);
  filter: blur(15px);
  animation: bal-clouds 30s ease-in-out infinite;
}
.scn-balloons-set .balloon-a {
  position: absolute; bottom: 30%; left: 20%; width: 40px; height: 50px;
  background: radial-gradient(circle at 30% 40%, #87ceeb 0%, #4682b4 60%, #2a5a8a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: bal-float 6s ease-in-out infinite;
}
.scn-balloons-set .balloon-b {
  position: absolute; bottom: 25%; left: 45%; width: 35px; height: 45px;
  background: radial-gradient(circle at 30% 40%, #ffb6c1 0%, #d87093 60%, #b0306a 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: bal-float 8s ease-in-out infinite 1s;
}
.scn-balloons-set .balloon-c {
  position: absolute; bottom: 35%; left: 65%; width: 30px; height: 40px;
  background: radial-gradient(circle at 30% 40%, #98fb98 0%, #3cb371 60%, #2e8b57 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: bal-float 7s ease-in-out infinite 2s;
}
.scn-balloons-set .ribbon-a {
  position: absolute; bottom: 28%; left: 20%; width: 2px; height: 60px;
  background: linear-gradient(180deg, #4682b4 0%, transparent 100%);
  transform-origin: bottom center;
  animation: bal-ribbon 6s ease-in-out infinite;
}
.scn-balloons-set .ribbon-b {
  position: absolute; bottom: 23%; left: 45%; width: 2px; height: 55px;
  background: linear-gradient(180deg, #d87093 0%, transparent 100%);
  transform-origin: bottom center;
  animation: bal-ribbon 8s ease-in-out infinite 1s;
}
.scn-balloons-set .ribbon-c {
  position: absolute; bottom: 33%; left: 65%; width: 2px; height: 50px;
  background: linear-gradient(180deg, #3cb371 0%, transparent 100%);
  transform-origin: bottom center;
  animation: bal-ribbon 7s ease-in-out infinite 2s;
}
.scn-balloons-set .swan-silhouette {
  position: absolute; bottom: 10%; right: 15%; width: 50px; height: 40px;
  background: #2a2a2a;
  clip-path: polygon(10% 30%, 30% 0, 50% 20%, 70% 0, 90% 30%, 100% 50%, 70% 80%, 50% 90%, 30% 80%, 0 50%);
  animation: bal-swan 10s ease-in-out infinite alternate;
}
@keyframes bal-sky { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes bal-clouds { 0% { transform: translateX(0); } 100% { transform: translateX(-50px); } }
@keyframes bal-float { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bal-ribbon { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }
@keyframes bal-swan { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-5px) rotate(3deg); } }

.scn-jails-ecstasy {
  background:
    linear-gradient(180deg, #4a90d9 0%, #87ceeb 40%, #f0e68c 100%),
    radial-gradient(ellipse at 50% 0%, #ffdd77 0%, transparent 60%);
}
.scn-jails-ecstasy .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, transparent 100%);
  animation: je-sky 20s ease-in-out infinite alternate;
}
.scn-jails-ecstasy .sun {
  position: absolute; top: 12%; left: 70%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #fff7b0 0%, #ffdd77 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #ffdd77, 0 0 80px 40px rgba(255,221,119,0.3);
  animation: je-sun 24s ease-in-out infinite;
}
.scn-jails-ecstasy .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8fbc8f 0%, #3a7a3a 100%);
  border-radius: 60% 40% 0 0 / 20% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-jails-ecstasy .figure {
  position: absolute; bottom: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2a2a 0%, #111 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-jails-ecstasy .figure-a { left: 25%; animation: je-leap-a 3s ease-in-out infinite; }
.scn-jails-ecstasy .figure-b { left: 45%; animation: je-leap-b 3.5s ease-in-out infinite 0.5s; }
.scn-jails-ecstasy .figure-c { left: 65%; animation: je-leap-c 4s ease-in-out infinite 1s; }
.scn-jails-ecstasy .sparkle {
  position: absolute; width: 8px; height: 8px;
  background: radial-gradient(circle, #fffacd 0%, #ffdd77 80%);
  border-radius: 50%;
  box-shadow: 0 0 6px 3px #ffdd77;
}
.scn-jails-ecstasy .sparkle-1 { top: 20%; left: 30%; animation: je-sparkle 2s ease-in-out infinite; }
.scn-jails-ecstasy .sparkle-2 { top: 15%; left: 60%; animation: je-sparkle 2.5s ease-in-out infinite 1s; }

@keyframes je-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes je-sun { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.05); } }
@keyframes je-leap-a {
  0% { transform: translateY(0) rotate(-5deg); }
  25% { transform: translateY(-30px) rotate(2deg); }
  50% { transform: translateY(0) rotate(5deg); }
  75% { transform: translateY(-25px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes je-leap-b {
  0% { transform: translateY(0) rotate(3deg); }
  30% { transform: translateY(-35px) rotate(-4deg); }
  60% { transform: translateY(-10px) rotate(2deg); }
  100% { transform: translateY(0) rotate(3deg); }
}
@keyframes je-leap-c {
  0% { transform: translateY(0) rotate(-2deg); }
  40% { transform: translateY(-40px) rotate(4deg); }
  70% { transform: translateY(-5px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes je-sparkle {
  0%,100% { opacity: 0; transform: scale(0.5); }
  50% { opacity: 1; transform: scale(1.2); }
}

.scn-gallows-wretch {
  background:
    linear-gradient(180deg, #3a3a4a 0%, #4a4a5a 30%, #2a2a3a 100%),
    radial-gradient(ellipse at 50% 80%, #5a5a6a 0%, transparent 60%);
}
.scn-gallows-wretch .sky {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, rgba(200,200,220,0.06) 0%, transparent 100%);
  animation: gw-sky 30s linear infinite;
}
.scn-gallows-wretch .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a3a30 0%, #1a1a10 100%);
  border-radius: 30% 70% 0 0 / 10% 20% 0 0;
}
.scn-gallows-wretch .gallows-post {
  position: absolute; bottom: 20%; left: 50%; width: 12px; height: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a10 100%);
  border-radius: 4px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.6);
}
.scn-gallows-wretch .gallows-arm {
  position: absolute; bottom: 60%; left: 50%; width: 60px; height: 8px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-gallows-wretch .hanged {
  position: absolute; bottom: 20%; left: 50%; width: 18px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: gw-hanged 6s ease-in-out infinite alternate;
}
.scn-gallows-wretch .mother {
  position: absolute; bottom: 20%; left: 36%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 60% 50%;
  animation: gw-mother 8s ease-in-out infinite;
}
.scn-gallows-wretch .curtain {
  position: absolute; top: 0; left: 10%; width: 80%; height: 100%;
  background: linear-gradient(180deg, rgba(30,20,30,0.7) 0%, transparent 60%, rgba(30,20,30,0.8) 100%);
  transform: scaleX(0.95);
  animation: gw-curtain 12s ease-in-out infinite alternate;
}
@keyframes gw-sky { 0% { opacity: 0.7; } 50% { opacity: 0.5; } 100% { opacity: 0.7; } }
@keyframes gw-hanged {
  0% { transform: translateX(-50%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(2px); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes gw-mother {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(4px) rotate(-5deg); }
  60% { transform: translateX(-2px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes gw-curtain {
  0% { opacity: 0.6; transform: scaleX(0.95) translateY(0); }
  50% { opacity: 0.9; transform: scaleX(1) translateY(-5px); }
  100% { opacity: 0.6; transform: scaleX(0.95) translateY(0); }
}

.scn-brain-split {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 60%, #151520 100%),
    radial-gradient(ellipse at 50% 50%, #3a3a5a 0%, transparent 70%);
}
.scn-brain-split .wall {
  position: absolute; inset: 20% 0 0 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-brain-split .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #252535 0%, #101018 100%);
  border-radius: 0 0 30% 30%;
}
.scn-brain-split .chair {
  position: absolute; bottom: 20%; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-brain-split .figure-split {
  position: absolute; bottom: 20%; left: 50%; width: 20px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 4px 0 0 rgba(200,100,100,0.3), -4px 0 0 rgba(100,100,200,0.3);
  animation: bs-figure 4s ease-in-out infinite;
}
.scn-brain-split .crack {
  position: absolute; top: 30%; left: 50%; width: 2px; height: 40%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #ff8877 0%, #aa5544 100%);
  box-shadow: 0 0 10px 4px rgba(255,136,119,0.3);
  animation: bs-crack 3s ease-in-out infinite alternate;
}
.scn-brain-split .ball {
  position: absolute; width: 16px; height: 16px;
  background: radial-gradient(circle, #8a7a6a 0%, #3a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-brain-split .ball-1 { bottom: 20%; left: 30%; animation: bs-ball-1 6s ease-in-out infinite; }
.scn-brain-split .ball-2 { bottom: 25%; left: 60%; animation: bs-ball-2 7s ease-in-out infinite 1s; }
.scn-brain-split .ball-3 { bottom: 15%; left: 45%; animation: bs-ball-3 5s ease-in-out infinite 2s; }

@keyframes bs-figure {
  0% { transform: translateX(-50%) rotate(0); }
  25% { transform: translateX(-52%) rotate(3deg); }
  50% { transform: translateX(-48%) rotate(-2deg); }
  75% { transform: translateX(-45%) rotate(5deg); }
  100% { transform: translateX(-50%) rotate(0); }
}
@keyframes bs-crack {
  0% { opacity: 0.7; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 1; transform: translateX(-50%) scaleY(1.1); }
  100% { opacity: 0.8; transform: translateX(-50%) scaleY(0.95); }
}
@keyframes bs-ball-1 {
  0%,100% { transform: translateY(0) translateX(0); }
  25% { transform: translateY(-10px) translateX(8px); }
  50% { transform: translateY(0) translateX(12px); }
  75% { transform: translateY(-5px) translateX(4px); }
}
@keyframes bs-ball-2 {
  0%,100% { transform: translateY(0) translateX(0); }
  20% { transform: translateY(-15px) translateX(-5px); }
  40% { transform: translateY(-5px) translateX(10px); }
  60% { transform: translateY(-20px) translateX(0); }
  80% { transform: translateY(-8px) translateX(-8px); }
}
@keyframes bs-ball-3 {
  0%,100% { transform: translateY(0) translateX(0) rotate(0); }
  30% { transform: translateY(-12px) translateX(6px) rotate(30deg); }
  60% { transform: translateY(-3px) translateX(-4px) rotate(-20deg); }
}

.scn-reticent-volcano {
  background:
    linear-gradient(180deg, #6a7a80 0%, #8a9a9f 30%, #b0b8b0 100%),
    radial-gradient(ellipse at 50% 100%, #7a8890 0%, transparent 60%);
}
.scn-reticent-volcano .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, rgba(200,210,220,0.2) 0%, transparent 100%);
  animation: rv-sky 40s linear infinite;
}
.scn-reticent-volcano .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 10% 30% 0 0;
}
.scn-reticent-volcano .volcano {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}
.scn-reticent-volcano .crater {
  position: absolute; bottom: 46%; left: 50%; width: 40px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #ff99aa 0%, #cc6680 60%, #4a3a3a 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 10px #ff88aa, 0 0 40px 20px rgba(255,136,170,0.3);
  animation: rv-crater 4s ease-in-out infinite alternate;
}
.scn-reticent-volcano .smoke {
  position: absolute; bottom: 50%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(255,255,255,0.5) 0%, rgba(200,200,200,0.2) 80%);
  border-radius: 50%;
  filter: blur(4px);
}
.scn-reticent-volcano .smoke-a { left: 44%; animation: rv-smoke-a 12s ease-in-out infinite; }
.scn-reticent-volcano .smoke-b { left: 52%; animation: rv-smoke-b 14s ease-in-out infinite 3s; }
.scn-reticent-volcano .smoke-c { left: 48%; animation: rv-smoke-c 16s ease-in-out infinite 6s; }

@keyframes rv-sky { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes rv-crater {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.1); }
  100% { opacity: 0.7; transform: translateX(-50%) scale(0.95); }
}
@keyframes rv-smoke-a {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.7; }
  25% { transform: translateY(-20px) translateX(-10px) scale(1.5); opacity: 0.3; }
  50% { transform: translateY(-40px) translateX(-20px) scale(2); opacity: 0; }
  100% { transform: translateY(-5px) translateX(0) scale(1); opacity: 0.7; }
}
@keyframes rv-smoke-b {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.6; }
  30% { transform: translateY(-30px) translateX(10px) scale(1.8); opacity: 0.2; }
  60% { transform: translateY(-50px) translateX(15px) scale(2.5); opacity: 0; }
  100% { transform: translateY(0) translateX(0) scale(1); opacity: 0.6; }
}
@keyframes rv-smoke-c {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.5; }
  20% { transform: translateY(-25px) translateX(-5px) scale(1.6); opacity: 0.3; }
  50% { transform: translateY(-45px) translateX(5px) scale(2.2); opacity: 0; }
  100% { transform: translateY(0) translateX(0) scale(1); opacity: 0.5; }
}

/* Scene 1: bells-in-steeple */
.scn-bells-in-steeple {
  background: linear-gradient(180deg, #f9d4a8 0%, #e8b578 30%, #c98a5a 70%, #a36b3e 100%), radial-gradient(ellipse at 40% 30%, #ffeba0 0%, transparent 60%);
}
.scn-bells-in-steeple .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #ffddb0 0%, #f7bf77 50%, #d99a5a 100%);
  animation: si2-sky 15s ease-in-out infinite alternate;
}
.scn-bells-in-steeple .tower {
  position: absolute; bottom: 10%; left: 50%; width: 80px; height: 160px; transform: translateX(-50%);
  background: linear-gradient(180deg, #8a6040 0%, #6a4a30 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -8px 0 12px rgba(0,0,0,0.3), inset 8px 0 12px rgba(0,0,0,0.1);
}
.scn-bells-in-steeple .steeple-roof {
  position: absolute; bottom: 52%; left: 50%; width: 120px; height: 60px; transform: translateX(-50%);
  background: linear-gradient(135deg, #7a5540 0%, #b08060 50%, #7a5540 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  filter: drop-shadow(0 -4px 6px rgba(0,0,0,0.2));
}
.scn-bells-in-steeple .bell {
  position: absolute; width: 20px; height: 28px; border-radius: 50% 50% 40% 40%;
  background: radial-gradient(ellipse at 50% 40%, #d9b080 0%, #a07850 100%);
  box-shadow: 0 0 8px rgba(160,120,80,0.3);
  transform-origin: top center;
}
.scn-bells-in-steeple .bell-a { bottom: 28%; left: calc(50% - 24px); animation: si2-swing-a 2s ease-in-out infinite; }
.scn-bells-in-steeple .bell-b { bottom: 24%; left: calc(50% - 2px);  animation: si2-swing-b 2.4s ease-in-out infinite; }
.scn-bells-in-steeple .bell-c { bottom: 20%; left: calc(50% + 18px); animation: si2-swing-c 1.8s ease-in-out infinite; }
.scn-bells-in-steeple .cloud-c {
  position: absolute; top: 12%; left: 10%; width: 90px; height: 22px;
  background: linear-gradient(90deg, rgba(255,220,180,0.6), rgba(255,200,160,0.3));
  filter: blur(8px); border-radius: 50%;
  animation: si2-drift-c 40s linear infinite;
}
.scn-bells-in-steeple .cloud-d {
  position: absolute; top: 18%; right: 8%; width: 70px; height: 16px;
  background: linear-gradient(90deg, rgba(255,200,160,0.4), rgba(255,180,140,0.2));
  filter: blur(6px); border-radius: 50%;
  animation: si2-drift-d 50s linear infinite reverse;
}
@keyframes si2-sky { 0% { opacity:0.8; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.02); } 100% { opacity:0.85; transform:scaleY(0.98); } }
@keyframes si2-swing-a { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-8deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(3px) rotate(8deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes si2-swing-b { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(5deg); } 60% { transform: translateX(-2px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes si2-swing-c { 0% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(4px) rotate(10deg); } 40% { transform: translateX(-4px) rotate(-10deg); } 60% { transform: translateX(2px) rotate(6deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes si2-drift-c { 0% { transform: translateX(-40px) scale(1); } 50% { transform: translateX(60vw) scale(1.15); } 100% { transform: translateX(100vw) scale(0.9); } }
@keyframes si2-drift-d { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-30vw) scale(1.1); } 100% { transform: translateX(-80vw) scale(0.85); } }

/* Scene 2: moses-canaan */
.scn-moses-canaan {
  background: linear-gradient(180deg, #bcc8c4 0%, #9eaca8 40%, #7a8a86 100%), radial-gradient(ellipse at 60% 20%, #d0dad6 0%, transparent 70%);
}
.scn-moses-canaan .sky-overcast {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #d8e0de 0%, #b8c4c0 50%, #94a29e 100%);
  animation: sm-sky 25s ease-in-out infinite alternate;
}
.scn-moses-canaan .hills-far {
  position: absolute; bottom: 45%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 100%);
  border-radius: 50% 40% 0 0 / 70% 60% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.15);
  animation: sm-hills-far 30s ease-in-out infinite alternate;
}
.scn-moses-canaan .river {
  position: absolute; bottom: 38%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(90deg, #4a6a5a, #6a8a7a, #4a6a5a);
  border-radius: 0 0 40% 40%;
  opacity: 0.7;
  animation: sm-river 12s ease-in-out infinite alternate;
}
.scn-moses-canaan .hill-near {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #5a6a52 0%, #3a4a32 100%);
  border-radius: 30% 70% 0 0 / 80% 50% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.2);
  animation: sm-hill-near 20s ease-in-out infinite alternate;
}
.scn-moses-canaan .figure-moses {
  position: absolute; bottom: 28%; left: 35%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: sm-stance 8s ease-in-out infinite;
}
.scn-moses-canaan .staff {
  position: absolute; bottom: 26%; left: 32%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: sm-staff 8s ease-in-out infinite;
}
.scn-moses-canaan .veil-cloud {
  position: absolute; top: 20%; left: 30%; width: 120px; height: 18px;
  background: linear-gradient(90deg, rgba(255,255,255,0.15), rgba(200,210,205,0.3), rgba(255,255,255,0.1));
  filter: blur(10px);
  border-radius: 50%;
  animation: sm-veil 60s linear infinite;
}
@keyframes sm-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes sm-hills-far { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(0.99); } }
@keyframes sm-river { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.8; transform: scaleX(1.05); } 100% { opacity:0.6; transform: scaleX(0.95); } }
@keyframes sm-hill-near { 0% { transform: translateY(0) skewX(0deg); } 50% { transform: translateY(-3px) skewX(-1deg); } 100% { transform: translateY(0) skewX(0deg); } }
@keyframes sm-stance { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 33% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 66% { transform: translateX(-1px) translateY(0) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes sm-staff { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes sm-veil { 0% { transform: translateX(-30px); } 50% { transform: translateX(30vw); } 100% { transform: translateX(60vw); } }

/* Scene 3: mortal-lip-syllable */
.scn-mortal-lip-syllable {
  background: linear-gradient(135deg, #1a1020 0%, #2c1a2e 40%, #0e0a14 100%), radial-gradient(circle at 50% 70%, #2a1a2e 0%, transparent 80%);
}
.scn-mortal-lip-syllable .room-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1e1424 0%, #120a16 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
}
.scn-mortal-lip-syllable .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1e2e 0%, #1a0e1a 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-mortal-lip-syllable .figure-tense {
  position: absolute; bottom: 24%; left: 50%; width: 24px; height: 60px; transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0e1e 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: ml-figure 3s ease-in-out infinite;
}
.scn-mortal-lip-syllable .weight-ball {
  position: absolute; bottom: 50%; left: 50%; width: 40px; height: 40px; transform: translateX(-50%);
  background: radial-gradient(circle at 30% 30%, #5a4a4a 0%, #2a2a2a 100%);
  border-radius: 50%;
  box-shadow: 0 12px 24px rgba(0,0,0,0.8);
  animation: ml-weight 6s ease-in-out infinite;
}
.scn-mortal-lip-syllable .candle {
  position: absolute; bottom: 20%; left: 30%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #c0a080 0%, #8a6a4a 100%);
  border-radius: 2px;
}
.scn-mortal-lip-syllable .candle-glow {
  position: absolute; bottom: 22%; left: 28%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffcc80 0%, #d9a050 20%, transparent 70%);
  filter: blur(6px);
  animation: ml-glow 2s ease-in-out infinite alternate;
}
.scn-mortal-lip-syllable .shadow-sharp {
  position: absolute; bottom: 0; left: 40%; width: 30%; height: 30%;
  background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(3px);
  animation: ml-shadow 3s ease-in-out infinite alternate;
}
@keyframes ml-figure { 0% { transform: translateX(-50%) translateY(0) scaleY(1); } 50% { transform: translateX(-50%) translateY(-2px) scaleY(1.02); } 100% { transform: translateX(-50%) translateY(0) scaleY(0.98); } }
@keyframes ml-weight { 0% { transform: translateX(-50%) translateY(0) scale(1); } 25% { transform: translateX(-50%) translateY(-5px) scale(0.95); } 50% { transform: translateX(-50%) translateY(0) scale(1); } 75% { transform: translateX(-50%) translateY(3px) scale(1.05); } 100% { transform: translateX(-50%) translateY(0) scale(1); } }
@keyframes ml-glow { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes ml-shadow { 0% { opacity:0.3; transform: translateX(0); } 50% { opacity:0.7; transform: translateX(5px); } 100% { opacity:0.4; transform: translateX(-3px); } }

/* Scene 4: heroism-height */
.scn-heroism-height {
  background: linear-gradient(180deg, #b8c2c8 0%, #9aa8b0 40%, #7a8890 100%), radial-gradient(ellipse at 50% 20%, #d0d8de 0%, transparent 70%);
}
.scn-heroism-height .sky-hero {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d0d8da 0%, #b0bac0 50%, #8a96a0 100%);
  animation: hh-sky 20s ease-in-out infinite alternate;
}
.scn-heroism-height .cloud-hero {
  position: absolute; width: 100px; height: 20px;
  background: linear-gradient(90deg, rgba(255,255,255,0.3), rgba(200,210,215,0.2));
  filter: blur(8px);
  border-radius: 50%;
}
.scn-heroism-height .cloud-e {
  top: 15%; left: 8%;
  animation: hh-drift-e 45s linear infinite;
}
.scn-heroism-height .cloud-f {
  top: 25%; right: 12%;
  animation: hh-drift-f 55s linear infinite reverse;
}
.scn-heroism-height .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
}
.scn-heroism-height .pedestal {
  position: absolute; bottom: 28%; left: 50%; width: 60px; height: 30px; transform: translateX(-50%);
  background: linear-gradient(180deg, #7a7a6a 0%, #4a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-heroism-height .figure-hero {
  position: absolute; bottom: 40%; left: 50%; width: 26px; height: 70px; transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: hh-rise 8s ease-in-out infinite;
}
.scn-heroism-height .light-rays {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,240,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: hh-rays 6s ease-in-out infinite alternate;
}
@keyframes hh-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.8; } }
@keyframes hh-drift-e { 0% { transform: translateX(-40px) scale(1); } 50% { transform: translateX(40vw) scale(1.1); } 100% { transform: translateX(100vw) scale(0.9); } }
@keyframes hh-drift-f { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-30vw) scale(1.05); } 100% { transform: translateX(-80vw) scale(0.85); } }
@keyframes hh-rise { 0% { transform: translateX(-50%) translateY(0) scaleY(1); } 33% { transform: translateX(-50%) translateY(-3px) scaleY(1.01); } 66% { transform: translateX(-50%) translateY(0) scaleY(1); } 100% { transform: translateX(-50%) translateY(2px) scaleY(0.98); } }
@keyframes hh-rays { 0% { opacity:0.2; transform: scaleY(0.8); } 50% { opacity:0.4; transform: scaleY(1.1); } 100% { opacity:0.3; transform: scaleY(0.9); } }

/* smallest-robe-will-fit */
.scn-smallest-robe-will-fit {
  background:
    linear-gradient(180deg, #8a9aa8 0%, #a0b0be 40%, #b0c0cc 100%),
    radial-gradient(ellipse at 50% 0%, #c0d0da 0%, transparent 70%);
}
.scn-smallest-robe-will-fit .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #9aabbb 0%, transparent 100%);
  animation: srw-sky 14s ease-in-out infinite alternate;
}
.scn-smallest-robe-will-fit .mound {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(135deg, #7d8e7a 0%, #5a6b57 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.25);
  animation: srw-mound 20s ease-in-out infinite alternate;
}
.scn-smallest-robe-will-fit .figure-robe {
  position: absolute; bottom: 30%; left: 45%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #4a3f3a 0%, #2e2420 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: srw-figure 3s ease-in-out infinite;
}
.scn-smallest-robe-will-fit .crown {
  position: absolute; bottom: 72%; left: 45%; width: 14px; height: 8px;
  background: linear-gradient(135deg, #b8a88a 0%, #9a8a6a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  transform-origin: bottom center;
  animation: srw-crown 4s ease-in-out infinite alternate;
}
.scn-smallest-robe-will-fit .cloud-soft-a {
  position: absolute; top: 12%; left: 5%; width: 90px; height: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.1) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: srw-drift-a 40s linear infinite;
}
.scn-smallest-robe-will-fit .cloud-soft-b {
  position: absolute; top: 18%; right: 10%; width: 70px; height: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.05) 100%);
  border-radius: 50%; filter: blur(6px);
  animation: srw-drift-b 55s linear infinite reverse;
}
.scn-smallest-robe-will-fit .path-gentle {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 4%;
  background: linear-gradient(180deg, #a0b090 0%, #80987a 100%);
  border-radius: 50% / 100%;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
  animation: srw-path 12s ease-in-out infinite alternate;
}
@keyframes srw-sky { 0% { opacity: .75 } 50% { opacity: .95 } 100% { opacity: .8 } }
@keyframes srw-mound { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes srw-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(0deg) } 50% { transform: translateX(8px) translateY(0) rotate(1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(16px) translateY(0) rotate(-1deg) } }
@keyframes srw-crown { 0% { transform: rotate(-5deg) } 50% { transform: rotate(3deg) scale(1.02) } 100% { transform: rotate(-2deg) } }
@keyframes srw-drift-a { 0% { transform: translateX(-20px) } 100% { transform: translateX(120vw) } }
@keyframes srw-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }
@keyframes srw-path { 0% { opacity: .7; transform: scaleX(1) } 50% { opacity: 1; transform: scaleX(1.02) } 100% { opacity: .8; transform: scaleX(1) } }

/* step-lightly-narrow-spot */
.scn-step-lightly-narrow-spot {
  background:
    linear-gradient(180deg, #7b8c9a 0%, #9eaece 40%, #c0d0e0 100%),
    radial-gradient(ellipse at 50% 100%, #a0b0c0 0%, transparent 70%);
}
.scn-step-lightly-narrow-spot .bg-mist {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(200,210,220,.3) 0%, transparent 50%, rgba(180,190,200,.2) 100%);
  animation: sln-mist 12s ease-in-out infinite alternate;
}
.scn-step-lightly-narrow-spot .cliff-edge {
  position: absolute; bottom: 15%; left: 10%; right: 60%; height: 40%;
  background: linear-gradient(180deg, #6a7a6a 0%, #3a4a3a 100%);
  border-radius: 20% 80% 0 0 / 30% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
  animation: sln-cliff 18s ease-in-out infinite alternate;
}
.scn-step-lightly-narrow-spot .figure-slim {
  position: absolute; bottom: 30%; left: 15%; width: 14px; height: 45px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: sln-figure 4s ease-in-out infinite;
}
.scn-step-lightly-narrow-spot .stone-wall {
  position: absolute; bottom: 10%; left: 70%; width: 25%; height: 25%;
  background: linear-gradient(135deg, #7a7a5a 0%, #4a4a2a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,.4);
  animation: sln-wall 30s ease-in-out infinite alternate;
}
.scn-step-lightly-narrow-spot .bell-silhouette {
  position: absolute; bottom: 50%; left: 78%; width: 16px; height: 24px;
  background: radial-gradient(circle at 50% 20%, #2a2a2a 0%, #1a1a1a 60%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px rgba(0,0,0,.5);
  animation: sln-bell 8s ease-in-out infinite alternate;
}
.scn-step-lightly-narrow-spot .mist-drifting-a {
  position: absolute; top: 5%; left: -5%; width: 120px; height: 14px;
  background: linear-gradient(180deg, rgba(220,230,240,.3) 0%, rgba(200,210,220,.1) 100%);
  border-radius: 50%; filter: blur(10px);
  animation: sln-drift-a 50s linear infinite;
}
.scn-step-lightly-narrow-spot .mist-drifting-b {
  position: absolute; top: 12%; right: -10%; width: 100px; height: 10px;
  background: linear-gradient(180deg, rgba(210,220,230,.2) 0%, rgba(190,200,210,.05) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: sln-drift-b 60s linear infinite reverse;
}
@keyframes sln-mist { 0% { opacity: .4 } 50% { opacity: .8 } 100% { opacity: .5 } }
@keyframes sln-cliff { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sln-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(3px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(6px) translateY(0) rotate(0deg) } 75% { transform: translateX(9px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(12px) translateY(0) rotate(0deg) } }
@keyframes sln-wall { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes sln-bell { 0% { transform: rotate(-8deg) } 50% { transform: rotate(6deg) } 100% { transform: rotate(-4deg) } }
@keyframes sln-drift-a { 0% { transform: translateX(-40px) } 100% { transform: translateX(150vw) } }
@keyframes sln-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }

/* read-my-sentence-steadily */
.scn-read-my-sentence-steadily {
  background:
    linear-gradient(180deg, #2c3e3a 0%, #1a2a28 50%, #0e1a18 100%),
    radial-gradient(ellipse at 50% 100%, #1a2a28 0%, transparent 70%);
}
.scn-read-my-sentence-steadily .sky-gloom {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a4e4a 0%, transparent 100%);
  animation: rms-sky 10s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .garden-wall {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 25%;
  background: linear-gradient(135deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
  animation: rms-wall 15s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .figure-grim {
  position: absolute; bottom: 28%; left: 40%; width: 18px; height: 42px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rms-figure 3s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .dark-foliage {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(ellipse at 50% 100%, #2a3a2a 0%, #0e1a0e 70%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: rms-foliage 8s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .grave-stone {
  position: absolute; bottom: 22%; left: 60%; width: 20px; height: 28px;
  background: linear-gradient(135deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.4);
  animation: rms-grave 6s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .shadow-loom {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%);
  animation: rms-shadow 5s ease-in-out infinite alternate;
}
.scn-read-my-sentence-steadily .wind-sweep {
  position: absolute; top: 7%; left: -5%; width: 110px; height: 4px;
  background: linear-gradient(90deg, transparent 0%, rgba(180,200,190,.15) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: rms-wind 7s ease-in-out infinite alternate;
}
@keyframes rms-sky { 0% { opacity: .7 } 50% { opacity: .4 } 100% { opacity: .6 } }
@keyframes rms-wall { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes rms-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(4px) translateY(-3px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes rms-foliage { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(1) } }
@keyframes rms-grave { 0% { transform: rotate(-3deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes rms-shadow { 0% { opacity: .5 } 50% { opacity: .9 } 100% { opacity: .6 } }
@keyframes rms-wind { 0% { transform: translateX(-20px) opacity: .3 } 50% { transform: translateX(20px) opacity: .7 } 100% { transform: translateX(-10px) opacity: .4 } }

/* they-dropped-like-flakes */
.scn-they-dropped-like-flakes {
  background:
    linear-gradient(180deg, #d4e6f0 0%, #e0f0f8 40%, #f0faff 100%),
    radial-gradient(ellipse at 50% 0%, #f0faff 0%, transparent 70%);
}
.scn-they-dropped-like-flakes .sky-sunlit {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e6f2f8 0%, transparent 100%);
  animation: tdf-sky 12s ease-in-out infinite alternate;
}
.scn-they-dropped-like-flakes .grass-sea {
  position: absolute; bottom: 5%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #9aba9a 0%, #7a9a7a 100%);
  border-radius: 80% 70% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.15);
  animation: tdf-grass 20s ease-in-out infinite alternate;
}
.scn-they-dropped-like-flakes .ghost-lace {
  position: absolute; bottom: 25%; left: 45%; width: 24px; height: 55px;
  background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(230,240,250,.3) 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  filter: blur(1px);
  box-shadow: 0 0 12px rgba(255,255,255,.2);
  transform-origin: bottom center;
  animation: tdf-ghost 4s ease-in-out infinite;
}
.scn-they-dropped-like-flakes .snow-drift-a {
  position: absolute; top: 10%; left: 20%; width: 4px; height: 4px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(255,255,255,.5);
  animation: tdf-snow-a 14s linear infinite;
}
.scn-they-dropped-like-flakes .snow-drift-b {
  position: absolute; top: 8%; left: 60%; width: 3px; height: 3px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(255,255,255,.4);
  animation: tdf-snow-b 18s linear infinite;
  animation-delay: 3s;
}
.scn-they-dropped-like-flakes .snow-drift-c {
  position: absolute; top: 5%; left: 40%; width: 5px; height: 5px;
  background: #eaf4ff;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(255,255,255,.6);
  animation: tdf-snow-c 12s linear infinite;
  animation-delay: 7s;
}
.scn-they-dropped-like-flakes .tree-silhouette {
  position: absolute; bottom: 15%; left: 70%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: inset 0 4px 10px rgba(0,0,0,.3);
  animation: tdf-tree 25s ease-in-out infinite alternate;
}
.scn-they-dropped-like-flakes .light-beam {
  position: absolute; top: 0; left: 35%; right: 35%; height: 10%;
  background: linear-gradient(180deg, rgba(255,255,200,.15) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(10px);
  animation: tdf-beam 8s ease-in-out infinite alternate;
}
@keyframes tdf-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes tdf-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes tdf-ghost { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(6px) translateY(-4px) rotate(2deg) } 50% { transform: translateX(12px) translateY(0) rotate(0deg) } 75% { transform: translateX(18px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(24px) translateY(0) rotate(0deg) } }
@keyframes tdf-snow-a { 0% { transform: translateY(0) translateX(0) scale(1) } 50% { transform: translateY(40vh) translateX(20px) scale(1.2) } 100% { transform: translateY(80vh) translateX(40px) scale(0.8) } }
@keyframes tdf-snow-b { 0% { transform: translateY(0) translateX(0) scale(0.8) } 50% { transform: translateY(50vh) translateX(-15px) scale(1.1) } 100% { transform: translateY(90vh) translateX(-30px) scale(0.6) } }
@keyframes tdf-snow-c { 0% { transform: translateY(0) translateX(0) scale(1.2) } 50% { transform: translateY(30vh) translateX(10px) scale(0.9) } 100% { transform: translateY(70vh) translateX(20px) scale(1) } }
@keyframes tdf-tree { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes tdf-beam { 0% { opacity: .2 } 50% { opacity: .5 } 100% { opacity: .3 } }

.scn-flower-bravest-host {
  background: linear-gradient(180deg, #7EC8E3 0%, #B0E0E6 40%, #F5DEB3 70%, #EEDC82 100%), radial-gradient(ellipse at 50% 20%, #FFD700 0%, transparent 60%);
}
.scn-flower-bravest-host .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #87CEEB 0%, transparent 100%); animation: fbh-sky 15s ease-in-out infinite alternate; }
.scn-flower-bravest-host .sun { position:absolute; top:8%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, #FFF8DC 0%, #FFD700 40%, transparent 70%); border-radius:50%; animation: fbh-sun 5s ease-in-out infinite alternate; }
.scn-flower-bravest-host .hills { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6B8E23 0%, #556B2F 100%); border-radius: 60% 40% 0 0 / 70% 80% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.3); animation: fbh-hills 12s ease-in-out infinite alternate; }
.scn-flower-bravest-host .grass { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7CFC00 0%, #228B22 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; animation: fbh-grass 8s ease-in-out infinite; }
.scn-flower-bravest-host .flower1 { position:absolute; bottom:35%; left:30%; width:20px; height:30px; background: radial-gradient(circle, #FF69B4 0%, #FF1493 70%, #8B008B 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: fbh-flower-sway 3s ease-in-out infinite; }
.scn-flower-bravest-host .flower2 { position:absolute; bottom:32%; left:60%; width:18px; height:28px; background: radial-gradient(circle, #FFD700 0%, #FFA500 70%, #8B4513 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: fbh-flower-sway 3.5s ease-in-out infinite; }
.scn-flower-bravest-host .bee { position:absolute; top:20%; left:20%; width:12px; height:8px; background: repeating-linear-gradient(90deg, #F5DEB3 0px, #F5DEB3 4px, #333 4px, #333 8px); border-radius: 50% 50% 40% 40%; animation: fbh-bee 6s ease-in-out infinite; }
.scn-flower-bravest-host .petal { position:absolute; bottom:40%; left:35%; width:10px; height:6px; background: radial-gradient(circle, #FFB6C1 0%, transparent 100%); border-radius: 50%; animation: fbh-petal 10s linear infinite; }
@keyframes fbh-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes fbh-sun { 0% { transform:translateX(-50%) scale(1); opacity:0.9; } 50% { transform:translateX(-50%) scale(1.1); opacity:1; } 100% { transform:translateX(-50%) scale(1); opacity:0.85; } }
@keyframes fbh-hills { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes fbh-grass { 0% { transform:translateY(0) scaleY(1); } 50% { transform:translateY(-2px) scaleY(1.02); } 100% { transform:translateY(0) scaleY(1); } }
@keyframes fbh-flower-sway { 0% { transform:rotate(-3deg); } 50% { transform:rotate(3deg); } 100% { transform:rotate(-3deg); } }
@keyframes fbh-bee { 0% { transform:translate(0,0); } 25% { transform:translate(20px,-10px); } 50% { transform:translate(40px,5px); } 75% { transform:translate(20px,15px); } 100% { transform:translate(0,0); } }
@keyframes fbh-petal { 0% { transform:translateY(0) rotate(0deg); opacity:1; } 100% { transform:translateY(-80px) rotate(360deg); opacity:0; } }

.scn-presentiment-shadow {
  background: linear-gradient(180deg, #1B1B3A 0%, #2D2D5E 30%, #4A4A7A 60%, #3B3B5C 100%), radial-gradient(ellipse at 50% 100%, #5A5A8A 0%, transparent 70%);
}
.scn-presentiment-shadow .sky-dusk { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #2B2B5A 0%, transparent 100%); animation: ps-sky 20s ease-in-out infinite; }
.scn-presentiment-shadow .lawn { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2E4A2E 0%, #1A2A1A 100%); border-radius: 80% 20% 0 0 / 60% 40% 0 0; animation: ps-lawn 15s ease-in-out infinite; }
.scn-presentiment-shadow .tree { position:absolute; bottom:40%; left:30%; width:60px; height:120px; background: linear-gradient(180deg, #3A2A1A 0%, #1A0A0A 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: ps-tree 8s ease-in-out infinite alternate; }
.scn-presentiment-shadow .shadow { position:absolute; bottom:0; left:20%; width:150px; height:40px; background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%); border-radius: 50%; transform: skewX(-20deg); animation: ps-shadow 12s ease-in-out infinite alternate; }
.scn-presentiment-shadow .flower-cl1 { position:absolute; bottom:35%; left:40%; width:14px; height:20px; background: radial-gradient(circle, #9370DB 0%, #4B0082 70%, #1A0020 100%); border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; transform-origin: bottom center; animation: ps-close 4s ease-in-out infinite; }
.scn-presentiment-shadow .flower-cl2 { position:absolute; bottom:38%; left:55%; width:12px; height:18px; background: radial-gradient(circle, #BA55D3 0%, #8B008B 70%, #2E002E 100%); border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; transform-origin: bottom center; animation: ps-close 5s ease-in-out infinite 0.5s; }
.scn-presentiment-shadow .flower-cl3 { position:absolute; bottom:42%; left:50%; width:16px; height:22px; background: radial-gradient(circle, #DA70D6 0%, #9932CC 70%, #3B004B 100%); border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; transform-origin: bottom center; animation: ps-close 4.5s ease-in-out infinite 1s; }
@keyframes ps-sky { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.5; } }
@keyframes ps-lawn { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes ps-tree { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(-1deg); } }
@keyframes ps-shadow { 0% { width:150px; opacity:0.4; transform:skewX(-20deg) translateX(0); } 50% { width:200px; opacity:0.7; transform:skewX(-25deg) translateX(-10px); } 100% { width:160px; opacity:0.5; transform:skewX(-18deg) translateX(0); } }
@keyframes ps-close { 0% { height:20px; border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; } 50% { height:8px; border-radius: 50% 50% 50% 50% / 90% 90% 10% 10%; transform:rotate(10deg); } 100% { height:20px; border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; } }

.scn-bashful-flower-robbery {
  background: linear-gradient(180deg, #87CEEB 0%, #98FB98 50%, #3CB371 100%), radial-gradient(ellipse at 50% 80%, #FFD700 0%, transparent 60%);
}
.scn-bashful-flower-robbery .bg-sun { position:absolute; inset:0; background: linear-gradient(135deg, #F0FFF0 0%, #E0F0E0 100%); animation: bfr-sun 8s ease-in-out infinite alternate; }
.scn-bashful-flower-robbery .leaf-lg { position:absolute; bottom:20%; left:10%; width:100px; height:60px; background: linear-gradient(180deg, #228B22 0%, #006400 100%); border-radius: 80% 20% 50% 50% / 70% 30% 70% 30%; transform:rotate(-15deg); animation: bfr-leaf 6s ease-in-out infinite; }
.scn-bashful-flower-robbery .flower-shy { position:absolute; bottom:30%; left:35%; width:30px; height:40px; background: radial-gradient(circle, #FFB6C1 0%, #FF69B4 50%, #C71585 100%); border-radius: 50% 50% 40% 40% / 60% 60% 20% 20%; transform-origin: bottom center; animation: bfr-flinch 2s ease-in-out infinite; }
.scn-bashful-flower-robbery .hand { position:absolute; bottom:25%; left:55%; width:30px; height:50px; background: linear-gradient(180deg, #D2B48C 0%, #A0522D 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: top center; animation: bfr-hand 3s ease-in-out infinite alternate; }
.scn-bashful-flower-robbery .leaf-sm { position:absolute; bottom:15%; left:50%; width:50px; height:30px; background: linear-gradient(180deg, #32CD32 0%, #006400 100%); border-radius: 70% 30% 50% 50% / 80% 20% 60% 40%; transform:rotate(20deg); animation: bfr-leaf-sm 5s ease-in-out infinite; }
.scn-bashful-flower-robbery .petal-drop { position:absolute; bottom:38%; left:40%; width:8px; height:5px; background: #FFB6C1; border-radius: 50%; animation: bfr-petal 4s linear infinite; }
@keyframes bfr-sun { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes bfr-leaf { 0% { transform:rotate(-15deg); } 50% { transform:rotate(-10deg); } 100% { transform:rotate(-18deg); } }
@keyframes bfr-flinch { 0% { transform:scaleY(1) rotate(0deg); } 20% { transform:scaleY(0.7) rotate(10deg); } 40% { transform:scaleY(1.1) rotate(-5deg); } 60% { transform:scaleY(0.9) rotate(5deg); } 100% { transform:scaleY(1) rotate(0deg); } }
@keyframes bfr-hand { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(-15px) rotate(-10deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes bfr-leaf-sm { 0% { transform:rotate(20deg); } 50% { transform:rotate(15deg); } 100% { transform:rotate(22deg); } }
@keyframes bfr-petal { 0% { transform:translateY(0) rotate(0deg); opacity:1; } 100% { transform:translateY(60px) rotate(180deg); opacity:0; } }

.scn-mountain-sat-plain {
  background: linear-gradient(180deg, #B0C4DE 0%, #D3D3D3 30%, #A9A9A9 70%, #808080 100%), radial-gradient(ellipse at 50% 20%, #FFE4B5 0%, transparent 60%);
}
.scn-mountain-sat-plain .sky-over { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #C0C0C0 0%, transparent 100%); animation: msp-sky 20s ease-in-out infinite; }
.scn-mountain-sat-plain .mtn { position:absolute; bottom:30%; left:20%; right:20%; height:50%; background: linear-gradient(180deg, #696969 0%, #2F4F4F 100%); clip-path: polygon(0% 100%, 15% 40%, 30% 60%, 50% 20%, 70% 50%, 85% 30%, 100% 100%); border-radius: 0; animation: msp-mtn 25s ease-in-out infinite alternate; }
.scn-mountain-sat-plain .plain { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #556B2F 0%, #6B8E23 100%); border-radius: 70% 30% 0 0 / 80% 20% 0 0; animation: msp-plain 10s ease-in-out infinite; }
.scn-mountain-sat-plain .sun-ribbon { position:absolute; top:15%; left:45%; width:80px; height:20px; background: linear-gradient(90deg, transparent, #FFD700, transparent); filter: blur(6px); animation: msp-sun 8s ease-in-out infinite alternate; }
.scn-mountain-sat-plain .cloud-ribbon-a { position:absolute; top:10%; left:5%; width:60px; height:12px; background: rgba(255,255,255,0.3); border-radius: 50%; filter: blur(4px); animation: msp-cloud-a 40s linear infinite; }
.scn-mountain-sat-plain .cloud-ribbon-b { position:absolute; top:18%; right:10%; width:80px; height:14px; background: rgba(255,255,255,0.2); border-radius: 50%; filter: blur(5px); animation: msp-cloud-b 50s linear infinite reverse; }
.scn-mountain-sat-plain .grass-fg { position:absolute; bottom:0; left:0; right:0; height:8%; background: linear-gradient(180deg, #228B22 0%, #006400 100%); border-radius: 0; animation: msp-grass 6s ease-in-out infinite; }
@keyframes msp-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes msp-mtn { 0% { transform:scale(1) translateY(0); } 50% { transform:scale(1.02) translateY(-2px); } 100% { transform:scale(1) translateY(0); } }
@keyframes msp-plain { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes msp-sun { 0% { opacity:0.3; width:60px; } 50% { opacity:0.8; width:100px; } 100% { opacity:0.4; width:70px; } }
@keyframes msp-cloud-a { 0% { transform:translateX(0); } 100% { transform:translateX(300px); } }
@keyframes msp-cloud-b { 0% { transform:translateX(0); } 100% { transform:translateX(-400px); } }
@keyframes msp-grass { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.05); } 100% { transform:scaleY(1); } }

.scn-white-year-sweet-hours {
  background: linear-gradient(180deg, #2e3a4a 0%, #1c2633 60%, #0f151c 100%), radial-gradient(ellipse at 50% 70%, #3a4b5a 0%, transparent 60%);
}
.scn-white-year-sweet-hours .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a4b5a 0%, #1c2633 100%); animation: wysh-wall 20s ease-in-out infinite alternate;
}
.scn-white-year-sweet-hours .window-frame {
  position: absolute; top: 15%; left: 30%; width: 40%; height: 45%; border: 6px solid #4a3d2e; background: transparent; box-shadow: inset 0 0 20px rgba(0,0,0,0.6); border-radius: 4px; animation: wysh-frame 12s ease-in-out infinite;
}
.scn-white-year-sweet-hours .window-pane {
  position: absolute; top: 15%; left: 30%; width: 40%; height: 45%; background: linear-gradient(135deg, rgba(200,220,240,0.2) 0%, rgba(150,180,210,0.1) 50%, rgba(200,220,240,0.3) 100%); filter: blur(2px); animation: wysh-pane 8s ease-in-out infinite alternate;
}
.scn-white-year-sweet-hours .snow-scene {
  position: absolute; top: 15%; left: 30%; width: 40%; height: 45%; background: radial-gradient(ellipse at 50% 100%, #ffffff 0%, #c8d8e8 40%, transparent 100%); opacity: 0.7; animation: wysh-snow 18s ease-in-out infinite;
}
.scn-white-year-sweet-hours .chair {
  position: absolute; bottom: 20%; left: 60%; width: 40px; height: 50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px 4px 10px 10px; transform: rotate(-2deg); animation: wysh-chair 14s ease-in-out infinite;
}
.scn-white-year-sweet-hours .figure-sitting {
  position: absolute; bottom: 22%; left: 59%; width: 30px; height: 60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wysh-figure 6s ease-in-out infinite;
}
.scn-white-year-sweet-hours .lamp-glow {
  position: absolute; bottom: 40%; left: 20%; width: 10px; height: 10px; background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,208,128,0.5); animation: wysh-lamp 4s ease-in-out infinite alternate;
}
.scn-white-year-sweet-hours .dust-mote {
  position: absolute; top: 30%; left: 50%; width: 4px; height: 4px; background: rgba(255,255,255,0.5); border-radius: 50%; filter: blur(1px); animation: wysh-dust 15s linear infinite;
}

@keyframes wysh-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes wysh-frame { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.01) rotate(0.5deg); } 100% { transform: scale(1) rotate(-0.5deg); } }
@keyframes wysh-pane { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }
@keyframes wysh-snow { 0% { background-position: 0% 0%; opacity: 0.7; } 50% { background-position: 50% 10%; opacity: 0.5; } 100% { background-position: 100% 0%; opacity: 0.8; } }
@keyframes wysh-chair { 0%, 100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } }
@keyframes wysh-figure { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(3px) rotate(0deg); } 50% { transform: translateX(5px) rotate(1deg); } 75% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes wysh-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.4); } 50% { box-shadow: 0 0 40px 15px rgba(255,208,128,0.7); } 100% { box-shadow: 0 0 25px 8px rgba(255,208,128,0.5); } }
@keyframes wysh-dust { 0% { transform: translate(0, 0); opacity: 0.6; } 25% { transform: translate(20px, -10px); opacity: 0.2; } 50% { transform: translate(40px, -20px); opacity: 0.8; } 75% { transform: translate(60px, -5px); opacity: 0.3; } 100% { transform: translate(80px, -15px); opacity: 0.5; } }

.scn-me-come-dazzled-wandered {
  background: linear-gradient(180deg, #ffdd99 0%, #f7c174 40%, #e5a14f 100%), radial-gradient(ellipse at 30% 50%, #ffe5b3 0%, transparent 70%);
}
.scn-me-come-dazzled-wandered .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #8b7355 0%, #6b5335 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); animation: mdzw-floor 12s ease-in-out infinite alternate;
}
.scn-me-come-dazzled-wandered .back-wall {
  position: absolute; top: 0; left: 0; right: 0; height: 70%; background: linear-gradient(180deg, #fae3b0 0%, #f0c884 100%); animation: mdzw-wall 18s ease-in-out infinite;
}
.scn-me-come-dazzled-wandered .doorway-light {
  position: absolute; top: 10%; left: 50%; width: 30%; height: 60%; background: radial-gradient(ellipse at 50% 50%, #fff4cc 0%, #ffeca4 40%, transparent 100%); filter: blur(8px); opacity: 0.8; animation: mdzw-door 8s ease-in-out infinite alternate;
}
.scn-me-come-dazzled-wandered .table {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 8%; background: linear-gradient(180deg, #6b5335 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: mdzw-table 15s ease-in-out infinite;
}
.scn-me-come-dazzled-wandered .figure-arriving {
  position: absolute; bottom: 32%; left: 45%; width: 28px; height: 70px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mdzw-figure 5s ease-in-out infinite;
}
.scn-me-come-dazzled-wandered .bunting {
  position: absolute; top: 10%; left: 0; right: 0; height: 20px; background: repeating-linear-gradient(45deg, #c8553d 0px, #c8553d 20px, #ffdd99 20px, #ffdd99 30px); border-radius: 2px; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); animation: mdzw-bunting 9s ease-in-out infinite;
}
.scn-me-come-dazzled-wandered .chandelier {
  position: absolute; top: 5%; left: 40%; width: 20%; height: 15%; background: radial-gradient(ellipse at 50% 0%, #d4aa70 0%, #b08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,200,100,0.6); animation: mdzw-chandelier 6s ease-in-out infinite alternate;
}

@keyframes mdzw-floor { 0% { opacity: 0.9; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-2px); } 100% { opacity: 0.8; transform: translateY(2px); } }
@keyframes mdzw-wall { 0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.95); } }
@keyframes mdzw-door { 0% { transform: scaleX(1) scaleY(1); opacity: 0.7; } 50% { transform: scaleX(1.05) scaleY(1.02); opacity: 0.9; } 100% { transform: scaleX(0.98) scaleY(0.97); opacity: 0.8; } }
@keyframes mdzw-table { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(-0.3deg); } }
@keyframes mdzw-figure { 0% { transform: translateX(0) rotate(-2deg) scaleY(1); } 30% { transform: translateX(10px) rotate(0deg) scaleY(1.02); } 60% { transform: translateX(20px) rotate(2deg) scaleY(1); } 100% { transform: translateX(30px) rotate(0deg) scaleY(0.98); } }
@keyframes mdzw-bunting { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes mdzw-chandelier { 0% { box-shadow: 0 0 20px 5px rgba(255,200,100,0.5); } 50% { box-shadow: 0 0 40px 15px rgba(255,200,100,0.8); } 100% { box-shadow: 0 0 25px 8px rgba(255,200,100,0.4); } }

.scn-eye-seen-mystery-wish {
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%), radial-gradient(ellipse at 50% 80%, #2b3a5a 0%, transparent 70%);
}
.scn-eye-seen-mystery-wish .dark-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #0d1117 100%); animation: esmy-wall 25s ease-in-out infinite alternate;
}
.scn-eye-seen-mystery-wish .window-moon {
  position: absolute; top: 20%; left: 35%; width: 30%; height: 40%; background: radial-gradient(ellipse at 50% 50%, #c0d0e0 0%, #8090b0 30%, transparent 100%); filter: blur(4px); opacity: 0.5; animation: esmy-moon 15s ease-in-out infinite;
}
.scn-eye-seen-mystery-wish .bed-frame {
  position: absolute; bottom: 15%; left: 25%; width: 50%; height: 20%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 8px; box-shadow: inset 0 -4px 10px rgba(0,0,0,0.8); animation: esmy-bed 12s ease-in-out infinite;
}
.scn-eye-seen-mystery-wish .figure-standing {
  position: absolute; bottom: 35%; left: 55%; width: 30px; height: 80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: esmy-figure 7s ease-in-out infinite;
}
.scn-eye-seen-mystery-wish .candle-glow {
  position: absolute; bottom: 40%; left: 40%; width: 8px; height: 12px; background: radial-gradient(ellipse at 50% 0%, #ffd080 0%, #b08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 25px 8px rgba(255,208,128,0.6); animation: esmy-candle 4s ease-in-out infinite alternate;
}
.scn-eye-seen-mystery-wish .shadow-shape {
  position: absolute; top: 10%; left: 60%; width: 50px; height: 100px; background: rgba(10,10,20,0.6); border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%; filter: blur(6px); transform: rotate(10deg); animation: esmy-shadow 20s ease-in-out infinite;
}

@keyframes esmy-wall { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes esmy-moon { 0% { transform: scale(1) translate(0,0); opacity: 0.5; } 50% { transform: scale(1.02) translate(-5px,2px); opacity: 0.6; } 100% { transform: scale(0.98) translate(3px,-1px); opacity: 0.4; } }
@keyframes esmy-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes esmy-figure { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(8px) rotate(0deg); } 60% { transform: translateX(16px) rotate(2deg); } 100% { transform: translateX(24px) rotate(0deg); } }
@keyframes esmy-candle { 0% { box-shadow: 0 0 15px 4px rgba(255,208,128,0.4); } 50% { box-shadow: 0 0 35px 12px rgba(255,208,128,0.8); } 100% { box-shadow: 0 0 20px 6px rgba(255,208,128,0.3); } }
@keyframes esmy-shadow { 0% { transform: rotate(10deg) scale(1); } 50% { transform: rotate(5deg) scale(1.05); } 100% { transform: rotate(15deg) scale(0.95); } }

.scn-item-spade-grave {
  background: linear-gradient(180deg, #1e1a1a 0%, #2c2424 30%, #141010 100%), radial-gradient(ellipse at 50% 90%, #3a2a2a 0%, transparent 80%);
}
.scn-item-spade-grave .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e1a1a 0%, #0a0808 100%); animation: ispg-bg 20s ease-in-out infinite alternate;
}
.scn-item-spade-grave .bed-coffin {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 10px; box-shadow: inset 0 -8px 20px rgba(0,0,0,0.9); animation: ispg-bed 14s ease-in-out infinite;
}
.scn-item-spade-grave .pillow-grave {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 10%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 20% 20% / 40% 40% 60% 60%; box-shadow: 0 -4px 8px rgba(0,0,0,0.5); animation: ispg-pillow 10s ease-in-out infinite;
}
.scn-item-spade-grave .spade {
  position: absolute; bottom: 40%; left: 15%; width: 8px; height: 60px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 2px; transform: rotate(15deg); animation: ispg-spade 8s ease-in-out infinite;
}
.scn-item-spade-grave .figure-lying {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 20%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: center bottom; animation: ispg-figure 9s ease-in-out infinite;
}
.scn-item-spade-grave .candle-dim {
  position: absolute; bottom: 50%; left: 70%; width: 6px; height: 10px; background: radial-gradient(ellipse at 50% 0%, #ffa060 0%, #804020 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 15px 5px rgba(255,160,96,0.4); animation: ispg-candle 6s ease-in-out infinite alternate;
}

@keyframes ispg-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ispg-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(1px); } }
@keyframes ispg-pillow { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(0.98); } }
@keyframes ispg-spade { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-3px); } 100% { transform: rotate(18deg) translateY(0); } }
@keyframes ispg-figure { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(0.99); } }
@keyframes ispg-candle { 0% { box-shadow: 0 0 10px 3px rgba(255,160,96,0.3); } 50% { box-shadow: 0 0 20px 7px rgba(255,160,96,0.6); } 100% { box-shadow: 0 0 12px 4px rgba(255,160,96,0.2); } }

.scn-borne-without-dissent-breathed-trick {
  background: linear-gradient(180deg, #0c0c18 0%, #1a1a2e 40%, #0e0e1a 100%),
              radial-gradient(ellipse at 50% 10%, #2a2a4e 0%, transparent 70%);
}
.scn-borne-without-dissent-breathed-trick .bg-room {
  position:absolute; inset:0; background:#0e0e1a;
}
.scn-borne-without-dissent-breathed-trick .window {
  position:absolute; top:8%; left:72%; width:70px; height:110px;
  background: linear-gradient(135deg, #3a3a5e 0%, #1c1c3a 100%);
  border:3px solid #2a2a4e; border-radius:3px;
  box-shadow: inset 0 0 15px #2a2a4e;
  animation: bt-window 12s ease-in-out infinite alternate;
}
.scn-borne-without-dissent-breathed-trick .bed {
  position:absolute; bottom:10%; left:15%; width:70%; height:28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0e 100%);
  border-radius: 20% 20% 5% 5% / 60% 60% 5% 5%;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.6);
}
.scn-borne-without-dissent-breathed-trick .figure {
  position:absolute; bottom:18%; left:38%; width:80px; height:22px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 20% 20% 50% / 80% 20% 20% 80%;
  transform-origin: 15% center;
  animation: bt-figure 4s ease-in-out infinite;
}
.scn-borne-without-dissent-breathed-trick .breath {
  position:absolute; bottom:28%; left:52%; width:30px; height:12px;
  background: radial-gradient(ellipse, rgba(200,200,220,0.25) 0%, transparent 100%);
  filter: blur(3px);
  animation: bt-breath 3s ease-in-out infinite;
}
.scn-borne-without-dissent-breathed-trick .lamp {
  position:absolute; bottom:35%; left:20%; width:8px; height:14px;
  background: radial-gradient(circle, #d4a060 0%, #8a6030 70%);
  border-radius: 2px;
  box-shadow: 0 0 16px 4px rgba(180,120,60,0.4);
  animation: bt-lamp 5s ease-in-out infinite;
}
.scn-borne-without-dissent-breathed-trick .shadow {
  position:absolute; bottom:8%; left:20%; width:60%; height:10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(8px);
  animation: bt-shadow 8s ease-in-out infinite;
}
@keyframes bt-window {
  0% { opacity:0.6; box-shadow:0 0 10px #1a1a3e; }
  50% { opacity:1; box-shadow:0 0 30px #3a3a6e; }
  100% { opacity:0.7; box-shadow:0 0 15px #2a2a4e; }
}
@keyframes bt-figure {
  0%,100% { transform: scaleX(1) translateY(0); }
  50% { transform: scaleX(1.02) translateY(-1px); }
}
@keyframes bt-breath {
  0%,100% { opacity:0.3; transform: scaleY(1); }
  50% { opacity:0.8; transform: scaleY(1.8); }
}
@keyframes bt-lamp {
  0%,100% { opacity:0.7; transform: rotate(0deg); }
  50% { opacity:1; transform: rotate(3deg); }
}
@keyframes bt-shadow {
  0%,100% { opacity:0.5; transform: scaleX(1); }
  50% { opacity:0.8; transform: scaleX(1.1); }
}

.scn-tolling-bell-if-may-have {
  background: linear-gradient(180deg, #12121f 0%, #1e1e30 40%, #0d0d18 100%),
              radial-gradient(ellipse at 50% 20%, #2c2c44 0%, transparent 80%);
}
.scn-tolling-bell-if-may-have .bg-church {
  position:absolute; inset:0; background:#12121f;
}
.scn-tolling-bell-if-may-have .arch {
  position:absolute; top:0; left:20%; width:60%; height:70%;
  background: linear-gradient(180deg, #2a2a3e 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
}
.scn-tolling-bell-if-may-have .stainedglass {
  position:absolute; top:10%; left:30%; width:40%; height:35%;
  background: linear-gradient(135deg, #4a2a5e 0%, #2a1a3e 50%, #1a0a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 20px rgba(80,60,120,0.5);
  animation: tb-glass 15s ease-in-out infinite alternate;
}
.scn-tolling-bell-if-may-have .bell {
  position:absolute; top:2%; left:46%; width:8%; height:12%;
  background: radial-gradient(ellipse at 50% 30%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.5);
  animation: tb-bell 3s ease-in-out infinite;
}
.scn-tolling-bell-if-may-have .rope {
  position:absolute; top:12%; left:49%; width:2%; height:30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0e 100%);
  border-radius: 2px;
  animation: tb-rope 3s ease-in-out infinite;
}
.scn-tolling-bell-if-may-have .figure-kneel {
  position:absolute; bottom:10%; left:40%; width:20%; height:20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tb-figure 6s ease-in-out infinite;
}
.scn-tolling-bell-if-may-have .shadow-pew {
  position:absolute; bottom:0; left:10%; width:80%; height:20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(10px);
}
@keyframes tb-glass {
  0% { opacity:0.6; }
  50% { opacity:1; }
  100% { opacity:0.7; }
}
@keyframes tb-bell {
  0%,100% { transform: rotate(0deg); }
  25% { transform: rotate(-10deg); }
  75% { transform: rotate(10deg); }
}
@keyframes tb-rope {
  0%,100% { transform: translateY(0); }
  25% { transform: translateY(10px); }
  75% { transform: translateY(-5px); }
}
@keyframes tb-figure {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

.scn-think-of-it-lover-ice-pools {
  background: linear-gradient(180deg, #2a1a0e 0%, #3c2818 40%, #1a1008 100%),
              radial-gradient(ellipse at 50% 60%, #4a3020 0%, transparent 70%);
}
.scn-think-of-it-lover-ice-pools .bg-warm {
  position:absolute; inset:0; background:#1a1008;
}
.scn-think-of-it-lover-ice-pools .hearth {
  position:absolute; bottom:0; left:30%; width:40%; height:35%;
  background: linear-gradient(180deg, #5a3a20 0%, #2a1a0e 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-think-of-it-lover-ice-pools .fire-glow {
  position:absolute; bottom:15%; left:38%; width:24%; height:20%;
  background: radial-gradient(ellipse at 50% 60%, #e8a050 0%, #c07030 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(200,120,40,0.4);
  animation: ti-glow 7s ease-in-out infinite alternate;
}
.scn-think-of-it-lover-ice-pools .figure-left {
  position:absolute; bottom:10%; left:20%; width:15%; height:30%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ti-figure 8s ease-in-out infinite;
}
.scn-think-of-it-lover-ice-pools .figure-right {
  position:absolute; bottom:10%; right:20%; width:15%; height:30%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 40% 50% 30% 30% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ti-figure 8s ease-in-out infinite reverse;
}
.scn-think-of-it-lover-ice-pools .key {
  position:absolute; bottom:20%; left:48%; width:4%; height:10%;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a18 100%);
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(180,140,80,0.5);
  animation: ti-key 12s ease-in-out infinite;
}
.scn-think-of-it-lover-ice-pools .shadow-embrace {
  position:absolute; bottom:8%; left:20%; width:60%; height:8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(6px);
}
@keyframes ti-glow {
  0% { opacity:0.6; transform: scale(1); }
  50% { opacity:1; transform: scale(1.1); }
  100% { opacity:0.8; transform: scale(0.95); }
}
@keyframes ti-figure {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
}
@keyframes ti-key {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(5deg); }
}

.scn-item-fly-buzz {
  background: linear-gradient(180deg, #0e0e14 0%, #161a1e 40%, #0a0c0e 100%),
              radial-gradient(ellipse at 50% 30%, #1e2228 0%, transparent 80%);
}
.scn-item-fly-buzz .bg-death {
  position:absolute; inset:0; background:#0a0c0e;
}
.scn-item-fly-buzz .bed {
  position:absolute; bottom:10%; left:20%; width:60%; height:25%;
  background: linear-gradient(180deg, #2a2420 0%, #12100e 100%);
  border-radius: 15% 15% 5% 5% / 40% 40% 5% 5%;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-item-fly-buzz .figure {
  position:absolute; bottom:14%; left:35%; width:30%; height:18%;
  background: linear-gradient(180deg, #1a1a1e 0%, #0e0e12 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: fb-figure 8s ease-in-out infinite;
}
.scn-item-fly-buzz .fly {
  position:absolute; top:30%; left:60%; width:12px; height:8px;
  background: radial-gradient(circle, #4a4a4a 0%, #1a1a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(80,80,80,0.3);
  animation: fb-fly 2s linear infinite;
}
.scn-item-fly-buzz .window {
  position:absolute; top:8%; left:10%; width:80px; height:100px;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  border:3px solid #2a2a3a;
  border-radius:3px;
  box-shadow: inset 0 0 20px #1a1a2a;
  animation: fb-window 15s ease-in-out infinite alternate;
}
.scn-item-fly-buzz .curtain {
  position:absolute; top:8%; left:8%; width:84px; height:106px;
  background: linear-gradient(135deg, #2a2020 0%, #1a1212 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  opacity:0.6;
  filter: drop-shadow(4px 0 4px rgba(0,0,0,0.3));
  animation: fb-curtain 12s ease-in-out infinite;
}
.scn-item-fly-buzz .buzz-trail {
  position:absolute; top:30%; left:60%; width:60px; height:2px;
  background: linear-gradient(90deg, transparent 0%, rgba(120,120,120,0.2) 50%, transparent 100%);
  filter: blur(2px);
  animation: fb-trail 2s linear infinite;
}
.scn-item-fly-buzz .shadow-still {
  position:absolute; bottom:8%; left:15%; width:70%; height:10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(10px);
}
@keyframes fb-figure {
  0%,100% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.02); }
}
@keyframes fb-fly {
  0% { transform: translate(0,0); }
  25% { transform: translate(20px,-10px); }
  50% { transform: translate(40px,5px); }
  75% { transform: translate(20px,15px); }
  100% { transform: translate(0,0); }
}
@keyframes fb-window {
  0% { opacity:0.5; }
  50% { opacity:1; }
  100% { opacity:0.6; }
}
@keyframes fb-curtain {
  0%,100% { transform: scaleX(1); }
  50% { transform: scaleX(0.9); }
}
@keyframes fb-trail {
  0% { opacity:0; }
  50% { opacity:0.4; }
  100% { opacity:0; }
}

/* not-in-this-world — calm, dim-interior */
.scn-not-in-this-world {
  background:
    linear-gradient(135deg, #1a1410 0%, #2a1e14 40%, #1e1612 100%),
    radial-gradient(ellipse at 70% 40%, #3a2818 0%, transparent 70%);
}
.scn-not-in-this-world .wall-left {
  position: absolute; inset: 0 55% 0 0;
  background: linear-gradient(90deg, #1e1612 0%, #2a1e14 100%);
  animation: ntw-shadow 12s ease-in-out infinite alternate;
}
.scn-not-in-this-world .wall-right {
  position: absolute; inset: 0 0 0 45%;
  background: linear-gradient(90deg, #2a1e14 0%, #1a1410 100%);
}
.scn-not-in-this-world .shelf {
  position: absolute; bottom: 45%; left: 18%; right: 18%; height: 3%;
  background: linear-gradient(180deg, #3a2818, #1e1612);
  border-radius: 1px; box-shadow: 0 4px 12px rgba(0,0,0,.6);
}
.scn-not-in-this-world .book {
  position: absolute; bottom: 45%; left: 38%; width: 8%; height: 18%;
  background: linear-gradient(90deg, #6a3a1a 0%, #8a5a2a 40%, #6a3a1a 100%);
  border-radius: 1px 3px 3px 1px;
  box-shadow: 0 0 24px 6px rgba(200,160,80,.25), 0 4px 8px rgba(0,0,0,.4);
  transform-origin: left center;
  animation: ntw-book 8s ease-in-out infinite alternate;
}
.scn-not-in-this-world .light-shaft {
  position: absolute; top: 0; left: 35%; width: 30%; bottom: 0;
  background: linear-gradient(180deg, rgba(255,230,180,.12) 0%, rgba(255,230,180,.02) 60%, transparent 100%);
  filter: blur(8px);
  animation: ntw-shaft 7s ease-in-out infinite alternate;
}
.scn-not-in-this-world .dust-mote-a {
  position: absolute; top: 30%; left: 40%; width: 4px; height: 4px;
  background: radial-gradient(circle, rgba(255,240,200,.8) 0%, transparent 100%);
  border-radius: 50%; filter: blur(1px);
  animation: ntw-dust-a 9s ease-in-out infinite;
}
.scn-not-in-this-world .dust-mote-b {
  position: absolute; top: 50%; left: 52%; width: 3px; height: 3px;
  background: radial-gradient(circle, rgba(255,240,200,.6) 0%, transparent 100%);
  border-radius: 50%; filter: blur(1px);
  animation: ntw-dust-b 11s ease-in-out infinite 1.5s;
}
.scn-not-in-this-world .hand {
  position: absolute; bottom: 40%; left: 46%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #d4a87a 0%, #b8845a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ntw-hand 6s ease-in-out infinite alternate;
}
@keyframes ntw-shadow {
  0% { opacity: .8 } 50% { opacity: .6 } 100% { opacity: .9 }
}
@keyframes ntw-book {
  0% { transform: rotate(-2deg) translateY(0) }
  50% { transform: rotate(1deg) translateY(-2px) }
  100% { transform: rotate(-1deg) translateY(0) }
}
@keyframes ntw-shaft {
  0% { opacity: .5; transform: scaleX(1) }
  50% { opacity: .8; transform: scaleX(1.05) }
  100% { opacity: .6; transform: scaleX(.95) }
}
@keyframes ntw-dust-a {
  0% { transform: translate(0, 0); opacity: .3 }
  25% { transform: translate(8px, -12px); opacity: .7 }
  50% { transform: translate(16px, -4px); opacity: .5 }
  75% { transform: translate(4px, -18px); opacity: .8 }
  100% { transform: translate(10px, -6px); opacity: .4 }
}
@keyframes ntw-dust-b {
  0% { transform: translate(0, 0); opacity: .2 }
  33% { transform: translate(-6px, -10px); opacity: .6 }
  66% { transform: translate(4px, -16px); opacity: .4 }
  100% { transform: translate(-2px, -4px); opacity: .5 }
}
@keyframes ntw-hand {
  0% { transform: translateY(0) rotate(2deg) }
  50% { transform: translateY(-3px) rotate(-1deg) scaleY(1.02) }
  100% { transform: translateY(0) rotate(0deg) }
}

/* reason-earth-short — dark, dim-interior */
.scn-reason-earth-short {
  background:
    linear-gradient(180deg, #0a0a12 0%, #12101a 40%, #0e0c16 100%),
    radial-gradient(ellipse at 50% 30%, #1a1620 0%, transparent 70%);
}
.scn-reason-earth-short .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1420 0%, #0e0c12 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
}
.scn-reason-earth-short .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #0e0c16 0%, #161420 100%);
  animation: res-dim 14s ease-in-out infinite alternate;
}
.scn-reason-earth-short .table {
  position: absolute; bottom: 22%; left: 35%; width: 30%; height: 6%;
  background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%);
  border-radius: 2px; box-shadow: 0 6px 20px rgba(0,0,0,.7);
}
.scn-reason-earth-short .candle {
  position: absolute; bottom: 28%; left: 48%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #e8d0a0 0%, #8a7a5a 60%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  transform-origin: bottom center;
  animation: res-candle 5s ease-in-out infinite;
}
.scn-reason-earth-short .flame {
  position: absolute; bottom: 46%; left: 49%; width: 6px; height: 16px;
  background: radial-gradient(ellipse, #ffd060 0%, #ffa030 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 32px 12px rgba(255,180,60,.4), 0 0 60px 24px rgba(255,160,48,.15);
  animation: res-flame 2s ease-in-out infinite alternate;
}
.scn-reason-earth-short .figure {
  position: absolute; bottom: 22%; left: 42%; width: 20%; height: 38%;
  background: linear-gradient(180deg, #0e0c16 0%, #06040a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: res-figure 8s ease-in-out infinite alternate;
}
.scn-reason-earth-short .shadow-arm {
  position: absolute; bottom: 30%; left: 48%; width: 14%; height: 4%;
  background: linear-gradient(90deg, transparent 0%, #0a0810 50%, transparent 100%);
  border-radius: 40% 50% 30% 20%;
  transform-origin: right center;
  animation: res-arm 6s ease-in-out infinite;
}
.scn-reason-earth-short .paper {
  position: absolute; bottom: 24%; left: 46%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #c8b890 0%, #a89870 100%);
  border-radius: 1px;
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
  animation: res-paper 10s ease-in-out infinite;
}
@keyframes res-dim {
  0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 }
}
@keyframes res-candle {
  0%,100% { transform: translateY(0) rotate(0deg) }
  30% { transform: translateY(-1px) rotate(.5deg) }
  60% { transform: translateY(0) rotate(-.3deg) }
}
@keyframes res-flame {
  0% { transform: scale(1) translateY(0); opacity: .9 }
  25% { transform: scale(1.1) translateY(-2px); opacity: 1 }
  50% { transform: scale(.95) translateY(1px); opacity: .85 }
  75% { transform: scale(1.05) translateY(-1px); opacity: .95 }
  100% { transform: scale(1) translateY(0); opacity: .9 }
}
@keyframes res-figure {
  0% { transform: translateY(0) rotate(0deg) }
  50% { transform: translateY(-2px) rotate(1deg) scaleY(1.01) }
  100% { transform: translateY(0) rotate(-.5deg) }
}
@keyframes res-arm {
  0% { transform: translateX(0) rotate(-5deg); opacity: .6 }
  50% { transform: translateX(4px) rotate(8deg); opacity: .8 }
  100% { transform: translateX(0) rotate(-3deg); opacity: .7 }
}
@keyframes res-paper {
  0% { transform: translateY(0) rotate(0deg) scale(1) }
  40% { transform: translateY(-2px) rotate(2deg) scale(1.02) }
  70% { transform: translateY(0) rotate(-1deg) scale(.98) }
  100% { transform: translateY(0) rotate(0deg) scale(1) }
}

/* sun-kept-setting — tense, dusk */
.scn-sun-kept-setting {
  background:
    linear-gradient(180deg, #2a1a30 0%, #4a2a40 30%, #7a4a40 50%, #c07a40 65%, #e0a050 75%, #c08030 100%),
    radial-gradient(ellipse at 50% 0%, #e0a050 0%, transparent 60%);
}
.scn-sun-kept-setting .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #2a1a30 0%, #4a2a40 30%, transparent 100%);
  animation: sks-sky 10s ease-in-out infinite alternate;
}
.scn-sun-kept-setting .sun-disc {
  position: absolute; bottom: 50%; left: 50%; width: 60px; height: 60px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, #ffd080 0%, #e8a040 40%, #c07020 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(200,100,30,.5), 0 0 120px 60px rgba(200,100,30,.2);
  animation: sks-sun 6s ease-in-out infinite alternate;
}
.scn-sun-kept-setting .horizon {
  position: absolute; bottom: 42%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #1a0e0a 0%, #2a1a10 100%);
  border-radius: 40% 60% 0 0 / 100% 100% 0 0;
}
.scn-sun-kept-setting .village {
  position: absolute; bottom: 38%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #0a0604 0%, #1a0e08 100%);
  clip-path: polygon(10% 100%, 15% 40%, 25% 40%, 30% 20%, 35% 40%, 45% 40%, 50% 15%, 55% 40%, 65% 40%, 70% 25%, 80% 40%, 90% 40%, 95% 100%);
  animation: sks-village 14s ease-in-out infinite;
}
.scn-sun-kept-setting .figure {
  position: absolute; bottom: 36%; left: 48%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #0a0804 0%, #020100 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: sks-figure 5s ease-in-out infinite alternate;
}
.scn-sun-kept-setting .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1a08 0%, #1a0e04 40%, #0a0602 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  animation: sks-field 12s ease-in-out infinite alternate;
}
.scn-sun-kept-setting .bird-a {
  position: absolute; top: 20%; left: 30%; width: 20px; height: 6px;
  background: radial-gradient(ellipse, rgba(20,10,8,.8) 0%, transparent 100%);
  border-radius: 50%; filter: blur(1px);
  animation: sks-bird-a 25s linear infinite;
}
.scn-sun-kept-setting .bird-b {
  position: absolute; top: 15%; right: 25%; width: 16px; height: 5px;
  background: radial-gradient(ellipse, rgba(20,10,8,.6) 0%, transparent 100%);
  border-radius: 50%; filter: blur(1px);
  animation: sks-bird-b 30s linear infinite 5s;
}
@keyframes sks-sky {
  0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 }
}
@keyframes sks-sun {
  0% { transform: translate(-50%, 50%) scale(1); opacity: .85 }
  50% { transform: translate(-50%, 50%) scale(1.08); opacity: 1 }
  100% { transform: translate(-50%, 50%) scale(.95); opacity: .8 }
}
@keyframes sks-village {
  0% { opacity: .9; filter: brightness(1) }
  50% { opacity: 1; filter: brightness(1.15) }
  100% { opacity: .85; filter: brightness(.9) }
}
@keyframes sks-figure {
  0% { transform: translateY(0) rotate(-1deg) }
  30% { transform: translateY(-2px) rotate(1deg) scaleY(1.01) }
  60% { transform: translateY(0) rotate(-.5deg) }
  100% { transform: translateY(-1px) rotate(.5deg) }
}
@keyframes sks-field {
  0% { transform: translateY(0) scaleY(1) }
  50% { transform: translateY(-2px) scaleY(1.02) }
  100% { transform: translateY(0) scaleY(1) }
}
@keyframes sks-bird-a {
  0% { transform: translateX(0) translateY(0) }
  25% { transform: translateX(40vw) translateY(-8px) rotate(3deg) }
  50% { transform: translateX(80vw) translateY(-2px) }
  75% { transform: translateX(120vw) translateY(-12px) rotate(-2deg) }
  100% { transform: translateX(160vw) translateY(-4px) }
}
@keyframes sks-bird-b {
  0% { transform: translateX(0) translateY(0) }
  20% { transform: translateX(-30vw) translateY(-10px) rotate(-5deg) }
  40% { transform: translateX(-60vw) translateY(-3px) }
  60% { transform: translateX(-90vw) translateY(-14px) rotate(4deg) }
  80% { transform: translateX(-120vw) translateY(-6px) }
  100% { transform: translateX(-150vw) translateY(-8px) }
}

/* because-could-not-stop-death — calm, sunlit */
.scn-because-could-not-stop-death {
  background:
    linear-gradient(180deg, #7ab8d8 0%, #a8d8e8 30%, #d0e8f0 50%, #e8f0d8 65%, #c8d8a0 80%, #a8c080 100%),
    radial-gradient(ellipse at 60% 30%, #d0e8f0 0%, transparent 60%);
}
.scn-because-could-not-stop-death .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #7ab8d8 0%, #a8d8e8 40%, transparent 100%);
  animation: bcd-sky 15s ease-in-out infinite alternate;
}
.scn-because-could-not-stop-death .sun {
  position: absolute; top: 15%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe8b0 0%, #ffd880 30%, #e8b848 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,216,128,.4), 0 0 80px 40px rgba(255,216,128,.15);
  animation: bcd-sun 8s ease-in-out infinite alternate;
}
.scn-because-could-not-stop-death .cloud-a {
  position: absolute; top: 10%; left: 10%; width: 120px; height: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.7) 0%, rgba(200,220,240,.3) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: bcd-cloud-a 40s linear infinite;
}
.scn-because-could-not-stop-death .cloud-b {
  position: absolute; top: 22%; right: 8%; width: 90px; height: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(200,220,240,.2) 100%);
  border-radius: 50%; filter: blur(6px);
  animation: bcd-cloud-b 35s linear infinite 10s;
}
.scn-because-could-not-stop-death .road {
  position: absolute; bottom: 0; left: 15%; right: 15%; height: 55%;
  background: linear-gradient(180deg, #b8a880 0%, #9a8860 40%, #7a6840 100%);
  clip-path: polygon(40% 0%, 60% 0%, 70% 100%, 30% 100%);
  animation: bcd-road 16s ease-in-out infinite;
}
.scn-because-could-not-stop-death .carriage {
  position: absolute; bottom: 38%; left: 35%; width: 14%; height: 18%;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  transform-origin: bottom center;
  animation: bcd-carriage 7s ease-in-out infinite;
}
.scn-because-could-not-stop-death .horse {
  position: absolute; bottom: 38%; left: 48%; width: 18%; height: 22%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 20% 15% 15% / 50% 40% 30% 30%;
  transform-origin: bottom center;
  animation: bcd-horse 4s ease-in-out infinite;
}
.scn-because-could-not-stop-death .school {
  position: absolute; bottom: 42%; left: 10%; width: 12%; height: 16%;
  background: linear-gradient(180deg, #c8b890 0%, #a89870 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: bcd-school 10s ease-in-out infinite alternate;
}
.scn-because-could-not-stop-death .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #a8c070 0%, #88a858 40%, #688840 100%);
  clip-path: polygon(0% 60%, 100% 50%, 100% 100%, 0% 100%);
  animation: bcd-field 12s ease-in-out infinite;
}
@keyframes bcd-sky {
  0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 }
}
@keyframes bcd-sun {
  0% { transform: scale(1); opacity: .9 }
  50% { transform: scale(1.05); opacity: 1 }
  100% { transform: scale(.95); opacity: .85 }
}
@keyframes bcd-cloud-a {
  0% { transform: translateX(-60px) }
  100% { transform: translateX(120vw) }
}
@keyframes bcd-cloud-b {
  0% { transform: translateX(0) }
  100% { transform: translateX(-100vw) }
}
@keyframes bcd-road {
  0% { transform: translateY(0) scaleY(1) }
  50% { transform: translateY(-2px) scaleY(1.01) }
  100% { transform: translateY(0) scaleY(1) }
}
@keyframes bcd-carriage {
  0% { transform: translateY(0) rotate(0deg) }
  25% { transform: translateY(-2px) rotate(1deg) }
  50% { transform: translateY(0) rotate(0deg) }
  75% { transform: translateY(-3px) rotate(-1deg) }
  100% { transform: translateY(0) rotate(0deg) }
}
@keyframes bcd-horse {
  0% { transform: translateY(0) rotate(-2deg) scaleX(1) }
  25% { transform: translateY(-3px) rotate(1deg) scaleX(1.01) }
  50% { transform: translateY(0) rotate(-1deg) scaleX(1) }
  75% { transform: translateY(-4px) rotate(2deg) scaleX(1.01) }
  100% { transform: translateY(0) rotate(-2deg) scaleX(1) }
}
@keyframes bcd-school {
  0% { transform: translateY(0); filter: brightness(1) }
  50% { transform: translateY(-2px); filter: brightness(1.05) }
  100% { transform: translateY(0); filter: brightness(.95) }
}
@keyframes bcd-field {
  0% { transform: translateY(0) }
  50% { transform: translateY(-2px) }
  100% { transform: translateY(0) }
}

/* forgetting-recollecting - calm, overcast */
.scn-forgetting-recollecting {
  background: linear-gradient(180deg, #8a9ba8 0%, #6b7b87 50%, #a3b5c2 100%), 
              radial-gradient(ellipse at 50% 0%, #c5d5e0 0%, transparent 70%);
}
.scn-forgetting-recollecting .sky-fr {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #9caeb9 0%, #c2d1db 100%);
  animation: fr-sky 15s ease-in-out infinite alternate;
}
.scn-forgetting-recollecting .ground-fr {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #7a8c7a 0%, #5a6a5a 100%);
  border-radius: 70% 30% 0 0 / 40% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
}
.scn-forgetting-recollecting .figure-fr {
  position: absolute; bottom: 30%; left: 40%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2c3a3a 0%, #1a2424 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fr-bend 8s ease-in-out infinite;
}
.scn-forgetting-recollecting .hand-fr {
  position: absolute; bottom: 32%; left: 46%; width: 14px; height: 20px;
  background: linear-gradient(135deg, #3a4a4a 0%, #2a3a3a 100%);
  border-radius: 50% 50% 40% 60% / 60% 40% 40% 50%;
  transform: rotate(20deg);
  animation: fr-hand 6s ease-in-out infinite alternate;
}
.scn-forgetting-recollecting .petal-fr {
  position: absolute; border-radius: 50% 0 50% 0;
  background: radial-gradient(circle, #d0c8b0 0%, #b8a890 100%);
  width: 8px; height: 10px;
  filter: blur(1px);
  animation: fr-petal 12s linear infinite;
}
.scn-forgetting-recollecting .p1 { top: 50%; left: 35%; animation-delay: 0s; }
.scn-forgetting-recollecting .p2 { top: 48%; left: 50%; animation-delay: 4s; }
.scn-forgetting-recollecting .p3 { top: 52%; left: 42%; animation-delay: 8s; }
@keyframes fr-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes fr-bend { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fr-hand { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes fr-petal { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 25% { transform: translate(10px,-15px) rotate(90deg) scale(1.1); } 50% { transform: translate(20px,-30px) rotate(180deg) scale(0.9); } 75% { transform: translate(30px,-20px) rotate(270deg) scale(1); } 100% { transform: translate(40px,-10px) rotate(360deg) scale(1); } }

/* farthest-thunder - tense, overcast */
.scn-farthest-thunder {
  background: linear-gradient(180deg, #1f2b3a 0%, #2c3d4e 40%, #3a4d5e 100%),
              radial-gradient(ellipse at 50% 0%, #3a4d5e 0%, transparent 60%);
}
.scn-farthest-thunder .sky-ft {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1f2b3a 0%, #2e4052 100%);
  animation: ft-sky 12s ease-in-out infinite alternate;
}
.scn-farthest-thunder .cloud-ft {
  position: absolute; top: 15%; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(180deg, #2c3a4a 0%, #3a4a5a 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(8px);
}
.scn-farthest-thunder .c1 { top: 10%; height: 150px; animation: ft-cloud 25s linear infinite; }
.scn-farthest-thunder .c2 { top: 20%; height: 100px; animation: ft-cloud 35s linear infinite reverse; animation-delay: -10s; }
.scn-farthest-thunder .ground-ft {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-farthest-thunder .figure-ft {
  position: absolute; bottom: 28%; left: 45%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #0f1820 0%, #1a242e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ft-figure 0.5s ease-in-out infinite;
}
.scn-farthest-thunder .lightning-ft {
  position: absolute; bottom: 60%; left: 50%; width: 6px; height: 100px;
  background: linear-gradient(180deg, #fffde0 0%, #ffcc00 100%);
  clip-path: polygon(50% 0%, 40% 30%, 60% 40%, 35% 70%, 65% 85%, 30% 100%, 50% 80%, 60% 60%, 40% 50%);
  transform: rotate(-10deg);
  box-shadow: 0 0 30px 10px rgba(255,204,0,0.8), 0 0 60px 20px rgba(255,255,255,0.3);
  animation: ft-lightning 1.5s ease-in-out infinite;
}
.scn-farthest-thunder .flash-ft {
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.15);
  pointer-events: none;
  animation: ft-flash 3s step-end infinite;
}
@keyframes ft-sky { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.5 } }
@keyframes ft-cloud { 0% { transform: translateX(-50px); } 100% { transform: translateX(100vw); } }
@keyframes ft-figure { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(2px,-1px) rotate(1deg); } 50% { transform: translate(0,0) rotate(0deg); } 75% { transform: translate(-2px,-1px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ft-lightning { 0% { opacity: 0; } 10% { opacity: 1; } 20% { opacity: 0; } 30% { opacity: 1; } 40% { opacity: 0; } 100% { opacity: 0; } }
@keyframes ft-flash { 0%, 90%, 100% { opacity: 0; } 10%, 30% { opacity: 1; } }

/* door-warmth - tense, dim-interior */
.scn-door-warmth {
  background: linear-gradient(180deg, #0a0f1a 0%, #141c2a 100%),
              radial-gradient(ellipse at 50% 80%, #2a1a0a 0%, transparent 70%);
}
.scn-door-warmth .wall-dw {
  position: absolute; inset: 0 20% 0 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
}
.scn-door-warmth .door-dw {
  position: absolute; bottom: 10%; right: 15%; width: 80px; height: 140px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f140a 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 2px 0 10px rgba(0,0,0,0.7);
  transform-origin: left center;
  animation: dw-door 8s ease-in-out infinite alternate;
}
.scn-door-warmth .warmth-dw {
  position: absolute; bottom: 10%; right: 15%; width: 60px; height: 120px;
  background: linear-gradient(135deg, rgba(255,180,80,0.6) 0%, transparent 100%);
  border-radius: 0 30% 30% 0 / 0 40% 40% 0;
  filter: blur(12px);
  opacity: 0.8;
  animation: dw-warmth 4s ease-in-out infinite alternate;
}
.scn-door-warmth .figure-dw {
  position: absolute; bottom: 12%; left: 30%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #121a22 0%, #0b1016 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dw-figure 6s ease-in-out infinite;
}
.scn-door-warmth .street-dw {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a222a 0%, #0a0e12 100%);
  border-radius: 40% 60% 0 0 / 20% 40% 0 0;
}
.scn-door-warmth .shadow-dw {
  position: absolute; bottom: 10%; left: 25%; width: 50px; height: 10px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(6px);
  animation: dw-shadow 8s ease-in-out infinite alternate;
}
.scn-door-warmth .glow-dw {
  position: absolute; bottom: 20%; right: 22%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffb060 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255, 170, 80, 0.4);
  animation: dw-glow 3s ease-in-out infinite alternate;
}
@keyframes dw-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-25deg); } 100% { transform: rotateY(0deg); } }
@keyframes dw-warmth { 0% { opacity: 0.6; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.2); } 100% { opacity: 0.6; transform: scaleX(1); } }
@keyframes dw-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dw-shadow { 0% { transform: scaleX(1); opacity: 0.6; } 50% { transform: scaleX(1.4); opacity: 0.9; } 100% { transform: scaleX(1); opacity: 0.6; } }
@keyframes dw-glow { 0% { box-shadow: 0 0 40px 15px rgba(255,170,80,0.3); } 50% { box-shadow: 0 0 80px 25px rgba(255,170,80,0.6); } 100% { box-shadow: 0 0 40px 15px rgba(255,170,80,0.3); } }

/* ashes-fire - calm, dim-interior */
.scn-ashes-fire {
  background: linear-gradient(180deg, #1a1410 0%, #2a2018 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 60%);
}
.scn-ashes-fire .hearth-af {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-ashes-fire .firebox-af {
  position: absolute; bottom: 15%; left: 25%; right: 25%; height: 35%;
  background: linear-gradient(180deg, #0f0a05 0%, #1a1208 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
}
.scn-ashes-fire .log-af {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 12px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f140a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-ashes-fire .l1 { left: 28%; width: 60px; transform: rotate(10deg); }
.scn-ashes-fire .l2 { left: 35%; width: 50px; transform: rotate(-15deg); top: 22%; }
.scn-ashes-fire .ember-af {
  position: absolute; border-radius: 50%;
  background: radial-gradient(circle, #ff7030 0%, #c04020 100%);
  box-shadow: 0 0 20px 6px rgba(255, 100, 30, 0.6);
  width: 12px; height: 12px;
  animation: af-ember 4s ease-in-out infinite;
}
.scn-ashes-fire .e1 { bottom: 25%; left: 35%; animation-delay: 0s; }
.scn-ashes-fire .e2 { bottom: 28%; left: 45%; animation-delay: 1.5s; }
.scn-ashes-fire .e3 { bottom: 23%; left: 55%; animation-delay: 3s; }
.scn-ashes-fire .ash-af {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 8px;
  background: linear-gradient(180deg, rgba(100,90,80,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: af-ash 8s ease-in-out infinite alternate;
}
@keyframes af-ember { 0% { transform: scale(1) translateY(0); opacity: 0.8; } 50% { transform: scale(1.3) translateY(-4px); opacity: 1; } 100% { transform: scale(1) translateY(0); opacity: 0.8; } }
@keyframes af-ash { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.1); } 100% { transform: translateY(0) scaleX(1); } }

/* it-cant-be-dying */
.scn-it-cant-be-dying {
  background: 
    linear-gradient(180deg, #5b6a6a 0%, #3f4b4b 40%, #2a3333 100%),
    radial-gradient(ellipse at 80% 30%, #7a8c6b 0%, transparent 60%);
}
.scn-it-cant-be-dying .icd-sky {
  position:absolute; inset:0 0 55% 0; 
  background: linear-gradient(180deg, #7a8c7c 0%, #4e5e5e 100%);
  animation: icd-sky 14s ease-in-out infinite alternate;
}
.scn-it-cant-be-dying .icd-ground {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #4a3f32 0%, #2c241b 100%);
  border-radius: 30% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.4);
}
.scn-it-cant-be-dying .icd-tree {
  position:absolute; bottom:40%; left:30%; width:24px; height:70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e140a 100%);
  border-radius: 8% 8% 4% 4%; transform: rotate(-8deg);
  animation: icd-tree 12s ease-in-out infinite;
}
.scn-it-cant-be-dying .icd-leaves {
  position:absolute; bottom:65%; left:22%; width:120px; height:80px;
  background: radial-gradient(ellipse at 30% 60%, #a0461a 0%, #6b2f0e 60%, transparent 80%);
  border-radius: 60% 40% 60% 40% / 50% 60% 40% 50%;
  filter: blur(2px); animation: icd-leaves 20s ease-in-out infinite alternate;
}
.scn-it-cant-be-dying .icd-gentian {
  position:absolute; bottom:20%; left:45%; width:30px; height:40px;
  background: radial-gradient(circle at 50% 20%, #7aaec4 0%, #3a5a6a 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 12px 2px rgba(122,174,196,0.4);
  animation: icd-gentian 8s ease-in-out infinite;
}
.scn-it-cant-be-dying .icd-sun-glow {
  position:absolute; top:15%; right:10%; width:80px; height:80px;
  background: radial-gradient(circle, #b8a67c 0%, #7a6b4e 40%, transparent 70%);
  border-radius: 50%; filter: blur(10px);
  animation: icd-sun 18s ease-in-out infinite alternate;
}
.scn-it-cant-be-dying .icd-blossom-a,
.scn-it-cant-be-dying .icd-blossom-b {
  position:absolute; bottom:30%; width:12px; height:14px;
  background: radial-gradient(circle at 50% 30%, #c8a080 0%, #8a5a3a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px 1px rgba(200,160,128,0.3);
  animation: icd-blossom 10s ease-in-out infinite;
}
.scn-it-cant-be-dying .icd-blossom-a { left:60%; bottom:28%; }
.scn-it-cant-be-dying .icd-blossom-b { left:70%; bottom:32%; animation-delay: -4s; }
@keyframes icd-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes icd-tree { 0%,100% { transform: rotate(-8deg) } 50% { transform: rotate(-6deg) translateY(-2px) } }
@keyframes icd-leaves { 0% { filter: blur(2px) } 50% { filter: blur(4px) } 100% { filter: blur(1px) } }
@keyframes icd-gentian { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(5deg) scale(1.1) } 100% { transform: rotate(-3deg) scale(1) } }
@keyframes icd-sun { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes icd-blossom { 0%,100% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-4px) rotate(2deg) } }

/* item-gentian-tried-rose */
.scn-item-gentian-tried-rose {
  background: 
    linear-gradient(180deg, #849090 0%, #5a6868 30%, #3d4949 100%),
    radial-gradient(ellipse at 50% 90%, #9aa89a 0%, transparent 60%);
}
.scn-item-gentian-tried-rose .igtr-sky {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #9aa8a0 0%, #6a7878 100%);
  animation: igtr-sky 16s ease-in-out infinite alternate;
}
.scn-item-gentian-tried-rose .igtr-brook {
  position:absolute; bottom:30%; left:5%; right:5%; height:8%;
  background: linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 100%);
  border-radius: 50% / 100% 100% 0 0; box-shadow: inset 0 -4px 8px rgba(0,0,0,.3);
  animation: igtr-brook 8s ease-in-out infinite;
}
.scn-item-gentian-tried-rose .igtr-left-bank,
.scn-item-gentian-tried-rose .igtr-right-bank {
  position:absolute; bottom:35%; height:12%;
  background: linear-gradient(180deg, #5a4e3a 0%, #3a3022 100%);
  border-radius: 30% 0 0 0;
}
.scn-item-gentian-tried-rose .igtr-left-bank { left:0; right:55%; border-radius: 0 30% 0 0; }
.scn-item-gentian-tried-rose .igtr-right-bank { right:0; left:55%; border-radius: 30% 0 0 0; }
.scn-item-gentian-tried-rose .igtr-stone {
  position:absolute; bottom:38%; left:45%; width:30px; height:20px;
  background: linear-gradient(180deg, #5a5a50 0%, #3a3a30 100%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 4px 6px rgba(0,0,0,.3);
  animation: igtr-stone 20s ease-in-out infinite alternate;
}
.scn-item-gentian-tried-rose .igtr-reeds {
  position:absolute; bottom:40%; left:10%; width:4px; height:30px;
  background: linear-gradient(180deg, #5a4a30 0%, #2a1a0a 100%);
  border-radius: 0 0 50% 50%; transform-origin: bottom center;
  animation: igtr-reeds 6s ease-in-out infinite;
}
.scn-item-gentian-tried-rose .igtr-mist {
  position:absolute; top:40%; left:15%; width:70%; height:20%;
  background: radial-gradient(ellipse, rgba(180,200,200,0.3) 0%, transparent 70%);
  filter: blur(12px); animation: igtr-mist 30s linear infinite alternate;
}
@keyframes igtr-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes igtr-brook { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(1) } }
@keyframes igtr-stone { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes igtr-reeds { 0%,100% { transform: rotate(0) } 50% { transform: rotate(8deg) } }
@keyframes igtr-mist { 0% { transform: translateX(-10%) } 100% { transform: translateX(10%) } }

/* it-sifts-from-leaden-sieves */
.scn-it-sifts-from-leaden-sieves {
  background: 
    linear-gradient(180deg, #b0b0b0 0%, #7a7a7a 30%, #505050 100%),
    radial-gradient(ellipse at 50% 0%, #d0d0d0 0%, transparent 70%);
}
.scn-it-sifts-from-leaden-sieves .iss-sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #c0c4c0 0%, #8a8e8a 100%);
  animation: iss-sky 12s ease-in-out infinite alternate;
}
.scn-it-sifts-from-leaden-sieves .iss-ground {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #e0e0d8 0%, #b0b0a8 100%);
  border-radius: 20% 10% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.1);
}
.scn-it-sifts-from-leaden-sieves .iss-fence-post-a,
.scn-it-sifts-from-leaden-sieves .iss-fence-post-b {
  position:absolute; bottom:45%; width:8px; height:30px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 2px;
}
.scn-it-sifts-from-leaden-sieves .iss-fence-post-a { left:25%; }
.scn-it-sifts-from-leaden-sieves .iss-fence-post-b { left:55%; }
.scn-it-sifts-from-leaden-sieves .iss-fence-rail {
  position:absolute; bottom:50%; left:20%; right:50%; height:6px;
  background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 2px; transform: translateY(2px);
  animation: iss-rail 25s ease-in-out infinite alternate;
}
.scn-it-sifts-from-leaden-sieves .iss-stump {
  position:absolute; bottom:20%; left:40%; width:50px; height:35px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  box-shadow: inset 0 -6px 10px rgba(0,0,0,.4);
}
.scn-it-sifts-from-leaden-sieves .iss-snowflake-a,
.scn-it-sifts-from-leaden-sieves .iss-snowflake-b,
.scn-it-sifts-from-leaden-sieves .iss-snowflake-c {
  position:absolute; width:8px; height:8px;
  background: radial-gradient(circle, #ffffff 0%, rgba(255,255,255,0.3) 70%);
  border-radius: 50%; filter: blur(1px);
  animation: iss-snowfall 10s linear infinite;
}
.scn-it-sifts-from-leaden-sieves .iss-snowflake-a { top:10%; left:20%; animation-duration:12s; animation-delay:-3s; }
.scn-it-sifts-from-leaden-sieves .iss-snowflake-b { top:25%; left:70%; animation-duration:14s; animation-delay:-7s; }
.scn-it-sifts-from-leaden-sieves .iss-snowflake-c { top:5%; left:50%; animation-duration:16s; animation-delay:-11s; }
@keyframes iss-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes iss-rail { 0% { transform: translateY(2px) } 50% { transform: translateY(0) } 100% { transform: translateY(4px) } }
@keyframes iss-snowfall { 0% { transform: translateY(-10%) translateX(0) scale(1); opacity:1 } 50% { transform: translateY(50vh) translateX(15px) scale(.8); opacity:.7 } 100% { transform: translateY(100vh) translateX(-10px) scale(.5); opacity:0 } }

/* pillow-of-daring-head */
.scn-pillow-of-daring-head {
  background: 
    linear-gradient(180deg, #3a4a4a 0%, #2a3535 40%, #1a1f1f 100%),
    radial-gradient(ellipse at 50% 80%, #5a6a5a 0%, transparent 70%);
}
.scn-pillow-of-daring-head .pod-sky {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #4a5a5a 0%, #2a3535 100%);
  animation: pod-sky 18s ease-in-out infinite alternate;
}
.scn-pillow-of-daring-head .pod-evergreen-fore,
.scn-pillow-of-daring-head .pod-evergreen-mid {
  position:absolute; bottom:30%; width:60px; height:140px;
  background: linear-gradient(180deg, #2a4a2a 0%, #1a2a1a 100%);
  border-radius: 60% 60% 20% 20% / 80% 80% 30% 30%;
  box-shadow: inset -10px 0 20px rgba(0,0,0,.4);
}
.scn-pillow-of-daring-head .pod-evergreen-fore { left:10%; }
.scn-pillow-of-daring-head .pod-evergreen-mid { right:10%; height:110px; bottom:35%; }
.scn-pillow-of-daring-head .pod-figure {
  position:absolute; bottom:25%; left:35%; width:40px; height:70px;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: pod-figure 8s ease-in-out infinite alternate;
}
.scn-pillow-of-daring-head .pod-gate-bar-v,
.scn-pillow-of-daring-head .pod-gate-bar-h {
  position:absolute;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-pillow-of-daring-head .pod-gate-bar-v { bottom:35%; left:20%; width:6px; height:50px; }
.scn-pillow-of-daring-head .pod-gate-bar-h { bottom:45%; left:15%; right:30%; height:6px; }
.scn-pillow-of-daring-head .pod-sheep {
  position:absolute; bottom:20%; left:60%; width:32px; height:20px;
  background: radial-gradient(ellipse at 50% 60%, #b0b0a0 0%, #7a7a6a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(1px); animation: pod-sheep 14s ease-in-out infinite;
}
.scn-pillow-of-daring-head .pod-needles {
  position:absolute; bottom:50%; left:5%; width:20px; height:60px;
  background: linear-gradient(180deg, #3a6a3a 0%, #1a3a1a 100%);
  border-radius: 0 50% 0 50%; transform: rotate(-20deg);
  animation: pod-needles 12s ease-in-out infinite alternate;
}
@keyframes pod-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes pod-figure { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(8deg) translateY(-3px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes pod-sheep { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.05) } }
@keyframes pod-needles { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-15deg) } 100% { transform: rotate(-22deg) } }

/* dawn-comes-feathers */
.scn-dawn-comes-feathers {
  background:
    linear-gradient(180deg, #f9e6d0 0%, #b8d4e8 50%, #d6eef0 100%),
    radial-gradient(ellipse at 50% 20%, rgba(255,240,210,0.6) 0%, transparent 70%);
}
.scn-dawn-comes-feathers .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffe8c0 0%, transparent 100%);
  animation: df-sky 12s ease-in-out infinite alternate;
}
.scn-dawn-comes-feathers .door-left {
  position: absolute; bottom: 25%; left: 30%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #b08060 0%, #7a5a3e 100%);
  border-radius: 4px; transform-origin: left center;
  animation: df-door 8s ease-in-out infinite alternate;
}
.scn-dawn-comes-feathers .door-right {
  position: absolute; bottom: 25%; right: 30%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #b08060 0%, #7a5a3e 100%);
  border-radius: 4px; transform-origin: right center;
  animation: df-door 8s ease-in-out infinite alternate-reverse;
}
.scn-dawn-comes-feathers .bird {
  position: absolute; bottom: 45%; left: 50%; width: 24px; height: 16px;
  background: #3a2a1a;
  border-radius: 50% 50% 40% 40%;
  transform: translateX(-50%);
  animation: df-bird 14s ease-in-out infinite;
}
.scn-dawn-comes-feathers .feather {
  position: absolute; width: 6px; height: 14px;
  background: linear-gradient(180deg, #f5e6d0 0%, #c8b090 100%);
  border-radius: 50% 50% 30% 30%;
  animation: df-feather 12s ease-in-out infinite;
}
.scn-dawn-comes-feathers .feather-1 { left: 20%; top: 30%; animation-delay: 0s; }
.scn-dawn-comes-feathers .feather-2 { left: 70%; top: 20%; animation-delay: 4s; }
.scn-dawn-comes-feathers .glow {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffdead 0%, transparent 100%);
  transform: translate(-50%, 50%);
  animation: df-glow 6s ease-in-out infinite alternate;
}
@keyframes df-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes df-door {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(-25deg); }
  100% { transform: rotateY(0deg); }
}
@keyframes df-bird {
  0% { transform: translateX(-50%) translateY(0) scale(1); }
  25% { transform: translateX(-40%) translateY(-8px) scale(1.05); }
  50% { transform: translateX(-50%) translateY(-3px) scale(1); }
  75% { transform: translateX(-60%) translateY(-6px) scale(0.95); }
  100% { transform: translateX(-50%) translateY(0) scale(1); }
}
@keyframes df-feather {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(40px) rotate(20deg); opacity: 0.5; }
  100% { transform: translateY(80px) rotate(0deg); opacity: 0.1; }
}
@keyframes df-glow {
  0% { opacity: 0.3; transform: translate(-50%, 50%) scale(0.9); }
  50% { opacity: 0.7; transform: translate(-50%, 50%) scale(1.1); }
  100% { opacity: 0.4; transform: translate(-50%, 50%) scale(1); }
}

/* robins-trundle-bed */
.scn-robins-trundle-bed {
  background:
    linear-gradient(180deg, #fae1c8 0%, #d4b59a 50%, #b8916e 100%),
    radial-gradient(ellipse at 70% 40%, rgba(255,245,220,0.5) 0%, transparent 60%);
}
.scn-robins-trundle-bed .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e7d3bc 0%, #c9ae94 100%);
  border-radius: 0;
}
.scn-robins-trundle-bed .window {
  position: absolute; top: 10%; right: 12%; width: 50px; height: 60px;
  background: radial-gradient(circle, #ffe0a0 0%, #c89860 100%);
  border: 4px solid #6a4a3a;
  border-radius: 6px;
  animation: rt-window 5s ease-in-out infinite alternate;
}
.scn-robins-trundle-bed .bed {
  position: absolute; bottom: 20%; left: 50%; width: 140px; height: 60px;
  background: linear-gradient(180deg, #7a5a3e 0%, #4a3020 100%);
  border-radius: 8px;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: rt-bed 10s ease-in-out infinite;
}
.scn-robins-trundle-bed .nightgown {
  position: absolute; bottom: 32%; left: 50%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #f0e0d0 0%, #d0b8a0 100%);
  border-radius: 50% 50% 20% 20%;
  transform: translateX(-50%);
  animation: rt-gown 8s ease-in-out infinite;
}
.scn-robins-trundle-bed .robin-1,
.scn-robins-trundle-bed .robin-2 {
  position: absolute; bottom: 35%; width: 18px; height: 14px;
  background: #b06040;
  border-radius: 50% 50% 40% 40%;
  animation: rt-robin 4s ease-in-out infinite;
}
.scn-robins-trundle-bed .robin-1 { left: 30%; }
.scn-robins-trundle-bed .robin-2 { left: 60%; animation-delay: 1.5s; }
.scn-robins-trundle-bed .wings-1,
.scn-robins-trundle-bed .wings-2 {
  position: absolute; bottom: 36%; width: 20px; height: 10px;
  background: #c08060;
  border-radius: 50% 50% 10% 10%;
  animation: rt-wings 3s ease-in-out infinite alternate;
}
.scn-robins-trundle-bed .wings-1 { left: 28%; transform-origin: right center; }
.scn-robins-trundle-bed .wings-2 { left: 62%; transform-origin: left center; animation-delay: 1s; }
@keyframes rt-window {
  0% { opacity: 0.6; box-shadow: 0 0 10px rgba(255,200,100,0.5); }
  50% { opacity: 1; box-shadow: 0 0 20px rgba(255,220,130,0.8); }
  100% { opacity: 0.7; box-shadow: 0 0 12px rgba(255,200,100,0.6); }
}
@keyframes rt-bed {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
}
@keyframes rt-gown {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02); }
}
@keyframes rt-robin {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes rt-wings {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(0deg); }
}

/* quick-ear-leaves */
.scn-quick-ear-leaves {
  background:
    linear-gradient(180deg, #d8e8c0 0%, #a8c888 50%, #7aa860 100%),
    radial-gradient(ellipse at 50% 60%, rgba(200,230,170,0.4) 0%, transparent 70%);
}
.scn-quick-ear-leaves .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #5a7a40 0%, #3a5a28 100%);
  border-radius: 30% 40% 0 0;
}
.scn-quick-ear-leaves .bush {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 90px;
  background: linear-gradient(180deg, #5a9a40 0%, #3a7a28 100%);
  border-radius: 50% 50% 40% 40%;
  transform: translateX(-50%);
  animation: ql-bush 12s ease-in-out infinite;
}
.scn-quick-ear-leaves .bell-1,
.scn-quick-ear-leaves .bell-2 {
  position: absolute; bottom: 40%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #c09850 0%, #a08040 100%);
  border-radius: 50% 50% 20% 20%;
  animation: ql-bell 5s ease-in-out infinite alternate;
}
.scn-quick-ear-leaves .bell-1 { left: 35%; transform-origin: top center; }
.scn-quick-ear-leaves .bell-2 { left: 60%; animation-delay: 1.5s; transform-origin: top center; }
.scn-quick-ear-leaves .leaf {
  position: absolute; top: 20%; left: 10%; width: 18px; height: 8px;
  background: #8ac060;
  border-radius: 50% 50% 20% 20%;
  animation: ql-leaf 15s linear infinite;
}
.scn-quick-ear-leaves .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 10px;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  animation: ql-shadow 10s ease-in-out infinite;
}
@keyframes ql-bush {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) rotate(0.5deg); }
}
@keyframes ql-bell {
  0% { transform: rotate(-8deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(8deg); }
}
@keyframes ql-leaf {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(50vh) rotate(30deg); opacity: 0.6; }
  100% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
}
@keyframes ql-shadow {
  0% { transform: scaleX(1); opacity: 0.3; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(1); opacity: 0.3; }
}

/* high-earth-bird */
.scn-high-earth-bird {
  background:
    linear-gradient(180deg, #9bc8e8 0%, #d6eef0 50%, #f0f8e0 100%),
    radial-gradient(ellipse at 50% 0%, rgba(255,250,220,0.5) 0%, transparent 60%);
}
.scn-high-earth-bird .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #b8d8f0 0%, transparent 100%);
  animation: hb-sky 15s ease-in-out infinite alternate;
}
.scn-high-earth-bird .tree-trunk {
  position: absolute; bottom: 20%; left: 50%; width: 16px; height: 60%;
  background: linear-gradient(90deg, #5a3a2a 0%, #7a5a3e 50%, #5a3a2a 100%);
  border-radius: 8px;
  transform: translateX(-50%);
  animation: hb-trunk 8s ease-in-out infinite;
}
.scn-high-earth-bird .branch {
  position: absolute; bottom: 55%; left: 50%; width: 80px; height: 8px;
  background: linear-gradient(90deg, #7a5a3e 0%, #5a3a2a 100%);
  border-radius: 6px;
  transform-origin: left center;
  transform: translateX(-50%);
  animation: hb-branch 10s ease-in-out infinite;
}
.scn-high-earth-bird .bird {
  position: absolute; bottom: 60%; left: 55%; width: 20px; height: 14px;
  background: #3a2a1a;
  border-radius: 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: hb-bird 6s ease-in-out infinite;
}
.scn-high-earth-bird .breeze-1,
.scn-high-earth-bird .breeze-2 {
  position: absolute; top: 20%; width: 60px; height: 4px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  border-radius: 2px;
  animation: hb-breeze 20s linear infinite;
}
.scn-high-earth-bird .breeze-1 { left: 10%; animation-delay: 0s; }
.scn-high-earth-bird .breeze-2 { left: 40%; animation-delay: 8s; }
@keyframes hb-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes hb-trunk {
  0%,100% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.02); }
}
@keyframes hb-branch {
  0% { transform: translateX(-50%) rotate(-1deg); }
  50% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(-1deg); }
}
@keyframes hb-bird {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.05); }
}
@keyframes hb-breeze {
  0% { transform: translateX(-20px); opacity: 0; }
  10% { opacity: 0.6; }
  50% { transform: translateX(40px); opacity: 0.4; }
  90% { opacity: 0.6; }
  100% { transform: translateX(100vw); opacity: 0; }
}

.scn-little-figure-knoll { background: linear-gradient(180deg, #ffd99b 0%, #ffe0a8 30%, #f4c070 60%, #b8834a 100%), radial-gradient(ellipse at 60% 30%, #fff4d6 0%, transparent 60%); }
.scn-little-figure-knoll .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b8d4ff 0%, #8bb8f0 40%, #f4d48a 100%); animation: lfk-sky 8s ease-in-out infinite alternate; }
.scn-little-figure-knoll .sun { position:absolute; top:8%; right:18%; width:60px; height:60px; background: radial-gradient(circle, #fff4b0 0%, #f4c070 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(244,192,112,.5); animation: lfk-sun 12s ease-in-out infinite; }
.scn-little-figure-knoll .knoll { position:absolute; bottom:12%; left:0; right:0; height:40%; background: linear-gradient(180deg, #6b8f4e 0%, #4d6f32 50%, #2e4f1a 100%); border-radius: 60% 40% 0 0 / 100% 60% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.3); animation: lfk-hill 15s ease-in-out infinite alternate; }
.scn-little-figure-knoll .figure { position:absolute; bottom:18%; left:32%; width:24px; height:36px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lfk-figure 4s ease-in-out infinite; }
.scn-little-figure-knoll .tree { position:absolute; bottom:20%; right:22%; width:30px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; transform: scale(1); animation: lfk-tree 6s ease-in-out infinite; }
.scn-little-figure-knoll .grass { position:absolute; bottom:12%; left:0; right:0; height:6%; background: repeating-linear-gradient(90deg, transparent, transparent 4px, #5a7a3a 4px, #5a7a3a 8px); opacity:0.7; animation: lfk-grass 3s ease-in-out infinite; }
.scn-little-figure-knoll .cloud { position:absolute; background: rgba(255,255,255,.6); border-radius:50%; filter:blur(6px); }
.scn-little-figure-knoll .c1 { top:12%; left:5%; width:100px; height:20px; animation: lfk-cloud1 35s linear infinite; }
.scn-little-figure-knoll .c2 { top:18%; right:8%; width:70px; height:14px; animation: lfk-cloud2 45s linear infinite reverse; }
@keyframes lfk-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes lfk-sun { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.08) translateY(-3px) } 100% { transform: scale(1) translateY(0) } }
@keyframes lfk-hill { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes lfk-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) rotate(2deg) } 50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes lfk-tree { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.02) rotate(2deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes lfk-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes lfk-cloud1 { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes lfk-cloud2 { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-essential-oils { background: linear-gradient(180deg, #4a3020 0%, #2e1a0e 40%, #1a0e06 100%), radial-gradient(ellipse at 50% 60%, #8a6a40 0%, transparent 70%); }
.scn-essential-oils .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.6); }
.scn-essential-oils .drawer { position:absolute; bottom:18%; left:10%; right:10%; height:18%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a12 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-essential-oils .bottle { position:absolute; bottom:22%; left:35%; width:20px; height:40px; background: linear-gradient(180deg, #c0a080 0%, #8a6a40 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: eoi-bottle 8s ease-in-out infinite; }
.scn-essential-oils .rose { position:absolute; bottom:22%; right:28%; width:24px; height:28px; background: radial-gradient(circle at 50% 30%, #c8553d 0%, #702243 60%, #3a1210 100%); border-radius: 50%; transform: scale(0.9); animation: eoi-rose 6s ease-in-out infinite; }
.scn-essential-oils .screw { position:absolute; bottom:26%; left:50%; width:14px; height:18px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1e12 100%); border-radius: 20%; transform: translateX(-50%); animation: eoi-screw 4s ease-in-out infinite; }
.scn-essential-oils .glow { position:absolute; bottom:32%; left:36%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,220,160,.6) 0%, transparent 70%); border-radius:50%; animation: eoi-glow 3s ease-in-out infinite alternate; }
.scn-essential-oils .petal { position:absolute; bottom:20%; right:40%; width:6px; height:10px; background: #b05838; border-radius: 50% 50% 20% 20%; transform-origin: bottom center; animation: eoi-petal 5s ease-in-out infinite; }
@keyframes eoi-bottle { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(0deg) } }
@keyframes eoi-rose { 0% { transform: scale(0.9) rotate(0deg) } 50% { transform: scale(1.05) rotate(5deg) } 100% { transform: scale(0.9) rotate(0deg) } }
@keyframes eoi-screw { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes eoi-glow { 0% { opacity:.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.7; transform: scale(1) } }
@keyframes eoi-petal { 0% { transform: rotate(0deg) translateX(0) } 50% { transform: rotate(15deg) translateX(3px) } 100% { transform: rotate(0deg) translateX(0) } }

.scn-fear-stimulus { background: linear-gradient(180deg, #0a0a1a 0%, #16162e 30%, #1a1a3e 70%, #0e0e1e 100%), radial-gradient(ellipse at 80% 20%, #2a2a4e 0%, transparent 60%); }
.scn-fear-stimulus .bg { position:absolute; inset:0; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,.02) 2px, rgba(255,255,255,.02) 3px); }
.scn-fear-stimulus .moon { position:absolute; top:10%; left:75%; width:40px; height:40px; background: radial-gradient(circle, #e0e0f0 0%, #8a8ab0 80%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(138,138,176,.6); animation: frs-moon 10s ease-in-out infinite alternate; }
.scn-fear-stimulus .mountain { position:absolute; bottom:10%; left:0; right:0; height:50%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a16 100%); clip-path: polygon(0% 80%, 20% 40%, 35% 55%, 50% 20%, 65% 45%, 80% 30%, 100% 70%, 100% 100%, 0% 100%); animation: frs-mount 6s ease-in-out infinite; }
.scn-fear-stimulus .spur { position:absolute; bottom:30%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #2a2a3e 0%, #0a0a12 100%); clip-path: polygon(50% 0%, 60% 100%, 40% 100%); transform-origin: bottom center; animation: frs-spur 3s ease-in-out infinite; }
.scn-fear-stimulus .figure { position:absolute; bottom:15%; left:25%; width:18px; height:40px; background: linear-gradient(180deg, #0a0a12 0%, #000 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: frs-fig 2s ease-in-out infinite; }
.scn-fear-stimulus .shadow { position:absolute; bottom:8%; left:20%; width:30px; height:12px; background: #000; border-radius:50%; filter:blur(4px); animation: frs-shadow 2s ease-in-out infinite; }
.scn-fear-stimulus .cloud { position:absolute; background: rgba(100,100,120,.3); border-radius:50%; filter:blur(8px); }
.scn-fear-stimulus .c1 { top:5%; left:10%; width:120px; height:18px; animation: frs-cloud1 15s linear infinite; }
.scn-fear-stimulus .c2 { top:15%; right:5%; width:80px; height:12px; animation: frs-cloud2 20s linear infinite reverse; }
@keyframes frs-moon { 0% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:.8; transform: scale(1) } }
@keyframes frs-mount { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-2px) scaleX(1.01) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes frs-spur { 0% { transform: rotate(0deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(1deg) } 100% { transform: rotate(0deg) } }
@keyframes frs-fig { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(3deg) } 50% { transform: translateY(0) rotate(-2deg) } 75% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes frs-shadow { 0% { transform: scale(1) } 50% { transform: scale(1.2) } 100% { transform: scale(1) } }
@keyframes frs-cloud1 { 0% { transform: translateX(-20px) } 100% { transform: translateX(120vw) } }
@keyframes frs-cloud2 { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-death-and-commerce { background: linear-gradient(180deg, #9aa8b0 0%, #b8c4c8 30%, #c8d0d4 60%, #a0acb0 100%), radial-gradient(ellipse at 50% 100%, #c8d0d4 0%, transparent 70%); }
.scn-death-and-commerce .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #b0bcc0 0%, #d0d8dc 50%, transparent 100%); animation: dnc-sky 12s ease-in-out infinite alternate; }
.scn-death-and-commerce .field { position:absolute; bottom:8%; left:0; right:0; height:45%; background: linear-gradient(180deg, #7a8a70 0%, #5a6a50 100%); border-radius: 40% 60% 0 0 / 70% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.15); animation: dnc-field 20s ease-in-out infinite alternate; }
.scn-death-and-commerce .tomb1 { position:absolute; bottom:18%; left:25%; width:30px; height:40px; background: linear-gradient(180deg, #b0b0b0 0%, #808080 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: dnc-tomb 15s ease-in-out infinite; }
.scn-death-and-commerce .tomb2 { position:absolute; bottom:22%; right:30%; width:24px; height:32px; background: linear-gradient(180deg, #a0a0a0 0%, #707070 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: dnc-tomb2 18s ease-in-out infinite; }
.scn-death-and-commerce .bee { position:absolute; bottom:40%; left:20%; width:10px; height:8px; background: linear-gradient(180deg, #d0a060 0%, #b08030 100%); border-radius: 50%; box-shadow: 0 0 4px 1px rgba(208,160,96,.6); animation: dnc-bee 3s ease-in-out infinite; }
.scn-death-and-commerce .scroll { position:absolute; bottom:12%; left:45%; width:16px; height:24px; background: linear-gradient(180deg, #c8bea0 0%, #a09070 100%); border-radius: 2px; transform-origin: bottom center; animation: dnc-scroll 8s ease-in-out infinite; }
.scn-death-and-commerce .grass { position:absolute; bottom:10%; left:0; right:0; height:4%; background: repeating-linear-gradient(90deg, transparent, transparent 3px, #6a8a5a 3px, #6a8a5a 6px); opacity:0.6; animation: dnc-grass 4s ease-in-out infinite; }
.scn-death-and-commerce .bee2 { position:absolute; bottom:38%; left:60%; width:8px; height:6px; background: linear-gradient(180deg, #d0a060 0%, #b08030 100%); border-radius:50%; box-shadow: 0 0 4px 1px rgba(208,160,96,.6); animation: dnc-bee2 4s ease-in-out infinite; }
@keyframes dnc-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes dnc-field { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes dnc-tomb { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes dnc-tomb2 { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes dnc-bee { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(10px) translateY(-3px) rotate(10deg) } 50% { transform: translateX(20px) translateY(0) rotate(0deg) } 75% { transform: translateX(30px) translateY(-2px) rotate(-5deg) } 100% { transform: translateX(40px) translateY(0) rotate(0deg) } }
@keyframes dnc-scroll { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }
@keyframes dnc-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes dnc-bee2 { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(-8px) translateY(-2px) } 50% { transform: translateX(-16px) translateY(0) } 75% { transform: translateX(-8px) translateY(-1px) } 100% { transform: translateX(0) translateY(0) } }

/* hope-is-feathers – warm sunlit bird */
.scn-hope-is-feathers {
  background: linear-gradient(180deg, #f9e4b7 0%, #f0c27f 40%, #d99e5a 100%),
              radial-gradient(ellipse at 70% 20%, #fff4d6 0%, transparent 60%);
}
.scn-hope-is-feathers .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #fef9e0 0%, #fce4a0 100%);
  animation: hif-sky 12s ease-in-out infinite alternate;
}
.scn-hope-is-feathers .sun {
  position: absolute; top: 8%; left: 65%; width: 80px; height: 80px;
  background: radial-gradient(circle, #fff5c0 0%, #ffd580 70%, transparent 100%);
  border-radius: 50%;
  animation: hif-sun 5s ease-in-out infinite alternate;
}
.scn-hope-is-feathers .branch {
  position: absolute; bottom: 38%; left: 20%; right: 30%; height: 8px;
  background: linear-gradient(90deg, #6b4f3a 0%, #8b6f55 50%, #5a3d2a 100%);
  border-radius: 50% / 20px;
  animation: hif-branch 8s ease-in-out infinite;
}
.scn-hope-is-feathers .bird {
  position: absolute; bottom: 44%; left: 38%; width: 40px; height: 28px;
  background: #2d1e13;
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: center bottom;
  animation: hif-bird 3s ease-in-out infinite;
}
.scn-hope-is-feathers .feather-1 {
  position: absolute; bottom: 54%; left: 36%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #f8e3b0 0%, #c99560 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: hif-feather1 4s ease-in-out infinite alternate;
}
.scn-hope-is-feathers .feather-2 {
  position: absolute; bottom: 52%; left: 42%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #f0d090 0%, #b87a40 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: hif-feather2 4.5s ease-in-out infinite alternate;
  animation-delay: 0.5s;
}
.scn-hope-is-feathers .ray-1 {
  position: absolute; top: 5%; left: 58%; width: 150%; height: 6px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,230,180,0.6) 40%, transparent 70%);
  transform: rotate(-25deg);
  border-radius: 50%;
  filter: blur(4px);
  animation: hif-ray 7s ease-in-out infinite alternate;
}
.scn-hope-is-feathers .ray-2 {
  position: absolute; top: 12%; left: 55%; width: 120%; height: 4px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,210,150,0.5) 30%, transparent 60%);
  transform: rotate(-40deg);
  border-radius: 50%;
  filter: blur(3px);
  animation: hif-ray 9s ease-in-out infinite alternate-reverse;
}

@keyframes hif-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes hif-sun { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(0.95) } }
@keyframes hif-branch { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-2px) rotate(1deg) } 66% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hif-bird { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(-3deg) } 60% { transform: translateY(0) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hif-feather1 { 0% { transform: rotate(0deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-5px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes hif-feather2 { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-4px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes hif-ray { 0% { opacity:0.3 } 50% { opacity:0.7 } 100% { opacity:0.2 } }

/* never-lost-coronet – tense sunlit crown */
.scn-never-lost-coronet {
  background: linear-gradient(180deg, #d9b68a 0%, #b8956e 100%),
              radial-gradient(ellipse at 50% 30%, #ffedc0 0%, transparent 60%);
}
.scn-never-lost-coronet .bg-deep {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #c9a77d 0%, #a88660 100%);
  animation: nlc-bg 15s ease-in-out infinite alternate;
}
.scn-never-lost-coronet .pedestal {
  position: absolute; bottom: 15%; left: 40%; right: 40%; height: 40px;
  background: linear-gradient(180deg, #8b6f55 0%, #6b4f3a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: nlc-pedestal 6s ease-in-out infinite;
}
.scn-never-lost-coronet .coronet {
  position: absolute; bottom: 30%; left: 38%; right: 38%; height: 50px;
  background: linear-gradient(180deg, #e0b850 0%, #b8922a 50%, #8a6a1a 100%);
  clip-path: polygon(0% 100%, 15% 0%, 30% 100%, 45% 0%, 60% 100%, 75% 0%, 90% 100%, 100% 0%, 100% 100%);
  animation: nlc-coronet 4s ease-in-out infinite alternate;
}
.scn-never-lost-coronet .figure {
  position: absolute; bottom: 20%; left: 20%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1e 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: nlc-figure 6s ease-in-out infinite;
}
.scn-never-lost-coronet .shadow {
  position: absolute; bottom: 12%; left: 18%; width: 40px; height: 8px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: nlc-shadow 6s ease-in-out infinite;
}
.scn-never-lost-coronet .glint {
  position: absolute; top: 28%; left: 45%; width: 10px; height: 10px;
  background: radial-gradient(circle, #ffeca0 0%, #d4b040 70%);
  border-radius: 50%;
  animation: nlc-glint 2s ease-in-out infinite alternate;
}
.scn-never-lost-coronet .beam-1 {
  position: absolute; top: 0; left: 30%; width: 4px; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,180,0.5) 0%, transparent 100%);
  filter: blur(2px);
  animation: nlc-beam 4s ease-in-out infinite alternate;
}
.scn-never-lost-coronet .beam-2 {
  position: absolute; top: 0; left: 55%; width: 4px; height: 100%;
  background: linear-gradient(180deg, rgba(255,230,200,0.4) 0%, transparent 100%);
  filter: blur(1px);
  animation: nlc-beam 5s ease-in-out infinite alternate-reverse;
}

@keyframes nlc-bg { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes nlc-pedestal { 0% { transform: translateY(0) scale(1) } 30% { transform: translateY(-2px) scale(1.02) } 70% { transform: translateY(1px) scale(0.98) } 100% { transform: translateY(0) scale(1) } }
@keyframes nlc-coronet { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(5deg) } 100% { transform: translateY(0) rotate(-5deg) } }
@keyframes nlc-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(8px) rotate(2deg) } 50% { transform: translateX(16px) rotate(0deg) } 75% { transform: translateX(8px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes nlc-shadow { 0% { transform: translateX(0) scale(1) } 25% { transform: translateX(8px) scale(1.1) } 50% { transform: translateX(16px) scale(1) } 75% { transform: translateX(8px) scale(0.9) } 100% { transform: translateX(0) scale(1) } }
@keyframes nlc-glint { 0% { opacity:0.3; transform: scale(0.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:0.5; transform: scale(0.9) } }
@keyframes nlc-beam { 0% { opacity:0 } 50% { opacity:0.6 } 100% { opacity:0.1 } }

/* hear-word-escape – tense dim interior prison */
.scn-hear-word-escape {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 40%, #0e0e1a 100%),
              radial-gradient(ellipse at 50% 60%, #3a3a5e 0%, transparent 70%);
}
.scn-hear-word-escape .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2c2c44 0%, #3a3a55 50%, #222238 100%);
  animation: hwe-wall 20s ease-in-out infinite alternate;
}
.scn-hear-word-escape .bars-vert {
  position: absolute; top: 5%; left: 38%; width: 6px; height: 95%;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  box-shadow: 24px 0 0 0 #4a4a5a, -24px 0 0 0 #4a4a5a, 48px 0 0 0 #5a5a6a, -48px 0 0 0 #5a5a6a;
  animation: hwe-barsv 3s ease-in-out infinite alternate;
}
.scn-hear-word-escape .bars-horiz {
  position: absolute; top: 40%; left: 10%; right: 10%; height: 6px;
  background: linear-gradient(90deg, #5a5a6a 0%, #3a3a4a 50%, #5a5a6a 100%);
  box-shadow: 0 50px 0 0 #4a4a5a, 0 -50px 0 0 #4a4a5a;
  animation: hwe-barsh 4s ease-in-out infinite alternate;
}
.scn-hear-word-escape .figure {
  position: absolute; bottom: 15%; left: 35%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: hwe-figure 5s ease-in-out infinite;
}
.scn-hear-word-escape .window {
  position: absolute; top: 10%; left: 10%; width: 80%; height: 50%;
  border: 4px solid #3a3a4a;
  background: radial-gradient(ellipse at 30% 40%, #4a4a6e 0%, #1a1a2e 100%);
  border-radius: 4px;
  animation: hwe-window 8s ease-in-out infinite alternate;
}
.scn-hear-word-escape .lamplight {
  position: absolute; top: 15%; left: 22%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,180,120,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: hwe-lamp 6s ease-in-out infinite alternate;
}
.scn-hear-word-escape .shadow {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 10px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(3px);
  animation: hwe-shadow 5s ease-in-out infinite;
}
.scn-hear-word-escape .dust {
  position: absolute; top: 30%; left: 20%; width: 4px; height: 4px;
  background: rgba(200,200,220,0.3);
  border-radius: 50%;
  filter: blur(1px);
  animation: hwe-dust 10s linear infinite;
}

@keyframes hwe-wall { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes hwe-barsv { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } 100% { transform: scaleY(1.02) } }
@keyframes hwe-barsh { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.97) } 100% { transform: scaleX(1.03) } }
@keyframes hwe-figure { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(3deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(-3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hwe-window { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.3 } }
@keyframes hwe-lamp { 0% { opacity:0.3; transform: scale(0.9) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.5; transform: scale(0.95) } }
@keyframes hwe-shadow { 0% { transform: translateX(0) scale(1) } 25% { transform: translateX(2px) scale(1.05) } 50% { transform: translateX(0) scale(1) } 75% { transform: translateX(-2px) scale(0.95) } 100% { transform: translateX(0) scale(1) } }
@keyframes hwe-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity:0 } 20% { opacity:0.8 } 80% { opacity:0.8 } 100% { transform: translateY(-30px) translateX(10px) scale(0.5); opacity:0 } }

/* meant-modest-needs – funny bright interior */
.scn-meant-modest-needs {
  background: linear-gradient(180deg, #fef9e0 0%, #fce8b0 100%),
              radial-gradient(ellipse at 50% 0%, #fff5d0 0%, transparent 60%);
}
.scn-meant-modest-needs .tabletop {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 18px;
  background: linear-gradient(90deg, #c9a77d 0%, #dbb896 50%, #b8956e 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: mmn-table 10s ease-in-out infinite alternate;
}
.scn-meant-modest-needs .coin-1 {
  position: absolute; bottom: 18%; left: 25%; width: 18px; height: 18px;
  background: radial-gradient(circle, #f0d080 0%, #c9a040 70%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mmn-coin1 3s ease-in-out infinite;
}
.scn-meant-modest-needs .coin-2 {
  position: absolute; bottom: 20%; left: 45%; width: 16px; height: 16px;
  background: radial-gradient(circle, #e8c870 0%, #b89030 70%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mmn-coin2 3.5s ease-in-out infinite alternate;
}
.scn-meant-modest-needs .coin-3 {
  position: absolute; bottom: 16%; left: 60%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f5d890 0%, #d4a850 70%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mmn-coin3 4s ease-in-out infinite;
}
.scn-meant-modest-needs .figure {
  position: absolute; bottom: 15%; left: 35%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: mmn-figure 8s ease-in-out infinite;
}
.scn-meant-modest-needs .window {
  position: absolute; top: 8%; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #d0ebff 0%, #b0d4f0 100%);
  border: 6px solid #8b6f55;
  border-radius: 4px;
  overflow: hidden;
  animation: mmn-window 12s ease-in-out infinite alternate;
}
.scn-meant-modest-needs .curtain {
  position: absolute; top: 6%; left: 18%; right: 18%; height: 44%;
  background: linear-gradient(90deg, #e0c0a0 0%, #f0d0b0 50%, #d8b898 100%);
  clip-path: polygon(0% 0%, 20% 10%, 40% 0%, 60% 10%, 80% 0%, 100% 10%, 100% 100%, 0% 100%);
  opacity: 0.7;
  animation: mmn-curtain 6s ease-in-out infinite alternate;
}
.scn-meant-modest-needs .sparkle {
  position: absolute; top: 15%; left: 30%; width: 8px; height: 8px;
  background: radial-gradient(circle, #fff 0%, #ffe080 70%);
  border-radius: 50%;
  filter: blur(1px);
  animation: mmn-sparkle 2s ease-in-out infinite alternate;
}

@keyframes mmn-table { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes mmn-coin1 { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(10deg) } 60% { transform: translateY(0) rotate(-5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mmn-coin2 { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(4px) translateY(-2px) rotate(15deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes mmn-coin3 { 0% { transform: scale(1) } 30% { transform: scale(1.1) } 60% { transform: scale(0.95) } 100% { transform: scale(1) } }
@keyframes mmn-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(6px) rotate(2deg) } 50% { transform: translateX(12px) rotate(0deg) } 75% { transform: translateX(6px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mmn-window { 0% { opacity:0.9; filter: brightness(1) } 50% { opacity:1; filter: brightness(1.1) } 100% { opacity:0.85; filter: brightness(0.95) } }
@keyframes mmn-curtain { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(0.98) } }
@keyframes mmn-sparkle { 0% { opacity:0.3; transform: scale(0.5) } 50% { opacity:1; transform: scale(1.5) } 100% { opacity:0.5; transform: scale(0.8) } }

.scn-dusty-heart-to-god {
  background: linear-gradient(180deg, #2a2a4e 0%, #4a4a6e 30%, #c4b086 60%, #dfd1b5 80%, #b8a68e 100%), radial-gradient(ellipse at 50% 30%, #fcf3d6 0%, transparent 60%);
}
.scn-dusty-heart-to-god .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #1a1a3e 0%, #3a3a5e 40%, transparent 100%);
  animation: dhtg-sky 12s ease-in-out infinite alternate;
}
.scn-dusty-heart-to-god .star-1,
.scn-dusty-heart-to-god .star-2 {
  position: absolute; width: 4px; height: 4px; background: #fff; border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,255,255,.6);
  animation: dhtg-star 3s ease-in-out infinite alternate;
}
.scn-dusty-heart-to-god .star-1 { top: 15%; left: 20%; animation-delay: 0s; }
.scn-dusty-heart-to-god .star-2 { top: 25%; right: 30%; animation-delay: 1.5s; }
.scn-dusty-heart-to-god .cloud-1,
.scn-dusty-heart-to-god .cloud-2 {
  position: absolute; background: rgba(255,234,200,.4); border-radius: 50%; filter: blur(8px);
  animation: dhtg-cloud 40s linear infinite;
}
.scn-dusty-heart-to-god .cloud-1 { top: 10%; left: -10%; width: 120px; height: 30px; }
.scn-dusty-heart-to-god .cloud-2 { top: 20%; right: -15%; width: 100px; height: 24px; animation-direction: reverse; animation-duration: 50s; }
.scn-dusty-heart-to-god .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0e 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,.5);
  animation: dhtg-ground 20s ease-in-out infinite alternate;
}
.scn-dusty-heart-to-god .angel {
  position: absolute; bottom: 50%; left: 50%; width: 40px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dhtg-angel 8s ease-in-out infinite;
}
.scn-dusty-heart-to-god .angel::before {
  content: ''; position: absolute; top: -20px; left: 50%; width: 50px; height: 30px;
  background: #5a5a7a; border-radius: 50% / 60% 60% 40% 40%;
  transform: translateX(-50%) rotate(-10deg);
}
.scn-dusty-heart-to-god .heart {
  position: absolute; bottom: 55%; left: 50%; width: 16px; height: 16px;
  transform: translate(-50%, -10px);
  background: radial-gradient(circle, #ffb080 0%, #c06040 70%);
  border-radius: 50%; box-shadow: 0 0 20px 6px #ffb080, 0 0 40px 12px rgba(255,176,128,.4);
  animation: dhtg-heart 4s ease-in-out infinite alternate;
}

@keyframes dhtg-sky   { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes dhtg-star  { 0% { opacity: .3; transform: scale(.8) } 50% { opacity: 1; transform: scale(1.2) } 100% { opacity: .5; transform: scale(.9) } }
@keyframes dhtg-cloud { 0% { transform: translateX(-50px) } 50% { transform: translateX(20px) } 100% { transform: translateX(120vw) } }
@keyframes dhtg-ground{ 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes dhtg-angel { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-8px) rotate(2deg) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes dhtg-heart { 0% { transform: translate(-50%, -10px) scale(1); opacity: .8 } 50% { transform: translate(-50%, -16px) scale(1.2); opacity: 1 } 100% { transform: translate(-50%, -10px) scale(.95); opacity: .9 } }

.scn-saviour-crucify {
  background: linear-gradient(180deg, #2c2c3c 0%, #3a3a4a 40%, #4a4a5a 60%, #3a3a4a 100%), radial-gradient(ellipse at 50% 20%, #5a5a6a 0%, transparent 70%);
}
.scn-saviour-crucify .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #4a4a5a 40%, transparent 100%);
  animation: sc-sky 15s ease-in-out infinite alternate;
}
.scn-saviour-crucify .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 20% 80% 0 0 / 30% 70% 0 0;
}
.scn-saviour-crucify .cross {
  position: absolute; bottom: 20%; left: 50%; width: 8px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: sc-cross 6s ease-in-out infinite;
}
.scn-saviour-crucify .cross::after {
  content: ''; position: absolute; top: 20px; left: -30px; width: 68px; height: 8px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
}
.scn-saviour-crucify .figure {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: sc-figure 4s ease-in-out infinite;
}
.scn-saviour-crucify .cloud-left,
.scn-saviour-crucify .cloud-right {
  position: absolute; background: rgba(80,80,100,.5); border-radius: 40%; filter: blur(12px);
  animation: sc-cloud 30s linear infinite;
}
.scn-saviour-crucify .cloud-left  { top: 12%; left: -20%; width: 160px; height: 50px; }
.scn-saviour-crucify .cloud-right { top: 8%; right: -20%; width: 140px; height: 40px; animation-direction: reverse; animation-duration: 35s; }
.scn-saviour-crucify .lightning-1,
.scn-saviour-crucify .lightning-2 {
  position: absolute; width: 2px; height: 40px;
  background: linear-gradient(180deg, #fff 0%, #a0a0ff 100%);
  box-shadow: 0 0 20px 8px #a0a0ff;
  animation: sc-lightning 2s ease-in-out infinite;
}
.scn-saviour-crucify .lightning-1 { top: 5%; left: 30%; transform: rotate(20deg); animation-delay: 0s; }
.scn-saviour-crucify .lightning-2 { top: 8%; right: 25%; transform: rotate(-15deg); animation-delay: 1s; }

@keyframes sc-sky   { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes sc-cross { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) } }
@keyframes sc-figure { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(3deg) translateY(-2px) } }
@keyframes sc-cloud { 0% { transform: translateX(-30px) } 50% { transform: translateX(10px) } 100% { transform: translateX(100vw) } }
@keyframes sc-lightning { 0%,100% { opacity: 0 } 25% { opacity: 1 } 50% { opacity: .3 } 75% { opacity: .8 } }

.scn-little-brig-tossed {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3e 30%, #1a1a3e 60%, #0a0a1a 100%), radial-gradient(ellipse at 50% 80%, #2a2a4e 0%, transparent 60%);
}
.scn-little-brig-tossed .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, transparent 100%);
  animation: lbt-sky 10s ease-in-out infinite alternate;
}
.scn-little-brig-tossed .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 0 0 20% 20%;
}
.scn-little-brig-tossed .ship {
  position: absolute; bottom: 38%; left: 50%; width: 60px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  animation: lbt-ship 4s ease-in-out infinite;
}
.scn-little-brig-tossed .sail-1,
.scn-little-brig-tossed .sail-2 {
  position: absolute; bottom: 48%; width: 0; height: 0;
  border-style: solid;
  animation: lbt-sail 3s ease-in-out infinite alternate;
}
.scn-little-brig-tossed .sail-1 { left: 38%; border-width: 0 20px 40px 20px; border-color: transparent transparent #c8b8a8 transparent; transform-origin: bottom center; animation-delay: 0s; }
.scn-little-brig-tossed .sail-2 { left: 55%; border-width: 0 15px 30px 15px; border-color: transparent transparent #b0a090 transparent; transform-origin: bottom center; animation-delay: 1.5s; }
.scn-little-brig-tossed .wave-1,
.scn-little-brig-tossed .wave-2 {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #2a4a5a 0%, transparent 70%);
  border-radius: 50%;
  animation: lbt-wave 8s ease-in-out infinite alternate;
}
.scn-little-brig-tossed .wave-1 { bottom: 25%; animation-duration: 7s; }
.scn-little-brig-tossed .wave-2 { bottom: 15%; animation-duration: 9s; animation-delay: 2s; }
.scn-little-brig-tossed .spray {
  position: absolute; bottom: 45%; left: 30%; width: 8px; height: 8px;
  background: rgba(200,220,230,.6); border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(200,220,230,.3);
  animation: lbt-spray 1.5s ease-in-out infinite;
}

@keyframes lbt-sky   { 0% { opacity: .5 } 50% { opacity: .9 } 100% { opacity: .6 } }
@keyframes lbt-ship  { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(4deg) translateY(-3px) } }
@keyframes lbt-sail  { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }
@keyframes lbt-wave  { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-6px) scaleX(1.05) } 100% { transform: translateY(0) scaleX(.95) } }
@keyframes lbt-spray { 0%,100% { opacity: 0; transform: translate(0,0) } 50% { opacity: .8; transform: translate(10px,-12px) } }

.scn-god-economical {
  background: linear-gradient(180deg, #d4cfc4 0%, #c4bda6 40%, #b0a692 60%, #9a8f7c 100%), radial-gradient(ellipse at 50% 30%, #e8e2d6 0%, transparent 60%);
}
.scn-god-economical .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #d4cfc4 0%, #c4bda6 40%, transparent 100%);
  animation: ge-sky 20s ease-in-out infinite alternate;
}
.scn-god-economical .cloud-slow {
  position: absolute; top: 15%; left: 10%; width: 180px; height: 30px;
  background: rgba(200,190,175,.4); border-radius: 50%; filter: blur(10px);
  animation: ge-cloud 60s linear infinite;
}
.scn-god-economical .table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,.3);
}
.scn-god-economical .cup {
  position: absolute; bottom: 35%; left: 50%; width: 30px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0b090 0%, #a09070 100%);
  border-radius: 0 0 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: ge-cup 5s ease-in-out infinite alternate;
}
.scn-god-economical .cup::before {
  content: ''; position: absolute; top: -8px; left: 2px; right: 2px; height: 10px;
  background: #d0c0a0; border-radius: 50%;
}
.scn-god-economical .crumbs {
  position: absolute; bottom: 30%; left: 30%; width: 4px; height: 4px;
  background: #8a7a5a; border-radius: 50%;
  box-shadow: 12px 8px 0 #8a7a5a, 24px 2px 0 #8a7a5a, 38px 12px 0 #8a7a5a, 50px 6px 0 #8a7a5a;
  animation: ge-crumbs 8s ease-in-out infinite;
}
.scn-god-economical .robin {
  position: absolute; bottom: 40%; left: 60%; width: 20px; height: 18px;
  background: radial-gradient(circle at 50% 30%, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ge-robin 3s ease-in-out infinite;
}
.scn-god-economical .robin::before {
  content: ''; position: absolute; top: -2px; left: 8px; width: 6px; height: 6px;
  background: #e8c060; border-radius: 50%;
}
.scn-god-economical .leaf {
  position: absolute; bottom: 25%; left: 45%; width: 12px; height: 6px;
  background: #5a7a3a; border-radius: 50% 0 50% 0;
  animation: ge-leaf 6s ease-in-out infinite alternate;
}

@keyframes ge-sky   { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes ge-cloud { 0% { transform: translateX(-30px) } 50% { transform: translateX(20px) } 100% { transform: translateX(100vw) } }
@keyframes ge-cup   { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(-3deg) } 100% { transform: translateX(-50%) rotate(2deg) } }
@keyframes ge-crumbs { 0% { opacity: .6; transform: translate(0,0) } 50% { opacity: 1; transform: translate(2px,-4px) } 100% { opacity: .7; transform: translate(-1px,0) } }
@keyframes ge-robin  { 0%,100% { transform: translateX(0) } 50% { transform: translateX(6px) translateY(-2px) } }
@keyframes ge-leaf   { 0% { transform: rotate(0) } 50% { transform: rotate(20deg) } 100% { transform: rotate(-10deg) } }

.scn-way-i-read-a-letter {
  background: linear-gradient(180deg, #2a241e 0%, #1e1814 40%, #140f0b 100%),
              radial-gradient(ellipse at 50% 40%, #3a2e24 0%, transparent 70%);
}
.scn-way-i-read-a-letter .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3d3228 0%, #291f18 100%);
  animation: wlr-wall 20s ease-in-out infinite alternate;
}
.scn-way-i-read-a-letter .door {
  position: absolute; bottom: 25%; left: 15%; width: 80px; height: 140px;
  background: linear-gradient(180deg, #4a3e34 0%, #2f251e 100%);
  border-radius: 4px; box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: wlr-door 15s ease-in-out infinite;
}
.scn-way-i-read-a-letter .letter {
  position: absolute; bottom: 40%; left: 55%; width: 50px; height: 35px;
  background: linear-gradient(135deg, #e3d5c0 0%, #c4b39d 100%);
  border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  transform: rotate(-8deg); animation: wlr-letter 6s ease-in-out infinite;
}
.scn-way-i-read-a-letter .hand {
  position: absolute; bottom: 38%; left: 48%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #5a4a3e 0%, #3a2e24 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(15deg); animation: wlr-hand 4s ease-in-out infinite;
}
.scn-way-i-read-a-letter .shadow {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 10%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.7) 0%, transparent 80%);
  filter: blur(6px); animation: wlr-shadow 12s ease-in-out infinite alternate;
}
.scn-way-i-read-a-letter .candle {
  position: absolute; bottom: 45%; left: 68%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #e8d5b0 0%, #c8a87a 100%);
  border-radius: 2px; box-shadow: 0 0 10px 3px rgba(232,213,176,0.3);
  animation: wlr-candle 3s ease-in-out infinite alternate;
}
.scn-way-i-read-a-letter .glow {
  position: absolute; bottom: 40%; left: 60%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(232,213,176,0.25) 0%, transparent 70%);
  border-radius: 50%; filter: blur(20px);
  animation: wlr-glow 5s ease-in-out infinite alternate;
}
@keyframes wlr-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes wlr-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) translateY(-2px) } }
@keyframes wlr-letter { 0%,100% { transform: rotate(-8deg) translateX(0) } 50% { transform: rotate(-6deg) translateX(2px) } }
@keyframes wlr-hand { 0%,100% { transform: rotate(15deg) translate(0,0) } 50% { transform: rotate(12deg) translate(3px,-1px) } }
@keyframes wlr-shadow { 0% { transform: scaleX(1) opacity(0.6) } 100% { transform: scaleX(1.2) opacity(0.8) } }
@keyframes wlr-candle { 0% { transform: scaleY(1) scaleX(1) } 50% { transform: scaleY(1.05) scaleX(1.02) } 100% { transform: scaleY(0.98) scaleX(0.98) } }
@keyframes wlr-glow { 0% { opacity: 0.5; transform: scale(0.9) } 100% { opacity: 0.8; transform: scale(1.1) } }

.scn-wild-nights-luxury {
  background: linear-gradient(180deg, #0b1628 0%, #1a2a40 50%, #2c4a6e 100%),
              radial-gradient(ellipse at 70% 20%, #3a6a9a 0%, transparent 50%);
}
.scn-wild-nights-luxury .night-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #0f1e38 0%, #203450 100%);
  animation: wnl-sky 30s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .moon {
  position: absolute; top: 10%; right: 25%; width: 40px; height: 40px;
  background: radial-gradient(circle, #e8e4d8 0%, #b0a898 70%);
  border-radius: 50%; box-shadow: 0 0 40px 12px rgba(232,228,216,0.4), 0 0 80px 24px rgba(232,228,216,0.2);
  animation: wnl-moon 12s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #142e4a 0%, #0a1a2e 100%);
  border-radius: 40% 60% 0 0 / 30% 20% 0 0;
  animation: wnl-sea 8s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .ship {
  position: absolute; bottom: 28%; left: 40%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #3a2e24 0%, #1a1410 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 20% 20%;
  transform: rotate(-3deg); animation: wnl-ship 6s ease-in-out infinite;
}
.scn-wild-nights-luxury .sail {
  position: absolute; bottom: 30%; left: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #d8d4c8 0%, #a8a090 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(10deg); transform-origin: bottom center;
  animation: wnl-sail 4s ease-in-out infinite;
}
.scn-wild-nights-luxury .wave-a {
  position: absolute; bottom: 15%; left: -10%; width: 120%; height: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: wnl-wave-a 18s linear infinite;
}
.scn-wild-nights-luxury .wave-b {
  position: absolute; bottom: 10%; left: -5%; width: 110%; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 100%);
  border-radius: 50%; filter: blur(3px);
  animation: wnl-wave-b 25s linear infinite reverse;
  animation-delay: 3s;
}
.scn-wild-nights-luxury .lantern {
  position: absolute; bottom: 32%; left: 38%; width: 8px; height: 12px;
  background: radial-gradient(circle, #f0d090 0%, #d0a060 70%);
  border-radius: 20%; box-shadow: 0 0 16px 6px rgba(240,208,144,0.6), 0 0 32px 12px rgba(240,208,144,0.3);
  animation: wnl-lantern 3s ease-in-out infinite alternate;
}
@keyframes wnl-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes wnl-moon { 0% { transform: translateY(0) scale(1) } 100% { transform: translateY(4px) scale(1.05) } }
@keyframes wnl-sea { 0% { transform: translateY(0) } 100% { transform: translateY(-4px) } }
@keyframes wnl-ship { 0%,100% { transform: rotate(-3deg) translateX(0) } 50% { transform: rotate(-2deg) translateX(3px) } }
@keyframes wnl-sail { 0%,100% { transform: rotate(10deg) scaleY(1) } 50% { transform: rotate(8deg) scaleY(1.05) } }
@keyframes wnl-wave-a { 0% { transform: translateX(0) } 100% { transform: translateX(110%) } }
@keyframes wnl-wave-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100%) } }
@keyframes wnl-lantern { 0% { opacity: 0.6; transform: scale(0.9) } 100% { opacity: 1; transform: scale(1.1) } }

.scn-housewife's-gentle-task {
  background: linear-gradient(180deg, #1e1410 0%, #2a1c14 40%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 80%, #4a3020 0%, transparent 60%);
}
.scn-housewife-s-gentle-task .hearth {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 35%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a10 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6);
  animation: hgt-hearth 10s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .fire-glow {
  position: absolute; bottom: 28%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(ellipse, #ff8a4a 0%, #c86030 40%, #6a2a10 70%, transparent 100%);
  filter: blur(10px); animation: hgt-fire 4s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .chair {
  position: absolute; bottom: 18%; left: 45%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #5a4030 0%, #3a281c 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: hgt-chair 8s ease-in-out infinite;
}
.scn-housewife-s-gentle-task .window {
  position: absolute; top: 10%; right: 15%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #0a1a2e 0%, #142e4a 100%);
  border: 4px solid #2a1a10; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  animation: hgt-window 20s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .blind {
  position: absolute; top: 12%; right: 17%; width: 66px; height: 86px;
  background: repeating-linear-gradient(0deg, #2a1a10 0px, #3a281c 2px, transparent 2px, transparent 8px);
  opacity: 0.6; animation: hgt-blind 15s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .dog {
  position: absolute; bottom: 15%; left: 25%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 50% 50%;
  transform: scaleX(0.8); animation: hgt-dog 6s ease-in-out infinite;
}
.scn-housewife-s-gentle-task .shelf {
  position: absolute; top: 30%; left: 5%; width: 25%; height: 6px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  animation: hgt-shelf 12s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .clock {
  position: absolute; top: 28%; right: 5%; width: 30px; height: 30px;
  background: radial-gradient(circle, #5a4a3a 0%, #3a281c 70%);
  border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  animation: hgt-clock 2s linear infinite;
}
@keyframes hgt-hearth { 0% { opacity: 0.8 } 100% { opacity: 1 } }
@keyframes hgt-fire { 0% { opacity: 0.6; transform: scale(0.9) } 100% { opacity: 1; transform: scale(1.05) } }
@keyframes hgt-chair { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } }
@keyframes hgt-window { 0% { opacity: 0.5 } 100% { opacity: 0.8 } }
@keyframes hgt-blind { 0% { transform: translateY(0) } 100% { transform: translateY(10px) } }
@keyframes hgt-dog { 0%,100% { transform: scaleX(0.8) translateX(0) } 50% { transform: scaleX(0.75) translateX(2px) } }
@keyframes hgt-shelf { 0% { transform: scaleX(1) } 100% { transform: scaleX(0.95) } }
@keyframes hgt-clock { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }

.scn-charm-invests-a-face {
  background: linear-gradient(180deg, #6a6a7a 0%, #858592 40%, #a0a0aa 100%),
              radial-gradient(ellipse at 50% 30%, #b0b0b8 0%, transparent 60%);
}
.scn-charm-invests-a-face .backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #7a7a8a 0%, #8a8a96 100%);
  animation: cif-backdrop 30s ease-in-out infinite alternate;
}
.scn-charm-invests-a-face .veil {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 60%;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,0.1) 0px, rgba(255,255,255,0.05) 2px, transparent 2px, transparent 6px);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  filter: blur(1px); animation: cif-veil 12s ease-in-out infinite alternate;
}
.scn-charm-invests-a-face .figure {
  position: absolute; bottom: 25%; left: 40%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a2830 0%, #1a1820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg); animation: cif-figure 8s ease-in-out infinite;
}
.scn-charm-invests-a-face .shoulder {
  position: absolute; bottom: 35%; left: 38%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a3840 0%, #2a2830 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(10deg); animation: cif-shoulder 6s ease-in-out infinite alternate;
}
.scn-charm-invests-a-face .rose {
  position: absolute; top: 30%; left: 48%; width: 12px; height: 12px;
  background: radial-gradient(circle at 40% 40%, #b87878 0%, #8a5858 60%, #5a3838 100%);
  border-radius: 50%; box-shadow: 0 0 8px 2px rgba(184,120,120,0.4);
  animation: cif-rose 4s ease-in-out infinite alternate;
}
.scn-charm-invests-a-face .light {
  position: absolute; top: 20%; left: 45%; width: 60px; height: 120px;
  background: radial-gradient(ellipse, rgba(200,200,210,0.2) 0%, transparent 70%);
  filter: blur(15px); animation: cif-light 10s ease-in-out infinite alternate;
}
.scn-charm-invests-a-face .shadow-blur {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 80%);
  filter: blur(8px); animation: cif-shadow 15s ease-in-out infinite alternate;
}
@keyframes cif-backdrop { 0% { opacity: 0.8 } 100% { opacity: 1 } }
@keyframes cif-veil { 0% { opacity: 0.4; transform: scaleY(1) } 100% { opacity: 0.8; transform: scaleY(1.05) } }
@keyframes cif-figure { 0%,100% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-3deg) translateX(2px) } }
@keyframes cif-shoulder { 0% { transform: rotate(10deg) scaleY(1) } 100% { transform: rotate(8deg) scaleY(1.05) } }
@keyframes cif-rose { 0% { transform: scale(0.9) rotate(-5deg) } 100% { transform: scale(1.1) rotate(5deg) } }
@keyframes cif-light { 0% { opacity: 0.3; transform: scaleX(0.8) } 100% { opacity: 0.6; transform: scaleX(1.2) } }
@keyframes cif-shadow { 0% { transform: scaleX(0.9) } 100% { transform: scaleX(1.1) } }

.scn-south-winds-jostle {
  background:
    linear-gradient(180deg, #87CEEB 0%, #F0E68C 50%, #FFD700 100%),
    radial-gradient(ellipse at 50% 100%, #FFD700 0%, transparent 60%);
}
.scn-south-winds-jostle .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #B0E0E6 0%, #87CEEB 60%, #FFF8DC 100%);
  animation: swj-sky 12s ease-in-out infinite alternate;
}
.scn-south-winds-jostle .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #7CFC00 0%, #228B22 50%, #006400 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,100,0,.5);
  animation: swj-meadow 8s ease-in-out infinite;
}
.scn-south-winds-jostle .flower-1 {
  position: absolute; bottom: 30%; left: 15%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #FF69B4 0%, #C71585 60%, transparent 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: swj-flower 6s ease-in-out infinite;
}
.scn-south-winds-jostle .flower-2 {
  left: 45%; width: 16px; height: 24px;
  background: radial-gradient(circle at 50% 30%, #FFB6C1 0%, #DB7093 60%, transparent 100%);
  animation-delay: -2s;
}
.scn-south-winds-jostle .flower-3 {
  left: 75%; width: 18px; height: 26px;
  background: radial-gradient(circle at 50% 30%, #FFFACD 0%, #FFD700 60%, transparent 100%);
  animation-delay: -4s;
}
.scn-south-winds-jostle .bee {
  position: absolute; bottom: 50%; left: 30%; width: 12px; height: 8px;
  background: repeating-linear-gradient(90deg, #000 0px, #000 3px, #FFD700 3px, #FFD700 6px);
  border-radius: 50%;
  animation: swj-bee 5s ease-in-out infinite;
}
.scn-south-winds-jostle .butterfly {
  position: absolute; bottom: 55%; right: 25%; width: 14px; height: 10px;
  background: radial-gradient(circle at 30% 50%, #FF4500 0%, #8B0000 100%); /* deep orange, desaturated red */
  border-radius: 50% 0 50% 0;
  transform: rotate(-15deg);
  animation: swj-bfly 7s ease-in-out infinite alternate;
}
.scn-south-winds-jostle .daffodil {
  position: absolute; bottom: 25%; left: 55%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #FFD700 0%, #FFA500 50%, #DAA520 100%);
  border-radius: 50% 50% 30% 30%;
  animation: swj-daff 9s ease-in-out infinite;
}
.scn-south-winds-jostle .petal-ship {
  position: absolute; bottom: 55%; left: 60%; width: 24px; height: 12px;
  background: linear-gradient(135deg, #9370DB 0%, #6A5ACD 50%, #483D8B 100%);
  border-radius: 40% 60% 40% 60%;
  clip-path: polygon(0% 50%, 30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%);
  animation: swj-ship 10s ease-in-out infinite;
}
@keyframes swj-sky {
  0% { opacity: 0.8; background-position: 0% 0%; }
  50% { opacity: 1; background-position: 10% 0%; }
  100% { opacity: 0.9; background-position: 0% 0%; }
}
@keyframes swj-meadow {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes swj-flower {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes swj-bee {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(20px, -10px) rotate(5deg); }
  50% { transform: translate(40px, -5px) rotate(-3deg); }
  75% { transform: translate(20px, -15px) rotate(2deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes swj-bfly {
  0% { transform: translateX(0) rotate(-15deg); }
  50% { transform: translateX(15px) rotate(10deg); }
  100% { transform: translateX(-15px) rotate(-20deg); }
}
@keyframes swj-daff {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.1); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes swj-ship {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(20px) rotate(5deg); }
  50% { transform: translateX(50px) rotate(-3deg); }
  75% { transform: translateX(30px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-like-mighty-footlights {
  background:
    linear-gradient(180deg, #2c1a3e 0%, #4a2a4e 30%, #8b4a3e 60%, #c8763e 100%),
    radial-gradient(ellipse at 50% 100%, #e0a050 0%, transparent 70%);
}
.scn-like-mighty-footlights .sky-dusk {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a0a2e 0%, #3a1a4e 40%, #7a3a4e 70%, #c86a3e 100%);
  animation: mft-sky 20s ease-in-out infinite alternate;
}
.scn-like-mighty-footlights .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,.8);
}
.scn-like-mighty-footlights .tree-left {
  position: absolute; bottom: 30%; left: 15%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 20px 5px rgba(200,80,40,0.6); /* footlight glow at base */
  transform-origin: bottom center;
  animation: mft-tree 12s ease-in-out infinite;
}
.scn-like-mighty-footlights .tree-right {
  left: 75%; width: 50px; height: 100px;
  animation-delay: -4s;
}
.scn-like-mighty-footlights .footlight-glow {
  position: absolute; bottom: 35%; left: 30%; width: 60px; height: 20px;
  background: radial-gradient(ellipse at center, #ff8c42 0%, #c04020 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: mft-glow 8s ease-in-out infinite alternate;
}
.scn-like-mighty-footlights .stage-curtain {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #5e1a1d 0%, #8a2a2e 50%, #4a1012 100%);
  border-radius: 0 0 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: mft-curtain 6s ease-in-out infinite;
}
.scn-like-mighty-footlights .cup {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 25px;
  background: linear-gradient(180deg, #d4a574 0%, #b08050 50%, #8b5e3c 100%);
  border-radius: 10% 10% 40% 40%;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,.4);
  transform: rotate(-10deg);
  animation: mft-cup 4s ease-in-out infinite alternate;
}
.scn-like-mighty-footlights .applause-dot {
  position: absolute; top: 30%; left: 50%; width: 6px; height: 6px;
  background: #ffd700;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,215,0,.6);
  animation: mft-dot 3s ease-in-out infinite;
}
@keyframes mft-sky {
  0% { opacity: 0.7; background-position: 0% 0%; }
  50% { opacity: 1; background-position: 5% 0%; }
  100% { opacity: 0.8; background-position: 0% 0%; }
}
@keyframes mft-tree {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-4px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes mft-glow {
  0% { opacity: 0.6; box-shadow: 0 0 20px 5px #c04020; }
  50% { opacity: 1; box-shadow: 0 0 40px 10px #ff8c42; }
  100% { opacity: 0.7; box-shadow: 0 0 25px 6px #c04020; }
}
@keyframes mft-curtain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
  100% { transform: scaleX(1); }
}
@keyframes mft-cup {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes mft-dot {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.5); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

.scn-who-built-this-little-alban-house {
  background:
    linear-gradient(180deg, #6b7b8d 0%, #5a6a7a 30%, #4a5a6a 60%, #3a4a5a 100%),
    radial-gradient(ellipse at 50% 0%, #8a9aaa 0%, transparent 70%);
}
.scn-who-built-this-little-alban-house .overcast-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 50%, #4a5a6a 100%);
  animation: wba-sky 18s ease-in-out infinite alternate;
}
.scn-who-built-this-little-alban-house .ground-gray {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #5a6a5a 0%, #4a5a4a 50%, #3a4a3a 100%);
  border-radius: 60% 40% 0 0 / 40% 60% 0 0;
}
.scn-who-built-this-little-alban-house .house {
  position: absolute; bottom: 30%; left: 35%; width: 60px; height: 50px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 16px rgba(0,0,0,.5);
  transform: scale(0.95);
  animation: wba-house 7s ease-in-out infinite;
}
.scn-who-built-this-little-alban-house .window-shut {
  position: absolute; bottom: 40%; left: 44%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border: 2px solid #5a4a3a;
  border-radius: 2px;
  animation: wba-window 5s ease-in-out infinite alternate;
}
.scn-who-built-this-little-alban-house .cloud-a {
  position: absolute; top: 15%; left: 10%; width: 80px; height: 16px;
  background: linear-gradient(90deg, rgba(255,255,255,.3) 0%, rgba(200,200,210,.2) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: wba-drift 40s linear infinite;
}
.scn-who-built-this-little-alban-house .cloud-b {
  top: 25%; left: 50%; width: 60px; height: 12px;
  animation-direction: reverse; animation-duration: 50s;
}
.scn-who-built-this-little-alban-house .leopard {
  position: absolute; bottom: 20%; right: 20%; width: 30px; height: 18px;
  background: linear-gradient(135deg, #c8a060 0%, #b08040 50%, #8a6030 100%);
  border-radius: 50% 50% 40% 40%;
  clip-path: polygon(0% 30%, 20% 0%, 80% 0%, 100% 30%, 85% 100%, 15% 100%);
  transform: rotate(-10deg);
  animation: wba-leap 9s ease-in-out infinite;
}
.scn-who-built-this-little-alban-house .spirit-figure {
  position: absolute; bottom: 35%; left: 50%; width: 14px; height: 30px;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.4) 0%, transparent 70%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(2px);
  animation: wba-spirit 11s ease-in-out infinite;
}
@keyframes wba-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wba-house {
  0% { transform: scale(0.95) translateY(0); }
  50% { transform: scale(1) translateY(-3px); }
  100% { transform: scale(0.95) translateY(0); }
}
@keyframes wba-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 8px rgba(255,255,255,.1); }
  50% { opacity: 1; box-shadow: inset 0 0 12px rgba(255,255,255,.3); }
  100% { opacity: 0.8; box-shadow: inset 0 0 8px rgba(255,255,255,.1); }
}
@keyframes wba-drift {
  0% { transform: translateX(-30px); }
  100% { transform: translateX(120vw); }
}
@keyframes wba-leap {
  0% { transform: rotate(-10deg) translateX(0) translateY(0); }
  25% { transform: rotate(-5deg) translateX(15px) translateY(-8px); }
  50% { transform: rotate(0deg) translateX(30px) translateY(-5px); }
  75% { transform: rotate(5deg) translateX(45px) translateY(-10px); }
  100% { transform: rotate(-10deg) translateX(0) translateY(0); }
}
@keyframes wba-spirit {
  0% { opacity: 0.3; transform: translateY(0) scale(1); }
  50% { opacity: 0.8; transform: translateY(-10px) scale(1.2); }
  100% { opacity: 0.3; transform: translateY(0) scale(1); }
}

.scn-farther-in-summer-than-birds {
  background:
    linear-gradient(180deg, #b8c8d8 0%, #a0b0c0 30%, #8898a8 60%, #708090 100%),
    radial-gradient(ellipse at 50% 50%, #d0d8e0 0%, transparent 60%);
}
.scn-farther-in-summer-than-birds .summer-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #c8d8e8 0%, #a8b8c8 50%, #8898a8 100%);
  animation: fis-sky 15s ease-in-out infinite alternate;
}
.scn-farther-in-summer-than-birds .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #8a9a6a 0%, #6a7a5a 50%, #5a6a4a 100%);
  border-radius: 30% 70% 0 0 / 60% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.2);
}
.scn-farther-in-summer-than-birds .bird {
  position: absolute; top: 20%; left: 40%; width: 20px; height: 12px;
  background: linear-gradient(135deg, #4a4a4a 0%, #2a2a2a 100%);
  clip-path: polygon(0% 50%, 30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%);
  transform: scale(0.8);
  animation: fis-bird 6s ease-in-out infinite;
}
.scn-farther-in-summer-than-birds .grass-1 {
  position: absolute; bottom: 10%; left: 20%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #5a7a3a 0%, #4a6a2a 100%);
  border-radius: 50%;
  transform-origin: bottom center;
  animation: fis-grass 4s ease-in-out infinite alternate;
}
.scn-farther-in-summer-than-birds .grass-2 {
  left: 60%; height: 16px; animation-delay: -2s;
}
.scn-farther-in-summer-than-birds .haze {
  position: absolute; top: 30%; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,210,220,.3) 0%, transparent 100%);
  filter: blur(12px);
  animation: fis-haze 20s ease-in-out infinite;
}
.scn-farther-in-summer-than-birds .summer-sun {
  position: absolute; top: 25%; left: 70%; width: 30px; height: 30px;
  background: radial-gradient(circle at center, #f0e68c 0%, #d4c76a 40%, rgba(212,199,106,.2) 80%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(212,199,106,.5);
  opacity: 0.6;
  animation: fis-sun 30s ease-in-out infinite alternate;
}
@keyframes fis-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fis-bird {
  0% { transform: scale(0.8) translateX(0) rotate(-5deg); }
  25% { transform: scale(1) translateX(15px) rotate(0deg); }
  50% { transform: scale(0.9) translateX(30px) rotate(5deg); }
  75% { transform: scale(1) translateX(15px) rotate(0deg); }
  100% { transform: scale(0.8) translateX(0) rotate(-5deg); }
}
@keyframes fis-grass {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-10deg); }
}
@keyframes fis-haze {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(1); }
}
@keyframes fis-sun {
  0% { opacity: 0.4; transform: translateX(0); }
  50% { opacity: 0.7; transform: translateX(-5px); }
  100% { opacity: 0.5; transform: translateX(0); }
}

.scn-whip-breaks-heart {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a1a18 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 30% 70%, #3a2018 0%, transparent 80%);
}
.scn-whip-breaks-heart .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a18 0%, #0e0a08 100%);
  opacity: 0.7; animation: wh-bg 6s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 20% 10% 0 0; filter: blur(2px);
}
.scn-whip-breaks-heart .wall-shadow {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 40%, transparent 30%, #0a0604 100%);
  animation: wh-shadow 8s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .candle {
  position: absolute; bottom: 38%; left: 30%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8d0a0 0%, #c09050 100%);
  border-radius: 2px 2px 4px 4px; transform: rotate(2deg);
  box-shadow: 0 -4px 8px #f0c060; animation: wh-candle 4s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .candle-glow {
  position: absolute; bottom: 40%; left: 30%; width: 70px; height: 70px;
  background: radial-gradient(circle, rgba(240,192,96,0.6) 0%, rgba(240,192,96,0.2) 40%, transparent 80%);
  transform: translate(-50%, -50%); filter: blur(8px);
  animation: wh-glow 3s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .figure-wh {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); box-shadow: inset 0 -10px 15px rgba(0,0,0,0.5);
  animation: wh-figure 5s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .whip {
  position: absolute; bottom: 33%; left: 58%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 20%; transform-origin: bottom center; transform: rotate(20deg);
  animation: wh-whip 1.5s ease-in-out infinite;
}
.scn-whip-breaks-heart .bird-wh {
  position: absolute; bottom: 60%; left: 20%; width: 30px; height: 18px;
  background: linear-gradient(180deg, #2a1a18 0%, #1a0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  clip-path: polygon(0% 0%, 100% 0%, 80% 50%, 100% 100%, 0% 100%, 20% 50%);
  animation: wh-bird 2.5s ease-in-out infinite alternate;
}
.scn-whip-breaks-heart .stone {
  position: absolute; bottom: 28%; left: 65%; width: 18px; height: 14px;
  background: radial-gradient(circle, #5a4a3a 0%, #2a1a10 100%);
  border-radius: 50%; transform: rotate(10deg);
  animation: wh-stone 4s ease-in-out infinite alternate;
}
@keyframes wh-bg { 0% { opacity: 0.6; } 50% { opacity: 0.75; } 100% { opacity: 0.65; } }
@keyframes wh-shadow { 0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.85; } }
@keyframes wh-candle { 0% { transform: rotate(1deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.02); } 100% { transform: rotate(2deg) scaleY(0.98); } }
@keyframes wh-glow { 0% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.9); } 50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.95); } }
@keyframes wh-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-48%) translateY(-2px) rotate(-1deg); } 100% { transform: translateX(-52%) translateY(1px) rotate(1deg); } }
@keyframes wh-whip { 0% { transform: rotate(10deg) scaleX(1); } 25% { transform: rotate(40deg) scaleX(1.2); } 50% { transform: rotate(-20deg) scaleX(0.8); } 75% { transform: rotate(30deg) scaleX(1.1); } 100% { transform: rotate(10deg) scaleX(1); } }
@keyframes wh-bird { 0% { transform: translate(0, 0) rotate(-5deg); } 50% { transform: translate(15px, -10px) rotate(5deg); } 100% { transform: translate(30px, 0) rotate(-3deg); } }
@keyframes wh-stone { 0% { transform: rotate(0deg) translate(0); } 50% { transform: rotate(15deg) translate(2px, -1px); } 100% { transform: rotate(5deg) translate(-1px, 0); } }

.scn-friend-bird {
  background: 
    linear-gradient(180deg, #b8c8d0 0%, #8a9aa8 40%, #6a7a88 100%),
    radial-gradient(ellipse at 50% 80%, #c8d8e0 0%, transparent 70%);
}
.scn-friend-bird .sky-fb {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c8d8e0 0%, #8a9aa8 100%);
  animation: fb-sky 20s ease-in-out infinite alternate;
}
.scn-friend-bird .horizon-fb {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #7a8a98 0%, #5a6a78 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.2);
}
.scn-friend-bird .cloud-fb {
  position: absolute; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.1) 100%);
  border-radius: 50%; filter: blur(6px);
}
.scn-friend-bird .cloud-fb-a {
  top: 12%; left: -10%; width: 120px;
  animation: fb-cloud-a 40s linear infinite;
}
.scn-friend-bird .cloud-fb-b {
  top: 28%; right: -5%; width: 90px;
  animation: fb-cloud-b 55s linear infinite reverse;
}
.scn-friend-bird .bird-fb {
  position: absolute; bottom: 50%; left: 40%; width: 40px; height: 24px;
  background: linear-gradient(180deg, #4a5a68 0%, #2a3a48 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  clip-path: polygon(0% 0%, 100% 0%, 80% 50%, 100% 100%, 0% 100%, 20% 50%);
  animation: fb-bird 8s ease-in-out infinite alternate;
}
.scn-friend-bird .bee-fb {
  position: absolute; bottom: 48%; left: 55%; width: 16px; height: 12px;
  background: linear-gradient(180deg, #c8a040 0%, #a08030 100%);
  border-radius: 40% 60% 40% 60% / 50% 50% 50% 50%;
  box-shadow: inset 0 -2px 0 #2a1a08;
  animation: fb-bee 3s ease-in-out infinite;
}
.scn-friend-bird .branch {
  position: absolute; bottom: 30%; left: 20%; width: 100px; height: 6px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10px; transform: rotate(-15deg);
  box-shadow: 2px -2px 4px rgba(0,0,0,0.2);
}
@keyframes fb-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes fb-cloud-a { 0% { transform: translateX(-100px); } 100% { transform: translateX(120vw); } }
@keyframes fb-cloud-b { 0% { transform: translateX(0); } 100% { transform: translateX(-130vw); } }
@keyframes fb-bird { 0% { transform: translate(0, 0) rotate(-3deg) scaleX(1); } 30% { transform: translate(20px, -15px) rotate(2deg) scaleX(1.05); } 60% { transform: translate(-10px, -5px) rotate(-1deg) scaleX(0.95); } 100% { transform: translate(15px, 0) rotate(0deg) scaleX(1); } }
@keyframes fb-bee { 0% { transform: translate(0, 0) rotate(-10deg); } 25% { transform: translate(8px, -6px) rotate(10deg); } 50% { transform: translate(15px, 0) rotate(-5deg); } 75% { transform: translate(8px, 6px) rotate(5deg); } 100% { transform: translate(0, 0) rotate(-10deg); } }

.scn-touched-me-live {
  background: 
    linear-gradient(180deg, #d8c8a8 0%, #b8a888 50%, #8a7a68 100%),
    radial-gradient(ellipse at 50% 30%, #e8d8b8 0%, transparent 70%);
}
.scn-touched-me-live .sky-tm {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  animation: tm-sky 15s ease-in-out infinite alternate;
}
.scn-touched-me-live .sea-tm {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 100%);
  border-radius: 30% 70% 0 0 / 60% 90% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
  animation: tm-sea 10s ease-in-out infinite alternate;
}
.scn-touched-me-live .sunbeams {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 80%;
  background: repeating-linear-gradient(135deg, rgba(255,220,180,0.15) 0%, rgba(255,220,180,0.05) 20%, transparent 40%);
  filter: blur(10px); animation: tm-beams 12s ease-in-out infinite;
}
.scn-touched-me-live .figure-left {
  position: absolute; bottom: 20%; left: 30%; width: 45px; height: 100px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); box-shadow: inset 0 -8px 12px rgba(0,0,0,0.4);
  animation: tm-figure-l 6s ease-in-out infinite alternate;
}
.scn-touched-me-live .figure-right {
  position: absolute; bottom: 20%; left: 50%; width: 45px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); box-shadow: inset 0 -8px 12px rgba(0,0,0,0.4);
  animation: tm-figure-r 6s ease-in-out infinite alternate;
}
.scn-touched-me-live .hand-touch {
  position: absolute; bottom: 40%; left: 42%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(10deg); transform-origin: bottom center;
  animation: tm-hand 4s ease-in-out infinite alternate;
}
.scn-touched-me-live .glow-tm {
  position: absolute; bottom: 35%; left: 40%; width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(240,210,170,0.4) 0%, transparent 70%);
  filter: blur(15px); animation: tm-glow 5s ease-in-out infinite alternate;
}
@keyframes tm-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes tm-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes tm-beams { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes tm-figure-l { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform: translateX(-48%) translateY(-2px) rotate(0deg); } 100% { transform: translateX(-52%) translateY(0) rotate(1deg); } }
@keyframes tm-figure-r { 0% { transform: translateX(-50%) translateY(0) rotate(1deg); } 50% { transform: translateX(-52%) translateY(-2px) rotate(0deg); } 100% { transform: translateX(-48%) translateY(0) rotate(-1deg); } }
@keyframes tm-hand { 0% { transform: rotate(5deg) translate(0, 0); } 50% { transform: rotate(15deg) translate(3px, -2px); } 100% { transform: rotate(8deg) translate(1px, 0); } }
@keyframes tm-glow { 0% { opacity: 0.4; transform: scale(0.9); } 50% { opacity: 0.7; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(0.95); } }

.scn-live-with-him {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 50%, #1a0e06 100%),
    radial-gradient(ellipse at 70% 40%, #4a3a2a 0%, transparent 80%);
}
.scn-live-with-him .room-interior {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0602 100%);
  opacity: 0.5; animation: lw-bg 8s ease-in-out infinite alternate;
}
.scn-live-with-him .window-lw {
  position: absolute; top: 15%; left: 10%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px #1a0e06, 0 0 10px rgba(0,0,0,0.6);
  animation: lw-window 6s ease-in-out infinite alternate;
}
.scn-live-with-him .lamp-lw {
  position: absolute; bottom: 30%; left: 70%; width: 12px; height: 24px;
  background: linear-gradient(180deg, #e8c090 0%, #b09050 100%);
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 0 30px #c0a060, 0 0 60px rgba(192,160,96,0.3);
  animation: lw-lamp 4s ease-in-out infinite alternate;
}
.scn-live-with-him .table-lw {
  position: absolute; bottom: 12%; left: 50%; width: 80px; height: 12px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 3px; transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-live-with-him .figure-a {
  position: absolute; bottom: 12%; left: 38%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); box-shadow: inset 0 -10px 15px rgba(0,0,0,0.5);
  animation: lw-fig-a 7s ease-in-out infinite alternate;
}
.scn-live-with-him .figure-b {
  position: absolute; bottom: 12%; left: 62%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); box-shadow: inset 0 -10px 15px rgba(0,0,0,0.5);
  animation: lw-fig-b 7s ease-in-out infinite alternate;
}
.scn-live-with-him .shadow-lw {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse, #0a0604 0%, transparent 70%);
  filter: blur(8px); animation: lw-shadow 9s ease-in-out infinite alternate;
}
@keyframes lw-bg { 0% { opacity: 0.4; } 50% { opacity: 0.55; } 100% { opacity: 0.45; } }
@keyframes lw-window { 0% { filter: brightness(0.8); } 50% { filter: brightness(1); } 100% { filter: brightness(0.85); } }
@keyframes lw-lamp { 0% { box-shadow: 0 0 20px #c0a060, 0 0 40px rgba(192,160,96,0.2); transform: scaleY(1); } 50% { box-shadow: 0 0 40px #c0a060, 0 0 80px rgba(192,160,96,0.4); transform: scaleY(1.05); } 100% { box-shadow: 0 0 25px #c0a060, 0 0 50px rgba(192,160,96,0.3); transform: scaleY(0.98); } }
@keyframes lw-fig-a { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform: translateX(-49%) translateY(-2px) rotate(0deg); } 100% { transform: translateX(-51%) translateY(0) rotate(1deg); } }
@keyframes lw-fig-b { 0% { transform: translateX(-50%) translateY(0) rotate(1deg); } 50% { transform: translateX(-51%) translateY(-2px) rotate(0deg); } 100% { transform: translateX(-49%) translateY(0) rotate(-1deg); } }
@keyframes lw-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.35; } }

/* life-converges-centre – overcast, calm, converging threads */
.scn-life-converges-centre {
  background: linear-gradient(180deg, #b0b8b8 0%, #8a9494 40%, #6e7878 100%),
              radial-gradient(ellipse at 50% 60%, #c8d0d0 0%, transparent 70%);
}
.scn-life-converges-centre .bg-overcast {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, rgba(160,170,170,0.3) 0%, transparent 50%, rgba(120,130,130,0.2) 100%);
  animation: lcc-fade 20s ease-in-out infinite alternate;
}
.scn-life-converges-centre .centre-glow {
  position: absolute; width: 16px; height: 16px; top: 50%; left: 50%; transform: translate(-50%,-50%);
  background: radial-gradient(circle, #e8e0d0 0%, #c8b8a0 60%, transparent 100%);
  border-radius: 50%; 
  box-shadow: 0 0 40px 10px rgba(200,184,160,0.6), 0 0 80px 20px rgba(200,184,160,0.3);
  animation: lcc-pulse 8s ease-in-out infinite;
}
.scn-life-converges-centre .thread {
  position: absolute; top: 50%; left: 50%; height: 2px; background: #9aa8a8;
  transform-origin: 0 50%; width: 40vw; 
  border-radius: 1px; opacity: 0.5;
  box-shadow: 0 0 6px rgba(90,100,100,0.3);
}
.scn-life-converges-centre .thread-1 { transform: rotate(0deg) scaleX(0.95); animation: lcc-thread1 24s ease-in-out infinite; }
.scn-life-converges-centre .thread-2 { transform: rotate(72deg) scaleX(0.85); animation: lcc-thread2 30s ease-in-out infinite reverse; }
.scn-life-converges-centre .thread-3 { transform: rotate(144deg) scaleX(0.9); animation: lcc-thread3 28s ease-in-out infinite; }
.scn-life-converges-centre .thread-4 { transform: rotate(216deg) scaleX(0.8); animation: lcc-thread4 36s ease-in-out infinite; }
.scn-life-converges-centre .weave-base {
  position: absolute; top: 30%; left: 20%; width: 60%; height: 40%;
  background: repeating-linear-gradient(90deg, transparent, transparent 12px, rgba(140,150,150,0.15) 12px, rgba(140,150,150,0.15) 13px);
  border-radius: 40% 40% 20% 20% / 30% 30% 10% 10%;
  animation: lcc-weave 40s linear infinite;
}
.scn-life-converges-centre .weave-shimmer {
  position: absolute; top: 30%; left: 20%; width: 60%; height: 40%;
  background: radial-gradient(ellipse at 50% 70%, rgba(200,190,180,0.1) 0%, transparent 80%);
  animation: lcc-shimmer 12s ease-in-out infinite alternate;
}
@keyframes lcc-fade { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes lcc-pulse { 0% { transform: translate(-50%,-50%) scale(0.95); opacity:0.7 } 50% { transform: translate(-50%,-50%) scale(1.1); opacity:1 } 100% { transform: translate(-50%,-50%) scale(0.95); opacity:0.8 } }
@keyframes lcc-thread1 { 0% { width:30vw; opacity:0.3 } 50% { width:42vw; opacity:0.6 } 100% { width:30vw; opacity:0.4 } }
@keyframes lcc-thread2 { 0% { width:25vw; opacity:0.2 } 50% { width:38vw; opacity:0.5 } 100% { width:25vw; opacity:0.3 } }
@keyframes lcc-thread3 { 0% { width:28vw; opacity:0.25 } 50% { width:40vw; opacity:0.55 } 100% { width:28vw; opacity:0.35 } }
@keyframes lcc-thread4 { 0% { width:22vw; opacity:0.2 } 50% { width:36vw; opacity:0.5 } 100% { width:22vw; opacity:0.3 } }
@keyframes lcc-weave { 0% { background-position: 0 0 } 100% { background-position: 26px 0 } }
@keyframes lcc-shimmer { 0% { opacity:0.1 } 50% { opacity:0.3 } 100% { opacity:0.15 } }

/* eye-put-out – sunlit, tense, sky/heart split */
.scn-eye-put-out {
  background: linear-gradient(180deg, #ffe8c0 0%, #ffd090 30%, #c8a880 70%, #8a7050 100%),
              radial-gradient(ellipse at 50% 40%, #fff5e0 0%, transparent 60%);
}
.scn-eye-put-out .sky-bright {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #fff0d0 0%, #f0d8a0 60%, transparent 100%);
  animation: epo-skyglow 6s ease-in-out infinite alternate;
}
.scn-eye-put-out .sun-glare {
  position: absolute; width: 100px; height: 100px; top: 18%; left: 60%;
  background: radial-gradient(circle, #fff8e0 0%, #f0d090 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 120px 40px rgba(240,208,144,0.6), 0 0 200px 80px rgba(240,208,144,0.3);
  animation: epo-flare 4s ease-in-out infinite;
}
.scn-eye-put-out .ground-crack {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #a08060 0%, #706050 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.3);
  animation: epo-crack 8s ease-in-out infinite;
}
.scn-eye-put-out .figure-tense {
  position: absolute; bottom: 30%; left: 35%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: epo-figure 5s ease-in-out infinite;
}
.scn-eye-put-out .heart-split-1,
.scn-eye-put-out .heart-split-2 {
  position: absolute; bottom: 38%; left: 36%; width: 10px; height: 10px;
  background: #b05840; border-radius: 50% 50% 50% 0;
  transform: rotate(45deg);
  box-shadow: 0 0 12px rgba(176,88,64,0.6);
}
.scn-eye-put-out .heart-split-1 { left: 36%; animation: epo-split1 3s ease-in-out infinite; }
.scn-eye-put-out .heart-split-2 { left: 38%; animation: epo-split2 3.2s ease-in-out infinite; }
.scn-eye-put-out .ray {
  position: absolute; top: 20%; left: 50%; width: 2px; height: 60vh;
  background: linear-gradient(180deg, rgba(255,240,200,0.6) 0%, transparent 100%);
  transform-origin: bottom;
  border-radius: 2px;
}
.scn-eye-put-out .ray-1 { transform: rotate(-15deg); animation: epo-ray1 5s ease-in-out infinite alternate; }
.scn-eye-put-out .ray-2 { transform: rotate(15deg); animation: epo-ray2 5.5s ease-in-out infinite alternate; }
@keyframes epo-skyglow { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes epo-flare { 0% { transform: scale(0.9); opacity:0.7 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(0.95); opacity:0.8 } }
@keyframes epo-crack { 0% { transform: translateY(0) } 25% { transform: translateY(2px) } 50% { transform: translateY(-1px) } 75% { transform: translateY(3px) } 100% { transform: translateY(0) } }
@keyframes epo-figure { 0%,100% { transform: rotate(0deg) translateY(0) } 20% { transform: rotate(3deg) translateY(-2px) } 40% { transform: rotate(-3deg) translateY(1px) } 60% { transform: rotate(2deg) translateY(-1px) } 80% { transform: rotate(-2deg) translateY(2px) } }
@keyframes epo-split1 { 0%,100% { transform: rotate(45deg) translate(0,0); opacity:0.8 } 50% { transform: rotate(45deg) translate(6px,-4px); opacity:0.4 } }
@keyframes epo-split2 { 0%,100% { transform: rotate(45deg) translate(0,0); opacity:0.8 } 50% { transform: rotate(45deg) translate(-6px,4px); opacity:0.3 } }
@keyframes epo-ray1 { 0% { transform: rotate(-15deg) scaleY(0.95); opacity:0.5 } 50% { transform: rotate(-18deg) scaleY(1.05); opacity:0.8 } 100% { transform: rotate(-15deg) scaleY(0.95); opacity:0.6 } }
@keyframes epo-ray2 { 0% { transform: rotate(15deg) scaleY(0.95); opacity:0.5 } 50% { transform: rotate(18deg) scaleY(1.05); opacity:0.8 } 100% { transform: rotate(15deg) scaleY(0.95); opacity:0.6 } }

/* meadows-mine-mountains – sunlit, tense, landscape with figure */
.scn-meadows-mine-mountains {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c090 30%, #a0b080 60%, #608060 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 70%);
}
.scn-meadows-mine-mountains .sky-wide {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #fff0c0 0%, #d0d0a0 60%, transparent 100%);
  animation: mmm-skydrift 30s linear infinite;
}
.scn-meadows-mine-mountains .mountains {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #708060 0%, #406040 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: mmm-mountain 18s ease-in-out infinite alternate;
}
.scn-meadows-mine-mountains .meadows {
  position: absolute; bottom: 8%; left: 5%; right: 5%; height: 20%;
  background: linear-gradient(180deg, #a0b870 0%, #80a060 100%);
  border-radius: 30% 40% 10% 10% / 50% 60% 20% 20%;
  box-shadow: inset 0 6px 12px rgba(0,40,0,0.2);
  animation: mmm-meadow 24s ease-in-out infinite alternate;
}
.scn-meadows-mine-mountains .forest {
  position: absolute; bottom: 18%; left: 10%; width: 30%; height: 15%;
  background: linear-gradient(180deg, #507040 0%, #305020 100%);
  border-radius: 40% 60% 0 0 / 60% 80% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: mmm-forest 12s ease-in-out infinite;
}
.scn-meadows-mine-mountains .figure-small {
  position: absolute; bottom: 12%; left: 45%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mmm-figure 5s ease-in-out infinite;
}
.scn-meadows-mine-mountains .star {
  position: absolute; width: 4px; height: 4px; background: #fffbe0;
  border-radius: 50%; box-shadow: 0 0 10px #fffbe0;
}
.scn-meadows-mine-mountains .star-1 { top: 10%; left: 20%; animation: mmm-twinkle1 4s ease-in-out infinite; }
.scn-meadows-mine-mountains .star-2 { top: 8%; left: 60%; animation: mmm-twinkle2 4.5s ease-in-out infinite reverse; }
.scn-meadows-mine-mountains .lightning {
  position: absolute; top: 5%; left: 50%; width: 2px; height: 30px;
  background: #fff; filter: blur(1px);
  transform: rotate(20deg);
  animation: mmm-lightning 8s ease-in-out infinite;
}
@keyframes mmm-skydrift { 0% { background-position: 0 0 } 100% { background-position: 100px 0 } }
@keyframes mmm-mountain { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.02) translateY(-4px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes mmm-meadow { 0% { transform: translateX(0) } 50% { transform: translateX(8px) } 100% { transform: translateX(0) } }
@keyframes mmm-forest { 0%,100% { transform: scale(0.95) } 50% { transform: scale(1.05) } }
@keyframes mmm-figure { 0%,100% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(2deg) } 60% { transform: translateY(0) rotate(-2deg) } }
@keyframes mmm-twinkle1 { 0%,100% { opacity:0.3 } 50% { opacity:1 } }
@keyframes mmm-twinkle2 { 0%,100% { opacity:0.5 } 50% { opacity:0.1 } }
@keyframes mmm-lightning { 0%,90%,100% { opacity:0 } 45%,55% { opacity:1 } }

/* preached-breadth-narrow – overcast, funny, preacher on narrow stage */
.scn-preached-breadth-narrow {
  background: linear-gradient(180deg, #b0a8a0 0%, #908880 30%, #706860 100%),
              radial-gradient(ellipse at 50% 70%, #c8c0b8 0%, transparent 60%);
}
.scn-preached-breadth-narrow .stage-bg {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #908070 0%, #605850 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.3);
  animation: pbn-stage 20s ease-in-out infinite alternate;
}
.scn-preached-breadth-narrow .pulpit {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 50px;
  background: linear-gradient(180deg, #807060 0%, #504840 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: pbn-pulpit 6s ease-in-out infinite;
}
.scn-preached-breadth-narrow .preacher {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%);
  width: 16px; height: 40px;
  background: linear-gradient(180deg, #584838 0%, #382820 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pbn-preacher 4s ease-in-out infinite;
}
.scn-preached-breadth-narrow .crowd-left,
.scn-preached-breadth-narrow .crowd-right {
  position: absolute; bottom: 20%; width: 20%;
  height: 30px;
  background: repeating-linear-gradient(90deg, #4a4038 0px, #4a4038 4px, transparent 4px, transparent 8px);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
}
.scn-preached-breadth-narrow .crowd-left { left: 10%; animation: pbn-crowd 8s ease-in-out infinite; }
.scn-preached-breadth-narrow .crowd-right { right: 10%; animation: pbn-crowd 8s ease-in-out infinite reverse; }
.scn-preached-breadth-narrow .banner-long {
  position: absolute; top: 10%; left: 10%; width: 80%; height: 8px;
  background: linear-gradient(90deg, #c8a868 0%, #b89858 50%, #c8a868 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: pbn-banner 12s ease-in-out infinite alternate;
}
.scn-preached-breadth-narrow .narrow-beam {
  position: absolute; bottom: 50%; left: 48%; width: 4%; height: 30%;
  background: linear-gradient(180deg, rgba(240,220,180,0.2) 0%, transparent 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: pbn-beam 5s ease-in-out infinite;
}
@keyframes pbn-stage { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(1) } }
@keyframes pbn-pulpit { 0%,100% { transform: translateX(-50%) rotate(0deg) } 25% { transform: translateX(-50%) rotate(2deg) } 75% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes pbn-preacher { 0%,100% { transform: translateX(-50%) rotate(0deg) translateY(0) } 30% { transform: translateX(-50%) rotate(3deg) translateY(-4px) } 60% { transform: translateX(-50%) rotate(-3deg) translateY(2px) } }
@keyframes pbn-crowd { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes pbn-banner { 0% { transform: scaleX(0.95) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(0.95) } }
@keyframes pbn-beam { 0% { opacity:0.1 } 50% { opacity:0.4 } 100% { opacity:0.1 } }

.scn-thought-beneath-film {
  background: linear-gradient(180deg, #f7e8d0 0%, #e6c9a8 40%, #b89a78 70%, #7a5a3a 100%),
              radial-gradient(ellipse at 20% 30%, #fce4d6 0%, transparent 60%);
}
.scn-thought-beneath-film .sky-dawn {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #fbd7b0 0%, #fce4d6 40%, #e6c9a8 100%);
  animation: th-sky 22s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .mist-veil {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(0deg, rgba(255,245,230,0.5) 0%, transparent 80%);
  filter: blur(8px);
  animation: th-mist 16s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .mountain-far {
  position: absolute; bottom: 35%; left: 10%; right: 30%; height: 20%;
  background: linear-gradient(180deg, #c4a88a 0%, #9e7f64 100%);
  border-radius: 60% 60% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
  animation: th-mount 30s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .window-frame {
  position: absolute; bottom: 20%; left: 35%; width: 140px; height: 160px;
  background: transparent;
  border: 12px solid #5a3d2b; border-radius: 4px;
  box-shadow: inset 0 0 0 4px #3a2a1a, 0 4px 16px rgba(0,0,0,0.4);
  animation: th-frame 10s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .curtain-lace {
  position: absolute; bottom: 22%; left: 35%; width: 140px; height: 150px;
  background: repeating-linear-gradient(45deg, rgba(255,255,240,0.4) 0px, rgba(255,255,240,0.2) 4px, transparent 4px, transparent 8px);
  mask-image: radial-gradient(ellipse at 50% 50%, white 0%, white 60%, transparent 61%);
  animation: th-curtain 12s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .figure-profile {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #2a1e1a 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th-figure 6s ease-in-out infinite alternate;
}
.scn-thought-beneath-film .breath-mist {
  position: absolute; bottom: 45%; left: 50%; width: 40px; height: 20px;
  background: radial-gradient(circle, rgba(255,245,230,0.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: th-breath 4s ease-in-out infinite;
}
@keyframes th-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes th-mist { 0% { transform: translateY(0) scale(1); opacity: 0.6; } 50% { transform: translateY(-8px) scale(1.02); opacity: 0.9; } 100% { transform: translateY(4px) scale(0.98); opacity: 0.5; } }
@keyframes th-mount { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(0.97); } }
@keyframes th-frame { 0% { filter: brightness(0.9); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.95); } }
@keyframes th-curtain { 0% { transform: scaleX(1) skewX(0deg); } 50% { transform: scaleX(1.02) skewX(2deg); } 100% { transform: scaleX(0.98) skewX(-1deg); } }
@keyframes th-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(4px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes th-breath { 0% { transform: translate(-50%, 0) scale(0.8); opacity: 0.3; } 50% { transform: translate(-50%, -6px) scale(1.2); opacity: 0.8; } 100% { transform: translate(-50%, 2px) scale(0.9); opacity: 0.2; } }

.scn-delight-becomes-pictorial {
  background: linear-gradient(180deg, #fae5c3 0%, #d9b57a 40%, #7a5a3a 70%, #3a2a1a 100%),
              radial-gradient(ellipse at 30% 70%, #ffd699 0%, transparent 50%);
}
.scn-delight-becomes-pictorial .sky-amber {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #fce4b3 0%, #f5c87a 40%, #d9a54a 100%);
  animation: de-sky 25s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .sun-low {
  position: absolute; bottom: 45%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fce4b3 0%, #ffd180 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.6);
  animation: de-sun 20s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .mountain-close {
  position: absolute; bottom: 30%; left: 5%; right: 45%; height: 25%;
  background: linear-gradient(180deg, #8b7355 0%, #5a4430 100%);
  border-radius: 50% 40% 0 0 / 70% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: de-mount 18s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .hill-foreground {
  position: absolute; bottom: 12%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #6b533a 0%, #3a2a1a 100%);
  border-radius: 70% 30% 0 0 / 80% 20% 0 0;
  box-shadow: inset 0 6px 14px rgba(0,0,0,0.5);
  animation: de-hill 22s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .tree-silhouette {
  position: absolute; bottom: 18%; left: 15%; width: 20px; height: 60px;
  background: #1a1208;
  border-radius: 50% 50% 20% 20% / 70% 70% 20% 20%;
  transform-origin: bottom center;
  box-shadow: 12px -8px 0 0 #1a1208, -8px -10px 0 0 #1a1208;
  animation: de-tree 7s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .figure-muse {
  position: absolute; bottom: 16%; left: 60%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #2a1e14 0%, #0d0a06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: de-figure 5s ease-in-out infinite alternate;
}
.scn-delight-becomes-pictorial .flare-gold {
  position: absolute; bottom: 35%; left: 55%; width: 20px; height: 20px;
  background: radial-gradient(circle, #fff0b0 0%, #ffd680 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: de-flare 4s ease-in-out infinite alternate;
}
@keyframes de-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes de-sun { 0% { transform: scale(1) translate(0, 0); } 50% { transform: scale(1.05) translate(-2px, -2px); } 100% { transform: scale(0.95) translate(2px, 2px); } }
@keyframes de-mount { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-4px); } 100% { transform: scaleY(0.98) translateY(2px); } }
@keyframes de-hill { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.01); } 100% { transform: scaleX(0.99); } }
@keyframes de-tree { 0% { transform: rotate(-2deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.02); } 100% { transform: rotate(-1deg) scaleY(0.98); } }
@keyframes de-figure { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(6px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes de-flare { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.6; transform: scale(0.8); } }

.scn-is-heaven-a-physician {
  background: linear-gradient(180deg, #2c2e33 0%, #3a3c42 40%, #4a4d55 70%, #1a1c22 100%),
              radial-gradient(ellipse at 50% 40%, #5a5d66 0%, transparent 60%);
}
.scn-is-heaven-a-physician .bg-overcast {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #4a4d55 0%, #2c2e33 100%);
  animation: is-bg 20s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .door-shut {
  position: absolute; bottom: 15%; right: 15%; width: 80px; height: 140px;
  background: linear-gradient(180deg, #5a4430 0%, #3a2a1a 100%);
  border: 4px solid #1a1208;
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 0 6px #2a1e14, 0 8px 20px rgba(0,0,0,0.6);
  animation: is-door 12s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .clock-ticking {
  position: absolute; top: 20%; left: 20%; width: 60px; height: 60px;
  background: linear-gradient(135deg, #8b7355 0%, #5a4430 100%);
  border-radius: 50%;
  border: 6px solid #1a1208;
  box-shadow: 0 0 0 4px #3a2a1a;
  animation: is-clock 3s ease-in-out infinite;
}
.scn-is-heaven-a-physician .clock-ticking::after {
  content: '';
  position: absolute; top: 50%; left: 50%; width: 2px; height: 22px;
  background: #1a1208;
  transform-origin: bottom center;
  border-radius: 1px;
  animation: is-hand 2s steps(2) infinite;
}
.scn-is-heaven-a-physician .chair-empty {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 10% 10% 30% 30% / 10% 10% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: is-chair 4s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .figure-waiting {
  position: absolute; bottom: 18%; left: 42%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a1c22 0%, #0a0c10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: is-figure 3s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .light-slice {
  position: absolute; top: 30%; left: 60%; width: 4px; height: 200px;
  background: linear-gradient(180deg, rgba(200,180,140,0.6) 0%, transparent 80%);
  box-shadow: 2px 0 6px rgba(200,180,140,0.3);
  transform: rotate(15deg);
  transform-origin: top center;
  animation: is-light 8s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .shadow-pulse {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: is-shadow 5s ease-in-out infinite alternate;
}
.scn-is-heaven-a-physician .medicine-vial {
  position: absolute; bottom: 30%; left: 55%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #8b7355 0%, #5a4430 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  border: 2px solid #1a1208;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: is-vial 7s ease-in-out infinite alternate;
}
@keyframes is-bg { 0% { filter: brightness(0.9); } 50% { filter: brightness(1.05); } 100% { filter: brightness(0.95); } }
@keyframes is-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(0.98); } }
@keyframes is-clock { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes is-hand { 0% { transform: translate(-50%, -100%) rotate(0deg); } 100% { transform: translate(-50%, -100%) rotate(360deg); } }
@keyframes is-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes is-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-1px) translateY(0) rotate(0deg); } }
@keyframes is-light { 0% { opacity: 0.3; transform: rotate(12deg); } 50% { opacity: 0.8; transform: rotate(18deg); } 100% { opacity: 0.4; transform: rotate(14deg); } }
@keyframes is-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.4; } }
@keyframes is-vial { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(-2px) rotate(5deg); } }

.scn-transporting-moment {
  background: linear-gradient(180deg, #1a1208 0%, #2a1e14 30%, #3a2a1a 60%, #1a1208 100%),
              radial-gradient(ellipse at 50% 80%, #8b4a2a 0%, transparent 50%);
}
.scn-transporting-moment .wall-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1208 0%, #2a1e14 50%, #0d0a06 100%);
  animation: tr-wall 20s ease-in-out infinite alternate;
}
.scn-transporting-moment .fireplace-stone {
  position: absolute; bottom: 10%; left: 50%; width: 140px; height: 120px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  border: 6px solid #1a1208;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: tr-stone 15s ease-in-out infinite alternate;
}
.scn-transporting-moment .fire-flames {
  position: absolute; bottom: 18%; left: 50%; width: 60px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ff7b24 0%, #cc5500 40%, #8b3a3a 70%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 20px rgba(255,123,36,0.4), 0 0 80px 40px rgba(204,85,0,0.2);
  animation: tr-fire 2s ease-in-out infinite alternate;
}
.scn-transporting-moment .chair-wood {
  position: absolute; bottom: 12%; left: 30%; width: 70px; height: 80px;
  background: linear-gradient(180deg, #5a4430 0%, #3a2a1a 100%);
  border-radius: 10% 10% 30% 30% / 10% 10% 40% 40%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.6);
  animation: tr-chair 8s ease-in-out infinite alternate;
}
.scn-transporting-moment .figure-seated {
  position: absolute; bottom: 14%; left: 33%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #0d0a06 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px rgba(0,0,0,0.8);
  animation: tr-figure 6s ease-in-out infinite alternate;
}
.scn-transporting-moment .door-closed {
  position: absolute; bottom: 15%; right: 20%; width: 70px; height: 130px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border: 4px solid #0d0a06;
  border-radius: 6px 6px 0 0;
  box-shadow: inset 0 0 0 6px #2a1e14, 0 8px 24px rgba(0,0,0,0.7);
  animation: tr-door 12s ease-in-out infinite alternate;
}
.scn-transporting-moment .glow-pool {
  position: absolute; bottom: 8%; left: 40%; width: 120px; height: 40px;
  background: radial-gradient(ellipse, rgba(255,123,36,0.3) 0%, transparent 70%);
  filter: blur(8px);
  animation: tr-glow 4s ease-in-out infinite alternate;
}
@keyframes tr-wall { 0% { filter: brightness(0.9); } 50% { filter: brightness(1.05); } 100% { filter: brightness(0.95); } }
@keyframes tr-stone { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes tr-fire { 0% { transform: translateX(-50%) scale(0.95) rotate(-2deg); } 50% { transform: translateX(-50%) scale(1.05) rotate(2deg); } 100% { transform: translateX(-50%) scale(1) rotate(0deg); } }
@keyframes tr-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes tr-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(1px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes tr-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(0.98); } }
@keyframes tr-glow { 0% { opacity: 0.4; transform: scale(0.8); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(0.9); } }

/* envy-seas-hills — tense, overcast */
.scn-envy-seas-hills { background: linear-gradient(180deg, #6b7b8d 0%, #4a5b6e 40%, #2e3b4e 100%), radial-gradient(ellipse at 50% 100%, #1a2633 0%, transparent 70%); }
.scn-envy-seas-hills .overcast-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #8b9bb0 0%, #6b7b8d 60%, #4a5b6e 100%); animation: en-sky 8s ease-in-out infinite alternate; }
.scn-envy-seas-hills .hills-far { position:absolute; bottom:40%; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); border-radius: 60% 40% 0 0; box-shadow: inset 0 6px 15px rgba(0,0,0,.3); animation: en-hills 5s ease-in-out infinite; }
.scn-envy-seas-hills .hills-near { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius: 40% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: en-hills 7s ease-in-out infinite reverse; }
.scn-envy-seas-hills .sea { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a4e62 0%, #1e2d3e 100%); animation: en-sea 4s ease-in-out infinite alternate; }
.scn-envy-seas-hills .ship { position:absolute; bottom:20%; left:60%; width:40px; height:20px; background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 0 20% 40% 0; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: en-ship 6s ease-in-out infinite; }
.scn-envy-seas-hills .bird { position:absolute; top:25%; left:20%; width:12px; height:10px; background: #1a1a2a; border-radius: 50%; filter: blur(2px); animation: en-bird 3s ease-in-out infinite alternate; }
.scn-envy-seas-hills .figure-watching { position:absolute; bottom:35%; left:25%; width:16px; height:36px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: en-figure 2s ease-in-out infinite; }
@keyframes en-sky { 0% { opacity:.6; filter: brightness(.7) } 50% { opacity:.9; filter: brightness(1) } 100% { opacity:.7; filter: brightness(.8) } }
@keyframes en-hills { 0% { transform: translateX(-2px) scale(1) } 50% { transform: translateX(2px) scale(1.02) } 100% { transform: translateX(-2px) scale(1) } }
@keyframes en-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes en-ship { 0% { transform: translate(0, 0) rotate(-2deg) } 50% { transform: translate(3px, -1px) rotate(2deg) } 100% { transform: translate(0, 0) rotate(-2deg) } }
@keyframes en-bird { 0% { transform: translate(0, 0) } 50% { transform: translate(15px, -8px) rotate(5deg) } 100% { transform: translate(30px, 0) rotate(0) } }
@keyframes en-figure { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) translateX(2px) } 100% { transform: rotate(-3deg) } }

/* solemn-woman-white — calm, dim interior */
.scn-solemn-woman-white { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 50%, #0e0e1e 100%), radial-gradient(ellipse at 50% 0%, #3a3a5e 0%, transparent 80%); }
.scn-solemn-woman-white .dim-wall { position:absolute; inset:0; background: linear-gradient(135deg, #3a3a4e 0%, #1a1a2e 100%); }
.scn-solemn-woman-white .dim-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); }
.scn-solemn-woman-white .figure-white { position:absolute; bottom:18%; left:50%; width:40px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #f0f0f8 0%, #d0d0da 60%, #b0b0c0 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: sw-fig 10s ease-in-out infinite alternate; }
.scn-solemn-woman-white .purple-well { position:absolute; bottom:10%; left:30%; width:60px; height:50px; background: radial-gradient(circle at 40% 40%, #4a2a4e 0%, #1a0a1e 100%); border-radius: 50%; box-shadow: inset 0 4px 10px rgba(0,0,0,.5); animation: sw-well 14s ease-in-out infinite; }
.scn-solemn-woman-white .candle-glow { position:absolute; bottom:25%; left:20%; width:10px; height:10px; background: radial-gradient(circle, #ffe0a0 0%, #c08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 24px 12px rgba(255,224,160,.3); animation: sw-candle 4s ease-in-out infinite alternate; }
.scn-solemn-woman-white .shadow-figure { position:absolute; bottom:18%; right:30%; width:30px; height:60px; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; opacity:.4; animation: sw-shadow 12s ease-in-out infinite; }
@keyframes sw-fig { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) scale(1.01) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes sw-well { 0% { transform: scale(1) rotate(0) } 50% { transform: scale(1.02) rotate(2deg) } 100% { transform: scale(1) rotate(0) } }
@keyframes sw-candle { 0% { opacity:.7; box-shadow: 0 0 16px 6px rgba(255,224,160,.2) } 50% { opacity:1; box-shadow: 0 0 30px 12px rgba(255,224,160,.5) } 100% { opacity:.8; box-shadow: 0 0 20px 8px rgba(255,224,160,.3) } }
@keyframes sw-shadow { 0% { opacity:.3; transform: scaleY(1) } 50% { opacity:.5; transform: scaleY(1.05) } 100% { opacity:.3; transform: scaleY(1) } }

/* springtime-pallid — warm, sunlit */
.scn-springtime-pallid { background: linear-gradient(180deg, #d4e8f0 0%, #b8d8e0 30%, #90c0c8 100%), radial-gradient(ellipse at 70% 20%, #f0e8c0 0%, transparent 60%); }
.scn-springtime-pallid .sunlit-sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #e8f4f8 0%, #d4e8f0 50%, #b8d8e0 100%); }
.scn-springtime-pallid .sun { position:absolute; top:10%; right:20%; width:60px; height:60px; background: radial-gradient(circle, #ffe8b0 0%, #f0c080 30%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(240,192,128,.4); animation: sp-sun 6s ease-in-out infinite; }
.scn-springtime-pallid .pallid-hills { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(180deg, #b8c8b0 0%, #90a888 100%); border-radius: 50% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.15); animation: sp-hills 8s ease-in-out infinite alternate; }
.scn-springtime-pallid .village-houses { position:absolute; bottom:28%; left:10%; width:80px; height:30px; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: sp-village 5s ease-in-out infinite; }
.scn-springtime-pallid .lilac-bush { position:absolute; bottom:25%; right:15%; width:70px; height:40px; background: radial-gradient(circle at 30% 40%, #a080c0 0%, #7060a0 50%, #503080 100%); border-radius: 50%; box-shadow: 0 0 12px 4px rgba(80,48,128,.3); animation: sp-lilac 7s ease-in-out infinite alternate; }
.scn-springtime-pallid .rose-dusty { position:absolute; bottom:22%; left:25%; width:30px; height:30px; background: radial-gradient(circle, #b87878 0%, #a06060 50%, #804848 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(184,120,120,.4); animation: sp-rose 4s ease-in-out infinite alternate; }
.scn-springtime-pallid .bees-swarm { position:absolute; top:40%; left:30%; width:60px; height:40px; background: transparent; }
.scn-springtime-pallid .bees-swarm::before { content:''; position:absolute; top:10px; left:0; width:8px; height:6px; background: #4a3a2a; border-radius:40%; filter:blur(1px); animation: sp-bee 3s ease-in-out infinite; }
.scn-springtime-pallid .bees-swarm::after { content:''; position:absolute; top:20px; left:20px; width:8px; height:6px; background: #4a3a2a; border-radius:40%; filter:blur(1px); animation: sp-bee 3.5s ease-in-out infinite reverse; }
@keyframes sp-sun { 0% { transform: scale(1) rotate(0) } 50% { transform: scale(1.05) rotate(5deg) } 100% { transform: scale(1) rotate(0) } }
@keyframes sp-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes sp-village { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sp-lilac { 0% { transform: rotate(-3deg) scale(1) } 50% { transform: rotate(3deg) scale(1.02) } 100% { transform: rotate(-3deg) scale(1) } }
@keyframes sp-rose { 0% { opacity:.8; box-shadow: 0 0 12px 4px rgba(184,120,120,.3) } 50% { opacity:1; box-shadow: 0 0 24px 8px rgba(184,120,120,.5) } 100% { opacity:.9; box-shadow: 0 0 16px 6px rgba(184,120,120,.35) } }
@keyframes sp-bee { 0% { transform: translateX(0) translateY(0) } 50% { transform: translateX(30px) translateY(-10px) } 100% { transform: translateX(60px) translateY(0) } }

/* slept-beneath-tree — warm, sunlit */
.scn-slept-beneath-tree { background: linear-gradient(180deg, #d4e8d4 0%, #a4c8a4 40%, #6a9a6a 100%), radial-gradient(ellipse at 40% 30%, #e8f0d0 0%, transparent 70%); }
.scn-slept-beneath-tree .sunlit-sky-tree { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #d4e8e0 0%, #b8d0c0 100%); }
.scn-slept-beneath-tree .tree-trunk { position:absolute; bottom:10%; left:45%; width:20px; height:80%; background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 30%, #5a4a3a 100%); border-radius: 20% 20% 0 0; box-shadow: 2px 0 10px rgba(0,0,0,.2); animation: sl-trunk 4s ease-in-out infinite alternate; }
.scn-slept-beneath-tree .canopy { position:absolute; top:5%; left:15%; width:70%; height:45%; background: radial-gradient(ellipse at 50% 100%, #7aaa7a 0%, #4a7a4a 60%, #2a5a2a 100%); border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%; box-shadow: 0 10px 30px rgba(0,0,0,.15); animation: sl-canopy 6s ease-in-out infinite alternate; }
.scn-slept-beneath-tree .dappled-light { position:absolute; top:20%; left:20%; width:100px; height:100px; background: radial-gradient(circle, rgba(255,240,180,.3) 0%, transparent 70%); filter: blur(8px); animation: sl-dapple 8s linear infinite; }
.scn-slept-beneath-tree .figure-sleeping { position:absolute; bottom:8%; left:40%; width:50px; height:20px; background: linear-gradient(180deg, #b87878 0%, #a06060 100%); border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%; transform: rotate(-10deg); box-shadow: 0 2px 8px rgba(0,0,0,.3); animation: sl-fig 5s ease-in-out infinite alternate; }
.scn-slept-beneath-tree .cradle { position:absolute; bottom:5%; left:35%; width:30px; height:14px; background: linear-gradient(180deg, #c0a080 0%, #a08060 100%); border-radius: 40% 40% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: sl-cradle 3s ease-in-out infinite; }
.scn-slept-beneath-tree .grass { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(180deg, #5a8a4a 0%, #3a6a2a 100%); border-radius: 80% 20% 0 0; }
@keyframes sl-trunk { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) translateX(1px) } 100% { transform: scaleY(1) } }
@keyframes sl-canopy { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) scale(1.01) } 100% { transform: translateY(0) } }
@keyframes sl-dapple { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(20px) scale(1.1) } 100% { transform: translateX(0) scale(1) } }
@keyframes sl-fig { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes sl-cradle { 0% { transform: rotate(0) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0) } }

/* cricket-sang - calm dusk field */
.scn-cricket-sang {
  background:
    linear-gradient(180deg, #3a4a5e 0%, #5a6a7e 30%, #7a8a7e 60%, #5a7a5a 85%, #3a5a3a 100%),
    radial-gradient(ellipse at 50% 100%, #8a9a7e 0%, transparent 60%);
  background-blend-mode: normal;
}
.scn-cricket-sang .sky-dusk {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #5a6a8e 0%, #8a9aae 40%, #c0a080 70%, #d0b090 100%);
  opacity: 0.7;
  animation: cs-sky 15s ease-in-out infinite alternate;
}
.scn-cricket-sang .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 58%;
  background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 40%, #1a3a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.3);
  animation: cs-field 20s ease-in-out infinite alternate;
}
.scn-cricket-sang .grass-blade {
  position: absolute; bottom: 30%; left: 35%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #5a8a4a 0%, #3a6a2a 60%, #2a5a1a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: cs-grass 4s ease-in-out infinite;
}
.scn-cricket-sang .cricket {
  position: absolute; bottom: 32%; left: 38%; width: 12px; height: 8px;
  background: radial-gradient(ellipse at 40% 50%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: cs-cricket 6s ease-in-out infinite;
}
.scn-cricket-sang .dew-drop {
  position: absolute; bottom: 36%; left: 42%; width: 6px; height: 6px;
  background: radial-gradient(circle at 30% 30%, #ffffff 0%, #a0b0c0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,255,255,0.4);
  animation: cs-dew 8s ease-in-out infinite;
}
.scn-cricket-sang .twilight-figure {
  position: absolute; bottom: 8%; right: 18%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: cs-figure 12s ease-in-out infinite alternate;
}
.scn-cricket-sang .glow-horizon {
  position: absolute; bottom: 50%; left: 20%; right: 20%; height: 15%;
  background: radial-gradient(ellipse at 50% 50%, rgba(220,180,120,0.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: cs-glow 10s ease-in-out infinite alternate;
}
.scn-cricket-sang .cloud-strand {
  position: absolute; top: 12%; left: 10%; width: 120px; height: 20px;
  background: linear-gradient(90deg, transparent 0%, rgba(200,180,160,0.3) 30%, rgba(200,180,160,0.5) 50%, rgba(200,180,160,0.3) 70%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: cs-cloud 40s linear infinite;
}
@keyframes cs-sky { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes cs-field { 0% { transform: translateY(0); } 50% { transform: translateY(-4px) scale(1.01); } 100% { transform: translateY(0); } }
@keyframes cs-grass { 0% { transform: rotate(-2deg) scaleY(1); } 25% { transform: rotate(1deg) scaleY(0.95); } 50% { transform: rotate(3deg) scaleY(1); } 75% { transform: rotate(0deg) scaleY(1.02); } 100% { transform: rotate(-2deg) scaleY(1); } }
@keyframes cs-cricket { 0% { transform: translate(0, 0) rotate(0deg); } 20% { transform: translate(4px, -2px) rotate(5deg); } 40% { transform: translate(-2px, -1px) rotate(-3deg); } 60% { transform: translate(6px, -3px) rotate(4deg); } 80% { transform: translate(-4px, 0px) rotate(-5deg); } 100% { transform: translate(0, 0) rotate(0deg); } }
@keyframes cs-dew { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes cs-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(-8px) translateY(-3px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(2deg); } }
@keyframes cs-glow { 0% { opacity: 0.3; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.2); } 100% { opacity: 0.4; transform: scaleY(0.9); } }
@keyframes cs-cloud { 0% { transform: translateX(-60px); } 100% { transform: translateX(calc(100vw + 60px)); } }

/* drab-habitation - dark mysterious dwelling */
.scn-drab-habitation {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 30%, #2a2a3e 60%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a5e 0%, transparent 70%);
}
.scn-drab-habitation .abyss {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0a12 0%, #1a1a2a 60%, #0a0a1a 100%);
  opacity: 0.8;
  animation: dh-abyss 20s ease-in-out infinite alternate;
}
.scn-drab-habitation .structure {
  position: absolute; bottom: 20%; left: 28%; right: 28%; height: 50%;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 30%, #3a3a4a 60%, #1a1a2a 100%);
  border-radius: 20% 20% 8% 8% / 30% 30% 5% 5%;
  box-shadow: 0 0 40px 10px rgba(0,0,0,0.8), inset 0 0 60px rgba(0,0,0,0.5);
  animation: dh-struct 15s ease-in-out infinite;
}
.scn-drab-habitation .arch-entry {
  position: absolute; bottom: 20%; left: 42%; right: 42%; height: 35%;
  background: linear-gradient(180deg, #0a0a12 0%, #1a1a2e 50%, #0a0a1a 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 5% 5%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.9);
  animation: dh-arch 12s ease-in-out infinite alternate;
}
.scn-drab-habitation .amber-ship {
  position: absolute; bottom: 50%; left: 30%; width: 50px; height: 20px;
  background: linear-gradient(135deg, #a08040 0%, #806030 30%, #604020 100%);
  border-radius: 30% 70% 40% 60% / 50% 50% 50% 50%;
  transform: rotate(-15deg);
  box-shadow: 0 0 20px 6px rgba(160,128,64,0.5);
  animation: dh-ship 8s ease-in-out infinite;
}
.scn-drab-habitation .sail-glow {
  position: absolute; bottom: 55%; left: 33%; width: 20px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #c0a060 0%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform: rotate(-10deg);
  box-shadow: 0 0 30px 10px rgba(192,160,96,0.3);
  animation: dh-sail 6s ease-in-out infinite alternate;
}
.scn-drab-habitation .worm-creep {
  position: absolute; bottom: 18%; left: 35%; width: 8px; height: 4px;
  background: linear-gradient(90deg, #3a3a2a 0%, #5a4a3a 50%, #3a3a2a 100%);
  border-radius: 50%;
  animation: dh-worm 4s ease-in-out infinite;
}
.scn-drab-habitation .debris-drift {
  position: absolute; bottom: 22%; left: 50%; width: 15px; height: 15px;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 60% 30% 70%;
  animation: dh-debris 9s ease-in-out infinite;
}
.scn-drab-habitation .purple-wreck {
  position: absolute; bottom: 48%; left: 28%; width: 10px; height: 6px;
  background: #5e3a5e;
  border-radius: 20% 80% 50% 50%;
  box-shadow: 0 0 12px 4px rgba(94,58,94,0.5);
  animation: dh-wreck 7s ease-in-out infinite;
}
@keyframes dh-abyss { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes dh-struct { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(0.98); } 100% { transform: translateY(2px) scale(1.01); } }
@keyframes dh-arch { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1.02); } }
@keyframes dh-ship { 0% { transform: translate(0, 0) rotate(-15deg); } 25% { transform: translate(8px, -2px) rotate(-12deg); } 50% { transform: translate(16px, 1px) rotate(-18deg); } 75% { transform: translate(24px, -1px) rotate(-14deg); } 100% { transform: translate(32px, 0) rotate(-15deg); } }
@keyframes dh-sail { 0% { opacity: 0.4; transform: scale(0.8) rotate(-10deg); } 50% { opacity: 0.9; transform: scale(1.1) rotate(-8deg); } 100% { opacity: 0.5; transform: scale(0.85) rotate(-12deg); } }
@keyframes dh-worm { 0% { transform: translateX(0) scaleX(1); } 25% { transform: translateX(10px) scaleX(0.8); } 50% { transform: translateX(20px) scaleX(1.2); } 75% { transform: translateX(30px) scaleX(0.9); } 100% { transform: translateX(40px) scaleX(1); } }
@keyframes dh-debris { 0% { transform: translate(0, 0) rotate(0deg); } 33% { transform: translate(12px, -8px) rotate(120deg); } 66% { transform: translate(24px, 4px) rotate(240deg); } 100% { transform: translate(36px, 0) rotate(360deg); } }
@keyframes dh-wreck { 0% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 0.8; transform: scale(1.2); box-shadow: 0 0 20px 8px rgba(94,58,94,0.7); } 100% { opacity: 0.4; transform: scale(0.9); } }

/* bronze-blaze-north - warm northern blaze */
.scn-bronze-blaze-north {
  background:
    linear-gradient(180deg, #a07030 0%, #c09050 20%, #d0a060 40%, #b08040 60%, #8a6030 100%),
    radial-gradient(ellipse at 50% 50%, #e0b070 0%, #a08040 50%, transparent 80%);
}
.scn-bronze-blaze-north .sky-bronze {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #d0a060 0%, #e0b070 30%, #f0c080 50%, #d0a060 70%, #a07030 100%);
  opacity: 0.6;
  animation: bbn-sky 12s ease-in-out infinite alternate;
}
.scn-bronze-blaze-north .horizon-line {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #f0d090 30%, #f0d090 70%, transparent 100%);
  box-shadow: 0 0 20px 8px rgba(240,208,144,0.5);
  animation: bbn-line 8s ease-in-out infinite;
}
.scn-bronze-blaze-north .blaze-core {
  position: absolute; top: 10%; left: 30%; right: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, #f0d090 0%, #e0b060 30%, #c09040 60%, transparent 100%);
  filter: blur(8px);
  animation: bbn-blaze 6s ease-in-out infinite alternate;
}
.scn-bronze-blaze-north .figure-stem {
  position: absolute; bottom: 8%; left: 46%; right: 46%; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 50%, #0a0500 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
  animation: bbn-figure 10s ease-in-out infinite alternate;
}
.scn-bronze-blaze-north .crown-glow {
  position: absolute; top: 5%; left: 38%; right: 38%; height: 15%;
  background: radial-gradient(ellipse at 50% 50%, rgba(240,200,120,0.6) 0%, transparent 100%);
  filter: blur(6px);
  animation: bbn-crown 5s ease-in-out infinite alternate;
}
.scn-bronze-blaze-north .ember-particles {
  position: absolute; top: 20%; left: 20%; width: 120px; height: 200px;
  background: radial-gradient(circle at 30% 40%, #f0c060 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, #f0a040 0%, transparent 40%),
              radial-gradient(circle at 50% 30%, #f0d080 0%, transparent 60%);
  filter: blur(3px);
  opacity: 0.7;
  animation: bbn-ember 4s ease-in-out infinite;
}
.scn-bronze-blaze-north .shadow-stripe {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, transparent 0%, rgba(10,5,0,0.4) 50%, rgba(10,5,0,0.7) 100%);
  animation: bbn-shadow 14s ease-in-out infinite;
}
@keyframes bbn-sky { 0% { opacity: 0.5; transform: scaleY(1); } 50% { opacity: 0.9; transform: scaleY(1.05); } 100% { opacity: 0.6; transform: scaleY(0.95); } }
@keyframes bbn-line { 0% { opacity: 0.6; } 50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(240,208,144,0.7); } 100% { opacity: 0.7; } }
@keyframes bbn-blaze { 0% { transform: scale(0.9) translateY(0); } 50% { transform: scale(1.1) translateY(-8px); } 100% { transform: scale(0.95) translateY(4px); } }
@keyframes bbn-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 33% { transform: translateX(6px) translateY(-2px) rotate(2deg); } 66% { transform: translateX(-4px) translateY(1px) rotate(-3deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes bbn-crown { 0% { opacity: 0.4; transform: scale(0.8); } 50% { opacity: 0.9; transform: scale(1.15); } 100% { opacity: 0.5; transform: scale(0.85); } }
@keyframes bbn-ember { 0% { transform: translate(0, 0) scale(1); } 25% { transform: translate(10px, -8px) scale(1.1); } 50% { transform: translate(-8px, -16px) scale(0.9); } 75% { transform: translate(6px, -24px) scale(1.05); } 100% { transform: translate(0, -32px) scale(1); opacity: 0; } }
@keyframes bbn-shadow { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.5; } }

/* mountains-drip-sunset - warm sunset mountains */
.scn-mountains-drip-sunset {
  background:
    linear-gradient(180deg, #c07040 0%, #d09050 20%, #e0a060 40%, #c08050 60%, #a06040 100%),
    radial-gradient(ellipse at 50% 30%, #f0b080 0%, #c08050 50%, transparent 80%);
}
.scn-mountains-drip-sunset .sky-sunset {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d08050 0%, #e0a060 30%, #f0c080 50%, #d0a060 70%, #b07040 100%);
  opacity: 0.7;
  animation: mds-sky 14s ease-in-out infinite alternate;
}
.scn-mountains-drip-sunset .mountain-range {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 35%;
  background: linear-gradient(135deg, #5a3a2a 0%, #7a4a3a 30%, #4a2a1a 60%, #6a3a2a 100%);
  border-radius: 70% 30% 0 0 / 50% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
  animation: mds-mountbg 20s ease-in-out infinite;
}
.scn-mountains-drip-sunset .mountain-close {
  position: absolute; bottom: 10%; left: 15%; right: 25%; height: 40%;
  background: linear-gradient(135deg, #4a2a1a 0%, #6a3a2a 30%, #3a1a0a 60%, #5a2a1a 100%);
  border-radius: 40% 60% 0 0 / 60% 40% 0 0;
  box-shadow: inset 0 10px 40px rgba(0,0,0,0.5);
  animation: mds-mountfg 16s ease-in-out infinite alternate;
}
.scn-mountains-drip-sunset .hemlock-tree {
  position: absolute; bottom: 15%; left: 20%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a5a2a 0%, #2a4a1a 50%, #1a3a0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  clip-path: polygon(50% 0%, 0% 60%, 20% 60%, 0% 100%, 100% 100%, 80% 60%, 100% 60%);
  transform-origin: bottom center;
  animation: mds-hemlock 5s ease-in-out infinite;
}
.scn-mountains-drip-sunset .steeple {
  position: absolute; bottom: 25%; left: 55%; width: 16px; height: 60px;
  background: linear-gradient(180deg, #8a6040 0%, #6a4020 50%, #4a2a10 100%);
  clip-path: polygon(50% 0%, 30% 40%, 35% 100%, 65% 100%, 70% 40%);
  box-shadow: 0 0 20px 6px rgba(200,120,60,0.3);
  animation: mds-steeple 8s ease-in-out infinite alternate;
}
.scn-mountains-drip-sunset .fire-billow {
  position: absolute; bottom: 5%; left: 10%; right: 10%; height: 20%;
  background: radial-gradient(ellipse at 30% 50%, #e08040 0%, #c06030 30%, #a05020 60%, transparent 100%),
              radial-gradient(ellipse at 70% 50%, #d07040 0%, #b05030 30%, #904020 60%, transparent 100%);
  filter: blur(4px);
  opacity: 0.6;
  animation: mds-billow 7s ease-in-out infinite alternate;
}
.scn-mountains-drip-sunset .tinsel-spark {
  position: absolute; top: 10%; left: 30%; width: 40px; height: 40px;
  background: radial-gradient(circle at 50% 50%, rgba(240,200,120,0.8) 0%, transparent 100%);
  filter: blur(2px);
  animation: mds-spark 3s ease-in-out infinite;
}
.scn-mountains-drip-sunset .drip-line {
  position: absolute; top: 0; left: 45%; width: 2px; height: 25%;
  background: linear-gradient(180deg, #f0c080 0%, #e0a060 40%, #c08040 70%, transparent 100%);
  border-radius: 0 0 50% 50%;
  animation: mds-drip 4s ease-in-out infinite;
}
@keyframes mds-sky { 0% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 0.9; transform: scaleY(1.03); } 100% { opacity: 0.7; transform: scaleY(0.97); } }
@keyframes mds-mountbg { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(2px); } }
@keyframes mds-mountfg { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(0.98); } 100% { transform: translateY(2px) scaleX(1.01); } }
@keyframes mds-hemlock { 0% { transform: rotate(-1deg) scaleY(1); } 25% { transform: rotate(1deg) scaleY(0.97); } 50% { transform: rotate(3deg) scaleY(1); } 75% { transform: rotate(-1deg) scaleY(1.02); } 100% { transform: rotate(-2deg) scaleY(1); } }
@keyframes mds-steeple { 0% { transform: translateX(0); } 50% { transform: translateX(4px); box-shadow: 0 0 30px 10px rgba(200,120,60,0.5); } 100% { transform: translateX(-2px); } }
@keyframes mds-billow { 0% { opacity: 0.4; transform: scaleX(0.9) translateY(0); } 50% { opacity: 0.8; transform: scaleX(1.05) translateY(-4px); } 100% { opacity: 0.5; transform: scaleX(0.95) translateY(2px); } }
@keyframes mds-spark { 0% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.4; transform: scale(0.9); } }
@keyframes mds-drip { 0% { transform: translateY(0) scaleY(1); opacity: 0.6; } 50% { transform: translateY(30px) scaleY(1.5); opacity: 0.3; } 100% { transform: translateY(0) scaleY(1); opacity: 0.6; } }

.scn-daily-bliss-pursued {
  background: 
    linear-gradient(180deg, #fce4b3 0%, #f8d69e 40%, #f0c28a 100%),
    radial-gradient(ellipse at 70% 30%, #ffe8b0 0%, transparent 60%);
}
.scn-daily-bliss-pursued .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #fbe9c3 0%, #f8d69e 40%, #fce4b3 100%);
  animation: dbp-sky 20s ease-in-out infinite;
}
.scn-daily-bliss-pursued .sun {
  position: absolute; top: 12%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff9e0 0%, #ffd27f 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #ffb347, 0 0 120px 40px #ffb34740;
  animation: dbp-sun 8s ease-in-out infinite alternate;
}
.scn-daily-bliss-pursued .hills {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a8c68e 0%, #7da65a 50%, #5c8a3c 100%);
  border-radius: 60% 40% 0 0 / 70% 60% 0 0;
  box-shadow: inset 0 10px 20px #4a6e2e40;
  animation: dbp-hills 12s ease-in-out infinite alternate;
}
.scn-daily-bliss-pursued .crag {
  position: absolute; bottom: 38%; left: 55%; width: 80px; height: 60px;
  background: linear-gradient(135deg, #b8a387 0%, #8c7658 60%, #67523d 100%);
  border-radius: 40% 60% 10% 10% / 50% 80% 20% 20%;
  transform: rotate(-5deg);
  box-shadow: 0 4px 8px #4d3b2a60;
  animation: dbp-crag 15s ease-in-out infinite;
}
.scn-daily-bliss-pursued .figure {
  position: absolute; bottom: 38%; left: 30%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #3d2b1f 0%, #2a1f17 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dbp-walk 4s ease-in-out infinite;
}
.scn-daily-bliss-pursued .orb {
  position: absolute; bottom: 50%; left: 25%; width: 16px; height: 16px;
  background: radial-gradient(circle, #ffe666 0%, #ffb347 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #ffb347, 0 0 40px 16px #ffb34760;
  animation: dbp-orb 10s ease-in-out infinite;
}
.scn-daily-bliss-pursued .grass {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #5c8a3c 0%, #3a6e1e 100%);
  clip-path: polygon(0 100%, 2% 20%, 5% 100%, 8% 30%, 12% 100%, 15% 10%, 18% 100%, 21% 40%, 25% 100%, 28% 25%, 32% 100%, 35% 50%, 40% 100%, 44% 20%, 48% 100%, 52% 30%, 56% 100%, 60% 15%, 64% 100%, 68% 45%, 72% 100%, 76% 25%, 80% 100%, 84% 35%, 88% 100%, 92% 10%, 96% 100%, 100% 20%);
  animation: dbp-grass 5s ease-in-out infinite alternate;
}
@keyframes dbp-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dbp-sun { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 60px 20px #ffb347, 0 0 120px 40px #ffb34740; } 100% { transform: translateY(-8px) scale(1.03); box-shadow: 0 0 80px 30px #ffb347, 0 0 160px 60px #ffb34760; } }
@keyframes dbp-hills { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes dbp-crag { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-6deg) translateX(2px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes dbp-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(10px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(20px) translateY(0) rotate(-1deg); } 75% { transform: translateX(30px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(40px) translateY(0) rotate(0deg); } }
@keyframes dbp-orb { 0% { transform: translate(0, 0) scale(0.8); opacity: 0.7; } 30% { transform: translate(30px, -30px) scale(1.2); opacity: 1; } 60% { transform: translate(70px, -50px) scale(0.9); opacity: 0.8; } 100% { transform: translate(120px, -80px) scale(1.1); opacity: 0.6; } }
@keyframes dbp-grass { 0% { transform: skewX(0deg); } 100% { transform: skewX(3deg); } }

/* --- chaff-wheat --- */
.scn-chaff-wheat {
  background: 
    linear-gradient(180deg, #a0a09c 0%, #7a7a76 30%, #5e5e5a 60%, #4a4a46 100%),
    radial-gradient(ellipse at 50% 30%, #b0b0aa 0%, transparent 70%);
}
.scn-chaff-wheat .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #6a6a66 0%, #4a4a46 100%);
  animation: cw-sky 15s ease-in-out infinite alternate;
}
.scn-chaff-wheat .field-chaff {
  position: absolute; bottom: 20%; left: 0; width: 50%; height: 60%;
  background: linear-gradient(180deg, #b8a271 0%, #8c7350 100%);
  border-radius: 0 20% 0 0;
  animation: cw-sway 6s ease-in-out infinite;
}
.scn-chaff-wheat .field-wheat {
  position: absolute; bottom: 20%; right: 0; width: 50%; height: 60%;
  background: linear-gradient(180deg, #d4b87a 0%, #a8884a 100%);
  border-radius: 20% 0 0 0;
  animation: cw-sway 6s ease-in-out infinite reverse;
}
.scn-chaff-wheat .figure {
  position: absolute; bottom: 30%; left: 45%; width: 16px; height: 38px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1510 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cw-figure 8s ease-in-out infinite;
}
.scn-chaff-wheat .scythe {
  position: absolute; bottom: 38%; left: 42%; width: 30px; height: 6px;
  background: linear-gradient(90deg, #5a4a3a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 30% 30% / 50% 50% 50% 50%;
  transform: rotate(-20deg);
  transform-origin: right center;
  animation: cw-scythe 8s ease-in-out infinite;
}
.scn-chaff-wheat .dead-stalk {
  position: absolute; bottom: 20%; left: 60%; width: 4px; height: 40px;
  background: #6a5a3a;
  border-radius: 20% 20% 0 0;
  transform: rotate(15deg);
  animation: cw-stalk 4s ease-in-out infinite alternate;
}
.scn-chaff-wheat .wind-line {
  position: absolute; top: 25%; left: 0; width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(180,180,170,0.3) 30%, rgba(200,200,190,0.5) 60%, transparent 100%);
  filter: blur(1px);
  animation: cw-wind 12s linear infinite;
}
@keyframes cw-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes cw-sway { 0% { transform: skewX(0deg); } 25% { transform: skewX(-3deg); } 75% { transform: skewX(3deg); } 100% { transform: skewX(0deg); } }
@keyframes cw-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cw-scythe { 0% { transform: rotate(-20deg); } 50% { transform: rotate(-30deg); } 100% { transform: rotate(-20deg); } }
@keyframes cw-stalk { 0% { transform: rotate(15deg) scaleY(1); } 100% { transform: rotate(10deg) scaleY(1.1); } }
@keyframes cw-wind { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* --- swiss-alps --- */
.scn-swiss-alps {
  background: 
    linear-gradient(180deg, #4a5b6e 0%, #3a4b5e 30%, #2a3b4e 60%, #1a2b3e 100%),
    radial-gradient(ellipse at 50% 100%, #5a6b7e 0%, transparent 70%);
}
.scn-swiss-alps .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #5a6b7e 0%, #3a4b5e 100%);
  animation: sa-sky 18s ease-in-out infinite alternate;
}
.scn-swiss-alps .mountains-far {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #6b7e8a 0%, #4a5b6e 100%);
  border-radius: 60% 50% 0 0 / 80% 70% 0 0;
  filter: blur(3px);
  animation: sa-mtn-far 20s ease-in-out infinite alternate;
}
.scn-swiss-alps .mountains-mid {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 50%;
  background: linear-gradient(180deg, #5a6b7e 0%, #3a4b5e 100%);
  border-radius: 50% 60% 0 0 / 70% 80% 0 0;
  filter: blur(1px);
  animation: sa-mtn-mid 15s ease-in-out infinite alternate;
}
.scn-swiss-alps .mountains-near {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #4a5b6e 0%, #2a3b4e 100%);
  border-radius: 40% 50% 0 0 / 60% 70% 0 0;
  animation: sa-mtn-near 12s ease-in-out infinite alternate;
}
.scn-swiss-alps .curtain-left {
  position: absolute; top: 5%; left: 0; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(100,120,130,0.6) 0%, rgba(80,100,110,0.4) 50%, transparent 100%);
  border-radius: 0 50% 50% 0;
  filter: blur(8px);
  animation: sa-curtain-l 30s ease-in-out infinite alternate;
}
.scn-swiss-alps .curtain-right {
  position: absolute; top: 5%; right: 0; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(100,120,130,0.6) 0%, rgba(80,100,110,0.4) 50%, transparent 100%);
  border-radius: 50% 0 0 50%;
  filter: blur(8px);
  animation: sa-curtain-r 30s ease-in-out infinite alternate;
}
.scn-swiss-alps .distant-light {
  position: absolute; bottom: 35%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffe0a0 0%, #d4b070 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #d4b070, 0 0 60px 20px #d4b07040;
  animation: sa-light 8s ease-in-out infinite alternate;
}
.scn-swiss-alps .figure {
  position: absolute; bottom: 25%; left: 45%; width: 12px; height: 28px;
  background: linear-gradient(180deg, #2a3b4e 0%, #1a2b3e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sa-figure 6s ease-in-out infinite;
}
@keyframes sa-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes sa-mtn-far { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes sa-mtn-mid { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-6px) scale(1.03); } 100% { transform: translateY(0) scale(1); } }
@keyframes sa-mtn-near { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes sa-curtain-l { 0% { transform: translateX(0) scaleX(1); } 100% { transform: translateX(-10px) scaleX(1.05); } }
@keyframes sa-curtain-r { 0% { transform: translateX(0) scaleX(1); } 100% { transform: translateX(10px) scaleX(1.05); } }
@keyframes sa-light { 0% { opacity: 0.6; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1.2); } }
@keyframes sa-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* --- remembrance-house --- */
.scn-remembrance-house {
  background: 
    linear-gradient(180deg, #2a1e14 0%, #1f150e 30%, #140f0a 60%, #0d0a07 100%),
    radial-gradient(ellipse at 60% 40%, #3d2b1a 0%, transparent 70%);
}
.scn-remembrance-house .wall-back {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #2a1e14 0%, #3d2b1a 50%, #2a1e14 100%);
  animation: rh-wall 20s ease-in-out infinite alternate;
}
.scn-remembrance-house .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3d2b1a 0%, #1f150e 100%);
  box-shadow: inset 0 8px 12px #0d0a0740;
}
.scn-remembrance-house .window {
  position: absolute; top: 10%; left: 35%; width: 80px; height: 100px;
  background: radial-gradient(ellipse at 50% 30%, #ffe0a0 0%, #d4a060 60%, #8a5a2a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 30px 10px #d4a060, 0 0 60px 20px #d4a06040;
  animation: rh-window 8s ease-in-out infinite alternate;
}
.scn-remembrance-house .garret {
  position: absolute; top: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #1f150e 0%, #140f0a 100%);
  border-bottom: 2px solid #3d2b1a;
  animation: rh-garret 12s ease-in-out infinite alternate;
}
.scn-remembrance-house .cellar {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #0d0a07 0%, #050302 100%);
  border-radius: 0 0 10% 10%;
  box-shadow: inset 0 8px 20px #00000030;
  animation: rh-cellar 15s ease-in-out infinite;
}
.scn-remembrance-house .mouse {
  position: absolute; bottom: 18%; left: 10%; width: 18px; height: 10px;
  background: radial-gradient(ellipse at 40% 50%, #5a4a3a 0%, #3d2b1a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: rh-mouse 5s ease-in-out infinite;
}
.scn-remembrance-house .stair {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3d2b1a 100%);
  border-radius: 4px;
  box-shadow: -2px 0 4px #0d0a07;
  animation: rh-stair 10s ease-in-out infinite alternate;
}
.scn-remembrance-house .dust-mote {
  position: absolute; top: 30%; left: 50%; width: 4px; height: 4px;
  background: rgba(200,180,160,0.4);
  border-radius: 50%;
  filter: blur(1px);
  animation: rh-dust 6s linear infinite;
}
@keyframes rh-wall { 0% { opacity: 0.9; } 100% { opacity: 1; } }
@keyframes rh-window { 0% { box-shadow: 0 0 30px 10px #d4a060, 0 0 60px 20px #d4a06040; } 100% { box-shadow: 0 0 40px 15px #ffe0a0, 0 0 80px 30px #ffe0a060; } }
@keyframes rh-garret { 0% { opacity: 0.7; } 100% { opacity: 1; } }
@keyframes rh-cellar { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes rh-mouse { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(20px) translateY(-2px); } 50% { transform: translateX(40px) translateY(0); } 75% { transform: translateX(60px) translateY(-1px); } 100% { transform: translateX(80px) translateY(0); } }
@keyframes rh-stair { 0% { transform: rotate(0deg); } 100% { transform: rotate(2deg); } }
@keyframes rh-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.6; } 25% { transform: translate(10px, -20px) scale(1.5); opacity: 0.2; } 50% { transform: translate(-5px, -40px) scale(0.8); opacity: 0.8; } 75% { transform: translate(15px, -60px) scale(1.2); opacity: 0.3; } 100% { transform: translate(0, -80px) scale(1); opacity: 0.5; } }

/* item-jesuit-orchards — sunlit orchard */
.scn-item-jesuit-orchards {
  background: linear-gradient(180deg, #ffe8b0 0%, #c8d8f0 50%, #a0c4e8 100%),
              radial-gradient(ellipse at 70% 20%, #ffe080 0%, transparent 60%);
}
.scn-item-jesuit-orchards .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #fff0d0 0%, transparent 100%); animation: ijo-sky 15s ease-in-out infinite alternate; }
.scn-item-jesuit-orchards .sun { position:absolute; top:12%; left:75%; width:60px; height:60px; border-radius:50%; background: radial-gradient(circle, #fff5d0 0%, #ffe080 40%, transparent 70%); box-shadow: 0 0 80px 40px rgba(255,224,128,0.6); animation: ijo-sun 8s ease-in-out infinite alternate; }
.scn-item-jesuit-orchards .tree-left { position:absolute; bottom:30%; left:15%; width:90px; height:140px; background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20% / 60% 60% 20% 20%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3); animation: ijo-tree-sway 10s ease-in-out infinite; }
.scn-item-jesuit-orchards .tree-left::before { content:''; position:absolute; top:-40px; left:-20px; width:130px; height:100px; background: radial-gradient(ellipse at 50% 30%, #6aa84f 0%, #3d6b2e 100%); border-radius:50%; filter: blur(3px); }
.scn-item-jesuit-orchards .tree-right { position:absolute; bottom:28%; right:12%; width:70px; height:120px; background: linear-gradient(180deg, #5a4a1a 0%, #3a2a0a 100%); border-radius: 20% 20% 15% 15% / 50% 50% 15% 15%; box-shadow: inset 0 -8px 15px rgba(0,0,0,0.3); animation: ijo-tree-sway 12s ease-in-out infinite reverse; }
.scn-item-jesuit-orchards .tree-right::before { content:''; position:absolute; top:-30px; left:-10px; width:90px; height:80px; background: radial-gradient(ellipse at 50% 30%, #5a9e3f 0%, #2d5a1e 100%); border-radius:50%; filter: blur(2px); }
.scn-item-jesuit-orchards .apple-fall { position:absolute; bottom:50%; left:25%; width:14px; height:16px; background: radial-gradient(circle at 30% 30%, #e8b830 0%, #b8781a 100%); border-radius:50%; box-shadow: inset -2px -2px 4px rgba(0,0,0,0.3); animation: ijo-apple 6s ease-in-out infinite; }
.scn-item-jesuit-orchards .figure { position:absolute; bottom:22%; left:50%; width:30px; height:70px; margin-left:-15px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a00 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ijo-figure 8s ease-in-out infinite; }
.scn-item-jesuit-orchards .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a7a3a 0%, #3a5a2a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.2); }
.scn-item-jesuit-orchards .blossom { position:absolute; bottom:55%; left:55%; width:8px; height:8px; background: radial-gradient(circle, #f0c8a0 0%, #d09060 100%); border-radius:50%; filter: blur(1px); animation: ijo-blossom 25s linear infinite; }
@keyframes ijo-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ijo-sun { 0% { transform: scale(1); box-shadow: 0 0 80px 40px rgba(255,224,128,0.6); } 50% { transform: scale(1.1); box-shadow: 0 0 100px 50px rgba(255,224,128,0.8); } 100% { transform: scale(0.95); box-shadow: 0 0 60px 30px rgba(255,224,128,0.5); } }
@keyframes ijo-tree-sway { 0% { transform: rotate(-1deg) translateX(0); } 50% { transform: rotate(1.5deg) translateX(3px); } 100% { transform: rotate(-1deg) translateX(0); } }
@keyframes ijo-apple { 0% { transform: translateY(0) rotate(0deg); opacity:1; } 60% { transform: translateY(120px) rotate(180deg); opacity:0.8; } 100% { transform: translateY(0) rotate(360deg); opacity:1; } }
@keyframes ijo-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(5px) translateY(-1px) rotate(2deg); } 75% { transform: translateX(-5px) translateY(-1px) rotate(-2deg); } }
@keyframes ijo-blossom { 0% { transform: translateY(0) translateX(0); opacity:0.6; } 50% { transform: translateY(-30px) translateX(20px); opacity:0.3; } 100% { transform: translateY(-60px) translateX(40px); opacity:0; } }

/* dreaded-first-robin — tense overcast */
.scn-dreaded-first-robin {
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 40%, #3a4a5a 100%),
              radial-gradient(ellipse at 20% 30%, #8a9aaa 0%, transparent 70%);
}
.scn-dreaded-first-robin .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #5a6a7a 0%, transparent 100%); animation: dfr-sky 14s ease-in-out infinite alternate; }
.scn-dreaded-first-robin .cloud-dark { position:absolute; top:10%; left:0; width:200px; height:30px; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 100%); border-radius:40%; filter: blur(8px); animation: dfr-cloud-dark 40s linear infinite; }
.scn-dreaded-first-robin .cloud-light { position:absolute; top:20%; right:0; width:150px; height:20px; background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%); border-radius:40%; filter: blur(6px); animation: dfr-cloud-light 50s linear infinite reverse; }
.scn-dreaded-first-robin .branch { position:absolute; bottom:40%; left:30%; width:80px; height:6px; background: linear-gradient(90deg, #2a2a1a 0%, #1a1a0a 100%); border-radius:3px; transform-origin: left center; animation: dfr-branch 3s ease-in-out infinite; }
.scn-dreaded-first-robin .robin { position:absolute; bottom:46%; left:35%; width:20px; height:16px; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: dfr-robin 2s ease-in-out infinite; }
.scn-dreaded-first-robin .robin::after { content:''; position:absolute; left:4px; bottom:2px; width:8px; height:5px; background: #b8503a; border-radius:50%; } /* terracotta breast */
.scn-dreaded-first-robin .figure-cower { position:absolute; bottom:26%; left:55%; width:28px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: dfr-cower 4s ease-in-out infinite; }
.scn-dreaded-first-robin .shadow-tree { position:absolute; bottom:30%; left:60%; width:40px; height:80px; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%; opacity:0.7; animation: dfr-shadow 6s ease-in-out infinite alternate; }
@keyframes dfr-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes dfr-cloud-dark { 0% { transform: translateX(-100px); } 100% { transform: translateX(120vw); } }
@keyframes dfr-cloud-light { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }
@keyframes dfr-branch { 0%,100% { transform: rotate(0deg) scaleX(1); } 30% { transform: rotate(3deg) scaleX(1.02); } 70% { transform: rotate(-2deg) scaleX(0.98); } }
@keyframes dfr-robin { 0%,100% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-4px) rotate(5deg); } 80% { transform: translateY(2px) rotate(-3deg); } }
@keyframes dfr-cower { 0%,100% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(-3px) scaleY(0.95) rotate(-5deg); } 50% { transform: translateX(0) scaleY(1.02) rotate(0deg); } 75% { transform: translateX(3px) scaleY(0.95) rotate(5deg); } }
@keyframes dfr-shadow { 0% { opacity:0.5; transform: scaleY(1); } 50% { opacity:0.8; transform: scaleY(1.05); } 100% { opacity:0.5; transform: scaleY(0.95); } }

/* queen-of-calvary — dark overcast */
.scn-queen-of-calvary {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 30%, #1a1a3e 70%, #0a0a1a 100%),
              radial-gradient(ellipse at 30% 60%, #2a2a4a 0%, transparent 60%);
}
.scn-queen-of-calvary .sky-somber { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a2a4a 0%, transparent 100%); animation: qoc-sky 20s ease-in-out infinite alternate; }
.scn-queen-of-calvary .hill-back { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 30% 70% 0 0 / 60% 80% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: qoc-hill 25s ease-in-out infinite alternate; }
.scn-queen-of-calvary .cross { position:absolute; bottom:30%; left:50%; width:8px; height:70px; margin-left:-4px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; }
.scn-queen-of-calvary .cross::after { content:''; position:absolute; top:18px; left:-20px; width:48px; height:6px; background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; }
.scn-queen-of-calvary .queen-figure { position:absolute; bottom:22%; left:44%; width:24px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: qoc-queen 6s ease-in-out infinite; }
.scn-queen-of-calvary .queen-crown { position:absolute; bottom:55%; left:44%; width:20px; height:10px; margin-left:-10px; background: linear-gradient(180deg, #b08040 0%, #705020 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; clip-path: polygon(0% 100%, 15% 0%, 30% 40%, 50% 0%, 70% 40%, 85% 0%, 100% 100%); animation: qoc-crown 6s ease-in-out infinite; }
.scn-queen-of-calvary .flower-group { position:absolute; bottom:25%; left:30%; width:30px; height:30px; background: radial-gradient(ellipse at 30% 30%, #b08060 0%, #705040 100%); border-radius:50%; filter: blur(2px); animation: qoc-flowers 12s ease-in-out infinite; }
.scn-queen-of-calvary .drum { position:absolute; bottom:28%; right:20%; width:30px; height:20px; background: radial-gradient(ellipse at 50% 50%, #4a3a3a 0%, #2a1a1a 100%); border-radius:40%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6); animation: qoc-drum 4s ease-in-out infinite; }
.scn-queen-of-calvary .tear-drop { position:absolute; bottom:40%; left:38%; width:4px; height:6px; background: radial-gradient(circle, #8090a0 0%, #506070 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; animation: qoc-tear 5s ease-in-out infinite; }
@keyframes qoc-sky { 0% { opacity:0.8 } 50% { opacity:0.95 } 100% { opacity:0.7 } }
@keyframes qoc-hill { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(0.98); } }
@keyframes qoc-queen { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(3deg); } 70% { transform: translateY(-1px) rotate(-2deg); } }
@keyframes qoc-crown { 0%,100% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-5deg) scaleY(1.05); } }
@keyframes qoc-flowers { 0% { opacity:0.4; transform: scale(1); } 50% { opacity:0.7; transform: scale(1.1); } 100% { opacity:0.4; transform: scale(0.9); } }
@keyframes qoc-drum { 0%,100% { transform: scaleY(1) translateY(0); } 25% { transform: scaleY(0.9) translateY(2px); } 75% { transform: scaleY(1.1) translateY(-2px); } }
@keyframes qoc-tear { 0% { transform: translateY(0) rotate(0deg); opacity:0.7; } 50% { transform: translateY(15px) rotate(10deg); opacity:0.3; } 100% { transform: translateY(0) rotate(0deg); opacity:0.7; } }

/* skies-cant-keep-secret — calm overcast */
.scn-skies-cant-keep-secret {
  background: linear-gradient(180deg, #b0c0d0 0%, #90a0b8 40%, #7088a0 100%),
              radial-gradient(ellipse at 50% 10%, #d0d8e8 0%, transparent 70%);
}
.scn-skies-cant-keep-secret .sky-mist { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c0d0e0 0%, transparent 100%); animation: skc-sky 18s ease-in-out infinite alternate; }
.scn-skies-cant-keep-secret .cloud-high { position:absolute; top:8%; left:10%; width:120px; height:15px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(200,210,230,0.2) 100%); border-radius:50%; filter: blur(5px); animation: skc-cloud-high 45s linear infinite; }
.scn-skies-cant-keep-secret .cloud-low { position:absolute; top:18%; right:15%; width:90px; height:12px; background: linear-gradient(180deg, rgba(220,230,245,0.5) 0%, rgba(180,200,220,0.1) 100%); border-radius:50%; filter: blur(4px); animation: skc-cloud-low 55s linear infinite reverse; }
.scn-skies-cant-keep-secret .branch-secret { position:absolute; bottom:35%; left:25%; width:70px; height:5px; background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; transform-origin: left center; animation: skc-branch 8s ease-in-out infinite; }
.scn-skies-cant-keep-secret .bird-secret { position:absolute; bottom:48%; left:40%; width:18px; height:12px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: skc-bird 6s ease-in-out infinite; }
.scn-skies-cant-keep-secret .bird-secret::after { content:''; position:absolute; right:2px; top:2px; width:6px; height:4px; background: #b87860; border-radius:50%; } /* dusty rose cheek */
.scn-skies-cant-keep-secret .note-floating { position:absolute; bottom:40%; left:50%; width:12px; height:16px; background: linear-gradient(180deg, #e8d8c0 0%, #c8b8a0 100%); border-radius:2px; transform-origin: center; animation: skc-note 15s ease-in-out infinite; }
.scn-skies-cant-keep-secret .ground-soft { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a6a5a 0%, #4a5a4a 100%); border-radius: 15% 15% 0 0 / 30% 30% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,0.1); }
@keyframes skc-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes skc-cloud-high { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }
@keyframes skc-cloud-low { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }
@keyframes skc-branch { 0%,100% { transform: rotate(0deg); } 30% { transform: rotate(2deg); } 70% { transform: rotate(-1.5deg); } }
@keyframes skc-bird { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(5deg); } 70% { transform: translateY(1px) rotate(-3deg); } }
@keyframes skc-note { 0% { transform: translateY(0) rotate(0deg) scale(1); opacity:0.9; } 50% { transform: translateY(-25px) rotate(15deg) scale(1.05); opacity:0.6; } 100% { transform: translateY(0) rotate(0deg) scale(1); opacity:0.9; } }

.scn-new-feet-in-garden {
  background: linear-gradient(180deg, #8fc9e0 0%, #b8dff0 40%, #f0e8c0 100%), radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 60%);
}
.scn-new-feet-in-garden .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #6db3c8 0%, transparent 100%);
  animation: ng-sky 14s ease-in-out infinite alternate;
}
.scn-new-feet-in-garden .sun {
  position: absolute; top: 10%; left: 70%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff5c0 0%, #ffe87c 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,232,124,0.5);
  animation: ng-sun 6s ease-in-out infinite alternate;
}
.scn-new-feet-in-garden .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #7cb342 0%, #4a7c2e 40%, #2d5a1a 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: ng-grass 20s ease-in-out infinite;
}
.scn-new-feet-in-garden .tree {
  position: absolute; bottom: 40%; left: 25%; width: 24px; height: 120px;
  background: linear-gradient(90deg, #5d4037 0%, #4e342e 50%, #3e2723 100%);
  border-radius: 6px;
  transform-origin: bottom center;
  animation: ng-tree 12s ease-in-out infinite;
}
.scn-new-feet-in-garden .branch {
  position: absolute; bottom: 70%; left: 21%; width: 60px; height: 10px;
  background: linear-gradient(90deg, #5d4037 0%, transparent 100%);
  border-radius: 10px;
  transform: rotate(20deg);
}
.scn-new-feet-in-garden .bird {
  position: absolute; bottom: 65%; left: 22%; width: 20px; height: 12px;
  background: #3e2723;
  border-radius: 50% 50% 30% 30%;
  animation: ng-bird 3s ease-in-out infinite;
}
.scn-new-feet-in-garden .flowers {
  position: absolute; bottom: 25%; left: 20%; right: 10%; height: 30px;
  background: radial-gradient(circle at 10% 50%, #f9a825 6px, transparent 6px),
              radial-gradient(circle at 30% 60%, #f48fb1 5px, transparent 5px),
              radial-gradient(circle at 50% 55%, #ce93d8 7px, transparent 7px),
              radial-gradient(circle at 70% 50%, #f9a825 6px, transparent 6px),
              radial-gradient(circle at 90% 55%, #f48fb1 5px, transparent 5px);
  background-size: 20% 100%;
  background-repeat: no-repeat;
  animation: ng-flowers 8s ease-in-out infinite;
}
.scn-new-feet-in-garden .figure {
  position: absolute; bottom: 20%; left: 45%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #5d4037 0%, #3e2723 50%, #1a120b 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ng-figure 5s ease-in-out infinite;
}
@keyframes ng-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ng-sun { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.85; } }
@keyframes ng-grass { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ng-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes ng-bird { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(4px,-2px) rotate(-5deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ng-flowers { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.1); } 100% { transform: scaleY(1); } }
@keyframes ng-figure { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(3px,-2px) rotate(3deg); } 50% { transform: translate(6px,-1px) rotate(0deg); } 75% { transform: translate(3px,-2px) rotate(-3deg); } 100% { transform: translate(0,0) rotate(0deg); } }

.scn-murmur-of-bee {
  background: linear-gradient(180deg, #e0f2f1 0%, #b2dfdb 30%, #80cbc4 70%), radial-gradient(ellipse at 50% 0%, #fff8e1 0%, transparent 60%);
}
.scn-murmur-of-bee .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #80deea 0%, transparent 100%);
  animation: mb-sky 16s ease-in-out infinite alternate;
}
.scn-murmur-of-bee .hill {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #d7ccc8 0%, #a1887f 50%, #8d6e63 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: mb-hill 18s ease-in-out infinite;
}
.scn-murmur-of-bee .sun {
  position: absolute; top: 8%; left: 50%; width: 70px; height: 70px;
  background: radial-gradient(circle, #ffe082 0%, #ffb300 40%, transparent 65%);
  border-radius: 50%;
  box-shadow: 0 0 50px 30px rgba(255,179,0,0.4);
  animation: mb-sun 7s ease-in-out infinite alternate;
}
.scn-murmur-of-bee .bee {
  position: absolute; bottom: 55%; left: 30%; width: 30px; height: 20px;
  background: linear-gradient(90deg, #5d4037 0%, #fdd835 30%, #5d4037 50%, #fdd835 70%, #5d4037 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: mb-bee 2.5s ease-in-out infinite;
}
.scn-murmur-of-bee .flower {
  position: absolute; bottom: 28%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f48fb1 8px, #ec407a 10px, transparent 12px);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: mb-flower 5s ease-in-out infinite alternate;
}
.scn-murmur-of-bee .person {
  position: absolute; bottom: 25%; left: 55%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #37474f 0%, #263238 60%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb-person 3s ease-in-out infinite;
}
.scn-murmur-of-bee .ray {
  position: absolute; top: 10%; width: 4px; height: 80px;
  background: linear-gradient(180deg, rgba(255,224,130,0.6) 0%, transparent 100%);
  transform-origin: top center;
  opacity: 0.6;
}
.scn-murmur-of-bee .ray-1 { left: 30%; transform: rotate(20deg); animation: mb-ray 4s ease-in-out infinite; }
.scn-murmur-of-bee .ray-2 { left: 70%; transform: rotate(-15deg); animation: mb-ray 4.5s ease-in-out infinite reverse; }
@keyframes mb-sky { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes mb-hill { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mb-sun { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.08) rotate(5deg); } 100% { transform: scale(0.95) rotate(-5deg); } }
@keyframes mb-bee { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(10px,-6px) rotate(10deg); } 50% { transform: translate(20px,0) rotate(-5deg); } 75% { transform: translate(10px,4px) rotate(10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes mb-flower { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.2) rotate(15deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes mb-person { 0% { transform: translate(0,0) rotate(-2deg); } 25% { transform: translate(-3px,-2px) rotate(2deg); } 50% { transform: translate(0,0) rotate(0deg); } 75% { transform: translate(3px,-2px) rotate(-2deg); } 100% { transform: translate(0,0) rotate(2deg); } }
@keyframes mb-ray { 0% { opacity: 0.4; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.2); } 100% { opacity: 0.4; transform: scaleY(1); } }

.scn-pedigree-of-honey {
  background: linear-gradient(180deg, #ffe0b2 0%, #ffcc80 30%, #ffb74d 100%), radial-gradient(ellipse at 50% 0%, #fff3e0 0%, transparent 70%);
}
.scn-pedigree-of-honey .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffd54f 0%, transparent 100%);
  animation: ph-sky 15s ease-in-out infinite alternate;
}
.scn-pedigree-of-honey .sun {
  position: absolute; top: 5%; right: 20%; width: 80px; height: 80px;
  background: radial-gradient(circle, #ffcc02 0%, #ff8f00 40%, transparent 65%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(255,143,0,0.5);
  animation: ph-sun 8s ease-in-out infinite alternate;
}
.scn-pedigree-of-honey .dome {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #8d6e63 0%, #6d4c41 60%, #4e342e 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: ph-dome 20s ease-in-out infinite;
}
.scn-pedigree-of-honey .tree {
  position: absolute; bottom: 25%; width: 40px; height: 140px;
  background: linear-gradient(180deg, #6d4c41 0%, #4e342e 50%, #3e2723 100%);
  border-radius: 10px;
  transform-origin: bottom center;
  animation: ph-tree 14s ease-in-out infinite;
}
.scn-pedigree-of-honey .tree-1 { left: 15%; }
.scn-pedigree-of-honey .tree-2 { right: 15%; animation-delay: -7s; }
.scn-pedigree-of-honey .clover {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 30px;
  background: radial-gradient(circle, #4caf50 12px, #388e3c 14px, transparent 16px);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(76,175,80,0.4);
  animation: ph-clover 6s ease-in-out infinite alternate;
}
.scn-pedigree-of-honey .bee {
  position: absolute; bottom: 50%; left: 35%; width: 25px; height: 18px;
  background: linear-gradient(90deg, #5d4037 0%, #fdd835 30%, #5d4037 50%, #fdd835 70%, #5d4037 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(0,0,0,0.3);
  animation: ph-bee 3s ease-in-out infinite;
}
.scn-pedigree-of-honey .figure {
  position: absolute; bottom: 18%; left: 42%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #5d4037 0%, #3e2723 60%, #1a120b 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph-figure 7s ease-in-out infinite;
}
@keyframes ph-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ph-sun { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(0.9) rotate(-5deg); } }
@keyframes ph-dome { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes ph-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes ph-clover { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.15) rotate(10deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ph-bee { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(12px,-8px) rotate(10deg); } 50% { transform: translate(24px,0) rotate(-5deg); } 75% { transform: translate(12px,6px) rotate(10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ph-figure { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(4px,-3px) rotate(3deg); } 50% { transform: translate(0,0) rotate(0deg); } 75% { transform: translate(-4px,-3px) rotate(-3deg); } 100% { transform: translate(0,0) rotate(0deg); } }

.scn-bee-not-afraid {
  background: linear-gradient(180deg, #c8e6c9 0%, #a5d6a7 30%, #81c784 100%), radial-gradient(ellipse at 50% 0%, #fff9c4 0%, transparent 60%);
}
.scn-bee-not-afraid .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #b2dfdb 0%, transparent 100%);
  animation: ba-sky 18s ease-in-out infinite alternate;
}
.scn-bee-not-afraid .sun {
  position: absolute; top: 8%; left: 60%; width: 65px; height: 65px;
  background: radial-gradient(circle, #ffe082 0%, #ffb300 40%, transparent 65%);
  border-radius: 50%;
  box-shadow: 0 0 45px 25px rgba(255,179,0,0.4);
  animation: ba-sun 7s ease-in-out infinite alternate;
}
.scn-bee-not-afraid .brook {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #4fc3f7 0%, #03a9f4 40%, #0288d1 100%);
  border-radius: 50%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: ba-brook 10s ease-in-out infinite;
}
.scn-bee-not-afraid .tree {
  position: absolute; bottom: 30%; width: 50px; height: 150px;
  background: linear-gradient(180deg, #5d4037 0%, #4e342e 50%, #3e2723 100%);
  border-radius: 10px;
  transform-origin: bottom center;
  animation: ba-tree 16s ease-in-out infinite;
}
.scn-bee-not-afraid .tree-left { left: 8%; }
.scn-bee-not-afraid .tree-right { right: 8%; animation-delay: -8s; }
.scn-bee-not-afraid .bee {
  position: absolute; bottom: 55%; left: 40%; width: 28px; height: 18px;
  background: linear-gradient(90deg, #5d4037 0%, #fdd835 30%, #5d4037 50%, #fdd835 70%, #5d4037 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: ba-bee 2s ease-in-out infinite;
}
.scn-bee-not-afraid .butterfly {
  position: absolute; bottom: 60%; left: 55%; width: 24px; height: 20px;
  background: radial-gradient(circle at 30% 50%, #ff8a65 8px, #ff5722 12px, transparent 14px);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(255,87,34,0.3);
  animation: ba-butterfly 3.5s ease-in-out infinite alternate;
}
.scn-bee-not-afraid .figure {
  position: absolute; bottom: 18%; left: 45%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #37474f 0%, #263238 60%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-figure 4s ease-in-out infinite;
}
@keyframes ba-sky { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ba-sun { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(8deg); } 100% { transform: scale(0.9) rotate(-8deg); } }
@keyframes ba-brook { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes ba-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes ba-bee { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(10px,-8px) rotate(15deg); } 50% { transform: translate(20px,0) rotate(-5deg); } 75% { transform: translate(10px,6px) rotate(15deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ba-butterfly { 0% { transform: translate(0,0) rotate(-10deg); } 50% { transform: translate(8px,-4px) rotate(10deg); } 100% { transform: translate(0,0) rotate(-10deg); } }
@keyframes ba-figure { 0% { transform: translate(0,0) rotate(-3deg); } 25% { transform: translate(-5px,-3px) rotate(3deg); } 50% { transform: translate(0,0) rotate(0deg); } 75% { transform: translate(5px,-3px) rotate(-3deg); } 100% { transform: translate(0,0) rotate(3deg); } }

/* Scene: verses-without-titles – dim interior, calm */
.scn-verses-without-titles {
  background:
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, #1a1410 50%, #0d0a08 100%),
    radial-gradient(circle at 45% 65%, #6a4a2a 0%, transparent 60%),
    linear-gradient(180deg, #1a1410 0%, #2a1e14 100%);
}
.scn-verses-without-titles .vwt-desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a10 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.6);
  animation: vwt-desk 12s ease-in-out infinite alternate;
}
.scn-verses-without-titles .vwt-papers {
  position: absolute; bottom: 18%; left: 30%; width: 120px; height: 80px;
  background: linear-gradient(135deg, #c8b8a0 0%, #e0d0b8 30%, #c8b8a0 80%);
  border-radius: 2px;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.5);
  transform: rotate(-2deg);
  filter: brightness(0.9);
}
.scn-verses-without-titles .vwt-inkwell {
  position: absolute; bottom: 20%; left: 55%; width: 18px; height: 22px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.7);
  animation: vwt-inkwell 4s ease-in-out infinite alternate;
}
.scn-verses-without-titles .vwt-quill {
  position: absolute; bottom: 22%; left: 52%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #e8d8c0 0%, #d0b898 50%, #b8a080 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(-15deg);
  transform-origin: 0% 100%;
  animation: vwt-quill 6s ease-in-out infinite alternate;
}
.scn-verses-without-titles .vwt-candle {
  position: absolute; bottom: 17%; left: 70%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #fff8e0 0%, #e8c880 60%, #8a5a20 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.3);
  animation: vwt-candle 3s ease-in-out infinite alternate;
}
.scn-verses-without-titles .vwt-figure {
  position: absolute; bottom: 12%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vwt-figure 8s ease-in-out infinite;
}
.scn-verses-without-titles .vwt-smoke {
  position: absolute; bottom: 50%; left: 72%; width: 20px; height: 40px;
  background: radial-gradient(circle, rgba(200,160,100,0.3) 0%, transparent 70%);
  filter: blur(4px);
  border-radius: 50%;
  animation: vwt-smoke 5s ease-in-out infinite alternate;
}
@keyframes vwt-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes vwt-inkwell { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes vwt-quill { 0% { transform: rotate(-18deg) scaleY(1); } 50% { transform: rotate(-12deg) scaleY(1.02); } 100% { transform: rotate(-18deg) scaleY(1); } }
@keyframes vwt-candle { 0% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(255,200,100,0.2); } 50% { opacity: 1; box-shadow: 0 0 35px 12px rgba(255,200,100,0.4); } 100% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(255,200,100,0.25); } }
@keyframes vwt-figure { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(2px) scale(1.01); } 50% { transform: translateX(0) scale(1); } 75% { transform: translateX(-2px) scale(1.01); } 100% { transform: translateX(0) scale(1); } }
@keyframes vwt-smoke { 0% { transform: translate(0,0) scale(0.8); opacity: 0.3; } 50% { transform: translate(3px,-10px) scale(1.2); opacity: 0.6; } 100% { transform: translate(6px,-20px) scale(0.9); opacity: 0.2; } }

/* Scene: scrutinized-clear-eyed – bright interior, calm */
.scn-scrutinized-clear-eyed {
  background:
    radial-gradient(ellipse at 50% 20%, #eaf4f8 0%, #b8d0dc 60%, #8aa8b8 100%),
    linear-gradient(180deg, #ffffff 0%, #d6e2e8 50%, #a8c0cc 100%);
}
.scn-scrutinized-clear-eyed .sce-window-frame {
  position: absolute; inset: 5% 15% 15% 15%;
  border: 12px solid #5a4a3a;
  border-radius: 4px;
  background: transparent;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.3);
  animation: sce-frame 10s ease-in-out infinite alternate;
}
.scn-scrutinized-clear-eyed .sce-sky {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, #e0f0ff 0%, #b0d0e8 60%, #80b0d0 100%);
  opacity: 0.9;
}
.scn-scrutinized-clear-eyed .sce-trees {
  position: absolute; bottom: 10%; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(0deg, #3a5a3a 0%, #4a7a4a 50%, #5a8a5a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  filter: blur(1px);
  animation: sce-trees 20s ease-in-out infinite alternate;
}
.scn-scrutinized-clear-eyed .sce-figure {
  position: absolute; bottom: 8%; left: 40%; width: 30px; height: 120px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: sce-figure 8s ease-in-out infinite;
}
.scn-scrutinized-clear-eyed .sce-bookshelf {
  position: absolute; bottom: 5%; left: 5%; width: 90px; height: 60px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
}
.scn-scrutinized-clear-eyed .sce-book {
  position: absolute; bottom: 10%; left: 8%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #c84020 0%, #b03010 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: sce-book 15s ease-in-out infinite alternate;
}
.scn-scrutinized-clear-eyed .sce-curtain {
  position: absolute; top: 0; left: 10%; width: 20px; height: 100%;
  background: linear-gradient(180deg, #b8a898 0%, #988878 50%, #786858 100%);
  border-radius: 0 10px 10px 0;
  opacity: 0.6;
  animation: sce-curtain 6s ease-in-out infinite alternate;
}
@keyframes sce-frame { 0% { border-color: #5a4a3a; } 50% { border-color: #6a5a4a; } 100% { border-color: #4a3a2a; } }
@keyframes sce-trees { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.02) translateX(3px); } 100% { transform: scaleY(1) translateX(0); } }
@keyframes sce-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sce-book { 0% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(-2deg) scaleY(1.02); } 100% { transform: rotate(-5deg) scaleY(1); } }
@keyframes sce-curtain { 0% { width: 20px; opacity: 0.6; } 50% { width: 24px; opacity: 0.7; } 100% { width: 20px; opacity: 0.6; } }

/* Scene: amherst-signature – dim interior, calm */
.scn-amherst-signature {
  background:
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, #1a1410 60%, #0d0a08 100%),
    radial-gradient(circle at 50% 65%, #5a3a20 0%, transparent 70%),
    linear-gradient(180deg, #0d0a08 0%, #1a1410 50%, #2a1e14 100%);
}
.scn-amherst-signature .ams-desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 45%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a10 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: inset 0 -10px 25px rgba(0,0,0,0.7);
  animation: ams-desk 14s ease-in-out infinite alternate;
}
.scn-amherst-signature .ams-paper {
  position: absolute; bottom: 25%; left: 35%; width: 140px; height: 100px;
  background: linear-gradient(135deg, #d8c8b0 0%, #f0e0c8 30%, #d8c8b0 80%);
  border-radius: 2px;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.5);
  transform: rotate(1deg);
}
.scn-amherst-signature .ams-signature {
  position: absolute; bottom: 32%; left: 42%; width: 60px; height: 4px;
  background: linear-gradient(90deg, #1a1a1a 0%, #0a0a0a 50%, #1a1a1a 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  animation: ams-signature 8s ease-in-out infinite alternate;
}
.scn-amherst-signature .ams-inkwell {
  position: absolute; bottom: 30%; left: 58%; width: 20px; height: 24px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.6);
  animation: ams-inkwell 5s ease-in-out infinite alternate;
}
.scn-amherst-signature .ams-quill {
  position: absolute; bottom: 32%; left: 55%; width: 35px; height: 60px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b898 50%, #b0a080 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(-20deg) translateY(-10px);
  transform-origin: 0% 100%;
  animation: ams-quill 6s ease-in-out infinite alternate;
}
.scn-amherst-signature .ams-lamp {
  position: absolute; bottom: 20%; left: 72%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #fff8e0 0%, #e8c880 50%, #8a5a20 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 35px 12px rgba(255,200,100,0.4);
  animation: ams-lamp 3s ease-in-out infinite alternate;
}
.scn-amherst-signature .ams-shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 80%);
  filter: blur(8px);
  animation: ams-shadow 9s ease-in-out infinite alternate;
}
@keyframes ams-desk { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.005); } 100% { transform: translateY(0) scale(1); } }
@keyframes ams-signature { 0% { width: 60px; opacity: 0.7; } 50% { width: 65px; opacity: 1; } 100% { width: 60px; opacity: 0.7; } }
@keyframes ams-inkwell { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ams-quill { 0% { transform: rotate(-22deg) translateY(-10px); } 50% { transform: rotate(-18deg) translateY(-12px); } 100% { transform: rotate(-22deg) translateY(-10px); } }
@keyframes ams-lamp { 0% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(255,200,100,0.3); } 50% { opacity: 1; box-shadow: 0 0 45px 15px rgba(255,200,100,0.5); } 100% { opacity: 0.8; box-shadow: 0 0 30px 10px rgba(255,200,100,0.35); } }
@keyframes ams-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.7; transform: scaleX(1.1); } 100% { opacity: 0.5; transform: scaleX(1); } }

/* Scene: nearest-dream-recedes – starlit, tense */
.scn-nearest-dream-recedes {
  background:
    radial-gradient(ellipse at 50% 30%, #0a0a2a 0%, #05051a 60%, #000010 100%),
    radial-gradient(circle at 50% 40%, #1a1a4a 0%, transparent 70%),
    linear-gradient(180deg, #000010 0%, #05051a 50%, #0a0a2a 100%);
}
.scn-nearest-dream-recedes .ndr-sky {
  position: absolute; inset: 0;
  background: transparent;
  animation: ndr-sky 30s linear infinite;
}
.scn-nearest-dream-recedes .ndr-stars {
  position: absolute; top: 10%; left: 20%; width: 3px; height: 3px;
  background: #e8e8f0;
  border-radius: 50%;
  box-shadow:
     30px 50px 0 1px #e8e8f0,
     70px 20px 0 0.5px #d0d0e0,
     120px 80px 0 1.5px #f0f0ff,
     180px 30px 0 1px #e0e0f0,
     220px 90px 0 0.5px #d0d0e0,
     280px 40px 0 1px #e8e8f0,
     320px 110px 0 1.5px #f0f0ff;
  animation: ndr-stars 4s ease-in-out infinite alternate;
}
.scn-nearest-dream-recedes .ndr-moon {
  position: absolute; top: 12%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #f0f0e8 0%, #d0d0c8 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(200,200,180,0.2);
  animation: ndr-moon 12s ease-in-out infinite alternate;
}
.scn-nearest-dream-recedes .ndr-dream-cloud {
  position: absolute; top: 25%; left: 10%; width: 100px; height: 30px;
  background: linear-gradient(180deg, rgba(200,200,220,0.3) 0%, rgba(150,150,180,0.1) 100%);
  border-radius: 50%;
  filter: blur(10px);
  animation: ndr-dream-cloud 15s ease-in-out infinite alternate;
}
.scn-nearest-dream-recedes .ndr-figure {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 80px;
  background: linear-gradient(180deg, #0a0a1a 0%, #050510 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: ndr-figure 5s ease-in-out infinite;
}
.scn-nearest-dream-recedes .ndr-bee {
  position: absolute; top: 35%; left: 30%; width: 12px; height: 8px;
  background: linear-gradient(90deg, #c87030 0%, #e8a040 50%, #c87030 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(200,120,50,0.3);
  animation: ndr-bee 3s ease-in-out infinite;
}
.scn-nearest-dream-recedes .ndr-ground {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #0a0a1a 0%, #050510 60%, transparent 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.8);
  animation: ndr-ground 20s ease-in-out infinite alternate;
}
@keyframes ndr-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ndr-stars { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(0.9); } }
@keyframes ndr-moon { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes ndr-dream-cloud { 0% { transform: translateX(0) scale(1); opacity: 0.5; } 50% { transform: translateX(15px) scale(1.05); opacity: 0.7; } 100% { transform: translateX(30px) scale(1); opacity: 0.4; } }
@keyframes ndr-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-50%) translateY(-5px) rotate(2deg); } 60% { transform: translateX(-50%) translateY(-10px) rotate(-2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes ndr-bee { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(10px,-15px) rotate(15deg); } 50% { transform: translate(25px,5px) rotate(-10deg); } 75% { transform: translate(15px,-20px) rotate(8deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ndr-ground { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }

/* taken-by-gods */
.scn-taken-by-gods {
  background: linear-gradient(180deg, #f9d7a3 0%, #e88a5a 40%, #b34a2a 70%, #4a1a0a 100%), radial-gradient(ellipse at 50% 0%, #ffd78a 0%, transparent 60%);
}
.scn-taken-by-gods .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffb27a 0%, #f9d078 50%, #ffe4b5 100%);
  animation: tg-sky 14s ease-in-out infinite alternate;
}
.scn-taken-by-gods .sun {
  position: absolute; top: 8%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffee88 0%, #ffcc44 40%, transparent 70%);
  border-radius: 50%; transform: translateX(-50%);
  animation: tg-sun 6s ease-in-out infinite;
}
.scn-taken-by-gods .clouds {
  position: absolute; top: 16%; left: 0; right: 0; height: 80px;
  background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, transparent 100%);
  border-radius: 50%; filter: blur(8px);
  animation: tg-clouds 40s linear infinite;
}
.scn-taken-by-gods .figure {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tg-ascend 8s ease-in-out infinite;
}
.scn-taken-by-gods .banner-left {
  position: absolute; bottom: 38%; left: 35%; width: 40px; height: 18px;
  background: linear-gradient(135deg, #d45a2a 0%, #8a2a0a 100%);
  border-radius: 0 50% 50% 0;
  animation: tg-banner 12s ease-in-out infinite;
}
.scn-taken-by-gods .banner-right {
  position: absolute; bottom: 38%; right: 35%; width: 40px; height: 18px;
  background: linear-gradient(225deg, #d45a2a 0%, #8a2a0a 100%);
  border-radius: 50% 0 0 50%;
  animation: tg-banner 12s ease-in-out infinite reverse;
}
.scn-taken-by-gods .rays {
  position: absolute; top: 0; left: 0; right: 0; bottom: 40%;
  background: linear-gradient(135deg, rgba(255,230,150,0.2) 0%, transparent 40%, rgba(255,200,100,0.1) 70%, transparent 100%);
  animation: tg-rays 10s ease-in-out infinite alternate;
}
.scn-taken-by-gods .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  border-radius: 30% 70% 0 0;
  animation: tg-ground 20s ease-in-out infinite;
}
@keyframes tg-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes tg-sun { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.1); box-shadow: 0 0 40px 20px #ffcc44; } }
@keyframes tg-clouds { 0% { transform: translateX(-100px); } 100% { transform: translateX(120vw); } }
@keyframes tg-ascend { 0% { transform: translate(-50%, 0) rotate(-5deg); } 25% { transform: translate(-50%, -20px) rotate(3deg); } 50% { transform: translate(-50%, -40px) rotate(-2deg); } 75% { transform: translate(-50%, -20px) rotate(4deg); } 100% { transform: translate(-50%, 0) rotate(-5deg); } }
@keyframes tg-banner { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-5px) rotate(5deg); } 50% { transform: translateY(-2px) rotate(-3deg); } 75% { transform: translateY(-7px) rotate(6deg); } }
@keyframes tg-rays { 0% { opacity: 0.3; transform: scale(0.95); } 50% { opacity: 0.6; transform: scale(1); } 100% { opacity: 0.4; transform: scale(1.05); } }
@keyframes tg-ground { 0%,100% { transform: translateY(0); } 50% { transform: translateY(3px); } }

/* curious-inn */
.scn-curious-inn {
  background: linear-gradient(180deg, #1a1212 0%, #2a1a12 40%, #0a0a0a 100%), radial-gradient(ellipse at 40% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-curious-inn .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1412 0%, #2a1e12 60%, #0a0a0a 100%);
  animation: ci-room 30s ease-in-out infinite alternate;
}
.scn-curious-inn .door {
  position: absolute; bottom: 20%; left: 60%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 4px 4px 0 0; box-shadow: inset 0 0 10px #0a0a0a;
  animation: ci-door 10s ease-in-out infinite;
}
.scn-curious-inn .window {
  position: absolute; top: 20%; left: 30%; width: 60px; height: 80px;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px #1a100a;
  animation: ci-window 8s ease-in-out infinite alternate;
}
.scn-curious-inn .table {
  position: absolute; bottom: 18%; left: 40%; width: 100px; height: 30px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a12 100%);
  border-radius: 6px;
  animation: ci-table 12s ease-in-out infinite;
}
.scn-curious-inn .traveler {
  position: absolute; bottom: 22%; left: 32%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ci-traveler 7s ease-in-out infinite;
}
.scn-curious-inn .staff {
  position: absolute; bottom: 22%; left: 30%; width: 6px; height: 80px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 3px;
  animation: ci-staff 7s ease-in-out infinite;
}
.scn-curious-inn .candle {
  position: absolute; bottom: 28%; left: 46%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 70%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px #ffc060, 0 0 60px 20px rgba(255,192,96,0.3);
  animation: ci-candle 2s ease-in-out infinite alternate;
}
@keyframes ci-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ci-door { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(0deg); } }
@keyframes ci-window { 0% { opacity: 0.6; box-shadow: inset 0 0 30px #1a100a; } 50% { opacity: 0.8; box-shadow: inset 0 0 50px #3a201a; } 100% { opacity: 0.7; box-shadow: inset 0 0 20px #1a100a; } }
@keyframes ci-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes ci-traveler { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(3px) translateY(-3px) rotate(3deg); } 50% { transform: translateX(0) translateY(0) rotate(-2deg); } 75% { transform: translateX(-3px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes ci-staff { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(-1px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(1deg); } }
@keyframes ci-candle { 0% { transform: scale(0.9); opacity: 0.8; } 50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 40px 15px #ffd080; } 100% { transform: scale(1); opacity: 0.9; } }

/* not-death-chaos */
.scn-not-death-chaos {
  background: linear-gradient(180deg, #0a0e1a 0%, #141a24 40%, #1a1e2a 100%), radial-gradient(ellipse at 50% 100%, #1a2236 0%, transparent 70%);
}
.scn-not-death-chaos .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0e1a 0%, #141e2e 50%, #0a0a12 100%);
  animation: nd-bg 20s ease-in-out infinite alternate;
}
.scn-not-death-chaos .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a303e 0%, #1a1e2a 50%, #0a0a12 100%);
  border-radius: 30% 70% 0 0 / 10% 10% 0 0;
  animation: nd-floor 25s ease-in-out infinite;
}
.scn-not-death-chaos .figure-standing {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #2c2a2a 0%, #0e0e0e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nd-figure 4s ease-in-out infinite;
}
.scn-not-death-chaos .bell-left {
  position: absolute; top: 15%; left: 30%; width: 40px; height: 50px;
  background: linear-gradient(135deg, #3a3e4a 0%, #1a1e2a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: nd-bell 6s ease-in-out infinite;
}
.scn-not-death-chaos .bell-right {
  position: absolute; top: 15%; right: 30%; width: 40px; height: 50px;
  background: linear-gradient(225deg, #3a3e4a 0%, #1a1e2a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: nd-bell 6s ease-in-out infinite reverse;
}
.scn-not-death-chaos .beam {
  position: absolute; top: 0; left: 45%; width: 10%; height: 100%;
  background: linear-gradient(180deg, rgba(200,210,230,0.3) 0%, transparent 70%);
  clip-path: polygon(30% 0, 70% 0, 80% 100%, 20% 100%);
  animation: nd-beam 8s ease-in-out infinite alternate;
}
.scn-not-death-chaos .shadow {
  position: absolute; bottom: 18%; left: 48%; width: 50px; height: 20px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  animation: nd-shadow 4s ease-in-out infinite;
}
@keyframes nd-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes nd-floor { 0%,100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
@keyframes nd-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 50% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 75% { transform: translateX(-50%) translateY(-2px) rotate(3deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes nd-bell { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-5px) rotate(8deg); } 50% { transform: translateY(-2px) rotate(-5deg); } 75% { transform: translateY(-8px) rotate(6deg); } }
@keyframes nd-beam { 0% { opacity: 0.1; transform: scaleY(0.8); } 50% { opacity: 0.4; transform: scaleY(1); } 100% { opacity: 0.2; transform: scaleY(0.9); } }
@keyframes nd-shadow { 0%,100% { transform: translateX(0) scale(1); } 25% { transform: translateX(5px) scale(0.95); } 50% { transform: translateX(-3px) scale(1.05); } 75% { transform: translateX(2px) scale(0.98); } }

/* friend-death-fear */
.scn-friend-death-fear {
  background: linear-gradient(180deg, #120d0d 0%, #1a1414 40%, #0a0808 100%), radial-gradient(ellipse at 50% 50%, #1a1212 0%, transparent 70%);
}
.scn-friend-death-fear .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #141010 0%, #1a1412 50%, #0a0808 100%);
  animation: fd-room 30s ease-in-out infinite alternate;
}
.scn-friend-death-fear .bed {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #2a1c1a 0%, #1a0e0c 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  animation: fd-bed 20s ease-in-out infinite;
}
.scn-friend-death-fear .friend {
  position: absolute; bottom: 30%; left: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fd-friend 6s ease-in-out infinite;
}
.scn-friend-death-fear .main-figure {
  position: absolute; bottom: 22%; right: 30%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fd-main 7s ease-in-out infinite;
}
.scn-friend-death-fear .lamp {
  position: absolute; top: 30%; right: 20%; width: 12px; height: 16px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 40px 15px #b08040, 0 0 80px 30px rgba(176,128,64,0.3);
  animation: fd-lamp 3s ease-in-out infinite alternate;
}
.scn-friend-death-fear .curtain {
  position: absolute; top: 0; right: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a0a 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%);
  animation: fd-curtain 15s ease-in-out infinite alternate;
}
.scn-friend-death-fear .hand {
  position: absolute; bottom: 32%; left: 40%; width: 10px; height: 8px;
  background: linear-gradient(135deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50%;
  animation: fd-hand 4s ease-in-out infinite;
}
@keyframes fd-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes fd-bed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes fd-friend { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(-1deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes fd-main { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-4deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(2px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fd-lamp { 0% { transform: scale(0.95); opacity: 0.8; box-shadow: 0 0 30px 10px #b08040; } 50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 50px 20px #ffd080; } 100% { transform: scale(1); opacity: 0.9; box-shadow: 0 0 40px 15px #b08040; } }
@keyframes fd-curtain { 0% { transform: translateX(0); } 25% { transform: translateX(-5px); } 50% { transform: translateX(3px); } 75% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes fd-hand { 0%,100% { transform: translateY(0); } 25% { transform: translateY(-2px); } 50% { transform: translateY(0); } 75% { transform: translateY(-1px); } }

.scn-mine-by-election {
  background: linear-gradient(180deg, #ffe4b5 0%, #ffcc80 40%, #fff8dc 100%),
              radial-gradient(ellipse at 30% 20%, #fff5e6 0%, transparent 60%);
}
.scn-mine-by-election .sunburst {
  position: absolute; inset: 5% 10% 40% 10%;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,200,0.6) 0%, transparent 60%);
  animation: mbe-sunburst 8s ease-in-out infinite alternate;
}
.scn-mine-by-election .window-frame {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #cfa776 0%, #8b6540 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: mbe-frame 12s ease-in-out infinite;
}
.scn-mine-by-election .bars {
  position: absolute; bottom: 32%; left: 32%; width: 36%; height: 46%;
  background: repeating-linear-gradient(90deg, #a0461a 0px, #a0461a 4px, transparent 4px, transparent 20px);
  border-radius: 4%;
  animation: mbe-bars 5s ease-in-out infinite alternate;
}
.scn-mine-by-election .seal {
  position: absolute; bottom: 45%; left: 48%; width: 30px; height: 30px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.5);
  animation: mbe-seal 4s ease-in-out infinite;
}
.scn-mine-by-election .figure {
  position: absolute; bottom: 28%; left: 42%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2c1a0a 0%, #1a0f05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mbe-figure 4s ease-in-out infinite alternate;
}
.scn-mine-by-election .dust-mote-a {
  position: absolute; top: 25%; left: 20%; width: 4px; height: 4px;
  background: rgba(255,240,200,0.6); border-radius: 50%; filter: blur(1px);
  animation: mbe-dust 15s linear infinite;
}
.scn-mine-by-election .dust-mote-b {
  position: absolute; top: 35%; left: 60%; width: 3px; height: 3px;
  background: rgba(255,240,200,0.5); border-radius: 50%; filter: blur(1px);
  animation: mbe-dust 20s linear infinite reverse;
}
@keyframes mbe-sunburst { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.98); } }
@keyframes mbe-frame { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes mbe-bars { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes mbe-seal { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(15deg); } }
@keyframes mbe-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(10px) rotate(-1deg); } }
@keyframes mbe-dust { 0% { transform: translate(0,0) scale(1); opacity: 0; } 30% { opacity: 1; } 70% { opacity: 1; } 100% { transform: translate(80px, -40px) scale(0.5); opacity: 0; } }

.scn-alter-falter-surfeit {
  background: linear-gradient(180deg, #bcc7b5 0%, #a6b49e 50%, #8fa38a 100%),
              radial-gradient(ellipse at 50% 100%, #d4dfcd 0%, transparent 60%);
}
.scn-alter-falter-surfeit .room-bg {
  position: absolute; inset: 0 20% 0 0;
  background: linear-gradient(180deg, #d4c9b0 0%, #b8a98c 100%);
  border-radius: 0 20% 20% 0 / 0 30% 30% 0;
  animation: afs-room 20s ease-in-out infinite alternate;
}
.scn-alter-falter-surfeit .window-outline {
  position: absolute; bottom: 20%; left: 5%; width: 30%; height: 60%;
  background: linear-gradient(180deg, #9e8b72 0%, #6b5d4a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
  animation: afs-window 15s ease-in-out infinite;
}
.scn-alter-falter-surfeit .hills-bg {
  position: absolute; bottom: 15%; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, #7a8a72 0%, #4a5a42 100%);
  border-radius: 50% 60% 0 0 / 80% 70% 0 0;
  animation: afs-hills 18s ease-in-out infinite alternate;
}
.scn-alter-falter-surfeit .daffodil {
  position: absolute; bottom: 22%; left: 55%; width: 14px; height: 18px;
  background: radial-gradient(circle at 40% 30%, #f4e07c 0%, #d4b84a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 8px 2px rgba(212,184,74,0.4);
  animation: afs-flower 4s ease-in-out infinite;
}
.scn-alter-falter-surfeit .dew-a {
  position: absolute; bottom: 30%; left: 52%; width: 3px; height: 3px;
  background: rgba(200,220,240,0.7); border-radius: 50%;
  animation: afs-dew 6s ease-in-out infinite alternate;
}
.scn-alter-falter-surfeit .dew-b {
  position: absolute; bottom: 28%; left: 58%; width: 2px; height: 2px;
  background: rgba(200,220,240,0.6); border-radius: 50%;
  animation: afs-dew 8s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-alter-falter-surfeit .friend-silhouette {
  position: absolute; bottom: 18%; left: 30%; width: 18px; height: 38px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: afs-friend 10s ease-in-out infinite alternate;
}
@keyframes afs-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes afs-window { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px) scale(1.01); } }
@keyframes afs-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes afs-flower { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } }
@keyframes afs-dew { 0% { opacity: 0.6; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-1px); } 100% { opacity: 0.4; transform: translateY(1px); } }
@keyframes afs-friend { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }

.scn-doubt-me-dim-companion {
  background: linear-gradient(180deg, #e8d5b0 0%, #c8956c 50%, #a6784a 100%),
              radial-gradient(ellipse at 60% 30%, #fce4c8 0%, transparent 70%);
}
.scn-doubt-me-dim-companion .wall {
  position: absolute; inset: 0 30% 0 0;
  background: linear-gradient(180deg, #b89870 0%, #8a6a4a 100%);
  box-shadow: inset -10px 0 30px rgba(0,0,0,0.3);
  animation: dmc-wall 15s ease-in-out infinite alternate;
}
.scn-doubt-me-dim-companion .window {
  position: absolute; top: 20%; left: 5%; width: 25%; height: 50%;
  background: linear-gradient(180deg, #e0d8c0 0%, #b0a88a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
  animation: dmc-window 12s ease-in-out infinite;
}
.scn-doubt-me-dim-companion .light-beam {
  position: absolute; bottom: 10%; left: 10%; width: 35%; height: 70%;
  background: linear-gradient(135deg, rgba(255,240,210,0.3) 0%, transparent 90%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  animation: dmc-beam 6s ease-in-out infinite alternate;
}
.scn-doubt-me-dim-companion .figure-a {
  position: absolute; bottom: 15%; left: 15%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0f05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dmc-figure 5s ease-in-out infinite alternate;
}
.scn-doubt-me-dim-companion .figure-b {
  position: absolute; bottom: 18%; left: 40%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dmc-figure 6s ease-in-out infinite alternate;
  animation-delay: -2s;
}
.scn-doubt-me-dim-companion .dust-mote-c {
  position: absolute; top: 30%; left: 20%; width: 3px; height: 3px;
  background: rgba(255,240,200,0.5); border-radius: 50%; filter: blur(1px);
  animation: dmc-dust 18s linear infinite;
}
.scn-doubt-me-dim-companion .dust-mote-d {
  position: absolute; top: 50%; left: 60%; width: 4px; height: 4px;
  background: rgba(255,240,200,0.4); border-radius: 50%; filter: blur(1px);
  animation: dmc-dust 22s linear infinite reverse;
}
@keyframes dmc-wall { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes dmc-window { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } }
@keyframes dmc-beam { 0% { opacity: 0.5; transform: rotate(0deg); } 50% { opacity: 0.8; transform: rotate(2deg); } 100% { opacity: 0.6; transform: rotate(-1deg); } }
@keyframes dmc-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(8px) rotate(-1deg); } }
@keyframes dmc-dust { 0% { transform: translate(0,0) scale(1); opacity: 0; } 30% { opacity: 1; } 70% { opacity: 1; } 100% { transform: translate(60px, -30px) scale(0.4); opacity: 0; } }

.scn-coming-fall {
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 50%, #2a2a3a 100%),
              radial-gradient(ellipse at 50% 0%, #8a8a9a 0%, transparent 70%);
}
.scn-coming-fall .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
  animation: cfl-wall 10s ease-in-out infinite alternate;
}
.scn-coming-fall .window-sky {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #7a7a8a 0%, #5a5a6a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  animation: cfl-window 8s ease-in-out infinite;
}
.scn-coming-fall .tree-branch {
  position: absolute; top: 10%; left: 25%; width: 8px; height: 80%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% / 50%;
  transform: rotate(-15deg);
  animation: cfl-branch 6s ease-in-out infinite alternate;
}
.scn-coming-fall .figure-yarn {
  position: absolute; bottom: 15%; left: 45%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: cfl-figure 3s ease-in-out infinite alternate;
}
.scn-coming-fall .yarn-ball-a {
  position: absolute; bottom: 20%; left: 35%; width: 14px; height: 14px;
  background: radial-gradient(circle at 40% 30%, #a06a3a 0%, #7a4a2a 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(122,74,42,0.4);
  animation: cfl-yarn 4s ease-in-out infinite;
}
.scn-coming-fall .yarn-ball-b {
  position: absolute; bottom: 18%; left: 55%; width: 12px; height: 12px;
  background: radial-gradient(circle at 50% 40%, #b87850 0%, #8a5a3a 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(138,90,58,0.4);
  animation: cfl-yarn 5s ease-in-out infinite reverse;
  animation-delay: -2s;
}
.scn-coming-fall .drawer {
  position: absolute; bottom: 8%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 4%;
  box-shadow: inset 0 -3px 10px rgba(0,0,0,0.5);
  animation: cfl-drawer 12s ease-in-out infinite alternate;
}
@keyframes cfl-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes cfl-window { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.01); } }
@keyframes cfl-branch { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-18deg) translateY(1px); } }
@keyframes cfl-figure { 0% { transform: translateX(0) rotate(-3deg); } 50% { transform: translateX(6px) rotate(3deg); } 100% { transform: translateX(12px) rotate(-2deg); } }
@keyframes cfl-yarn { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.15) rotate(20deg); } }
@keyframes cfl-drawer { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }

/* arrow-love-sent – tense, overcast */
.scn-arrow-love-sent {
  background: linear-gradient(180deg, #4b5b6b 0%, #3a4753 30%, #2e3a44 60%, #1c262d 100%),
              radial-gradient(ellipse at 50% 20%, #6a7a8a 0%, transparent 70%);
}
.scn-arrow-love-sent .al-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #5b6b7b 0%, #3a4753 60%, transparent 100%);
  animation: al-sky-pulse 9s ease-in-out infinite alternate;
}
.scn-arrow-love-sent .al-hill-back {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2e3a3a 0%, #1c2626 100%);
  border-radius: 60% 40% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.5);
  animation: al-hill-drift 15s ease-in-out infinite alternate;
}
.scn-arrow-love-sent .al-hill-front {
  position: absolute; bottom: 28%; left: -5%; right: -5%; height: 22%;
  background: linear-gradient(180deg, #1c2a2a 0%, #0d1515 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.6);
  animation: al-hill-drift 18s ease-in-out infinite alternate-reverse;
}
.scn-arrow-love-sent .al-archer {
  position: absolute; bottom: 29%; left: 38%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1c20 0%, #0a0c0f 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: al-archer-draw 3s ease-in-out infinite;
}
.scn-arrow-love-sent .al-bow {
  position: absolute; bottom: 33%; left: 41%; width: 45px; height: 35px;
  border: 3px solid #4a3e2a; border-radius: 50%; box-sizing: border-box;
  transform: rotate(-15deg); transform-origin: center left;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: al-bow-twitch 0.8s ease-in-out infinite;
}
.scn-arrow-love-sent .al-arrow {
  position: absolute; bottom: 40%; left: 38%; width: 48px; height: 2px;
  background: #3a3020; transform: rotate(-60deg); transform-origin: right center;
  animation: al-arrow-quiver 0.6s ease-in-out infinite;
}
.scn-arrow-love-sent .al-arrow-tip {
  position: absolute; bottom: 42%; left: 30%; width: 6px; height: 6px;
  background: #5a4a30; clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  transform: rotate(-33deg); animation: al-arrow-quiver 0.6s ease-in-out infinite reverse;
}
.scn-arrow-love-sent .al-hand {
  position: absolute; bottom: 33%; left: 36%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #1a1c20 0%, #0a0c0f 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(20deg); transform-origin: bottom;
  animation: al-hand-grip 0.9s ease-in-out infinite;
}
@keyframes al-sky-pulse { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes al-hill-drift { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes al-archer-draw { 0% { transform: rotate(0deg); } 30% { transform: rotate(5deg); } 60% { transform: rotate(-3deg); } 100% { transform: rotate(0deg); } }
@keyframes al-bow-twitch { 0%,100% { transform: rotate(-15deg) scaleX(1); } 50% { transform: rotate(-18deg) scaleX(0.95); } }
@keyframes al-arrow-quiver { 0%,100% { transform: rotate(-60deg) translateY(0); } 30% { transform: rotate(-62deg) translateY(-1px); } 60% { transform: rotate(-58deg) translateY(1px); } }
@keyframes al-hand-grip { 0%,100% { transform: rotate(20deg); } 50% { transform: rotate(25deg); } }

/* fumbles-at-spirit – tense, dim interior */
.scn-fumbles-at-spirit {
  background: linear-gradient(180deg, #1a1a20 0%, #2a222e 30%, #1e1622 70%, #0e0a14 100%),
              radial-gradient(ellipse at 50% 60%, #3a2a44 0%, transparent 80%);
}
.scn-fumbles-at-spirit .fs-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a2230 0%, #1a1220 100%);
  animation: fs-room-pulse 12s ease-in-out infinite alternate;
}
.scn-fumbles-at-spirit .fs-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1620 0%, #0a0a10 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-fumbles-at-spirit .fs-figure {
  position: absolute; bottom: 28%; left: 40%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a2430 0%, #14101a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: fs-sway 5s ease-in-out infinite;
}
.scn-fumbles-at-spirit .fs-hand {
  position: absolute; bottom: 38%; left: 45%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #1e1a26 0%, #0e0a14 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(30deg); transform-origin: bottom left;
  animation: fs-hand-jitter 2s ease-in-out infinite;
}
.scn-fumbles-at-spirit .fs-spirit {
  position: absolute; bottom: 45%; left: 42%; width: 20px; height: 20px;
  background: radial-gradient(circle, #c8b878 0%, #a89858 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px #a89858, 0 0 60px 20px rgba(168,152,88,0.4);
  animation: fs-spirit-pulse 2.5s ease-in-out infinite;
}
.scn-fumbles-at-spirit .fs-keys {
  position: absolute; bottom: 26%; left: 20%; right: 20%; height: 4px;
  background: repeating-linear-gradient(90deg, #e0d8c0 0px, #e0d8c0 6px, #1a1410 6px, #1a1410 10px, #e0d8c0 10px, #e0d8c0 16px);
  border-radius: 2px;
  animation: fs-keys-fade 7s ease-in-out infinite alternate;
}
.scn-fumbles-at-spirit .fs-keys-dark {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 4px;
  background: repeating-linear-gradient(90deg, #2a2420 0px, #2a2420 4px, transparent 4px, transparent 10px, #2a2420 10px, #2a2420 14px);
  border-radius: 2px;
  animation: fs-keys-fade 7s ease-in-out infinite alternate-reverse;
}
.scn-fumbles-at-spirit .fs-shadow {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 50%, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 90%);
  pointer-events: none;
}
@keyframes fs-room-pulse { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes fs-sway { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } }
@keyframes fs-hand-jitter { 0%,100% { transform: rotate(30deg) translate(0,0); } 20% { transform: rotate(33deg) translate(1px,-1px); } 50% { transform: rotate(28deg) translate(-1px,1px); } 80% { transform: rotate(32deg) translate(1px,0); } }
@keyframes fs-spirit-pulse { 0% { transform: scale(1); opacity: 0.7; } 30% { transform: scale(1.05); opacity: 1; } 60% { transform: scale(0.95); opacity: 0.5; } 100% { transform: scale(1); opacity: 0.8; } }
@keyframes fs-keys-fade { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

/* heart-forget-him – tense, dim interior */
.scn-heart-forget-him {
  background: linear-gradient(180deg, #1c1420 0%, #2a1e2e 30%, #1a1222 70%, #0e0a14 100%),
              radial-gradient(ellipse at 50% 40%, #3a2a40 0%, transparent 70%);
}
.scn-heart-forget-him .hf-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e2e 0%, #1a1220 100%);
  animation: hf-bg-darken 10s ease-in-out infinite alternate;
}
.scn-heart-forget-him .hf-heart-bg {
  position: absolute; bottom: 30%; left: 50%; width: 50px; height: 45px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 40%, #702243 0%, #4a1a1d 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 4px #702243;
  animation: hf-heart-beat 2s ease-in-out infinite;
}
.scn-heart-forget-him .hf-heart-glow {
  position: absolute; bottom: 32%; left: 50%; width: 30px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #b87878 0%, #702243 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 12px rgba(184,120,120,0.5);
  animation: hf-glow-dim 4s ease-in-out infinite;
}
.scn-heart-forget-him .hf-hand-left {
  position: absolute; bottom: 32%; left: 42%; width: 18px; height: 26px;
  background: linear-gradient(180deg, #2a1e30 0%, #14101a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(20deg); transform-origin: bottom left;
  animation: hf-hand-close 3s ease-in-out infinite;
}
.scn-heart-forget-him .hf-hand-right {
  position: absolute; bottom: 32%; right: 42%; width: 18px; height: 26px;
  background: linear-gradient(180deg, #2a1e30 0%, #14101a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-20deg); transform-origin: bottom right;
  animation: hf-hand-close 3s ease-in-out infinite reverse;
}
.scn-heart-forget-him .hf-vein {
  position: absolute; bottom: 38%; left: 50%; width: 2px; height: 12px;
  background: #5e1a1d; transform: translateX(-50%) rotate(10deg);
  border-radius: 50%;
  animation: hf-vein-pulse 2s ease-in-out infinite;
}
.scn-heart-forget-him .hf-shadow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 30%, rgba(0,0,0,0.7) 80%);
  pointer-events: none;
}
@keyframes hf-bg-darken { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes hf-heart-beat { 0% { transform: translateX(-50%) scale(1); } 15% { transform: translateX(-50%) scale(1.08); } 30% { transform: translateX(-50%) scale(1); } 45% { transform: translateX(-50%) scale(1.04); } 60% { transform: translateX(-50%) scale(1); } 100% { transform: translateX(-50%) scale(0.98); } }
@keyframes hf-glow-dim { 0% { opacity: 0.9; transform: translateX(-50%) scale(1); } 30% { opacity: 0.5; transform: translateX(-50%) scale(0.9); } 60% { opacity: 0.8; transform: translateX(-50%) scale(1.05); } 100% { opacity: 0.6; transform: translateX(-50%) scale(1); } }
@keyframes hf-hand-close { 0% { transform: rotate(20deg) translateY(0); } 25% { transform: rotate(15deg) translateY(2px); } 50% { transform: rotate(25deg) translateY(-1px); } 75% { transform: rotate(18deg) translateY(1px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes hf-vein-pulse { 0% { opacity: 0.3; } 50% { opacity: 0.8; } 100% { opacity: 0.3; } }

/* father-imperial-heart – calm, overcast */
.scn-father-imperial-heart {
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6b7a 40%, #3a4a5a 80%, #2a3a4a 100%),
              radial-gradient(ellipse at 50% 100%, #8a9aaa 0%, transparent 80%);
}
.scn-father-imperial-heart .fi-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, #5a6b7a 60%, transparent 100%);
  animation: fi-sky-breath 20s ease-in-out infinite alternate;
}
.scn-father-imperial-heart .fi-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 30% 70% 0 0 / 50% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
}
.scn-father-imperial-heart .fi-child {
  position: absolute; bottom: 35%; left: 42%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: fi-child-offer 8s ease-in-out infinite;
}
.scn-father-imperial-heart .fi-heart {
  position: absolute; bottom: 48%; left: 44%; width: 24px; height: 22px;
  background: radial-gradient(ellipse at 50% 40%, #b87878 0%, #702243 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 25px 6px rgba(184,120,120,0.5), 0 0 50px 15px rgba(112,34,67,0.3);
  animation: fi-heart-glow 6s ease-in-out infinite;
}
.scn-father-imperial-heart .fi-father {
  position: absolute; bottom: 30%; left: 50%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: fi-father-bow 12s ease-in-out infinite;
}
.scn-father-imperial-heart .fi-cloud {
  position: absolute; top: 20%; left: 10%; width: 80px; height: 20px;
  background: linear-gradient(180deg, rgba(220,230,240,0.3) 0%, rgba(180,190,200,0.1) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: fi-cloud-drift 40s linear infinite;
}
.scn-father-imperial-heart .fi-light {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(220,230,240,0.15) 0%, transparent 60%);
  pointer-events: none;
  animation: fi-light-pulse 15s ease-in-out infinite alternate;
}
@keyframes fi-sky-breath { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes fi-child-offer { 0% { transform: translateY(0); } 30% { transform: translateY(-3px); } 60% { transform: translateY(0); } 100% { transform: translateY(-1px); } }
@keyframes fi-heart-glow { 0% { transform: scale(1); opacity: 0.8; } 30% { transform: scale(1.05); opacity: 1; } 60% { transform: scale(0.98); opacity: 0.7; } 100% { transform: scale(1.02); opacity: 0.9; } }
@keyframes fi-father-bow { 0% { transform: rotate(0deg); } 30% { transform: rotate(4deg); } 60% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes fi-cloud-drift { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }
@keyframes fi-light-pulse { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

/* fear-and-familiarity */
.scn-fear-and-familiarity {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%), radial-gradient(ellipse at 30% 50%, #3a3a5e 0%, transparent 60%);
}
.scn-fear-and-familiarity .bg-deep   { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, transparent 100%); animation: faf-deep 8s ease-in-out infinite alternate; }
.scn-fear-and-familiarity .bg-mid    { position:absolute; inset:20% 30% 30% 10%; background: linear-gradient(135deg, #3a3a5e 0%, #2a2a3e 100%); border-radius: 30% 20% 40% 10%; opacity: .4; animation: faf-mid 12s ease-in-out infinite; }
.scn-fear-and-familiarity .wall-left { position:absolute; left:0; top:0; bottom:0; width:25%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-right: 2px solid rgba(255,255,255,.05); }
.scn-fear-and-familiarity .window    { position:absolute; right:10%; top:10%; width:80px; height:100px; background: radial-gradient(circle, #f0d080 0%, #c0a050 70%); border-radius: 8px 8px 4px 4px; box-shadow: 0 0 30px 10px #c0a050, 0 0 60px 20px rgba(192,160,80,.3); animation: faf-window 3s ease-in-out infinite alternate; }
.scn-fear-and-familiarity .figure    { position:absolute; bottom:15%; left:45%; width:20px; height:44px; background: linear-gradient(180deg, #2a2a3e 0%, #111122 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: faf-figure 2.5s ease-in-out infinite; }
.scn-fear-and-familiarity .door      { position:absolute; left:15%; bottom:0; width:50px; height:90px; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: faf-door 7s ease-in-out infinite; }
.scn-fear-and-familiarity .light-ray { position:absolute; top:10%; right:calc(10% + 40px); width:120px; height:100%; background: linear-gradient(135deg, rgba(240,208,128,.15) 0%, transparent 100%); transform-origin: top right; animation: faf-ray 4s ease-in-out infinite alternate; }
@keyframes faf-deep   { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes faf-mid    { 0% { transform: translate(0) } 50% { transform: translate(-10px, 5px) } 100% { transform: translate(5px, -3px) } }
@keyframes faf-window { 0% { box-shadow: 0 0 20px 5px #c0a050, 0 0 40px 10px rgba(192,160,80,.3); opacity:.85 } 50% { box-shadow: 0 0 40px 15px #f0d080, 0 0 80px 30px rgba(240,208,128,.5); opacity:1 } 100% { box-shadow: 0 0 25px 8px #c0a050, 0 0 50px 15px rgba(192,160,80,.35); opacity:.9 } }
@keyframes faf-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes faf-door   { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.95) } }
@keyframes faf-ray    { 0% { opacity: .2; transform: rotate(-2deg) } 50% { opacity: .5; transform: rotate(2deg) } 100% { opacity: .3; transform: rotate(-1deg) } }

/* frigate-book */
.scn-frigate-book {
  background: linear-gradient(180deg, #f5e6d0 0%, #e8d4b8 40%), radial-gradient(ellipse at 70% 80%, #d8c0a8 0%, transparent 70%);
}
.scn-frigate-book .bg        { position:absolute; inset:0; background: linear-gradient(180deg, #f5e6d0 0%, #e0c8b0 100%); animation: frb-bg 20s ease-in-out infinite alternate; }
.scn-frigate-book .bookshelf { position:absolute; left:10%; top:15%; width:60%; height:60%; background: linear-gradient(180deg, #8b6b4a 0%, #6a4f30 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.2); animation: frb-shelf 30s linear infinite; }
.scn-frigate-book .book-open { position:absolute; bottom:20%; left:35%; width:100px; height:70px; background: radial-gradient(ellipse at 50% 50%, #f0e8d0 0%, #d8c8a8 100%); border-radius: 4px 4px 20px 20px; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: frb-book 6s ease-in-out infinite; }
.scn-frigate-book .chair     { position:absolute; bottom:10%; left:20%; width:80px; height:60px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3a2a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 8px 12px rgba(0,0,0,.2); animation: frb-chair 8s ease-in-out infinite alternate; }
.scn-frigate-book .sunbeam   { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(135deg, rgba(255,240,200,.4) 0%, transparent 100%); transform-origin: top left; animation: frb-sun 12s ease-in-out infinite; }
.scn-frigate-book .shadow    { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.15) 100%); animation: frb-shadow 10s ease-in-out infinite alternate; }
@keyframes frb-bg   { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes frb-shelf { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes frb-book { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(0deg) } }
@keyframes frb-chair { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes frb-sun  { 0% { opacity: .3; transform: rotate(-3deg) } 50% { opacity: .6; transform: rotate(3deg) } 100% { opacity: .4; transform: rotate(-1deg) } }
@keyframes frb-shadow { 0% { opacity: .1 } 50% { opacity: .3 } 100% { opacity: .15 } }

/* face-devoid */
.scn-face-devoid {
  background: linear-gradient(180deg, #111118 0%, #1a1a24 40%), radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, transparent 60%);
}
.scn-face-devoid .bg        { position:absolute; inset:0; background: linear-gradient(180deg, #111118 0%, #1a1a24 100%); animation: fdv-bg 15s ease-in-out infinite alternate; }
.scn-face-devoid .spotlight { position:absolute; top:10%; left:20%; width:60%; height:50%; background: radial-gradient(ellipse at 50% 50%, rgba(200,180,160,.3) 0%, transparent 70%); animation: fdv-spot 8s ease-in-out infinite alternate; }
.scn-face-devoid .face      { position:absolute; top:20%; left:35%; width:60px; height:80px; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px rgba(0,0,0,.6); animation: fdv-face 5s ease-in-out infinite; }
.scn-face-devoid .stone     { position:absolute; bottom:25%; left:45%; width:40px; height:30px; background: radial-gradient(ellipse at 40% 40%, #5a5a6a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40%; animation: fdv-stone 12s ease-in-out infinite alternate; }
.scn-face-devoid .shadow    { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%); animation: fdv-shadow 10s ease-in-out infinite alternate; }
@keyframes fdv-bg    { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes fdv-spot  { 0% { opacity: .4; transform: scale(1) } 50% { opacity: .7; transform: scale(1.1) } 100% { opacity: .5; transform: scale(.95) } }
@keyframes fdv-face  { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes fdv-stone { 0% { transform: scale(1) } 50% { transform: scale(1.03) } 100% { transform: scale(1) } }
@keyframes fdv-shadow { 0% { opacity: .3 } 50% { opacity: .5 } 100% { opacity: .4 } }

/* guinea-golden */
.scn-guinea-golden {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 40%), radial-gradient(ellipse at 60% 20%, #4a4a5a 0%, transparent 60%);
}
.scn-guinea-golden .bg     { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 100%); animation: ggd-bg 18s ease-in-out infinite alternate; }
.scn-guinea-golden .window { position:absolute; right:10%; top:10%; width:70px; height:90px; background: radial-gradient(ellipse at 50% 50%, #a0b8c0 0%, #7a929a 70%); border-radius: 8px; box-shadow: inset 0 0 10px rgba(0,0,0,.3); animation: ggd-window 6s ease-in-out infinite; }
.scn-guinea-golden .sand   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 20% 30% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.3); animation: ggd-sand 20s ease-in-out infinite alternate; }
.scn-guinea-golden .figure { position:absolute; bottom:15%; left:30%; width:18px; height:36px; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ggd-figure 5s ease-in-out infinite; }
.scn-guinea-golden .coin   { position:absolute; bottom:20%; left:60%; width:14px; height:14px; background: radial-gradient(circle, #d0a050 0%, #b08030 100%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(176,128,48,.5); animation: ggd-coin 4s ease-in-out infinite; }
.scn-guinea-golden .robin  { position:absolute; top:15%; right:20%; width:20px; height:16px; background: linear-gradient(180deg, #b87878 0%, #8a5050 100%); border-radius: 50% 50% 30% 30%; transform-origin: center bottom; animation: ggd-robin 7s ease-in-out infinite; }
@keyframes ggd-bg     { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes ggd-window { 0% { transform: scale(1) } 50% { transform: scale(1.02) translateY(-2px) } 100% { transform: scale(1) } }
@keyframes ggd-sand   { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ggd-figure { 0% { transform: rotate(0deg) translateX(0) } 25% { transform: rotate(-2deg) translateX(-2px) } 50% { transform: rotate(0deg) translateX(0) } 75% { transform: rotate(2deg) translateX(2px) } 100% { transform: rotate(0deg) translateX(0) } }
@keyframes ggd-coin   { 0% { opacity:.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.1) translateY(-3px) } 100% { opacity:.7; transform: scale(1) } }
@keyframes ggd-robin  { 0% { transform: translateY(0) } 25% { transform: translateY(-4px) } 50% { transform: translateY(0) } 75% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* ----- before-you-thought-of-spring ----- */
.scn-before-you-thought-of-spring {
  background: 
    linear-gradient(180deg, #7a8a8a 0%, #8a9a9a 30%, #9aaaaa 60%, #8a9a9a 100%),
    radial-gradient(ellipse at 50% 0%, #aababa 0%, transparent 70%);
}
.scn-before-you-thought-of-spring .sky-overcast {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #6a7a7a 0%, #8a9a9a 40%, transparent 100%);
  animation: sp-sky 15s ease-in-out infinite alternate;
}
.scn-before-you-thought-of-spring .cloud-bank {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(90deg, rgba(160,170,170,.6) 0%, rgba(180,190,190,.4) 50%, rgba(160,170,170,.2) 100%);
  border-radius: 60% 40% 50% 30%;
  filter: blur(8px);
  animation: sp-cloud 35s linear infinite alternate;
}
.scn-before-you-thought-of-spring .distant-woods {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: 
    linear-gradient(180deg, #4a5a3a 0%, #3a4a2a 40%, #2a3a1a 100%),
    radial-gradient(ellipse at 30% 100%, #3a4a2a 0%, transparent 60%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
  animation: sp-woods 20s ease-in-out infinite alternate;
}
.scn-before-you-thought-of-spring .bird-body {
  position: absolute; top: 28%; left: 45%; width: 28px; height: 22px;
  background: linear-gradient(135deg, #4a3a6a 0%, #3a2a5a 50%, #2a1a4a 100%);
  border-radius: 50% 40% 40% 50% / 60% 50% 50% 60%;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: sp-bird 8s ease-in-out infinite;
}
.scn-before-you-thought-of-spring .bird-wing {
  position: absolute; top: 26%; left: 44%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #6a5a3a 0%, #5a4a2a 50%, #4a3a1a 100%);
  border-radius: 80% 20% 60% 40% / 70% 30% 70% 30%;
  transform-origin: 60% 80%;
  animation: sp-wing 1.2s ease-in-out infinite alternate;
}
.scn-before-you-thought-of-spring .grass-hummock {
  position: absolute; bottom: 32%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #5a6a3a 0%, #4a5a2a 60%, #3a4a1a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,.2);
  animation: sp-grass 12s ease-in-out infinite alternate;
}
.scn-before-you-thought-of-spring .rain-veil {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: repeating-linear-gradient(
    45deg,
    transparent 0px,
    transparent 8px,
    rgba(180,200,210,.08) 8px,
    rgba(180,200,210,.08) 10px
  );
  animation: sp-rain 4s linear infinite;
}
@keyframes sp-sky { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .8 } }
@keyframes sp-cloud { 0% { transform: translateX(-20px) scaleX(1) } 50% { transform: translateX(10px) scaleX(1.05) } 100% { transform: translateX(-30px) scaleX(.95) } }
@keyframes sp-woods { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes sp-bird { 0% { transform: translate(0,0) rotate(-5deg) scale(1) } 25% { transform: translate(4px,-3px) rotate(-3deg) scale(1.02) } 50% { transform: translate(-2px,2px) rotate(-6deg) scale(.98) } 75% { transform: translate(6px,-1px) rotate(-4deg) scale(1.01) } 100% { transform: translate(0,0) rotate(-5deg) scale(1) } }
@keyframes sp-wing { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(-20deg) scaleY(.8) } 100% { transform: rotate(10deg) scaleY(1) } }
@keyframes sp-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes sp-rain { 0% { background-position: 0 0 } 100% { background-position: 20px 20px } }

/* ----- whose-are-the-little-beds ----- */
.scn-whose-are-the-little-beds {
  background: 
    linear-gradient(180deg, #b0c8e0 0%, #c8d8e8 30%, #d0e0f0 60%, #c0d0e0 100%),
    radial-gradient(ellipse at 50% 100%, #d8e8f8 0%, transparent 70%);
}
.scn-whose-are-the-little-beds .sky-clear {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #a0b8d0 0%, #c0d8e8 40%, transparent 100%);
  animation: db-sky 18s ease-in-out infinite alternate;
}
.scn-whose-are-the-little-beds .sun-bloom {
  position: absolute; top: 10%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffe8a8 0%, #ffd878 30%, #ffc848 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(255,216,120,.15);
  animation: db-sun 20s ease-in-out infinite alternate;
}
.scn-whose-are-the-little-beds .far-hills {
  position: absolute; bottom: 38%; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #8aaa7a 0%, #6a8a5a 50%, #4a6a3a 100%);
  border-radius: 40% 60% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 8px 25px rgba(0,0,0,.2);
  animation: db-hills 25s ease-in-out infinite alternate;
}
.scn-whose-are-the-little-beds .daisy-stem {
  position: absolute; bottom: 30%; left: 32%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #5a7a4a 0%, #4a6a3a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: db-stem 6s ease-in-out infinite;
}
.scn-whose-are-the-little-beds .daisy-flower {
  position: absolute; bottom: 60%; left: 30%; width: 18px; height: 18px;
  background: radial-gradient(circle, #f0e8d8 0%, #e8d8c0 30%, #e0c8a8 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(240,232,216,.3);
  animation: db-flower 8s ease-in-out infinite;
}
.scn-whose-are-the-little-beds .daisy-flower2 {
  position: absolute; bottom: 58%; left: 36%; width: 14px; height: 14px;
  background: radial-gradient(circle, #f0e8d8 0%, #e8d8c0 30%, #e0c8a8 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(240,232,216,.25);
  animation: db-flower2 9s ease-in-out infinite reverse;
}
.scn-whose-are-the-little-beds .meadow-sweep {
  position: absolute; bottom: 25%; left: 10%; width: 80%; height: 15%;
  background: linear-gradient(180deg, #6a8a5a 0%, #5a7a4a 40%, #4a6a3a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 6px 20px rgba(0,0,0,.15);
  animation: db-meadow 14s ease-in-out infinite alternate;
}
.scn-whose-are-the-little-beds .butterfly {
  position: absolute; top: 40%; left: 55%; width: 12px; height: 8px;
  background: linear-gradient(135deg, #d8a060 0%, #c88850 50%, #b87840 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: rotate(-30deg);
  animation: db-butterfly 10s ease-in-out infinite;
}
@keyframes db-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes db-sun { 0% { transform: scale(1) translate(0,0); opacity: .9 } 50% { transform: scale(1.05) translate(2px,-2px); opacity: 1 } 100% { transform: scale(.98) translate(-1px,1px); opacity: .85 } }
@keyframes db-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes db-stem { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-3deg) } }
@keyframes db-flower { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 33% { transform: translate(2px,-1px) rotate(10deg) scale(1.05) } 66% { transform: translate(-1px,1px) rotate(-5deg) scale(.95) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes db-flower2 { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 33% { transform: translate(-2px,1px) rotate(-8deg) scale(.95) } 66% { transform: translate(1px,-1px) rotate(6deg) scale(1.05) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes db-meadow { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes db-butterfly { 0% { transform: translate(0,0) rotate(-30deg) scale(1) } 25% { transform: translate(15px,-8px) rotate(-20deg) scale(1.1) } 50% { transform: translate(30px,-15px) rotate(-35deg) scale(.9) } 75% { transform: translate(45px,-8px) rotate(-25deg) scale(1.05) } 100% { transform: translate(60px,0) rotate(-30deg) scale(1) } }

/* ----- item-velvet-people-vevay ----- */
.scn-item-velvet-people-vevay {
  background: 
    linear-gradient(180deg, #c8b080 0%, #b8a070 30%, #a89060 60%, #988050 100%),
    radial-gradient(ellipse at 50% 100%, #b8a070 0%, transparent 70%);
}
.scn-item-velvet-people-vevay .briar-bg {
  position: absolute; inset: 0;
  background: 
    linear-gradient(135deg, #6a7a3a 0%, #5a6a2a 40%, #4a5a1a 100%),
    radial-gradient(ellipse at 30% 80%, #5a6a2a 0%, transparent 60%);
  opacity: .7;
  animation: vv-bg 25s ease-in-out infinite alternate;
}
.scn-item-velvet-people-vevay .briar-leaf {
  position: absolute; bottom: 40%; left: 20%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #6a8a3a 0%, #5a7a2a 60%, #4a6a1a 100%);
  border-radius: 60% 20% 60% 20% / 40% 60% 40% 60%;
  transform: rotate(15deg);
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  animation: vv-leaf 8s ease-in-out infinite;
}
.scn-item-velvet-people-vevay .briar-stem {
  position: absolute; bottom: 25%; left: 25%; width: 6px; height: 80px;
  background: linear-gradient(180deg, #5a4a2a 0%, #4a3a1a 60%, #3a2a0a 100%);
  border-radius: 3px;
  transform: rotate(-8deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: vv-stem 12s ease-in-out infinite alternate;
}
.scn-item-velvet-people-vevay .bee-body {
  position: absolute; top: 35%; left: 40%; width: 16px; height: 22px;
  background: linear-gradient(180deg, #d8a030 0%, #c89020 30%, #b88010 60%, #a87000 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 60% 60%;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  animation: vv-bee 5s ease-in-out infinite;
}
.scn-item-velvet-people-vevay .bee-wing {
  position: absolute; top: 33%; left: 38%; width: 10px; height: 14px;
  background: linear-gradient(180deg, rgba(200,220,240,.6) 0%, rgba(180,200,220,.3) 100%);
  border-radius: 60% 40% 50% 50% / 70% 50% 50% 60%;
  transform: rotate(-20deg);
  animation: vv-wing 0.6s ease-in-out infinite alternate;
}
.scn-item-velvet-people-vevay .flower-cup {
  position: absolute; bottom: 35%; left: 30%; width: 12px; height: 16px;
  background: radial-gradient(ellipse at 50% 0%, #e8b888 0%, #d8a878 40%, #c89868 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 0 10px 3px rgba(216,168,120,.2);
  animation: vv-flower 7s ease-in-out infinite;
}
.scn-item-velvet-people-vevay .flower-cup2 {
  position: absolute; bottom: 33%; left: 48%; width: 10px; height: 14px;
  background: radial-gradient(ellipse at 50% 0%, #e8b888 0%, #d8a878 40%, #c89868 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 0 8px 2px rgba(216,168,120,.15);
  animation: vv-flower2 9s ease-in-out infinite reverse;
}
.scn-item-velvet-people-vevay .dust-mote {
  position: absolute; top: 20%; left: 60%; width: 4px; height: 4px;
  background: rgba(240,220,180,.4);
  border-radius: 50%;
  filter: blur(1px);
  animation: vv-mote 15s linear infinite;
}
@keyframes vv-bg { 0% { opacity: .6 } 50% { opacity: .8 } 100% { opacity: .7 } }
@keyframes vv-leaf { 0% { transform: rotate(15deg) scale(1) } 50% { transform: rotate(20deg) scale(1.05) } 100% { transform: rotate(10deg) scale(.95) } }
@keyframes vv-stem { 0% { transform: rotate(-8deg) } 50% { transform: rotate(-5deg) } 100% { transform: rotate(-11deg) } }
@keyframes vv-bee { 0% { transform: translate(0,0) rotate(0deg) } 20% { transform: translate(8px,-4px) rotate(5deg) } 40% { transform: translate(16px,-8px) rotate(-3deg) } 60% { transform: translate(24px,-4px) rotate(4deg) } 80% { transform: translate(32px,0) rotate(-2deg) } 100% { transform: translate(40px,2px) rotate(0deg) } }
@keyframes vv-wing { 0% { transform: rotate(-20deg) scaleY(1) } 50% { transform: rotate(-40deg) scaleY(.7) } 100% { transform: rotate(-10deg) scaleY(1) } }
@keyframes vv-flower { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 33% { transform: translate(2px,-1px) rotate(8deg) scale(1.03) } 66% { transform: translate(-1px,1px) rotate(-4deg) scale(.97) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes vv-flower2 { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 33% { transform: translate(-2px,1px) rotate(-6deg) scale(.97) } 66% { transform: translate(1px,-1px) rotate(5deg) scale(1.03) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes vv-mote { 0% { transform: translate(0,0); opacity: .4 } 25% { transform: translate(10px,-15px); opacity: .6 } 50% { transform: translate(20px,-30px); opacity: .3 } 75% { transform: translate(30px,-45px); opacity: .5 } 100% { transform: translate(40px,-60px); opacity: .2 } }

/* ----- to-hear-an-oriole-sing ----- */
.scn-to-hear-an-oriole-sing {
  background: 
    linear-gradient(180deg, #b8d0e0 0%, #c8d8e8 30%, #d0e0f0 60%, #c0d0e0 100%),
    radial-gradient(ellipse at 60% 100%, #d8e8f8 0%, transparent 70%);
}
.scn-to-hear-an-oriole-sing .sky-warm {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a8c0d8 0%, #c0d8e8 40%, transparent 100%);
  animation: os-sky 20s ease-in-out infinite alternate;
}
.scn-to-hear-an-oriole-sing .tree-branch {
  position: absolute; bottom: 30%; left: 20%; width: 70%; height: 8px;
  background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #6a5a4a 100%);
  border-radius: 4px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.3);
  transform: rotate(-5deg);
  animation: os-branch 15s ease-in-out infinite alternate;
}
.scn-to-hear-an-oriole-sing .leaf-cluster {
  position: absolute; bottom: 32%; left: 35%; width: 50px; height: 30px;
  background: radial-gradient(ellipse at 30% 40%, #5a8a3a 0%, #4a7a2a 40%, #3a6a1a 80%);
  border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%;
  box-shadow: inset 0 -4px 10px rgba(0,0,0,.2);
  animation: os-leaves 10s ease-in-out infinite alternate;
}
.scn-to-hear-an-oriole-sing .oriole-body {
  position: absolute; bottom: 31%; left: 50%; width: 20px; height: 24px;
  background: linear-gradient(135deg, #e8a030 0%, #d89020 40%, #c88010 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 60% 60%;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  animation: os-bird 6s ease-in-out infinite;
}
.scn-to-hear-an-oriole-sing .oriole-wing {
  position: absolute; bottom: 33%; left: 48%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #c88020 0%, #b87010 50%, #a86000 100%);
  border-radius: 80% 20% 60% 40% / 70% 30% 70% 30%;
  transform-origin: 40% 100%;
  animation: os-wing 0.8s ease-in-out infinite alternate;
}
.scn-to-hear-an-oriole-sing .music-note {
  position: absolute; top: 25%; left: 52%; width: 6px; height: 10px;
  background: radial-gradient(ellipse at 50% 0%, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px 2px rgba(90,74,58,.2);
  animation: os-note 4s ease-in-out infinite;
}
.scn-to-hear-an-oriole-sing .music-note2 {
  position: absolute; top: 22%; left: 56%; width: 5px; height: 8px;
  background: radial-gradient(ellipse at 50% 0%, #7a6a5a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 5px 2px rgba(106,90,74,.15);
  animation: os-note2 5s ease-in-out infinite reverse;
}
.scn-to-hear-an-oriole-sing .sun-ray {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(255,240,200,.06) 0%, transparent 50%);
  pointer-events: none;
  animation: os-ray 8s ease-in-out infinite alternate;
}
@keyframes os-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes os-branch { 0% { transform: rotate(-5deg) } 50% { transform: rotate(-3deg) } 100% { transform: rotate(-7deg) } }
@keyframes os-leaves { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 50% { transform: translate(2px,-1px) rotate(3deg) scale(1.02) } 100% { transform: translate(-1px,1px) rotate(-2deg) scale(.98) } }
@keyframes os-bird { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(3px,-2px) rotate(4deg) } 50% { transform: translate(-2px,1px) rotate(-2deg) } 75% { transform: translate(4px,-1px) rotate(3deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes os-wing { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(-30deg) scaleY(.7) } 100% { transform: rotate(10deg) scaleY(1) } }
@keyframes os-note { 0% { transform: translate(0,0) rotate(0deg) scale(1); opacity: .7 } 25% { transform: translate(4px,-8px) rotate(15deg) scale(1.1); opacity: 1 } 50% { transform: translate(8px,-16px) rotate(-10deg) scale(.9); opacity: .6 } 75% { transform: translate(12px,-24px) rotate(8deg) scale(1.05); opacity: .8 } 100% { transform: translate(16px,-32px) rotate(0deg) scale(1); opacity: .4 } }
@keyframes os-note2 { 0% { transform: translate(0,0) rotate(0deg) scale(1); opacity: .6 } 25% { transform: translate(-3px,-6px) rotate(-12deg) scale(.9); opacity: .9 } 50% { transform: translate(-6px,-12px) rotate(8deg) scale(1.1); opacity: .5 } 75% { transform: translate(-9px,-18px) rotate(-5deg) scale(.95); opacity: .7 } 100% { transform: translate(-12px,-24px) rotate(0deg) scale(1); opacity: .3 } }
@keyframes os-ray { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .6; transform: scale(1.02) } 100% { opacity: .4; transform: scale(.98) } }

.scn-eternal-intoxication {
  background:
    linear-gradient(180deg, #f5d79a 0%, #f0b86c 40%, #e29b4f 100%),
    radial-gradient(ellipse at 70% 30%, #fff5d0 0%, transparent 50%);
}
.scn-eternal-intoxication .sky {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #faeab5 0%, transparent 100%);
  animation: eti-sky 10s ease-in-out infinite alternate;
}
.scn-eternal-intoxication .sun {
  position:absolute; top:16%; left:70%; width:60px; height:60px;
  background: radial-gradient(circle, #fff5c0 0%, #f0c060 60%, transparent 100%);
  border-radius:50%; box-shadow: 0 0 80px 20px #f0c060;
  animation: eti-pulse 4s ease-in-out infinite;
}
.scn-eternal-intoxication .figure {
  position:absolute; bottom:22%; left:45%; width:30px; height:60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: eti-sway 5s ease-in-out infinite;
}
.scn-eternal-intoxication .tankard {
  position:absolute; bottom:24%; left:48%; width:24px; height:28px;
  background: linear-gradient(180deg, #e8d4b0 0%, #c8a87a 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 16px 4px rgba(200,168,122,0.6);
  transform-origin: bottom center;
  animation: eti-float 6s ease-in-out infinite;
}
.scn-eternal-intoxication .pearl {
  position:absolute; bottom:30%; left:49%; width:8px; height:8px;
  background: radial-gradient(circle at 35% 35%, #ffffff 0%, #f0e8d8 70%);
  border-radius:50%; box-shadow: 0 0 12px 3px rgba(240,232,216,0.8);
  animation: eti-shimmer 3s ease-in-out infinite alternate;
}
.scn-eternal-intoxication .rays {
  position:absolute; inset:0;
  background: repeating-linear-gradient(45deg, transparent 0%, transparent 8%, rgba(255,240,180,0.1) 8%, rgba(255,240,180,0.1) 12%);
  animation: eti-rotate 20s linear infinite;
}
.scn-eternal-intoxication .halo {
  position:absolute; top:10%; left:40%; width:200px; height:200px;
  background: radial-gradient(circle, rgba(255,235,180,0.2) 0%, transparent 70%);
  border-radius:50%; filter: blur(30px);
  animation: eti-halo 8s ease-in-out infinite alternate;
}
@keyframes eti-sky     { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes eti-pulse   { 0% { transform:scale(0.95); opacity:0.8 } 50% { transform:scale(1.05); box-shadow: 0 0 100px 30px #f0c060 } 100% { transform:scale(0.95); opacity:0.8 } }
@keyframes eti-sway    { 0% { transform:translateX(0) rotate(-2deg) } 50% { transform:translateX(4px) rotate(2deg) } 100% { transform:translateX(0) rotate(-2deg) } }
@keyframes eti-float   { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-3px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes eti-shimmer { 0% { transform:scale(1); box-shadow: 0 0 8px 2px rgba(240,232,216,0.6) } 50% { transform:scale(1.3); box-shadow: 0 0 20px 6px rgba(255,255,255,0.9) } 100% { transform:scale(1); box-shadow: 0 0 8px 2px rgba(240,232,216,0.6) } }
@keyframes eti-rotate  { 0% { transform:rotate(0deg) } 100% { transform:rotate(360deg) } }
@keyframes eti-halo    { 0% { opacity:0.3; transform:scale(0.9) } 50% { opacity:0.5; transform:scale(1.1) } 100% { opacity:0.3; transform:scale(0.9) } }

.scn-liberation-through-books {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0e05 100%),
    radial-gradient(ellipse at 50% 60%, #5a4a3a 0%, transparent 70%);
}
.scn-liberation-through-books .bg {
  position:absolute; inset:0;
  background: linear-gradient(135deg, #2a1a0a 0%, #4a3a2a 50%, #2a1a0a 100%);
  animation: lib-ambient 12s ease-in-out infinite alternate;
}
.scn-liberation-through-books .bookshelf {
  position:absolute; bottom:30%; left:10%; width:80%; height:35%;
  background: linear-gradient(180deg, #8a5a3a 0%, #6a3a1a 100%);
  border-radius:4px; box-shadow: inset 0 6px 12px rgba(0,0,0,0.6);
}
.scn-liberation-through-books .book1,
.scn-liberation-through-books .book2 {
  position:absolute; bottom:32%; width:10px; height:28px;
  border-radius:2px;
}
.scn-liberation-through-books .book1 {
  left:20%; background: linear-gradient(180deg, #b87878 0%, #8a5050 100%);
  animation: lib-breathe 4s ease-in-out infinite;
}
.scn-liberation-through-books .book2 {
  left:35%; background: linear-gradient(180deg, #6a8a6a 0%, #4a6a4a 100%);
  animation: lib-breathe 4s ease-in-out infinite 1s;
}
.scn-liberation-through-books .figure {
  position:absolute; bottom:25%; left:30%; width:32px; height:50px;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lib-sway 6s ease-in-out infinite;
}
.scn-liberation-through-books .glow {
  position:absolute; bottom:32%; left:32%; width:20px; height:20px;
  background: radial-gradient(circle, #f0c070 0%, transparent 70%);
  border-radius:50%; box-shadow: 0 0 30px 8px rgba(240,192,112,0.5);
  animation: lib-breathe 3s ease-in-out infinite alternate;
}
.scn-liberation-through-books .dust {
  position:absolute; inset:0;
  pointer-events:none;
}
.scn-liberation-through-books .dust::before {
  content:''; position:absolute; top:20%; left:10%;
  width:4px; height:4px; background:rgba(200,180,150,0.3);
  border-radius:50%; filter:blur(1px);
  animation: lib-drift 8s linear infinite;
}
.scn-liberation-through-books .dust::after {
  content:''; position:absolute; top:40%; left:80%;
  width:3px; height:3px; background:rgba(200,180,150,0.2);
  border-radius:50%;
  animation: lib-drift 10s linear infinite 3s;
}
@keyframes lib-ambient { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes lib-breathe  { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.1) } 100% { transform:scaleY(1) } }
@keyframes lib-sway    { 0% { transform:rotate(-1deg) translateX(0) } 50% { transform:rotate(1deg) translateX(2px) } 100% { transform:rotate(-1deg) translateX(0) } }
@keyframes lib-drift   { 0% { transform:translate(0,0) scale(1); opacity:0 } 30% { opacity:0.5 } 70% { opacity:0.3 } 100% { transform:translate(-30px,-20px) scale(2); opacity:0 } }

.scn-little-boat-toddled {
  background:
    linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 40%, #1a2a3a 100%),
    radial-gradient(ellipse at 50% 30%, #5a6a7a 0%, transparent 60%);
}
.scn-little-boat-toddled .sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 60%, transparent 100%);
  animation: lbt-sky 8s ease-in-out infinite alternate;
}
.scn-little-boat-toddled .sea {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 40% 60% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: lbt-sea 6s ease-in-out infinite;
}
.scn-little-boat-toddled .boat {
  position:absolute; bottom:35%; left:25%; width:50px; height:16px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform-origin: center 80%;
  animation: lbt-rock 4s ease-in-out infinite;
}
.scn-little-boat-toddled .sail {
  position:absolute; bottom:37%; left:27%; width:0; height:0;
  border-left: 20px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 28px solid #c8b090;
  transform-origin: bottom center;
  animation: lbt-flap 3s ease-in-out infinite;
}
.scn-little-boat-toddled .figure {
  position:absolute; bottom:35%; left:30%; width:10px; height:18px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: lbt-helm 5s ease-in-out infinite;
}
.scn-little-boat-toddled .clouds {
  position:absolute; top:10%; left:0; right:0; height:30%;
  background: radial-gradient(ellipse at 20% 50%, rgba(150,170,190,0.3) 0%, transparent 50%),
              radial-gradient(ellipse at 60% 30%, rgba(150,170,190,0.2) 0%, transparent 40%);
  filter: blur(6px);
  animation: lbt-clouds 25s linear infinite;
}
.scn-little-boat-toddled .spray {
  position:absolute; bottom:38%; left:25%; width:100px; height:30px;
  background: radial-gradient(circle at 10% 80%, rgba(200,220,240,0.2) 0%, transparent 50%);
  filter: blur(4px);
  animation: lbt-spray 4s ease-in-out infinite;
}
@keyframes lbt-sky   { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes lbt-sea   { 0% { transform:translateX(0) translateY(0) } 50% { transform:translateX(-5px) translateY(2px) } 100% { transform:translateX(0) translateY(0) } }
@keyframes lbt-rock  { 0% { transform:rotate(-3deg) translateY(0) } 50% { transform:rotate(3deg) translateY(-1px) } 100% { transform:rotate(-3deg) translateY(0) } }
@keyframes lbt-flap  { 0% { transform:skewY(0deg) } 50% { transform:skewY(-5deg) } 100% { transform:skewY(0deg) } }
@keyframes lbt-helm  { 0% { transform:rotate(-1deg) } 50% { transform:rotate(2deg) } 100% { transform:rotate(-1deg) } }
@keyframes lbt-clouds { 0% { transform:translateX(-10vw); opacity:0.4 } 50% { opacity:0.6 } 100% { transform:translateX(110vw); opacity:0.3 } }
@keyframes lbt-spray { 0% { opacity:0; transform:scale(0.8) } 30% { opacity:0.6 } 70% { opacity:0.4 } 100% { opacity:0; transform:scale(1.2) } }

.scn-belshazzar-conscience {
  background:
    linear-gradient(180deg, #1a0a1a 0%, #2a1a2a 30%, #0a0a1a 100%),
    radial-gradient(ellipse at 40% 30%, #3a2a3a 0%, transparent 70%);
}
.scn-belshazzar-conscience .wall {
  position:absolute; inset:0;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a1a2a 50%, #1a0a1a 100%);
  animation: bel-waver 15s ease-in-out infinite alternate;
}
.scn-belshazzar-conscience .glow {
  position:absolute; top:20%; left:30%; width:120px; height:80px;
  background: radial-gradient(ellipse, #b08030 0%, transparent 70%);
  border-radius:50%; filter: blur(20px);
  animation: bel-flicker 3s ease-in-out infinite alternate;
}
.scn-belshazzar-conscience .script {
  position:absolute; top:25%; left:35%; width:80px; height:40px;
  background: repeating-linear-gradient(90deg, #c8a860 0px, #c8a860 2px, transparent 2px, transparent 6px);
  opacity:0.6;
  animation: bel-write 6s ease-in-out infinite;
}
.scn-belshazzar-conscience .figure {
  position:absolute; bottom:20%; left:45%; width:30px; height:70px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bel-float 7s ease-in-out infinite;
}
.scn-belshazzar-conscience .shadow {
  position:absolute; bottom:10%; left:40%; width:100px; height:40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(10px);
  animation: bel-shadow 7s ease-in-out infinite;
}
.scn-belshazzar-conscience .splinter {
  position:absolute; top:45%; left:38%; width:3px; height:20px;
  background: #c8a860;
  border-radius:2px; box-shadow: 0 0 8px 2px rgba(200,168,96,0.5);
  transform:rotate(15deg);
  animation: bel-flash 4s ease-in-out infinite;
}
@keyframes bel-waver  { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes bel-flicker { 0% { opacity:0.4; transform:scale(0.95) } 50% { opacity:0.8; transform:scale(1.05) } 100% { opacity:0.5; transform:scale(0.98) } }
@keyframes bel-write  { 0% { opacity:0; transform:translateX(-10px) } 30% { opacity:0.6; transform:translateX(0) } 70% { opacity:0.8 } 100% { opacity:0; transform:translateX(10px) } }
@keyframes bel-float  { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-3px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes bel-shadow { 0% { transform:scaleX(0.9); opacity:0.5 } 50% { transform:scaleX(1.1); opacity:0.8 } 100% { transform:scaleX(0.9); opacity:0.5 } }
@keyframes bel-flash  { 0% { opacity:0; transform:rotate(15deg) scale(1) } 30% { opacity:0.8; transform:rotate(25deg) scale(1.2) } 60% { opacity:0.4 } 100% { opacity:0; transform:rotate(10deg) scale(0.8) } }

.scn-death-thimble-memory {
  background:
    linear-gradient(180deg, #2a1e1e 0%, #1a1212 60%, #0d0808 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a2a 0%, transparent 60%);
}
.scn-death-thimble-memory .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%);
  animation: dtm-wall 20s ease-in-out infinite alternate;
}
.scn-death-thimble-memory .table-top {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.6);
}
.scn-death-thimble-memory .thimble {
  position: absolute; bottom: 15%; left: 40%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(-3deg);
  box-shadow: 0 0 8px rgba(160,160,160,.3);
  animation: dtm-thimble 4s ease-in-out infinite;
}
.scn-death-thimble-memory .wool-ball {
  position: absolute; bottom: 16%; left: 55%; width: 22px; height: 22px;
  background: radial-gradient(circle, #7a6a4a 0%, #4a3a2a 70%, #2a1a0a 100%);
  border-radius: 50%; box-shadow: inset 0 -3px 6px rgba(0,0,0,.4);
  animation: dtm-wool 6s ease-in-out infinite;
}
.scn-death-thimble-memory .crayon-stub {
  position: absolute; bottom: 18%; left: 25%; width: 28px; height: 6px;
  background: linear-gradient(90deg, #5a7a5a 0%, #3a5a3a 100%);
  border-radius: 30% 30% 10% 10%; transform: rotate(25deg);
  box-shadow: 0 1px 3px rgba(0,0,0,.3);
  animation: dtm-crayon 8s ease-in-out infinite;
}
.scn-death-thimble-memory .faint-light {
  position: absolute; top: 30%; left: 45%; width: 100px; height: 120px;
  background: radial-gradient(ellipse, rgba(200,180,140,.15) 0%, transparent 70%);
  filter: blur(15px);
  animation: dtm-light 5s ease-in-out infinite alternate;
}
.scn-death-thimble-memory .dust-mote {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(200,190,180,.4); border-radius: 50%;
  box-shadow: 0 0 6px rgba(200,190,180,.2);
  animation: dtm-dust 15s linear infinite;
}
@keyframes dtm-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes dtm-thimble { 0%,100% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-2px) } }
@keyframes dtm-wool { 0%,100% { transform: translateX(0) translateY(0) } 25% { transform: translateX(2px) translateY(-1px) } 50% { transform: translateX(4px) translateY(0) scale(1.02) } 75% { transform: translateX(1px) translateY(1px) } }
@keyframes dtm-crayon { 0%,100% { transform: rotate(25deg) } 50% { transform: rotate(30deg) translateX(2px) } }
@keyframes dtm-light { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes dtm-dust { 0% { transform: translate(0,0) scale(1) } 25% { transform: translate(10px,-5px) scale(1.2) } 50% { transform: translate(20px,5px) scale(.8) } 75% { transform: translate(5px,10px) scale(1.1) } 100% { transform: translate(0,0) scale(1) } }

.scn-book-friend-memory {
  background:
    linear-gradient(180deg, #1a0e08 0%, #2a1a10 40%, #3a2010 70%, #2a1a10 100%),
    radial-gradient(ellipse at 30% 60%, #c06020 0%, transparent 50%);
}
.scn-book-friend-memory .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0e08 0%, #2a1a10 100%);
  animation: bfm-bg 25s ease-in-out infinite alternate;
}
.scn-book-friend-memory .fire-glow {
  position: absolute; bottom: 10%; left: 5%; width: 120px; height: 150px;
  background: radial-gradient(ellipse, #ff8030 0%, #c04010 40%, transparent 70%);
  filter: blur(30px);
  animation: bfm-fire 3s ease-in-out infinite alternate;
}
.scn-book-friend-memory .book-spine {
  position: absolute; bottom: 25%; left: 35%; width: 80px; height: 10px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2px; transform: rotate(-2deg);
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: bfm-book 10s ease-in-out infinite;
}
.scn-book-friend-memory .book-pages {
  position: absolute; bottom: 26%; left: 36%; width: 72px; height: 24px;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 100%);
  border-radius: 1px 1px 4px 4px; transform: rotate(-2deg);
  box-shadow: inset 0 -2px 4px rgba(0,0,0,.1);
  animation: bfm-pages 6s ease-in-out infinite alternate;
}
.scn-book-friend-memory .pencil-line {
  position: absolute; bottom: 28%; left: 42%; width: 30px; height: 3px;
  background: linear-gradient(90deg, #2a2020 0%, #4a3a3a 100%);
  transform: rotate(15deg); border-radius: 20%;
  animation: bfm-pencil 5s ease-in-out infinite;
}
.scn-book-friend-memory .tiny-town {
  position: absolute; top: 15%; right: 15%; width: 50px; height: 30px;
  background:
    linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  clip-path: polygon(20% 60%, 40% 20%, 60% 40%, 80% 10%, 100% 60%, 0% 100%);
  opacity: .3; filter: blur(1px);
  animation: bfm-town 20s ease-in-out infinite alternate;
}
.scn-book-friend-memory .ember {
  position: absolute; bottom: 12%; left: 10%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ff6020 0%, #ff4000 60%, transparent 100%);
  border-radius: 50%;
  animation: bfm-ember 2s ease-in-out infinite;
}
@keyframes bfm-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes bfm-fire { 0% { opacity:.6; transform: scale(1) } 50% { opacity:.9; transform: scale(1.05) } 100% { opacity:.7; transform: scale(.98) } }
@keyframes bfm-book { 0%,100% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-1px) } }
@keyframes bfm-pages { 0% { transform: rotate(-2deg) skewX(0) } 50% { transform: rotate(-1deg) skewX(3deg) } 100% { transform: rotate(-2deg) skewX(0) } }
@keyframes bfm-pencil { 0%,100% { transform: rotate(15deg) } 50% { transform: rotate(12deg) translateX(2px) } }
@keyframes bfm-town { 0% { opacity:.2; transform: translateY(0) } 50% { opacity:.35; transform: translateY(-2px) } 100% { opacity:.25; transform: translateY(1px) } }
@keyframes bfm-ember { 0% { opacity:.8; transform: translate(0,0) scale(1) } 25% { opacity:1; transform: translate(3px,-8px) scale(1.3) } 50% { opacity:.6; transform: translate(6px,-15px) scale(.7) } 75% { opacity:.9; transform: translate(-2px,-5px) scale(1.1) } 100% { opacity:.8; transform: translate(0,0) scale(1) } }

.scn-heaven-supposition {
  background:
    linear-gradient(180deg, #c8c8c8 0%, #a0a0a0 40%, #808080 70%, #606060 100%),
    radial-gradient(ellipse at 50% 30%, #e0e0e0 0%, transparent 60%);
}
.scn-heaven-supposition .bg-overcast {
  position: absolute; inset: 0; background: linear-gradient(180deg, #d0d0d0 0%, #909090 100%);
  animation: hvs-sky 30s ease-in-out infinite alternate;
}
.scn-heaven-supposition .frame-edge {
  position: absolute; top: 10%; left: 15%; width: 60px; height: 80px;
  border: 3px solid #b0b0a0; background: transparent;
  border-radius: 4px; opacity: .4;
  animation: hvs-frame 15s ease-in-out infinite alternate;
}
.scn-heaven-supposition .moth-wing {
  position: absolute; top: 25%; left: 25%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, #e0d8d0 0%, #b0a898 100%);
  border-radius: 50% 0 50% 0; transform: rotate(20deg);
  filter: blur(1px); opacity: .7;
  animation: hvs-wing 8s ease-in-out infinite;
}
.scn-heaven-supposition .moth-body {
  position: absolute; top: 28%; left: 28%; width: 6px; height: 12px;
  background: #504848; border-radius: 40% 40% 20% 20%;
  transform: rotate(20deg);
  animation: hvs-body 8s ease-in-out infinite;
}
.scn-heaven-supposition .gossamer-float {
  position: absolute; top: 50%; left: 40%; width: 15px; height: 15px;
  background: radial-gradient(circle, rgba(240,240,230,.6) 0%, transparent 70%);
  border-radius: 50%; filter: blur(3px);
  animation: hvs-gossamer 12s linear infinite;
}
.scn-heaven-supposition .eider-name {
  position: absolute; top: 60%; left: 60%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #d8d4d0 0%, #a8a4a0 100%);
  clip-path: polygon(30% 0, 70% 0, 100% 100%, 0% 100%);
  opacity: .5;
  animation: hvs-eider 20s ease-in-out infinite alternate;
}
.scn-heaven-supposition .ladder-ghost {
  position: absolute; bottom: 15%; left: 50%; width: 4px; height: 100px;
  background: linear-gradient(180deg, #b0a8a0 0%, transparent 100%);
  opacity: .2; transform: translateX(-50%);
  animation: hvs-ladder 10s ease-in-out infinite alternate;
}
@keyframes hvs-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes hvs-frame { 0% { transform: scale(1) rotate(0) } 50% { transform: scale(1.02) rotate(2deg) } 100% { transform: scale(.98) rotate(-1deg) } }
@keyframes hvs-wing { 0%,100% { transform: rotate(20deg) scaleY(1) } 25% { transform: rotate(25deg) scaleY(1.1) } 50% { transform: rotate(15deg) scaleY(.9) } 75% { transform: rotate(22deg) scaleY(1.05) } }
@keyframes hvs-body { 0%,100% { transform: rotate(20deg) } 25% { transform: rotate(25deg) } 50% { transform: rotate(15deg) } 75% { transform: rotate(22deg) } }
@keyframes hvs-gossamer { 0% { transform: translate(0,0) scale(1); opacity:.5 } 25% { transform: translate(10px,-8px) scale(1.3); opacity:.7 } 50% { transform: translate(20px,5px) scale(.8); opacity:.4 } 75% { transform: translate(-5px,10px) scale(1.1); opacity:.6 } 100% { transform: translate(0,0) scale(1); opacity:.5 } }
@keyframes hvs-eider { 0% { opacity:.3; transform: translateY(0) } 50% { opacity:.6; transform: translateY(-3px) } 100% { opacity:.4; transform: translateY(2px) } }
@keyframes hvs-ladder { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(.9) translateY(-5px) } 100% { transform: translateX(-50%) scaleY(1) } }

.scn-wealth-comparison {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a201a 40%, #1a1410 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-wealth-comparison .bg-dim {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  animation: wlc-bg 30s ease-in-out infinite alternate;
}
.scn-wealth-comparison .scale-beam {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 4px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #4a3a2a 100%);
  transform: translateX(-50%); border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: wlc-beam 8s ease-in-out infinite alternate;
}
.scn-wealth-comparison .coin-small {
  position: absolute; bottom: 22%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #e0c060 0%, #b09040 60%, #806020 100%);
  border-radius: 50%; box-shadow: 0 0 12px 4px rgba(200,160,80,.3);
  animation: wlc-coin 4s ease-in-out infinite;
}
.scn-wealth-comparison .stone-large {
  position: absolute; bottom: 20%; left: 55%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%; transform: rotate(-5deg);
  box-shadow: inset 0 -4px 8px rgba(0,0,0,.3);
  animation: wlc-stone 10s ease-in-out infinite alternate;
}
.scn-wealth-comparison .shadow-hand {
  position: absolute; bottom: 28%; left: 30%; width: 30px; height: 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%);
  border-radius: 50% 50% 20% 20%; filter: blur(5px);
  animation: wlc-hand 6s ease-in-out infinite;
}
.scn-wealth-comparison .dust-spec {
  position: absolute; top: 30%; left: 20%; width: 3px; height: 3px;
  background: rgba(180,160,140,.3); border-radius: 50%;
  animation: wlc-dust 18s linear infinite;
}
.scn-wealth-comparison .vignette {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, transparent 40%, rgba(0,0,0,.4) 80%);
  pointer-events: none;
  animation: wlc-vign 15s ease-in-out infinite alternate;
}
@keyframes wlc-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wlc-beam { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(3deg) } 100% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes wlc-coin { 0%,100% { transform: translateY(0) scale(1); box-shadow: 0 0 10px 2px rgba(200,160,80,.3) } 25% { transform: translateY(-2px) scale(1.05); box-shadow: 0 0 18px 6px rgba(200,160,80,.5) } 50% { transform: translateY(0) scale(.98); box-shadow: 0 0 12px 3px rgba(200,160,80,.3) } 75% { transform: translateY(-1px) scale(1.02); box-shadow: 0 0 15px 4px rgba(200,160,80,.4) } }
@keyframes wlc-stone { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(-3deg) scale(.98) } 100% { transform: rotate(-7deg) scale(1.02) } }
@keyframes wlc-hand { 0%,100% { transform: translateX(0) scale(1); opacity:.5 } 50% { transform: translateX(4px) scale(.9); opacity:.7 } }
@keyframes wlc-dust { 0% { transform: translate(0,0) scale(1); opacity:.3 } 25% { transform: translate(5px,-10px) scale(1.5); opacity:.6 } 50% { transform: translate(15px,0) scale(.8); opacity:.4 } 75% { transform: translate(-5px,8px) scale(1.2); opacity:.5 } 100% { transform: translate(0,0) scale(1); opacity:.3 } }
@keyframes wlc-vign { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }

/* went-as-quiet-dew (qd) */
.scn-went-as-quiet-dew {
  background: linear-gradient(180deg, #0f0f1f 0%, #1a1a3e 40%, #2c2c5e 100%),
              radial-gradient(ellipse at 50% 30%, #3a3a6e 0%, transparent 70%);
}
.scn-went-as-quiet-dew .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a1a3e 0%, transparent 100%);
  animation: qd-sky 10s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .stars {
  position: absolute; inset: 0; background: transparent;
  box-shadow: 8px 10px 0 0 #d0d8ff, 30px 40px 0 1px #b8c8ff, 60px 20px 0 -1px #e0e8ff, 50px 60px 0 0 #c8d0ff, 20px 80px 0 1px #d8e0ff;
  border-radius: 50%; animation: qd-stars 3s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .moon {
  position: absolute; top: 12%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #eff0ff 0%, #b0b8e0 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px rgba(176,184,224,.5), 0 0 60px 20px rgba(176,184,224,.2);
  animation: qd-moon 6s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .figure {
  position: absolute; bottom: 18%; left: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: qd-figure 4s ease-in-out infinite;
}
.scn-went-as-quiet-dew .dew-1 {
  position: absolute; bottom: 28%; left: 45%; width: 6px; height: 6px;
  background: radial-gradient(circle at 40% 40%, #d0e0ff 0%, #a0b8e0 100%);
  border-radius: 50%; box-shadow: 0 0 4px 2px rgba(160,184,224,.4);
  animation: qd-dew-1 3s ease-in-out infinite;
}
.scn-went-as-quiet-dew .dew-2 {
  position: absolute; bottom: 32%; left: 52%; width: 5px; height: 5px;
  background: radial-gradient(circle at 40% 40%, #d0e0ff 0%, #a0b8e0 100%);
  border-radius: 50%; box-shadow: 0 0 4px 2px rgba(160,184,224,.4);
  animation: qd-dew-2 3.5s ease-in-out infinite 1s;
}
.scn-went-as-quiet-dew .lamp {
  position: absolute; bottom: 22%; left: 55%; width: 8px; height: 14px;
  background: radial-gradient(circle at 50% 80%, #ffda80 0%, #c09040 100%);
  border-radius: 20% 20% 40% 40%; box-shadow: 0 0 20px 5px rgba(192,144,64,.6);
  animation: qd-lamp 4s ease-in-out infinite;
}
.scn-went-as-quiet-deu .flower {
  position: absolute; bottom: 12%; left: 45%; width: 12px; height: 18px;
  background: radial-gradient(circle at 50% 30%, #7a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-10deg); animation: qd-flower 6s ease-in-out infinite;
}
@keyframes qd-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes qd-stars { 0% { opacity: 0.6; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.4; transform: scale(1) } }
@keyframes qd-moon { 0% { transform: translate(0, 0) scale(0.95); box-shadow: 0 0 20px 8px rgba(176,184,224,.3) } 50% { transform: translate(0, -2px) scale(1.05); box-shadow: 0 0 40px 16px rgba(176,184,224,.6) } 100% { transform: translate(0, 0) scale(1); box-shadow: 0 0 30px 10px rgba(176,184,224,.5) } }
@keyframes qd-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-2deg) } 75% { transform: translateX(24px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }
@keyframes qd-dew-1 { 0%,100% { transform: translateY(0) scale(0.9); opacity: 0.7 } 50% { transform: translateY(-8px) scale(1.1); opacity: 1 } }
@keyframes qd-dew-2 { 0%,100% { transform: translateY(0) scale(0.9); opacity: 0.6 } 50% { transform: translateY(-6px) scale(1.1); opacity: 1 } }
@keyframes qd-lamp { 0%,100% { box-shadow: 0 0 15px 3px rgba(192,144,64,.5); opacity: 0.8 } 50% { box-shadow: 0 0 30px 8px rgba(192,144,64,.8); opacity: 1 } }
@keyframes qd-flower { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(5deg) } }

/* death-dialogue-spirit (dd) */
.scn-death-dialogue-spirit {
  background: linear-gradient(180deg, #2a2a3a 0%, #4a4a5e 30%, #6a6a7e 100%),
              radial-gradient(ellipse at 50% 20%, #8a8a9e 0%, transparent 70%);
}
.scn-death-dialogue-spirit .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a4a5e 0%, #8a6a4e 50%, #c8a06e 100%);
  animation: dd-sky 8s ease-in-out infinite alternate;
}
.scn-death-dialogue-spirit .horizon {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, transparent 0%, #b09070 50%, transparent 100%);
  animation: dd-horizon 10s ease-in-out infinite alternate;
}
.scn-death-dialogue-spirit .spirit {
  position: absolute; bottom: 35%; left: 40%; width: 24px; height: 50px;
  background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(200,200,220,0.1) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 12px 4px rgba(200,200,220,0.2);
  transform-origin: bottom center;
  animation: dd-spirit 6s ease-in-out infinite;
}
.scn-death-dialogue-spirit .dust-1 {
  position: absolute; bottom: 25%; left: 30%; width: 6px; height: 6px;
  background: radial-gradient(circle, #e0d0c0 0%, #b0a090 100%);
  border-radius: 50%; filter: blur(2px);
  animation: dd-dust-1 13s linear infinite;
}
.scn-death-dialogue-spirit .dust-2 {
  position: absolute; bottom: 28%; left: 55%; width: 5px; height: 5px;
  background: radial-gradient(circle, #e0d0c0 0%, #b0a090 100%);
  border-radius: 50%; filter: blur(2px);
  animation: dd-dust-2 11s linear infinite 3s;
}
.scn-death-dialogue-spirit .overcoat {
  position: absolute; bottom: 22%; left: 38%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: dd-overcoat 5s ease-in-out infinite;
}
.scn-death-dialogue-spirit .sun {
  position: absolute; top: 10%; right: 15%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe8c0 0%, #c8a06e 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(200,160,110,0.4), 0 0 80px 30px rgba(200,160,110,0.2);
  animation: dd-sun 7s ease-in-out infinite alternate;
}
@keyframes dd-sky { 0% { opacity: 0.6; background: linear-gradient(180deg, #4a4a5e 0%, #8a6a4e 50%, #c8a06e 100%) } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes dd-horizon { 0% { transform: scaleX(0.8); opacity: 0.5 } 50% { transform: scaleX(1.2); opacity: 1 } 100% { transform: scaleX(0.9); opacity: 0.6 } }
@keyframes dd-spirit { 0% { transform: translate(0, 0) rotate(-3deg); opacity: 0.4 } 25% { transform: translate(6px, -3px) rotate(1deg); opacity: 0.7 } 50% { transform: translate(12px, -6px) rotate(0deg); opacity: 0.9 } 75% { transform: translate(18px, -3px) rotate(-1deg); opacity: 0.7 } 100% { transform: translate(24px, 0) rotate(-3deg); opacity: 0.4 } }
@keyframes dd-dust-1 { 0% { transform: translateY(0) scale(0.5); opacity: 0 } 10% { opacity: 0.8 } 50% { transform: translateY(-60px) translateX(10px) scale(1); opacity: 0.8 } 90% { opacity: 0.8 } 100% { transform: translateY(-120px) translateX(-10px) scale(0.3); opacity: 0 } }
@keyframes dd-dust-2 { 0% { transform: translateY(0) scale(0.5); opacity: 0 } 10% { opacity: 1 } 50% { transform: translateY(-80px) translateX(-8px) scale(1); opacity: 1 } 90% { opacity: 1 } 100% { transform: translateY(-160px) translateX(8px) scale(0.3); opacity: 0 } }
@keyframes dd-overcoat { 0%,100% { transform: translateX(0) translateY(0) rotate(-5deg) } 25% { transform: translateX(6px) translateY(2px) rotate(0deg) } 50% { transform: translateX(12px) translateY(0) rotate(5deg) } 75% { transform: translateX(18px) translateY(2px) rotate(0deg) } }
@keyframes dd-sun { 0% { transform: scale(0.9); box-shadow: 0 0 30px 15px rgba(200,160,110,0.3) } 50% { transform: scale(1.1); box-shadow: 0 0 60px 25px rgba(200,160,110,0.6) } 100% { transform: scale(1); box-shadow: 0 0 40px 20px rgba(200,160,110,0.4) } }

/* daisy-follows-sun (df) */
.scn-daisy-follows-sun {
  background: linear-gradient(180deg, #d4e4f0 0%, #a0c8e0 40%, #80b0d0 100%),
              radial-gradient(ellipse at 50% 80%, #e8e8c0 0%, transparent 70%);
}
.scn-daisy-follows-sun .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #a0c8e0 0%, transparent 100%);
  animation: df-sky 8s ease-in-out infinite alternate;
}
.scn-daisy-follows-sun .sun {
  position: absolute; top: 10%; left: 60%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff0a0 0%, #f0c050 60%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px rgba(240,192,80,0.5), 0 0 100px 40px rgba(240,192,80,0.2);
  animation: df-sun 8s ease-in-out infinite alternate;
}
.scn-daisy-follows-sun .ray-1 {
  position: absolute; top: 10%; left: 60%; width: 100px; height: 10px;
  background: linear-gradient(90deg, rgba(255,240,160,0.4) 0%, transparent 100%);
  transform-origin: left center;
  animation: df-ray-1 4s ease-in-out infinite;
}
.scn-daisy-follows-sun .ray-2 {
  position: absolute; top: 10%; left: 60%; width: 80px; height: 6px;
  background: linear-gradient(90deg, rgba(255,240,160,0.3) 0%, transparent 100%);
  transform-origin: left center;
  animation: df-ray-2 5s ease-in-out infinite 0.5s;
}
.scn-daisy-follows-sun .daisy {
  position: absolute; bottom: 25%; left: 40%; width: 20px; height: 20px;
  background: radial-gradient(circle at 50% 40%, #f0e0a0 0%, #d0b070 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(208,176,112,0.3);
  animation: df-daisy 6s ease-in-out infinite;
}
.scn-daisy-follows-sun .stem {
  position: absolute; bottom: 25%; left: 40%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%);
  border-radius: 0 0 50% 50%;
  animation: df-stem 6s ease-in-out infinite;
}
.scn-daisy-follows-sun .figure {
  position: absolute; bottom: 18%; left: 30%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #a0a0b0 0%, #606070 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-figure 7s ease-in-out infinite;
}
@keyframes df-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes df-sun { 0% { transform: translate(0, 0) scale(0.95) } 50% { transform: translate(10px, -5px) scale(1.05) } 100% { transform: translate(20px, -10px) scale(1) } }
@keyframes df-ray-1 { 0%,100% { transform: rotate(-10deg) scaleX(0.8); opacity: 0.4 } 50% { transform: rotate(10deg) scaleX(1.2); opacity: 0.8 } }
@keyframes df-ray-2 { 0%,100% { transform: rotate(5deg) scaleX(0.8); opacity: 0.3 } 50% { transform: rotate(-5deg) scaleX(1.1); opacity: 0.6 } }
@keyframes df-daisy { 0%,100% { transform: translate(0, 0) rotate(0deg) scale(0.9) } 25% { transform: translate(6px, -2px) rotate(-5deg) scale(1) } 50% { transform: translate(12px, -4px) rotate(5deg) scale(1.1) } 75% { transform: translate(18px, -2px) rotate(-5deg) scale(1) } }
@keyframes df-stem { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 75% { transform: rotate(-5deg) } }
@keyframes df-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-2deg) } 75% { transform: translateX(24px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }

/* lost-a-world (lw) */
.scn-lost-a-world {
  background: linear-gradient(180deg, #0a0a1a 0%, #151535 40%, #202050 100%),
              radial-gradient(ellipse at 50% 40%, #353565 0%, transparent 70%);
}
.scn-lost-a-world .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #151535 0%, transparent 100%);
  animation: lw-sky 8s ease-in-out infinite alternate;
}
.scn-lost-a-world .stars-fore {
  position: absolute; inset: 0; background: transparent;
  box-shadow: 10px 15px 0 0 #e0e8ff, 35px 40px 0 1px #c8d0ff, 60px 25px 0 -1px #f0f8ff, 45px 70px 0 0 #d8e0ff, 20px 90px 0 1px #eff0ff;
  border-radius: 50%; animation: lw-stars-fore 2s ease-in-out infinite alternate;
}
.scn-lost-a-world .stars-mid {
  position: absolute; inset: 0; background: transparent;
  box-shadow: 25px 50px 0 0 #b0c0f0, 5px 60px 0 1px #c0d0ff, 70px 10px 0 -1px #e0e8ff, 50px 80px 0 0 #d0d8ff;
  border-radius: 50%; animation: lw-stars-mid 3.5s ease-in-out infinite alternate;
}
.scn-lost-a-world .crown {
  position: absolute; top: 8%; left: 45%; width: 30px; height: 12px;
  background: linear-gradient(90deg, #c8b040 0%, #e0c860 50%, #c8b040 100%);
  border-radius: 50% 50% 0 0; clip-path: polygon(0% 100%, 20% 0%, 40% 100%, 60% 0%, 80% 100%, 100% 0%, 100% 100%);
  animation: lw-crown 5s ease-in-out infinite;
}
.scn-lost-a-world .figure {
  position: absolute; bottom: 25%; left: 35%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lw-figure 6s ease-in-out infinite;
}
.scn-lost-a-world .robin {
  position: absolute; bottom: 40%; left: 55%; width: 20px; height: 14px;
  background: radial-gradient(circle at 40% 50%, #8a5a4a 0%, #5a3a2a 100%);
  clip-path: ellipse(50% 50% at 50% 50%);
  border-radius: 50%; animation: lw-robin 8s ease-in-out infinite;
}
.scn-lost-a-world .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.5);
  animation: lw-ground 10s ease-in-out infinite alternate;
}
@keyframes lw-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes lw-stars-fore { 0%,100% { opacity: 0.5; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.2) } }
@keyframes lw-stars-mid { 0%,100% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } }
@keyframes lw-crown { 0%,100% { transform: translateY(0) rotate(0deg) scale(0.95) } 50% { transform: translateY(-4px) rotate(5deg) scale(1.05) } }
@keyframes lw-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(6px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(12px) translateY(0) rotate(-2deg) } 75% { transform: translateX(18px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(24px) translateY(0) rotate(0) } }
@keyframes lw-robin { 0%,100% { transform: translate(0, 0) rotate(-5deg) scale(0.9) } 25% { transform: translate(10px, -3px) rotate(0deg) scale(1) } 50% { transform: translate(20px, -6px) rotate(5deg) scale(1.1) } 75% { transform: translate(30px, -3px) rotate(0deg) scale(1) } }
@keyframes lw-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }

.scn-storm-lost-thirst-immortality {
  background: linear-gradient(180deg, #1a1a3e 0%, #2a2a4a 30%, #3a3a5a 50%, #2a2a4a 70%, #1a1a3e 100%), radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 60%);
}
.scn-storm-lost-thirst-immortality .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a4e 0%, #1a1a3e 100%); animation: sl1-sky 12s ease-in-out infinite alternate; }
.scn-storm-lost-thirst-immortality .clouds-back { position:absolute; top:0; left:0; right:0; height:50%; background: linear-gradient(180deg, rgba(60,60,80,0.6) 0%, rgba(40,40,60,0.3) 100%); border-radius: 0 0 50% 50%; filter: blur(8px); animation: sl1-drift-back 30s linear infinite; }
.scn-storm-lost-thirst-immortality .clouds-front { position:absolute; top:5%; left:0; right:0; height:35%; background: linear-gradient(180deg, rgba(80,80,100,0.7) 0%, rgba(50,50,70,0.4) 100%); border-radius: 0 0 60% 40%; filter: blur(5px); animation: sl1-drift-front 20s linear infinite reverse; }
.scn-storm-lost-thirst-immortality .rain { position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(200,200,240,0.08) 4px, rgba(200,200,240,0.08) 8px); animation: sl1-rain 1s linear infinite; }
.scn-storm-lost-thirst-immortality .hill { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 30% 70% 0 0 / 80% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.4); }
.scn-storm-lost-thirst-immortality .figure { position:absolute; bottom:32%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sl1-figure 6s ease-in-out infinite; }
.scn-storm-lost-thirst-immortality .pool { position:absolute; bottom:29%; left:40%; width:80px; height:10px; background: linear-gradient(180deg, #3a5a6a 0%, #2a4a5a 100%); border-radius: 50%; box-shadow: 0 0 20px rgba(60,100,120,0.3); animation: sl1-pool 4s ease-in-out infinite alternate; }
.scn-storm-lost-thirst-immortality .lightning { position:absolute; top:20%; left:30%; width:4px; height:60px; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 40%, rgba(255,255,255,0.2) 60%, rgba(255,255,255,0) 100%); filter: blur(1px); animation: sl1-flash 3s ease-in-out infinite; }

@keyframes sl1-sky { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes sl1-drift-back { 0% { transform: translateX(-20px) scaleX(1) } 50% { transform: translateX(20px) scaleX(1.05) } 100% { transform: translateX(-20px) scaleX(1) } }
@keyframes sl1-drift-front { 0% { transform: translateX(30px) scaleX(0.95) } 50% { transform: translateX(-30px) scaleX(1) } 100% { transform: translateX(30px) scaleX(0.95) } }
@keyframes sl1-rain { 0% { background-position: 0 0 } 100% { background-position: 0 20px } }
@keyframes sl1-figure { 0% { transform: translateY(0) rotate(0deg) scaleY(1) } 25% { transform: translateY(-4px) rotate(5deg) scaleY(1.02) } 50% { transform: translateY(-2px) rotate(-3deg) scaleY(0.98) } 75% { transform: translateY(-5px) rotate(2deg) scaleY(1.01) } 100% { transform: translateY(0) rotate(0deg) scaleY(1) } }
@keyframes sl1-pool { 0% { transform: scaleX(1) scaleY(1); opacity:0.7 } 50% { transform: scaleX(1.1) scaleY(0.8); opacity:0.9 } 100% { transform: scaleX(0.95) scaleY(1.05); opacity:0.8 } }
@keyframes sl1-flash { 0%,90%,100% { opacity:0 } 10% { opacity:1 } 20% { opacity:0.3 } 30% { opacity:0.8 } 40% { opacity:0 } }

.scn-item-clock-stopped {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 30%, #6a5a4a 50%, #5a4a3a 70%, #3a2a1a 100%), radial-gradient(circle at 70% 30%, #8a7a5a 0%, transparent 60%);
}
.scn-item-clock-stopped .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #5a4a3a 0%, #4a3a2a 50%, #3a2a1a 100%); }
.scn-item-clock-stopped .mantel { position:absolute; bottom:45%; left:10%; right:10%; height:10%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-item-clock-stopped .clock-face { position:absolute; bottom:55%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, #d0c0a0 0%, #b0a080 60%, #8a7a5a 100%); border-radius: 50%; border: 4px solid #5a4a3a; box-shadow: 0 0 20px rgba(0,0,0,0.3), inset 0 0 10px rgba(0,0,0,0.2); animation: ics-face 8s ease-in-out infinite alternate; }
.scn-item-clock-stopped .clock-body { position:absolute; bottom:58%; left:50%; width:80px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 10% 10% 40% 40%; box-shadow: 0 6px 12px rgba(0,0,0,0.4); }
.scn-item-clock-stopped .puppet { position:absolute; bottom:48%; left:55%; width:16px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: ics-puppet 4s ease-in-out infinite; }
.scn-item-clock-stopped .lamp { position:absolute; bottom:65%; right:20%; width:30px; height:40px; background: radial-gradient(circle at 50% 20%, #ffd080 0%, #c08040 60%, #8a5a2a 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 50px 20px rgba(255,208,128,0.4); animation: ics-lamp 6s ease-in-out infinite alternate; }
.scn-item-clock-stopped .pendulum { position:absolute; bottom:48%; left:45%; width:4px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 2px; transform-origin: top center; animation: ics-pendulum 3s ease-in-out infinite; }
.scn-item-clock-stopped .shadow { position:absolute; bottom:45%; left:30%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%); animation: ics-shadow 5s ease-in-out infinite alternate; }

@keyframes ics-face { 0% { transform: translateX(-50%) rotate(0deg) scale(1) } 50% { transform: translateX(-50%) rotate(2deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(-2deg) scale(0.98) } }
@keyframes ics-puppet { 0% { transform: rotate(-5deg) translateY(0) } 25% { transform: rotate(8deg) translateY(-3px) } 50% { transform: rotate(-10deg) translateY(2px) } 75% { transform: rotate(6deg) translateY(-1px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes ics-lamp { 0% { box-shadow: 0 0 30px 10px rgba(255,208,128,0.3); opacity:0.8 } 50% { box-shadow: 0 0 60px 30px rgba(255,208,128,0.6); opacity:1 } 100% { box-shadow: 0 0 40px 15px rgba(255,208,128,0.4); opacity:0.9 } }
@keyframes ics-pendulum { 0% { transform: rotate(-10deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(-10deg) } }
@keyframes ics-shadow { 0% { transform: scaleX(1) scaleY(1); opacity:0.5 } 50% { transform: scaleX(1.2) scaleY(0.8); opacity:0.7 } 100% { transform: scaleX(0.9) scaleY(1.1); opacity:0.4 } }

.scn-item-cage-bronte {
  background: linear-gradient(180deg, #7ab0d0 0%, #b0d0e0 40%, #e0f0e0 70%, #c0d8b0 100%), radial-gradient(circle at 80% 20%, #ffebc0 0%, transparent 50%);
}
.scn-item-cage-bronte .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #6aa0c0 0%, #9ac0d0 100%); animation: icb-sky 15s ease-in-out infinite alternate; }
.scn-item-cage-bronte .sun { position:absolute; top:10%; right:15%; width:50px; height:50px; background: radial-gradient(circle, #ffebc0 0%, #ffd080 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 60px 20px rgba(255,219,128,0.4); animation: icb-sun 20s ease-in-out infinite; }
.scn-item-cage-bronte .ground { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.3); }
.scn-item-cage-bronte .tombstone { position:absolute; bottom:22%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-item-cage-bronte .cage { position:absolute; bottom:28%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: radial-gradient(ellipse 30px 30px at 50% 30%, transparent 60%, #5a4a3a 60%, #5a4a3a 65%, transparent 65%), repeating-linear-gradient(90deg, transparent, transparent 6px, #5a4a3a 6px, #5a4a3a 8px, transparent 8px, transparent 14px); border-radius: 20% 20% 40% 40%; box-shadow: 0 0 10px rgba(0,0,0,0.2); animation: icb-cage 8s ease-in-out infinite alternate; }
.scn-item-cage-bronte .bird { position:absolute; bottom:32%; left:50%; width:16px; height:12px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: icb-bird 4s ease-in-out infinite; }
.scn-item-cage-bronte .weed-left { position:absolute; bottom:18%; left:30%; width:4px; height:40px; background: linear-gradient(180deg, #7a6a2a 0%, #4a3a1a 100%); border-radius: 2px; transform: rotate(-15deg); box-shadow: 0 0 4px rgba(0,0,0,0.2); animation: icb-weed 6s ease-in-out infinite alternate; }
.scn-item-cage-bronte .weed-right { position:absolute; bottom:20%; right:30%; width:4px; height:36px; background: linear-gradient(180deg, #7a6a2a 0%, #4a3a1a 100%); border-radius: 2px; transform: rotate(10deg); box-shadow: 0 0 4px rgba(0,0,0,0.2); animation: icb-weed 6s ease-in-out infinite alternate-reverse; }
.scn-item-cage-bronte .moss { position:absolute; bottom:24%; left:40%; width:60px; height:20px; background: radial-gradient(ellipse, #5a7a4a 0%, transparent 70%); filter: blur(3px); animation: icb-moss 10s ease-in-out infinite alternate; }

@keyframes icb-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes icb-sun { 0%,100% { transform: translate(0,0) scale(1); opacity:0.9 } 50% { transform: translate(-5px,5px) scale(1.05); opacity:1 } }
@keyframes icb-cage { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes icb-bird { 0% { transform: translateX(-50%) rotate(0deg) scale(1) } 25% { transform: translateX(-45%) rotate(-5deg) scale(1.05) } 50% { transform: translateX(-50%) rotate(0deg) scale(1) } 75% { transform: translateX(-55%) rotate(5deg) scale(0.95) } 100% { transform: translateX(-50%) rotate(0deg) scale(1) } }
@keyframes icb-weed { 0% { transform: rotate(-10deg) scaleY(1) } 50% { transform: rotate(0deg) scaleY(1.1) } 100% { transform: rotate(10deg) scaleY(0.9) } }
@keyframes icb-moss { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }

.scn-toad-die-light-far-from-love {
  background: linear-gradient(180deg, #1a2a2a 0%, #2a3a3a 30%, #3a4a3a 60%, #2a3a2a 80%, #1a2a1a 100%), radial-gradient(ellipse at 50% 100%, #3a5a3a 0%, transparent 60%);
}
.scn-toad-die-light-far-from-love .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); animation: tdl-sky 12s ease-in-out infinite alternate; }
.scn-toad-die-light-far-from-love .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 12px 24px rgba(0,0,0,0.5); }
.scn-toad-die-light-far-from-love .water { position:absolute; bottom:10%; left:10%; right:10%; height:15%; background: radial-gradient(ellipse, #2a4a3a 0%, #1a3a2a 100%); border-radius: 50%; box-shadow: 0 0 20px rgba(0,0,0,0.3); animation: tdl-water 5s ease-in-out infinite alternate; }
.scn-toad-die-light-far-from-love .briar-left { position:absolute; bottom:28%; left:20%; width:6px; height:50px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 3px; transform: rotate(-25deg); box-shadow: 0 0 4px rgba(0,0,0,0.3); animation: tdl-briar 7s ease-in-out infinite; }
.scn-toad-die-light-far-from-love .briar-right { position:absolute; bottom:30%; right:20%; width:5px; height:45px; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%); border-radius: 2px; transform: rotate(20deg); box-shadow: 0 0 4px rgba(0,0,0,0.3); animation: tdl-briar 7s ease-in-out infinite reverse; }
.scn-toad-die-light-far-from-love .toad { position:absolute; bottom:15%; left:45%; width:24px; height:16px; background: radial-gradient(ellipse at 50% 60%, #4a5a4a 0%, #2a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; animation: tdl-toad 4s ease-in-out infinite; }
.scn-toad-die-light-far-from-love .light-beam { position:absolute; top:0; left:50%; width:10px; height:100%; transform:translateX(-50%); background: linear-gradient(180deg, rgba(255,230,180,0.6) 0%, rgba(255,230,180,0.1) 40%, transparent 60%); border-radius: 5px; box-shadow: 0 0 40px 10px rgba(255,230,180,0.3); animation: tdl-beam 3s ease-in-out infinite alternate; }
.scn-toad-die-light-far-from-love .child-figure { position:absolute; bottom:40%; right:15%; width:14px; height:30px; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tdl-child 8s ease-in-out infinite; }

@keyframes tdl-sky { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.7 } }
@keyframes tdl-water { 0% { transform: scaleX(1) scaleY(1); opacity:0.6 } 50% { transform: scaleX(1.05) scaleY(0.9); opacity:0.8 } 100% { transform: scaleX(0.95) scaleY(1.1); opacity:0.7 } }
@keyframes tdl-briar { 0% { transform: rotate(-20deg) scaleY(1) } 50% { transform: rotate(-30deg) scaleY(1.05) } 100% { transform: rotate(-20deg) scaleY(1) } }
@keyframes tdl-toad { 0% { transform: translateY(0) scaleX(1) } 25% { transform: translateY(-2px) scaleX(1.05) } 50% { transform: translateY(0) scaleX(0.95) } 75% { transform: translateY(-1px) scaleX(1.02) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes tdl-beam { 0% { opacity:0.3; transform: translateX(-50%) scaleY(0.8) } 50% { opacity:0.6; transform: translateX(-50%) scaleY(1.1) } 100% { opacity:0.4; transform: translateX(-50%) scaleY(0.9) } }
@keyframes tdl-child { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(3deg) } 50% { transform: translateY(-1px) rotate(-2deg) } 75% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }

.scn-sunset-purple-stile {
  background: linear-gradient(180deg, #5a2d5a 0%, #8a4a6a 30%, #c08060 60%, #e8b080 80%, #d09050 100%), radial-gradient(ellipse at 60% 40%, #d09050 0%, transparent 70%);
}
.scn-sunset-purple-stile .sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, rgba(90,45,90,.6) 0%, transparent 100%);
  animation: ss-sky-pulse 14s ease-in-out infinite alternate;
}
.scn-sunset-purple-stile .stile {
  position:absolute; bottom:30%; left:40%; width:24%; height:20%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 0 #1a0a00 inset, 0 6px 10px rgba(0,0,0,.5);
  clip-path: polygon(0 100%, 0 20%, 15% 20%, 15% 40%, 30% 40%, 30% 20%, 45% 20%, 45% 40%, 60% 40%, 60% 20%, 75% 20%, 75% 40%, 90% 40%, 90% 20%, 100% 20%, 100% 100%);
  animation: ss-stile-float 12s ease-in-out infinite;
}
.scn-sunset-purple-stile .child {
  position:absolute; bottom:30%; width:6%; height:10%;
  background: radial-gradient(ellipse at 50% 30%, #c8a040 0%, #7a5a20 70%, transparent 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: ss-climb 4s ease-in-out infinite;
}
.scn-sunset-purple-stile .child-a { left:45%; animation-delay:0s; }
.scn-sunset-purple-stile .child-b { left:52%; animation-delay:1.2s; }
.scn-sunset-purple-stile .child-c { left:59%; animation-delay:2.4s; }
.scn-sunset-purple-stile .dominie {
  position:absolute; bottom:28%; left:68%; width:8%; height:16%;
  background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 8px 0 #2a2a2a;
  animation: ss-dominie-walk 8s ease-in-out infinite;
}
.scn-sunset-purple-stile .bars {
  position:absolute; bottom:27%; left:30%; width:40%; height:2%;
  background: #4a3a2a;
  box-shadow: 0 -8px 0 #4a3a2a, 0 -16px 0 #4a3a2a;
  animation: ss-bars-twitch 3s ease-in-out infinite alternate;
}
.scn-sunset-purple-stile .butterfly {
  position:absolute; top:20%; left:70%; width:4%; height:3%;
  background: radial-gradient(circle, #e8a060 0%, #a06030 100%);
  border-radius: 50%;
  box-shadow: -6px -4px 0 #d08040, 6px -4px 0 #d08040;
  animation: ss-butterfly 5s ease-in-out infinite;
}
@keyframes ss-sky-pulse { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes ss-stile-float { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes ss-climb { 
  0% { transform:translateY(0) translateX(0) rotate(-2deg); opacity:.8 }
  50% { transform:translateY(-6px) translateX(6px) rotate(2deg); opacity:1 }
  100% { transform:translateY(0) translateX(12px) rotate(-2deg); opacity:.8 }
}
@keyframes ss-dominie-walk {
  0% { transform:translateX(0) translateY(0) rotate(0deg) }
  25% { transform:translateX(4px) translateY(-1px) rotate(1deg) }
  50% { transform:translateX(8px) translateY(0) rotate(0deg) }
  75% { transform:translateX(12px) translateY(-1px) rotate(-1deg) }
  100% { transform:translateX(16px) translateY(0) rotate(0deg) }
}
@keyframes ss-bars-twitch { 0% { opacity:.9 } 100% { opacity:.5 } }
@keyframes ss-butterfly {
  0% { transform:translateY(0) rotate(0deg) scale(1) }
  50% { transform:translateY(-12px) rotate(20deg) scale(1.2) }
  100% { transform:translateY(0) rotate(0deg) scale(1) }
}

.scn-wind-phraseless-melody {
  background: linear-gradient(180deg, #6a7a8a 0%, #8a9a9a 40%, #9aaa9a 70%, #8a8a7a 100%), radial-gradient(ellipse at 50% 30%, #9aaa9a 0%, transparent 60%);
}
.scn-wind-phraseless-melody .overcast-sky {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, rgba(106,122,138,.5) 0%, transparent 100%);
  animation: wp-sky-soft 20s ease-in-out infinite;
}
.scn-wind-phraseless-melody .tree-trunk {
  position:absolute; bottom:25%; left:30%; width:6%; height:40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 2px 0 0 #1a0a00 inset;
  animation: wp-trunk-sway 8s ease-in-out infinite alternate;
}
.scn-wind-phraseless-melody .branch-set {
  position:absolute; bottom:55%; left:28%; width:30%; height:20%;
  background: 
    radial-gradient(ellipse at 30% 50%, #4a3a2a 0%, transparent 40%),
    radial-gradient(ellipse at 70% 50%, #4a3a2a 0%, transparent 40%);
  background-size: 40% 100%, 40% 100%;
  background-repeat: no-repeat;
  background-position: 0 0, 100% 0;
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: wp-branch-wave 12s ease-in-out infinite;
}
.scn-wind-phraseless-melody .wind-hand {
  position:absolute; top:10%; left:20%; width:50%; height:30%;
  background: radial-gradient(ellipse at 20% 60%, rgba(180,200,180,.4) 0%, transparent 30%),
              radial-gradient(ellipse at 40% 70%, rgba(180,200,180,.4) 0%, transparent 30%),
              radial-gradient(ellipse at 60% 50%, rgba(180,200,180,.4) 0%, transparent 30%),
              radial-gradient(ellipse at 80% 60%, rgba(180,200,180,.4) 0%, transparent 30%);
  background-size: 20% 50%, 20% 50%, 20% 50%, 20% 50%;
  background-repeat: no-repeat;
  background-position: 0% 50%, 25% 60%, 50% 40%, 75% 50%;
  border-radius: 50%;
  animation: wp-hand-stroke 14s ease-in-out infinite;
}
.scn-wind-phraseless-melody .wind-ripple {
  position:absolute; top:35%; left:10%; width:80%; height:5%;
  background: linear-gradient(90deg, transparent 0%, rgba(200,220,200,.3) 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: wp-ripple-move 10s linear infinite;
}
.scn-wind-phraseless-melody .tuft {
  position:absolute; top:15%; left:70%; width:4%; height:4%;
  background: radial-gradient(circle, #b0c0b0 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(2px);
  animation: wp-tuft-drift 6s ease-in-out infinite;
}
@keyframes wp-sky-soft { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes wp-trunk-sway { 0% { transform:rotate(-2deg) } 100% { transform:rotate(2deg) } }
@keyframes wp-branch-wave { 0% { transform:translateY(0) translateX(0) rotate(-5deg) } 50% { transform:translateY(-4px) translateX(6px) rotate(5deg) } 100% { transform:translateY(0) translateX(0) rotate(-5deg) } }
@keyframes wp-hand-stroke {
  0% { transform:translateY(0) rotate(0deg) scaleX(1) }
  33% { transform:translateY(-8px) rotate(10deg) scaleX(1.1) }
  66% { transform:translateY(4px) rotate(-5deg) scaleX(0.9) }
  100% { transform:translateY(0) rotate(0deg) scaleX(1) }
}
@keyframes wp-ripple-move { 0% { transform:translateX(-20%) } 100% { transform:translateX(20%) } }
@keyframes wp-tuft-drift { 0%,100% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-10px) rotate(15deg) } }

.scn-frost-beheads-flower {
  background: linear-gradient(180deg, #1a1a3a 0%, #2a2a5a 30%, #4a4a7a 60%, #6a6a9a 100%), radial-gradient(ellipse at 50% 60%, #8a8aba 0%, transparent 70%);
}
.scn-frost-beheads-flower .dawn-sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, rgba(26,26,58,.7) 0%, transparent 100%);
  animation: fb-sky-brighten 18s ease-in-out infinite alternate;
}
.scn-frost-beheads-flower .frost-sword {
  position:absolute; top:20%; left:45%; width:2%; height:20%;
  background: linear-gradient(180deg, #aaccff 0%, #6688cc 100%);
  border-radius: 0 0 40% 40%;
  box-shadow: 0 10px 6px -4px #aaccff;
  animation: fb-sword-fall 4s ease-in-out infinite;
  transform-origin: 50% 0;
}
.scn-frost-beheads-flower .flower {
  position:absolute; bottom:35%; left:42%; width:10%; height:12%;
  background: radial-gradient(circle at 50% 60%, #d0a0b0 0%, #b07888 40%, #905868 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 0 0 4px #582040 inset, 0 4px 8px rgba(0,0,0,.3);
  animation: fb-flower-behead 4s ease-in-out infinite;
}
.scn-frost-beheads-flower .stem {
  position:absolute; bottom:30%; left:46.5%; width:1%; height:20%;
  background: linear-gradient(180deg, #2a5a3a 0%, #1a3a2a 100%);
  border-radius: 20%;
  transform-origin: bottom center;
  animation: fb-stem-sway 6s ease-in-out infinite;
}
.scn-frost-beheads-flower .ground {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-frost-beheads-flower .sun-disk {
  position:absolute; bottom:55%; right:20%; width:8%; height:8%;
  background: radial-gradient(circle, #ffd080 0%, #c08040 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.3);
  animation: fb-sun-rise 20s linear infinite;
}
@keyframes fb-sky-brighten { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes fb-sword-fall {
  0% { transform:translateY(-40px) rotate(0deg); opacity:0 }
  20% { transform:translateY(0) rotate(0deg); opacity:1 }
  40% { transform:translateY(10px) rotate(10deg); opacity:1 }
  60% { transform:translateY(-5px) rotate(-5deg); opacity:1 }
  80% { transform:translateY(5px) rotate(0deg); opacity:1 }
  100% { transform:translateY(-40px) rotate(0deg); opacity:0 }
}
@keyframes fb-flower-behead {
  0%,20% { transform:translateY(0) rotate(0deg); clip-path:polygon(0 0,100% 0,100% 100%,0 100%) }
  25% { transform:translateY(-2px) rotate(10deg); clip-path:polygon(0 0,100% 0,100% 60%,0 60%) }
  40% { transform:translateY(10px) rotate(-20deg); clip-path:polygon(0 0,100% 0,100% 40%,0 40%) }
  60% { transform:translateY(0) rotate(0deg); clip-path:polygon(0 0,100% 0,100% 100%,0 100%) }
  100% { transform:translateY(0) rotate(0deg); clip-path:polygon(0 0,100% 0,100% 100%,0 100%) }
}
@keyframes fb-stem-sway { 0%,100% { transform:rotate(0deg) } 50% { transform:rotate(5deg) } }
@keyframes fb-sun-rise { 0% { transform:translateY(0) scale(.8); opacity:.5 } 50% { transform:translateY(-2px) scale(1); opacity:1 } 100% { transform:translateY(0) scale(.8); opacity:.5 } }

.scn-days-birds-come-back {
  background: linear-gradient(180deg, #1a2a4a 0%, #3a4a6a 30%, #6a6a5a 60%, #9a8a6a 80%, #b0a060 100%), radial-gradient(ellipse at 70% 60%, #b0a060 0%, transparent 70%);
}
.scn-days-birds-come-back .dusk-sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, rgba(26,42,74,.7) 0%, transparent 100%);
  animation: db-sky-deceive 10s ease-in-out infinite alternate;
}
.scn-days-birds-come-back .bird {
  position:absolute; width:10%; height:6%;
  background: radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0 80%, 30% 0, 50% 30%, 70% 0, 100% 80%, 80% 90%, 50% 70%, 20% 90%);
  animation: db-bird-fly 8s ease-in-out infinite;
}
.scn-days-birds-come-back .bird-left { top:15%; left:10%; animation-delay:0s; }
.scn-days-birds-come-back .bird-right { top:20%; left:60%; animation-delay:2.5s; transform:scaleX(-1); }
.scn-days-birds-come-back .bee {
  position:absolute; top:40%; left:50%; width:3%; height:3%;
  background: radial-gradient(circle, #d0a050 0%, #905020 100%);
  border-radius: 50%;
  box-shadow: -2px -1px 0 #603010, 2px -1px 0 #603010;
  animation: db-bee-hover 3s ease-in-out infinite;
}
.scn-days-birds-come-back .branch {
  position:absolute; bottom:35%; left:20%; width:30%; height:2%;
  background: #3a2a1a;
  border-radius: 30% 10% 0 0;
  box-shadow: 0 2px 0 #2a1a0a;
  transform-origin: left center;
  animation: db-branch-sway 5s ease-in-out infinite alternate;
}
.scn-days-birds-come-back .leaf {
  position:absolute; bottom:38%; left:30%; width:6%; height:6%;
  background: radial-gradient(ellipse at 50% 60%, #6a8a4a 0%, #3a5a2a 100%);
  border-radius: 80% 0 80% 0;
  transform: rotate(30deg);
  box-shadow: 0 2px 2px rgba(0,0,0,.2);
  animation: db-leaf-drop 7s ease-in-out infinite;
}
@keyframes db-sky-deceive { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes db-bird-fly {
  0% { transform:translateX(-40px) translateY(0) rotate(0deg); opacity:0 }
  20% { transform:translateX(-10px) translateY(-8px) rotate(-5deg); opacity:1 }
  40% { transform:translateX(20px) translateY(0) rotate(5deg); opacity:1 }
  60% { transform:translateX(50px) translateY(-4px) rotate(-3deg); opacity:1 }
  80% { transform:translateX(80px) translateY(0) rotate(3deg); opacity:1 }
  100% { transform:translateX(120px) translateY(0) rotate(0deg); opacity:0 }
}
@keyframes db-bee-hover {
  0%,100% { transform:translateY(0) translateX(0) }
  25% { transform:translateY(-6px) translateX(4px) }
  50% { transform:translateY(2px) translateX(-4px) }
  75% { transform:translateY(-4px) translateX(8px) }
}
@keyframes db-branch-sway { 0% { transform:rotate(0deg) } 100% { transform:rotate(8deg) } }
@keyframes db-leaf-drop {
  0% { transform:rotate(30deg) translateY(0); opacity:1 }
  50% { transform:rotate(45deg) translateY(12px); opacity:.7 }
  100% { transform:rotate(30deg) translateY(0); opacity:1 }
}

/* will-there-really-be-morning */
.scn-will-there-really-be-morning {
  background: linear-gradient(180deg, #1a1a3e 0%, #3a2a4e 30%, #6a5a7e 60%, #8a7a9e 80%, #b8a8b0 100%),
              radial-gradient(ellipse at 50% 100%, #c8b0a0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-will-there-really-be-morning .sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a4e 0%, #4a3a6e 40%, transparent 100%);
  animation: wrm-sky 18s ease-in-out infinite alternate;
}
.scn-will-there-really-be-morning .dawn-glow {
  position: absolute;
  bottom: 38%;
  left: 30%;
  width: 40%;
  height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,200,150,0.6) 0%, transparent 70%);
  animation: wrm-dawn 12s ease-in-out infinite alternate;
}
.scn-will-there-really-be-morning .mountains-back {
  position: absolute;
  bottom: 35%;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #4a4a6e 0%, #3a3a5e 100%);
  border-radius: 30% 40% 0 0 / 60% 50% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: wrm-mts 22s ease-in-out infinite alternate;
}
.scn-will-there-really-be-morning .mountains-front {
  position: absolute;
  bottom: 30%;
  left: -5%;
  right: -5%;
  height: 20%;
  background: linear-gradient(180deg, #5a5a7e 0%, #4a4a6e 100%);
  border-radius: 50% 30% 0 0 / 80% 40% 0 0;
  box-shadow: inset 0 6px 14px rgba(0,0,0,0.4);
  animation: wrm-mts 28s ease-in-out infinite alternate-reverse;
}
.scn-will-there-really-be-morning .pond {
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 32%;
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%);
  border-radius: 0 0 50% 50% / 0 0 30% 30%;
  animation: wrm-pond 15s ease-in-out infinite alternate;
}
.scn-will-there-really-be-morning .lily {
  position: absolute;
  bottom: 8%;
  width: 16px;
  height: 10px;
  background: radial-gradient(circle at 40% 50%, #c8b0a0 0%, #9a8a7a 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform-origin: center bottom;
}
.scn-will-there-really-be-morning .lily-a {
  left: 25%;
  animation: wrm-lily 8s ease-in-out infinite;
}
.scn-will-there-really-be-morning .lily-b {
  left: 60%;
  animation: wrm-lily 10s ease-in-out infinite;
  animation-delay: -3s;
}
.scn-will-there-really-be-morning .figure {
  position: absolute;
  bottom: 28%;
  left: 42%;
  width: 16px;
  height: 32px;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wrm-fig 6s ease-in-out infinite;
}
@keyframes wrm-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; background-position: 0% 40%; }
  100% { opacity: 0.8; background-position: 0% 60%; }
}
@keyframes wrm-dawn {
  0% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(0.98); }
}
@keyframes wrm-mts {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-4px) rotate(0.5deg); }
  100% { transform: translateY(0px); }
}
@keyframes wrm-pond {
  0% { border-radius: 0 0 50% 50% / 0 0 30% 30%; }
  50% { border-radius: 0 0 55% 45% / 0 0 35% 25%; }
  100% { border-radius: 0 0 48% 52% / 0 0 28% 32%; }
}
@keyframes wrm-lily {
  0% { transform: translate(0, 0) rotate(-2deg); }
  50% { transform: translate(2px, -3px) rotate(3deg); }
  100% { transform: translate(0, 0) rotate(-1deg); }
}
@keyframes wrm-fig {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(3px) rotate(0deg); }
  50% { transform: translateX(6px) rotate(2deg); }
  75% { transform: translateX(9px) rotate(0deg); }
  100% { transform: translateX(12px) rotate(-1deg); }
}

/* day-came-slow */
.scn-day-came-slow {
  background: linear-gradient(180deg, #1a1a3e 0%, #2a2a5e 30%, #4a3a6e 60%, #7a6a8e 80%, #b8a8b0 100%),
              radial-gradient(ellipse at 50% 100%, #d8c0a8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-day-came-slow .sky {
  position: absolute;
  inset: 0 0 50% 0;
  background: linear-gradient(180deg, #2a2a5e 0%, #5a4a7e 50%, transparent 100%);
  animation: dcs-sky 20s ease-in-out infinite alternate;
}
.scn-day-came-slow .hills {
  position: absolute;
  bottom: 35%;
  left: 0;
  right: 0;
  height: 25%;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  animation: dcs-hills 18s ease-in-out infinite alternate;
}
.scn-day-came-slow .sunburst {
  position: absolute;
  bottom: 40%;
  left: 50%;
  width: 60px;
  height: 60px;
  transform: translateX(-50%) scale(0.6);
  background: radial-gradient(circle at 50% 50%, #ffd080 0%, #ffa040 30%, transparent 70%);
  border-radius: 50%;
  opacity: 0.5;
  animation: dcs-sun 14s ease-in-out infinite alternate;
}
.scn-day-came-slow .field {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 38%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 30% 30% 0 0 / 60% 60% 0 0;
  animation: dcs-field 25s ease-in-out infinite alternate;
}
.scn-day-came-slow .ruby-spark {
  position: absolute;
  width: 6px;
  height: 6px;
  background: radial-gradient(circle at 50% 50%, #e05030 0%, #a02010 60%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px #e05030;
}
.scn-day-came-slow .ruby-a {
  top: 25%;
  left: 20%;
  animation: dcs-ruby 6s ease-in-out infinite;
}
.scn-day-came-slow .ruby-b {
  top: 30%;
  right: 30%;
  animation: dcs-ruby 8s ease-in-out infinite;
  animation-delay: -2s;
}
@keyframes dcs-sky {
  0% { background-position: 0% 0%; }
  50% { background-position: 0% 50%; }
  100% { background-position: 0% 100%; }
}
@keyframes dcs-hills {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes dcs-sun {
  0% { opacity: 0.1; transform: translateX(-50%) scale(0.6); }
  50% { opacity: 0.9; transform: translateX(-50%) scale(1.1); }
  100% { opacity: 0.3; transform: translateX(-50%) scale(0.8); }
}
@keyframes dcs-field {
  0% { background-position: 0% 0%; }
  50% { background-position: 0% 30%; }
  100% { background-position: 0% 0%; }
}
@keyframes dcs-ruby {
  0% { transform: translate(0, 0) scale(0.8); }
  33% { transform: translate(8px, -12px) scale(1.2); }
  66% { transform: translate(-4px, -18px) scale(0.9) rotate(15deg); }
  100% { transform: translate(0, 0) scale(0.8); }
}

/* morning-happy-thing */
.scn-morning-happy-thing {
  background: linear-gradient(180deg, #f4d9b0 0%, #e8c090 30%, #d0a070 60%, #b89060 80%, #a08050 100%),
              radial-gradient(ellipse at 50% 100%, #ffe0a0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-morning-happy-thing .sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffe8c0 0%, #ffd8a0 50%, transparent 100%);
  animation: mht-sky 16s ease-in-out infinite alternate;
}
.scn-morning-happy-thing .sun {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translateX(-50%) scale(0.9);
  background: radial-gradient(circle at 50% 50%, #fff0c0 0%, #ffc060 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.6);
  animation: mht-sun 10s ease-in-out infinite alternate;
}
.scn-morning-happy-thing .orchard-tree {
  position: absolute;
  bottom: 20%;
  width: 50px;
  height: 80px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a3a1a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  transform-origin: bottom center;
}
.scn-morning-happy-thing .tree-a {
  left: 20%;
  animation: mht-tree 22s ease-in-out infinite;
}
.scn-morning-happy-thing .tree-b {
  right: 20%;
  transform: scaleX(-1);
  animation: mht-tree 26s ease-in-out infinite;
  animation-delay: -5s;
}
.scn-morning-happy-thing .figure {
  position: absolute;
  bottom: 22%;
  left: 46%;
  width: 20px;
  height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 40% 30% 40% / 60% 55% 45% 50%;
  transform-origin: bottom center;
  animation: mht-fig 4s ease-in-out infinite;
}
.scn-morning-happy-thing .king-wheel {
  position: absolute;
  top: 25%;
  right: 25%;
  width: 30px;
  height: 30px;
  border: 3px solid #c89050;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, transparent 40%, #b08040 45%, transparent 50%);
  animation: mht-wheel 12s linear infinite;
}
@keyframes mht-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; background-position: 0% 30%; }
  100% { opacity: 0.9; }
}
@keyframes mht-sun {
  0% { transform: translateX(-50%) scale(0.9) rotate(0deg); }
  50% { transform: translateX(-50%) scale(1.05) rotate(5deg); }
  100% { transform: translateX(-50%) scale(0.95) rotate(-3deg); }
}
@keyframes mht-tree {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(3deg) scaleY(1.02); }
  100% { transform: rotate(0deg) scaleY(1); }
}
@keyframes mht-fig {
  0% { transform: translateX(0) rotate(-3deg); }
  25% { transform: translateX(4px) rotate(1deg); }
  50% { transform: translateX(8px) rotate(3deg); }
  75% { transform: translateX(12px) rotate(1deg); }
  100% { transform: translateX(16px) rotate(-2deg); }
}
@keyframes mht-wheel {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* item-butterfly-cocoon */
.scn-item-butterfly-cocoon {
  background: linear-gradient(180deg, #f4e8c8 0%, #e0d0b0 40%, #c8b8a0 80%, #b0a090 100%),
              radial-gradient(ellipse at 50% 100%, #fff0d0 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-item-butterfly-cocoon .sky {
  position: absolute;
  inset: 0 0 50% 0;
  background: linear-gradient(180deg, #fff4e0 0%, #f0e4c8 50%, transparent 100%);
  animation: ibc-sky 20s ease-in-out infinite alternate;
}
.scn-item-butterfly-cocoon .field {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(180deg, #a8c890 0%, #7a9a6a 50%, #5a7a4a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: ibc-field 30s ease-in-out infinite alternate;
}
.scn-item-butterfly-cocoon .cocoon {
  position: absolute;
  bottom: 45%;
  left: 30%;
  width: 12px;
  height: 18px;
  background: linear-gradient(180deg, #c8b090 0%, #a88870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-15deg);
  animation: ibc-cocoon 8s ease-in-out infinite;
}
.scn-item-butterfly-cocoon .butterfly {
  position: absolute;
  bottom: 45%;
  left: 40%;
  width: 24px;
  height: 12px;
  background: linear-gradient(135deg, #e0a070 0%, #c08050 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  opacity: 0;
  transform-origin: left center;
}
.scn-item-butterfly-cocoon .butterfly-left {
  animation: ibc-bfly-l 10s ease-in-out infinite;
  animation-delay: -2s;
}
.scn-item-butterfly-cocoon .butterfly-right {
  animation: ibc-bfly-r 10s ease-in-out infinite;
  animation-delay: -2s;
}
.scn-item-butterfly-cocoon .lady {
  position: absolute;
  bottom: 20%;
  right: 20%;
  width: 24px;
  height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 40% / 60% 60% 40% 50%;
  transform-origin: bottom center;
  animation: ibc-lady 6s ease-in-out infinite;
}
.scn-item-butterfly-cocoon .parasol {
  position: absolute;
  bottom: 42%;
  right: 15%;
  width: 40px;
  height: 20px;
  background: radial-gradient(ellipse at 50% 100%, #b87878 0%, #a06060 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: rotate(-10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: ibc-para 8s ease-in-out infinite;
}
@keyframes ibc-sky {
  0% { background-position: 0% 0%; }
  50% { background-position: 0% 50%; }
  100% { background-position: 0% 0%; }
}
@keyframes ibc-field {
  0% { background-position: 0% 0%; transform: scaleY(1); }
  50% { background-position: 0% 30%; transform: scaleY(1.02); }
  100% { background-position: 0% 0%; transform: scaleY(1); }
}
@keyframes ibc-cocoon {
  0% { transform: rotate(-15deg) scale(1); }
  50% { transform: rotate(-10deg) scale(1.05); }
  100% { transform: rotate(-15deg) scale(1); }
}
@keyframes ibc-bfly-l {
  0%, 100% { opacity: 0; transform: translateX(-10px) rotate(0deg); }
  30% { opacity: 1; }
  50% { opacity: 1; transform: translateX(10px) rotate(20deg); }
  70% { opacity: 1; transform: translateX(20px) rotate(-10deg); }
}
@keyframes ibc-bfly-r {
  0%, 100% { opacity: 0; transform: translateX(-10px) rotate(0deg) scaleX(-1); }
  30% { opacity: 1; }
  50% { opacity: 1; transform: translateX(10px) rotate(-20deg) scaleX(-1); }
  70% { opacity: 1; transform: translateX(20px) rotate(10deg) scaleX(-1); }
}
@keyframes ibc-lady {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes ibc-para {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(-5deg) scale(1.05); }
  100% { transform: rotate(-10deg) scale(1); }
}

/* scene 1: regiment-wood-hill (calm, overcast) */
.scn-regiment-wood-hill {
  background:
    linear-gradient(180deg, #7a8a8a 0%, #9aadad 40%, #b8c8c8 100%),
    radial-gradient(ellipse at 50% 0%, #c0d0d0 0%, transparent 70%);
}
.scn-regiment-wood-hill .sky {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #6a7a7a 0%, #8a9e9e 60%, transparent 100%);
  animation: rh-sky 20s ease-in-out infinite alternate;
}
.scn-regiment-wood-hill .hills {
  position:absolute; bottom:35%; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #4e5e4e 0%, #3a4a3a 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
  animation: rh-hills 15s ease-in-out infinite alternate;
}
.scn-regiment-wood-hill .grass {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
  animation: rh-grass 8s ease-in-out infinite;
}
.scn-regiment-wood-hill .tree {
  position:absolute; bottom:50%;
  width:12px; height:50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  transform-origin: bottom center;
}
.scn-regiment-wood-hill .tree-back   { left:20%; height:40px; animation: rh-tree-sway 12s ease-in-out infinite; }
.scn-regiment-wood-hill .tree-mid    { left:45%; width:16px; height:60px; animation: rh-tree-sway 15s ease-in-out infinite 3s; }
.scn-regiment-wood-hill .tree-fore   { left:70%; height:35px; width:10px; animation: rh-tree-sway 10s ease-in-out infinite 6s; }
.scn-regiment-wood-hill .butterfly {
  position:absolute; top:40%; left:30%;
  width:14px; height:10px;
  background: radial-gradient(circle at 50% 50%, #d0a050 0%, #b08030 100%);
  border-radius:50% 0 50% 0;
  animation: rh-butterfly 4s ease-in-out infinite;
  filter: drop-shadow(0 0 4px rgba(200,160,80,.4));
}
.scn-regiment-wood-hill .cloud {
  position:absolute; width:100px; height:20px;
  background: linear-gradient(180deg, rgba(200,210,210,.5) 0%, rgba(180,190,190,.1) 100%);
  border-radius:50%; filter: blur(6px);
}
.scn-regiment-wood-hill .cloud-a { top:12%; left:5%; animation: rh-cloud-drift 40s linear infinite; }
.scn-regiment-wood-hill .cloud-b { top:25%; right:8%; width:70px; height:14px; animation: rh-cloud-drift 50s linear infinite 10s; }

@keyframes rh-sky { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:.6 } }
@keyframes rh-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes rh-grass { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rh-tree-sway { 0% { transform: rotate(-1deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes rh-butterfly { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 25% { transform: translate(10px,-5px) rotate(15deg) scale(1.2) } 50% { transform: translate(20px,0) rotate(0deg) scale(1) } 75% { transform: translate(10px,5px) rotate(-15deg) scale(0.9) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes rh-cloud-drift { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }

/* scene 2: little-road-not-man (tense, dusk) */
.scn-little-road-not-man {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2c2a4a 40%, #3e3c5c 100%),
    radial-gradient(ellipse at 50% 100%, #3e3c5c 0%, transparent 70%);
}
.scn-little-road-not-man .sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #2a2a4e 0%, #3e3c5c 60%, transparent 100%);
  animation: lr-sky 8s ease-in-out infinite alternate;
}
.scn-little-road-not-man .road {
  position:absolute; bottom:20%; left:20%; right:20%; height:8%;
  background: linear-gradient(90deg, #1a1a2e 0%, #3e3c5c 20%, #5a5868 50%, #3e3c5c 80%, #1a1a2e 100%);
  border-radius: 20%;
  clip-path: polygon(0% 0%, 100% 10%, 100% 90%, 0% 100%);
  animation: lr-road-pulse 12s ease-in-out infinite;
}
.scn-little-road-not-man .tree {
  position:absolute; bottom:30%; left:55%; width:20px; height:80px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: lr-tree-shake 2s ease-in-out infinite;
}
.scn-little-road-not-man .drop {
  position:absolute; top:10%; left:50%;
  width:6px; height:6px;
  background: #a0b0c0;
  border-radius:50%;
  box-shadow: 0 0 6px 2px rgba(160,176,192,.5);
  animation: lr-drop 1.5s ease-in infinite;
}
.scn-little-road-not-man .bee {
  position:absolute; top:35%; left:30%;
  width:12px; height:8px;
  background: linear-gradient(90deg, #1a1a0a 0%, #3a3a1a 50%, #1a1a0a 100%);
  border-radius: 50%;
  animation: lr-bee 0.8s ease-in-out infinite;
}
.scn-little-road-not-man .grass {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  animation: lr-grass 4s ease-in-out infinite;
}
.scn-little-road-not-man .fence {
  position:absolute; bottom:20%; left:10%;
  width:4px; height:30px;
  background: #2a1a0a;
  border-radius: 2px;
  box-shadow: 20px 0 #2a1a0a, 40px 0 #2a1a0a;
  animation: lr-fence 5s ease-in-out infinite alternate;
}

@keyframes lr-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes lr-road-pulse { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.05) scaleX(.98) } }
@keyframes lr-tree-shake { 0% { transform: rotate(0deg) } 25% { transform: rotate(-3deg) } 50% { transform: rotate(2deg) } 75% { transform: rotate(-1deg) } 100% { transform: rotate(0deg) } }
@keyframes lr-drop { 0% { transform: translateY(0) scale(1); opacity:1 } 60% { transform: translateY(50vh) scale(1); opacity:1 } 80% { transform: translateY(55vh) scale(2); opacity:.5 } 100% { transform: translateY(55vh) scale(0); opacity:0 } }
@keyframes lr-bee { 0% { transform: translate(0,0) rotate(0deg); opacity:1 } 20% { transform: translate(5px,-8px) rotate(-20deg) } 40% { transform: translate(-3px,6px) rotate(10deg) } 60% { transform: translate(8px,4px) rotate(-15deg) } 80% { transform: translate(-5px,-4px) rotate(5deg) } 100% { transform: translate(0,0) rotate(0deg); opacity:1 } }
@keyframes lr-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes lr-fence { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* scene 3: summer-day-solemn (calm, dawn) */
.scn-summer-day-solemn {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #e8c890 30%, #c8a070 100%),
    radial-gradient(ellipse at 50% 0%, #fce8d0 0%, transparent 60%);
}
.scn-summer-day-solemn .sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #f0d8b0 0%, #d8b888 60%, transparent 100%);
  animation: sd-sky 15s ease-in-out infinite alternate;
}
.scn-summer-day-solemn .sun {
  position:absolute; top:10%; left:40%;
  width:40px; height:40px;
  background: radial-gradient(circle, #ffe8c0 0%, #f0b060 70%);
  border-radius:50%;
  box-shadow: 0 0 60px 20px rgba(240,176,96,.4), 0 0 120px 40px rgba(240,176,96,.2);
  animation: sd-sunrise 30s ease-in-out infinite;
}
.scn-summer-day-solemn .cloud {
  position:absolute; height:16px; border-radius:50%;
  background: linear-gradient(180deg, rgba(240,220,200,.5) 0%, rgba(200,180,160,.1) 100%);
  filter: blur(5px);
}
.scn-summer-day-solemn .cloud-a { top:20%; left:10%; width:80px; animation: sd-cloud-drift 50s linear infinite; }
.scn-summer-day-solemn .cloud-b { top:30%; right:15%; width:60px; height:12px; animation: sd-cloud-drift 60s linear infinite 10s; }
.scn-summer-day-solemn .field {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #a0b060 0%, #889048 60%, #687038 100%);
  border-radius: 80% 20% 0 0 / 40% 10% 0 0;
  animation: sd-field 12s ease-in-out infinite;
}
.scn-summer-day-solemn .figure {
  position:absolute; bottom:20%; left:50%; width:20px; height:45px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: sd-figure 6s ease-in-out infinite;
}
.scn-summer-day-solemn .tree {
  position:absolute; bottom:35%; left:25%; width:14px; height:40px;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: sd-tree-sway 10s ease-in-out infinite;
}

@keyframes sd-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes sd-sunrise { 0% { transform: translateY(10px) scale(1); opacity:.8 } 50% { transform: translateY(0) scale(1.05); opacity:1 } 100% { transform: translateY(-5px) scale(1); opacity:.9 } }
@keyframes sd-cloud-drift { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes sd-field { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }
@keyframes sd-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 50% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg) } }
@keyframes sd-tree-sway { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }

/* scene 4: land-sunset-washes (warm, dusk) */
.scn-land-sunset-washes {
  background:
    linear-gradient(180deg, #c86440 0%, #e8a060 30%, #f0c880 60%, #d89860 100%),
    radial-gradient(ellipse at 50% 100%, #f0c880 0%, transparent 60%);
}
.scn-land-sunset-washes .sky {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(180deg, #c86440 0%, #e8a060 50%, #f0c880 100%);
  animation: ls-sky 20s ease-in-out infinite alternate;
}
.scn-land-sunset-washes .sea {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #d09060 0%, #a06840 50%, #804020 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  animation: ls-sea 12s ease-in-out infinite;
}
.scn-land-sunset-washes .land {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  clip-path: polygon(0% 40%, 100% 40%, 100% 100%, 0% 100%);
  animation: ls-land 8s ease-in-out infinite alternate;
}
.scn-land-sunset-washes .ship {
  position:absolute; bottom:30%; left:30%; width:80px; height:20px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  animation: ls-ship 6s ease-in-out infinite;
}
.scn-land-sunset-washes .sail {
  position:absolute; bottom:43%;
  width:4px; height:25px;
  background: #c8a070;
  border-radius: 10%;
}
.scn-land-sunset-washes .sail-fore { left:35%; width:18px; height:30px; clip-path: polygon(50% 0%, 100% 100%, 0% 100%); animation: ls-sail-fore 4s ease-in-out infinite; }
.scn-land-sunset-washes .sail-aft  { left:42%; width:14px; height:22px; clip-path: polygon(50% 0%, 100% 100%, 0% 100%); animation: ls-sail-aft 5s ease-in-out infinite 1s; }
.scn-land-sunset-washes .bales {
  position:absolute; bottom:20%; left:60%;
  width:12px; height:8px;
  background: #8a6040;
  border-radius: 2px;
  box-shadow: 15px 0 0 #7a5030, 30px 4px 0 #9a7050, 45px 2px 0 #8a6040;
  animation: ls-bales 7s ease-in-out infinite;
}

@keyframes ls-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes ls-sea { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes ls-land { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ls-ship { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ls-sail-fore { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-2px) scaleX(1.1) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes ls-sail-aft { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-1px) scaleX(1.05) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes ls-bales { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }

.scn-crumb-sovereign { background: linear-gradient(180deg, #6b7a8a 0%, #8899a6 30%, #aab5c0 70%, #c4cdd4 100%), radial-gradient(ellipse at 50% 100%, #aab5c0 0%, transparent 60%); position:relative; overflow:hidden; }
.scn-crumb-sovereign .sky { position:absolute; inset:0; background: linear-gradient(180deg, #7c8c9c 0%, #9eadb8 50%, #bcc8d0 100%); animation: cs1-sky 20s ease-in-out infinite alternate; }
.scn-crumb-sovereign .ground { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #4a5b4a 0%, #6a7b5a 40%, #7a8b6a 100%); border-radius:30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.3); animation: cs1-ground 15s ease-in-out infinite alternate; }
.scn-crumb-sovereign .cloud-a { position:absolute; top:12%; left:10%; width:120px; height:28px; background: linear-gradient(90deg, rgba(180,190,200,.7) 0%, rgba(200,210,220,.3) 100%); border-radius:50%; filter:blur(8px); animation: cs1-cloud-a 40s linear infinite; }
.scn-crumb-sovereign .cloud-b { position:absolute; top:20%; right:20%; width:80px; height:20px; background: linear-gradient(90deg, rgba(180,190,200,.5) 0%, rgba(200,210,220,.2) 100%); border-radius:50%; filter:blur(6px); animation: cs1-cloud-b 50s linear infinite reverse; }
.scn-crumb-sovereign .bird { position:absolute; bottom:50%; left:45%; width:30px; height:20px; background: #3a4a5a; border-radius:50% 50% 40% 40%; transform-origin:center; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: cs1-bird 6s ease-in-out infinite; }
.scn-crumb-sovereign .crumb { position:absolute; bottom:38%; left:55%; width:8px; height:6px; background: radial-gradient(circle, #d4b88a 0%, #b8956a 100%); border-radius:40% 40% 30% 30%; box-shadow: 0 0 8px 2px rgba(180,140,100,.5); animation: cs1-crumb 8s ease-in-out infinite; }
.scn-crumb-sovereign .grass { position:absolute; bottom:35%; left:40%; width:3px; height:18px; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%); border-radius:40% 40% 0 0; transform-origin:bottom; animation: cs1-grass 4s ease-in-out infinite alternate; }
.scn-crumb-sovereign .shadow { position:absolute; bottom:36%; left:44%; width:40px; height:6px; background: radial-gradient(ellipse at center, rgba(0,0,0,.25) 0%, transparent 70%); animation: cs1-shadow 6s ease-in-out infinite; }
@keyframes cs1-sky { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes cs1-ground { 0% { transform:translateY(0); } 50% { transform:translateY(-2px); } 100% { transform:translateY(0); } }
@keyframes cs1-cloud-a { 0% { transform:translateX(-30px); } 100% { transform:translateX(120vw); } }
@keyframes cs1-cloud-b { 0% { transform:translateX(0); } 100% { transform:translateX(-100vw); } }
@keyframes cs1-bird { 0% { transform:translate(0,0) scale(1); } 30% { transform:translate(4px,-2px) scale(1.02); } 60% { transform:translate(8px,1px) scale(0.98); } 100% { transform:translate(12px,0) scale(1); } }
@keyframes cs1-crumb { 0% { opacity:.9; transform:rotate(0deg); } 50% { opacity:1; transform:rotate(5deg) scale(1.05); } 100% { opacity:.9; transform:rotate(0deg); } }
@keyframes cs1-grass { 0% { transform:rotate(-5deg); } 100% { transform:rotate(5deg); } }
@keyframes cs1-shadow { 0% { opacity:.6; transform:scaleX(1); } 50% { opacity:.4; transform:scaleX(1.2); } 100% { opacity:.6; transform:scaleX(1); } }

.scn-experiment-every-meet { background: linear-gradient(180deg, #2a3a2a 0%, #3a4a3a 30%, #4a5a4a 60%, #5a6a5a 100%), radial-gradient(ellipse at 30% 50%, #4a5a4a 0%, transparent 60%); position:relative; overflow:hidden; }
.scn-experiment-every-meet .bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a2a1a 0%, #2a3a2a 50%, #1a2a1a 100%); animation: em1-bg 20s ease-in-out infinite alternate; }
.scn-experiment-every-meet .branch { position:absolute; top:30%; left:10%; right:40%; height:6px; background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50%; transform-origin:left center; animation: em1-branch 12s ease-in-out infinite; }
.scn-experiment-every-meet .nut-shell { position:absolute; top:25%; left:35%; width:80px; height:70px; background: radial-gradient(ellipse at 40% 40%, #8a7a5a 0%, #6a5a3a 60%, #4a3a2a 100%); border-radius:40% 40% 50% 50% / 50% 50% 40% 40%; box-shadow: 0 6px 12px rgba(0,0,0,.5); animation: em1-nut-shell 8s ease-in-out infinite; }
.scn-experiment-every-meet .nut-kernel { position:absolute; top:31%; left:41%; width:32px; height:25px; background: linear-gradient(180deg, #e0c8a8 0%, #c0a080 100%); border-radius:40% 40% 30% 30%; box-shadow: inset 0 2px 4px rgba(0,0,0,.2); animation: em1-nut-kernel 10s ease-in-out infinite alternate; }
.scn-experiment-every-meet .squirrel { position:absolute; top:22%; left:55%; width:40px; height:45px; background: radial-gradient(ellipse at 50% 40%, #5a4a3a 0%, #2a1a0a 100%); border-radius:40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin:bottom center; animation: em1-squirrel 6s ease-in-out infinite; }
.scn-experiment-every-meet .leaf { position:absolute; top:20%; left:30%; width:20px; height:10px; background: linear-gradient(135deg, #4a7a3a 0%, #2a5a1a 100%); border-radius:50% 0 50% 0; transform-origin:right center; animation: em1-leaf 7s ease-in-out infinite alternate; }
.scn-experiment-every-meet .shadow { position:absolute; top:50%; left:40%; width:100px; height:10px; background: radial-gradient(ellipse at center, rgba(0,0,0,.3) 0%, transparent 70%); animation: em1-shadow 6s ease-in-out infinite; }
@keyframes em1-bg { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes em1-branch { 0% { transform:rotate(0deg); } 50% { transform:rotate(2deg) translateY(1px); } 100% { transform:rotate(0deg); } }
@keyframes em1-nut-shell { 0% { transform:scale(1) rotate(0deg); } 50% { transform:scale(1.02) rotate(2deg); } 100% { transform:scale(1) rotate(0deg); } }
@keyframes em1-nut-kernel { 0% { opacity:.9; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.05); } 100% { opacity:.9; transform:scaleY(1); } }
@keyframes em1-squirrel { 0% { transform:translate(0,0) rotate(-2deg); } 30% { transform:translate(2px,-3px) rotate(1deg); } 60% { transform:translate(4px,0) rotate(-1deg); } 100% { transform:translate(6px,-1px) rotate(0deg); } }
@keyframes em1-leaf { 0% { transform:rotate(10deg); } 100% { transform:rotate(-10deg) translateX(2px); } }
@keyframes em1-shadow { 0% { opacity:.5; transform:scaleX(1); } 50% { opacity:.7; transform:scaleX(1.1); } 100% { opacity:.5; transform:scaleX(1); } }

.scn-heaven-come-near { background: linear-gradient(180deg, #2a1a2a 0%, #4a2a4a 30%, #6a3a5a 60%, #8a5a6a 100%), radial-gradient(ellipse at 50% 20%, #8a5a6a 0%, transparent 70%); position:relative; overflow:hidden; }
.scn-heaven-come-near .wall { position:absolute; inset:0 30% 0 0; background: linear-gradient(90deg, #1a121a 0%, #2a1a2a 50%, #1a121a 100%); animation: hn1-wall 20s ease-in-out infinite alternate; }
.scn-heaven-come-near .doorway { position:absolute; top:10%; left:20%; width:60%; height:80%; background: linear-gradient(180deg, #6a4a5a 0%, #9a7a8a 30%, #b08a9a 60%, #d0aaba 100%); border-radius: 40% 40% 4% 4% / 60% 60% 4% 4%; box-shadow: inset 0 0 40px rgba(180,140,160,.3); animation: hn1-doorway 15s ease-in-out infinite alternate; }
.scn-heaven-come-near .doorframe { position:absolute; top:8%; left:18%; width:64%; height:84%; border: 6px solid #3a2a3a; border-radius: 40% 40% 4% 4%; box-shadow: 0 0 20px rgba(0,0,0,.6); animation: hn1-doorframe 12s ease-in-out infinite; }
.scn-heaven-come-near .floor { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(0deg, #1a121a 0%, #2a1a2a 100%); border-radius: 0 0 10% 10%; animation: hn1-floor 18s ease-in-out infinite alternate; }
.scn-heaven-come-near .figure { position:absolute; bottom:18%; left:40%; width:20px; height:50px; background: #1a0a1a; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: hn1-figure 6s ease-in-out infinite; }
.scn-heaven-come-near .rays { position:absolute; top:0; left:20%; width:60%; height:100%; background: radial-gradient(ellipse at 50% 10%, rgba(255,230,200,.5) 0%, transparent 70%); animation: hn1-rays 8s ease-in-out infinite alternate; }
.scn-heaven-come-near .heaven-glow { position:absolute; top:5%; left:30%; width:40%; height:40%; background: radial-gradient(circle, rgba(255,200,150,.6) 0%, rgba(255,200,150,.1) 60%, transparent 100%); animation: hn1-glow 10s ease-in-out infinite; }
@keyframes hn1-wall { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.95; } }
@keyframes hn1-doorway { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes hn1-doorframe { 0% { transform:scale(1); } 50% { transform:scale(1.01); } 100% { transform:scale(1); } }
@keyframes hn1-floor { 0% { opacity:.7; } 50% { opacity:.9; } 100% { opacity:.75; } }
@keyframes hn1-figure { 0% { transform:translate(0,0) rotate(-1deg); } 30% { transform:translate(1px,-2px) rotate(2deg); } 60% { transform:translate(-1px,0) rotate(-1deg); } 100% { transform:translate(0,-1px) rotate(1deg); } }
@keyframes hn1-rays { 0% { opacity:.3; transform:scaleX(1); } 50% { opacity:.6; transform:scaleX(1.05); } 100% { opacity:.4; transform:scaleX(1); } }
@keyframes hn1-glow { 0% { opacity:.5; transform:scale(1); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:.6; transform:scale(0.95); } }

.scn-aimed-pebble-fell { background: linear-gradient(180deg, #f0c080 0%, #e8a060 20%, #c08050 40%, #8a6040 60%, #5a4030 100%), radial-gradient(ellipse at 30% 50%, #e8a060 0%, transparent 70%); position:relative; overflow:hidden; }
.scn-aimed-pebble-fell .sky { position:absolute; inset:0; background: linear-gradient(180deg, #f0d0a0 0%, #e8b080 30%, #d09060 60%, #b07050 100%); animation: ap1-sky 10s ease-in-out infinite alternate; }
.scn-aimed-pebble-fell .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #3a2a1a 0%, #5a4030 50%, #7a5a40 100%); border-radius: 60% 40% 0 0 / 80% 60% 0 0; box-shadow: inset 0 12px 24px rgba(0,0,0,.5); animation: ap1-ground 8s ease-in-out infinite alternate; }
.scn-aimed-pebble-fell .giant { position:absolute; bottom:30%; right:5%; width:80px; height:160px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; box-shadow: -10px 0 20px rgba(0,0,0,.6); animation: ap1-giant 12s ease-in-out infinite; }
.scn-aimed-pebble-fell .figure { position:absolute; bottom:40%; left:40%; width:16px; height:40px; background: #1a0a0a; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:center; animation: ap1-figure 4s ease-in infinite; }
.scn-aimed-pebble-fell .pebble { position:absolute; bottom:55%; left:45%; width:6px; height:6px; background: radial-gradient(circle, #8a7a5a 0%, #5a4a3a 100%); border-radius:50%; box-shadow: 0 0 4px 2px rgba(0,0,0,.4); animation: ap1-pebble 3s ease-in-out infinite; }
.scn-aimed-pebble-fell .sling { position:absolute; bottom:56%; left:43%; width:30px; height:2px; background: #3a2a1a; border-radius:50%; transform-origin:right center; animation: ap1-sling 3s ease-in-out infinite alternate; }
.scn-aimed-pebble-fell .shadow { position:absolute; bottom:30%; left:30%; width:120px; height:20px; background: radial-gradient(ellipse at center, rgba(0,0,0,.4) 0%, transparent 70%); animation: ap1-shadow 8s ease-in-out infinite; }
@keyframes ap1-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes ap1-ground { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes ap1-giant { 0% { transform:translate(0,0) scale(1); } 50% { transform:translate(-4px,2px) scale(1.02); } 100% { transform:translate(0,0) scale(1); } }
@keyframes ap1-figure { 0% { transform:translate(0,0) rotate(0deg); } 20% { transform:translate(10px,-20px) rotate(-15deg); } 50% { transform:translate(20px,-40px) rotate(-30deg); } 100% { transform:translate(40px,-80px) rotate(-60deg); } }
@keyframes ap1-pebble { 0% { transform:translate(0,0) scale(1); } 50% { transform:translate(15px,-10px) scale(1.1); } 100% { transform:translate(30px,-20px) scale(0.9); } }
@keyframes ap1-sling { 0% { transform:rotate(0deg); } 50% { transform:rotate(20deg); } 100% { transform:rotate(-10deg); } }
@keyframes ap1-shadow { 0% { opacity:.6; transform:scaleX(1); } 50% { opacity:.8; transform:scaleX(1.2); } 100% { opacity:.6; transform:scaleX(1); } }

.scn-bees-cease-murmuring {
  background: linear-gradient(180deg, #4a3a5e 0%, #6a4a3a 100%), radial-gradient(ellipse at 50% 30%, #c08050 0%, transparent 60%);
}
.scn-bees-cease-murmuring .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #6a5a7a 0%, #b08050 100%);
  animation: bcm-sky 12s ease-in-out infinite alternate;
}
.scn-bees-cease-murmuring .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a3a1a 100%);
  border-radius: 20% 30% 0 0;
}
.scn-bees-cease-murmuring .trunk {
  position: absolute; bottom: 32%; left: 20%; width: 10px; height: 70px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a2a 50%, #3a2a1a 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: bcm-trunk 6s ease-in-out infinite;
}
.scn-bees-cease-murmuring .leaves {
  position: absolute; bottom: 60%; left: 16%; width: 50px; height: 40px;
  background: radial-gradient(ellipse at 50% 60%, #4a6a3a 0%, #2a3a1a 80%);
  border-radius: 50%;
  box-shadow: 0 -10px 20px rgba(42,58,26,0.3);
  animation: bcm-leaves 8s ease-in-out infinite alternate;
}
.scn-bees-cease-murmuring .book-spine {
  position: absolute; bottom: 20%; left: 40%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform: rotate(5deg);
  animation: bcm-book 12s ease-in-out infinite;
}
.scn-bees-cease-murmuring .page-left {
  position: absolute; bottom: 20%; left: 38%; width: 40px; height: 35px;
  background: linear-gradient(135deg, #d0c0a0 0%, #a08860 100%);
  border-radius: 2px;
  transform-origin: right bottom;
  animation: bcm-page-left 10s ease-in-out infinite;
}
.scn-bees-cease-murmuring .page-right {
  position: absolute; bottom: 20%; left: 44%; width: 40px; height: 35px;
  background: linear-gradient(135deg, #b0a080 0%, #908060 100%);
  border-radius: 2px;
  transform-origin: left bottom;
  animation: bcm-page-right 10s ease-in-out infinite;
}
.scn-bees-cease-murmuring .glow {
  position: absolute; bottom: 40%; left: 60%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffd080 0%, #c09040 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(192,144,64,0.5);
  animation: bcm-glow 4s ease-in-out infinite alternate;
}
@keyframes bcm-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes bcm-trunk { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes bcm-leaves { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(3px) scale(1.02); } 100% { transform: translateX(0); } }
@keyframes bcm-book { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes bcm-page-left { 0% { transform: rotate(0deg); } 50% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes bcm-page-right { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes bcm-glow { 0% { box-shadow: 0 0 15px 4px rgba(192,144,64,0.3); opacity: 0.6; } 50% { box-shadow: 0 0 30px 10px rgba(255,208,128,0.7); opacity: 1; } 100% { box-shadow: 0 0 20px 6px rgba(192,144,64,0.4); opacity: 0.8; } }

.scn-world-not-conclusion {
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 40%, #2a3a4a 100%), radial-gradient(ellipse at 50% 40%, #8a9aaa 0%, transparent 70%);
}
.scn-world-not-conclusion .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 100%);
  animation: wnc-sky 15s ease-in-out infinite alternate;
}
.scn-world-not-conclusion .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-world-not-conclusion .wall-left {
  position: absolute; bottom: 20%; left: 30%; width: 20px; height: 60%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 0 0 4px;
}
.scn-world-not-conclusion .wall-right {
  position: absolute; bottom: 20%; right: 30%; width: 20px; height: 60%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 0 4px 4px 0;
}
.scn-world-not-conclusion .arch {
  position: absolute; bottom: 55%; left: 32%; width: 36%; height: 30%;
  background: transparent;
  border: 4px solid #6a5a4a;
  border-radius: 50% 50% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
}
.scn-world-not-conclusion .light-glow {
  position: absolute; bottom: 40%; left: 40%; width: 20%; height: 40%;
  background: radial-gradient(ellipse at 50% 30%, #c0d0e0 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(192,208,224,0.3);
  animation: wnc-glow 6s ease-in-out infinite alternate;
}
.scn-world-not-conclusion .figure {
  position: absolute; bottom: 15%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wnc-figure 8s ease-in-out infinite;
}
@keyframes wnc-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wnc-glow { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } 100% { opacity: 0.4; transform: scale(1); } }
@keyframes wnc-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(10px) translateY(-3px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes wnc-arch { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.1); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.3); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.1); } }

.scn-learn-retreating {
  background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 40%, #2a3a3a 100%), radial-gradient(ellipse at 50% 30%, #8a9a9a 0%, transparent 60%);
}
.scn-learn-retreating .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 100%);
  animation: ler-sky 20s linear infinite alternate;
}
.scn-learn-retreating .sun {
  position: absolute; top: 30%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #d0b080 0%, #b09060 60%, transparent 80%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: ler-sun 10s ease-in-out infinite alternate;
}
.scn-learn-retreating .cloud1 {
  position: absolute; top: 15%; left: 10%; width: 120px; height: 30px;
  background: linear-gradient(180deg, rgba(180,190,190,0.6) 0%, rgba(140,150,150,0.2) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ler-cloud1 40s linear infinite;
}
.scn-learn-retreating .cloud2 {
  position: absolute; top: 25%; right: 15%; width: 100px; height: 25px;
  background: linear-gradient(180deg, rgba(160,170,170,0.5) 0%, rgba(120,130,130,0.1) 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ler-cloud2 50s linear infinite reverse;
}
.scn-learn-retreating .hill {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 40% 60% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.3);
}
.scn-learn-retreating .tree {
  position: absolute; bottom: 42%; left: 30%; width: 20px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: ler-tree 8s ease-in-out infinite;
}
.scn-learn-retreating .tree::before {
  content: ''; position: absolute; top: -30px; left: -20px; width: 60px; height: 40px;
  background: radial-gradient(ellipse at 50% 40%, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50%;
}
.scn-learn-retreating .figure {
  position: absolute; bottom: 30%; left: 60%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ler-figure 16s linear infinite;
}
@keyframes ler-sky { 0% { background-position: 0 0; } 100% { background-position: 100% 0; } }
@keyframes ler-sun { 0% { opacity: 0.5; transform: translate(-50%, -50%) scale(0.95); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.05); } 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.95); } }
@keyframes ler-cloud1 { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }
@keyframes ler-cloud2 { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }
@keyframes ler-tree { 0% { transform: rotate(-1deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes ler-figure { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-20px) translateY(-2px); } 100% { transform: translateX(0) translateY(0); } }

.scn-cover-sweet-face {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 50%, #1a0a0a 100%), radial-gradient(ellipse at 50% 60%, #3a2a2a 0%, transparent 70%);
}
.scn-cover-sweet-face .wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1a2a 0%, #2a1a1a 100%);
  opacity: 0.9;
}
.scn-cover-sweet-face .window {
  position: absolute; top: 10%; left: 10%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
  animation: csf-window 12s ease-in-out infinite alternate;
}
.scn-cover-sweet-face .bed {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-cover-sweet-face .figure {
  position: absolute; bottom: 15%; left: 35%; width: 30%; height: 20%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
}
.scn-cover-sweet-face .cloth {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 15%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 60% 60%;
  transform-origin: center bottom;
  animation: csf-cloth 8s ease-in-out infinite alternate;
}
.scn-cover-sweet-face .candle {
  position: absolute; bottom: 25%; right: 20%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
}
.scn-cover-sweet-face .glow {
  position: absolute; bottom: 30%; right: 18%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.4);
  animation: csf-glow 3s ease-in-out infinite alternate;
}
@keyframes csf-window { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }
@keyframes csf-cloth { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(0.98); } 100% { transform: translateY(0) scale(1); } }
@keyframes csf-glow { 0% { box-shadow: 0 0 20px 6px rgba(192,128,64,0.3); opacity: 0.6; } 50% { box-shadow: 0 0 40px 15px rgba(255,208,128,0.7); opacity: 1; } 100% { box-shadow: 0 0 25px 8px rgba(192,128,64,0.4); opacity: 0.8; } }

/* Scene: item-two-butterflies-noon */
.scn-item-two-butterflies-noon { background: linear-gradient(180deg, #7fc8d8 0%, #fce4b8 70%), radial-gradient(ellipse at 60% 30%, #fff7d6 0%, transparent 80%); }
.scn-item-two-butterflies-noon .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #9cd8e8 0%, transparent 100%); animation: bf-sky 10s ease-in-out infinite alternate; }
.scn-item-two-butterflies-noon .stream { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #4a8daa 0%, #3a6d8a 40%, #7a9a6a 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; animation: bf-stream 6s ease-in-out infinite alternate; }
.scn-item-two-butterflies-noon .bank-left { position:absolute; bottom:30%; left:0; width:22%; height:20%; background: linear-gradient(180deg, #6aa86a 0%, #4a7a4a 100%); border-radius: 0 60% 60% 0 / 0 80% 80% 0; animation: bf-bank 8s ease-in-out infinite; }
.scn-item-two-butterflies-noon .beam { position:absolute; top:10%; left:30%; width:20%; height:60%; background: linear-gradient(135deg, rgba(255,255,200,0.6) 0%, rgba(255,255,200,0) 70%); filter: blur(8px); transform: rotate(-15deg); transform-origin: top left; animation: bf-beam 12s ease-in-out infinite alternate; }
.scn-item-two-butterflies-noon .butterfly { position:absolute; width:20px; height:16px; background: radial-gradient(ellipse at 50% 50%, #f5d76e 30%, #b89b4a 70%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: bf-bfly1 5s ease-in-out infinite; }
.scn-item-two-butterflies-noon .butt-1 { top:35%; left:20%; animation: bf-bfly1 5s ease-in-out infinite; }
.scn-item-two-butterflies-noon .butt-2 { top:38%; left:55%; animation: bf-bfly2 6s ease-in-out infinite; animation-delay: -2s; }
.scn-item-two-butterflies-noon .bird { position:absolute; top:12%; right:15%; width:24px; height:10px; background: #2a2a1a; border-radius: 50% 50% 40% 40% / 100% 100% 60% 60%; transform: scaleX(1.8); animation: bf-bird 15s linear infinite; }
@keyframes bf-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes bf-stream { 0% { transform: translateY(0); border-radius: 20% 20% 0 0 / 40% 40% 0 0; } 50% { transform: translateY(-3px); border-radius: 22% 18% 0 0 / 45% 35% 0 0; } 100% { transform: translateY(0); } }
@keyframes bf-bank { 0% { transform: translateX(0); } 50% { transform: translateX(4px); } 100% { transform: translateX(0); } }
@keyframes bf-beam { 0% { opacity:0.5; transform: rotate(-15deg) scaleX(1); } 50% { opacity:0.8; transform: rotate(-13deg) scaleX(1.1); } 100% { opacity:0.5; transform: rotate(-15deg) scaleX(1); } }
@keyframes bf-bfly1 { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 25% { transform: translate(15px,-8px) rotate(10deg) scale(1.2); } 50% { transform: translate(30px,0) rotate(-5deg) scale(1); } 75% { transform: translate(15px,6px) rotate(5deg) scale(1.1); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }
@keyframes bf-bfly2 { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 25% { transform: translate(-12px,10px) rotate(-8deg) scale(1.15); } 50% { transform: translate(-25px,0) rotate(5deg) scale(1); } 75% { transform: translate(-12px,-8px) rotate(-3deg) scale(1.1); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }
@keyframes bf-bird { 0% { transform: translateX(0) scaleX(1.8); } 50% { transform: translateX(-20px) scaleX(1.8) translateY(-3px); } 100% { transform: translateX(-40px) scaleX(1.8); } }

/* Scene: i-started-early-sea */
.scn-i-started-early-sea { background: linear-gradient(180deg, #9fc8e0 0%, #f5e6c8 70%), radial-gradient(ellipse at 50% 100%, #d4b896 0%, transparent 70%); }
.scn-i-started-early-sea .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #b8d8e8 0%, #c8e8f0 40%, transparent 100%); animation: sea-sky 12s ease-in-out infinite alternate; }
.scn-i-started-early-sea .sea { position:absolute; bottom:15%; left:0; right:0; height:45%; background: linear-gradient(180deg, #4a8daa 0%, #2a5a7a 100%); border-radius: 20% 30% 0 0 / 50% 60% 0 0; animation: sea-sw 8s ease-in-out infinite alternate; }
.scn-i-started-early-sea .sand { position:absolute; bottom:0; left:0; right:50%; height:20%; background: linear-gradient(180deg, #c8b896 0%, #a89876 100%); border-radius: 0 30% 0 0 / 0 60% 0 0; }
.scn-i-started-early-sea .figure { position:absolute; bottom:18%; left:20%; width:22px; height:48px; background: linear-gradient(180deg, #f0e8d8 0%, #d8c8a8 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sea-fig 5s ease-in-out infinite; }
.scn-i-started-early-sea .wave { position:absolute; bottom:30%; left:60%; width:120px; height:25px; background: rgba(200,230,240,0.7); border-radius: 50% 50% 0 0; filter: blur(2px); animation: sea-wave 9s linear infinite; }
.scn-i-started-early-sea .foam { position:absolute; bottom:28%; left:55%; width:80px; height:10px; background: rgba(240,250,255,0.6); border-radius: 50%; filter: blur(3px); animation: sea-foam 9s linear infinite; animation-delay: -3s; }
@keyframes sea-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes sea-sw { 0% { transform: translateY(0) scaleY(1); border-radius: 20% 30% 0 0 / 50% 60% 0 0; } 50% { transform: translateY(-4px) scaleY(1.02); border-radius: 22% 28% 0 0 / 48% 62% 0 0; } 100% { transform: translateY(0) scaleY(1); } }
@keyframes sea-fig { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sea-wave { 0% { transform: translateX(0) translateY(0) scale(1); opacity:0.7; } 50% { transform: translateX(-50px) translateY(2px) scale(1.1); opacity:1; } 100% { transform: translateX(-100px) translateY(0) scale(0.9); opacity:0.4; } }
@keyframes sea-foam { 0% { transform: translateX(0) scale(1); opacity:0.5; } 50% { transform: translateX(-40px) scale(1.5); opacity:1; } 100% { transform: translateX(-80px) scale(0.8); opacity:0; } }

/* Scene: arcturus-his-other-name */
.scn-arcturus-his-other-name { background: linear-gradient(180deg, #0b0b1f 0%, #16163a 50%, #2a1a40 100%), radial-gradient(ellipse at 50% 30%, #3a2a5a 0%, transparent 70%); }
.scn-arcturus-his-other-name .sky-stars { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #0b0b1f 0%, transparent 100%); }
.scn-arcturus-his-other-name .stars { position:absolute; top:5%; left:0; right:0; height:50%; background: transparent; box-shadow: 8px 10px 0 1px #fff, 25px 40px 0 2px #fff, 60px 20px 0 1px #fff, 90px 60px 0 2px #fff, 40px 70px 0 1px #fff, 110px 30px 0 2px #fff, 140px 80px 0 1px #fff, 180px 50px 0 2px #fff, 200px 20px 0 1px #fff, 50px 100px 0 1px #fff; border-radius: 50%; animation: ar-twinkle 4s ease-in-out infinite alternate; }
.scn-arcturus-his-other-name .flower { position:absolute; bottom:20%; left:30%; width:14px; height:20px; background: radial-gradient(ellipse at 50% 80%, #f0e8d0 30%, #c0b090 70%); border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%; transform-origin: bottom center; animation: ar-flower 3s ease-in-out infinite; }
.scn-arcturus-his-other-name .butterfly { position:absolute; top:30%; right:25%; width:16px; height:12px; background: radial-gradient(ellipse at 50% 50%, #e8d080 30%, #b09850 70%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: ar-bfly 5s ease-in-out infinite; }
.scn-arcturus-his-other-name .cabinet { position:absolute; bottom:15%; right:10%; width:40px; height:70px; background: linear-gradient(180deg, #4a3020 0%, #3a2010 100%); border-radius: 4px; box-shadow: inset -4px 0 6px rgba(0,0,0,0.5); }
.scn-arcturus-his-other-name .figure-sil { position:absolute; bottom:18%; left:10%; width:18px; height:38px; background: #0f0f1f; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-fig 4s ease-in-out infinite; }
@keyframes ar-twinkle { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes ar-flower { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg) scale(1.1); } 100% { transform: rotate(-5deg); } }
@keyframes ar-bfly { 0% { transform: translateY(0) rotate(0deg) scale(1); } 25% { transform: translateY(-12px) rotate(10deg) scale(1.2); } 50% { transform: translateY(0) rotate(0deg) scale(1); } 75% { transform: translateY(8px) rotate(-8deg) scale(1.1); } 100% { transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes ar-fig { 0% { transform: translateX(0) rotate(3deg); } 30% { transform: translateX(5px) rotate(-3deg); } 60% { transform: translateX(-3px) rotate(5deg); } 100% { transform: translateX(0) rotate(3deg); } }

/* Scene: awful-tempest-mashed-air */
.scn-awful-tempest-mashed-air { background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 40%, #2a2a3a 100%), radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 80%); }
.scn-awful-tempest-mashed-air .tempest-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a3a 0%, #0f0f1a 100%); animation: tmp-sky 6s ease-in-out infinite alternate; }
.scn-awful-tempest-mashed-air .clouds { position:absolute; top:10%; left:0; right:0; height:40%; background: radial-gradient(ellipse at 20% 40%, #3a3a4a 0%, transparent 50%), radial-gradient(ellipse at 60% 20%, #3a3a4a 0%, transparent 40%), radial-gradient(ellipse at 90% 30%, #2a2a3a 0%, transparent 50%); filter: blur(10px); animation: tmp-clouds 12s linear infinite; }
.scn-awful-tempest-mashed-air .roof { position:absolute; bottom:25%; left:20%; width:60%; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); clip-path: polygon(0% 30%, 50% 0%, 100% 30%, 100% 100%, 0% 100%); animation: tmp-roof 0.8s ease-in-out infinite alternate; }
.scn-awful-tempest-mashed-air .creature { position:absolute; bottom:30%; width:20px; height:35px; background: #0a0a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tmp-creature 1.2s ease-in-out infinite; }
.scn-awful-tempest-mashed-air .creature.left { left:25%; animation-delay: 0s; }
.scn-awful-tempest-mashed-air .creature.right { right:25%; animation-delay: -0.6s; }
.scn-awful-tempest-mashed-air .wind-lines { position:absolute; top:15%; left:0; right:0; height:60%; background: repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(220,220,240,0.15) 30px, rgba(220,220,240,0.15) 32px); animation: tmp-wind 3s linear infinite; }
.scn-awful-tempest-mashed-air .lightning { position:absolute; top:8%; left:40%; width:4px; height:80px; background: linear-gradient(180deg, #fff 0%, #aab 40%, transparent 100%); filter: blur(2px); clip-path: polygon(50% 0%, 60% 30%, 30% 40%, 70% 70%, 40% 100%); animation: tmp-lightning 4s ease-in-out infinite; }
@keyframes tmp-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes tmp-clouds { 0% { transform: translateX(0); } 50% { transform: translateX(-10px) scaleY(1.02); } 100% { transform: translateX(0); } }
@keyframes tmp-roof { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(2px) rotate(1deg); } }
@keyframes tmp-creature { 0% { transform: translate(0,0) rotate(10deg); } 25% { transform: translate(3px,-5px) rotate(-5deg); } 50% { transform: translate(-2px,2px) rotate(15deg); } 75% { transform: translate(2px,-3px) rotate(-10deg); } 100% { transform: translate(0,0) rotate(10deg); } }
@keyframes tmp-wind { 0% { background-position: 0 0; } 100% { background-position: 60px 0; } }
@keyframes tmp-lightning { 0% { opacity:0; } 10% { opacity:1; } 20% { opacity:0; } 50% { opacity:0.6; } 60% { opacity:0; } 100% { opacity:0; } }

/* candle-extinguished: tense, dark interior */
.scn-candle-extinguished {
  background: linear-gradient(180deg, #1a1a3e 0%, #0f0f1a 100%), radial-gradient(ellipse at 50% 100%, #2a2a4e 0%, #0f0f1a 80%);
}
.scn-candle-extinguished .ce-room { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, #0a0a14 30%, #05050b 100%); }
.scn-candle-extinguished .ce-table { position:absolute; bottom:20%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.7); }
.scn-candle-extinguished .ce-candle { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:16px; height:40px; background: linear-gradient(180deg, #e8dcc8 0%, #b8a88a 70%, #8a7a6a 100%); border-radius: 2px 2px 4px 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: ce-candle-shake 8s ease-in-out infinite; }
.scn-candle-extinguished .ce-flame { position:absolute; bottom:68%; left:50%; transform:translateX(-50%); width:10px; height:16px; background: radial-gradient(ellipse at 50% 100%, #ffb040 0%, #ff8020 50%, transparent 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px #ff8020, 0 0 40px 16px rgba(255,128,32,0.4); animation: ce-flame-flicker 0.6s ease-in-out infinite alternate, ce-flame-out 3s ease-in-out 2s forwards; }
.scn-candle-extinguished .ce-smoke { position:absolute; bottom:74%; left:50%; width:20px; height:20px; background: radial-gradient(circle, rgba(200,200,200,0.4) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); }
.scn-candle-extinguished .ce-smoke1 { animation: ce-smoke-rise1 3s ease-in-out 2.2s infinite; left:48%; }
.scn-candle-extinguished .ce-smoke2 { animation: ce-smoke-rise2 4s ease-in-out 2.5s infinite; left:52%; }
.scn-candle-extinguished .ce-window { position:absolute; top:10%; right:10%; width:60px; height:80px; background: linear-gradient(180deg, #2a3a5a 0%, #1a2a4a 100%); border: 3px solid #1a1a2a; border-radius: 2px; overflow:hidden; }
.scn-candle-extinguished .ce-window::after { content:''; position:absolute; top:10%; left:10%; width:80%; height:80%; background: radial-gradient(circle at 30% 30%, #4a7a9a 0%, transparent 70%); animation: ce-lighthouse 6s ease-in-out infinite alternate; opacity:0.6; }
@keyframes ce-candle-shake { 0%,100% { transform:translateX(-50%) rotate(0deg); } 25% { transform:translateX(-48%) rotate(1deg); } 75% { transform:translateX(-52%) rotate(-1deg); } }
@keyframes ce-flame-flicker { 0% { transform:translateX(-50%) scaleY(1) scaleX(1); } 50% { transform:translateX(-50%) scaleY(1.1) scaleX(0.9); } 100% { transform:translateX(-50%) scaleY(0.9) scaleX(1.1); } }
@keyframes ce-flame-out { 0% { opacity:1; transform:translateX(-50%) scale(1); } 30% { opacity:0.8; transform:translateX(-50%) scale(1.2); } 100% { opacity:0; transform:translateX(-50%) scale(0); } }
@keyframes ce-smoke-rise1 { 0% { opacity:0; transform: translateY(0) scale(0.5); } 30% { opacity:0.6; } 100% { opacity:0; transform: translateY(-50px) scale(2); } }
@keyframes ce-smoke-rise2 { 0% { opacity:0; transform: translateY(0) scale(0.5); } 30% { opacity:0.5; } 100% { opacity:0; transform: translateY(-60px) scale(2.5); } }
@keyframes ce-lighthouse { 0% { opacity:0.4; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.2); } 100% { opacity:0.4; transform: scale(0.8); } }

/* mine-enemy-old: tense, overcast landscape */
.scn-mine-enemy-old {
  background: linear-gradient(180deg, #5a6068 0%, #3a4048 40%, #2a2e34 100%), radial-gradient(ellipse at 50% 100%, #3a4048 0%, #1a1e22 100%);
}
.scn-mine-enemy-old .me-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #6a7078 0%, #4a4e56 100%); animation: me-sky-drift 20s linear infinite; }
.scn-mine-enemy-old .me-ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2e3228 0%, #1a1e14 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; }
.scn-mine-enemy-old .me-enemy { position:absolute; bottom:45%; left:20%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: me-walk-left 6s ease-in-out infinite; }
.scn-mine-enemy-old .me-protagonist { position:absolute; bottom:45%; left:60%; width:32px; height:62px; background: linear-gradient(180deg, #2a2a2a 0%, #0f0f0f 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: me-walk-right 6s ease-in-out infinite reverse; }
.scn-mine-enemy-old .me-tree { position:absolute; bottom:50%; left:10%; width:60px; height:100px; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%; transform: scale(0.9); }
.scn-mine-enemy-old .me-crow { position:absolute; top:20%; left:50%; width:16px; height:12px; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: me-crow-fly 4s ease-in-out infinite; }
@keyframes me-sky-drift { 0% { background-position:0% 0%; } 50% { background-position:100% 0%; } 100% { background-position:0% 0%; } }
@keyframes me-walk-left { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-10px) rotate(-2deg); } 50% { transform: translateX(-20px) rotate(0deg); } 75% { transform: translateX(-10px) rotate(2deg); } }
@keyframes me-walk-right { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(2deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(10px) rotate(-2deg); } }
@keyframes me-crow-fly { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(-20px,-10px) scale(1.1); } 50% { transform: translate(-40px,-20px) scale(0.9); } 75% { transform: translate(-20px,-10px) scale(1); } 100% { transform: translate(0,0) scale(1); } }

/* remorse-cureless-disease: dark, firelit interior */
.scn-remorse-cureless-disease {
  background: linear-gradient(180deg, #2e1a1a 0%, #1a0a0a 50%, #0e0606 100%), radial-gradient(circle at 50% 70%, #3a2222 0%, #000 70%);
}
.scn-remorse-cureless-disease .rc-room { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, #0a0505 100%); }
.scn-remorse-cureless-disease .rc-fireplace { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:100px; height:80px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 10px 10px 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.8); }
.scn-remorse-cureless-disease .rc-fire { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:60px; height:60px; background: radial-gradient(ellipse at 50% 80%, #ff8030 0%, #a04020 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 20px #a04020, 0 0 80px 40px rgba(160,64,32,0.4); animation: rc-fire-glare 1.5s ease-in-out infinite alternate; }
.scn-remorse-cureless-disease .rc-chair { position:absolute; bottom:18%; left:30%; width:40px; height:50px; background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 100%); border-radius: 10% 10% 30% 30% / 20% 20% 30% 30%; transform: rotate(5deg); }
.scn-remorse-cureless-disease .rc-figure { position:absolute; bottom:20%; left:32%; width:30px; height:60px; background: linear-gradient(180deg, #0f0a0a 0%, #050202 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: rc-breathe 4s ease-in-out infinite; }
.scn-remorse-cureless-disease .rc-door { position:absolute; top:15%; right:15%; width:50px; height:90px; background: linear-gradient(180deg, #2a1a10 0%, #0a0500 100%); border: 2px solid #1a0a05; transform: skewY(-5deg); overflow:hidden; }
.scn-remorse-cureless-disease .rc-glow { position:absolute; top:15%; right:15%; width:50px; height:90px; background: radial-gradient(ellipse at 50% 50%, #b08040 0%, transparent 80%); opacity:0.4; animation: rc-door-glow 3s ease-in-out infinite alternate; }
@keyframes rc-fire-glare { 0% { opacity:0.8; transform:translateX(-50%) scale(0.9); } 50% { opacity:1; transform:translateX(-50%) scale(1.1); } 100% { opacity:0.7; transform:translateX(-50%) scale(0.8); } }
@keyframes rc-breathe { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } }
@keyframes rc-door-glow { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }

/* undue-significance-starving: calm, overcast street */
.scn-undue-significance-starving {
  background: linear-gradient(180deg, #9aa0a8 0%, #6a7078 100%), radial-gradient(ellipse at 50% 100%, #7a8088 0%, #4a5058 100%);
}
.scn-undue-significance-starving .us-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #b0b8c0 0%, #8a9098 100%); animation: us-cloud-drift 30s linear infinite; }
.scn-undue-significance-starving .us-street { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #4a5048 0%, #2a2e28 100%); }
.scn-undue-significance-starving .us-houses { position:absolute; bottom:40%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #5a5a58 0%, #2a2a28 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3); }
.scn-undue-significance-starving .us-houses::before { content:''; position:absolute; top:10%; left:5%; width:20%; height:50%; background: #3a3a38; border-radius: 2px; }
.scn-undue-significance-starving .us-walker { position:absolute; bottom:38%; left:30%; width:24px; height:52px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: us-walk 5s ease-in-out infinite; }
.scn-undue-significance-starving .us-window { position:absolute; bottom:45%; left:35%; width:14px; height:18px; background: radial-gradient(circle, #d0b080 0%, #b09060 100%); border-radius: 2px; box-shadow: 0 0 12px 4px rgba(208,176,128,0.6); animation: us-window-glow 4s ease-in-out infinite alternate; }
.scn-undue-significance-starving .us-bird { position:absolute; top:25%; left:20%; width:14px; height:10px; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: us-bird-hop 2s ease-in-out infinite; }
.scn-undue-significance-starving .us-tree { position:absolute; bottom:50%; right:15%; width:40px; height:80px; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%; transform: scale(0.8); }
@keyframes us-cloud-drift { 0% { background-position:0% 0%; } 50% { background-position:100% 0%; } 100% { background-position:0% 0%; } }
@keyframes us-walk { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(1deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(10px) rotate(-1deg); } }
@keyframes us-window-glow { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.1); } 100% { opacity:0.4; transform: scale(0.9); } }
@keyframes us-bird-hop { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(15px, -8px) scale(1.1); } 50% { transform: translate(30px, 0) scale(0.9); } 75% { transform: translate(15px, -5px) scale(1); } 100% { transform: translate(0,0) scale(1); } }

/* hide-within-flower */
.scn-hide-within-flower {
  background:
    linear-gradient(135deg, #fff8e7 0%, #fddba6 30%, #fce4a8 60%, #ffe0b2 100%),
    radial-gradient(ellipse at 70% 30%, #ffee88 0%, transparent 70%);
}
.scn-hide-within-flower .petal-back {
  position:absolute; inset:10% 10% 30% 10%; border-radius:50%;
  background: radial-gradient(ellipse at 50% 60%, #fff0cc 0%, #fce4a8 50%, #f0d48e 100%);
  animation: hwf-sway 8s ease-in-out infinite alternate;
}
.scn-hide-within-flower .petal-front {
  position:absolute; inset:15% 18% 35% 18%; border-radius:50%;
  background: radial-gradient(ellipse at 50% 50%, #fff5dc 0%, #fce8b8 50%, #f5d699 100%);
  animation: hwf-sway 7s ease-in-out 1s infinite alternate;
}
.scn-hide-within-flower .stamen {
  position:absolute; top:35%; left:48%; width:8%; height:12%;
  border-radius:50%;
  background: radial-gradient(circle, #ffd680 0%, #e5a040 60%, #c07020 100%);
  box-shadow: 0 0 20px 6px rgba(255,214,128,0.6);
  animation: hwf-glow 3s ease-in-out infinite alternate;
}
.scn-hide-within-flower .hidden-figure {
  position:absolute; bottom:42%; left:45%; width:6%; height:10%;
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%);
  transform-origin: bottom center;
  animation: hwf-peek 5s ease-in-out infinite;
}
.scn-hide-within-flower .stem {
  position:absolute; bottom:15%; left:49%; width:2%; height:30%;
  background: linear-gradient(180deg, #4a7a3a 0%, #2a5a1a 100%);
  border-radius: 10% 10% 20% 20%;
  animation: hwf-grow 10s ease-in-out infinite alternate;
}
.scn-hide-within-flower .leaf {
  position:absolute; bottom:28%; left:40%; width:10%; height:6%;
  border-radius: 50% 0 50% 0;
  background: linear-gradient(135deg, #4a8a3a 0%, #2a6a1a 100%);
  transform-origin: right center;
  animation: hwf-sway-leaf 6s ease-in-out infinite alternate;
}
.scn-hide-within-flower .sun-rays {
  position:absolute; inset:0; background:
    radial-gradient(ellipse at 60% 20%, rgba(255,250,210,0.3) 0%, transparent 60%);
  animation: hwf-pulse 4s ease-in-out infinite;
}
.scn-hide-within-flower .shadow {
  position:absolute; bottom:10%; left:30%; width:40%; height:8%;
  border-radius:50%;
  background: radial-gradient(ellipse, rgba(60,40,20,0.4) 0%, transparent 70%);
  animation: hwf-shadow 12s ease-in-out infinite alternate;
}

@keyframes hwf-sway {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.02); }
  100% { transform: rotate(-1deg) scale(0.98); }
}
@keyframes hwf-glow {
  0% { box-shadow: 0 0 15px 4px rgba(255,214,128,0.4); opacity:0.8; }
  50% { box-shadow: 0 0 30px 10px rgba(255,214,128,0.8); opacity:1; }
  100% { box-shadow: 0 0 20px 6px rgba(255,214,128,0.5); opacity:0.9; }
}
@keyframes hwf-peek {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-4px) rotate(-3deg); }
  60% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes hwf-grow {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.05) translateY(-2px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes hwf-sway-leaf {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(8deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes hwf-pulse {
  0% { opacity:0.3; }
  50% { opacity:0.7; }
  100% { opacity:0.4; }
}
@keyframes hwf-shadow {
  0% { transform: scaleX(1); opacity:0.4; }
  50% { transform: scaleX(1.1); opacity:0.6; }
  100% { transform: scaleX(0.9); opacity:0.3; }
}

/* brook-in-heart */
.scn-brook-in-heart {
  background:
    linear-gradient(180deg, #ffdfba 0%, #f8c8dc 30%, #a6c8ff 60%, #6b9ce5 100%),
    radial-gradient(ellipse at 80% 20%, #fff0e0 0%, transparent 60%);
}
.scn-brook-in-heart .sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #ffe6d5 0%, #fbc2c2 40%, transparent 100%);
  animation: bih-sky 15s ease-in-out infinite alternate;
}
.scn-brook-in-heart .water {
  position:absolute; bottom:20%; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #7bc2e8 0%, #4a8fc4 60%, #2a6a9a 100%);
  border-radius: 20% 30% 0 0 / 30% 40% 0 0;
  animation: bih-flow 8s ease-in-out infinite alternate;
}
.scn-brook-in-heart .bank-left {
  position:absolute; bottom:28%; left:5%; width:35%; height:18%;
  border-radius: 0 80% 60% 0 / 0 50% 30% 0;
  background: linear-gradient(135deg, #6a8a4a 0%, #3a5a2a 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-brook-in-heart .bank-right {
  position:absolute; bottom:28%; right:5%; width:35%; height:18%;
  border-radius: 80% 0 0 60% / 50% 0 0 30%;
  background: linear-gradient(225deg, #5a7a3a 0%, #2a4a1a 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-brook-in-heart .flower-cluster {
  position:absolute; bottom:38%; left:15%; width:12%; height:16%;
  background:
    radial-gradient(circle at 30% 40%, #f0a0c0 0%, transparent 30%),
    radial-gradient(circle at 60% 60%, #f0c0a0 0%, transparent 25%),
    radial-gradient(circle at 80% 30%, #e0b080 0%, transparent 20%);
  animation: bih-sway-flowers 6s ease-in-out infinite alternate;
}
.scn-brook-in-heart .bird {
  position:absolute; bottom:30%; left:55%; width:8%; height:6%;
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  transform-origin: bottom center;
  animation: bih-drink 4s ease-in-out infinite;
}
.scn-brook-in-heart .ripples {
  position:absolute; bottom:22%; left:35%; width:20%; height:4%;
  border-radius:50%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.4) 0%, transparent 70%);
  animation: bih-ripple 5s ease-in-out infinite;
}
.scn-brook-in-heart .shadow {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, rgba(30,40,60,0.2) 0%, transparent 100%);
  animation: bih-shadow 12s ease-in-out infinite alternate;
}

@keyframes bih-sky {
  0% { opacity:0.8; }
  50% { opacity:1; }
  100% { opacity:0.7; }
}
@keyframes bih-flow {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.02); }
  100% { transform: translateY(1px) scaleX(0.98); }
}
@keyframes bih-sway-flowers {
  0% { transform: rotate(-3deg) scale(1); }
  50% { transform: rotate(4deg) scale(1.05); }
  100% { transform: rotate(-2deg) scale(0.95); }
}
@keyframes bih-drink {
  0% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-4px) rotate(-10deg); }
  40% { transform: translateY(0) rotate(0deg); }
  60% { transform: translateY(-2px) rotate(5deg); }
  80% { transform: translateY(-4px) rotate(-5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bih-ripple {
  0% { transform: scale(0.5); opacity:0.6; }
  50% { transform: scale(1.2); opacity:0.2; }
  100% { transform: scale(0.8); opacity:0.4; }
}
@keyframes bih-shadow {
  0% { opacity:0.3; }
  50% { opacity:0.5; }
  100% { opacity:0.2; }
}

/* arctic-flower-journey */
.scn-arctic-flower-journey {
  background:
    linear-gradient(180deg, #fff5ee 0%, #f4d03f 40%, #f0b27a 70%, #e8b060 100%),
    radial-gradient(ellipse at 60% 20%, #ffeeaa 0%, transparent 60%);
}
.scn-arctic-flower-journey .sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #cbe6f5 0%, #fceabb 60%, transparent 100%);
  animation: afj-sky 20s ease-in-out infinite alternate;
}
.scn-arctic-flower-journey .sun {
  position:absolute; top:8%; left:65%; width:12%; height:12%;
  border-radius:50%;
  background: radial-gradient(circle, #ffee88 0%, #f0c040 50%, transparent 70%);
  box-shadow: 0 0 60px 20px rgba(255,238,136,0.4);
  animation: afj-sun-pulse 6s ease-in-out infinite alternate;
}
.scn-arctic-flower-journey .hills {
  position:absolute; bottom:30%; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #8aaa6a 0%, #5a7a3a 100%);
  border-radius: 50% 40% 0 0 / 60% 50% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: afj-hills 18s ease-in-out infinite alternate;
}
.scn-arctic-flower-journey .meadow-flowers {
  position:absolute; bottom:10%; left:5%; right:5%; height:20%;
  background:
    radial-gradient(circle at 20% 60%, #d4aa70 0%, transparent 8%),
    radial-gradient(circle at 40% 30%, #b0d090 0%, transparent 6%),
    radial-gradient(circle at 60% 50%, #e0b070 0%, transparent 7%),
    radial-gradient(circle at 80% 40%, #c0d0a0 0%, transparent 5%),
    radial-gradient(circle at 90% 70%, #d0b080 0%, transparent 6%);
  animation: afj-meadow 10s ease-in-out infinite alternate;
}
.scn-arctic-flower-journey .tiny-flower {
  position:absolute; bottom:35%; left:10%; width:6%; height:8%;
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  background: radial-gradient(circle, #fffff0 0%, #e0e0c0 50%, #c0c0a0 100%);
  box-shadow: 0 0 12px 4px rgba(255,255,200,0.6);
  animation: afj-drift 25s linear infinite;
}
.scn-arctic-flower-journey .path {
  position:absolute; bottom:18%; left:20%; width:60%; height:10%;
  border-radius: 50% 70% 40% 60% / 100% 100% 100% 100%;
  background: linear-gradient(90deg, #d0a080 0%, #c09570 50%, #b08060 100%);
  filter: blur(2px);
  animation: afj-path 15s ease-in-out infinite alternate;
}
.scn-arctic-flower-journey .warm-haze {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 70% 30%, rgba(255,250,200,0.15) 0%, transparent 70%);
  animation: afj-haze 12s ease-in-out infinite alternate;
}

@keyframes afj-sky {
  0% { opacity:0.8; }
  50% { opacity:1; }
  100% { opacity:0.7; }
}
@keyframes afj-sun-pulse {
  0% { box-shadow: 0 0 40px 15px rgba(255,238,136,0.3); transform: scale(1); }
  50% { box-shadow: 0 0 80px 30px rgba(255,238,136,0.6); transform: scale(1.05); }
  100% { box-shadow: 0 0 50px 20px rgba(255,238,136,0.4); transform: scale(0.98); }
}
@keyframes afj-hills {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-4px) scaleX(1.02); }
  100% { transform: translateY(2px) scaleX(0.98); }
}
@keyframes afj-meadow {
  0% { opacity:0.8; transform: scaleY(1); }
  50% { opacity:1; transform: scaleY(1.03); }
  100% { opacity:0.85; transform: scaleY(0.97); }
}
@keyframes afj-drift {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(10vw, -2vh) rotate(10deg); }
  50% { transform: translate(25vw, -5vh) rotate(-5deg); }
  75% { transform: translate(40vw, -1vh) rotate(3deg); }
  100% { transform: translate(60vw, -3vh) rotate(0deg); }
}
@keyframes afj-path {
  0% { transform: scaleX(0.95) translateX(0); }
  50% { transform: scaleX(1.05) translateX(2px); }
  100% { transform: scaleX(0.98) translateX(-1px); }
}
@keyframes afj-haze {
  0% { opacity:0.2; }
  50% { opacity:0.5; }
  100% { opacity:0.3; }
}

/* cannot-live-with-you */
.scn-cannot-live-with-you {
  background:
    linear-gradient(180deg, #2c2c2c 0%, #1a1a1a 50%, #0f0f0f 100%),
    radial-gradient(ellipse at 30% 50%, #3a3a3a 0%, transparent 70%);
}
.scn-cannot-live-with-you .wall {
  position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, #2a2a2a 0px, #333 2px, #2a2a2a 4px);
  opacity:0.3;
  animation: clw-wall 30s linear infinite;
}
.scn-cannot-live-with-you .shelf {
  position:absolute; bottom:55%; left:15%; right:15%; height:4%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  border-radius: 10%;
}
.scn-cannot-live-with-you .cup {
  position:absolute; bottom:58%; left:42%; width:10%; height:14%;
  border-radius: 30% 30% 10% 10%;
  background: linear-gradient(135deg, #8a7a6a 0%, #5a4a3a 60%, #3a2a1a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.5);
  animation: clw-wobble 10s ease-in-out infinite alternate;
}
.scn-cannot-live-with-you .cup::after {
  content:"";
  position:absolute; top:10%; left:5%; width:90%; height:5%;
  background: #5a3a2a;
  border-radius: 50%;
  opacity:0.6;
}
.scn-cannot-live-with-you .key {
  position:absolute; bottom:56%; left:30%; width:12%; height:6%;
  border-radius: 0 50% 50% 0 / 0 50% 50% 0;
  background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 100%);
  transform: rotate(20deg);
  animation: clw-key 15s ease-in-out infinite alternate;
}
.scn-cannot-live-with-you .shadow-cup {
  position:absolute; bottom:56%; left:40%; width:14%; height:2%;
  border-radius:50%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: clw-shadow-cup 10s ease-in-out infinite alternate;
}
.scn-cannot-live-with-you .dust-mote {
  position:absolute; top:20%; left:60%; width:2%; height:2%;
  border-radius:50%;
  background: rgba(200,200,180,0.3);
  box-shadow: 0 0 6px 2px rgba(200,200,180,0.2);
  animation: clw-dust 25s linear infinite;
}
.scn-cannot-live-with-you .dust-mote:nth-child(2) {
  top:40%; left:20%; animation-delay: -8s; animation-duration: 30s;
}
.scn-cannot-live-with-you .light-beam {
  position:absolute; top:0; left:10%; width:30%; height:100%;
  background: linear-gradient(180deg, rgba(200,190,160,0.05) 0%, rgba(200,190,160,0.02) 50%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 70% 100%, 0% 100%);
  animation: clw-light 6s ease-in-out infinite alternate;
}

@keyframes clw-wall {
  0% { background-position: 0 0; }
  100% { background-position: 40px 0; }
}
@keyframes clw-wobble {
  0% { transform: rotate(-1deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-2px); }
  100% { transform: rotate(-1deg) translateY(1px); }
}
@keyframes clw-key {
  0% { transform: rotate(15deg) translateX(0); }
  50% { transform: rotate(25deg) translateX(3px); }
  100% { transform: rotate(18deg) translateX(-2px); }
}
@keyframes clw-shadow-cup {
  0% { transform: scaleX(1); opacity:0.5; }
  50% { transform: scaleX(1.2); opacity:0.7; }
  100% { transform: scaleX(0.8); opacity:0.4; }
}
@keyframes clw-dust {
  0% { transform: translate(0, 0) scale(1); opacity:0.3; }
  20% { transform: translate(4vw, -3vh) scale(1.2); opacity:0.5; }
  40% { transform: translate(8vw, 2vh) scale(0.8); opacity:0.2; }
  60% { transform: translate(12vw, -1vh) scale(1.1); opacity:0.4; }
  80% { transform: translate(16vw, 4vh) scale(0.9); opacity:0.3; }
  100% { transform: translate(20vw, 0) scale(1); opacity:0.2; }
}
@keyframes clw-light {
  0% { opacity:0.1; }
  50% { opacity:0.3; }
  100% { opacity:0.15; }
}

.scn-repeat-the-summer-day { background: linear-gradient(180deg, #4a2c5e 0%, #d48a4a 50%, #f2c86a 100%), radial-gradient(ellipse at 70% 60%, #f2c86a 0%, transparent 50%); }
.scn-repeat-the-summer-day .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #8a4a3a 0%, #d48a4a 60%, #f2c86a 100%); animation: rsd-sky 12s ease-in-out infinite alternate; }
.scn-repeat-the-summer-day .sun { position:absolute; bottom:35%; left:70%; width:60px; height:60px; background: radial-gradient(circle, #fad574 0%, #e8943a 50%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(250,213,116,0.5); animation: rsd-sun 15s ease-in-out infinite alternate; }
.scn-repeat-the-summer-day .window-frame { position:absolute; inset:10% 10% 20% 10%; border:6px solid #4a3a2a; border-radius:4px; background:transparent; box-shadow: inset 0 0 20px rgba(0,0,0,0.3); animation: rsd-frame 8s ease-in-out infinite; }
.scn-repeat-the-summer-day .curtain-left { position:absolute; top:10%; left:10%; width:15%; height:70%; background: linear-gradient(180deg, #7a5a4a 0%, #5a3a2a 100%); border-radius:0 30% 30% 0; filter: blur(2px); animation: rsd-curtain 6s ease-in-out infinite alternate; }
.scn-repeat-the-summer-day .curtain-right { position:absolute; top:10%; right:10%; width:15%; height:70%; background: linear-gradient(180deg, #7a5a4a 0%, #5a3a2a 100%); border-radius:30% 0 0 30%; filter: blur(2px); animation: rsd-curtain 6s ease-in-out infinite alternate-reverse; }
.scn-repeat-the-summer-day .host { position:absolute; bottom:20%; right:20%; width:40px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rsd-host 4s ease-in-out infinite; }
.scn-repeat-the-summer-day .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); }
@keyframes rsd-sky { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes rsd-sun { 0% { transform: scale(.95) translateY(0); box-shadow: 0 0 30px 15px rgba(250,213,116,0.4); } 50% { transform: scale(1.05) translateY(-3px); box-shadow: 0 0 50px 25px rgba(250,213,116,0.7); } 100% { transform: scale(1) translateY(0); box-shadow: 0 0 35px 18px rgba(250,213,116,0.5); } }
@keyframes rsd-frame { 0%,100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.3); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5); } }
@keyframes rsd-curtain { 0% { transform: translateX(0); } 100% { transform: translateX(8px); } }
@keyframes rsd-host { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }

.scn-nature-rarer-uses-yellow { background: linear-gradient(180deg, #3b6bac 0%, #7bb8e8 50%, #f2d06a 100%), radial-gradient(ellipse at 50% 85%, #f2d06a 0%, transparent 60%); }
.scn-nature-rarer-uses-yellow .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #5b8cce 0%, #a2d4f0 40%, transparent 100%); animation: nru-sky 10s ease-in-out infinite alternate; }
.scn-nature-rarer-uses-yellow .sun { position:absolute; bottom:50%; left:50%; width:40px; height:40px; background: radial-gradient(circle, #fff6b0 0%, #f2c86a 60%, transparent 80%); border-radius:50%; box-shadow:0 0 30px 15px rgba(242,200,106,0.6); animation: nru-sun 6s ease-in-out infinite alternate; }
.scn-nature-rarer-uses-yellow .tree { position:absolute; bottom:35%; left:30%; width:20px; height:120px; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius:4px; transform-origin: bottom center; animation: nru-tree 8s ease-in-out infinite; }
.scn-nature-rarer-uses-yellow .leaves-a { position:absolute; bottom:60%; left:20%; width:80px; height:60px; background: radial-gradient(ellipse, #88c070 0%, #4a7a3a 70%); border-radius:50%; filter: blur(3px); animation: nru-leaves 7s ease-in-out infinite alternate; }
.scn-nature-rarer-uses-yellow .leaves-b { position:absolute; bottom:55%; left:45%; width:60px; height:50px; background: radial-gradient(ellipse, #6ebb4a 0%, #3a6a2a 70%); border-radius:50%; filter: blur(2px); animation: nru-leaves 9s ease-in-out infinite alternate-reverse; }
.scn-nature-rarer-uses-yellow .ground { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #5a7a3a 0%, #3a5a1a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; animation: nru-ground 12s ease-in-out infinite alternate; }
.scn-nature-rarer-uses-yellow .path { position:absolute; bottom:0; left:40%; width:80px; height:20%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: nru-path 6s ease-in-out infinite; }
@keyframes nru-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes nru-sun { 0% { transform: scale(.9); box-shadow:0 0 20px 10px rgba(242,200,106,0.4); } 50% { transform: scale(1.1); box-shadow:0 0 40px 20px rgba(242,200,106,0.7); } 100% { transform: scale(1); box-shadow:0 0 30px 15px rgba(242,200,106,0.5); } }
@keyframes nru-tree { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(2deg); } }
@keyframes nru-leaves { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(6px) scale(1.05); } 100% { transform: translateX(-4px) scale(.95); } }
@keyframes nru-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes nru-path { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } }

.scn-streets-were-running { background: linear-gradient(180deg, #2a2a3a 0%, #4a4a5a 50%, #5a5a6a 100%), radial-gradient(ellipse at 50% 40%, #3a3a4a 0%, transparent 70%); }
.scn-streets-were-running .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a3a4a 0%, #5a5a6a 100%); animation: swr-sky 8s ease-in-out infinite alternate; }
.scn-streets-were-running .eclipse { position:absolute; top:15%; left:50%; width:80px; height:80px; background: radial-gradient(circle, #1a1a2a 0%, #0a0a1a 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(0,0,0,0.5); animation: swr-eclipse 10s ease-in-out infinite alternate; }
.scn-streets-were-running .street { position:absolute; bottom:25%; left:0; right:0; height:15%; background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%); box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: swr-street 4s linear infinite; }
.scn-streets-were-running .window { position:absolute; top:20%; left:20%; width:60px; height:80px; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 100%); border:4px solid #2a2a3a; border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); animation: swr-window 6s ease-in-out infinite; }
.scn-streets-were-running .figure { position:absolute; bottom:15%; left:22%; width:20px; height:40px; background: #1a1a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: swr-figure 2s ease-in-out infinite alternate; }
.scn-streets-were-running .beryl-apron { position:absolute; top:30%; right:10%; width:100px; height:60px; background: radial-gradient(ellipse, rgba(100,180,140,0.4) 0%, transparent 70%); border-radius:50%; filter: blur(8px); animation: swr-beryl 15s ease-in-out infinite alternate; }
.scn-streets-were-running .ground { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); }
@keyframes swr-sky { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes swr-eclipse { 0% { transform: scale(.95) translateY(0); } 50% { transform: scale(1.05) translateY(-4px); } 100% { transform: scale(1) translateY(0); } }
@keyframes swr-street { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }
@keyframes swr-window { 0%,100% { box-shadow: inset 0 0 10px rgba(0,0,0,0.5); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,0.8); } }
@keyframes swr-figure { 0% { transform: translateY(0) rotate(0); } 100% { transform: translateY(-3px) rotate(3deg); } }
@keyframes swr-beryl { 0% { opacity:.3; transform: translateX(0); } 50% { opacity:.6; transform: translateX(10px); } 100% { opacity:.4; transform: translateX(-5px); } }

.scn-frequently-woods-are-pink { background: linear-gradient(180deg, #8a7a7a 0%, #c8a0a0 100%), radial-gradient(ellipse at 50% 70%, #e0b0b0 0%, transparent 50%); }
.scn-frequently-woods-are-pink .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #a08a8a 0%, #c8a0a0 100%); animation: fwp-sky 10s ease-in-out infinite alternate; }
.scn-frequently-woods-are-pink .tree { position:absolute; bottom:30%; left:30%; width:20px; height:100px; background: linear-gradient(180deg, #4a3020 0%, #3a2010 100%); border-radius:4px; transform-origin: bottom center; animation: fwp-tree 8s ease-in-out infinite; }
.scn-frequently-woods-are-pink .crest { position:absolute; bottom:80%; left:28%; width:40px; height:30px; background: radial-gradient(ellipse, #d0a0a0 0%, #a06060 70%); border-radius:50% 50% 0 0; animation: fwp-crest 6s ease-in-out infinite alternate; }
.scn-frequently-woods-are-pink .blossoms-a { position:absolute; bottom:50%; left:20%; width:50px; height:40px; background: radial-gradient(ellipse, #f0b8b8 0%, #d09090 70%); border-radius:50%; filter: blur(2px); animation: fwp-blossom 7s ease-in-out infinite alternate; }
.scn-frequently-woods-are-pink .blossoms-b { position:absolute; bottom:55%; left:55%; width:60px; height:50px; background: radial-gradient(ellipse, #e8a8a8 0%, #c08080 70%); border-radius:50%; filter: blur(2px); animation: fwp-blossom 9s ease-in-out infinite alternate-reverse; }
.scn-frequently-woods-are-pink .grass { position:absolute; bottom:20%; left:0; right:0; height:15%; background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 20% 80% 0 0 / 30% 70% 0 0; animation: fwp-grass 3s ease-in-out infinite alternate; }
.scn-frequently-woods-are-pink .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #4a5a3a 0%, #3a4a2a 100%); }
@keyframes fwp-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes fwp-tree { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(2deg); } }
@keyframes fwp-crest { 0% { transform: scaleY(.9); } 50% { transform: scaleY(1.1); } 100% { transform: scaleY(1); } }
@keyframes fwp-blossom { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(8px) scale(1.05); } 100% { transform: translateX(-4px) scale(.95); } }
@keyframes fwp-grass { 0% { transform: skewX(0deg); } 50% { transform: skewX(4deg); } 100% { transform: skewX(-2deg); } }

/* item-adrift-boat */
.scn-iab { background: linear-gradient(180deg, #1a1a3e 0%, #2c2040 50%, #3a2a50 100%), radial-gradient(ellipse at 50% 100%, #3a2a50 0%, transparent 70%); }
.scn-iab .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a2a4e 0%, transparent 100%); animation: iab-sky 12s ease-in-out infinite alternate; }
.scn-iab .sea { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 30% 70% 0 0 / 60% 80% 0 0; animation: iab-sea 8s ease-in-out infinite alternate; }
.scn-iab .boat-hull { position:absolute; bottom:35%; left:45%; width:80px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 50% 50% / 20% 20% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: iab-boat 5s ease-in-out infinite; }
.scn-iab .boat-mast { position:absolute; bottom:50%; left:50%; width:4px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 10% 10% 0 0; transform-origin: bottom center; animation: iab-mast 5s ease-in-out infinite alternate; }
.scn-iab .boat-sail { position:absolute; bottom:55%; left:54%; width:40px; height:50px; background: linear-gradient(135deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: skewX(-10deg); box-shadow: inset 0 -8px 8px rgba(0,0,0,.4); animation: iab-sail 5s ease-in-out infinite alternate; }
.scn-iab .fly { position:absolute; top:30%; left:20%; width:6px; height:4px; background: radial-gradient(circle, #6a8aee 0%, transparent 70%); border-radius: 50%; box-shadow: 0 0 8px 2px #6a8aee; animation: iab-fly 3s ease-in-out infinite; }
.scn-iab .lantern { position:absolute; bottom:40%; left:48%; width:8px; height:8px; background: radial-gradient(circle, #d0a050 0%, #b08030 70%); border-radius: 50%; box-shadow: 0 0 14px 4px #b08030, 0 0 28px 8px rgba(176,128,48,.4); animation: iab-lantern 2s ease-in-out infinite alternate; }
@keyframes iab-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes iab-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes iab-boat { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(2deg); } }
@keyframes iab-mast { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } }
@keyframes iab-sail { 0%,100% { transform: translateX(0) skewX(-10deg); } 50% { transform: translateX(2px) skewX(-8deg); } }
@keyframes iab-fly { 0% { transform: translate(0, 0); } 25% { transform: translate(20px, -10px); } 50% { transform: translate(40px, 0); } 75% { transform: translate(60px, -8px); } 100% { transform: translate(80px, 2px); } }
@keyframes iab-lantern { 0% { box-shadow: 0 0 10px 2px #b08030, 0 0 20px 5px rgba(176,128,48,.3); opacity:.9; } 100% { box-shadow: 0 0 20px 6px #d0a050, 0 0 40px 12px rgba(208,160,80,.5); opacity:1; } }

/* angels-boat-death-house */
.scn-abh { background: linear-gradient(180deg, #4a2a1a 0%, #6a3a2a 30%, #8a4a3a 60%, #7a3a2a 100%), radial-gradient(ellipse at 50% 0%, #5a2a1a 0%, transparent 60%); }
.scn-abh .dawn-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #c06040 0%, #a04a30 40%, transparent 100%); animation: abh-sky 14s ease-in-out infinite alternate; }
.scn-abh .house-silhouette { position:absolute; bottom:20%; left:20%; width:120px; height:150px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 20% 20% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.7); }
.scn-abh .window-glow { position:absolute; bottom:35%; left:25%; width:14px; height:20px; background: radial-gradient(circle, #f0a040 0%, #b07020 70%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 20px 4px #b07020, 0 0 40px 8px rgba(176,112,32,.4); animation: abh-glow 4s ease-in-out infinite alternate; }
.scn-abh .boat-hull { position:absolute; bottom:45%; right:15%; width:70px; height:35px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 30% 30% 50% 50% / 20% 20% 40% 40%; animation: abh-boat 6s ease-in-out infinite; }
.scn-abh .boat-mast { position:absolute; bottom:55%; right:22%; width:3px; height:50px; background: #2a1a0a; border-radius: 0 0 20% 20%; transform-origin: bottom center; animation: abh-mast 6s ease-in-out infinite alternate; }
.scn-abh .boat-sail { position:absolute; bottom:60%; right:25%; width:30px; height:40px; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: skewX(-15deg); animation: abh-sail 6s ease-in-out infinite alternate; }
.scn-abh .angel-figure { position:absolute; bottom:50%; left:50%; width:20px; height:40px; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px 4px rgba(200,180,255,.2); animation: abh-angel 9s ease-in-out infinite; }
@keyframes abh-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes abh-glow { 0% { box-shadow: 0 0 15px 3px #b07020, 0 0 30px 6px rgba(176,112,32,.3); opacity:.85; } 100% { box-shadow: 0 0 30px 8px #f0a040, 0 0 60px 16px rgba(240,160,64,.5); opacity:1; } }
@keyframes abh-boat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes abh-mast { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } }
@keyframes abh-sail { 0%,100% { transform: translateX(0) skewX(-15deg); } 50% { transform: translateX(2px) skewX(-10deg); } }
@keyframes abh-angel { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg) scaleY(1.02); } }

/* death-opposite-house-continued */
.scn-doh { background: linear-gradient(180deg, #7a9ab0 0%, #a0c0d0 30%, #d0e0e0 60%, #e8d8b0 100%), radial-gradient(ellipse at 50% 0%, #b0d0e0 0%, transparent 70%); }
.scn-doh .sun-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #a0c0d0 0%, #d0e0e0 50%, #e8d8b0 100%); animation: doh-sky 20s ease-in-out infinite alternate; }
.scn-doh .house-front { position:absolute; bottom:20%; left:30%; width:100px; height:130px; background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%); border-radius: 15% 15% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.2); }
.scn-doh .house-door { position:absolute; bottom:0; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 0 6px rgba(0,0,0,.4); }
.scn-doh .mattress-out { position:absolute; bottom:5%; left:15%; width:60px; height:20px; background: repeating-linear-gradient(45deg, #a09080 0px, #a09080 8px, #b0a090 8px, #b0a090 16px); border-radius: 10% 10% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: doh-mattress 3s ease-in-out infinite; }
.scn-doh .child-run { position:absolute; bottom:15%; left:5%; width:12px; height:25px; background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: doh-child 4s ease-in-out infinite; }
.scn-doh .minister-in { position:absolute; bottom:22%; left:55%; width:16px; height:42px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: doh-minister 6s ease-in-out infinite; }
.scn-doh .milliner-carries { position:absolute; bottom:20%; left:70%; width:14px; height:30px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: doh-milliner 7s ease-in-out infinite; }
@keyframes doh-sky { 0% { opacity:.85; background: linear-gradient(180deg, #a0c0d0 0%, #d0e0e0 50%, #e8d8b0 100%); } 50% { opacity:1; background: linear-gradient(180deg, #b0d0e0 0%, #e0e8e0 50%, #f0e8c0 100%); } 100% { opacity:.9; background: linear-gradient(180deg, #90b0c0 0%, #c0d0d0 50%, #d8c8a0 100%); } }
@keyframes doh-mattress { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes doh-child { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(10px) translateY(-2px); } 50% { transform: translateX(20px) translateY(0); } 75% { transform: translateX(30px) translateY(-2px); } 100% { transform: translateX(40px) translateY(0); } }
@keyframes doh-minister { 0% { transform: translateX(0); } 25% { transform: translateX(8px); } 50% { transform: translateX(16px); } 75% { transform: translateX(24px); } 100% { transform: translateX(32px); } }
@keyframes doh-milliner { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(6px) rotate(2deg); } 50% { transform: translateX(12px) rotate(-2deg); } 75% { transform: translateX(18px) rotate(3deg); } 100% { transform: translateX(24px) rotate(0); } }

/* never-know-we-go-lightning-thirst */
.scn-lgt { background: linear-gradient(180deg, #0a0a2e 0%, #1a1a3e 50%, #0a0a2e 100%), radial-gradient(ellipse at 50% 50%, #1a1a3e 0%, transparent 80%); }
.scn-lgt .night-sky { position:absolute; inset:0; background: radial-gradient(circle at 20% 20%, #2a2a5a 0%, transparent 40%), radial-gradient(circle at 80% 30%, #2a2a5a 0%, transparent 30%); animation: lgt-stars 30s linear infinite; }
.scn-lgt .clouds { position:absolute; top:10%; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1a3e 0%, transparent 100%); filter: blur(8px); animation: lgt-cloud 50s linear infinite; }
.scn-lgt .lightning-bolt { position:absolute; top:5%; left:40%; width:8px; height:80px; background: linear-gradient(180deg, #fff 0%, #e0e0ff 100%); clip-path: polygon(40% 0%, 60% 0%, 50% 25%, 70% 25%, 55% 50%, 75% 50%, 50% 80%, 60% 100%, 40% 100%, 45% 80%, 45% 50%, 50% 25%, 30% 25%); box-shadow: 0 0 30px 10px #e0e0ff, 0 0 60px 20px rgba(224,224,255,.4); animation: lgt-flash 3s ease-in-out infinite; }
.scn-lgt .figure-struck { position:absolute; bottom:20%; left:45%; width:18px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lgt-figure 4s ease-in-out infinite; }
.scn-lgt .door-shut { position:absolute; bottom:0; left:30%; width:50px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: lgt-door 2s ease-in-out infinite; }
.scn-lgt .bolt-lock { position:absolute; bottom:25%; left:33%; width:8px; height:6px; background: radial-gradient(circle, #a08060 0%, #806040 100%); border-radius: 30% 30% 0 0; box-shadow: 0 0 4px #806040; animation: lgt-lock 2s ease-in-out infinite alternate; }
@keyframes lgt-stars { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.6; } }
@keyframes lgt-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }
@keyframes lgt-flash { 0%,100% { opacity:0; transform: scaleY(.5); } 10%,90% { opacity:1; transform: scaleY(1); } 20%,80% { opacity:0; transform: scaleY(.7); } 30%,70% { opacity:1; transform: scaleY(1); } }
@keyframes lgt-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-5deg); } 50% { transform: translateY(-5px) rotate(5deg) scaleX(.9); } 75% { transform: translateY(-2px) rotate(-3deg); } }
@keyframes lgt-door { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-2px); } 50% { transform: translateX(0); } 75% { transform: translateX(2px); } }
@keyframes lgt-lock { 0% { transform: translateY(0); } 100% { transform: translateY(-3px); } }

/* Scene 1: I-know-that-he-exists - tense overcast interior */
.scn-i-know-that-he-exists {
  background: linear-gradient(180deg, #2a2a3e 0%, #1f1f2f 30%, #141422 100%), radial-gradient(ellipse at 50% 0%, #3a3a5e 0%, transparent 80%);
}
.scn-i-know-that-he-exists .overcast-sky { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #0e0e1c 100%); animation: ex-sky 20s ease-in-out infinite alternate; }
.scn-i-know-that-he-exists .wall-left { position:absolute; top:0; left:0; width:30%; height:100%; background: linear-gradient(90deg, #1a1a2e 0%, #26263a 100%); box-shadow: inset -8px 0 12px rgba(0,0,0,0.4); }
.scn-i-know-that-he-exists .wall-right { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(90deg, #26263a 0%, #1a1a2e 100%); box-shadow: inset 8px 0 12px rgba(0,0,0,0.4); }
.scn-i-know-that-he-exists .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a2a3a 0%, #141422 100%); border-radius: 0 0 20% 20%; }
.scn-i-know-that-he-exists .window-glow { position:absolute; top:30%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: radial-gradient(circle, #6a5a3a 0%, transparent 80%); border: 2px solid #3a3a5a; border-radius: 4px; box-shadow: 0 0 30px 10px #6a5a3a, 0 0 60px 20px rgba(106,90,58,0.3); animation: ex-glow 5s ease-in-out infinite alternate; }
.scn-i-know-that-he-exists .shadow-figure { position:absolute; bottom:20%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #0a0a14 0%, #0e0e1c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: ex-figure 4s ease-in-out infinite; }
.scn-i-know-that-he-exists .doorway { position:absolute; bottom:20%; left:20%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%); border-radius: 10% 10% 0 0; border: 1px solid #2a2a3e; box-shadow: inset 0 0 10px rgba(0,0,0,0.8); }
.scn-i-know-that-he-exists .mist { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(30,30,50,0.4) 0%, rgba(20,20,30,0.2) 100%); filter: blur(8px); animation: ex-mist 15s ease-in-out infinite alternate; }
.scn-i-know-that-he-exists .particles { position:absolute; top:30%; left:0; width:100%; height:60%; background: radial-gradient(circle at 20% 40%, rgba(100,80,60,0.1) 0%, transparent 50%), radial-gradient(circle at 70% 60%, rgba(100,80,60,0.08) 0%, transparent 50%); animation: ex-particles 12s ease-in-out infinite; }
@keyframes ex-sky { 0%,100% { opacity:0.8; } 50% { opacity:0.6; } }
@keyframes ex-glow { 0% { opacity:0.6; box-shadow: 0 0 20px 6px #6a5a3a; } 50% { opacity:1; box-shadow: 0 0 40px 15px #8a7a5a; } 100% { opacity:0.7; box-shadow: 0 0 25px 8px #6a5a3a; } }
@keyframes ex-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(1deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes ex-mist { 0% { opacity:0.3; transform: translateY(0) scale(1); } 50% { opacity:0.6; transform: translateY(-5px) scale(1.05); } 100% { opacity:0.4; transform: translateY(2px) scale(0.95); } }
@keyframes ex-particles { 0% { background-position: 0% 0%; } 50% { background-position: 50% 30%; } 100% { background-position: 100% 10%; } }

/* Scene 2: musicians-wrestle-everywhere - calm dawn landscape */
.scn-musicians-wrestle-everywhere {
  background: linear-gradient(180deg, #f7d9b3 0%, #e8b88a 20%, #b8c0c0 60%, #8a9a9a 100%), radial-gradient(ellipse at 50% 100%, #f7d9b3 0%, transparent 60%);
}
.scn-musicians-wrestle-everywhere .dawn-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #ffbf80 0%, #e8d0a0 30%, #bfd0d0 70%, #9aafaf 100%); animation: mu-sky 20s ease-in-out infinite alternate; }
.scn-musicians-wrestle-everywhere .dawn-sun { position:absolute; top:20%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, #ffdf80 0%, #ffbf40 60%, transparent 100%); box-shadow: 0 0 60px 30px #ffbf40, 0 0 120px 60px rgba(255,191,64,0.2); animation: mu-sun 25s ease-in-out infinite; }
.scn-musicians-wrestle-everywhere .hill-back { position:absolute; bottom:30%; left:-5%; right:-5%; height:40%; background: linear-gradient(180deg, #7a8a6a 0%, #5a6a4a 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,0.2); animation: mu-hill 30s ease-in-out infinite alternate; }
.scn-musicians-wrestle-everywhere .hill-front { position:absolute; bottom:20%; left:-10%; right:-10%; height:30%; background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%); border-radius: 40% 60% 0 0 / 70% 80% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.3); animation: mu-hill2 25s ease-in-out infinite alternate; }
.scn-musicians-wrestle-everywhere .town-silhouette { position:absolute; bottom:18%; left:35%; width:80px; height:50px; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.4); }
.scn-musicians-wrestle-everywhere .town-silhouette::after { content:''; position:absolute; top:20%; left:20%; width:6px; height:8px; background:#ffdf80; border-radius:2px; box-shadow: 12px 0 #ffdf80, 24px 0 #ffdf80, 36px 0 #ffdf80; animation: mu-windows 3s ease-in-out infinite alternate; }
.scn-musicians-wrestle-everywhere .note-a { position:absolute; top:40%; left:20%; width:12px; height:12px; background: radial-gradient(circle, #4a4a5a 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 6px rgba(0,0,0,0.2); animation: mu-note-a 15s linear infinite, mu-float 6s ease-in-out infinite; }
.scn-musicians-wrestle-everywhere .note-b { position:absolute; top:35%; left:60%; width:10px; height:10px; background: radial-gradient(circle, #5a5a6a 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 4px rgba(0,0,0,0.15); animation: mu-note-b 18s linear infinite, mu-float2 8s ease-in-out infinite; }
.scn-musicians-wrestle-everywhere .note-c { position:absolute; top:45%; left:80%; width:8px; height:8px; background: radial-gradient(circle, #6a6a7a 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 3px rgba(0,0,0,0.1); animation: mu-note-c 20s linear infinite, mu-float3 5s ease-in-out infinite; }
@keyframes mu-sky { 0% { opacity:0.8; } 50% { opacity:1; background-position: 0% 0%; } 100% { opacity:0.7; background-position: 50% 20%; } }
@keyframes mu-sun { 0% { transform: translateX(-50%) translateY(0) scale(1); opacity:0.7; } 50% { transform: translateX(-50%) translateY(-10px) scale(1.05); opacity:1; } 100% { transform: translateX(-50%) translateY(5px) scale(0.95); opacity:0.8; } }
@keyframes mu-hill { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes mu-hill2 { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mu-windows { 0% { opacity:0.3; } 50% { opacity:1; } 100% { opacity:0.5; } }
@keyframes mu-note-a { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(20vw) translateY(-5px) rotate(30deg); } 50% { transform: translateX(40vw) translateY(0) rotate(60deg); } 75% { transform: translateX(60vw) translateY(-10px) rotate(90deg); } 100% { transform: translateX(80vw) translateY(0) rotate(120deg); } }
@keyframes mu-note-b { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 33% { transform: translateX(-10vw) translateY(-8px) rotate(-20deg); } 66% { transform: translateX(-20vw) translateY(4px) rotate(-40deg); } 100% { transform: translateX(-30vw) translateY(0) rotate(-60deg); } }
@keyframes mu-note-c { 0% { transform: translateX(0) translateY(0) scale(1); } 50% { transform: translateX(15vw) translateY(-6px) scale(1.2); } 100% { transform: translateX(30vw) translateY(2px) scale(0.8); } }
@keyframes mu-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes mu-float2 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@keyframes mu-float3 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

/* Scene 3: just-lost-when-saved - tense overcast maritime */
.scn-just-lost-when-saved {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0e0e1c 100%), radial-gradient(ellipse at 50% 100%, #2a3a3a 0%, transparent 70%);
}
.scn-just-lost-when-saved .storm-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2f2f3f 0%, #1f1f2f 50%, #141425 100%); animation: lo-sky 18s ease-in-out infinite alternate; }
.scn-just-lost-when-saved .storm-sea { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1f2f2f 0%, #0f1f1f 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,0.5); }
.scn-just-lost-when-saved .wave-1 { position:absolute; bottom:28%; left:-5%; width:110%; height:15%; background: linear-gradient(180deg, rgba(30,50,50,0.6) 0%, rgba(20,30,30,0.3) 100%); border-radius: 50% 40% 0 0; filter: blur(2px); animation: lo-wave1 6s ease-in-out infinite alternate; }
.scn-just-lost-when-saved .wave-2 { position:absolute; bottom:18%; left:-5%; width:110%; height:12%; background: linear-gradient(180deg, rgba(25,45,45,0.5) 0%, rgba(15,25,25,0.2) 100%); border-radius: 40% 50% 0 0; filter: blur(3px); animation: lo-wave2 8s ease-in-out infinite alternate; }
.scn-just-lost-when-saved .ship-silhouette { position:absolute; bottom:25%; left:60%; width:80px; height:30px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); clip-path: polygon(0% 100%, 20% 10%, 40% 10%, 60% 10%, 80% 10%, 100% 100%, 0% 100%); animation: lo-ship 10s ease-in-out infinite; }
.scn-just-lost-when-saved .sailor-figure { position:absolute; bottom:20%; left:30%; width:12px; height:35px; background: linear-gradient(180deg, #0a0a14 0%, #14141f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lo-walk 4s ease-in-out infinite; }
.scn-just-lost-when-saved .lighthouse-beam { position:absolute; top:15%; left:20%; width:100%; height:50%; background: radial-gradient(ellipse at 0% 50%, rgba(200,180,100,0.3) 0%, transparent 70%); transform-origin: left center; animation: lo-beam 6s ease-in-out infinite alternate; }
.scn-just-lost-when-saved .lighthouse-tower { position:absolute; bottom:20%; left:18%; width:16px; height:50px; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius: 2px 2px 0 0; box-shadow: inset 0 0 8px rgba(0,0,0,0.5); }
@keyframes lo-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes lo-wave1 { 0% { transform: translateX(-10px) scaleY(1); } 50% { transform: translateX(10px) scaleY(1.1); } 100% { transform: translateX(-5px) scaleY(0.9); } }
@keyframes lo-wave2 { 0% { transform: translateX(5px) scaleY(0.9); } 50% { transform: translateX(-8px) scaleY(1.15); } 100% { transform: translateX(3px) scaleY(0.95); } }
@keyframes lo-ship { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(-2deg); } 60% { transform: translateY(1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes lo-walk { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(6px) rotate(-1deg); } 75% { transform: translateX(9px) rotate(2deg); } 100% { transform: translateX(12px) rotate(0deg); } }
@keyframes lo-beam { 0% { transform: rotate(-15deg); opacity:0.3; } 50% { transform: rotate(10deg); opacity:0.7; } 100% { transform: rotate(-20deg); opacity:0.4; } }

/* Scene 4: elected-one-soul - calm overcast spiritual */
.scn-elected-one-soul {
  background: linear-gradient(180deg, #c8c8c0 0%, #a8a8a0 30%, #808080 70%, #606060 100%), radial-gradient(ellipse at 50% 80%, #b0b0a8 0%, transparent 60%);
}
.scn-elected-one-soul .pale-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #dad0c8 0%, #b0b0a8 60%, #909090 100%); animation: el-sky 30s ease-in-out infinite alternate; }
.scn-elected-one-soul .mist-layer { position:absolute; bottom:20%; left:0; right:0; height:40%; background: linear-gradient(180deg, rgba(180,180,170,0.5) 0%, rgba(140,140,130,0.2) 100%); filter: blur(12px); animation: el-mist 25s ease-in-out infinite alternate; }
.scn-elected-one-soul .horizon-ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7a7a72 0%, #4a4a42 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.2); }
.scn-elected-one-soul .spirit-figure { position:absolute; bottom:25%; left:50%; width:18px; height:45px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: el-figure 12s ease-in-out infinite; }
.scn-elected-one-soul .light-path { position:absolute; bottom:25%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent, rgba(255,230,180,0.6), transparent); filter: blur(2px); animation: el-path 20s ease-in-out infinite; }
.scn-elected-one-soul .particle-a { position:absolute; top:30%; left:20%; width:4px; height:4px; background: rgba(255,250,230,0.6); border-radius:50%; box-shadow: 0 0 6px rgba(255,250,230,0.4); animation: el-particles 15s linear infinite; }
.scn-elected-one-soul .particle-b { position:absolute; top:40%; left:70%; width:3px; height:3px; background: rgba(255,250,230,0.4); border-radius:50%; animation: el-particles 18s linear infinite reverse; }
.scn-elected-one-soul .particle-c { position:absolute; top:50%; left:50%; width:5px; height:5px; background: rgba(255,250,230,0.5); border-radius:50%; box-shadow: 0 0 8px rgba(255,250,230,0.3); animation: el-particles 20s linear infinite; }
@keyframes el-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes el-mist { 0% { transform: translateX(-5px) scale(1); opacity:0.4; } 50% { transform: translateX(5px) scale(1.02); opacity:0.7; } 100% { transform: translateX(-2px) scale(0.98); opacity:0.5; } }
@keyframes el-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-6px); opacity:0.8; } 100% { transform: translateX(-50%) translateY(2px); opacity:0.9; } }
@keyframes el-path { 0% { background-position: -100% 0; } 50% { background-position: 100% 0; } 100% { background-position: 200% 0; } }
@keyframes el-particles { 0% { transform: translateY(0) translateX(0); opacity:1; } 50% { transform: translateY(-40px) translateX(10px); opacity:0.6; } 100% { transform: translateY(-80px) translateX(-5px); opacity:0; } }

.scn-solemn-ended { background: linear-gradient(180deg, #2c2c3e 0%, #3a3a50 60%, #1e1e2e 100%), radial-gradient(ellipse at 80% 20%, #4a4a6e 0%, transparent 60%); }
.scn-solemn-ended .room { position: absolute; inset:0; background: linear-gradient(180deg, #2c2c3e 0%, #1e1e2e 100%); }
.scn-solemn-ended .window { position: absolute; top:10%; left:30%; width:40%; height:50%; background: rgba(180,190,220,0.3); border:4px solid #4a4a5a; border-radius:10px; box-shadow: inset 0 0 20px rgba(255,255,255,0.2); }
.scn-solemn-ended .pane { position: absolute; top:12%; left:32%; width:36%; height:46%; background: linear-gradient(135deg, rgba(200,210,240,0.5) 0%, rgba(180,190,220,0.2) 100%); }
.scn-solemn-ended .beam { position: absolute; top:15%; left:32%; width:30%; height:70%; background: linear-gradient(90deg, rgba(255,255,255,0.15) 0%, transparent 100%); animation: se-beam 6s ease-in-out infinite alternate; }
.scn-solemn-ended .figure { position: absolute; bottom:10%; left:40%; width:12%; height:30%; background: #1a1a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: se-figure 8s ease-in-out infinite alternate; }
.scn-solemn-ended .table { position: absolute; bottom:5%; left:30%; width:40%; height:5%; background: #4a3a2a; border-radius:4px; box-shadow: 0 -3px 8px rgba(0,0,0,0.5); }
.scn-solemn-ended .book { position: absolute; bottom:8%; left:35%; width:8%; height:6%; background: #6a5a4a; border-radius:2px; transform: rotate(20deg); animation: se-book 10s ease-in-out infinite; }
.scn-solemn-ended .dust { position: absolute; top:20%; left:20%; width:4%; height:4%; background: rgba(200,200,220,0.3); border-radius:50%; filter: blur(3px); animation: se-dust 12s linear infinite; }
@keyframes se-beam { 0% { transform: scaleX(0.8); opacity:0.5; } 50% { transform: scaleX(1.2); opacity:0.8; } 100% { transform: scaleX(0.9); opacity:0.6; } }
@keyframes se-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes se-book { 0% { transform: rotate(20deg) scale(1); } 50% { transform: rotate(25deg) scale(1.05); } 100% { transform: rotate(20deg) scale(1); } }
@keyframes se-dust { 0% { transform: translateY(0) translateX(0); opacity:0.3; } 50% { transform: translateY(-10px) translateX(5px); opacity:0.5; } 100% { transform: translateY(-20px) translateX(-5px); opacity:0; } }

.scn-bride-death-seal { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%), radial-gradient(ellipse at 50% 60%, #3a3a5e 0%, transparent 70%); }
.scn-bride-death-seal .wall { position: absolute; inset:0; background: linear-gradient(135deg, #2a2a3e, #1e1e2a); }
.scn-bride-death-seal .candle { position: absolute; bottom:20%; left:20%; width:4%; height:30%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:4px; }
.scn-bride-death-seal .flame { position: absolute; bottom:48%; left:21%; width:2%; height:8%; background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; animation: bds-flame 0.8s ease-in-out infinite alternate; }
.scn-bride-death-seal .seal { position: absolute; bottom:30%; left:50%; width:10%; height:10%; background: #5a3a2a; border:3px solid #8a6a4a; border-radius:50%; transform: translateX(-50%); box-shadow: 0 0 10px rgba(90,58,42,0.5); animation: bds-seal 12s ease-in-out infinite; }
.scn-bride-death-seal .veil { position: absolute; top:5%; left:30%; width:40%; height:50%; background: linear-gradient(180deg, rgba(220,200,180,0.4) 0%, rgba(220,200,180,0.1) 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: bds-veil 8s ease-in-out infinite alternate; }
.scn-bride-death-seal .bride { position: absolute; bottom:10%; left:40%; width:20%; height:40%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bds-bride 10s ease-in-out infinite alternate; }
.scn-bride-death-seal .shadow { position: absolute; inset: auto 0 0 0; height:20%; background: linear-gradient(180deg, transparent, #0a0a1a 80%); animation: bds-shadow 15s ease-in-out infinite alternate; }
@keyframes bds-flame { 0% { transform: scaleY(1) rotate(-2deg); opacity:0.8; } 50% { transform: scaleY(1.2) rotate(1deg); opacity:1; } 100% { transform: scaleY(0.9) rotate(0); opacity:0.7; } }
@keyframes bds-seal { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(5deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bds-veil { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.05); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes bds-bride { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes bds-shadow { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.4; } }

.scn-honorable-thought-distance { background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 30% 40%, #4a4a6e 0%, transparent 70%); }
.scn-honorable-thought-distance .room-wall { position: absolute; inset:0; background: linear-gradient(135deg, #3a3a4e, #2a2a3a); }
.scn-honorable-thought-distance .doorway { position: absolute; top:10%; left:40%; width:20%; height:80%; background: #1a1a2a; border-radius: 0 0 20px 20px; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); }
.scn-honorable-thought-distance .outside-light { position: absolute; top:12%; left:42%; width:16%; height:50%; background: linear-gradient(180deg, rgba(220,230,255,0.4) 0%, rgba(220,230,255,0.1) 100%); animation: htd-light 6s ease-in-out infinite alternate; }
.scn-honorable-thought-distance .child { position: absolute; bottom:15%; left:40%; width:10%; height:25%; background: #1a1a2a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: htd-child 8s ease-in-out infinite alternate; }
.scn-honorable-thought-distance .hat { position: absolute; bottom:35%; left:45%; width:8%; height:4%; background: #4a3a3a; border-radius: 50% 50% 0 0; transform: rotate(15deg); box-shadow: 0 -2px 4px rgba(0,0,0,0.3); animation: htd-hat 12s ease-in-out infinite; }
.scn-honorable-thought-distance .snow { position: absolute; top:5%; left:0; width:100%; height:10%; background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.3) 0%, transparent 50%); filter: blur(3px); animation: htd-snow 15s linear infinite; }
.scn-honorable-thought-distance .ice { position: absolute; bottom:10%; left:30%; width:10%; height:4%; background: linear-gradient(90deg, rgba(200,220,240,0.2) 0%, rgba(200,220,240,0.5) 100%); border-radius:10px; transform: skewX(-20deg); animation: htd-ice 10s ease-in-out infinite alternate; }
@keyframes htd-light { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes htd-child { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes htd-hat { 0% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(18deg) scale(1.05); } 100% { transform: rotate(15deg) scale(1); } }
@keyframes htd-snow { 0% { transform: translateY(0) translateX(0); opacity:0.2; } 50% { transform: translateY(10px) translateX(-5px); opacity:0.5; } 100% { transform: translateY(20px) translateX(5px); opacity:0; } }
@keyframes htd-ice { 0% { opacity:0.3; transform: skewX(-20deg) scaleX(1); } 50% { opacity:0.6; transform: skewX(-20deg) scaleX(1.2); } 100% { opacity:0.4; transform: skewX(-20deg) scaleX(0.9); } }

.scn-robins-sing-death { background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 50%, #0e0e1e 100%), radial-gradient(ellipse at 50% 30%, #2a2a4e 0%, transparent 60%); }
.scn-robins-sing-death .room-bg { position: absolute; inset:0; background: linear-gradient(135deg, #1a1a2e, #0e0e1e); }
.scn-robins-sing-death .window { position: absolute; top:10%; left:25%; width:30%; height:40%; background: rgba(40,50,80,0.4); border:3px solid #2a2a3e; border-radius:8px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-robins-sing-death .robin { position: absolute; top:20%; left:35%; width:4%; height:4%; background: #3a2a1a; border-radius: 50% 50% 40% 40%; transform: rotate(10deg); animation: rsd-robin 2s ease-in-out infinite; }
.scn-robins-sing-death .branch { position: absolute; top:22%; left:30%; width:15%; height:2%; background: #2a1a0a; border-radius:2px; transform: rotate(-10deg); }
.scn-robins-sing-death .figure { position: absolute; bottom:10%; left:40%; width:12%; height:30%; background: #0e0e1e; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rsd-figure 12s ease-in-out infinite alternate; }
.scn-robins-sing-death .candle { position: absolute; bottom:20%; right:25%; width:3%; height:20%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius:2px; }
.scn-robins-sing-death .clock { position: absolute; top:5%; right:20%; width:10%; height:8%; background: #2a2a3a; border:2px solid #4a4a5a; border-radius:50%; animation: rsd-clock 20s linear infinite; }
.scn-robins-sing-death .shadow { position: absolute; inset: auto 0 0 0; height:25%; background: linear-gradient(180deg, transparent, #0a0a1a 70%); animation: rsd-shadow 10s ease-in-out infinite alternate; }
@keyframes rsd-robin { 0% { transform: rotate(10deg) scale(1); } 30% { transform: rotate(8deg) scale(1.1); } 60% { transform: rotate(12deg) scale(0.9); } 100% { transform: rotate(10deg) scale(1); } }
@keyframes rsd-figure { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes rsd-clock { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@keyframes rsd-shadow { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.3; } }

.scn-streets-of-silence { background: linear-gradient(180deg, #0f172a 0%, #1e1b4b 40%, #312e81 80%, #1e1b4b 100%), radial-gradient(ellipse at 50% 0%, #475569 0%, transparent 60%); overflow: hidden; }
.scn-streets-of-silence .si1-sky { position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #0f172a 0%, #1e1b4b 60%, transparent 100%); animation: si1-sky 12s ease-in-out infinite alternate; }
.scn-streets-of-silence .si1-fog { position: absolute; top: 60%; left: 0; right: 0; height: 40%; background: linear-gradient(0deg, rgba(148, 163, 184, 0.15) 0%, rgba(148, 163, 184, 0.05) 40%, transparent 100%); filter: blur(8px); animation: si1-fog 20s ease-in-out infinite alternate; }
.scn-streets-of-silence .si1-buildings-back { position: absolute; bottom: 30%; left: -5%; right: -5%; height: 35%; background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%); clip-path: polygon(0% 100%, 5% 20%, 15% 20%, 15% 50%, 25% 50%, 25% 10%, 35% 10%, 35% 60%, 50% 60%, 50% 15%, 65% 15%, 65% 45%, 75% 45%, 75% 25%, 85% 25%, 85% 55%, 100% 55%, 100% 100%); animation: si1-buildings 30s ease-in-out infinite alternate; }
.scn-streets-of-silence .si1-buildings-front { position: absolute; bottom: 20%; left: -10%; right: -10%; height: 45%; background: linear-gradient(180deg, #0f172a 0%, #020617 100%); clip-path: polygon(0% 100%, 10% 40%, 20% 40%, 20% 70%, 30% 70%, 30% 30%, 45% 30%, 45% 65%, 55% 65%, 55% 20%, 70% 20%, 70% 50%, 80% 50%, 80% 35%, 90% 35%, 90% 60%, 100% 60%, 100% 100%); opacity: 0.8; animation: si1-buildings 35s ease-in-out infinite alternate-reverse; }
.scn-streets-of-silence .si1-lamp-post { position: absolute; bottom: 25%; left: 30%; width: 4px; height: 60px; background: linear-gradient(180deg, #475569 0%, #1e293b 100%); border-radius: 2px; transform-origin: bottom center; animation: si1-lamp-sway 4s ease-in-out infinite; }
.scn-streets-of-silence .si1-lamp-post::before { content: ''; position: absolute; top: -6px; left: -8px; width: 20px; height: 12px; background: radial-gradient(circle, #fef08a 0%, #eab308 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 10px rgba(234, 179, 8, 0.3), 0 0 40px 20px rgba(234, 179, 8, 0.1); animation: si1-lamp-glow 3s ease-in-out infinite alternate; }
.scn-streets-of-silence .si1-figure { position: absolute; bottom: 22%; left: -10%; width: 12px; height: 28px; background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si1-walk 12s linear infinite; }
.scn-streets-of-silence .si1-bell-tower { position: absolute; bottom: 30%; right: 15%; width: 24px; height: 80px; background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%); clip-path: polygon(0% 100%, 10% 0%, 90% 0%, 100% 100%, 80% 90%, 20% 90%); transform-origin: bottom center; animation: si1-bell-sway 6s ease-in-out infinite; }
.scn-streets-of-silence .si1-bell-tower::after { content: ''; position: absolute; top: 15%; left: 25%; width: 50%; height: 20%; background: radial-gradient(circle, #fef08a 0%, transparent 70%); border-radius: 50%; opacity: 0.4; animation: si1-bell-glow 4s ease-in-out infinite alternate; }
@keyframes si1-sky { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } }
@keyframes si1-fog { 0% { opacity: 0.3; transform: translateY(0); } 50% { opacity: 0.8; transform: translateY(-10px); } 100% { opacity: 0.4; transform: translateY(5px); } }
@keyframes si1-buildings { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.02) translateX(-5px); } 100% { transform: scaleX(0.98) translateX(5px); } }
@keyframes si1-walk { 0% { transform: translateX(0) translateY(0) scaleX(1); opacity: 0; } 10% { opacity: 0.8; } 50% { transform: translateX(40vw) translateY(-3px) scaleX(1.02); opacity: 1; } 90% { opacity: 0.8; } 100% { transform: translateX(110vw) translateY(0) scaleX(1); opacity: 0; } }
@keyframes si1-lamp-sway { 0%, 100% { transform: rotate(-1deg); } 50% { transform: rotate(1.5deg); } }
@keyframes si1-lamp-glow { 0% { box-shadow: 0 0 20px 10px rgba(234, 179, 8, 0.2), 0 0 40px 20px rgba(234, 179, 8, 0.05); opacity: 0.6; } 50% { box-shadow: 0 0 30px 15px rgba(234, 179, 8, 0.4), 0 0 60px 30px rgba(234, 179, 8, 0.1); opacity: 1; } 100% { box-shadow: 0 0 20px 10px rgba(234, 179, 8, 0.3), 0 0 40px 20px rgba(234, 179, 8, 0.08); opacity: 0.8; } }
@keyframes si1-bell-sway { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }
@keyframes si1-bell-glow { 0% { opacity: 0.2; } 100% { opacity: 0.6; } }

.scn-saved-tribulation { background: linear-gradient(180deg, #cbd5e1 0%, #e2e8f0 40%, #f8fafc 80%, #f1f5f9 100%), radial-gradient(ellipse at 50% 0%, #fefce8 0%, transparent 70%); overflow: hidden; }
.scn-saved-tribulation .sav-sky { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #94a3b8 0%, #cbd5e1 50%, transparent 100%); animation: sav-sky 15s ease-in-out infinite alternate; }
.scn-saved-tribulation .sav-glow { position: absolute; top: -10%; left: 50%; width: 60%; height: 80%; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(254, 252, 232, 0.8) 0%, rgba(234, 179, 8, 0.1) 50%, transparent 70%); filter: blur(20px); animation: sav-glow 8s ease-in-out infinite alternate; }
.scn-saved-tribulation .sav-procession-back { position: absolute; bottom: 15%; left: -5%; right: -5%; height: 40%; background: linear-gradient(90deg, transparent 0%, rgba(248, 250, 252, 0.4) 20%, rgba(248, 250, 252, 0.6) 80%, transparent 100%); clip-path: polygon(0% 100%, 10% 60%, 20% 50%, 30% 55%, 40% 40%, 50% 50%, 60% 35%, 70% 45%, 80% 30%, 90% 40%, 100% 20%, 100% 100%); filter: blur(2px); animation: sav-procession 25s linear infinite; }
.scn-saved-tribulation .sav-procession-front { position: absolute; bottom: 10%; left: -10%; right: -10%; height: 50%; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.7) 15%, rgba(255, 255, 255, 0.9) 85%, transparent 100%); clip-path: polygon(0% 100%, 5% 70%, 15% 60%, 25% 65%, 35% 50%, 45% 60%, 55% 45%, 65% 55%, 75% 40%, 85% 50%, 95% 30%, 100% 40%, 100% 100%); animation: sav-procession 35s linear infinite reverse; }
.scn-saved-tribulation .sav-palms-left { position: absolute; bottom: 20%; left: 10%; width: 20px; height: 120px; background: linear-gradient(180deg, #64748b 0%, #475569 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; clip-path: polygon(50% 0%, 100% 30%, 80% 50%, 100% 80%, 50% 100%, 0% 80%, 20% 50%, 0% 30%); animation: sav-sway 6s ease-in-out infinite; }
.scn-saved-tribulation .sav-palms-right { position: absolute; bottom: 25%; right: 15%; width: 16px; height: 100px; background: linear-gradient(180deg, #64748b 0%, #334155 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; clip-path: polygon(50% 0%, 100% 30%, 80% 50%, 100% 80%, 50% 100%, 0% 80%, 20% 50%, 0% 30%); animation: sav-sway 8s ease-in-out infinite reverse; }
@keyframes sav-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sav-glow { 0% { opacity: 0.5; transform: translateX(-50%) scale(0.95); } 50% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: 0.7; transform: translateX(-50%) scale(1); } }
@keyframes sav-procession { 0% { transform: translateX(0%); } 50% { transform: translateX(-5%); } 100% { transform: translateX(-10%); } }
@keyframes sav-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }

.scn-shape-of-forgiveness { background: linear-gradient(180deg, #1e1b4b 0%, #312e81 30%, #9333ea 60%, #fde047 100%), radial-gradient(ellipse at 50% 0%, #fde047 0%, transparent 60%); overflow: hidden; }
.scn-shape-of-forgiveness .sha-sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #312e81 0%, #9333ea 50%, transparent 100%); animation: sha-sky 12s ease-in-out infinite alternate; }
.scn-shape-of-forgiveness .sha-horizon { position: absolute; bottom: 40%; left: -10%; right: -10%; height: 20%; background: radial-gradient(ellipse at 50% 50%, #fde047 0%, #fdba74 40%, transparent 70%); filter: blur(15px); animation: sha-horizon 8s ease-in-out infinite alternate; }
.scn-shape-of-forgiveness .sha-figure { position: absolute; bottom: 10%; left: 50%; width: 60px; height: 140px; transform: translateX(-50%); background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sha-rise 12s ease-in-out infinite alternate; }
.scn-shape-of-forgiveness .sha-figure::after { content: ''; position: absolute; bottom: 5%; left: -20%; width: 140%; height: 80%; background: linear-gradient(0deg, #0f172a 0%, transparent 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; opacity: 0.5; }
.scn-shape-of-forgiveness .sha-head { position: absolute; bottom: 70%; left: 50%; width: 28px; height: 32px; transform: translateX(-50%); background: radial-gradient(ellipse at 40% 40%, #334155 0%, #0f172a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sha-head 12s ease-in-out infinite alternate; }
.scn-shape-of-forgiveness .sha-breath { position: absolute; bottom: 85%; left: 50%; width: 40px; height: 20px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(253, 230, 138, 0.4) 0%, transparent 70%); filter: blur(8px); animation: sha-breath 4s ease-in-out infinite alternate; }
.scn-shape-of-forgiveness .sha-sparrow-left { position: absolute; bottom: 75%; left: 15%; width: 20px; height: 12px; background: #1e293b; border-radius: 50% 50% 0% 100% / 100% 100% 0% 0%; transform-origin: center right; animation: sha-sparrow 5s ease-in-out infinite; }
.scn-shape-of-forgiveness .sha-sparrow-right { position: absolute; bottom: 80%; right: 10%; width: 18px; height: 10px; background: #1e293b; border-radius: 50% 50% 100% 0% / 100% 100% 0% 0%; transform-origin: center left; animation: sha-sparrow 4.5s ease-in-out infinite reverse; }
@keyframes sha-sky { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes sha-horizon { 0% { opacity: 0.5; transform: scaleY(0.8); } 50% { opacity: 1; transform: scaleY(1.2); } 100% { opacity: 0.7; transform: scaleY(1); } }
@keyframes sha-rise { 0% { transform: translateX(-50%) translateY(20px) scale(0.95); } 50% { transform: translateX(-50%) translateY(-5px) scale(1.02); } 100% { transform: translateX(-50%) translateY(-15px) scale(1); } }
@keyframes sha-head { 0% { transform: translateX(-50%) translateY(0) rotate(-5deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(0deg); } 100% { transform: translateX(-50%) translateY(-5px) rotate(3deg); } }
@keyframes sha-breath { 0% { opacity: 0.1; transform: translateX(-50%) scale(0.8); } 100% { opacity: 0.6; transform: translateX(-50%) scale(1.2); } }
@keyframes sha-sparrow { 0%, 100% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(10px) scaleY(0.6); } 50% { transform: translateX(20px) scaleY(1); } 75% { transform: translateX(30px) scaleY(0.6); } }

.scn-laurel-for-intrinsic { background: linear-gradient(180deg, #38bdf8 0%, #7dd3fc 40%, #fef08a 80%, #fef3c7 100%), radial-gradient(ellipse at 50% 80%, #fef08a 0%, transparent 60%); overflow: hidden; }
.scn-laurel-for-intrinsic .lau-sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #7dd3fc 0%, #bae6fd 50%, transparent 100%); animation: lau-sky 10s ease-in-out infinite alternate; }
.scn-laurel-for-intrinsic .lau-meadow { position: absolute; bottom: 0; left: -10%; right: -10%; height: 50%; background: linear-gradient(180deg, #86efac 0%, #22c55e 40%, #166534 100%); border-radius: 40% 60% 0 0 / 60% 80% 0 0; animation: lau-meadow 15s ease-in-out infinite alternate; }
.scn-laurel-for-intrinsic .lau-trunk { position: absolute; bottom: 30%; left: 50%; width: 18px; height: 80px; transform: translateX(-50%); background: linear-gradient(180deg, #78350f 0%, #451a03 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: lau-sway 8s ease-in-out infinite; }
.scn-laurel-for-intrinsic .lau-wreath { position: absolute; bottom: 64%; left: 50%; width: 80px; height: 60px; transform: translateX(-50%); background: transparent; border: 6px solid #22c55e; border-radius: 50%; clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); animation: lau-sway 8s ease-in-out infinite reverse; }
.scn-laurel-for-intrinsic .lau-wreath::after { content: ''; position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; border: 4px solid #86efac; border-radius: 50%; opacity: 0.6; }
.scn-laurel-for-intrinsic .lau-sunbeams { position: absolute; top: -10%; left: -10%; right: -10%; bottom: 50%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 30%, transparent 50%, rgba(255, 255, 255, 0.2) 70%, transparent 100%); filter: blur(4px); transform-origin: center top; animation: lau-sunbeams 15s ease-in-out infinite alternate; }
.scn-laurel-for-intrinsic .lau-heart { position: absolute; bottom: 45%; left: 50%; width: 24px; height: 24px; transform: translateX(-50%) rotate(45deg); background: radial-gradient(ellipse at 30% 30%, #fbcfe8 0%, #fda4af 50%, #fb7185 100%); border-radius: 50% 50% 0 50%; box-shadow: 0 0 30px 15px rgba(251, 207, 232, 0.4), 0 0 60px 30px rgba(251, 207, 232, 0.1); animation: lau-heartbeat 2s ease-in-out infinite; }
.scn-laurel-for-intrinsic .lau-light { position: absolute; bottom: 40%; left: 50%; width: 120px; height: 120px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(254, 240, 138, 0.3) 0%, transparent 70%); filter: blur(20px); animation: lau-light 6s ease-in-out infinite alternate; }
@keyframes lau-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes lau-meadow { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-5px) scaleY(1.02); } 100% { transform: translateY(3px) scaleY(0.98); } }
@keyframes lau-sway { 0%, 100% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } }
@keyframes lau-sunbeams { 0% { transform: rotate(-5deg) scaleY(1); opacity: 0.4; } 50% { transform: rotate(5deg) scaleY(1.1); opacity: 0.8; } 100% { transform: rotate(-3deg) scaleY(0.9); opacity: 0.5; } }
@keyframes lau-heartbeat { 0%, 100% { transform: translateX(-50%) rotate(45deg) scale(1); } 15% { transform: translateX(-50%) rotate(45deg) scale(1.15); } 30% { transform: translateX(-50%) rotate(45deg) scale(1); } 45% { transform: translateX(-50%) rotate(45deg) scale(1.1); } 60% { transform: translateX(-50%) rotate(45deg) scale(1); } }
@keyframes lau-light { 0% { opacity: 0.3; transform: translateX(-50%) scale(0.95); } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.5; transform: translateX(-50%) scale(1); } }

/* Scene: housewife's-gentle-task */
.scn-housewife-s-gentle-task {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #4a2a12 40%, #5a3a1a 100%),
    radial-gradient(ellipse at 70% 80%, #8a4a2a 0%, transparent 60%);
}
.scn-housewife-s-gentle-task .hgt-room {
  position: absolute; inset: 0; 
  background: radial-gradient(ellipse at 50% 80%, #3a2210 0%, #1a0e06 100%);
  animation: hgt-room 20s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .hgt-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #4a2e14 0%, #5a3a1c 50%, #3a1e0a 100%);
  box-shadow: inset 0 4px 20px rgba(0,0,0,0.6);
}
.scn-housewife-s-gentle-task .hgt-window {
  position: absolute; top: 15%; right: 15%; width: 80px; height: 110px;
  background: linear-gradient(180deg, #0a1a2a 0%, #1a2a3a 100%);
  border: 4px solid #3a2a1a; border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8), 0 0 8px rgba(255,200,100,0.1);
  animation: hgt-window 12s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .hgt-fire {
  position: absolute; bottom: 30%; left: 12%; width: 70px; height: 100px;
  background: radial-gradient(ellipse at 50% 80%, #ff8a3a 0%, #c85a1a 40%, #5a1a0a 80%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(255,120,30,0.5), 0 0 60px 20px rgba(200,80,20,0.3);
  animation: hgt-fire 0.8s ease-in-out infinite alternate;
}
.scn-housewife-s-gentle-task .hgt-rocking-chair {
  position: absolute; bottom: 23%; left: 32%; width: 60px; height: 70px;
  background: linear-gradient(180deg, #4a2e14 0%, #2a1a0a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 60% 60%;
  transform-origin: bottom center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: hgt-rock 4s ease-in-out infinite;
}
.scn-housewife-s-gentle-task .hgt-figure {
  position: absolute; bottom: 25%; left: 32%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: hgt-figure-rock 4s ease-in-out infinite;
}
.scn-housewife-s-gentle-task .hgt-cat {
  position: absolute; bottom: 22%; left: 45%; width: 24px; height: 18px;
  background: radial-gradient(ellipse at 60% 50%, #5a3a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: hgt-cat 7s ease-in-out infinite alternate;
}
@keyframes hgt-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes hgt-window { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,0.8), 0 0 8px rgba(255,200,100,0.1); } 50% { box-shadow: inset 0 0 15px #1a2a3a, 0 0 12px rgba(255,200,100,0.15); } 100% { box-shadow: inset 0 0 10px rgba(0,0,0,0.8), 0 0 8px rgba(255,200,100,0.1); } }
@keyframes hgt-fire { 0% { transform: scaleY(1) translateY(0); opacity: 0.9; } 50% { transform: scaleY(1.08) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.95) translateY(1px); opacity: 0.85; } }
@keyframes hgt-rock { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes hgt-figure-rock { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-1px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes hgt-cat { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(4px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }

/* Scene: worthiness-doubt */
.scn-worthiness-doubt {
  background:
    linear-gradient(180deg, #0a0a14 0%, #14141e 40%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 70%, #2a2a3e 0%, transparent 60%);
}
.scn-worthiness-doubt .wd-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0e0e1a 0%, #141428 100%);
  animation: wd-bg 20s ease-in-out infinite alternate;
}
.scn-worthiness-doubt .wd-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-worthiness-doubt .wd-candle {
  position: absolute; bottom: 30%; left: 45%; width: 12px; height: 50px;
  background: linear-gradient(180deg, #e8d8b8 0%, #c8a878 40%, #8a6848 100%);
  border-radius: 4px 4px 20% 20%;
  box-shadow: 0 0 6px rgba(200,168,120,0.4);
}
.scn-worthiness-doubt .wd-flame {
  position: absolute; bottom: 65%; left: 45%; width: 14px; height: 24px;
  background: radial-gradient(ellipse at 50% 60%, #ffe080 0%, #ff8a30 50%, #cc3a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 20px 8px rgba(255,138,48,0.6), 0 0 40px 16px rgba(200,58,10,0.3);
  animation: wd-flame 0.2s ease-in-out infinite alternate;
}
.scn-worthiness-doubt .wd-glow {
  position: absolute; bottom: 25%; left: 30%; width: 160px; height: 160px;
  background: radial-gradient(ellipse, rgba(255,138,48,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: wd-glow 1s ease-in-out infinite alternate;
}
.scn-worthiness-doubt .wd-figure {
  position: absolute; bottom: 12%; left: 35%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 60% 60%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.8);
  animation: wd-figure 3s ease-in-out infinite;
}
.scn-worthiness-doubt .wd-shadow {
  position: absolute; bottom: 8%; left: 30%; width: 80px; height: 40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 60%);
  border-radius: 50%;
  animation: wd-shadow 2s ease-in-out infinite alternate;
}
@keyframes wd-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes wd-flame { 0% { transform: scaleY(1) translateX(0); opacity: 0.9; } 50% { transform: scaleY(1.12) translateX(-1px); opacity: 1; } 100% { transform: scaleY(0.9) translateX(1px); opacity: 0.8; } }
@keyframes wd-glow { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.05); } 100% { opacity: 0.6; transform: scale(1); } }
@keyframes wd-figure { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes wd-shadow { 0% { transform: scaleX(1); opacity: 0.6; } 50% { transform: scaleX(1.15); opacity: 0.8; } 100% { transform: scaleX(1); opacity: 0.6; } }

.scn-went-as-quiet-dew {
  background:
    linear-gradient(180deg, #0b0e2a 0%, #1a2244 40%, #2c3168 100%),
    radial-gradient(ellipse at 70% 30%, #3a4a7a 0%, transparent 60%);
}
.scn-went-as-quiet-dew .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #0f1428 0%, transparent 100%);
  animation: qd-sky 15s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0d170d 100%);
  border-radius: 30% 70% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 10px 25px rgba(0,0,0,.6);
  animation: qd-ground 20s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .flower {
  position: absolute; bottom: 22%; left: 25%;
  width: 28px; height: 48px;
  background: linear-gradient(180deg, #4a6a4a 0%, #2a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 30% 30% 60% 60%;
  transform-origin: bottom center;
  box-shadow: 0 0 12px 4px rgba(100,150,100,.3);
  animation: qd-flower 8s ease-in-out infinite;
}
.scn-went-as-quiet-dew .dew-a {
  position: absolute; bottom: 30%; left: 20%;
  width: 6px; height: 6px;
  background: radial-gradient(circle, #b8d8f0 0%, #6088a8 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(100,150,200,.5);
  animation: qd-dew 6s ease-in-out infinite;
}
.scn-went-as-quiet-dew .dew-b {
  position: absolute; bottom: 26%; left: 32%;
  width: 4px; height: 4px;
  background: radial-gradient(circle, #c0e0f8 0%, #7090b0 70%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(100,150,200,.4);
  animation: qd-dew 6s ease-in-out infinite 2s;
}
.scn-went-as-quiet-dew .star {
  position: absolute; top: 15%; left: 65%;
  width: 16px; height: 16px;
  background: radial-gradient(circle, #ffe8a0 0%, #f0c060 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,232,160,.3);
  animation: qd-star 4s ease-in-out infinite alternate;
}
.scn-went-as-quiet-dew .lamp {
  position: absolute; bottom: 28%; right: 15%;
  width: 8px; height: 24px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a120a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 10px #f0c060, 0 0 60px 20px rgba(240,192,96,.3);
  animation: qd-lamp-glow 3s ease-in-out infinite alternate;
}
@keyframes qd-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .75 } }
@keyframes qd-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes qd-flower { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) translateY(-2px) } }
@keyframes qd-dew { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.3) } 100% { opacity: .5; transform: scale(1) } }
@keyframes qd-star { 0% { opacity: .6; transform: scale(.8) rotate(0deg) } 50% { opacity: 1; transform: scale(1.2) rotate(180deg) } 100% { opacity: .7; transform: scale(.9) rotate(360deg) } }
@keyframes qd-lamp-glow { 0% { box-shadow: 0 0 20px 6px #d0a040, 0 0 40px 12px rgba(208,160,64,.3); opacity: .8 } 50% { box-shadow: 0 0 40px 14px #f0c060, 0 0 80px 24px rgba(240,192,96,.5); opacity: 1 } 100% { box-shadow: 0 0 25px 8px #d0a040, 0 0 50px 15px rgba(208,160,64,.35); opacity: .85 } }

.scn-I-know-that-he-exists {
  background:
    linear-gradient(180deg, #2a2a2a 0%, #3a3a3a 40%, #4a4a4a 100%),
    radial-gradient(ellipse at 50% 30%, #5a5a5a 0%, transparent 60%);
}
.scn-I-know-that-he-exists .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #202020 0%, #303030 60%, #404040 100%);
  animation: kn-sky 12s ease-in-out infinite alternate;
}
.scn-I-know-that-he-exists .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2c2c1c 0%, #1c1c10 100%);
  border-radius: 10% 90% 0 0 / 100% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
  animation: kn-ground 18s ease-in-out infinite alternate;
}
.scn-I-know-that-he-exists .hills {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #404030 0%, #303020 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 6px 15px rgba(0,0,0,.5);
  animation: kn-hills 22s ease-in-out infinite;
}
.scn-I-know-that-he-exists .rock {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 40px;
  background: linear-gradient(135deg, #4a4a3a 0%, #2a2a1a 100%, #1a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 10px 20px rgba(0,0,0,.6);
  transform-origin: bottom center;
  animation: kn-rock 14s ease-in-out infinite;
}
.scn-I-know-that-he-exists .figure {
  position: absolute; bottom: 18%; left: 35%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #151515 0%, #050505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 8px 2px rgba(0,0,0,.8);
  animation: kn-figure 5s ease-in-out infinite;
}
.scn-I-know-that-he-exists .eye {
  position: absolute; top: 25%; left: 55%; width: 12px; height: 10px;
  background: radial-gradient(circle, #ffeecc 0%, #ffcc88 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(255,238,204,.4), 0 0 40px 12px rgba(255,204,136,.2);
  animation: kn-eye 3s ease-in-out infinite alternate;
}
@keyframes kn-sky { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .65 } }
@keyframes kn-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes kn-hills { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.95) translateY(-2px) } }
@keyframes kn-rock { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) translateY(-3px) } 100% { transform: rotate(-1deg) } }
@keyframes kn-figure { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(8px) translateY(0) } 75% { transform: translateX(4px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) } }
@keyframes kn-eye { 0% { opacity: .3; transform: scale(.8) } 50% { opacity: 1; transform: scale(1.2) } 100% { opacity: .4; transform: scale(.9) } }

/* summer-for-thee */
.scn-summer-for-thee { background: linear-gradient(180deg, #fceabb 0%, #f8b500 60%, #e8870e 100%), radial-gradient(ellipse at 30% 50%, #fff5cc 0%, transparent 70%); }
.scn-summer-for-thee .sky { position:absolute; inset:0; background: linear-gradient(180deg, #aad0f0 0%, #fceabb 60%, transparent 100%); animation: sf-sky 15s ease-in-out infinite alternate; }
.scn-summer-for-thee .sun { position:absolute; top:15%; left:65%; width:60px; height:60px; background: radial-gradient(circle, #fff9cc 0%, #ffdf00 40%, #f8b500 100%); border-radius:50%; box-shadow: 0 0 40px 20px #ffdf00, 0 0 80px 40px rgba(255,223,0,0.3); animation: sf-sun 8s ease-in-out infinite; }
.scn-summer-for-thee .hills { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(180deg, #6b8e23 0%, #3a6b1a 50%, #1a4a0a 100%); border-radius: 60% 50% 0 0 / 70% 60% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.2); animation: sf-hills 12s ease-in-out infinite alternate; }
.scn-summer-for-thee .meadow { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #7ec850 0%, #4a8f2f 50%, #2a6a15 100%); border-radius: 0; box-shadow: inset 0 -10px 30px rgba(0,0,0,0.3); animation: sf-meadow 10s ease-in-out infinite alternate; }
.scn-summer-for-thee .figure { position:absolute; bottom:22%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-walk 6s ease-in-out infinite; }
.scn-summer-for-thee .anemone { position:absolute; bottom:25%; left:55%; width:24px; height:30px; background: radial-gradient(circle at 50% 30%, #dda0dd 0%, #8b5a8b 60%, #4a2a4a 100%); border-radius: 50% 50% 20% 20%; animation: sf-bloom 5s ease-in-out infinite alternate; }
.scn-summer-for-thee .petals { position:absolute; bottom:27%; left:53%; width:30px; height:30px; background: repeating-radial-gradient(circle, #e6b8e6 2px, transparent 4px); border-radius:50%; filter: blur(1px); animation: sf-drift 20s linear infinite; }
@keyframes sf-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes sf-sun { 0% { transform:scale(1); opacity:.9 } 50% { transform:scale(1.1); opacity:1 } 100% { transform:scale(.95); opacity:.85 } }
@keyframes sf-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes sf-meadow { 0% { background-position: 0 0 } 100% { background-position: 20px 0 } }
@keyframes sf-walk { 0% { transform: translateX(0) rotate(-2deg) } 30% { transform: translateX(8px) rotate(2deg) } 60% { transform: translateX(16px) rotate(-1deg) } 100% { transform: translateX(24px) rotate(0) } }
@keyframes sf-bloom { 0% { transform: scale(1); opacity:.8 } 50% { transform: scale(1.3); opacity:1 } 100% { transform: scale(1.1); opacity:.9 } }
@keyframes sf-drift { 0% { transform: translate(0,0) rotate(0deg) } 33% { transform: translate(10px,-5px) rotate(30deg) } 66% { transform: translate(-5px,10px) rotate(-20deg) } 100% { transform: translate(0,0) rotate(0deg) } }

/* item-adrift-boat */
.scn-item-adrift-boat { background: linear-gradient(180deg, #2c2c5c 0%, #1a1a3a 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 30%, #4a4a7a 0%, transparent 70%); }
.scn-item-adrift-boat .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #3a3a6a 0%, #1a1a4a 60%, #0a0a2a 100%); animation: ab-sky 20s ease-in-out infinite alternate; }
.scn-item-adrift-boat .water { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #0a0a2a 0%, #050518 100%); border-top: 2px solid #2a2a5a; animation: ab-water 10s linear infinite; }
.scn-item-adrift-boat .boat-hull { position:absolute; bottom:20%; left:40%; width:60px; height:18px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 0 0 40% 40%; transform-origin: center; animation: ab-bob 6s ease-in-out infinite; }
.scn-item-adrift-boat .sail { position:absolute; bottom:30%; left:45%; width:8px; height:40px; background: linear-gradient(180deg, #cccccc 0%, #999999 100%); border-radius: 0 0 20% 20%; transform-origin: top center; animation: ab-sail 4s ease-in-out infinite alternate; }
.scn-item-adrift-boat .lantern { position:absolute; bottom:23%; left:55%; width:10px; height:10px; background: radial-gradient(circle, #ffb040 0%, #cc5500 80%); border-radius:50%; box-shadow: 0 0 20px 6px #ffb040, 0 0 40px 12px rgba(255,176,64,0.3); animation: ab-lantern 2s ease-in-out infinite alternate; }
.scn-item-adrift-boat .fly { position:absolute; top:20%; left:50%; width:4px; height:4px; background: #111; border-radius:50%; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5); animation: ab-fly 3s linear infinite; }
.scn-item-adrift-boat .moon { position:absolute; top:10%; right:15%; width:30px; height:30px; background: radial-gradient(circle, #e0e0ff 0%, #a0a0d0 80%); border-radius:50%; box-shadow: 0 0 30px 10px #a0a0d0, 0 0 60px 20px rgba(160,160,208,0.2); animation: ab-moon 30s ease-in-out infinite alternate; }
@keyframes ab-sky { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes ab-water { 0% { background-position: 0 0 } 100% { background-position: 50px 0 } }
@keyframes ab-bob { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-5px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ab-sail { 0% { transform: rotate(-3deg) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.05) } 100% { transform: rotate(-1deg) scaleY(1) } }
@keyframes ab-lantern { 0% { opacity:.7; box-shadow: 0 0 15px 4px #ffb040, 0 0 30px 8px rgba(255,176,64,0.2) } 50% { opacity:1; box-shadow: 0 0 25px 8px #ffb040, 0 0 50px 16px rgba(255,176,64,0.4) } 100% { opacity:.6; box-shadow: 0 0 10px 2px #ffb040, 0 0 20px 4px rgba(255,176,64,0.1) } }
@keyframes ab-fly { 0% { transform: translate(0,0) } 20% { transform: translate(30px,-20px) } 40% { transform: translate(-20px,10px) } 60% { transform: translate(50px,-30px) } 80% { transform: translate(-10px,20px) } 100% { transform: translate(0,0) } }
@keyframes ab-moon { 0% { transform: translateX(0); opacity:.8 } 50% { transform: translateX(-5px); opacity:1 } 100% { transform: translateX(2px); opacity:.9 } }

.scn-one-blessing-enchanted {
  background: linear-gradient(180deg, #6b7b8d 0%, #a4b4c5 60%, #d0dce8 100%),
              radial-gradient(ellipse at 50% 30%, #b0c0d0 0%, transparent 80%);
}
.scn-one-blessing-enchanted .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #7b8c9d 0%, #c5d0dc 100%);
  animation: obe-sky 14s ease-in-out infinite alternate;
}
.scn-one-blessing-enchanted .hills {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #58705a 0%, #3a4f3c 80%);
  border-radius: 60% 40% 0 0 / 70% 60% 0 0;
  box-shadow: inset 0 6px 14px rgba(0,0,0,0.3);
  animation: obe-hills 12s ease-in-out infinite alternate;
}
.scn-one-blessing-enchanted .figure {
  position: absolute; bottom: 42%; left: 45%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a3040 0%, #1a1f28 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: obe-figure 6s ease-in-out infinite;
}
.scn-one-blessing-enchanted .path {
  position: absolute; bottom: 15%; left: 30%; width: 35%; height: 8%;
  background: linear-gradient(135deg, #7a8a7a 0%, #5a6a5a 50%, #3a4a3a 100%);
  border-radius: 40% 20% 30% 50%;
  opacity: 0.6;
  animation: obe-path-shimmer 10s ease-in-out infinite alternate;
}
.scn-one-blessing-enchanted .cloud-a {
  position: absolute; top: 12%; left: 10%; width: 90px; height: 20px;
  background: linear-gradient(180deg, rgba(220,230,240,0.6) 0%, rgba(200,215,230,0.2) 100%);
  border-radius: 50%;
  filter: blur(7px);
  animation: obe-drift-a 40s linear infinite;
}
.scn-one-blessing-enchanted .cloud-b {
  position: absolute; top: 18%; right: 5%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(220,230,240,0.5) 0%, rgba(200,215,230,0.15) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: obe-drift-b 55s linear infinite reverse;
}
@keyframes obe-sky { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes obe-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(1px) } }
@keyframes obe-figure { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(1deg) } 75% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes obe-path-shimmer { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 0.7; transform: scale(1.02, 0.98) } 100% { opacity: 0.55; transform: scale(1) } }
@keyframes obe-drift-a { 0% { transform: translateX(-50px) } 100% { transform: translateX(180vw) } }
@keyframes obe-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-150vw) } }

.scn-roses-cease {
  background: linear-gradient(180deg, #87CEEB 0%, #b0e0f0 40%, #f5deb3 100%),
              radial-gradient(ellipse at 50% 0%, #fff8dc 0%, transparent 60%);
}
.scn-roses-cease .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #b0e0f0 100%);
  animation: rc-sky 12s ease-in-out infinite alternate;
}
.scn-roses-cease .sun {
  position: absolute; top: 10%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff7c0 0%, #ffd700 50%, #ffa500 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,215,0,0.5), 0 0 80px 40px rgba(255,165,0,0.2);
  animation: rc-sun-pulse 4s ease-in-out infinite alternate;
}
.scn-roses-cease .flower-a {
  position: absolute; bottom: 25%; left: 20%; width: 30px; height: 30px;
  background: radial-gradient(circle at 40% 40%, #ffb6c1 0%, #e88aa0 60%, #b06070 100%);
  border-radius: 50% 40% 50% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: rc-flower-sway 5s ease-in-out infinite;
}
.scn-roses-cease .flower-b {
  position: absolute; bottom: 30%; left: 35%; width: 26px; height: 26px;
  background: radial-gradient(circle at 50% 30%, #ffc0cb 0%, #d890a0 60%, #a06070 100%);
  border-radius: 40% 50% 40% 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: rc-flower-sway 6s ease-in-out infinite reverse;
  animation-delay: -2s;
}
.scn-roses-cease .flower-c {
  position: absolute; bottom: 22%; left: 55%; width: 34px; height: 34px;
  background: radial-gradient(circle at 60% 40%, #f8c8d0 0%, #d0a0b0 50%, #906070 100%);
  border-radius: 50% 40% 50% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: rc-flower-sway 5.5s ease-in-out infinite;
  animation-delay: -1s;
}
.scn-roses-cease .bee {
  position: absolute; top: 20%; left: 10%; width: 18px; height: 12px;
  background: linear-gradient(90deg, #2a2a2a 20%, #f0d060 20% 40%, #2a2a2a 40% 60%, #f0d060 60% 80%, #2a2a2a 80%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: rc-bee-fly 8s ease-in-out infinite;
}
.scn-roses-cease .hand {
  position: absolute; bottom: 40%; left: 30%; width: 24px; height: 36px;
  background: linear-gradient(180deg, #d4a574 0%, #b8845a 50%, #8c6040 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: rc-hand-reach 6s ease-in-out infinite;
}
.scn-roses-cease .grass {
  position: absolute; bottom: 5%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #5c8a5c 0%, #3a6a3a 100%);
  border-radius: 30% 40% 0 0 / 50% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: rc-grass-sway 7s ease-in-out infinite alternate;
}
@keyframes rc-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes rc-sun-pulse { 0% { transform: scale(1); box-shadow: 0 0 30px 15px rgba(255,215,0,0.4); } 50% { transform: scale(1.08); box-shadow: 0 0 60px 30px rgba(255,215,0,0.7); } 100% { transform: scale(0.95); box-shadow: 0 0 40px 20px rgba(255,215,0,0.5); } }
@keyframes rc-flower-sway { 0% { transform: rotate(-5deg) scale(1) } 25% { transform: rotate(3deg) scale(1.02) } 50% { transform: rotate(-2deg) scale(0.98) } 75% { transform: rotate(4deg) scale(1.01) } 100% { transform: rotate(-5deg) scale(1) } }
@keyframes rc-bee-fly { 0% { transform: translate(0, 0) rotate(0deg) } 20% { transform: translate(30px, -20px) rotate(10deg) } 40% { transform: translate(60px, 10px) rotate(-5deg) } 60% { transform: translate(90px, -10px) rotate(15deg) } 80% { transform: translate(120px, 5px) rotate(-10deg) } 100% { transform: translate(150px, 0) rotate(0deg) } }
@keyframes rc-hand-reach { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-8px) rotate(5deg) } 75% { transform: translateY(-4px) rotate(-3deg) } }
@keyframes rc-grass-sway { 0% { transform: skewX(0deg) } 50% { transform: skewX(2deg) } 100% { transform: skewX(-2deg) } }

.scn-angels-boat-death-house {
  background: linear-gradient(180deg, #1a0a0a 0%, #3a1a1a 30%, #7a2a2a 60%, #9a3a2a 100%),
              radial-gradient(ellipse at 50% 20%, #d06040 0%, transparent 60%);
}
.scn-angels-boat-death-house .sky-abdh {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1010 0%, #5a2020 40%, #9a3a2a 100%);
  opacity: 0.8;
  animation: abdh-sky 15s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .sun-abdh {
  position: absolute; bottom: 50%; left: 20%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #f08040 0%, #d05020 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 80px 20px #d05020;
  animation: abdh-sun 20s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .cloud-abdh {
  position: absolute; top: 15%; left: 10%;
  width: 120px; height: 30px;
  background: linear-gradient(180deg, rgba(200,100,60,0.4) 0%, rgba(100,40,20,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
}
.scn-angels-boat-death-house .cloud-a-abdh {
  animation: abdh-drift 40s linear infinite;
}
.scn-angels-boat-death-house .boat-hull-abdh {
  position: absolute; bottom: 30%; left: 50%;
  width: 120px; height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 0 0 50% 50% / 0 0 80% 80%;
  transform: translateX(-50%);
  animation: abdh-bob 5s ease-in-out infinite;
}
.scn-angels-boat-death-house .mast-abdh {
  position: absolute; bottom: calc(30% + 20px); left: calc(50% + 10px);
  width: 6px; height: 80px;
  background: linear-gradient(180deg, #3a2010 0%, #1a0a00 100%);
  border-radius: 3px;
  transform-origin: bottom center;
  animation: abdh-sway 6s ease-in-out infinite;
}
.scn-angels-boat-death-house .sail-abdh {
  position: absolute; bottom: calc(30% + 60px); left: calc(50% + 16px);
  width: 40px; height: 50px;
  background: linear-gradient(135deg, #d0c0a0 0%, #a89070 100%);
  border-radius: 10% 80% 50% 20% / 20% 60% 40% 80%;
  transform-origin: left center;
  animation: abdh-sail 4s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .angel-left-abdh {
  position: absolute; bottom: 40%; left: 30%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, rgba(255,220,180,0.6) 0%, rgba(200,150,100,0.2) 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 0 20px 10px rgba(255,200,150,0.3);
  animation: abdh-angel 8s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .angel-right-abdh {
  position: absolute; bottom: 40%; right: 30%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, rgba(255,220,180,0.6) 0%, rgba(200,150,100,0.2) 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 0 20px 10px rgba(255,200,150,0.3);
  animation: abdh-angel 8s ease-in-out infinite alternate-reverse;
}
@keyframes abdh-sky { 0% {opacity:0.6} 50% {opacity:0.9} 100% {opacity:0.7} }
@keyframes abdh-sun { 0% {transform:translateY(10px) scale(0.95); box-shadow:0 0 60px 15px #d05020} 50% {transform:translateY(0) scale(1.05); box-shadow:0 0 100px 25px #f08040} 100% {transform:translateY(5px) scale(1); box-shadow:0 0 80px 20px #d05020} }
@keyframes abdh-drift { 0% {transform:translateX(0)} 100% {transform:translateX(150vw)} }
@keyframes abdh-bob { 0% {transform:translateX(-50%) translateY(0)} 50% {transform:translateX(-50%) translateY(-5px)} 100% {transform:translateX(-50%) translateY(0)} }
@keyframes abdh-sway { 0% {transform:rotate(-3deg)} 50% {transform:rotate(3deg)} 100% {transform:rotate(-2deg)} }
@keyframes abdh-sail { 0% {transform:rotate(-10deg)} 50% {transform:rotate(15deg)} 100% {transform:rotate(-5deg)} }
@keyframes abdh-angel { 0% {opacity:0.3; transform:translateY(0) scale(1)} 50% {opacity:0.8; transform:translateY(-10px) scale(1.1)} 100% {opacity:0.5; transform:translateY(0) scale(0.95)} }

.scn-death-opposite-house-continued {
  background: linear-gradient(180deg, #87CEEB 0%, #d4e4e0 30%, #f0d8b8 60%, #e8c8a0 100%),
              radial-gradient(ellipse at 50% 0%, #ffffff 0%, transparent 50%);
}
.scn-death-opposite-house-continued .sky-dohc {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a0d0e0 0%, #d0e8e8 100%);
  opacity: 0.9;
  animation: dohc-sky 12s ease-in-out infinite alternate;
}
.scn-death-opposite-house-continued .sun-dohc {
  position: absolute; top: 10%; right: 20%;
  width: 70px; height: 70px;
  background: radial-gradient(circle, #fff0c0 0%, #f0d060 40%, #e0a030 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 100px 30px #f0d060;
  animation: dohc-sun 25s ease-in-out infinite alternate;
}
.scn-death-opposite-house-continued .house-dohc {
  position: absolute; bottom: 30%; left: 40%;
  width: 200px; height: 150px;
  background: linear-gradient(180deg, #e8d0b0 0%, #d0b090 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  transform: scale(0.95);
}
.scn-death-opposite-house-continued .window-dohc {
  position: absolute; bottom: 55%; left: 45%;
  width: 30px; height: 40px;
  background: #404040;
  border-radius: 5%;
  border: 4px solid #a08060;
  box-shadow: inset 0 0 10px #000;
  animation: dohc-window 4s ease-in-out infinite alternate;
}
.scn-death-opposite-house-continued .door-dohc {
  position: absolute; bottom: 30%; left: 48%;
  width: 30px; height: 50px;
  background: #6a4a3a;
  border-radius: 5% 5% 0 0;
  border: 3px solid #4a2a1a;
}
.scn-death-opposite-house-continued .mattress-dohc {
  position: absolute; bottom: 20%; left: 60%;
  width: 80px; height: 20px;
  background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: dohc-mattress 6s ease-in-out infinite;
}
.scn-death-opposite-house-continued .child-left-dohc {
  position: absolute; bottom: 22%; left: 35%;
  width: 14px; height: 28px;
  background: #3a3a4a;
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: dohc-walk 5s ease-in-out infinite;
}
.scn-death-opposite-house-continued .child-right-dohc {
  position: absolute; bottom: 22%; left: 42%;
  width: 14px; height: 28px;
  background: #3a3a4a;
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: dohc-walk 5s ease-in-out infinite reverse;
}
.scn-death-opposite-house-continued .minister-dohc {
  position: absolute; bottom: 30%; left: 30%;
  width: 20px; height: 50px;
  background: #2a2a2a;
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: dohc-minister 8s ease-in-out infinite;
}
@keyframes dohc-sky { 0% {opacity:0.6} 50% {opacity:1} 100% {opacity:0.8} }
@keyframes dohc-sun { 0% {transform:translateX(0) scale(1)} 50% {transform:translateX(-10px) scale(1.05)} 100% {transform:translateX(5px) scale(0.95)} }
@keyframes dohc-window { 0% {opacity:0.5} 50% {opacity:1} 100% {opacity:0.7} }
@keyframes dohc-mattress { 0% {transform:translateY(0) rotate(-2deg)} 50% {transform:translateY(-3px) rotate(0deg)} 100% {transform:translateY(0) rotate(2deg)} }
@keyframes dohc-walk { 0% {transform:translateX(0) translateY(0) rotate(-3deg)} 25% {transform:translateX(5px) translateY(-1px) rotate(0deg)} 50% {transform:translateX(10px) translateY(0) rotate(3deg)} 75% {transform:translateX(15px) translateY(-1px) rotate(0deg)} 100% {transform:translateX(20px) translateY(0) rotate(-3deg)} }
@keyframes dohc-minister { 0% {transform:translateY(0) scaleY(1)} 50% {transform:translateY(-2px) scaleY(1.02)} 100% {transform:translateY(0) scaleY(0.98)} }

.scn-never-know-we-go-lightning-thirst {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 40%, #2a1a2a 100%),
    radial-gradient(ellipse at 50% 30%, #2a2a5a 0%, transparent 70%);
}
.scn-never-know-we-go-lightning-thirst .star1,
.scn-never-know-we-go-lightning-thirst .star2,
.scn-never-know-we-go-lightning-thirst .star3 {
  position: absolute;
  width: 2px;
  height: 2px;
  background: white;
  border-radius: 50%;
  animation: lgt-twinkle 4s ease-in-out infinite;
}
.scn-never-know-we-go-lightning-thirst .star1 {
  top: 12%;
  left: 20%;
  animation-delay: 0s;
}
.scn-never-know-we-go-lightning-thirst .star2 {
  top: 8%;
  left: 70%;
  animation-delay: 1.2s;
}
.scn-never-know-we-go-lightning-thirst .star3 {
  top: 22%;
  left: 55%;
  animation-delay: 2.5s;
}
.scn-never-know-we-go-lightning-thirst .cloud {
  position: absolute;
  top: 18%;
  left: 8%;
  width: 100px;
  height: 28px;
  background: rgba(255,255,255,0.04);
  border-radius: 50%;
  filter: blur(10px);
  animation: lgt-cloud-drift 45s linear infinite;
}
.scn-never-know-we-go-lightning-thirst .mountain {
  position: absolute;
  bottom: 28%;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 35% 65% 0 0 / 55% 75% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.6);
  animation: lgt-mountain-breathe 12s ease-in-out infinite alternate;
}
.scn-never-know-we-go-lightning-thirst .ground {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 28%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.5);
  animation: lgt-ground-shiver 8s ease-in-out infinite alternate;
}
.scn-never-know-we-go-lightning-thirst .figure {
  position: absolute;
  bottom: 26%;
  left: 48%;
  width: 22px;
  height: 48px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 45% 45% 30% 30% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: lgt-figure-sway 4.5s ease-in-out infinite;
}
.scn-never-know-we-go-lightning-thirst .lightning-bolt {
  position: absolute;
  top: 6%;
  left: 58%;
  width: 80px;
  height: 180px;
  background: linear-gradient(180deg, #fff 0%, #b0c4de 100%);
  clip-path: polygon(
    50% 0, 62% 20%, 38% 30%, 65% 55%, 42% 65%, 70% 90%, 30% 90%,
    52% 65%, 38% 55%, 58% 30%, 45% 20%
  );
  animation: lgt-lightning-flash 6s ease-in-out infinite;
}
.scn-never-know-we-go-lightning-thirst .fire {
  position: absolute;
  bottom: 26%;
  left: 52%;
  width: 24px;
  height: 24px;
  background: radial-gradient(circle at 50% 50%, #ff8c00 0%, #ff4500 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 18px rgba(255, 140, 0, 0.5);
  animation: lgt-fire-flicker 2.2s ease-in-out infinite alternate;
}

@keyframes lgt-twinkle {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
  100% { opacity: 0.3; transform: scale(0.95); }
}
@keyframes lgt-cloud-drift {
  0% { transform: translateX(-40px) scale(1); }
  50% { transform: translateX(20vw) scale(1.1); }
  100% { transform: translateX(-40px) scale(1); }
}
@keyframes lgt-mountain-breathe {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes lgt-ground-shiver {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(0.3deg); }
  70% { transform: translateY(1px) rotate(-0.2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes lgt-figure-sway {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(2deg); }
  50% { transform: translateX(0) translateY(0) rotate(-1deg); }
  75% { transform: translateX(-4px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes lgt-lightning-flash {
  0% { opacity: 0; transform: scale(1); }
  5% { opacity: 1; transform: scale(1.08); }
  8% { opacity: 0.9; transform: scale(1.05); }
  12% { opacity: 1; transform: scale(1.12); }
  18% { opacity: 0.1; transform: scale(1); }
  100% { opacity: 0; }
}
@keyframes lgt-fire-flicker {
  0% { transform: scale(1) rotate(-3deg); opacity: 0.8; }
  50% { transform: scale(1.35) rotate(6deg); opacity: 1; }
  100% { transform: scale(0.85) rotate(-2deg); opacity: 0.6; }
}

.scn-wnt-dbt { background: linear-gradient(180deg, #1c163a 0%, #2a1e3c 40%, #3d2b45 100%), radial-gradient(ellipse at 60% 40%, #5a3d4a 0%, transparent 70%); }

.scn-wnt-dbt .bg-room {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a1e3c 0%, #1a1030 100%);
  opacity: 0.9;
  animation: wd-breathe 12s ease-in-out infinite alternate;
}
.scn-wnt-dbt .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1a1420 0%, #2a1e2c 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-wnt-dbt .wall-shadow {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 50%;
  background: radial-gradient(ellipse at 30% 50%, rgba(0,0,0,0.3) 0%, transparent 70%);
  filter: blur(12px);
  animation: wd-shadow-move 8s ease-in-out infinite alternate;
}
.scn-wnt-dbt .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1e1e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-wnt-dbt .candle {
  position: absolute; bottom: 36%; left: 50%; width: 14px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e8d8c0 0%, #b8a888 50%, #8a7a6a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 0 8px rgba(200,180,140,0.3);
}
.scn-wnt-dbt .flame-glow {
  position: absolute; bottom: 50%; left: 50%; width: 30px; height: 30px;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, #ffd080 0%, #e0a040 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #e0a040, 0 0 80px 20px rgba(220,160,60,0.3);
  animation: wd-flicker 2s ease-in-out infinite alternate;
}
.scn-wnt-dbt .figure {
  position: absolute; bottom: 25%; left: 45%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #1a1520 0%, #0e0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wd-sway 4s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.scn-wnt-dbt .curtain-left {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(90deg, #1e1828 0%, #2a2034 30%, transparent 100%);
  filter: blur(3px);
  animation: wd-curtain 6s ease-in-out infinite alternate;
}
.scn-wnt-dbt .curtain-right {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(270deg, #1e1828 0%, #2a2034 30%, transparent 100%);
  filter: blur(3px);
  animation: wd-curtain 6s ease-in-out infinite alternate-reverse;
}

@keyframes wd-breathe {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes wd-shadow-move {
  0% { transform: scale(1) translateX(0); opacity: 0.6; }
  50% { transform: scale(1.05) translateX(5px); opacity: 0.8; }
  100% { transform: scale(0.95) translateX(-3px); opacity: 0.5; }
}
@keyframes wd-flicker {
  0% { transform: translate(-50%,-50%) scale(0.9) rotate(-2deg); opacity: 0.6; box-shadow: 0 0 30px 6px #e0a040, 0 0 60px 14px rgba(220,160,60,0.2); }
  50% { transform: translate(-50%,-50%) scale(1.1) rotate(2deg); opacity: 1; box-shadow: 0 0 50px 12px #ffc060, 0 0 100px 28px rgba(255,192,96,0.4); }
  100% { transform: translate(-50%,-50%) scale(0.95) rotate(0deg); opacity: 0.7; box-shadow: 0 0 35px 8px #e0a040, 0 0 70px 16px rgba(220,160,60,0.25); }
}
@keyframes wd-sway {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(2deg) translateX(2px); }
  50% { transform: rotate(-1deg) translateX(-1px); }
  75% { transform: rotate(3deg) translateX(3px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes wd-curtain {
  0% { transform: scaleX(1) translateX(0); filter: blur(2px); }
  50% { transform: scaleX(1.03) translateX(4px); filter: blur(4px); }
  100% { transform: scaleX(0.98) translateX(-2px); filter: blur(3px); }
}

.scn-item-adrift-boat {
  background: 
    linear-gradient(180deg, #2a1a4a 0%, #4a2a5a 30%, #6a3a4a 60%, #2a2a3a 100%),
    radial-gradient(ellipse at 50% 30%, #6a3a4a 0%, transparent 70%);
}

.scn-item-adrift-boat .ab-sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a5a 0%, #5a3a4a 40%, #2a3a3a 80%, transparent 100%);
  animation: ab-sky-glow 12s ease-in-out infinite alternate;
}

.scn-item-adrift-boat .ab-water {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 50%, #000a1a 100%);
  animation: ab-water-wave 6s ease-in-out infinite alternate;
}

.scn-item-adrift-boat .ab-boat {
  position: absolute;
  bottom: 35%;
  left: 50%;
  width: 40px;
  height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 30% 30% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: ab-boat-bob 4s ease-in-out infinite;
}

.scn-item-adrift-boat .ab-sail {
  position: absolute;
  bottom: 42%;
  left: 50%;
  width: 20px;
  height: 30px;
  transform: translateX(-130%);
  background: linear-gradient(180deg, rgba(200,180,160,0.6) 0%, rgba(150,130,110,0.3) 100%);
  border-radius: 40% 10% 10% 40% / 60% 20% 20% 60%;
  animation: ab-sail-sway 5s ease-in-out infinite alternate;
}

.scn-item-adrift-boat .ab-lantern {
  position: absolute;
  bottom: 43%;
  left: 50%;
  width: 8px;
  height: 10px;
  background: radial-gradient(circle at 50% 50%, #ffb040 0%, #d08020 60%, transparent 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(255,176,64,0.6), 0 0 40px 12px rgba(255,176,64,0.3);
  animation: ab-lantern-flicker 2s ease-in-out infinite;
}

.scn-item-adrift-boat .ab-reflection {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 20px;
  height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255,176,64,0.3) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ab-reflection-pulse 3s ease-in-out infinite alternate;
}

.scn-item-adrift-boat .ab-cloud {
  position: absolute;
  top: 15%;
  left: 10%;
  width: 70px;
  height: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,0.2) 0%, rgba(200,200,220,0.15) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ab-cloud-drift 30s linear infinite;
}

.scn-item-adrift-boat .ab-moon {
  position: absolute;
  top: 12%;
  right: 15%;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle at 35% 35%, #e8d8b0 0%, #c8b080 40%, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px rgba(200,176,128,0.4);
  animation: ab-moon-rise 40s ease-in-out infinite alternate;
}

@keyframes ab-sky-glow {
  0% { opacity: 0.7; }
  50% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 0.8; }
}

@keyframes ab-water-wave {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(0.98); }
  100% { transform: translateY(2px) scaleY(1.01); }
}

@keyframes ab-boat-bob {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  30% { transform: translateX(-50%) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(-50%) translateY(1px) rotate(-1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}

@keyframes ab-sail-sway {
  0% { transform: translateX(-130%) rotate(-3deg); }
  50% { transform: translateX(-130%) rotate(2deg); }
  100% { transform: translateX(-130%) rotate(-1deg); }
}

@keyframes ab-lantern-flicker {
  0% { box-shadow: 0 0 15px 4px rgba(255,176,64,0.5), 0 0 30px 8px rgba(255,176,64,0.2); opacity: 0.8; }
  30% { box-shadow: 0 0 25px 8px rgba(255,176,64,0.7), 0 0 50px 16px rgba(255,176,64,0.4); opacity: 1; }
  60% { box-shadow: 0 0 18px 5px rgba(255,176,64,0.6), 0 0 35px 10px rgba(255,176,64,0.3); opacity: 0.9; }
  100% { box-shadow: 0 0 20px 6px rgba(255,176,64,0.6), 0 0 40px 12px rgba(255,176,64,0.3); opacity: 0.95; }
}

@keyframes ab-reflection-pulse {
  0% { opacity: 0.2; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.5; transform: translateX(-50%) scaleY(0.8); }
  100% { opacity: 0.3; transform: translateX(-50%) scaleY(1.1); }
}

@keyframes ab-cloud-drift {
  0% { transform: translateX(-30px); }
  50% { transform: translateX(40vw); opacity: 0.6; }
  100% { transform: translateX(90vw); opacity: 0.3; }
}

@keyframes ab-moon-rise {
  0% { transform: translateY(0) scale(0.95); opacity: 0.7; }
  50% { transform: translateY(-5px) scale(1.05); opacity: 1; }
  100% { transform: translateY(2px) scale(0.98); opacity: 0.9; }
}

.scn-one-blessing-enchanted {
  background:
    linear-gradient(180deg, #b6c5c9 0%, #9aabaf 50%, #8b9da2 100%),
    radial-gradient(ellipse at 50% 35%, #d0d8db 0%, transparent 70%);
}
.scn-one-blessing-enchanted .sky {
  position: absolute;
  inset: 0 0 55% 0;
  background: linear-gradient(180deg, #c2d1d6 0%, transparent 100%);
  animation: obe-sky 10s ease-in-out infinite alternate;
}
.scn-one-blessing-enchanted .fog-layer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(180deg, transparent 0%, #d5e0e3 100%);
  animation: obe-fog 12s ease-in-out infinite alternate;
}
.scn-one-blessing-enchanted .glow-orb {
  position: absolute;
  top: 25%;
  left: 50%;
  width: 150px;
  height: 150px;
  transform: translate(-50%, 0);
  background: radial-gradient(circle at 40% 35%, #f5f0e0 0%, #d6cdb5 50%, #b3aa99 100%);
  border-radius: 50%;
  box-shadow:
    0 0 40px 20px rgba(240,235,210,0.6),
    0 0 80px 40px rgba(220,210,180,0.3);
  animation: obe-glow 6s ease-in-out infinite;
}
.scn-one-blessing-enchanted .glow-ring {
  position: absolute;
  top: 25%;
  left: 50%;
  width: 150px;
  height: 150px;
  transform: translate(-50%, 0) scale(1.2);
  border: 2px solid rgba(255,255,240,0.25);
  border-radius: 50%;
  animation: obe-ring 6s ease-in-out infinite;
}
.scn-one-blessing-enchanted .mist-left {
  position: absolute;
  top: 20%;
  left: -10%;
  width: 200px;
  height: 100px;
  background: rgba(200,210,215,0.35);
  border-radius: 50%;
  filter: blur(25px);
  animation: obe-mist-l 18s ease-in-out infinite;
}
.scn-one-blessing-enchanted .mist-right {
  position: absolute;
  top: 30%;
  right: -15%;
  width: 180px;
  height: 90px;
  background: rgba(190,200,205,0.3);
  border-radius: 50%;
  filter: blur(20px);
  animation: obe-mist-r 20s ease-in-out infinite;
}
.scn-one-blessing-enchanted .sparkle {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: radial-gradient(circle, #ffffff 0%, transparent 70%);
  border-radius: 50%;
  animation: obe-sparkle 4s ease-in-out infinite;
}
@keyframes obe-sky {
  0%   { opacity: 0.8; }
  50%  { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes obe-fog {
  0%   { opacity: 0.5; }
  50%  { opacity: 0.8; }
  100% { opacity: 0.4; }
}
@keyframes obe-glow {
  0%   { transform: translate(-50%, 0) scale(1); box-shadow: 0 0 30px 15px rgba(240,235,210,0.5), 0 0 60px 30px rgba(220,210,180,0.2); }
  50%  { transform: translate(-50%, -5px) scale(1.05); box-shadow: 0 0 50px 25px rgba(240,235,210,0.7), 0 0 90px 45px rgba(220,210,180,0.35); }
  100% { transform: translate(-50%, 0) scale(1); box-shadow: 0 0 30px 15px rgba(240,235,210,0.5), 0 0 60px 30px rgba(220,210,180,0.2); }
}
@keyframes obe-ring {
  0%   { transform: translate(-50%, 0) scale(1.2); opacity: 0.7; }
  50%  { transform: translate(-50%, 0) scale(1.35); opacity: 1; }
  100% { transform: translate(-50%, 0) scale(1.2); opacity: 0.7; }
}
@keyframes obe-mist-l {
  0%   { transform: translateX(0) translateY(0); }
  50%  { transform: translateX(30px) translateY(-15px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes obe-mist-r {
  0%   { transform: translateX(0) translateY(0); }
  50%  { transform: translateX(-20px) translateY(-10px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes obe-sparkle {
  0%   { opacity: 0; transform: translateY(0) scale(0.5); }
  50%  { opacity: 1; transform: translateY(-40px) scale(1); }
  100% { opacity: 0; transform: translateY(-80px) scale(0.5); }
}

.scn-roses-cease { background: linear-gradient(180deg, #fbe9d2 0%, #f7d4a6 30%, #e8b07d 60%, #c9865a 100%), radial-gradient(ellipse at 80% 10%, #ffdfa0 0%, transparent 60%); width:100%; height:100%; position:relative; overflow:hidden; }
.scn-roses-cease .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #fff3e0 0%, #f7d4a6 100%); animation: rc-sky 12s ease-in-out infinite alternate; }
.scn-roses-cease .sun { position:absolute; top:8%; right:18%; width:80px; height:80px; background: radial-gradient(circle, #fff7e0 0%, #ffd580 50%, #f0a040 100%); border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,213,128,.6), 0 0 120px 60px rgba(255,213,128,.3); animation: rc-sun 6s ease-in-out infinite alternate; }
.scn-roses-cease .bush { position:absolute; bottom:20%; left:25%; width:180px; height:120px; background: radial-gradient(ellipse at 50% 100%, #2d5a2d 0%, #1a3a1a 70%, #0d260d 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: inset 0 -20px 30px rgba(0,0,0,.4), 0 8px 12px rgba(0,0,0,.3); animation: rc-bush 8s ease-in-out infinite; }
.scn-roses-cease .rose { position:absolute; bottom:38%; left:32%; width:40px; height:48px; background: radial-gradient(circle at 40% 30%, #e88a6a 0%, #c8553d 40%, #8a2e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 12px rgba(0,0,0,.3); transform-origin: bottom center; animation: rc-rose 5s ease-in-out infinite; }
.scn-roses-cease .hand { position:absolute; bottom:32%; left:8%; width:50px; height:100px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 80% 20% 20% 80% / 50% 40% 60% 50%; transform: rotate(-15deg); box-shadow: -4px 8px 12px rgba(0,0,0,.5); animation: rc-hand 9s ease-in-out infinite; }
.scn-roses-cease .bee { position:absolute; top:25%; left:55%; width:24px; height:16px; background: linear-gradient(90deg, #222 0%, #222 20%, #f0c040 20%, #f0c040 40%, #222 40%, #222 60%, #f0c040 60%, #f0c040 80%, #222 80%, #222 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: rc-bee 4s ease-in-out infinite; }
.scn-roses-cease .petal { position:absolute; bottom:45%; left:38%; width:14px; height:10px; background: radial-gradient(circle at 50% 100%, #e88a6a 0%, #c8553d 80%); border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%; transform-origin: center bottom; animation: rc-petal 6s ease-in-out infinite; }
@keyframes rc-sky   { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes rc-sun   { 0% { transform: scale(0.95); opacity:0.85; box-shadow: 0 0 40px 20px rgba(255,213,128,.5) } 50% { transform: scale(1.05); opacity:1; box-shadow: 0 0 80px 40px rgba(255,213,128,.7) } 100% { transform: scale(0.98); opacity:0.9; box-shadow: 0 0 50px 25px rgba(255,213,128,.55) } }
@keyframes rc-bush  { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.01) } }
@keyframes rc-rose  { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes rc-hand  { 0% { transform: rotate(-15deg) translateX(0) } 50% { transform: rotate(-12deg) translateX(8px) } 100% { transform: rotate(-16deg) translateX(-2px) } }
@keyframes rc-bee   { 0% { transform: translate(0, 0) rotate(0) } 25% { transform: translate(30px, -20px) rotate(10deg) } 50% { transform: translate(50px, 10px) rotate(-5deg) } 75% { transform: translate(20px, 30px) rotate(5deg) } 100% { transform: translate(0, 0) rotate(0) } }
@keyframes rc-petal { 0% { transform: translateY(0) rotate(0) opacity:1 } 50% { transform: translateY(30px) rotate(40deg) opacity:0.7 } 100% { transform: translateY(80px) rotate(90deg) opacity:0 } }

.scn-angels-boat-death-house {
  background:
    linear-gradient(180deg, #1a0a2e 0%, #3d1a3a 25%, #a83228 55%, #d85a2a 80%, #f08a3a 100%),
    radial-gradient(ellipse at 50% 0%, #f08a3a 0%, transparent 70%);
}
.scn-angels-boat-death-house .sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a0a3e 0%, #6a1a3a 50%, #a83a2a 100%);
  opacity: 0.8;
  animation: adh-sky 30s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .sun {
  position: absolute; bottom: 35%; left: 50%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #ff9a4a 0%, #ff6a3a 60%, transparent 100%);
  transform: translateX(-50%);
  box-shadow: 0 0 60px 20px #ff6a3a;
  animation: adh-sun 6s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .house {
  position: absolute; bottom: 20%; left: 8%;
  width: 90px; height: 110px;
  background: #151515;
  clip-path: polygon(0% 100%, 0% 30%, 50% 0%, 100% 30%, 100% 100%);
  box-shadow: 0 0 12px rgba(0,0,0,0.6);
  animation: adh-house 12s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .boat {
  position: absolute; bottom: 28%; right: 12%;
  width: 90px; height: 30px;
  background: #2a2a2a;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  transform: rotate(-4deg);
  animation: adh-boat 8s ease-in-out infinite alternate;
}
.scn-angels-boat-death-house .sail-fore {
  position: absolute; bottom: 42%; right: 16%;
  width: 20px; height: 45px;
  background: #c8c8c8;
  clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
  transform-origin: bottom left;
  animation: adh-sail 4s ease-in-out infinite;
}
.scn-angels-boat-death-house .sail-aft {
  position: absolute; bottom: 42%; right: 26%;
  width: 18px; height: 38px;
  background: #a0a0a0;
  clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
  transform-origin: bottom left;
  animation: adh-sail 4s ease-in-out infinite reverse;
  animation-delay: -2s;
}
.scn-angels-boat-death-house .angel {
  position: absolute; top: 15%; left: 45%;
  width: 28px; height: 48px;
  background: #1a1a1a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-8deg);
  box-shadow: 0 0 12px 4px rgba(255,180,80,0.25);
  animation: adh-angel 15s ease-in-out infinite;
}
.scn-angels-boat-death-house .cloud {
  position: absolute; top: 10%; left: 0;
  width: 100px; height: 18px;
  background: rgba(255,255,255,0.08);
  border-radius: 50%;
  filter: blur(10px);
  animation: adh-cloud 40s linear infinite;
}
@keyframes adh-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes adh-sun {
  0% { transform: translateX(-50%) scale(0.9); box-shadow: 0 0 40px 10px #ff6a3a; }
  50% { transform: translateX(-50%) scale(1.1); box-shadow: 0 0 80px 30px #ff9a4a; }
  100% { transform: translateX(-50%) scale(0.95); box-shadow: 0 0 50px 15px #ff6a3a; }
}
@keyframes adh-house {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes adh-boat {
  0% { transform: rotate(-4deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-3px); }
  100% { transform: rotate(-5deg) translateY(1px); }
}
@keyframes adh-sail {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(6deg) scaleX(0.75); }
  100% { transform: rotate(-2deg) scaleX(1.1); }
}
@keyframes adh-angel {
  0% { transform: translateY(0) rotate(-8deg); opacity: 0.6; }
  50% { transform: translateY(-8px) rotate(-3deg); opacity: 1; }
  100% { transform: translateY(2px) rotate(-10deg); opacity: 0.7; }
}
@keyframes adh-cloud {
  0% { transform: translateX(-120px); }
  50% { transform: translateX(40vw); }
  100% { transform: translateX(calc(100vw + 120px)); }
}

.scn-death-opposite-house-continued {
  background: linear-gradient(180deg, #f0d8a8 0%, #b8c8d8 30%, #8898a8 70%, #5a6a7a 100%),
              radial-gradient(ellipse at 30% 80%, rgba(240,216,168,0.15) 0%, transparent 60%);
}
.scn-death-opposite-house-continued .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #f8e8c8 0%, #d0d8e0 50%, #a0b0c0 100%);
  animation: doh-sky 14s ease-in-out infinite alternate;
}
.scn-death-opposite-house-continued .street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-death-opposite-house-continued .house {
  position: absolute; bottom: 20%; left: 28%; width: 220px; height: 190px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 12px 30px rgba(0,0,0,.7), inset 0 2px 6px rgba(255,255,200,.08);
  transform: scale(1);
}
.scn-death-opposite-house-continued .door {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 12% 12% 0 0;
  box-shadow: inset 0 0 12px rgba(0,0,0,.9), 0 0 8px rgba(0,0,0,.5);
}
.scn-death-opposite-house-continued .window {
  position: absolute; bottom: 50%; left: 36%; width: 30px; height: 34px;
  background: linear-gradient(135deg, #b8a898 0%, #7a6a5a 100%);
  border-radius: 8%;
  box-shadow: inset 0 0 14px rgba(0,0,0,.6), 0 0 6px rgba(0,0,0,.3);
  animation: doh-window 4s ease-in-out infinite alternate;
}
.scn-death-opposite-house-continued .mattress {
  position: absolute; bottom: 38%; left: 18%; width: 70px; height: 32px;
  background: linear-gradient(180deg, #c8a888 0%, #9a7a5a 50%, #7a5a3a 100%);
  border-radius: 12%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: doh-mattress 7s ease-in-out infinite;
  transform-origin: 30% 50%;
}
.scn-death-opposite-house-continued .children {
  position: absolute; bottom: 22%; left: 0; width: 18px; height: 30px;
  background: linear-gradient(180deg, #5a5a6a 0%, #2a2a3a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: doh-children 10s linear infinite;
}
.scn-death-opposite-house-continued .minister {
  position: absolute; bottom: 20%; left: 40%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: doh-minister 4s ease-in-out infinite;
  z-index: 10;
}
.scn-death-opposite-house-continued .tree {
  position: absolute; bottom: 20%; right: 6%; width: 44px; height: 160px;
  background: linear-gradient(180deg, #3a4a2a 0%, #1a2a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 0 30px rgba(0,0,0,.4);
  transform: scale(.92);
}
@keyframes doh-sky {
  0% { opacity: .8; }
  50% { opacity: 1; }
  100% { opacity: .85; }
}
@keyframes doh-window {
  0% { background: linear-gradient(135deg, #b8a898 0%, #7a6a5a 100%); box-shadow: inset 0 0 8px rgba(0,0,0,.5), 0 0 4px rgba(0,0,0,.2); }
  50% { background: linear-gradient(135deg, #c8b8a8 0%, #8a7a6a 100%); box-shadow: inset 0 0 18px rgba(0,0,0,.7), 0 0 8px rgba(0,0,0,.3); }
  100% { background: linear-gradient(135deg, #a89888 0%, #6a5a4a 100%); box-shadow: inset 0 0 10px rgba(0,0,0,.5), 0 0 4px rgba(0,0,0,.2); }
}
@keyframes doh-mattress {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(40px, -14px) rotate(18deg); }
  55% { transform: translate(80px, 6px) rotate(-6deg); }
  75% { transform: translate(110px, -4px) rotate(4deg); }
  100% { transform: translate(140px, 0) rotate(0deg); }
}
@keyframes doh-children {
  0% { transform: translateX(-40px); opacity: 1; }
  70% { opacity: 1; }
  100% { transform: translateX(130vw); opacity: 0; }
}
@keyframes doh-minister {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  20% { transform: translateX(1px) translateY(-1px) rotate(.8deg); }
  40% { transform: translateX(2px) translateY(0) rotate(0deg); }
  60% { transform: translateX(3px) translateY(-1px) rotate(.8deg); }
  80% { transform: translateX(4px) translateY(0) rotate(0deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}

.scn-never-know-we-go-lightning-thirst {
  background: linear-gradient(180deg, #0c0c24 0%, #16163a 50%, #1e1e4a 100%), radial-gradient(ellipse at 50% 0%, #2a2a5e 0%, transparent 60%);
}
.scn-never-know-we-go-lightning-thirst .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #111130 0%, transparent 100%);
  animation: lg-sky 12s ease-in-out infinite alternate;
}
.scn-never-know-we-go-lightning-thirst .stars {
  position: absolute; inset: 0;
  background-image: radial-gradient(1px 1px at 20px 30px, #fff), radial-gradient(1px 1px at 80px 10px, #ddd), radial-gradient(1px 1px at 160px 50px, #fff), radial-gradient(1px 1px at 40px 90px, #eee), radial-gradient(1px 1px at 120px 120px, #fff);
  background-size: 200px 150px;
  background-repeat: repeat;
  opacity: 0.7;
  animation: lg-stars 3s ease-in-out infinite alternate;
}
.scn-never-know-we-go-lightning-thirst .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%);
  border-radius: 40% 60% 0 0 / 10% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: lg-ground 20s ease-in-out infinite alternate;
}
.scn-never-know-we-go-lightning-thirst .tree {
  position: absolute; bottom: 30%; left: 65%; width: 60px; height: 100px;
  background:
    linear-gradient(to right, transparent 45%, #1a1a2e 45%, #1a1a2e 55%, transparent 55%) 50% 100% / 100% 40% no-repeat,
    radial-gradient(ellipse 60% 80% at 50% 30%, #1a1a2e 0%, transparent 70%) 50% 0% / 100% 60% no-repeat;
  transform-origin: bottom center;
  animation: lg-tree 6s ease-in-out infinite;
}
.scn-never-know-we-go-lightning-thirst .lightning {
  position: absolute; top: -5%; left: 50%; width: 8px; height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(200,220,255,0.8) 30%, rgba(200,220,255,0.2) 70%, transparent 100%);
  box-shadow: 0 0 30px 6px rgba(200,220,255,0.6), 0 0 60px 12px rgba(200,220,255,0.3);
  transform-origin: top center;
  opacity: 0;
  animation: lg-lightning 10s ease-in-out infinite;
}
.scn-never-know-we-go-lightning-thirst .figure {
  position: absolute; bottom: 25%; left: 20%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lg-figure 8s ease-in-out infinite;
}
@keyframes lg-sky {
  0% { opacity: 0.8; background-position: 0% 0%; }
  50% { opacity: 1; background-position: 0% 5%; }
  100% { opacity: 0.7; background-position: 0% 0%; }
}
@keyframes lg-stars {
  0% { opacity: 0.5; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.6; transform: scale(0.98); }
}
@keyframes lg-ground {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes lg-tree {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(1deg) translateX(1px); }
  50% { transform: rotate(-1.5deg) translateX(-1px); }
  75% { transform: rotate(0.5deg) translateX(0.5px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes lg-lightning {
  0% { opacity: 0; }
  1% { opacity: 1; }
  2% { opacity: 0; }
  3% { opacity: 0.8; }
  4% { opacity: 0; }
  100% { opacity: 0; }
}
@keyframes lg-figure {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  25% { transform: translateX(6px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(12px) translateY(0) rotate(-1deg); }
  75% { transform: translateX(18px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(24px) translateY(0) rotate(0deg); }
}

.scn-summer-for-thee {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #4A90D9 0%, #87CEEB 40%, #FFE4B5 70%, #FFD700 100%),
    radial-gradient(ellipse at 50% 100%, #FFD700 0%, transparent 70%);
}
.scn-summer-for-thee .sun {
  position: absolute;
  top: 20%;
  left: 30%;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(circle, #FFF8DC 0%, #FFD700 50%, transparent 70%);
  box-shadow: 0 0 40px 10px #FFD700;
  animation: sf-sun-pulse 6s ease-in-out infinite alternate;
}
.scn-summer-for-thee .cloud {
  position: absolute;
  width: 80px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.6) 0%, transparent 100%);
  filter: blur(6px);
}
.scn-summer-for-thee .cloud-a {
  top: 15%;
  left: -150px;
  animation: sf-cloud-drift 30s linear infinite;
}
.scn-summer-for-thee .cloud-b {
  top: 25%;
  right: -150px;
  animation: sf-cloud-drift-rev 40s linear infinite;
}
.scn-summer-for-thee .field {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #9ACD32 0%, #6B8E23 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  transform-origin: bottom center;
  animation: sf-field-sway 8s ease-in-out infinite alternate;
}
.scn-summer-for-thee .flower {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle, #E6A8D7 0%, #BA55D3 100%);
  box-shadow: 0 0 8px 2px #E6A8D7;
  animation: sf-flower-sway 3s ease-in-out infinite;
}
.scn-summer-for-thee .flower-l {
  bottom: 20%;
  left: 25%;
}
.scn-summer-for-thee .flower-c {
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, #F0B27A 0%, #E67E22 100%);
  box-shadow: 0 0 8px 2px #F0B27A;
  animation-delay: -1s;
}
.scn-summer-for-thee .flower-r {
  bottom: 25%;
  right: 20%;
  background: radial-gradient(circle, #DDA0DD 0%, #8B5CF6 100%);
  box-shadow: 0 0 8px 2px #DDA0DD;
  animation-delay: -2s;
}
@keyframes sf-sun-pulse {
  0% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 0.95; }
}
@keyframes sf-cloud-drift {
  0% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(100vw) translateY(-3px); }
  100% { transform: translateX(200vw) translateY(2px); }
}
@keyframes sf-cloud-drift-rev {
  0% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(-100vw) translateY(-2px); }
  100% { transform: translateX(-200vw) translateY(3px); }
}
@keyframes sf-field-sway {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(2px); }
}
@keyframes sf-flower-sway {
  0% { transform: translateX(0); }
  30% { transform: translateX(-5px); }
  60% { transform: translateX(5px); }
  100% { transform: translateX(0); }
}

.scn-housewife\'s-gentle-task {
  background: 
    linear-gradient(180deg, #3a1a10 0%, #5e2a1a 30%, #8b3a1a 60%, #4a2010 100%),
    radial-gradient(ellipse at 50% 70%, #ff7f2a 0%, transparent 50%);
}

.scn-housewife\'s-gentle-task .mantel {
  position: absolute;
  bottom: 40%;
  left: 30%;
  width: 40%;
  height: 4%;
  background: linear-gradient(180deg, #7a4a30 0%, #5a3018 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}

.scn-housewife\'s-gentle-task .fire {
  position: absolute;
  bottom: 38%;
  left: 45%;
  width: 10%;
  height: 12%;
  background: radial-gradient(ellipse at 50% 80%, #ffb347 0%, #ff7f2a 40%, #c8553d 70%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: hgt-fire 2s ease-in-out infinite alternate;
}

.scn-housewife\'s-gentle-task .glow {
  position: absolute;
  bottom: 35%;
  left: 38%;
  width: 24%;
  height: 30%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,180,80,0.5) 0%, transparent 70%);
  pointer-events: none;
  animation: hgt-glow 3s ease-in-out infinite alternate;
}

.scn-housewife\'s-gentle-task .chair {
  position: absolute;
  bottom: 18%;
  left: 35%;
  width: 12%;
  height: 20%;
  background: linear-gradient(180deg, #6a3a1a 0%, #3a1a08 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: hgt-chair 6s ease-in-out infinite;
}

.scn-housewife\'s-gentle-task .figure {
  position: absolute;
  bottom: 20%;
  left: 37%;
  width: 7%;
  height: 18%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hgt-fig 4s ease-in-out infinite;
}

.scn-housewife\'s-gentle-task .cat {
  position: absolute;
  bottom: 22%;
  left: 53%;
  width: 6%;
  height: 5%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: hgt-cat 5s ease-in-out infinite;
}

.scn-housewife\'s-gentle-task .rug {
  position: absolute;
  bottom: 15%;
  left: 30%;
  width: 40%;
  height: 6%;
  background: radial-gradient(ellipse at 50% 50%, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 100% 100% 60% 60%;
  opacity: 0.8;
}

@keyframes hgt-fire {
  0% { transform: scaleY(1) scaleX(1) translateY(0); opacity:0.9; }
  50% { transform: scaleY(1.1) scaleX(0.95) translateY(-2px); opacity:1; }
  100% { transform: scaleY(0.95) scaleX(1.05) translateY(1px); opacity:0.85; }
}
@keyframes hgt-glow {
  0% { opacity:0.6; transform: scale(1); }
  50% { opacity:0.9; transform: scale(1.1); }
  100% { opacity:0.7; transform: scale(0.95); }
}
@keyframes hgt-chair {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-1px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes hgt-fig {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(-1px); }
  100% { transform: rotate(-0.5deg) translateY(0); }
}
@keyframes hgt-cat {
  0% { transform: scale(1) translateX(0); }
  50% { transform: scale(1.05) translateX(2px); }
  100% { transform: scale(1) translateX(0); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.cherub { position: absolute; pointer-events: none; }
.drift { position: absolute; pointer-events: none; }
.flake { position: absolute; pointer-events: none; }
.heather { position: absolute; pointer-events: none; }
.mourner { position: absolute; pointer-events: none; }
.plank { position: absolute; pointer-events: none; }
.reed { position: absolute; pointer-events: none; }
.ring { position: absolute; pointer-events: none; }
.scn { position: absolute; pointer-events: none; }
.sedge { position: absolute; pointer-events: none; }
.vine { position: absolute; pointer-events: none; }
.weed { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
/* poem-no-brigadier – warm overcast, jay in snow */
.scn-poem-no-brigadier {
  background: linear-gradient(180deg, #c9c0b0 0%, #a69b8c 60%, #8a7f70 100%),
              radial-gradient(ellipse at 50% 0%, #dcd4c5 0%, transparent 70%);
}
.scn-poem-no-brigadier .sky-bg {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #c0b8a8 0%, #b8aea0 60%, #a89e90 100%);
  animation: pb-sky 15s ease-in-out infinite alternate;
}
.scn-poem-no-brigadier .snow-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #e6ded0 0%, #d4cabc 100%);
  border-radius: 40% 60% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
  animation: pb-ground 20s ease-in-out infinite alternate;
}
.scn-poem-no-brigadier .tree {
  position: absolute; bottom: 45%; width: 12px; height: 40%;
  background: linear-gradient(180deg, #5a4e3e 0%, #3d3327 100%);
  border-radius: 2px 2px 4px 4px;
  transform-origin: bottom center;
}
.scn-poem-no-brigadier .tree-left {
  left: 15%;
  animation: pb-tree-sway 8s ease-in-out infinite alternate;
}
.scn-poem-no-brigadier .tree-right {
  right: 18%;
  animation: pb-tree-sway 9s ease-in-out infinite alternate-reverse;
}
.scn-poem-no-brigadier .jay {
  position: absolute; bottom: 52%; left: 45%;
  width: 20px; height: 14px;
  background: radial-gradient(circle at 30% 30%, #6b8f6b 0%, #3a5a3a 100%);
  border-radius: 50% 40% 40% 50% / 60% 60% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: pb-jay 6s ease-in-out infinite;
}
.scn-poem-no-brigadier .snowflakes {
  position: absolute; inset: 0;
  background: radial-gradient(2px 2px at 10% 20%, rgba(255,255,255,0.6) 0%, transparent 100%),
              radial-gradient(3px 3px at 30% 40%, rgba(255,255,255,0.5) 0%, transparent 100%),
              radial-gradient(2px 2px at 60% 10%, rgba(255,255,255,0.7) 0%, transparent 100%),
              radial-gradient(2px 2px at 80% 50%, rgba(255,255,255,0.4) 0%, transparent 100%);
  animation: pb-snow 12s linear infinite;
}
@keyframes pb-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes pb-ground {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.97); }
  100% { transform: scaleY(1.02); }
}
@keyframes pb-tree-sway {
  0% { transform: rotate(-1deg) scale(1); }
  50% { transform: rotate(1deg) scale(1.01); }
  100% { transform: rotate(-0.5deg) scale(1); }
}
@keyframes pb-jay {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(8px,-3px) rotate(4deg); }
  50% { transform: translate(14px,0) rotate(-2deg); }
  75% { transform: translate(20px,-2px) rotate(2deg); }
  100% { transform: translate(28px,0) rotate(0deg); }
}
@keyframes pb-snow {
  0% { background-position: 0 0, 0 0, 0 0, 0 0; }
  100% { background-position: 100px 300px, -50px 250px, 80px 350px, -30px 280px; }
}

/* poem-let-down-the-bars – dusk calm, sheep and gate */
.scn-poem-let-down-the-bars {
  background: linear-gradient(180deg, #4a3b5c 0%, #6d5a7e 30%, #8b7a9a 60%, #a997a7 100%),
              radial-gradient(ellipse at 50% 80%, #cbb4a0 0%, transparent 60%);
}
.scn-poem-let-down-the-bars .dusk-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a1e3a 0%, #5c4a6e 40%, #7a6890 100%);
  animation: lb-dusk 20s ease-in-out infinite alternate;
}
.scn-poem-let-down-the-bars .horizon-fade {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, #9b8a78 50%, #c4b0a0 100%);
  filter: blur(6px);
}
.scn-poem-let-down-the-bars .gate-bars {
  position: absolute; bottom: 38%; left: 40%; width: 20%; height: 20%;
  background: linear-gradient(90deg, #3d322b 0%, transparent 15%, transparent 85%, #3d322b 100%);
  border-left: 4px solid #2c231e;
  border-right: 4px solid #2c231e;
  border-radius: 2px;
  animation: lb-gate 10s ease-in-out infinite alternate;
}
.scn-poem-let-down-the-bars .flock {
  position: absolute; bottom: 35%; width: 18px; height: 12px;
  background: radial-gradient(circle at 30% 30%, #ddd0c0 0%, #b8a898 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  animation: lb-sheep 12s ease-in-out infinite;
}
.scn-poem-let-down-the-bars .sheep-1 {
  left: 25%; animation-delay: 0s;
}
.scn-poem-let-down-the-bars .sheep-2 {
  left: 55%; animation-delay: -4s;
}
.scn-poem-let-down-the-bars .pasture {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #6b7a4e 0%, #4c5a34 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
}
@keyframes lb-dusk {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.8; }
}
@keyframes lb-gate {
  0% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(1.05) translateX(-3px); }
  100% { transform: scaleX(1) translateX(3px); }
}
@keyframes lb-sheep {
  0% { transform: translateX(0) translateY(0); }
  30% { transform: translateX(10px) translateY(-2px); }
  60% { transform: translateX(20px) translateY(0); }
  100% { transform: translateX(30px) translateY(-1px); }
}

/* poem-im-glad-i-dont-believe – warm overcast, autumn walk */
.scn-poem-im-glad-i-dont-believe {
  background: linear-gradient(180deg, #b8aa8a 0%, #a0906e 40%, #7a6c50 100%),
              radial-gradient(ellipse at 50% 0%, #c9b898 0%, transparent 70%);
}
.scn-poem-im-glad-i-dont-believe .autumn-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #c4b49e 0%, #afa18a 60%, #9a8c76 100%);
  animation: ig-sky 18s ease-in-out infinite alternate;
}
.scn-poem-im-glad-i-dont-believe .falling-leaves {
  position: absolute; top: 10%; width: 8px; height: 6px;
  background: #b86a3a;
  border-radius: 20% 80% 20% 80%;
  filter: blur(1px);
  animation: ig-leaf-fall 8s linear infinite;
}
.scn-poem-im-glad-i-dont-believe .leaves-1 {
  left: 20%; animation-delay: 0s;
}
.scn-poem-im-glad-i-dont-believe .leaves-2 {
  left: 60%; animation-delay: -3.5s;
  background: #a85a2a;
}
.scn-poem-im-glad-i-dont-believe .tree-trunk {
  position: absolute; bottom: 40%; left: 35%; width: 14px; height: 45%;
  background: linear-gradient(90deg, #4a3d30 0%, #5c4e3e 40%, #3d3025 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-poem-im-glad-i-dont-believe .ground-leaf-pile {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(circle at 30% 50%, #b8723a 0%, #a06030 40%, #7a4520 100%);
  border-radius: 50% 50% 0 0;
  opacity: 0.8;
}
.scn-poem-im-glad-i-dont-believe .figure-walking {
  position: absolute; bottom: 30%; left: 45%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #2d2a22 0%, #1a1814 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ig-walk 5s ease-in-out infinite;
}
@keyframes ig-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}
@keyframes ig-leaf-fall {
  0% { transform: translateY(0) rotate(0deg) scale(1); }
  25% { transform: translateY(15vh) translateX(20px) rotate(90deg) scale(0.9); }
  50% { transform: translateY(30vh) translateX(-10px) rotate(180deg) scale(1.1); }
  75% { transform: translateY(45vh) translateX(15px) rotate(270deg) scale(0.85); }
  100% { transform: translateY(60vh) translateX(0) rotate(360deg) scale(0.95); }
}
@keyframes ig-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(10px) translateY(-1px) rotate(2deg); }
  50% { transform: translateX(20px) translateY(0) rotate(-1deg); }
  75% { transform: translateX(30px) translateY(-2px) rotate(3deg); }
  100% { transform: translateX(40px) translateY(0) rotate(0deg); }
}

/* poem-step-lightly – moonlit calm, graveyard path */
.scn-poem-step-lightly {
  background: linear-gradient(180deg, #0a0e1a 0%, #1a1f30 50%, #2c3550 100%),
              radial-gradient(ellipse at 50% 100%, #3c4870 0%, transparent 70%);
}
.scn-poem-step-lightly .moonlit-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #0a0f20 0%, #1a2340 60%, #2a3550 100%);
  animation: sl-sky 25s ease-in-out infinite alternate;
}
.scn-poem-step-lightly .moon {
  position: absolute; top: 8%; right: 15%; width: 40px; height: 40px;
  background: radial-gradient(circle at 40% 40%, #e8e4d8 0%, #c8c0b0 50%, #a8a090 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(200,192,176,0.3), 0 0 40px 15px rgba(200,192,176,0.15);
  animation: sl-moon 30s ease-in-out infinite alternate;
}
.scn-poem-step-lightly .headstone {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 36px;
  background: linear-gradient(180deg, #7a7a7a 0%, #505050 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-poem-step-lightly .path {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: sl-path 15s ease-in-out infinite alternate;
}
.scn-poem-step-lightly .cemetery-grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-poem-step-lightly .faint-glow {
  position: absolute; bottom: 35%; left: 45%; width: 20px; height: 20px;
  background: radial-gradient(circle, rgba(200,200,200,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: sl-glow 8s ease-in-out infinite alternate;
}
@keyframes sl-sky {
  0% { opacity: 0.6; }
  50% { opacity: 0.85; }
  100% { opacity: 0.7; }
}
@keyframes sl-moon {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(5px) scale(1.03); }
  100% { transform: translateY(-3px) scale(0.97); }
}
@keyframes sl-path {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.1); }
  100% { opacity: 0.6; transform: scaleY(0.95); }
}
@keyframes sl-glow {
  0% { opacity: 0.2; transform: scale(0.9); }
  50% { opacity: 0.6; transform: scale(1.2); }
  100% { opacity: 0.3; transform: scale(1); }
}

/* poem-the-snake – tense, sunlit */
.scn-poem-the-snake {
  background: 
    linear-gradient(180deg, #f7e8c8 0%, #dec68a 40%, #b8a070 100%),
    radial-gradient(ellipse at 60% 30%, #fff2d0 0%, transparent 60%);
}
.scn-poem-the-snake .grass-bg {
  position: absolute; inset: 40% 0 0; background: linear-gradient(180deg, #7a9a4a 0%, #4a6a2a 100%);
  animation: snk-grass-bg 20s ease-in-out infinite alternate;
}
.scn-poem-the-snake .grass-mid {
  position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, #5a7a3a 0%, #8aaa5a 100%);
  clip-path: polygon(0% 0%, 100% 10%, 100% 100%, 0% 100%);
  animation: snk-grass-mid 10s ease-in-out infinite;
}
.scn-poem-the-snake .grass-fore {
  position: absolute; inset: 65% 0 0; background: linear-gradient(0deg, #3a5a1a 0%, #6a8a3a 100%);
  clip-path: polygon(0% 5%, 100% 0%, 100% 100%, 0% 100%);
  animation: snk-grass-fore 12s ease-in-out infinite;
}
.scn-poem-the-snake .snake-body {
  position: absolute; bottom: 45%; left: 10%; width: 30%; height: 8%;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a3a 50%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transform-origin: 70% 50%;
  animation: snk-slither 8s ease-in-out infinite;
}
.scn-poem-the-snake .snake-pattern {
  position: absolute; bottom: 45%; left: 10%; width: 30%; height: 8%;
  background: radial-gradient(circle at 20% 50%, #2a1a0a 4px, transparent 4px),
              radial-gradient(circle at 40% 50%, #2a1a0a 4px, transparent 4px),
              radial-gradient(circle at 60% 50%, #2a1a0a 4px, transparent 4px),
              radial-gradient(circle at 80% 50%, #2a1a0a 4px, transparent 4px);
  opacity: 0.7;
  animation: snk-slither 8s ease-in-out infinite;
}
.scn-poem-the-snake .shadow-snake {
  position: absolute; bottom: 42%; left: 12%; width: 28%; height: 3%;
  background: rgba(0,0,0,0.15); border-radius: 50%;
  filter: blur(4px);
  animation: snk-shadow 8s ease-in-out infinite;
}
.scn-poem-the-snake .sun-ray {
  position: absolute; top: 10%; left: 20%; width: 40%; height: 30%;
  background: linear-gradient(135deg, rgba(255,240,200,0.4) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
  animation: snk-ray 6s ease-in-out infinite alternate;
}
@keyframes snk-grass-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes snk-grass-mid { 0% { transform: translateX(0); } 50% { transform: translateX(4px); } 100% { transform: translateX(0); } }
@keyframes snk-grass-fore { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes snk-slither { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes snk-shadow { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(6px) scaleX(1.2); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes snk-ray { 0% { opacity: 0.5; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.6; transform: scaleY(0.95); } }

/* poem-the-mushroom – calm, dawn */
.scn-poem-the-mushroom {
  background:
    linear-gradient(180deg, #f5e0d0 0%, #d8b8a0 40%, #a08070 100%),
    radial-gradient(ellipse at 30% 80%, #ffe8c0 0%, transparent 50%);
}
.scn-poem-the-mushroom .ground {
  position: absolute; inset: 60% 0 0; background: linear-gradient(180deg, #5a6a3a 0%, #3a4a2a 100%);
  border-radius: 30% 30% 0 0;
  animation: mush-ground 15s ease-in-out infinite;
}
.scn-poem-the-mushroom .mushroom-cap {
  position: absolute; bottom: 45%; left: 45%; width: 18%; height: 14%;
  background: radial-gradient(ellipse at 40% 30%, #e8b878 0%, #c89050 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  animation: mush-cap 12s ease-in-out infinite alternate;
}
.scn-poem-the-mushroom .mushroom-stem {
  position: absolute; bottom: 35%; left: 46.5%; width: 7%; height: 20%;
  background: linear-gradient(180deg, #f0d8c0 0%, #d0b898 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.1);
}
.scn-poem-the-mushroom .dew-drop {
  position: absolute; width: 2.5%; height: 3%;
  background: radial-gradient(circle, #ffffff 0%, rgba(255,255,255,0) 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,255,255,0.4);
  animation: mush-dew 6s ease-in-out infinite;
}
.scn-poem-the-mushroom .dew-1 { bottom: 48%; left: 48%; animation-delay: 0s; }
.scn-poem-the-mushroom .dew-2 { bottom: 44%; left: 42%; animation-delay: 2s; }
.scn-poem-the-mushroom .dawn-glow {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 40%;
  background: linear-gradient(180deg, rgba(255,200,150,0.3) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(20px);
  animation: mush-dawn 20s ease-in-out infinite alternate;
}
.scn-poem-the-mushroom .spore-halo {
  position: absolute; bottom: 46%; left: 44%; width: 20%; height: 16%;
  background: radial-gradient(ellipse, rgba(200,160,100,0.2) 0%, transparent 70%);
  animation: mush-spore 8s ease-in-out infinite;
}
@keyframes mush-ground { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mush-cap { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(2deg); } 100% { transform: scale(0.98) rotate(-1deg); } }
@keyframes mush-dew { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 50% { transform: translateY(-4px) scale(1.2); opacity: 1; } 100% { transform: translateY(0) scale(1); opacity: 0.9; } }
@keyframes mush-dawn { 0% { opacity: 0.5; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.05); } 100% { opacity: 0.6; transform: scaleY(0.95); } }
@keyframes mush-spore { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(0.9) rotate(-5deg); } }

/* poem-wind-came-like-bugle – tense, overcast */
.scn-poem-wind-came-like-bugle {
  background:
    linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 40%, #2a3a3a 100%),
    radial-gradient(ellipse at 60% 30%, #7a8a8a 0%, transparent 60%);
}
.scn-poem-wind-came-like-bugle .sky-wind {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #8a9a8a 0%, #5a6a5a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 95%);
  animation: wind-sky 8s ease-in-out infinite alternate;
}
.scn-poem-wind-came-like-bugle .ground-wind {
  position: absolute; inset: 50% 0 0;
  background: linear-gradient(180deg, #3a4a2a 0%, #2a3a1a 100%);
  animation: wind-ground 12s ease-in-out infinite;
}
.scn-poem-wind-came-like-bugle .tree-left {
  position: absolute; bottom: 40%; left: 10%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  transform-origin: bottom center;
  animation: wind-tree-left 4s ease-in-out infinite alternate;
}
.scn-poem-wind-came-like-bugle .tree-right {
  position: absolute; bottom: 35%; right: 15%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
  transform-origin: bottom center;
  animation: wind-tree-right 5s ease-in-out infinite alternate;
}
.scn-poem-wind-came-like-bugle .fence-post {
  position: absolute; bottom: 30%; left: 40%; width: 2%; height: 20%;
  background: #4a3a2a;
  box-shadow: 8px 0 0 #3a2a1a, 16px 0 0 #4a3a2a;
  animation: wind-fence 2s ease-in-out infinite;
}
.scn-poem-wind-came-like-bugle .grass-streak {
  position: absolute; bottom: 10%; left: 0; width: 100%; height: 20%;
  background: linear-gradient(90deg, transparent 0%, #6a8a3a 20%, transparent 40%, #5a7a2a 60%, transparent 80%, #6a8a3a 100%);
  background-size: 200% 100%;
  animation: wind-streak 6s linear infinite;
}
.scn-poem-wind-came-like-bugle .bell-shape {
  position: absolute; top: 15%; right: 30%; width: 8%; height: 12%;
  background: radial-gradient(ellipse at 50% 30%, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 4px rgba(100,80,60,0.5);
  animation: wind-bell 2s ease-in-out infinite alternate;
}
@keyframes wind-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes wind-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes wind-tree-left { 0% { transform: rotate(0deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-2deg); } }
@keyframes wind-tree-right { 0% { transform: rotate(0deg); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(3deg); } }
@keyframes wind-fence { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1.02); } }
@keyframes wind-streak { 0% { background-position: 0% 0%; } 100% { background-position: 100% 0%; } }
@keyframes wind-bell { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(10deg); } 100% { transform: scale(0.9) rotate(-5deg); } }

/* poem-xxviii – calm, overcast */
.scn-poem-xxviii {
  background:
    linear-gradient(180deg, #a0a8b0 0%, #808890 40%, #606870 100%),
    radial-gradient(ellipse at 50% 30%, #b0b8c0 0%, transparent 60%);
}
.scn-poem-xxviii .frost-ground {
  position: absolute; inset: 60% 0 0;
  background: linear-gradient(180deg, #c0c8b0 0%, #a0a890 100%);
  border-radius: 20% 20% 0 0;
  animation: xxviii-frost 20s ease-in-out infinite alternate;
}
.scn-poem-xxviii .daisy-group {
  position: absolute; bottom: 35%; left: 30%; width: 30%; height: 25%;
  background: 
    radial-gradient(circle at 30% 60%, #ffffff 4px, transparent 4px),
    radial-gradient(circle at 50% 40%, #ffffff 3px, transparent 3px),
    radial-gradient(circle at 70% 70%, #ffffff 5px, transparent 5px),
    radial-gradient(circle at 20% 80%, #ffffff 2px, transparent 2px),
    radial-gradient(circle at 60% 20%, #ffffff 4px, transparent 4px);
  background-size: 20% 20%;
  animation: xxviii-daisy 15s ease-in-out infinite;
}
.scn-poem-xxviii .frost-crystal {
  position: absolute; top: 20%; left: 60%; width: 10%; height: 15%;
  background: linear-gradient(135deg, #e0e8f0 0%, transparent 100%);
  clip-path: polygon(50% 0%, 70% 30%, 50% 100%, 30% 30%);
  opacity: 0.6;
  animation: xxviii-crystal 12s ease-in-out infinite alternate;
}
.scn-poem-xxviii .amber-smear {
  position: absolute; bottom: 45%; left: 45%; width: 20%; height: 10%;
  background: linear-gradient(90deg, #c89050, transparent);
  border-radius: 30%;
  filter: blur(8px);
  opacity: 0.4;
  animation: xxviii-amber 18s ease-in-out infinite;
}
.scn-poem-xxviii .south-wind {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 5%;
  background: linear-gradient(90deg, transparent, rgba(200,200,220,0.3), transparent);
  filter: blur(4px);
  animation: xxviii-wind 25s linear infinite;
}
.scn-poem-xxviii .soft-refrain {
  position: absolute; bottom: 30%; left: 20%; width: 12%; height: 8%;
  background: radial-gradient(ellipse, rgba(180,200,220,0.2) 0%, transparent 100%);
  animation: xxviii-refrain 10s ease-in-out infinite alternate;
}
.scn-poem-xxviii .stiff-spice {
  position: absolute; top: 40%; left: 35%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #d0a060 0%, #b08040 100%);
  border-radius: 20%;
  box-shadow: 0 0 8px 2px rgba(200,160,80,0.3);
  animation: xxviii-spice 8s ease-in-out infinite;
}
@keyframes xxviii-frost { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes xxviii-daisy { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(3deg); } 100% { transform: scale(0.95) rotate(-2deg); } }
@keyframes xxviii-crystal { 0% { transform: scale(1) rotate(0deg); opacity: 0.5; } 50% { transform: scale(1.2) rotate(10deg); opacity: 0.8; } 100% { transform: scale(0.9) rotate(-5deg); opacity: 0.4; } }
@keyframes xxviii-amber { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(8px) scaleY(0.8); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes xxviii-wind { 0% { transform: translateX(0); } 100% { transform: translateX(120vw); } }
@keyframes xxviii-refrain { 0% { transform: scale(1) rotate(0deg); opacity: 0.3; } 50% { transform: scale(1.1) rotate(5deg); opacity: 0.6; } 100% { transform: scale(0.9) rotate(-3deg); opacity: 0.4; } }
@keyframes xxviii-spice { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.1); } 100% { transform: translateY(0) scale(0.9); } }

.scn-poem-its-all-i-have { background: linear-gradient(180deg, #f5e6c8 0%, #ffd9a3 30%, #ffe4b5 70%), radial-gradient(ellipse at 50% 30%, #fff8dc 0%, transparent 60%); }
.scn-poem-its-all-i-have .sky-iw   { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #a8d8e8 0%, #c9e4f0 40%, transparent 100%); animation: iw-sky 15s ease-in-out infinite alternate; }
.scn-poem-its-all-i-have .sun-iw   { position:absolute; top:8%; left:70%; width:60px; height:60px; background: radial-gradient(circle, #fffbe0 0%, #ffdf80 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 80px 30px rgba(255,223,128,0.5); animation: iw-sun 8s ease-in-out infinite; }
.scn-poem-its-all-i-have .fields-iw{ position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #7da86a 0%, #5a8a48 40%, #3d6b30 100%); border-radius: 30% 70% 0 0 / 20% 30% 0 0; animation: iw-fields 20s ease-in-out infinite alternate; }
.scn-poem-its-all-i-have .figure-iw{ position:absolute; bottom:22%; left:45%; width:22px; height:42px; background: linear-gradient(180deg, #4a3520 0%, #2a1e10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iw-figure 6s ease-in-out infinite; }
.scn-poem-its-all-i-have .heart-glow-iw{ position:absolute; bottom:28%; left:45%; width:20px; height:18px; background: radial-gradient(circle, #f08 0%, #c04040 40%, transparent 70%); transform: rotate(-45deg) translateX(-5px); border-radius: 50% 0 50% 0; box-shadow: 0 0 30px 10px rgba(192,64,64,0.4); animation: iw-heart 3s ease-in-out infinite alternate; }
.scn-poem-its-all-i-have .clouds-iw{ position:absolute; top:12%; left:10%; width:100px; height:25px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%); border-radius:50%; filter: blur(7px); animation: iw-clouds 40s linear infinite; }
@keyframes iw-sky    { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes iw-sun    { 0% { transform:scale(0.95) } 50% { transform:scale(1.05) } 100% { transform:scale(0.95) } }
@keyframes iw-fields { 0% { transform:translateY(0) } 50% { transform:translateY(-3px) } 100% { transform:translateY(0) } }
@keyframes iw-figure { 0% { transform:translateX(0) rotate(-1deg) } 25% { transform:translateX(8px) rotate(1deg) } 50% { transform:translateX(16px) rotate(-1deg) } 75% { transform:translateX(24px) rotate(1deg) } 100% { transform:translateX(32px) rotate(0) } }
@keyframes iw-heart  { 0% { opacity:0.7; transform:rotate(-45deg) translateX(-5px) scale(0.9) } 50% { opacity:1; transform:rotate(-40deg) translateX(-3px) scale(1.1) } 100% { opacity:0.8; transform:rotate(-45deg) translateX(-5px) scale(1) } }
@keyframes iw-clouds { 0% { transform:translateX(-40px) } 100% { transform:translateX(120vw) } }

.scn-editorial-third-series-preface { background: linear-gradient(180deg, #2a2520 0%, #3a3028 30%, #4a3a30 70%), radial-gradient(ellipse at 50% 70%, #5a4a3c 0%, transparent 70%); }
.scn-editorial-third-series-preface .wall-ep       { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a30 0%, #3a2a20 100%); }
.scn-editorial-third-series-preface .bookshelf-ep  { position:absolute; bottom:30%; left:10%; right:10%; height:50%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%, #2a1a0a 100%); border-radius: 2% 2% 0 0; box-shadow: inset 0 -8px 20px rgba(0,0,0,0.5); }
.scn-editorial-third-series-preface .desk-ep       { position:absolute; bottom:12%; left:20%; right:20%; height:18%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.6); }
.scn-editorial-third-series-preface .lamp-glow-ep  { position:absolute; bottom:25%; left:30%; width:20px; height:30px; background: radial-gradient(circle at 50% 20%, #f0d090 0%, #c09060 40%, transparent 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 40px 20px rgba(192,144,96,0.3); animation: ep-lamp 4s ease-in-out infinite alternate; }
.scn-editorial-third-series-preface .book-ep       { position:absolute; bottom:13%; left:35%; width:40px; height:8px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: ep-book 6s ease-in-out infinite; }
.scn-editorial-third-series-preface .silhouette-reader-ep { position:absolute; bottom:13%; left:30%; width:24px; height:50px; background: linear-gradient(180deg, #1a1510 0%, #0a0805 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ep-reader 8s ease-in-out infinite; }
@keyframes ep-lamp    { 0% { opacity:0.7; transform:scaleY(0.95) } 50% { opacity:1; transform:scaleY(1.05) } 100% { opacity:0.8; transform:scaleY(0.95) } }
@keyframes ep-book    { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-2px) } 100% { transform:rotate(-10deg) translateY(0) } }
@keyframes ep-reader  { 0% { transform:translateY(0) rotate(-1deg) } 50% { transform:translateY(-3px) rotate(1deg) } 100% { transform:translateY(0) rotate(-1deg) } }

.scn-poem-real-riches { background: linear-gradient(180deg, #1a1510 0%, #2a1a10 30%, #1a0a05 70%), radial-gradient(ellipse at 50% 80%, #c06020 0%, transparent 60%); }
.scn-poem-real-riches .bg-cave-rr     { position:absolute; inset:0; background: linear-gradient(135deg, #2a1a10 0%, #0a0500 60%, #1a1510 100%); }
.scn-poem-real-riches .cushion-rr     { position:absolute; bottom:18%; left:50%; width:120px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #6a4040 0%, #4a2020 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,0.7); }
.scn-poem-real-riches .crown-rr       { position:absolute; bottom:22%; left:50%; width:60px; height:40px; transform:translateX(-50%); background: linear-gradient(135deg, #f0d060 0%, #d09030 50%, #b07020 100%); clip-path: polygon(0% 100%, 20% 0%, 50% 20%, 80% 0%, 100% 100%, 75% 70%, 50% 85%, 25% 70%); animation: rr-crown 3s ease-in-out infinite alternate; }
.scn-poem-real-riches .gems-1-rr      { position:absolute; bottom:20%; left:40%; width:8px; height:8px; background: radial-gradient(circle, #e08040 0%, #a05020 100%); border-radius:50%; box-shadow: 0 0 12px 4px rgba(224,128,64,0.6); animation: rr-gem1 5s ease-in-out infinite; }
.scn-poem-real-riches .gems-2-rr      { position:absolute; bottom:16%; left:60%; width:12px; height:12px; background: radial-gradient(circle, #c080d0 0%, #804090 100%); border-radius:50%; box-shadow: 0 0 18px 6px rgba(192,128,208,0.5); animation: rr-gem2 7s ease-in-out infinite reverse; }
.scn-poem-real-riches .light-ray-rr   { position:absolute; top:0; left:0; right:0; bottom:0; background: radial-gradient(ellipse at 30% 20%, rgba(255,220,150,0.2) 0%, transparent 60%); animation: rr-ray 10s ease-in-out infinite alternate; }
.scn-poem-real-riches .sparkle-rr     { position:absolute; top:15%; left:65%; width:4px; height:4px; background: white; border-radius:50%; box-shadow: 0 0 10px 5px white; animation: rr-spark 2s ease-in-out infinite; }
@keyframes rr-crown  { 0% { transform:translateX(-50%) rotate(-2deg) scale(0.98) } 50% { transform:translateX(-50%) rotate(2deg) scale(1.02) } 100% { transform:translateX(-50%) rotate(-2deg) scale(0.98) } }
@keyframes rr-gem1   { 0% { opacity:0.6; transform:translateY(0) } 50% { opacity:1; transform:translateY(-4px) } 100% { opacity:0.6; transform:translateY(0) } }
@keyframes rr-gem2   { 0% { opacity:0.7; transform:translateY(0) scale(0.9) } 50% { opacity:1; transform:translateY(-6px) scale(1.1) } 100% { opacity:0.7; transform:translateY(0) scale(0.9) } }
@keyframes rr-ray    { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes rr-spark  { 0% { opacity:0; transform:scale(0) } 50% { opacity:1; transform:scale(1.5) } 100% { opacity:0; transform:scale(0) } }

.scn-poem-hope-subtle-glutton { background: linear-gradient(180deg, #7a8a8a 0%, #9aa0a0 30%, #6a7a7a 70%), radial-gradient(ellipse at 50% 100%, #5a6a6a 0%, transparent 70%); }
.scn-poem-hope-subtle-glutton .sky-hs    { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #9aa0a0 0%, #b0b8b8 50%, transparent 100%); animation: hs-sky 20s ease-in-out infinite alternate; }
.scn-poem-hope-subtle-glutton .hill-hs   { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.2); animation: hs-hill 25s ease-in-out infinite alternate; }
.scn-poem-hope-subtle-glutton .tree-hs   { position:absolute; bottom:28%; left:48%; width:40px; height:80px; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hs-tree 6s ease-in-out infinite; }
.scn-poem-hope-subtle-glutton .apple-hs  { position:absolute; bottom:52%; left:50%; width:10px; height:12px; background: radial-gradient(circle, #c08060 0%, #a06040 100%); border-radius:50%; box-shadow: 0 0 10px 2px rgba(160,96,64,0.4); animation: hs-apple 4s ease-in-out infinite alternate; }
.scn-poem-hope-subtle-glutton .cloud-hs  { position:absolute; top:15%; left:20%; width:90px; height:20px; background: linear-gradient(180deg, rgba(220,220,220,0.7) 0%, rgba(200,200,200,0.1) 100%); border-radius:50%; filter: blur(5px); animation: hs-cloud 50s linear infinite; }
.scn-poem-hope-subtle-glutton .house-hs  { position:absolute; bottom:32%; right:15%; width:50px; height:40px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: hs-house 10s ease-in-out infinite; }
.scn-poem-hope-subtle-glutton .ground-hs { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius: 20% 20% 0 0; }
@keyframes hs-sky    { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.7 } }
@keyframes hs-hill   { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }
@keyframes hs-tree   { 0% { transform:rotate(-1deg) } 50% { transform:rotate(1deg) } 100% { transform:rotate(-1deg) } }
@keyframes hs-apple  { 0% { transform:translateY(0) scale(0.9) } 50% { transform:translateY(-3px) scale(1.1) } 100% { transform:translateY(0) scale(0.9) } }
@keyframes hs-cloud  { 0% { transform:translateX(-50px) } 100% { transform:translateX(120vw) } }
@keyframes hs-house  { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }

.scn-poem-till-the-end {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a2a 40%, #1a1010 100%),
    radial-gradient(ellipse at 50% 0%, #3a2a3a 0%, transparent 70%);
}
.scn-poem-till-the-end .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2020 0%, #1a1010 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,.6);
  animation: tte-wall 20s ease-in-out infinite alternate;
}
.scn-poem-till-the-end .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a1212 0%, #0a0808 100%);
  animation: tte-floor 15s ease-in-out infinite alternate;
}
.scn-poem-till-the-end .bed {
  position: absolute; bottom: 18%; left: 20%; width: 55%; height: 35%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,.7);
  animation: tte-bed 12s ease-in-out infinite;
}
.scn-poem-till-the-end .figure-sick {
  position: absolute; bottom: 28%; left: 38%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tte-sick 5s ease-in-out infinite;
}
.scn-poem-till-the-end .figure-vigil {
  position: absolute; bottom: 22%; right: 18%; width: 12%; height: 34%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tte-vigil 7s ease-in-out infinite;
}
.scn-poem-till-the-end .candle {
  position: absolute; bottom: 34%; left: 25%; width: 2%; height: 12%;
  background: linear-gradient(180deg, #e8d0a0 0%, #a08050 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 4px rgba(232,208,160,.6);
  animation: tte-candle 3s ease-in-out infinite alternate;
}
.scn-poem-till-the-end .candle-glow {
  position: absolute; bottom: 34%; left: 24%; width: 6%; height: 14%;
  background: radial-gradient(ellipse, rgba(232,208,160,.4) 0%, transparent 100%);
  filter: blur(8px);
  animation: tte-glow 4s ease-in-out infinite alternate;
}
@keyframes tte-wall {
  0% { opacity: .9; }
  50% { opacity: 1; }
  100% { opacity: .85; }
}
@keyframes tte-floor {
  0% { background-position: 0 0; }
  100% { background-position: 20px 0; }
}
@keyframes tte-bed {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes tte-sick {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tte-vigil {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-3px) rotate(-1deg); }
  60% { transform: translateY(0) rotate(1deg); }
}
@keyframes tte-candle {
  0% { opacity: .7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: .8; transform: scaleY(0.95); }
}
@keyframes tte-glow {
  0% { opacity: .5; transform: scale(1); }
  100% { opacity: .8; transform: scale(1.2); }
}

.scn-poem-void {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a202a 100%),
    radial-gradient(ellipse at 50% 100%, #2a3040 0%, transparent 60%);
}
.scn-poem-void .sky-void {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 60%, transparent 100%);
  animation: vod-sky 30s ease-in-out infinite alternate;
}
.scn-poem-void .street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,.5);
  animation: vod-street 25s linear infinite;
}
.scn-poem-void .building-left {
  position: absolute; bottom: 45%; left: 0; width: 30%; height: 40%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.6);
  animation: vod-build 40s ease-in-out infinite alternate;
}
.scn-poem-void .building-right {
  position: absolute; bottom: 45%; right: 0; width: 35%; height: 35%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.6);
  animation: vod-build 40s ease-in-out infinite alternate-reverse;
}
.scn-poem-void .clock {
  position: absolute; bottom: 55%; left: 50%; width: 8%; height: 12%;
  transform: translateX(-50%);
  background: radial-gradient(circle, #4a4a5a 30%, #2a2a3a 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,.5);
  animation: vod-clock 15s ease-in-out infinite;
}
.scn-poem-void .lonely-figure {
  position: absolute; bottom: 22%; left: 48%; width: 4%; height: 18%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: vod-fig 8s ease-in-out infinite;
}
@keyframes vod-sky {
  0% { opacity: .7; }
  50% { opacity: .9; }
  100% { opacity: .6; }
}
@keyframes vod-street {
  0% { background-position: 0 0; }
  100% { background-position: -100px 0; }
}
@keyframes vod-build {
  0% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}
@keyframes vod-clock {
  0%, 100% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(5deg) scale(1.02); }
}
@keyframes vod-fig {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.scn-poem-i-think-just-how-my-shape {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #b0a0c0 30%, #7a8a9a 100%),
    radial-gradient(ellipse at 50% 0%, #f8e8c8 0%, transparent 60%);
}
.scn-poem-i-think-just-how-my-shape .dawn-sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #f8e0c0 0%, #c8b8d8 50%, transparent 100%);
  animation: shp-sky 30s ease-in-out infinite alternate;
}
.scn-poem-i-think-just-how-my-shape .sun {
  position: absolute; top: 10%; right: 30%; width: 12%; height: 16%;
  background: radial-gradient(circle, #ffe8b0 0%, #f0d090 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,232,176,.5), 0 0 120px 40px rgba(240,208,144,.3);
  animation: shp-sun 20s ease-in-out infinite alternate;
}
.scn-poem-i-think-just-how-my-shape .cloud-bank {
  position: absolute; top: 25%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, rgba(200,180,220,.6) 0%, rgba(200,180,220,.1) 100%);
  filter: blur(10px);
  border-radius: 50%;
  animation: shp-cloud 40s linear infinite;
}
.scn-poem-i-think-just-how-my-shape .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a8a6a 0%, #5a6a4a 100%);
  border-radius: 30% 60% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.2);
  animation: shp-field 18s ease-in-out infinite alternate;
}
.scn-poem-i-think-just-how-my-shape .rising-figure {
  position: absolute; bottom: 20%; left: 48%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: shp-fig 12s ease-in-out infinite;
}
.scn-poem-i-think-just-how-my-shape .rays {
  position: absolute; top: 12%; left: 28%; width: 20%; height: 25%;
  background: linear-gradient(135deg, rgba(255,232,176,.3) 0%, transparent 100%);
  filter: blur(6px);
  animation: shp-rays 8s ease-in-out infinite alternate;
}
.scn-poem-i-think-just-how-my-shape .sparrow {
  position: absolute; bottom: 30%; left: 35%; width: 4%; height: 3%;
  background: radial-gradient(circle, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 50%;
  animation: shp-bird 5s ease-in-out infinite;
}
@keyframes shp-sky {
  0% { opacity: .8; }
  100% { opacity: 1; }
}
@keyframes shp-sun {
  0% { transform: translateY(0) scale(1); opacity: .9; }
  50% { transform: translateY(-5px) scale(1.05); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: .9; }
}
@keyframes shp-cloud {
  0% { transform: translateX(-20%); }
  100% { transform: translateX(100vw); }
}
@keyframes shp-field {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.02) translateY(-2px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes shp-fig {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-4px) rotate(2deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  75% { transform: translateY(-6px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes shp-rays {
  0% { opacity: .3; transform: rotate(0deg); }
  100% { opacity: .7; transform: rotate(10deg); }
}
@keyframes shp-bird {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.1); }
}

.scn-poem-the-forgotten-grave {
  background:
    linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 30%, #3a4a3a 100%),
    radial-gradient(ellipse at 50% 100%, #5a6a5a 0%, transparent 70%);
}
.scn-poem-the-forgotten-grave .overcast-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 60%, #3a4a3a 100%);
  animation: grv-sky 40s ease-in-out infinite alternate;
}
.scn-poem-the-forgotten-grave .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%);
  border-radius: 20% 40% 0 0 / 30% 50% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.4);
  animation: grv-ground 25s ease-in-out infinite alternate;
}
.scn-poem-the-forgotten-grave .gravestone {
  position: absolute; bottom: 20%; left: 50%; width: 12%; height: 28%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.5);
  animation: grv-stone 18s ease-in-out infinite;
}
.scn-poem-the-forgotten-grave .weeds {
  position: absolute; bottom: 22%; left: 30%; width: 20%; height: 20%;
  background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%);
  clip-path: polygon(20% 100%, 40% 10%, 60% 100%, 80% 20%, 100% 100%);
  border-radius: 0;
  animation: grv-weeds 14s ease-in-out infinite alternate;
}
.scn-poem-the-forgotten-grave .path {
  position: absolute; bottom: 0; left: 40%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,.3);
  animation: grv-path 30s linear infinite;
}
.scn-poem-the-forgotten-grave .distant-tree {
  position: absolute; bottom: 30%; right: 10%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: grv-tree 20s ease-in-out infinite alternate;
}
.scn-poem-the-forgotten-grave .moss {
  position: absolute; bottom: 18%; left: 54%; width: 6%; height: 4%;
  background: radial-gradient(circle, #5a7a5a 0%, #3a5a3a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: grv-moss 8s ease-in-out infinite alternate;
}
@keyframes grv-sky {
  0% { opacity: .8; }
  50% { opacity: .95; }
  100% { opacity: .75; }
}
@keyframes grv-ground {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.01) translateY(-1px); }
  100% { transform: scaleY(1); }
}
@keyframes grv-stone {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) translateY(-2px); }
}
@keyframes grv-weeds {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes grv-path {
  0% { background-position: 0 0; }
  100% { background-position: 0 20px; }
}
@keyframes grv-tree {
  0% { transform: rotate(-3deg); }
  100% { transform: rotate(3deg); }
}
@keyframes grv-moss {
  0% { opacity: .6; transform: scale(1); }
  100% { opacity: .9; transform: scale(1.15); }
}

.scn-poem-a-word { background: linear-gradient(180deg, #b0b8c0 0%, #d0d4d8 40%, #bcc2c8 100%), radial-gradient(ellipse at 50% 30%, #dce0e4 0%, transparent 60%); }
.scn-poem-a-word .page-left { position:absolute; top:15%; left:5%; width:40%; height:65%; background: linear-gradient(135deg, #e8e4dc 0%, #f2eee6 50%, #dcd6ce 100%); border-radius: 0 4px 4px 0; box-shadow: inset 0 1px 6px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.12); transform: perspective(600px) rotateY(2deg); transform-origin: left center; animation: pa-page 8s ease-in-out infinite; }
.scn-poem-a-word .page-right { position:absolute; top:15%; right:5%; width:40%; height:65%; background: linear-gradient(225deg, #f2eee6 0%, #e8e4dc 50%, #dcd6ce 100%); border-radius: 4px 0 0 4px; box-shadow: inset 0 1px 6px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.12); transform: perspective(600px) rotateY(-3deg); transform-origin: right center; animation: pa-page 8s ease-in-out infinite reverse; }
.scn-poem-a-word .spine { position:absolute; top:15%; left:50%; width:4px; height:65%; transform: translateX(-50%); background: linear-gradient(180deg, #8a7e72 0%, #6a5e52 50%, #8a7e72 100%); border-radius: 2px; }
.scn-poem-a-word .word-bird { position:absolute; top:38%; left:50%; width:40px; height:24px; transform: translate(-50%,-50%); background: radial-gradient(ellipse 70% 60% at 60% 50%, #5a6e7a 0%, #3a4e5a 100%); border-radius: 60% 20% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: pa-bird 6s ease-in-out infinite; }
.scn-poem-a-word .word-echo { position:absolute; top:38%; left:50%; width:50px; height:30px; transform: translate(-50%,-50%); background: radial-gradient(ellipse 50% 40% at 50% 50%, rgba(100,130,150,.2) 0%, transparent 100%); border-radius: 50%; animation: pa-echo 6s ease-in-out infinite 2s; }
.scn-poem-a-word .light-soft { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(255,255,230,.15) 0%, transparent 70%); pointer-events:none; animation: pa-light 12s ease-in-out infinite alternate; }
.scn-poem-a-word .dust { position:absolute; width:4px; height:4px; background: rgba(200,200,180,.3); border-radius: 50%; filter: blur(1px); animation: pa-dust 20s linear infinite; }
.scn-poem-a-word .motes { position:absolute; width:3px; height:3px; background: rgba(200,200,180,.2); border-radius: 50%; filter: blur(1px); top:20%; left:30%; animation: pa-motes 25s linear infinite 5s; }
@keyframes pa-page { 0% { transform: perspective(600px) rotateY(2deg); } 50% { transform: perspective(600px) rotateY(-1deg); } 100% { transform: perspective(600px) rotateY(2deg); } }
@keyframes pa-bird { 0% { transform: translate(-50%,-50%) translateX(0) scale(1); opacity:.9; } 25% { transform: translate(-50%,-40%) translateX(8px) scale(1.05); } 50% { transform: translate(-50%,-50%) translateX(-2px) scale(.95); opacity:1; } 75% { transform: translate(-50%,-45%) translateX(6px) scale(1.02); } 100% { transform: translate(-50%,-50%) translateX(0) scale(1); opacity:.9; } }
@keyframes pa-echo { 0% { transform: translate(-50%,-50%) scale(.8); opacity:0; } 25% { opacity:.3; } 50% { transform: translate(-50%,-50%) scale(1.2); opacity:.1; } 75% { opacity:.2; } 100% { transform: translate(-50%,-50%) scale(.8); opacity:0; } }
@keyframes pa-light { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes pa-dust { 0% { transform: translate(0, 0); opacity:0; } 50% { opacity:.5; } 100% { transform: translate(120px, -40px); opacity:0; } }
@keyframes pa-motes { 0% { transform: translate(0, 0); opacity:0; } 50% { opacity:.3; } 100% { transform: translate(-60px, 30px); opacity:0; } }

.scn-poem-lifes-trades { background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 40%, #0a1a2a 100%), radial-gradient(ellipse at 50% 60%, #3a5a6a 0%, transparent 80%); }
.scn-poem-lifes-trades .water-deep { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 60%, #050f15 100%); border-radius: 0 0 30% 30% / 0 0 60% 60%; transform: scaleY(.95); }
.scn-poem-lifes-trades .water-surface { position:absolute; top:45%; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(60,90,110,.5) 0%, rgba(20,40,60,.3) 100%); border-radius: 60% 40% 60% 40% / 40% 60% 40% 60%; animation: pt-surface 4s ease-in-out infinite alternate; }
.scn-poem-lifes-trades .drowning-figure { position:absolute; bottom:30%; left:50%; width:24px; height:50px; transform: translateX(-50%); background: linear-gradient(180deg, #2a3a4a 0%, #0a1a2a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; animation: pt-figure 6s ease-in-out infinite; }
.scn-poem-lifes-trades .bubble { position:absolute; width:10px; height:10px; background: radial-gradient(circle, rgba(180,200,220,.3) 0%, transparent 70%); border-radius: 50%; animation: pt-bubble 5s ease-in infinite; }
.scn-poem-lifes-trades .bubble-1 { bottom:45%; left:35%; }
.scn-poem-lifes-trades .bubble-2 { bottom:50%; left:55%; animation-delay:2s; animation-duration:7s; }
.scn-poem-lifes-trades .light-above { position:absolute; top:5%; left:30%; width:40%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(200,220,240,.15) 0%, transparent 70%); border-radius: 50%; animation: pt-light 8s ease-in-out infinite alternate; }
.scn-poem-lifes-trades .ripple { position:absolute; left:50%; width:60px; height:10px; transform: translateX(-50%); background: transparent; border: 1px solid rgba(100,130,150,.15); border-radius: 50%; animation: pt-ripple 4s linear infinite; }
.scn-poem-lifes-trades .ripple-1 { top:40%; border-width:2px; animation-delay:0s; }
.scn-poem-lifes-trades .ripple-2 { top:42%; border-width:1px; animation-delay:1.5s; animation-duration:5s; }
@keyframes pt-surface { 0% { transform: translateY(0) scaleY(1); opacity:.5; } 50% { transform: translateY(-3px) scaleY(1.05); opacity:.7; } 100% { transform: translateY(0) scaleY(1); opacity:.5; } }
@keyframes pt-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-50%) translateY(-5px) rotate(2deg); } 60% { transform: translateX(-50%) translateY(-10px) rotate(-3deg); } 100% { transform: translateX(-50%) translateY(5px) rotate(0deg); } }
@keyframes pt-bubble { 0% { transform: translateY(0) scale(.8); opacity:.6; } 50% { transform: translateY(-30px) scale(1.2); opacity:.3; } 100% { transform: translateY(-80px) scale(.6); opacity:0; } }
@keyframes pt-light { 0% { opacity:.2; } 50% { opacity:.5; } 100% { opacity:.3; } }
@keyframes pt-ripple { 0% { transform: translateX(-50%) scale(.5); opacity:.4; } 100% { transform: translateX(-50%) scale(1.5); opacity:0; } }

.scn-poem-how-still-the-bells { background: linear-gradient(180deg, #8898a0 0%, #a0b0b8 40%, #b8c8d0 100%), radial-gradient(ellipse at 50% 80%, #c0d0d8 0%, transparent 70%); }
.scn-poem-how-still-the-bells .tower-wall { position:absolute; bottom:0; left:30%; width:40%; height:75%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.1); }
.scn-poem-how-still-the-bells .tower-roof { position:absolute; bottom:75%; left:28%; width:44%; height:15%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); border-radius: 2px; }
.scn-poem-how-still-the-bells .bell { position:absolute; bottom:60%; width:30px; height:35px; background: radial-gradient(ellipse 70% 80% at 50% 50%, #c0b080 0%, #8a7a5a 60%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: pb-bell 3s ease-in-out infinite; }
.scn-poem-how-still-the-bells .bell-left { left:35%; animation-delay:0s; }
.scn-poem-how-still-the-bells .bell-right { right:35%; animation-delay:1s; animation-duration:3.5s; }
.scn-poem-how-still-the-bells .bell-clapper { position:absolute; bottom:58%; left:50%; width:8px; height:14px; transform: translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30%; animation: pb-clapper 1.5s ease-in-out infinite; }
.scn-poem-how-still-the-bells .window-arch { position:absolute; bottom:50%; left:50%; width:40px; height:50px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 60%, #b8c8d0 0%, #8898a0 100%); border-radius: 50% 50% 0 0; box-shadow: inset 0 0 8px rgba(0,0,0,.2); }
.scn-poem-how-still-the-bells .cloud-sky { position:absolute; top:5%; left:10%; width:80%; height:20%; background: linear-gradient(90deg, rgba(200,210,220,.4) 0%, transparent 50%, rgba(200,210,220,.2) 100%); border-radius: 50%; filter: blur(10px); animation: pb-cloud 30s linear infinite; }
@keyframes pb-bell { 0% { transform: rotate(0deg); } 25% { transform: rotate(4deg); } 50% { transform: rotate(-3deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes pb-clapper { 0% { transform: translateX(-50%) rotate(0deg); } 20% { transform: translateX(-50%) rotate(8deg); } 40% { transform: translateX(-50%) rotate(-6deg); } 60% { transform: translateX(-50%) rotate(4deg); } 80% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes pb-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(-120px); } }

.scn-poem-a-syllable { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%); }
.scn-poem-a-syllable .wall-left { position:absolute; top:0; left:0; width:30%; height:100%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); box-shadow: inset -10px 0 30px rgba(0,0,0,.3); }
.scn-poem-a-syllable .wall-right { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); box-shadow: inset 10px 0 30px rgba(0,0,0,.3); }
.scn-poem-a-syllable .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); }
.scn-poem-a-syllable .door { position:absolute; bottom:15%; left:50%; width:70px; height:110px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 -4px 12px rgba(0,0,0,.4), 0 0 0 2px #5a4a3a; }
.scn-poem-a-syllable .figure-profile { position:absolute; bottom:22%; left:40%; width:20px; height:45px; background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: ps-figure 6s ease-in-out infinite; }
.scn-poem-a-syllable .candle { position:absolute; bottom:28%; left:55%; width:8px; height:24px; background: linear-gradient(180deg, #e8dcc8 0%, #b8a898 100%); border-radius: 2px 2px 4px 4px; animation: ps-candle 4s ease-in-out infinite; }
.scn-poem-a-syllable .candle-glow { position:absolute; bottom:34%; left:55%; width:30px; height:30px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(255,200,100,.4) 0%, rgba(255,200,100,.1) 40%, transparent 70%); border-radius: 50%; animation: ps-glow 3s ease-in-out infinite alternate; }
.scn-poem-a-syllable .whisper-shape { position:absolute; top:35%; left:50%; width:60px; height:40px; transform: translate(-50%,-50%); background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(180,160,140,.2) 0%, transparent 100%); border-radius: 50%; animation: ps-whisper 8s ease-in-out infinite; }
@keyframes ps-figure { 0% { transform: scaleX(-1) translateY(0); } 50% { transform: scaleX(-1) translateY(-3px); } 100% { transform: scaleX(-1) translateY(0); } }
@keyframes ps-candle { 0% { transform: scaleY(1); opacity:1; } 25% { transform: scaleY(1.05); } 50% { transform: scaleY(.95); } 75% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes ps-glow { 0% { opacity:.3; transform: translate(-50%,-50%) scale(.9); } 50% { opacity:.7; transform: translate(-50%,-50%) scale(1.1); } 100% { opacity:.4; transform: translate(-50%,-50%) scale(1); } }
@keyframes ps-whisper { 0% { opacity:0; transform: translate(-50%,-50%) scale(.5); } 30% { opacity:.5; transform: translate(-50%,-50%) scale(1.1); } 60% { opacity:.2; transform: translate(-50%,-50%) scale(.9); } 100% { opacity:0; transform: translate(-50%,-50%) scale(.6); } }

/* scene 1: poem-i-cannot-live-with-you — dim interior, dark mood */
.scn-poem-i-cannot-live-with-you {
  background:
    linear-gradient(180deg, #1e1a38 0%, #2c1e2e 40%, #3a2520 80%, #1f1510 100%),
    radial-gradient(ellipse at 50% 100%, #2a1a18 0%, transparent 70%);
}
.scn-poem-i-cannot-live-with-you .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a2230 0%, #1a1418 100%); animation: cl-wall 20s ease-in-out infinite alternate;
}
.scn-poem-i-cannot-live-with-you .shelf {
  position: absolute; bottom: 42%; left: 10%; right: 10%; height: 6px; background: #5a3a28; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: cl-shelf 8s ease-in-out infinite;
}
.scn-poem-i-cannot-live-with-you .cup {
  position: absolute; bottom: 44%; left: 35%; width: 28px; height: 34px; background: linear-gradient(180deg, #b58560 0%, #9a6a42 60%, #6a3a1a 100%); border-radius: 6px 6px 30% 30%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.3); transform-origin: bottom center; animation: cl-cup 5s ease-in-out infinite;
}
.scn-poem-i-cannot-live-with-you .shard {
  position: absolute; bottom: 43%; left: 48%; width: 12px; height: 20px; background: #b58560; border-radius: 2px 6px 2px 6px; transform: rotate(30deg); box-shadow: 0 0 4px rgba(0,0,0,.3); animation: cl-shard 7s ease-in-out infinite;
}
.scn-poem-i-cannot-live-with-you .key {
  position: absolute; bottom: 44%; left: 58%; width: 20px; height: 6px; background: #c0a060; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: cl-key 9s linear infinite;
}
.scn-poem-i-cannot-live-with-you .figure {
  position: absolute; bottom: 38%; left: 20%; width: 22px; height: 50px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cl-figure 6s ease-in-out infinite;
}
.scn-poem-i-cannot-live-with-you .shadow-fill {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(0deg, #0f0b0c 0%, transparent 100%); animation: cl-shadow 12s ease-in-out infinite alternate;
}
@keyframes cl-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes cl-shelf { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.1) } }
@keyframes cl-cup { 0% { transform: rotate(0deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-1px) } 50% { transform: rotate(0deg) translateY(0) } 75% { transform: rotate(-2deg) translateY(-1px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes cl-shard { 0%,100% { transform: rotate(30deg) translateY(0); opacity:.7 } 50% { transform: rotate(20deg) translateY(-2px); opacity:1 } }
@keyframes cl-key { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(5deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-3px) rotate(-5deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cl-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg) } 50% { transform: translateX(2px) translateY(-2px) rotate(1deg) } }
@keyframes cl-shadow { 0% { opacity:.6 } 100% { opacity:1 } }

/* scene 2: poem-there-came-a-day-reprise — sunlit, warm mood */
.scn-poem-there-came-a-day-reprise {
  background:
    linear-gradient(180deg, #87ceeb 0%, #b0e0ff 30%, #f0e68c 70%, #ffd700 100%),
    radial-gradient(ellipse at 50% 0%, #ffe066 0%, transparent 50%);
}
.scn-poem-there-came-a-day-reprise .sky-sunlit {
  position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, #a0d8ef 0%, #ffe082 100%); animation: td-sky 12s ease-in-out infinite alternate;
}
.scn-poem-there-came-a-day-reprise .sun {
  position: absolute; top: 12%; left: 60%; width: 50px; height: 50px; background: radial-gradient(circle, #fff5b0 0%, #ffd700 60%, #ffa500 100%); border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,200,50,.5), 0 0 120px 60px rgba(255,200,50,.2); animation: td-sun 20s ease-in-out infinite alternate;
}
.scn-poem-there-came-a-day-reprise .field {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 45%; background: linear-gradient(180deg, #7ccd7c 0%, #3cb371 60%, #2e8b57 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 10px 30px rgba(0,50,0,.3);
}
.scn-poem-there-came-a-day-reprise .flower-a {
  position: absolute; bottom: 28%; left: 15%; width: 8px; height: 16px; background: #ff6347; border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: td-flower 3s ease-in-out infinite;
}
.scn-poem-there-came-a-day-reprise .flower-b {
  position: absolute; bottom: 30%; left: 30%; width: 6px; height: 14px; background: #ffa07a; border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: td-flower 3.5s ease-in-out infinite -1s;
}
.scn-poem-there-came-a-day-reprise .figure-walk {
  position: absolute; bottom: 25%; left: 45%; width: 16px; height: 40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: td-walk 4s ease-in-out infinite;
}
@keyframes td-sky { 0% { opacity:.9 } 100% { opacity:1 } }
@keyframes td-sun { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 60px 30px rgba(255,200,50,.5); } 100% { transform: translateY(-5px) scale(1.05); box-shadow: 0 0 80px 40px rgba(255,200,50,.6); } }
@keyframes td-flower { 0%,100% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(5deg) scaleY(1.1) } }
@keyframes td-walk { 0% { transform: translateX(0) translateY(0) rotate(-3deg) } 25% { transform: translateX(5px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(-2deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(3deg) } 100% { transform: translateX(20px) translateY(0) rotate(0deg) } }

/* scene 3: poem-im-ceded — dawn, calm mood */
.scn-poem-im-ceded {
  background:
    linear-gradient(180deg, #6a5acd 0%, #9370db 30%, #e6e6fa 60%, #fff5ee 100%),
    radial-gradient(ellipse at 50% 100%, #fffaf0 0%, transparent 70%);
}
.scn-poem-im-ceded .dawn-sky {
  position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #b0a0ef 0%, #f5deb3 100%); animation: ic-dawn 15s ease-in-out infinite alternate;
}
.scn-poem-im-ceded .church-window {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%); width: 80px; height: 100px; background: #4a3a5a; border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: inset 0 0 20px rgba(0,0,0,.5);
}
.scn-poem-im-ceded .font {
  position: absolute; bottom: 20%; left: 43%; width: 40px; height: 20px; background: #8b7355; border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-poem-im-ceded .water {
  position: absolute; bottom: 22%; left: 44.5%; width: 34px; height: 8px; background: linear-gradient(90deg, #87ceeb 0%, #b0e0ff 100%); border-radius: 50%; animation: ic-water 4s ease-in-out infinite alternate;
}
.scn-poem-im-ceded .dove {
  position: absolute; top: 25%; left: 45%; width: 24px; height: 18px; background: #f0e0c0; border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-15deg); animation: ic-dove 8s ease-in-out infinite;
}
.scn-poem-im-ceded .figure-profile {
  position: absolute; bottom: 15%; left: 35%; width: 18px; height: 45px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ic-figure 10s ease-in-out infinite alternate;
}
@keyframes ic-dawn { 0% { opacity:.7 } 100% { opacity:1 } }
@keyframes ic-water { 0% { transform: scaleY(1) translateY(0); opacity:.8 } 100% { transform: scaleY(1.1) translateY(-1px); opacity:1 } }
@keyframes ic-dove { 0%,100% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-4px) } }
@keyframes ic-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }

/* scene 4: poem-twas-a-long-parting — moonlit, warm mood */
.scn-poem-twas-a-long-parting {
  background:
    linear-gradient(180deg, #0b0b2e 0%, #1a1a4e 40%, #2a2a5e 70%, #3a3a7e 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a5e 0%, transparent 70%);
}
.scn-poem-twas-a-long-parting .night-sky {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #0f0f3a 0%, #202060 100%); animation: lp-night 20s ease-in-out infinite alternate;
}
.scn-poem-twas-a-long-parting .moon {
  position: absolute; top: 15%; left: 60%; width: 60px; height: 60px; background: radial-gradient(circle, #fffde0 0%, #ffd700 60%, #dea520 100%); border-radius: 50%; box-shadow: 0 0 80px 30px rgba(255,215,0,.4), 0 0 150px 60px rgba(255,215,0,.15); animation: lp-moon 25s ease-in-out infinite alternate;
}
.scn-poem-twas-a-long-parting .star-field {
  position: absolute; top: 0; left: 0; right: 0; bottom: 60%; background: transparent;
  box-shadow:
    10px 20px 0 2px #fff, 40px 50px 0 1px #fff, 80px 10px 0 1px #fff, 120px 80px 0 2px #fff, 160px 30px 0 1px #fff,
    200px 70px 0 2px #fff, 240px 20px 0 1px #fff, 280px 90px 0 2px #fff, 320px 40px 0 1px #fff;
  animation: lp-stars 50s linear infinite;
}
.scn-poem-twas-a-long-parting .figure-left {
  position: absolute; bottom: 25%; left: 30%; width: 20px; height: 50px; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lp-figure-l 6s ease-in-out infinite alternate;
}
.scn-poem-twas-a-long-parting .figure-right {
  position: absolute; bottom: 25%; right: 30%; width: 20px; height: 50px; background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lp-figure-r 6s ease-in-out infinite alternate 2s;
}
.scn-poem-twas-a-long-parting .halo {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%); width: 60px; height: 60px; background: radial-gradient(circle, rgba(255,215,0,0.3) 0%, transparent 70%); border-radius: 50%; animation: lp-halo 4s ease-in-out infinite alternate;
}
.scn-poem-twas-a-long-parting .bridge-light {
  position: absolute; bottom: 30%; left: 45%; right: 45%; height: 4px; background: linear-gradient(90deg, transparent, #ffd700, transparent); border-radius: 2px; animation: lp-bridge 8s ease-in-out infinite;
}
@keyframes lp-night { 0% { opacity:.9 } 100% { opacity:1 } }
@keyframes lp-moon { 0% { transform: scale(1) translateY(0); box-shadow: 0 0 80px 30px rgba(255,215,0,.4); } 100% { transform: scale(1.05) translateY(-3px); box-shadow: 0 0 100px 40px rgba(255,215,0,.5); } }
@keyframes lp-stars { 0% { transform: translateY(0) } 100% { transform: translateY(20px) } }
@keyframes lp-figure-l { 0% { transform: translateX(0) rotate(-2deg) } 100% { transform: translateX(3px) rotate(2deg) } }
@keyframes lp-figure-r { 0% { transform: translateX(0) rotate(2deg) } 100% { transform: translateX(-3px) rotate(-2deg) } }
@keyframes lp-halo { 0% { transform: translateX(-50%) scale(1); opacity:.6 } 100% { transform: translateX(-50%) scale(1.2); opacity:1 } }
@keyframes lp-bridge { 0%,100% { opacity:.3; transform: scaleX(0.8) } 50% { opacity:.8; transform: scaleX(1.2) } }

.scn-poem-south-winds-jostle {
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 30%, #FFD700 60%, #FFA500 75%, #228B22 100%);
}
.scn-poem-south-winds-jostle .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%);
  animation: s01-sky 12s ease-in-out infinite alternate;
}
.scn-poem-south-winds-jostle .sun-glow {
  position: absolute; top: 20%; left: 45%; width: 80px; height: 80px;
  background: radial-gradient(circle, #FFF8DC 0%, #FFD700 40%, transparent 70%);
  border-radius: 50%;
  animation: s01-glow 6s ease-in-out infinite alternate;
}
.scn-poem-south-winds-jostle .daffodil-field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #FFD700 0%, #FFA500 30%, #228B22 100%);
  border-radius: 80% 80% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.2);
  animation: s01-field 15s ease-in-out infinite alternate;
}
.scn-poem-south-winds-jostle .butterfly {
  position: absolute; width: 20px; height: 16px;
  background: radial-gradient(ellipse at 50% 50%, #FF6347 0%, #FF4500 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  animation: s01-bfly 4s ease-in-out infinite;
}
.scn-poem-south-winds-jostle .butterfly.b1 { left: 30%; top: 30%; animation-delay: 0s; }
.scn-poem-south-winds-jostle .butterfly.b2 { left: 60%; top: 40%; animation-delay: -1.2s; transform: scaleX(-1); }
.scn-poem-south-winds-jostle .bee {
  position: absolute; top: 35%; left: 50%; width: 12px; height: 10px;
  background: #333; border-radius: 50%;
  animation: s01-bee 5s ease-in-out infinite;
  box-shadow: 0 0 4px rgba(255,215,0,0.6);
}
@keyframes s01-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes s01-glow { 0% { opacity:0.6; transform: scale(0.95) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:0.7; transform: scale(1) } }
@keyframes s01-field { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes s01-bfly { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 25% { transform: translate(15px,-20px) rotate(20deg) scale(1.1) } 50% { transform: translate(30px,0) rotate(-10deg) scale(1) } 75% { transform: translate(15px,15px) rotate(10deg) scale(0.9) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes s01-bee { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(20px,-10px) rotate(10deg) } 50% { transform: translate(40px,0) rotate(-5deg) } 75% { transform: translate(20px,10px) rotate(5deg) } 100% { transform: translate(0,0) rotate(0deg) } }

.scn-poem-like-mighty-footlights {
  background: linear-gradient(180deg, #FF7F50 0%, #FF4500 40%, #8B0000 70%, #2F1E0E 100%);
}
.scn-poem-like-mighty-footlights .sky-sunset {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #FF8C00 0%, #FF4500 60%, transparent 100%);
  animation: s02-sky 10s ease-in-out infinite alternate;
}
.scn-poem-like-mighty-footlights .forest-bg {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2F1E0E 0%, #1A1108 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  animation: s02-forest 12s ease-in-out infinite alternate;
}
.scn-poem-like-mighty-footlights .tree {
  position: absolute; bottom: 20%; width: 30px; height: 100px;
  background: linear-gradient(180deg, #1A1108 0%, #0D0804 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform-origin: bottom center;
}
.scn-poem-like-mighty-footlights .tree-left { left: 25%; animation: s02-tree-l 6s ease-in-out infinite; }
.scn-poem-like-mighty-footlights .tree-right { right: 25%; animation: s02-tree-r 6s ease-in-out infinite; }
.scn-poem-like-mighty-footlights .footlight-glow {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 40px;
  background: radial-gradient(circle, #FFD700 0%, #FF8C00 50%, transparent 80%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: s02-glow 4s ease-in-out infinite alternate;
}
.scn-poem-like-mighty-footlights .figure-silhouette {
  position: absolute; bottom: 22%; left: 50%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1A1108 0%, #0D0804 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform: translateX(-50%);
  animation: s02-fig 8s ease-in-out infinite;
}
@keyframes s02-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes s02-forest { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes s02-tree-l { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-3deg) } }
@keyframes s02-tree-r { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } }
@keyframes s02-glow { 0% { opacity:0.5; transform: translateX(-50%) scale(0.9) } 50% { opacity:1; transform: translateX(-50%) scale(1.2) } 100% { opacity:0.6; transform: translateX(-50%) scale(1) } }
@keyframes s02-fig { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) } }

.scn-poem-bring-me-the-sunset {
  background: linear-gradient(180deg, #FF6347 0%, #FF8C00 30%, #FFD700 60%, #FFF8DC 100%);
}
.scn-poem-bring-me-the-sunset .sky-sunset {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #FF8C00 0%, #FFD700 50%, transparent 100%);
  animation: s03-sky 14s ease-in-out infinite alternate;
}
.scn-poem-bring-me-the-sunset .cottage {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 90px;
  background: linear-gradient(180deg, #A0522D 0%, #5C3317 100%);
  border-radius: 10% 10% 5% 5%;
  transform: translateX(-50%);
  box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  animation: s03-cottage 10s ease-in-out infinite alternate;
}
.scn-poem-bring-me-the-sunset .cottage-window {
  position: absolute; bottom: 35%; left: 50%; width: 20px; height: 24px;
  background: radial-gradient(circle, #444 0%, #222 100%);
  border: 2px solid #5C3317;
  border-radius: 4px;
  transform: translate(-50%, -50%);
  animation: s03-window 8s ease-in-out infinite;
}
.scn-poem-bring-me-the-sunset .rainbow {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, red, orange, yellow, green, blue, indigo, violet);
  opacity: 0.4;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  filter: blur(8px);
  animation: s03-rainbow 20s ease-in-out infinite alternate;
}
.scn-poem-bring-me-the-sunset .clouds {
  position: absolute; top: 10%; left: 20%; width: 80px; height: 20px;
  background: rgba(255,255,255,0.6);
  border-radius: 50%;
  filter: blur(6px);
  animation: s03-cloud 30s linear infinite;
}
.scn-poem-bring-me-the-sunset .door {
  position: absolute; bottom: 22%; left: 50%; width: 18px; height: 28px;
  background: #2F1E0E;
  border-radius: 2px;
  transform: translateX(-50%);
  animation: s03-door 6s ease-in-out infinite alternate;
}
@keyframes s03-sky { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes s03-cottage { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } 100% { transform: translateX(-50%) scale(1) } }
@keyframes s03-window { 0%,100% { opacity:0.7 } 50% { opacity:0.3 } }
@keyframes s03-rainbow { 0% { opacity:0.2; filter: blur(10px) } 50% { opacity:0.5; filter: blur(6px) } 100% { opacity:0.3; filter: blur(8px) } }
@keyframes s03-cloud { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes s03-door { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(-2deg) } }

.scn-poem-farther-in-summer {
  background: linear-gradient(180deg, #191970 0%, #2F4F4F 40%, #556B2F 80%, #3B5323 100%);
}
.scn-poem-farther-in-summer .dusk-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #191970 0%, #2F4F4F 100%);
  animation: s04-sky 18s ease-in-out infinite alternate;
}
.scn-poem-farther-in-summer .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #556B2F 0%, #3B5323 100%);
  border-radius: 60% 40% 0 0 / 40% 60% 0 0;
  animation: s04-field 20s ease-in-out infinite alternate;
}
.scn-poem-farther-in-summer .moon {
  position: absolute; top: 10%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #FFF8DC 0%, #F0E68C 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,248,220,0.3);
  animation: s04-moon 12s ease-in-out infinite alternate;
}
.scn-poem-farther-in-summer .cricket-a,
.scn-poem-farther-in-summer .cricket-b {
  position: absolute; width: 6px; height: 10px;
  background: #2F4F4F;
  border-radius: 50% 50% 30% 30%;
  animation: s04-cricket 3s ease-in-out infinite;
}
.scn-poem-farther-in-summer .cricket-a { top: 60%; left: 30%; animation-delay: 0s; }
.scn-poem-farther-in-summer .cricket-b { top: 70%; left: 60%; animation-delay: -1s; }
.scn-poem-farther-in-summer .stars {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 20%;
  background: radial-gradient(1px 1px at 20% 30%, white 0%, transparent 100%),
              radial-gradient(1.5px 1.5px at 60% 70%, white 0%, transparent 100%),
              radial-gradient(1px 1px at 80% 20%, white 0%, transparent 100%),
              radial-gradient(1px 1px at 40% 80%, white 0%, transparent 100%);
  background-size: 100% 100%;
  animation: s04-stars 30s linear infinite;
}
.scn-poem-farther-in-summer .firefly {
  position: absolute; top: 55%; left: 40%; width: 4px; height: 4px;
  background: #FFFACD;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,250,205,0.8);
  animation: s04-firefly 5s ease-in-out infinite;
}
@keyframes s04-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes s04-field { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes s04-moon { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-5px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes s04-cricket { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-6px) rotate(15deg) } }
@keyframes s04-stars { 0% { opacity:0.5 } 50% { opacity:1 } 100% { opacity:0.5 } }
@keyframes s04-firefly { 0% { opacity:0; transform: translate(0,0) } 20% { opacity:1; transform: translate(10px,-10px) } 40% { opacity:0; transform: translate(20px,0) } 60% { opacity:1; transform: translate(15px,15px) } 80% { opacity:0; transform: translate(5px,10px) } 100% { opacity:0; transform: translate(0,0) } }

/* poem-a-well: overcast, calm, vertical shaft */
.scn-poem-a-well {
  background: 
    linear-gradient(180deg, #7a8a9a 0%, #6a7a8a 40%, #5a6a7a 100%),
    radial-gradient(ellipse at 50% 0%, #8a9aaa 0%, transparent 60%);
}
.scn-poem-a-well .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, #7a8a9a 60%, transparent 100%);
  animation: wel-sky 18s ease-in-out infinite alternate;
}
.scn-poem-a-well .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 30% 50% 0 0 / 20% 30% 0 0;
}
.scn-poem-a-well .well-rim {
  position: absolute; bottom: 40%; left: 50%; width: 80px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-poem-a-well .well-shade {
  position: absolute; bottom: 32%; left: 50%; width: 60px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 0 0 50% 50%;
  animation: wel-shade 6s ease-in-out infinite alternate;
}
.scn-poem-a-well .water {
  position: absolute; bottom: 31%; left: 50%; width: 50px; height: 10px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #3a5a6a 0%, #2a4a5a 100%);
  border-radius: 50%;
  box-shadow: 0 -2px 6px rgba(0,40,80,0.4);
  animation: wel-water 4s ease-in-out infinite alternate;
}
.scn-poem-a-well .sedge-1 {
  position: absolute; bottom: 42%; left: 38%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #5a7a5a 0%, #3a5a3a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: wel-sedge 5s ease-in-out infinite alternate;
}
.scn-poem-a-well .sedge-2 {
  position: absolute; bottom: 42%; left: 60%; width: 6px; height: 35px;
  background: linear-gradient(180deg, #4a6a4a 0%, #2a4a2a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: wel-sedge 5s ease-in-out infinite alternate-reverse;
  animation-delay: 2s;
}
.scn-poem-a-well .mist {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, rgba(180,200,210,0.3) 0%, transparent 100%);
  filter: blur(4px);
  animation: wel-mist 10s ease-in-out infinite alternate;
}
@keyframes wel-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.75 } }
@keyframes wel-shade { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) translateY(2px) } 100% { transform: translateX(-50%) scale(1) } }
@keyframes wel-water { 0% { transform: translateX(-50%) translateY(0) scale(1) } 50% { transform: translateX(-50%) translateY(-1px) scale(1.03) } 100% { transform: translateX(-50%) translateY(0) scale(1) } }
@keyframes wel-sedge { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes wel-mist { 0% { opacity: 0.3; transform: translateY(0) } 50% { opacity: 0.6; transform: translateY(-5px) } 100% { opacity: 0.3; transform: translateY(0) } }

/* poem-the-wind: overcast, calm, wide horizon with trees swaying */
.scn-poem-the-wind {
  background: 
    linear-gradient(180deg, #a0b0c0 0%, #8090a0 50%, #607080 100%),
    radial-gradient(ellipse at 50% 0%, #b0c0d0 0%, transparent 70%);
}
.scn-poem-the-wind .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #b0c0d0 0%, #a0b0c0 70%, transparent 100%);
  animation: win-sky 20s ease-in-out infinite alternate;
}
.scn-poem-the-wind .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 40% 30% 0 0 / 60% 50% 0 0;
}
.scn-poem-the-wind .tree-left {
  position: absolute; bottom: 25%; left: 30%; width: 12px; height: 120px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0;
  transform-origin: bottom center;
  animation: win-tree-left 6s ease-in-out infinite alternate;
}
.scn-poem-the-wind .tree-left::before {
  content: ''; position: absolute; top: 0; left: -30px; width: 70px; height: 50px;
  background: radial-gradient(ellipse, #4a6a3a 0%, #2a4a2a 100%);
  border-radius: 50% 40% 60% 50%;
  filter: blur(2px);
  animation: win-canopy 6s ease-in-out infinite alternate;
}
.scn-poem-the-wind .tree-right {
  position: absolute; bottom: 30%; right: 25%; width: 10px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 3px 3px 0 0;
  transform-origin: bottom center;
  animation: win-tree-right 8s ease-in-out infinite alternate;
}
.scn-poem-the-wind .tree-right::before {
  content: ''; position: absolute; top: 0; left: -25px; width: 60px; height: 40px;
  background: radial-gradient(ellipse, #4a6a3a 0%, #2a4a2a 100%);
  border-radius: 40% 50% 50% 40%;
  filter: blur(2px);
  animation: win-canopy 8s ease-in-out infinite alternate-reverse;
}
.scn-poem-the-wind .leaves {
  position: absolute; bottom: 50%; left: 0; right: 0;
  height: 30px; background: transparent;
  animation: win-leaves 12s linear infinite;
}
.scn-poem-the-wind .leaves::after {
  content: ''; position: absolute; top: 0; left: 10%; width: 6px; height: 6px;
  background: #6a8a5a; border-radius: 50%; filter: blur(1px);
}
.scn-poem-the-wind .wind-1 {
  position: absolute; top: 30%; left: -10%; width: 120%; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2) 50%, transparent);
  animation: win-wind 10s linear infinite;
}
.scn-poem-the-wind .wind-2 {
  position: absolute; top: 50%; left: -10%; width: 120%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15) 40%, transparent);
  animation: win-wind 14s linear infinite 3s;
}
.scn-poem-the-wind .figure {
  position: absolute; bottom: 28%; left: 55%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: win-fig 4s ease-in-out infinite alternate;
}
@keyframes win-sky { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes win-tree-left { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes win-tree-right { 0% { transform: rotate(0deg) } 50% { transform: rotate(-4deg) } 100% { transform: rotate(2deg) } }
@keyframes win-canopy { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(5px) scale(1.02) } 100% { transform: translateX(-3px) scale(0.98) } }
@keyframes win-leaves { 0% { transform: translateX(0) } 100% { transform: translateX(100%) } }
@keyframes win-wind { 0% { transform: translateX(-10%) scaleX(1) } 50% { transform: translateX(50%) scaleX(1.5) } 100% { transform: translateX(110%) scaleX(1) } }
@keyframes win-fig { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-2deg) } }

/* poem-the-woodpecker: sunlit, calm, close-up on tree */
.scn-poem-the-woodpecker {
  background: 
    linear-gradient(180deg, #b0d0e0 0%, #90b0c0 50%, #708a9a 100%),
    radial-gradient(ellipse at 50% 0%, #c0e0f0 0%, transparent 60%);
}
.scn-poem-the-woodpecker .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c0e0f0 0%, #b0d0e0 60%, transparent 100%);
  animation: woo-sky 12s ease-in-out infinite alternate;
}
.scn-poem-the-woodpecker .swamp {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a6a4a 0%, #2a4a2a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
}
.scn-poem-the-woodpecker .trunk {
  position: absolute; bottom: 20%; left: 40%; width: 18px; height: 200px;
  background: linear-gradient(90deg, #5a4a3a 0%, #7a6a5a 50%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 4px 0 6px rgba(0,0,0,0.2);
}
.scn-poem-the-woodpecker .branch {
  position: absolute; bottom: 55%; left: 42%; width: 60px; height: 8px;
  background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%);
  border-radius: 4px;
  transform-origin: left center;
  animation: woo-branch 8s ease-in-out infinite alternate;
}
.scn-poem-the-woodpecker .woodpecker {
  position: absolute; bottom: 58%; left: 44%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-10deg);
  animation: woo-peck 0.5s ease-in-out infinite alternate;
}
.scn-poem-the-woodpecker .woodpecker::after {
  content: ''; position: absolute; top: -8px; left: 2px; width: 4px; height: 8px;
  background: #2a2a2a; border-radius: 0 0 2px 2px;
  animation: woo-peck-beak 0.5s ease-in-out infinite alternate;
}
.scn-poem-the-woodpecker .snake {
  position: absolute; bottom: 22%; left: 50%; width: 30px; height: 8px;
  background: linear-gradient(90deg, #4a6a3a 0%, #3a5a2a 100%);
  border-radius: 50%;
  transform-origin: center;
  animation: woo-snake 10s ease-in-out infinite alternate;
}
.scn-poem-the-woodpecker .moss {
  position: absolute; bottom: 20%; left: 38%; width: 12px; height: 15px;
  background: radial-gradient(ellipse, #5a7a4a 0%, #3a5a2a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: woo-moss 6s ease-in-out infinite alternate;
}
@keyframes woo-sky { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes woo-branch { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes woo-peck { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes woo-peck-beak { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes woo-snake { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(10px) scaleX(0.8) } 100% { transform: translateX(-5px) scaleX(1.1) } }
@keyframes woo-moss { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(0.95) } }

/* poem-could-i-but-ride: sunlit, warm, meadow with bee and figure */
.scn-poem-could-i-but-ride {
  background: 
    linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 40%, #b0a080 100%),
    radial-gradient(ellipse at 50% 100%, #e0d0b0 0%, transparent 70%);
}
.scn-poem-could-i-but-ride .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0e8d0 0%, #e0d8c0 70%, transparent 100%);
  animation: rid-sky 15s ease-in-out infinite alternate;
}
.scn-poem-could-i-but-ride .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #c0b080 0%, #a09070 100%);
  border-radius: 30% 40% 0 0 / 50% 60% 0 0;
}
.scn-poem-could-i-but-ride .flower-1 {
  position: absolute; bottom: 25%; left: 30%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0c040 0%, #d0a030 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(240,192,64,0.4);
  animation: rid-flower 4s ease-in-out infinite alternate;
}
.scn-poem-could-i-but-ride .flower-2 {
  position: absolute; bottom: 35%; left: 55%; width: 10px; height: 10px;
  background: radial-gradient(circle, #f0d060 0%, #d0b040 100%);
  border-radius: 50%;
  animation: rid-flower 5s ease-in-out infinite alternate-reverse;
}
.scn-poem-could-i-but-ride .flower-3 {
  position: absolute; bottom: 30%; right: 30%; width: 14px; height: 14px;
  background: radial-gradient(circle, #f0b040 0%, #d09030 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(240,176,64,0.3);
  animation: rid-flower 6s ease-in-out infinite alternate 2s;
}
.scn-poem-could-i-but-ride .bee {
  position: absolute; bottom: 40%; left: 20%; width: 12px; height: 8px;
  background: linear-gradient(90deg, #2a2a2a 0%, #c0a020 50%, #2a2a2a 100%);
  border-radius: 50%;
  animation: rid-bee 6s linear infinite;
}
.scn-poem-could-i-but-ride .bee::after {
  content: ''; position: absolute; top: -4px; left: 6px; 
  width: 4px; height: 4px; background: rgba(255,255,255,0.6); border-radius: 50%;
}
.scn-poem-could-i-but-ride .figure-run {
  position: absolute; bottom: 28%; left: 40%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rid-run 0.8s ease-in-out infinite alternate;
}
.scn-poem-could-i-but-ride .buttercup-glow {
  position: absolute; bottom: 15%; left: 75%; width: 20px; height: 20px;
  background: radial-gradient(circle, rgba(255,220,80,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: rid-glow 3s ease-in-out infinite alternate;
}
@keyframes rid-sky { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes rid-flower { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.1) rotate(10deg) } 100% { transform: scale(0.95) rotate(-5deg) } }
@keyframes rid-bee { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(30px) translateY(-10px) rotate(10deg) } 50% { transform: translateX(60px) translateY(0) rotate(-5deg) } 75% { transform: translateX(80px) translateY(-5px) rotate(15deg) } 100% { transform: translateX(120px) translateY(0) rotate(0deg) } }
@keyframes rid-run { 0% { transform: translateX(0) rotate(-5deg) scale(1) } 50% { transform: translateX(8px) rotate(5deg) scale(1.03) } 100% { transform: translateX(0) rotate(-5deg) scale(1) } }
@keyframes rid-glow { 0% { opacity: 0.3; transform: scale(1) } 50% { opacity: 0.7; transform: scale(1.5) } 100% { opacity: 0.3; transform: scale(1) } }

.scn-poem-certain-slant-of-light {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2c2244 35%, #4a3a5e 70%, #3a2a4a 100%),
    radial-gradient(ellipse at 50% 0%, #5a4a6e 0%, transparent 60%);
}
.scn-poem-certain-slant-of-light .window-frame {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(135deg, #3a2a3a 0%, #1a1a2a 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,.7);
}
.scn-poem-certain-slant-of-light .pane-left {
  position: absolute; top: 12%; left: 32%; width: 16%; height: 56%;
  background: linear-gradient(135deg, #8a7a6a 0%, #5a4a4a 100%);
  border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,.5);
  animation: sl-pane 12s ease-in-out infinite alternate;
}
.scn-poem-certain-slant-of-light .pane-right {
  position: absolute; top: 12%; left: 52%; width: 16%; height: 56%;
  background: linear-gradient(225deg, #8a7a6a 0%, #5a4a4a 100%);
  border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,.5);
  animation: sl-pane 12s ease-in-out infinite alternate-reverse;
}
.scn-poem-certain-slant-of-light .light-beam {
  position: absolute; top: 14%; left: 38%; width: 24%; height: 70%;
  background: linear-gradient(180deg, rgba(220,200,160,.15) 0%, rgba(220,200,160,.05) 100%);
  clip-path: polygon(30% 0%, 70% 0%, 90% 100%, 10% 100%);
  filter: blur(4px);
  animation: sl-beam 18s ease-in-out infinite alternate;
}
.scn-poem-certain-slant-of-light .pillar-left {
  position: absolute; top: 8%; left: 24%; width: 6%; height: 80%;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,.6);
}
.scn-poem-certain-slant-of-light .pillar-right {
  position: absolute; top: 8%; left: 70%; width: 6%; height: 80%;
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,.6);
}
.scn-poem-certain-slant-of-light .figure-silhouette {
  position: absolute; bottom: 20%; left: 44%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #0a0a1a 0%, #050510 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sl-figure 9s ease-in-out infinite alternate;
}
.scn-poem-certain-slant-of-light .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,.8);
}
@keyframes sl-pane { 0% { opacity: .7; transform: scaleX(1); } 50% { opacity: .9; transform: scaleX(1.02); } 100% { opacity: .7; transform: scaleX(.98); } }
@keyframes sl-beam { 0% { opacity: .3; transform: rotate(-2deg); } 50% { opacity: .6; transform: rotate(1deg); } 100% { opacity: .2; transform: rotate(-1deg); } }
@keyframes sl-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(3deg); } 100% { transform: translateY(2px) rotate(-1deg); } }

.scn-poem-one-dignity-delays {
  background: 
    linear-gradient(180deg, #2c1a2e 0%, #4a2a4e 30%, #6a4a5e 60%, #5a3a4e 100%),
    radial-gradient(ellipse at 50% 0%, #8a6a7a 0%, transparent 70%);
}
.scn-poem-one-dignity-delays .sky-dusk {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4a2a4e 0%, #7a4a6a 50%, #9a6a7a 100%);
  animation: od-sky 15s ease-in-out infinite alternate;
}
.scn-poem-one-dignity-delays .road {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,.6);
}
.scn-poem-one-dignity-delays .coach-body {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 14%;
  background: linear-gradient(135deg, #5a2a3a 0%, #3a1a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 6px 10px rgba(0,0,0,.5);
  animation: od-coach 8s ease-in-out infinite alternate;
}
.scn-poem-one-dignity-delays .coach-wheel-a {
  position: absolute; bottom: 28%; left: 42%; width: 8%; height: 8%;
  background: radial-gradient(circle at 50% 50%, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  animation: od-wheel 4s linear infinite;
}
.scn-poem-one-dignity-delays .coach-wheel-b {
  position: absolute; bottom: 28%; left: 50%; width: 8%; height: 8%;
  background: radial-gradient(circle at 50% 50%, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  animation: od-wheel 4s linear infinite reverse;
}
.scn-poem-one-dignity-delays .footman-a {
  position: absolute; bottom: 30%; left: 34%; width: 6%; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: od-footman 6s ease-in-out infinite;
}
.scn-poem-one-dignity-delays .footman-b {
  position: absolute; bottom: 30%; left: 60%; width: 6%; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: od-footman 6s ease-in-out infinite reverse;
}
.scn-poem-one-dignity-delays .church-spire {
  position: absolute; bottom: 40%; left: 70%; width: 6%; height: 40%;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  animation: od-spire 20s ease-in-out infinite alternate;
}
@keyframes od-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes od-coach { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(1deg); } 100% { transform: translateX(-5px) rotate(-1deg); } }
@keyframes od-wheel { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes od-footman { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-3px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes od-spire { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.05) translateY(-2px); } 100% { transform: scaleY(.95) translateY(0); } }

.scn-poem-departed-to-judgment {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 40%, #4a4a4a 100%),
    radial-gradient(ellipse at 50% 100%, #5a5a5a 0%, transparent 80%);
}
.scn-poem-departed-to-judgment .overcast-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a3a3a 0%, #5a5a5a 50%, #4a4a4a 100%);
  animation: dj-sky 20s ease-in-out infinite alternate;
}
.scn-poem-departed-to-judgment .cloud-usher-a {
  position: absolute; top: 10%; left: 10%; width: 30%; height: 20%;
  background: linear-gradient(180deg, #6a6a6a 0%, #3a3a3a 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: dj-cloud-usher 30s ease-in-out infinite alternate;
}
.scn-poem-departed-to-judgment .cloud-usher-b {
  position: absolute; top: 15%; right: 10%; width: 35%; height: 25%;
  background: linear-gradient(180deg, #5a5a5a 0%, #2a2a2a 100%);
  border-radius: 40% 60% 50% 50%;
  filter: blur(10px);
  animation: dj-cloud-usher 25s ease-in-out infinite alternate-reverse;
}
.scn-poem-departed-to-judgment .figure-surrender {
  position: absolute; bottom: 25%; left: 45%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: dj-figure 10s ease-in-out infinite alternate;
}
.scn-poem-departed-to-judgment .ground-fade {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,.9);
}
.scn-poem-departed-to-judgment .light-shaft {
  position: absolute; top: 0; left: 45%; width: 10%; height: 80%;
  background: linear-gradient(180deg, rgba(200,200,180,.1) 0%, transparent 100%);
  clip-path: polygon(40% 0%, 60% 0%, 80% 100%, 20% 100%);
  filter: blur(6px);
  animation: dj-shaft 14s ease-in-out infinite alternate;
}
@keyframes dj-sky { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes dj-cloud-usher { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(10px) scale(1.05); } 100% { transform: translateX(-10px) scale(.95); } }
@keyframes dj-figure { 0% { transform: translateY(0) rotate(-5deg) scaleY(1); } 50% { transform: translateY(-6px) rotate(5deg) scaleY(1.02); } 100% { transform: translateY(3px) rotate(-3deg) scaleY(.98); } }
@keyframes dj-shaft { 0% { opacity: .2; transform: skewX(-2deg); } 50% { opacity: .4; transform: skewX(2deg); } 100% { opacity: .1; transform: skewX(0deg); } }

.scn-poem-on-this-long-storm {
  background: 
    linear-gradient(180deg, #a0c8d0 0%, #e0d8c0 40%, #f0e8d0 70%, #c0b0a0 100%),
    radial-gradient(ellipse at 50% 0%, #f0e8d0 0%, transparent 60%);
}
.scn-poem-on-this-long-storm .dawn-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0d8e0 0%, #e0c8a0 50%, #f0e0c0 100%);
  animation: ls-sky 20s ease-in-out infinite alternate;
}
.scn-poem-on-this-long-storm .sun-dawn {
  position: absolute; top: 20%; left: 45%; width: 10%; height: 10%;
  background: radial-gradient(circle at 50% 50%, #ffd080 0%, #e8a050 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,100,.4);
  animation: ls-sun 15s ease-in-out infinite alternate;
}
.scn-poem-on-this-long-storm .rainbow-arc {
  position: absolute; top: 15%; left: 20%; width: 60%; height: 30%;
  background: conic-gradient(from 180deg at 50% 100%, transparent 0deg, #ff6b6b 5deg, #ffa500 10deg, #ffd700 15deg, #00cc66 20deg, #33aaff 25deg, #9933ff 30deg, transparent 35deg);
  border-radius: 50% 50% 0 0;
  opacity: .3;
  filter: blur(2px);
  animation: ls-rainbow 25s ease-in-out infinite alternate;
}
.scn-poem-on-this-long-storm .cloud-elephant-a {
  position: absolute; top: 30%; left: 5%; width: 25%; height: 15%;
  background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ls-elephant 35s linear infinite;
}
.scn-poem-on-this-long-storm .cloud-elephant-b {
  position: absolute; top: 35%; right: 5%; width: 20%; height: 12%;
  background: linear-gradient(180deg, #d0c0b0 0%, #b0a090 100%);
  border-radius: 60% 40% 50% 50%;
  filter: blur(5px);
  animation: ls-elephant 40s linear infinite reverse;
}
.scn-poem-on-this-long-storm .horizon-line {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 2%;
  background: linear-gradient(180deg, #a09080 0%, #908070 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.scn-poem-on-this-long-storm .bird-a {
  position: absolute; top: 18%; left: 30%; width: 6%; height: 2%;
  background: linear-gradient(90deg, transparent 0%, #3a3a3a 30%, #2a2a2a 70%, transparent 100%);
  border-radius: 50%;
  animation: ls-bird 12s ease-in-out infinite;
}
.scn-poem-on-this-long-storm .bird-b {
  position: absolute; top: 22%; left: 50%; width: 4%; height: 1.5%;
  background: linear-gradient(90deg, transparent 0%, #3a3a3a 30%, #2a2a2a 70%, transparent 100%);
  border-radius: 50%;
  animation: ls-bird 14s ease-in-out infinite 2s;
}
.scn-poem-on-this-long-storm .bird-c {
  position: absolute; top: 16%; left: 60%; width: 5%; height: 1.8%;
  background: linear-gradient(90deg, transparent 0%, #3a3a3a 30%, #2a2a2a 70%, transparent 100%);
  border-radius: 50%;
  animation: ls-bird 10s ease-in-out infinite 4s;
}
@keyframes ls-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes ls-sun { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.05); } 100% { transform: translateY(3px) scale(.95); } }
@keyframes ls-rainbow { 0% { opacity: .2; transform: rotate(0deg); } 50% { opacity: .4; transform: rotate(2deg); } 100% { opacity: .1; transform: rotate(-1deg); } }
@keyframes ls-elephant { 0% { transform: translateX(0); } 100% { transform: translateX(80vw); } }
@keyframes ls-bird { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(20px) translateY(-5px); } 100% { transform: translateX(40px) translateY(0); } }

.scn-poem-she-rose-to-his-requirement { background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%), radial-gradient(ellipse at 50% 0%, #3a2a20 0%, transparent 60%); }
.scn-poem-she-rose-to-his-requirement .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1f14 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); }
.scn-poem-she-rose-to-his-requirement .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1f14 0%, #1a1410 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 -4px 12px rgba(0,0,0,0.6); }
.scn-poem-she-rose-to-his-requirement .window { position:absolute; top:12%; left:40%; width:60px; height:80px; background: radial-gradient(ellipse at center, #4a3a2a 0%, #2a1f1a 70%, transparent 100%); border: 4px solid #1a1410; border-radius: 4px; box-shadow: 0 0 20px 6px rgba(74,58,42,0.3); animation: sr-window 8s ease-in-out infinite alternate; }
.scn-poem-she-rose-to-his-requirement .figure.woman { position:absolute; bottom:33%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sr-woman 6s ease-in-out infinite; }
.scn-poem-she-rose-to-his-requirement .plaything { position:absolute; bottom:35%; left:35%; width:14px; height:14px; background: radial-gradient(circle, #5a4a3a 0%, #2a1f14 100%); border-radius: 50%; transform: rotate(15deg); animation: sr-plaything 10s ease-in-out infinite; }
.scn-poem-she-rose-to-his-requirement .pearl-glow { position:absolute; bottom:38%; left:50%; width:8px; height:8px; background: radial-gradient(circle, #c8b098 0%, transparent 70%); border-radius: 50%; box-shadow: 0 0 16px 4px rgba(200,176,152,0.5); animation: sr-pearl 4s ease-in-out infinite alternate; }
@keyframes sr-window { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes sr-woman { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 50% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes sr-plaything { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes sr-pearl { 0% { opacity:0.4; transform: scale(1) } 50% { opacity:0.8; transform: scale(1.3) } 100% { opacity:0.5; transform: scale(0.9) } }

.scn-poem-new-feet { background: linear-gradient(180deg, #fad6c0 0%, #c8b098 30%, #7a9a6a 60%, #4a6a3a 100%); }
.scn-poem-new-feet .sky-dawn { position:absolute; top:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #f5c8a8 0%, #d0b8a0 40%, #b0c8b0 100%); animation: nf-sky 20s ease-in-out infinite alternate; }
.scn-poem-new-feet .ground-garden { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 50%, #3a5a2a 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; }
.scn-poem-new-feet .elm-tree { position:absolute; bottom:40%; left:20%; width:40px; height:120px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20%; }
.scn-poem-new-feet .elm-tree::before { content:''; position:absolute; top:-40px; left:-30px; width:100px; height:80px; background: radial-gradient(ellipse at center, #7a9a5a 0%, #5a7a3a 100%); border-radius: 50%; filter: blur(2px); }
.scn-poem-new-feet .child-fig { position:absolute; bottom:35%; left:50%; width:16px; height:32px; background: linear-gradient(180deg, #3a4a2a 0%, #2a3a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nf-child 4s ease-in-out infinite; }
.scn-poem-new-feet .flower-row { position:absolute; bottom:30%; left:60%; width:30px; height:8px; background: radial-gradient(circle, #d0a0b0 0%, transparent 70%); border-radius: 50%; filter: blur(1px); box-shadow: 10px 0 0 #c090a0, 20px 0 0 #b08090; animation: nf-flowers 6s ease-in-out infinite; }
.scn-poem-new-feet .butterfly { position:absolute; bottom:50%; left:30%; width:6px; height:4px; background: #d0c090; border-radius: 50% 50% 0 0; box-shadow: 0 -4px 0 #d0c090; transform: rotate(20deg); animation: nf-butterfly 3s ease-in-out infinite; }
.scn-poem-new-feet .bird-troubadour { position:absolute; bottom:58%; left:22%; width:12px; height:8px; background: #4a3a2a; border-radius: 50% 50% 30% 30%; transform: rotate(-10deg); animation: nf-bird 2s ease-in-out infinite; }
@keyframes nf-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes nf-child { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(5px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(20px) translateY(0) rotate(0) } }
@keyframes nf-flowers { 0% { opacity:0.6; transform: translateY(0) } 50% { opacity:1; transform: translateY(-2px) } 100% { opacity:0.7; transform: translateY(0) } }
@keyframes nf-butterfly { 0% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-4px) } 100% { transform: rotate(20deg) translateY(0) } }
@keyframes nf-bird { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(5deg) translateY(-2px) } 100% { transform: rotate(-10deg) translateY(0) } }

.scn-poem-murmur-of-a-bee { background: linear-gradient(180deg, #f0d8c0 0%, #d0b8a0 40%, #a0c090 100%), radial-gradient(ellipse at 70% 20%, #ffe0b0 0%, transparent 60%); }
.scn-poem-murmur-of-a-bee .sun-sky { position:absolute; top:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #ffe0b0 0%, #f0c8a0 50%, #d0b090 100%); animation: mb-sky 12s ease-in-out infinite alternate; }
.scn-poem-murmur-of-a-bee .hill { position:absolute; bottom:30%; left:0; right:0; height:40%; background: linear-gradient(180deg, #7a9a5a 0%, #5a7a3a 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.2); }
.scn-poem-murmur-of-a-bee .red-hill-flower { position:absolute; bottom:40%; left:30%; width:20px; height:20px; background: radial-gradient(circle at 40% 40%, #c8553d 0%, #a0461a 60%, transparent 100%); border-radius: 50%; transform: rotate(30deg); animation: mb-flower 5s ease-in-out infinite; }
.scn-poem-murmur-of-a-bee .bee { position:absolute; bottom:55%; left:50%; width:10px; height:8px; background: #2a1a10; border-radius: 40% 40% 30% 30%; box-shadow: 0 -4px 0 #d0a070; transform: rotate(-15deg); animation: mb-bee 4s ease-in-out infinite; }
.scn-poem-murmur-of-a-bee .bee-trail { position:absolute; bottom:55%; left:50%; width:50px; height:2px; background: transparent; border-top: 2px dashed rgba(200,150,100,0.3); transform: translateX(10px) rotate(-10deg); animation: mb-trail 4s linear infinite; }
.scn-poem-murmur-of-a-bee .grass-blade { position:absolute; bottom:30%; left:60%; width:4px; height:30px; background: #6a8a4a; border-radius: 0 0 50% 50%; transform-origin: bottom center; animation: mb-grass 3s ease-in-out infinite alternate; }
@keyframes mb-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mb-flower { 0% { transform: rotate(30deg) scale(1) } 50% { transform: rotate(45deg) scale(1.1) } 100% { transform: rotate(30deg) scale(1) } }
@keyframes mb-bee { 0% { transform: rotate(-15deg) translateX(0) translateY(0) } 25% { transform: rotate(-10deg) translateX(10px) translateY(-5px) } 50% { transform: rotate(-15deg) translateX(20px) translateY(0) } 75% { transform: rotate(-20deg) translateX(30px) translateY(-3px) } 100% { transform: rotate(-15deg) translateX(40px) translateY(0) } }
@keyframes mb-trail { 0% { opacity:0; width:0 } 50% { opacity:1; width:60px } 100% { opacity:0; width:80px } }
@keyframes mb-grass { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }

.scn-poem-pedigree-of-honey { background: linear-gradient(180deg, #d0c8a0 0%, #a0b090 50%, #6a8a5a 100%), radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, transparent 70%); }
.scn-poem-pedigree-of-honey .orchard-bg { position:absolute; inset:0; background: linear-gradient(180deg, #8a9a6a 0%, #6a7a4a 100%); opacity:0.5; }
.scn-poem-pedigree-of-honey .clover-bed { position:absolute; bottom:20%; left:10%; width:80%; height:30%; background: radial-gradient(ellipse at 30% 50%, #5a7a3a 0%, transparent 60%), radial-gradient(ellipse at 70% 30%, #5a7a3a 0%, transparent 60%); filter: blur(3px); animation: ph-clover 10s ease-in-out infinite alternate; }
.scn-poem-pedigree-of-honey .bee-on-flower { position:absolute; bottom:30%; left:40%; width:8px; height:6px; background: #2a1a10; border-radius: 40% 40% 30% 30%; box-shadow: 0 -3px 0 #d0a070; transform: rotate(-10deg); animation: ph-bee 3s ease-in-out infinite; }
.scn-poem-pedigree-of-honey .wings-sparkle { position:absolute; bottom:34%; left:38%; width:6px; height:6px; background: radial-gradient(circle, #f0e0c0 0%, transparent 70%); border-radius: 50%; box-shadow: 8px 0 0 #f0e0c0, -8px 0 0 #f0e0c0; animation: ph-sparkle 1.5s ease-in-out infinite alternate; }
.scn-poem-pedigree-of-honey .sun-ray { position:absolute; top:10%; left:20%; width:60%; height:30%; background: linear-gradient(180deg, rgba(240,230,200,0.3) 0%, transparent 100%); transform: rotate(20deg); transform-origin: top left; animation: ph-ray 8s ease-in-out infinite alternate; }
.scn-poem-pedigree-of-honey .orchard-dome { position:absolute; top:5%; left:15%; width:70%; height:50%; background: radial-gradient(ellipse at 50% 30%, #8a9a6a 0%, transparent 60%); filter: blur(8px); border-radius: 50%; animation: ph-dome 15s ease-in-out infinite alternate; }
@keyframes ph-clover { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes ph-bee { 0% { transform: rotate(-10deg) scale(1) } 50% { transform: rotate(5deg) scale(1.1) } 100% { transform: rotate(-10deg) scale(1) } }
@keyframes ph-sparkle { 0% { opacity:0.3 } 50% { opacity:1 } 100% { opacity:0.4 } }
@keyframes ph-ray { 0% { transform: rotate(20deg) scaleY(1) } 50% { transform: rotate(25deg) scaleY(1.2) } 100% { transform: rotate(20deg) scaleY(1) } }
@keyframes ph-dome { 0% { transform: scale(0.9) translateY(0) } 50% { transform: scale(1.05) translateY(-5px) } 100% { transform: scale(0.95) translateY(0) } }

.scn-poem-belshazzar-letter {
  background: 
    linear-gradient(180deg, #2a1a1a 0%, #1a0c0c 40%, #0d0505 100%),
    radial-gradient(ellipse at 50% 70%, #3a1a10 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-poem-belshazzar-letter .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3a2222 0%, #1a0e0e 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.7);
  animation: pb-wall 20s ease-in-out infinite alternate;
}
.scn-poem-belshazzar-letter .inscription {
  position: absolute;
  top: 10%;
  left: 20%;
  width: 60%;
  height: 30%;
  background: repeating-linear-gradient(
    90deg,
    transparent 0px,
    transparent 8px,
    rgba(200,120,60,0.15) 8px,
    rgba(200,120,60,0.15) 10px
  );
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(180,100,40,0.3);
  animation: pb-inscription 6s ease-in-out infinite;
}
.scn-poem-belshazzar-letter .candle {
  position: absolute;
  bottom: 35%;
  left: 30%;
  width: 12px;
  height: 40px;
  background: linear-gradient(180deg, #f0d0a0 0%, #c09060 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-belshazzar-letter .flame {
  position: absolute;
  bottom: calc(35% + 40px);
  left: calc(30% + 6px);
  width: 10px;
  height: 18px;
  background: radial-gradient(circle, #ffd060 0%, #ff8020 40%, transparent 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px 8px #ff8020, 0 0 40px 16px rgba(255,128,32,0.4);
  animation: pb-flame 1s ease-in-out infinite alternate;
}
.scn-poem-belshazzar-letter .hand {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 30px;
  height: 40px;
  background: linear-gradient(180deg, #d4a574 0%, #b08050 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(10deg);
  transform-origin: bottom center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: pb-hand 4s ease-in-out infinite;
}
.scn-poem-belshazzar-letter .letter {
  position: absolute;
  bottom: 30%;
  left: 38%;
  width: 40px;
  height: 30px;
  background: linear-gradient(135deg, #f5e6c8 0%, #c8b090 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: pb-letter 6s ease-in-out infinite;
}
.scn-poem-belshazzar-letter .shadow-hand {
  position: absolute;
  bottom: 30%;
  left: 60%;
  width: 50px;
  height: 60px;
  background: rgba(0,0,0,0.4);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(6px);
  animation: pb-shadow 4s ease-in-out infinite reverse;
}
@keyframes pb-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes pb-inscription { 0% { opacity:0.6; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } 100% { opacity:0.7; transform: scaleY(1); } }
@keyframes pb-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(0deg); } 50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg); } 100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg); } }
@keyframes pb-hand { 0% { transform: rotate(10deg) translateY(0); } 30% { transform: rotate(12deg) translateY(-2px); } 60% { transform: rotate(8deg) translateY(0); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes pb-letter { 0% { transform: rotate(-5deg) translateY(0); } 33% { transform: rotate(-4deg) translateY(-1px); } 66% { transform: rotate(-6deg) translateY(0); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes pb-shadow { 0% { transform: scale(1); opacity:0.4; } 50% { transform: scale(1.1); opacity:0.6; } 100% { transform: scale(1); opacity:0.4; } }

.scn-poem-mine-by-right {
  background: 
    linear-gradient(180deg, #ff8c42 0%, #ffb347 30%, #ffd966 60%, #ffe699 100%),
    radial-gradient(ellipse at 50% 100%, #ff6b35 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-poem-mine-by-right .sky {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #ffa366 0%, #ffd699 100%);
  animation: pm-sky 15s ease-in-out infinite alternate;
}
.scn-poem-mine-by-right .sun {
  position: absolute;
  bottom: 35%;
  left: 50%;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, #fff0b0 0%, #ffcc00 40%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 60px 20px #ffcc00, 0 0 120px 50px rgba(255,204,0,0.3);
  animation: pm-sun 12s ease-in-out infinite;
}
.scn-poem-mine-by-right .horizon {
  position: absolute;
  bottom: 30%;
  left: 0;
  right: 0;
  height: 8%;
  background: linear-gradient(180deg, #c08050 0%, #8a5a30 100%);
  border-radius: 0 0 50% 50% / 0 0 20px 20px;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.3);
}
.scn-poem-mine-by-right .seal {
  position: absolute;
  bottom: 40%;
  left: 25%;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle, #d4a060 0%, #a07030 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(160,112,48,0.5);
  transform: rotate(15deg);
  animation: pm-seal 8s ease-in-out infinite alternate;
}
.scn-poem-mine-by-right .figure-silhouette {
  position: absolute;
  bottom: 30%;
  left: 60%;
  width: 40px;
  height: 60px;
  background: #2a1a0a;
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 30px rgba(0,0,0,0.4);
  transform-origin: bottom center;
  animation: pm-figure 6s ease-in-out infinite;
}
.scn-poem-mine-by-right .banner {
  position: absolute;
  bottom: 38%;
  left: 52%;
  width: 60px;
  height: 30px;
  background: linear-gradient(90deg, #8a2020 0%, #b04040 50%, #8a2020 100%);
  border-radius: 4px;
  transform: skew(-10deg) rotate(5deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: pm-banner 10s ease-in-out infinite alternate;
}
.scn-poem-mine-by-right .soft-cloud {
  position: absolute;
  top: 12%;
  left: 10%;
  width: 80px;
  height: 20px;
  background: linear-gradient(180deg, rgba(255,200,150,0.6) 0%, rgba(255,200,150,0.1) 100%);
  border-radius: 40%;
  filter: blur(8px);
  animation: pm-cloud 40s linear infinite;
}
.scn-poem-mine-by-right .soft-cloud2 {
  position: absolute;
  top: 18%;
  right: 5%;
  width: 60px;
  height: 16px;
  background: linear-gradient(180deg, rgba(255,200,150,0.5) 0%, rgba(255,200,150,0.05) 100%);
  border-radius: 40%;
  filter: blur(6px);
  animation: pm-cloud2 50s linear infinite reverse;
}
@keyframes pm-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes pm-sun { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.05); } 100% { transform: translateX(-50%) scale(0.95); } }
@keyframes pm-seal { 0% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(20deg) scale(1.1); } 100% { transform: rotate(10deg) scale(0.95); } }
@keyframes pm-figure { 0% { transform: translateY(0); } 30% { transform: translateY(-2px); } 60% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes pm-banner { 0% { transform: skew(-10deg) rotate(5deg) scaleX(1); } 50% { transform: skew(-10deg) rotate(5deg) scaleX(1.05); } 100% { transform: skew(-10deg) rotate(5deg) scaleX(0.95); } }
@keyframes pm-cloud { 0% { transform: translateX(-30px); } 100% { transform: translateX(110vw); } }
@keyframes pm-cloud2 { 0% { transform: translateX(0); } 100% { transform: translateX(-90vw); } }

.scn-poem-alter-when-hills-do {
  background: 
    linear-gradient(180deg, #87ceeb 0%, #b0e0f0 30%, #e0f0e0 60%, #c0dfc0 100%),
    radial-gradient(ellipse at 50% 80%, #f0f8ff 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-poem-alter-when-hills-do .sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a0d0e0 0%, #d0e8f0 100%);
  animation: pa-sky 18s ease-in-out infinite alternate;
}
.scn-poem-alter-when-hills-do .sun {
  position: absolute;
  top: 8%;
  right: 15%;
  width: 50px;
  height: 50px;
  background: radial-gradient(circle, #fff8e0 0%, #ffe080 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px #ffe080;
  animation: pa-sun 20s ease-in-out infinite;
}
.scn-poem-alter-when-hills-do .hills {
  position: absolute;
  bottom: 30%;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #98c898 0%, #558855 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,40,0,0.4);
  animation: pa-hills 16s ease-in-out infinite alternate;
}
.scn-poem-alter-when-hills-do .daffodils {
  position: absolute;
  bottom: 35%;
  left: 10%;
  width: 80px;
  height: 40px;
  background: radial-gradient(circle at 20% 50%, #fff0a0 8px, transparent 10px),
              radial-gradient(circle at 50% 30%, #fff0a0 8px, transparent 10px),
              radial-gradient(circle at 80% 60%, #fff0a0 8px, transparent 10px);
  background-size: 20px 20px;
  background-repeat: repeat;
  opacity: 0.7;
  animation: pa-daffodils 8s ease-in-out infinite;
}
.scn-poem-alter-when-hills-do .friend-silhouette {
  position: absolute;
  bottom: 32%;
  right: 20%;
  width: 30px;
  height: 50px;
  background: #3a4a3a;
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  animation: pa-friend 7s ease-in-out infinite;
}
.scn-poem-alter-when-hills-do .grass {
  position: absolute;
  bottom: 28%;
  left: 0;
  right: 0;
  height: 10%;
  background: linear-gradient(180deg, #7a9a7a 0%, #5a7a5a 100%);
  border-radius: 0 0 20% 20% / 0 0 10px 10px;
  box-shadow: inset 0 4px 8px rgba(0,30,0,0.3);
}
.scn-poem-alter-when-hills-do .butterfly {
  position: absolute;
  top: 30%;
  left: 60%;
  width: 16px;
  height: 12px;
  background: radial-gradient(circle at 30% 50%, #ff80a0 4px, transparent 6px),
              radial-gradient(circle at 70% 50%, #ff80a0 4px, transparent 6px);
  background-repeat: no-repeat;
  background-size: 10px 10px;
  transform: rotate(-20deg);
  animation: pa-butterfly 6s ease-in-out infinite;
}
@keyframes pa-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes pa-sun { 0% { transform: scale(1); box-shadow: 0 0 40px 15px #ffe080; } 50% { transform: scale(1.05); box-shadow: 0 0 50px 20px #ffe080; } 100% { transform: scale(0.95); box-shadow: 0 0 30px 10px #ffe080; } }
@keyframes pa-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pa-daffodils { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:0.7; transform: scale(0.98); } }
@keyframes pa-friend { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } }
@keyframes pa-butterfly { 0% { transform: rotate(-20deg) translateX(0); } 25% { transform: rotate(15deg) translateX(5px); } 50% { transform: rotate(-10deg) translateX(10px); } 75% { transform: rotate(10deg) translateX(5px); } 100% { transform: rotate(-20deg) translateX(0); } }

.scn-poem-doubt-me {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0e05 100%),
    radial-gradient(ellipse at 50% 50%, #4a3020 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-poem-doubt-me .room-bg {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 15% 15%;
  box-shadow: inset 0 30px 50px rgba(0,0,0,0.7);
  animation: pd-room 25s ease-in-out infinite alternate;
}
.scn-poem-doubt-me .window {
  position: absolute;
  top: 15%;
  left: 20%;
  width: 40px;
  height: 60px;
  background: linear-gradient(180deg, #706050 0%, #504030 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 30px rgba(100,80,60,0.3);
  animation: pd-window 8s ease-in-out infinite alternate;
}
.scn-poem-doubt-me .dim-light {
  position: absolute;
  top: 15%;
  left: 20%;
  width: 40px;
  height: 60px;
  background: radial-gradient(ellipse at 50% 20%, rgba(200,180,140,0.15) 0%, transparent 70%);
  border-radius: 4px;
  animation: pd-light 6s ease-in-out infinite;
}
.scn-poem-doubt-me .figure-left {
  position: absolute;
  bottom: 25%;
  left: 30%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: pd-left 5s ease-in-out infinite;
}
.scn-poem-doubt-me .figure-right {
  position: absolute;
  bottom: 25%;
  right: 30%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: pd-right 5s ease-in-out infinite reverse;
}
.scn-poem-doubt-me .table {
  position: absolute;
  bottom: 22%;
  left: 50%;
  width: 60px;
  height: 8px;
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-poem-doubt-me .vase {
  position: absolute;
  bottom: 26%;
  left: 50%;
  width: 14px;
  height: 20px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: pd-vase 10s ease-in-out infinite alternate;
}
@keyframes pd-room { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes pd-window { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 30px rgba(100,80,60,0.3); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,0.6), 0 0 40px rgba(100,80,60,0.5); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 30px rgba(100,80,60,0.3); } }
@keyframes pd-light { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes pd-left { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(3deg); } 60% { transform: translateY(1px) rotate(-2deg); } }
@keyframes pd-right { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(-3deg); } 60% { transform: translateY(1px) rotate(2deg); } }
@keyframes pd-vase { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(0.98); } }

.scn-poem-aspiration {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #4a2a3a 30%, #c8753a 60%, #f0c060 80%, #ffe0a0 100%),
    radial-gradient(ellipse at 50% 30%, rgba(240,192,96,.3) 0%, transparent 70%);
}
.scn-poem-aspiration .sky-dawn { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #1a1a2e 0%, #4a2a3a 30%, #c8753a 60%, transparent 100%); animation: as-sky 14s ease-in-out infinite alternate; }
.scn-poem-aspiration .sun { position:absolute; bottom:55%; left:50%; width:80px; height:80px; margin-left:-40px; background: radial-gradient(circle, #ffd080 0%, #e09030 50%, transparent 60%); border-radius:50%; box-shadow: 0 0 60px 30px #e09030; animation: as-sun 16s ease-in-out infinite alternate; }
.scn-poem-aspiration .mountain { position:absolute; bottom:30%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 70% 20% 80% / 50% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: as-mtn 20s ease-in-out infinite alternate; }
.scn-poem-aspiration .figure-aspire { position:absolute; bottom:30%; left:50%; width:20px; height:60px; margin-left:-10px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: as-rise 6s ease-in-out infinite; }
.scn-poem-aspiration .rays { position:absolute; top:20%; left:30%; right:30%; height:40%; background: radial-gradient(ellipse at 50% 100%, rgba(255,224,160,.25) 0%, transparent 60%); filter: blur(8px); animation: as-rays 10s ease-in-out infinite alternate; }
.scn-poem-aspiration .star { position:absolute; top:12%; left:25%; width:4px; height:4px; background:#fff; border-radius:50%; box-shadow: 0 0 6px 2px rgba(255,255,255,.5); animation: as-star 6s ease-in-out infinite alternate; }
@keyframes as-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes as-sun { 0% { transform: translateY(10px) scale(.95); opacity:.8 } 50% { transform: translateY(0) scale(1.05); opacity:1 } 100% { transform: translateY(5px) scale(1); opacity:.9 } }
@keyframes as-mtn { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes as-rise { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-15px) scaleY(1.2) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes as-rays { 0% { transform: scaleY(.8); opacity:.3 } 50% { transform: scaleY(1.2); opacity:.6 } 100% { transform: scaleY(1); opacity:.4 } }
@keyframes as-star { 0% { opacity:.3; transform: scale(.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.5; transform: scale(1) } }

.scn-poem-a-book {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 40%, #7a6a5a 100%),
    radial-gradient(ellipse at 20% 40%, rgba(255,240,200,.15) 0%, transparent 50%);
}
.scn-poem-a-book .window-lit { position:absolute; left:5%; top:15%; width:25%; height:50%; background: linear-gradient(135deg, #ffe0b0 0%, #d0b080 100%); border-radius: 8%/10%; box-shadow: inset 0 0 30px #ffd090, 0 0 40px rgba(255,224,160,.3); animation: bk-win 7s ease-in-out infinite alternate; }
.scn-poem-a-book .light-beam { position:absolute; left:10%; top:20%; width:40%; height:60%; background: linear-gradient(135deg, rgba(255,240,200,.3) 0%, transparent 80%); filter: blur(10px); animation: bk-beam 6s ease-in-out infinite alternate; }
.scn-poem-a-book .desk { position:absolute; bottom:15%; left:20%; right:20%; height:30%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4); }
.scn-poem-a-book .book-spine { position:absolute; bottom:30%; left:35%; width:30px; height:50%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 10% / 5%; transform: rotate(-5deg); }
.scn-poem-a-book .page-left { position:absolute; bottom:32%; left:36%; width:20%; height:40%; background: linear-gradient(135deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 0 10% 10% 0; transform-origin: right center; animation: bk-page-left 5s ease-in-out infinite alternate; }
.scn-poem-a-book .page-right { position:absolute; bottom:32%; left:56%; width:20%; height:40%; background: linear-gradient(225deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 10% 0 0 10%; transform-origin: left center; animation: bk-page-right 5s ease-in-out infinite alternate; }
.scn-poem-a-book .chair { position:absolute; bottom:12%; left:60%; width:30px; height:60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 5% 5%; }
@keyframes bk-win { 0% { opacity:.8; transform: scaleX(1) } 50% { opacity:1; transform: scaleX(1.03) } 100% { opacity:.9; transform: scaleX(1) } }
@keyframes bk-beam { 0% { transform: rotate(-2deg); opacity:.4 } 50% { transform: rotate(2deg); opacity:.7 } 100% { transform: rotate(0deg); opacity:.5 } }
@keyframes bk-page-left { 0% { transform: rotateY(0deg) } 50% { transform: rotateY(-15deg) } 100% { transform: rotateY(0deg) } }
@keyframes bk-page-right { 0% { transform: rotateY(0deg) } 50% { transform: rotateY(15deg) } 100% { transform: rotateY(0deg) } }

.scn-poem-i-had-a-guinea-golden {
  background:
    linear-gradient(180deg, #2a1a2a 0%, #5a2a3a 30%, #a06040 60%, #d09050 80%, #f0c080 100%),
    radial-gradient(ellipse at 50% 30%, rgba(240,192,128,.2) 0%, transparent 60%);
}
.scn-poem-i-had-a-guinea-golden .sky-sunset { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #2a1a2a 0%, #5a2a3a 20%, #a06040 50%, #d09050 80%, transparent 100%); animation: gg-sky 12s ease-in-out infinite alternate; }
.scn-poem-i-had-a-guinea-golden .sun-setting { position:absolute; bottom:60%; left:50%; width:60px; height:60px; margin-left:-30px; background: radial-gradient(circle, #f0c080 0%, #d07030 50%, transparent 60%); border-radius:50%; box-shadow: 0 0 40px 20px #d07030; animation: gg-sun 15s ease-in-out infinite alternate; }
.scn-poem-i-had-a-guinea-golden .sand-dune { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #c09860 0%, #a08050 30%, #806040 100%); border-radius: 80% 20% 0 0 / 60% 40% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.3); }
.scn-poem-i-had-a-guinea-golden .coin-gold { position:absolute; bottom:28%; left:45%; width:16px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c09040 70%); border-radius:50%; box-shadow: 0 0 20px 6px #c09040; animation: gg-coin 4s ease-in-out infinite alternate; }
.scn-poem-i-had-a-guinea-golden .robin { position:absolute; bottom:40%; left:30%; width:18px; height:14px; background: radial-gradient(ellipse, #b87878 0%, #8a5050 70%); border-radius: 50% 50% 40% 40%; clip-path: polygon(50% 0%, 100% 50%, 80% 100%, 20% 100%, 0% 50%); animation: gg-robin 3s ease-in-out infinite; }
.scn-poem-i-had-a-guinea-golden .figure-sigh { position:absolute; bottom:22%; left:55%; width:22px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: gg-sigh 5s ease-in-out infinite; }
@keyframes gg-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes gg-sun { 0% { transform: translateY(10px) scale(.9); opacity:.7 } 50% { transform: translateY(0) scale(1.1); opacity:1 } 100% { transform: translateY(5px) scale(1); opacity:.9 } }
@keyframes gg-coin { 0% { transform: translateY(0) rotate(0deg); box-shadow: 0 0 20px 6px #c09040 } 50% { transform: translateY(-3px) rotate(10deg); box-shadow: 0 0 30px 10px #d0a050 } 100% { transform: translateY(0) rotate(0deg); box-shadow: 0 0 20px 6px #c09040 } }
@keyframes gg-robin { 0% { transform: translate(0,0) rotate(-5deg) } 30% { transform: translate(5px,-2px) rotate(3deg) } 60% { transform: translate(-2px,1px) rotate(-2deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes gg-sigh { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(-5px) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }

.scn-poem-saturday-afternoon {
  background:
    linear-gradient(180deg, #4a8ab0 0%, #70b0d0 40%, #90d0e0 60%, #c0e8f0 80%, #f0f8e0 100%),
    radial-gradient(ellipse at 50% 80%, rgba(240,240,180,.2) 0%, transparent 60%);
}
.scn-poem-saturday-afternoon .sky-sunlit { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a8ab0 0%, #70b0d0 30%, #90d0e0 60%, #c0e8f0 90%, transparent 100%); animation: sa-sky 10s ease-in-out infinite alternate; }
.scn-poem-saturday-afternoon .sunburst { position:absolute; top:10%; left:50%; width:200px; height:200px; margin-left:-100px; background: radial-gradient(ellipse, rgba(255,255,200,.6) 0%, rgba(255,255,200,.2) 40%, transparent 70%); filter: blur(30px); animation: sa-sunburst 8s ease-in-out infinite alternate; }
.scn-poem-saturday-afternoon .jail-wall { position:absolute; bottom:20%; left:15%; right:15%; height:50%; background: linear-gradient(180deg, #8a8a7a 0%, #6a6a5a 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.4); }
.scn-poem-saturday-afternoon .gate-open { position:absolute; bottom:20%; left:40%; width:20%; height:40%; background: linear-gradient(135deg, #4a4a3a 0%, #2a2a1a 100%); border-radius: 0 0 20% 20%; clip-path: polygon(0 0, 100% 0, 100% 100%, 60% 100%, 50% 80%, 40% 100%, 0 100%); animation: sa-gate 5s ease-in-out infinite; }
.scn-poem-saturday-afternoon .kid-leap1 { position:absolute; bottom:25%; left:35%; width:18px; height:28px; background: linear-gradient(180deg, #c07850 0%, #a05840 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sa-leap1 3s ease-in-out infinite; }
.scn-poem-saturday-afternoon .kid-leap2 { position:absolute; bottom:25%; left:45%; width:16px; height:26px; background: linear-gradient(180deg, #b09070 0%, #907050 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sa-leap2 3.5s ease-in-out infinite; }
.scn-poem-saturday-afternoon .kid-leap3 { position:absolute; bottom:25%; left:55%; width:14px; height:24px; background: linear-gradient(180deg, #a07858 0%, #805838 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sa-leap3 4s ease-in-out infinite; }
.scn-poem-saturday-afternoon .ground-grass { position:absolute; bottom:0; left:0; right:0; height:22%; background: linear-gradient(180deg, #7a9a5a 0%, #4a6a3a 100%); border-radius: 70% 30% 0 0 / 100% 100% 0 0; }
@keyframes sa-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes sa-sunburst { 0% { transform: scale(.9); opacity:.5 } 50% { transform: scale(1.2); opacity:.8 } 100% { transform: scale(1); opacity:.6 } }
@keyframes sa-gate { 0% { transform: translateX(0) } 50% { transform: translateX(10px) scaleX(1.05) } 100% { transform: translateX(0) } }
@keyframes sa-leap1 { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-15px) rotate(-10deg) } 50% { transform: translateY(0) rotate(5deg) } 75% { transform: translateY(-10px) rotate(-5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sa-leap2 { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-12px) rotate(8deg) } 50% { transform: translateY(0) rotate(-3deg) } 75% { transform: translateY(-8px) rotate(4deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sa-leap3 { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-18px) rotate(-6deg) } 50% { transform: translateY(0) rotate(4deg) } 75% { transform: translateY(-12px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }

.scn-poem-death-sets-a-thing { background: linear-gradient(180deg, #1c1620 0%, #2a1f2a 30%, #3a2a30 60%, #2a1f18 100%), radial-gradient(ellipse at 50% 100%, #4a3530 0%, transparent 80%); }
.scn-poem-death-sets-a-thing .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(135deg, #2a1f2a 0%, #3a2a30 50%, #2a1f2a 100%); opacity:.9; }
.scn-poem-death-sets-a-thing .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a1f18 0%, #1c1410 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.5); }
.scn-poem-death-sets-a-thing .window-frame { position:absolute; top:12%; left:55%; width:30%; height:45%; border:6px solid #2a1f18; border-radius:4px; background: linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.7), 0 0 0 4px #1a1410; opacity:.6; }
.scn-poem-death-sets-a-thing .window-light { position:absolute; top:14%; left:56%; width:28%; height:42%; background: linear-gradient(180deg, rgba(180,160,140,.25) 0%, rgba(180,160,140,.05) 100%); border-radius:2px; animation: si-ds-win 8s ease-in-out infinite alternate; }
.scn-poem-death-sets-a-thing .table { position:absolute; bottom:30%; left:20%; width:50%; height:8%; background: linear-gradient(180deg, #3a2a20 0%, #2a1a12 100%); border-radius:4px; box-shadow: 0 6px 20px rgba(0,0,0,.6); }
.scn-poem-death-sets-a-thing .candle { position:absolute; bottom:36%; left:32%; width:4px; height:28px; background: linear-gradient(180deg, #e8d4b0 0%, #c8aa80 40%, #8a6a4a 100%); border-radius:2px; transform:rotate(-2deg); }
.scn-poem-death-sets-a-thing .candle-glow { position:absolute; bottom:43%; left:32%; width:12px; height:14px; background: radial-gradient(circle, #ffd080 0%, #e8a040 40%, transparent 70%); border-radius:50%; transform:translateX(-30%); animation: si-ds-flame 3s ease-in-out infinite alternate; box-shadow: 0 0 30px 12px rgba(232,160,64,.4); }
.scn-poem-death-sets-a-thing .sewing-basket { position:absolute; bottom:27%; left:38%; width:18%; height:10%; background: radial-gradient(ellipse at 50% 40%, #4a3a20 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-poem-death-sets-a-thing .thimble { position:absolute; bottom:34%; left:44%; width:6px; height:8px; background: linear-gradient(180deg, #c8b090 0%, #8a7050 100%); border-radius:40% 40% 20% 20%; box-shadow: 0 0 6px 2px rgba(200,176,144,.3); animation: si-ds-thimble 6s ease-in-out infinite; }
@keyframes si-ds-win { 0% { opacity:.15 } 50% { opacity:.3 } 100% { opacity:.1 } }
@keyframes si-ds-flame { 0% { transform:translateX(-30%) scaleY(1) rotate(-3deg); opacity:.85 } 50% { transform:translateX(-30%) scaleY(1.2) rotate(0); opacity:1 } 100% { transform:translateX(-30%) scaleY(.9) rotate(3deg); opacity:.8 } }
@keyframes si-ds-thimble { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }

.scn-poem-i-went-to-heaven { background: linear-gradient(180deg, #1a1a3a 0%, #2a2040 20%, #4a3050 50%, #6a4060 75%, #8a5a50 100%), radial-gradient(ellipse at 50% 100%, #8a5a50 0%, transparent 70%); }
.scn-poem-i-went-to-heaven .sky-dusk { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a2040 0%, #4a3050 40%, #6a4060 100%); animation: si-iwth-sky 15s ease-in-out infinite alternate; }
.scn-poem-i-went-to-heaven .hills-soft { position:absolute; bottom:15%; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a3a44 0%, #3a2230 100%); border-radius:60% 40% 0 0 / 70% 50% 0 0; box-shadow: inset 0 8px 30px rgba(0,0,0,.3); }
.scn-poem-i-went-to-heaven .houses { position:absolute; bottom:18%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #4a3540 0%, #2a1a28 100%); border-radius:8% 8% 4% 4%; display:flex; gap:6%; justify-content:center; }
.scn-poem-i-went-to-heaven .houses::before { content:''; position:absolute; bottom:0; left:8%; width:12%; height:100%; background: #3a2530; border-radius:6% 6% 2% 2%; }
.scn-poem-i-went-to-heaven .houses::after { content:''; position:absolute; bottom:0; right:8%; width:14%; height:90%; background: #3a2530; border-radius:4% 4% 2% 2%; }
.scn-poem-i-went-to-heaven .window-glows { position:absolute; bottom:24%; left:12%; width:6px; height:10px; background: radial-gradient(circle, #ff6040 0%, #c02020 100%); border-radius:10%; box-shadow: 0 0 20px 6px rgba(255,96,64,.6), 0 0 40px 12px rgba(255,96,64,.3); animation: si-iwth-glow 4s ease-in-out infinite alternate; }
.scn-poem-i-went-to-heaven .window-glows::before { content:''; position:absolute; left:300%; width:6px; height:10px; background: radial-gradient(circle, #ff6040 0%, #c02020 100%); border-radius:10%; box-shadow: 0 0 20px 6px rgba(255,96,64,.6); }
.scn-poem-i-went-to-heaven .window-glows::after { content:''; position:absolute; left:500%; width:6px; height:10px; background: radial-gradient(circle, #ff6040 0%, #c02020 100%); border-radius:10%; box-shadow: 0 0 20px 6px rgba(255,96,64,.6); }
.scn-poem-i-went-to-heaven .ruby-light { position:absolute; top:8%; left:20%; width:10%; height:15%; background: radial-gradient(circle, rgba(200,40,60,.4) 0%, transparent 70%); border-radius:50%; filter:blur(10px); animation: si-iwth-ruby 6s ease-in-out infinite; }
.scn-poem-i-went-to-heaven .moth-figures { position:absolute; bottom:35%; left:30%; width:14px; height:18px; background: linear-gradient(180deg, #d0c0b0 0%, #b0a090 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si-iwth-moth-a 8s ease-in-out infinite; }
.scn-poem-i-went-to-heaven .moth-figures::before { content:''; position:absolute; left:200%; width:12px; height:16px; background: linear-gradient(180deg, #d0c0b0 0%, #b0a090 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: si-iwth-moth-b 7s ease-in-out infinite 1s; }
.scn-poem-i-went-to-heaven .moth-trails { position:absolute; bottom:33%; left:28%; width:20%; height:4px; background: linear-gradient(270deg, transparent 0%, rgba(200,180,170,.3) 50%, transparent 100%); border-radius:50%; filter:blur(3px); animation: si-iwth-trail 8s ease-in-out infinite; }
@keyframes si-iwth-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes si-iwth-glow { 0% { opacity:.7; transform:scaleY(1) } 50% { opacity:1; transform:scaleY(1.3) } 100% { opacity:.8; transform:scaleY(.9) } }
@keyframes si-iwth-ruby { 0%,100% { opacity:.5; transform:scale(1) } 50% { opacity:.8; transform:scale(1.2) } }
@keyframes si-iwth-moth-a { 0% { transform:translate(0,0) rotate(-5deg) } 25% { transform:translate(16px,-8px) rotate(3deg) } 50% { transform:translate(32px,0) rotate(-4deg) } 75% { transform:translate(48px,-6px) rotate(2deg) } 100% { transform:translate(64px,0) rotate(-2deg) } }
@keyframes si-iwth-moth-b { 0% { transform:translate(0,0) rotate(4deg) } 25% { transform:translate(-10px,-6px) rotate(-2deg) } 50% { transform:translate(-20px,0) rotate(5deg) } 75% { transform:translate(-30px,-4px) rotate(-1deg) } 100% { transform:translate(-40px,0) rotate(3deg) } }
@keyframes si-iwth-trail { 0%,100% { opacity:.3 } 50% { opacity:.6 } }

.scn-poem-there-is-a-shame { background: linear-gradient(180deg, #2a2a30 0%, #3a3a44 20%, #4a4a54 40%, #3a3a44 60%, #2a2a30 80%, #1a1a20 100%), radial-gradient(ellipse at 50% 0%, #4a4a54 0%, transparent 80%); }
.scn-poem-there-is-a-shame .overcast-sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a3a44 0%, #4a4a54 30%, #5a5a64 100%); animation: si-tias-sky 20s ease-in-out infinite alternate; }
.scn-poem-there-is-a-shame .ground-muted { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #2a2a30 0%, #1a1a20 100%); border-radius:20% 30% 0 0 / 30% 40% 0 0; box-shadow: inset 0 20px 60px rgba(0,0,0,.6); }
.scn-poem-there-is-a-shame .figure-sham { position:absolute; bottom:25%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #1a1a24 0%, #0a0a12 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si-tias-fig 10s ease-in-out infinite; box-shadow: 0 8px 20px rgba(0,0,0,.5); }
.scn-poem-there-is-a-shame .shadow-sharp { position:absolute; bottom:25%; left:35%; width:60px; height:8px; background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, transparent 100%); border-radius:50%; transform:translateX(-10px); filter:blur(2px); animation: si-tias-shadow 10s ease-in-out infinite; }
.scn-poem-there-is-a-shame .light-shaft { position:absolute; top:5%; left:30%; width:20%; height:60%; background: linear-gradient(180deg, rgba(180,180,200,.15) 0%, rgba(180,180,200,.05) 40%, transparent 100%); border-radius:10%; transform:skewX(-8deg); animation: si-tias-light 8s ease-in-out infinite alternate; }
.scn-poem-there-is-a-shame .debris { position:absolute; bottom:18%; left:20%; width:8px; height:8px; background: radial-gradient(circle, #4a4a54 0%, #2a2a30 100%); border-radius:50%; box-shadow: 12px -6px 0 #3a3a44, -8px 4px 0 #4a4a54, 20px 8px 0 #3a3a44; animation: si-tias-debris 15s linear infinite; }
@keyframes si-tias-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes si-tias-fig { 0%,100% { transform:translateX(0) translateY(0) rotate(0) } 25% { transform:translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform:translateX(16px) translateY(0) rotate(-1deg) } 75% { transform:translateX(24px) translateY(-1px) rotate(1deg) } }
@keyframes si-tias-shadow { 0%,100% { transform:translateX(-10px) scaleX(1); opacity:.6 } 25% { transform:translateX(2px) scaleX(1.1); opacity:.4 } 50% { transform:translateX(16px) scaleX(1.2); opacity:.5 } 75% { transform:translateX(28px) scaleX(1.1); opacity:.3 } }
@keyframes si-tias-light { 0% { opacity:.3; transform:skewX(-8deg) scaleY(1) } 50% { opacity:.6; transform:skewX(-6deg) scaleY(1.2) } 100% { opacity:.2; transform:skewX(-10deg) scaleY(.8) } }
@keyframes si-tias-debris { 0% { transform:translate(0,0) rotate(0); opacity:.5 } 25% { transform:translate(10px,-4px) rotate(90deg); opacity:.3 } 50% { transform:translate(20px,0) rotate(180deg); opacity:.5 } 75% { transform:translate(30px,-2px) rotate(270deg); opacity:.2 } 100% { transform:translate(40px,0) rotate(360deg); opacity:.4 } }

.scn-poem-pompless-no-life { background: linear-gradient(180deg, #c8c0b8 0%, #b0a89a 20%, #a09888 40%, #909080 60%, #808070 80%, #706860 100%), radial-gradient(ellipse at 50% 100%, #908878 0%, transparent 80%); }
.scn-poem-pompless-no-life .sky-pale { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d0c8c0 0%, #c0b8b0 40%, #b0a8a0 100%); animation: si-ppnl-sky 18s ease-in-out infinite alternate; }
.scn-poem-pompless-no-life .horizon-line { position:absolute; bottom:30%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent 0%, #908880 30%, #a09890 50%, #908880 70%, transparent 100%); }
.scn-poem-pompless-no-life .procession-path { position:absolute; bottom:0; left:20%; right:20%; height:35%; background: linear-gradient(180deg, #a09888 0%, #888070 30%, #706860 100%); border-radius:30% 30% 0 0 / 40% 40% 0 0; box-shadow: inset 0 30px 60px rgba(80,70,60,.3); }
.scn-poem-pompless-no-life .figures-row { position:absolute; bottom:18%; left:25%; width:16px; height:34px; background: linear-gradient(180deg, #706860 0%, #504840 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si-ppnl-row 12s ease-in-out infinite; }
.scn-poem-pompless-no-life .figures-row::before { content:''; position:absolute; left:40px; width:14px; height:32px; background: linear-gradient(180deg, #706860 0%, #504840 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: si-ppnl-row 12s ease-in-out infinite 0.5s; }
.scn-poem-pompless-no-life .figures-row::after { content:''; position:absolute; left:80px; width:15px; height:33px; background: linear-gradient(180deg, #706860 0%, #504840 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: si-ppnl-row 12s ease-in-out infinite 1s; }
.scn-poem-pompless-no-life .pall-drape { position:absolute; bottom:22%; left:30%; width:30%; height:8%; background: linear-gradient(180deg, #605848 0%, #403830 100%); border-radius:40% 40% 10% 10% / 80% 80% 20% 20%; box-shadow: 0 8px 24px rgba(0,0,0,.2); animation: si-ppnl-drape 6s ease-in-out infinite alternate; }
.scn-poem-pompless-no-life .beckoning-light { position:absolute; bottom:30%; right:18%; width:8px; height:12px; background: radial-gradient(circle, #f0e8d8 0%, #d0c8b8 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(240,232,216,.4), 0 0 60px 20px rgba(240,232,216,.15); animation: si-ppnl-beckon 5s ease-in-out infinite alternate; }
.scn-poem-pompless-no-life .distant-arch { position:absolute; bottom:25%; right:12%; width:60px; height:50px; border:3px solid #908878; border-bottom:none; border-radius:60% 60% 0 0; opacity:.4; background: linear-gradient(180deg, rgba(200,192,184,.15) 0%, transparent 100%); animation: si-ppnl-arch 15s ease-in-out infinite; }
@keyframes si-ppnl-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes si-ppnl-row { 0%,100% { transform:translateX(0) translateY(0) } 25% { transform:translateX(4px) translateY(-1px) } 50% { transform:translateX(8px) translateY(0) } 75% { transform:translateX(12px) translateY(-1px) } }
@keyframes si-ppnl-drape { 0% { transform:translateY(0) scaleX(1); opacity:.7 } 50% { transform:translateY(-3px) scaleX(1.02); opacity:.9 } 100% { transform:translateY(0) scaleX(1); opacity:.75 } }
@keyframes si-ppnl-beckon { 0% { opacity:.6; transform:scale(1) } 50% { opacity:1; transform:scale(1.4) } 100% { opacity:.7; transform:scale(.9) } }
@keyframes si-ppnl-arch { 0%,100% { opacity:.3 } 50% { opacity:.5 } }

.scn-poem-the-sleeping-flowers {
  background: linear-gradient(180deg, #0b0f2a 0%, #17274a 40%, #2b4a6e 80%), radial-gradient(ellipse at 50% 0%, #3b6a9a 0%, transparent 70%);
}
.scn-poem-the-sleeping-flowers .sky-night {
  position: absolute; inset: 0 0 50% 0;
  background: radial-gradient(circle at 70% 20%, #2a4a7a 0%, transparent 60%), linear-gradient(180deg, #0b0f2a 0%, #1a2f50 100%);
  animation: sleep-sky 15s ease-in-out infinite alternate;
}
.scn-poem-the-sleeping-flowers .moon {
  position: absolute; top: 12%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle, #e8f0ff 0%, #b0c8e8 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px rgba(200,220,255,0.3);
  animation: sleep-moon 20s ease-in-out infinite;
}
.scn-poem-the-sleeping-flowers .hill-bg {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e3a4a 0%, #0e2030 100%);
  border-radius: 0 0 40% 30% / 0 0 60% 40%;
}
.scn-poem-the-sleeping-flowers .hill-mid {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a4a3a 0%, #1a2e20 100%);
  border-radius: 0 0 50% 40% / 0 0 70% 50%;
  animation: sleep-hill 18s ease-in-out infinite alternate;
}
.scn-poem-the-sleeping-flowers .flower-cluster {
  position: absolute; bottom: 20%; left: 20%; width: 120px; height: 80px;
  background: radial-gradient(ellipse at 50% 100%, #2a4a3a 0%, transparent 60%);
  animation: sleep-sway 6s ease-in-out infinite;
}
.scn-poem-the-sleeping-flowers .flower-stem {
  position: absolute; bottom: 22%; left: 35%; width: 2px; height: 50px;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%);
  transform-origin: bottom center;
  animation: sleep-sway 5s ease-in-out infinite alternate;
}
.scn-poem-the-sleeping-flowers .flower-bloom {
  position: absolute; bottom: 48%; left: 35%; width: 14px; height: 14px;
  background: radial-gradient(circle, #c8d8f0 0%, #8aa8d0 100%);
  border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 0 12px 4px rgba(200,220,255,0.2);
  animation: sleep-bloom 4s ease-in-out infinite alternate;
}
.scn-poem-the-sleeping-flowers .mist {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, transparent 0%, rgba(80,120,160,0.15) 50%, transparent 100%);
  filter: blur(8px);
  animation: sleep-mist 30s linear infinite;
}
@keyframes sleep-sky { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes sleep-moon { 0% { transform: translate(0, 0) } 50% { transform: translate(4px, -2px) } 100% { transform: translate(-2px, 1px) } }
@keyframes sleep-hill { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(2px) } }
@keyframes sleep-sway { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-1deg) } }
@keyframes sleep-bloom { 0% { transform: scale(1); opacity: 0.8 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(0.95); opacity: 0.9 } }
@keyframes sleep-mist { 0% { transform: translateX(-10%) } 50% { transform: translateX(10%) } 100% { transform: translateX(-10%) } }

.scn-item-my-rose {
  background: linear-gradient(180deg, #f9e8c0 0%, #f0c080 30%, #d8a050 60%, #b87830 100%), radial-gradient(circle at 40% 50%, #ffe0a0 0%, transparent 60%);
}
.scn-item-my-rose .bg-sunlit {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #ffe8b0 0%, #f0c080 50%, #d0a050 100%);
  animation: myr-glint 12s ease-in-out infinite alternate;
}
.scn-item-my-rose .sun-rays {
  position: absolute; top: 10%; left: 40%; width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(255,240,180,0.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: myr-rays 8s ease-in-out infinite;
}
.scn-item-my-rose .rose-petal-back {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 100px;
  background: radial-gradient(ellipse at 40% 60%, #f0c0a0 0%, #c08060 50%, #a06040 100%);
  border-radius: 60% 40% 50% 50% / 50% 40% 60% 50%;
  transform: translateX(-50%) rotate(-10deg);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  animation: myr-petal 9s ease-in-out infinite alternate;
}
.scn-item-my-rose .rose-petal-front {
  position: absolute; bottom: 35%; left: 50%; width: 90px; height: 80px;
  background: radial-gradient(ellipse at 50% 40%, #f8d0b0 0%, #d09060 50%, #b06840 100%);
  border-radius: 50% 50% 60% 40% / 50% 50% 40% 60%;
  transform: translateX(-50%) rotate(5deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  animation: myr-petal 7s ease-in-out infinite alternate-reverse;
}
.scn-item-my-rose .rose-stem {
  position: absolute; bottom: 15%; left: 50%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #5a7a3a 0%, #3a5a2a 100%);
  transform: translateX(-50%);
  border-radius: 2px;
}
.scn-item-my-rose .rose-leaf {
  position: absolute; bottom: 40%; left: 55%; width: 40px; height: 20px;
  background: radial-gradient(ellipse at 50% 50%, #7a9a5a 0%, #4a6a3a 100%);
  border-radius: 0 50% 50% 0 / 0 50% 50% 0;
  transform: rotate(20deg);
  animation: myr-leaf 5s ease-in-out infinite alternate;
}
.scn-item-my-rose .dewdrop {
  position: absolute; bottom: 45%; left: 48%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffffff 0%, #e0f0ff 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,255,255,0.5);
  animation: myr-dew 3s ease-in-out infinite;
}
.scn-item-my-rose .tiny-figure {
  position: absolute; bottom: 42%; left: 38%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #f0d0b0 0%, #c09070 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: rotate(-5deg);
  animation: myr-figure 4s ease-in-out infinite;
}
@keyframes myr-glint { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes myr-rays { 0% { transform: scale(1) rotate(0deg); opacity: 0.5 } 50% { transform: scale(1.05) rotate(5deg); opacity: 0.7 } 100% { transform: scale(0.95) rotate(-3deg); opacity: 0.5 } }
@keyframes myr-petal { 0% { transform: translateX(-50%) rotate(-10deg) scale(1) } 50% { transform: translateX(-50%) rotate(0deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(8deg) scale(0.98) } }
@keyframes myr-leaf { 0% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(25deg) translateY(-2px) } 100% { transform: rotate(15deg) translateY(1px) } }
@keyframes myr-dew { 0% { transform: translateY(0) scale(1); opacity: 0.8 } 50% { transform: translateY(-2px) scale(1.2); opacity: 1 } 100% { transform: translateY(0) scale(1); opacity: 0.8 } }
@keyframes myr-figure { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(0deg) translateX(3px) } 100% { transform: rotate(-3deg) translateX(-2px) } }

.scn-poem-the-orioles-secret {
  background: linear-gradient(180deg, #fde8b0 0%, #e8c870 30%, #c8a050 60%, #a08030 100%), radial-gradient(circle at 50% 30%, #ffe080 0%, transparent 60%);
}
.scn-poem-the-orioles-secret .dawn-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f8d8a0 0%, #e0b060 40%, #c09040 100%);
  animation: ori-sky 20s ease-in-out infinite alternate;
}
.scn-poem-the-orioles-secret .sun-glow {
  position: absolute; top: 5%; left: 40%; width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(255,240,160,0.4) 0%, transparent 60%);
  filter: blur(15px);
  animation: ori-glow 10s ease-in-out infinite;
}
.scn-poem-the-orioles-secret .tree-branch {
  position: absolute; top: 30%; left: 20%; right: 20%; height: 6px;
  background: linear-gradient(90deg, #5a3a1a 0%, #8a6a3a 50%, #5a3a1a 100%);
  border-radius: 3px;
  transform: rotate(-2deg);
  animation: ori-branch 8s ease-in-out infinite alternate;
}
.scn-poem-the-orioles-secret .oriole-body {
  position: absolute; top: 25%; left: 45%; width: 36px; height: 24px;
  background: radial-gradient(ellipse at 50% 40%, #f8c830 0%, #e8a820 60%, #c08010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ori-bob 3s ease-in-out infinite;
}
.scn-poem-the-orioles-secret .oriole-wing {
  position: absolute; top: 22%; left: 48%; width: 20px; height: 14px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  transform: rotate(-20deg);
  animation: ori-wing 0.8s ease-in-out infinite alternate;
}
.scn-poem-the-orioles-secret .oriole-tail {
  position: absolute; top: 28%; left: 42%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #e8a820 0%, #c08010 100%);
  border-radius: 0 0 50% 50% / 0 0 60% 60%;
  transform: rotate(15deg);
  animation: ori-tail 2s ease-in-out infinite;
}
.scn-poem-the-orioles-secret .leaf-cluster {
  position: absolute; top: 20%; left: 30%; width: 60px; height: 40px;
  background: radial-gradient(ellipse at 50% 50%, #6a9a4a 0%, #4a7a2a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: ori-leaf 7s ease-in-out infinite alternate;
}
.scn-poem-the-orioles-secret .golden-spark {
  position: absolute; top: 22%; left: 55%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffee80 0%, #f0c040 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,200,50,0.6);
  animation: ori-spark 1.5s ease-in-out infinite;
}
@keyframes ori-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ori-glow { 0% { transform: scale(1) translateX(0) } 50% { transform: scale(1.1) translateX(5px) } 100% { transform: scale(0.95) translateX(-3px) } }
@keyframes ori-branch { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(-1deg) translateY(1px) } }
@keyframes ori-bob { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-3px) } 100% { transform: rotate(8deg) translateY(0) } }
@keyframes ori-wing { 0% { transform: rotate(-20deg) translateY(0) } 100% { transform: rotate(-30deg) translateY(-4px) } }
@keyframes ori-tail { 0% { transform: rotate(15deg) scaleY(1) } 50% { transform: rotate(10deg) scaleY(1.2) } 100% { transform: rotate(20deg) scaleY(1) } }
@keyframes ori-leaf { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(3deg) } 100% { transform: translateX(-2px) rotate(-2deg) } }
@keyframes ori-spark { 0% { transform: scale(1); opacity: 0.6 } 50% { transform: scale(1.5); opacity: 1 } 100% { transform: scale(0.8); opacity: 0.4 } }

.scn-poem-i-never-thought-jason {
  background: linear-gradient(180deg, #8a8a7a 0%, #6a6a5a 30%, #4a4a3a 60%, #2a2a1a 100%), radial-gradient(ellipse at 50% 30%, #9a9a8a 0%, transparent 70%);
}
.scn-poem-i-never-thought-jason .overcast-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #a0a090 0%, #808070 40%, #606050 100%);
  animation: jason-sky 25s ease-in-out infinite alternate;
}
.scn-poem-i-never-thought-jason .ground-field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #5a5a3a 0%, #3a3a1a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.3);
}
.scn-poem-i-never-thought-jason .tree-trunk {
  position: absolute; bottom: 20%; left: 50%; width: 16px; height: 120px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a2a 30%, #3a2a1a 100%);
  transform: translateX(-50%);
  border-radius: 4px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.3);
}
.scn-poem-i-never-thought-jason .tree-branch {
  position: absolute; bottom: 70%; left: 45%; width: 40px; height: 4px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a2a 100%);
  border-radius: 2px;
  transform: rotate(30deg);
  transform-origin: left center;
  animation: jason-branch 6s ease-in-out infinite alternate;
}
.scn-poem-i-never-thought-jason .apple {
  position: absolute; bottom: 65%; left: 48%; width: 12px; height: 12px;
  background: radial-gradient(circle at 40% 40%, #b87858 0%, #8a5840 50%, #683828 100%);
  border-radius: 50% 50% 50% 50% / 50% 50% 40% 40%;
  box-shadow: 1px 2px 4px rgba(0,0,0,0.3);
  animation: jason-apple 4s ease-in-out infinite;
}
.scn-poem-i-never-thought-jason .apple-shadow {
  position: absolute; bottom: 62%; left: 48%; width: 14px; height: 4px;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(2px);
  animation: jason-apple-shadow 4s ease-in-out infinite;
}
.scn-poem-i-never-thought-jason .blade-grass {
  position: absolute; bottom: 10%; left: 30%; width: 3px; height: 30px;
  background: linear-gradient(180deg, #7a8a3a 0%, #4a5a2a 100%);
  border-radius: 0 0 50% 50% / 0 0 50% 50%;
  transform-origin: bottom center;
  animation: jason-grass 3s ease-in-out infinite alternate;
}
.scn-poem-i-never-thought-jason .figure-silhouette {
  position: absolute; bottom: 10%; left: 60%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(5deg);
  animation: jason-figure 5s ease-in-out infinite;
}
@keyframes jason-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes jason-branch { 0% { transform: rotate(30deg) translateY(0) } 50% { transform: rotate(35deg) translateY(-2px) } 100% { transform: rotate(25deg) translateY(1px) } }
@keyframes jason-apple { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.05) } 100% { transform: translateY(0) scale(0.95) } }
@keyframes jason-apple-shadow { 0% { transform: scale(1); opacity: 0.3 } 50% { transform: scale(1.2); opacity: 0.2 } 100% { transform: scale(0.9); opacity: 0.35 } }
@keyframes jason-grass { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }
@keyframes jason-figure { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(3deg) translateX(3px) } 100% { transform: rotate(6deg) translateX(-2px) } }

/* poem-death-blow-is-life-blow */
.scn-poem-death-blow-is-life-blow {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a2e 40%, #1e1e1e 100%), radial-gradient(ellipse at 50% 0%, #3a2a3e 0%, transparent 70%);
}
.scn-poem-death-blow-is-life-blow .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2e2a30 0%, #1e1a20 100%);
  animation: db-wall 15s ease-in-out infinite alternate;
}
.scn-poem-death-blow-is-life-blow .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1618 0%, #0e0c10 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-poem-death-blow-is-life-blow .desk {
  position: absolute; bottom: 22%; left: 50%; width: 120px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3028 0%, #241e1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-death-blow-is-life-blow .candle {
  position: absolute; bottom: 38%; left: 50%; width: 8px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0d090 0%, #c8a060 30%, #804020 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
}
.scn-poem-death-blow-is-life-blow .candle-glow {
  position: absolute; bottom: 42%; left: 50%; width: 100px; height: 100px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,80,0.3) 0%, rgba(200,120,40,0.1) 50%, transparent 100%);
  border-radius: 50%;
  animation: db-glow 3s ease-in-out infinite alternate;
}
.scn-poem-death-blow-is-life-blow .figure-db {
  position: absolute; bottom: 22%; left: 42%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0c0a0e 0%, #1a1618 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: db-figure 6s ease-in-out infinite;
}
.scn-poem-death-blow-is-life-blow .paper {
  position: absolute; bottom: 28%; left: 54%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%);
  border-radius: 2%;
  transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: db-paper 8s ease-in-out infinite;
}
.scn-poem-death-blow-is-life-blow .shadow {
  position: absolute; bottom: 20%; left: 35%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: db-shadow 6s ease-in-out infinite alternate;
}
@keyframes db-wall { 0% { opacity: 0.8 } 50% { opacity: 0.9 } 100% { opacity: 0.7 } }
@keyframes db-glow { 0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.6 } 50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1 } 100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.7 } }
@keyframes db-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(8px) translateY(0) rotate(0deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(-2deg) } 100% { transform: translateX(16px) translateY(0) rotate(1deg) } }
@keyframes db-paper { 0%,100% { transform: rotate(5deg) } 50% { transform: rotate(8deg) translateY(-2px) } }
@keyframes db-shadow { 0% { transform: scaleX(1); opacity: 0.4 } 50% { transform: scaleX(1.2); opacity: 0.6 } 100% { transform: scaleX(0.9); opacity: 0.3 } }

/* poem-i-have-not-told-my-garden */
.scn-poem-i-have-not-told-my-garden {
  background: linear-gradient(180deg, #2a2a3a 0%, #1e1e2e 50%, #0e0e1a 100%), radial-gradient(ellipse at 50% 40%, #3a3a4e 0%, transparent 70%);
}
.scn-poem-i-have-not-told-my-garden .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1820 0%, #24202a 100%);
  animation: ig-room 12s ease-in-out infinite alternate;
}
.scn-poem-i-have-not-told-my-garden .window-frame {
  position: absolute; top: 10%; left: 50%; width: 180px; height: 240px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 0 8px #1a1410, 0 8px 16px rgba(0,0,0,0.6);
}
.scn-poem-i-have-not-told-my-garden .window-glass {
  position: absolute; top: 12%; left: calc(50% - 76px); width: 152px; height: 210px;
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 100%);
  border-radius: 2%;
  opacity: 0.6;
  animation: ig-glass 8s ease-in-out infinite alternate;
}
.scn-poem-i-have-not-told-my-garden .sill {
  position: absolute; bottom: 30%; left: calc(50% - 90px); width: 180px; height: 12px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2%;
}
.scn-poem-i-have-not-told-my-garden .bee {
  position: absolute; top: 20%; left: 30%; width: 14px; height: 10px;
  background: radial-gradient(circle at 30% 50%, #f0d080 0%, #805020 100%);
  border-radius: 50% 40% 40% 50%;
  animation: ig-bee 4s ease-in-out infinite;
}
.scn-poem-i-have-not-told-my-garden .bee-shadow {
  position: absolute; top: 22%; left: 30%; width: 20px; height: 6px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: ig-bee-shadow 4s ease-in-out infinite;
}
.scn-poem-i-have-not-told-my-garden .curtain-left {
  position: absolute; top: 10%; left: calc(50% - 100px); width: 30px; height: 250px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%);
  border-radius: 0 30% 30% 0;
  transform-origin: top left;
  animation: ig-curtain 10s ease-in-out infinite alternate;
}
.scn-poem-i-have-not-told-my-garden .curtain-right {
  position: absolute; top: 10%; right: calc(50% - 100px); width: 30px; height: 250px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%);
  border-radius: 30% 0 0 30%;
  transform-origin: top right;
  animation: ig-curtain 10s ease-in-out infinite alternate-reverse;
}
@keyframes ig-room { 0% { opacity: 0.7 } 50% { opacity: 0.85 } 100% { opacity: 0.75 } }
@keyframes ig-glass { 0% { opacity: 0.5; transform: scaleX(1) } 50% { opacity: 0.7; transform: scaleX(1.02) } 100% { opacity: 0.6; transform: scaleX(0.98) } }
@keyframes ig-bee { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 25% { transform: translate(10px,-5px) rotate(10deg) scale(1.1) } 50% { transform: translate(20px,2px) rotate(-5deg) scale(0.9) } 75% { transform: translate(30px,-3px) rotate(5deg) scale(1.05) } 100% { transform: translate(40px,0) rotate(0deg) scale(1) } }
@keyframes ig-bee-shadow { 0% { transform: translate(0,0) scaleX(1) } 25% { transform: translate(10px,2px) scaleX(1.2) } 50% { transform: translate(20px,-1px) scaleX(0.8) } 75% { transform: translate(30px,1px) scaleX(1.1) } 100% { transform: translate(40px,0) scaleX(1) } }
@keyframes ig-curtain { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-2deg) } }

/* poem-they-dropped-like-flakes */
.scn-poem-they-dropped-like-flakes {
  background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 40%, #8a9aaa 100%), radial-gradient(ellipse at 50% 0%, #b0c0d0 0%, transparent 80%);
}
.scn-poem-they-dropped-like-flakes .field-bg {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%);
  border-radius: 40% 60% 0 0 / 60% 70% 0 0;
}
.scn-poem-they-dropped-like-flakes .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
  animation: df-grass 6s ease-in-out infinite alternate;
}
.scn-poem-they-dropped-like-flakes .sky-df {
  position: absolute; top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #8a9aaa 0%, #a0b0c0 100%);
  animation: df-sky 20s ease-in-out infinite alternate;
}
.scn-poem-they-dropped-like-flakes .petal-1 {
  position: absolute; top: 10%; left: 20%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0d0d0 0%, #d8b0b0 100%);
  border-radius: 50% 0 50% 0;
  animation: df-petal1 8s linear infinite;
}
.scn-poem-they-dropped-like-flakes .petal-2 {
  position: absolute; top: 15%; left: 60%; width: 10px; height: 10px;
  background: radial-gradient(circle, #f0d0d0 0%, #d8b0b0 100%);
  border-radius: 50% 0 50% 0;
  animation: df-petal2 10s linear infinite;
}
.scn-poem-they-dropped-like-flakes .petal-3 {
  position: absolute; top: 5%; left: 40%; width: 8px; height: 8px;
  background: radial-gradient(circle, #f0d0d0 0%, #d8b0b0 100%);
  border-radius: 50% 0 50% 0;
  animation: df-petal3 12s linear infinite;
}
.scn-poem-they-dropped-like-flakes .figure-df {
  position: absolute; bottom: 18%; left: 45%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-figure 5s ease-in-out infinite;
}
.scn-poem-they-dropped-like-flakes .ghost-mist {
  position: absolute; bottom: 25%; left: 55%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, rgba(200,200,220,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: df-mist 12s ease-in-out infinite alternate;
}
@keyframes df-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes df-sky { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.8 } }
@keyframes df-petal1 { 0% { transform: translateY(-10px) rotate(0deg); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(80vh) rotate(360deg); opacity: 0; } }
@keyframes df-petal2 { 0% { transform: translateY(-10px) rotate(45deg); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(85vh) rotate(720deg); opacity: 0; } }
@keyframes df-petal3 { 0% { transform: translateY(-10px) rotate(-30deg); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(90vh) rotate(540deg); opacity: 0; } }
@keyframes df-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(5px) translateY(-3px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-2px) rotate(1deg) } 100% { transform: translateX(20px) translateY(0) rotate(0deg) } }
@keyframes df-mist { 0% { transform: scale(0.8); opacity: 0.3 } 50% { transform: scale(1.2); opacity: 0.6 } 100% { transform: scale(0.9); opacity: 0.4 } }

/* poem-some-too-fragile */
.scn-poem-some-too-fragile {
  background: linear-gradient(180deg, #3a4a5a 0%, #4a5a6a 50%, #5a6a7a 100%), radial-gradient(ellipse at 50% 100%, #6a7a8a 0%, transparent 80%);
}
.scn-poem-some-too-fragile .sky-sf {
  position: absolute; top: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 100%);
  animation: sf-sky 18s ease-in-out infinite alternate;
}
.scn-poem-some-too-fragile .ground-sf {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-poem-some-too-fragile .tombstone {
  position: absolute; bottom: 28%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a8a8a 0%, #6a6a6a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: sf-tombstone 12s ease-in-out infinite alternate;
}
.scn-poem-some-too-fragile .grave-mound {
  position: absolute; bottom: 20%; left: 48%; width: 80px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #4a5a3a 0%, #2a3a2a 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: sf-mound 8s ease-in-out infinite alternate;
}
.scn-poem-some-too-fragile .winter-grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
  animation: sf-grass 10s ease-in-out infinite alternate;
}
.scn-poem-some-too-fragile .frost-fog {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,220,240,0.2) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(12px);
  animation: sf-fog 20s ease-in-out infinite alternate;
}
.scn-poem-some-too-fragile .leafless-branch {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 20%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: sf-branch 15s ease-in-out infinite alternate;
}
@keyframes sf-sky { 0% { opacity: 0.6 } 50% { opacity: 0.8 } 100% { opacity: 0.7 } }
@keyframes sf-tombstone { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes sf-mound { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(0.95) } }
@keyframes sf-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes sf-fog { 0% { opacity: 0.3; transform: scale(0.9) } 50% { opacity: 0.6; transform: scale(1.1) } 100% { opacity: 0.4; transform: scale(1) } }
@keyframes sf-branch { 0% { transform: rotate(15deg) } 50% { transform: rotate(18deg) } 100% { transform: rotate(12deg) } }

.scn-poem-wedded {
  background: linear-gradient(160deg, #1a1a2e 0%, #2a1a3e 30%, #1e1a3a 70%, #0a0a1a 100%),
              radial-gradient(ellipse at 60% 70%, #3a2a5e 0%, transparent 60%);
}
.scn-poem-wedded .bg-wd {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0a1a 0%, #1a1a3a 100%);
  opacity: 0.7;
}
.scn-poem-wedded .window-wd {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #2a2a5a 0%, #1a1a3a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 30px rgba(100, 80, 160, 0.3);
}
.scn-poem-wedded .figure-wd {
  position: absolute; bottom: 22%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #c8c8dc 0%, #9a9ab0 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wd-figure 6s ease-in-out infinite alternate;
}
.scn-poem-wedded .well-wd {
  position: absolute; bottom: 18%; left: 50%; width: 40px; height: 25px;
  background: radial-gradient(circle, #3a2a5a 0%, #1a1a3a 100%);
  border-radius: 50% 50% 40% 40%;
  transform: translateX(-50%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.8);
}
.scn-poem-wedded .drapery-wd {
  position: absolute; top: 8%; left: 20%; width: 60%; height: 70%;
  background: linear-gradient(90deg, transparent 0%, #2a1a3a 20%, #1a0a2a 50%, #2a1a3a 80%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  opacity: 0.6;
  animation: wd-drapery 10s ease-in-out infinite alternate;
}
.scn-poem-wedded .glow-wd {
  position: absolute; top: 12%; left: 35%; width: 30%; height: 30%;
  background: radial-gradient(circle, #b098e0 0%, transparent 70%);
  mix-blend-mode: screen;
  animation: wd-glow 5s ease-in-out infinite alternate;
}
@keyframes wd-figure {
  0%   { transform: translateY(0) rotate(-1deg); }
  50%  { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(2px) rotate(0); }
}
@keyframes wd-drapery {
  0%   { transform: scaleX(1); opacity: 0.6; }
  50%  { transform: scaleX(1.05); opacity: 0.8; }
  100% { transform: scaleX(0.95); opacity: 0.5; }
}
@keyframes wd-glow {
  0%   { opacity: 0.5; transform: scale(0.8); }
  100% { opacity: 0.9; transform: scale(1.3); }
}

.scn-poem-the-tulip {
  background: linear-gradient(180deg, #fce4c8 0%, #f8d8a0 30%, #d4a87a 60%, #7a5a3a 100%),
              radial-gradient(ellipse at 30% 80%, #e8c080 0%, transparent 50%);
}
.scn-poem-the-tulip .sky-tp {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffe8c0 0%, #f8d0a0 100%);
  animation: tp-sky 14s ease-in-out infinite alternate;
}
.scn-poem-the-tulip .ground-tp {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8a7a3a 0%, #5a4a2a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
}
.scn-poem-the-tulip .tree-tp {
  position: absolute; bottom: 35%; left: 25%; width: 16px; height: 80px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: tp-tree 8s ease-in-out infinite alternate;
}
.scn-poem-the-tulip .foliage-tp {
  position: absolute; bottom: 72%; left: 18%; width: 50px; height: 40px;
  background: radial-gradient(circle, #7a9a5a 0%, #4a6a3a 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: tp-foliage 10s ease-in-out infinite alternate;
}
.scn-poem-the-tulip .figure-tp {
  position: absolute; bottom: 30%; left: 30%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #c8a87a 0%, #9a7a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tp-figure 6s ease-in-out infinite alternate;
}
.scn-poem-the-tulip .tulip-tp {
  position: absolute; bottom: 28%; left: 45%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #c8553d 0%, #a0402e 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform: rotate(-10deg);
  animation: tp-tulip 4s ease-in-out infinite alternate;
}
.scn-poem-the-tulip .breeze-tp {
  position: absolute; top: 20%; right: 10%; width: 60px; height: 10px;
  background: linear-gradient(90deg, transparent, rgba(255,255,200,0.3), transparent);
  filter: blur(4px);
  animation: tp-breeze 12s linear infinite;
}
@keyframes tp-sky {
  0%   { opacity: 0.9; }
  100% { opacity: 1; }
}
@keyframes tp-tree {
  0%   { transform: rotate(-2deg); }
  100% { transform: rotate(2deg); }
}
@keyframes tp-foliage {
  0%   { transform: translateY(0) scale(1); }
  100% { transform: translateY(-5px) scale(1.1); }
}
@keyframes tp-figure {
  0%   { transform: translateY(0) rotate(0); }
  50%  { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes tp-tulip {
  0%   { transform: rotate(-15deg) scale(1); }
  100% { transform: rotate(5deg) scale(1.1); }
}
@keyframes tp-breeze {
  0%   { transform: translateX(-30px); opacity: 0; }
  50%  { opacity: 0.6; }
  100% { transform: translateX(120vw); opacity: 0; }
}

.scn-poem-the-waking-year {
  background: linear-gradient(180deg, #fce4c0 0%, #f0c88a 40%, #d4a060 70%, #8a6a3a 100%),
              radial-gradient(ellipse at 30% 20%, #ffe8a0 0%, transparent 60%);
}
.scn-poem-the-waking-year .sky-wy {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #ffe8c0 0%, #f8d080 100%);
  animation: wy-sky 12s ease-in-out infinite alternate;
}
.scn-poem-the-waking-year .hill-wy {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #6a7a3a 0%, #3a4a1a 100%);
  border-radius: 70% 30% 0 0 / 80% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: wy-hill 20s ease-in-out infinite alternate;
}
.scn-poem-the-waking-year .figure-red-wy {
  position: absolute; bottom: 36%; left: 35%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #c8553d 0%, #a0402e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wy-fig-red 8s ease-in-out infinite alternate;
}
.scn-poem-the-waking-year .figure-white-wy {
  position: absolute; bottom: 30%; left: 58%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #e8e0d0 0%, #c0b8a8 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wy-fig-white 10s ease-in-out infinite alternate;
}
.scn-poem-the-waking-year .tree-wy {
  position: absolute; bottom: 34%; left: 20%; width: 14px; height: 70px;
  background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: wy-tree 9s ease-in-out infinite alternate;
}
.scn-poem-the-waking-year .grass-wy {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #5a7a2a 0%, #3a5a1a 100%);
  filter: blur(3px);
}
.scn-poem-the-waking-year .breeze-wy {
  position: absolute; top: 15%; left: 5%; width: 80px; height: 12px;
  background: linear-gradient(90deg, transparent, rgba(255,240,200,0.4), transparent);
  filter: blur(5px);
  animation: wy-breeze 15s linear infinite;
}
.scn-poem-the-waking-year .sunray-wy {
  position: absolute; top: 5%; left: 40%; width: 20%; height: 40%;
  background: linear-gradient(180deg, rgba(255,220,150,0.3) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 70% 100%, 30% 100%);
  animation: wy-sunray 6s ease-in-out infinite alternate;
}
@keyframes wy-sky {
  0%   { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes wy-hill {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-4px); }
}
@keyframes wy-fig-red {
  0%   { transform: translateY(0) rotate(-2deg); }
  50%  { transform: translateY(-4px) rotate(0); }
  100% { transform: translateY(2px) rotate(2deg); }
}
@keyframes wy-fig-white {
  0%   { transform: translateY(0) rotate(2deg); }
  50%  { transform: translateY(-2px) rotate(0); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes wy-tree {
  0%   { transform: rotate(-3deg); }
  100% { transform: rotate(3deg); }
}
@keyframes wy-breeze {
  0%   { transform: translateX(-40px); opacity: 0; }
  40%  { opacity: 0.5; }
  100% { transform: translateX(120vw); opacity: 0; }
}
@keyframes wy-sunray {
  0%   { opacity: 0.3; transform: scaleY(1); }
  100% { opacity: 0.7; transform: scaleY(1.2); }
}

.scn-poem-to-march {
  background: linear-gradient(180deg, #fce0a0 0%, #f0c070 30%, #d49850 60%, #a07030 100%),
              radial-gradient(ellipse at 50% 80%, #ffe8a0 0%, transparent 50%);
}
.scn-poem-to-march .bg-tm {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8c080 0%, #c09850 100%);
  opacity: 0.6;
}
.scn-poem-to-march .door-tm {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 80%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3a2a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset -8px 0 20px rgba(0,0,0,0.5), inset 8px 0 20px rgba(0,0,0,0.3);
}
.scn-poem-to-march .march-figure-tm {
  position: absolute; bottom: 12%; left: 42%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tm-march 6s ease-in-out infinite alternate;
}
.scn-poem-to-march .hat-tm {
  position: absolute; bottom: 75%; left: 41%; width: 30px; height: 10px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: tm-hat 4s ease-in-out infinite alternate;
}
.scn-poem-to-march .stairs-tm {
  position: absolute; bottom: 0; left: 36%; width: 28%; height: 12%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 5% 100%);
  box-shadow: 0 -4px 6px rgba(0,0,0,0.3);
  animation: tm-stairs 8s ease-in-out infinite alternate;
}
.scn-poem-to-march .wind-tm {
  position: absolute; top: 10%; left: 50%; width: 12px; height: 6px;
  background: rgba(255,240,200,0.4);
  filter: blur(3px);
  border-radius: 50%;
  animation: tm-wind 10s linear infinite;
}
.scn-poem-to-march .wind-1 {
  animation-delay: 0s;
  top: 15%;
  left: 40%;
}
.scn-poem-to-march .wind-2 {
  animation-delay: 4s;
  top: 25%;
  left: 60%;
}
.scn-poem-to-march .dust-tm {
  position: absolute; bottom: 20%; left: 35%; width: 8px; height: 8px;
  background: rgba(200,180,140,0.4);
  border-radius: 50%;
  filter: blur(2px);
  animation: tm-dust 7s ease-in-out infinite alternate;
}
@keyframes tm-march {
  0%   { transform: translateY(0) rotate(-3deg); }
  40%  { transform: translateY(-6px) rotate(0); }
  60%  { transform: translateY(-4px) rotate(1deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes tm-hat {
  0%   { transform: rotate(0) translateY(0); }
  50%  { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes tm-stairs {
  0%   { transform: scaleY(1); }
  100% { transform: scaleY(1.02); }
}
@keyframes tm-wind {
  0%   { transform: translateX(-40px) scale(1); opacity: 0; }
  30%  { opacity: 0.7; }
  70%  { opacity: 0.5; }
  100% { transform: translateX(120vw) scale(1.5); opacity: 0; }
}
@keyframes tm-dust {
  0%   { transform: translate(0,0) scale(1); opacity: 0.3; }
  100% { transform: translate(20px,-30px) scale(1.5); opacity: 0; }
}

.scn-poem-a-man {
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 50%, #2a2a3a 100%), radial-gradient(ellipse at 50% 40%, #4a4a5a 0%, transparent 70%);
}
.scn-poem-a-man .pam-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7a7a8a 0%, #5a5a6a 40%, transparent 100%);
  animation: pam-sky 15s ease-in-out infinite alternate;
}
.scn-poem-a-man .pam-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a4a3a 0%, #3a3a2a 100%);
  border-radius: 60% 40% 0 0 / 30% 50% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.4);
  animation: pam-ground 20s ease-in-out infinite;
}
.scn-poem-a-man .pam-figure {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  animation: pam-figure 8s ease-in-out infinite;
}
.scn-poem-a-man .pam-stake-1,
.scn-poem-a-man .pam-stake-2,
.scn-poem-a-man .pam-stake-3 {
  position: absolute; bottom: 30%; width: 2px; height: 40px;
  background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3);
  transform-origin: bottom center;
}
.scn-poem-a-man .pam-stake-1 {
  left: 35%; animation: pam-stake-1 12s ease-in-out infinite;
}
.scn-poem-a-man .pam-stake-2 {
  left: 50%; animation: pam-stake-2 10s ease-in-out infinite 2s;
}
.scn-poem-a-man .pam-stake-3 {
  left: 65%; animation: pam-stake-3 14s ease-in-out infinite 4s;
}
.scn-poem-a-man .pam-cloud {
  position: absolute; top: 15%; right: 20%; width: 80px; height: 20px;
  background: linear-gradient(180deg, rgba(180,180,190,.5) 0%, rgba(150,150,160,.1) 100%);
  border-radius: 50%; filter: blur(5px);
  animation: pam-cloud 40s linear infinite;
}
@keyframes pam-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes pam-ground { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes pam-figure { 0%,100% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) translateY(-1px) rotate(1deg) } }
@keyframes pam-stake-1 { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-5deg) } }
@keyframes pam-stake-2 { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } }
@keyframes pam-stake-3 { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-4deg) } }
@keyframes pam-cloud { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }

.scn-poem-griefs {
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 50%, #050510 100%), radial-gradient(ellipse at 50% 60%, #1a1a2e 0%, transparent 70%);
}
.scn-poem-griefs .pgf-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 100%);
  animation: pgf-bg 20s ease-in-out infinite alternate;
}
.scn-poem-griefs .pgf-figure {
  position: absolute; bottom: 15%; left: 50%; width: 28px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: pgf-figure 6s ease-in-out infinite;
}
.scn-poem-griefs .pgf-grief-1,
.scn-poem-griefs .pgf-grief-2,
.scn-poem-griefs .pgf-grief-3,
.scn-poem-griefs .pgf-grief-4,
.scn-poem-griefs .pgf-grief-5 {
  position: absolute; bottom: 30%; width: 10px; height: 10px;
  background: radial-gradient(circle, #4a4a6a 0%, #2a2a4a 70%);
  border-radius: 50%; box-shadow: 0 0 6px #2a2a4a;
  opacity: .7;
}
.scn-poem-griefs .pgf-grief-1 { left: 20%; animation: pgf-grief 8s ease-in-out infinite; }
.scn-poem-griefs .pgf-grief-2 { left: 35%; animation: pgf-grief 9s ease-in-out infinite 1.5s; }
.scn-poem-griefs .pgf-grief-3 { left: 50%; animation: pgf-grief 7s ease-in-out infinite 3s; }
.scn-poem-griefs .pgf-grief-4 { left: 65%; animation: pgf-grief 10s ease-in-out infinite 4.5s; }
.scn-poem-griefs .pgf-grief-5 { left: 80%; animation: pgf-grief 8.5s ease-in-out infinite 6s; }
@keyframes pgf-bg { 0% { opacity: .9 } 50% { opacity: .7 } 100% { opacity: .85 } }
@keyframes pgf-figure { 0%,100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) translateY(-2px) scale(1.02) } }
@keyframes pgf-grief { 0% { transform: translateY(0) scale(1); opacity: .7 } 25% { transform: translateY(-8px) scale(1.1); opacity: .9 } 50% { transform: translateY(-12px) scale(1.2); opacity: .8 } 75% { transform: translateY(-6px) scale(1.05); opacity: .85 } 100% { transform: translateY(0) scale(1); opacity: .7 } }

.scn-poem-i-have-a-king {
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 50%, #0a0502 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 60%);
}
.scn-poem-i-have-a-king .pih-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a0e05 0%, #2a1a0a 100%);
  animation: pih-room 15s ease-in-out infinite alternate;
}
.scn-poem-i-have-a-king .pih-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,.5);
}
.scn-poem-i-have-a-king .pih-throne {
  position: absolute; bottom: 15%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: pih-throne 10s ease-in-out infinite;
}
.scn-poem-i-have-a-king .pih-figure {
  position: absolute; bottom: 8%; left: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,.7);
  animation: pih-figure 8s ease-in-out infinite;
}
.scn-poem-i-have-a-king .pih-doorway {
  position: absolute; bottom: 15%; right: 15%; width: 30px; height: 50px;
  background: radial-gradient(ellipse at 50% 60%, #c09050 0%, #8a6a3a 60%, transparent 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 6px rgba(192,144,80,.5), inset 0 0 8px #6a4a2a;
  animation: pih-doorway 4s ease-in-out infinite alternate;
}
.scn-poem-i-have-a-king .pih-window {
  position: absolute; bottom: 25%; left: 15%; width: 20px; height: 24px;
  background: radial-gradient(ellipse at 50% 40%, #b08050 0%, #6a4a2a 70%);
  border-radius: 4px;
  box-shadow: 0 0 12px 3px rgba(176,128,80,.4), inset 0 0 4px #4a2a1a;
  animation: pih-window 6s ease-in-out infinite alternate 2s;
}
@keyframes pih-room { 0% { filter: brightness(1) } 50% { filter: brightness(1.05) } 100% { filter: brightness(1) } }
@keyframes pih-throne { 0%,100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } }
@keyframes pih-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0) } }
@keyframes pih-doorway { 0% { opacity: .8; box-shadow: 0 0 15px 4px rgba(192,144,80,.4) } 100% { opacity: 1; box-shadow: 0 0 25px 8px rgba(192,144,80,.6) } }
@keyframes pih-window { 0% { opacity: .7; box-shadow: 0 0 8px 2px rgba(176,128,80,.3) } 100% { opacity: .9; box-shadow: 0 0 16px 5px rgba(176,128,80,.5) } }

.scn-poem-disenchantment {
  background: linear-gradient(180deg, #0a0a12 0%, #1a1a28 40%, #0e0e1a 100%), radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 70%);
}
.scn-poem-disenchantment .pdi-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0e0e1a 0%, #1a1a28 100%);
  animation: pdi-bg 12s ease-in-out infinite alternate;
}
.scn-poem-disenchantment .pdi-shelf {
  position: absolute; left: 0; right: 0; top: 45%; height: 6px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
}
.scn-poem-disenchantment .pdi-piece-1,
.scn-poem-disenchantment .pdi-piece-2,
.scn-poem-disenchantment .pdi-piece-3,
.scn-poem-disenchantment .pdi-piece-4 {
  position: absolute; top: 35%; width: 12px; height: 8px;
  background: linear-gradient(135deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,.3);
  opacity: .9;
}
.scn-poem-disenchantment .pdi-piece-1 { left: 25%; transform: rotate(25deg); animation: pdi-piece-1 0.6s ease-in-out infinite; }
.scn-poem-disenchantment .pdi-piece-2 { left: 45%; transform: rotate(-15deg); animation: pdi-piece-2 0.8s ease-in-out infinite 0.2s; }
.scn-poem-disenchantment .pdi-piece-3 { left: 60%; transform: rotate(40deg); animation: pdi-piece-3 0.7s ease-in-out infinite 0.4s; }
.scn-poem-disenchantment .pdi-piece-4 { left: 75%; transform: rotate(-30deg); animation: pdi-piece-4 0.5s ease-in-out infinite 0.1s; }
.scn-poem-disenchantment .pdi-drop {
  position: absolute; top: 20%; left: 48%; width: 8px; height: 10px;
  background: radial-gradient(circle, #5a5a6a 0%, #3a3a4a 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px #3a3a4a;
  animation: pdi-drop 3s ease-in-out infinite;
}
@keyframes pdi-bg { 0% { filter: brightness(1) } 50% { filter: brightness(1.1) } 100% { filter: brightness(.95) } }
@keyframes pdi-piece-1 { 0%,100% { transform: rotate(25deg) translateX(0) } 50% { transform: rotate(30deg) translateX(1px) } }
@keyframes pdi-piece-2 { 0%,100% { transform: rotate(-15deg) translateX(0) } 50% { transform: rotate(-20deg) translateX(-1px) } }
@keyframes pdi-piece-3 { 0%,100% { transform: rotate(40deg) translateX(0) } 50% { transform: rotate(45deg) translateX(1px) } }
@keyframes pdi-piece-4 { 0%,100% { transform: rotate(-30deg) translateX(0) } 50% { transform: rotate(-35deg) translateX(-1px) } }
@keyframes pdi-drop { 0% { transform: translateY(0) scale(1); opacity: 1 } 50% { transform: translateY(30px) scale(.8); opacity: .6 } 100% { transform: translateY(0) scale(1); opacity: 1 } }

/* poem-when-night-is-almost-done */
.scn-poem-when-night-is-almost-done {
  background: linear-gradient(180deg, #2a1e3a 0%, #6a3e4a 40%, #c87a5a 70%, #e8a070 100%),
              radial-gradient(ellipse at 70% 80%, #e8a070 0%, transparent 60%);
}
.scn-poem-when-night-is-almost-done .sky {
  position: absolute; inset: 0; height: 60%; background: linear-gradient(180deg, #1a0e2a 0%, #4a2a3a 40%, #8a4a3a 80%, transparent 100%);
  animation: wn1-sky 12s ease-in-out infinite alternate;
}
.scn-poem-when-night-is-almost-done .window {
  position: absolute; bottom: 30%; left: 50%; width: 100px; height: 110px; transform: translateX(-50%);
  background: linear-gradient(135deg, #f0c0a0 0%, #d09070 100%); border: 6px solid #4a2a1a; border-radius: 4px; box-shadow: inset 0 0 30px #e8a070;
}
.scn-poem-when-night-is-almost-done .curtain-l {
  position: absolute; bottom: 30%; left: calc(50% - 60px); width: 30px; height: 110px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 10% 0 0 10% / 20% 0 0 20%;
  transform-origin: top center; animation: wn1-curtain 6s ease-in-out infinite alternate;
}
.scn-poem-when-night-is-almost-done .curtain-r {
  position: absolute; bottom: 30%; right: calc(50% - 60px); width: 30px; height: 110px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 0 10% 10% 0 / 0 20% 20% 0;
  transform-origin: top center; animation: wn1-curtain 6s ease-in-out infinite alternate-reverse;
}
.scn-poem-when-night-is-almost-done .figure {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 50px; transform: translateX(-50%);
  background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wn1-figure 4s ease-in-out infinite; transform-origin: bottom center;
}
.scn-poem-when-night-is-almost-done .lamp {
  position: absolute; bottom: 22%; left: calc(50% + 40px); width: 12px; height: 20px;
  background: linear-gradient(180deg, #f0c060 0%, #c08030 100%); border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 20px 6px #f0a040, 0 0 40px 12px rgba(240,160,64,0.4);
  animation: wn1-lamp 3s ease-in-out infinite alternate;
}
@keyframes wn1-sky { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes wn1-curtain { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes wn1-figure { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes wn1-lamp { 0% { box-shadow: 0 0 15px 4px #f0a040; opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px #f0c060; opacity: 1; } 100% { box-shadow: 0 0 18px 6px #f0a040; opacity: 0.85; } }

/* poem-pain-has-element */
.scn-poem-pain-has-element {
  background: linear-gradient(180deg, #0c0c14 0%, #1c1824 40%, #2c2030 100%),
              radial-gradient(ellipse at 50% 100%, #1c1824 0%, transparent 70%);
}
.scn-poem-pain-has-element .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #12101a 0%, #1a1a2a 100%);
  animation: pe1-wall 30s ease-in-out infinite alternate;
}
.scn-poem-pain-has-element .table {
  position: absolute; bottom: 12%; left: 30%; right: 25%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.8);
}
.scn-poem-pain-has-element .bottle {
  position: absolute; bottom: 32%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  transform-origin: bottom center; animation: pe1-bottle 8s ease-in-out infinite;
}
.scn-poem-pain-has-element .tankard {
  position: absolute; bottom: 28%; left: 50%; width: 28px; height: 40px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 8% 8% 12% 12%; box-shadow: inset 0 0 8px #8a7a4a;
}
.scn-poem-pain-has-element .candle {
  position: absolute; bottom: 30%; left: 60%; width: 10px; height: 18px;
  background: linear-gradient(180deg, #c0a060 0%, #8a6a30 100%); border-radius: 20% 20% 4% 4%;
  box-shadow: 0 0 24px 8px #f0c060, 0 0 48px 15px rgba(240,192,96,0.4);
  animation: pe1-candle 2s ease-in-out infinite alternate;
}
.scn-poem-pain-has-element .shadow {
  position: absolute; bottom: 12%; left: 35%; width: 80px; height: 20px;
  background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px);
  animation: pe1-shadow 4s ease-in-out infinite alternate;
}
@keyframes pe1-wall { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes pe1-bottle { 0% { transform: rotate(0deg); } 30% { transform: rotate(2deg); } 60% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes pe1-candle { 0% { box-shadow: 0 0 20px 6px #f0c060; opacity: 0.85; } 50% { box-shadow: 0 0 30px 12px #ffd080; opacity: 1; } 100% { box-shadow: 0 0 22px 8px #f0c060; opacity: 0.9; } }
@keyframes pe1-shadow { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.05); opacity: 0.7; } 100% { transform: scale(0.95); opacity: 0.5; } }

/* item-bee-tippler */
.scn-item-bee-tippler {
  background: linear-gradient(180deg, #e8f0e0 0%, #c8d8b0 50%, #a0b080 100%),
              radial-gradient(ellipse at 80% 20%, #fff0d0 0%, transparent 50%);
}
.scn-item-bee-tippler .sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #dce8d0 0%, transparent 100%);
  animation: bt1-sky 15s ease-in-out infinite alternate;
}
.scn-item-bee-tippler .sunbeam {
  position: absolute; top: 10%; left: 60%; width: 300px; height: 400px;
  background: linear-gradient(135deg, rgba(255,240,200,0.2) 0%, transparent 70%);
  transform: rotate(30deg); transform-origin: top left;
  animation: bt1-beam 8s ease-in-out infinite alternate;
}
.scn-item-bee-tippler .bookshelf {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 60%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}
.scn-item-bee-tippler .book {
  position: absolute; bottom: 40%; left: 50%; width: 70px; height: 50px; transform: translateX(-50%);
  background: linear-gradient(135deg, #f0d0a0 0%, #d0b080 100%); border-radius: 4px; box-shadow: 3px 3px 8px rgba(0,0,0,0.4);
  animation: bt1-book 6s ease-in-out infinite;
}
.scn-item-bee-tippler .bee {
  position: absolute; top: 20%; right: 25%; width: 16px; height: 12px;
  background: radial-gradient(circle at 50% 50%, #f0d050 0%, #a08030 100%); border-radius: 50%;
  animation: bt1-bee 4s ease-in-out infinite;
}
.scn-item-bee-tippler .flower {
  position: absolute; bottom: 25%; right: 20%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f09060 0%, #d07050 100%); border-radius: 50%;
}
@keyframes bt1-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes bt1-beam { 0% { opacity: 0.3; transform: rotate(28deg); } 50% { opacity: 0.6; transform: rotate(32deg); } 100% { opacity: 0.4; transform: rotate(30deg); } }
@keyframes bt1-book { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bt1-bee { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-20px, -10px) scale(1.1); } 100% { transform: translate(0, 0) scale(1); } }

/* poem-twas-such-a-little-boat */
.scn-poem-twas-such-a-little-boat {
  background: linear-gradient(180deg, #0a0a1e 0%, #14142e 50%, #1e1e3e 100%),
              radial-gradient(ellipse at 50% 20%, #1a1a3a 0%, transparent 70%);
}
.scn-poem-twas-such-a-little-boat .sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #0e0e22 0%, #1a1a34 100%);
  animation: lb1-sky 20s ease-in-out infinite alternate;
}
.scn-poem-twas-such-a-little-boat .moon {
  position: absolute; top: 12%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle at 50% 50%, #f0f0f8 0%, #c0c0d0 100%); border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(192,192,208,0.5);
  animation: lb1-moon 12s ease-in-out infinite alternate;
}
.scn-poem-twas-such-a-little-boat .wave-deep {
  position: absolute; bottom: 15%; left: -10%; right: -10%; height: 40%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0e1e2e 100%); border-radius: 50% 50% 0 0;
  animation: lb1-wave-d 6s ease-in-out infinite;
}
.scn-poem-twas-such-a-little-boat .wave-foam {
  position: absolute; bottom: 10%; left: -5%; right: -5%; height: 30%;
  background: linear-gradient(0deg, #3a4a5a 0%, transparent 100%); border-radius: 50% 60% 0 0;
  animation: lb1-wave-f 7s ease-in-out infinite alternate;
}
.scn-poem-twas-such-a-little-boat .boat {
  position: absolute; bottom: 25%; left: 40%; width: 60px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 0 0 50% 50% / 0 0 80% 80%;
  transform-origin: bottom center; animation: lb1-boat 5s ease-in-out infinite;
}
.scn-poem-twas-such-a-little-boat .sail {
  position: absolute; bottom: 28%; left: 44%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #f0f0f0 0%, #c0c0c0 100%); border-radius: 0 60% 0 40%;
  transform-origin: bottom center; animation: lb1-sail 4s ease-in-out infinite;
}
.scn-poem-twas-such-a-little-boat .lightning {
  position: absolute; top: 10%; left: 30%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #f0f0ff 0%, transparent 100%);
  filter: blur(1px); opacity: 0; animation: lb1-lightning 3s ease-in-out infinite;
}
@keyframes lb1-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes lb1-moon { 0% { transform: translate(0, 0); box-shadow: 0 0 40px 10px rgba(192,192,208,0.5); } 50% { transform: translate(-2px, 2px); box-shadow: 0 0 60px 15px rgba(192,192,208,0.7); } 100% { transform: translate(0, 0); box-shadow: 0 0 40px 10px rgba(192,192,208,0.5); } }
@keyframes lb1-wave-d { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-10px, -5px) scale(1.02); } 100% { transform: translate(0, 0) scale(1); } }
@keyframes lb1-wave-f { 0% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(8px, -3px) rotate(1deg); } 100% { transform: translate(0, 0) rotate(0deg); } }
@keyframes lb1-boat { 0% { transform: translateX(-50%) rotate(-2deg); } 25% { transform: translateX(-50%) rotate(3deg); } 50% { transform: translateX(-50%) rotate(-1deg); } 75% { transform: translateX(-50%) rotate(4deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes lb1-sail { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes lb1-lightning { 0%, 85%, 100% { opacity: 0; } 90% { opacity: 0.9; } 95% { opacity: 0; } }

/* poem-moon-was-a-chin */
.scn-poem-moon-was-a-chin {
  background: linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 50%, #2a2a6e 100%),
              radial-gradient(ellipse at 50% 20%, #4a4a8e 0%, transparent 70%);
}
.scn-poem-moon-was-a-chin .sky { position:absolute; inset:0; background: transparent; }
.scn-poem-moon-was-a-chin .moon {
  position:absolute; top:12%; left:50%; width:22vmin; height:22vmin;
  transform:translateX(-50%); background: radial-gradient(circle at 40% 40%, #f0e8c0 0%, #c0b080 40%, #404060 100%);
  border-radius:50%; box-shadow: 0 0 60px 20px rgba(200,190,160,0.5);
  animation: mwc-moon 8s ease-in-out infinite alternate;
}
.scn-poem-moon-was-a-chin .cloud-a {
  position:absolute; top:20%; left:10%; width:30%; height:12%;
  background: linear-gradient(180deg, rgba(200,200,240,0.4) 0%, rgba(200,200,240,0.1) 100%);
  border-radius:50%; filter:blur(8px);
  animation: mwc-drift-a 40s linear infinite;
}
.scn-poem-moon-was-a-chin .cloud-b {
  position:absolute; top:30%; right:5%; width:25%; height:10%;
  background: linear-gradient(180deg, rgba(200,200,240,0.35) 0%, rgba(200,200,240,0.05) 100%);
  border-radius:50%; filter:blur(6px);
  animation: mwc-drift-b 50s linear infinite reverse;
}
.scn-poem-moon-was-a-chin .hill {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 30% 70% 0 0 / 60% 50% 0 0;
  animation: mwc-hill 20s ease-in-out infinite alternate;
}
.scn-poem-moon-was-a-chin .tree {
  position:absolute; bottom:10%; left:30%; width:12%; height:40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  transform-origin: bottom center;
  animation: mwc-tree 12s ease-in-out infinite;
}
@keyframes mwc-moon {
  0%   { transform:translateX(-50%) scale(1); box-shadow: 0 0 40px 15px rgba(200,190,160,0.4); }
  50%  { transform:translateX(-50%) scale(1.02); box-shadow: 0 0 80px 30px rgba(200,190,160,0.7); }
  100% { transform:translateX(-50%) scale(0.98); box-shadow: 0 0 60px 20px rgba(200,190,160,0.5); }
}
@keyframes mwc-drift-a {
  0%   { transform:translateX(-10vw); }
  100% { transform:translateX(120vw); }
}
@keyframes mwc-drift-b {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-120vw); }
}
@keyframes mwc-hill {
  0%   { transform:translateY(0); }
  50%  { transform:translateY(-2px); }
  100% { transform:translateY(0); }
}
@keyframes mwc-tree {
  0%,100% { transform:rotate(0deg); }
  25%  { transform:rotate(1deg); }
  50%  { transform:rotate(0deg); }
  75%  { transform:rotate(-1deg); }
}

/* poem-the-bat */
.scn-poem-the-bat {
  background: linear-gradient(180deg, #0f0f30 0%, #1a1a45 40%, #282860 100%),
              radial-gradient(ellipse at 50% 80%, #404080 0%, transparent 70%);
}
.scn-poem-the-bat .sky { position:absolute; inset:0; background: transparent; }
.scn-poem-the-bat .moon {
  position:absolute; top:10%; left:50%; width:20vmin; height:20vmin;
  transform:translateX(-50%); background: radial-gradient(circle at 40% 40%, #d8d0b0 0%, #a09870 50%, #505070 100%);
  border-radius:50%; box-shadow: 0 0 50px 15px rgba(180,170,140,0.4);
  animation: tb-moon 10s ease-in-out infinite alternate;
}
.scn-poem-the-bat .bat-body {
  position:absolute; bottom:40%; left:50%; width:6%; height:8%;
  transform:translateX(-50%); background: #181828;
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  animation: tb-body 2s ease-in-out infinite;
}
.scn-poem-the-bat .bat-wing {
  position:absolute; bottom:38%; width:20%; height:14%;
  background: #181828;
  border-radius: 50% 0 50% 0 / 60% 0 40% 0;
  transform-origin: center center;
}
.scn-poem-the-bat .bat-wing-l {
  left:30%; transform:rotate(15deg);
  animation: tb-wing-l 0.8s ease-in-out infinite alternate;
}
.scn-poem-the-bat .bat-wing-r {
  right:30%; transform:rotate(-15deg) scaleX(-1);
  animation: tb-wing-r 0.8s ease-in-out infinite alternate;
}
.scn-poem-the-bat .star-a, .scn-poem-the-bat .star-b {
  position:absolute; width:1.5vmin; height:1.5vmin;
  background: radial-gradient(circle, #f8f0d0 0%, transparent 100%);
  border-radius:50%;
  animation: tb-star 4s ease-in-out infinite;
}
.scn-poem-the-bat .star-a { top:20%; left:25%; }
.scn-poem-the-bat .star-b { top:30%; right:20%; animation-delay: -2s; }
@keyframes tb-moon {
  0%   { box-shadow: 0 0 30px 10px rgba(180,170,140,0.3); }
  100% { box-shadow: 0 0 70px 25px rgba(180,170,140,0.6); }
}
@keyframes tb-body {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%     { transform:translateX(-50%) translateY(-2px); }
}
@keyframes tb-wing-l {
  0%   { transform:rotate(10deg) scaleY(1); }
  100% { transform:rotate(20deg) scaleY(0.8); }
}
@keyframes tb-wing-r {
  0%   { transform:rotate(-10deg) scaleX(-1) scaleY(1); }
  100% { transform:rotate(-20deg) scaleX(-1) scaleY(0.8); }
}
@keyframes tb-star {
  0%,100% { opacity:0.3; transform:scale(0.8); }
  50%     { opacity:1; transform:scale(1.2); }
}

/* poem-youve-seen-balloons */
.scn-poem-youve-seen-balloons {
  background: linear-gradient(180deg, #ffe8c0 0%, #87ceeb 30%, #b0e0f0 60%, #f0f8ff 100%);
}
.scn-poem-youve-seen-balloons .sky { position:absolute; inset:0; background: transparent; }
.scn-poem-youve-seen-balloons .sun {
  position:absolute; top:8%; right:15%; width:15vmin; height:15vmin;
  background: radial-gradient(circle at 40% 40%, #fff4d0 0%, #ffc040 60%, transparent 80%);
  border-radius:50%; box-shadow: 0 0 80px 40px rgba(255,200,100,0.5);
  animation: ysb-sun 6s ease-in-out infinite alternate;
}
.scn-poem-youve-seen-balloons .balloon {
  position:absolute; width:10vmin; height:12vmin;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: ysb-balloon 10s ease-in-out infinite;
}
.scn-poem-youve-seen-balloons .balloon-a {
  bottom:30%; left:20%; background: radial-gradient(circle at 30% 30%, #f8a0a0 0%, #e06060 100%);
  animation-delay: 0s;
}
.scn-poem-youve-seen-balloons .balloon-b {
  bottom:25%; left:45%; background: radial-gradient(circle at 30% 30%, #a0f0a0 0%, #60c060 100%);
  animation-delay: -3s;
}
.scn-poem-youve-seen-balloons .balloon-c {
  bottom:35%; left:70%; background: radial-gradient(circle at 30% 30%, #f0d070 0%, #d0a030 100%);
  animation-delay: -6s;
}
.scn-poem-youve-seen-balloons .cloud {
  position:absolute; top:12%; left:5%; width:35%; height:15%;
  background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%);
  border-radius:50%; filter:blur(10px);
  animation: ysb-cloud 30s linear infinite;
}
@keyframes ysb-sun {
  0%   { transform:scale(1); box-shadow: 0 0 60px 30px rgba(255,200,100,0.4); }
  100% { transform:scale(1.05); box-shadow: 0 0 100px 50px rgba(255,200,100,0.7); }
}
@keyframes ysb-balloon {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  25%  { transform:translateY(-10px) rotate(1deg); }
  50%  { transform:translateY(-20px) rotate(2deg); }
  75%  { transform:translateY(-10px) rotate(0deg); }
}
@keyframes ysb-cloud {
  0%   { transform:translateX(-10vw); }
  100% { transform:translateX(110vw); }
}

/* poem-the-cricket-sang */
.scn-poem-the-cricket-sang {
  background: linear-gradient(180deg, #2a1a3a 0%, #4a2a4a 30%, #7a4a5a 60%, #a07050 100%);
}
.scn-poem-the-cricket-sang .sky { position:absolute; inset:0; background: transparent; }
.scn-poem-the-cricket-sang .grass {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #3a5a2a 0%, #2a3a1a 100%);
  border-radius: 20% 80% 0 0 / 40% 60% 0 0;
  animation: tcs-grass 8s ease-in-out infinite alternate;
}
.scn-poem-the-cricket-sang .hill {
  position:absolute; bottom:20%; left:10%; right:10%; height:15%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 50% 50% 0 0;
  opacity:0.6;
}
.scn-poem-the-cricket-sang .cricket {
  position:absolute; bottom:20%; left:40%; width:6vmin; height:3vmin;
  background: #1a1a0a;
  border-radius: 20% 20% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 0 2px #3a3a1a;
  animation: tcs-cricket 4s ease-in-out infinite;
}
.scn-poem-the-cricket-sang .dew-a, .scn-poem-the-cricket-sang .dew-b {
  position:absolute; width:1.5vmin; height:1.5vmin;
  background: radial-gradient(circle at 30% 30%, #f8f0e0 0%, #d0c8b0 50%, transparent 100%);
  border-radius:50%;
  box-shadow: 0 0 8px 2px rgba(240,230,200,0.4);
  animation: tcs-dew 3s ease-in-out infinite;
}
.scn-poem-the-cricket-sang .dew-a { bottom:28%; left:25%; animation-delay: -1s; }
.scn-poem-the-cricket-sang .dew-b { bottom:30%; right:30%; animation-delay: -2.5s; }
@keyframes tcs-grass {
  0%   { transform:translateY(0) scaleY(1); }
  50%  { transform:translateY(-2px) scaleY(1.02); }
  100% { transform:translateY(0) scaleY(1); }
}
@keyframes tcs-cricket {
  0%,100% { transform:translateX(0) rotate(0deg); }
  25%  { transform:translateX(5px) rotate(5deg); }
  50%  { transform:translateX(0) rotate(0deg); }
  75%  { transform:translateX(-5px) rotate(-5deg); }
}
@keyframes tcs-dew {
  0%,100% { opacity:0.6; transform:scale(0.8); }
  50%     { opacity:1; transform:scale(1.2); }
}

/* poem-we-outgrow-love – overcast interior, calm */
.scn-poem-we-outgrow-love {
  background:
    linear-gradient(180deg, #4d4d5c 0%, #3a3a4a 50%, #2d2d3a 100%),
    radial-gradient(ellipse at 50% 100%, #5c5c6e 0%, transparent 70%);
}
.scn-poem-we-outgrow-love .wall {
  position:absolute; inset:0; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  animation: wol-wall 30s ease-in-out infinite alternate;
}
.scn-poem-we-outgrow-love .drawer {
  position:absolute; bottom:10%; left:30%; width:80px; height:40px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: wol-drawer 8s ease-in-out infinite;
}
.scn-poem-we-outgrow-love .gown {
  position:absolute; bottom:20%; left:32%; width:30px; height:60px;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; filter: blur(1px);
  animation: wol-gown 10s ease-in-out infinite;
}
.scn-poem-we-outgrow-love .figure {
  position:absolute; bottom:22%; left:52%; width:26px; height:48px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; box-shadow: 2px 0 6px rgba(0,0,0,.4);
  animation: wol-figure 6s ease-in-out infinite alternate;
}
.scn-poem-we-outgrow-love .mirror {
  position:absolute; right:12%; top:30%; width:40px; height:60px;
  background: linear-gradient(180deg, rgba(200,200,220,.4) 0%, rgba(120,120,140,.2) 100%);
  border: 2px solid #5a5a6a; border-radius: 4px;
  box-shadow: inset 0 0 12px rgba(180,180,200,.3);
  animation: wol-mirror 12s ease-in-out infinite alternate;
}
.scn-poem-we-outgrow-love .dust {
  position:absolute; top:40%; left:20%; width:4px; height:4px;
  background: rgba(240,240,250,.3); border-radius:50%;
  filter: blur(1px);
  animation: wol-dust 20s linear infinite;
}
.scn-poem-we-outgrow-love .dust-b {
  left:60%; top:20%;
  animation-duration: 25s; animation-delay: -7s;
}
@keyframes wol-wall { 0% { opacity:.8 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes wol-drawer { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes wol-gown { 0% { transform:translateY(0) rotate(-2deg) } 50% { transform:translateY(-5px) rotate(2deg) } 100% { transform:translateY(0) rotate(-1deg) } }
@keyframes wol-figure { 0% { transform:translateY(0) rotate(-3deg) } 50% { transform:translateY(-4px) rotate(1deg) } 100% { transform:translateY(0) rotate(3deg) } }
@keyframes wol-mirror { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.5 } }
@keyframes wol-dust { 0% { transform:translateY(0) translateX(0) scale(1); opacity:.4 } 50% { transform:translateY(-20px) translateX(15px) scale(1.5); opacity:.7 } 100% { transform:translateY(-50px) translateX(-10px) scale(0.5); opacity:0 } }

/* poem-my-friend-must-be-a-bird – overcast sky, funny bird-bee hybrid */
.scn-poem-my-friend-must-be-a-bird {
  background:
    linear-gradient(180deg, #838399 0%, #6a6a80 50%, #5c5c70 100%),
    radial-gradient(ellipse at 50% 100%, #707085 0%, transparent 60%);
}
.scn-poem-my-friend-must-be-a-bird .sky {
  position:absolute; inset:0; background: linear-gradient(180deg, #9090a5 0%, #7a7a90 100%);
  animation: mfb-sky 25s ease-in-out infinite alternate;
}
.scn-poem-my-friend-must-be-a-bird .cloud {
  position:absolute; top:20%; left:15%; width:100px; height:20px;
  background: linear-gradient(180deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.1) 100%);
  border-radius:50%; filter: blur(8px);
  animation: mfb-cloud 30s linear infinite;
}
.scn-poem-my-friend-must-be-a-bird .bird {
  position:absolute; bottom:40%; left:45%; width:24px; height:20px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: center bottom;
  animation: mfb-bird 4s ease-in-out infinite;
}
.scn-poem-my-friend-must-be-a-bird .wings {
  position:absolute; bottom:44%; left:44%; width:40px; height:20px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: center 80%;
  animation: mfb-wings 0.6s ease-in-out infinite alternate;
}
.scn-poem-my-friend-must-be-a-bird .stinger {
  position:absolute; bottom:36%; left:46%; width:6px; height:10px;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 20% 20%;
  transform-origin: top center;
  animation: mfb-stinger 2s ease-in-out infinite;
}
.scn-poem-my-friend-must-be-a-bird .tail {
  position:absolute; bottom:42%; left:50%; width:14px; height:6px;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 0 50% 50% 0;
  animation: mfb-tail 0.8s ease-in-out infinite alternate;
}
.scn-poem-my-friend-must-be-a-bird .motion {
  position:absolute; bottom:45%; left:30%; width:20px; height:2px;
  background: rgba(255,255,255,.15); border-radius: 1px;
  animation: mfb-motion 2s linear infinite;
}
.scn-poem-my-friend-must-be-a-bird .motion-b {
  left:55%; top:55%;
  animation-duration: 2.5s; animation-delay: -0.5s;
}
@keyframes mfb-sky { 0%,100% { opacity:.7 } 50% { opacity:.9 } }
@keyframes mfb-cloud { 0% { transform:translateX(-40px) } 100% { transform:translateX(120vw) } }
@keyframes mfb-bird { 0% { transform:translateY(0) rotate(-5deg) } 25% { transform:translateY(-5px) rotate(2deg) } 50% { transform:translateY(0) rotate(5deg) } 75% { transform:translateY(-3px) rotate(-2deg) } 100% { transform:translateY(0) rotate(-5deg) } }
@keyframes mfb-wings { 0% { transform:rotate(-15deg) } 100% { transform:rotate(15deg) } }
@keyframes mfb-stinger { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) rotate(10deg) } }
@keyframes mfb-tail { 0% { transform:rotate(-10deg) } 100% { transform:rotate(10deg) } }
@keyframes mfb-motion { 0% { transform:translateX(0); opacity:.5 } 100% { transform:translateX(-40px); opacity:0 } }

/* poem-dreams – dusk calm, dreaming figure */
.scn-poem-dreams {
  background:
    linear-gradient(180deg, #3a2a4a 0%, #5a3a5a 30%, #8a5a6a 60%, #c88a6a 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a5a 0%, transparent 70%);
}
.scn-poem-dreams .dusk-sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #2a1a3a 0%, #6a3a4a 50%, #b86a5a 100%);
  animation: dre-sky 20s ease-in-out infinite alternate;
}
.scn-poem-dreams .moon {
  position:absolute; top:10%; left:70%; width:30px; height:30px;
  background: radial-gradient(circle, #f0e8c8 0%, #d0b890 70%);
  border-radius:50%; box-shadow: 0 0 24px 6px rgba(200,180,130,.5);
  animation: dre-moon 15s ease-in-out infinite alternate;
}
.scn-poem-dreams .hill-back {
  position:absolute; bottom:25%; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  opacity:.6;
  animation: dre-hill 18s ease-in-out infinite alternate;
}
.scn-poem-dreams .hill-front {
  position:absolute; bottom:18%; left:-10%; right:10%; height:25%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 50% 60% 0 0 / 90% 80% 0 0;
  animation: dre-hill 18s ease-in-out infinite alternate-reverse;
}
.scn-poem-dreams .figure {
  position:absolute; bottom:15%; left:40%; width:30px; height:40px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dre-figure 6s ease-in-out infinite;
}
.scn-poem-dreams .blanket {
  position:absolute; bottom:12%; left:35%; width:60px; height:16px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: dre-blanket 8s ease-in-out infinite;
}
.scn-poem-dreams .dream-light {
  position:absolute; top:20%; left:38%; width:40px; height:40px;
  background: radial-gradient(circle, rgba(240,220,180,.5) 0%, transparent 70%);
  border-radius:50%; filter: blur(10px);
  animation: dre-light 5s ease-in-out infinite alternate;
}
.scn-poem-dreams .star {
  position:absolute; top:15%; left:20%; width:3px; height:3px;
  background: #f0e8c0; border-radius:50%;
  box-shadow: 0 0 4px 1px rgba(240,232,192,.6);
  animation: dre-star 4s ease-in-out infinite alternate;
}
.scn-poem-dreams .star-b {
  left:50%; top:8%;
  animation-duration: 5s; animation-delay: -1s;
}
@keyframes dre-sky { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes dre-moon { 0% { transform:translateX(0) scale(1); opacity:.8 } 50% { transform:translateX(5px) scale(1.05); opacity:1 } 100% { transform:translateX(-3px) scale(.95); opacity:.85 } }
@keyframes dre-hill { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }
@keyframes dre-figure { 0%,100% { transform:translateY(0) rotate(-2deg) } 50% { transform:translateY(-6px) rotate(2deg) } }
@keyframes dre-blanket { 0%,100% { transform:scale(1) } 50% { transform:scale(1.03) } }
@keyframes dre-light { 0% { opacity:.3; transform:scale(.8) } 100% { opacity:.6; transform:scale(1.2) } }
@keyframes dre-star { 0% { opacity:.3 } 100% { opacity:.8 } }

/* poem-longing – moonlit tense, figure on hill with wheel/nest */
.scn-poem-longing {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 40%, #2a2a4a 80%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 100%, #2a2a4a 0%, transparent 70%);
}
.scn-poem-longing .night-sky {
  position:absolute; inset:0; background: linear-gradient(180deg, #0e0e20 0%, #1e1e3a 100%);
  animation: lon-sky 25s ease-in-out infinite alternate;
}
.scn-poem-longing .moon {
  position:absolute; top:8%; right:15%; width:28px; height:28px;
  background: radial-gradient(circle, #c8c8d8 0%, #9090b0 70%);
  border-radius:50%; box-shadow: 0 0 20px 5px rgba(150,150,200,.4);
  animation: lon-moon 12s ease-in-out infinite alternate;
}
.scn-poem-longing .hills {
  position:absolute; bottom:25%; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: lon-hills 15s ease-in-out infinite alternate;
}
.scn-poem-longing .wheel {
  position:absolute; bottom:30%; left:20%; width:30px; height:30px;
  border: 3px solid #3a3a5a; border-radius:50%;
  background: radial-gradient(circle, #2a2a4a 0%, #1a1a3a 80%);
  box-shadow: 0 0 10px 2px rgba(50,50,80,.5);
  transform-origin: center;
  animation: lon-wheel 4s linear infinite;
}
.scn-poem-longing .wheel::before {
  content:''; position:absolute; top:50%; left:50%; width:20px; height:2px;
  background: #3a3a5a; transform: translate(-50%,-50%) rotate(45deg);
}
.scn-poem-longing .wheel::after {
  content:''; position:absolute; top:50%; left:50%; width:20px; height:2px;
  background: #3a3a5a; transform: translate(-50%,-50%) rotate(-45deg);
}
.scn-poem-longing .figure {
  position:absolute; bottom:28%; left:55%; width:22px; height:40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lon-figure 6s ease-in-out infinite;
}
.scn-poem-longing .nest {
  position:absolute; bottom:35%; right:20%; width:24px; height:12px;
  background: radial-gradient(ellipse, #3a3a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: lon-nest 10s ease-in-out infinite alternate;
}
.scn-poem-longing .nest::before {
  content:''; position:absolute; top:2px; left:8px; width:4px; height:6px;
  background: #1a1a1a; border-radius:50% 50% 0 0;
  animation: lon-bird 3s ease-in-out infinite alternate;
}
.scn-poem-longing .road {
  position:absolute; bottom:10%; left:30%; right:30%; height:8px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 4px;
  animation: lon-road 20s ease-in-out infinite;
}
.scn-poem-longing .shadow {
  position:absolute; bottom:23%; left:40%; width:30px; height:6px;
  background: rgba(0,0,0,.3);
  border-radius: 50%; filter: blur(3px);
  animation: lon-shadow 6s ease-in-out infinite;
}
@keyframes lon-sky { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes lon-moon { 0% { transform:translateX(0) scale(1) } 50% { transform:translateX(6px) scale(1.05) } 100% { transform:translateX(-4px) scale(.95) } }
@keyframes lon-hills { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }
@keyframes lon-wheel { 0% { transform:rotate(0deg) } 100% { transform:rotate(360deg) } }
@keyframes lon-figure { 0%,100% { transform:translateY(0) rotate(-3deg) } 50% { transform:translateY(-8px) rotate(2deg) } }
@keyframes lon-nest { 0% { transform:scale(1) } 50% { transform:scale(1.02) } 100% { transform:scale(1) } }
@keyframes lon-bird { 0% { transform:translateY(0) } 100% { transform:translateY(-3px) } }
@keyframes lon-road { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.3 } }
@keyframes lon-shadow { 0%,100% { transform:scaleX(1) } 50% { transform:scaleX(1.2) } }

.scn-poem-she-died {
  background: linear-gradient(180deg, #f5d0a0 0%, #e8b070 30%, #c88555 60%, #7a5a3a 100%), radial-gradient(ellipse at 30% 120%, #ffddaa 0%, transparent 60%);
}
.scn-poem-she-died .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #ffe8cc 0%, #fad5a0 40%, #d4956a 70%, transparent);
  animation: psd-sky 20s ease-in-out infinite alternate;
}
.scn-poem-she-died .haze {
  position: absolute; inset: 20% 0 40% 0;
  background: linear-gradient(180deg, transparent, rgba(255,220,180,0.3) 50%, transparent);
  filter: blur(12px);
  animation: psd-haze 25s ease-in-out infinite;
}
.scn-poem-she-died .sun-glow {
  position: absolute; bottom: 40%; left: 20%;
  width: 70px; height: 70px;
  background: radial-gradient(circle, #fff5e0 0%, #ffd080 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px #ffc060, 0 0 120px 60px rgba(255,192,96,0.4);
  animation: psd-sun 12s ease-in-out infinite alternate;
}
.scn-poem-she-died .gate {
  position: absolute; bottom: 20%; left: 30%;
  width: 40px; height: 70px;
  background: linear-gradient(180deg, #b08a6a 0%, #7a5a3a 100%);
  border-radius: 60% 60% 10% 10%;
  transform: skewX(5deg);
  box-shadow: 4px 0 8px rgba(0,0,0,0.3);
}
.scn-poem-she-died .figure {
  position: absolute; bottom: 16%; left: 22%;
  width: 14px; height: 36px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: psd-walk 6s ease-in-out infinite;
}
.scn-poem-she-died .path {
  position: absolute; bottom: 12%; left: 10%; right: 60%;
  height: 12px;
  background: linear-gradient(90deg, #c8a070 0%, #a08050 40%, transparent);
  border-radius: 0 50% 50% 0;
  filter: blur(1px);
}
.scn-poem-she-died .cloud {
  position: absolute;
  width: 90px; height: 20px;
  background: linear-gradient(180deg, rgba(255,230,200,0.5) 0%, rgba(255,210,170,0.2) 100%);
  border-radius: 50%;
  filter: blur(6px);
}
.scn-poem-she-died .psd-c1 {
  top: 12%; left: 50%;
  animation: psd-drift 35s linear infinite;
}
.scn-poem-she-died .psd-c2 {
  top: 8%; left: 20%;
  width: 60px; height: 14px;
  animation: psd-drift 45s linear infinite reverse;
}

@keyframes psd-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes psd-haze {
  0% { opacity: 0; transform: translateY(0); }
  50% { opacity: 0.6; transform: translateY(-10px); }
  100% { opacity: 0; transform: translateY(0); }
}
@keyframes psd-sun {
  0% { transform: scale(0.95); filter: brightness(0.9); }
  50% { transform: scale(1.05); filter: brightness(1.1); }
  100% { transform: scale(0.95); filter: brightness(0.9); }
}
@keyframes psd-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(8px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(16px) translateY(0) rotate(0deg); }
  75% { transform: translateX(24px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(32px) translateY(0) rotate(2deg); }
}
@keyframes psd-drift {
  0% { transform: translateX(0); }
  100% { transform: translateX(120vw); }
}

.scn-poem-went-up-a-year {
  background: linear-gradient(180deg, #3d2b4f 0%, #2c1e3a 30%, #1f1630 60%, #0f0a1a 100%), radial-gradient(ellipse at 70% 90%, #6a4a6a 0%, transparent 70%);
}
.scn-poem-went-up-a-year .sky-dusk {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #7a5a7a 0%, #4a3a5a 50%, transparent);
  animation: pwy-sky 15s ease-in-out infinite alternate;
}
.scn-poem-went-up-a-year .horizon {
  position: absolute; bottom: 28%; left: 0; right: 0; height: 8%;
  background: linear-gradient(90deg, #2a1a2a 0%, #4a3a3a 50%, #2a1a2a 100%);
  filter: blur(3px);
}
.scn-poem-went-up-a-year .spire {
  position: absolute; bottom: 22%; left: 70%;
  width: 16px; height: 100px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a2a 100%);
  clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%);
  transform: translateX(-50%);
}
.scn-poem-went-up-a-year .village {
  position: absolute; bottom: 18%; left: 30%; right: 10%;
  height: 40px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  clip-path: polygon(0% 100%, 5% 60%, 15% 90%, 25% 70%, 35% 95%, 45% 50%, 55% 85%, 65% 55%, 75% 90%, 85% 40%, 95% 80%, 100% 100%);
  filter: blur(2px);
}
.scn-poem-went-up-a-year .soul {
  position: absolute; bottom: 25%; left: 45%;
  width: 12px; height: 30px;
  background: linear-gradient(180deg, #c8a0c8 0%, #9a7a9a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  filter: drop-shadow(0 0 10px #c8a0c8);
  animation: pwy-ascend 8s ease-in-out infinite;
}
.scn-poem-went-up-a-year .star {
  position: absolute;
  width: 4px; height: 4px;
  background: #fff8e0;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,248,224,0.6);
}
.scn-poem-went-up-a-year .pwy-s1 {
  top: 10%; left: 20%;
  animation: pwy-twinkle 3s ease-in-out infinite alternate;
}
.scn-poem-went-up-a-year .pwy-s2 {
  top: 18%; left: 70%;
  animation: pwy-twinkle 4s ease-in-out infinite alternate 1s;
}
.scn-poem-went-up-a-year .drift-cloud {
  position: absolute; top: 18%; right: 5%;
  width: 70px; height: 18px;
  background: linear-gradient(180deg, rgba(100,80,120,0.4) 0%, rgba(80,60,100,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: pwy-cloud 30s linear infinite;
}

@keyframes pwy-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pwy-ascend {
  0% { transform: translateY(0) scale(1); opacity: 0.7; }
  30% { transform: translateY(-20px) scale(1.1); opacity: 1; }
  60% { transform: translateY(-40px) scale(1.2); opacity: 0.9; }
  100% { transform: translateY(-60px) scale(1.05); opacity: 0.5; }
}
@keyframes pwy-twinkle {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes pwy-cloud {
  0% { transform: translateX(0); }
  100% { transform: translateX(-150vw); }
}

.scn-poem-taken-from-men {
  background: linear-gradient(180deg, #9a9aa0 0%, #7a7a82 30%, #5a5a62 60%, #3a3a42 100%), radial-gradient(ellipse at 50% 0%, #c0c0c8 0%, transparent 60%);
}
.scn-poem-taken-from-men .sky-overcast {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #b0b0b8 0%, #8a8a92 40%, transparent);
  animation: ptm-sky 18s ease-in-out infinite alternate;
}
.scn-poem-taken-from-men .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a4a52 0%, #2a2a32 100%);
}
.scn-poem-taken-from-men .banner-left {
  position: absolute; bottom: 30%; left: 15%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #b87878 0%, #884848 100%);
  border-radius: 2px 2px 0 0;
  animation: ptm-banner 6s ease-in-out infinite;
}
.scn-poem-taken-from-men .banner-right {
  position: absolute; bottom: 30%; right: 20%;
  width: 20px; height: 55px;
  background: linear-gradient(180deg, #a06868 0%, #704848 100%);
  border-radius: 2px 2px 0 0;
  animation: ptm-banner 7s ease-in-out infinite reverse;
}
.scn-poem-taken-from-men .figure-large {
  position: absolute; bottom: 20%; left: 35%;
  width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a3a42 0%, #1a1a22 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ptm-sway 5s ease-in-out infinite;
}
.scn-poem-taken-from-men .figure-small {
  position: absolute; bottom: 22%; left: 50%;
  width: 14px; height: 32px;
  background: linear-gradient(180deg, #2a2a32 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ptm-sway 6s ease-in-out infinite alternate;
}
.scn-poem-taken-from-men .bird {
  position: absolute; bottom: 50%; left: 60%;
  width: 18px; height: 10px;
  background: #4a4a52;
  border-radius: 50% 50% 0 0;
  filter: blur(1px);
  animation: ptm-fly 12s ease-in-out infinite;
}

@keyframes ptm-sky {
  0% { opacity: 0.8; }
  50% { opacity: 0.95; }
  100% { opacity: 0.75; }
}
@keyframes ptm-banner {
  0% { transform: rotate(-2deg); }
  30% { transform: rotate(3deg) skewX(5deg); }
  60% { transform: rotate(-1deg) skewX(-3deg); }
  100% { transform: rotate(2deg); }
}
@keyframes ptm-sway {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(-1px) rotate(-1deg); }
  75% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ptm-fly {
  0% { transform: translate(0, 0); }
  25% { transform: translate(20px, -10px) rotate(5deg); }
  50% { transform: translate(40px, 0) rotate(-3deg); }
  75% { transform: translate(60px, -8px) rotate(4deg); }
  100% { transform: translate(80px, 0) rotate(0deg); }
}

.scn-poem-it-was-not-death {
  background: linear-gradient(180deg, #1a1a24 0%, #0a0a12 30%, #05050a 60%, #000000 100%), radial-gradient(circle at 50% 0%, #1a1a2e 0%, transparent 70%);
}
.scn-poem-it-was-not-death .bg-abyss {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 50%, #1a1a2e 0%, transparent 70%);
  animation: pin-pulse 20s ease-in-out infinite alternate;
}
.scn-poem-it-was-not-death .chancel-floor {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  filter: blur(4px);
}
.scn-poem-it-was-not-death .standing-figure {
  position: absolute; bottom: 20%; left: 45%;
  width: 18px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  filter: brightness(0.3) contrast(1.2);
  animation: pin-stand 4s ease-in-out infinite;
}
.scn-poem-it-was-not-death .fallen-1 {
  position: absolute; bottom: 12%; left: 25%;
  width: 16px; height: 40px;
  background: #0a0a12;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  transform: rotate(-20deg);
  filter: blur(2px);
}
.scn-poem-it-was-not-death .fallen-2 {
  position: absolute; bottom: 10%; left: 55%;
  width: 18px; height: 38px;
  background: #0a0a12;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  transform: rotate(15deg);
  filter: blur(2px);
}
.scn-poem-it-was-not-death .fallen-3 {
  position: absolute; bottom: 14%; left: 70%;
  width: 14px; height: 30px;
  background: #0a0a12;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  transform: rotate(-10deg);
  filter: blur(2px);
}
.scn-poem-it-was-not-death .bell-shape {
  position: absolute; top: 10%; right: 20%;
  width: 20px; height: 30px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a12 100%);
  border-radius: 50% 50% 20% 20%;
  transform: rotate(5deg);
  animation: pin-bell 7s ease-in-out infinite;
}
.scn-poem-it-was-not-death .wind-swirl {
  position: absolute; bottom: 50%; left: 20%; right: 60%;
  height: 6px;
  background: linear-gradient(90deg, transparent, #4a3a3a 30%, transparent);
  filter: blur(3px);
  animation: pin-wind 15s linear infinite;
}

@keyframes pin-pulse {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pin-stand {
  0% { transform: translateX(0) rotate(-1deg); }
  30% { transform: translateX(2px) rotate(1deg) translateY(-1px); }
  60% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes pin-bell {
  0% { transform: rotate(3deg); }
  30% { transform: rotate(-4deg) scaleY(1.05); }
  60% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes pin-wind {
  0% { transform: translateX(-30px); opacity: 0; }
  10% { opacity: 0.6; }
  90% { opacity: 0.6; }
  100% { transform: translateX(120vw); opacity: 0; }
}

.scn-editorial-second-series-closing {
  background:
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, #1a1210 70%),
    linear-gradient(180deg, #2a1e14 0%, #0d0a07 100%);
}
.scn-editorial-second-series-closing .room-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #1f1812 0%, #2a1e14 60%);
  animation: esc-pulse 12s ease-in-out infinite alternate;
}
.scn-editorial-second-series-closing .window-frame {
  position: absolute; top: 6%; left: 12%; width: 38%; height: 52%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 3px #1f1812;
}
.scn-editorial-second-series-closing .window-glass {
  position: absolute; top: 8%; left: 14%; width: 34%; height: 48%;
  background: linear-gradient(180deg, #4a6a5a 0%, #6a8a7a 60%, #3a5a4a 100%);
  opacity: 0.35; border-radius: 2px; animation: esc-glass 8s ease-in-out infinite alternate;
}
.scn-editorial-second-series-closing .tree-outside {
  position: absolute; top: 30%; left: 20%; width: 16%; height: 60%;
  background: radial-gradient(ellipse at 50% 20%, #1a3a2a 0%, #0a1a12 80%);
  border-radius: 60% 40% 30% 50% / 80% 70% 50% 60%;
  animation: esc-tree 18s ease-in-out infinite alternate;
}
.scn-editorial-second-series-closing .figure-seated {
  position: absolute; bottom: 22%; left: 44%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: esc-figure 6s ease-in-out infinite;
}
.scn-editorial-second-series-closing .table-object {
  position: absolute; bottom: 18%; left: 38%; width: 80px; height: 24px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1812 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-editorial-second-series-closing .candle {
  position: absolute; bottom: 30%; left: 48%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #c8b090 0%, #8a7050 80%);
  border-radius: 2px 2px 4px 4px;
}
.scn-editorial-second-series-closing .candle-glow {
  position: absolute; bottom: 42%; left: 47%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #c08040 40%, transparent 70%);
  border-radius: 50%; animation: esc-glow 3s ease-in-out infinite alternate;
}
.scn-editorial-second-series-closing .bird-silhouette {
  position: absolute; top: 14%; right: 18%; width: 30px; height: 12px;
  background: #0a0a06; border-radius: 50% 50% 0 0;
  transform: rotate(-10deg); animation: esc-bird 20s linear infinite;
}
@keyframes esc-pulse {0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes esc-glass {0% { opacity: 0.3 } 50% { opacity: 0.4 } 100% { opacity: 0.35 } }
@keyframes esc-tree {0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes esc-figure {0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(0deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes esc-glow {0% { opacity: 0.7; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.8; transform: scale(0.95) } }
@keyframes esc-bird {0% { transform: translateX(-40px) translateY(0) rotate(-10deg) } 50% { transform: translateX(-20px) translateY(-6px) rotate(-5deg) } 100% { transform: translateX(40px) translateY(0) rotate(-15deg) } }

.scn-poem-im-nobody {
  background:
    radial-gradient(ellipse at 50% 30%, #6a7a6a 0%, #3a4a3a 70%),
    linear-gradient(180deg, #7a8a7a 0%, #4a5a4a 100%);
}
.scn-poem-im-nobody .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(90deg, #5a6a5a 0%, #8a9a8a 40%, #5a6a5a 100%);
  animation: pin-sky 15s ease-in-out infinite alternate;
}
.scn-poem-im-nobody .bog-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #3a5a3a 0%, #2a3a2a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-poem-im-nobody .figure-tall {
  position: absolute; bottom: 30%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pin-tall 4s ease-in-out infinite;
}
.scn-poem-im-nobody .figure-frog {
  position: absolute; bottom: 28%; left: 48%; width: 40px; height: 30px;
  background: radial-gradient(ellipse at 50% 30%, #3a4a2a 0%, #1a2a12 100%);
  border-radius: 50% 50% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: pin-frog 3s ease-in-out infinite;
}
.scn-poem-im-nobody .hat-prop {
  position: absolute; bottom: 72%; left: 32%; width: 34px; height: 12px;
  background: #1a1a1a; border-radius: 50% 50% 0 0;
  transform: rotate(-5deg); animation: pin-hat 5s ease-in-out infinite;
}
.scn-poem-im-nobody .ripple-ring {
  position: absolute; bottom: 20%; left: 52%; width: 20px; height: 20px;
  border: 2px solid rgba(255,255,255,0.3); border-radius: 50%;
  animation: pin-ripple 6s ease-out infinite;
}
.scn-poem-im-nobody .ripple-ring.delay {
  left: 56%; animation-delay: 2s; border-color: rgba(255,255,255,0.2);
}
@keyframes pin-sky {0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes pin-tall {0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pin-frog {0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }
@keyframes pin-hat {0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes pin-ripple {0% { opacity: 1; transform: scale(0.5) } 100% { opacity: 0; transform: scale(2) } }

.scn-poem-hands-still-hug {
  background:
    radial-gradient(ellipse at 50% 70%, #2a1a12 0%, #1a0e08 70%),
    linear-gradient(180deg, #1f1410 0%, #0d0906 100%);
}
.scn-poem-hands-still-hug .wall-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #1a1210 0%, #0d0906 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
}
.scn-poem-hands-still-hug .table-top {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(0deg, #3a2a1a 0%, #1f1410 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-poem-hands-still-hug .candle-body {
  position: absolute; bottom: 28%; left: 48%; width: 10px; height: 32px;
  background: linear-gradient(180deg, #b8a090 0%, #7a6050 100%);
  border-radius: 2px 2px 4px 4px;
}
.scn-poem-hands-still-hug .candle-flame {
  position: absolute; bottom: 46%; left: 47.5%; width: 16px; height: 18px;
  background: radial-gradient(circle, #ffd080 0%, #e0a050 40%, transparent 70%);
  border-radius: 50%; animation: phs-flame 2s ease-in-out infinite alternate;
}
.scn-poem-hands-still-hug .hands-cup {
  position: absolute; bottom: 22%; left: 42%; width: 40px; height: 30px;
  background: radial-gradient(ellipse at 50% 60%, #1a1410 0%, #0d0906 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phs-hands 5s ease-in-out infinite;
}
.scn-poem-hands-still-hug .cup-glass {
  position: absolute; bottom: 28%; left: 46%; width: 16px; height: 18px;
  background: linear-gradient(180deg, rgba(180,160,140,0.4) 0%, rgba(120,100,80,0.6) 100%);
  border-radius: 4px 4px 6px 6px; box-shadow: inset 0 0 6px rgba(255,200,100,0.2);
  animation: phs-glass 4s ease-in-out infinite alternate;
}
.scn-poem-hands-still-hug .glow-warm {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 48% 35%, rgba(255,180,80,0.08) 0%, transparent 60%);
  animation: phs-glow 3s ease-in-out infinite alternate;
}
.scn-poem-hands-still-hug .shadow-veil {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 70%, transparent 30%, rgba(0,0,0,0.4) 80%);
}
@keyframes phs-flame {0% { transform: scale(0.9) translateY(0); opacity: 0.8 } 50% { transform: scale(1.1) translateY(-2px); opacity: 1 } 100% { transform: scale(0.95) translateY(0); opacity: 0.85 } }
@keyframes phs-hands {0% { transform: translateX(0) scale(1) } 50% { transform: translateX(2px) scale(1.02) } 100% { transform: translateX(0) scale(1) } }
@keyframes phs-glass {0% { opacity: 0.5 } 50% { opacity: 0.7 } 100% { opacity: 0.6 } }
@keyframes phs-glow {0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }

.scn-poem-homesick-for-honey {
  background:
    radial-gradient(ellipse at 50% 20%, #c86430 0%, #7a2a0e 60%, #1a0a04 100%),
    linear-gradient(180deg, #d87040 0%, #8a3a1a 50%, #2a0e06 100%);
}
.scn-poem-homesick-for-honey .sky-sunset {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e08050 0%, #c06030 40%, #904020 80%, #401008 100%);
  animation: phh-sky 10s ease-in-out infinite alternate;
}
.scn-poem-homesick-for-honey .sun-disk {
  position: absolute; top: 12%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffb060 0%, #d08030 50%, transparent 70%);
  border-radius: 50%; animation: phh-sun 8s ease-in-out infinite alternate;
}
.scn-poem-homesick-for-honey .ground-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a0a04 0%, #0d0402 100%);
  border-radius: 20% 80% 0 0 / 30% 70% 0 0;
}
.scn-poem-homesick-for-honey .bee-silhouette {
  position: absolute; top: 40%; left: 50%; width: 40px; height: 24px;
  background: #0d0402; border-radius: 50% 50% 30% 30%;
  transform: rotate(-15deg);
  animation: phh-bee 4s ease-in-out infinite;
}
.scn-poem-homesick-for-honey .honey-jar {
  position: absolute; bottom: 22%; left: 18%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 50%, #604820 100%);
  border-radius: 10px 10px 6px 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: phh-jar 5s ease-in-out infinite;
}
.scn-poem-homesick-for-honey .jar-glow {
  position: absolute; bottom: 26%; left: 18%; width: 44px; height: 54px;
  background: radial-gradient(circle, rgba(255,200,80,0.2) 0%, transparent 70%);
  border-radius: 12px; animation: phh-glow 3s ease-in-out infinite alternate;
}
.scn-poem-homesick-for-honey .figure-reaching {
  position: absolute; bottom: 20%; right: 20%; width: 24px; height: 60px;
  background: #0d0402; border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phh-figure 4s ease-in-out infinite;
}
.scn-poem-homesick-for-honey .dust-motes {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 30% 50%, rgba(255,180,80,0.05) 0%, transparent 30%),
              radial-gradient(circle at 70% 30%, rgba(255,200,100,0.04) 0%, transparent 30%);
  animation: phh-dust 12s linear infinite;
}
@keyframes phh-sky {0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes phh-sun {0% { transform: scale(0.95) translateX(0) } 50% { transform: scale(1.05) translateX(-5px) } 100% { transform: scale(0.95) translateX(0) } }
@keyframes phh-bee {0% { transform: rotate(-15deg) translateY(0) } 25% { transform: rotate(-10deg) translateY(-6px) } 50% { transform: rotate(-20deg) translateY(0) } 75% { transform: rotate(-15deg) translateY(-8px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes phh-jar {0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes phh-glow {0% { opacity: 0.6; transform: scale(0.95) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: 0.7; transform: scale(0.98) } }
@keyframes phh-figure {0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes phh-dust {0% { background-position: 0% 0%; } 50% { background-position: 50% 50%; } 100% { background-position: 100% 100%; } }

/* poem-each-that-we-lose — overcast coast, calm */
.scn-poem-each-that-we-lose {
  background: linear-gradient(180deg, #3b4b5c 0%, #2a3a4a 50%, #1c2a3a 100%),
              radial-gradient(ellipse 120% 40% at 50% 60%, #4a6a7a 0%, transparent 70%);
}
.scn-poem-each-that-we-lose .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 100%); animation: el-sky 12s ease-in-out infinite alternate; }
.scn-poem-each-that-we-lose .sea { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(0deg, #1a2a3a 0%, #2a3a4a 50%, #3a4a5a 100%); animation: el-sea 8s ease-in-out infinite alternate; }
.scn-poem-each-that-we-lose .moon { position:absolute; top:15%; left:30%; width:40px; height:40px; background: radial-gradient(circle, #d0d8e0 0%, #b0bcc8 80%); border-radius:50%; box-shadow: 0 0 40px 10px rgba(176,188,200,0.4); animation: el-moon 20s ease-in-out infinite; }
.scn-poem-each-that-we-lose .moon-glow { position:absolute; top:15%; left:30%; width:80px; height:80px; transform:translate(-50%,-50%); background: radial-gradient(circle, rgba(176,188,200,0.3) 0%, transparent 70%); border-radius:50%; animation: el-moon-glow 20s ease-in-out infinite; }
.scn-poem-each-that-we-lose .cloud1 { position:absolute; top:15%; right:10%; width:90px; height:20px; background: linear-gradient(180deg, rgba(200,210,220,0.6) 0%, rgba(200,210,220,0.1) 100%); border-radius:50%; filter: blur(5px); animation: el-drift1 40s linear infinite; }
.scn-poem-each-that-we-lose .cloud2 { position:absolute; top:25%; left:5%; width:70px; height:15px; background: linear-gradient(180deg, rgba(180,190,200,0.5) 0%, rgba(180,190,200,0.05) 100%); border-radius:50%; filter: blur(4px); animation: el-drift2 55s linear infinite reverse; }
.scn-poem-each-that-we-lose .rock { position:absolute; bottom:30%; left:20%; width:80px; height:50px; background: linear-gradient(135deg, #4a4a4a 0%, #2a2a2a 100%); border-radius: 30% 60% 20% 50% / 40% 50% 30% 60%; box-shadow: inset 0 -8px 15px rgba(0,0,0,0.5); transform: rotate(-5deg); animation: el-rock 10s ease-in-out infinite; }
.scn-poem-each-that-we-lose .figure { position:absolute; bottom:30%; left:28%; width:16px; height:32px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: el-figure 6s ease-in-out infinite; }
@keyframes el-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes el-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes el-moon { 0%,100% { transform: translateX(0) translateY(0); } 50% { transform: translateX(10px) translateY(-3px); } }
@keyframes el-moon-glow { 0%,100% { opacity:0.6 } 50% { opacity:1 } }
@keyframes el-drift1 { 0% { transform: translateX(0) } 100% { transform: translateX(120vw) } }
@keyframes el-drift2 { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }
@keyframes el-rock { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-4deg) translateY(-3px) } }
@keyframes el-figure { 0%,100% { transform: translateX(0) rotate(0) } 25% { transform: translateX(5px) rotate(-2deg) } 50% { transform: translateX(12px) rotate(1deg) } 75% { transform: translateX(18px) rotate(-1deg) } }

/* poem-as-far-from-pity — dark tomb interior, overcast */
.scn-poem-as-far-from-pity {
  background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 50%, #0a0a14 100%),
              radial-gradient(ellipse 80% 50% at 50% 80%, #2a2a3a 0%, transparent 70%);
}
.scn-poem-as-far-from-pity .wall-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-poem-as-far-from-pity .wall-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(-90deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-poem-as-far-from-pity .floor { position:absolute; bottom:0; left:20%; right:20%; height:40%; background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3a 100%); }
.scn-poem-as-far-from-pity .window { position:absolute; top:15%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse at 50% 50%, #4a5a6a 0%, #2a3a4a 70%); border-radius: 10% / 20%; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); animation: ap-window 15s ease-in-out infinite alternate; }
.scn-poem-as-far-from-pity .slab { position:absolute; bottom:15%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); }
.scn-poem-as-far-from-pity .effigy { position:absolute; bottom:15%; left:42%; width:16%; height:10%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 30% 30% 20% 20% / 60% 60% 40% 40%; transform: rotate(2deg); animation: ap-effigy 20s ease-in-out infinite; }
.scn-poem-as-far-from-pity .candle { position:absolute; bottom:20%; left:30%; width:6px; height:20px; background: linear-gradient(180deg, #d0d0c0 0%, #a0a090 100%); border-radius: 20% 20% 10% 10%; }
.scn-poem-as-far-from-pity .glow { position:absolute; bottom:20%; left:30%; width:30px; height:30px; transform:translate(-50%,-50%); background: radial-gradient(circle, rgba(200,180,150,0.4) 0%, transparent 70%); border-radius:50%; animation: ap-glow 4s ease-in-out infinite alternate; }
@keyframes ap-window { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.4 } }
@keyframes ap-effigy { 0%,100% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-1px) } }
@keyframes ap-glow { 0% { transform:translate(-50%,-50%) scale(0.8); opacity:0.6 } 50% { transform:translate(-50%,-50%) scale(1.1); opacity:1 } 100% { transform:translate(-50%,-50%) scale(0.9); opacity:0.7 } }

/* poem-she-laid-her-docile-crescent — overcast graveyard, calm */
.scn-poem-she-laid-her-docile-crescent {
  background: linear-gradient(180deg, #4a5a5a 0%, #3a4a4a 50%, #2a3a3a 100%),
              radial-gradient(ellipse 100% 30% at 50% 100%, #5a6a6a 0%, transparent 60%);
}
.scn-poem-she-laid-her-docile-crescent .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #5a6a6a 0%, #4a5a5a 100%); animation: dc-sky 15s ease-in-out infinite alternate; }
.scn-poem-she-laid-her-docile-crescent .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #2a3a2a 0%, #3a4a3a 50%, #4a5a4a 100%); }
.scn-poem-she-laid-her-docile-crescent .mound { position:absolute; bottom:30%; left:30%; width:40%; height:10%; background: radial-gradient(ellipse at 50% 100%, #3a4a3a 0%, #2a3a2a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; animation: dc-mound 12s ease-in-out infinite; }
.scn-poem-she-laid-her-docile-crescent .headstone { position:absolute; bottom:38%; left:45%; width:8%; height:15%; background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%); border-radius: 10% 10% 4% 4% / 30% 30% 4% 4%; box-shadow: 2px 4px 6px rgba(0,0,0,0.4); }
.scn-poem-she-laid-her-docile-crescent .crescent { position:absolute; bottom:45%; left:48%; width:12px; height:12px; background: transparent; border: 2px solid #b0b0a0; border-radius: 50%; clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); transform: rotate(-30deg); animation: dc-crescent 20s ease-in-out infinite; }
.scn-poem-she-laid-her-docile-crescent .shaft { position:absolute; bottom:35%; left:55%; width:4%; height:25%; background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%); border-radius: 2px; transform: skewX(-2deg); }
.scn-poem-she-laid-her-docile-crescent .tree { position:absolute; top:20%; right:10%; width:20%; height:40%; background: radial-gradient(ellipse at 50% 100%, #3a4a3a 0%, #2a3a2a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; animation: dc-tree 25s ease-in-out infinite alternate; }
.scn-poem-she-laid-her-docile-crescent .cloud { position:absolute; top:10%; left:5%; width:80px; height:16px; background: linear-gradient(180deg, rgba(180,190,190,0.5) 0%, rgba(180,190,190,0.05) 100%); border-radius:50%; filter: blur(4px); animation: dc-drift 50s linear infinite; }
@keyframes dc-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes dc-mound { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes dc-crescent { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
@keyframes dc-tree { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } }
@keyframes dc-drift { 0% { transform: translateX(0) } 100% { transform: translateX(120vw) } }

/* poem-immortal-is-an-ample-word — overcast meadow, calm */
.scn-poem-immortal-is-an-ample-word {
  background: linear-gradient(180deg, #6a7a7a 0%, #5a6a6a 50%, #4a5a5a 100%),
              radial-gradient(ellipse 150% 50% at 50% 30%, #7a8a8a 0%, transparent 70%);
}
.scn-poem-immortal-is-an-ample-word .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #7a8a8a 0%, #6a7a7a 50%, #5a6a6a 100%); animation: im-sky 14s ease-in-out infinite alternate; }
.scn-poem-immortal-is-an-ample-word .hills { position:absolute; bottom:20%; left:0; right:0; height:25%; background: linear-gradient(180deg, #5a6a5a 0%, #4a5a4a 100%); border-radius: 60% 40% 0 0 / 80% 60% 0 0; }
.scn-poem-immortal-is-an-ample-word .meadow { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #4a5a4a 0%, #5a6a5a 50%, #6a7a6a 100%); }
.scn-poem-immortal-is-an-ample-word .tree1 { position:absolute; bottom:30%; left:15%; width:15%; height:25%; background: radial-gradient(ellipse at 50% 100%, #4a5a4a 0%, #3a4a3a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; animation: im-tree1 30s ease-in-out infinite alternate; }
.scn-poem-immortal-is-an-ample-word .tree2 { position:absolute; bottom:35%; right:20%; width:12%; height:20%; background: radial-gradient(ellipse at 50% 100%, #5a6a5a 0%, #4a5a4a 100%); border-radius: 50% 50% 0 0 / 90% 90% 0 0; animation: im-tree2 35s ease-in-out infinite alternate; }
.scn-poem-immortal-is-an-ample-word .bird1 { position:absolute; top:15%; left:30%; width:12px; height:8px; background: #3a4a3a; border-radius: 50% 50% 0 0; transform: rotate(-20deg); animation: im-bird1 12s ease-in-out infinite; }
.scn-poem-immortal-is-an-ample-word .bird2 { position:absolute; top:20%; right:40%; width:10px; height:6px; background: #3a4a3a; border-radius: 50% 50% 0 0; transform: rotate(15deg); animation: im-bird2 15s ease-in-out infinite; }
.scn-poem-immortal-is-an-ample-word .bee { position:absolute; bottom:45%; left:60%; width:6px; height:4px; background: #5a6a4a; border-radius: 50%; animation: im-bee 3s ease-in-out infinite; }
.scn-poem-immortal-is-an-ample-word .flower { position:absolute; bottom:10%; left:40%; width:10px; height:10px; background: radial-gradient(circle, #b0b8a0 0%, #a0a890 100%); border-radius:50%; animation: im-flower 5s ease-in-out infinite; }
@keyframes im-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes im-tree1 { 0%,100% { transform: scaleY(1) translateX(0) } 50% { transform: scaleY(0.95) translateX(-2px) } }
@keyframes im-tree2 { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.97) } }
@keyframes im-bird1 { 0%,100% { transform: translateX(0) rotate(-20deg) } 50% { transform: translateX(10px) rotate(-15deg) } }
@keyframes im-bird2 { 0%,100% { transform: translateX(0) rotate(15deg) } 50% { transform: translateX(-8px) rotate(10deg) } }
@keyframes im-bee { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.1) } }
@keyframes im-flower { 0%,100% { transform: rotate(0deg) scale(1) } 50% { transform: rotate(5deg) scale(1.05) } }

.scn-item-antique-book {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d9c8a0 40%, #b8a080 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
  overflow: hidden;
}
.scn-item-antique-book .window {
  position: absolute; inset: 4% 10% auto auto; width: 35%; height: 48%;
  background: linear-gradient(135deg, #fffce0 0%, #ffe8a0 50%, #d4b870 100%);
  border-radius: 4% 4% 0 0; box-shadow: inset 0 0 20px rgba(255, 235, 180, .6);
  animation: abk-window 10s ease-in-out infinite alternate;
}
.scn-item-antique-book .desk {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #6b4c30 0%, #4a3320 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.3);
}
.scn-item-antique-book .book {
  position: absolute; bottom: 18%; left: 30%; width: 28%; height: 32%;
  background: linear-gradient(180deg, #7a4a2a 0%, #4a2810 100%);
  border-radius: 6% 6% 4% 4%; box-shadow: 8px 6px 12px rgba(0,0,0,.5);
  transform: rotate(-2deg); animation: abk-book 8s ease-in-out infinite alternate;
}
.scn-item-antique-book .page {
  position: absolute; bottom: 22%; left: 34%; width: 20%; height: 24%;
  background: linear-gradient(135deg, #f5e6c0 0%, #e0c880 50%, #c8a050 100%);
  border-radius: 2% 4% 8% 2%; transform: rotate(1deg);
  animation: abk-page 12s ease-in-out infinite alternate;
}
.scn-item-antique-book .quill {
  position: absolute; bottom: 28%; left: 20%; width: 2%; height: 20%;
  background: linear-gradient(135deg, #e8d8c0 0%, #b8a080 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  transform-origin: bottom center; animation: abk-quill 4s ease-in-out infinite;
}
.scn-item-antique-book .inkwell {
  position: absolute; bottom: 16%; left: 18%; width: 5%; height: 6%;
  background: radial-gradient(circle, #2a1a0a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 3px 6px rgba(0,0,0,.4);
}
.scn-item-antique-book .dust {
  position: absolute; background: rgba(255, 235, 180, .5); border-radius: 50%;
  filter: blur(2px); animation: abk-dust 8s linear infinite;
}
.scn-item-antique-book .spec-1 { width: 2%; height: 2%; top: 20%; left: 40%; animation-delay: -2s; }
.scn-item-antique-book .spec-2 { width: 1.5%; height: 1.5%; top: 35%; left: 60%; animation-delay: -5s; animation-duration: 10s; }
.scn-item-antique-book .spec-3 { width: 1%; height: 1%; top: 50%; left: 25%; animation-delay: -8s; animation-duration: 12s; }
@keyframes abk-window { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes abk-book { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes abk-page { 0% { transform: rotate(1deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.02); } 100% { transform: rotate(1deg) scaleY(1); } }
@keyframes abk-quill { 0% { transform: rotate(-5deg); } 25% { transform: rotate(3deg); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(4deg); } 100% { transform: rotate(-5deg); } }
@keyframes abk-dust { 0% { transform: translateY(0) scale(1); opacity: .5; } 50% { transform: translateY(-40px) scale(1.3); opacity: .8; } 100% { transform: translateY(-80px) scale(1); opacity: 0; } }

.scn-poem-much-madness {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%),
    radial-gradient(ellipse at 70% 60%, #3a2a1a 0%, transparent 60%);
  overflow: hidden;
}
.scn-poem-much-madness .wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%);
  animation: mmd-wall 12s ease-in-out infinite alternate;
}
.scn-poem-much-madness .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.6);
}
.scn-poem-much-madness .lamp {
  position: absolute; top: 8%; right: 22%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 5px rgba(200,150,80,.3);
}
.scn-poem-much-madness .lightcone {
  position: absolute; top: 10%; right: 18%; width: 20%; height: 60%;
  background: radial-gradient(ellipse at 50% 0%, rgba(200,150,80,.3) 0%, transparent 70%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: mmd-light 6s ease-in-out infinite alternate;
}
.scn-poem-much-madness .figure-chained {
  position: absolute; bottom: 15%; left: 30%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: mmd-figure 5s ease-in-out infinite;
}
.scn-poem-much-madness .chain {
  position: absolute; bottom: 20%; width: 2%; height: 18%;
  background: radial-gradient(circle, #5a5a5a 0%, #3a3a3a 100%);
  border-radius: 20%; box-shadow: 0 2px 4px rgba(0,0,0,.4);
}
.scn-poem-much-madness .chain-a { left: 28%; animation: mmd-chain-a 4s ease-in-out infinite; }
.scn-poem-much-madness .chain-b { left: 42%; animation: mmd-chain-b 4.2s ease-in-out infinite; }
.scn-poem-much-madness .shadow {
  position: absolute; bottom: 0; left: 25%; width: 30%; height: 20%;
  background: rgba(0,0,0,.4); border-radius: 50% 50% 0 0; filter: blur(6px);
  animation: mmd-shadow 5s ease-in-out infinite alternate;
}
@keyframes mmd-wall { 0% { box-shadow: inset 0 0 30px #0a0a1a; } 50% { box-shadow: inset 0 0 50px #2a1a0a; } 100% { box-shadow: inset 0 0 30px #0a0a1a; } }
@keyframes mmd-light { 0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes mmd-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(5px) rotate(3deg); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes mmd-chain-a { 0% { transform: rotate(0deg); } 25% { transform: rotate(8deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }
@keyframes mmd-chain-b { 0% { transform: rotate(0deg); } 25% { transform: rotate(-6deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }
@keyframes mmd-shadow { 0% { transform: scale(1); opacity: .4; } 50% { transform: scale(1.1); opacity: .6; } 100% { transform: scale(1); opacity: .4; } }

.scn-poem-soul-selects {
  background:
    linear-gradient(180deg, #1e1e2a 0%, #2a2a3a 50%, #3a3a4a 100%),
    radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
  overflow: hidden;
}
.scn-poem-soul-selects .room {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #1e1e2a 0%, #2e2e3a 50%, #1e1e2a 100%);
  animation: ssl-room 15s ease-in-out infinite alternate;
}
.scn-poem-soul-selects .door {
  position: absolute; left: 10%; top: 10%; width: 35%; height: 80%;
  background: linear-gradient(180deg, #3a2e1e 0%, #2a1e0e 100%);
  border-radius: 4% 4% 0 0; box-shadow: inset -10px 0 20px rgba(0,0,0,.5), 2px 0 8px rgba(0,0,0,.3);
  animation: ssl-door 20s ease-in-out infinite alternate;
}
.scn-poem-soul-selects .gate {
  position: absolute; left: 15%; bottom: 10%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4);
  animation: ssl-gate 25s ease-in-out infinite alternate;
}
.scn-poem-soul-selects .mat {
  position: absolute; left: 20%; bottom: 0%; width: 15%; height: 6%;
  background: linear-gradient(135deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-poem-soul-selects .emperor {
  position: absolute; left: 25%; bottom: 8%; width: 8%; height: 24%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center; animation: ssl-emperor 6s ease-in-out infinite alternate;
}
.scn-poem-soul-selects .chariot {
  position: absolute; left: 5%; bottom: 12%; width: 12%; height: 18%;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 2px 6px 12px rgba(0,0,0,.5);
}
.scn-poem-soul-selects .figure-soul {
  position: absolute; left: 38%; bottom: 20%; width: 6%; height: 15%;
  background: radial-gradient(circle, rgba(200,180,160,.4) 0%, transparent 80%);
  border-radius: 50%; filter: blur(3px);
  animation: ssl-soul 8s ease-in-out infinite alternate;
}
@keyframes ssl-room { 0% { box-shadow: inset 0 0 40px #0a0a12; } 50% { box-shadow: inset 0 0 60px #1a1a2a; } 100% { box-shadow: inset 0 0 40px #0a0a12; } }
@keyframes ssl-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98); } 100% { transform: scaleX(1); } }
@keyframes ssl-gate { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ssl-emperor { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-3deg) translateY(-2px); } 50% { transform: rotate(2deg) translateY(0); } 75% { transform: rotate(-1deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ssl-soul { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .6; transform: scale(1.2); } 100% { opacity: .3; transform: scale(1); } }

.scn-poem-some-things-that-fly {
  background:
    linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 40%, #3a4a5a 100%),
    radial-gradient(ellipse at 50% 100%, #8a9aaa 0%, transparent 70%);
  overflow: hidden;
}
.scn-poem-some-things-that-fly .overcast {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(180,190,200,.3) 0%, rgba(120,130,140,.1) 100%);
  animation: stf-sky 30s ease-in-out infinite alternate;
}
.scn-poem-some-things-that-fly .hills {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
}
.scn-poem-some-things-that-fly .bird {
  position: absolute; width: 8%; height: 6%;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  clip-path: polygon(0% 50%, 50% 0%, 100% 50%, 50% 100%);
  filter: blur(1px);
}
.scn-poem-some-things-that-fly .bird-1 { top: 15%; left: 20%; animation: stf-bird-1 18s linear infinite; animation-delay: -3s; }
.scn-poem-some-things-that-fly .bird-2 { top: 35%; left: 60%; animation: stf-bird-2 22s linear infinite; animation-delay: -10s; }
.scn-poem-some-things-that-fly .bee {
  position: absolute; top: 50%; left: 30%; width: 4%; height: 4%;
  background: radial-gradient(circle, #6a5a2a 0%, #4a3a1a 100%);
  border-radius: 50%; box-shadow: 0 0 8px 2px rgba(200,180,100,.3);
  animation: stf-bee 6s ease-in-out infinite;
}
.scn-poem-some-things-that-fly .hourglass {
  position: absolute; bottom: 15%; right: 15%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 50%, #2a1a0a 100%);
  border-radius: 40% 40% 40% 40% / 60% 60% 40% 40%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  animation: stf-glass 10s ease-in-out infinite alternate;
}
.scn-poem-some-things-that-fly .elegy-mist {
  position: absolute; bottom: 40%; left: 10%; width: 80%; height: 20%;
  background: radial-gradient(ellipse at 50% 50%, rgba(180,190,200,.2) 0%, transparent 70%);
  filter: blur(8px); animation: stf-mist 25s ease-in-out infinite alternate;
}
@keyframes stf-sky { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes stf-bird-1 { 0% { transform: translateX(-10vw) translateY(0) rotate(0deg); } 25% { transform: translateX(20vw) translateY(-15px) rotate(5deg); } 50% { transform: translateX(50vw) translateY(0) rotate(0deg); } 75% { transform: translateX(80vw) translateY(-10px) rotate(-3deg); } 100% { transform: translateX(100vw) translateY(0) rotate(0deg); } }
@keyframes stf-bird-2 { 0% { transform: translateX(-10vw) translateY(0) rotate(0deg); } 30% { transform: translateX(30vw) translateY(20px) rotate(-4deg); } 60% { transform: translateX(70vw) translateY(0) rotate(2deg); } 100% { transform: translateX(100vw) translateY(15px) rotate(0deg); } }
@keyframes stf-bee { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 25% { transform: translate(10px, -5px) rotate(10deg) scale(1.1); } 50% { transform: translate(20px, 0) rotate(-5deg) scale(1); } 75% { transform: translate(10px, 5px) rotate(8deg) scale(0.9); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }
@keyframes stf-glass { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97); } 100% { transform: scaleY(1); } }
@keyframes stf-mist { 0% { opacity: .2; transform: translateX(0); } 50% { opacity: .4; transform: translateX(20px); } 100% { opacity: .2; transform: translateX(0); } }

/* ----- poem-melodies-unheard (dawn, warm) ----- */
.scn-poem-melodies-unheard {
  background: linear-gradient(180deg, #1e1a30 0%, #4a2e4a 30%, #c06848 70%, #f0c080 100%), radial-gradient(ellipse at 50% 100%, #f0c080 0%, transparent 70%);
}
.scn-poem-melodies-unheard .sky-dawn {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3a1a3a 0%, #805030 40%, #e8a050 70%, #f8d080 100%);
  animation: sm-sky 15s ease-in-out infinite alternate;
}
.scn-poem-melodies-unheard .sunrise {
  position: absolute; bottom: 40%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffe0a0 0%, #f0a040 50%, #c06030 100%);
  border-radius: 50%; box-shadow: 0 0 80px 40px #f0a040, 0 0 160px 60px rgba(240,160,64,0.3);
  transform: translateX(-50%); animation: sm-sun 20s ease-in-out infinite alternate;
}
.scn-poem-melodies-unheard .hills {
  position: absolute; bottom: 28%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
  animation: sm-hills 12s ease-in-out infinite alternate;
}
.scn-poem-melodies-unheard .musician {
  position: absolute; bottom: 22%; left: 40%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sm-musician 4s ease-in-out infinite;
}
.scn-poem-melodies-unheard .horn {
  position: absolute; bottom: 33%; left: 45%; width: 40px; height: 8px;
  background: #c08040;
  border-radius: 50% 20% 20% 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: sm-horn 2s ease-in-out infinite alternate;
}
.scn-poem-melodies-unheard .note {
  position: absolute; width: 8px; height: 18px;
  background: #2a1a2a;
  border-radius: 50% 50% 20% 20%;
  animation: sm-note 6s linear infinite;
}
.scn-poem-melodies-unheard .note-1 { left: 48%; top: 30%; }
.scn-poem-melodies-unheard .note-2 { left: 52%; top: 25%; animation-delay: 2s; }
.scn-poem-melodies-unheard .bird {
  position: absolute; bottom: 55%; left: 20%; width: 20px; height: 12px;
  background: #1a1a2a;
  clip-path: polygon(0 50%, 30% 0, 50% 30%, 70% 0, 100% 50%, 70% 100%, 50% 70%, 30% 100%);
  animation: sm-bird 8s ease-in-out infinite alternate;
}
.scn-poem-melodies-unheard .cloud-dawn {
  position: absolute; top: 10%; right: 10%; width: 120px; height: 20px;
  background: linear-gradient(180deg, rgba(255,200,150,0.6) 0%, rgba(255,180,100,0.2) 100%);
  border-radius: 50%; filter: blur(8px);
  animation: sm-cloud 40s linear infinite;
}
@keyframes sm-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes sm-sun { 0% { transform:translateX(-50%) translateY(0) scale(1) } 50% { transform:translateX(-50%) translateY(-10px) scale(1.05) } 100% { transform:translateX(-50%) translateY(0) scale(1) } }
@keyframes sm-hills { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }
@keyframes sm-musician { 0%,100% { transform:translateX(0) rotate(0) } 25% { transform:translateX(4px) rotate(2deg) } 75% { transform:translateX(-4px) rotate(-2deg) } }
@keyframes sm-horn { 0% { transform:rotate(0) scaleY(1) } 50% { transform:rotate(5deg) scaleY(1.2) } 100% { transform:rotate(0) scaleY(1) } }
@keyframes sm-note { 0% { transform:translateY(0) rotate(0) opacity:1 } 50% { transform:translateY(-30px) rotate(20deg) opacity:0.6 } 100% { transform:translateY(0) rotate(0) opacity:1 } }
@keyframes sm-bird { 0% { transform:translateX(0) } 50% { transform:translateX(20px) translateY(-10px) } 100% { transform:translateX(0) } }
@keyframes sm-cloud { 0% { transform:translateX(0) } 100% { transform:translateX(150vw) } }

/* ----- poem-called-back (dusk, tense) ----- */
.scn-poem-called-back {
  background: linear-gradient(180deg, #0e0e2a 0%, #1a1a3e 30%, #3a2a4a 60%, #4a3a4a 100%), radial-gradient(ellipse at 50% 60%, #4a3a4a 0%, transparent 70%);
}
.scn-poem-called-back .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a1a3e 0%, #0a0a1a 100%);
  animation: scb-sea 6s ease-in-out infinite alternate;
}
.scn-poem-called-back .sky-dusk {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0e0e2a 0%, #2a1a3a 20%, #6a3a4a 50%, #8a5a5a 80%, #b08060 100%);
  animation: scb-sky 12s ease-in-out infinite alternate;
}
.scn-poem-called-back .ship {
  position: absolute; bottom: 32%; left: 50%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
  animation: scb-ship 8s ease-in-out infinite alternate;
}
.scn-poem-called-back .sail {
  position: absolute; bottom: 38%; left: 43%; width: 30px; height: 50px;
  background: #d0c0a0;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: scb-sail 4s ease-in-out infinite alternate;
}
.scn-poem-called-back .sailor {
  position: absolute; bottom: 28%; left: 48%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  animation: scb-sailor 3s ease-in-out infinite;
}
.scn-poem-called-back .wave {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 12px;
  background: rgba(30,30,60,0.6);
  border-radius: 50%;
  animation: scb-wave 4s ease-in-out infinite alternate;
}
.scn-poem-called-back .w1 { bottom: 18%; animation-delay: -1s; }
.scn-poem-called-back .w2 { bottom: 14%; height: 8px; animation-delay: -2.5s; }
.scn-poem-called-back .horizon-line {
  position: absolute; bottom: 38%; left: 0; right: 0; height: 2px;
  background: #8a6a5a;
  opacity: 0.4;
}
@keyframes scb-sea { 0% { transform:translateY(0) } 50% { transform:translateY(5px) } 100% { transform:translateY(0) } }
@keyframes scb-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes scb-ship { 0% { transform:translateX(-50%) rotate(0) } 50% { transform:translateX(-50%) rotate(-3deg) } 100% { transform:translateX(-50%) rotate(0) } }
@keyframes scb-sail { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.2) } 100% { transform:scaleY(1) } }
@keyframes scb-sailor { 0%,100% { transform:rotate(0) } 25% { transform:rotate(3deg) } 75% { transform:rotate(-3deg) } }
@keyframes scb-wave { 0% { transform:translateX(0) scaleX(1) } 50% { transform:translateX(5px) scaleX(1.1) } 100% { transform:translateX(0) scaleX(1) } }

/* ----- poem-choice (sunlit, warm) ----- */
.scn-poem-choice {
  background: linear-gradient(180deg, #8ac0e0 0%, #c0d8f0 30%, #e8e8d0 60%, #f0d8a0 100%), radial-gradient(ellipse at 50% 100%, #f0d8a0 0%, transparent 50%);
}
.scn-poem-choice .sky-sunlit {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #70a8d0 0%, #a0c8e8 50%, #d0e0f0 100%);
  animation: ch-sky 20s ease-in-out infinite alternate;
}
.scn-poem-choice .sun {
  position: absolute; top: 20%; left: 60%; width: 80px; height: 80px;
  background: radial-gradient(circle, #ffe080 0%, #f0c040 60%, #c08020 100%);
  border-radius: 50%;
  box-shadow: 0 0 100px 60px #f0c040, 0 0 200px 100px rgba(240,192,64,0.2);
  animation: ch-sun 12s ease-in-out infinite alternate;
}
.scn-poem-choice .figure {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: ch-figure 6s ease-in-out infinite alternate;
}
.scn-poem-choice .ground {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c0a070 0%, #a08050 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
  animation: ch-ground 15s ease-in-out infinite alternate;
}
.scn-poem-choice .grain {
  position: absolute; width: 4px; height: 4px;
  background: #e0c080;
  border-radius: 50%;
  animation: ch-grain 3s ease-in-out infinite;
}
.scn-poem-choice .g1 { bottom: 22%; left: 45%; }
.scn-poem-choice .g2 { bottom: 18%; left: 48%; animation-delay: 0.5s; }
.scn-poem-choice .g3 { bottom: 15%; left: 43%; animation-delay: 1.2s; }
.scn-poem-choice .mist {
  position: absolute; inset: 0;
  background: rgba(200,220,240,0.15);
  pointer-events: none;
  animation: ch-mist 8s ease-in-out infinite alternate;
}
@keyframes ch-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ch-sun { 0% { transform:scale(1) } 50% { transform:scale(1.05) } 100% { transform:scale(1) } }
@keyframes ch-figure { 0%,100% { transform:translateX(-50%) rotate(0) } 50% { transform:translateX(-50%) translateY(-5px) rotate(2deg) } }
@keyframes ch-ground { 0% { transform:translateY(0) } 50% { transform:translateY(3px) } 100% { transform:translateY(0) } }
@keyframes ch-grain { 0% { transform:translateY(0) opacity:0.8 } 50% { transform:translateY(-8px) opacity:1 } 100% { transform:translateY(0) opacity:0.8 } }
@keyframes ch-mist { 0% { opacity:0.1 } 50% { opacity:0.3 } 100% { opacity:0.1 } }

/* ----- poem-your-riches-taught-me (overcast, calm) ----- */
.scn-poem-your-riches-taught-me {
  background: linear-gradient(180deg, #707a80 0%, #889090 30%, #a0a8a8 60%, #b8b8b0 100%), radial-gradient(ellipse at 50% 80%, #c8c8c0 0%, transparent 70%);
}
.scn-poem-your-riches-taught-me .sky-overcast {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #606a70 0%, #809090 40%, #a0a8a8 100%);
  animation: rt-sky 25s ease-in-out infinite alternate;
}
.scn-poem-your-riches-taught-me .hills.low {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 100%);
  border-radius: 40% 60% 0 0 / 50% 70% 0 0;
  animation: rt-hills-low 18s ease-in-out infinite alternate;
}
.scn-poem-your-riches-taught-me .hills.high {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  transform: scale(0.95);
  animation: rt-hills-high 22s ease-in-out infinite alternate reverse;
}
.scn-poem-your-riches-taught-me .tree {
  position: absolute; bottom: 32%; left: 38%; width: 20px; height: 60px;
  background: #3a3a2a;
  border-radius: 30% 30% 10% 10%;
  transform-origin: bottom center;
  animation: rt-tree 8s ease-in-out infinite alternate;
}
.scn-poem-your-riches-taught-me .figure {
  position: absolute; bottom: 35%; left: 60%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  animation: rt-figure 12s ease-in-out infinite alternate;
}
.scn-poem-your-riches-taught-me .cloud {
  position: absolute; height: 20px;
  background: rgba(180,190,190,0.5);
  border-radius: 50%; filter: blur(6px);
  animation: rt-cloud 60s linear infinite;
}
.scn-poem-your-riches-taught-me .c1 { top: 12%; left: 20%; width: 120px; }
.scn-poem-your-riches-taught-me .c2 { top: 22%; right: 8%; width: 80px; animation-delay: -30s; }
@keyframes rt-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes rt-hills-low { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes rt-hills-high { 0% { transform:translateY(0) scale(0.95) } 50% { transform:translateY(-3px) scale(0.97) } 100% { transform:translateY(0) scale(0.95) } }
@keyframes rt-tree { 0% { transform:rotate(0) } 50% { transform:rotate(3deg) } 100% { transform:rotate(0) } }
@keyframes rt-figure { 0% { transform:translateX(0) } 50% { transform:translateX(4px) } 100% { transform:translateX(0) } }
@keyframes rt-cloud { 0% { transform:translateX(0) } 100% { transform:translateX(150vw) } }

/* poem-sleep-is-supposed */
.scn-poem-sleep-is-supposed {
  background: linear-gradient(180deg, #1a1e2f 0%, #2a2e3f 60%, #1e2230 100%), radial-gradient(ellipse at 60% 30%, #3a4a6a 0%, transparent 70%);
}
.scn-poem-sleep-is-supposed .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #2c3042 0%, #1e2230 50%, #141828 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.4);
}
.scn-poem-sleep-is-supposed .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1c28 0%, #2a2d3a 100%);
  border-radius: 0 0 10% 10% / 0 0 20% 20%;
}
.scn-poem-sleep-is-supposed .window-frame {
  position: absolute; top: 12%; left: 70%; width: 80px; height: 110px; transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3e50 0%, #2a2e40 100%);
  border-radius: 6px; box-shadow: inset 0 0 0 4px #4a4e60;
}
.scn-poem-sleep-is-supposed .aurora-glow {
  position: absolute; top: 14%; left: 70%; width: 72px; height: 100px; transform: translateX(-50%);
  background: linear-gradient(180deg, #4a7a8a 0%, #2a5a6a 40%, #1a3a4a 100%);
  border-radius: 4px; box-shadow: 0 0 40px 10px rgba(74,122,138,0.3);
  animation: sp1-aurora 12s ease-in-out infinite alternate;
}
.scn-poem-sleep-is-supposed .bed {
  position: absolute; bottom: 18%; left: 20%; width: 120px; height: 50px;
  background: linear-gradient(180deg, #3a3e50 0%, #2a2e40 100%);
  border-radius: 8px 8px 12px 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-sleep-is-supposed .figure-sleeping {
  position: absolute; bottom: 22%; left: 30%; width: 28px; height: 40px;
  background: linear-gradient(180deg, #4a4e60 0%, #2a2e40 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(15deg);
  animation: sp1-breathe 6s ease-in-out infinite;
}
.scn-poem-sleep-is-supposed .lamp {
  position: absolute; bottom: 36%; left: 12%; width: 10px; height: 20px;
  background: #6a6e80; border-radius: 4px 4px 10px 10px; box-shadow: 0 0 16px 4px #5a5e70;
  animation: sp1-lamp 4s ease-in-out infinite alternate;
}
.scn-poem-sleep-is-supposed .lamp-triangle {
  position: absolute; bottom: 34%; left: 11.5%; width: 12px; height: 6px;
  background: #5a5e70; clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: sp1-lamp 4s ease-in-out infinite alternate;
}
.scn-poem-sleep-is-supposed .shadow-figure {
  position: absolute; bottom: 18%; left: 55%; width: 20px; height: 35px;
  background: rgba(0,0,0,0.3); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(3px); animation: sp1-shadow 8s ease-in-out infinite;
}
@keyframes sp1-aurora {
  0% { opacity: 0.5; transform: translateX(-50%) translateY(0) scaleY(1); }
  50% { opacity: 0.8; transform: translateX(-50%) translateY(-3px) scaleY(1.05); }
  100% { opacity: 0.6; transform: translateX(-50%) translateY(2px) scaleY(0.95); }
}
@keyframes sp1-breathe {
  0%,100% { transform: rotate(15deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-2px); }
}
@keyframes sp1-lamp {
  0% { box-shadow: 0 0 12px 2px #5a5e70; opacity: 0.7; }
  50% { box-shadow: 0 0 20px 6px #7a7e90; opacity: 1; }
  100% { box-shadow: 0 0 14px 3px #5a5e70; opacity: 0.8; }
}
@keyframes sp1-shadow {
  0%,100% { transform: scaleX(1); opacity: 0.3; }
  50% { transform: scaleX(0.8); opacity: 0.5; }
}

/* poem-i-never-lost-as-much */
.scn-poem-i-never-lost-as-much {
  background: linear-gradient(180deg, #4a4e5a 0%, #3a3e4a 40%, #2a2e3a 100%), radial-gradient(ellipse at 50% 80%, #1a1e2a 0%, transparent 60%);
}
.scn-poem-i-never-lost-as-much .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a5e6a 0%, #4a4e5a 40%, #3a3e4a 100%);
  animation: nl1-sky 20s ease-in-out infinite alternate;
}
.scn-poem-i-never-lost-as-much .ground-sod {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a2e3a 0%, #1a1e2a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-poem-i-never-lost-as-much .door-heaven {
  position: absolute; top: 10%; left: 50%; width: 60px; height: 90px; transform: translateX(-50%);
  background: linear-gradient(180deg, #6a6e80 0%, #4a4e60 100%);
  border-radius: 10px 10px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-i-never-lost-as-much .figure-beggar {
  position: absolute; bottom: 22%; left: 50%; width: 24px; height: 50px; transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2e3a 0%, #1a1e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: nl1-beggar 6s ease-in-out infinite alternate;
}
.scn-poem-i-never-lost-as-much .angel-left {
  position: absolute; top: 12%; left: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #7a7e8a 0%, #5a5e6a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform: rotate(-10deg);
  filter: blur(2px); animation: nl1-angel-l 18s ease-in-out infinite;
}
.scn-poem-i-never-lost-as-much .angel-right {
  position: absolute; top: 10%; left: 62%; width: 26px; height: 36px;
  background: linear-gradient(180deg, #7a7e8a 0%, #5a5e6a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform: rotate(10deg);
  filter: blur(2px); animation: nl1-angel-r 22s ease-in-out infinite;
}
.scn-poem-i-never-lost-as-much .grave-mound {
  position: absolute; bottom: 30%; left: 25%; width: 50px; height: 20px;
  background: radial-gradient(ellipse at 50% 100%, #3a3e4a 0%, #2a2e3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
}
.scn-poem-i-never-lost-as-much .light-beam {
  position: absolute; top: 0; left: 50%; width: 20px; height: 50%; transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(100,110,130,0.2) 100%);
  filter: blur(8px); animation: nl1-beam 14s ease-in-out infinite alternate;
}
@keyframes nl1-sky {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.6; }
}
@keyframes nl1-beggar {
  0% { transform: translateX(-50%) translateY(0) scaleY(1); }
  50% { transform: translateX(-50%) translateY(-3px) scaleY(0.95); }
  100% { transform: translateX(-50%) translateY(2px) scaleY(1); }
}
@keyframes nl1-angel-l {
  0% { transform: rotate(-10deg) translateY(0); opacity: 0.4; }
  25% { transform: rotate(-8deg) translateY(-5px); opacity: 0.6; }
  50% { transform: rotate(-12deg) translateY(-10px); opacity: 0.8; }
  75% { transform: rotate(-10deg) translateY(-5px); opacity: 0.6; }
  100% { transform: rotate(-10deg) translateY(0); opacity: 0.4; }
}
@keyframes nl1-angel-r {
  0% { transform: rotate(10deg) translateY(0); opacity: 0.4; }
  25% { transform: rotate(12deg) translateY(-4px); opacity: 0.6; }
  50% { transform: rotate(8deg) translateY(-8px); opacity: 0.8; }
  75% { transform: rotate(10deg) translateY(-4px); opacity: 0.6; }
  100% { transform: rotate(10deg) translateY(0); opacity: 0.4; }
}
@keyframes nl1-beam {
  0% { opacity: 0.2; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.5; transform: translateX(-50%) scaleY(1.2); }
  100% { opacity: 0.3; transform: translateX(-50%) scaleY(0.8); }
}

/* editorial-second-series-preface */
.scn-editorial-second-series-preface {
  background: linear-gradient(180deg, #2c2a24 0%, #3a3630 40%, #24211c 100%), radial-gradient(ellipse at 70% 40%, #4a4038 0%, transparent 70%);
}
.scn-editorial-second-series-preface .wall-panel {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #3a3630 0%, #2a2620 50%, #1c1a16 100%);
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.4);
}
.scn-editorial-second-series-preface .desk-top {
  position: absolute; bottom: 18%; left: 15%; right: 15%; height: 30%;
  background: linear-gradient(180deg, #4a443a 0%, #3a342c 100%);
  border-radius: 4px 4px 10px 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-editorial-second-series-preface .papers-stack {
  position: absolute; bottom: 26%; left: 30%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #6a6040 0%, #5a5030 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: pr1-papers 12s ease-in-out infinite alternate;
}
.scn-editorial-second-series-preface .inkwell {
  position: absolute; bottom: 30%; left: 68%; width: 16px; height: 18px;
  background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 50% 50% 40% 40% / 30% 30% 70% 70%;
}
.scn-editorial-second-series-preface .lamp-desk {
  position: absolute; bottom: 40%; left: 22%; width: 12px; height: 24px;
  background: #5a5040; border-radius: 4px 4px 8px 8px;
  box-shadow: 0 0 20px 4px #6a6040; animation: pr1-lamp 5s ease-in-out infinite alternate;
}
.scn-editorial-second-series-preface .chair-silhouette {
  position: absolute; bottom: 12%; left: 72%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #2a2620 0%, #1c1a16 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 60% 60%; transform: rotate(2deg);
  filter: blur(1px);
}
.scn-editorial-second-series-preface .shadow-hand {
  position: absolute; bottom: 24%; left: 40%; width: 18px; height: 10px;
  background: rgba(0,0,0,0.4); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-10deg); filter: blur(2px);
  animation: pr1-hand 8s ease-in-out infinite alternate;
}
.scn-editorial-second-series-preface .fascicule {
  position: absolute; bottom: 22%; left: 48%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #5a5238 0%, #4a4228 100%);
  border-radius: 2px; box-shadow: 0 2px 2px rgba(0,0,0,0.3);
  transform: rotate(4deg); animation: pr1-fasc 14s ease-in-out infinite;
}
@keyframes pr1-papers {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(1px) rotate(-1deg); }
}
@keyframes pr1-lamp {
  0% { box-shadow: 0 0 12px 2px #6a6040; opacity: 0.8; }
  50% { box-shadow: 0 0 24px 6px #8a7850; opacity: 1; }
  100% { box-shadow: 0 0 16px 3px #6a6040; opacity: 0.9; }
}
@keyframes pr1-hand {
  0% { transform: rotate(-10deg) translateX(0); opacity: 0.3; }
  50% { transform: rotate(-12deg) translateX(4px); opacity: 0.5; }
  100% { transform: rotate(-8deg) translateX(-2px); opacity: 0.4; }
}
@keyframes pr1-fasc {
  0%,100% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(6deg) translateY(-1px); }
}

/* editorial-second-series-methods */
.scn-editorial-second-series-methods {
  background: linear-gradient(180deg, #2e2a26 0%, #3a3430 40%, #221e1a 100%), radial-gradient(ellipse at 30% 50%, #3e3830 0%, transparent 60%);
}
.scn-editorial-second-series-methods .bookshelf {
  position: absolute; top: 5%; left: 5%; width: 90%; height: 40%;
  background: repeating-linear-gradient(0deg, #3a342e 0px, #3a342e 4px, #2e2822 4px, #2e2822 8px);
  border-radius: 4px; box-shadow: inset 0 4px 6px rgba(0,0,0,0.4);
}
.scn-editorial-second-series-methods .desk-surface {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #4a443c 0%, #3a342c 100%);
  border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-editorial-second-series-methods .parchment {
  position: absolute; bottom: 22%; left: 28%; width: 70px; height: 50px;
  background: linear-gradient(180deg, #5a5438 0%, #4a4428 100%);
  border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: mt1-parchment 10s ease-in-out infinite alternate;
}
.scn-editorial-second-series-methods .ink-bottle {
  position: absolute; bottom: 28%; left: 65%; width: 18px; height: 22px;
  background: linear-gradient(180deg, #3e3630 0%, #2a221c 100%);
  border-radius: 40% 40% 30% 30% / 20% 20% 80% 80%;
}
.scn-editorial-second-series-methods .quill {
  position: absolute; bottom: 30%; left: 60%; width: 4px; height: 28px;
  background: linear-gradient(180deg, #6a5e48 0%, #4a3e28 100%);
  border-radius: 2px 2px 10px 10px; transform: rotate(-20deg);
  animation: mt1-quill 6s ease-in-out infinite alternate;
}
.scn-editorial-second-series-methods .figure-writing {
  position: absolute; bottom: 16%; left: 52%; width: 26px; height: 44px;
  background: linear-gradient(180deg, #2a2620 0%, #1c1a16 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg);
  animation: mt1-figure 8s ease-in-out infinite alternate;
}
.scn-editorial-second-series-methods .shadow-desk {
  position: absolute; bottom: 14%; left: 15%; right: 15%; height: 8%;
  background: rgba(0,0,0,0.3); filter: blur(4px);
  animation: mt1-shadow 12s ease-in-out infinite alternate;
}
.scn-editorial-second-series-methods .page-turn {
  position: absolute; bottom: 24%; left: 38%; width: 30px; height: 2px;
  background: #4a4428; border-radius: 1px;
  animation: mt1-turn 15s ease-in-out infinite;
}
@keyframes mt1-parchment {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-1px); }
  100% { transform: rotate(-5deg) translateY(1px); }
}
@keyframes mt1-quill {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-15deg) translateX(3px); }
  100% { transform: rotate(-25deg) translateX(-2px); }
}
@keyframes mt1-figure {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(7deg) translateY(-1px); }
  100% { transform: rotate(3deg) translateY(0); }
}
@keyframes mt1-shadow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(0.95); }
}
@keyframes mt1-turn {
  0%,100% { opacity: 0.2; transform: rotate(0deg) translateX(0); }
  25% { opacity: 0.5; transform: rotate(15deg) translateX(5px); }
  50% { opacity: 0.3; transform: rotate(30deg) translateX(10px); }
  75% { opacity: 0.4; transform: rotate(15deg) translateX(5px); }
}

.scn-poem-i-sing-to-use-the-waiting {
  background: linear-gradient(180deg, #2d1b4e 0%, #6a3e4e 40%, #c87a4a 70%, #d9a05a 100%), radial-gradient(ellipse at 50% 0%, #d9a05a 0%, transparent 60%);
}
.scn-poem-i-sing-to-use-the-waiting .sky {
  position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #1d0d2e 0%, #3a1f4a 40%, #6a3e4e 70%, transparent 100%);
  animation: singing-sky 14s ease-in-out infinite alternate;
}
.scn-poem-i-sing-to-use-the-waiting .horizon {
  position: absolute; bottom: 45%; left: 0; right: 0; height: 12%; background: linear-gradient(180deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 60% 40% 0 0 / 30% 50% 0 0; box-shadow: 0 4px 15px rgba(0,0,0,.5);
  animation: singing-horizon 20s ease-in-out infinite alternate;
}
.scn-poem-i-sing-to-use-the-waiting .path {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 25%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 30% 70% 0 0 / 50% 50% 0 0; transform-origin: bottom center;
  animation: singing-path 8s ease-in-out infinite;
}
.scn-poem-i-sing-to-use-the-waiting .figure {
  position: absolute; bottom: 22%; left: 35%; width: 20px; height: 40px; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: singing-walk 6s ease-in-out infinite;
}
.scn-poem-i-sing-to-use-the-waiting .lantern {
  position: absolute; bottom: 28%; left: 36%; width: 8px; height: 8px; background: radial-gradient(circle, #f0c060 0%, #d08030 70%); border-radius: 50%; box-shadow: 0 0 20px 6px #d08040, 0 0 40px 12px rgba(208,128,64,.4);
  animation: singing-lantern 4s ease-in-out infinite alternate;
}
.scn-poem-i-sing-to-use-the-waiting .cloud-a {
  position: absolute; top: 12%; left: 10%; width: 70px; height: 16px; background: linear-gradient(180deg, rgba(200,150,120,.4) 0%, rgba(200,150,120,.1) 100%); border-radius: 50%; filter: blur(4px);
  animation: singing-drift-a 40s linear infinite;
}
.scn-poem-i-sing-to-use-the-waiting .cloud-b {
  position: absolute; top: 20%; right: 8%; width: 50px; height: 12px; background: linear-gradient(180deg, rgba(200,150,120,.3) 0%, rgba(200,150,120,.05) 100%); border-radius: 50%; filter: blur(3px);
  animation: singing-drift-b 55s linear infinite reverse;
}
@keyframes singing-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes singing-horizon {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes singing-path {
  0%, 100% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(1.02) translateX(-2px); }
}
@keyframes singing-walk {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(8px) translateY(0) rotate(-2deg); }
  75% { transform: translateX(12px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(16px) translateY(0) rotate(0deg); }
}
@keyframes singing-lantern {
  0% { transform: scale(1) rotate(-5deg); box-shadow: 0 0 15px 4px #d08040, 0 0 30px 8px rgba(208,128,64,.3); }
  50% { transform: scale(1.2) rotate(5deg); box-shadow: 0 0 25px 8px #f0a040, 0 0 50px 15px rgba(240,160,64,.5); }
  100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 15px 4px #d08040, 0 0 30px 8px rgba(208,128,64,.3); }
}
@keyframes singing-drift-a {
  0% { transform: translateX(-40px); }
  100% { transform: translateX(120vw); }
}
@keyframes singing-drift-b {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100vw); }
}

.scn-poem-so-proud-she-was-to-die {
  background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 40%, #8a9a9a 70%, #9aaaaa 100%), radial-gradient(ellipse at 50% 0%, #b0c0c0 0%, transparent 60%);
}
.scn-poem-so-proud-she-was-to-die .sky {
  position: absolute; inset: 0 0 60% 0; background: linear-gradient(180deg, #3a4a5a 0%, #5a6a7a 50%, transparent 100%);
  animation: prd-sky 18s ease-in-out infinite alternate;
}
.scn-poem-so-proud-she-was-to-die .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 100%); border-radius: 20% 80% 0 0 / 40% 60% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.3);
  animation: prd-ground 24s ease-in-out infinite alternate;
}
.scn-poem-so-proud-she-was-to-die .figure {
  position: absolute; bottom: 30%; left: 50%; width: 24px; height: 50px; transform: translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: prd-figure 10s ease-in-out infinite;
}
.scn-poem-so-proud-she-was-to-die .veil {
  position: absolute; bottom: 35%; left: 48%; width: 30px; height: 20px; background: linear-gradient(180deg, rgba(200,200,200,.5) 0%, rgba(200,200,200,.1) 100%); border-radius: 50% 50% 10% 10%; filter: blur(2px); transform-origin: top center;
  animation: prd-veil 6s ease-in-out infinite alternate;
}
.scn-poem-so-proud-she-was-to-die .gate {
  position: absolute; bottom: 20%; left: 42%; width: 16px; height: 35px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: prd-gate 12s ease-in-out infinite;
}
.scn-poem-so-proud-she-was-to-die .bell-tower {
  position: absolute; bottom: 45%; right: 20%; width: 18px; height: 50px; background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%); border-radius: 2px 2px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: prd-bell 8s ease-in-out infinite alternate;
}
@keyframes prd-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes prd-ground {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes prd-figure {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-3px) rotate(2deg); }
}
@keyframes prd-veil {
  0% { transform: scaleY(1) rotate(-2deg); opacity: 0.7; }
  50% { transform: scaleY(1.1) rotate(2deg); opacity: 1; }
  100% { transform: scaleY(1) rotate(0deg); opacity: 0.8; }
}
@keyframes prd-gate {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes prd-bell {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-2deg); }
}

.scn-poem-theres-something-quieter {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a15 40%, #3a221a 70%, #2a1a15 100%), radial-gradient(ellipse at 30% 60%, #4a2a20 0%, transparent 70%);
}
.scn-poem-theres-something-quieter .wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #1a1210 0%, #2a1a15 30%, #1a1210 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.5);
  animation: qui-wall 20s ease-in-out infinite alternate;
}
.scn-poem-theres-something-quieter .window {
  position: absolute; top: 20%; left: 50%; width: 60px; height: 80px; transform: translateX(-50%); background: linear-gradient(180deg, #3a2a2a 0%, #4a3a3a 100%); border: 4px solid #4a3a2a; border-radius: 2px; box-shadow: inset 0 0 20px rgba(0,0,0,.4);
  animation: qui-window 12s ease-in-out infinite alternate;
}
.scn-poem-theres-something-quieter .table {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 8px; transform: translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.5);
}
.scn-poem-theres-something-quieter .candle {
  position: absolute; bottom: 30%; left: 50%; width: 6px; height: 16px; transform: translateX(-50%); background: linear-gradient(180deg, #f0d0a0 0%, #d0b080 100%); border-radius: 2px; box-shadow: 0 0 12px 4px #d0a060, 0 0 24px 8px rgba(208,160,96,.4);
  animation: qui-candle 3s ease-in-out infinite alternate;
}
.scn-poem-theres-something-quieter .sprig {
  position: absolute; bottom: 28%; left: 46%; width: 12px; height: 18px; background: linear-gradient(135deg, #4a6a3a 0%, #3a5a2a 100%); border-radius: 40% 60% 40% 60% / 60% 40% 60% 40%; transform-origin: bottom center;
  animation: qui-sprig 8s ease-in-out infinite alternate;
}
.scn-poem-theres-something-quieter .shadow {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 30%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.6) 0%, transparent 70%);
  animation: qui-shadow 14s ease-in-out infinite alternate;
}
@keyframes qui-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes qui-window {
  0% { box-shadow: inset 0 0 15px rgba(0,0,0,.3); }
  50% { box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
  100% { box-shadow: inset 0 0 20px rgba(0,0,0,.4); }
}
@keyframes qui-candle {
  0% { transform: scaleY(1) translateX(-50%); box-shadow: 0 0 10px 3px #d0a060, 0 0 20px 6px rgba(208,160,96,.3); }
  50% { transform: scaleY(1.15) translateX(-50%); box-shadow: 0 0 20px 6px #f0b070, 0 0 40px 12px rgba(240,176,112,.5); }
  100% { transform: scaleY(1) translateX(-50%); box-shadow: 0 0 12px 4px #d0a060, 0 0 24px 8px rgba(208,160,96,.4); }
}
@keyframes qui-sprig {
  0% { transform: rotate(-8deg) scaleX(1); }
  50% { transform: rotate(8deg) scaleX(1.05); }
  100% { transform: rotate(-6deg) scaleX(1); }
}
@keyframes qui-shadow {
  0% { transform: scaleX(1) translateX(0); opacity: 0.6; }
  50% { transform: scaleX(1.1) translateX(5px); opacity: 0.8; }
  100% { transform: scaleX(1) translateX(0); opacity: 0.7; }
}

.scn-poem-i-breathed-enough {
  background: linear-gradient(180deg, #5a6a7a 0%, #7a8a9a 40%, #9aaaba 70%, #bacaca 100%), radial-gradient(ellipse at 50% 0%, #bacaca 0%, transparent 60%);
}
.scn-poem-i-breathed-enough .sky {
  position: absolute; inset: 0 0 60% 0; background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 50%, transparent 100%);
  animation: bre-sky 16s ease-in-out infinite alternate;
}
.scn-poem-i-breathed-enough .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(180deg, #7a8a6a 0%, #5a6a4a 100%); border-radius: 40% 60% 0 0 / 30% 50% 0 0;
  animation: bre-meadow 22s ease-in-out infinite alternate;
}
.scn-poem-i-breathed-enough .figure-left {
  position: absolute; bottom: 30%; left: 25%; width: 22px; height: 44px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: bre-figures 10s ease-in-out infinite alternate;
}
.scn-poem-i-breathed-enough .figure-right {
  position: absolute; bottom: 30%; right: 25%; width: 22px; height: 44px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: bre-figures 10s ease-in-out infinite alternate-reverse;
}
.scn-poem-i-breathed-enough .bell-tower {
  position: absolute; bottom: 40%; left: 50%; width: 16px; height: 40px; transform: translateX(-50%); background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%); border-radius: 2px; box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: bre-bell 7s ease-in-out infinite alternate;
}
.scn-poem-i-breathed-enough .bell-lines {
  position: absolute; bottom: 48%; left: 50%; width: 4px; height: 40px; transform: translateX(-50%); background: linear-gradient(180deg, rgba(200,200,200,.4) 0%, rgba(200,200,200,.1) 100%); border-radius: 2px;
  animation: bre-lines 9s ease-in-out infinite alternate;
}
@keyframes bre-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes bre-meadow {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes bre-figures {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes bre-bell {
  0% { transform: translateX(-50%) rotate(-4deg); }
  50% { transform: translateX(-50%) rotate(4deg); }
  100% { transform: translateX(-50%) rotate(-3deg); }
}
@keyframes bre-lines {
  0% { transform: translateX(-50%) scaleY(0.8); opacity: 0.3; }
  50% { transform: translateX(-50%) scaleY(1.2); opacity: 0.7; }
  100% { transform: translateX(-50%) scaleY(0.9); opacity: 0.5; }
}

/* poem-essential-oils - calm dim interior */
.scn-poem-essential-oils {
  background: linear-gradient(180deg, #3e2e24 0%, #2a1f18 50%, #1f1611 100%),
              radial-gradient(ellipse at 50% 30%, #5a4030 0%, transparent 70%);
}
.scn-poem-essential-oils .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #4a352a 0%, #36261e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
  animation: eo-wall 12s ease-in-out infinite alternate;
}
.scn-poem-essential-oils .table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #5a3d2c 0%, #3a271d 100%);
  border-radius: 4px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.4);
  animation: eo-table 9s ease-in-out infinite;
}
.scn-poem-essential-oils .bottle {
  position: absolute; bottom: 18%; left: 40%; width: 24px; height: 50px;
  background: linear-gradient(180deg, rgba(200,180,140,0.7) 0%, rgba(150,120,80,0.9) 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 0 10px rgba(255,220,160,0.3);
  animation: eo-bottle 6s ease-in-out infinite alternate;
}
.scn-poem-essential-oils .rose {
  position: absolute; bottom: 15%; left: 55%; width: 28px; height: 30px;
  background: radial-gradient(circle, #b87878 0%, #8a5a5a 60%, #5a3a3a 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(180,100,100,0.3);
  animation: eo-rose 8s ease-in-out infinite;
}
.scn-poem-essential-oils .petal {
  position: absolute; bottom: 12%; left: 60%; width: 10px; height: 8px;
  background: radial-gradient(circle, #c8a0a0 0%, #b87878 100%);
  border-radius: 50% 20% / 50% 30%;
  opacity: 0.7;
  animation: eo-petal 15s ease-in-out infinite;
  transform-origin: bottom center;
}
.scn-poem-essential-oils .drawer {
  position: absolute; bottom: 2%; left: 20%; width: 60%; height: 6%;
  background: linear-gradient(180deg, #4a3225 0%, #2e1f15 100%);
  border: 1px solid #5a4030;
  border-radius: 2px;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.5);
  animation: eo-drawer 20s ease-in-out infinite;
}
.scn-poem-essential-oils .lamp-glow {
  position: absolute; bottom: 25%; left: 45%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,200,120,0.4) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: eo-lamp 4s ease-in-out infinite alternate;
}
@keyframes eo-wall { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes eo-table { 0%,100% { transform:translateY(0) } 50% { transform:translateY(1px) } }
@keyframes eo-bottle { 0% { transform:rotate(-2deg) scaleX(1) } 50% { transform:rotate(2deg) scaleX(1.02) } 100% { transform:rotate(0deg) scaleX(0.98) } }
@keyframes eo-rose { 0% { transform:scale(1) rotate(0deg) } 50% { transform:scale(1.03) rotate(5deg) } 100% { transform:scale(0.98) rotate(-5deg) } }
@keyframes eo-petal { 0% { transform:translate(0,0) rotate(0deg) scale(1); opacity:0.7 } 50% { transform:translate(8px,-12px) rotate(180deg) scale(0.9); opacity:0.4 } 100% { transform:translate(16px,-24px) rotate(360deg) scale(0.8); opacity:0 } }
@keyframes eo-drawer { 0% { transform:translateX(0) } 50% { transform:translateX(2px) } 100% { transform:translateX(-1px) } }
@keyframes eo-lamp { 0% { opacity:0.5; filter:blur(2px) } 50% { opacity:0.8; filter:blur(1px) } 100% { opacity:0.6; filter:blur(3px) } }

/* poem-if-i-should-die - calm overcast */
.scn-poem-if-i-should-die {
  background: linear-gradient(180deg, #8a9a96 0%, #6b7a76 40%, #5a6a65 100%),
              radial-gradient(ellipse at 50% 20%, #b0c0bc 0%, transparent 80%);
}
.scn-poem-if-i-should-die .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #9aacaa 0%, #7e8e8a 100%);
  animation: isd-sky 15s ease-in-out infinite alternate;
}
.scn-poem-if-i-should-die .hills-far {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #6b7a6e 0%, #4e5a52 100%);
  border-radius: 40% 60% 0 0 / 60% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: isd-hills 20s ease-in-out infinite alternate;
}
.scn-poem-if-i-should-die .stream {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(90deg, #7a928e 0%, #9aa8a4 50%, #7a928e 100%);
  border-radius: 0 0 30% 30% / 0 0 60% 60%;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.1);
  animation: isd-stream 12s ease-in-out infinite;
}
.scn-poem-if-i-should-die .bridge {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 6%;
  background: linear-gradient(180deg, #6e5a4a 0%, #4a3a2e 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 10% 10%;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.3);
  animation: isd-bridge 9s ease-in-out infinite;
}
.scn-poem-if-i-should-die .tree-silhouette {
  position: absolute; bottom: 20%; left: 70%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 100%, #2a3a32 0%, #1a2a22 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%;
  transform-origin: bottom center;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: isd-tree 25s ease-in-out infinite alternate;
}
.scn-poem-if-i-should-die .bird {
  position: absolute; top: 15%; left: 20%; width: 16px; height: 10px;
  background: #3a4a42;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-10deg);
  animation: isd-bird 8s ease-in-out infinite;
}
.scn-poem-if-i-should-die .bee {
  position: absolute; top: 25%; left: 60%; width: 8px; height: 6px;
  background: #8a7a5a;
  border-radius: 50%;
  animation: isd-bee 6s linear infinite;
}
@keyframes isd-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes isd-hills { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(1px) } }
@keyframes isd-stream { 0% { transform:scaleX(1) } 50% { transform:scaleX(1.02) } 100% { transform:scaleX(0.98) } }
@keyframes isd-bridge { 0%,100% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-1px) rotate(1deg) } }
@keyframes isd-tree { 0% { transform:rotate(-2deg) scaleY(1) } 50% { transform:rotate(2deg) scaleY(1.02) } 100% { transform:rotate(-1deg) scaleY(0.98) } }
@keyframes isd-bird { 0% { transform:translate(0,0) rotate(-10deg) } 25% { transform:translate(15px,-10px) rotate(-5deg) } 50% { transform:translate(30px,0) rotate(0deg) } 75% { transform:translate(45px,-10px) rotate(5deg) } 100% { transform:translate(60px,0) rotate(10deg) } }
@keyframes isd-bee { 0% { transform:translate(0,0) rotate(0deg); opacity:0.8 } 25% { transform:translate(15px,-8px) rotate(45deg); opacity:1 } 50% { transform:translate(30px,0) rotate(90deg); opacity:0.8 } 75% { transform:translate(45px,-8px) rotate(135deg); opacity:1 } 100% { transform:translate(60px,0) rotate(180deg); opacity:0.8 } }

/* poem-her-final-summer - calm overcast */
.scn-poem-her-final-summer {
  background: linear-gradient(180deg, #8a8882 0%, #6e6c66 40%, #5a5854 100%),
              radial-gradient(ellipse at 50% 30%, #b0aea8 0%, transparent 70%);
}
.scn-poem-her-final-summer .porch-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #9e9c96 0%, #7e7c76 100%);
  animation: hfs-sky 18s ease-in-out infinite alternate;
}
.scn-poem-her-final-summer .bower {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(180deg, #7a7a5e 0%, #5a5a42 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: hfs-bower 14s ease-in-out infinite alternate;
}
.scn-poem-her-final-summer .chair {
  position: absolute; bottom: 12%; left: 40%; width: 50px; height: 50px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2e 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: hfs-chair 10s ease-in-out infinite;
}
.scn-poem-her-final-summer .figure-silhouette {
  position: absolute; bottom: 15%; left: 42%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a28 0%, #1a1a18 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hfs-figure 8s ease-in-out infinite;
}
.scn-poem-her-final-summer .flowers {
  position: absolute; bottom: 25%; left: 20%; width: 30px; height: 20px;
  background: radial-gradient(circle at 30% 50%, #c8a0a0 0%, #b87878 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(180,100,100,0.3);
  animation: hfs-flowers 6s ease-in-out infinite;
}
.scn-poem-her-final-summer .petal-fall {
  position: absolute; bottom: 30%; left: 50%; width: 8px; height: 6px;
  background: #c8a0a0;
  border-radius: 50% 20%;
  opacity: 0.6;
  animation: hfs-petal 20s ease-in-out infinite;
  transform-origin: center;
}
@keyframes hfs-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes hfs-bower { 0% { transform:translateY(0) scale(0.98) } 50% { transform:translateY(-3px) scale(1) } 100% { transform:translateY(1px) scale(0.98) } }
@keyframes hfs-chair { 0%,100% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-1px) rotate(2deg) } }
@keyframes hfs-figure { 0% { transform:translateX(0) translateY(0) rotate(-2deg) } 25% { transform:translateX(2px) translateY(-1px) rotate(2deg) } 50% { transform:translateX(4px) translateY(0) rotate(-2deg) } 75% { transform:translateX(2px) translateY(-1px) rotate(2deg) } 100% { transform:translateX(0) translateY(0) rotate(0deg) } }
@keyframes hfs-flowers { 0% { transform:scale(1) rotate(0deg) } 50% { transform:scale(1.05) rotate(10deg) } 100% { transform:scale(0.95) rotate(-10deg) } }
@keyframes hfs-petal { 0% { transform:translate(0,0) rotate(0deg) scale(1); opacity:0.6 } 50% { transform:translate(10px,-15px) rotate(180deg) scale(0.8); opacity:0.3 } 100% { transform:translate(20px,-30px) rotate(360deg) scale(0.6); opacity:0 } }

/* poem-one-need-not-be-a-chamber - dark moonlit */
.scn-poem-one-need-not-be-a-chamber {
  background: linear-gradient(180deg, #1a1628 0%, #12101e 50%, #0a0a14 100%),
              radial-gradient(ellipse at 50% 20%, #2a2650 0%, transparent 70%);
}
.scn-poem-one-need-not-be-a-chamber .corridor-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #2a2640 0%, #1a1a30 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.8);
  animation: onb-corridor 20s ease-in-out infinite alternate;
}
.scn-poem-one-need-not-be-a-chamber .arch-left {
  position: absolute; top: 10%; left: 8%; width: 30%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%);
  border: 2px solid #4a4a6a;
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
  animation: onb-arch 15s ease-in-out infinite alternate;
}
.scn-poem-one-need-not-be-a-chamber .arch-right {
  position: absolute; top: 10%; right: 8%; width: 30%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%);
  border: 2px solid #4a4a6a;
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
  animation: onb-arch 15s ease-in-out 7.5s infinite alternate;
}
.scn-poem-one-need-not-be-a-chamber .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: onb-floor 12s ease-in-out infinite;
}
.scn-poem-one-need-not-be-a-chamber .window-moon {
  position: absolute; top: 15%; left: 38%; width: 24%; height: 30%;
  background: radial-gradient(ellipse at 50% 50%, #d0e0f0 0%, #8090b0 60%, transparent 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: inset 0 0 40px rgba(180,200,240,0.3), 0 0 30px rgba(180,200,240,0.2);
  animation: onb-moon 8s ease-in-out infinite alternate;
}
.scn-poem-one-need-not-be-a-chamber .ghost-figure {
  position: absolute; bottom: 20%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, rgba(200,210,230,0.6) 0%, rgba(150,160,180,0.3) 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: onb-ghost 6s ease-in-out infinite;
}
.scn-poem-one-need-not-be-a-chamber .shadow-stretch {
  position: absolute; bottom: 0; left: 40%; width: 30%; height: 20%;
  background: linear-gradient(180deg, rgba(10,10,20,0.8) 0%, transparent 100%);
  border-radius: 50%;
  transform: scaleX(1.5);
  animation: onb-shadow 9s ease-in-out infinite;
}
@keyframes onb-corridor { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes onb-arch { 0% { transform:scaleY(0.95) } 50% { transform:scaleY(1.05) } 100% { transform:scaleY(0.98) } }
@keyframes onb-floor { 0% { transform:translateY(0) } 50% { transform:translateY(2px) } 100% { transform:translateY(0) } }
@keyframes onb-moon { 0% { opacity:0.8; filter:blur(1px) } 50% { opacity:1; filter:blur(0px) } 100% { opacity:0.7; filter:blur(2px) } }
@keyframes onb-ghost { 0% { transform:translate(0,0) scale(1) rotate(-3deg); opacity:0.5 } 50% { transform:translate(3px,-5px) scale(1.05) rotate(3deg); opacity:0.8 } 100% { transform:translate(0,0) scale(0.95) rotate(-3deg); opacity:0.5 } }
@keyframes onb-shadow { 0% { transform:scaleX(1.5) translateX(0); opacity:0.6 } 50% { transform:scaleX(1.7) translateX(5px); opacity:0.9 } 100% { transform:scaleX(1.4) translateX(-3px); opacity:0.5 } }

/* poem-march: warm overcast, purple boots, mud, dog, adder's tongue */
.scn-poem-march {
  background:
    linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 30%, #4a3a2a 70%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 0%, #b8a880 0%, transparent 60%);
}
.scn-poem-march .sky-march { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #c8b890 0%, #8a7a5a 100%); animation: pm-sky 14s ease-in-out infinite alternate; }
.scn-poem-march .mud-layer { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 30% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.4); animation: pm-mud 6s ease-in-out infinite; }
.scn-poem-march .forest-back { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(90deg, #3a4a2a 0%, #2a3a1a 30%, #3a4a2a 60%, #2a3a1a 100%); clip-path: polygon(0% 100%, 5% 60%, 10% 80%, 15% 40%, 20% 70%, 25% 30%, 30% 60%, 35% 20%, 40% 50%, 45% 35%, 50% 55%, 55% 25%, 60% 45%, 65% 15%, 70% 40%, 75% 30%, 80% 50%, 85% 25%, 90% 45%, 95% 35%, 100% 60%, 100% 100%); animation: pm-forest 22s ease-in-out infinite; }
.scn-poem-march .figure-march { position:absolute; bottom:30%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pm-figure 5s ease-in-out infinite; }
.scn-poem-march .boots { position:absolute; bottom:30%; left:33%; width:24px; height:14px; background: linear-gradient(135deg, #6a3aa8 0%, #4a2a7a 100%); border-radius: 30% 30% 40% 40% / 40% 40% 60% 60%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: pm-boots 5s ease-in-out infinite; }
.scn-poem-march .dog { position:absolute; bottom:30%; left:50%; width:20px; height:28px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pm-dog 5s ease-in-out infinite 1s; }
.scn-poem-march .adder-plant { position:absolute; bottom:40%; left:60%; width:8px; height:22px; background: linear-gradient(180deg, #4a8a3a 0%, #2a5a1a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; transform-origin: bottom center; animation: pm-adder 4s ease-in-out infinite; }
.scn-poem-march .adder-plant::after { content: ''; position:absolute; top:0; left:50%; width:6px; height:6px; transform:translateX(-50%); background: radial-gradient(circle, #ff6a3a 0%, #c84a1a 100%); border-radius:50%; animation: pm-adder-spot 2s ease-in-out infinite alternate; }
.scn-poem-march .sun-glare { position:absolute; top:10%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, rgba(200,180,140,.3) 0%, transparent 70%); filter: blur(12px); animation: pm-glare 10s ease-in-out infinite alternate; }
@keyframes pm-sky { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.75 } }
@keyframes pm-mud { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pm-forest { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes pm-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(5px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-2px) rotate(1deg) } 100% { transform: translateX(20px) translateY(0) rotate(0deg) } }
@keyframes pm-boots { 0% { transform: translateX(0) rotate(-5deg) } 50% { transform: translateX(10px) rotate(5deg) } 100% { transform: translateX(20px) rotate(-2deg) } }
@keyframes pm-dog { 0% { transform: translateX(0) translateY(0) } 30% { transform: translateX(8px) translateY(-3px) } 60% { transform: translateX(16px) translateY(0) } 100% { transform: translateX(24px) translateY(-1px) } }
@keyframes pm-adder { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(8deg) scaleY(1.05) } 100% { transform: rotate(-4deg) scaleY(1) } }
@keyframes pm-adder-spot { 0% { opacity:.7; transform: translateX(-50%) scale(1) } 100% { opacity:1; transform: translateX(-50%) scale(1.3) } }
@keyframes pm-glare { 0% { transform:translateX(-50%) scale(0.8); opacity:.4 } 50% { transform:translateX(-50%) scale(1.2); opacity:.7 } 100% { transform:translateX(-50%) scale(0.9); opacity:.5 } }

/* poem-murmur-in-the-trees: calm dawn, murmur, little men hurrying home */
.scn-poem-murmur-in-the-trees {
  background:
    linear-gradient(180deg, #e8d8b0 0%, #c8b890 30%, #a89870 70%, #887858 100%),
    radial-gradient(ellipse at 50% 100%, #d8c8a0 0%, transparent 60%);
}
.scn-poem-murmur-in-the-trees .dawn-glow { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 30%, transparent 100%); animation: pmt-dawn 15s ease-in-out infinite alternate; }
.scn-poem-murmur-in-the-trees .tree-line { position:absolute; bottom:40%; left:0; right:0; height:35%; background: linear-gradient(90deg, #4a5a3a 0%, #3a4a2a 20%, #5a6a4a 40%, #3a4a2a 60%, #4a5a3a 80%, #3a4a2a 100%); clip-path: polygon(0% 100%, 8% 40%, 12% 70%, 18% 20%, 22% 60%, 28% 30%, 32% 50%, 38% 10%, 42% 40%, 48% 25%, 52% 55%, 58% 15%, 62% 45%, 68% 20%, 72% 50%, 78% 30%, 82% 60%, 88% 25%, 92% 55%, 100% 35%, 100% 100%); animation: pmt-trees 28s ease-in-out infinite; }
.scn-poem-murmur-in-the-trees .lawn-yellow { position:absolute; bottom:25%; left:10%; right:10%; height:20%; background: linear-gradient(90deg, #e8d880 0%, #d8c870 30%, #e0d078 60%, #d0c068 100%); border-radius: 20% 30% 0 0; clip-path: polygon(0% 100%, 5% 50%, 10% 70%, 15% 40%, 20% 60%, 25% 30%, 30% 50%, 35% 20%, 40% 40%, 45% 35%, 50% 45%, 55% 25%, 60% 35%, 65% 15%, 70% 30%, 75% 20%, 80% 40%, 85% 25%, 90% 45%, 95% 30%, 100% 50%, 100% 100%); animation: pmt-lawn 12s ease-in-out infinite; }
.scn-poem-murmur-in-the-trees .house-small { position:absolute; bottom:35%; left:65%; width:40px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:10% 10% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: pmt-house 8s ease-in-out infinite; }
.scn-poem-murmur-in-the-trees .house-small::after { content: ''; position:absolute; top:-10px; left:10px; width:20px; height:12px; background: linear-gradient(135deg, #6a4a2a 0%, #4a2a1a 100%); clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
.scn-poem-murmur-in-the-trees .little-man-1 { position:absolute; bottom:32%; left:50%; width:10px; height:20px; background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: pmt-lm1 6s ease-in-out infinite; }
.scn-poem-murmur-in-the-trees .little-man-2 { position:absolute; bottom:32%; left:56%; width:10px; height:20px; background: linear-gradient(180deg, #5a4a6a 0%, #3a2a4a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: pmt-lm2 7s ease-in-out infinite 0.5s; }
.scn-poem-murmur-in-the-trees .little-man-3 { position:absolute; bottom:32%; left:44%; width:10px; height:20px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: pmt-lm3 5.5s ease-in-out infinite 1s; }
.scn-poem-murmur-in-the-trees .murmur-star { position:absolute; top:12%; right:20%; width:6px; height:6px; background: radial-gradient(circle, #f0e8c0 0%, transparent 100%); border-radius:50%; box-shadow: 0 0 12px 4px rgba(240,232,192,.5); animation: pmt-star 4s ease-in-out infinite alternate; }
@keyframes pmt-dawn { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes pmt-trees { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } 100% { transform: scaleY(1) } }
@keyframes pmt-lawn { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes pmt-house { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes pmt-lm1 { 0% { transform: translateX(0) translateY(0) } 30% { transform: translateX(6px) translateY(-2px) } 60% { transform: translateX(12px) translateY(0) } 100% { transform: translateX(18px) translateY(-1px) } }
@keyframes pmt-lm2 { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(5px) translateY(-3px) } 50% { transform: translateX(10px) translateY(-1px) } 75% { transform: translateX(15px) translateY(-2px) } 100% { transform: translateX(20px) translateY(0) } }
@keyframes pmt-lm3 { 0% { transform: translateX(0) translateY(0) } 35% { transform: translateX(7px) translateY(-2px) } 65% { transform: translateX(14px) translateY(0) } 100% { transform: translateX(21px) translateY(-1px) } }
@keyframes pmt-star { 0% { opacity:.5; transform: scale(0.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.6; transform: scale(0.9) } }

/* poem-to-my-quick-ear: calm overcast, figure hiding from nature's sentinels, cave, leaves as bells */
.scn-poem-to-my-quick-ear {
  background:
    linear-gradient(180deg, #5a5a4a 0%, #4a4a3a 40%, #3a3a2a 70%, #2a2a1a 100%),
    radial-gradient(ellipse at 50% 100%, #6a6a5a 0%, transparent 70%);
}
.scn-poem-to-my-quick-ear .cave-wall { position:absolute; inset:0; background: linear-gradient(135deg, #4a4a3a 0%, #3a3a2a 30%, #4a4a3a 60%, #3a3a2a 100%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 85% 95%, 80% 80%, 70% 90%, 60% 75%, 50% 85%, 40% 70%, 30% 80%, 20% 65%, 10% 75%, 0% 60%); animation: pe-cave 20s ease-in-out infinite; }
.scn-poem-to-my-quick-ear .cave-floor { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.5); }
.scn-poem-to-my-quick-ear .leaf-bell-a { position:absolute; top:15%; left:20%; width:16px; height:24px; background: linear-gradient(180deg, #6a8a4a 0%, #4a6a2a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: top center; animation: pe-bell-a 3s ease-in-out infinite; }
.scn-poem-to-my-quick-ear .leaf-bell-b { position:absolute; top:22%; left:45%; width:14px; height:22px; background: linear-gradient(180deg, #5a7a3a 0%, #3a5a1a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: top center; animation: pe-bell-b 3.5s ease-in-out infinite 0.3s; }
.scn-poem-to-my-quick-ear .leaf-bell-c { position:absolute; top:18%; right:25%; width:12px; height:20px; background: linear-gradient(180deg, #7a9a5a 0%, #5a7a3a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: top center; animation: pe-bell-c 4s ease-in-out infinite 0.7s; }
.scn-poem-to-my-quick-ear .figure-crouch { position:absolute; bottom:28%; left:50%; width:30px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: pe-crouch 6s ease-in-out infinite; }
.scn-poem-to-my-quick-ear .crack-light { position:absolute; top:5%; left:48%; width:4px; height:60px; background: linear-gradient(180deg, rgba(200,200,180,.6) 0%, transparent 100%); filter: blur(2px); animation: pe-crack 8s ease-in-out infinite alternate; }
@keyframes pe-cave { 0% { transform: scale(1) } 50% { transform: scale(1.005) } 100% { transform: scale(1) } }
@keyframes pe-bell-a { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(8deg) scaleY(1.05) } 100% { transform: rotate(-6deg) scaleY(1) } }
@keyframes pe-bell-b { 0% { transform: rotate(4deg) scaleY(1) } 50% { transform: rotate(-7deg) scaleY(1.04) } 100% { transform: rotate(5deg) scaleY(1) } }
@keyframes pe-bell-c { 0% { transform: rotate(-3deg) scaleY(1) } 50% { transform: rotate(9deg) scaleY(1.06) } 100% { transform: rotate(-4deg) scaleY(1) } }
@keyframes pe-crouch { 0% { transform: translateX(-50%) translateY(0) scaleY(1) } 30% { transform: translateX(-50%) translateY(-2px) scaleY(0.95) } 60% { transform: translateX(-50%) translateY(0) scaleY(1) } 100% { transform: translateX(-50%) translateY(-1px) scaleY(0.98) } }
@keyframes pe-crack { 0% { opacity:.3; transform: scaleY(0.8) } 50% { opacity:.7; transform: scaleY(1.2) } 100% { opacity:.4; transform: scaleY(0.9) } }

/* poem-high-from-the-earth: warm sunlit, bird high on trees, riding wind */
.scn-poem-high-from-the-earth {
  background:
    linear-gradient(180deg, #8ab8e0 0%, #6a98c8 30%, #4a78a8 70%, #3a6888 100%),
    radial-gradient(ellipse at 50% 0%, #a0d0f0 0%, transparent 60%);
}
.scn-poem-high-from-the-earth .sky-bright { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #a8d8f0 0%, #8ab8e0 50%, transparent 100%); animation: phe-sky 18s ease-in-out infinite alternate; }
.scn-poem-high-from-the-earth .treetops { position:absolute; bottom:30%; left:0; right:0; height:40%; background: linear-gradient(180deg, #4a7a3a 0%, #2a5a1a 100%); clip-path: polygon(0% 100%, 4% 50%, 8% 70%, 12% 30%, 16% 60%, 20% 20%, 24% 50%, 28% 35%, 32% 55%, 36% 15%, 40% 40%, 44% 25%, 48% 45%, 52% 10%, 56% 35%, 60% 20%, 64% 40%, 68% 30%, 72% 50%, 76% 25%, 80% 45%, 84% 15%, 88% 40%, 92% 20%, 96% 35%, 100% 50%, 100% 100%); animation: phe-trees 25s ease-in-out infinite; }
.scn-poem-high-from-the-earth .wind-drift { position:absolute; top:20%; left:0; right:0; height:10%; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.15) 20%, transparent 40%, rgba(255,255,255,.1) 60%, transparent 80%); filter: blur(8px); animation: phe-wind 12s linear infinite; }
.scn-poem-high-from-the-earth .bird-body { position:absolute; top:22%; left:40%; width:28px; height:18px; background: linear-gradient(135deg, #c8c0a0 0%, #a89878 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: center center; animation: phe-bird 5s ease-in-out infinite; }
.scn-poem-high-from-the-earth .bird-wing { position:absolute; top:20%; left:40%; width:40px; height:16px; background: linear-gradient(180deg, #a89878 0%, #887858 100%); border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%; transform-origin: 20% center; animation: phe-wing 0.8s ease-in-out infinite alternate; }
.scn-poem-high-from-the-earth .cloud-whisp-a { position:absolute; top:12%; left:10%; width:60px; height:12px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); filter: blur(6px); animation: phe-cloud-a 40s linear infinite; }
.scn-poem-high-from-the-earth .cloud-whisp-b { position:absolute; top:30%; right:5%; width:40px; height:8px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent); filter: blur(4px); animation: phe-cloud-b 55s linear infinite reverse; }
@keyframes phe-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes phe-trees { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } 100% { transform: scaleY(1) } }
@keyframes phe-wind { 0% { transform: translateX(-100%) } 100% { transform: translateX(100%) } }
@keyframes phe-bird { 0% { transform: translate(0, 0) rotate(-2deg) } 25% { transform: translate(5px, -4px) rotate(1deg) } 50% { transform: translate(10px, 0) rotate(-1deg) } 75% { transform: translate(15px, -3px) rotate(2deg) } 100% { transform: translate(20px, 0) rotate(0deg) } }
@keyframes phe-wing { 0% { transform: rotate(0deg) scaleY(1) } 100% { transform: rotate(25deg) scaleY(0.8) } }
@keyframes phe-cloud-a { 0% { transform: translateX(-80px) } 100% { transform: translateX(100vw) } }
@keyframes phe-cloud-b { 0% { transform: translateX(0) } 100% { transform: translateX(-80vw) } }

/* ------- poem-wind-tapped ------- */
.scn-poem-wind-tapped { background: linear-gradient(180deg, #6a7a7a 0%, #8a9a9a 40%, #aababa 100%), radial-gradient(ellipse at 30% 60%, #8a9a9a 0%, transparent 70%); }
.scn-poem-wind-tapped .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #7a8a8a 0%, #9aaa8a 80%); animation: wt-sky 15s ease-in-out infinite alternate; }
.scn-poem-wind-tapped .door { position:absolute; bottom:10%; left:15%; width:80px; height:120px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: inset -4px 0 8px rgba(0,0,0,.3); transform: scaleX(0.9); }
.scn-poem-wind-tapped .wind-figure { position:absolute; bottom:12%; left:28%; width:60px; height:100px; background: radial-gradient(ellipse at 40% 30%, #b0c0b0 0%, rgba(180,200,180,0.2) 80%); border-radius: 40% 60% 50% 50% / 70% 50% 50% 30%; filter: blur(4px); animation: wt-wind 8s ease-in-out infinite; }
.scn-poem-wind-tapped .hummingbird-1 { position:absolute; top:25%; left:40%; width:16px; height:12px; background: #c0d0c0; border-radius: 50% 0 50% 0; filter: blur(2px); box-shadow: 0 0 12px #c0d0c0; animation: wt-hum 4s ease-in-out infinite; }
.scn-poem-wind-tapped .hummingbird-2 { position:absolute; top:32%; left:60%; width:14px; height:10px; background: #b0c0b0; border-radius: 0 50% 0 50%; filter: blur(2px); box-shadow: 0 0 10px #b0c0b0; animation: wt-hum 4.5s ease-in-out infinite 0.8s; }
.scn-poem-wind-tapped .bush { position:absolute; bottom:10%; right:10%; width:100px; height:50px; background: linear-gradient(180deg, #5a6a4a 0%, #3a4a2a 100%); border-radius: 50% 50% 30% 30% / 100% 100% 40% 40%; transform: scale(1.2); }
@keyframes wt-sky { 0% { opacity:.85 } 50% { transform: scaleY(1.02); opacity:.95 } 100% { opacity:.8 } }
@keyframes wt-wind { 0% { transform: translate(0,0) rotate(-5deg) scaleX(1) } 50% { transform: translate(10px,-5px) rotate(8deg) scaleX(1.1) } 100% { transform: translate(-5px,2px) rotate(-3deg) scaleX(0.95) } }
@keyframes wt-hum { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 25% { transform: translate(15px,-10px) rotate(30deg) scale(0.9) } 50% { transform: translate(30px,0) rotate(0deg) scale(1.1) } 75% { transform: translate(15px,10px) rotate(-30deg) scale(0.95) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }

/* ------- poem-leaves-like-women ------- */
.scn-poem-leaves-like-women { background: linear-gradient(180deg, #7a8a7a 0%, #9aaa8a 50%, #baccaa 100%), radial-gradient(ellipse at 50% 0%, #baccaa 0%, transparent 60%); }
.scn-poem-leaves-like-women .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #8a9a8a 0%, #aabb9a 80%); animation: lw-sky 20s ease-in-out infinite alternate; }
.scn-poem-leaves-like-women .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; }
.scn-poem-leaves-like-women .tree { position:absolute; bottom:45%; left:20%; width:20px; height:150px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20%; transform-origin: bottom; animation: lw-tree 12s ease-in-out infinite; }
.scn-poem-leaves-like-women .leaf-woman-1 { position:absolute; bottom:38%; left:28%; width:24px; height:50px; background: radial-gradient(ellipse at 50% 40%, #b0c080 0%, #8a6a3a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 0 12px rgba(200,160,60,0.3); animation: lw-leafwoman 6s ease-in-out infinite; }
.scn-poem-leaves-like-women .leaf-woman-2 { position:absolute; bottom:35%; left:38%; width:22px; height:48px; background: radial-gradient(ellipse at 50% 30%, #c0b080 0%, #7a6a3a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; box-shadow: 0 0 10px rgba(180,140,60,0.3); animation: lw-leafwoman 6.5s ease-in-out infinite 0.8s; }
.scn-poem-leaves-like-women .stone { position:absolute; bottom:8%; left:55%; width:60px; height:45px; background: radial-gradient(ellipse at 40% 40%, #8a8a7a 0%, #5a5a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: lw-stone 15s ease-in-out infinite; }
.scn-poem-leaves-like-women .fallen-leaves { position:absolute; bottom:5%; left:10%; right:10%; height:20px; background: repeating-linear-gradient(90deg, #b0a060 0px, #b0a060 8px, transparent 8px, transparent 20px); filter: blur(2px); animation: lw-fallen 30s linear infinite; }
@keyframes lw-sky { 0% { opacity:.9 } 50% { transform: translateY(-3px); opacity:1 } 100% { opacity:.85 } }
@keyframes lw-tree { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(4deg) } }
@keyframes lw-leafwoman { 0% { transform: translate(0,0) rotate(-5deg) } 25% { transform: translate(5px,-2px) rotate(5deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-5px,-1px) rotate(-3deg) } 100% { transform: translate(0,0) rotate(-5deg) } }
@keyframes lw-stone { 0%,100% { transform: scale(1) } 50% { transform: scale(1.02) translateY(-1px) } }

/* ------- poem-the-rat ------- */
.scn-poem-the-rat { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 60%, #1a0a00 100%), radial-gradient(ellipse at 50% 80%, #5a3a1a 0%, transparent 70%); }
.scn-poem-the-rat .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-bottom: 2px solid #1a0a00; }
.scn-poem-the-rat .floor { position:absolute; bottom:0; left:0; right:0; height:32%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-poem-the-rat .lamp { position:absolute; top:20%; left:70%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 70%, #c0a060 0%, #8a6a3a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 10px rgba(192,160,96,0.5); animation: rt-lamp 6s ease-in-out infinite; }
.scn-poem-the-rat .chair { position:absolute; bottom:20%; left:20%; width:50px; height:60px; background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%); border-radius: 4px 4px 10% 10%; transform: rotate(-5deg); box-shadow: 0 6px 12px rgba(0,0,0,.5); animation: rt-chair 8s ease-in-out infinite; }
.scn-poem-the-rat .rat { position:absolute; bottom:15%; left:45%; width:30px; height:18px; background: radial-gradient(ellipse at 40% 50%, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform: translateX(-50%); animation: rt-rat 4s ease-in-out infinite; }
.scn-poem-the-rat .cheese { position:absolute; bottom:12%; left:52%; width:16px; height:12px; background: #c8a040; border-radius: 0 50% 50% 0 / 0 60% 60% 0; box-shadow: 0 0 8px #c8a040; animation: rt-cheese 3s ease-in-out infinite alternate; }
.scn-poem-the-rat .shadow { position:absolute; bottom:10%; left:42%; width:40px; height:8px; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(4px); animation: rt-shadow 4s ease-in-out infinite; }
@keyframes rt-lamp { 0%,100% { box-shadow: 0 0 30px 8px rgba(192,160,96,0.4); opacity:.9 } 50% { box-shadow: 0 0 50px 15px rgba(192,160,96,0.7); opacity:1 } }
@keyframes rt-chair { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(-2deg) translateY(-2px) } }
@keyframes rt-rat { 0% { transform: translateX(-50%) scale(1) } 20% { transform: translateX(-45%) scale(0.95) } 40% { transform: translateX(-40%) scale(1.05) } 60% { transform: translateX(-35%) scale(1) } 80% { transform: translateX(-30%) scale(0.98) } 100% { transform: translateX(-25%) scale(1) } }
@keyframes rt-cheese { 0% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(-2px) rotate(5deg) } }
@keyframes rt-shadow { 0% { width:40px; opacity:.4 } 50% { width:45px; opacity:.3 } 100% { width:38px; opacity:.4 } }

/* ------- poem-wind-began-to-rock ------- */
.scn-poem-wind-began-to-rock { background: linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 50%, #1a2a2a 100%), radial-gradient(ellipse at 30% 70%, #2a3a3a 0%, transparent 70%); }
.scn-poem-wind-began-to-rock .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 80%); animation: wr-sky 10s ease-in-out infinite alternate; }
.scn-poem-wind-began-to-rock .grass { position:absolute; bottom:35%; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%); border-radius: 30% 70% 0 0 / 50% 50% 0 0; transform-origin: bottom; animation: wr-grass 3s ease-in-out infinite; }
.scn-poem-wind-began-to-rock .leaves { position:absolute; top:10%; left:10%; width:30px; height:20px; background: #6a7a3a; border-radius: 50% 0; filter: blur(3px); animation: wr-leaves 5s ease-in-out infinite; }
.scn-poem-wind-began-to-rock .dust { position:absolute; bottom:25%; left:40%; width:40px; height:20px; background: #7a7a5a; border-radius: 50%; filter: blur(8px); animation: wr-dust 6s linear infinite; }
.scn-poem-wind-began-to-rock .lightning { position:absolute; top:5%; left:55%; width:4px; height:80px; background: #c0c040; box-shadow: 0 0 20px #c0c040, 0 0 40px #808020; transform: rotate(-15deg); animation: wr-lightning 4s ease-in-out infinite; }
.scn-poem-wind-began-to-rock .wagon { position:absolute; bottom:15%; left:0; width:70px; height:40px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 10% 10% 20% 20%; animation: wr-wagon 10s linear infinite; }
.scn-poem-wind-began-to-rock .tree-bent { position:absolute; bottom:30%; right:15%; width:12px; height:100px; background: #3a2a1a; border-radius: 20% 20% 40% 40%; transform-origin: bottom; animation: wr-tree 8s ease-in-out infinite; }
@keyframes wr-sky { 0% { opacity:.7 } 50% { transform: scaleY(1.03); opacity:.9 } 100% { opacity:.6 } }
@keyframes wr-grass { 0% { transform: skewX(0deg) } 50% { transform: skewX(-8deg) } 100% { transform: skewX(0deg) } }
@keyframes wr-leaves { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 20% { transform: translate(20px,-15px) rotate(30deg) scale(0.9) } 40% { transform: translate(40px,-5px) rotate(60deg) scale(1.1) } 60% { transform: translate(60px,-20px) rotate(90deg) scale(0.85) } 80% { transform: translate(80px,-10px) rotate(120deg) scale(1) } 100% { transform: translate(100px,-25px) rotate(150deg) scale(0.95) } }
@keyframes wr-dust { 0% { transform: translate(0,0) scale(1); opacity:.6 } 50% { transform: translate(30px,-10px) scale(1.5); opacity:.3 } 100% { transform: translate(60px,-20px) scale(2); opacity:0 } }
@keyframes wr-lightning { 0%,100% { opacity:0 } 10% { opacity:1 } 15% { opacity:0 } 20% { opacity:1 } 25% { opacity:0 } 80% { opacity:0 } 85% { opacity:0.8 } 90% { opacity:0 } }
@keyframes wr-wagon { 0% { transform: translateX(-70px) } 100% { transform: translateX(calc(100vw + 70px)) } }
@keyframes wr-tree { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-10deg) } }

.scn-poem-by-the-sea { background: linear-gradient(180deg, #87CEEB 0%, #f0d9a0 40%, #f4c27a 70%, #e8a040 100%), radial-gradient(ellipse at 80% 20%, #ffebc0 0%, transparent 60%); }
.scn-poem-by-the-sea .sky { position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #b0d8f0 0%, #87CEEB 60%, transparent 100%); animation: pbs-sky 20s ease-in-out infinite alternate; }
.scn-poem-by-the-sea .sun { position: absolute; top: 12%; right: 20%; width: 60px; height: 60px; background: radial-gradient(circle, #ffe680 0%, #ffcc40 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 80px 40px rgba(255, 204, 64, 0.6), 0 0 160px 80px rgba(255, 204, 64, 0.3); animation: pbs-sun 16s ease-in-out infinite alternate; }
.scn-poem-by-the-sea .cloud-pbs { position: absolute; top: 18%; left: 10%; width: 100px; height: 30px; background: linear-gradient(90deg, rgba(255,255,255,0.7) 0%, rgba(240,240,255,0.4) 100%); border-radius: 50%; filter: blur(8px); animation: pbs-cloud 40s linear infinite; }
.scn-poem-by-the-sea .sea { position: absolute; bottom: 30%; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a7a9a 0%, #1a5a7a 50%, #0a3a5a 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.4); animation: pbs-sea 8s ease-in-out infinite alternate; }
.scn-poem-by-the-sea .sand { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #d4b478 0%, #c09460 50%, #a07040 100%); border-radius: 60% 40% 0 0 / 40% 30% 0 0; animation: pbs-sand 12s ease-in-out infinite alternate; }
.scn-poem-by-the-sea .figure-pbs { position: absolute; bottom: 28%; left: 30%; width: 20px; height: 40px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pbs-walk 6s ease-in-out infinite; }
.scn-poem-by-the-sea .dog { position: absolute; bottom: 28%; left: 38%; width: 24px; height: 16px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 60%; transform-origin: bottom center; animation: pbs-dog 6s ease-in-out infinite; }
.scn-poem-by-the-sea .ship-pbs { position: absolute; bottom: 48%; right: 15%; width: 60px; height: 30px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: pbs-ship 15s ease-in-out infinite; }
.scn-poem-by-the-sea .wave-pbs { position: absolute; bottom: 40%; left: 0; right: 0; height: 12px; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 20%, transparent 40%, rgba(255,255,255,0.3) 60%, transparent 80%, rgba(255,255,255,0.3) 100%); filter: blur(2px); animation: pbs-wave 6s ease-in-out infinite; }
@keyframes pbs-sky { 0% { opacity: 0.8; background-position: 0% 0%; } 50% { opacity: 1; background-position: 10% 0%; } 100% { opacity: 0.9; background-position: 0% 0%; } }
@keyframes pbs-sun { 0% { transform: scale(1) translateY(0) rotate(0deg); opacity: 0.9; } 50% { transform: scale(1.05) translateY(-4px) rotate(5deg); opacity: 1; } 100% { transform: scale(0.98) translateY(0) rotate(0deg); opacity: 0.95; } }
@keyframes pbs-cloud { 0% { transform: translateX(-120px); } 50% { transform: translateX(40vw); } 100% { transform: translateX(120vw); } }
@keyframes pbs-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-6px); } 100% { transform: translateY(0); } }
@keyframes pbs-sand { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes pbs-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(5px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(10px) translateY(0) rotate(-1deg); } 75% { transform: translateX(15px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(20px) translateY(0) rotate(0deg); } }
@keyframes pbs-dog { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(5px) translateY(-2px) rotate(5deg); } 50% { transform: translateX(10px) translateY(0) rotate(0deg); } 75% { transform: translateX(15px) translateY(-2px) rotate(-5deg); } 100% { transform: translateX(20px) translateY(0) rotate(0deg); } }
@keyframes pbs-ship { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes pbs-wave { 0% { transform: translateX(0); opacity: 0.4; } 25% { transform: translateX(15px); opacity: 0.6; } 50% { transform: translateX(30px); opacity: 0.4; } 75% { transform: translateX(15px); opacity: 0.6; } 100% { transform: translateX(0); opacity: 0.4; } }

.scn-poem-old-fashioned { background: linear-gradient(180deg, #2a1a4a 0%, #4a2a6a 30%, #7a4a8a 60%, #b06060 100%), radial-gradient(ellipse at 50% 100%, #8a5a6a 0%, transparent 70%); }
.scn-poem-old-fashioned .sky-od { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #3a2a5a 0%, #6a4a7a 50%, transparent 100%); animation: od-sky 18s ease-in-out infinite alternate; }
.scn-poem-old-fashioned .star { position: absolute; top: 8%; right: 30%; width: 8px; height: 8px; background: #ffecb0; border-radius: 50%; box-shadow: 0 0 16px 4px rgba(255,236,176,0.8), 0 0 32px 8px rgba(255,236,176,0.4); animation: od-star 3s ease-in-out infinite alternate; }
.scn-poem-old-fashioned .flower { position: absolute; bottom: 30%; left: 20%; width: 30px; height: 40px; background: linear-gradient(180deg, #d07040 0%, #a05030 100%); border-radius: 40% 60% 30% 50% / 50% 40% 60% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform-origin: bottom center; animation: od-flower 6s ease-in-out infinite; }
.scn-poem-old-fashioned .butterfly { position: absolute; top: 25%; left: 40%; width: 24px; height: 16px; background: linear-gradient(135deg, #f0c040 0%, #d09030 50%, #a06020 100%); border-radius: 50% 50% 0 0; clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%); animation: od-butterfly 8s ease-in-out infinite; }
.scn-poem-old-fashioned .hat { position: absolute; bottom: 35%; left: 50%; width: 40px; height: 20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); transform: translateX(-50%); animation: od-hat 4s ease-in-out infinite; }
.scn-poem-old-fashioned .figure-od { position: absolute; bottom: 28%; left: 45%; width: 18px; height: 36px; background: linear-gradient(180deg, #3a2a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: od-figure 5s ease-in-out infinite; }
.scn-poem-old-fashioned .telescope { position: absolute; bottom: 32%; left: 52%; width: 8px; height: 28px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 20% 20% 10% 10%; transform-origin: bottom left; transform: rotate(30deg); animation: od-telescope 7s ease-in-out infinite; }
.scn-poem-old-fashioned .grass { position: absolute; bottom: 30%; left: 0; right: 0; height: 10px; background: linear-gradient(90deg, #4a6a3a 0%, #5a7a4a 50%, #4a6a3a 100%); filter: blur(3px); animation: od-grass 10s ease-in-out infinite alternate; }
@keyframes od-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes od-star { 0% { transform: scale(1) rotate(0deg); opacity: 0.5; box-shadow: 0 0 12px 3px rgba(255,236,176,0.6); } 50% { transform: scale(1.8) rotate(15deg); opacity: 1; box-shadow: 0 0 24px 8px rgba(255,236,176,1); } 100% { transform: scale(1) rotate(0deg); opacity: 0.6; box-shadow: 0 0 14px 4px rgba(255,236,176,0.7); } }
@keyframes od-flower { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(5px) rotate(0deg); } 50% { transform: translateX(10px) rotate(3deg); } 75% { transform: translateX(5px) rotate(0deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes od-butterfly { 0% { transform: translateX(0) translateY(0) rotate(0deg) scaleX(1); } 25% { transform: translateX(10px) translateY(-8px) rotate(10deg) scaleX(0.6); } 50% { transform: translateX(20px) translateY(0) rotate(0deg) scaleX(1); } 75% { transform: translateX(30px) translateY(-8px) rotate(-10deg) scaleX(0.6); } 100% { transform: translateX(40px) translateY(0) rotate(0deg) scaleX(1); } }
@keyframes od-hat { 0% { transform: translateX(-50%) rotate(0deg) translateY(0); } 25% { transform: translateX(-50%) rotate(-5deg) translateY(-2px); } 50% { transform: translateX(-50%) rotate(0deg) translateY(0); } 75% { transform: translateX(-50%) rotate(5deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(0deg) translateY(0); } }
@keyframes od-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes od-telescope { 0% { transform: rotate(25deg) scaleY(1); } 50% { transform: rotate(35deg) scaleY(1.1); } 100% { transform: rotate(25deg) scaleY(1); } }
@keyframes od-grass { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.5); } 100% { transform: scaleY(1); } }

.scn-poem-a-tempest { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 30%, #2a2a3a 60%, #0a0a1a 100%), radial-gradient(ellipse at 50% 50%, #1a1a2a 0%, transparent 80%); }
.scn-poem-a-tempest .sky-tp { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #2a2a3a 100%); animation: tp-sky 10s ease-in-out infinite alternate; }
.scn-poem-a-tempest .cloud-tp { position: absolute; top: 5%; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%); border-radius: 60% 40% 0 0; filter: blur(12px); animation: tp-cloud 15s ease-in-out infinite alternate; }
.scn-poem-a-tempest .wind { position: absolute; top: 20%; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, transparent 0%, rgba(180,180,200,0.3) 20%, transparent 40%, rgba(180,180,200,0.3) 60%, transparent 80%, rgba(180,180,200,0.3) 100%); filter: blur(6px); animation: tp-wind 4s linear infinite; }
.scn-poem-a-tempest .tree { position: absolute; bottom: 25%; left: 20%; width: 40px; height: 80px; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: tp-tree 3s ease-in-out infinite; }
.scn-poem-a-tempest .figure-tp { position: absolute; bottom: 20%; left: 50%; width: 22px; height: 44px; background: linear-gradient(180deg, #0a0a1a 0%, #000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tp-figure 5s ease-in-out infinite; }
.scn-poem-a-tempest .lightning { position: absolute; top: 10%; left: 40%; width: 4px; height: 100px; background: #e0e0ff; clip-path: polygon(50% 0%, 40% 30%, 60% 30%, 30% 70%, 50% 70%, 20% 100%, 50% 70%, 40% 70%, 60% 30%, 40% 30%); box-shadow: 0 0 20px 6px rgba(200,200,255,0.6); animation: tp-lightning 2s step-end infinite; }
.scn-poem-a-tempest .rain { position: absolute; top: 0; left: 0; right: 0; height: 100%; background: repeating-linear-gradient(135deg, transparent 0px, transparent 4px, rgba(180,200,220,0.2) 4px, rgba(180,200,220,0.2) 6px); filter: blur(2px); animation: tp-rain 0.5s linear infinite; }
.scn-poem-a-tempest .roof { position: absolute; bottom: 18%; left: 30%; right: 30%; height: 20px; background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 50%, #0a0a0a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.8); animation: tp-roof 6s ease-in-out infinite alternate; }
@keyframes tp-sky { 0% { opacity: 0.8; } 50% { opacity: 0.5; } 100% { opacity: 0.9; } }
@keyframes tp-cloud { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-20px) scaleY(1.1); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes tp-wind { 0% { transform: translateX(-100vw); } 100% { transform: translateX(100vw); } }
@keyframes tp-tree { 0% { transform: rotate(-3deg); } 25% { transform: rotate(5deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(7deg); } 100% { transform: rotate(-3deg); } }
@keyframes tp-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(8px) rotate(3deg); } 50% { transform: translateX(16px) rotate(-1deg); } 75% { transform: translateX(8px) rotate(4deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes tp-lightning { 0% { opacity: 0; } 10% { opacity: 1; } 15% { opacity: 0; } 80% { opacity: 0; } 90% { opacity: 1; } 95% { opacity: 0; } 100% { opacity: 0; } }
@keyframes tp-rain { 0% { transform: translateY(0); } 100% { transform: translateY(10px); } }
@keyframes tp-roof { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }

.scn-poem-the-sea { background: linear-gradient(180deg, #a0b0c0 0%, #8090a0 30%, #607080 60%, #405060 100%), radial-gradient(ellipse at 50% 0%, #b0c0d0 0%, transparent 70%); }
.scn-poem-the-sea .sky-ts { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #c0d0e0 0%, #a0b0c0 60%, transparent 100%); animation: ts-sky 20s ease-in-out infinite alternate; }
.scn-poem-the-sea .sea-ts { position: absolute; bottom: 20%; left: 0; right: 0; height: 50%; background: linear-gradient(180deg, #6a8a9a 0%, #4a6a7a 50%, #2a4a5a 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.3); animation: ts-sea 12s ease-in-out infinite alternate; }
.scn-poem-the-sea .sand-ts { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #b0a080 0%, #908060 50%, #706040 100%); border-radius: 50% 50% 0 0; animation: ts-sand 15s ease-in-out infinite alternate; }
.scn-poem-the-sea .bird { position: absolute; top: 15%; left: 20%; width: 30px; height: 12px; background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 0 0; clip-path: polygon(0 50%, 50% 0, 100% 50%, 80% 60%, 50% 40%, 20% 60%); animation: ts-bird 8s ease-in-out infinite; }
.scn-poem-the-sea .worm { position: absolute; bottom: 28%; left: 30%; width: 16px; height: 6px; background: linear-gradient(90deg, #8a5a3a 0%, #6a3a2a 100%); border-radius: 50%; animation: ts-worm 4s ease-in-out infinite; }
.scn-poem-the-sea .dew { position: absolute; top: 25%; right: 30%; width: 6px; height: 6px; background: radial-gradient(circle, #e0f0ff 0%, #a0c0e0 80%); border-radius: 50%; box-shadow: 0 0 8px 4px rgba(160,192,224,0.4); animation: ts-dew 5s ease-in-out infinite alternate; }
.scn-poem-the-sea .grass-ts { position: absolute; bottom: 20%; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #5a7a4a 0%, #6a8a5a 50%, #5a7a4a 100%); filter: blur(3px); animation: ts-grass 12s ease-in-out infinite alternate; }
.scn-poem-the-sea .wave-ts { position: absolute; bottom: 35%; left: 0; right: 0; height: 10px; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 20%, transparent 40%, rgba(255,255,255,0.2) 60%, transparent 80%, rgba(255,255,255,0.2) 100%); filter: blur(1px); animation: ts-wave 8s ease-in-out infinite; }
@keyframes ts-sky { 0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes ts-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes ts-sand { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes ts-bird { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(30px) translateY(-10px) rotate(5deg); } 50% { transform: translateX(60px) translateY(0) rotate(0deg); } 75% { transform: translateX(90px) translateY(-10px) rotate(-5deg); } 100% { transform: translateX(120px) translateY(0) rotate(0deg); } }
@keyframes ts-worm { 0% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(5px) scaleY(1.2); } 50% { transform: translateX(10px) scaleY(1); } 75% { transform: translateX(5px) scaleY(0.8); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes ts-dew { 0% { transform: scale(1) translateY(0); opacity: 0.6; } 50% { transform: scale(1.3) translateY(-3px); opacity: 1; } 100% { transform: scale(1) translateY(0); opacity: 0.7; } }
@keyframes ts-grass { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.3); } 100% { transform: scaleY(1); } }
@keyframes ts-wave { 0% { transform: translateX(0); opacity: 0.3; } 25% { transform: translateX(20px); opacity: 0.5; } 50% { transform: translateX(40px); opacity: 0.3; } 75% { transform: translateX(20px); opacity: 0.5; } 100% { transform: translateX(0); opacity: 0.3; } }

/* poem-something-in-summer */
.scn-poem-something-in-summer {
  background: linear-gradient(180deg, #f5a56b 0%, #d46a4a 30%, #6d3a5a 60%, #1a2a4a 100%),
              radial-gradient(ellipse at 80% 20%, #f7c978 0%, transparent 50%);
}
.scn-poem-something-in-summer .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #b87a5a 0%, transparent 100%);
  animation: ss-sky 15s ease-in-out infinite alternate;
}
.scn-poem-something-in-summer .sun-flambeaux {
  position: absolute; top: 15%; right: 15%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #ffd080 0%, #ff8844 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,136,68,0.7);
  animation: ss-sun 6s ease-in-out infinite alternate;
}
.scn-poem-something-in-summer .azure-depth {
  position: absolute; top: 30%; left: 10%; width: 40%; height: 30%;
  background: linear-gradient(135deg, #4a7a9a 0%, #2a5a7a 50%, transparent 100%);
  border-radius: 0 30% 80% 0 / 0 40% 70% 0;
  filter: blur(8px);
  animation: ss-azure 20s ease-in-out infinite alternate;
}
.scn-poem-something-in-summer .silhouette {
  position: absolute; bottom: 30%; left: 45%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ss-figure 4s ease-in-out infinite;
}
.scn-poem-something-in-summer .cloud-wisp {
  position: absolute; top: 10%; left: 20%;
  width: 120px; height: 25px;
  background: linear-gradient(90deg, rgba(255,200,150,0.6), rgba(255,200,150,0.1));
  border-radius: 50%;
  filter: blur(10px);
  animation: ss-cloud 40s linear infinite;
}
.scn-poem-something-in-summer .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a3a1a 0%, #1a2a0a 100%);
  border-radius: 60% 60% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
@keyframes ss-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes ss-sun { 0% { transform: scale(1) translate(0,0); opacity: 0.8; } 50% { transform: scale(1.1) translate(-5px,-5px); opacity: 1; } 100% { transform: scale(0.95) translate(3px,3px); opacity: 0.7; } }
@keyframes ss-azure { 0% { transform: translateX(0) skewX(0); } 50% { transform: translateX(10px) skewX(3deg); opacity: 0.7; } 100% { transform: translateX(-5px) skewX(-2deg); opacity: 0.9; } }
@keyframes ss-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 75% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ss-cloud { 0% { transform: translateX(-50px); } 100% { transform: translateX(100vw); } }

/* poem-this-is-the-land */
.scn-poem-this-is-the-land {
  background: linear-gradient(180deg, #ff8a5c 0%, #d45a3a 30%, #7a3a6a 60%, #1a2a4a 100%),
              radial-gradient(ellipse at 50% 80%, #f0b060 0%, transparent 60%);
}
.scn-poem-this-is-the-land .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #3a4a6a 0%, #1a2a4a 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
  animation: tl-sea 10s ease-in-out infinite alternate;
}
.scn-poem-this-is-the-land .sunset-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #f5a070 0%, #c87050 30%, #8a5070 70%, transparent 100%);
  animation: tl-sky 12s ease-in-out infinite alternate;
}
.scn-poem-this-is-the-land .sun {
  position: absolute; bottom: 40%; right: 20%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, #ffd088 0%, #ff8844 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(255,136,68,0.8);
  animation: tl-sun 8s ease-in-out infinite alternate;
}
.scn-poem-this-is-the-land .ship-hull {
  position: absolute; bottom: 35%; left: 30%;
  width: 100px; height: 45px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 20% 20% 40% 40% / 50% 50% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: tl-ship 6s ease-in-out infinite;
}
.scn-poem-this-is-the-land .sail-fore {
  position: absolute; bottom: 40%; left: 32%;
  width: 24px; height: 50px;
  background: linear-gradient(180deg, #d4c0a0 0%, #b09878 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: tl-sail 3s ease-in-out infinite alternate;
}
.scn-poem-this-is-the-land .sail-aft {
  position: absolute; bottom: 40%; left: 42%;
  width: 20px; height: 42px;
  background: linear-gradient(180deg, #c8b898 0%, #a08a6a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform-origin: bottom left;
  animation: tl-sail 3.5s ease-in-out infinite alternate-reverse;
}
.scn-poem-this-is-the-land .wave-sparkle {
  position: absolute; bottom: 20%; left: 10%; width: 8px; height: 8px;
  background: #ffd8a0;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,216,160,0.6);
  animation: tl-sparkle 4s ease-in-out infinite alternate;
}
@keyframes tl-sea { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); } }
@keyframes tl-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes tl-sun { 0% { transform: scale(1) translateY(0); opacity: 0.9; } 50% { transform: scale(1.05) translateY(-5px); opacity: 1; } 100% { transform: scale(0.95) translateY(4px); opacity: 0.6; } }
@keyframes tl-ship { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tl-sail { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.02); } 100% { transform: rotate(-2deg) scaleY(0.98); } }
@keyframes tl-sparkle { 0% { transform: translate(0,0) scale(1); opacity: 0; } 50% { transform: translate(20px, -10px) scale(1.5); opacity: 1; } 100% { transform: translate(40px, -20px) scale(0.5); opacity: 0; } }

/* item-flower-bee-preferred */
.scn-item-flower-bee-preferred {
  background: linear-gradient(180deg, #e8e0b0 0%, #b8c878 40%, #6a9a3a 100%),
              radial-gradient(ellipse at 50% 30%, #f0f0c0 0%, transparent 60%);
}
.scn-item-flower-bee-preferred .bg-meadow {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #b8c878 0%, #88a84a 100%);
  animation: fb-meadow 20s ease-in-out infinite alternate;
}
.scn-item-flower-bee-preferred .flower-stem {
  position: absolute; bottom: 20%; left: 50%;
  width: 6px; height: 120px;
  background: linear-gradient(180deg, #4a6a2a 0%, #3a5a1a 100%);
  border-radius: 10%;
  transform-origin: bottom center;
  animation: fb-stem 6s ease-in-out infinite;
}
.scn-item-flower-bee-preferred .flower-petals {
  position: absolute; bottom: 55%; left: 50%;
  width: 80px; height: 80px;
  background: radial-gradient(circle at 50% 30%, #ffb0c0 0%, #ff8090 50%, #d06070 100%);
  border-radius: 50% 20% 50% 30% / 40% 50% 50% 60%;
  transform: translateX(-50%) rotate(-10deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: fb-petal 8s ease-in-out infinite alternate;
}
.scn-item-flower-bee-preferred .bee-body {
  position: absolute; bottom: 65%; left: 55%;
  width: 20px; height: 30px;
  background: linear-gradient(180deg, #c0a030 0%, #807000 50%, #605000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: fb-bee 5s ease-in-out infinite;
}
.scn-item-flower-bee-preferred .bee-wings {
  position: absolute; bottom: 72%; left: 57%;
  width: 18px; height: 12px;
  background: radial-gradient(circle, rgba(255,255,255,0.8), rgba(255,255,255,0.2));
  border-radius: 50%;
  filter: blur(1px);
  animation: fb-wings 0.4s ease-in-out infinite alternate;
}
.scn-item-flower-bee-preferred .bee-helmet {
  position: absolute; bottom: 80%; left: 56%;
  width: 10px; height: 8px;
  background: #2a2a2a;
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
}
@keyframes fb-meadow { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.85; transform: scale(0.98); } }
@keyframes fb-stem { 0% { transform: rotate(-2deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.01); } 100% { transform: rotate(-2deg) scaleY(1); } }
@keyframes fb-petal { 0% { transform: translateX(-50%) rotate(-10deg) scale(1); } 50% { transform: translateX(-50%) rotate(0deg) scale(1.05); } 100% { transform: translateX(-50%) rotate(-12deg) scale(0.98); } }
@keyframes fb-bee { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(8px,-5px) rotate(5deg); } 50% { transform: translate(-4px,-12px) rotate(-3deg); } 75% { transform: translate(6px,-8px) rotate(2deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes fb-wings { 0% { transform: scaleY(1) rotate(-5deg); } 100% { transform: scaleY(0.3) rotate(5deg); } }

/* poem-presentiment */
.scn-poem-presentiment {
  background: linear-gradient(180deg, #c88050 0%, #7a4a3a 40%, #2a3a4a 80%, #1a1a3a 100%),
              radial-gradient(ellipse at 80% 20%, #e0a060 0%, transparent 50%);
}
.scn-poem-presentiment .sky-dusk {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #d4a070 0%, #a06a50 40%, #4a3a5a 70%, transparent 100%);
  animation: pr-sky 10s ease-in-out infinite alternate;
}
.scn-poem-presentiment .sun-low {
  position: absolute; bottom: 45%; left: 15%;
  width: 70px; height: 70px;
  background: radial-gradient(circle, #ffc070 0%, #d08040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px 25px rgba(208,128,64,0.6);
  animation: pr-sun 8s ease-in-out infinite alternate;
}
.scn-poem-presentiment .shadow-lawn {
  position: absolute; bottom: 25%; left: 10%; width: 80%; height: 40%;
  background: linear-gradient(135deg, #1a1a2a 0%, #0a0a1a 100%);
  clip-path: polygon(0% 100%, 10% 30%, 30% 50%, 60% 10%, 90% 40%, 100% 100%);
  filter: blur(4px);
  animation: pr-shadow 16s ease-in-out infinite alternate;
}
.scn-poem-presentiment .house {
  position: absolute; bottom: 25%; right: 15%;
  width: 100px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: -6px 0 12px rgba(0,0,0,0.5);
  animation: pr-house 8s ease-in-out infinite;
}
.scn-poem-presentiment .window-glow {
  position: absolute; bottom: 35%; right: 26%;
  width: 20px; height: 24px;
  background: radial-gradient(circle, #f0c068 0%, #c08040 70%);
  border-radius: 10%;
  box-shadow: 0 0 20px 6px rgba(192,128,64,0.5), 0 0 40px 12px rgba(192,128,64,0.3);
  animation: pr-glow 4s ease-in-out infinite alternate;
}
.scn-poem-presentiment .flowers-closing {
  position: absolute; bottom: 18%; left: 25%;
  width: 30px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #c88050 0%, #a06030 60%);
  border-radius: 50% 20% 50% 30% / 40% 50% 50% 60%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: pr-flower 6s ease-in-out infinite alternate;
}
.scn-poem-presentiment .child-figure {
  position: absolute; bottom: 18%; left: 40%;
  width: 22px; height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pr-child 5s ease-in-out infinite;
}
@keyframes pr-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes pr-sun { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 50% { transform: translateY(-10px) scale(1.05); opacity: 1; } 100% { transform: translateY(5px) scale(0.95); opacity: 0.5; } }
@keyframes pr-shadow { 0% { transform: skewX(0) scaleX(1); } 50% { transform: skewX(-5deg) scaleX(1.2); opacity: 0.7; } 100% { transform: skewX(0) scaleX(0.9); opacity: 1; } }
@keyframes pr-house { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(1px) rotate(-0.5deg); } }
@keyframes pr-glow { 0% { box-shadow: 0 0 12px 4px rgba(192,128,64,0.4), 0 0 24px 8px rgba(192,128,64,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 28px 10px #f0c068, 0 0 50px 15px rgba(240,192,104,0.5); opacity: 1; } 100% { box-shadow: 0 0 16px 5px rgba(192,128,64,0.5), 0 0 32px 12px rgba(192,128,64,0.3); opacity: 0.7; } }
@keyframes pr-flower { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(5deg) scale(0.85); } 100% { transform: rotate(-3deg) scale(0.9); } }
@keyframes pr-child { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(3deg); } 100% { transform: translateX(16px) rotate(0deg); } }

/* poem-that-is-solemn – overcast, calm, solemn departure */
.scn-poem-that-is-solemn {
  background:
    linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 60%, #3a4a5a 100%),
    radial-gradient(ellipse at 50% 100%, #4a5a6a 0%, transparent 70%);
}
.scn-poem-that-is-solemn .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, transparent 100%);
  animation: ps-sky 16s ease-in-out infinite alternate;
}
.scn-poem-that-is-solemn .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 20% 80% 0 0 / 30% 70% 0 0;
  animation: ps-ground 20s ease-in-out infinite alternate;
}
.scn-poem-that-is-solemn .path {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: perspective(400px) rotateX(30deg);
  animation: ps-path 14s ease-in-out infinite alternate;
}
.scn-poem-that-is-solemn .house {
  position: absolute; bottom: 40%; left: 50%; width: 80px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 3% 3%;
  box-shadow: 0 4px 10px rgba(0,0,0,.3);
}
.scn-poem-that-is-solemn .door {
  position: absolute; bottom: 40%; left: 50%; width: 20px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 0 0 4px 4px;
  animation: ps-door 12s ease-in-out infinite;
}
.scn-poem-that-is-solemn .figure {
  position: absolute; bottom: 28%; left: 42%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ps-figure 8s ease-in-out infinite;
}
.scn-poem-that-is-solemn .cloud {
  position: absolute; top: 12%; left: 10%; width: 90px; height: 20px;
  background: linear-gradient(180deg, rgba(180,190,200,.4) 0%, rgba(180,190,200,.1) 100%);
  border-radius: 50%;
  filter: blur(7px);
  animation: ps-cloud 45s linear infinite;
}
@keyframes ps-sky { 0% { opacity: .75 } 50% { opacity: .9 } 100% { opacity: .7 } }
@keyframes ps-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ps-path { 0% { transform: perspective(400px) rotateX(30deg) translateY(0) } 50% { transform: perspective(400px) rotateX(32deg) translateY(-1px) } 100% { transform: perspective(400px) rotateX(30deg) translateY(0) } }
@keyframes ps-door { 0% { transform: translateX(-50%) rotateY(0deg) } 25% { transform: translateX(-50%) rotateY(8deg) } 50% { transform: translateX(-50%) rotateY(0deg) } 75% { transform: translateX(-50%) rotateY(-8deg) } 100% { transform: translateX(-50%) rotateY(0deg) } }
@keyframes ps-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(5px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(10px) translateY(0) rotate(0deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(-2deg) } 100% { transform: translateX(20px) translateY(0) rotate(0deg) } }
@keyframes ps-cloud { 0% { transform: translateX(-30px) } 100% { transform: translateX(110vw) } }

/* poem-they-wont-frown-always – warm dawn, hopeful child */
.scn-poem-they-wont-frown-always {
  background:
    linear-gradient(180deg, #fad6a0 0%, #f0a060 50%, #c07040 100%),
    radial-gradient(ellipse at 50% 20%, #ffe0c0 0%, transparent 60%);
}
.scn-poem-they-wont-frown-always .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #ffc080 0%, #ffd8a0 100%);
  animation: wf-sky 20s ease-in-out infinite alternate;
}
.scn-poem-they-wont-frown-always .sun {
  position: absolute; top: 8%; left: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff0d0 0%, #ffc080 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(255,192,128,.6);
  animation: wf-sun 30s ease-in-out infinite alternate;
}
.scn-poem-they-wont-frown-always .doorway {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 10% 10% 2% 2%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.3);
}
.scn-poem-they-wont-frown-always .child {
  position: absolute; bottom: 25%; left: 46%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wf-child 4s ease-in-out infinite;
}
.scn-poem-they-wont-frown-always .step {
  position: absolute; bottom: 28%; left: 40%; right: 40%; height: 6px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 10% 10% 0 0;
  animation: wf-step 5s ease-in-out infinite alternate;
}
.scn-poem-they-wont-frown-always .threshold {
  position: absolute; bottom: 30%; left: 48%; width: 40px; height: 8px;
  background: #806050;
  border-radius: 4px;
  transform: translateX(-50%) scaleX(1);
  animation: wf-threshold 6s ease-in-out infinite;
}
@keyframes wf-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes wf-sun { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes wf-child { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(-2deg) } 75% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes wf-step { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.9) } 100% { transform: scaleY(1) } }
@keyframes wf-threshold { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(0.95) } 100% { transform: translateX(-50%) scaleX(1) } }

/* poem-distance-that-the-dead-have-gone – calm, overcast, meditative landscape */
.scn-poem-distance-that-the-dead-have-gone {
  background:
    linear-gradient(180deg, #8a9aaa 0%, #6a7a8a 50%, #4a5a6a 100%),
    radial-gradient(ellipse at 50% 80%, #5a6a7a 0%, transparent 70%);
}
.scn-poem-distance-that-the-dead-have-gone .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #9aabba 0%, transparent 100%);
  animation: dd-sky 18s ease-in-out infinite alternate;
}
.scn-poem-distance-that-the-dead-have-gone .hills {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 60% 40% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 6px 15px rgba(0,0,0,.2);
  animation: dd-hills 25s ease-in-out infinite alternate;
}
.scn-poem-distance-that-the-dead-have-gone .field {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 20% 80% 0 0 / 30% 70% 0 0;
  animation: dd-field 20s ease-in-out infinite alternate;
}
.scn-poem-distance-that-the-dead-have-gone .tree {
  position: absolute; bottom: 35%; left: 30%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  transform-origin: bottom center;
  animation: dd-tree 12s ease-in-out infinite;
}
.scn-poem-distance-that-the-dead-have-gone .figure {
  position: absolute; bottom: 15%; left: 55%; width: 18px; height: 34px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dd-figure 14s ease-in-out infinite;
}
.scn-poem-distance-that-the-dead-have-gone .headstone {
  position: absolute; bottom: 20%; left: 65%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #7a7a7a 0%, #5a5a5a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  animation: dd-stone 18s ease-in-out infinite;
}
.scn-poem-distance-that-the-dead-have-gone .mists {
  position: absolute; top: 10%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, rgba(200,210,220,.15) 0%, transparent 100%);
  filter: blur(10px);
  animation: dd-mists 35s linear infinite;
}
@keyframes dd-sky { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes dd-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes dd-field { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-2px) scaleX(1.01) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes dd-tree { 0% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-1deg) } 100% { transform: rotate(0deg) } }
@keyframes dd-figure { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-2px) rotate(2deg) } 66% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(-1px) rotate(-2deg) } }
@keyframes dd-stone { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes dd-mists { 0% { transform: translateX(0) } 100% { transform: translateX(100vw) } }

/* poem-death-is-like-the-insect – tense, overcast, struggle against insect */
.scn-poem-death-is-like-the-insect {
  background:
    linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 50%, #1a2a2a 100%),
    radial-gradient(ellipse at 50% 100%, #2a3a3a 0%, transparent 70%);
}
.scn-poem-death-is-like-the-insect .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #5a6a6a 0%, transparent 100%);
  animation: di-sky 8s ease-in-out infinite alternate;
}
.scn-poem-death-is-like-the-insect .trunk {
  position: absolute; bottom: 10%; left: 50%; width: 30px; height: 150px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 10% 10% 5% 5%;
  animation: di-trunk 3s ease-in-out infinite;
}
.scn-poem-death-is-like-the-insect .branch {
  position: absolute; bottom: 65%; left: 50%; width: 80px; height: 12px;
  transform: translateX(-50%) rotate(30deg);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 10% 10%;
  transform-origin: left center;
  animation: di-branch 4s ease-in-out infinite;
}
.scn-poem-death-is-like-the-insect .insect {
  position: absolute; bottom: 60%; left: 30%; width: 30px; height: 20px;
  background: radial-gradient(circle, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: di-insect 2.5s ease-in-out infinite;
}
.scn-poem-death-is-like-the-insect .gardener {
  position: absolute; bottom: 12%; left: 35%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: di-gardener 6s ease-in-out infinite;
}
.scn-poem-death-is-like-the-insect .knife {
  position: absolute; bottom: 30%; left: 32%; width: 20px; height: 4px;
  background: linear-gradient(180deg, #a07040 0%, #704020 100%);
  border-radius: 2px;
  transform: rotate(45deg);
  animation: di-knife 3s ease-in-out infinite;
}
.scn-poem-death-is-like-the-insect .bait {
  position: absolute; bottom: 55%; left: 45%; width: 10px; height: 10px;
  background: radial-gradient(circle, #d09050 0%, #a06030 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(180,100,50,.6);
  animation: di-bait 2s ease-in-out infinite alternate;
}
@keyframes di-sky { 0% { opacity: .6 } 50% { opacity: .9 } 100% { opacity: .7 } }
@keyframes di-trunk { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(0.5deg) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes di-branch { 0% { transform: translateX(-50%) rotate(30deg) } 50% { transform: translateX(-50%) rotate(32deg) } 100% { transform: translateX(-50%) rotate(30deg) } }
@keyframes di-insect { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(5px, -3px) rotate(10deg) } 50% { transform: translate(-5px, 2px) rotate(-10deg) } 75% { transform: translate(8px, -4px) rotate(15deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes di-gardener { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-2px) rotate(3deg) } 66% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(-1px) rotate(-3deg) } }
@keyframes di-knife { 0% { transform: rotate(45deg) translate(0,0) } 50% { transform: rotate(45deg) translate(2px, -2px) } 100% { transform: rotate(45deg) translate(0,0) } }
@keyframes di-bait { 0% { opacity: .6; box-shadow: 0 0 8px 2px rgba(180,100,50,.4) } 100% { opacity: 1; box-shadow: 0 0 18px 6px rgba(180,100,50,.8) } }

.scn-poem-if-i-gain {
  background:
    linear-gradient(180deg, #3c1a0a 0%, #5c2a0e 30%, #2a1008 70%, #0a0502 100%),
    radial-gradient(ellipse at 50% 0%, #8c3e15 0%, transparent 60%);
}
.scn-poem-if-i-gain .storm-sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #4a1f0c 0%, #2a0d04 60%, transparent 100%);
  animation: ig-sky 8s ease-in-out infinite alternate;
}
.scn-poem-if-i-gain .lightning {
  position: absolute; top: 5%; left: 30%; width: 3px; height: 120px;
  background: linear-gradient(180deg, #ffcc77, #ff8844 60%, transparent);
  border-radius: 2px;
  filter: blur(1px);
  box-shadow: 0 0 18px 6px rgba(255,200,100,0.6), 0 0 40px 10px rgba(255,180,60,0.3);
  animation: ig-lightning 4s infinite;
}
.scn-poem-if-i-gain .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #1a0a04 0%, #0a0402 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  animation: ig-sea 12s ease-in-out infinite;
}
.scn-poem-if-i-gain .ship {
  position: absolute; bottom: 38%; left: 40%; width: 100px; height: 40px;
  background: linear-gradient(180deg, #3a1e0e 0%, #1a0e06 100%);
  border-radius: 30% 30% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 12px 2px rgba(0,0,0,0.7);
  animation: ig-ship 5s ease-in-out infinite;
}
.scn-poem-if-i-gain .bell {
  position: absolute; bottom: 52%; left: 45%; width: 14px; height: 16px;
  background: radial-gradient(circle, #d48a44 0%, #7a421a 70%);
  border-radius: 30% 30% 40% 40%;
  box-shadow: 0 0 10px 3px rgba(200,120,40,0.5);
  transform-origin: top center;
  animation: ig-bell 2s ease-in-out infinite;
}
.scn-poem-if-i-gain .wave-f {
  position: absolute; bottom: 10%; left: 10%; width: 70%; height: 20px;
  background: linear-gradient(90deg, transparent, rgba(40,20,10,0.6) 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ig-wave-f 6s ease-in-out infinite;
}
.scn-poem-if-i-gain .wave-m {
  position: absolute; bottom: 25%; left: 5%; width: 80%; height: 12px;
  background: linear-gradient(90deg, transparent, rgba(30,15,8,0.5) 40%, transparent 80%);
  border-radius: 50%;
  filter: blur(3px);
  animation: ig-wave-m 8s ease-in-out infinite reverse;
}
@keyframes ig-sky {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ig-lightning {
  0%, 90%, 100% { opacity: 0; }
  5%, 85% { opacity: 1; }
  10% { opacity: 0.2; }
}
@keyframes ig-sea {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02) translateY(-2px); }
}
@keyframes ig-ship {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(2deg) translateY(-3px); }
  75% { transform: rotate(-2deg) translateY(2px); }
}
@keyframes ig-bell {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(10deg); }
  80% { transform: rotate(-10deg); }
}
@keyframes ig-wave-f {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px) scaleX(1.02); }
  50% { transform: translateX(0) scaleX(1); }
  75% { transform: translateX(5px) scaleX(0.98); }
  100% { transform: translateX(0); }
}
@keyframes ig-wave-m {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-8px); }
}

.scn-poem-shipwreck-aftermath {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #14142a 40%, #0e0e1e 100%),
    radial-gradient(ellipse at 50% 100%, #1a1a3a 0%, transparent 70%);
}
.scn-poem-shipwreck-aftermath .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0e0e24 0%, #1a1a3a 60%, transparent 100%);
  animation: sa-sky 15s ease-in-out infinite alternate;
}
.scn-poem-shipwreck-aftermath .star-field {
  position: absolute; inset: 0 0 45% 0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, #fff, transparent),
    radial-gradient(2px 2px at 30% 60%, #ddd, transparent),
    radial-gradient(1px 1px at 70% 10%, #fff, transparent),
    radial-gradient(1.5px 1.5px at 90% 40%, #eee, transparent),
    radial-gradient(1px 1px at 50% 80%, #fff, transparent);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  animation: sa-stars 20s linear infinite;
}
.scn-poem-shipwreck-aftermath .sea-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #101030 0%, #050510 100%);
  border-radius: 60% 40% 0 0 / 50% 30% 0 0;
  animation: sa-sea 12s ease-in-out infinite;
}
.scn-poem-shipwreck-aftermath .wreck-mast {
  position: absolute; bottom: 30%; left: 60%; width: 6px; height: 90px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  box-shadow: 0 0 4px 1px rgba(0,0,0,0.8);
  animation: sa-mast 10s ease-in-out infinite;
}
.scn-poem-shipwreck-aftermath .lone-door {
  position: absolute; bottom: 22%; left: 25%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 5% 5% 10% 10% / 2% 2% 5% 5%;
  box-shadow: 0 0 8px 2px rgba(0,0,0,0.9), inset 0 0 6px rgba(255,255,255,0.02);
  transform: skewX(-3deg);
  animation: sa-door 8s ease-in-out infinite alternate;
}
.scn-poem-shipwreck-aftermath .child-shape {
  position: absolute; bottom: 18%; left: 27%; width: 16px; height: 34px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sa-child 4s ease-in-out infinite;
}
.scn-poem-shipwreck-aftermath .breakers {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 18px;
  background: linear-gradient(90deg, transparent, rgba(180,180,240,0.1) 30%, transparent 60%, rgba(180,180,240,0.08) 80%, transparent);
  border-radius: 50%;
  filter: blur(3px);
  animation: sa-break 7s ease-in-out infinite;
}
@keyframes sa-sky {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}
@keyframes sa-stars {
  0% { opacity: 0.6; transform: translateY(0); }
  50% { opacity: 0.9; transform: translateY(-2px); }
  100% { opacity: 0.6; transform: translateY(0); }
}
@keyframes sa-sea {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.01); }
}
@keyframes sa-mast {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(3deg); }
  75% { transform: rotate(-2deg); }
}
@keyframes sa-door {
  0% { transform: skewX(-3deg) translateY(0); }
  50% { transform: skewX(-2deg) translateY(-2px); }
  100% { transform: skewX(-4deg) translateY(0); }
}
@keyframes sa-child {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
}
@keyframes sa-break {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}

.scn-poem-almost-within-reach {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #4a3a1e 30%, #6a5a2e 100%),
    radial-gradient(ellipse at 80% 20%, #9a8a5e 0%, transparent 60%);
}
.scn-poem-almost-within-reach .warm-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3a2a12 0%, #6a5a2e 50%, transparent 100%);
  animation: ar-sky 20s ease-in-out infinite alternate;
}
.scn-poem-almost-within-reach .great-moon {
  position: absolute; top: 10%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle at 45% 45%, #ffeedd 0%, #eeddbb 40%, #ccbb99 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,238,200,0.5), 0 0 60px 20px rgba(255,220,150,0.3);
  animation: ar-moon 8s ease-in-out infinite alternate;
}
.scn-poem-almost-within-reach .field {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 60% 40% 0 0 / 70% 50% 0 0;
  animation: ar-field 15s ease-in-out infinite;
}
.scn-poem-almost-within-reach .path {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 5% 5% 30% 30%;
  transform: skewX(-10deg);
  animation: ar-path 6s ease-in-out infinite;
}
.scn-poem-almost-within-reach .violet-cluster {
  position: absolute; bottom: 28%; left: 28%; width: 20px; height: 12px;
  background: radial-gradient(circle at 30% 40%, #9a6a9a 0%, #7a4a7a 50%, transparent 70%);
  border-radius: 50%;
  filter: blur(1px);
  animation: ar-violet 10s ease-in-out infinite;
}
.scn-poem-almost-within-reach .reaching-hand {
  position: absolute; bottom: 22%; left: 38%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar-hand 4s ease-in-out infinite;
}
@keyframes ar-sky {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes ar-moon {
  0%, 100% { transform: translate(0, 0); box-shadow: 0 0 30px 10px rgba(255,238,200,0.5), 0 0 60px 20px rgba(255,220,150,0.3); }
  50% { transform: translate(2px, -2px); box-shadow: 0 0 40px 15px rgba(255,238,200,0.6), 0 0 80px 25px rgba(255,220,150,0.4); }
}
@keyframes ar-field {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes ar-path {
  0%, 100% { transform: skewX(-10deg) translateY(0); }
  50% { transform: skewX(-8deg) translateY(-3px); }
}
@keyframes ar-violet {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.1); }
}
@keyframes ar-hand {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(5deg); }
  75% { transform: translateY(-2px) rotate(-3deg); }
}

.scn-poem-heart-asks-pleasure {
  background:
    linear-gradient(180deg, #0a0a12 0%, #1a1a2a 50%, #0a0a12 100%),
    radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, transparent 70%);
}
.scn-poem-heart-asks-pleasure .room-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #14141e 0%, #0e0e16 100%);
  animation: hp-room 20s ease-in-out infinite alternate;
}
.scn-poem-heart-asks-pleasure .window-dim {
  position: absolute; top: 20%; right: 15%; width: 40px; height: 55px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border: 2px solid #0a0a12;
  border-radius: 2px;
  box-shadow: inset 0 0 12px rgba(255,255,255,0.02);
  animation: hp-window 15s ease-in-out infinite;
}
.scn-poem-heart-asks-pleasure .bed {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: hp-bed 8s ease-in-out infinite;
}
.scn-poem-heart-asks-pleasure .lying-figure {
  position: absolute; bottom: 25%; left: 30%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(5deg);
  animation: hp-figure 6s ease-in-out infinite;
}
.scn-poem-heart-asks-pleasure .candle-glow {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 14px;
  background: radial-gradient(circle at 50% 30%, #ffdd88 0%, #cc9944 40%, #8a6020 80%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(255,200,100,0.4), 0 0 40px 12px rgba(200,150,60,0.3);
  animation: hp-candle 3s ease-in-out infinite alternate;
}
.scn-poem-heart-asks-pleasure .shadow-shape {
  position: absolute; bottom: 15%; left: 30%; width: 60px; height: 20px;
  background: rgba(0,0,0,0.4);
  filter: blur(6px);
  border-radius: 50%;
  animation: hp-shadow 8s ease-in-out infinite;
}
.scn-poem-heart-asks-pleasure .small-desk {
  position: absolute; bottom: 35%; left: 55%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 5% 5% 10% 10%;
  box-shadow: 0 0 8px rgba(0,0,0,0.6);
  animation: hp-desk 10s ease-in-out infinite;
}
@keyframes hp-room {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes hp-window {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}
@keyframes hp-bed {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes hp-figure {
  0%, 100% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(4deg) translateY(-3px); }
}
@keyframes hp-candle {
  0% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(255,200,100,0.3), 0 0 30px 8px rgba(200,150,60,0.2); }
  50% { opacity: 1; box-shadow: 0 0 25px 8px rgba(255,200,100,0.5), 0 0 50px 16px rgba(200,150,60,0.4); }
  100% { opacity: 0.8; box-shadow: 0 0 18px 5px rgba(255,200,100,0.35), 0 0 35px 10px rgba(200,150,60,0.25); }
}
@keyframes hp-shadow {
  0%, 100% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(1.1) translateX(5px); }
}
@keyframes hp-desk {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

.scn-poem-summer-solstice {
  background:
    linear-gradient(180deg, #85c1e9 0%, #f9e79f 40%, #f5cba7 70%, #f0b27a 100%),
    radial-gradient(ellipse at 30% 50%, rgba(255,255,200,0.3) 0%, transparent 70%);
}
.scn-poem-summer-solstice .sky-back {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #aed6f1 0%, transparent 100%);
  animation: ss-sky 15s ease-in-out infinite alternate;
}
.scn-poem-summer-solstice .sun {
  position: absolute; top: 10%; left: 60%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, #ffe066 0%, #ffb347 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(255,200,50,0.6);
  animation: ss-sun 8s ease-in-out infinite alternate;
}
.scn-poem-summer-solstice .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #7cb342 0%, #558b2f 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
  animation: ss-field 12s ease-in-out infinite alternate;
}
.scn-poem-summer-solstice .flower {
  position: absolute; bottom: 30%; width: 12px; height: 24px;
  background: linear-gradient(180deg, #e6bf83 0%, #9c7a3c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-poem-summer-solstice .flower-left { left: 30%; animation: ss-flower 5s ease-in-out infinite; }
.scn-poem-summer-solstice .flower-right { right: 25%; animation: ss-flower 5s ease-in-out infinite 2.5s; }
.scn-poem-summer-solstice .figure {
  position: absolute; bottom: 20%; left: 45%;
  width: 20px; height: 40px;
  background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: ss-figure 9s ease-in-out infinite;
}
.scn-poem-summer-solstice .cloud {
  position: absolute; height: 20px;
  background: rgba(255,255,255,0.5);
  border-radius: 50%;
  filter: blur(8px);
}
.scn-poem-summer-solstice .cloud-a { top: 8%; left: 10%; width: 100px; animation: ss-cloud-a 40s linear infinite; }
.scn-poem-summer-solstice .cloud-b { top: 18%; right: 5%; width: 70px; animation: ss-cloud-b 50s linear infinite reverse; }

@keyframes ss-sky { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes ss-sun { 0% { transform: scale(1) translateY(0); box-shadow: 0 0 50px 20px rgba(255,200,50,0.5); } 50% { transform: scale(1.05) translateY(-4px); box-shadow: 0 0 80px 40px rgba(255,200,50,0.7); } 100% { transform: scale(0.98) translateY(2px); box-shadow: 0 0 60px 30px rgba(255,200,50,0.6); } }
@keyframes ss-field { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes ss-flower { 0% { transform: rotate(-5deg); } 25% { transform: rotate(3deg) scaleY(1.02); } 50% { transform: rotate(-6deg); } 75% { transform: rotate(4deg) scaleY(0.98); } 100% { transform: rotate(-3deg); } }
@keyframes ss-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(3px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(6px) translateY(0) rotate(-1deg); } 75% { transform: translateX(9px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(12px) translateY(0) rotate(0deg); } }
@keyframes ss-cloud-a { 0% { transform: translateX(-20px); opacity: 0.6; } 50% { opacity: 0.8; } 100% { transform: translateX(120vw); opacity: 0.4; } }
@keyframes ss-cloud-b { 0% { transform: translateX(0); opacity: 0.5; } 50% { opacity: 0.7; } 100% { transform: translateX(-100vw); opacity: 0.3; } }

.scn-editorial-transcription-note {
  background:
    linear-gradient(180deg, #3e2723 0%, #4e342e 30%, #5d4037 70%, #3e2723 100%),
    radial-gradient(ellipse at 50% 30%, #6d4c41 0%, transparent 80%);
}
.scn-editorial-transcription-note .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #5d4037 0%, #4e342e 50%, #3e2723 100%);
  animation: et-wall 20s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #6d4c41 0%, #4e342e 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 -4px 15px rgba(0,0,0,0.5);
  transform: perspective(500px) rotateX(5deg);
  animation: et-desk 15s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .paper {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 35%;
  background: linear-gradient(180deg, #f5e6ca 0%, #e8d5b5 100%);
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transform: rotate(-1deg);
  animation: et-paper 8s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .lamp {
  position: absolute; bottom: 35%; left: 15%;
  width: 12px; height: 30px;
  background: linear-gradient(180deg, #bdbdbd 0%, #7f8c8d 100%);
  border-radius: 10% 10% 10% 10% / 20% 20% 10% 10%;
  transform: rotate(10deg);
  animation: et-lamp 6s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .lamp-glow {
  position: absolute; bottom: 35%; left: 10%;
  width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(255,235,150,0.4) 0%, rgba(255,200,80,0.2) 40%, transparent 70%);
  border-radius: 50%;
  animation: et-glow 4s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .hand {
  position: absolute; bottom: 22%; left: 35%;
  width: 18px; height: 28px;
  background: linear-gradient(180deg, #cc9966 0%, #b3804d 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-20deg);
  transform-origin: bottom center;
  animation: et-hand 10s ease-in-out infinite alternate;
}
.scn-editorial-transcription-note .inkwell {
  position: absolute; bottom: 20%; right: 25%;
  width: 20px; height: 24px;
  background: radial-gradient(circle at 50% 30%, #2c3e50 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: et-inkwell 12s ease-in-out infinite alternate;
}

@keyframes et-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes et-desk { 0% { transform: perspective(500px) rotateX(5deg) translateY(0); } 50% { transform: perspective(500px) rotateX(4deg) translateY(-2px); } 100% { transform: perspective(500px) rotateX(6deg) translateY(1px); } }
@keyframes et-paper { 0% { transform: rotate(-1deg) scale(1); } 50% { transform: rotate(0deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(0.98); } }
@keyframes et-lamp { 0% { transform: rotate(8deg); } 50% { transform: rotate(12deg); } 100% { transform: rotate(9deg); } }
@keyframes et-glow { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes et-hand { 0% { transform: rotate(-18deg) translateY(0); } 50% { transform: rotate(-22deg) translateY(-2px); } 100% { transform: rotate(-20deg) translateY(1px); } }
@keyframes et-inkwell { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(1px); } }

.scn-poem-success {
  background:
    linear-gradient(180deg, #546e7a 0%, #78909c 30%, #b0bec5 60%, #90a4ae 100%),
    radial-gradient(ellipse at 40% 70%, #455a64 0%, transparent 70%);
}
.scn-poem-success .sky-overcast {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #607d8b 0%, #78909c 40%, transparent 100%);
  animation: sc-sky 20s ease-in-out infinite alternate;
}
.scn-poem-success .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4e342e 0%, #3e2723 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  animation: sc-ground 18s ease-in-out infinite alternate;
}
.scn-poem-success .distant-hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #5d4037 0%, #4e342e 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  opacity: 0.6;
  animation: sc-hills 25s ease-in-out infinite alternate;
}
.scn-poem-success .defeated {
  position: absolute; bottom: 12%; left: 35%;
  width: 24px; height: 36px;
  background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc-defeated 6s ease-in-out infinite;
}
.scn-poem-success .flag-purple {
  position: absolute; bottom: 28%; left: 50%;
  width: 8px; height: 30px;
  background: linear-gradient(180deg, #8e44ad 0%, #5b2c6f 100%);
  border-radius: 0 0 20% 20%;
  transform-origin: bottom center;
  animation: sc-flag 5s ease-in-out infinite alternate;
}
.scn-poem-success .spear {
  position: absolute; bottom: 15%; left: 55%;
  width: 4px; height: 40px;
  background: linear-gradient(180deg, #b0bec5 0%, #78909c 100%);
  border-radius: 20% 20% 0 0;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: sc-spear 8s ease-in-out infinite alternate;
}
.scn-poem-success .dust-whirl {
  position: absolute; bottom: 10%; left: 20%;
  width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(176,190,197,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(5px);
  animation: sc-dust 10s linear infinite;
}

@keyframes sc-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes sc-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes sc-hills { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1.02); } }
@keyframes sc-defeated { 0% { transform: translateX(0) rotate(0deg) scale(1); } 25% { transform: translateX(2px) rotate(5deg) scale(0.98); } 50% { transform: translateX(0) rotate(-3deg) scale(1.02); } 75% { transform: translateX(-2px) rotate(2deg) scale(0.96); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes sc-flag { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-8deg); } }
@keyframes sc-spear { 0% { transform: rotate(13deg); } 50% { transform: rotate(17deg); } 100% { transform: rotate(14deg); } }
@keyframes sc-dust { 0% { transform: translateX(0) scale(1); opacity: 0.4; } 50% { transform: translateX(20px) scale(1.2); opacity: 0.6; } 100% { transform: translateX(0) scale(1); opacity: 0.3; } }

.scn-poem-tis-so-much-joy {
  background:
    linear-gradient(180deg, #1a237e 0%, #4a148c 20%, #e65100 50%, #ff8f00 80%, #ffcc02 100%),
    radial-gradient(ellipse at 50% 80%, #ff8f00 0%, transparent 60%);
}
.scn-poem-tis-so-much-joy .dawn-sky {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a237e 0%, #4a148c 30%, #ff8f00 70%, transparent 100%);
  animation: tj-sky 15s ease-in-out infinite alternate;
}
.scn-poem-tis-so-much-joy .sun-horizon {
  position: absolute; bottom: 20%; left: 45%;
  width: 90px; height: 90px;
  background: radial-gradient(circle, #ffcc02 0%, #ff8f00 40%, #e65100 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 80px 40px rgba(255,143,0,0.5);
  animation: tj-sun 10s ease-in-out infinite alternate;
}
.scn-poem-tis-so-much-joy .sea-mist {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, rgba(255,255,200,0.2) 0%, rgba(255,200,100,0.1) 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  filter: blur(6px);
  animation: tj-mist 20s ease-in-out infinite alternate;
}
.scn-poem-tis-so-much-joy .horizon-line {
  position: absolute; bottom: 22%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, #ffcc02, transparent);
  opacity: 0.6;
  animation: tj-horizon 8s ease-in-out infinite alternate;
}
.scn-poem-tis-so-much-joy .figure-joy {
  position: absolute; bottom: 15%; left: 50%;
  width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%);
  border-radius: 45% 45% 30% 30% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: tj-figure 12s ease-in-out infinite;
}
.scn-poem-tis-so-much-joy .bird {
  position: absolute; bottom: 50%;
  width: 16px; height: 8px;
  background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0% 100%, 30% 0%, 50% 40%, 70% 0%, 100% 100%);
  animation: tj-bird 8s ease-in-out infinite;
}
.scn-poem-tis-so-much-joy .bird-left { left: 20%; animation-delay: 0s; }
.scn-poem-tis-so-much-joy .bird-right { left: 60%; animation-delay: 4s; }

@keyframes tj-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes tj-sun { 0% { transform: scale(0.95) translateY(0); } 50% { transform: scale(1.05) translateY(-4px); box-shadow: 0 0 100px 50px rgba(255,143,0,0.6); } 100% { transform: scale(0.98) translateY(2px); } }
@keyframes tj-mist { 0% { transform: translateY(0) scaleX(1); opacity: 0.5; } 50% { transform: translateY(-2px) scaleX(1.02); opacity: 0.8; } 100% { transform: translateY(1px) scaleX(0.98); opacity: 0.6; } }
@keyframes tj-horizon { 0% { opacity: 0.4; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes tj-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-1deg); } 75% { transform: translateX(12px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }
@keyframes tj-bird { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(5px) translateY(-3px) rotate(5deg); } 50% { transform: translateX(10px) translateY(0) rotate(-3deg); } 75% { transform: translateX(15px) translateY(-3px) rotate(2deg); } 100% { transform: translateX(20px) translateY(0) rotate(0deg); } }

.scn-poem-this-merit-hath-the-worst {
  background: linear-gradient(180deg, #9bb4c7 0%, #b5c8d6 30%, #d0dbe6 60%, #b8c9d6 100%), radial-gradient(ellipse at 50% 0%, #e8eef4 0%, transparent 50%);
}
.scn-poem-this-merit-hath-the-worst .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #a0b8cb 0%, #c4d3df 100%);
  animation: pmhw-sky 20s ease-in-out infinite alternate;
}
.scn-poem-this-merit-hath-the-worst .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #8a9a7a 0%, #5d6b4f 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.15);
  animation: pmhw-ground 25s ease-in-out infinite;
}
.scn-poem-this-merit-hath-the-worst .hills-far {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #7d8e70 0%, #5c6b50 100%);
  border-radius: 40% 60% 0 0 / 70% 50% 0 0;
  transform: scaleY(0.85);
  animation: pmhw-hills-f 30s ease-in-out infinite alternate;
}
.scn-poem-this-merit-hath-the-worst .hills-near {
  position: absolute; bottom: 30%; left: -10%; right: -10%; height: 25%;
  background: linear-gradient(180deg, #6a7d5e 0%, #4a5a3e 100%);
  border-radius: 50% 50% 0 0 / 40% 50% 0 0;
  animation: pmhw-hills-n 18s ease-in-out infinite alternate;
}
.scn-poem-this-merit-hath-the-worst .deer {
  position: absolute; bottom: 20%; left: 45%; width: 40px; height: 55px;
  background: linear-gradient(180deg, #3b4235 0%, #2a3025 100%);
  border-radius: 40% 40% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pmhw-deer 8s ease-in-out infinite;
}
.scn-poem-this-merit-hath-the-worst .stone {
  position: absolute; bottom: 18%; left: 30%; width: 30px; height: 18px;
  background: linear-gradient(180deg, #6b7a5e 0%, #4d5a40 100%);
  border-radius: 40% 30% 20% 20%;
  box-shadow: inset 0 4px 6px rgba(0,0,0,0.2);
  animation: pmhw-stone 12s ease-in-out infinite alternate;
}
.scn-poem-this-merit-hath-the-worst .cloud-a {
  position: absolute; top: 12%; left: 10%; width: 90px; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%);
  border-radius: 50%; filter: blur(5px);
  animation: pmhw-drift-a 40s linear infinite;
}
.scn-poem-this-merit-hath-the-worst .cloud-b {
  position: absolute; top: 20%; left: 60%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.05) 100%);
  border-radius: 50%; filter: blur(4px);
  animation: pmhw-drift-b 50s linear infinite reverse;
}
@keyframes pmhw-sky { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes pmhw-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pmhw-hills-f { 0% { transform: scaleY(0.85) translateX(0) } 50% { transform: scaleY(0.9) translateX(4px) } 100% { transform: scaleY(0.85) translateX(-4px) } }
@keyframes pmhw-hills-n { 0% { transform: translateX(0) } 50% { transform: translateX(-6px) } 100% { transform: translateX(6px) } }
@keyframes pmhw-deer { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(0deg) } 75% { transform: translateX(-3px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes pmhw-stone { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes pmhw-drift-a { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }
@keyframes pmhw-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-poem-i-gained-it-so {
  background: linear-gradient(180deg, #1e1b2a 0%, #2c2638 40%, #3d354a 70%, #1a1623 100%), radial-gradient(ellipse at 50% 20%, #4d415c 0%, transparent 60%);
}
.scn-poem-i-gained-it-so .wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2535 0%, #1f1b2a 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
  animation: pgis-wall 20s ease-in-out infinite alternate;
}
.scn-poem-i-gained-it-so .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(0deg, #0d0b14 0%, transparent 100%);
  animation: pgis-shadow 15s ease-in-out infinite;
}
.scn-poem-i-gained-it-so .ladder {
  position: absolute; bottom: 10%; left: 48%; width: 24px; height: 70%;
  background: linear-gradient(180deg, #4a3e2e 0%, #2f261a 100%);
  border-radius: 4px;
  transform: rotate(0deg);
  animation: pgis-ladder 8s ease-in-out infinite;
}
.scn-poem-i-gained-it-so .figure {
  position: absolute; bottom: 25%; left: 46%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2535 0%, #1a1525 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pgis-figure 6s ease-in-out infinite;
}
.scn-poem-i-gained-it-so .goal {
  position: absolute; top: 5%; left: 48%; width: 22px; height: 22px;
  background: radial-gradient(circle, #d4b87a 0%, #9a7e4e 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(212,184,122,0.4), 0 0 40px 12px rgba(212,184,122,0.2);
  animation: pgis-goal 4s ease-in-out infinite alternate;
}
.scn-poem-i-gained-it-so .glow {
  position: absolute; top: 3%; left: 45%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(212,184,122,0.15) 0%, transparent 70%);
  filter: blur(8px);
  animation: pgis-glow 4s ease-in-out infinite alternate;
}
.scn-poem-i-gained-it-so .twig {
  position: absolute; bottom: 50%; left: 42%; width: 10px; height: 4px;
  background: linear-gradient(90deg, #4a3e2e 0%, #2f261a 100%);
  border-radius: 2px;
  animation: pgis-twig 3s ease-in-out infinite;
}
@keyframes pgis-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes pgis-shadow { 0% { opacity: 0.6 } 50% { opacity: 0.8 } 100% { opacity: 0.6 } }
@keyframes pgis-ladder { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes pgis-figure { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-4px) rotate(2deg) } 60% { transform: translateY(2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pgis-goal { 0% { box-shadow: 0 0 15px 4px rgba(212,184,122,0.3), 0 0 30px 8px rgba(212,184,122,0.1); transform: scale(1); } 50% { box-shadow: 0 0 30px 10px rgba(212,184,122,0.5), 0 0 50px 15px rgba(212,184,122,0.25); transform: scale(1.05); } 100% { box-shadow: 0 0 18px 5px rgba(212,184,122,0.35), 0 0 35px 10px rgba(212,184,122,0.12); transform: scale(1); } }
@keyframes pgis-glow { 0% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.3); } 100% { opacity: 0.4; transform: scale(1); } }
@keyframes pgis-twig { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(10deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-poem-returning {
  background: linear-gradient(180deg, #3b3b5c 0%, #2e2e4a 30%, #1f1f3a 60%, #141428 100%), radial-gradient(ellipse at 50% 20%, #4a4a6e 0%, transparent 50%);
}
.scn-poem-returning .sky-dusk {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #5a5a7a 0%, #3a3a5a 40%, #1a1a3a 100%);
  animation: pret-sky 18s ease-in-out infinite alternate;
}
.scn-poem-returning .ground-dusk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-poem-returning .house {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%); width: 120px; height: 90px;
  background: linear-gradient(180deg, #3c2c20 0%, #201510 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: pret-house 12s ease-in-out infinite;
}
.scn-poem-returning .door {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%); width: 22px; height: 32px;
  background: linear-gradient(180deg, #2a1e12 0%, #1a0e04 100%);
  border-radius: 10% 10% 4% 4% / 20% 20% 4% 4%;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
  animation: pret-door 8s ease-in-out infinite alternate;
}
.scn-poem-returning .window-glow {
  position: absolute; bottom: 40%; left: 42%; width: 18px; height: 20px;
  background: radial-gradient(circle, #c8a050 0%, #8a6a30 70%);
  border-radius: 10% 10% 6% 6%;
  box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,0.3);
  animation: pret-glow 6s ease-in-out infinite alternate;
}
.scn-poem-returning .figure-return {
  position: absolute; bottom: 22%; left: 42%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #1a1525 0%, #0a0812 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pret-figure 10s ease-in-out infinite;
}
.scn-poem-returning .tree {
  position: absolute; bottom: 18%; left: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2e2e1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 30% 30% 20% 20%;
  animation: pret-tree 15s ease-in-out infinite alternate;
}
.scn-poem-returning .path {
  position: absolute; bottom: 0; left: 40%; width: 50px; height: 18%;
  background: linear-gradient(0deg, #3a3a3a 0%, #2a2a2a 100%);
  border-radius: 20% 20% 50% 50% / 10% 10% 60% 60%;
  transform: translateX(-50%);
  animation: pret-path 25s ease-in-out infinite;
}
@keyframes pret-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes pret-house { 0% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) } }
@keyframes pret-door { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(0.95) } 100% { transform: translateX(-50%) scaleX(1) } }
@keyframes pret-glow { 0% { box-shadow: 0 0 12px 4px #a07030; opacity: 0.8 } 50% { box-shadow: 0 0 30px 10px #d0a050; opacity: 1 } 100% { box-shadow: 0 0 16px 5px #a07030; opacity: 0.85 } }
@keyframes pret-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(0deg) } 75% { transform: translateX(-4px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes pret-tree { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes pret-path { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-48%) scaleX(1.02) } 100% { transform: translateX(-50%) scaleX(1) } }

.scn-poem-prayer {
  background: linear-gradient(180deg, #1f1a14 0%, #2a241e 30%, #352e28 60%, #1c1712 100%), radial-gradient(ellipse at 50% 60%, #3d3530 0%, transparent 50%);
}
.scn-poem-prayer .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a241e 0%, #1f1a14 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.7);
  animation: pray-room 25s ease-in-out infinite alternate;
}
.scn-poem-prayer .candle {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 12px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2e20 100%);
  border-radius: 6% 6% 4% 4%;
  animation: pray-candle 6s ease-in-out infinite;
}
.scn-poem-prayer .flame {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%) translateY(-22px); width: 10px; height: 14px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #c08030 60%, #8a4a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 20px 6px rgba(200,130,60,0.5), 0 0 40px 12px rgba(200,130,60,0.2);
  animation: pray-flame 1.5s ease-in-out infinite alternate;
}
.scn-poem-prayer .figure-pray {
  position: absolute; bottom: 18%; left: 42%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pray-figure 10s ease-in-out infinite;
}
.scn-poem-prayer .window-light {
  position: absolute; top: 15%; left: 10%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at 30% 50%, #4a3a2a 0%, #1a1410 100%);
  border-radius: 8% 8% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: pray-window 20s ease-in-out infinite alternate;
}
.scn-poem-prayer .pew {
  position: absolute; bottom: 10%; left: 25%; width: 60px; height: 20px;
  background: linear-gradient(180deg, #3a2a20 0%, #1a1008 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.4);
  animation: pray-pew 15s ease-in-out infinite alternate;
}
.scn-poem-prayer .shadow-pray {
  position: absolute; bottom: 0; left: 30%; width: 80px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(10px);
  animation: pray-shadow 12s ease-in-out infinite;
}
@keyframes pray-room { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes pray-candle { 0% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) rotate(1deg) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes pray-flame { 0% { transform: translateX(-50%) translateY(-22px) scale(1) rotate(0deg) } 50% { transform: translateX(-50%) translateY(-24px) scale(1.1) rotate(3deg) } 100% { transform: translateX(-50%) translateY(-22px) scale(1) rotate(-3deg) } }
@keyframes pray-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pray-window { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.02); } 100% { opacity: 0.3; transform: scale(1); } }
@keyframes pray-pew { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes pray-shadow { 0% { opacity: 0.6; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(0.95); } 100% { opacity: 0.6; transform: scaleX(1); } }

/* poem-lost-joy */
.scn-poem-lost-joy { 
  background: linear-gradient(180deg, #4a5a6a 0%, #3a4a5a 40%, #2a3a4a 100%), 
              radial-gradient(ellipse at 50% 100%, #5a6a7a 0%, transparent 70%);
}
.scn-poem-lost-joy .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 100%);
  animation: lj-sky 14s ease-in-out infinite alternate;
}
.scn-poem-lost-joy .mountains {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a4a4a 0%, #2a3a3a 100%);
  border-radius: 20% 40% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,.5);
  animation: lj-mount 18s ease-in-out infinite alternate;
}
.scn-poem-lost-joy .crag {
  position: absolute; bottom: 30%; left: 60%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  animation: lj-crag 22s ease-in-out infinite alternate;
}
.scn-poem-lost-joy .figure {
  position: absolute; bottom: 28%; left: 30%; width: 16px; height: 36px;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lj-walk 4s ease-in-out infinite;
}
.scn-poem-lost-joy .path {
  position: absolute; bottom: 25%; left: 20%; right: 40%; height: 6px;
  background: linear-gradient(180deg, #5a5a4a 0%, #4a4a3a 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(1px);
  animation: lj-path 10s ease-in-out infinite alternate;
}
.scn-poem-lost-joy .mist {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #6a7a8a 100%);
  filter: blur(8px);
  opacity: 0.4;
  animation: lj-mist 12s ease-in-out infinite alternate;
}
.scn-poem-lost-joy .bird {
  position: absolute; top: 15%; left: 10%; width: 12px; height: 8px;
  background: #5a5a4a;
  border-radius: 50% 50% 0 0;
  animation: lj-bird 24s linear infinite;
}
@keyframes lj-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes lj-mount { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes lj-crag { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes lj-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(16px) translateY(0) rotate(-2deg) } 75% { transform: translateX(24px) translateY(-2px) rotate(1deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }
@keyframes lj-path { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes lj-mist { 0% { opacity: 0.3; filter: blur(6px) } 50% { opacity: 0.5; filter: blur(10px) } 100% { opacity: 0.4; filter: blur(8px) } }
@keyframes lj-bird { 0% { transform: translateX(-20px) translateY(0) } 50% { transform: translateX(60vw) translateY(-20px) } 100% { transform: translateX(120vw) translateY(0) } }

/* poem-life-and-death-and-giants */
.scn-poem-life-and-death-and-giants {
  background: linear-gradient(180deg, #8a9aab 0%, #6a7a8a 40%, #4a5a6a 100%),
              radial-gradient(ellipse at 50% 80%, #9aaabb 0%, transparent 70%);
}
.scn-poem-life-and-death-and-giants .sky-alpine {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #9aaabb 0%, #7a8a9a 100%);
  animation: ldg-sky 20s ease-in-out infinite alternate;
}
.scn-poem-life-and-death-and-giants .snow-peak {
  position: absolute; bottom: 30%; left: 20%; right: 20%; height: 30%;
  background: linear-gradient(180deg, #c0d0e0 0%, #8a9aab 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.2);
  animation: ldg-peak 30s ease-in-out infinite alternate;
}
.scn-poem-life-and-death-and-giants .giant-rock-a {
  position: absolute; bottom: 25%; left: 10%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 30% 30%;
  box-shadow: 6px 0 8px rgba(0,0,0,.3);
  transform: rotate(-5deg);
  animation: ldg-giant-a 18s ease-in-out infinite alternate;
}
.scn-poem-life-and-death-and-giants .giant-rock-b {
  position: absolute; bottom: 28%; right: 15%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 100%);
  border-radius: 20% 20% 5% 5% / 50% 50% 20% 20%;
  box-shadow: -4px 0 6px rgba(0,0,0,.2);
  transform: rotate(4deg);
  animation: ldg-giant-b 22s ease-in-out infinite alternate;
  animation-delay: -5s;
}
.scn-poem-life-and-death-and-giants .mill {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 40% 40%;
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
  animation: ldg-mill 8s ease-in-out infinite alternate;
}
.scn-poem-life-and-death-and-giants .candle {
  position: absolute; bottom: 18%; left: 45%; width: 4px; height: 10px;
  background: #d0c0a0;
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 12px 4px #f0d0a0, 0 0 24px 8px rgba(240,208,160,.3);
  animation: ldg-candle 4s ease-in-out infinite alternate;
}
.scn-poem-life-and-death-and-giants .cloud {
  position: absolute; top: 12%; right: 20%; width: 100px; height: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,.1) 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ldg-cloud 50s linear infinite;
}
@keyframes ldg-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes ldg-peak { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes ldg-giant-a { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-4deg) translateY(-3px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes ldg-giant-b { 0% { transform: rotate(4deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(4deg) translateY(0) } }
@keyframes ldg-mill { 0% { transform: translateX(-2px) } 50% { transform: translateX(2px) } 100% { transform: translateX(-2px) } }
@keyframes ldg-candle { 0% { box-shadow: 0 0 10px 3px #f0d0a0, 0 0 20px 6px rgba(240,208,160,.3); } 50% { box-shadow: 0 0 16px 6px #ffd0a0, 0 0 32px 12px rgba(255,208,160,.5); } 100% { box-shadow: 0 0 12px 4px #f0d0a0, 0 0 24px 8px rgba(240,208,160,.3); } }
@keyframes ldg-cloud { 0% { transform: translateX(0) } 100% { transform: translateX(-120vw) } }

/* poem-remembrance */
.scn-poem-remembrance {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-poem-remembrance .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(270deg, #4a3a2a 0%, #5a4a3a 20%, #4a3a2a 100%);
  animation: rem-wall 12s ease-in-out infinite alternate;
}
.scn-poem-remembrance .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-poem-remembrance .garret-ceiling {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0 / 50% 50% 0 0;
}
.scn-poem-remembrance .cellar-floor {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,.8);
  animation: rem-cellar 16s ease-in-out infinite alternate;
}
.scn-poem-remembrance .window-light {
  position: absolute; top: 30%; left: 50%; width: 40px; height: 50px;
  background: radial-gradient(circle, #d0b080 0%, #a08050 70%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 40px 10px #a08050, 0 0 80px 20px rgba(160,128,80,.4);
  transform: translateX(-50%);
  animation: rem-window 6s ease-in-out infinite alternate;
}
.scn-poem-remembrance .staircase {
  position: absolute; bottom: 10%; left: 20%; width: 20px; height: 80%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  transform: skewX(-10deg);
  animation: rem-stairs 20s ease-in-out infinite alternate;
}
.scn-poem-remembrance .figure-silhouette {
  position: absolute; bottom: 12%; left: 30%; width: 18px; height: 40px;
  background: #1a0a00;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: rem-fig 8s ease-in-out infinite alternate;
}
.scn-poem-remembrance .mouse-shape {
  position: absolute; bottom: 14%; left: 55%; width: 8px; height: 6px;
  background: #3a2a1a;
  border-radius: 50% 50% 30% 30%;
  animation: rem-mouse 14s ease-in-out infinite;
  animation-delay: -3s;
}
@keyframes rem-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes rem-cellar { 0% { opacity: 0.8 } 50% { opacity: 0.5 } 100% { opacity: 0.7 } }
@keyframes rem-window { 0% { box-shadow: 0 0 30px 8px #a08050, 0 0 60px 15px rgba(160,128,80,.3); } 50% { box-shadow: 0 0 50px 15px #d0b080, 0 0 100px 30px rgba(208,176,128,.5); } 100% { box-shadow: 0 0 35px 10px #a08050, 0 0 70px 20px rgba(160,128,80,.35); } }
@keyframes rem-stairs { 0% { transform: skewX(-10deg) translateY(0) } 50% { transform: skewX(-8deg) translateY(-2px) } 100% { transform: skewX(-10deg) translateY(0) } }
@keyframes rem-fig { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes rem-mouse { 0% { transform: translateX(0) } 50% { transform: translateX(6px) } 100% { transform: translateX(0) } }

/* poem-the-bone */
.scn-poem-the-bone {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 40%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 80%);
}
.scn-poem-the-bone .dark-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  animation: tb-bg 20s ease-in-out infinite alternate;
}
.scn-poem-the-bone .table {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 5%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  box-shadow: 0 -2px 6px rgba(0,0,0,.8);
  border-radius: 10% 10% 0 0;
}
.scn-poem-the-bone .bone {
  position: absolute; bottom: 15%; left: 50%; width: 40px; height: 12px;
  background: linear-gradient(270deg, #c0b0a0 0%, #e0d0c0 30%, #c0b0a0 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: translateX(-50%) rotate(-10deg);
  box-shadow: 0 0 10px 2px rgba(200,180,160,.5);
  animation: tb-bone 10s ease-in-out infinite alternate;
}
.scn-poem-the-bone .phantom {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 60px;
  background: linear-gradient(180deg, rgba(100,120,140,0.3) 0%, rgba(100,120,140,0.05) 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(4px);
  animation: tb-phantom 15s ease-in-out infinite alternate;
}
.scn-poem-the-bone .dust {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 50% 30%, rgba(255,255,255,0.05) 0%, transparent 70%);
  animation: tb-dust 30s linear infinite;
}
.scn-poem-the-bone .glow {
  position: absolute; bottom: 15%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,180,160,0.4) 0%, transparent 70%);
  transform: translateX(-50%) translateY(10px);
  animation: tb-glow 8s ease-in-out infinite alternate;
}
@keyframes tb-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes tb-bone { 0% { transform: translateX(-50%) rotate(-10deg) scale(1) } 50% { transform: translateX(-50%) rotate(-8deg) scale(1.02) } 100% { transform: translateX(-50%) rotate(-10deg) scale(1) } }
@keyframes tb-phantom { 0% { opacity: 0.2; transform: translateY(0) } 50% { opacity: 0.4; transform: translateY(-5px) } 100% { opacity: 0.3; transform: translateY(0) } }
@keyframes tb-dust { 0% { opacity: 0.1 } 50% { opacity: 0.3 } 100% { opacity: 0.1 } }
@keyframes tb-glow { 0% { opacity: 0.3 } 50% { opacity: 0.6 } 100% { opacity: 0.4 } }

.scn-poem-show-is-not-the-show {
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 50%, #3a4a5a 100%), radial-gradient(ellipse at 70% 30%, #8a9aaa 0%, transparent 60%);
}
.scn-poem-show-is-not-the-show .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, #5a6a7a 100%);
  animation: sns-sky 14s ease-in-out infinite alternate;
}
.scn-poem-show-is-not-the-show .distant-mountain {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.3);
  animation: sns-mtn 20s ease-in-out infinite alternate;
}
.scn-poem-show-is-not-the-show .meadow {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #5a7a4a 0%, #3a5a2a 100%);
  border-radius: 20% 30% 0 0;
}
.scn-poem-show-is-not-the-show .fence {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 6%;
  background: repeating-linear-gradient(90deg, #3a2a1a 0px, #3a2a1a 6px, transparent 6px, transparent 14px);
  animation: sns-fence 9s ease-in-out infinite;
}
.scn-poem-show-is-not-the-show .figure-a {
  position: absolute; bottom: 16%; left: 30%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sns-walk-a 5s ease-in-out infinite;
}
.scn-poem-show-is-not-the-show .figure-b {
  position: absolute; bottom: 16%; left: 48%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sns-walk-b 5.3s ease-in-out infinite;
}
.scn-poem-show-is-not-the-show .path {
  position: absolute; bottom: 15%; left: 35%; right: 35%; height: 4%;
  background: linear-gradient(90deg, transparent, #6a5a4a 20%, #6a5a4a 80%, transparent);
  border-radius: 50%;
  filter: blur(2px);
  animation: sns-path 12s ease-in-out infinite alternate;
}
.scn-poem-show-is-not-the-show .cloud {
  position: absolute; width: 70px; height: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
}
.scn-poem-show-is-not-the-show .sns-cloud1 { top: 12%; left: 5%; animation: sns-drift1 45s linear infinite; }
.scn-poem-show-is-not-the-show .sns-cloud2 { top: 20%; right: 8%; width: 50px; height: 14px; animation: sns-drift2 55s linear infinite reverse; }
@keyframes sns-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes sns-mtn { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-3px) scaleX(1.02) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes sns-fence { 0%,100% { transform: translateX(0) } 50% { transform: translateX(2px) } }
@keyframes sns-walk-a { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) rotate(2deg) } 50% { transform: translateX(16px) rotate(-2deg) } 75% { transform: translateX(24px) rotate(2deg) } 100% { transform: translateX(32px) rotate(0) } }
@keyframes sns-walk-b { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(-8px) rotate(-2deg) } 50% { transform: translateX(-16px) rotate(2deg) } 75% { transform: translateX(-24px) rotate(-2deg) } 100% { transform: translateX(-32px) rotate(0) } }
@keyframes sns-path { 0% { opacity:0.7 } 100% { opacity:1 } }
@keyframes sns-drift1 { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes sns-drift2 { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-poem-thought-went-up {
  background: linear-gradient(180deg, #2a2a3e 0%, #3a3a4e 40%, #1a1a2a 100%), radial-gradient(ellipse at 50% 30%, #4a4a5e 0%, transparent 70%);
}
.scn-poem-thought-went-up .wall-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%);
  animation: tup-wall 10s ease-in-out infinite alternate;
}
.scn-poem-thought-went-up .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-poem-thought-went-up .window-int {
  position: absolute; top: 15%; left: 20%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #5a5a7a 0%, #3a3a5a 100%);
  border: 6px solid #2a2a3a;
  border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: tup-window 8s ease-in-out infinite alternate;
}
.scn-poem-thought-went-up .chair {
  position: absolute; bottom: 20%; left: 50%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  transform: translateX(-50%);
}
.scn-poem-thought-went-up .thinking-figure {
  position: absolute; bottom: 22%; left: 50%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%) rotate(-5deg);
  transform-origin: bottom center;
  animation: tup-figure 6s ease-in-out infinite;
}
.scn-poem-thought-went-up .lamp-glow {
  position: absolute; top: 30%; left: 70%; width: 12px; height: 16px;
  background: radial-gradient(circle, #c0a060 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #a08040;
  animation: tup-lamp 4s ease-in-out infinite alternate;
}
.scn-poem-thought-went-up .thought-bubble {
  position: absolute; top: 8%; left: 40%; width: 50px; height: 36px;
  background: radial-gradient(circle at 60% 40%, rgba(255,255,255,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: tup-bubble 5s ease-in-out infinite;
}
@keyframes tup-wall { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:0.9 } }
@keyframes tup-window { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes tup-figure { 0% { transform: translateX(-50%) rotate(-5deg) scaleY(1) } 25% { transform: translateX(-50%) rotate(0deg) scaleY(1.02) } 50% { transform: translateX(-50%) rotate(5deg) scaleY(1) } 75% { transform: translateX(-50%) rotate(0deg) scaleY(0.98) } 100% { transform: translateX(-50%) rotate(-5deg) scaleY(1) } }
@keyframes tup-lamp { 0% { box-shadow: 0 0 30px 6px #a08040; opacity:0.8 } 50% { box-shadow: 0 0 50px 14px #d0a060; opacity:1 } 100% { box-shadow: 0 0 35px 8px #a08040; opacity:0.85 } }
@keyframes tup-bubble { 0% { transform: scale(0.9) translateY(0); opacity:0.3 } 50% { transform: scale(1.1) translateY(-6px); opacity:0.7 } 100% { transform: scale(0.9) translateY(0); opacity:0.3 } }

.scn-poem-though-she-gets-home {
  background: linear-gradient(180deg, #1a2a3e 0%, #2a3a5e 40%, #0a1a2a 100%), radial-gradient(ellipse at 70% 20%, #3a5a8a 0%, transparent 60%);
}
.scn-poem-though-she-gets-home .night-sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #0a1a2a 0%, #2a3a5e 100%);
  animation: hmc-sky 15s ease-in-out infinite alternate;
}
.scn-poem-though-she-gets-home .moon {
  position: absolute; top: 8%; left: 75%; width: 40px; height: 40px;
  background: radial-gradient(circle at 30% 30%, #e0e8f0 0%, #c0c8d0 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,210,230,0.5);
  animation: hmc-moon 12s ease-in-out infinite alternate;
}
.scn-poem-though-she-gets-home .house-return {
  position: absolute; bottom: 28%; left: 35%; width: 100px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: hmc-house 8s ease-in-out infinite;
}
.scn-poem-though-she-gets-home .lit-window {
  position: absolute; bottom: 34%; left: 38%; width: 20px; height: 26px;
  background: radial-gradient(circle, #e0a050 0%, #a06020 100%);
  border-radius: 10% 10% 8% 8%;
  box-shadow: 0 0 30px 8px #c08040, 0 0 60px 18px rgba(192,128,64,0.4);
  animation: hmc-glow 3s ease-in-out infinite alternate;
}
.scn-poem-though-she-gets-home .path-home {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 6%;
  background: linear-gradient(90deg, transparent, #5a4a3a 30%, #5a4a3a 70%, transparent);
  border-radius: 50%;
  filter: blur(3px);
  animation: hmc-path 10s ease-in-out infinite alternate;
}
.scn-poem-though-she-gets-home .figure-coming {
  position: absolute; bottom: 20%; left: 15%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hmc-walk 5s ease-in-out infinite;
}
.scn-poem-though-she-gets-home .tree-left {
  position: absolute; bottom: 32%; left: 10%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a3a1a 0%, #0a1a0a 100%);
  border-radius: 40% 60% 10% 10%;
  box-shadow: inset -6px 0 10px rgba(0,0,0,0.3);
  animation: hmc-tree1 9s ease-in-out infinite alternate;
}
.scn-poem-though-she-gets-home .tree-right {
  position: absolute; bottom: 34%; right: 12%; width: 26px; height: 60px;
  background: linear-gradient(180deg, #1a3a1a 0%, #0a1a0a 100%);
  border-radius: 60% 40% 10% 10%;
  box-shadow: inset 6px 0 10px rgba(0,0,0,0.3);
  animation: hmc-tree2 10s ease-in-out infinite alternate;
}
@keyframes hmc-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes hmc-moon { 0% { transform: scale(0.95) translateY(0); opacity:0.9 } 50% { transform: scale(1.05) translateY(-4px); opacity:1 } 100% { transform: scale(0.95) translateY(0); opacity:0.9 } }
@keyframes hmc-house { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes hmc-glow { 0% { box-shadow: 0 0 20px 5px #c08040, 0 0 40px 10px rgba(192,128,64,0.4); opacity:0.8 } 50% { box-shadow: 0 0 40px 12px #e0a050, 0 0 80px 20px rgba(224,160,80,0.5); opacity:1 } 100% { box-shadow: 0 0 25px 6px #c08040, 0 0 50px 12px rgba(192,128,64,0.45); opacity:0.9 } }
@keyframes hmc-path { 0% { opacity:0.6 } 100% { opacity:1 } }
@keyframes hmc-walk { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(10px) rotate(2deg) } 50% { transform: translateX(20px) rotate(-2deg) } 75% { transform: translateX(30px) rotate(2deg) } 100% { transform: translateX(40px) rotate(0) } }
@keyframes hmc-tree1 { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes hmc-tree2 { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }

.scn-poem-speaker-should-have-been {
  background: linear-gradient(180deg, #3a1a0a 0%, #5a2a0a 30%, #2a0a00 100%), radial-gradient(ellipse at 50% 0%, #7a3a1a 0%, transparent 70%);
}
.scn-poem-speaker-should-have-been .sunset-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #7a3a1a 0%, #3a1a0a 100%);
  animation: shb-sky 16s ease-in-out infinite alternate;
}
.scn-poem-speaker-should-have-been .horizon-glow {
  position: absolute; bottom: 30%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(ellipse at 50% 100%, #b05020 0%, transparent 70%);
  filter: blur(12px);
  animation: shb-glow 8s ease-in-out infinite alternate;
}
.scn-poem-speaker-should-have-been .ground-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a0a00 0%, #2a1a00 100%);
}
.scn-poem-speaker-should-have-been .tower-base {
  position: absolute; bottom: 30%; left: 46%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 4px 0 8px rgba(0,0,0,0.5);
  animation: shb-tower 12s ease-in-out infinite alternate;
}
.scn-poem-speaker-should-have-been .tower-stairs {
  position: absolute; bottom: 30%; left: 42%; right: 42%; height: 70px;
  background: repeating-linear-gradient(0deg, #1a0a00 0px, #1a0a00 8px, #2a1a0a 8px, #2a1a0a 16px);
  clip-path: polygon(30% 0%, 70% 0%, 60% 100%, 40% 100%);
  animation: shb-stairs 6s ease-in-out infinite;
}
.scn-poem-speaker-should-have-been .figure-rising {
  position: absolute; bottom: 38%; left: 50%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  transform-origin: bottom center;
  animation: shb-rise 5s ease-in-out infinite;
}
.scn-poem-speaker-should-have-been .cloud-dark {
  position: absolute; width: 80px; height: 20px;
  background: linear-gradient(180deg, rgba(30,10,5,0.7) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(10px);
}
.scn-poem-speaker-should-have-been .sc-1 { top: 10%; left: 0%; animation: shb-cl1 40s linear infinite; }
.scn-poem-speaker-should-have-been .sc-2 { top: 18%; right: 10%; width: 60px; height: 15px; animation: shb-cl2 50s linear infinite reverse; }
.scn-poem-speaker-should-have-been .rays {
  position: absolute; top: 5%; left: 35%; right: 35%; height: 30%;
  background: repeating-linear-gradient(90deg, transparent, rgba(200,100,40,0.15) 2px, transparent 4px);
  filter: blur(6px);
  animation: shb-rays 9s ease-in-out infinite alternate;
}
@keyframes shb-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes shb-glow { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes shb-tower { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }
@keyframes shb-stairs { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes shb-rise { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg) } 25% { transform: translateX(-50%) translateY(-8px) rotate(0deg) } 50% { transform: translateX(-50%) translateY(-16px) rotate(2deg) } 75% { transform: translateX(-50%) translateY(-8px) rotate(0deg) } 100% { transform: translateX(-50%) translateY(0) rotate(-2deg) } }
@keyframes shb-cl1 { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }
@keyframes shb-cl2 { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }
@keyframes shb-rays { 0% { opacity:0.3 } 50% { opacity:0.8 } 100% { opacity:0.3 } }

/* Scene 1: poem-to-help-our-bleaker-parts – dim interior, calm */
.scn-poem-to-help-our-bleaker-parts {
  background: 
    linear-gradient(135deg, #1a1a2e 0%, #2a1f33 40%, #1e1a2e 100%),
    radial-gradient(ellipse at 30% 40%, #3a2a4e 0%, transparent 60%);
}
.scn-poem-to-help-our-bleaker-parts .wall-left {
  position:absolute; left:0; top:0; width:30%; height:100%;
  background: linear-gradient(90deg, #1e1c28 0%, #2a2335 100%);
  box-shadow: inset -4px 0 12px rgba(0,0,0,0.5);
  animation: bkp-wall 12s ease-in-out infinite;
}
.scn-poem-to-help-our-bleaker-parts .wall-right {
  position:absolute; right:0; top:0; width:30%; height:100%;
  background: linear-gradient(270deg, #1e1c28 0%, #2a2335 100%);
  box-shadow: inset 4px 0 12px rgba(0,0,0,0.5);
  animation: bkp-wall 12s ease-in-out infinite reverse;
}
.scn-poem-to-help-our-bleaker-parts .window-frame {
  position:absolute; left:35%; top:10%; width:30%; height:50%;
  background: #3a2a1a;
  border-radius: 8px 8px 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6), inset 0 0 0 4px #4a3a2a;
}
.scn-poem-to-help-our-bleaker-parts .window-pane {
  position:absolute; left:37%; top:12%; width:26%; height:46%;
  background: linear-gradient(180deg, #4a5a6e 0%, #3a4a5e 100%);
  border: 2px solid #5a4a3a;
  animation: bkp-pane 8s ease-in-out infinite alternate;
}
.scn-poem-to-help-our-bleaker-parts .curtain-l {
  position:absolute; left:35%; top:10%; width:15%; height:50%;
  background: linear-gradient(90deg, #5a3a2a 0%, #4a2a1a 100%);
  border-radius: 0 20% 0 0;
  transform-origin: left center;
  animation: bkp-curtain 14s ease-in-out infinite alternate;
}
.scn-poem-to-help-our-bleaker-parts .curtain-r {
  position:absolute; right:35%; top:10%; width:15%; height:50%;
  background: linear-gradient(270deg, #5a3a2a 0%, #4a2a1a 100%);
  border-radius: 20% 0 0 0;
  transform-origin: right center;
  animation: bkp-curtain 14s ease-in-out infinite alternate-reverse;
}
.scn-poem-to-help-our-bleaker-parts .armchair {
  position:absolute; left:10%; bottom:10%; width:25%; height:30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-to-help-our-bleaker-parts .figure-reading {
  position:absolute; left:12%; bottom:12%; width:14%; height:22%;
  background: radial-gradient(ellipse at 50% 30%, #4a3a3a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bkp-figure 6s ease-in-out infinite;
}
.scn-poem-to-help-our-bleaker-parts .lamp-glow {
  position:absolute; left:22%; bottom:30%; width:10%; height:10%;
  background: radial-gradient(circle, #f0c068 0%, #c08040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #f0c068, 0 0 80px 40px rgba(240,192,104,0.3);
  animation: bkp-lamp 4s ease-in-out infinite alternate;
}
@keyframes bkp-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes bkp-pane { 0% { opacity:0.7; transform: scaleY(1); } 100% { opacity:0.9; transform: scaleY(1.02); } }
@keyframes bkp-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }
@keyframes bkp-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bkp-lamp { 0% { opacity:0.7; box-shadow: 0 0 30px 10px #f0c068; } 100% { opacity:1; box-shadow: 0 0 50px 25px #f0c068; } }

/* Scene 2: poem-desire – overcast warm */
.scn-poem-desire {
  background: 
    linear-gradient(180deg, #b8a68a 0%, #9a8a72 30%, #8a7a62 60%, #7a6a52 100%),
    radial-gradient(ellipse at 50% 0%, #d0c0a8 0%, transparent 70%);
}
.scn-poem-desire .sky-overcast {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #c8b898 0%, #b8a888 40%, #a89878 100%);
  animation: des-sky 15s ease-in-out infinite alternate;
}
.scn-poem-desire .ground {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #6a5a42 0%, #5a4a32 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-poem-desire .table {
  position:absolute; bottom:18%; left:30%; width:40%; height:8%;
  background: linear-gradient(180deg, #7a6a52 0%, #5a4a32 100%);
  border-radius: 4px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.4);
}
.scn-poem-desire .wine-bottle {
  position:absolute; bottom:26%; left:40%; width:8%; height:20%;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: des-bottle 7s ease-in-out infinite;
}
.scn-poem-desire .wine-glass {
  position:absolute; bottom:22%; left:50%; width:6%; height:14%;
  background: radial-gradient(ellipse at 50% 20%, #f0e0d0 0%, #d0c0b0 40%, transparent 60%);
  border-radius: 0 0 40% 40%;
  border: 2px solid #c0b0a0;
  clip-path: polygon(0 30%, 100% 30%, 80% 100%, 20% 100%);
  animation: des-glass 5s ease-in-out infinite alternate;
}
.scn-poem-desire .fruit-bowl {
  position:absolute; bottom:22%; left:35%; width:12%; height:10%;
  background: radial-gradient(ellipse at 50% 40%, #b08a5a 0%, #7a5a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: des-bowl 6s ease-in-out infinite;
}
.scn-poem-desire .hand-reaching {
  position:absolute; bottom:24%; left:45%; width:8%; height:16%;
  background: radial-gradient(ellipse at 50% 70%, #d0a080 0%, #a07050 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 50% 50%;
  transform: rotate(20deg);
  transform-origin: bottom center;
  animation: des-hand 4s ease-in-out infinite;
}
.scn-poem-desire .butterfly {
  position:absolute; top:15%; left:20%; width:6%; height:6%;
  background: radial-gradient(circle at 30% 30%, #e0a060 0%, #c08040 60%);
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
  border-radius: 50%;
  animation: des-butterfly 10s linear infinite;
}
@keyframes des-sky { 0% { background-position: 0% 0%; } 50% { background-position: 0% 10%; } 100% { background-position: 0% 0%; } }
@keyframes des-bottle { 0% { transform: rotate(-15deg); } 50% { transform: rotate(-18deg); } 100% { transform: rotate(-15deg); } }
@keyframes des-glass { 0% { opacity:0.6; } 100% { opacity:0.9; } }
@keyframes des-bowl { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes des-hand { 0% { transform: rotate(20deg) translateY(0); } 25% { transform: rotate(22deg) translateY(-2px); } 50% { transform: rotate(20deg) translateY(0); } 75% { transform: rotate(18deg) translateY(-1px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes des-butterfly { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(20px, -10px) scale(1.2); } 50% { transform: translate(40px, 5px) scale(0.9); } 75% { transform: translate(60px, -5px) scale(1.1); } 100% { transform: translate(80px, 0) scale(1); } }

/* Scene 3: poem-power – overcast calm */
.scn-poem-power {
  background: 
    linear-gradient(180deg, #4a5a4a 0%, #3a4a3a 30%, #2a3a2a 60%, #1a2a1a 100%),
    radial-gradient(ellipse at 50% 100%, #3a4a3a 0%, transparent 70%);
}
.scn-poem-power .sky-plain {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #5a6a5a 0%, #4a5a4a 100%);
  animation: pow-sky 20s ease-in-out infinite alternate;
}
.scn-poem-power .river {
  position:absolute; bottom:18%; left:0; right:0; height:32%;
  background: linear-gradient(90deg, #3a4a3a 0%, #4a5a4a 30%, #3a4a3a 60%, #2a3a2a 100%);
  border-radius: 50% 30% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: pow-river 12s ease-in-out infinite;
}
.scn-poem-power .riverbank-l {
  position:absolute; bottom:10%; left:0; width:20%; height:20%;
  background: linear-gradient(180deg, #4a5a3a 0%, #3a4a2a 100%);
  border-radius: 0 40% 0 0;
}
.scn-poem-power .riverbank-r {
  position:absolute; bottom:10%; right:0; width:20%; height:20%;
  background: linear-gradient(180deg, #4a5a3a 0%, #3a4a2a 100%);
  border-radius: 40% 0 0 0;
}
.scn-poem-power .boat {
  position:absolute; bottom:20%; left:40%; width:20%; height:10%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: pow-boat 8s ease-in-out infinite;
}
.scn-poem-power .figure-standing {
  position:absolute; bottom:22%; left:45%; width:8%; height:16%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pow-figure 6s ease-in-out infinite;
}
.scn-poem-power .lantern-boat {
  position:absolute; bottom:24%; left:42%; width:4%; height:6%;
  background: radial-gradient(circle, #f0c070 0%, #b08040 100%);
  border-radius: 30%;
  box-shadow: 0 0 20px 8px #f0c070, 0 0 40px 16px rgba(240,192,112,0.3);
  animation: pow-lantern 3s ease-in-out infinite alternate;
}
.scn-poem-power .reed-1 {
  position:absolute; bottom:30%; left:15%; width:2%; height:20%;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 50%;
  transform: rotate(-10deg);
  transform-origin: bottom center;
  animation: pow-reed 5s ease-in-out infinite;
}
.scn-poem-power .reed-2 {
  position:absolute; bottom:30%; left:18%; width:2%; height:16%;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 50%;
  transform: rotate(5deg);
  transform-origin: bottom center;
  animation: pow-reed 5s ease-in-out infinite reverse;
  animation-delay: 1s;
}
@keyframes pow-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes pow-river { 0% { background-position: 0% 0%; } 50% { background-position: 10% 0%; } 100% { background-position: 0% 0%; } }
@keyframes pow-boat { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(-2deg); } 50% { transform: translateX(10px) rotate(0); } 75% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes pow-figure { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes pow-lantern { 0% { opacity:0.6; } 100% { opacity:1; } }
@keyframes pow-reed { 0% { transform: rotate(-10deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(-10deg); } }

/* Scene 4: poem-is-bliss-then-abyss – overcast warm */
.scn-poem-is-bliss-then-abyss {
  background: 
    linear-gradient(180deg, #a09070 0%, #8a7a5a 30%, #6a5a3a 60%, #4a3a1a 100%),
    radial-gradient(ellipse at 50% 20%, #c0b090 0%, transparent 60%);
}
.scn-poem-is-bliss-then-abyss .sky-warm {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #b0a080 0%, #9a8a6a 40%, #8a7a5a 100%);
  animation: bliss-sky 18s ease-in-out infinite alternate;
}
.scn-poem-is-bliss-then-abyss .cliff {
  position:absolute; bottom:20%; left:10%; right:10%; height:40%;
  background: linear-gradient(180deg, #6a5a3a 0%, #5a4a2a 40%, #4a3a1a 100%);
  border-radius: 20% 20% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.4);
}
.scn-poem-is-bliss-then-abyss .cliff-edge {
  position:absolute; bottom:50%; left:20%; right:20%; height:4%;
  background: #7a6a4a;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-poem-is-bliss-then-abyss .tree {
  position:absolute; bottom:55%; left:70%; width:12%; height:30%;
  background: linear-gradient(180deg, #4a5a2a 0%, #2a3a1a 60%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  transform-origin: bottom center;
  animation: bliss-tree 9s ease-in-out infinite;
}
.scn-poem-is-bliss-then-abyss .figure-looking {
  position:absolute; bottom:40%; left:30%; width:10%; height:20%;
  background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bliss-figure 7s ease-in-out infinite;
}
.scn-poem-is-bliss-then-abyss .abyss-mist {
  position:absolute; bottom:25%; left:15%; right:15%; height:20%;
  background: radial-gradient(ellipse at 50% 0%, #b0a080 0%, transparent 70%);
  filter: blur(10px);
  opacity:0.5;
  animation: bliss-mist 12s ease-in-out infinite alternate;
}
.scn-poem-is-bliss-then-abyss .bird-1 {
  position:absolute; top:10%; right:20%; width:6%; height:4%;
  background: radial-gradient(ellipse at 30% 50%, #1a1a1a 0%, transparent 100%);
  border-radius: 50%;
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
  animation: bliss-bird 15s linear infinite;
}
.scn-poem-is-bliss-then-abyss .bird-2 {
  position:absolute; top:15%; right:30%; width:4%; height:3%;
  background: radial-gradient(ellipse at 30% 50%, #1a1a1a 0%, transparent 100%);
  border-radius: 50%;
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
  animation: bliss-bird 15s linear infinite reverse;
  animation-delay: 5s;
}
@keyframes bliss-sky { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes bliss-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes bliss-figure { 0% { transform: translateY(0); } 25% { transform: translateY(-2px); } 50% { transform: translateY(0); } 75% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes bliss-mist { 0% { opacity:0.3; transform: scale(1); } 100% { opacity:0.6; transform: scale(1.1); } }
@keyframes bliss-bird { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-30px) translateY(-10px); } 50% { transform: translateX(-60px) translateY(5px); } 75% { transform: translateX(-90px) translateY(-5px); } 100% { transform: translateX(-120px) translateY(0); } }

.scn-poem-i-had-no-cause {
  background: linear-gradient(180deg, #f7c978 0%, #e8a05e 30%, #b47d5a 60%, #6b4a3a 100%), radial-gradient(ellipse at 30% 20%, #ffdbb5 0%, transparent 70%);
}
.scn-poem-i-had-no-cause .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #f7c978 0%, #ffe0b0 40%, #e8a05e 100%); animation: phnc-sky 12s ease-in-out infinite alternate; }
.scn-poem-i-had-no-cause .sunrise { position:absolute; bottom:50%; left:20%; width:120px; height:120px; background: radial-gradient(circle, #ffdbb5 0%, #ffd080 30%, transparent 60%); transform: translate(-50%,50%); animation: phnc-sun 8s ease-in-out infinite alternate; }
.scn-poem-i-had-no-cause .curtain { position:absolute; top:0; bottom:30%; width:20%; background: linear-gradient(180deg, #d4a074 0%, #b47d5a 100%); border-radius: 0 20% 30% 0; }
.scn-poem-i-had-no-cause .curtain-l { left:0; transform-origin: left top; animation: phnc-curtain 6s ease-in-out infinite alternate; }
.scn-poem-i-had-no-cause .curtain-r { right:0; transform-origin: right top; animation: phnc-curtain 6s ease-in-out 3s infinite alternate-reverse; }
.scn-poem-i-had-no-cause .window { position:absolute; top:10%; left:30%; right:30%; bottom:40%; background: linear-gradient(180deg, #ffdbb5 0%, #e8a05e 100%); border: 4px solid #6b4a3a; border-radius: 4% 4% 8% 8%; box-shadow: inset 0 0 20px rgba(255,255,200,.3); }
.scn-poem-i-had-no-cause .figure { position:absolute; bottom:35%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: phnc-figure 4s ease-in-out infinite; }
.scn-poem-i-had-no-cause .bed { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #7a5a4a 0%, #4a3020 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.4); }

@keyframes phnc-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes phnc-sun { 0% { transform: translate(-50%,50%) scale(1); } 50% { transform: translate(-50%,50%) scale(1.1); } 100% { transform: translate(-50%,50%) scale(1.05); } }
@keyframes phnc-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.9); } 100% { transform: scaleX(1.1); } }
@keyframes phnc-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }

.scn-poem-if-anybodys-friend-be-dead {
  background: linear-gradient(180deg, #4a4a5a 0%, #2d2d3a 50%, #1a1a22 100%), radial-gradient(ellipse at 50% 0%, #5a5a6a 0%, transparent 80%);
}
.scn-poem-if-anybodys-friend-be-dead .overcast-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #5a5a6a 0%, #4a4a5a 60%, #3a3a4a 100%); animation: ibd-clouds 20s linear infinite; }
.scn-poem-if-anybodys-friend-be-dead .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 30% 70% 0 0 / 50% 50% 0 0; }
.scn-poem-if-anybodys-friend-be-dead .graves { position:absolute; bottom:20%; left:10%; right:10%; height:15%; background: repeating-linear-gradient(90deg, #3a3a4a 0px, #3a3a4a 10px, #4a4a5a 10px, #4a4a5a 20px); opacity:.6; animation: ibd-graves 30s linear infinite; }
.scn-poem-if-anybodys-friend-be-dead .tombstone { position:absolute; bottom:30%; left:30%; width:40px; height:50px; background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); transform: perspective(200px) rotateX(5deg); animation: ibd-stone 6s ease-in-out infinite alternate; }
.scn-poem-if-anybodys-friend-be-dead .figure { position:absolute; bottom:20%; left:45%; width:18px; height:38px; background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ibd-figure 7s ease-in-out infinite; }
.scn-poem-if-anybodys-friend-be-dead .memory-ghost { position:absolute; top:25%; left:40%; width:30px; height:50px; background: radial-gradient(ellipse, rgba(200,200,200,.3) 0%, transparent 70%); filter: blur(4px); animation: ibd-ghost 10s ease-in-out infinite alternate; }

@keyframes ibd-clouds { 0% { background-position: 0 0; } 100% { background-position: -200px 0; } }
@keyframes ibd-graves { 0% { transform: translateX(0); } 100% { transform: translateX(-20px); } }
@keyframes ibd-stone { 0% { transform: perspective(200px) rotateX(5deg); } 50% { transform: perspective(200px) rotateX(2deg) translateY(-2px); } 100% { transform: perspective(200px) rotateX(5deg); } }
@keyframes ibd-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ibd-ghost { 0% { opacity:0; transform: scale(0.8); } 50% { opacity:.5; transform: scale(1); } 100% { opacity:.2; transform: scale(0.9); } }

.scn-poem-our-journey-had-advanced {
  background: linear-gradient(180deg, #2c1a4b 0%, #4a2c5e 30%, #7a4a3a 60%, #1a0a0a 100%), radial-gradient(ellipse at 50% 100%, #8a5a4a 0%, transparent 70%);
}
.scn-poem-our-journey-had-advanced .dusk-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3c2a5b 0%, #2c1a4b 50%, #1a0a3a 100%); animation: jha-sky 15s ease-in-out infinite alternate; }
.scn-poem-our-journey-had-advanced .path { position:absolute; bottom:15%; left:10%; width:80%; height:20%; background: linear-gradient(90deg, #5a3a2a 0%, #7a4a3a 50%, #5a3a2a 100%); border-radius: 0 0 50% 50%; transform: perspective(300px) rotateX(30deg); }
.scn-poem-our-journey-had-advanced .fork { position:absolute; bottom:20%; left:45%; width:30px; height:40px; background: linear-gradient(135deg, #3a2a1a 0%, #5a3a2a 100%); clip-path: polygon(50% 0%, 100% 100%, 0% 100%); transform-origin: bottom center; animation: jha-fork 5s ease-in-out infinite alternate; }
.scn-poem-our-journey-had-advanced .tree { position:absolute; bottom:20%; width:20px; height:80px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a00 100%); border-radius: 20% 20% 0 0; box-shadow: -5px 0 10px rgba(0,0,0,.5); }
.scn-poem-our-journey-had-advanced .tree-l { left:15%; animation: jha-tree-l 8s ease-in-out infinite alternate; }
.scn-poem-our-journey-had-advanced .tree-r { right:15%; animation: jha-tree-r 8s ease-in-out 4s infinite alternate; }
.scn-poem-our-journey-had-advanced .figure { position:absolute; bottom:10%; width:16px; height:34px; background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-poem-our-journey-had-advanced .figure-1 { left:30%; animation: jha-walk1 10s linear infinite; }
.scn-poem-our-journey-had-advanced .figure-2 { left:60%; animation: jha-walk2 12s linear infinite; }

@keyframes jha-sky { 0% { opacity:.6; } 50% { opacity:.9; } 100% { opacity:.7; } }
@keyframes jha-fork { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes jha-tree-l { 0% { transform: rotate(0deg); } 50% { transform: rotate(-1deg); } 100% { transform: rotate(1deg); } }
@keyframes jha-tree-r { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes jha-walk1 { 0% { transform: translateX(0); } 100% { transform: translateX(120px); } }
@keyframes jha-walk2 { 0% { transform: translateX(0); } 100% { transform: translateX(80px); } }

.scn-poem-on-such-a-night {
  background: linear-gradient(180deg, #1a1a3a 0%, #2a2a5a 50%, #1a1a3a 100%), radial-gradient(circle at 70% 10%, #6a7a9a 0%, transparent 50%);
}
.scn-poem-on-such-a-night .moonlit-room { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a3a 0%, #2a2a5a 60%, #151530 100%); }
.scn-poem-on-such-a-night .moonlight-beam { position:absolute; top:0; left:20%; width:40%; height:100%; background: linear-gradient(135deg, rgba(200,210,230,.15) 0%, transparent 60%); transform: rotate(-15deg); transform-origin: top left; animation: osn-beam 15s ease-in-out infinite alternate; }
.scn-poem-on-such-a-night .moon { position:absolute; top:8%; right:15%; width:60px; height:60px; background: radial-gradient(circle, #e0e8f0 0%, #a0b0c0 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(200,210,230,.4); animation: osn-moon 25s linear infinite; }
.scn-poem-on-such-a-night .chair { position:absolute; bottom:10%; left:35%; width:60px; height:70px; background: linear-gradient(180deg, #2a2a5a 0%, #1a1a3a 100%); border-radius: 10% 10% 20% 20%; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); transform: rotate(1deg); }
.scn-poem-on-such-a-night .figure { position:absolute; bottom:12%; left:38%; width:16px; height:32px; background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: osn-figure 3s ease-in-out infinite; }
.scn-poem-on-such-a-night .shadow { position:absolute; bottom:10%; left:42%; width:50px; height:8px; background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(2px); animation: osn-shadow 3s ease-in-out infinite; }

@keyframes osn-beam { 0% { opacity:.3; transform: rotate(-15deg) scale(1); } 50% { opacity:.5; transform: rotate(-12deg) scale(1.05); } 100% { opacity:.4; transform: rotate(-18deg) scale(0.95); } }
@keyframes osn-moon { 0% { transform: translateX(0); } 100% { transform: translateX(-50px); } }
@keyframes osn-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-1px) rotate(0deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes osn-shadow { 0% { transform: scaleX(1); } 25% { transform: scaleX(1.1); } 50% { transform: scaleX(1); } 75% { transform: scaleX(0.9); } 100% { transform: scaleX(1); } }

.scn-poem-if-you-were-coming {
  background: linear-gradient(180deg, #2c1a2e 0%, #4a2a3a 40%, #7a4a4a 70%, #a06050 100%), radial-gradient(ellipse at 50% 0%, #c08060 0%, transparent 60%);
}
.scn-poem-if-you-were-coming .window {
  position: absolute; inset: 10% 15% 50% 15%;
  border: 4px solid #3a2a2a;
  background: linear-gradient(180deg, #5a3a4a 0%, #8a5a5a 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.3);
  animation: iyc-window 8s ease-in-out infinite alternate;
}
.scn-poem-if-you-were-coming .sky {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2c1a2e 0%, #6a3a3a 60%, #a06050 100%);
  opacity: .5; animation: iyc-sky 12s ease-in-out infinite alternate;
}
.scn-poem-if-you-were-coming .fly {
  position: absolute; bottom: 55%; left: 45%; width: 8px; height: 6px;
  background: #1a1a1a; border-radius: 50%; box-shadow: 0 0 4px rgba(0,0,0,.5);
  animation: iyc-fly 2.5s ease-in-out infinite;
}
.scn-poem-if-you-were-coming .yarn {
  position: absolute; bottom: 30%; width: 36px; height: 36px;
  border-radius: 50%; background: radial-gradient(circle, #c87050 0%, #a05030 70%, #702a1a 100%);
  box-shadow: inset -4px -4px 8px rgba(0,0,0,.4);
  animation: iyc-yarn 6s ease-in-out infinite;
}
.scn-poem-if-you-were-coming .yarn-a { left: 30%; animation-delay: 0s; }
.scn-poem-if-you-were-coming .yarn-b { left: 55%; width: 28px; height: 28px; animation-delay: -2s; }
.scn-poem-if-you-were-coming .drawer {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 18%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 2px; box-shadow: 0 -4px 6px rgba(0,0,0,.5);
  animation: iyc-drawer 20s ease-in-out infinite;
}
.scn-poem-if-you-were-coming .chair {
  position: absolute; bottom: 12%; left: 60%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: iyc-chair 5s ease-in-out infinite alternate;
}

@keyframes iyc-window { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.3); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,.8), 0 0 15px rgba(0,0,0,.5); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.3); } }
@keyframes iyc-sky { 0% { opacity: .5; } 50% { opacity: .7; } 100% { opacity: .5; } }
@keyframes iyc-fly { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(-8px, -12px) rotate(-10deg); } 50% { transform: translate(10px, -20px) rotate(5deg); } 75% { transform: translate(-4px, -6px) rotate(-5deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes iyc-yarn { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.05); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes iyc-drawer { 0% { transform: translateY(0); } 25% { transform: translateY(-4px); } 50% { transform: translateY(0); } 75% { transform: translateY(2px); } 100% { transform: translateY(0); } }
@keyframes iyc-chair { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-poem-i-hide-myself {
  background: linear-gradient(180deg, #0a1a2a 0%, #1a2a4a 40%, #2a3a5a 70%, #1a2a3a 100%), radial-gradient(ellipse at 50% 70%, #3a6a8a 0%, transparent 60%);
}
.scn-poem-i-hide-myself .vase {
  position: absolute; bottom: 10%; left: 50%; width: 50px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 -4px 8px rgba(0,0,0,.4);
  animation: ihm-vase 6s ease-in-out infinite alternate;
}
.scn-poem-i-hide-myself .flower-stem {
  position: absolute; bottom: 45%; left: 50%; width: 4px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%);
  border-radius: 2px;
  animation: ihm-stem 8s ease-in-out infinite;
}
.scn-poem-i-hide-myself .flower-head {
  position: absolute; bottom: 70%; left: 50%; width: 30px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #b8b8d0 0%, #8a8aaa 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(180,180,220,.3);
  animation: ihm-flower 4s ease-in-out infinite alternate;
}
.scn-poem-i-hide-myself .leaf {
  position: absolute; bottom: 55%; left: 48%; width: 20px; height: 10px;
  background: #2a4a2a;
  border-radius: 50% 0 50% 0;
  transform-origin: right center;
  animation: ihm-leaf 7s ease-in-out infinite;
}
.scn-poem-i-hide-myself .petal {
  position: absolute; bottom: 68%; left: 55%; width: 8px; height: 8px;
  background: #c8b8d8;
  border-radius: 50%;
  opacity: .7;
  animation: ihm-petal 10s linear infinite;
}
.scn-poem-i-hide-myself .shadow {
  position: absolute; bottom: 5%; left: 40%; right: 40%; height: 12%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.3) 0%, transparent 70%);
  animation: ihm-shadow 12s ease-in-out infinite alternate;
}
.scn-poem-i-hide-myself .moon {
  position: absolute; top: 8%; right: 15%; width: 50px; height: 50px;
  background: radial-gradient(circle, #d0d8e8 0%, #a0a8c0 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px rgba(200,210,240,.4);
  animation: ihm-moon 20s ease-in-out infinite;
}

@keyframes ihm-vase { 0% { transform: translateX(-50%) scaleY(1); } 25% { transform: translateX(-50%) scaleY(1.02); } 50% { transform: translateX(-50%) scaleY(0.98); } 75% { transform: translateX(-50%) scaleY(1.01); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes ihm-stem { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes ihm-flower { 0% { transform: translateX(-50%) rotate(0deg) scale(1); } 50% { transform: translateX(-50%) rotate(3deg) scale(1.05); } 100% { transform: translateX(-50%) rotate(0deg) scale(1); } }
@keyframes ihm-leaf { 0% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(1.1) } 100% { transform: rotate(-10deg) scaleX(1); } }
@keyframes ihm-petal { 0% { transform: translate(0,0) rotate(0deg); opacity: .7; } 50% { transform: translate(-20px, 30px) rotate(180deg); opacity: .3; } 100% { transform: translate(-40px, 60px) rotate(360deg); opacity: 0; } }
@keyframes ihm-shadow { 0% { transform: scaleX(1); opacity: .3; } 50% { transform: scaleX(1.2); opacity: .5; } 100% { transform: scaleX(1); opacity: .3; } }
@keyframes ihm-moon { 0% { transform: translate(0,0); box-shadow: 0 0 30px rgba(200,210,240,.4); } 50% { transform: translate(-5px, 2px); box-shadow: 0 0 40px rgba(200,210,240,.6); } 100% { transform: translate(0,0); box-shadow: 0 0 30px rgba(200,210,240,.4); } }

.scn-poem-have-you-got-a-brook {
  background: linear-gradient(180deg, #f0d8b0 0%, #f0c090 30%, #e0a070 60%, #c08050 100%), radial-gradient(ellipse at 70% 0%, #f0e0c0 0%, transparent 50%);
}
.scn-poem-have-you-got-a-brook .sky-dawn {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0d8b0 0%, #e8b888 50%, #d0a070 100%);
  animation: htb-sky 10s ease-in-out infinite alternate;
}
.scn-poem-have-you-got-a-brook .brook {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 20%;
  background: linear-gradient(90deg, #a0c8d0 0%, #80b0c0 50%, #a0c8d0 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: inset 0 4px 10px rgba(0,20,30,.3);
  animation: htb-brook 6s ease-in-out infinite alternate;
}
.scn-poem-have-you-got-a-brook .flowers {
  position: absolute; bottom: 32%; width: 20px; height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle, #f0a080 0%, #d07050 70%);
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  animation: htb-flower 5s ease-in-out infinite;
}
.scn-poem-have-you-got-a-brook .flower-a { left: 20%; animation-delay: 0s; }
.scn-poem-have-you-got-a-brook .flower-b { left: 65%; width: 14px; height: 14px; background: radial-gradient(circle, #e0b090 0%, #c08060 70%); animation-delay: -2.5s; }
.scn-poem-have-you-got-a-brook .bird {
  position: absolute; bottom: 35%; left: 40%; width: 22px; height: 16px;
  background: #5a4a3a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: htb-bird 4s ease-in-out infinite;
}
.scn-poem-have-you-got-a-brook .shadow-tremble {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 8%;
  background: rgba(0,0,0,.1);
  border-radius: 40%;
  filter: blur(2px);
  animation: htb-shadow 2s ease-in-out infinite;
}
.scn-poem-have-you-got-a-brook .sunrise-haze {
  position: absolute; top: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(255,220,180,.3) 0%, transparent 100%);
  animation: htb-haze 15s ease-in-out infinite alternate;
}

@keyframes htb-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes htb-brook { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes htb-flower { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(5deg) scale(1.05); } 50% { transform: rotate(0deg) scale(1); } 75% { transform: rotate(-5deg) scale(1.05); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes htb-bird { 0% { transform: translate(0,0) rotate(-2deg); } 25% { transform: translate(10px, -4px) rotate(1deg); } 50% { transform: translate(20px, 0) rotate(2deg); } 75% { transform: translate(10px, -2px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(-2deg); } }
@keyframes htb-shadow { 0% { transform: scaleX(1) scaleY(1); opacity: .5; } 50% { transform: scaleX(1.1) scaleY(0.9); opacity: .7; } 100% { transform: scaleX(1) scaleY(1); opacity: .5; } }
@keyframes htb-haze { 0% { opacity: .3; } 50% { opacity: .5; } 100% { opacity: .3; } }

.scn-poem-as-if-some-arctic-flower {
  background: linear-gradient(180deg, #90b8d8 0%, #b8d8e8 30%, #d0e8f0 60%, #f0f8f8 100%), radial-gradient(ellipse at 60% 0%, #f0f8f8 0%, transparent 60%);
}
.scn-poem-as-if-some-arctic-flower .sky-sun {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0f8f8 0%, #d0e8f0 50%, #a0c8d8 100%);
  animation: aaf-sky 14s ease-in-out infinite alternate;
}
.scn-poem-as-if-some-arctic-flower .arctic-flower {
  position: absolute; bottom: 35%; left: 40%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #f0f0f8 0%, #d8d8e8 60%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 10px rgba(220,220,240,.3);
  animation: aaf-arctic 6s ease-in-out infinite alternate;
}
.scn-poem-as-if-some-arctic-flower .bright-flowers {
  position: absolute; bottom: 30%; width: 16px; height: 16px;
  border-radius: 50%;
  animation: aaf-bright 4s ease-in-out infinite;
}
.scn-poem-as-if-some-arctic-flower .ff-a { left: 30%; background: radial-gradient(circle, #f0d080 0%, #d0a050 70%); animation-delay: 0s; }
.scn-poem-as-if-some-arctic-flower .ff-b { left: 60%; width: 20px; height: 20px; background: radial-gradient(circle, #d0b0e0 0%, #a080c0 70%); animation-delay: -2s; }
.scn-poem-as-if-some-arctic-flower .bird-foreign {
  position: absolute; bottom: 40%; left: 50%; width: 28px; height: 20px;
  background: linear-gradient(135deg, #a0d050 0%, #709030 100%);
  border-radius: 60% 40% 50% 50% / 60% 40% 50% 50%;
  transform-origin: 0% 50%;
  animation: aaf-bird 5s ease-in-out infinite;
}
.scn-poem-as-if-some-arctic-flower .sun {
  position: absolute; top: 5%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, #f8f0c0 0%, #f0d080 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px rgba(240,220,120,.5);
  animation: aaf-sun 18s ease-in-out infinite;
}
.scn-poem-as-if-some-arctic-flower .glow {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 70% 20%, rgba(240,240,200,.15) 0%, transparent 60%);
  animation: aaf-glow 8s ease-in-out infinite alternate;
}

@keyframes aaf-sky { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes aaf-arctic { 0% { transform: translate(0,0) rotate(-3deg) scale(1); } 50% { transform: translate(2px,-2px) rotate(2deg) scale(1.05); } 100% { transform: translate(0,0) rotate(-3deg) scale(1); } }
@keyframes aaf-bright { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(15deg) scale(1.1); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes aaf-bird { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(30px,-6px) rotate(5deg); } 50% { transform: translate(60px,0) rotate(-3deg); } 75% { transform: translate(30px,-4px) rotate(2deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes aaf-sun { 0% { transform: translate(0,0) scale(1); box-shadow: 0 0 50px rgba(240,220,120,.5); } 50% { transform: translate(-5px,-3px) scale(1.02); box-shadow: 0 0 60px rgba(240,220,120,.7); } 100% { transform: translate(0,0) scale(1); box-shadow: 0 0 50px rgba(240,220,120,.5); } }
@keyframes aaf-glow { 0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .5; } }

.scn-poem-split-the-lark { background: linear-gradient(180deg, #6b7b8c 0%, #8fa3b0 40%, #b4c6d0 100%), radial-gradient(ellipse at 50% 100%, #b4c6d0 0%, transparent 60%); }
.scn-poem-split-the-lark .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #92a6b5 0%, transparent 100%); animation: sl-sky 14s ease-in-out infinite alternate; }
.scn-poem-split-the-lark .cloud-a { position:absolute; top:12%; left:15%; width:100px; height:22px; background: linear-gradient(180deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,.08) 100%); border-radius:50%; filter:blur(7px); animation: sl-drift-a 40s linear infinite; }
.scn-poem-split-the-lark .cloud-b { position:absolute; top:20%; right:10%; width:70px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.05) 100%); border-radius:50%; filter:blur(5px); animation: sl-drift-b 50s linear infinite reverse; }
.scn-poem-split-the-lark .bird { position:absolute; bottom:45%; left:50%; width:50px; height:30px; background: radial-gradient(ellipse at 30% 50%, #3a4a5a 30%, #1a2a3a 100%); border-radius:60% 60% 40% 40% / 50% 50% 30% 30%; transform:translateX(-50%) rotate(-5deg); animation: sl-bird 6s ease-in-out infinite; }
.scn-poem-split-the-lark .note-a { position:absolute; bottom:38%; left:40%; width:12px; height:12px; background: radial-gradient(circle, #c8b89a 0%, #a0927a 100%); border-radius:50%; box-shadow: 0 0 8px 2px rgba(200,184,154,.4); animation: sl-note-a 8s ease-in-out infinite; }
.scn-poem-split-the-lark .note-b { position:absolute; bottom:42%; left:55%; width:10px; height:10px; background: radial-gradient(circle, #c8b89a 0%, #a0927a 100%); border-radius:50%; box-shadow: 0 0 6px 2px rgba(200,184,154,.3); animation: sl-note-b 10s ease-in-out infinite; animation-delay:-3s; }
.scn-poem-split-the-lark .bulb { position:absolute; bottom:48%; left:50%; width:18px; height:18px; background: radial-gradient(circle, #f0e6d0 0%, #c8b89a 70%); border-radius:50%; box-shadow:0 0 20px 6px rgba(240,230,208,.5), 0 0 40px 12px rgba(240,230,208,.2); animation: sl-bulb 5s ease-in-out infinite alternate; }
@keyframes sl-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes sl-drift-a { 0% { transform:translateX(-40px) } 100% { transform:translateX(110vw) } }
@keyframes sl-drift-b { 0% { transform:translateX(0) } 100% { transform:translateX(-110vw) } }
@keyframes sl-bird { 0% { transform:translateX(-50%) rotate(-5deg) translateY(0) } 25% { transform:translateX(-50%) rotate(0deg) translateY(-4px) } 50% { transform:translateX(-50%) rotate(5deg) translateY(0) } 75% { transform:translateX(-50%) rotate(0deg) translateY(-2px) } 100% { transform:translateX(-50%) rotate(-5deg) translateY(0) } }
@keyframes sl-note-a { 0% { transform:translate(0,0) scale(1) } 33% { transform:translate(8px,-12px) scale(1.2) } 66% { transform:translate(-5px,-8px) scale(.9) } 100% { transform:translate(0,0) scale(1) } }
@keyframes sl-note-b { 0% { transform:translate(0,0) scale(1) } 50% { transform:translate(-10px,-15px) scale(1.1) } 100% { transform:translate(0,0) scale(1) } }
@keyframes sl-bulb { 0% { box-shadow:0 0 15px 4px rgba(240,230,208,.4),0 0 30px 8px rgba(240,230,208,.15); opacity:.8 } 50% { box-shadow:0 0 30px 10px rgba(240,230,208,.7),0 0 60px 20px rgba(240,230,208,.3); opacity:1 } 100% { box-shadow:0 0 20px 6px rgba(240,230,208,.5),0 0 40px 12px rgba(240,230,208,.2); opacity:.9 } }

.scn-poem-poor-little-heart { background: linear-gradient(180deg, #d4c4a8 0%, #e0d0b8 30%, #f0e4d0 100%), radial-gradient(ellipse at 50% 0%, #f0e4d0 0%, transparent 70%); }
.scn-poem-poor-little-heart .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #d8cbb5 0%, transparent 100%); animation: ph-sky 10s ease-in-out infinite alternate; }
.scn-poem-poor-little-heart .glow { position:absolute; top:8%; left:45%; width:120px; height:120px; background: radial-gradient(circle, #f5e8d0 0%, transparent 70%); border-radius:50%; animation: ph-glow 6s ease-in-out infinite alternate; }
.scn-poem-poor-little-heart .heart { position:absolute; bottom:30%; left:50%; width:70px; height:60px; background: radial-gradient(ellipse at 30% 50%, #b87878 0%, #8b5e5e 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform:translateX(-50%) rotate(-10deg); box-shadow:0 4px 10px rgba(0,0,0,.15); animation: ph-heart 4s ease-in-out infinite alternate; }
.scn-poem-poor-little-heart .heart-a { position:absolute; bottom:40%; left:30%; width:18px; height:16px; background: radial-gradient(ellipse at 30% 50%, #c88a8a 0%, #9a6a6a 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; transform:rotate(-5deg); animation: ph-float-a 8s ease-in-out infinite; }
.scn-poem-poor-little-heart .heart-b { position:absolute; bottom:42%; left:62%; width:14px; height:13px; background: radial-gradient(ellipse at 30% 50%, #c88a8a 0%, #9a6a6a 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; transform:rotate(12deg); animation: ph-float-b 9s ease-in-out infinite; animation-delay:-2s; }
.scn-poem-poor-little-heart .figure { position:absolute; bottom:25%; left:38%; width:14px; height:32px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: ph-walk 5s ease-in-out infinite; }
.scn-poem-poor-little-heart .ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b8a88a 0%, #a09078 100%); border-radius:20% 20% 0 0; box-shadow:inset 0 8px 20px rgba(0,0,0,.1); }
@keyframes ph-sky { 0% { opacity:.85 } 100% { opacity:1 } }
@keyframes ph-glow { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes ph-heart { 0% { transform:translateX(-50%) rotate(-10deg) scale(1) } 25% { transform:translateX(-50%) rotate(-8deg) scale(1.05) } 50% { transform:translateX(-50%) rotate(-12deg) scale(.98) } 75% { transform:translateX(-50%) rotate(-8deg) scale(1.02) } 100% { transform:translateX(-50%) rotate(-10deg) scale(1) } }
@keyframes ph-float-a { 0% { transform:translate(0,0) rotate(-5deg) } 25% { transform:translate(5px,-8px) rotate(0deg) } 50% { transform:translate(-3px,-4px) rotate(-8deg) } 75% { transform:translate(2px,-10px) rotate(-3deg) } 100% { transform:translate(0,0) rotate(-5deg) } }
@keyframes ph-float-b { 0% { transform:translate(0,0) rotate(12deg) } 50% { transform:translate(-6px,-6px) rotate(5deg) } 100% { transform:translate(0,0) rotate(12deg) } }
@keyframes ph-walk { 0% { transform:translateX(0) translateY(0) rotate(-1deg) } 25% { transform:translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform:translateX(8px) translateY(0) rotate(-1deg) } 75% { transform:translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform:translateX(16px) translateY(0) rotate(0) } }

.scn-poem-ive-got-an-arrow { background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 40%, #8a9aa8 100%), radial-gradient(ellipse at 50% 100%, #8a9aa8 0%, transparent 70%); }
.scn-poem-ive-got-an-arrow .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #5a6a7a 0%, transparent 100%); animation: ar-sky 12s ease-in-out infinite alternate; }
.scn-poem-ive-got-an-arrow .cloud { position:absolute; top:10%; right:5%; width:90px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.05) 100%); border-radius:50%; filter:blur(6px); animation: ar-cloud 45s linear infinite; }
.scn-poem-ive-got-an-arrow .arrow { position:absolute; bottom:40%; left:40%; width:60px; height:6px; background: linear-gradient(90deg, #a0461a 0%, #7a3a1a 50%, #4a2a1a 100%); border-radius: 3px 10px 10px 3px; transform:rotate(-30deg); box-shadow:0 2px 6px rgba(0,0,0,.4); animation: ar-arrow 3s ease-in-out infinite alternate; }
.scn-poem-ive-got-an-arrow .bow { position:absolute; bottom:35%; left:25%; width:50px; height:30px; border: 4px solid #5e3a2a; border-radius:50% 50% 30% 30%; transform:rotate(-20deg); background: transparent; box-shadow:0 2px 8px rgba(0,0,0,.3); animation: ar-bow 4s ease-in-out infinite alternate; }
.scn-poem-ive-got-an-arrow .target { position:absolute; bottom:30%; left:55%; width:40px; height:40px; background: radial-gradient(circle, #7a5a3a 0%, #4a3a2a 60%, #2a1a0a 100%); border-radius:50%; box-shadow:0 4px 12px rgba(0,0,0,.5); animation: ar-target 5s ease-in-out infinite alternate; }
.scn-poem-ive-got-an-arrow .ring-inner { position:absolute; bottom:32%; left:57%; width:20px; height:20px; border:2px solid #c8553d; border-radius:50%; box-shadow:0 0 6px rgba(200,85,61,.4); animation: ar-ring1 2s ease-in-out infinite alternate; }
.scn-poem-ive-got-an-arrow .ring-outer { position:absolute; bottom:29%; left:54%; width:34px; height:34px; border:2px solid #a04830; border-radius:50%; box-shadow:0 0 8px rgba(160,72,48,.3); animation: ar-ring2 2.5s ease-in-out infinite alternate-reverse; }
@keyframes ar-sky { 0% { opacity:.8 } 100% { opacity:.95 } }
@keyframes ar-cloud { 0% { transform:translateX(0) } 100% { transform:translateX(-120vw) } }
@keyframes ar-arrow { 0% { transform:rotate(-30deg) translateX(0) } 25% { transform:rotate(-25deg) translateX(5px) } 50% { transform:rotate(-35deg) translateX(-3px) } 75% { transform:rotate(-28deg) translateX(2px) } 100% { transform:rotate(-30deg) translateX(0) } }
@keyframes ar-bow { 0% { transform:rotate(-20deg) scaleX(1) } 50% { transform:rotate(-15deg) scaleX(1.1) } 100% { transform:rotate(-20deg) scaleX(1) } }
@keyframes ar-target { 0% { transform:scale(1) } 50% { transform:scale(1.05) } 100% { transform:scale(1) } }
@keyframes ar-ring1 { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes ar-ring2 { 0% { opacity:.6 } 100% { opacity:1 } }

.scn-poem-heart-we-will-forget { background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 100%, #3a3a4e 0%, transparent 70%); }
.scn-poem-heart-we-will-forget .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); animation: hf-room 15s ease-in-out infinite alternate; }
.scn-poem-heart-we-will-forget .window { position:absolute; top:8%; left:35%; width:30%; height:45%; background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 100%); border:4px solid #3a3a4a; border-radius:8px 8px 0 0; box-shadow:inset 0 0 30px rgba(0,0,0,.5); animation: hf-window 6s ease-in-out infinite alternate; }
.scn-poem-heart-we-will-forget .curtain-left { position:absolute; top:6%; left:32%; width:15%; height:50%; background: linear-gradient(90deg, #4a3a3a 0%, #3a2a2a 100%); border-radius:0 8px 8px 0; transform-origin:left center; animation: hf-curtain 8s ease-in-out infinite alternate; }
.scn-poem-heart-we-will-forget .curtain-right { position:absolute; top:6%; right:32%; width:15%; height:50%; background: linear-gradient(90deg, #3a2a2a 0%, #4a3a3a 100%); border-radius:8px 0 0 8px; transform-origin:right center; animation: hf-curtain 8s ease-in-out infinite alternate-reverse; }
.scn-poem-heart-we-will-forget .figure { position:absolute; bottom:20%; left:50%; width:16px; height:35px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:translateX(-50%); animation: hf-figure 4s ease-in-out infinite; }
.scn-poem-heart-we-will-forget .heart { position:absolute; bottom:35%; left:50%; width:30px; height:26px; background: radial-gradient(ellipse at 30% 50%, #5e1a1d 0%, #3a0e10 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; transform:translateX(-50%) rotate(-5deg); box-shadow:0 0 12px 2px rgba(94,26,29,.3); animation: hf-heart 3s ease-in-out infinite alternate; }
.scn-poem-heart-we-will-forget .lamp-light { position:absolute; bottom:10%; left:60%; width:40px; height:40px; background: radial-gradient(circle, #f0c068 0%, transparent 70%); border-radius:50%; animation: hf-lamp 5s ease-in-out infinite alternate; }
@keyframes hf-room { 0% { opacity:.8 } 100% { opacity:1 } }
@keyframes hf-window { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes hf-curtain { 0% { transform:scaleX(1) } 50% { transform:scaleX(.9) } 100% { transform:scaleX(1) } }
@keyframes hf-figure { 0% { transform:translateX(-50%) rotate(0) translateY(0) } 25% { transform:translateX(-50%) rotate(1deg) translateY(-2px) } 50% { transform:translateX(-50%) rotate(0) translateY(0) } 75% { transform:translateX(-50%) rotate(-1deg) translateY(-1px) } 100% { transform:translateX(-50%) rotate(0) translateY(0) } }
@keyframes hf-heart { 0% { transform:translateX(-50%) rotate(-5deg) scale(1); opacity:.7 } 50% { transform:translateX(-50%) rotate(0deg) scale(1.1); opacity:1 } 100% { transform:translateX(-50%) rotate(-5deg) scale(1); opacity:.8 } }
@keyframes hf-lamp { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.4 } }

/* poem-i-never-saw-a-moor – calm overcast moor landscape */
.scn-poem-i-never-saw-a-moor {
  background: linear-gradient(180deg, #7a8c9e 0%, #5a6b7a 30%, #3a4a5a 60%, #2a3a4a 100%),
              radial-gradient(ellipse at 30% 20%, #8a9cb0 0%, transparent 60%);
}
.scn-poem-i-never-saw-a-moor .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #8a9eb0 0%, rgba(255,255,255,0.05) 100%);
  animation: moor-sky 14s ease-in-out infinite alternate;
}
.scn-poem-i-never-saw-a-moor .moor {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a1a 100%);
  border-radius: 20% 80% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 6px 20px rgba(0,0,0,0.3);
  animation: moor-moor 20s ease-in-out infinite alternate;
}
.scn-poem-i-never-saw-a-moor .sea {
  position: absolute; bottom: 10%; left: 40%; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%);
  border-radius: 80% 20% 0 0 / 40% 60% 0 0;
  animation: moor-sea 16s ease-in-out infinite alternate;
}
.scn-poem-i-never-saw-a-moor .heather-a {
  position: absolute; bottom: 35%; left: 10%; width: 16px; height: 8px;
  background: radial-gradient(circle, #6a4a5a 0%, #3a2a3a 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 12px 4px rgba(106,74,90,0.4);
  animation: moor-heather 6s ease-in-out infinite;
}
.scn-poem-i-never-saw-a-moor .heather-b {
  position: absolute; bottom: 38%; left: 25%; width: 12px; height: 6px;
  background: radial-gradient(circle, #8a6a7a 0%, #4a3a4a 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 10px 3px rgba(138,106,122,0.3);
  animation: moor-heather 8s ease-in-out infinite 1s;
}
.scn-poem-i-never-saw-a-moor .angel {
  position: absolute; bottom: 40%; left: 45%; width: 20px; height: 36px;
  background: linear-gradient(180deg, #c0b8a8 0%, #a09888 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: moor-angel 10s ease-in-out infinite;
}
.scn-poem-i-never-saw-a-moor .cloud-1 {
  position: absolute; top: 12%; left: 15%; width: 100px; height: 20px;
  background: rgba(255,255,255,0.25); filter: blur(8px);
  border-radius: 50%;
  animation: moor-cloud 40s linear infinite;
}
.scn-poem-i-never-saw-a-moor .cloud-2 {
  position: absolute; top: 20%; right: 10%; width: 70px; height: 14px;
  background: rgba(255,255,255,0.15); filter: blur(6px);
  border-radius: 50%;
  animation: moor-cloud 50s linear infinite reverse;
}
@keyframes moor-sky {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.75; transform: scaleY(0.98); }
}
@keyframes moor-moor {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.005); }
  100% { transform: translateY(1px) scaleX(0.995); }
}
@keyframes moor-sea {
  0% { opacity: 0.9; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(-3px); }
  100% { opacity: 0.85; transform: translateX(2px); }
}
@keyframes moor-heather {
  0% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-2px) rotate(4deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes moor-angel {
  0% { transform: translateY(0) rotate(-1deg); opacity: 0.95; }
  50% { transform: translateY(-4px) rotate(1deg) scale(1.02); opacity: 1; }
  100% { transform: translateY(0) rotate(0); opacity: 0.9; }
}
@keyframes moor-cloud {
  0% { transform: translateX(-50px); }
  50% { transform: translateX(20vw); }
  100% { transform: translateX(120vw); }
}

/* poem-to-know-just-how-he-suffered – dark dim interior deathbed */
.scn-poem-to-know-just-how-he-suffered {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #3a3a3a 70%, #4a3a2a 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 80%);
}
.scn-poem-to-know-just-how-he-suffered .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #2a2a3a 0%, #3a3a4a 100%);
  animation: suf-wall 12s ease-in-out infinite alternate;
}
.scn-poem-to-know-just-how-he-suffered .bed {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: suf-bed 18s ease-in-out infinite alternate;
}
.scn-poem-to-know-just-how-he-suffered .dying {
  position: absolute; bottom: 30%; left: 35%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: suf-dying 4s ease-in-out infinite;
}
.scn-poem-to-know-just-how-he-suffered .watcher {
  position: absolute; bottom: 30%; left: 50%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: suf-watcher 6s ease-in-out infinite;
}
.scn-poem-to-know-just-how-he-suffered .candle {
  position: absolute; bottom: 35%; left: 55%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 2px 2px 1px 1px;
  box-shadow: 0 0 20px 6px #c09060, 0 0 40px 12px rgba(192,144,96,0.4);
  animation: suf-candle 3s ease-in-out infinite alternate;
}
.scn-poem-to-know-just-how-he-suffered .window {
  position: absolute; bottom: 55%; left: 60%; width: 30px; height: 50px;
  background: radial-gradient(circle at 50% 50%, #6a7a8a 0%, #2a3a4a 100%);
  border: 2px solid #3a3a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 8px 2px rgba(0,0,0,0.5);
  animation: suf-window 20s ease-in-out infinite alternate;
}
@keyframes suf-wall {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.005); }
  100% { opacity: 0.85; transform: scaleY(0.995); }
}
@keyframes suf-bed {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.01); }
  100% { transform: translateY(1px) scaleX(0.99); }
}
@keyframes suf-dying {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(-3px) rotate(2deg) scale(1.02); opacity: 1; }
  100% { transform: translateY(0) rotate(-1deg); opacity: 0.85; }
}
@keyframes suf-watcher {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes suf-candle {
  0% { box-shadow: 0 0 15px 4px #c09060; opacity: 0.8; }
  50% { box-shadow: 0 0 25px 8px #e0a070; opacity: 1; }
  100% { box-shadow: 0 0 20px 5px #c09060; opacity: 0.9; }
}
@keyframes suf-window {
  0% { opacity: 0.7; background: radial-gradient(circle, #6a7a8a 0%, #2a3a4a 100%); }
  50% { opacity: 0.9; background: radial-gradient(circle, #8a9aaa 0%, #3a4a5a 100%); }
  100% { opacity: 0.6; background: radial-gradient(circle, #5a6a7a 0%, #1a2a3a 100%); }
}

/* poem-last-night-that-she-lived – very dim interior deathbed with mourners */
.scn-poem-last-night-that-she-lived {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #2a1a1a 70%, #1a0a0a 100%),
              radial-gradient(ellipse at 50% 50%, #2a1a1a 0%, transparent 90%);
}
.scn-poem-last-night-that-she-lived .bg-deep {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: lst-bg 15s ease-in-out infinite alternate;
}
.scn-poem-last-night-that-she-lived .bed {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.7);
  animation: lst-bed 20s ease-in-out infinite alternate;
}
.scn-poem-last-night-that-she-lived .dying {
  position: absolute; bottom: 30%; left: 30%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: lst-dying 3s ease-in-out infinite;
}
.scn-poem-last-night-that-she-lived .mourner-left {
  position: absolute; bottom: 30%; left: 15%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: lst-mourner 7s ease-in-out infinite 0.5s;
}
.scn-poem-last-night-that-she-lived .mourner-right {
  position: absolute; bottom: 30%; left: 50%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: lst-mourner 8s ease-in-out infinite 1s;
}
.scn-poem-last-night-that-she-lived .lamp {
  position: absolute; bottom: 40%; left: 55%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #c09060 0%, #805030 100%);
  border-radius: 2px 2px 1px 1px;
  box-shadow: 0 0 30px 8px #b08040, 0 0 60px 16px rgba(176,128,64,0.3);
  animation: lst-lamp 4s ease-in-out infinite alternate;
}
.scn-poem-last-night-that-she-lived .clock {
  position: absolute; bottom: 55%; left: 70%; width: 20px; height: 20px;
  background: radial-gradient(circle, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50%;
  border: 2px solid #3a2a1a;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: lst-clock 30s linear infinite;
}
@keyframes lst-bg {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.01); }
  100% { opacity: 0.85; transform: scaleY(0.99); }
}
@keyframes lst-bed {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.015); }
  100% { transform: translateY(1px) scaleX(0.985); }
}
@keyframes lst-dying {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(-2px) rotate(2deg) scale(1.01); opacity: 1; }
  100% { transform: translateY(0) rotate(-1deg); opacity: 0.85; }
}
@keyframes lst-mourner {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes lst-lamp {
  0% { box-shadow: 0 0 24px 6px #b08040; opacity: 0.85; }
  50% { box-shadow: 0 0 40px 12px #d09050; opacity: 1; }
  100% { box-shadow: 0 0 30px 8px #b08040; opacity: 0.9; }
}
@keyframes lst-clock {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
  100% { transform: rotate(360deg); }
}

/* poem-not-in-this-world – calm dim interior close-up of a closed book on a shelf */
.scn-poem-not-in-this-world {
  background: linear-gradient(180deg, #2a2a1a 0%, #3a2a1a 40%, #4a3a2a 70%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 80%);
}
.scn-poem-not-in-this-world .shelf {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: nw-shelf 20s ease-in-out infinite alternate;
}
.scn-poem-not-in-this-world .book {
  position: absolute; bottom: 40%; left: 40%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 2px 8px rgba(255,255,255,0.1), 0 6px 20px rgba(0,0,0,0.6);
  transform-origin: bottom center;
  animation: nw-book 15s ease-in-out infinite;
}
.scn-poem-not-in-this-world .spine {
  position: absolute; bottom: 40%; left: 40%; width: 4px; height: 60px;
  background: #8a6a4a;
  border-radius: 1px;
  animation: nw-spine 10s ease-in-out infinite;
}
.scn-poem-not-in-this-world .clasp {
  position: absolute; bottom: 50%; left: 42%; width: 6px; height: 14px;
  background: #a09080;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: nw-clasp 6s ease-in-out infinite alternate;
}
.scn-poem-not-in-this-world .dust-a {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: rgba(200,180,150,0.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: nw-dust 12s linear infinite;
}
.scn-poem-not-in-this-world .dust-b {
  position: absolute; top: 40%; left: 60%; width: 3px; height: 3px;
  background: rgba(200,180,150,0.2);
  border-radius: 50%;
  filter: blur(1px);
  animation: nw-dust 16s linear infinite 5s;
}
.scn-poem-not-in-this-world .hand {
  position: absolute; bottom: 25%; left: 35%; width: 14px; height: 24px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 40% 40%;
  transform-origin: bottom left;
  animation: nw-hand 8s ease-in-out infinite;
}
@keyframes nw-shelf {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.005); }
  100% { transform: translateY(0) scaleX(0.995); }
}
@keyframes nw-book {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(-1deg) scale(1.01); }
  100% { transform: rotate(0.5deg) scale(0.99); }
}
@keyframes nw-spine {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes nw-clasp {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(-1px) rotate(2deg); opacity: 1; }
  100% { transform: translateY(1px) rotate(-1deg); opacity: 0.85; }
}
@keyframes nw-dust {
  0% { transform: translateY(0) translateX(0); opacity: 0; }
  25% { opacity: 0.6; }
  50% { transform: translateY(-30px) translateX(20px); opacity: 0.8; }
  75% { opacity: 0.3; }
  100% { transform: translateY(-60px) translateX(40px); opacity: 0; }
}
@keyframes nw-hand {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateY(-4px) rotate(3deg) scale(1.02); opacity: 1; }
  100% { transform: translateY(0) rotate(-1deg); opacity: 0.85; }
}

/* poem-before-the-ice – warm overcast */
.scn-poem-before-the-ice {
   background: linear-gradient(180deg, #d4c4a8 0%, #b8a78c 40%, #8a7a5a 100%),
               radial-gradient(ellipse at 50% 100%, #c2a88d 0%, transparent 60%);
}
.scn-poem-before-the-ice .pbi-sky {
   position: absolute; inset: 0 0 60% 0;
   background: linear-gradient(180deg, #e5d6bc 0%, #d4c4a8 100%);
   animation: pbi-cloud 30s ease-in-out infinite alternate;
}
.scn-poem-before-the-ice .pbi-ground {
   position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
   background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
   border-radius: 20% 30% 0 0 / 40% 50% 0 0;
   box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-poem-before-the-ice .pbi-tree {
   position: absolute; bottom: 32%; left: 30%; width: 50px; height: 70px;
   background: linear-gradient(180deg, #4a6b3a 0%, #2a4a1a 100%);
   clip-path: polygon(50% 0%, 0% 40%, 20% 80%, 80% 80%, 100% 40%);
   opacity: 0.8;
   animation: pbi-sway 6s ease-in-out infinite;
}
.scn-poem-before-the-ice .pbi-dress {
   position: absolute; bottom: 25%; right: 20%; width: 40px; height: 60px;
   background: linear-gradient(135deg, #c8553d 0%, #a0461a 60%, #7a3a1a 100%);
   border-radius: 50% 50% 30% 30% / 40% 40% 50% 50%;
   transform: rotate(5deg);
   box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
   animation: pbi-hang 8s ease-in-out infinite alternate;
}
.scn-poem-before-the-ice .pbi-ice-pools {
   position: absolute; bottom: 5%; left: 10%; width: 80px; height: 30px;
   background: linear-gradient(180deg, rgba(200,220,240,0.5) 0%, rgba(180,200,220,0.8) 50%, rgba(160,180,200,0.6) 100%);
   border-radius: 50%;
   filter: blur(2px);
   animation: pbi-shimmer 4s ease-in-out infinite alternate;
}
.scn-poem-before-the-ice .pbi-window {
   position: absolute; top: 10%; left: 50%; width: 100px; height: 120px;
   border: 6px solid #6a5a3a;
   background: linear-gradient(180deg, #f5e6d3 0%, #e5d6bc 100%);
   border-radius: 8px;
   transform: translateX(-50%);
   box-shadow: inset 0 0 20px #c2a88d;
   animation: pbi-window 12s ease-in-out infinite alternate;
}
.scn-poem-before-the-ice .pbi-glow {
   position: absolute; top: 50%; left: 50%; width: 200px; height: 200px;
   background: radial-gradient(circle, rgba(245,230,211,0.6) 0%, transparent 70%);
   transform: translate(-50%, -50%);
   pointer-events: none;
   animation: pbi-glow-pulse 6s ease-in-out infinite alternate;
}
@keyframes pbi-cloud { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes pbi-sway { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } }
@keyframes pbi-hang { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-3px); } 100% { transform: rotate(6deg) translateY(2px); } }
@keyframes pbi-shimmer { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.05); } 100% { opacity: 0.6; transform: scale(0.95); } }
@keyframes pbi-window { 0% { box-shadow: inset 0 0 20px #c2a88d; } 50% { box-shadow: inset 0 0 40px #d4c4a8; } 100% { box-shadow: inset 0 0 15px #b8a78c; } }
@keyframes pbi-glow-pulse { 0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.9); } 50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); } }

/* poem-adrift-a-little-boat – tense starlit */
.scn-poem-adrift-a-little-boat {
   background: linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 50%, #2a2a5e 100%),
               radial-gradient(ellipse at 50% 0%, #3a3a6e 0%, transparent 70%);
}
.scn-poem-adrift-a-little-boat .pab-sky {
   position: absolute; inset: 0 0 30% 0;
   background: linear-gradient(180deg, #0a0a2e 0%, #1a1a3e 100%);
   animation: pab-night 20s ease-in-out infinite alternate;
}
.scn-poem-adrift-a-little-boat .pab-water {
   position: absolute; bottom: 0; left: 0; right: 0; height: 70%;
   background: linear-gradient(180deg, #0a1a2e 0%, #020a1a 100%);
   box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-poem-adrift-a-little-boat .pab-boat {
   position: absolute; bottom: 40%; left: 45%; width: 80px; height: 30px;
   background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 100%);
   clip-path: polygon(0% 50%, 20% 100%, 80% 100%, 100% 50%, 80% 0%, 20% 0%);
   transform: rotate(-5deg);
   animation: pab-rock 5s ease-in-out infinite alternate;
}
.scn-poem-adrift-a-little-boat .pab-sail {
   position: absolute; bottom: 55%; left: 50%; width: 30px; height: 50px;
   background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(200,200,210,0.1) 100%);
   clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
   transform: translateX(-50%) rotate(10deg);
   animation: pab-flap 3s ease-in-out infinite alternate;
}
.scn-poem-adrift-a-little-boat .pab-wave1 {
   position: absolute; bottom: 30%; left: 0; right: 0; height: 15px;
   background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05) 50%, transparent);
   animation: pab-wave-move 8s linear infinite;
}
.scn-poem-adrift-a-little-boat .pab-wave2 {
   position: absolute; bottom: 45%; left: 0; right: 0; height: 12px;
   background: linear-gradient(90deg, transparent, rgba(255,255,255,0.03) 50%, transparent);
   animation: pab-wave-move 12s linear infinite reverse;
}
.scn-poem-adrift-a-little-boat .pab-star {
   position: absolute; top: 10%; left: 20%; width: 4px; height: 4px;
   background: #fff;
   border-radius: 50%;
   box-shadow: 0 0 8px 2px rgba(255,255,255,0.5), 0 0 16px 4px rgba(200,200,255,0.3);
   animation: pab-twinkle 3s ease-in-out infinite alternate;
}
.scn-poem-adrift-a-little-boat .pab-cloud {
   position: absolute; top: 25%; right: 15%; width: 100px; height: 20px;
   background: linear-gradient(180deg, rgba(20,20,40,0.6) 0%, transparent 100%);
   border-radius: 50%;
   filter: blur(8px);
   animation: pab-drift 40s linear infinite;
}
@keyframes pab-night { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes pab-rock { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(5px); } 100% { transform: rotate(-7deg) translateX(-5px); } }
@keyframes pab-flap { 0% { transform: translateX(-50%) rotate(10deg) scaleY(1); } 50% { transform: translateX(-50%) rotate(12deg) scaleY(0.95); } 100% { transform: translateX(-50%) rotate(8deg) scaleY(1.05); } }
@keyframes pab-wave-move { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes pab-twinkle { 0% { opacity: 0.5; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 12px 4px rgba(255,255,255,0.7); } 100% { opacity: 0.7; transform: scale(1); box-shadow: 0 0 8px 2px rgba(255,255,255,0.4); } }
@keyframes pab-drift { 0% { transform: translateX(0); } 100% { transform: translateX(-150vw); } }

/* poem-we-never-know-we-go – calm overcast */
.scn-poem-we-never-know-we-go {
   background: linear-gradient(180deg, #b0b0b8 0%, #909098 50%, #707078 100%),
               radial-gradient(ellipse at 50% 30%, #c0c0c8 0%, transparent 60%);
}
.scn-poem-we-never-know-we-go .pwnk-sky {
   position: absolute; inset: 0 0 50% 0;
   background: linear-gradient(180deg, #b0b0b8 0%, #959598 100%);
   animation: pwnk-overcast 15s ease-in-out infinite alternate;
}
.scn-poem-we-never-know-we-go .pwnk-door {
   position: absolute; bottom: 20%; left: 35%; width: 120px; height: 200px;
   background: linear-gradient(90deg, #8a8070 0%, #7a7060 50%, #6a6050 100%);
   border-radius: 4px;
   box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
   transform: perspective(600px) rotateY(0deg);
   transform-origin: left;
   animation: pwnk-door-swing 12s ease-in-out infinite;
}
.scn-poem-we-never-know-we-go .pwnk-bolt {
   position: absolute; bottom: 30%; left: 35%; width: 20px; height: 20px;
   background: #505050;
   border-radius: 50%;
   box-shadow: 0 0 4px rgba(0,0,0,0.5);
   transform: translateX(60px);
   animation: pwnk-bolt-slide 12s ease-in-out infinite;
}
.scn-poem-we-never-know-we-go .pwnk-figure {
   position: absolute; bottom: 25%; left: 50%; width: 30px; height: 70px;
   background: linear-gradient(180deg, #606068 0%, #404048 100%);
   border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
   transform: translateX(-50%);
   animation: pwnk-walk 10s ease-in-out infinite;
}
.scn-poem-we-never-know-we-go .pwnk-lightning {
   position: absolute; top: 10%; left: 20%; width: 6px; height: 100px;
   background: linear-gradient(180deg, #e0e0e8 0%, rgba(224,224,232,0.3) 60%, transparent 100%);
   clip-path: polygon(50% 0%, 0% 40%, 40% 50%, 20% 100%, 60% 60%, 50% 30%);
   opacity: 0;
   animation: pwnk-flash 8s ease-in-out infinite;
}
.scn-poem-we-never-know-we-go .pwnk-shadow {
   position: absolute; bottom: 18%; left: 30%; width: 180px; height: 40px;
   background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.3) 0%, transparent 70%);
   filter: blur(4px);
   animation: pwnk-shadow-sway 10s ease-in-out infinite;
}
@keyframes pwnk-overcast { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes pwnk-door-swing { 0% { transform: perspective(600px) rotateY(0deg); } 30% { transform: perspective(600px) rotateY(-20deg); } 70% { transform: perspective(600px) rotateY(-20deg); } 100% { transform: perspective(600px) rotateY(0deg); } }
@keyframes pwnk-bolt-slide { 0% { transform: translateX(60px); } 30% { transform: translateX(80px); } 70% { transform: translateX(80px); } 100% { transform: translateX(60px); } }
@keyframes pwnk-walk { 0%,100% { transform: translateX(-50%) translateY(0); } 25% { transform: translateX(-40%) translateY(-2px); } 50% { transform: translateX(-30%) translateY(0); } 75% { transform: translateX(-40%) translateY(-2px); } }
@keyframes pwnk-flash { 0%,90%,100% { opacity: 0; } 10% { opacity: 0.8; } 20% { opacity: 0.2; } 30% { opacity: 0.6; } 40% { opacity: 0; } }
@keyframes pwnk-shadow-sway { 0% { transform: translateX(0); } 50% { transform: translateX(10px); } 100% { transform: translateX(0); } }

/* poem-we-thirst-at-first – calm overcast */
.scn-poem-we-thirst-at-first {
   background: linear-gradient(180deg, #d4d4dc 0%, #c0c0cc 40%, #a0a0ac 100%);
}
.scn-poem-we-thirst-at-first .pwtf-table {
   position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
   background: linear-gradient(180deg, #8a8a94 0%, #6a6a74 100%);
   border-radius: 10% 10% 0 0 / 20% 20% 0 0;
   box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
}
.scn-poem-we-thirst-at-first .pwtf-glass {
   position: absolute; bottom: 25%; left: 40%; width: 40px; height: 60px;
   background: linear-gradient(90deg, rgba(200,200,220,0.3) 0%, rgba(180,180,200,0.1) 50%, rgba(200,200,220,0.2) 100%);
   border: 2px solid rgba(255,255,255,0.2);
   border-radius: 4px 4px 20% 20% / 4px 4px 30% 30%;
   box-shadow: inset 0 0 10px rgba(255,255,255,0.1);
   animation: pwtf-gentle 8s ease-in-out infinite alternate;
}
.scn-poem-we-thirst-at-first .pwtf-water {
   position: absolute; bottom: 28%; left: 40%; width: 34px; height: 30px;
   background: linear-gradient(180deg, rgba(100,150,200,0.6) 0%, rgba(80,120,170,0.4) 100%);
   border-radius: 0 0 20% 20%;
   transform: translateX(3px);
   animation: pwtf-ripple 6s ease-in-out infinite;
}
.scn-poem-we-thirst-at-first .pwtf-hand {
   position: absolute; bottom: 30%; left: 55%; width: 40px; height: 60px;
   background: linear-gradient(180deg, #b0a898 0%, #9a9080 100%);
   border-radius: 30% 30% 40% 40% / 50% 50% 60% 60%;
   transform: rotate(15deg);
   transform-origin: bottom left;
   animation: pwtf-reach 10s ease-in-out infinite;
}
.scn-poem-we-thirst-at-first .pwtf-clock {
   position: absolute; top: 10%; left: 60%; width: 80px; height: 80px;
   background: radial-gradient(circle, #e0e0e8 0%, #c0c0cc 100%);
   border-radius: 50%;
   border: 4px solid #8a8a94;
   box-shadow: 0 4px 10px rgba(0,0,0,0.2);
   animation: pwtf-tick 12s linear infinite;
}
.scn-poem-we-thirst-at-first .pwtf-shimmer {
   position: absolute; bottom: 31%; left: 42%; width: 20px; height: 10px;
   background: rgba(255,255,255,0.3);
   filter: blur(4px);
   animation: pwtf-shimmer-move 4s ease-in-out infinite alternate;
}
.scn-poem-we-thirst-at-first .pwtf-droplet {
   position: absolute; bottom: 24%; left: 48%; width: 4px; height: 6px;
   background: rgba(100,150,200,0.8);
   border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
   animation: pwtf-drip 5s ease-in-out infinite;
}
@keyframes pwtf-gentle { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pwtf-ripple { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.02); } 100% { opacity: 0.5; transform: scale(0.98); } }
@keyframes pwtf-reach { 0%,100% { transform: rotate(15deg) translateX(0); } 30% { transform: rotate(18deg) translateX(-10px); } 70% { transform: rotate(12deg) translateX(5px); } }
@keyframes pwtf-tick { 0% { transform: rotate(0deg); } 8.33% { transform: rotate(108deg); } 16.66% { transform: rotate(216deg); } 25% { transform: rotate(324deg); } /* etc. simplified: continuous */ }
@keyframes pwtf-shimmer-move { 0% { transform: translateX(0) scaleX(1); opacity: 0.3; } 50% { transform: translateX(5px) scaleX(1.3); opacity: 0.6; } 100% { transform: translateX(-3px) scaleX(0.8); opacity: 0.2; } }
@keyframes pwtf-drip { 0% { transform: translateY(0) scaleY(1); opacity: 0.8; } 80% { transform: translateY(20px) scaleY(0.5); opacity: 0.2; } 100% { transform: translateY(25px) scaleY(0.2); opacity: 0; } }

/* Scene 1: poem-through-straight-pass */
.scn-poem-through-straight-pass {
  background: 
    linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 40%, #2a1e3a 100%),
    radial-gradient(ellipse at 70% 40%, #4a2a3a 0%, transparent 60%);
}
.scn-poem-through-straight-pass .arch {
  position: absolute;
  inset: 0% 20% 30% 20%;
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e3a 40%, transparent 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: ptsp-arch 15s ease-in-out infinite alternate;
}
.scn-poem-through-straight-pass .path {
  position: absolute;
  bottom: 0; left: 30%; right: 30%;
  height: 30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0f0f 100%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  animation: ptsp-path 8s ease-in-out infinite alternate;
}
.scn-poem-through-straight-pass .kneeler {
  position: absolute;
  bottom: 25%; left: 45%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #0a0a14 0%, #1a121a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform: scaleX(0.5);
  animation: ptsp-kneel 6s ease-in-out infinite;
}
.scn-poem-through-straight-pass .halo {
  position: absolute;
  bottom: 50%; left: 50%; width: 30px; height: 30px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(200,180,120,0.6) 0%, rgba(200,180,120,0) 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(200,180,120,0.3);
  animation: ptsp-glow 4s ease-in-out infinite alternate;
}
.scn-poem-through-straight-pass .candle {
  position: absolute;
  bottom: 30%; left: 35%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #b08040 0%, #5a3a1a 100%);
  border-radius: 20% 20% 0 0;
  animation: ptsp-candle 3s ease-in-out infinite;
}
.scn-poem-through-straight-pass .dust {
  position: absolute;
  inset: 10% 10% 20% 10%;
  background: radial-gradient(circle at 60% 40%, rgba(230,210,180,0.15) 0%, transparent 50%);
  filter: blur(4px);
  animation: ptsp-drift 45s linear infinite;
}
@keyframes ptsp-arch {
  0% { opacity: 0.7; transform: scaleY(0.98); }
  50% { opacity: 1; transform: scaleY(1); }
  100% { opacity: 0.8; transform: scaleY(0.97); }
}
@keyframes ptsp-path {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ptsp-kneel {
  0% { transform: scaleX(0.5) translateY(0) rotate(-2deg); }
  50% { transform: scaleX(0.5) translateY(-2px) rotate(2deg); }
  100% { transform: scaleX(0.5) translateY(0) rotate(-1deg); }
}
@keyframes ptsp-glow {
  0% { box-shadow: 0 0 30px 10px rgba(200,180,120,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 60px 30px rgba(200,180,120,0.5); opacity: 1; }
  100% { box-shadow: 0 0 40px 15px rgba(200,180,120,0.3); opacity: 0.9; }
}
@keyframes ptsp-candle {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.05); }
  100% { transform: scaleY(0.97); }
}
@keyframes ptsp-drift {
  0% { transform: translate(0,0) scale(1); }
  50% { transform: translate(8px, -6px) scale(1.03); }
  100% { transform: translate(0,0) scale(0.98); }
}

/* Scene 2: poem-and-so-upon-this-wise */
.scn-poem-and-so-upon-this-wise {
  background: 
    linear-gradient(180deg, #fce4b3 0%, #ffc085 30%, #f5b88a 60%, #d4a373 100%),
    radial-gradient(ellipse at 50% 20%, #ffe6b0 0%, transparent 50%);
}
.scn-poem-and-so-upon-this-wise .sky {
  position: absolute;
  inset: 0 0 60% 0;
  background: linear-gradient(180deg, #fce4b3 0%, #ffc085 100%);
  animation: psup-sky 12s ease-in-out infinite alternate;
}
.scn-poem-and-so-upon-this-wise .sun {
  position: absolute;
  top: 10%; left: 40%;
  width: 40px; height: 40px;
  background: radial-gradient(circle, #fff6d0 0%, #ffcc80 60%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px rgba(255,204,128,0.4);
  animation: psup-sun 25s linear infinite;
}
.scn-poem-and-so-upon-this-wise .cloudlet {
  position: absolute;
  top: 18%; left: 60%;
  width: 70px; height: 14px;
  background: linear-gradient(180deg, rgba(255,255,240,0.7) 0%, rgba(255,255,240,0.1) 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: psup-cloud 40s linear infinite;
}
.scn-poem-and-so-upon-this-wise .stage {
  position: absolute;
  bottom: 20%; left: 30%; right: 30%;
  height: 12%;
  background: linear-gradient(180deg, #d6a56a 0%, #b08040 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 -4px 15px rgba(0,0,0,0.1);
  animation: psup-stage 9s ease-in-out infinite;
}
.scn-poem-and-so-upon-this-wise .speaker {
  position: absolute;
  bottom: 32%; left: 46%;
  width: 20px; height: 32px;
  background: linear-gradient(180deg, #2a1e12 0%, #1a0f08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: psup-speak 5s ease-in-out infinite;
}
.scn-poem-and-so-upon-this-wise .smile {
  position: absolute;
  top: 12%; left: 30%;
  width: 30px; height: 10px;
  border: 4px solid #d66a3a;
  border-top: 0;
  border-radius: 0 0 50% 50%;
  filter: drop-shadow(0 0 8px rgba(214,106,58,0.4));
  animation: psup-smile 7s ease-in-out infinite alternate;
}
.scn-poem-and-so-upon-this-wise .saint {
  position: absolute;
  bottom: 30%; left: 60%;
  width: 18px; height: 28px;
  background: linear-gradient(180deg, #c8a882 0%, #a07a5a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform: scale(0.7);
  animation: psup-peek 8s ease-in-out infinite;
}
@keyframes psup-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes psup-sun {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(90deg) translateY(-3px); }
  50% { transform: rotate(180deg) translateY(0); }
  75% { transform: rotate(270deg) translateY(2px); }
  100% { transform: rotate(360deg) translateY(0); }
}
@keyframes psup-cloud {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(50px) scaleX(1.1); }
  100% { transform: translateX(-30px) scaleX(0.95); }
}
@keyframes psup-stage {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(0.98); }
}
@keyframes psup-speak {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(2px,-1px) rotate(3deg); }
  50% { transform: translate(0,0) rotate(0deg); }
  75% { transform: translate(-2px,-1px) rotate(-3deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes psup-smile {
  0% { transform: scaleX(1) rotate(-5deg); opacity: 0.7; }
  50% { transform: scaleX(1.3) rotate(0deg); opacity: 1; }
  100% { transform: scaleX(1) rotate(5deg); opacity: 0.8; }
}
@keyframes psup-peek {
  0% { transform: scale(0.7) translateY(0); }
  50% { transform: scale(0.7) translateY(-4px); }
  100% { transform: scale(0.7) translateY(0); }
}

/* Scene 3: poem-she-wonders */
.scn-poem-she-wonders {
  background: 
    linear-gradient(180deg, #a3b8c4 0%, #8899a6 40%, #6c7a85 100%),
    radial-gradient(ellipse at 50% 20%, #c4d1d6 0%, transparent 50%);
}
.scn-poem-she-wonders .sky {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #a3b8c4 0%, #8899a6 100%);
  animation: pshw-sky 14s ease-in-out infinite alternate;
}
.scn-poem-she-wonders .clouds-left {
  position: absolute;
  top: 15%; left: 10%;
  width: 100px; height: 20px;
  background: linear-gradient(180deg, rgba(200,210,220,0.7) 0%, rgba(200,210,220,0.1) 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: pshw-drift-l 55s linear infinite;
}
.scn-poem-she-wonders .clouds-right {
  position: absolute;
  top: 20%; right: 8%;
  width: 80px; height: 16px;
  background: linear-gradient(180deg, rgba(200,210,220,0.5) 0%, rgba(200,210,220,0.05) 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: pshw-drift-r 60s linear infinite reverse;
}
.scn-poem-she-wonders .figure-up {
  position: absolute;
  bottom: 25%; left: 48%;
  width: 22px; height: 42px;
  background: linear-gradient(180deg, #2a2e33 0%, #1a1c20 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%;
  animation: pshw-look 8s ease-in-out infinite;
}
.scn-poem-she-wonders .field {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  box-shadow: inset 0 6px 15px rgba(0,0,0,0.2);
  animation: pshw-field 11s ease-in-out infinite alternate;
}
.scn-poem-she-wonders .flush {
  position: absolute;
  bottom: 28%; left: 0; right: 0;
  height: 8%;
  background: linear-gradient(180deg, rgba(180,170,160,0.2) 0%, transparent 100%);
  filter: blur(2px);
  animation: pshw-flush 7s ease-in-out infinite;
}
.scn-poem-she-wonders .glow-weak {
  position: absolute;
  top: 10%; left: 38%;
  width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(240,230,200,0.15) 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(8px);
  animation: pshw-fade 20s ease-in-out infinite alternate;
}
@keyframes pshw-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes pshw-drift-l {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(40px) scaleX(1.1); }
  100% { transform: translateX(-20px) scaleX(0.95); }
}
@keyframes pshw-drift-r {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-30px) scaleX(1.05); }
  100% { transform: translateX(20px) scaleX(0.9); }
}
@keyframes pshw-look {
  0% { transform: translate(0,0) rotate(0deg) scaleY(1); }
  33% { transform: translate(3px,-2px) rotate(2deg) scaleY(1.02); }
  66% { transform: translate(-2px,-1px) rotate(-1deg) scaleY(0.98); }
  100% { transform: translate(0,0) rotate(0deg) scaleY(1); }
}
@keyframes pshw-field {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(0.99); }
}
@keyframes pshw-flush {
  0% { opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}
@keyframes pshw-fade {
  0% { opacity: 0.2; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

/* Scene 4: poem-surgeons-must-be-careful */
.scn-poem-surgeons-must-be-careful {
  background: 
    linear-gradient(180deg, #f2f5f7 0%, #dce3e8 30%, #b8c4cc 100%),
    radial-gradient(ellipse at 30% 50%, #e6edf0 0%, transparent 40%);
}
.scn-poem-surgeons-must-be-careful .table {
  position: absolute;
  bottom: 22%; left: 25%; right: 25%;
  height: 15%;
  background: linear-gradient(180deg, #c0cad0 0%, #a0aab2 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,0.15);
  animation: psmc-table 10s ease-in-out infinite alternate;
}
.scn-poem-surgeons-must-be-careful .patient {
  position: absolute;
  bottom: 30%; left: 38%; right: 38%;
  height: 12%;
  background: linear-gradient(180deg, #b0b8c0 0%, #909aa2 100%);
  border-radius: 20% 20% 10% 10%;
  clip-path: polygon(15% 0%, 85% 0%, 95% 100%, 5% 100%);
  animation: psmc-patient 6s ease-in-out infinite;
}
.scn-poem-surgeons-must-be-careful .surgeon {
  position: absolute;
  bottom: 30%; left: 30%;
  width: 28px; height: 50px;
  background: linear-gradient(180deg, #2a3a42 0%, #1a2a32 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: psmc-surgeon 5s ease-in-out infinite;
}
.scn-poem-surgeons-must-be-careful .blade {
  position: absolute;
  bottom: 45%; left: 28%;
  width: 20px; height: 4px;
  background: linear-gradient(90deg, #d0a080 0%, #c09060 100%);
  border-radius: 1px 8px 8px 1px;
  box-shadow: 0 0 6px #e0a870;
  animation: psmc-blade 3s ease-in-out infinite;
}
.scn-poem-surgeons-must-be-careful .overhead {
  position: absolute;
  top: 8%; left: 35%; right: 35%;
  height: 10%;
  background: radial-gradient(ellipse at 50% 100%, #e0e8f0 0%, transparent 70%);
  filter: blur(10px);
  animation: psmc-light 8s ease-in-out infinite alternate;
}
.scn-poem-surgeons-must-be-careful .shadows {
  position: absolute;
  inset: 15% 10% 10% 10%;
  background: radial-gradient(ellipse at 40% 50%, rgba(0,0,0,0.08) 0%, transparent 60%);
  animation: psmc-shadow 7s ease-in-out infinite;
}
.scn-poem-surgeons-must-be-careful .train-meta {
  position: absolute;
  bottom: 10%; right: 8%;
  width: 30px; height: 8px;
  background: linear-gradient(90deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 4px;
  filter: blur(1px);
  animation: psmc-train 9s linear infinite;
}
@keyframes psmc-table {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(1px) scaleX(1.005); }
  100% { transform: translateY(-1px) scaleX(0.995); }
}
@keyframes psmc-patient {
  0% { transform: scaleY(1); }
  33% { transform: scaleY(1.02); }
  66% { transform: scaleY(0.98); }
  100% { transform: scaleY(1); }
}
@keyframes psmc-surgeon {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(2px, -1px) rotate(2deg); }
  50% { transform: translate(0,0) rotate(0deg); }
  75% { transform: translate(-2px, 1px) rotate(-2deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes psmc-blade {
  0% { transform: rotate(0deg) translateX(0); opacity: 0.8; }
  50% { transform: rotate(5deg) translateX(3px); opacity: 1; }
  100% { transform: rotate(-3deg) translateX(-1px); opacity: 0.9; }
}
@keyframes psmc-light {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes psmc-shadow {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}
@keyframes psmc-train {
  0% { transform: translateX(0) scaleX(1); }
  25% { transform: translateX(-10px) scaleX(1.1); }
  50% { transform: translateX(-20px) scaleX(0.9); }
  75% { transform: translateX(-30px) scaleX(1.05); }
  100% { transform: translateX(0) scaleX(1); }
}

.scn-poem-little-brig {
  background: linear-gradient(180deg, #0a0a2e 0%, #14143a 50%, #1a1a48 100%), radial-gradient(ellipse at 50% 80%, #2a3a6a 0%, transparent 70%);
}
.scn-poem-little-brig .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #16164a 0%, #0e0e34 100%); animation: plb-sky 10s ease-in-out infinite alternate; }
.scn-poem-little-brig .stars { position:absolute; inset:0 0 55% 0; background: radial-gradient(circle at 20% 30%, #ffffff 0%, transparent 1.5px), radial-gradient(circle at 70% 20%, #ffffff 0%, transparent 1px), radial-gradient(circle at 40% 60%, #ffffff 0%, transparent 1.2px), radial-gradient(circle at 90% 45%, #ffffff 0%, transparent 0.8px), radial-gradient(circle at 10% 80%, #ffffff 0%, transparent 1px); animation: plb-twinkle 4s ease-in-out infinite alternate; }
.scn-poem-little-brig .sea { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #1a2a4a 0%, #0e1a2e 100%); border-radius: 40% 50% 0 0 / 20% 30% 0 0; animation: plb-wave 8s ease-in-out infinite alternate; }
.scn-poem-little-brig .ship { position:absolute; bottom:25%; left:50%; width:90px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%; animation: plb-rock 6s ease-in-out infinite; }
.scn-poem-little-brig .mast { position:absolute; bottom:35%; left:50%; width:4px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; animation: plb-rock 6s ease-in-out infinite; }
.scn-poem-little-brig .sail { position:absolute; bottom:38%; left:50%; width:40px; height:30px; transform:translateX(-50%) scaleX(0.6); background: linear-gradient(180deg, rgba(255,230,180,0.3) 0%, rgba(255,200,150,0.1) 100%); border-radius: 50% 50% 0 0; clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: plb-flap 3s ease-in-out infinite alternate; }
.scn-poem-little-brig .figure { position:absolute; bottom:30%; left:44%; width:12px; height:24px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: plb-figure 4s ease-in-out infinite; }
@keyframes plb-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes plb-twinkle { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes plb-wave { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-4px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes plb-rock { 0%,100% { transform: translateX(-50%) rotate(-2deg) } 50% { transform: translateX(-50%) rotate(2deg) } }
@keyframes plb-flap { 0% { transform: translateX(-50%) scaleX(0.6) skewY(0deg) } 50% { transform: translateX(-50%) scaleX(0.7) skewY(2deg) } 100% { transform: translateX(-50%) scaleX(0.5) skewY(-2deg) } }
@keyframes plb-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0) } 25% { transform: translateX(-50%) translateY(-2px) rotate(2deg) } 75% { transform: translateX(-50%) translateY(1px) rotate(-2deg) } }

.scn-poem-god-gave-a-loaf {
  background: linear-gradient(180deg, #8a8a7a 0%, #6a6a5a 40%, #4a4a3a 100%), radial-gradient(ellipse at 50% 30%, #b0b0a0 0%, transparent 70%);
}
.scn-poem-god-gave-a-loaf .bg { position:absolute; inset:0; background: linear-gradient(180deg, #9a9a8a 0%, #7a7a6a 100%); animation: pgl-sky 12s ease-in-out infinite alternate; }
.scn-poem-god-gave-a-loaf .hand { position:absolute; bottom:20%; left:40%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; animation: pgl-tremble 2s ease-in-out infinite; }
.scn-poem-god-gave-a-loaf .crumb { position:absolute; bottom:35%; left:36%; width:8px; height:6px; background: radial-gradient(circle, #c0a060 0%, #a08040 70%); border-radius: 50%; box-shadow: 0 0 10px 2px rgba(192,160,96,0.4); animation: pgl-glint 3s ease-in-out infinite alternate; }
.scn-poem-god-gave-a-loaf .bird { position:absolute; top:20%; right:20%; width:24px; height:16px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 0 0; clip-path: polygon(0 100%, 30% 0, 70% 0, 100% 100%); animation: pgl-fly 6s ease-in-out infinite; }
.scn-poem-god-gave-a-loaf .table { position:absolute; bottom:10%; left:0; right:0; height:18%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); animation: pgl-settle 10s ease-in-out infinite alternate; }
@keyframes pgl-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes pgl-tremble { 0% { transform: translateX(-50%) rotate(0deg) scale(1) } 30% { transform: translateX(-50%) rotate(2deg) scale(1.02) } 60% { transform: translateX(-50%) rotate(-1deg) scale(0.98) } 100% { transform: translateX(-50%) rotate(0deg) scale(1) } }
@keyframes pgl-glint { 0% { box-shadow: 0 0 8px 2px rgba(192,160,96,0.3); opacity:0.7 } 50% { box-shadow: 0 0 20px 6px rgba(192,160,96,0.6); opacity:1 } 100% { box-shadow: 0 0 12px 3px rgba(192,160,96,0.4); opacity:0.8 } }
@keyframes pgl-fly { 0%,100% { transform: translate(0,0) rotate(0deg) } 30% { transform: translate(8px,-6px) rotate(5deg) } 70% { transform: translate(-4px,4px) rotate(-3deg) } }
@keyframes pgl-settle { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

.scn-poem-my-country-need-not {
  background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 40%, #5a4a3a 100%), radial-gradient(ellipse at 50% 20%, #c0b090 0%, transparent 60%);
}
.scn-poem-my-country-need-not .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #c8b8a0 0%, #b0a080 100%); animation: pcn-sky 15s ease-in-out infinite alternate; }
.scn-poem-my-country-need-not .stars { position:absolute; inset:0 0 55% 0; background: radial-gradient(circle at 30% 40%, #ffffff 0%, transparent 1px), radial-gradient(circle at 70% 20%, #ffffff 0%, transparent 0.8px), radial-gradient(circle at 50% 70%, #ffffff 0%, transparent 1.2px); animation: pcn-twinkle 5s ease-in-out infinite alternate; }
.scn-poem-my-country-need-not .figure { position:absolute; bottom:25%; left:50%; width:40px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; animation: pcn-bow 8s ease-in-out infinite; }
.scn-poem-my-country-need-not .gown { position:absolute; bottom:10%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 30% 30%; clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%); animation: pcn-drape 12s ease-in-out infinite alternate; }
.scn-poem-my-country-need-not .ground { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; animation: pcn-shift 20s ease-in-out infinite alternate; }
@keyframes pcn-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes pcn-twinkle { 0% { opacity:0.4 } 50% { opacity:0.9 } 100% { opacity:0.5 } }
@keyframes pcn-bow { 0%,100% { transform: translateX(-50%) rotate(0deg) } 40% { transform: translateX(-50%) rotate(-5deg) } 70% { transform: translateX(-50%) rotate(3deg) } }
@keyframes pcn-drape { 0% { clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%); transform: scaleX(1) } 50% { clip-path: polygon(15% 0, 85% 0, 95% 100%, 5% 100%); transform: scaleX(1.05) } 100% { clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%); transform: scaleX(1) } }
@keyframes pcn-shift { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

.scn-poem-portraits-are-to-daily-faces {
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 40%, #1a0a0a 100%), radial-gradient(ellipse at 80% 30%, #5a4a3a 0%, transparent 60%);
}
.scn-poem-portraits-are-to-daily-faces .wall { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 100%); animation: ppf-fade 10s ease-in-out infinite alternate; }
.scn-poem-portraits-are-to-daily-faces .window { position:absolute; top:10%; left:65%; width:60px; height:80px; background: linear-gradient(180deg, #b09060 0%, #7a5a3a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,200,150,0.3); animation: ppf-light 8s ease-in-out infinite alternate; }
.scn-poem-portraits-are-to-daily-faces .portrait { position:absolute; top:25%; left:20%; width:80px; height:100px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border: 3px solid #6a5a4a; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); animation: ppf-sway 6s ease-in-out infinite; }
.scn-poem-portraits-are-to-daily-faces .hand { position:absolute; bottom:20%; left:45%; width:30px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: ppf-reach 7s ease-in-out infinite; }
.scn-poem-portraits-are-to-daily-faces .pebble { position:absolute; bottom:30%; left:42%; width:10px; height:10px; background: radial-gradient(circle, #8a7a6a 0%, #5a4a3a 100%); border-radius: 50%; box-shadow: 0 0 12px 3px rgba(138,122,106,0.3); animation: ppf-hold 4s ease-in-out infinite alternate; }
@keyframes ppf-fade { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ppf-light { 0% { box-shadow: inset 0 0 20px rgba(255,200,150,0.2); } 50% { box-shadow: inset 0 0 40px rgba(255,200,150,0.5); } 100% { box-shadow: inset 0 0 20px rgba(255,200,150,0.2); } }
@keyframes ppf-sway { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(2deg) } 75% { transform: rotate(-2deg) } }
@keyframes ppf-reach { 0%,100% { transform: translateX(-50%) translateY(0) } 30% { transform: translateX(-50%) translateY(-6px) } 60% { transform: translateX(-50%) translateY(2px) } }
@keyframes ppf-hold { 0% { transform: scale(1); box-shadow: 0 0 8px 2px rgba(138,122,106,0.2) } 50% { transform: scale(1.1); box-shadow: 0 0 16px 4px rgba(138,122,106,0.5) } 100% { transform: scale(1); box-shadow: 0 0 8px 2px rgba(138,122,106,0.2) } }

/* per scene */
.scn-poem-hope-is-the-thing { background: linear-gradient(180deg, #fce4b8 0%, #f2a65a 40%, #c46a3a 100%), radial-gradient(ellipse at 50% 100%, #f2a65a 0%, transparent 70%); }
.scn-poem-hope-is-the-thing .sky   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #ffcd94 0%, transparent 100%); animation: hp-sky 12s ease-in-out infinite alternate; }
.scn-poem-hope-is-the-thing .sun   { position:absolute; top:15%; left:55%; width:50px; height:50px; background: radial-gradient(circle, #ffedb0 0%, #f2a65a 70%); border-radius:50%; box-shadow: 0 0 80px 20px #f2a65a, 0 0 160px 40px rgba(242,166,90,.4); animation: hp-sun 6s ease-in-out infinite alternate; }
.scn-poem-hope-is-the-thing .cloud-a{ position:absolute; top:22%; left:10%; width:70px; height:16px; background: linear-gradient(180deg, rgba(255,235,200,.6) 0%, rgba(255,235,200,.1) 100%); border-radius:50%; filter: blur(5px); animation: hp-cloud 40s linear infinite; }
.scn-poem-hope-is-the-thing .cloud-b{ position:absolute; top:26%; right:5%; width:50px; height:12px; background: linear-gradient(180deg, rgba(255,235,200,.5) 0%, rgba(255,235,200,.05) 100%); border-radius:50%; filter: blur(4px); animation: hp-cloud 50s linear infinite reverse; animation-delay: -10s; }
.scn-poem-hope-is-the-thing .branch{ position:absolute; bottom:30%; left:50%; width:140px; height:4px; background: linear-gradient(90deg, transparent, #7a4b3c, #4a2a1a, transparent); transform:translateX(-50%); border-radius:2px; }
.scn-poem-hope-is-the-thing .bird  { position:absolute; bottom:33%; left:48%; width:16px; height:12px; background: #3a2a1a; border-radius:60% 40% 50% 30% / 50% 60% 40% 50%; transform-origin: bottom center; animation: hp-bird 4s ease-in-out infinite alternate; }
.scn-poem-hope-is-the-thing .feather{ position:absolute; bottom:38%; left:52%; width:4px; height:10px; background: #5a3a1a; border-radius:50% 50% 0 0; transform-origin: bottom center; animation: hp-feather 6s ease-in-out infinite; }
@keyframes hp-sky   { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes hp-sun   { 0% { box-shadow: 0 0 60px 15px #f2a65a, 0 0 120px 30px rgba(242,166,90,.5); transform:translate(0,0) scale(1); } 50% { box-shadow: 0 0 100px 25px #ffc080, 0 0 200px 50px rgba(255,192,128,.6); transform:translate(2px,-2px) scale(1.05); } 100% { box-shadow: 0 0 70px 18px #f2a65a, 0 0 140px 35px rgba(242,166,90,.5); transform:translate(0,0) scale(1); } }
@keyframes hp-cloud{ 0% { transform:translateX(0) } 50% { transform:translateX(30px) scale(1.02) } 100% { transform:translateX(60px) } }
@keyframes hp-bird  { 0% { transform:rotate(-3deg) translateY(0) } 50% { transform:rotate(2deg) translateY(-1px) } 100% { transform:rotate(-3deg) translateY(0) } }
@keyframes hp-feather{ 0% { transform:translate(0,0) rotate(0) opacity:1 } 50% { transform:translate(10px,15px) rotate(120deg) opacity:.8 } 100% { transform:translate(20px,30px) rotate(240deg) opacity:0 } }

.scn-poem-dare-you-see { background: linear-gradient(180deg, #2a0a05 0%, #1a0502 50%, #0a0201 100%), radial-gradient(ellipse at 50% 100%, #3a1a0a 0%, transparent 70%); }
.scn-poem-dare-you-see .bg-forge{ position:absolute; inset:0; background: radial-gradient(circle at 50% 70%, #4a1a0a 0%, #1a0502 80%); }
.scn-poem-dare-you-see .anvil  { position:absolute; bottom:25%; left:50%; width:60px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a05 100%); border-radius:10% 10% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-poem-dare-you-see .fire   { position:absolute; bottom:30%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: radial-gradient(circle at 50% 0%, #d86a1a 0%, #a0420a 60%, #4a1a0a 100%); border-radius:50% 50% 20% 20% / 70% 70% 30% 30%; animation: bs-fire 0.8s ease-in-out infinite alternate; }
.scn-poem-dare-you-see .smith  { position:absolute; bottom:22%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #1a0a05 0%, #0a0201 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: bs-smith 1.2s ease-in-out infinite; }
.scn-poem-dare-you-see .hammer { position:absolute; bottom:28%; left:40%; width:6px; height:20px; background: #3a2a1a; border-radius:2px 2px 20% 20%; transform-origin: bottom center; animation: bs-hammer 0.6s ease-in-out infinite alternate; }
.scn-poem-dare-you-see .spark-a{ position:absolute; bottom:45%; left:48%; width:3px; height:3px; background: #f0a030; border-radius:50%; box-shadow: 0 0 4px 1px #f0a030; animation: bs-spark 1.5s ease-out infinite; }
.scn-poem-dare-you-see .spark-b{ position:absolute; bottom:50%; left:52%; width:2px; height:2px; background: #f0a030; border-radius:50%; box-shadow: 0 0 3px 1px #f0a030; animation: bs-spark 1.8s ease-out infinite; animation-delay: 0.5s; }
@keyframes bs-fire { 0% { transform:translateX(-50%) scale(1) rotate(-2deg); opacity:.9 } 25% { transform:translateX(-50%) scale(1.05) rotate(1deg); opacity:1 } 50% { transform:translateX(-50%) scale(1) rotate(0); opacity:.95 } 75% { transform:translateX(-50%) scale(0.95) rotate(-1deg); opacity:1 } 100% { transform:translateX(-50%) scale(1) rotate(2deg); opacity:.9 } }
@keyframes bs-smith { 0% { transform:translateY(0) rotate(0) } 50% { transform:translateY(-2px) rotate(2deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes bs-hammer{ 0% { transform:rotate(-30deg) } 100% { transform:rotate(30deg) } }
@keyframes bs-spark { 0% { transform:translate(0,0) scale(1) rotate(0deg); opacity:1 } 50% { transform:translate(-10px,-20px) scale(1.5) rotate(180deg); opacity:.7 } 100% { transform:translate(-20px,-40px) scale(2) rotate(360deg); opacity:0 } }

.scn-poem-how-many-legions { background: linear-gradient(180deg, #4a2a5a 0%, #8a3a5a 30%, #c84e3a 60%, #e08040 100%), radial-gradient(ellipse at 50% 0%, #4a2a5a 0%, transparent 60%); }
.scn-poem-how-many-legions .sky    { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #6a3a6a 0%, transparent 100%); animation: lg-sky 15s ease-in-out infinite alternate; }
.scn-poem-how-many-legions .sun    { position:absolute; bottom:30%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, #ffc080 0%, #c84e3a 70%); border-radius:50%; box-shadow: 0 0 100px 20px #c84e3a, 0 0 200px 50px rgba(200,78,58,.4); animation: lg-sun 12s ease-in-out infinite alternate; }
.scn-poem-how-many-legions .ground { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius:60% 40% 0 0 / 30% 20% 0 0; }
.scn-poem-how-many-legions .figure { position:absolute; bottom:22%; left:40%; width:18px; height:38px; background: #1a0a1a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: lg-figure 4s ease-in-out infinite; }
.scn-poem-how-many-legions .flag-left { position:absolute; bottom:30%; left:30%; width:24px; height:6px; background: #5a1a2a; border-radius:2px; transform-origin: left center; animation: lg-flag 2s ease-in-out infinite; }
.scn-poem-how-many-legions .flag-right{ position:absolute; bottom:30%; right:30%; width:24px; height:6px; background: #5a1a2a; border-radius:2px; transform-origin: left center; animation: lg-flag 2.4s ease-in-out infinite reverse; }
.scn-poem-how-many-legions .pool   { position:absolute; bottom:5%; left:30%; right:30%; height:8px; background: linear-gradient(90deg, transparent, #6a3a5a, transparent); border-radius:50%; filter: blur(1px); animation: lg-pool 5s ease-in-out infinite; }
.scn-poem-how-many-legions .crown  { position:absolute; bottom:20%; left:50%; width:14px; height:10px; transform:translateX(-50%); background: #c08030; border-radius:30% 30% 0 0; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: lg-crown 8s ease-in-out infinite; }
@keyframes lg-sky  { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes lg-sun  { 0% { transform:translateX(-50%) translateY(0) scale(1); box-shadow: 0 0 80px 15px #c84e3a, 0 0 160px 30px rgba(200,78,58,.5); } 50% { transform:translateX(-50%) translateY(-5px) scale(1.02); box-shadow: 0 0 120px 25px #e08040, 0 0 200px 50px rgba(224,128,64,.6); } 100% { transform:translateX(-50%) translateY(0) scale(1); } }
@keyframes lg-figure{ 0% { transform:translateY(0) rotate(0) } 50% { transform:translateY(-2px) rotate(1deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes lg-flag { 0% { transform:rotate(-15deg) } 50% { transform:rotate(15deg) } 100% { transform:rotate(-15deg) } }
@keyframes lg-pool { 0% { transform:scaleX(1); opacity:.6 } 50% { transform:scaleX(1.05); opacity:.8 } 100% { transform:scaleX(1); opacity:.6 } }
@keyframes lg-crown{ 0% { transform:translateX(-50%) translateY(0) rotate(0) } 50% { transform:translateX(-50%) translateY(-2px) rotate(3deg) } 100% { transform:translateX(-50%) translateY(0) rotate(0) } }

.scn-poem-i-never-hear-escape { background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 50% 50%, #5a5a6a 0%, transparent 70%); }
.scn-poem-i-never-hear-escape .wall  { position:absolute; inset:0 15% 0 15%; background: linear-gradient(90deg, #2a2a3a, #3a3a4a, #2a2a3a); border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-poem-i-never-hear-escape .window{ position:absolute; top:25%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: #6a6a7a; border:3px solid #4a4a5a; border-radius:4px; overflow:hidden; }
.scn-poem-i-never-hear-escape .sky-through{ position:absolute; top:25%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #8a8a9a 0%, #5a5a6a 100%); opacity:.5; animation: es-sky 30s linear infinite; }
.scn-poem-i-never-hear-escape .bars { position:absolute; top:20%; left:50%; width:4px; height:70%; transform:translateX(-50%); background: #6a5a4a; box-shadow: -10px 0 0 #6a5a4a, 10px 0 0 #6a5a4a; border-radius:1px; animation: es-bars 0.3s ease-in-out infinite alternate; }
.scn-poem-i-never-hear-escape .figure{ position:absolute; bottom:10%; left:45%; width:16px; height:40px; background: #1a1a2a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: es-figure 2s ease-in-out infinite; }
.scn-poem-i-never-hear-escape .hands { position:absolute; bottom:25%; left:48%; width:12px; height:8px; background: #2a2a3a; border-radius:30% 30% 0 0; animation: es-hands 1.5s ease-in-out infinite; }
.scn-poem-i-never-hear-escape .lock  { position:absolute; bottom:40%; left:50%; width:10px; height:12px; transform:translateX(-50%); background: #5a4a3a; border-radius:30% 30% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: es-lock 0.8s ease-in-out infinite alternate; }
@keyframes es-sky  { 0% { transform:translateX(-50%) translateY(0) } 100% { transform:translateX(-50%) translateY(-50px) } }
@keyframes es-bars { 0% { transform:translateX(-50%) translateX(0) rotate(0) } 50% { transform:translateX(-50%) translateX(1px) rotate(1deg) } 100% { transform:translateX(-50%) translateX(0) rotate(0) } }
@keyframes es-figure{ 0% { transform:translateY(0) } 50% { transform:translateY(-3px) } 100% { transform:translateY(0) } }
@keyframes es-hands { 0% { transform:rotate(0) translateX(0) } 50% { transform:rotate(10deg) translateX(2px) } 100% { transform:rotate(0) translateX(0) } }
@keyframes es-lock { 0% { transform:translateX(-50%) translateY(0) scale(1) } 100% { transform:translateX(-50%) translateY(-1px) scale(0.95) } }

.scn-poem-thanksgiving-day {
  background: linear-gradient(180deg, #a0a0a0 0%, #6a6a6a 50%, #4a4a4a 100%), radial-gradient(ellipse at 50% 100%, #8a8a8a 0%, transparent 70%);
}
.scn-poem-thanksgiving-day .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #b8b8b8 0%, #7a7a7a 100%); animation: thg-bg 20s ease-in-out infinite alternate;
}
.scn-poem-thanksgiving-day .window {
  position: absolute; top: 10%; left: 15%; width: 40%; height: 45%; background: linear-gradient(135deg, #c0c0c0 0%, #8a8a8a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.3); animation: thg-window 8s ease-in-out infinite;
}
.scn-poem-thanksgiving-day .table {
  position: absolute; bottom: 8%; left: 10%; width: 60%; height: 12%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 2% 2% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-poem-thanksgiving-day .chair {
  position: absolute; bottom: 6%; left: 55%; width: 20%; height: 18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; transform: perspective(100px) rotateY(5deg); animation: thg-chair 6s ease-in-out infinite;
}
.scn-poem-thanksgiving-day .plate {
  position: absolute; bottom: 18%; left: 40%; width: 12%; height: 8%; background: radial-gradient(circle, #e0e0e0 0%, #b0b0b0 70%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-poem-thanksgiving-day .candle {
  position: absolute; bottom: 20%; left: 50%; width: 4%; height: 14%; background: linear-gradient(180deg, #e8d8c0 0%, #c0a080 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform: translateX(-50%);
}
.scn-poem-thanksgiving-day .flame {
  position: absolute; bottom: 34%; left: 50%; width: 3%; height: 6%; background: radial-gradient(circle, #ffe0a0 0%, #ffb060 50%, transparent 100%); border-radius: 50%; transform: translateX(-50%); animation: thg-flame 1.5s ease-in-out infinite alternate;
}
@keyframes thg-bg { 0% { opacity: 0.7; } 50% { opacity: 0.85; } 100% { opacity: 0.7; } }
@keyframes thg-window { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.3); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.5); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.3); } }
@keyframes thg-chair { 0% { transform: perspective(100px) rotateY(5deg); } 50% { transform: perspective(100px) rotateY(0deg); } 100% { transform: perspective(100px) rotateY(5deg); } }
@keyframes thg-flame { 0% { transform: translateX(-50%) scale(1) rotate(-5deg); } 50% { transform: translateX(-50%) scale(1.1) rotate(5deg); } 100% { transform: translateX(-50%) scale(0.95) rotate(-3deg); } }

.scn-poem-consecration {
  background: linear-gradient(135deg, #1a100a 0%, #3a2010 50%, #2a1808 100%), radial-gradient(circle at 50% 30%, #5a3a1a 0%, transparent 70%);
}
.scn-poem-consecration .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0e06 0%, #2a1808 100%); animation: csc-bg 12s ease-in-out infinite alternate;
}
.scn-poem-consecration .wall {
  position: absolute; inset: 5%; background: linear-gradient(135deg, #3a2515 0%, #2a1808 100%); border-radius: 2%; box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
}
.scn-poem-consecration .window {
  position: absolute; top: 10%; right: 10%; width: 25%; height: 35%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 20px rgba(50,100,150,0.3); animation: csc-window 20s ease-in-out infinite;
}
.scn-poem-consecration .figure {
  position: absolute; bottom: 15%; left: 35%; width: 12%; height: 35%; background: radial-gradient(ellipse at 50% 30%, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: csc-figure 6s ease-in-out infinite alternate;
}
.scn-poem-consecration .table {
  position: absolute; bottom: 8%; left: 25%; width: 50%; height: 8%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 5% 5% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-poem-consecration .candle {
  position: absolute; bottom: 16%; left: 45%; width: 3%; height: 12%; background: linear-gradient(180deg, #e0c8b0 0%, #a08060 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform: translateX(-50%);
}
.scn-poem-consecration .heart {
  position: absolute; bottom: 24%; left: 50%; width: 8%; height: 7%; background: radial-gradient(circle at 30% 35%, #702243 0%, #4a1520 60%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: translateX(-50%) rotate(45deg); animation: csc-heart 4s ease-in-out infinite alternate;
}
@keyframes csc-bg { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.8; } }
@keyframes csc-window { 0% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 20px rgba(50,100,150,0.3); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.7), 0 0 30px rgba(50,100,150,0.5); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 20px rgba(50,100,150,0.3); } }
@keyframes csc-figure { 0% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(-3px) rotate(2deg) scale(1.02); } 100% { transform: translateY(0) rotate(0deg) scale(1); } }
@keyframes csc-heart { 0% { transform: translateX(-50%) rotate(45deg) scale(1); } 50% { transform: translateX(-50%) rotate(50deg) scale(1.05); } 100% { transform: translateX(-50%) rotate(45deg) scale(1); } }

.scn-poem-love-anterior {
  background: linear-gradient(180deg, #a0a0a0 0%, #7a7a7a 50%, #5a5a5a 100%), radial-gradient(ellipse at 50% 100%, #8a8a7a 0%, transparent 70%);
}
.scn-poem-love-anterior .sky {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #b0b0a8 0%, #8a8a80 100%); animation: lan-sky 30s ease-in-out infinite;
}
.scn-poem-love-anterior .ground {
  position: absolute; bottom: 0; height: 45%; left: 0; right: 0; background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%); border-radius: 30% 70% 0 0 / 50% 80% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-poem-love-anterior .hill {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 20%; background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%); border-radius: 50% 50% 0 0; animation: lan-hill 16s ease-in-out infinite alternate;
}
.scn-poem-love-anterior .figure-a {
  position: absolute; bottom: 35%; left: 30%; width: 8%; height: 16%; background: radial-gradient(ellipse at 50% 40%, #4a4a4a 0%, #2a2a2a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; animation: lan-figure 5s ease-in-out infinite alternate;
}
.scn-poem-love-anterior .figure-b {
  position: absolute; bottom: 35%; left: 35%; width: 8%; height: 16%; background: radial-gradient(ellipse at 50% 40%, #4a4a4a 0%, #2a2a2a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; animation: lan-figure 5s ease-in-out infinite alternate-reverse;
}
.scn-poem-love-anterior .tree {
  position: absolute; bottom: 30%; left: 60%; width: 4%; height: 25%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 5% 5% 40% 40% / 10% 10% 60% 60%; transform-origin: bottom center; animation: lan-tree 10s ease-in-out infinite;
}
.scn-poem-love-anterior .cloud {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 6%; background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(200,200,200,0.1) 100%); border-radius: 50%; filter: blur(8px); animation: lan-cloud 40s linear infinite;
}
@keyframes lan-sky { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes lan-hill { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes lan-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes lan-tree { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes lan-cloud { 0% { transform: translateX(0); } 100% { transform: translateX(80vw); } }

.scn-poem-with-a-flower {
  background: linear-gradient(180deg, #ff7043 0%, #ffb347 30%, #fdd835 60%, #fff9c4 100%), radial-gradient(circle at 70% 80%, #ff8a65 0%, transparent 60%);
}
.scn-poem-with-a-flower .sky {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #ffaa66 0%, #ffd080 50%, #ffe0a0 100%); animation: flo-sky 12s ease-in-out infinite alternate;
}
.scn-poem-with-a-flower .sun {
  position: absolute; top: 10%; right: 15%; width: 15%; height: 15%; background: radial-gradient(circle, #fff5c0 0%, #fdd835 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 60px 20px rgba(255,215,0,0.4); animation: flo-sun 15s ease-in-out infinite;
}
.scn-poem-with-a-flower .grass {
  position: absolute; bottom: 0; height: 35%; left: 0; right: 0; background: linear-gradient(180deg, #5a7a3a 0%, #3a5a2a 100%); border-radius: 20% 80% 0 0 / 40% 60% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-poem-with-a-flower .stem {
  position: absolute; bottom: 25%; left: 25%; width: 1.5%; height: 20%; background: linear-gradient(180deg, #3a6a2a 0%, #2a4a1a 100%); border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: flo-stem 4s ease-in-out infinite alternate;
}
.scn-poem-with-a-flower .flower {
  position: absolute; bottom: 45%; left: 25%; width: 8%; height: 8%; background: radial-gradient(circle at 30% 30%, #ffb0b0 0%, #ff6070 50%, #c02030 100%); border-radius: 50%; transform: translateX(-50%); animation: flo-flower 5s ease-in-out infinite alternate;
}
.scn-poem-with-a-flower .hand {
  position: absolute; bottom: 20%; left: 18%; width: 10%; height: 14%; background: radial-gradient(ellipse at 50% 60%, #d4a080 0%, #b08060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: flo-hand 8s ease-in-out infinite;
}
.scn-poem-with-a-flower .bee {
  position: absolute; top: 40%; left: 40%; width: 4%; height: 4%; background: linear-gradient(90deg, #3a2a0a 0%, #5a4a2a 20%, #3a2a0a 40%, #5a4a2a 60%, #3a2a0a 80%); border-radius: 50%; box-shadow: 0 0 10px rgba(255,200,50,0.3); animation: flo-bee 3s ease-in-out infinite;
}
@keyframes flo-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes flo-sun { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes flo-stem { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes flo-flower { 0% { transform: translateX(-50%) rotate(-5deg) scale(1); } 50% { transform: translateX(-50%) rotate(5deg) scale(1.1); } 100% { transform: translateX(-50%) rotate(-5deg) scale(1); } }
@keyframes flo-hand { 0% { transform: translateY(0) rotate(-10deg); } 50% { transform: translateY(-3px) rotate(-8deg); } 100% { transform: translateY(0) rotate(-10deg); } }
@keyframes flo-bee { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(20px, -10px) scale(1.1); } 50% { transform: translate(40px, 5px) scale(0.95); } 75% { transform: translate(60px, -5px) scale(1.05); } 100% { transform: translate(80px,0) scale(1); } }

.scn-poem-each-life-converges {
  background: linear-gradient(180deg, #8a9bb0 0%, #b0c0d0 40%, #d0d8e0 100%),
              radial-gradient(ellipse at 50% 90%, rgba(200,210,220,.3) 0%, transparent 70%);
}
.scn-poem-each-life-converges .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #aab8c8 0%, transparent 100%);
  animation: clc-sky 20s ease-in-out infinite alternate;
}
.scn-poem-each-life-converges .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #687a6a 0%, #3a4a3a 100%);
  border-radius: 30% 70% 0 0 / 50% 90% 0 0;
}
.scn-poem-each-life-converges .path {
  position: absolute; bottom: 10%; left: 50%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #b8a880 0%, #8a7060 100%);
  transform: translateX(-50%);
  clip-path: polygon(40% 0%, 60% 0%, 80% 100%, 20% 100%);
  animation: clc-path 12s ease-in-out infinite alternate;
}
.scn-poem-each-life-converges .hill-left {
  position: absolute; bottom: 40%; left: -5%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 50% 0% 0% 50% / 100% 0% 0% 100%;
  animation: clc-hill 18s ease-in-out infinite alternate;
}
.scn-poem-each-life-converges .hill-right {
  position: absolute; bottom: 38%; right: -5%; width: 40%; height: 22%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 0% 50% 50% 0% / 0% 100% 100% 0%;
  animation: clc-hill 18s ease-in-out infinite alternate-reverse;
}
.scn-poem-each-life-converges .centre-glow {
  position: absolute; bottom: 20%; left: 50%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0e8c0 0%, #d0bc88 60%, transparent 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 30px 10px rgba(200,180,120,.6);
  animation: clc-glow 8s ease-in-out infinite alternate;
}
.scn-poem-each-life-converges .rainbow-hint {
  position: absolute; top: 20%; left: 25%; width: 50%; height: 8%;
  background: linear-gradient(90deg, #b87878 0%, #d0a060 30%, #c0c06a 50%, #78b0d0 70%, #a078c0 100%);
  opacity: .12; border-radius: 50%; filter: blur(10px);
  animation: clc-rainbow 30s ease-in-out infinite alternate;
}
@keyframes clc-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .75 } }
@keyframes clc-path { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(.98) } }
@keyframes clc-hill { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.01) } 100% { transform: translateY(0) scale(.99) } }
@keyframes clc-glow { 0% { opacity: .6; box-shadow: 0 0 20px 8px rgba(200,180,120,.4) } 50% { opacity: 1; box-shadow: 0 0 40px 18px rgba(200,180,120,.7) } 100% { opacity: .7; box-shadow: 0 0 25px 10px rgba(200,180,120,.5) } }
@keyframes clc-rainbow { 0% { opacity: .08; transform: scaleX(.9) } 50% { opacity: .15; transform: scaleX(1.1) } 100% { opacity: .1; transform: scaleX(1) } }

.scn-poem-before-i-got-my-eye-put-out {
  background: linear-gradient(180deg, #fff8e0 0%, #b0d4ff 40%, #6a8fc0 100%),
              radial-gradient(ellipse at 50% 0%, rgba(255,240,200,.8) 0%, transparent 60%);
}
.scn-poem-before-i-got-my-eye-put-out .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c8e0ff 0%, transparent 100%);
  animation: bge-sky 8s ease-in-out infinite alternate;
}
.scn-poem-before-i-got-my-eye-put-out .sun {
  position: absolute; top: 10%; left: 60%; width: 70px; height: 70px;
  background: radial-gradient(circle, #fff8a0 0%, #ffd060 60%, #ffb030 100%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(255,200,80,.6), 0 0 150px 60px rgba(255,180,60,.3);
  animation: bge-sun 4s ease-in-out infinite alternate;
}
.scn-poem-before-i-got-my-eye-put-out .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8aaa6a 0%, #4a7a3a 100%);
  border-radius: 0% 0% 0% 0%;
}
.scn-poem-before-i-got-my-eye-put-out .figure {
  position: absolute; bottom: 25%; left: 35%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bge-figure 3s ease-in-out infinite alternate;
}
.scn-poem-before-i-got-my-eye-put-out .shadow {
  position: absolute; bottom: 22%; left: 28%; width: 60px; height: 8px;
  background: rgba(0,0,0,.25);
  border-radius: 50%;
  transform: skewX(-30deg);
  animation: bge-shadow 3s ease-in-out infinite alternate;
}
.scn-poem-before-i-got-my-eye-put-out .bird {
  position: absolute; width: 12px; height: 8px;
  background: #2a2a3a;
  border-radius: 50% 50% 0% 0%;
  animation: bge-bird 4s ease-in-out infinite;
}
.scn-poem-before-i-got-my-eye-put-out .bird-1 { top: 15%; left: 20%; animation-delay: 0s; }
.scn-poem-before-i-got-my-eye-put-out .bird-2 { top: 12%; left: 70%; animation-delay: 1s; }
@keyframes bge-sky { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes bge-sun { 0% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(255,200,80,.5) } 50% { transform: scale(1.05); box-shadow: 0 0 100px 40px rgba(255,200,80,.7) } 100% { transform: scale(.98); box-shadow: 0 0 70px 25px rgba(255,200,80,.55) } }
@keyframes bge-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(8px) rotate(3deg) } 50% { transform: translateX(-4px) rotate(-2deg) } 75% { transform: translateX(6px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes bge-shadow { 0% { transform: skewX(-30deg) scaleX(1) } 50% { transform: skewX(-28deg) scaleX(1.05) } 100% { transform: skewX(-32deg) scaleX(.95) } }
@keyframes bge-bird { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(15px,-8px) rotate(-5deg) } 50% { transform: translate(30px,-4px) rotate(3deg) } 75% { transform: translate(15px,-10px) rotate(-2deg) } 100% { transform: translate(0,0) rotate(0deg) } }

.scn-poem-he-preached-upon-breadth {
  background: linear-gradient(180deg, #ffecb0 0%, #ffe080 40%, #ffd060 100%),
              radial-gradient(ellipse at 50% 100%, #ffe080 0%, transparent 80%);
}
.scn-poem-he-preached-upon-breadth .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #ffd0a0 0%, #ffb870 100%);
  border-radius: 0 0 40% 40% / 0 0 30% 30%;
}
.scn-poem-he-preached-upon-breadth .stage {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #c08050 0%, #8a6040 100%);
  border-radius: 10% 10% 0 0;
}
.scn-poem-he-preached-upon-breadth .pulpit {
  position: absolute; bottom: 18%; left: 50%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #a06840 0%, #704828 100%);
  border-radius: 10% 10% 4% 4%;
  transform: translateX(-50%);
}
.scn-poem-he-preached-upon-breadth .preacher {
  position: absolute; bottom: 22%; left: 45%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hpb-preacher 2s ease-in-out infinite;
}
.scn-poem-he-preached-upon-breadth .arm-wide {
  position: absolute; bottom: 32%; left: 30%; width: 30px; height: 6px;
  background: #2a1a1a;
  border-radius: 10% 0% 0% 10%;
  transform-origin: right center;
  animation: hpb-arm-wide 2s ease-in-out infinite alternate;
}
.scn-poem-he-preached-upon-breadth .arm-narrow {
  position: absolute; bottom: 28%; left: 52%; width: 12px; height: 6px;
  background: #2a1a1a;
  border-radius: 0% 10% 10% 0%;
  transform-origin: left center;
  animation: hpb-arm-narrow 2s ease-in-out infinite alternate;
}
.scn-poem-he-preached-upon-breadth .float-sign {
  position: absolute; top: 25%; left: 50%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #ff4080, #ffa040, #40ffa0);
  border-radius: 20%;
  transform: translateX(-50%);
  animation: hpb-float 3s ease-in-out infinite alternate;
}
@keyframes hpb-preacher { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(-3deg) scaleY(1.02) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes hpb-arm-wide { 0% { transform: rotate(30deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(25deg) } }
@keyframes hpb-arm-narrow { 0% { transform: rotate(-10deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(-5deg) } }
@keyframes hpb-float { 0% { transform: translateX(-50%) translateY(0) scale(1) } 50% { transform: translateX(-50%) translateY(-8px) scale(1.1) } 100% { transform: translateX(-50%) translateY(2px) scale(.95) } }

.scn-poem-when-i-hoped-i-feared {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 40%, #3a3a5a 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a44 0%, transparent 70%);
}
.scn-poem-when-i-hoped-i-feared .bg-dark {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 0 0 30% 30%;
}
.scn-poem-when-i-hoped-i-feared .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
}
.scn-poem-when-i-hoped-i-feared .window {
  position: absolute; top: 20%; left: 40%; width: 30px; height: 40px;
  background: radial-gradient(circle at 50% 50%, #fff8d0 0%, #e0c880 80%);
  border-radius: 10%;
  box-shadow: 0 0 40px 15px rgba(200,180,100,.5);
  animation: whf-window 4s ease-in-out infinite alternate;
}
.scn-poem-when-i-hoped-i-feared .light-beam {
  position: absolute; top: 35%; left: 40%; width: 30px; height: 50%;
  background: linear-gradient(180deg, rgba(255,248,200,.15) 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  transform: scaleY(0.8);
  animation: whf-beam 5s ease-in-out infinite alternate;
}
.scn-poem-when-i-hoped-i-feared .figure-kneel {
  position: absolute; bottom: 18%; left: 50%; width: 16px; height: 28px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform: translateX(-50%) rotate(5deg);
  transform-origin: bottom center;
  animation: whf-figure 6s ease-in-out infinite alternate;
}
.scn-poem-when-i-hoped-i-feared .spectre-hint {
  position: absolute; top: 10%; right: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, rgba(100,130,160,.15) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: whf-spectre 8s ease-in-out infinite alternate;
}
@keyframes whf-window { 0% { opacity: .7; box-shadow: 0 0 30px 10px rgba(200,180,100,.4) } 50% { opacity: 1; box-shadow: 0 0 60px 25px rgba(200,180,100,.7) } 100% { opacity: .8; box-shadow: 0 0 35px 12px rgba(200,180,100,.5) } }
@keyframes whf-beam { 0% { opacity: .2; transform: scaleY(.8) } 50% { opacity: .4; transform: scaleY(1) } 100% { opacity: .25; transform: scaleY(.85) } }
@keyframes whf-figure { 0% { transform: translateX(-50%) rotate(5deg) scaleY(1) } 50% { transform: translateX(-50%) rotate(2deg) scaleY(1.02) } 100% { transform: translateX(-50%) rotate(6deg) scaleY(.98) } }
@keyframes whf-spectre { 0% { opacity: .05; transform: translateX(0) } 50% { opacity: .12; transform: translateX(-5px) } 100% { opacity: .08; transform: translateX(3px) } }

.scn-poem-i-reason-earth-is-short {
  background: linear-gradient(180deg, #2b2d42 0%, #1e1a2b 40%, #3a2e4a 100%),
              radial-gradient(ellipse at 50% 30%, #4a3a5a 0%, transparent 70%);
}
.scn-poem-i-reason-earth-is-short .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3c3f5c 0%, #1c1e2e 100%);
  animation: es-sky 12s ease-in-out infinite alternate;
}
.scn-poem-i-reason-earth-is-short .cloud-a {
  position: absolute; top: 25%; left: -20%; width: 80px; height: 20px;
  background: rgba(200,210,230,0.15); border-radius: 50%; filter: blur(8px);
  animation: es-cloud 40s linear infinite;
}
.scn-poem-i-reason-earth-is-short .cloud-b {
  position: absolute; top: 15%; right: -10%; width: 60px; height: 15px;
  background: rgba(190,200,220,0.12); border-radius: 50%; filter: blur(6px);
  animation: es-cloud 55s linear infinite reverse;
}
.scn-poem-i-reason-earth-is-short .hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #2e3a2e 0%, #1a221a 100%);
  border-radius: 40% 60% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: es-hills 20s ease-in-out infinite alternate;
}
.scn-poem-i-reason-earth-is-short .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1e2a1e 0%, #0e120e 100%);
  border-radius: 10% 10% 0 0;
}
.scn-poem-i-reason-earth-is-short .figure {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: es-figure 6s ease-in-out infinite;
}
.scn-poem-i-reason-earth-is-short .light {
  position: absolute; bottom: 34%; left: 45%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffe08a 0%, #c09050 70%);
  border-radius: 50%;
  box-shadow: 0 0 18px 6px rgba(255,224,138,0.5), 0 0 36px 12px rgba(192,144,80,0.3);
  animation: es-light 3s ease-in-out infinite alternate;
}
@keyframes es-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes es-cloud { 0% { transform: translateX(0) } 100% { transform: translateX(120vw) } }
@keyframes es-hills { 0% { transform: translateY(0) scale(1.02) } 50% { transform: translateY(-4px) scale(1) } 100% { transform: translateY(0) scale(0.98) } }
@keyframes es-figure { 0% { transform: translateX(-50%) rotate(-2deg) } 30% { transform: translateX(-48%) rotate(2deg) translateY(-2px) } 60% { transform: translateX(-52%) rotate(0) translateY(0) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes es-light { 0% { opacity:0.6; transform: scale(0.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:0.7; transform: scale(0.95) } }

.scn-poem-sun-kept-setting {
  background: linear-gradient(180deg, #0c0e1a 0%, #1a2440 30%, #3a4a6a 50%, #6a5a4a 70%, #4a3a2a 100%),
              radial-gradient(ellipse at 50% 100%, #5a4a3a 0%, transparent 80%);
}
.scn-poem-sun-kept-setting .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2c3a5a 0%, #4a5a7a 40%, #6a7a8a 70%, #8a7a6a 100%);
  animation: ss-sky 20s ease-in-out infinite alternate;
}
.scn-poem-sun-kept-setting .sun {
  position: absolute; bottom: 35%; left: 50%; width: 40px; height: 40px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffd080 0%, #cc8844 60%, #884422 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 16px rgba(255,208,128,0.4), 0 0 60px 30px rgba(204,136,68,0.2);
  animation: ss-sun 30s linear infinite alternate;
}
.scn-poem-sun-kept-setting .village-house-1 {
  position: absolute; bottom: 6%; left: 10%; width: 50px; height: 35px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  animation: ss-house 8s ease-in-out infinite;
}
.scn-poem-sun-kept-setting .village-house-2 {
  position: absolute; bottom: 8%; left: 28%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  animation: ss-house 10s ease-in-out infinite -2s;
}
.scn-poem-sun-kept-setting .village-house-3 {
  position: absolute; bottom: 5%; left: 45%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
  animation: ss-house 12s ease-in-out infinite -4s;
}
.scn-poem-sun-kept-setting .path {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 12%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0; transform: perspective(200px) rotateX(20deg);
  animation: ss-path 14s ease-in-out infinite alternate;
}
.scn-poem-sun-kept-setting .figure {
  position: absolute; bottom: 14%; left: 35%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ss-figure 6s ease-in-out infinite;
}
.scn-poem-sun-kept-setting .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 6%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 30% 30% 0 0; filter: blur(2px);
  animation: ss-grass 5s ease-in-out infinite alternate;
}
@keyframes ss-sky { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ss-sun { 0% { transform: translateX(-50%) translateY(0) scale(1) } 50% { transform: translateX(-50%) translateY(-4px) scale(1.05) } 100% { transform: translateX(-50%) translateY(0) scale(0.95) } }
@keyframes ss-house { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ss-path { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes ss-figure { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(6px) rotate(1deg) } 50% { transform: translateX(12px) rotate(-1deg) } 75% { transform: translateX(18px) rotate(2deg) } 100% { transform: translateX(24px) rotate(0) } }
@keyframes ss-grass { 0% { transform: skewX(-2deg) } 100% { transform: skewX(2deg) } }

.scn-poem-two-swimmers {
  background: linear-gradient(180deg, #314055 0%, #4a5a6a 30%, #6a7a8a 50%, #7a8a9a 70%, #8a9aaa 100%),
              radial-gradient(ellipse at 30% 60%, #b0c0d0 0%, transparent 70%);
}
.scn-poem-two-swimmers .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a6a7a 0%, #8a9aaa 40%, #aabaca 100%);
  animation: ts-sky 10s ease-in-out infinite alternate;
}
.scn-poem-two-swimmers .sun {
  position: absolute; top: 15%; left: 60%; width: 50px; height: 50px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #ffcc66 0%, #ee9922 50%, #885511 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,204,102,0.5), 0 0 80px 40px rgba(238,153,34,0.3);
  animation: ts-sun 15s linear infinite alternate;
}
.scn-poem-two-swimmers .ocean {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 50%, #0a1a2a 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-poem-two-swimmers .spar {
  position: absolute; bottom: 30%; left: 40%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 2px; transform: rotate(15deg);
  animation: ts-spar 4s ease-in-out infinite alternate;
}
.scn-poem-two-swimmers .swimmer-a {
  position: absolute; bottom: 28%; left: 48%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #e8d8c8 0%, #b8a090 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-20deg); animation: ts-swim-a 3s ease-in-out infinite;
}
.scn-poem-two-swimmers .swimmer-b {
  position: absolute; bottom: 22%; left: 35%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #d0c0b0 0%, #a09080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(30deg); animation: ts-swim-b 4s ease-in-out infinite;
}
.scn-poem-two-swimmers .wave-1 {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, rgba(100,140,180,0.6) 0%, transparent 100%);
  border-radius: 50%; filter: blur(5px);
  animation: ts-wave 8s linear infinite;
}
.scn-poem-two-swimmers .wave-2 {
  position: absolute; bottom: 5%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, rgba(80,120,160,0.4) 0%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: ts-wave 6s linear infinite reverse;
}
.scn-poem-two-swimmers .ship {
  position: absolute; bottom: 35%; left: 70%; width: 40px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  clip-path: polygon(0% 50%, 100% 50%, 100% 100%, 0% 100%);
  transform: scale(0.6); animation: ts-ship 20s linear infinite;
}
@keyframes ts-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ts-sun { 0% { transform: translate(-50%, -50%) translateY(0) scale(1) } 50% { transform: translate(-50%, -50%) translateY(-3px) scale(1.02) } 100% { transform: translate(-50%, -50%) translateY(0) scale(0.98) } }
@keyframes ts-spar { 0% { transform: rotate(12deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-3px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes ts-swim-a { 0% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-15deg) translateX(4px) translateY(-2px) } 100% { transform: rotate(-20deg) translateX(0) } }
@keyframes ts-swim-b { 0% { transform: rotate(30deg) translateX(0) } 50% { transform: rotate(25deg) translateX(-3px) translateY(2px) } 100% { transform: rotate(30deg) translateX(0) } }
@keyframes ts-wave { 0% { transform: translateX(-20px) rotate(0) } 100% { transform: translateX(20px) rotate(2deg) } }
@keyframes ts-ship { 0% { transform: scale(0.6) translateX(0) } 50% { transform: scale(0.6) translateX(10px) } 100% { transform: scale(0.6) translateX(20px) } }

.scn-poem-she-went-as-quiet {
  background: linear-gradient(180deg, #2a1a3a 0%, #4a2a5a 20%, #7a4a6a 40%, #9a6a7a 60%, #b88a8a 80%, #d0a090 100%),
              radial-gradient(ellipse at 50% 20%, #c09090 0%, transparent 60%);
}
.scn-poem-she-went-as-quiet .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #1a0a2a 0%, #4a2a5a 30%, #7a5a6a 60%, #a08070 100%);
  animation: wq-sky 15s ease-in-out infinite alternate;
}
.scn-poem-she-went-as-quiet .flower {
  position: absolute; bottom: 30%; left: 50%; width: 50px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 20%, #e8a0a0 0%, #c07080 40%, #8a4050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 8px rgba(200,100,120,0.3);
  animation: wq-flower 8s ease-in-out infinite;
}
.scn-poem-she-went-as-quiet .dew-drop {
  position: absolute; bottom: 55%; left: 55%; width: 8px; height: 10px;
  background: radial-gradient(circle, #ffffff 0%, #c0d0e0 60%, #8090a0 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: inset 0 2px 4px rgba(255,255,255,0.6);
  animation: wq-dew 6s ease-in-out infinite;
}
.scn-poem-she-went-as-quiet .star {
  position: absolute; top: 12%; left: 70%; width: 6px; height: 6px;
  background: radial-gradient(circle, #fff5e0 0%, #ffd080 50%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 12px 6px rgba(255,240,200,0.5);
  animation: wq-star 3s ease-in-out infinite alternate;
}
.scn-poem-she-went-as-quiet .woman-silhouette {
  position: absolute; bottom: 20%; left: 30%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform: translateX(-50%);
  animation: wq-woman 10s ease-in-out infinite;
}
.scn-poem-she-went-as-quiet .evening-light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(180,140,140,0.2) 0%, transparent 60%);
  animation: wq-light 12s ease-in-out infinite alternate;
}
@keyframes wq-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes wq-flower { 0% { transform: translateX(-50%) rotate(-3deg) } 50% { transform: translateX(-50%) rotate(3deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes wq-dew { 0% { transform: translateY(0) scale(1) opacity:0.6 } 30% { transform: translateY(5px) scale(0.9) opacity:0.8 } 60% { transform: translateY(12px) scale(0.8) opacity:1 } 100% { transform: translateY(0) scale(1) opacity:0.6 } }
@keyframes wq-star { 0% { opacity:0.5; transform: scale(0.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:0.7; transform: scale(0.9) } }
@keyframes wq-woman { 0% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-45%) rotate(-5deg) translateY(-2px) } 50% { transform: translateX(-40%) rotate(0) translateY(0) } 75% { transform: translateX(-35%) rotate(5deg) translateY(-2px) } 100% { transform: translateX(-30%) rotate(0) } }
@keyframes wq-light { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }

/* poem-the-grave-my-little-cottage – calm moonlit grave cottage */
.scn-poem-the-grave-my-little-cottage {
  background: 
    linear-gradient(180deg, #0a0a1a 0%, #1a1a3e 30%, #2c2c5e 60%, #3a3a6a 100%),
    radial-gradient(ellipse at 50% 20%, #4a4a7a 0%, transparent 70%);
}
.scn-poem-the-grave-my-little-cottage .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #15152e 0%, transparent 100%); animation: gr-sky 14s ease-in-out infinite alternate; }
.scn-poem-the-grave-my-little-cottage .moon { position:absolute; top:8%; left:70%; width:40px; height:40px; background: radial-gradient(circle, #d0d0f0 0%, #a0a0d0 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(160,160,208,.5), 0 0 120px 40px rgba(160,160,208,.2); animation: gr-moon 10s ease-in-out infinite alternate; }
.scn-poem-the-grave-my-little-cottage .cloud-cloud-a { position:absolute; top:12%; left:10%; width:90px; height:20px; background: linear-gradient(180deg, rgba(180,180,220,.5) 0%, rgba(180,180,220,.1) 100%); border-radius:50%; filter: blur(6px); animation: gr-drift-a 40s linear infinite; }
.scn-poem-the-grave-my-little-cottage .cloud-cloud-b { position:absolute; top:20%; right:5%; width:70px; height:15px; background: linear-gradient(180deg, rgba(180,180,220,.4) 0%, rgba(180,180,220,.05) 100%); border-radius:50%; filter: blur(5px); animation: gr-drift-b 55s linear infinite reverse; }
.scn-poem-the-grave-my-little-cottage .cottage { position:absolute; bottom:22%; left:50%; width:110px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,.5); animation: gr-cottage 9s ease-in-out infinite; }
.scn-poem-the-grave-my-little-cottage .window-glow { position:absolute; bottom:30%; left:50%; width:20px; height:26px; transform:translateX(-50%); background: radial-gradient(circle, #f0d080 0%, #c09850 70%); border-radius:20% 20% 8% 8%; box-shadow: 0 0 30px 8px #c09850, 0 0 60px 16px rgba(192,152,80,.4); animation: gr-glow 4s ease-in-out infinite alternate; }
.scn-poem-the-grave-my-little-cottage .table { position:absolute; bottom:20%; left:50%; width:50px; height:10px; transform:translateX(-50%); background: linear-gradient(90deg, #5a3a20 0%, #7a5a30 50%, #5a3a20 100%); border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.scn-poem-the-grave-my-little-cottage .teacup-left { position:absolute; bottom:22%; left:45%; width:12px; height:10px; background: radial-gradient(ellipse at 50% 30%, #e8d8c0 0%, #c0a880 100%); border-radius:50% 50% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: gr-tea 3s ease-in-out infinite; }
.scn-poem-the-grave-my-little-cottage .teacup-right { position:absolute; bottom:22%; left:53%; width:12px; height:10px; background: radial-gradient(ellipse at 50% 30%, #e8d8c0 0%, #c0a880 100%); border-radius:50% 50% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: gr-tea 3s ease-in-out infinite 1.5s; }
.scn-poem-the-grave-my-little-cottage .snow-drift { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(180deg, #d0d8e8 0%, #b0b8d0 100%); border-radius: 60% 40% 0 0 / 90% 70% 0 0; animation: gr-snow 20s ease-in-out infinite alternate; }
@keyframes gr-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes gr-moon { 0% { box-shadow: 0 0 40px 15px rgba(160,160,208,.5); } 50% { box-shadow: 0 0 80px 30px rgba(160,160,208,.8); } 100% { box-shadow: 0 0 50px 20px rgba(160,160,208,.5); } }
@keyframes gr-drift-a { 0% { transform: translateX(-40px); } 100% { transform: translateX(130vw); } }
@keyframes gr-drift-b { 0% { transform: translateX(0); } 100% { transform: translateX(-110vw); } }
@keyframes gr-cottage { 0%,100% { transform: translateX(-50%); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes gr-glow { 0% { box-shadow: 0 0 20px 6px #c09850, 0 0 40px 10px rgba(192,152,80,.3); opacity:.8; } 50% { box-shadow: 0 0 40px 14px #f0d080, 0 0 80px 24px rgba(240,208,128,.5); opacity:1; } 100% { box-shadow: 0 0 25px 8px #c09850, 0 0 50px 14px rgba(192,152,80,.35); opacity:.85; } }
@keyframes gr-tea { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(2deg); } }
@keyframes gr-snow { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* poem-me-come – warm dusk arrival at shining gate */
.scn-poem-me-come {
  background: 
    linear-gradient(180deg, #2a1a3a 0%, #4a2a5a 30%, #7a4a3a 60%, #c08040 100%),
    radial-gradient(ellipse at 60% 80%, #d09050 0%, transparent 60%);
}
.scn-poem-me-come .sky-dusk { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a1a3a 0%, #6a3a5a 100%); animation: mc-sky 15s ease-in-out infinite alternate; }
.scn-poem-me-come .ground-path { position:absolute; bottom:0; left:20%; right:20%; height:30%; background: linear-gradient(180deg, #8a6a40 0%, #5a3a20 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; animation: mc-ground 12s ease-in-out infinite alternate; }
.scn-poem-me-come .gate-arch { position:absolute; bottom:25%; left:50%; width:120px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #d0a060 0%, #a07030 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: 0 0 40px 10px #d0a060; animation: mc-gate 8s ease-in-out infinite; }
.scn-poem-me-come .gate-lightrays { position:absolute; bottom:28%; left:50%; width:80px; height:120px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 0%, rgba(255,200,120,.6) 0%, rgba(255,200,120,.1) 100%); border-radius:50% 50% 0 0; filter: blur(8px); animation: mc-rays 5s ease-in-out infinite alternate; }
.scn-poem-me-come .figure-silhouette { position:absolute; bottom:22%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mc-figure 6s ease-in-out infinite; }
.scn-poem-me-come .saint-figures { position:absolute; bottom:30%; left:38%; width:14px; height:36px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mc-saint 8s ease-in-out infinite; }
.scn-poem-me-come .sparkle-sparkle-a { position:absolute; top:15%; left:30%; width:6px; height:6px; background: #ffd080; border-radius:50%; box-shadow: 0 0 40px 10px rgba(255,208,128,.8); animation: mc-sparkle 2s ease-in-out infinite; }
.scn-poem-me-come .sparkle-sparkle-b { position:absolute; top:25%; right:30%; width:4px; height:4px; background: #ffd080; border-radius:50%; box-shadow: 0 0 30px 8px rgba(255,208,128,.6); animation: mc-sparkle 2s ease-in-out infinite 1s; }
@keyframes mc-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes mc-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes mc-gate { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02) translateY(-2px); } }
@keyframes mc-rays { 0% { opacity:.6; transform: translateX(-50%) scaleY(1); } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1); } 100% { opacity:.7; transform: translateX(-50%) scaleY(1); } }
@keyframes mc-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 30% { transform: translateX(8px) translateY(-2px) rotate(1deg); } 70% { transform: translateX(16px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(24px) translateY(0) rotate(0); } }
@keyframes mc-saint { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes mc-sparkle { 0%,100% { opacity:.3; transform: scale(0.5); } 50% { opacity:1; transform: scale(1.5); } }

/* poem-i-wish-i-knew – calm overcast grave visit */
.scn-poem-i-wish-i-knew {
  background: 
    linear-gradient(180deg, #5a6a7a 0%, #7a8a9a 30%, #8a9aa0 60%, #a0aab0 100%),
    radial-gradient(ellipse at 50% 0%, #b0c0c8 0%, transparent 80%);
}
.scn-poem-i-wish-i-knew .overcast-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #6a7a8a 0%, #8a9aa0 100%); animation: wk-sky 18s ease-in-out infinite alternate; }
.scn-poem-i-wish-i-knew .grave-mound { position:absolute; bottom:15%; left:30%; right:30%; height:20%; background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.3); animation: wk-mound 14s ease-in-out infinite alternate; }
.scn-poem-i-wish-i-knew .headstone { position:absolute; bottom:25%; left:50%; width:30px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8a8a8a 0%, #5a5a5a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: wk-stone 10s ease-in-out infinite; }
.scn-poem-i-wish-i-knew .tree-silhouette { position:absolute; bottom:18%; left:15%; width:40px; height:100px; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform-origin: bottom; animation: wk-tree 20s ease-in-out infinite; }
.scn-poem-i-wish-i-knew .figure-kneeling { position:absolute; bottom:22%; left:43%; width:18px; height:30px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wk-kneel 6s ease-in-out infinite; }
.scn-poem-i-wish-i-knew .figure-standing { position:absolute; bottom:18%; left:55%; width:20px; height:44px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wk-stand 8s ease-in-out infinite; }
.scn-poem-i-wish-i-knew .grass-grass-a { position:absolute; bottom:0; left:0; width:100%; height:10%; background: linear-gradient(180deg, transparent 0%, #5a6a4a 50%, #4a5a3a 100%); clip-path: polygon(0% 100%, 10% 40%, 20% 60%, 30% 30%, 40% 70%, 50% 20%, 60% 50%, 70% 40%, 80% 60%, 90% 30%, 100% 100%); animation: wk-grass 5s ease-in-out infinite; }
.scn-poem-i-wish-i-knew .grass-grass-b { position:absolute; bottom:0; left:0; width:100%; height:12%; background: linear-gradient(180deg, transparent 0%, #5a6a4a 50%, #4a5a3a 100%); clip-path: polygon(0% 100%, 15% 50%, 25% 70%, 35% 40%, 45% 80%, 55% 30%, 65% 60%, 75% 50%, 85% 70%, 95% 40%, 100% 100%); animation: wk-grass 5s ease-in-out infinite 2.5s; }
@keyframes wk-sky { 0% { opacity:.7; transform: translateY(0); } 50% { opacity:.9; transform: translateY(-2px); } 100% { opacity:.8; transform: translateY(0); } }
@keyframes wk-mound { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wk-stone { 0%,100% { transform: translateX(-50%); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes wk-tree { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes wk-kneel { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wk-stand { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes wk-grass { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } }

/* poem-i-felt-a-funeral – dark dim interior funeral */
.scn-poem-i-felt-a-funeral {
  background: 
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 30%, #2a1a2a 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 80%, #2a1a1a 0%, transparent 70%);
}
.scn-poem-i-felt-a-funeral .dark-interior { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%); animation: ft-interior 20s ease-in-out infinite alternate; }
.scn-poem-i-felt-a-funeral .floor-shadow { position:absolute; bottom:0; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 30% 30% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-poem-i-felt-a-funeral .coffin-box { position:absolute; bottom:18%; left:50%; width:80px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 10% 10% 6% 6%; box-shadow: 0 4px 10px rgba(0,0,0,.7); animation: ft-coffin 12s ease-in-out infinite; }
.scn-poem-i-felt-a-funeral .mourner-mourner-a { position:absolute; bottom:20%; left:30%; width:16px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ft-mourner 8s ease-in-out infinite; }
.scn-poem-i-felt-a-funeral .mourner-mourner-b { position:absolute; bottom:22%; left:45%; width:16px; height:38px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ft-mourner 8s ease-in-out infinite 2s; }
.scn-poem-i-felt-a-funeral .mourner-mourner-c { position:absolute; bottom:20%; left:60%; width:16px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ft-mourner 8s ease-in-out infinite 4s; }
.scn-poem-i-felt-a-funeral .drum-cylinder { position:absolute; bottom:14%; left:38%; width:24px; height:16px; background: linear-gradient(90deg, #4a3a3a 0%, #6a4a4a 50%, #4a3a3a 100%); border-radius: 30%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: ft-drum 3s ease-in-out infinite; }
.scn-poem-i-felt-a-funeral .bell-shape { position:absolute; top:10%; left:50%; width:30px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 20px 4px rgba(90,74,58,.4); animation: ft-bell 4s ease-in-out infinite; }
.scn-poem-i-felt-a-funeral .candle-glow { position:absolute; bottom:10%; left:20%; width:4px; height:8px; background: #ffd080; border-radius:50%; box-shadow: 0 0 40px 15px rgba(255,208,128,.3), 0 0 80px 30px rgba(255,208,128,.1); animation: ft-candle 6s ease-in-out infinite alternate; }
@keyframes ft-interior { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes ft-coffin { 0%,100% { transform: translateX(-50%); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes ft-mourner { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-3px) rotate(0); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-2px) rotate(0); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes ft-drum { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.1) translateY(-1px); } }
@keyframes ft-bell { 0% { transform: translateX(-50%) rotate(-5deg); } 25% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-50%) rotate(5deg); } 75% { transform: translateX(-50%) rotate(0); } 100% { transform: translateX(-50%) rotate(-5deg); } }
@keyframes ft-candle { 0% { opacity:.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.7; transform: scale(1); } }

.scn-poem-in-shadow-continued { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 30%, #1e1e3a 70%, #0f0f1f 100%), radial-gradient(ellipse at 50% 80%, #3a3a5e20 0%, transparent 70%); }
.scn-poem-in-shadow-continued .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 100%); animation: sha-sky 12s ease-in-out infinite alternate; }
.scn-poem-in-shadow-continued .mountain { position:absolute; bottom:30%; left:-5%; right:-5%; height:20%; background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 8px 20px #00000060; }
.scn-poem-in-shadow-continued .figure-body { position:absolute; bottom:28%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #0a0a1a 0%, #000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sha-body 6s ease-in-out infinite; }
.scn-poem-in-shadow-continued .figure-head { position:absolute; bottom:60%; left:36%; width:16px; height:16px; background: #0a0a1a; border-radius: 50%; box-shadow: 0 4px 6px #00000080; animation: sha-head 6s ease-in-out infinite; }
.scn-poem-in-shadow-continued .hand { position:absolute; bottom:42%; left:40%; width:6px; height:12px; background: #0a0a1a; border-radius: 30% 30% 50% 50%; transform-origin: bottom left; animation: sha-hand 4s ease-in-out infinite; }
.scn-poem-in-shadow-continued .bee { position:absolute; bottom:50%; left:60%; width:10px; height:8px; background: radial-gradient(circle at 30% 50%, #c8553d 0%, #702243 100%); border-radius: 50%; box-shadow: 0 0 8px #c8553d60; animation: sha-bee 2s ease-in-out infinite; }
.scn-poem-in-shadow-continued .flower { position:absolute; bottom:24%; left:55%; width:14px; height:14px; background: radial-gradient(circle at 40% 30%, #b87878 0%, #5e1a1d 100%); border-radius: 50% 0 50% 0; transform: rotate(45deg); box-shadow: 0 0 6px #b8787840; animation: sha-flower 7s ease-in-out infinite alternate; }
@keyframes sha-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes sha-body { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(1deg) } 75% { transform: translateY(1px) rotate(-1deg) } }
@keyframes sha-head { 0%,100% { transform: translateX(0) } 50% { transform: translateX(1px) } }
@keyframes sha-hand { 0%,100% { transform: rotate(0) translateX(0) } 50% { transform: rotate(-15deg) translateX(2px) } }
@keyframes sha-bee { 0% { transform: translate(0,0) scale(1) } 30% { transform: translate(10px,-5px) scale(1.1) } 60% { transform: translate(-5px,-2px) scale(0.9) } 100% { transform: translate(2px,3px) scale(1) } }
@keyframes sha-flower { 0% { transform: rotate(40deg) scale(1) } 50% { transform: rotate(55deg) scale(1.1) } 100% { transform: rotate(45deg) scale(1) } }

.scn-poem-the-humming-bird { background: linear-gradient(180deg, #fceabb 0%, #f8b500 40%, #fde68a 100%), radial-gradient(ellipse at 50% 0%, #fff8dc 0%, transparent 70%); }
.scn-poem-the-humming-bird .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #fde68a 0%, #fceabb 100%); }
.scn-poem-the-humming-bird .sun { position:absolute; top:8%; right:20%; width:40px; height:40px; background: radial-gradient(circle, #fff5c0 0%, #f8b500 60%); border-radius: 50%; box-shadow: 0 0 40px #f8b50080; animation: hum-sun 20s ease-in-out infinite alternate; }
.scn-poem-the-humming-bird .bush-left { position:absolute; bottom:20%; left:10%; width:80px; height:50px; background: radial-gradient(ellipse at 50% 100%, #2d5a27 0%, #1a3c16 100%); border-radius: 50% 50% 0 0; }
.scn-poem-the-humming-bird .bush-right { position:absolute; bottom:18%; right:15%; width:90px; height:55px; background: radial-gradient(ellipse at 50% 100%, #3b6b33 0%, #1f4a18 100%); border-radius: 60% 40% 0 0; }
.scn-poem-the-humming-bird .blossom-1 { position:absolute; bottom:32%; left:20%; width:12px; height:12px; background: radial-gradient(circle at 40% 30%, #b87878 0%, #702243 100%); border-radius: 50%; box-shadow: 0 0 8px #b8787860; animation: hum-blossom 5s ease-in-out infinite; }
.scn-poem-the-humming-bird .blossom-2 { position:absolute; bottom:28%; right:22%; width:12px; height:12px; background: radial-gradient(circle at 40% 30%, #b87878 0%, #5e1a1d 100%); border-radius: 50%; box-shadow: 0 0 8px #b8787860; animation: hum-blossom 5s ease-in-out infinite reverse; }
.scn-poem-the-humming-bird .hummingbird-body { position:absolute; bottom:45%; left:50%; width:16px; height:24px; background: linear-gradient(180deg, #00a86b 0%, #006b4d 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: hum-body 0.6s ease-in-out infinite alternate; }
.scn-poem-the-humming-bird .wing { position:absolute; bottom:48%; left:48%; width:30px; height:10px; background: radial-gradient(ellipse at 50% 50%, #b87878 0%, #702243 100%); border-radius: 50%; transform-origin: right center; animation: hum-wing 0.15s linear infinite; }
.scn-poem-the-humming-bird .beak { position:absolute; bottom:52%; left:52%; width:20px; height:2px; background: #2d1f1f; border-radius: 50% 0 0 50%; transform: rotate(15deg); animation: hum-beak 0.6s ease-in-out infinite alternate; }
@keyframes hum-sun { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes hum-blossom { 0% { transform: rotate(0) translateY(0) } 50% { transform: rotate(10deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(1px) } }
@keyframes hum-body { 0% { transform: translateX(-50%) translateY(0) scale(1) } 100% { transform: translateX(-50%) translateY(-3px) scale(1.02) } }
@keyframes hum-wing { 0% { transform: rotate(0) scaleY(1) } 25% { transform: rotate(-60deg) scaleY(0.6) } 50% { transform: rotate(0) scaleY(1) } 75% { transform: rotate(60deg) scaleY(0.6) } 100% { transform: rotate(0) scaleY(1) } }
@keyframes hum-beak { 0% { transform: rotate(10deg) } 100% { transform: rotate(20deg) } }

.scn-poem-secrets { background: linear-gradient(180deg, #c2d5d8 0%, #a4bdc0 40%, #6f8f92 100%), radial-gradient(ellipse at 50% 0%, #d4e4e7 0%, transparent 70%); }
.scn-poem-secrets .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #d4e4e7 0%, #bccfd2 100%); }
.scn-poem-secrets .cloud-a { position:absolute; top:12%; left:10%; width:100px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,.1) 100%); border-radius: 50%; filter: blur(6px); animation: sec-drift-a 40s linear infinite; }
.scn-poem-secrets .cloud-b { position:absolute; top:18%; right:5%; width:80px; height:16px; background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.05) 100%); border-radius: 50%; filter: blur(5px); animation: sec-drift-b 50s linear infinite reverse; }
.scn-poem-secrets .hills { position:absolute; bottom:25%; left:-5%; right:-5%; height:20%; background: linear-gradient(180deg, #6f8f92 0%, #4f6f72 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px #3f5f6230; }
.scn-poem-secrets .tree-left { position:absolute; bottom:22%; left:20%; width:40px; height:60px; background: radial-gradient(ellipse at 50% 100%, #3b5a3a 0%, #1f3a1e 100%); border-radius: 50% 50% 10% 10% / 70% 70% 10% 10%; transform-origin: bottom center; animation: sec-tree 12s ease-in-out infinite; }
.scn-poem-secrets .tree-right { position:absolute; bottom:20%; right:25%; width:50px; height:70px; background: radial-gradient(ellipse at 50% 100%, #4a6a49 0%, #2a4a29 100%); border-radius: 50% 50% 10% 10% / 70% 70% 10% 10%; transform-origin: bottom center; animation: sec-tree 12s ease-in-out infinite reverse; }
.scn-poem-secrets .daffodils { position:absolute; bottom:18%; left:50%; width:50px; height:30px; transform: translateX(-50%); background: radial-gradient(circle at 20% 50%, #f5e642 0%, #d4b838 50%, #a08920 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 12px #f5e64260; animation: sec-daffodils 8s ease-in-out infinite; }
.scn-poem-secrets .bird { position:absolute; bottom:40%; left:40%; width:14px; height:10px; background: #2d1f1f; border-radius: 50% 50% 0 0; transform-origin: bottom center; animation: sec-bird 8s ease-in-out infinite; }
.scn-poem-secrets .path { position:absolute; bottom:16%; left:30%; right:30%; height:4px; background: linear-gradient(90deg, transparent 0%, #8f7a5a 20%, #8f7a5a 80%, transparent 100%); border-radius: 2px; }
@keyframes sec-drift-a { 0% { transform: translateX(0) } 100% { transform: translateX(130vw) } }
@keyframes sec-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-110vw) } }
@keyframes sec-tree { 0% { transform: rotate(0) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes sec-daffodils { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(5deg) } 100% { transform: translateX(-50%) rotate(-5deg) } }
@keyframes sec-bird { 0% { transform: translate(0,0) } 25% { transform: translate(30px,-10px) } 50% { transform: translate(60px,0) } 75% { transform: translate(90px,-5px) } 100% { transform: translate(120px,0) } }

.scn-poem-who-robbed-the-woods { background: linear-gradient(180deg, #2d1f1f 0%, #4a2f2f 30%, #6f4a3a 60%, #8f6a5a 100%), radial-gradient(ellipse at 50% 100%, #8f6a5a40 0%, transparent 70%); }
.scn-poem-who-robbed-the-woods .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #4a2f2f 0%, #6f4a3a 100%); }
.scn-poem-who-robbed-the-woods .sunset-globe { position:absolute; top:10%; left:40%; width:50px; height:50px; background: radial-gradient(circle, #c8553d 0%, #a0461a 60%); border-radius: 50%; box-shadow: 0 0 60px #c8553d80; animation: rob-globe 15s ease-in-out infinite alternate; }
.scn-poem-who-robbed-the-woods .ground { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1000 100%); }
.scn-poem-who-robbed-the-woods .tree-hemlock { position:absolute; bottom:30%; left:15%; width:40px; height:120px; background: linear-gradient(180deg, #2d4a2d 0%, #1a3a1a 100%); border-radius: 0 0 20% 20%; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); transform-origin: bottom center; animation: rob-tree 3s ease-in-out infinite; }
.scn-poem-who-robbed-the-woods .tree-fir { position:absolute; bottom:28%; right:20%; width:50px; height:130px; background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 100%); border-radius: 0 0 20% 20%; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); transform-origin: bottom center; animation: rob-tree 3s ease-in-out infinite reverse; }
.scn-poem-who-robbed-the-woods .figure { position:absolute; bottom:30%; left:45%; width:20px; height:60px; background: #1a0f0a; border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: rob-figure 2s ease-in-out infinite; }
.scn-poem-who-robbed-the-woods .burr { position:absolute; bottom:38%; left:52%; width:8px; height:8px; background: #6f4a3a; border-radius: 50%; box-shadow: 0 0 4px #6f4a3a80; animation: rob-burr 1.5s ease-in-out infinite; }
.scn-poem-who-robbed-the-woods .butterfly { position:absolute; bottom:45%; left:30%; width:12px; height:8px; background: radial-gradient(ellipse at 40% 50%, #b87878 0%, #702243 100%); border-radius: 50%; transform: rotate(-10deg); animation: rob-butterfly 4s ease-in-out infinite; }
.scn-poem-who-robbed-the-woods .butterfly-2 { left:55%; animation: rob-butterfly 4s ease-in-out infinite reverse; animation-delay: 2s; }
@keyframes rob-globe { 0% { opacity:.7; filter: brightness(.8) } 50% { opacity:1; filter: brightness(1) } 100% { opacity:.8; filter: brightness(.9) } }
@keyframes rob-tree { 0% { transform: rotate(0) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes rob-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(4px) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes rob-burr { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.3) translateY(-3px) } 100% { transform: scale(1) translateY(0) } }
@keyframes rob-butterfly { 0% { transform: rotate(-10deg) translate(0,0) } 25% { transform: rotate(10deg) translate(10px,-5px) } 50% { transform: rotate(-10deg) translate(20px,0) } 75% { transform: rotate(5deg) translate(10px,-3px) } 100% { transform: rotate(-10deg) translate(0,0) } }

/* Scene: poem-drab-habitation (dha) */
.scn-poem-drab-habitation {
  background: linear-gradient(180deg, #2c1f3a 0%, #4a3b5c 40%, #7a6a5e 70%, #b8927a 100%),
              radial-gradient(ellipse at 60% 80%, #c9a58b 0%, transparent 50%);
}
.scn-poem-drab-habitation .sky-dusk {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #6a4e6a 0%, #c9927a 40%, #e8c4a4 80%, #f0d8b8 100%);
  animation: dha-sky 15s ease-in-out infinite alternate;
}
.scn-poem-drab-habitation .sea {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3f3a5a 0%, #2c2a44 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.5);
  animation: dha-sea 8s ease-in-out infinite alternate;
}
.scn-poem-drab-habitation .shore {
  position: absolute; bottom: 23%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #705a4a 0%, #4f3c2e 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: 0 -2px 4px rgba(0,0,0,0.3);
}
.scn-poem-drab-habitation .house-cottage {
  position: absolute; bottom: 28%; left: 35%; width: 70px; height: 60px;
  background: linear-gradient(180deg, #6b4e3a 0%, #4a3228 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: dha-house 12s ease-in-out infinite;
}
.scn-poem-drab-habitation .window-glow {
  position: absolute; bottom: 35%; left: 38%; width: 14px; height: 20px;
  background: radial-gradient(circle, #f0d080 0%, #b08040 60%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 6px #d09050, 0 0 40px 12px rgba(208,144,80,0.4);
  animation: dha-glow 4s ease-in-out infinite alternate;
}
.scn-poem-drab-habitation .sloop {
  position: absolute; bottom: 32%; left: 65%; width: 50px; height: 30px;
  background: linear-gradient(135deg, #4a3a4a 0%, #2a1e2a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  animation: dha-sloop 20s ease-in-out infinite alternate;
}
.scn-poem-drab-habitation .sail-amber {
  position: absolute; bottom: 38%; left: 68%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #c9925a 0%, #a0683a 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  box-shadow: 0 0 12px 2px rgba(201,146,90,0.3);
  animation: dha-sail 8s ease-in-out infinite alternate;
}
.scn-poem-drab-habitation .cloud-sloop-a {
  position: absolute; top: 15%; left: 20%; width: 70px; height: 16px;
  background: linear-gradient(180deg, rgba(240,216,184,0.6) 0%, rgba(240,216,184,0.05) 100%);
  border-radius: 50%; filter: blur(5px);
  animation: dha-drift-a 40s linear infinite;
}
.scn-poem-drab-habitation .cloud-sloop-b {
  position: absolute; top: 25%; right: 10%; width: 50px; height: 12px;
  background: linear-gradient(180deg, rgba(240,216,184,0.4) 0%, rgba(240,216,184,0.02) 100%);
  border-radius: 50%; filter: blur(4px);
  animation: dha-drift-b 55s linear infinite reverse;
}
@keyframes dha-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes dha-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(2px) } }
@keyframes dha-house { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes dha-glow { 0% { box-shadow: 0 0 15px 4px #c08040, 0 0 30px 8px rgba(192,128,64,0.3); opacity:0.8 } 50% { box-shadow: 0 0 25px 8px #f0d060, 0 0 50px 16px rgba(240,208,96,0.5); opacity:1 } 100% { box-shadow: 0 0 18px 5px #c08040, 0 0 35px 10px rgba(192,128,64,0.35); opacity:0.9 } }
@keyframes dha-sloop { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-8deg) translateX(5px) } 100% { transform: rotate(-5deg) translateX(0) } }
@keyframes dha-sail { 0% { transform: scaleY(1) rotate(0deg) } 50% { transform: scaleY(1.05) rotate(3deg) } 100% { transform: scaleY(1) rotate(0deg) } }
@keyframes dha-drift-a { 0% { transform: translateX(-30px) } 100% { transform: translateX(120vw) } }
@keyframes dha-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

/* Scene: poem-the-coming-of-night (con) */
.scn-poem-the-coming-of-night {
  background: linear-gradient(180deg, #8c4a2e 0%, #b86a3a 30%, #d48a5a 60%, #e8b080 100%),
              radial-gradient(ellipse at 70% 20%, #f0c080 0%, transparent 60%);
}
.scn-poem-the-coming-of-night .sky-sunset {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #c86a3a 0%, #e8905a 40%, #f0b87a 80%, #f0d8a8 100%);
  animation: con-sky 12s ease-in-out infinite alternate;
}
.scn-poem-the-coming-of-night .mountains {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2e2218 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: con-mountains 20s ease-in-out infinite alternate;
}
.scn-poem-the-coming-of-night .hemlocks {
  position: absolute; bottom: 38%; left: 5%; right: 5%; height: 15%;
  background: linear-gradient(180deg, #2a3a1a 0%, #1a2a0e 100%);
  clip-path: polygon(0% 100%, 5% 50%, 10% 100%, 15% 40%, 20% 100%, 25% 45%, 30% 100%, 35% 35%, 40% 100%, 45% 40%, 50% 100%, 55% 30%, 60% 100%, 65% 45%, 70% 100%, 75% 40%, 80% 100%, 85% 35%, 90% 100%, 95% 45%, 100% 100%);
  animation: con-hemlocks 24s ease-in-out infinite;
}
.scn-poem-the-coming-of-night .steeple {
  position: absolute; bottom: 42%; left: 45%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #5a3a20 0%, #3a2210 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: con-steeple 15s ease-in-out infinite alternate;
}
.scn-poem-the-coming-of-night .sun-ball {
  position: absolute; bottom: 55%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle, #f0d080 0%, #c88040 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(240,208,128,0.4), 0 0 80px 40px rgba(240,208,128,0.2);
  animation: con-sun 30s ease-in-out infinite alternate;
}
.scn-poem-the-coming-of-night .tree-shadow {
  position: absolute; bottom: 34%; left: 10%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1a0e 0%, #0a0a04 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: con-tree 10s ease-in-out infinite alternate;
}
.scn-poem-the-coming-of-night .bird-flock {
  position: absolute; top: 25%; left: 30%; width: 40px; height: 10px;
  background: transparent;
  box-shadow: 0 0 0 3px #1a1a0e, 8px -4px 0 3px #1a1a0e, 16px -2px 0 3px #1a1a0e;
  border-radius: 50%;
  animation: con-birds 18s linear infinite;
}
@keyframes con-sky { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes con-mountains { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes con-hemlocks { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes con-steeple { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes con-sun { 0% { transform: scale(0.95) } 50% { transform: scale(1.05) } 100% { transform: scale(0.98) } }
@keyframes con-tree { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes con-birds { 0% { transform: translateX(0) } 100% { transform: translateX(100vw) } }

/* Scene: poem-this-world-is-not-conclusion (wnc) */
.scn-poem-this-world-is-not-conclusion {
  background: linear-gradient(180deg, #2e3a40 0%, #4a5a60 40%, #7a8a8e 70%, #9aacac 100%),
              radial-gradient(ellipse at 50% 20%, #b0c4c8 0%, transparent 60%);
}
.scn-poem-this-world-is-not-conclusion .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4a5a60 0%, #6a7a7e 50%, #8a9a9e 100%);
  animation: wnc-sky 18s ease-in-out infinite alternate;
}
.scn-poem-this-world-is-not-conclusion .mist-floor {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(180,200,200,0.4) 0%, rgba(120,140,140,0.1) 100%);
  filter: blur(8px);
  animation: wnc-mist 12s ease-in-out infinite alternate;
}
.scn-poem-this-world-is-not-conclusion .archway {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a6a6e 0%, #3a4a4e 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3), 0 8px 16px rgba(0,0,0,0.4);
  animation: wnc-arch 25s ease-in-out infinite;
}
.scn-poem-this-world-is-not-conclusion .path {
  position: absolute; bottom: 22%; left: 45%; width: 40px; height: 20%;
  background: linear-gradient(180deg, #6a7a7e 0%, #4a5a5e 100%);
  border-radius: 20% 20% 0 0;
  transform: perspective(200px) rotateX(20deg);
  animation: wnc-path 15s ease-in-out infinite alternate;
}
.scn-poem-this-world-is-not-conclusion .figure-silhouette {
  position: absolute; bottom: 28%; left: 48%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wnc-figure 8s ease-in-out infinite;
}
.scn-poem-this-world-is-not-conclusion .sparkle-glint {
  position: absolute; top: 35%; left: 30%; width: 4px; height: 4px;
  background: #e0e8e8;
  border-radius: 50%;
  box-shadow: 0 0 8px 4px rgba(224,232,232,0.6), 0 0 16px 8px rgba(224,232,232,0.3);
  animation: wnc-sparkle 5s ease-in-out infinite alternate;
}
.scn-poem-this-world-is-not-conclusion .tree-line {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3a4a4e 0%, #2a3a3e 100%);
  clip-path: polygon(0% 100%, 3% 50%, 6% 100%, 9% 40%, 12% 100%, 15% 45%, 18% 100%, 21% 55%, 24% 100%, 27% 35%, 30% 100%, 33% 50%, 36% 100%, 39% 40%, 42% 100%, 45% 50%, 48% 100%, 51% 45%, 54% 100%, 57% 55%, 60% 100%, 63% 35%, 66% 100%, 69% 45%, 72% 100%, 75% 40%, 78% 100%, 81% 50%, 84% 100%, 87% 55%, 90% 100%, 93% 40%, 96% 100%, 100% 100%);
  animation: wnc-trees 22s ease-in-out infinite;
}
@keyframes wnc-sky { 0% { opacity: 0.8 } 50% { opacity: 0.95 } 100% { opacity: 0.85 } }
@keyframes wnc-mist { 0% { opacity: 0.3; transform: translateY(0) } 50% { opacity: 0.5; transform: translateY(-5px) } 100% { opacity: 0.4; transform: translateY(0) } }
@keyframes wnc-arch { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } }
@keyframes wnc-path { 0% { transform: perspective(200px) rotateX(20deg) translateY(0) } 50% { transform: perspective(200px) rotateX(22deg) translateY(-2px) } 100% { transform: perspective(200px) rotateX(20deg) translateY(0) } }
@keyframes wnc-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(6px) translateY(0) rotate(-1deg) } 75% { transform: translateX(9px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(12px) translateY(0) rotate(0deg) } }
@keyframes wnc-sparkle { 0% { opacity: 0.2; transform: scale(0.5) } 50% { opacity: 1; transform: scale(1.2) } 100% { opacity: 0.4; transform: scale(0.8) } }
@keyframes wnc-trees { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } }

/* Scene: poem-they-say-time-assuages (tas) */
.scn-poem-they-say-time-assuages {
  background: linear-gradient(180deg, #1a1a2a 0%, #2c2c3e 40%, #3e3e52 70%, #50506a 100%),
              radial-gradient(ellipse at 80% 30%, #4a4a5e 0%, transparent 60%);
}
.scn-poem-they-say-time-assuages .sky-gloom {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #2c2c3e 0%, #3e3e52 100%);
  animation: tas-sky 20s ease-in-out infinite alternate;
}
.scn-poem-they-say-time-assuages .road-winding {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 35%;
  background: linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%);
  border-radius: 30% 30% 0 0;
  transform: perspective(200px) rotateX(15deg);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
  animation: tas-road 18s ease-in-out infinite alternate;
}
.scn-poem-they-say-time-assuages .figure-follower {
  position: absolute; bottom: 28%; left: 42%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tas-follow 12s ease-in-out infinite;
}
.scn-poem-they-say-time-assuages .figure-leading {
  position: absolute; bottom: 32%; left: 46%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tas-lead 12s ease-in-out infinite;
}
.scn-poem-they-say-time-assuages .lamp-post {
  position: absolute; bottom: 25%; left: 38%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #2e2e42 0%, #1a1a2a 100%);
  border-radius: 2px;
  animation: tas-lamp 8s ease-in-out infinite alternate;
}
.scn-poem-they-say-time-assuages .lamp-post::after {
  content: ''; position: absolute; top: 0; left: -4px; width: 12px; height: 8px;
  background: radial-gradient(circle, #e0d0a0 0%, #806030 60%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(224,208,160,0.3), 0 0 24px 12px rgba(224,208,160,0.1);
  animation: tas-lamp-glow 4s ease-in-out infinite alternate;
}
.scn-poem-they-say-time-assuages .fog-bank {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, rgba(80,80,106,0.6) 0%, rgba(26,26,42,0.2) 100%);
  filter: blur(10px);
  animation: tas-fog 25s ease-in-out infinite alternate;
}
.scn-poem-they-say-time-assuages .grass-edge {
  position: absolute; bottom: 18%; left: 5%; right: 5%; height: 8%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  clip-path: polygon(0% 100%, 2% 60%, 4% 100%, 6% 55%, 8% 100%, 10% 50%, 12% 100%, 14% 65%, 16% 100%, 18% 45%, 20% 100%, 22% 70%, 24% 100%, 26% 50%, 28% 100%, 30% 55%, 32% 100%, 34% 60%, 36% 100%, 38% 45%, 40% 100%, 42% 65%, 44% 100%, 46% 50%, 48% 100%, 50% 55%, 52% 100%, 54% 60%, 56% 100%, 58% 45%, 60% 100%, 62% 70%, 64% 100%, 66% 50%, 68% 100%, 70% 55%, 72% 100%, 74% 60%, 76% 100%, 78% 45%, 80% 100%, 82% 65%, 84% 100%, 86% 50%, 88% 100%, 90% 55%, 92% 100%, 94% 60%, 96% 100%, 98% 45%, 100% 100%);
  animation: tas-grass 14s ease-in-out infinite;
}
.scn-poem-they-say-time-assuages .leaf-drift {
  position: absolute; top: 20%; left: 30%; width: 8px; height: 4px;
  background: #4a4a2a;
  border-radius: 50%;
  box-shadow: 10px 20px 0 #4a4a2a, 25px 10px 0 #3a3a1a, 40px 30px 0 #4a4a2a;
  animation: tas-leaves 30s linear infinite;
}
.scn-poem-they-say-time-assuages .grave-stone {
  position: absolute; bottom: 22%; left: 20%; width: 18px; height: 24px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: tas-stone 18s ease-in-out infinite alternate;
}
@keyframes tas-sky { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.8 } }
@keyframes tas-road { 0% { transform: perspective(200px) rotateX(15deg) translateX(0) } 50% { transform: perspective(200px) rotateX(16deg) translateX(5px) } 100% { transform: perspective(200px) rotateX(15deg) translateX(0) } }
@keyframes tas-follow { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(4px) translateY(-2px) } 50% { transform: translateX(8px) translateY(0) } 75% { transform: translateX(12px) translateY(-1px) } 100% { transform: translateX(16px) translateY(0) } }
@keyframes tas-lead { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(3px) translateY(-1px) } 50% { transform: translateX(6px) translateY(0) } 75% { transform: translateX(9px) translateY(-2px) } 100% { transform: translateX(12px) translateY(0) } }
@keyframes tas-lamp { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes tas-lamp-glow { 0% { box-shadow: 0 0 8px 4px rgba(224,208,160,0.2), 0 0 16px 8px rgba(224,208,160,0.05); opacity:0.7 } 50% { box-shadow: 0 0 14px 6px rgba(224,208,160,0.4), 0 0 28px 14px rgba(224,208,160,0.15); opacity:1 } 100% { box-shadow: 0 0 10px 5px rgba(224,208,160,0.25), 0 0 20px 10px rgba(224,208,160,0.08); opacity:0.8 } }
@keyframes tas-fog { 0% { opacity: 0.3; transform: translateX(0) } 50% { opacity: 0.5; transform: translateX(10px) } 100% { opacity: 0.4; transform: translateX(-5px) } }
@keyframes tas-grass { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes tas-leaves { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(30px) translateY(-10px) rotate(15deg) } 100% { transform: translateX(60px) translateY(-20px) rotate(30deg) } }
@keyframes tas-stone { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }

/* poem-all-overgrown-by-cunning-moss (calm, overcast) */
.scn-poem-all-overgrown-by-cunning-moss {
  background: linear-gradient(180deg, #4a5555 0%, #6b7a7a 40%, #8b9a9a 70%) , radial-gradient(ellipse at 50% 0%, rgba(200,210,210,0.3) 0%, transparent 60%);
}
.scn-poem-all-overgrown-by-cunning-moss .sky {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #5a6868 0%, #809090 50%, #9aa8a8 100%);
  animation: mo-sky 20s ease-in-out infinite alternate;
}
.scn-poem-all-overgrown-by-cunning-moss .ground {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.5);
  animation: mo-ground 15s ease-in-out infinite;
}
.scn-poem-all-overgrown-by-cunning-moss .pedestal {
  position:absolute; bottom:30%; left:50%; width:120px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a5263 0%, #7a869a 50%, #4a5263 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 60% 60%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  animation: mo-pedestal 18s ease-in-out infinite alternate;
}
.scn-poem-all-overgrown-by-cunning-moss .cage {
  position:absolute; bottom:35%; left:50%; width:80px; height:90px;
  transform: translateX(-50%);
  background: 
    repeating-linear-gradient(0deg, transparent, transparent 8px, #3d4a4a 8px, #3d4a4a 10px),
    repeating-linear-gradient(90deg, transparent, transparent 8px, #3d4a4a 8px, #3d4a4a 10px);
  background-color: #1a1a1a;
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6), inset 0 0 12px rgba(0,0,0,0.3);
  animation: mo-cage 22s ease-in-out infinite;
}
.scn-poem-all-overgrown-by-cunning-moss .moss {
  position:absolute; bottom:33%; left:50%; width:86px; height:20px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, #4a6b3a 0%, #2a4a1a 60%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%;
  filter: blur(2px);
  animation: mo-moss 14s ease-in-out infinite alternate;
}
.scn-poem-all-overgrown-by-cunning-moss .bird {
  position:absolute; bottom:53%; left:55%; width:24px; height:18px;
  background: radial-gradient(ellipse at 30% 40%, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: 40% 60%;
  animation: mo-bird 5s ease-in-out infinite;
}
.scn-poem-all-overgrown-by-cunning-moss .shadow {
  position:absolute; bottom:29%; left:50%; width:100px; height:12px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.4) 0%, transparent 100%);
  animation: mo-shadow 18s ease-in-out infinite alternate;
}
@keyframes mo-sky { 0% { opacity:0.7; transform:translateY(0); } 50% { opacity:0.9; transform:translateY(-4px); } 100% { opacity:0.75; transform:translateY(2px); } }
@keyframes mo-ground { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.03) translateY(-2px); } 100% { transform:scaleY(0.98); } }
@keyframes mo-pedestal { 0% { transform:translateX(-50%) scaleX(1); } 50% { transform:translateX(-50%) scaleX(1.02) translateY(-1px); } 100% { transform:translateX(-50%) scaleX(0.98); } }
@keyframes mo-cage { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(1deg) translateY(-3px); } 100% { transform:translateX(-50%) rotate(-1deg); } }
@keyframes mo-moss { 0% { transform:translateX(-50%) scale(1); opacity:0.8; } 50% { transform:translateX(-50%) scale(1.1) translateY(-2px); opacity:1; } 100% { transform:translateX(-50%) scale(0.95); opacity:0.7; } }
@keyframes mo-bird { 0% { transform:translate(0,0) rotate(2deg); } 25% { transform:translate(8px,-4px) rotate(-1deg); } 50% { transform:translate(14px,2px) rotate(1deg); } 75% { transform:translate(20px,-6px) rotate(-3deg); } 100% { transform:translate(28px,0) rotate(0deg); } }
@keyframes mo-shadow { 0% { width:100px; opacity:0.4; } 50% { width:110px; opacity:0.3; transform:translateX(-45%); } 100% { width:95px; opacity:0.5; transform:translateX(-55%); } }

/* poem-far-from-love (dark, overcast) */
.scn-poem-far-from-love {
  background: linear-gradient(180deg, #0d0d12 0%, #1a1a24 40%, #242436 70%), radial-gradient(ellipse at 30% 80%, #2a2a3e 0%, transparent 60%);
}
.scn-poem-far-from-love .sky-dark {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #12141a 0%, #1e202b 50%, #0a0a0f 100%);
  animation: fl-sky 30s ease-in-out infinite alternate;
}
.scn-poem-far-from-love .briar-left {
  position:absolute; bottom:30%; left:0; width:35%; height:35%;
  background: radial-gradient(ellipse at 80% 40%, #2a3a1a 0%, #0a1a0a 100%);
  border-radius: 0 60% 40% 0 / 0 80% 60% 0;
  filter: blur(4px);
  transform: rotate(-10deg);
  box-shadow: 0 0 20px 5px rgba(0,0,0,0.6);
  animation: fl-briar 12s ease-in-out infinite alternate;
}
.scn-poem-far-from-love .briar-right {
  position:absolute; bottom:30%; right:0; width:40%; height:40%;
  background: radial-gradient(ellipse at 20% 30%, #1a2a0a 0%, #061002 100%);
  border-radius: 60% 0 0 40% / 80% 0 0 60%;
  filter: blur(3px);
  transform: rotate(12deg);
  box-shadow: 0 0 16px 8px rgba(0,0,0,0.5);
  animation: fl-briar 15s ease-in-out infinite alternate-reverse;
}
.scn-poem-far-from-love .figure {
  position:absolute; bottom:28%; left:42%; width:14px; height:32px;
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fl-figure 6s ease-in-out infinite;
}
.scn-poem-far-from-love .dragon-claw {
  position:absolute; bottom:44%; right:15%; width:40px; height:50px;
  background: radial-gradient(ellipse at 60% 20%, #2a201a 0%, #0a0805 100%);
  border-radius: 40% 60% 30% 70% / 50% 50% 50% 50%;
  clip-path: polygon(0% 0%, 100% 10%, 85% 55%, 60% 70%, 40% 80%, 20% 70%, 5% 40%);
  transform: rotate(20deg);
  animation: fl-claw 8s ease-in-out infinite;
}
.scn-poem-far-from-love .mist-a {
  position:absolute; top:20%; left:0; width:100%; height:30%;
  background: radial-gradient(ellipse at 30% 50%, rgba(80,90,100,0.3) 0%, transparent 80%);
  filter: blur(12px);
  animation: fl-mist 40s linear infinite;
}
.scn-poem-far-from-love .mist-b {
  position:absolute; top:40%; right:0; width:80%; height:20%;
  background: radial-gradient(ellipse at 70% 30%, rgba(60,70,80,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: fl-mist 50s linear infinite reverse;
}
@keyframes fl-sky { 0% { opacity:0.8; } 50% { opacity:0.6; } 100% { opacity:0.9; } }
@keyframes fl-briar { 0% { transform:rotate(-10deg) scale(1); } 50% { transform:rotate(-8deg) scale(1.05); } 100% { transform:rotate(-12deg) scale(0.95); } }
@keyframes fl-figure { 0% { transform:translateX(0) translateY(0) rotate(2deg); } 25% { transform:translateX(6px) translateY(-3px) rotate(-1deg); } 50% { transform:translateX(12px) translateY(0) rotate(3deg); } 75% { transform:translateX(18px) translateY(-4px) rotate(-2deg); } 100% { transform:translateX(24px) translateY(0) rotate(0deg); } }
@keyframes fl-claw { 0% { transform:rotate(20deg) translateY(0); } 33% { transform:rotate(15deg) translateY(-5px) scale(1.1); } 66% { transform:rotate(25deg) translateY(3px) scale(0.9); } 100% { transform:rotate(20deg) translateY(0); } }
@keyframes fl-mist { 0% { transform:translateX(-20px) scale(1); } 50% { transform:translateX(40px) scale(1.2); } 100% { transform:translateX(-30px) scale(0.9); } }

/* poem-on-this-wondrous-sea (warm, sunset) */
.scn-poem-on-this-wondrous-sea {
  background: linear-gradient(180deg, #1a0a2e 0%, #4a1a4a 25%, #c06040 50%, #d08030 65%, #e8a040 75%), radial-gradient(ellipse at 50% 100%, #f0c060 0%, transparent 80%);
}
.scn-poem-on-this-wondrous-sea .sky-sea {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #2a1040 0%, #603060 30%, #b06050 60%, #e0a030 80%, #f0d050 100%);
  animation: ws-sky 25s ease-in-out infinite alternate;
}
.scn-poem-on-this-wondrous-sea .sun {
  position:absolute; bottom:48%; left:70%; width:60px; height:60px;
  background: radial-gradient(circle, #ffe080 0%, #f0c040 40%, #d08020 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #f0c060, 0 0 80px 40px rgba(240,192,96,0.4);
  animation: ws-sun 12s ease-in-out infinite alternate;
}
.scn-poem-on-this-wondrous-sea .sea {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #d06830 0%, #602020 40%, #201040 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.3);
  animation: ws-sea 28s ease-in-out infinite;
}
.scn-poem-on-this-wondrous-sea .hull {
  position:absolute; bottom:42%; left:30%; width:100px; height:28px;
  background: linear-gradient(180deg, #5a2a1a 0%, #3a1212 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(2deg);
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: ws-hull 8s ease-in-out infinite;
}
.scn-poem-on-this-wondrous-sea .sail-fore {
  position:absolute; bottom:48%; left:33%; width:30px; height:50px;
  background: radial-gradient(ellipse at 40% 50%, #f0e8d0 0%, #c0b0a0 100%);
  border-radius: 30% 70% 50% 50% / 40% 60% 40% 60%;
  transform: rotate(-10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: ws-sail 9s ease-in-out infinite alternate;
}
.scn-poem-on-this-wondrous-sea .sail-aft {
  position:absolute; bottom:46%; left:42%; width:26px; height:44px;
  background: radial-gradient(ellipse at 60% 40%, #eee5d5 0%, #b0a090 100%);
  border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
  transform: rotate(5deg);
  box-shadow: 0 3px 6px rgba(0,0,0,0.15);
  animation: ws-sail 10s ease-in-out infinite alternate-reverse;
}
.scn-poem-on-this-wondrous-sea .pilot {
  position:absolute; bottom:44%; left:36%; width:10px; height:20px;
  background: radial-gradient(ellipse at 40% 30%, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: ws-pilot 7s ease-in-out infinite;
}
.scn-poem-on-this-wondrous-sea .land {
  position:absolute; bottom:44%; right:10%; width:80px; height:30px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%);
  border-radius: 40% 60% 20% 40% / 50% 50% 10% 10%;
  transform: skewX(-5deg);
  box-shadow: 0 -4px 12px rgba(0,0,0,0.4);
  animation: ws-land 20s ease-in-out infinite alternate;
}
.scn-poem-on-this-wondrous-sea .cloud-wisp {
  position:absolute; top:15%; left:0; width:200px; height:30px;
  background: radial-gradient(ellipse at 30% 50%, rgba(240,200,160,0.4) 0%, transparent 80%);
  filter: blur(8px);
  animation: ws-cloud 50s linear infinite;
}
@keyframes ws-sky { 0% { opacity:0.8; } 50% { opacity:1; transform:translateY(0); } 100% { opacity:0.7; transform:translateY(-6px); } }
@keyframes ws-sun { 0% { transform:scale(1); opacity:0.9; } 50% { transform:scale(1.08); opacity:1; } 100% { transform:scale(0.95); opacity:0.85; } }
@keyframes ws-sea { 0% { transform:scaleY(1) translateY(0); } 50% { transform:scaleY(1.02) translateY(-2px); } 100% { transform:scaleY(0.98) translateY(3px); } }
@keyframes ws-hull { 0% { transform:rotate(2deg) translateY(0); } 50% { transform:rotate(0deg) translateY(-3px); } 100% { transform:rotate(4deg) translateY(0); } }
@keyframes ws-sail { 0% { transform:rotate(-10deg) scale(1); } 50% { transform:rotate(-6deg) scale(1.05); } 100% { transform:rotate(-12deg) scale(0.95); } }
@keyframes ws-pilot { 0% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(0deg) translateY(-3px); } 100% { transform:rotate(10deg) translateY(0); } }
@keyframes ws-land { 0% { transform:skewX(-5deg) translateY(0); } 50% { transform:skewX(-3deg) translateY(-2px); } 100% { transform:skewX(-7deg) translateY(3px); } }
@keyframes ws-cloud { 0% { transform:translateX(-100px) scale(1); } 50% { transform:translateX(400px) scale(1.2); } 100% { transform:translateX(-150px) scale(0.9); } }

.scn-poem-exultation-is-the-going {
  background:
    linear-gradient(180deg, #ff9966 0%, #ffcc99 20%, #87ceeb 50%, #2e6b8a 100%),
    radial-gradient(ellipse at 50% 0%, #ffcc99 0%, transparent 60%);
}
.scn-poem-exultation-is-the-going .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #ffd599 0%, transparent 100%);
  animation: ex-sky 8s ease-in-out infinite alternate;
}
.scn-poem-exultation-is-the-going .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #3a7ca5 0%, #1a4a6a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: ex-sea 12s ease-in-out infinite alternate;
}
.scn-poem-exultation-is-the-going .cliff {
  position: absolute; bottom: 45%; left: 5%; width: 40%; height: 35%;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 20% 80% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 8px 20px #2a1a0a;
  animation: ex-cliff 18s ease-in-out infinite alternate;
}
.scn-poem-exultation-is-the-going .figure {
  position: absolute; bottom: 55%; left: 22%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ex-walk 6s ease-in-out infinite;
}
.scn-poem-exultation-is-the-going .sun-glow {
  position: absolute; bottom: 50%; left: 50%; width: 120px; height: 120px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, #ffd700 0%, #ffcc44 40%, transparent 70%);
  border-radius: 50%;
  animation: ex-glow 5s ease-in-out infinite alternate;
}
.scn-poem-exultation-is-the-going .house-1,
.scn-poem-exultation-is-the-going .house-2 {
  position: absolute; bottom: 50%; width: 30px; height: 25px;
  background: linear-gradient(180deg, #7a6a4a 0%, #4a3a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px #2a1a0a;
  animation: ex-house 14s ease-in-out infinite alternate;
}
.scn-poem-exultation-is-the-going .house-1 { left: 12%; }
.scn-poem-exultation-is-the-going .house-2 { left: 20%; animation-delay: -3s; }

@keyframes ex-sky {
  0% { opacity: .6; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes ex-sea {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-4px) scale(1.02); }
  100% { transform: translateX(4px) scale(1); }
}
@keyframes ex-cliff {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(0.5deg) translateY(-2px); }
  100% { transform: rotate(-0.5deg) translateY(0); }
}
@keyframes ex-walk {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(8px) rotate(2deg); }
  50% { transform: translateX(16px) rotate(-1deg); }
  75% { transform: translateX(24px) rotate(1deg); }
  100% { transform: translateX(32px) rotate(0deg); }
}
@keyframes ex-glow {
  0% { opacity: .7; transform: translate(-50%, 50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, 50%) scale(1.1); }
  100% { opacity: .8; transform: translate(-50%, 50%) scale(1); }
}
@keyframes ex-house {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(1px); }
}

/* ----- scene 2 ----- */
.scn-poem-i-died-for-beauty {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%),
    radial-gradient(ellipse at 70% 0%, #a0c4ff 0%, transparent 70%);
}
.scn-poem-i-died-for-beauty .wall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, #2a2a4a 0px, #2a2a4a 2px, #1a1a3a 2px, #1a1a3a 4px);
  opacity: .3;
  animation: dfb-wall 20s linear infinite;
}
.scn-poem-i-died-for-beauty .arch-left,
.scn-poem-i-died-for-beauty .arch-right {
  position: absolute; bottom: 20%; width: 35%; height: 60%;
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 0 20px #0a0a1a;
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 100%);
}
.scn-poem-i-died-for-beauty .arch-left { left: 10%; }
.scn-poem-i-died-for-beauty .arch-right { right: 10%; }
.scn-poem-i-died-for-beauty .figure-left,
.scn-poem-i-died-for-beauty .figure-right {
  position: absolute; bottom: 25%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #3a3a5a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  animation: dfb-figure 4s ease-in-out infinite alternate;
}
.scn-poem-i-died-for-beauty .figure-left { left: 22%; }
.scn-poem-i-died-for-beauty .figure-right { right: 22%; animation-delay: -0.5s; }
.scn-poem-i-died-for-beauty .moonbeam {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(0deg, rgba(160,196,255,.4) 0%, transparent 70%);
  clip-path: polygon(40% 0%, 60% 0%, 70% 100%, 30% 100%);
  animation: dfb-moon 12s ease-in-out infinite alternate;
}
.scn-poem-i-died-for-beauty .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(200,220,255,.2) 0%, transparent 50%);
  animation: dfb-dust 30s linear infinite;
}

@keyframes dfb-wall {
  0% { transform: translateX(0); }
  50% { transform: translateX(-2px); }
  100% { transform: translateX(2px); }
}
@keyframes dfb-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(2px) rotate(-2deg); }
}
@keyframes dfb-moon {
  0% { opacity: .5; transform: skewX(-2deg); }
  50% { opacity: .8; transform: skewX(2deg); }
  100% { opacity: .6; transform: skewX(-1deg); }
}
@keyframes dfb-dust {
  0% { transform: translateY(0) scale(1); opacity: .3; }
  33% { transform: translateY(-10px) scale(1.1); opacity: .5; }
  66% { transform: translateY(-5px) scale(0.9); opacity: .2; }
  100% { transform: translateY(0) scale(1); opacity: .3; }
}

/* ----- scene 3 ----- */
.scn-poem-i-like-a-look-of-agony {
  background:
    linear-gradient(135deg, #2b1b17 0%, #3a2520 50%, #1e1210 100%),
    radial-gradient(ellipse at 50% 30%, #4a2a20 0%, transparent 60%);
}
.scn-poem-i-like-a-look-of-agony .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, #0a0605 100%);
}
.scn-poem-i-like-a-look-of-agony .figure {
  position: absolute; bottom: 20%; left: 20%; width: 30%; height: 60%;
  background: linear-gradient(180deg, #1a100e 0%, #0a0605 100%);
  border-radius: 40% 60% 50% 50% / 80% 60% 40% 40%;
  transform-origin: bottom center;
  animation: loa-figure 6s ease-in-out infinite alternate;
}
.scn-poem-i-like-a-look-of-agony .forehead {
  position: absolute; bottom: 40%; left: 28%; width: 20%; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, #5a3a2a 0%, transparent 100%);
  border-radius: 50%;
  animation: loa-forehead 3s ease-in-out infinite;
}
.scn-poem-i-like-a-look-of-agony .eye {
  position: absolute; bottom: 42%; left: 33%; width: 4%; height: 5%;
  background: radial-gradient(circle, #ffcc88 0%, #b85a2a 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #b85a2a;
  animation: loa-eye 2s ease-in-out infinite alternate;
}
.scn-poem-i-like-a-look-of-agony .beads {
  position: absolute; bottom: 48%; left: 25%; width: 15%; height: 6%;
  background: radial-gradient(circle at 30% 50%, #6a4a3a 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
  animation: loa-beads 4s ease-in-out infinite;
}
.scn-poem-i-like-a-look-of-agony .wall-shadow {
  position: absolute; top: 20%; right: 10%; width: 20%; height: 40%;
  background: linear-gradient(135deg, #1a0e0c 0%, transparent 100%);
  animation: loa-shadow 8s ease-in-out infinite alternate;
}
.scn-poem-i-like-a-look-of-agony .hand {
  position: absolute; bottom: 30%; right: 20%; width: 10%; height: 15%;
  background: #2a1a15;
  border-radius: 20% 20% 40% 40% / 40% 40% 60% 60%;
  transform-origin: bottom right;
  animation: loa-hand 3s ease-in-out infinite alternate;
}

@keyframes loa-figure {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-2px); }
  100% { transform: rotate(1deg) translateY(1px); }
}
@keyframes loa-forehead {
  0% { opacity: .6; }
  50% { opacity: 1; }
  100% { opacity: .7; }
}
@keyframes loa-eye {
  0% { transform: scale(1) translate(0,0); opacity: .8; }
  50% { transform: scale(1.3) translate(2px,-1px); opacity: 1; }
  100% { transform: scale(0.8) translate(-2px,1px); opacity: .5; }
}
@keyframes loa-beads {
  0% { transform: translateY(0); opacity: .5; }
  33% { transform: translateY(4px); opacity: .8; }
  66% { transform: translateY(2px); opacity: .6; }
  100% { transform: translateY(0); opacity: .5; }
}
@keyframes loa-shadow {
  0% { opacity: .3; transform: scale(1); }
  50% { opacity: .6; transform: scale(1.05); }
  100% { opacity: .4; transform: scale(0.95); }
}
@keyframes loa-hand {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-10deg); }
  100% { transform: rotate(5deg); }
}

/* ----- scene 4 ----- */
.scn-poem-ive-seen-a-dying-eye {
  background:
    linear-gradient(90deg, #1c1c2a 0%, #2a2a3a 50%, #1c1c2a 100%),
    radial-gradient(ellipse at 60% 40%, #3a4a5a 0%, transparent 70%);
}
.scn-poem-ive-seen-a-dying-eye .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-poem-ive-seen-a-dying-eye .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 75%;
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4a 50%, #2a2a3a 100%);
}
.scn-poem-ive-seen-a-dying-eye .window {
  position: absolute; top: 15%; left: 40%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 100%);
  border-radius: 5%;
  box-shadow: inset 0 0 10px #1a1a2a;
  animation: sde-window 10s ease-in-out infinite alternate;
}
.scn-poem-ive-seen-a-dying-eye .figure {
  position: absolute; bottom: 20%; left: 30%; width: 15%; height: 40%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 50% 50%;
  transform-origin: bottom center;
  animation: sde-figure 6s ease-in-out infinite alternate;
}
.scn-poem-ive-seen-a-dying-eye .eye-glow {
  position: absolute; bottom: 35%; left: 35%; width: 4%; height: 6%;
  background: radial-gradient(circle, #ccddff 0%, #6688cc 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #6688cc;
  animation: sde-eye 5s ease-in-out infinite;
}
.scn-poem-ive-seen-a-dying-eye .fog-1,
.scn-poem-ive-seen-a-dying-eye .fog-2 {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(150,170,190,.3) 0%, transparent 70%);
  filter: blur(40px);
  animation: sde-fog 20s ease-in-out infinite alternate;
}
.scn-poem-ive-seen-a-dying-eye .fog-2 {
  background: radial-gradient(ellipse at 70% 60%, rgba(150,170,190,.2) 0%, transparent 50%);
  animation-duration: 25s;
  animation-delay: -8s;
}

@keyframes sde-window {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.02); }
  100% { opacity: .7; transform: scale(0.98); }
}
@keyframes sde-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(2px) rotate(-2deg); }
}
@keyframes sde-eye {
  0% { transform: translate(0,0) scale(1); opacity: .7; }
  25% { transform: translate(10px, -5px) scale(1.2); opacity: .9; }
  50% { transform: translate(15px, 2px) scale(0.9); opacity: .8; }
  75% { transform: translate(5px, 8px) scale(1.1); opacity: .6; }
  100% { transform: translate(-5px, 0) scale(1); opacity: .7; }
}
@keyframes sde-fog {
  0% { transform: translateX(-10px) scale(1); opacity: .4; }
  33% { transform: translateX(5px) scale(1.05); opacity: .6; }
  66% { transform: translateX(-5px) scale(0.95); opacity: .3; }
  100% { transform: translateX(10px) scale(1); opacity: .4; }
}

.scn-poem-the-robin { background: linear-gradient(180deg, #ffd8b0 0%, #f0a060 40%, #b08060 100%), radial-gradient(ellipse at 50% 100%, #ffc080 0%, transparent 70%); }
.scn-poem-the-robin .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #ffd8b0 0%, #f0a060 100%); animation: rb-sky 20s ease-in-out infinite alternate; }
.scn-poem-the-robin .hills { position:absolute; bottom:30%; left:0; right:0; height:20%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 60% 40% 0 0; box-shadow: inset 0 6px 16px rgba(0,0,0,.3); animation: rb-hills 15s ease-in-out infinite alternate; }
.scn-poem-the-robin .branch { position:absolute; bottom:40%; left:20%; width:60%; height:4px; background:#4a3a2a; border-radius:2px; animation: rb-branch 10s ease-in-out infinite alternate; }
.scn-poem-the-robin .robin { position:absolute; bottom:38%; left:45%; width:16px; height:20px; background:#3a2a1a; border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: rb-robin 4s ease-in-out infinite alternate; }
.scn-poem-the-robin .sunrise { position:absolute; bottom:45%; left:50%; width:80px; height:80px; background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,160,64,.5); animation: rb-sunrise 6s ease-in-out infinite alternate; }
.scn-poem-the-robin .cloud { position:absolute; top:15%; right:10%; width:100px; height:20px; background: rgba(255,220,180,.4); border-radius:50%; filter: blur(6px); animation: rb-cloud 30s linear infinite; }
.scn-poem-the-robin .grass { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%); border-radius: 20% 20% 0 0; animation: rb-grass 12s ease-in-out infinite alternate; }
@keyframes rb-sky { 0% { opacity:.85; transform:translateY(0) } 50% { opacity:1; transform:translateY(-3px) } 100% { opacity:.9; transform:translateY(0) } }
@keyframes rb-hills { 0% { transform:translateY(0) } 50% { transform:translateY(-4px) } 100% { transform:translateY(0) } }
@keyframes rb-branch { 0% { transform:scaleX(1) } 50% { transform:scaleX(1.02) } 100% { transform:scaleX(1) } }
@keyframes rb-robin { 0% { transform:translate(0,0) rotate(-2deg) } 50% { transform:translate(2px,-1px) rotate(1deg) } 100% { transform:translate(0,0) rotate(-2deg) } }
@keyframes rb-sunrise { 0% { opacity:.8; transform:scale(1) } 50% { opacity:1; transform:scale(1.05) } 100% { opacity:.85; transform:scale(1) } }
@keyframes rb-cloud { 0% { transform:translateX(0) } 100% { transform:translateX(-140vw) } }
@keyframes rb-grass { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }

.scn-poem-the-butterflys-day { background: linear-gradient(180deg, #87ceeb 0%, #f0f8ff 50%, #fff5e0 100%), radial-gradient(ellipse at 50% 100%, #fff5e0 0%, transparent 70%); }
.scn-poem-the-butterflys-day .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 100%); animation: bf-sky 18s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .field { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7ec850 0%, #4a7a30 100%); border-radius: 40% 60% 0 0; box-shadow: inset 0 6px 20px rgba(0,0,0,.2); animation: bf-field 15s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .flower-stem { position:absolute; bottom:30%; left:40%; width:6px; height:50%; background:#3a6a2a; border-radius:3px; animation: bf-stem 8s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .flower-head { position:absolute; bottom:70%; left:38%; width:30px; height:30px; background: radial-gradient(circle, #ff69b4 0%, #ff1493 100%); border-radius:50%; box-shadow: 0 0 20px 10px rgba(255,105,180,.5); animation: bf-flower 6s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .butterfly { position:absolute; bottom:75%; left:50%; width:20px; height:15px; background: linear-gradient(109deg, #ffa500 0%, #ff4500 100%); border-radius:50% 50% 50% 50%; transform:rotate(-20deg); animation: bf-butterfly 4s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .cocoon { position:absolute; bottom:40%; left:42%; width:8px; height:12px; background:#6b4226; border-radius: 50% 50% 40% 40%; animation: bf-cocoon 10s ease-in-out infinite alternate; }
.scn-poem-the-butterflys-day .sun-glow { position:absolute; top:10%; right:10%; width:60px; height:60px; background: radial-gradient(circle, #fffacd 0%, #ffd700 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 50px 30px rgba(255,215,0,.4); animation: bf-sun 20s linear infinite; }
@keyframes bf-sky { 0% { opacity:.9; transform:translateY(0) } 50% { opacity:1; transform:translateY(-4px) } 100% { opacity:.95; transform:translateY(0) } }
@keyframes bf-field { 0% { transform:translateY(0) } 50% { transform:translateY(-3px) } 100% { transform:translateY(0) } }
@keyframes bf-stem { 0% { transform:scaleY(1) translateX(0) } 50% { transform:scaleY(1.02) translateX(1px) } 100% { transform:scaleY(1) translateX(0) } }
@keyframes bf-flower { 0% { transform:rotate(0deg) scale(1) } 50% { transform:rotate(5deg) scale(1.05) } 100% { transform:rotate(-5deg) scale(1) } }
@keyframes bf-butterfly { 0% { transform:rotate(-20deg) translate(0,0) } 50% { transform:rotate(-15deg) translate(3px,-2px) } 100% { transform:rotate(-20deg) translate(0,0) } }
@keyframes bf-cocoon { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.03) } 100% { transform:scaleY(1) } }
@keyframes bf-sun { 0% { transform:translateX(0) } 100% { transform:translateX(-120vw) } }

.scn-poem-the-bluebird { background: linear-gradient(180deg, #a0a0a0 0%, #808080 40%, #c0a090 100%), radial-gradient(ellipse at 50% 100%, #c0a090 0%, transparent 70%); }
.scn-poem-the-bluebird .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #a0a0a0 0%, #c0c0c0 100%); animation: bb-sky 20s ease-in-out infinite alternate; }
.scn-poem-the-bluebird .cloud { position:absolute; top:20%; left:10%; width:120px; height:30px; background: rgba(200,200,200,.5); border-radius:50%; filter: blur(8px); animation: bb-cloud 40s linear infinite; }
.scn-poem-the-bluebird .bird { position:absolute; bottom:50%; left:30%; width:20px; height:15px; background: #4a4a6a; border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform:rotate(10deg); animation: bb-bird 5s ease-in-out infinite alternate; }
.scn-poem-the-bluebird .branch { position:absolute; bottom:45%; left:20%; width:60%; height:4px; background:#5a3a2a; border-radius:2px; animation: bb-branch 12s ease-in-out infinite alternate; }
.scn-poem-the-bluebird .leaf { position:absolute; bottom:48%; left:40%; width:12px; height:8px; background:#6a8a3a; border-radius: 0 50% 50% 50%; transform:rotate(30deg); animation: bb-leaf 8s ease-in-out infinite alternate; }
.scn-poem-the-bluebird .leaf2 { position:absolute; bottom:47%; left:55%; width:10px; height:6px; background:#6a8a3a; border-radius: 50% 0 50% 50%; transform:rotate(-20deg); animation: bb-leaf2 9s ease-in-out infinite alternate; }
@keyframes bb-sky { 0% { opacity:.8; transform:translateY(0) } 50% { opacity:1; transform:translateY(-2px) } 100% { opacity:.9; transform:translateY(0) } }
@keyframes bb-cloud { 0% { transform:translateX(0) } 100% { transform:translateX(-150vw) } }
@keyframes bb-bird { 0% { transform:rotate(10deg) translate(0,0) } 50% { transform:rotate(15deg) translate(2px,-1px) } 100% { transform:rotate(10deg) translate(0,0) } }
@keyframes bb-branch { 0% { transform:scaleX(1) } 50% { transform:scaleX(1.01) } 100% { transform:scaleX(1) } }
@keyframes bb-leaf { 0% { transform:rotate(30deg) scale(1) } 50% { transform:rotate(35deg) scale(1.05) } 100% { transform:rotate(30deg) scale(1) } }
@keyframes bb-leaf2 { 0% { transform:rotate(-20deg) scale(1) } 50% { transform:rotate(-25deg) scale(1.03) } 100% { transform:rotate(-20deg) scale(1) } }

.scn-poem-april { background: linear-gradient(180deg, #ffb07c 0%, #ffd8b0 40%, #b0c8a0 100%), radial-gradient(ellipse at 50% 100%, #b0c8a0 0%, transparent 70%); }
.scn-poem-april .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #ffb07c 0%, #ffe0c0 100%); animation: ap-sky 16s ease-in-out infinite alternate; }
.scn-poem-april .horizon { position:absolute; bottom:30%; left:0; right:0; height:10%; background: linear-gradient(180deg, #5a7a4a 0%, #4a6a3a 100%); border-radius: 30% 70% 0 0; animation: ap-horizon 14s ease-in-out infinite alternate; }
.scn-poem-april .tree-trunk { position:absolute; bottom:30%; left:40%; width:10px; height:40%; background:#4a3a2a; border-radius: 5px 5px 0 0; animation: ap-trunk 8s ease-in-out infinite alternate; }
.scn-poem-april .branches { position:absolute; bottom:55%; left:38%; width:30px; height:5px; background:#4a3a2a; border-radius: 2px; transform:rotate(20deg); animation: ap-branches 10s ease-in-out infinite alternate; }
.scn-poem-april .blossom-a { position:absolute; bottom:58%; left:38%; width:12px; height:12px; background: radial-gradient(circle, #ffc0cb 0%, #ffb6c1 100%); border-radius:50%; box-shadow: 0 0 10px 5px rgba(255,182,193,.5); animation: ap-blossom 4s ease-in-out infinite alternate; }
.scn-poem-april .blossom-b { position:absolute; bottom:55%; left:45%; width:10px; height:10px; background: radial-gradient(circle, #ffb6c1 0%, #ff69b4 100%); border-radius:50%; animation: ap-blossom2 5s ease-in-out infinite alternate; }
.scn-poem-april .sun-glow { position:absolute; bottom:40%; right:20%; width:80px; height:80px; background: radial-gradient(circle, #fff5ee 0%, #ffdab9 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,218,185,.6); animation: ap-sun 20s linear infinite; }
@keyframes ap-sky { 0% { opacity:.8; transform:translateY(0) } 50% { opacity:1; transform:translateY(-3px) } 100% { opacity:.9; transform:translateY(0) } }
@keyframes ap-horizon { 0% { transform:translateY(0) } 50% { transform:translateY(-2px) } 100% { transform:translateY(0) } }
@keyframes ap-trunk { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.02) } 100% { transform:scaleY(1) } }
@keyframes ap-branches { 0% { transform:rotate(20deg) scaleX(1) } 50% { transform:rotate(23deg) scaleX(1.02) } 100% { transform:rotate(20deg) scaleX(1) } }
@keyframes ap-blossom { 0% { transform:scale(1) } 50% { transform:scale(1.1) } 100% { transform:scale(1) } }
@keyframes ap-blossom2 { 0% { transform:scale(1) translate(0,0) } 50% { transform:scale(1.08) translate(1px,-1px) } 100% { transform:scale(1) translate(0,0) } }
@keyframes ap-sun { 0% { transform:translateX(0) } 100% { transform:translateX(-130vw) } }

.scn-poem-mother-nature {
  background: linear-gradient(180deg, #fddb8a 0%, #f9c065 40%, #e89c3a 100%), 
              radial-gradient(ellipse at 50% 10%, #fff5d6 0%, transparent 70%);
}
.scn-poem-mother-nature .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #fce4b5 0%, #f8d08a 50%, transparent 100%);
  animation: pn-sky 20s ease-in-out infinite alternate;
}
.scn-poem-mother-nature .sun {
  position: absolute; top: 12%; left: 60%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffea8c 0%, #f6b83a 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px #f6d072, 0 0 80px 30px rgba(246,208,114,0.3);
  animation: pn-sun 14s ease-in-out infinite alternate;
}
.scn-poem-mother-nature .trees {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #5a7330 0%, #3a5020 50%, #1e2f10 100%);
  border-radius: 30% 70% 0 0 / 50% 40% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: pn-trees 24s ease-in-out infinite alternate;
}
.scn-poem-mother-nature .mother-nature {
  position: absolute; bottom: 35%; left: 35%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e140e 100%);
  border-radius: 60% 60% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: pn-figure 8s ease-in-out infinite;
}
.scn-poem-mother-nature .squirrel {
  position: absolute; bottom: 38%; left: 20%; width: 14px; height: 12px;
  background: #6a4a2a;
  border-radius: 50% 50% 40% 40%;
  animation: pn-squirrel 6s ease-in-out infinite;
}
.scn-poem-mother-nature .bird-a {
  position: absolute; top: 22%; left: 25%; width: 20px; height: 10px;
  background: #3a2a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  animation: pn-bird-a 18s linear infinite;
}
.scn-poem-mother-nature .bird-b {
  position: absolute; top: 28%; left: 45%; width: 16px; height: 8px;
  background: #3a2a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(-20deg);
  animation: pn-bird-b 22s linear infinite;
}
@keyframes pn-sky { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes pn-sun { 0% { transform: scale(0.95) translateY(0); } 50% { transform: scale(1.05) translateY(-3px); } 100% { transform: scale(0.98) translateY(0); } }
@keyframes pn-trees { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pn-figure { 0% { transform: rotate(-1deg); } 25% { transform: rotate(1deg) translateY(-1px); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(0deg); } }
@keyframes pn-squirrel { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(10deg); } 50% { transform: translateX(10px) rotate(-5deg); } 75% { transform: translateX(15px) rotate(5deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes pn-bird-a { 0% { transform: translateX(-30px) rotate(15deg); } 100% { transform: translateX(120vw) rotate(15deg); } }
@keyframes pn-bird-b { 0% { transform: translateX(0) rotate(-20deg); } 100% { transform: translateX(-100vw) rotate(-20deg); } }

.scn-poem-will-there-really-be-morning {
  background: linear-gradient(180deg, #1e3a5f 0%, #4f6d7a 30%, #c9945a 70%, #f2c785 100%),
              radial-gradient(ellipse at 50% 0%, #f2e8c6 0%, transparent 60%);
}
.scn-poem-will-there-really-be-morning .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #1e3a5f 0%, #7a9bb5 40%, #f2dca6 80%, transparent 100%);
  animation: pwm-sky 25s ease-in-out infinite alternate;
}
.scn-poem-will-there-really-be-morning .sun {
  position: absolute; top: 30%; left: 55%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fce28b 0%, #e8a83a 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 35px 12px #f5c86a, 0 0 70px 25px rgba(245,200,106,0.4);
  animation: pwm-sun 16s ease-in-out infinite alternate;
}
.scn-poem-will-there-really-be-morning .mountains {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4d5e5a 0%, #2a3a3a 100%);
  border-radius: 60% 40% 0 0 / 50% 30% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.4);
  animation: pwm-mountains 20s ease-in-out infinite alternate;
}
.scn-poem-will-there-really-be-morning .pond {
  position: absolute; bottom: 20%; left: 20%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #6a8a9a 0%, #3a5a6a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: pwm-pond 14s ease-in-out infinite alternate;
}
.scn-poem-will-there-really-be-morning .lily {
  position: absolute; bottom: 24%; left: 35%; width: 20px; height: 10px;
  background: radial-gradient(circle at 50% 30%, #f5e5c6 0%, #c9a06c 80%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 10px 3px rgba(201,160,108,0.5);
  animation: pwm-lily 10s ease-in-out infinite alternate;
}
.scn-poem-will-there-really-be-morning .bird {
  position: absolute; top: 18%; left: 30%; width: 24px; height: 12px;
  background: #2a1a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(10deg);
  animation: pwm-bird 30s linear infinite;
}
.scn-poem-will-there-really-be-morning .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a6a2a 0%, #2a4a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: pwm-grass 12s ease-in-out infinite alternate;
}
@keyframes pwm-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes pwm-sun { 0% { transform: scale(0.95) translateY(0); } 50% { transform: scale(1.03) translateY(-4px); } 100% { transform: scale(0.97) translateY(0); } }
@keyframes pwm-mountains { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pwm-pond { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.01) scaleY(0.98); } 100% { transform: scaleX(1); } }
@keyframes pwm-lily { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes pwm-bird { 0% { transform: translateX(-30px) rotate(10deg); } 100% { transform: translateX(120vw) rotate(10deg); } }
@keyframes pwm-grass { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-poem-days-parlor {
  background: linear-gradient(180deg, #2c1a40 0%, #5a3060 30%, #c06a4a 70%, #f2b85a 100%),
              radial-gradient(ellipse at 50% 20%, #f0c870 0%, transparent 70%);
}
.scn-poem-days-parlor .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a3a5a 0%, #3a2a3a 100%);
  animation: pdp-wall 20s ease-in-out infinite alternate;
}
.scn-poem-days-parlor .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20% 80% 0 0 / 10% 20% 0 0;
  animation: pdp-floor 18s ease-in-out infinite alternate;
}
.scn-poem-days-parlor .window {
  position: absolute; top: 10%; left: 25%; width: 30%; height: 50%;
  background: #1a1a3a;
  border: 6px solid #4a3a2a;
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(242,184,90,0.2);
  animation: pdp-window 16s ease-in-out infinite alternate;
}
.scn-poem-days-parlor .hills-outside {
  position: absolute; top: 15%; left: 28%; width: 24%; height: 30%;
  background: linear-gradient(180deg, #7a4a3a 0%, #4a2a1a 100%);
  border-radius: 60% 40% 0 0 / 50% 30% 0 0;
  animation: pdp-hills 22s ease-in-out infinite alternate;
}
.scn-poem-days-parlor .lady {
  position: absolute; bottom: 30%; right: 25%; width: 36px; height: 90px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pdp-lady 8s ease-in-out infinite;
}
.scn-poem-days-parlor .fabric {
  position: absolute; bottom: 40%; right: 15%; width: 60px; height: 50px;
  background: linear-gradient(180deg, #f2c870 0%, #c08040 80%);
  border-radius: 40% 60% 50% 50% / 30% 40% 60% 70%;
  box-shadow: 0 0 20px 5px rgba(242,200,112,0.4);
  animation: pdp-fabric 10s ease-in-out infinite alternate;
}
.scn-poem-days-parlor .sunburst {
  position: absolute; top: 12%; left: 35%; width: 40px; height: 40px;
  background: radial-gradient(circle, #f2d080 0%, #e8a83a 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px #f5d090, 0 0 100px 40px rgba(245,208,144,0.3);
  animation: pdp-sunburst 6s ease-in-out infinite alternate;
}
@keyframes pdp-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes pdp-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes pdp-window { 0% { box-shadow: inset 0 0 20px rgba(242,184,90,0.1); } 50% { box-shadow: inset 0 0 50px rgba(242,184,90,0.4); } 100% { box-shadow: inset 0 0 30px rgba(242,184,90,0.2); } }
@keyframes pdp-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes pdp-lady { 0% { transform: rotate(-2deg); } 25% { transform: rotate(2deg) translateY(-1px); } 50% { transform: rotate(-3deg); } 75% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(0deg); } }
@keyframes pdp-fabric { 0% { transform: scaleX(0.9) rotate(-5deg); } 50% { transform: scaleX(1.05) rotate(5deg) translateY(-2px); } 100% { transform: scaleX(0.95) rotate(3deg); } }
@keyframes pdp-sunburst { 0% { opacity:0.6; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.9); } }

.scn-poem-suns-wooing {
  background: linear-gradient(180deg, #1a2a4a 0%, #4a6a8a 30%, #c07040 70%, #f2c080 100%),
              radial-gradient(ellipse at 60% 10%, #f2d8a0 0%, transparent 70%);
}
.scn-poem-suns-wooing .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a2a4a 0%, #7a8a9a 40%, #d4a060 80%, transparent 100%);
  animation: psw-sky 25s ease-in-out infinite alternate;
}
.scn-poem-suns-wooing .sun {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, #fce49b 0%, #f0b05a 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 25px #f5c870, 0 0 120px 50px rgba(245,200,112,0.3);
  animation: psw-sun 20s ease-in-out infinite alternate;
}
.scn-poem-suns-wooing .morning-figure {
  position: absolute; bottom: 30%; left: 35%; width: 50px; height: 100px;
  background: linear-gradient(180deg, #d4a060 0%, #8a5030 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px 5px rgba(212,160,96,0.4);
  animation: psw-figure 12s ease-in-out infinite;
}
.scn-poem-suns-wooing .orchard-tree-a {
  position: absolute; bottom: 35%; right: 10%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: psw-tree-a 28s ease-in-out infinite alternate;
}
.scn-poem-suns-wooing .orchard-tree-b {
  position: absolute; bottom: 32%; right: 25%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a2a0a 0%, #1a1000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: psw-tree-b 32s ease-in-out infinite alternate reverse;
}
.scn-poem-suns-wooing .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a5a2a 0%, #3a3a1a 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
  animation: psw-ground 15s ease-in-out infinite alternate;
}
.scn-poem-suns-wooing .trail-rays {
  position: absolute; top: 20%; left: 55%; width: 120px; height: 60px;
  background: linear-gradient(90deg, transparent 0%, #f5d080 40%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(4px);
  opacity: 0.5;
  animation: psw-rays 18s ease-in-out infinite alternate;
}
@keyframes psw-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes psw-sun { 0% { transform: scale(0.95) translateX(0); } 50% { transform: scale(1.02) translateX(10px) translateY(-5px); } 100% { transform: scale(0.98) translateX(0); } }
@keyframes psw-figure { 0% { transform: rotate(-2deg) translateY(0); } 25% { transform: rotate(1deg) translateY(-3px); } 50% { transform: rotate(-1deg) translateY(-5px); } 75% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes psw-tree-a { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.02) translateY(-2px); } 100% { transform: scale(1) translateY(0); } }
@keyframes psw-tree-b { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.01) translateY(-3px); } 100% { transform: scale(1) translateY(0); } }
@keyframes psw-ground { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes psw-rays { 0% { opacity:0.3; transform: scaleX(0.8); } 50% { opacity:0.6; transform: scaleX(1.1) translateX(5px); } 100% { opacity:0.4; transform: scaleX(0.9); } }

.scn-poem-lonely-houses {
  background:
    linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 30%, #2a2a5e 60%, #1a1a3e 100%),
    radial-gradient(ellipse at 50% 0%, #3a3a7e 0%, transparent 60%);
}
.scn-poem-lonely-houses .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0a3e 0%, #1a1a5e 50%, #2a2a6e 100%);
  animation: ph1-sky 20s ease-in-out infinite alternate;
}
.scn-poem-lonely-houses .moon {
  position: absolute; top: 8%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle, #c8d8f0 0%, #8a9ab0 100%);
  border-radius: 50%; box-shadow: 0 0 24px 12px rgba(200,216,240,.4);
  animation: ph1-moon 30s ease-in-out infinite alternate;
}
.scn-poem-lonely-houses .tree-left {
  position: absolute; bottom: 30%; left: 10%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
  animation: ph1-tree-left 8s ease-in-out infinite alternate;
}
.scn-poem-lonely-houses .tree-right {
  position: absolute; bottom: 30%; left: 75%; width: 100px; height: 140px;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 50% 50% 0 0 / 70% 70% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
  animation: ph1-tree-right 10s ease-in-out infinite alternate;
}
.scn-poem-lonely-houses .house {
  position: absolute; bottom: 20%; left: 50%; width: 140px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 8px 20px rgba(0,0,0,.6);
  animation: ph1-house 6s ease-in-out infinite;
}
.scn-poem-lonely-houses .window-left {
  position: absolute; bottom: 30%; left: 40%; width: 20px; height: 28px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #e8d8b0 0%, #908060 70%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 0 18px 6px #b09870;
  animation: ph1-window 3s ease-in-out infinite alternate;
}
.scn-poem-lonely-houses .window-right {
  position: absolute; bottom: 30%; left: 56%; width: 20px; height: 28px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #d8c8a0 0%, #807060 70%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 0 14px 4px #a08860;
  animation: ph1-window 3s ease-in-out infinite alternate-reverse;
}
.scn-poem-lonely-houses .porch-figure {
  position: absolute; bottom: 14%; left: 38%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph1-figure 4s ease-in-out infinite;
}
@keyframes ph1-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes ph1-moon { 0% { transform: translateX(0) translateY(0) } 50% { transform: translateX(-4px) translateY(2px) scale(1.02) } 100% { transform: translateX(4px) translateY(-2px) scale(.98) } }
@keyframes ph1-tree-left { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(1deg) scaleY(1.02) } 100% { transform: rotate(-1deg) scaleY(1) } }
@keyframes ph1-tree-right { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(-1deg) scaleY(1.02) } 100% { transform: rotate(1deg) scaleY(1) } }
@keyframes ph1-house { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) } }
@keyframes ph1-window { 0% { box-shadow: 0 0 14px 4px #b09870; opacity:.8 } 50% { box-shadow: 0 0 28px 10px #d0b890; opacity:1 } 100% { box-shadow: 0 0 18px 6px #a08860; opacity:.85 } }
@keyframes ph1-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0) } }

.scn-poem-spectacles-alarm {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #2a2a5e 30%, #1a1a4e 70%, #0a0a2e 100%),
    radial-gradient(ellipse at 50% 80%, #3a3a7e 0%, transparent 50%);
}
.scn-poem-spectacles-alarm .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a2a4e 0%, #1a1a3e 50%, #2a2a4e 100%);
  animation: ph2-wall 12s ease-in-out infinite alternate;
}
.scn-poem-spectacles-alarm .room-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.5);
}
.scn-poem-spectacles-alarm .window {
  position: absolute; top: 15%; left: 60%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #3a4a6e 0%, #2a3a5e 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 0 20px 8px rgba(80,100,160,.3);
  animation: ph2-window 6s ease-in-out infinite alternate;
}
.scn-poem-spectacles-alarm .moonbeam {
  position: absolute; top: 20%; left: 60%; width: 120px; height: 180px;
  background: linear-gradient(135deg, rgba(200,220,255,.15) 0%, transparent 100%);
  transform-origin: top left;
  animation: ph2-beam 10s ease-in-out infinite alternate;
}
.scn-poem-spectacles-alarm .table {
  position: absolute; bottom: 28%; left: 45%; width: 100px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 6% 6% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  animation: ph2-table 4s ease-in-out infinite;
}
.scn-poem-spectacles-alarm .spectacles {
  position: absolute; bottom: 38%; left: 48%; width: 30px; height: 12px;
  background: linear-gradient(90deg, #c0c0c0 0%, #e0e0e0 50%, #c0c0c0 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform-origin: center center;
  animation: ph2-spectacles 3s ease-in-out infinite alternate;
}
.scn-poem-spectacles-alarm .tankard {
  position: absolute; bottom: 30%; left: 42%; width: 18px; height: 24px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: ph2-tankard 5s ease-in-out infinite;
}
.scn-poem-spectacles-alarm .brooch {
  position: absolute; bottom: 36%; left: 55%; width: 10px; height: 10px;
  background: radial-gradient(circle, #e0c080 0%, #a08050 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(224,192,128,.3);
  animation: ph2-brooch 7s ease-in-out infinite alternate;
}
.scn-poem-spectacles-alarm .shadow-figure {
  position: absolute; bottom: 20%; left: 20%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph2-shadow 8s ease-in-out infinite alternate;
}
@keyframes ph2-wall { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes ph2-window { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(.98) } }
@keyframes ph2-beam { 0% { transform: rotate(-5deg) scaleX(.95) } 50% { transform: rotate(3deg) scaleX(1.05) } 100% { transform: rotate(-2deg) scaleX(1) } }
@keyframes ph2-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ph2-spectacles { 0% { transform: rotate(0deg) scaleX(1) } 50% { transform: rotate(6deg) scaleX(1.1) } 100% { transform: rotate(-4deg) scaleX(.95) } }
@keyframes ph2-tankard { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(-1px) rotate(-1deg) } 75% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ph2-brooch { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.15) } 100% { opacity: .7; transform: scale(.9) } }
@keyframes ph2-shadow { 0% { transform: translateX(0) } 50% { transform: translateX(8px) scaleX(1.1) } 100% { transform: translateX(4px) scaleX(.95) } }

.scn-poem-day-ratlles {
  background:
    linear-gradient(180deg, #ff6a3a 0%, #ff9a5a 20%, #ffc870 40%, #ffe0a0 60%, #f0d0b0 80%, #e0c0a0 100%),
    radial-gradient(ellipse at 50% 0%, #ff8a5a 0%, transparent 70%);
}
.scn-poem-day-ratlles .dawn-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ff7a4a 0%, #ffa060 40%, #ffd080 80%, #ffe8c0 100%);
  animation: ph3-sky 25s ease-in-out infinite alternate;
}
.scn-poem-day-ratlles .sun {
  position: absolute; top: 15%; left: 25%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe080 0%, #ffb060 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,176,96,.5);
  animation: ph3-sun 30s linear infinite;
}
.scn-poem-day-ratlles .sycamore-trunk {
  position: absolute; bottom: 10%; left: 50%; width: 20px; height: 150px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,.3);
  animation: ph3-trunk 8s ease-in-out infinite alternate;
}
.scn-poem-day-ratlles .sycamore-crown {
  position: absolute; bottom: 50%; left: 50%; width: 120px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 60% 80% at 50% 40%, #6a8a4a 40%, #4a6a2a 80%, transparent);
  border-radius: 50% 50% 0 0;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,.2);
  animation: ph3-crown 6s ease-in-out infinite alternate;
}
.scn-poem-day-ratlles .house-door {
  position: absolute; bottom: 5%; left: 10%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: ph3-door 4s ease-in-out infinite;
}
.scn-poem-day-ratlles .rooster {
  position: absolute; bottom: 30%; left: 60%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph3-rooster 2s ease-in-out infinite;
}
.scn-poem-day-ratlles .couple-figure-a {
  position: absolute; bottom: 0%; left: 30%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph3-couple 5s ease-in-out infinite;
}
.scn-poem-day-ratlles .couple-figure-b {
  position: absolute; bottom: 0%; left: 35%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph3-couple 5s ease-in-out infinite reverse;
}
@keyframes ph3-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes ph3-sun { 0% { transform: translateX(0) translateY(0) scale(1) } 50% { transform: translateX(30px) translateY(-10px) scale(1.05) } 100% { transform: translateX(60px) translateY(-20px) scale(1.1) } }
@keyframes ph3-trunk { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(.98) } }
@keyframes ph3-crown { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) scale(1.01) } 100% { transform: translateX(-50%) rotate(-1deg) scale(.99) } }
@keyframes ph3-door { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } }
@keyframes ph3-rooster { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(5deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ph3-couple { 0% { transform: translateX(0) } 50% { transform: translateX(6px) scaleX(1.05) } 100% { transform: translateX(-3px) scaleX(.95) } }

.scn-poem-to-fight-aloud {
  background:
    linear-gradient(180deg, #fae8c8 0%, #f5d8a0 20%, #f0c080 40%, #e8b060 60%, #d8a050 80%, #c89040 100%),
    radial-gradient(ellipse at 50% 30%, #f0c080 0%, transparent 70%);
}
.scn-poem-to-fight-aloud .golden-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #fae8c8 0%, #f5d8a0 40%, #f0c080 100%);
  animation: ph4-sky 30s ease-in-out infinite alternate;
}
.scn-poem-to-fight-aloud .sun-burst {
  position: absolute; top: 10%; left: 50%; width: 80px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffe8b0 0%, #ffd080 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 80px 40px rgba(255,208,128,.4);
  animation: ph4-sun 20s ease-in-out infinite alternate;
}
.scn-poem-to-fight-aloud .cloud-a {
  position: absolute; top: 20%; left: 10%; width: 100px; height: 24px;
  background: linear-gradient(180deg, rgba(255,235,200,.7) 0%, rgba(255,220,170,.3) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ph4-cloud-a 60s linear infinite;
}
.scn-poem-to-fight-aloud .cloud-b {
  position: absolute; top: 35%; right: 15%; width: 80px; height: 20px;
  background: linear-gradient(180deg, rgba(255,235,200,.6) 0%, rgba(255,220,170,.2) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ph4-cloud-b 50s linear infinite reverse;
}
.scn-poem-to-fight-aloud .horse {
  position: absolute; bottom: 15%; left: 30%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 60% 30% 50% / 50% 50% 40% 60%;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.4);
  transform-origin: center bottom;
  animation: ph4-horse 4s ease-in-out infinite;
}
.scn-poem-to-fight-aloud .rider {
  position: absolute; bottom: 30%; left: 33%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ph4-rider 4s ease-in-out infinite;
}
.scn-poem-to-fight-aloud .plume {
  position: absolute; bottom: 55%; left: 32%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform-origin: bottom center;
  animation: ph4-plume 3s ease-in-out infinite alternate;
}
@keyframes ph4-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes ph4-sun { 0% { transform: translateX(-50%) scale(.95) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(1) } }
@keyframes ph4-cloud-a { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }
@keyframes ph4-cloud-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }
@keyframes ph4-horse { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(10px) rotate(2deg) scaleY(1.02) } 50% { transform: translateX(20px) rotate(0deg) scaleY(1) } 75% { transform: translateX(30px) rotate(-2deg) scaleY(1.02) } 100% { transform: translateX(40px) rotate(0deg) } }
@keyframes ph4-rider { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(10px) translateY(-3px) rotate(2deg) } 50% { transform: translateX(20px) translateY(0) rotate(0deg) } 75% { transform: translateX(30px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(40px) translateY(0) rotate(0deg) } }
@keyframes ph4-plume { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(5deg) scaleY(1.1) } 100% { transform: rotate(-3deg) scaleY(.95) } }

/* poem-angels-in-morning */
.scn-poem-angels-in-morning {
  background: linear-gradient(180deg, #6b5a8e 0%, #c89f7a 45%, #e8cfb0 70%, #f5e6d0 100%), radial-gradient(ellipse at 30% 0%, #f5e6d0 0%, transparent 60%);
}
.scn-poem-angels-in-morning .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4c3b6e 0%, #a27a5a 40%, transparent 100%);
  animation: am-sky 14s ease-in-out infinite alternate;
}
.scn-poem-angels-in-morning .hills {
  position: absolute; bottom: 28%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #7aab6e 0%, #4a7a3a 100%);
  border-radius: 40% 60% 0 0 / 70% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
  animation: am-hills 20s ease-in-out infinite alternate;
}
.scn-poem-angels-in-morning .sunray {
  position: absolute; top: 10%; left: 35%; width: 200px; height: 100px;
  background: linear-gradient(90deg, rgba(255,215,140,0) 0%, rgba(255,215,140,.6) 50%, rgba(255,215,140,0) 100%);
  transform: rotate(-15deg);
  filter: blur(10px);
  animation: am-sunray 8s ease-in-out infinite alternate;
}
.scn-poem-angels-in-morning .angel {
  position: absolute; width: 24px; height: 50px;
  background: linear-gradient(180deg, #e6d5b8 0%, #c4b490 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  bottom: 35%;
}
.scn-poem-angels-in-morning .angel.a1 { left: 28%; animation: am-angel1 6s ease-in-out infinite; }
.scn-poem-angels-in-morning .angel.a2 { left: 55%; animation: am-angel2 6s ease-in-out infinite 2s; }
.scn-poem-angels-in-morning .flower {
  position: absolute; width: 12px; height: 16px; bottom: 24%;
  background: radial-gradient(circle at 50% 30%, #ffcfb0 30%, #e8a080 60%, #b06040 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
}
.scn-poem-angels-in-morning .flower.f1 { left: 20%; animation: am-flower 5s ease-in-out infinite; }
.scn-poem-angels-in-morning .flower.f2 { left: 60%; animation: am-flower 5s ease-in-out infinite 1.5s; }
.scn-poem-angels-in-morning .dew {
  position: absolute; width: 6px; height: 6px; bottom: 38%;
  background: radial-gradient(circle, #fffae6 0%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(255,250,230,.6);
}
.scn-poem-angels-in-morning .dew.d1 { left: 25%; animation: am-dew 4s ease-in-out infinite; }
.scn-poem-angels-in-morning .dew.d2 { left: 50%; animation: am-dew 4s ease-in-out infinite 1.2s; }

@keyframes am-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes am-hills { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes am-sunray { 0% { opacity: .3; transform: rotate(-15deg) translateX(0) } 50% { opacity: .7; transform: rotate(-10deg) translateX(5px) } 100% { opacity: .4; transform: rotate(-20deg) translateX(-3px) } }
@keyframes am-angel1 { 0% { transform: translateY(0) rotate(0deg) scale(1) } 30% { transform: translateY(-6px) rotate(4deg) scale(1.05) } 60% { transform: translateY(2px) rotate(-3deg) scale(.98) } 100% { transform: translateY(0) rotate(0deg) scale(1) } }
@keyframes am-angel2 { 0% { transform: translateY(0) rotate(0deg) scale(1) } 30% { transform: translateY(-6px) rotate(-4deg) scale(1.05) } 60% { transform: translateY(2px) rotate(3deg) scale(.98) } 100% { transform: translateY(0) rotate(0deg) scale(1) } }
@keyframes am-flower { 0% { transform: rotate(-5deg) scaleY(1) } 50% { transform: rotate(5deg) scaleY(1.1) } 100% { transform: rotate(-5deg) scaleY(1) } }
@keyframes am-dew { 0% { opacity: .2; transform: scale(.8) } 40% { opacity: 1; transform: scale(1.2) } 80% { opacity: .6; transform: scale(.9) } 100% { opacity: .2; transform: scale(.8) } }

/* poem-it-makes-no-difference */
.scn-poem-it-makes-no-difference {
  background: linear-gradient(180deg, #6d7a7a 0%, #8a9a8a 40%, #a8b5a0 70%, #bec8b8 100%), radial-gradient(ellipse at 60% 100%, #bec8b8 0%, transparent 60%);
}
.scn-poem-it-makes-no-difference .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #5a6a6a 0%, #8a9a8a 50%, transparent 100%);
  animation: md-sky 25s ease-in-out infinite alternate;
}
.scn-poem-it-makes-no-difference .hills {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a8a6a 0%, #4a5a3a 100%);
  border-radius: 30% 70% 0 0 / 50% 60% 0 0;
  box-shadow: inset 0 6px 15px rgba(0,0,0,.25);
  animation: md-hills 18s ease-in-out infinite alternate;
}
.scn-poem-it-makes-no-difference .brook {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 10px;
  background: linear-gradient(90deg, #a0b8b0 0%, #c0d8d0 50%, #a0b8b0 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: md-brook 8s ease-in-out infinite;
}
.scn-poem-it-makes-no-difference .flowers {
  position: absolute; bottom: 22%; left: 30%; width: 40px; height: 30px;
  background: radial-gradient(circle at 30% 40%, #c8a078 20%, #a87858 50%, transparent 70%), radial-gradient(circle at 70% 60%, #d8b888 20%, #b09060 50%, transparent 70%);
  border-radius: 50%;
  filter: blur(3px);
  animation: md-flowers 6s ease-in-out infinite alternate;
}
.scn-poem-it-makes-no-difference .bird {
  position: absolute; top: 12%; left: 5%; width: 25px; height: 12px;
  background: radial-gradient(ellipse at 30% 50%, #4a4a3a 40%, transparent 70%);
  border-radius: 50%;
  transform: rotate(10deg);
  animation: md-bird 12s ease-in-out infinite;
}
.scn-poem-it-makes-no-difference .tree {
  position: absolute; bottom: 22%; left: 65%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 20% 20%;
  transform-origin: bottom center;
  animation: md-tree 6s ease-in-out infinite alternate;
}
.scn-poem-it-makes-no-difference .wind {
  position: absolute; top: 30%; left: 0; width: 100%; height: 20px;
  background: linear-gradient(90deg, transparent 0%, rgba(200,220,200,.2) 30%, transparent 60%, rgba(200,220,200,.1) 80%, transparent 100%);
  filter: blur(4px);
  animation: md-wind 15s ease-in-out infinite;
}

@keyframes md-sky { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes md-hills { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.01) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes md-brook { 0% { transform: translateX(0) scaleX(1); opacity: .6 } 50% { transform: translateX(-5px) scaleX(1.05); opacity: .9 } 100% { transform: translateX(0) scaleX(1); opacity: .6 } }
@keyframes md-flowers { 0% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes md-bird { 0% { transform: translateX(0) rotate(10deg) } 25% { transform: translateX(20px) rotate(15deg) } 50% { transform: translateX(40px) rotate(8deg) } 75% { transform: translateX(60px) rotate(12deg) } 100% { transform: translateX(80px) rotate(10deg) } }
@keyframes md-tree { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes md-wind { 0% { transform: translateX(-100%) scaleX(1); opacity: 0 } 20% { opacity: .6 } 50% { transform: translateX(100%) scaleX(1.2); opacity: .3 } 80% { opacity: .6 } 100% { transform: translateX(200%) scaleX(1); opacity: 0 } }

/* poem-i'll-tell-you-how-sun-rose */
.scn-poem-i'll-tell-you-how-sun-rose {
  background: linear-gradient(180deg, #2a1a3e 0%, #6a3a5a 30%, #c87850 55%, #f0b090 75%, #fae8d0 100%), radial-gradient(ellipse at 50% 0%, #fae8d0 0%, transparent 60%);
}
.scn-poem-i'll-tell-you-how-sun-rose .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a2a5a 0%, #c08060 50%, transparent 100%);
  animation: sr-sky 12s ease-in-out infinite alternate;
}
.scn-poem-i'll-tell-you-how-sun-rose .sun {
  position: absolute; top: 8%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, #ffd8a0 0%, #f0a060 40%, #c87040 70%, transparent 80%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 60px 20px rgba(240,160,96,.5), 0 0 120px 40px rgba(240,160,96,.2);
  animation: sr-sun 9s ease-in-out infinite alternate;
}
.scn-poem-i'll-tell-you-how-sun-rose .hills {
  position: absolute; bottom: 22%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8a6a4a 0%, #4a3a1a 100%);
  border-radius: 50% 50% 0 0 / 60% 50% 0 0;
  box-shadow: inset 0 10px 25px rgba(0,0,0,.4);
  animation: sr-hills 20s ease-in-out infinite alternate;
}
.scn-poem-i'll-tell-you-how-sun-rose .steeple {
  position: absolute; bottom: 24%; left: 50%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 2px 2px 0 0;
  transform: translateX(-50%);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.3);
  animation: sr-steeple 5s ease-in-out infinite alternate;
}
.scn-poem-i'll-tell-you-how-sun-rose .bird {
  position: absolute; width: 20px; height: 10px;
  background: radial-gradient(ellipse at 30% 50%, #3a2a1a 40%, transparent 70%);
  border-radius: 50%;
}
.scn-poem-i'll-tell-you-how-sun-rose .bird.b1 { top: 15%; left: 10%; animation: sr-bird1 10s linear infinite; }
.scn-poem-i'll-tell-you-how-sun-rose .bird.b2 { top: 20%; left: 70%; animation: sr-bird2 12s linear infinite 3s; }
.scn-poem-i'll-tell-you-how-sun-rose .ribbon {
  position: absolute; top: 5%; left: 20%; width: 200px; height: 8px;
  background: linear-gradient(90deg, transparent 0%, #f0b090 20%, #c87850 40%, #f0b090 60%, transparent 80%);
  transform: rotate(-20deg);
  filter: blur(3px);
  animation: sr-ribbon 8s ease-in-out infinite alternate;
}

@keyframes sr-sky { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes sr-sun { 0% { transform: translateX(-50%) translateY(0) scale(1); box-shadow: 0 0 40px 10px rgba(240,160,96,.3) } 50% { transform: translateX(-50%) translateY(-5px) scale(1.05); box-shadow: 0 0 80px 30px rgba(240,160,96,.6) } 100% { transform: translateX(-50%) translateY(0) scale(1); box-shadow: 0 0 40px 10px rgba(240,160,96,.3) } }
@keyframes sr-hills { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.01) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes sr-steeple { 0% { box-shadow: inset 0 2px 4px rgba(0,0,0,.3); opacity: .8 } 50% { box-shadow: inset 0 2px 4px rgba(0,0,0,.3), 0 0 12px 4px #f0b090; opacity: 1 } 100% { box-shadow: inset 0 2px 4px rgba(0,0,0,.3); opacity: .8 } }
@keyframes sr-bird1 { 0% { transform: translateX(0) rotate(10deg) } 25% { transform: translateX(30px) rotate(5deg) } 50% { transform: translateX(60px) rotate(15deg) } 75% { transform: translateX(90px) rotate(5deg) } 100% { transform: translateX(120px) rotate(10deg) } }
@keyframes sr-bird2 { 0% { transform: translateX(0) rotate(-5deg) } 50% { transform: translateX(50px) rotate(5deg) } 100% { transform: translateX(100px) rotate(-5deg) } }
@keyframes sr-ribbon { 0% { transform: rotate(-20deg) translateX(0) scaleX(1); opacity: .3 } 50% { transform: rotate(-15deg) translateX(10px) scaleX(1.1); opacity: .6 } 100% { transform: rotate(-25deg) translateX(-5px) scaleX(1); opacity: .3 } }

/* poem-of-all-sounds */
.scn-poem-of-all-sounds {
  background: linear-gradient(180deg, #4a5a5a 0%, #6a7a6a 30%, #8a9a8a 60%, #a0b0a0 100%), radial-gradient(ellipse at 40% 100%, #a0b0a0 0%, transparent 60%);
}
.scn-poem-of-all-sounds .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a4a4a 0%, #6a7a6a 50%, transparent 100%);
  animation: os-sky 20s ease-in-out infinite alternate;
}
.scn-poem-of-all-sounds .tree {
  position: absolute; bottom: 20%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 5% 5% 20% 20%;
  transform-origin: bottom center;
}
.scn-poem-of-all-sounds .tree.t1 { left: 20%; animation: os-tree1 7s ease-in-out infinite; }
.scn-poem-of-all-sounds .tree.t2 { left: 70%; width: 40px; height: 100px; animation: os-tree2 9s ease-in-out infinite 1s; }
.scn-poem-of-all-sounds .bird {
  position: absolute; top: 15%; left: 30%; width: 22px; height: 10px;
  background: radial-gradient(ellipse at 30% 50%, #2a3a2a 40%, transparent 70%);
  border-radius: 50%;
  transform: rotate(5deg);
  animation: os-bird 14s ease-in-out infinite;
}
.scn-poem-of-all-sounds .wind {
  position: absolute; height: 12px;
  background: linear-gradient(90deg, transparent 0%, rgba(180,200,180,.4) 30%, transparent 60%, rgba(180,200,180,.2) 80%, transparent 100%);
  filter: blur(4px);
}
.scn-poem-of-all-sounds .wind.w1 { top: 25%; left: 10%; width: 60%; animation: os-wind1 12s ease-in-out infinite; }
.scn-poem-of-all-sounds .wind.w2 { top: 35%; right: 10%; width: 50%; animation: os-wind2 15s ease-in-out infinite 3s; }
.scn-poem-of-all-sounds .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #5a6a3a 0%, #3a4a1a 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,.3);
  animation: os-ground 8s ease-in-out infinite alternate;
}

@keyframes os-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes os-tree1 { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes os-tree2 { 0% { transform: rotate(-2deg) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.02) } 100% { transform: rotate(-2deg) scaleY(1) } }
@keyframes os-bird { 0% { transform: translateX(0) rotate(5deg) scaleY(1) } 30% { transform: translateX(15px) rotate(10deg) scaleY(.8) } 60% { transform: translateX(30px) rotate(0deg) scaleY(1) } 80% { transform: translateX(45px) rotate(-5deg) scaleY(.9) } 100% { transform: translateX(60px) rotate(5deg) scaleY(1) } }
@keyframes os-wind1 { 0% { transform: translateX(-100%) scaleX(1); opacity: 0 } 10% { opacity: .5 } 50% { transform: translateX(100%) scaleX(1.2); opacity: .7 } 90% { opacity: .5 } 100% { transform: translateX(200%) scaleX(1); opacity: 0 } }
@keyframes os-wind2 { 0% { transform: translateX(100%) scaleX(1); opacity: 0 } 10% { opacity: .4 } 50% { transform: translateX(-100%) scaleX(1.3); opacity: .6 } 90% { opacity: .4 } 100% { transform: translateX(-200%) scaleX(1); opacity: 0 } }
@keyframes os-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* ---------- Scene 1: poem-mine-enemy-is-growing-old ---------- */
.scn-poem-mine-enemy-is-growing-old {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #1f1512 40%, #0f0b09 100%),
    radial-gradient(ellipse at 30% 80%, #4a2a1a 0%, transparent 60%);
}
.scn-poem-mine-enemy-is-growing-old .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2f201c 0%, #1a1210 100%);
  box-shadow: inset 0 0 40px #0a0605;
  animation: mee-wall 12s ease-in-out infinite;
}
.scn-poem-mine-enemy-is-growing-old .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1210 0%, #2f1e18 100%);
  border-radius: 0 0 6px 6px;
}
.scn-poem-mine-enemy-is-growing-old .table {
  position: absolute; bottom: 18%; left: 30%; width: 44%; height: 10%;
  background: linear-gradient(0deg, #4a3024 0%, #3a241a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-poem-mine-enemy-is-growing-old .plate {
  position: absolute; bottom: 22%; left: 52%; width: 14%; height: 6%;
  background: radial-gradient(ellipse, #d4a078 0%, #b87a4a 50%, #8a5028 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: mee-plate 6s ease-in-out infinite alternate;
}
.scn-poem-mine-enemy-is-growing-old .glass {
  position: absolute; bottom: 24%; left: 62%; width: 6%; height: 10%;
  background: linear-gradient(180deg, rgba(200,180,150,0.4) 0%, rgba(140,110,80,0.2) 100%);
  border-radius: 2px 2px 6px 6px;
  box-shadow: inset 0 2px 4px rgba(255,200,150,0.2);
  animation: mee-glass 8s ease-in-out infinite alternate;
}
.scn-poem-mine-enemy-is-growing-old .figure {
  position: absolute; bottom: 10%; right: 20%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #0f0b09 0%, #1a1210 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mee-figure 5s ease-in-out infinite;
}
.scn-poem-mine-enemy-is-growing-old .shadow {
  position: absolute; bottom: 8%; left: 18%; width: 20%; height: 30%;
  background: radial-gradient(ellipse, rgba(10,6,5,0.6) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(8px);
  animation: mee-shadow 10s ease-in-out infinite alternate;
}
@keyframes mee-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes mee-plate {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(3deg) scale(0.98); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes mee-glass {
  0% { transform: scaleY(1) rotate(0deg); opacity: 0.6; }
  50% { transform: scaleY(1.02) rotate(1deg); opacity: 0.9; }
  100% { transform: scaleY(0.98) rotate(-1deg); opacity: 0.5; }
}
@keyframes mee-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-1deg) scaleY(1.01); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(2px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes mee-shadow {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.4; }
  50% { transform: scaleX(1.2) scaleY(0.8); opacity: 0.7; }
  100% { transform: scaleX(0.9) scaleY(1.1); opacity: 0.3; }
}

/* ---------- Scene 2: poem-body-grows-outside ---------- */
.scn-poem-body-grows-outside {
  background:
    linear-gradient(180deg, #b8c0b0 0%, #9aa48a 40%, #7a8470 100%),
    radial-gradient(ellipse at 60% 0%, #d0d8c8 0%, transparent 70%);
}
.scn-poem-body-grows-outside .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #c8d0c0 0%, #a8b4a0 100%);
  animation: bgo-sky 20s ease-in-out infinite alternate;
}
.scn-poem-body-grows-outside .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #6a7a5a 0%, #8a9a7a 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
}
.scn-poem-body-grows-outside .house {
  position: absolute; bottom: 22%; left: 30%; width: 30%; height: 28%;
  background: linear-gradient(180deg, #b8a080 0%, #88755a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.scn-poem-body-grows-outside .door {
  position: absolute; bottom: 18%; left: 42%; width: 8%; height: 14%;
  background: linear-gradient(180deg, #5a4230 0%, #3a2a1a 100%);
  border-radius: 2px 2px 6px 6px;
  transform-origin: left center;
  animation: bgo-door 8s ease-in-out infinite alternate;
}
.scn-poem-body-grows-outside .path {
  position: absolute; bottom: 8%; left: 40%; width: 12%; height: 10%;
  background: linear-gradient(180deg, #a09070 0%, #706040 100%);
  border-radius: 20% 20% 40% 40%;
}
.scn-poem-body-grows-outside .tree {
  position: absolute; bottom: 20%; right: 15%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #4a5a2a 0%, #2a3a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: bgo-tree 12s ease-in-out infinite;
}
.scn-poem-body-grows-outside .figure {
  position: absolute; bottom: 12%; left: 48%; width: 8%; height: 16%;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: bgo-figure 6s ease-in-out infinite alternate;
}
@keyframes bgo-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes bgo-door {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(-15deg) scaleX(0.9); }
  100% { transform: rotateY(0deg); }
}
@keyframes bgo-tree {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(2deg) scaleY(1.01); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes bgo-figure {
  0% { transform: translateX(0) scaleY(1); }
  100% { transform: translateX(4px) scaleY(0.95); }
}

/* ---------- Scene 3: poem-heart-not-so-heavy ---------- */
.scn-poem-heart-not-so-heavy {
  background:
    linear-gradient(180deg, #0a0e1a 0%, #10162a 40%, #1a2240 100%),
    radial-gradient(ellipse at 80% 30%, #2a3860 0%, transparent 60%);
}
.scn-poem-heart-not-so-heavy .nightsky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #0a0e1a 0%, #162040 100%);
  animation: hnh-sky 15s ease-in-out infinite;
}
.scn-poem-heart-not-so-heavy .moon {
  position: absolute; top: 8%; right: 20%; width: 12%; height: 12%;
  background: radial-gradient(circle, #e8e8f0 0%, #c0c8d8 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(200,210,240,0.3);
  animation: hnh-moon 20s linear infinite;
}
.scn-poem-heart-not-so-heavy .house {
  position: absolute; bottom: 10%; left: 30%; width: 35%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 0 30px rgba(0,0,0,0.8);
}
.scn-poem-heart-not-so-heavy .window {
  position: absolute; bottom: 22%; left: 48%; width: 10%; height: 14%;
  background: radial-gradient(ellipse, #f0d878 0%, #c8a840 70%, transparent 80%);
  border-radius: 2px;
  box-shadow: 0 0 24px 8px #806820, 0 0 40px 16px rgba(200,168,64,0.3);
  animation: hnh-window 4s ease-in-out infinite alternate;
}
.scn-poem-heart-not-so-heavy .branch {
  position: absolute; top: 10%; right: 5%; width: 30%; height: 6%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e00 100%);
  border-radius: 40% 60% 20% 20%;
  transform-origin: right center;
  animation: hnh-branch 6s ease-in-out infinite alternate;
}
.scn-poem-heart-not-so-heavy .bird {
  position: absolute; top: 8%; right: 22%; width: 6%; height: 4%;
  background: radial-gradient(ellipse, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.5);
  animation: hnh-bird 3s ease-in-out infinite;
}
.scn-poem-heart-not-so-heavy .figure {
  position: absolute; bottom: 8%; left: 45%; width: 8%; height: 16%;
  background: linear-gradient(180deg, #0e0e1a 0%, #06060e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: hnh-figure 7s ease-in-out infinite alternate;
}
.scn-poem-heart-not-so-heavy .curtain {
  position: absolute; bottom: 14%; left: 46%; width: 6%; height: 18%;
  background: linear-gradient(90deg, rgba(30,20,40,0.6) 0%, rgba(10,10,20,0.8) 100%);
  border-radius: 0 0 20% 20%;
  filter: blur(1px);
  animation: hnh-curtain 5s ease-in-out infinite alternate;
}
@keyframes hnh-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes hnh-moon {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(4px, -2px) scale(1.02); }
  100% { transform: translate(-2px, 2px) scale(0.98); }
}
@keyframes hnh-window {
  0% { opacity: 0.7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05) scaleX(1.02); }
  100% { opacity: 0.8; transform: scaleY(0.98); }
}
@keyframes hnh-branch {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(-2deg); }
}
@keyframes hnh-bird {
  0% { transform: translateX(0) scale(1); }
  25% { transform: translateX(8px) scale(0.9) rotate(2deg); }
  50% { transform: translateX(12px) scale(1) rotate(-1deg); }
  75% { transform: translateX(6px) scale(1.1) rotate(0deg); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes hnh-figure {
  0% { transform: translateX(0) rotate(0deg); }
  100% { transform: translateX(3px) rotate(2deg) scaleY(0.98); }
}
@keyframes hnh-curtain {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(4px) scaleX(0.9); }
  100% { transform: translateX(-2px) scaleX(1.05); }
}

/* ---------- Scene 4: poem-speaker-many-times-thought ---------- */
.scn-poem-speaker-many-times-thought {
  background:
    linear-gradient(180deg, #1a1e2a 0%, #2a3040 30%, #404a60 100%),
    radial-gradient(ellipse at 50% 60%, #2a3850 0%, transparent 70%);
}
.scn-poem-speaker-many-times-thought .sky-storm {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #1a1e2a 0%, #30384a 60%, #4a5060 100%);
  animation: smt-sky 15s ease-in-out infinite alternate;
}
.scn-poem-speaker-many-times-thought .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(0deg, #1a2040 0%, #2a3850 40%, #3a4860 100%);
  border-radius: 0 0 6px 6px;
  animation: smt-sea 10s ease-in-out infinite alternate;
}
.scn-poem-speaker-many-times-thought .shipwreck {
  position: absolute; bottom: 20%; left: 20%; width: 20%; height: 15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 60% 60%;
  transform-origin: bottom center;
  animation: smt-shipwreck 8s ease-in-out infinite;
}
.scn-poem-speaker-many-times-thought .survivor {
  position: absolute; bottom: 10%; left: 28%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: smt-survivor 5s ease-in-out infinite alternate;
}
.scn-poem-speaker-many-times-thought .island {
  position: absolute; bottom: 30%; right: 15%; width: 18%; height: 14%;
  background: radial-gradient(ellipse at 50% 60%, #5a7050 0%, #3a4a30 60%, transparent 80%);
  border-radius: 60% 60% 40% 40% / 80% 80% 50% 50%;
  filter: blur(4px);
  opacity: 0.6;
  animation: smt-island 12s ease-in-out infinite alternate;
}
.scn-poem-speaker-many-times-thought .wave-1 {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, rgba(60,80,120,0.3) 0%, transparent 100%);
  border-radius: 40% 60% 40% 60% / 100% 100% 100% 100%;
  filter: blur(3px);
  animation: smt-wave1 6s ease-in-out infinite alternate;
}
.scn-poem-speaker-many-times-thought .wave-2 {
  position: absolute; bottom: 8%; left: 0; right: 0; height: 6%;
  background: linear-gradient(180deg, rgba(80,100,140,0.2) 0%, transparent 100%);
  border-radius: 60% 40% 60% 40% / 100% 100% 100% 100%;
  filter: blur(2px);
  animation: smt-wave2 7s ease-in-out infinite alternate-reverse;
}
@keyframes smt-sky {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.6; }
}
@keyframes smt-sea {
  0% { transform: translateY(0); }
  50% { transform: translateY(3px); }
  100% { transform: translateY(-2px); }
}
@keyframes smt-shipwreck {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(2deg) translateY(-2px); }
  50% { transform: rotate(-1deg) translateY(1px); }
  75% { transform: rotate(3deg) translateY(-3px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes smt-survivor {
  0% { transform: translateX(0) scaleY(1); }
  100% { transform: translateX(6px) scaleY(0.9); }
}
@keyframes smt-island {
  0% { transform: scale(1) translateY(0); opacity: 0.5; }
  50% { transform: scale(1.05) translateY(-4px); opacity: 0.8; }
  100% { transform: scale(0.95) translateY(2px); opacity: 0.4; }
}
@keyframes smt-wave1 {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(-10px) scaleY(1.2); }
  100% { transform: translateX(0) scaleY(0.8); }
}
@keyframes smt-wave2 {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(12px) scaleY(1.1); }
  100% { transform: translateX(0) scaleY(0.9); }
}

.scn-poem-the-lost-thought {
  background: linear-gradient(180deg, #2b1f1a 0%, #1a1210 50%, #0d0a09 100%), radial-gradient(ellipse at 30% 60%, #3a2a22 0%, transparent 70%);
}
.scn-poem-the-lost-thought .lt-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(50,35,30,.6) 0%, transparent 40%, rgba(10,8,7,.8) 100%);
  animation: lt-bgpulse 8s ease-in-out infinite alternate;
}
.scn-poem-the-lost-thought .lt-wall-shadow {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 40%; background: linear-gradient(90deg, transparent 0%, #1a1210 30%, #1a1210 70%, transparent 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.5);
  animation: lt-shadow 12s ease-in-out infinite;
}
.scn-poem-the-lost-thought .lt-window-glow {
  position: absolute; bottom: 45%; left: 42%; width: 16%; height: 22%; background: radial-gradient(circle, #f0d4a0 0%, #c8a070 40%, transparent 70%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 15px rgba(200,160,112,.5), 0 0 60px 30px rgba(200,160,112,.3);
  animation: lt-glowpulse 4s ease-in-out infinite alternate;
}
.scn-poem-the-lost-thought .lt-fragment-a {
  position: absolute; top: 20%; left: 20%; width: 8%; height: 8%; background: radial-gradient(circle, #e0c090 0%, #b08050 100%);
  border-radius: 50%; box-shadow: 0 0 10px 5px rgba(176,128,80,.4);
  animation: lt-drift-a 20s ease-in-out infinite, lt-rotate 15s linear infinite;
}
.scn-poem-the-lost-thought .lt-fragment-b {
  position: absolute; top: 35%; right: 25%; width: 6%; height: 6%; background: radial-gradient(circle, #d0b080 0%, #a07040 100%);
  border-radius: 50%; box-shadow: 0 0 8px 4px rgba(160,112,64,.3);
  animation: lt-drift-b 25s ease-in-out infinite, lt-rotate 20s linear infinite reverse;
}
.scn-poem-the-lost-thought .lt-fragment-c {
  position: absolute; top: 50%; left: 50%; width: 5%; height: 5%; background: radial-gradient(circle, #f0d4a0 0%, #c09860 100%);
  border-radius: 50%; box-shadow: 0 0 12px 6px rgba(192,152,96,.5);
  animation: lt-drift-c 18s ease-in-out infinite, lt-rotate 12s linear infinite;
}
.scn-poem-the-lost-thought .lt-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1e18 0%, #1a120e 100%);
  border-radius: 0 0 8% 8%; box-shadow: inset 0 8px 16px rgba(0,0,0,.6);
}
@keyframes lt-bgpulse { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes lt-shadow { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } }
@keyframes lt-glowpulse { 0% { opacity: .7; box-shadow: 0 0 20px 10px rgba(200,160,112,.4), 0 0 40px 20px rgba(200,160,112,.2); } 50% { opacity: 1; box-shadow: 0 0 40px 20px rgba(200,160,112,.6), 0 0 80px 40px rgba(200,160,112,.4); } 100% { opacity: .8; box-shadow: 0 0 25px 12px rgba(200,160,112,.5), 0 0 50px 25px rgba(200,160,112,.3); } }
@keyframes lt-drift-a { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(20px,-15px) scale(1.1); } 50% { transform: translate(35px,5px) scale(.95); } 75% { transform: translate(10px,20px) scale(1.05); } 100% { transform: translate(0,0) scale(1); } }
@keyframes lt-drift-b { 0% { transform: translate(0,0) rotate(0deg); } 33% { transform: translate(-25px,10px) rotate(120deg); } 66% { transform: translate(-5px,-20px) rotate(240deg); } 100% { transform: translate(0,0) rotate(360deg); } }
@keyframes lt-drift-c { 0% { transform: translate(0,0) scale(1) rotate(0deg); } 50% { transform: translate(15px,-10px) scale(1.15) rotate(180deg); } 100% { transform: translate(0,0) scale(1) rotate(360deg); } }
@keyframes lt-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-poem-with-flowers {
  background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 40%, #fffacd 100%), radial-gradient(ellipse at 50% 20%, #fffacd 0%, transparent 60%);
}
.scn-poem-with-flowers .fl-sky {
  position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #63b8ff 0%, #b0e0ff 60%, transparent 100%);
  animation: fl-sky 12s ease-in-out infinite alternate;
}
.scn-poem-with-flowers .fl-sun {
  position: absolute; top: 8%; left: 70%; width: 12%; height: 12%; background: radial-gradient(circle, #fff4b0 0%, #ffd700 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 30px 15px rgba(255,215,0,.4), 0 0 60px 30px rgba(255,215,0,.2);
  animation: fl-sunpulse 6s ease-in-out infinite alternate;
}
.scn-poem-with-flowers .fl-stem {
  position: absolute; bottom: 30%; left: 50%; width: 2%; height: 45%; background: linear-gradient(180deg, #2e7d32 0%, #1b5e20 100%);
  transform: translateX(-50%); border-radius: 0 0 20% 20%; box-shadow: 2px 0 4px rgba(0,0,0,.3);
}
.scn-poem-with-flowers .fl-petal-left {
  position: absolute; bottom: 68%; left: 44%; width: 12%; height: 14%; background: radial-gradient(circle at 70% 30%, #e8a0b0 0%, #d08090 100%);
  border-radius: 50% 0 50% 0; transform: rotate(-20deg); box-shadow: -2px 2px 6px rgba(0,0,0,.2);
  animation: fl-swayl 5s ease-in-out infinite alternate;
}
.scn-poem-with-flowers .fl-petal-right {
  position: absolute; bottom: 68%; right: 44%; width: 12%; height: 14%; background: radial-gradient(circle at 30% 30%, #e8a0b0 0%, #d08090 100%);
  border-radius: 0 50% 0 50%; transform: rotate(20deg); box-shadow: 2px 2px 6px rgba(0,0,0,.2);
  animation: fl-swayr 5s ease-in-out infinite alternate;
}
.scn-poem-with-flowers .fl-bolt {
  position: absolute; top: 5%; left: 30%; width: 4%; height: 50%; background: linear-gradient(180deg, #fff 0%, #ffeb3b 20%, transparent 100%);
  clip-path: polygon(50% 0%, 60% 25%, 40% 30%, 55% 60%, 35% 70%, 50% 100%, 45% 70%, 65% 60%, 45% 30%, 70% 25%); 
  opacity: .6; animation: fl-bolt 3s ease-in-out infinite;
}
.scn-poem-with-flowers .fl-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #8bc34a 0%, #558b2f 100%);
  border-radius: 40% 60% 0 0 / 60% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,40,0,.5);
}
@keyframes fl-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes fl-sunpulse { 0% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(1); opacity: .85; } }
@keyframes fl-swayl { 0% { transform: rotate(-20deg) scale(1); } 50% { transform: rotate(-30deg) scale(1.05); } 100% { transform: rotate(-20deg) scale(1); } }
@keyframes fl-swayr { 0% { transform: rotate(20deg) scale(1); } 50% { transform: rotate(30deg) scale(1.05); } 100% { transform: rotate(20deg) scale(1); } }
@keyframes fl-bolt { 0%,100% { opacity: .3; } 50% { opacity: .8; } }

.scn-poem-on-bleakness-of-my-lot {
  background: linear-gradient(180deg, #fce4a8 0%, #f5d488 30%, #e8c070 70%, #c89650 100%), radial-gradient(ellipse at 50% 80%, #d4a76a 0%, transparent 70%);
}
.scn-poem-on-bleakness-of-my-lot .bl-sky {
  position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #ffd580 0%, #fce4a8 40%, transparent 100%);
  animation: bl-skydrift 15s ease-in-out infinite alternate;
}
.scn-poem-on-bleakness-of-my-lot .bl-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background: linear-gradient(180deg, #b8860b 0%, #8b6508 40%, #654321 100%);
  border-radius: 30% 70% 0 0 / 60% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.4);
}
.scn-poem-on-bleakness-of-my-lot .bl-rock {
  position: absolute; bottom: 35%; left: 12%; width: 25%; height: 20%; background: linear-gradient(180deg, #6b5b4f 0%, #4a3c30 100%);
  border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%; transform: rotate(-10deg); box-shadow: 4px 6px 12px rgba(0,0,0,.5);
}
.scn-poem-on-bleakness-of-my-lot .bl-plant {
  position: absolute; bottom: 42%; left: 45%; width: 4%; height: 25%; background: linear-gradient(180deg, #6b8e23 0%, #4a7c10 100%);
  border-radius: 40% 40% 0 0; transform: translateX(-50%); animation: bl-sway 6s ease-in-out infinite;
}
.scn-poem-on-bleakness-of-my-lot .bl-plant-leaf {
  position: absolute; bottom: 62%; left: 45%; width: 10%; height: 6%; background: radial-gradient(circle at 30% 50%, #8fbc8f 0%, #6b8e23 100%);
  border-radius: 50% 0 50% 0; transform: rotate(-30deg); animation: bl-leaf 5s ease-in-out infinite alternate;
}
.scn-poem-on-bleakness-of-my-lot .bl-door {
  position: absolute; bottom: 20%; left: 70%; width: 15%; height: 35%; background: linear-gradient(180deg, #7b3f00 0%, #5a2d00 100%);
  border-radius: 8% 8% 0 0; box-shadow: 4px 0 8px rgba(0,0,0,.4); animation: bl-door 10s ease-in-out infinite;
}
.scn-poem-on-bleakness-of-my-lot .bl-door-shadow {
  position: absolute; bottom: 20%; left: 70%; width: 15%; height: 35%; background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, transparent 40%);
  border-radius: 8% 8% 0 0; animation: bl-doorshadow 10s ease-in-out infinite;
}
@keyframes bl-skydrift { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes bl-sway { 0%,100% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } }
@keyframes bl-leaf { 0% { transform: rotate(-30deg) scale(1); } 50% { transform: rotate(-20deg) scale(1.1); } 100% { transform: rotate(-30deg) scale(1); } }
@keyframes bl-door { 0%,100% { transform: rotateY(0deg); } 50% { transform: rotateY(8deg); } }
@keyframes bl-doorshadow { 0%,100% { opacity: .6; } 50% { opacity: .3; } }

.scn-poem-friends {
  background: linear-gradient(180deg, #b0b8c0 0%, #808890 50%, #586068 100%), radial-gradient(ellipse at 50% 70%, #687078 0%, transparent 70%);
}
.scn-poem-friends .fr-bg-wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #9aa0a8 0%, #707880 100%);
  border-radius: 0 0 10% 10%; box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
}
.scn-poem-friends .fr-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #606870 0%, #404850 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 -6px 12px rgba(0,0,0,.5);
}
.scn-poem-friends .fr-fireplace {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 40%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-poem-friends .fr-fire {
  position: absolute; bottom: 25%; left: 35%; right: 35%; height: 20%; background: radial-gradient(circle, #ffa500 0%, #ff6b00 40%, transparent 70%);
  border-radius: 60% 40% 50% 50% / 30% 30% 70% 70%; box-shadow: 0 0 30px 15px rgba(255,107,0,.4), 0 0 60px 30px rgba(255,107,0,.2);
  animation: fr-fire 4s ease-in-out infinite alternate;
}
.scn-poem-friends .fr-ember-a {
  position: absolute; bottom: 40%; left: 30%; width: 2%; height: 2%; background: radial-gradient(circle, #ffd54f 0%, #ff8f00 100%);
  border-radius: 50%; box-shadow: 0 0 6px 3px rgba(255,143,0,.6);
  animation: fr-ember-a 5s ease-in-out infinite;
}
.scn-poem-friends .fr-ember-b {
  position: absolute; bottom: 45%; right: 35%; width: 1.5%; height: 1.5%; background: radial-gradient(circle, #ffd54f 0%, #ff8f00 100%);
  border-radius: 50%; box-shadow: 0 0 4px 2px rgba(255,143,0,.5);
  animation: fr-ember-b 7s ease-in-out infinite 2s;
}
.scn-poem-friends .fr-ash {
  position: absolute; top: 10%; left: 40%; width: 3%; height: 3%; background: radial-gradient(circle, #d0d0d0 0%, #a0a0a0 100%);
  border-radius: 50%; opacity: .4; animation: fr-ash 12s linear infinite 1s;
}
@keyframes fr-fire { 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 20px 10px rgba(255,107,0,.3), 0 0 40px 20px rgba(255,107,0,.15); } 50% { transform: scaleY(1.1) translateY(-3px); box-shadow: 0 0 40px 20px rgba(255,107,0,.5), 0 0 80px 40px rgba(255,107,0,.25); } 100% { transform: scaleY(1) translateY(0); box-shadow: 0 0 20px 10px rgba(255,107,0,.3), 0 0 40px 20px rgba(255,107,0,.15); } }
@keyframes fr-ember-a { 0% { transform: translate(0,0) scale(1); opacity: 1; } 25% { transform: translate(8px,-12px) scale(1.2); opacity: .9; } 50% { transform: translate(16px,-25px) scale(.8); opacity: .6; } 75% { transform: translate(24px,-40px) scale(.5); opacity: .2; } 100% { transform: translate(32px,-60px) scale(0); opacity: 0; } }
@keyframes fr-ember-b { 0% { transform: translate(0,0) scale(1); opacity: 1; } 25% { transform: translate(-10px,-15px) scale(1.1); opacity: .9; } 50% { transform: translate(-20px,-30px) scale(.7); opacity: .5; } 75% { transform: translate(-30px,-50px) scale(.4); opacity: .2; } 100% { transform: translate(-40px,-70px) scale(0); opacity: 0; } }
@keyframes fr-ash { 0% { transform: translate(0,0) rotate(0deg) scale(1); opacity: .4; } 25% { transform: translate(10px, -8px) rotate(90deg) scale(1.1); opacity: .3; } 50% { transform: translate(20px, -16px) rotate(180deg) scale(.9); opacity: .2; } 75% { transform: translate(30px, -24px) rotate(270deg) scale(.7); opacity: .1; } 100% { transform: translate(40px, -32px) rotate(360deg) scale(0); opacity: 0; } }

.scn-poem-some-keep-sabbath { background: linear-gradient(180deg, #b0d0e8 0%, #e8f0d0 40%, #d0c080 70%, #8a7040 100%), radial-gradient(ellipse at 70% 20%, rgba(255,255,200,0.3) 0%, transparent 60%); }
.scn-poem-some-keep-sabbath .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #80b0d8 0%, #c0e0f0 50%, #e8f0d0 100%); animation: sks-sky 18s ease-in-out infinite alternate; }
.scn-poem-some-keep-sabbath .orchard-dome { position:absolute; top:5%; left:10%; right:10%; height:45%; background: radial-gradient(ellipse 60% 80% at 50% 100%, #5a7a3a 0%, #3a5a2a 60%, transparent 70%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; box-shadow: inset 0 -20px 30px rgba(0,0,0,0.3); animation: sks-dome 24s ease-in-out infinite; }
.scn-poem-some-keep-sabbath .house { position:absolute; bottom:28%; left:50%; width:100px; height:65px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a878 0%, #a08050 100%); border-radius:6% 6% 4% 4%; box-shadow: 0 8px 20px rgba(0,0,0,0.4); }
.scn-poem-some-keep-sabbath .porch { position:absolute; bottom:24%; left:38%; width:70px; height:12px; background: linear-gradient(90deg, #b09560 0%, #d0b080 50%, #b09560 100%); border-radius:4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.3); animation: sks-porch 4s ease-in-out infinite; }
.scn-poem-some-keep-sabbath .bird { position:absolute; top:30%; left:35%; width:16px; height:12px; background: radial-gradient(circle at 40% 50%, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: sks-bird 3s ease-in-out infinite; }
.scn-poem-some-keep-sabbath .wings { position:absolute; bottom:30%; left:46%; width:22px; height:30px; background: linear-gradient(180deg, #f0e8c8 0%, #d0c0a0 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: -10px -4px 12px rgba(240,232,200,0.4); transform-origin: bottom center; animation: sks-wings 3s ease-in-out infinite; }
.scn-poem-some-keep-sabbath .sunbeam { position:absolute; top:0; right:20%; width:30%; height:60%; background: linear-gradient(135deg, rgba(255,255,200,0.35) 0%, rgba(255,255,200,0) 70%); transform: skewX(-15deg); animation: sks-beam 14s ease-in-out infinite alternate; }
.scn-poem-some-keep-sabbath .leaf { position:absolute; width:12px; height:6px; background: linear-gradient(180deg, #6a9a3a 0%, #4a7a2a 100%); border-radius: 30% 70% 50% 50% / 50% 50% 50% 50%; filter: blur(0.5px); }
.scn-poem-some-keep-sabbath .leaf-a { top:38%; left:20%; animation: sks-leaf 8s ease-in-out infinite; }
.scn-poem-some-keep-sabbath .leaf-b { top:42%; left:60%; width:10px; height:5px; background: linear-gradient(180deg, #7aaa4a 0%, #5a8a2a 100%); transform: rotate(30deg); animation: sks-leaf 10s ease-in-out infinite 2s; }
@keyframes sks-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes sks-dome { 0% { transform:scaleY(1) translateY(0) } 50% { transform:scaleY(1.02) translateY(-2px) } 100% { transform:scaleY(0.98) translateY(0) } }
@keyframes sks-porch { 0% { transform:translateY(0) } 33% { transform:translateY(-2px) } 66% { transform:translateY(1px) } 100% { transform:translateY(0) } }
@keyframes sks-bird { 0% { transform:rotate(-10deg) translateY(0) } 25% { transform:rotate(-8deg) translateY(-3px) } 50% { transform:rotate(-12deg) translateY(0) } 75% { transform:rotate(-6deg) translateY(-2px) } 100% { transform:rotate(-10deg) translateY(0) } }
@keyframes sks-wings { 0% { transform:scaleY(1) } 50% { transform:scaleY(1.15) scaleX(0.9) } 100% { transform:scaleY(1) } }
@keyframes sks-beam { 0% { opacity:0.4; transform:skewX(-15deg) translateX(0) } 50% { opacity:0.7; transform:skewX(-12deg) translateX(8px) } 100% { opacity:0.3; transform:skewX(-18deg) translateX(-4px) } }
@keyframes sks-leaf { 0% { transform:translateX(0) translateY(0) rotate(0); opacity:0.7 } 25% { transform:translateX(15px) translateY(20px) rotate(20deg); opacity:1 } 50% { transform:translateX(30px) translateY(40px) rotate(40deg); opacity:0.8 } 75% { transform:translateX(45px) translateY(60px) rotate(60deg); opacity:0.5 } 100% { transform:translateX(60px) translateY(80px) rotate(80deg); opacity:0 } }

.scn-poem-some-rainbow-coming { background: linear-gradient(180deg, #c06020 0%, #e08030 20%, #e0a060 40%, #c08050 60%, #6a4a2a 100%), radial-gradient(ellipse at 50% 80%, #e0a060 0%, transparent 70%); }
.scn-poem-some-rainbow-coming .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d07020 0%, #e8a040 30%, #f0c060 60%, #d09850 100%); animation: rbw-sky 20s ease-in-out infinite; }
.scn-poem-some-rainbow-coming .sun { position:absolute; bottom:40%; right:15%; width:50px; height:50px; background: radial-gradient(circle, #ffe080 0%, #f0a040 60%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,200,80,0.5), 0 0 120px 60px rgba(255,200,80,0.2); animation: rbw-sun 12s ease-in-out infinite alternate; }
.scn-poem-some-rainbow-coming .rainbow { position:absolute; top:5%; left:10%; width:80%; height:70%; background: conic-gradient(from 180deg at 50% 100%, rgba(255,0,0,0.3) 0%, rgba(255,165,0,0.3) 10%, rgba(255,255,0,0.3) 20%, rgba(0,128,0,0.3) 30%, rgba(0,0,255,0.3) 40%, rgba(75,0,130,0.3) 50%, transparent 55%, transparent 100%); border-radius:50% 50% 0 0 / 100% 100% 0 0; filter: blur(2px); animation: rbw-arc 18s ease-in-out infinite alternate; }
.scn-poem-some-rainbow-coming .peacock-feathers { position:absolute; bottom:30%; left:30%; width:120px; height:100px; background: linear-gradient(180deg, #4a2060 0%, #702280 20%, #a04080 40%, #602060 60%, #3a1040 100%); border-radius: 30% 70% 50% 50% / 60% 40% 60% 40%; clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%); opacity:0.6; animation: rbw-feather 8s ease-in-out infinite; }
.scn-poem-some-rainbow-coming .butterfly { position:absolute; width:20px; height:14px; background: radial-gradient(circle at 30% 50%, #e07030 0%, #c05020 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: -8px -4px 10px rgba(200,80,30,0.3); }
.scn-poem-some-rainbow-coming .butterfly-1 { top:25%; left:20%; animation: rbw-bfly1 6s ease-in-out infinite; }
.scn-poem-some-rainbow-coming .butterfly-2 { top:35%; left:60%; width:16px; height:12px; background: radial-gradient(circle at 30% 50%, #d06040 0%, #b04020 100%); animation: rbw-bfly2 8s ease-in-out infinite 1s; }
.scn-poem-some-rainbow-coming .pool { position:absolute; bottom:10%; left:15%; right:15%; height:18%; background: linear-gradient(180deg, #8a6030 0%, #6a4a20 40%, #5a3a1a 100%); border-radius: 30% 70% 50% 50% / 40% 40% 60% 60%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); }
.scn-poem-some-rainbow-coming .ripple { position:absolute; bottom:16%; left:30%; width:30px; height:4px; background: radial-gradient(ellipse, rgba(200,160,80,0.4) 0%, transparent 70%); border-radius:50%; animation: rbw-ripple 4s ease-in-out infinite; }
@keyframes rbw-sky { 0% { opacity:0.85; transform:scaleY(1) } 50% { opacity:1; transform:scaleY(1.02) } 100% { opacity:0.8; transform:scaleY(0.98) } }
@keyframes rbw-sun { 0% { transform:translateY(0) scale(1); box-shadow:0 0 60px 30px rgba(255,200,80,0.5) } 50% { transform:translateY(-4px) scale(1.05); box-shadow:0 0 80px 40px rgba(255,200,80,0.6) } 100% { transform:translateY(2px) scale(0.98); box-shadow:0 0 40px 20px rgba(255,200,80,0.4) } }
@keyframes rbw-arc { 0% { opacity:0.5; transform:scaleY(0.95) } 50% { opacity:0.8; transform:scaleY(1) } 100% { opacity:0.6; transform:scaleY(0.9) } }
@keyframes rbw-feather { 0% { transform:translateX(0) rotate(0); opacity:0.5 } 50% { transform:translateX(-6px) rotate(-3deg); opacity:0.7 } 100% { transform:translateX(4px) rotate(2deg); opacity:0.4 } }
@keyframes rbw-bfly1 { 0% { transform:translate(0,0) rotate(0) } 25% { transform:translate(20px,-10px) rotate(10deg) } 50% { transform:translate(40px,-5px) rotate(-5deg) } 75% { transform:translate(20px,0) rotate(5deg) } 100% { transform:translate(0,0) rotate(0) } }
@keyframes rbw-bfly2 { 0% { transform:translate(0,0) rotate(0); opacity:0.8 } 33% { transform:translate(-15px,-8px) rotate(-8deg); opacity:1 } 66% { transform:translate(10px,-12px) rotate(6deg); opacity:0.7 } 100% { transform:translate(0,0) rotate(0); opacity:0.9 } }
@keyframes rbw-ripple { 0% { transform:scaleX(0.5) translateY(0); opacity:0.6 } 50% { transform:scaleX(1.5) translateY(4px); opacity:0.3 } 100% { transform:scaleX(0.5) translateY(0); opacity:0.6 } }

.scn-poem-grass-so-little { background: linear-gradient(180deg, #80b0d0 0%, #a0d0a0 30%, #609060 70%, #4a7040 100%), radial-gradient(ellipse at 50% 30%, rgba(255,255,200,0.3) 0%, transparent 50%); }
.scn-poem-grass-so-little .sky { position:absolute; inset:0 0 65% 0; background: linear-gradient(180deg, #70a0c0 0%, #90c8a0 50%, #b0d8b0 100%); animation: grs-sky 20s ease-in-out infinite alternate; }
.scn-poem-grass-so-little .grass-back { position:absolute; bottom:25%; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a8a4a 0%, #3a6a2a 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; filter: blur(2px); }
.scn-poem-grass-so-little .grass-fore { position:absolute; bottom:10%; height:40%; background: linear-gradient(180deg, #6a9a4a 0%, #4a7a2a 100%); border-radius: 20% 80% 10% 10% / 30% 50% 20% 20%; }
.scn-poem-grass-so-little .grass-fore-a { left:0; width:35%; transform-origin: bottom center; animation: grs-grass1 4s ease-in-out infinite; }
.scn-poem-grass-so-little .grass-fore-b { right:0; width:40%; background: linear-gradient(180deg, #7aaa5a 0%, #5a8a3a 100%); transform-origin: bottom center; animation: grs-grass2 5s ease-in-out infinite 1s; }
.scn-poem-grass-so-little .dewdrop { position:absolute; width:8px; height:8px; background: radial-gradient(circle at 35% 35%, #ffffff 0%, #c0e0f0 50%, #80b0d0 100%); border-radius:50%; box-shadow: 0 0 6px 2px rgba(255,255,255,0.4); }
.scn-poem-grass-so-little .dewdrop-a { top:45%; left:22%; animation: grs-dew1 6s ease-in-out infinite; }
.scn-poem-grass-so-little .dewdrop-b { top:50%; right:28%; width:6px; height:6px; background: radial-gradient(circle at 35% 35%, #ffffff 0%, #b0d0e0 50%, #70a0c0 100%); animation: grs-dew2 8s ease-in-out infinite 2s; }
.scn-poem-grass-so-little .butterfly { position:absolute; top:30%; left:45%; width:22px; height:14px; background: radial-gradient(circle at 30% 50%, #e09050 0%, #c07030 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: -6px -3px 8px rgba(200,120,40,0.3); animation: grs-butterfly 7s ease-in-out infinite; }
.scn-poem-grass-so-little .bee { position:absolute; top:35%; right:30%; width:10px; height:8px; background: linear-gradient(180deg, #c8a030 0%, #a08020 40%, #ffd060 60%, #a08020 100%); border-radius:30% 70% 50% 50% / 50% 50% 50% 50%; box-shadow: 0 0 4px 1px rgba(200,160,40,0.5); animation: grs-bee 3s ease-in-out infinite; }
.scn-poem-grass-so-little .sunflare { position:absolute; top:10%; left:30%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,255,220,0.4) 0%, rgba(255,255,220,0) 70%); border-radius:50%; animation: grs-flare 9s ease-in-out infinite alternate; }
@keyframes grs-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes grs-grass1 { 0% { transform:rotate(0) translateY(0) } 25% { transform:rotate(1deg) translateY(-2px) } 50% { transform:rotate(-1deg) translateY(0) } 75% { transform:rotate(0.5deg) translateY(-1px) } 100% { transform:rotate(0) translateY(0) } }
@keyframes grs-grass2 { 0% { transform:rotate(0) translateY(0) } 33% { transform:rotate(-1.5deg) translateY(-3px) } 66% { transform:rotate(1deg) translateY(-1px) } 100% { transform:rotate(0) translateY(0) } }
@keyframes grs-dew1 { 0% { transform:scale(1); opacity:0.9 } 33% { transform:scale(1.3); opacity:1 } 66% { transform:scale(0.9); opacity:0.6 } 100% { transform:scale(1); opacity:0.9 } }
@keyframes grs-dew2 { 0% { transform:scale(1) translateY(0); opacity:0.8 } 50% { transform:scale(1.2) translateY(-2px); opacity:1 } 100% { transform:scale(1) translateY(0); opacity:0.8 } }
@keyframes grs-butterfly { 0% { transform:translate(0,0) rotate(0) } 20% { transform:translate(15px,-8px) rotate(8deg) } 40% { transform:translate(30px,-4px) rotate(-4deg) } 60% { transform:translate(20px,4px) rotate(2deg) } 80% { transform:translate(8px,-2px) rotate(-2deg) } 100% { transform:translate(0,0) rotate(0) } }
@keyframes grs-bee { 0% { transform:translate(0,0) rotate(0) } 25% { transform:translate(12px,-6px) rotate(10deg) } 50% { transform:translate(24px,-2px) rotate(-5deg) } 75% { transform:translate(12px,4px) rotate(3deg) } 100% { transform:translate(0,0) rotate(0) } }
@keyframes grs-flare { 0% { transform:scale(0.8); opacity:0.3 } 50% { transform:scale(1.2); opacity:0.6 } 100% { transform:scale(0.9); opacity:0.4 } }

.scn-poem-little-road { background: linear-gradient(180deg, #708090 0%, #8898a0 30%, #909890 60%, #6a7a6a 100%), radial-gradient(ellipse at 50% 20%, rgba(255,255,255,0.15) 0%, transparent 60%); }
.scn-poem-little-road .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #607080 0%, #809098 50%, #909890 100%); }
.scn-poem-little-road .cloud { position:absolute; background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.1) 100%); border-radius:50%; filter: blur(6px); }
.scn-poem-little-road .cloud-a { top:10%; left:10%; width:80px; height:20px; animation: lrd-cloud 40s linear infinite; }
.scn-poem-little-road .cloud-b { top:18%; right:15%; width:60px; height:14px; background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.05) 100%); animation: lrd-cloud 50s linear infinite reverse; }
.scn-poem-little-road .road { position:absolute; bottom:20%; left:20%; right:20%; height:18%; background: linear-gradient(180deg, #4a4a44 0%, #3a3a34 40%, #2a2a24 100%); border-radius: 20% 80% 30% 70% / 50% 50% 50% 50%; clip-path: polygon(10% 0, 90% 0, 85% 100%, 15% 100%); box-shadow: inset 0 6px 12px rgba(0,0,0,0.5); animation: lrd-road 12s ease-in-out infinite; }
.scn-poem-little-road .meadow { position:absolute; bottom:18%; height:28%; background: linear-gradient(180deg, #6a8a5a 0%, #4a6a3a 100%); }
.scn-poem-little-road .meadow-left { left:0; right:62%; border-radius: 0 40% 0 0 / 0 60% 0 0; }
.scn-poem-little-road .meadow-right { left:62%; right:0; border-radius: 40% 0 0 0 / 60% 0 0 0; }
.scn-poem-little-road .raindrop { position:absolute; width:2px; height:12px; background: linear-gradient(180deg, rgba(200,220,240,0.8) 0%, rgba(200,220,240,0.2) 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; opacity:0.7; }
.scn-poem-little-road .raindrop-a { top:40%; left:25%; animation: lrd-rain 1.5s ease-in infinite; }
.scn-poem-little-road .raindrop-b { top:35%; right:35%; height:10px; animation: lrd-rain 1.8s ease-in infinite 0.9s; }
.scn-poem-little-road .traveler { position:absolute; bottom:22%; left:38%; width:12px; height:24px; background: linear-gradient(180deg, #2a2a2e 0%, #1a1a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lrd-walk 4s ease-in-out infinite; }
@keyframes lrd-cloud { 0% { transform:translateX(-30px) } 100% { transform:translateX(120vw) } }
@keyframes lrd-road { 0% { opacity:0.9; transform:scaleY(1) } 50% { opacity:1; transform:scaleY(1.02) } 100% { opacity:0.85; transform:scaleY(0.98) } }
@keyframes lrd-rain { 0% { transform:translateY(-20px) rotate(0); opacity:0 } 50% { opacity:1 } 100% { transform:translateY(80px) rotate(5deg); opacity:0 } }
@keyframes lrd-walk { 0% { transform:translateX(0) translateY(0) rotate(0) } 25% { transform:translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform:translateX(16px) translateY(0) rotate(0) } 75% { transform:translateX(24px) translateY(-2px) rotate(-2deg) } 100% { transform:translateX(32px) translateY(0) rotate(0) } }

.scn-poem-as-imperceptibly {
  background: linear-gradient(180deg, #2b1b3d 0%, #6d3a4a 30%, #d46a4a 60%, #f2c98a 100%),
              radial-gradient(ellipse at 30% 20%, rgba(242,201,138,0.3) 0%, transparent 60%);
}
.scn-poem-as-imperceptibly .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #1a0f2e 0%, transparent 100%); animation: pi1-sky 20s ease-in-out infinite alternate; }
.scn-poem-as-imperceptibly .sun { position:absolute; top:12%; left:25%; width:50px; height:50px; background: radial-gradient(circle, #fce4b0 0%, #f0b060 50%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(240,176,96,0.4); animation: pi1-sun 12s ease-in-out infinite alternate; }
.scn-poem-as-imperceptibly .hills { position:absolute; bottom:40%; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 60% 40% 0 0 / 70% 50% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.5); animation: pi1-hills 25s ease-in-out infinite alternate; }
.scn-poem-as-imperceptibly .tree-trunk { position:absolute; bottom:38%; left:55%; width:12px; height:50px; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: pi1-tree 15s ease-in-out infinite; }
.scn-poem-as-imperceptibly .tree-canopy { position:absolute; bottom:50%; left:50%; width:70px; height:60px; transform: translate(-50%, 0); background: radial-gradient(ellipse at 55% 40%, #2a4a2a 0%, #1a2a1a 60%, transparent 80%); border-radius: 50% 50% 40% 40%; box-shadow: inset -10px -10px 20px rgba(0,0,0,0.3); animation: pi1-canopy 18s ease-in-out infinite; }
.scn-poem-as-imperceptibly .house { position:absolute; bottom:35%; left:20%; width:60px; height:55px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8% 8% 3% 3%; box-shadow: 0 6px 10px rgba(0,0,0,0.4); animation: pi1-house 10s ease-in-out infinite; }
.scn-poem-as-imperceptibly .window { position:absolute; bottom:43%; left:25%; width:16px; height:20px; background: radial-gradient(circle, #f0c068 0%, #d09040 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 6px #d09040, 0 0 40px 12px rgba(208,144,64,0.3); animation: pi1-glow 3s ease-in-out infinite alternate; }
.scn-poem-as-imperceptibly .figure { position:absolute; bottom:33%; left:22%; width:14px; height:28px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pi1-figure 4s ease-in-out infinite; }
.scn-poem-as-imperceptibly .lantern { position:absolute; bottom:38%; left:19%; width:6px; height:6px; background: #f0c068; border-radius:50%; box-shadow: 0 0 12px 3px rgba(240,192,104,0.7); animation: pi1-lantern 4s ease-in-out infinite; }
@keyframes pi1-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes pi1-sun { 0% { transform: translateY(0) scale(1); opacity:0.9 } 50% { transform: translateY(5px) scale(1.02); opacity:1 } 100% { transform: translateY(0) scale(0.98); opacity:0.85 } }
@keyframes pi1-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes pi1-tree { 0% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(0.5deg) } 100% { transform: rotate(0deg) } }
@keyframes pi1-canopy { 0% { transform: translate(-50%,0) scale(1) } 50% { transform: translate(-50%,0) scale(1.02) } 100% { transform: translate(-50%,0) scale(0.99) } }
@keyframes pi1-house { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pi1-glow { 0% { box-shadow: 0 0 16px 4px #d09040; opacity:0.8 } 50% { box-shadow: 0 0 28px 8px #f0c068, 0 0 50px 16px rgba(240,192,104,0.4); opacity:1 } 100% { box-shadow: 0 0 20px 5px #d09040; opacity:0.85 } }
@keyframes pi1-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(-1deg) } 50% { transform: translateX(6px) rotate(0deg) } 75% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes pi1-lantern { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.1) } }

.scn-poem-it-was-a-short-procession {
  background: linear-gradient(180deg, #6a6a7a 0%, #8a8a96 30%, #a0a0aa 60%, #c0c0c8 100%),
              radial-gradient(ellipse at 50% 40%, rgba(255,255,255,0.2) 0%, transparent 70%);
}
.scn-poem-it-was-a-short-procession .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #505060 0%, #7a7a88 40%, transparent 100%); animation: pw2-sky 25s ease-in-out infinite alternate; }
.scn-poem-it-was-a-short-procession .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #4a6a4a 0%, #2a3a2a 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; animation: pw2-ground 20s ease-in-out infinite; }
.scn-poem-it-was-a-short-procession .path { position:absolute; bottom:20%; left:48%; width:8%; height:30%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); clip-path: polygon(30% 0%, 70% 0%, 60% 100%, 40% 100%); transform: translateX(-50%); animation: pw2-path 30s linear infinite; }
.scn-poem-it-was-a-short-procession .figure-1 { position:absolute; bottom:25%; left:42%; width:18px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pw2-figure1 6s ease-in-out infinite; }
.scn-poem-it-was-a-short-procession .figure-2 { position:absolute; bottom:25%; left:52%; width:18px; height:40px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pw2-figure2 6s ease-in-out infinite 0.5s; }
.scn-poem-it-was-a-short-procession .bird { position:absolute; bottom:55%; left:30%; width:20px; height:12px; background: #2a2a3a; border-radius: 50% 50% 40% 40%; clip-path: polygon(0 50%, 30% 0%, 60% 50%, 100% 100%, 70% 60%, 30% 60%); animation: pw2-bird 8s ease-in-out infinite; }
.scn-poem-it-was-a-short-procession .bee { position:absolute; bottom:45%; left:65%; width:10px; height:8px; background: #6a4a2a; border-radius: 50%; box-shadow: 0 0 4px 2px rgba(106,74,42,0.5); animation: pw2-bee 4s ease-in-out infinite; }
.scn-poem-it-was-a-short-procession .cloud { position:absolute; top:15%; left:20%; width:80px; height:20px; background: linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.3) 100%); border-radius: 50%; filter: blur(6px); animation: pw2-cloud 40s linear infinite; }
@keyframes pw2-sky { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.7 } }
@keyframes pw2-ground { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } 100% { transform: scaleY(1) } }
@keyframes pw2-path { 0% { opacity:0.6 } 50% { opacity:0.9 } 100% { opacity:0.6 } }
@keyframes pw2-figure1 { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(-2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(2deg) } }
@keyframes pw2-figure2 { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-2deg) } }
@keyframes pw2-bird { 0% { transform: translateX(0) translateY(0) } 25% { transform: translateX(8px) translateY(-4px) rotate(5deg) } 50% { transform: translateX(16px) translateY(0) rotate(0deg) } 75% { transform: translateX(8px) translateY(2px) rotate(-3deg) } 100% { transform: translateX(0) translateY(0) } }
@keyframes pw2-bee { 0%,100% { transform: translate(0,0) scale(1) } 20% { transform: translate(5px,-3px) scale(1.1) } 40% { transform: translate(10px,0) scale(1) } 60% { transform: translate(5px,2px) scale(0.9) } 80% { transform: translate(0,1px) scale(1.05) } }
@keyframes pw2-cloud { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }

.scn-poem-besides-the-autumn-poets {
  background: linear-gradient(180deg, #7a7a8a 0%, #9a8a7a 30%, #b88a4a 60%, #8a7a5a 100%),
              radial-gradient(ellipse at 20% 80%, rgba(160,130,80,0.3) 0%, transparent 60%);
}
.scn-poem-besides-the-autumn-poets .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #60607a 0%, #8a8a9a 40%, transparent 100%); animation: pa3-sky 18s ease-in-out infinite alternate; }
.scn-poem-besides-the-autumn-poets .hills { position:absolute; bottom:35%; left:0; right:0; height:25%; background: linear-gradient(180deg, #6b5a3a 0%, #4a3a2a 100%); border-radius: 50% 60% 0 0 / 60% 40% 0 0; box-shadow: inset 0 6px 10px rgba(0,0,0,0.3); animation: pa3-hills 22s ease-in-out infinite alternate; }
.scn-poem-besides-the-autumn-poets .tree { position:absolute; bottom:30%; left:50%; width:16px; height:40px; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: pa3-tree 12s ease-in-out infinite; }
.scn-poem-besides-the-autumn-poets .tree::after { content:''; position:absolute; top:-30px; left:-20px; width:50px; height:40px; background: radial-gradient(ellipse at 50% 60%, #8a5a2a 0%, #5a3a1a 60%, transparent 80%); border-radius: 50% 50% 30% 30%; box-shadow: inset -5px -5px 10px rgba(0,0,0,0.2); animation: pa3-canopy 14s ease-in-out infinite; }
.scn-poem-besides-the-autumn-poets .brook { position:absolute; bottom:20%; left:0; right:0; height:8%; background: linear-gradient(90deg, transparent 0%, #6a7a8a 20%, #8a9aaa 50%, #6a7a8a 80%, transparent 100%); border-radius: 50% 50% 0 0; filter: blur(3px); animation: pa3-brook 10s ease-in-out infinite; }
.scn-poem-besides-the-autumn-poets .haze { position:absolute; top:20%; left:0; right:0; bottom:60%; background: rgba(180,170,150,0.2); filter: blur(20px); animation: pa3-haze 30s ease-in-out infinite alternate; }
.scn-poem-besides-the-autumn-poets .leaf-1 { position:absolute; top:50%; left:30%; width:12px; height:8px; background: radial-gradient(circle, #c08040 0%, #a06030 100%); border-radius: 50% 50% 30% 30%; animation: pa3-leaf1 8s ease-in-out infinite; }
.scn-poem-besides-the-autumn-poets .leaf-2 { position:absolute; top:55%; left:70%; width:10px; height:6px; background: radial-gradient(circle, #b07030 0%, #805020 100%); border-radius: 50% 50% 30% 30%; animation: pa3-leaf2 10s ease-in-out infinite 2s; }
@keyframes pa3-sky { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes pa3-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pa3-tree { 0% { transform: rotate(0deg) } 25% { transform: rotate(1.5deg) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(0.5deg) } 100% { transform: rotate(0deg) } }
@keyframes pa3-canopy { 0% { transform: scale(1) } 50% { transform: scale(1.03) } 100% { transform: scale(0.98) } }
@keyframes pa3-brook { 0% { opacity:0.5; transform: translateX(0) } 50% { opacity:0.8; transform: translateX(5px) } 100% { opacity:0.6; transform: translateX(0) } }
@keyframes pa3-haze { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }
@keyframes pa3-leaf1 { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(8px) rotate(20deg) } 50% { transform: translateY(15px) rotate(-10deg) } 75% { transform: translateY(22px) rotate(15deg) } 100% { transform: translateY(30px) rotate(0deg) } }
@keyframes pa3-leaf2 { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-5px) rotate(-15deg) } 60% { transform: translateY(10px) rotate(10deg) } 100% { transform: translateY(20px) rotate(0deg) } }

.scn-poem-it-sifts-from-leaden {
  background: linear-gradient(180deg, #8a8a9a 0%, #a0a0b0 30%, #b8b8c8 60%, #d0d0e0 100%),
              radial-gradient(ellipse at 50% 20%, rgba(200,200,220,0.4) 0%, transparent 60%);
}
.scn-poem-it-sifts-from-leaden .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #6a6a7a 0%, #9a9aaa 40%, transparent 100%); animation: ps4-sky 20s ease-in-out infinite alternate; }
.scn-poem-it-sifts-from-leaden .ground { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #c8c8d0 0%, #e0e0e8 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,0.1); animation: ps4-ground 25s ease-in-out infinite; }
.scn-poem-it-sifts-from-leaden .fence-rail { position:absolute; bottom:45%; left:10%; width:80%; height:6px; background: linear-gradient(90deg, #5a5a5a 0%, #7a7a7a 50%, #5a5a5a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ps4-rail 30s linear infinite; }
.scn-poem-it-sifts-from-leaden .fence-post { position:absolute; bottom:38%; left:15%; width:6px; height:30px; background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: ps4-post 30s linear infinite; }
.scn-poem-it-sifts-from-leaden .fence-post { left:30%; } .scn-poem-it-sifts-from-leaden .fence-post { left:45%; } .scn-poem-it-sifts-from-leaden .fence-post { left:60%; } .scn-poem-it-sifts-from-leaden .fence-post { left:75%; } .scn-poem-it-sifts-from-leaden .fence-post { left:90%; }
.scn-poem-it-sifts-from-leaden .road { position:absolute; bottom:15%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, #7a7a8a 0%, #5a5a6a 100%); clip-path: polygon(20% 0%, 80% 0%, 70% 100%, 30% 100%); transform: translateX(0); animation: ps4-road 15s ease-in-out infinite; }
.scn-poem-it-sifts-from-leaden .tree-1 { position:absolute; bottom:35%; left:20%; width:20px; height:80px; background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 10px rgba(200,200,210,0.5); animation: ps4-tree1 18s ease-in-out infinite; }
.scn-poem-it-sifts-from-leaden .tree-2 { position:absolute; bottom:35%; left:75%; width:18px; height:70px; background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 16px 8px rgba(200,200,210,0.4); animation: ps4-tree2 20s ease-in-out infinite 2s; }
.scn-poem-it-sifts-from-leaden .flake-1 { position:absolute; top:10%; left:30%; width:6px; height:6px; background: #ffffff; border-radius:50%; opacity:0.7; animation: ps4-flake1 12s linear infinite; }
.scn-poem-it-sifts-from-leaden .flake-2 { position:absolute; top:20%; left:60%; width:8px; height:8px; background: #ffffff; border-radius:50%; opacity:0.5; animation: ps4-flake2 15s linear infinite 3s; }
.scn-poem-it-sifts-from-leaden .flake-3 { position:absolute; top:5%; left:50%; width:5px; height:5px; background: #ffffff; border-radius:50%; opacity:0.6; animation: ps4-flake3 18s linear infinite 6s; }
@keyframes ps4-sky { 0% { opacity:0.7 } 50% { opacity:0.95 } 100% { opacity:0.8 } }
@keyframes ps4-ground { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.005) } 100% { transform: scaleY(1) } }
@keyframes ps4-rail { 0% { transform: translateX(0) } 100% { transform: translateX(-20%) } }
@keyframes ps4-post { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes ps4-road { 0% { transform: translateX(0) } 50% { transform: translateX(-3px) } 100% { transform: translateX(0) } }
@keyframes ps4-tree1 { 0% { transform: rotate(0deg) } 25% { transform: rotate(0.5deg) } 50% { transform: rotate(-0.5deg) } 75% { transform: rotate(0.3deg) } 100% { transform: rotate(0deg) } }
@keyframes ps4-tree2 { 0% { transform: rotate(0deg) } 25% { transform: rotate(-0.5deg) } 50% { transform: rotate(0.5deg) } 75% { transform: rotate(-0.3deg) } 100% { transform: rotate(0deg) } }
@keyframes ps4-flake1 { 0% { transform: translateY(0) rotate(0deg); opacity:0.7 } 20% { opacity:0.9 } 50% { transform: translateY(40vh) rotate(180deg); opacity:0.5 } 80% { opacity:0.8 } 100% { transform: translateY(100vh) rotate(360deg); opacity:0 } }
@keyframes ps4-flake2 { 0% { transform: translateY(0) rotate(0deg); opacity:0.5 } 20% { opacity:0.7 } 50% { transform: translateY(45vh) rotate(-120deg); opacity:0.4 } 80% { opacity:0.6 } 100% { transform: translateY(100vh) rotate(-240deg); opacity:0 } }
@keyframes ps4-flake3 { 0% { transform: translateY(0) rotate(0deg); opacity:0.6 } 20% { opacity:0.8 } 50% { transform: translateY(50vh) rotate(90deg); opacity:0.5 } 80% { opacity:0.7 } 100% { transform: translateY(100vh) rotate(180deg); opacity:0 } }

.scn-poem-apparently-with-no-surprise {
  background: linear-gradient(180deg, #4a90d9 0%, #f0c060 100%), radial-gradient(circle at 80% 30%, #ffdd88 0%, transparent 50%);
}
.scn-poem-apparently-with-no-surprise .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, rgba(74,144,217,0.6) 0%, transparent 100%);
  animation: nsr-sky 8s ease-in-out infinite alternate;
}
.scn-poem-apparently-with-no-surprise .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #5a8a4a 0%, #3a5a2a 100%);
}
.scn-poem-apparently-with-no-surprise .sun {
  position: absolute; top: 12%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff5cc 0%, #f0c060 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 40px 20px #f0c060;
  animation: nsr-sun 6s ease-in-out infinite alternate;
}
.scn-poem-apparently-with-no-surprise .stem {
  position: absolute; bottom: 30%; left: 50%; width: 6px; height: 80px;
  background: linear-gradient(180deg, #6a8a4a 0%, #3a5a1a 100%);
  transform-origin: bottom center;
  animation: nsr-stem 4s ease-in-out infinite;
}
.scn-poem-apparently-with-no-surprise .head {
  position: absolute; bottom: calc(30% + 80px - 18px); left: calc(50% - 14px);
  width: 28px; height: 28px;
  background: radial-gradient(circle at 40% 30%, #ffaaaa 0%, #cc5555 100%);
  border-radius: 50% 50% 60% 40%;
  transform-origin: bottom center;
  animation: nsr-head 6s ease-in-out infinite;
}
.scn-poem-apparently-with-no-surprise .scythe {
  position: absolute; top: -20%; left: 30%; width: 80px; height: 40px;
  background: linear-gradient(135deg, #c0d0e0 0%, #6080a0 100%);
  clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
  transform: rotate(20deg);
  animation: nsr-scythe 10s ease-in-out infinite;
}
.scn-poem-apparently-with-no-surprise .frost {
  position: absolute; inset: 0 0 0 0;
  background: radial-gradient(circle at 40% 40%, rgba(200,220,255,0.4) 0%, transparent 60%);
  pointer-events: none;
  animation: nsr-frost 10s ease-in-out infinite;
}
@keyframes nsr-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes nsr-sun { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.05) rotate(2deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes nsr-stem { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes nsr-head { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-4px) rotate(-5deg) } 100% { transform: translateY(60px) rotate(45deg) } }
@keyframes nsr-scythe { 0% { top: -20%; opacity:0 } 15% { top: 25%; opacity:1 } 85% { top: 25%; opacity:1 } 100% { top: -20%; opacity:0 } }
@keyframes nsr-frost { 0% { opacity:0 } 50% { opacity:0.6 } 100% { opacity:0.2 } }

.scn-poem-these-are-the-days {
  background: linear-gradient(180deg, #2a2040 0%, #7a3060 40%, #d08050 100%), radial-gradient(ellipse at 50% 100%, #f0a050 0%, transparent 70%);
}
.scn-poem-these-are-the-days .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2050 0%, transparent 100%);
  animation: tdd-sky 12s ease-in-out infinite alternate;
}
.scn-poem-these-are-the-days .sunset-sun {
  position: absolute; bottom: 25%; left: 10%; width: 70px; height: 70px;
  background: radial-gradient(circle, #ffd080 0%, #f08040 50%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 30px #f08040, 0 0 100px 50px rgba(240,128,64,0.5);
  animation: tdd-sun 8s ease-in-out infinite alternate;
}
.scn-poem-these-are-the-days .cloud {
  position: absolute; background: linear-gradient(180deg, rgba(200,180,200,0.8) 0%, rgba(200,180,200,0.2) 100%);
  border-radius: 50%; filter: blur(6px);
}
.scn-poem-these-are-the-days .cloud-l {
  top: 8%; left: 10%; width: 100px; height: 30px;
  animation: tdd-cloud-l 30s linear infinite;
}
.scn-poem-these-are-the-days .cloud-r {
  top: 16%; right: 15%; width: 70px; height: 20px;
  animation: tdd-cloud-r 40s linear infinite reverse;
}
.scn-poem-these-are-the-days .bird {
  position: absolute; width: 16px; height: 10px;
  background: #1a1a2a; border-radius: 50%;
}
.scn-poem-these-are-the-days .bird-a {
  top: 20%; left: 0%; animation: tdd-bird-a 12s ease-in-out infinite;
}
.scn-poem-these-are-the-days .bird-b {
  top: 28%; left: 20%; width: 12px; height: 8px;
  animation: tdd-bird-b 14s ease-in-out infinite 2s;
}
.scn-poem-these-are-the-days .bee {
  position: absolute; top: 30%; left: 50%; width: 10px; height: 8px;
  background: linear-gradient(180deg, #f0c030 0%, #b08020 100%);
  border-radius: 50%; box-shadow: 0 0 8px 2px #f0c030;
  animation: tdd-bee 3s ease-in-out infinite;
}
@keyframes tdd-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tdd-sun { 0% { transform: scale(1) translate(0,0); opacity:0.9 } 50% { transform: scale(1.05) translate(-5px,2px); opacity:1 } 100% { transform: scale(0.95) translate(3px,-1px); opacity:0.8 } }
@keyframes tdd-cloud-l { 0% { transform: translateX(-30px); opacity:0.7 } 100% { transform: translateX(110vw); opacity:0.4 } }
@keyframes tdd-cloud-r { 0% { transform: translateX(30px); opacity:0.6 } 100% { transform: translateX(-100vw); opacity:0.3 } }
@keyframes tdd-bird-a { 0% { transform: translateX(0) rotate(0deg) scale(1) } 25% { transform: translateX(15vw) rotate(-5deg) scale(1.1) } 50% { transform: translateX(30vw) rotate(0deg) scale(0.9) } 75% { transform: translateX(45vw) rotate(3deg) scale(1) } 100% { transform: translateX(60vw) rotate(0deg) scale(1) } }
@keyframes tdd-bird-b { 0% { transform: translateX(0) rotate(0deg) scale(0.9) } 33% { transform: translateX(12vw) rotate(4deg) scale(1) } 66% { transform: translateX(24vw) rotate(-3deg) scale(0.8) } 100% { transform: translateX(36vw) rotate(0deg) scale(0.9) } }
@keyframes tdd-bee { 0% { transform: translate(0,0) rotate(-10deg) scale(1) } 25% { transform: translate(20px,-15px) rotate(5deg) scale(1.1) } 50% { transform: translate(40px,5px) rotate(-5deg) scale(0.95) } 75% { transform: translate(60px,-10px) rotate(8deg) scale(1.05) } 100% { transform: translate(80px,0) rotate(-10deg) scale(1) } }

.scn-poem-morns-are-meeker {
  background: linear-gradient(180deg, #a0b0b0 0%, #c8c8b0 50%, #8a9a6a 100%), radial-gradient(ellipse at 50% 100%, #6a7a4a 0%, transparent 70%);
}
.scn-poem-morns-are-meeker .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0c0c0 0%, transparent 100%);
  animation: mmk-sky 15s ease-in-out infinite alternate;
}
.scn-poem-morns-are-meeker .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b0a060 0%, #7a7a3a 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
}
.scn-poem-morns-are-meeker .maple-trunk {
  position: absolute; bottom: 20%; left: 50%; width: 12px; height: 100px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a3a 50%, #3a2a1a 100%);
  transform-origin: bottom center;
  animation: mmk-trunk 20s ease-in-out infinite;
}
.scn-poem-morns-are-meeker .maple-leaf {
  position: absolute; width: 20px; height: 20px;
  background: radial-gradient(circle, #c87030 0%, #a05020 100%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  transform-origin: center center;
}
.scn-poem-morns-are-meeker .leaf-a {
  bottom: 35%; left: 45%;
  animation: mmk-leaf 8s ease-in-out infinite;
}
.scn-poem-morns-are-meeker .leaf-b {
  bottom: 40%; left: 52%;
  width: 16px; height: 16px;
  animation: mmk-leaf 10s ease-in-out infinite 3s;
}
.scn-poem-morns-are-meeker .nut {
  position: absolute; bottom: 15%; left: 35%; width: 14px; height: 18px;
  background: radial-gradient(circle at 40% 30%, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: mmk-nut 7s ease-in-out infinite;
}
.scn-poem-morns-are-meeker .berry {
  position: absolute; bottom: 12%; right: 30%; width: 12px; height: 12px;
  background: radial-gradient(circle at 30% 30%, #b06050 0%, #804030 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(128,64,48,0.5);
  animation: mmk-berry 5s ease-in-out infinite alternate;
}
@keyframes mmk-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes mmk-trunk { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes mmk-leaf { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 33% { transform: translate(-10px,15px) rotate(20deg) scale(0.9) } 66% { transform: translate(10px,30px) rotate(-15deg) scale(1.1) } 100% { transform: translate(0,45px) rotate(10deg) scale(0.95) } }
@keyframes mmk-nut { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(5deg) } 50% { transform: translateY(1px) rotate(-4deg) } 75% { transform: translateY(-1px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mmk-berry { 0% { transform: scale(0.95) } 50% { transform: scale(1.1) } 100% { transform: scale(0.95) } }

.scn-poem-i-think-the-hemlock {
  background: linear-gradient(180deg, #1a2030 0%, #2a3040 50%, #3a4050 100%), radial-gradient(ellipse at 50% 0%, #2a3a4a 0%, transparent 60%);
}
.scn-poem-i-think-the-hemlock .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a3050 0%, transparent 100%);
  animation: hml-sky 20s ease-in-out infinite alternate;
}
.scn-poem-i-think-the-hemlock .snow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #e0e8f0 0%, #c0c8d0 100%);
  border-radius: 30% 30% 0 0 / 40% 40% 0 0;
}
.scn-poem-i-think-the-hemlock .hemlock-trunk {
  position: absolute; bottom: 20%; left: 50%; width: 18px; height: 150px;
  background: linear-gradient(90deg, #3a3030 0%, #5a4a40 50%, #2a2020 100%);
  transform-origin: bottom center;
  animation: hml-trunk 16s ease-in-out infinite;
}
.scn-poem-i-think-the-hemlock .branch {
  position: absolute; width: 60px; height: 6px;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%);
  border-radius: 2px;
  transform-origin: left center;
}
.scn-poem-i-think-the-hemlock .branch-a {
  bottom: 50%; left: 50%; transform: rotate(-30deg);
  animation: hml-branch-a 10s ease-in-out infinite;
}
.scn-poem-i-think-the-hemlock .branch-b {
  bottom: 35%; left: 50%; width: 45px; transform: rotate(25deg);
  animation: hml-branch-b 12s ease-in-out infinite 2s;
}
.scn-poem-i-think-the-hemlock .needle {
  position: absolute; width: 4px; height: 20px;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a2a1a 100%);
  border-radius: 2px;
}
.scn-poem-i-think-the-hemlock .needle-a {
  bottom: 70%; left: 52%;
  animation: hml-needle-fall 14s linear infinite;
}
.scn-poem-i-think-the-hemlock .needle-b {
  bottom: 65%; left: 48%;
  animation: hml-needle-fall 16s linear infinite 5s;
}
@keyframes hml-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes hml-trunk { 0% { transform: rotate(0.5deg) } 50% { transform: rotate(-0.5deg) } 100% { transform: rotate(0.5deg) } }
@keyframes hml-branch-a { 0% { transform: rotate(-30deg) translateX(0) } 25% { transform: rotate(-28deg) translateX(2px) } 50% { transform: rotate(-32deg) translateX(-1px) } 75% { transform: rotate(-29deg) translateX(1px) } 100% { transform: rotate(-30deg) translateX(0) } }
@keyframes hml-branch-b { 0% { transform: rotate(25deg) translateX(0) } 33% { transform: rotate(27deg) translateX(-2px) } 66% { transform: rotate(23deg) translateX(1px) } 100% { transform: rotate(25deg) translateX(0) } }
@keyframes hml-needle-fall { 0% { transform: translateY(0) rotate(0deg); opacity:1 } 25% { transform: translateY(30px) rotate(45deg); opacity:0.9 } 50% { transform: translateY(60px) rotate(90deg); opacity:0.7 } 75% { transform: translateY(90px) rotate(135deg); opacity:0.5 } 100% { transform: translateY(120px) rotate(180deg); opacity:0 } }

/* ---- scene: poem-possession ---- */
.scn-poem-possession {
  background:
    linear-gradient(180deg, #87CEEB 0%, #f0e68c 40%, #cd853f 100%),
    radial-gradient(ellipse at 20% 10%, #fff8dc 0%, transparent 60%);
}
.scn-poem-possession .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #b0e0e6 0%, #fdf5e6 100%);
  animation: ps-sky 12s ease-in-out infinite alternate;
}
.scn-poem-possession .meadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #c8e6c9 0%, #6b8e23 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  animation: ps-meadow 16s ease-in-out infinite alternate;
}
.scn-poem-possession .pond {
  position: absolute; bottom: 25%; left: 20%; width: 30%; height: 10%;
  background: radial-gradient(ellipse, #87ceeb 0%, #4a90d9 60%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ps-pond 8s ease-in-out infinite;
}
.scn-poem-possession .harebell {
  position: absolute; bottom: 35%; left: 35%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #7b68ee 0%, #4b0082 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: ps-harebell 3s ease-in-out infinite;
}
.scn-poem-possession .bee {
  position: absolute; bottom: 55%; left: 45%; width: 12px; height: 8px;
  background: linear-gradient(90deg, #ffd700 25%, #000 25%, #000 50%, #ffd700 50%, #ffd700 75%, #000 75%);
  border-radius: 50%;
  filter: blur(0.5px);
  animation: ps-bee 6s ease-in-out infinite;
}
.scn-poem-possession .tree {
  position: absolute; bottom: 40%; right: 15%; width: 50px; height: 100px;
  background: linear-gradient(180deg, #2e8b57 0%, #006400 40%, #8b4513 40%, #8b4513 100%);
  border-radius: 40% 50% 0 0 / 60% 70% 0 0;
  box-shadow: inset 0 0 10px rgba(0,50,0,.4);
  animation: ps-tree 20s ease-in-out infinite alternate;
}
.scn-poem-possession .sun {
  position: absolute; top: 10%; left: 10%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff8dc 0%, #ffd700 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,215,0,.6);
  animation: ps-sun 9s ease-in-out infinite alternate;
}
@keyframes ps-sky { 0% { opacity: .7; background-position: 0 0; } 50% { opacity: .9; } 100% { opacity: .7; background-position: 10px 5px; } }
@keyframes ps-meadow { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes ps-pond { 0% { transform: scaleX(1); opacity: .8; } 50% { transform: scaleX(1.05) scaleY(0.95); opacity: 1; } 100% { transform: scaleX(1); opacity: .8; } }
@keyframes ps-harebell { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(5deg) translateY(-2px); } 50% { transform: rotate(-3deg) translateY(0); } 75% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes ps-bee { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(15px) translateY(-5px) rotate(10deg); } 50% { transform: translateX(30px) translateY(0) rotate(0deg); } 75% { transform: translateX(45px) translateY(5px) rotate(-10deg); } 100% { transform: translateX(60px) translateY(0) rotate(0deg); } }
@keyframes ps-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes ps-sun { 0% { opacity: .9; transform: scale(1); box-shadow: 0 0 40px 20px rgba(255,215,0,.6); } 50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 60px 30px rgba(255,215,0,.8); } 100% { opacity: .9; transform: scale(1); box-shadow: 0 0 40px 20px rgba(255,215,0,.6); } }

/* ---- scene: poem-the-lovers ---- */
.scn-poem-the-lovers {
  background:
    linear-gradient(180deg, #3b1a0a 0%, #1a0a03 100%),
    radial-gradient(ellipse at 50% 70%, #d2691e 0%, transparent 60%);
}
.scn-poem-the-lovers .room-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2c1a0e 0%, #1a0a03 100%);
  animation: lv-wall 15s ease-in-out infinite alternate;
}
.scn-poem-the-lovers .fireplace {
  position: absolute; bottom: 10%; left: 50%; transform: translateX(-50%); width: 80px; height: 100px;
  background: linear-gradient(180deg, #5c3a1a 0%, #3a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -10px 15px rgba(0,0,0,.6);
}
.scn-poem-the-lovers .fireglow {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 40px; height: 60px;
  background: radial-gradient(circle at 50% 60%, #ff8c00 0%, #ff4500 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: lv-fireglow 2s ease-in-out infinite;
}
.scn-poem-the-lovers .figure-profile {
  position: absolute; bottom: 15%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a0a03 0%, #0d0501 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom;
  animation: lv-figure 5s ease-in-out infinite;
}
.scn-poem-the-lovers .figure-profile::before { /* cheek highlight */
  content: ''; position: absolute; top: 20px; left: 2px; width: 10px; height: 10px;
  background: radial-gradient(circle, #d2691e 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: lv-cheek 4s ease-in-out infinite;
}
.scn-poem-the-lovers .rose {
  position: absolute; bottom: 30%; left: 38%; width: 20px; height: 20px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 70%);
  border-radius: 50% 50% 30% 30%;
  animation: lv-rose 3s ease-in-out infinite;
}
.scn-poem-the-lovers .needle {
  position: absolute; bottom: 25%; left: 36%; width: 2px; height: 30px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 50%;
  transform: rotate(30deg);
  transform-origin: top;
  animation: lv-needle 4s ease-in-out infinite;
}
.scn-poem-the-lovers .shadow {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse, #000 0%, transparent 100%);
  opacity: .6;
  animation: lv-shadow 6s ease-in-out infinite alternate;
}
@keyframes lv-wall { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes lv-fireglow { 0% { opacity: .8; transform: translateX(-50%) scale(1); } 25% { opacity: 1; transform: translateX(-50%) scale(1.1); } 50% { opacity: .9; transform: translateX(-50%) scale(0.95); } 75% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: .8; transform: translateX(-50%) scale(1); } }
@keyframes lv-figure { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes lv-cheek { 0% { opacity: .4; } 50% { opacity: .8; } 100% { opacity: .4; } }
@keyframes lv-rose { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(5deg) scale(1.03); } 50% { transform: rotate(0deg) scale(1); } 75% { transform: rotate(-5deg) scale(0.97); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes lv-needle { 0% { transform: rotate(25deg) translateY(0); } 50% { transform: rotate(35deg) translateY(-5px); } 100% { transform: rotate(25deg) translateY(0); } }
@keyframes lv-shadow { 0% { opacity: .4; transform: scaleX(1); } 50% { opacity: .6; transform: scaleX(1.1); } 100% { opacity: .4; transform: scaleX(1); } }

/* ---- scene: poem-moon-is-distant ---- */
.scn-poem-moon-is-distant {
  background:
    linear-gradient(180deg, #0b0b2a 0%, #1a1a4e 60%, #2c3e50 100%),
    radial-gradient(ellipse at 80% 10%, #f0e68c 0%, transparent 40%);
}
.scn-poem-moon-is-distant .sky-night {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1a4e 0%, #2c3e50 100%);
  animation: md-sky 20s ease-in-out infinite alternate;
}
.scn-poem-moon-is-distant .moon {
  position: absolute; top: 8%; right: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fdf5e6 0%, #fff8dc 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(255,248,220,.5);
  animation: md-moon 12s ease-in-out infinite;
}
.scn-poem-moon-is-distant .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #0a2a4a 0%, #1a3a5a 100%);
  animation: md-sea 8s ease-in-out infinite;
}
.scn-poem-moon-is-distant .shore {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #d2b48c 0%, #c2a67a 100%);
  border-radius: 30% 30% 0 0 / 100% 100% 0 0;
  animation: md-shore 15s ease-in-out infinite alternate;
}
.scn-poem-moon-is-distant .boat {
  position: absolute; bottom: 20%; right: 10%; width: 40px; height: 15px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 0 0 50% 50%;
  transform-origin: center;
  animation: md-boat 6s ease-in-out infinite;
}
.scn-poem-moon-is-distant .figure-moon {
  position: absolute; bottom: 38%; left: 25%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0d0d1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom;
  animation: md-figure 5s ease-in-out infinite;
}
.scn-poem-moon-is-distant .star {
  position: absolute; top: 15%; left: 10%; width: 3px; height: 3px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,255,255,.6);
  animation: md-star 4s ease-in-out infinite;
}
.scn-poem-moon-is-distant .twinkle {
  left: 50%; top: 25%; animation-delay: -1.5s;
}
@keyframes md-sky { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes md-moon { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(5px) translateY(-3px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(-5px) translateY(2px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes md-sea { 0% { background-position: 0 0; } 50% { background-position: -20px 10px; } 100% { background-position: 0 0; } }
@keyframes md-shore { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes md-boat { 0% { transform: rotate(-3deg) translateX(0); } 25% { transform: rotate(3deg) translateX(2px); } 50% { transform: rotate(-2deg) translateX(0); } 75% { transform: rotate(2deg) translateX(-2px); } 100% { transform: rotate(-3deg) translateX(0); } }
@keyframes md-figure { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes md-star { 0% { opacity: .3; transform: scale(1); } 50% { opacity: 1; transform: scale(1.5); } 100% { opacity: .3; transform: scale(1); } }

/* ---- scene: poem-the-lost-jewel ---- */
.scn-poem-the-lost-jewel {
  background:
    linear-gradient(180deg, #1a0a0a 0%, #2c1010 100%),
    radial-gradient(ellipse at 50% 80%, #6a0dad 0%, transparent 60%);
}
.scn-poem-the-lost-jewel .wall-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0505 0%, #1a0a0a 100%);
  animation: jw-wall 10s ease-in-out infinite alternate;
}
.scn-poem-the-lost-jewel .candle {
  position: absolute; bottom: 20%; left: 20%; width: 8px; height: 35px;
  background: linear-gradient(180deg, #8b4513 0%, #654321 100%);
  border-radius: 2px;
  transform-origin: bottom;
  animation: jw-candle 4s ease-in-out infinite;
}
.scn-poem-the-lost-jewel .candle-glow {
  position: absolute; bottom: 35%; left: 20%; transform: translateX(-50%); width: 30px; height: 40px;
  background: radial-gradient(circle, #ffa500 0%, #ff4500 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(5px);
  animation: jw-glow 2s ease-in-out infinite;
}
.scn-poem-the-lost-jewel .hand {
  position: absolute; bottom: 25%; right: 25%; width: 25px; height: 30px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform: rotate(-20deg);
  transform-origin: bottom right;
  animation: jw-hand 6s ease-in-out infinite;
}
.scn-poem-the-lost-jewel .jewel-glow {
  position: absolute; bottom: 38%; right: 22%; width: 15px; height: 15px;
  background: radial-gradient(circle, #9b59b6 0%, #6a0dad 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 10px rgba(106,13,173,.8), 0 0 40px 20px rgba(106,13,173,.4);
  animation: jw-jewel 3s ease-in-out infinite;
}
.scn-poem-the-lost-jewel .face-shadow {
  position: absolute; bottom: 15%; left: 30%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #0a0505 0%, #000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  filter: blur(1px);
  animation: jw-face 8s ease-in-out infinite alternate;
}
.scn-poem-the-lost-jewel .bedpost {
  position: absolute; bottom: 0; right: 10%; width: 10px; height: 60%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 5px rgba(0,0,0,.6);
  animation: jw-bedpost 12s ease-in-out infinite;
}
@keyframes jw-wall { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes jw-candle { 0% { transform: rotate(-2deg); } 25% { transform: rotate(3deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes jw-glow { 0% { opacity: .6; transform: translateX(-50%) scale(1); } 25% { opacity: 1; transform: translateX(-50%) scale(1.1); } 50% { opacity: .8; transform: translateX(-50%) scale(0.95); } 75% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: .6; transform: translateX(-50%) scale(1); } }
@keyframes jw-hand { 0% { transform: rotate(-20deg) translateY(0); } 25% { transform: rotate(-15deg) translateY(-2px); } 50% { transform: rotate(-20deg) translateY(0); } 75% { transform: rotate(-25deg) translateY(1px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes jw-jewel { 0% { opacity: .8; transform: scale(1); box-shadow: 0 0 20px 10px rgba(106,13,173,.8); } 25% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 30px 15px rgba(106,13,173,1); } 50% { opacity: .9; transform: scale(0.95); box-shadow: 0 0 15px 5px rgba(106,13,173,.6); } 75% { opacity: 1; transform: scale(1.1); box-shadow: 0 0 25px 12px rgba(106,13,173,.9); } 100% { opacity: .8; transform: scale(1); box-shadow: 0 0 20px 10px rgba(106,13,173,.8); } }
@keyframes jw-face { 0% { opacity: .5; transform: translateX(0); } 50% { opacity: .8; transform: translateX(-3px); } 100% { opacity: .5; transform: translateX(0); } }
@keyframes jw-bedpost { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }

/* Scene 1: poem-im-sure-tis-india (sunset, warm) */
.scn-poem-im-sure-tis-india {
  background:
    radial-gradient(ellipse at 50% 0%, #e8b042 0%, #b87a2c 30%, #4a1a2b 70%, #1a0a1a 100%),
    linear-gradient(180deg, #1a0a1a 0%, #4a1a2b 40%, #b87a2c 70%, #e8b042 100%);
  overflow: hidden;
}
.scn-poem-im-sure-tis-india .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, rgba(232,176,66,0.2) 0%, transparent 100%);
  animation: si1-sky 12s ease-in-out infinite alternate;
}
.scn-poem-im-sure-tis-india .sun {
  position: absolute; bottom: 50%; left: 50%; width: 80px; height: 80px;
  transform: translate(-50%, 50%);
  background: radial-gradient(circle, #ffe8b0 0%, #e8b042 40%, #b87a2c 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(232,176,66,0.5);
  animation: si1-sun-glow 8s ease-in-out infinite alternate;
}
.scn-poem-im-sure-tis-india .hills-bg {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  transform: scale(1.2);
  animation: si1-hills-drift 20s ease-in-out infinite alternate;
}
.scn-poem-im-sure-tis-india .hills-fg {
  position: absolute; bottom: 15%; left: -5%; right: -5%; height: 25%;
  background: linear-gradient(180deg, #1a0a1a 0%, #0a050a 100%);
  border-radius: 30% 70% 0 0 / 60% 80% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: si1-hills-drift 28s ease-in-out infinite alternate-reverse;
}
.scn-poem-im-sure-tis-india .figure {
  position: absolute; bottom: 15%; left: 25%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a0a1a 0%, #0a050a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: si1-figure 6s ease-in-out infinite;
}
.scn-poem-im-sure-tis-india .figure::after {
  content: ''; position: absolute; bottom: 10%; left: -10px; width: 40px; height: 30px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50%;
  transform: rotate(-15deg);
  opacity: 0.8;
}
.scn-poem-im-sure-tis-india .gem {
  position: absolute; bottom: 25%; left: 35%; width: 10px; height: 14px;
  background: radial-gradient(circle at 30% 30%, #ffe8b0 0%, #e8b042 40%, #b87a2c 100%);
  border-radius: 40% 60% 50% 50%;
  box-shadow: 0 0 20px 8px rgba(232,176,66,0.8), 0 0 40px 15px rgba(232,176,66,0.4);
  animation: si1-gem-glint 3s ease-in-out infinite;
}

@keyframes si1-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes si1-sun-glow { 0% { box-shadow: 0 0 40px 15px rgba(232,176,66,0.4); transform: translate(-50%, 50%) scale(0.95); } 50% { box-shadow: 0 0 80px 30px rgba(232,176,66,0.7); transform: translate(-50%, 50%) scale(1.05); } 100% { box-shadow: 0 0 50px 20px rgba(232,176,66,0.5); transform: translate(-50%, 50%) scale(1); } }
@keyframes si1-hills-drift { 0% { transform: scale(1.2) translateX(-10px); } 50% { transform: scale(1.25) translateX(0px); } 100% { transform: scale(1.2) translateX(10px); } }
@keyframes si1-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes si1-gem-glint { 0% { opacity: 0.6; box-shadow: 0 0 10px 4px rgba(232,176,66,0.4); } 50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(232,176,66,0.9); } 100% { opacity: 0.7; box-shadow: 0 0 15px 6px rgba(232,176,66,0.5); } }

/* Scene 2: poem-the-letter (dim-interior, warm) */
.scn-poem-the-letter {
  background:
    radial-gradient(ellipse at 50% 60%, #3a1a1a 0%, #1a0a0a 60%, #0a0505 100%),
    linear-gradient(180deg, #2a1010 0%, #1a0a0a 50%, #0a0505 100%);
  overflow: hidden;
}
.scn-poem-the-letter .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1010 0%, #1a0a0a 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.5);
}
.scn-poem-the-letter .desk {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 25%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -10px 30px rgba(0,0,0,0.7);
}
.scn-poem-the-letter .candle-glow {
  position: absolute; bottom: 35%; left: 25%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(240,160,80,0.4) 0%, rgba(240,160,80,0.1) 40%, transparent 70%);
  border-radius: 50%;
  animation: stl-candle-pulse 4s ease-in-out infinite alternate;
}
.scn-poem-the-letter .candle {
  position: absolute; bottom: 30%; left: 28%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #f0a050 0%, #c08030 40%, #8a5020 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(240,160,80,0.6);
}
.scn-poem-the-letter .candle::after {
  content: ''; position: absolute; top: -8px; left: 50%; width: 6px; height: 12px;
  background: radial-gradient(circle, #ffe8b0 0%, #f0a050 60%, transparent 100%);
  transform: translateX(-50%);
  border-radius: 50%;
}
.scn-poem-the-letter .hand {
  position: absolute; bottom: 15%; left: 40%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #c08060 0%, #8a5030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: right center;
  animation: stl-hand-write 5s ease-in-out infinite;
}
.scn-poem-the-letter .hand::after {
  content: ''; position: absolute; bottom: -5px; right: -10px; width: 15px; height: 4px;
  background: #2a1a0a; border-radius: 40%;
}
.scn-poem-the-letter .letter {
  position: absolute; bottom: 10%; left: 45%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #f0e8d0 0%, #d0c8b0 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: stl-letter-slide 8s ease-in-out infinite;
}
.scn-poem-the-letter .inkwell {
  position: absolute; bottom: 10%; left: 60%; width: 20px; height: 20px;
  background: radial-gradient(circle at 40% 40%, #2a1a1a 0%, #0a0505 100%);
  border-radius: 50%;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.8);
}

@keyframes stl-candle-pulse { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes stl-hand-write { 0% { transform: translate(0, 0) rotate(-10deg); } 25% { transform: translate(5px, -2px) rotate(5deg); } 50% { transform: translate(10px, 0) rotate(-5deg); } 75% { transform: translate(15px, -1px) rotate(0deg); } 100% { transform: translate(20px, 0) rotate(-10deg); } }
@keyframes stl-letter-slide { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }

/* Scene 3: poem-tell-him-night-finished (dawn, warm, clock) */
.scn-poem-tell-him-night-finished {
  background:
    radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, #1a1a0a 50%, #0a0a05 100%),
    linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 50%, #3a2a1a 100%);
  overflow: hidden;
}
.scn-poem-tell-him-night-finished .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
}
.scn-poem-tell-him-night-finished .window-frame {
  position: absolute; top: 5%; left: 25%; right: 25%; bottom: 40%;
  border: 12px solid #4a2a1a;
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8), 0 0 20px rgba(0,0,0,0.5);
  background: transparent;
}
.scn-poem-tell-him-night-finished .window-frame::after {
  content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 6px;
  background: #4a2a1a; transform: translateY(-50%);
}
.scn-poem-tell-him-night-finished .window-frame::before {
  content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 6px;
  background: #4a2a1a; transform: translateX(-50%);
}
.scn-poem-tell-him-night-finished .dawn-sky {
  position: absolute; top: 0; left: 12px; right: 12px; bottom: 12px;
  background: linear-gradient(180deg, #e8b0a0 0%, #f0c8b0 30%, #b0c8d0 60%, #5a6a7a 100%);
  border-radius: 4% 4% 2% 2%;
  animation: tln-dawn-brighten 15s ease-in-out infinite alternate;
}
.scn-poem-tell-him-night-finished .clock-body {
  position: absolute; top: 8%; left: 50%; width: 50px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 40% 40%, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 50%;
  border: 4px solid #5a3a1a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-poem-tell-him-night-finished .clock-pendulum {
  position: absolute; top: 16%; left: 50%; width: 4px; height: 30px;
  background: #8a6a4a;
  transform-origin: top center;
  transform: translateX(-50%) rotate(15deg);
  animation: tln-clock-swing 4s ease-in-out infinite alternate;
}
.scn-poem-tell-him-night-finished .clock-pendulum::after {
  content: ''; position: absolute; bottom: -6px; left: 50%; width: 12px; height: 12px;
  background: #6a4a2a; border-radius: 50%; transform: translateX(-50%);
}
.scn-poem-tell-him-night-finished .figure {
  position: absolute; bottom: 10%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tln-figure 6s ease-in-out infinite;
}
.scn-poem-tell-him-night-finished .table {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.7);
}

@keyframes tln-dawn-brighten { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes tln-clock-swing { 0% { transform: translateX(-50%) rotate(10deg); } 50% { transform: translateX(-50%) rotate(-10deg); } 100% { transform: translateX(-50%) rotate(10deg); } }
@keyframes tln-figure { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(5px) translateY(-2px); } 100% { transform: translateX(0) translateY(0); } }

/* Scene 4: poem-wild-nights (moonlit, sea, warm mood) */
.scn-poem-wild-nights {
  background:
    radial-gradient(ellipse at 50% 0%, #2a3a4a 0%, #0a1a2a 40%, #0a0a1a 100%),
    linear-gradient(180deg, #0a0a1a 0%, #0a1a2a 40%, #1a2a3a 70%, #0a1a2a 100%);
  overflow: hidden;
}
.scn-poem-wild-nights .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  animation: wn-sky-drift 20s ease-in-out infinite alternate;
}
.scn-poem-wild-nights .moon {
  position: absolute; top: 10%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle at 40% 40%, #d0e8f0 0%, #80a0b0 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(128,160,176,0.5), 0 0 80px 30px rgba(128,160,176,0.2);
  animation: wn-moon-rise 25s ease-in-out infinite alternate;
}
.scn-poem-wild-nights .clouds {
  position: absolute; top: 5%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(40,60,80,0.6) 0%, transparent 100%);
  filter: blur(8px);
  animation: wn-clouds-move 40s linear infinite;
}
.scn-poem-wild-nights .sea {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #0a1a2a 0%, #0a121a 60%, #050a10 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.6);
  animation: wn-sea-swell 15s ease-in-out infinite alternate;
}
.scn-poem-wild-nights .sea::before {
  content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 20px;
  background: radial-gradient(ellipse at 50% 50%, #1a2a3a 0%, transparent 70%);
  filter: blur(4px);
}
.scn-poem-wild-nights .ship-hull {
  position: absolute; bottom: 20%; left: 40%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 20% 20% 40% 40% / 80% 80% 40% 40%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  animation: wn-ship-bob 6s ease-in-out infinite;
}
.scn-poem-wild-nights .mast {
  position: absolute; bottom: 30%; left: 45%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10%;
  transform-origin: bottom center;
  animation: wn-ship-sway 8s ease-in-out infinite;
}
.scn-poem-wild-nights .lantern {
  position: absolute; bottom: 35%; left: 42%; width: 10px; height: 14px;
  background: radial-gradient(circle at 50% 50%, #f0c080 0%, #c08040 100%);
  border-radius: 30%;
  box-shadow: 0 0 20px 8px rgba(240,192,128,0.6), 0 0 40px 16px rgba(240,192,128,0.3);
  animation: wn-lantern-swing 4s ease-in-out infinite alternate;
}

@keyframes wn-sky-drift { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes wn-moon-rise { 0% { transform: translateY(10px) scale(0.95); opacity: 0.8; } 50% { transform: translateY(0) scale(1.05); opacity: 1; } 100% { transform: translateY(-5px) scale(1); opacity: 0.9; } }
@keyframes wn-clouds-move { 0% { transform: translateX(-20px); } 50% { transform: translateX(10px); } 100% { transform: translateX(30px); } }
@keyframes wn-sea-swell { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-3px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes wn-ship-bob { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes wn-ship-sway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes wn-lantern-swing { 0% { transform: translate(0, 0) rotate(-5deg); } 50% { transform: translate(2px, -1px) rotate(5deg); } 100% { transform: translate(-1px, 0) rotate(-3deg); } }

.scn-poem-except-to-heaven {
  background: linear-gradient(180deg, #c0d4c8 0%, #a8b8a4 50%, #70806c 100%), radial-gradient(ellipse at 50% 100%, #809080 0%, transparent 70%);
}
.scn-poem-except-to-heaven .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #d0e0d8 0%, #c0d0c0 100%);
  opacity: 0.7;
  animation: phev-sky 10s ease-in-out infinite alternate;
}
.scn-poem-except-to-heaven .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 30% 70% 0 0 / 50% 40% 0 0;
}
.scn-poem-except-to-heaven .grass-blade {
  position: absolute; bottom: 30%; left: 30%; width: 2px; height: 40px;
  background: #4a6a3a; transform: rotate(15deg); transform-origin: bottom;
  animation: phev-grass 3s ease-in-out infinite alternate;
}
.scn-poem-except-to-heaven .flower-stalk {
  position: absolute; bottom: 30%; left: 35%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #5a7a3a 0%, #3a5a2a 100%);
  transform-origin: bottom;
  animation: phev-stalk 4s ease-in-out infinite alternate;
}
.scn-poem-except-to-heaven .flower-head {
  position: absolute; bottom: 68%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #e0e88a 0%, #b0b06a 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(224,232,138,0.3);
  animation: phev-flower 5s ease-in-out infinite;
}
.scn-poem-except-to-heaven .bee {
  position: absolute; bottom: 40%; left: 50%; width: 12px; height: 8px;
  background: linear-gradient(90deg, #2a2a1a 0%, #4a4a2a 50%, #2a2a1a 100%);
  border-radius: 50%;
  animation: phev-bee 6s linear infinite;
}
.scn-poem-except-to-heaven .dew {
  position: absolute; bottom: 18%; left: 25%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffffff 0%, #a0c8b0 100%);
  border-radius: 50%; box-shadow: 0 0 4px #ffffff;
  animation: phev-dew 3s ease-in-out infinite alternate;
}
.scn-poem-except-to-heaven .butterfly {
  position: absolute; top: 30%; right: 20%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #d4a070 0%, #b08050 100%);
  border-radius: 60% 40% 40% 60% / 50% 50%;
  animation: phev-butterfly 8s ease-in-out infinite;
}
@keyframes phev-sky { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.65; } }
@keyframes phev-grass { 0% { transform: rotate(10deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(12deg); } }
@keyframes phev-stalk { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }
@keyframes phev-flower { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(5deg); } 100% { transform: scale(0.98) rotate(-3deg); } }
@keyframes phev-bee { 0% { transform: translateX(-30px) translateY(0); } 25% { transform: translateX(-15px) translateY(-10px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(15px) translateY(-10px); } 100% { transform: translateX(30px) translateY(0); } }
@keyframes phev-dew { 0% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes phev-butterfly { 0% { transform: translate(0,0) rotate(0deg) scale(1); } 25% { transform: translate(20px,-10px) rotate(10deg) scale(0.9); } 50% { transform: translate(40px,0) rotate(0deg) scale(1); } 75% { transform: translate(20px,10px) rotate(-10deg) scale(0.9); } 100% { transform: translate(0,0) rotate(0deg) scale(1); } }

.scn-poem-it-was-too-late-for-man {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 30%, #3a3a5e 60%, #2a2a3e 100%), radial-gradient(ellipse at 50% 0, #4a5a6a 0%, transparent 80%);
}
.scn-poem-it-was-too-late-for-man .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #2a3040 0%, #1a1a2e 100%);
}
.scn-poem-it-was-too-late-for-man .horizon-glow {
  position: absolute; bottom: 50%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, #5a5a6a 50%, #6a6a7a 100%);
  opacity: 0.6;
  animation: pman-glow 8s ease-in-out infinite alternate;
}
.scn-poem-it-was-too-late-for-man .hill {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
}
.scn-poem-it-was-too-late-for-man .figure-silhouette {
  position: absolute; bottom: 38%; left: 40%; width: 16px; height: 36px;
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: pman-figure 5s ease-in-out infinite;
}
.scn-poem-it-was-too-late-for-man .cross {
  position: absolute; bottom: 42%; left: 52%; width: 2px; height: 30px;
  background: #2a2a2a;
  box-shadow: 0 8px 0 #2a2a2a, 8px 0 0 #2a2a2a, -8px 0 0 #2a2a2a;
  transform: scale(0.8);
  animation: pman-cross 6s ease-in-out infinite alternate;
}
.scn-poem-it-was-too-late-for-man .grave {
  position: absolute; bottom: 29%; left: 50%; width: 30px; height: 12px;
  background: #333; border-radius: 10% 10% 20% 20%; transform: translateX(-50%);
}
.scn-poem-it-was-too-late-for-man .star {
  position: absolute; top: 20%; left: 70%; width: 4px; height: 4px;
  background: #fff; border-radius: 50%; box-shadow: 0 0 6px #fff;
  animation: pman-star 4s ease-in-out infinite alternate;
}
@keyframes pman-glow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes pman-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes pman-cross { 0% { transform: scale(0.8) rotate(0deg); } 50% { transform: scale(0.9) rotate(5deg); } 100% { transform: scale(0.8) rotate(-5deg); } }
@keyframes pman-star { 0% { opacity:0.6; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.9); } }

.scn-poem-daisy-follows-soft {
  background: linear-gradient(180deg, #f0c060 0%, #e08030 40%, #b04010 100%), radial-gradient(ellipse at 80% 20%, #ffd080 0%, transparent 70%);
}
.scn-poem-daisy-follows-soft .sky {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #ffa060 0%, #f0c060 40%, transparent 70%);
}
.scn-poem-daisy-follows-soft .sun {
  position: absolute; top: 15%; right: 15%; width: 40px; height: 40px;
  background: radial-gradient(circle, #fff0a0 0%, #ffc030 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #ffc030;
  animation: pdai-sun 10s ease-in-out infinite alternate;
}
.scn-poem-daisy-follows-soft .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a5a1a 0%, #2a3a0a 100%);
  border-radius: 20% 80% 0 0 / 40% 60% 0 0;
}
.scn-poem-daisy-follows-soft .daisy-stalk {
  position: absolute; bottom: 22%; left: 50%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #5a8a2a 0%, #3a5a1a 100%);
  transform-origin: bottom center;
  animation: pdai-stalk 4s ease-in-out infinite;
}
.scn-poem-daisy-follows-soft .daisy-petals {
  position: absolute; bottom: 60%; left: 50%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 0%, #f0f0e0 0%, #d0c0a0 100%);
  border-radius: 50% 50% 0 0;
  transform: translateX(-50%) rotate(0deg);
  animation: pdai-petals 5s ease-in-out infinite;
}
.scn-poem-daisy-follows-soft .daisy-center {
  position: absolute; bottom: 62%; left: 50%; width: 10px; height: 10px;
  background: radial-gradient(circle, #e0b030 0%, #c09020 100%);
  border-radius: 50%; transform: translateX(-50%);
}
.scn-poem-daisy-follows-soft .leaf {
  position: absolute; bottom: 30%; left: 48%; width: 12px; height: 6px;
  background: linear-gradient(180deg, #5a7a2a 0%, #3a5a1a 100%);
  border-radius: 50% 50% 10% 10%;
  transform: rotate(-30deg);
  animation: pdai-leaf 3s ease-in-out infinite alternate;
}
@keyframes pdai-sun { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(-5px,3px) scale(1.02); } 100% { transform: translate(2px,-2px) scale(0.98); } }
@keyframes pdai-stalk { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes pdai-petals { 0% { transform: translateX(-50%) rotate(0deg) scaleX(1); } 50% { transform: translateX(-50%) rotate(8deg) scaleX(1.1); } 100% { transform: translateX(-50%) rotate(-5deg) scaleX(0.95); } }
@keyframes pdai-leaf { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-35deg) translateY(-2px); } 100% { transform: rotate(-25deg) translateY(0); } }

.scn-poem-i-lost-a-world {
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3e 40%, #2a2a4a 80%, #1a1a3e 100%), radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%);
}
.scn-poem-i-lost-a-world .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a3a5a 0%, #2a2a4a 50%, #1a1a3e 100%);
  animation: pwor-sky 12s ease-in-out infinite alternate;
}
.scn-poem-i-lost-a-world .treeline {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 20% 80% 0 0 / 50% 40% 0 0;
}
.scn-poem-i-lost-a-world .branch {
  position: absolute; bottom: 30%; left: 30%; width: 60%; height: 4px;
  background: linear-gradient(90deg, #2a1a0a 0%, #3a2a1a 100%);
  border-radius: 2px; transform: rotate(-10deg);
}
.scn-poem-i-lost-a-world .robin-body {
  position: absolute; bottom: 38%; left: 35%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #4a4a3a 0%, #3a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: pwor-robin 4s ease-in-out infinite;
}
.scn-poem-i-lost-a-world .robin-breast {
  position: absolute; bottom: 40%; left: 37%; width: 8px; height: 12px;
  background: #c86a3a;
  border-radius: 50%;
  transform: rotate(10deg);
  animation: pwor-robin-breast 4s ease-in-out infinite;
}
.scn-poem-i-lost-a-world .treasure {
  position: absolute; bottom: 15%; left: 45%; width: 20px; height: 16px;
  background: linear-gradient(90deg, #d0a050 0%, #a07030 100%);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: pwor-treasure 6s ease-in-out infinite alternate;
}
.scn-poem-i-lost-a-world .crumb {
  position: absolute; bottom: 12%; left: 55%; width: 8px; height: 5px;
  background: #c0a060;
  border-radius: 30%;
  animation: pwor-crumb 5s ease-in-out infinite;
}
@keyframes pwor-sky { 0% { opacity:0.8; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes pwor-robin { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(8deg) translateY(0); } }
@keyframes pwor-robin-breast { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(0.95); } }
@keyframes pwor-treasure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes pwor-crumb { 0% { opacity:0.5; transform: translate(0,0); } 50% { opacity:1; transform: translate(2px,-2px); } 100% { opacity:0.6; transform: translate(-1px,0); } }
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.cloud-bat { position: absolute; pointer-events: none; }
.fly-wing { position: absolute; pointer-events: none; }
.heart-float { position: absolute; pointer-events: none; }
.long { position: absolute; pointer-events: none; }
.reach { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-measured-every-grief {
  background: linear-gradient(135deg, #1a1c2e 0%, #2a2d44 100%), radial-gradient(ellipse at 40% 60%, #2a2d44 0%, transparent 70%);
}
.scn-measured-every-grief .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a3d52 0%, #1e2032 100%); animation: mge-wall 12s ease-in-out infinite;
}
.scn-measured-every-grief .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #2a2c40 0%, #3a3d52 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-measured-every-grief .window {
  position: absolute; top: 10%; left: 50%; width: 120px; height: 160px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 40%, #4a5a7a 0%, #1a1c2e 70%); border: 4px solid #3a3d52; border-radius: 4px; box-shadow: inset 0 0 20px #2a2d44;
}
.scn-measured-every-grief .cross-1,
.scn-measured-every-grief .cross-2 {
  position: absolute; width: 40px; height: 60px; background: linear-gradient(180deg, #5a5d72 0%, #2a2c40 100%); animation: mge-cross 6s ease-in-out infinite alternate;
}
.scn-measured-every-grief .cross-1 { top: 20%; left: 20%; }
.scn-measured-every-grief .cross-2 { top: 25%; right: 25%; animation-delay: 2s; transform: scale(0.7); }
.scn-measured-every-grief .figure {
  position: absolute; bottom: 25%; left: 40%; width: 40px; height: 80px; background: radial-gradient(ellipse at 50% 30%, #2a2c40 0%, #0e0f1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mge-figure 8s ease-in-out infinite;
}
.scn-measured-every-grief .ruler {
  position: absolute; bottom: 32%; left: 45%; width: 80px; height: 6px; background: linear-gradient(90deg, #4a4d62 0%, #6a6d82 50%, #4a4d62 100%); border-radius: 2px; transform: rotate(-15deg); animation: mge-ruler 4s ease-in-out infinite alternate;
}
.scn-measured-every-grief .shadow {
  position: absolute; bottom: 5%; left: 30%; width: 140px; height: 20px; background: radial-gradient(ellipse, #0a0b14 0%, transparent 70%); filter: blur(6px); animation: mge-shadow 6s ease-in-out infinite;
}
@keyframes mge-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes mge-cross { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.05) translateY(-2px) } 100% { transform: scaleY(0.95) translateY(2px) } }
@keyframes mge-figure { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(8px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes mge-ruler { 0% { transform: rotate(-15deg) scaleX(1) } 50% { transform: rotate(-18deg) scaleX(1.05) } 100% { transform: rotate(-12deg) scaleX(0.95) } }
@keyframes mge-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } 100% { transform: scaleX(0.9) } }

.scn-disenchantment-drops-low {
  background: linear-gradient(180deg, #0d0b1a 0%, #1a1430 50%, #0d0b1a 100%), radial-gradient(ellipse at 50% 30%, #1a1430 0%, transparent 70%);
}
.scn-disenchantment-drops-low .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(180deg, #14112b 0%, #0a0918 100%); animation: ddl-bg 15s ease-in-out infinite alternate;
}
.scn-disenchantment-drops-low .stone-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(0deg, #1a1a2e 0%, #2a2a44 50%, #1a1a2e 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}
.scn-disenchantment-drops-low .shard-1,
.scn-disenchantment-drops-low .shard-2,
.scn-disenchantment-drops-low .shard-3 {
  position: absolute; background: radial-gradient(ellipse at 30% 30%, #5a4a7a 0%, #2a1a4a 100%); border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; filter: blur(1px); animation: ddl-shard 4s ease-in-out infinite alternate;
}
.scn-disenchantment-drops-low .shard-1 { bottom: 20%; left: 20%; width: 40px; height: 30px; transform: rotate(15deg); }
.scn-disenchantment-drops-low .shard-2 { bottom: 25%; right: 30%; width: 50px; height: 25px; transform: rotate(-35deg); animation-delay: 1.5s; }
.scn-disenchantment-drops-low .shard-3 { bottom: 15%; left: 50%; width: 35px; height: 20px; transform: rotate(45deg); animation-delay: 0.8s; }
.scn-disenchantment-drops-low .drip {
  position: absolute; top: 20%; left: 45%; width: 6px; height: 15px; background: linear-gradient(180deg, #7a6a9a 0%, #3a2a5a 100%); border-radius: 0 0 50% 50%; animation: ddl-drip 7s ease-in-out infinite;
}
.scn-disenchantment-drops-low .light-ray {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%; background: linear-gradient(180deg, rgba(100,80,140,0.1) 0%, transparent 100%); filter: blur(8px); animation: ddl-ray 10s ease-in-out infinite alternate;
}
@keyframes ddl-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.75 } }
@keyframes ddl-shard { 0% { transform: rotate(15deg) scale(1) } 50% { transform: rotate(20deg) scale(1.05) translateY(-3px) } 100% { transform: rotate(10deg) scale(0.95) } }
@keyframes ddl-drip { 0% { transform: translateY(0) scaleY(1) opacity: 0.7 } 50% { transform: translateY(50px) scaleY(1.5) opacity: 1 } 100% { transform: translateY(100px) scaleY(0.5) opacity: 0.3 } }
@keyframes ddl-ray { 0% { opacity: 0.2 } 50% { opacity: 0.5 } 100% { opacity: 0.1 } }

.scn-remembrance-garret-cellar {
  background: linear-gradient(180deg, #2a2028 0%, #3a3038 30%, #1a141a 100%), radial-gradient(ellipse at 50% 80%, #3a3038 0%, transparent 70%);
}
.scn-remembrance-garret-cellar .house-frame {
  position: absolute; bottom: 15%; left: 20%; right: 20%; top: 10%; background: linear-gradient(135deg, #4a3a40 0%, #2a1a20 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 10px 30px rgba(0,0,0,0.6); animation: rgc-frame 12s ease-in-out infinite alternate;
}
.scn-remembrance-garret-cellar .garret {
  position: absolute; top: 10%; left: 25%; width: 50%; height: 20%; background: linear-gradient(180deg, #5a4a50 0%, #3a2a30 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); animation: rgc-garret 8s ease-in-out infinite;
}
.scn-remembrance-garret-cellar .cellar {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 30%; background: linear-gradient(0deg, #1a101a 0%, #2a1a24 100%); border-radius: 0 0 10% 10%; animation: rgc-cellar 10s ease-in-out infinite alternate;
}
.scn-remembrance-garret-cellar .stairs {
  position: absolute; bottom: 20%; left: 50%; width: 20px; height: 80px; background: linear-gradient(180deg, #5a4a50 0%, #2a1a20 50%, #1a101a 100%); border-radius: 2px; transform: translateX(-50%) rotate(10deg); animation: rgc-stairs 6s ease-in-out infinite;
}
.scn-remembrance-garret-cellar .brain-form {
  position: absolute; top: 30%; left: 40%; width: 80px; height: 60px; background: radial-gradient(ellipse at 50% 40%, #6a5a60 0%, #3a2a30 100%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; filter: blur(4px); animation: rgc-brain 9s ease-in-out infinite alternate;
}
.scn-remembrance-garret-cellar .cherub-1,
.scn-remembrance-garret-cellar .cherub-2 {
  position: absolute; width: 20px; height: 20px; background: radial-gradient(circle, #8a7a80 0%, #4a3a40 100%); border-radius: 50%; filter: blur(1px); animation: rgc-cherub 5s ease-in-out infinite;
}
.scn-remembrance-garret-cellar .cherub-1 { top: 15%; left: 30%; animation-delay: 0s; }
.scn-remembrance-garret-cellar .cherub-2 { top: 18%; right: 25%; animation-delay: 2.5s; }
@keyframes rgc-frame { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes rgc-garret { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes rgc-cellar { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(2px) } }
@keyframes rgc-stairs { 0% { transform: translateX(-50%) rotate(10deg) } 50% { transform: translateX(-50%) rotate(12deg) scaleY(1.05) } 100% { transform: translateX(-50%) rotate(8deg) } }
@keyframes rgc-brain { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.03) translateY(-4px) } 100% { transform: scale(0.97) translateY(2px) } }
@keyframes rgc-cherub { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(10px,-8px) scale(1.1) } 100% { transform: translate(0,0) scale(0.9) } }

.scn-desires-perfect-goal {
  background: linear-gradient(180deg, #0a1a2e 0%, #1a2a44 40%, #0a1a2e 100%), radial-gradient(ellipse at 50% 50%, #1a2a44 0%, transparent 70%);
}
.scn-desires-perfect-goal .bg-mist {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,40,70,0.5) 0%, rgba(10,20,40,0.8) 100%); animation: dpg-mist 18s ease-in-out infinite alternate;
}
.scn-desires-perfect-goal .plank-1,
.scn-desires-perfect-goal .plank-2 {
  position: absolute; height: 8px; background: linear-gradient(90deg, #5a6a7a 0%, #7a8a9a 50%, #5a6a7a 100%); border-radius: 4px; animation: dpg-plank 6s ease-in-out infinite alternate;
}
.scn-desires-perfect-goal .plank-1 { bottom: 30%; left: 20%; right: 20%; transform: rotate(-2deg); }
.scn-desires-perfect-goal .plank-2 { bottom: 22%; left: 15%; right: 25%; height: 6px; animation-delay: 2s; }
.scn-desires-perfect-goal .figure {
  position: absolute; bottom: 28%; left: 35%; width: 30px; height: 60px; background: radial-gradient(ellipse at 50% 30%, #3a4a5a 0%, #1a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dpg-figure 8s ease-in-out infinite;
}
.scn-desires-perfect-goal .blue-goal {
  position: absolute; top: 25%; right: 25%; width: 70px; height: 50px; background: radial-gradient(ellipse at 50% 50%, #4a8ad0 0%, #1a4a7a 100%); border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%; filter: blur(5px); box-shadow: 0 0 30px #3a7ac0; animation: dpg-goal 7s ease-in-out infinite alternate;
}
.scn-desires-perfect-goal .water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(0deg, #0a1a2e 0%, #1a3a5a 50%, transparent 100%); animation: dpg-water 10s ease-in-out infinite alternate;
}
.scn-desires-perfect-goal .sparkle {
  position: absolute; top: 20%; left: 40%; width: 4px; height: 4px; background: #8ab0e0; border-radius: 50%; box-shadow: 0 0 8px 2px #6a90c0; animation: dpg-sparkle 3s ease-in-out infinite;
}
@keyframes dpg-mist { 0% { opacity: 0.6 } 50% { opacity: 0.9 } 100% { opacity: 0.5 } }
@keyframes dpg-plank { 0% { transform: rotate(-2deg) scaleX(1) } 50% { transform: rotate(-4deg) scaleX(1.05) } 100% { transform: rotate(0deg) scaleX(0.95) } }
@keyframes dpg-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(15px) rotate(3deg) translateY(-4px) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes dpg-goal { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.05) translateY(-8px) } 100% { transform: scale(0.95) translateY(4px) } }
@keyframes dpg-water { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(2px) } }
@keyframes dpg-sparkle { 0% { opacity: 0.5; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.3) } 100% { opacity: 0.5; transform: scale(0.9) } }

.scn-spirit-whiter-pipe {
  background:
    linear-gradient(180deg, #0a0a14 0%, #141428 40%, #1c1c3a 70%, #2a2a4e 100%),
    radial-gradient(ellipse at 50% 20%, #2a2a5e 0%, transparent 70%);
}
.scn-spirit-whiter-pipe .bg-deep { position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, #0a0a12 100%); }
.scn-spirit-whiter-pipe .crescent { position:absolute; top:8%; left:68%; width:40px; height:40px; background:radial-gradient(circle at 30% 30%, #b0c4de 0%, #e0e8f0 40%, transparent 40%); border-radius:50%; opacity:0.6; animation:swp-crescent 12s ease-in-out infinite alternate; }
.scn-spirit-whiter-pipe .figure { position:absolute; bottom:25%; left:38%; width:22px; height:40px; background:linear-gradient(180deg, #1a1a2e 0%, #0a0a18 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:swp-figure 5s ease-in-out infinite; }
.scn-spirit-whiter-pipe .pipe { position:absolute; bottom:29%; left:36%; width:8px; height:12px; background:linear-gradient(90deg, #4a3a2a, #2a1a0a); border-radius:20% 80% 20% 80%; transform:rotate(-15deg); animation:swp-pipe 3s ease-in-out infinite; }
.scn-spirit-whiter-pipe .smoke-a { position:absolute; bottom:38%; left:35%; width:12px; height:12px; background:radial-gradient(circle, rgba(200,210,230,0.4) 0%, transparent 70%); border-radius:50%; filter:blur(3px); animation:swp-smoke-a 8s ease-out infinite; }
.scn-spirit-whiter-pipe .smoke-b { position:absolute; bottom:35%; left:37%; width:10px; height:10px; background:radial-gradient(circle, rgba(200,210,230,0.3) 0%, transparent 70%); border-radius:50%; filter:blur(4px); animation:swp-smoke-b 10s ease-out infinite; animation-delay:2s; }
.scn-spirit-whiter-pipe .insect { position:absolute; top:45%; left:55%; width:6px; height:10px; background:linear-gradient(180deg, #3a3a4e, #1a1a2a); border-radius:50% 50% 40% 40%; box-shadow:0 0 6px rgba(100,100,140,0.3); animation:swp-insect 4s ease-in-out infinite; }
.scn-spirit-whiter-pipe .spark { position:absolute; bottom:31%; left:34%; width:3px; height:3px; background:#ffddaa; border-radius:50%; box-shadow:0 0 3px #ffddaa; animation:swp-spark 1.5s steps(3) infinite; }

@keyframes swp-crescent { 0% { opacity:0.4; transform:scale(0.9); } 50% { opacity:0.7; transform:scale(1.1); } 100% { opacity:0.5; transform:scale(0.95); } }
@keyframes swp-figure { 0% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(4px) rotate(1deg); } 50% { transform:translateX(8px) rotate(-1deg); } 75% { transform:translateX(4px) rotate(0.5deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes swp-pipe { 0%,100% { transform:rotate(-15deg); } 50% { transform:rotate(-10deg) translateY(-1px); } }
@keyframes swp-smoke-a { 0% { opacity:0.6; transform:translate(0,0) scale(0.5); } 50% { opacity:0.3; transform:translate(10px,-20px) scale(1.5); } 100% { opacity:0; transform:translate(20px,-40px) scale(2); } }
@keyframes swp-smoke-b { 0% { opacity:0.5; transform:translate(0,0) scale(0.4); } 50% { opacity:0.2; transform:translate(-8px,-18px) scale(1.2); } 100% { opacity:0; transform:translate(-16px,-36px) scale(1.8); } }
@keyframes swp-insect { 0% { transform:translate(0,0) rotate(0deg); } 25% { transform:translate(3px,-2px) rotate(5deg); } 50% { transform:translate(6px,0) rotate(-3deg); } 75% { transform:translate(3px,2px) rotate(4deg); } 100% { transform:translate(0,0) rotate(0deg); } }
@keyframes swp-spark { 0% { opacity:1; } 33% { opacity:0.3; } 66% { opacity:0.8; } 100% { opacity:1; } }

.scn-monument-mechanic-stone {
  background:
    linear-gradient(180deg, #2e3038 0%, #3a3c46 30%, #4a4c56 60%, #5c5e68 100%),
    radial-gradient(ellipse at 50% 100%, #4a4c56 0%, transparent 60%);
}
.scn-monument-mechanic-stone .sky-overcast { position:absolute; inset:0 0 50% 0; background:linear-gradient(180deg, #6a6c78 0%, #4a4c56 100%); animation:mms-sky 15s ease-in-out infinite alternate; }
.scn-monument-mechanic-stone .gravestone { position:absolute; bottom:30%; left:50%; width:60px; height:90px; background:linear-gradient(180deg, #6a6a74, #3a3a42); border-radius:20% 20% 5% 5%; transform:translateX(-50%); box-shadow:0 4px 12px rgba(0,0,0,0.4); animation:mms-stone 8s ease-in-out infinite; }
.scn-monument-mechanic-stone .cottage { position:absolute; bottom:25%; left:30%; width:80px; height:60px; background:linear-gradient(180deg, #4a4a52, #2a2a32); border-radius:5%; transform:scale(0.9); box-shadow:inset 0 0 10px rgba(0,0,0,0.3); }
.scn-monument-mechanic-stone .marble-tea { position:absolute; bottom:18%; left:32%; width:20px; height:10px; background:radial-gradient(circle at 50% 30%, #b0b0c0 0%, #909098 100%); border-radius:30% 30% 20% 20%; box-shadow:0 2px 6px rgba(0,0,0,0.3); animation:mms-tea 6s ease-in-out infinite; }
.scn-monument-mechanic-stone .figure-left { position:absolute; bottom:28%; left:22%; width:18px; height:30px; background:linear-gradient(180deg, #2a2a34, #1a1a22); border-radius:50% 50% 40% 40%; animation:mms-figure 5s ease-in-out infinite; }
.scn-monument-mechanic-stone .figure-right { position:absolute; bottom:28%; left:68%; width:18px; height:30px; background:linear-gradient(180deg, #2a2a34, #1a1a22); border-radius:50% 50% 40% 40%; animation:mms-figure 5s ease-in-out infinite; animation-delay:0.5s; }
.scn-monument-mechanic-stone .mourner-veil { position:absolute; bottom:32%; left:66%; width:2px; height:12px; background:#3a3a46; border-radius:50%; transform:translateX(-50%); animation:mms-veil 4s ease-in-out infinite; }
.scn-monument-mechanic-stone .skull { position:absolute; bottom:35%; left:50%; width:14px; height:16px; background:radial-gradient(circle at 50% 40%, #808088 0%, #606068 60%, transparent 60%); border-radius:50% 50% 40% 40%; transform:translateX(-50%); animation:mms-skull 10s ease-in-out infinite; }

@keyframes mms-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes mms-stone { 0%,100% { transform:translateX(-50%) scaleY(1); } 50% { transform:translateX(-50%) scaleY(1.03) translateY(-2px); } }
@keyframes mms-tea { 0% { transform:translate(0,0) rotate(0deg); } 50% { transform:translate(1px,-1px) rotate(2deg); } 100% { transform:translate(0,0) rotate(0deg); } }
@keyframes mms-figure { 0% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(2px) rotate(1deg); } 50% { transform:translateX(4px) rotate(-1deg); } 75% { transform:translateX(2px) rotate(0.5deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes mms-veil { 0%,100% { opacity:0.4; } 50% { opacity:0.8; transform:translateX(-50%) translateY(-1px); } }
@keyframes mms-skull { 0% { opacity:0.2; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

.scn-heaven-bell-solitary {
  background:
    linear-gradient(180deg, #0a0a1e 0%, #141430 40%, #1a1a3a 70%, #0e0e22 100%),
    radial-gradient(ellipse at 50% 50%, #1a1a3e 0%, transparent 80%);
}
.scn-heaven-bell-solitary .abyss { position:absolute; inset:0; background:linear-gradient(180deg, transparent 20%, #050514 100%); }
.scn-heaven-bell-solitary .bell { position:absolute; top:10%; left:50%; width:80px; height:100px; background:linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius:50% 50% 30% 30%; transform:translateX(-50%); box-shadow:0 0 20px rgba(80,60,40,0.3); animation:hbs-bell 12s ease-in-out infinite alternate; }
.scn-heaven-bell-solitary .clapper { position:absolute; top:55%; left:50%; width:10px; height:14px; background:radial-gradient(circle at 50% 30%, #6a5a4a, #3a2a1a); border-radius:50%; transform:translateX(-50%); animation:hbs-clapper 4s ease-in-out infinite; }
.scn-heaven-bell-solitary .door { position:absolute; top:35%; left:35%; width:30px; height:50px; background:linear-gradient(180deg, #2a1a0a, #1a0a00); border-radius:10% 10% 5% 5%; transform:rotate(-5deg); animation:hbs-door 8s ease-in-out infinite; }
.scn-heaven-bell-solitary .silhouette { position:absolute; bottom:20%; left:42%; width:12px; height:28px; background:#0a0a12; border-radius:50% 50% 40% 40%; transform-origin:bottom center; animation:hbs-silhouette 7s ease-in-out infinite; }
.scn-heaven-bell-solitary .ear { position:absolute; top:40%; left:60%; width:8px; height:14px; background:radial-gradient(circle at 50% 50%, #2a2a3e, #0a0a1e); border-radius:30% 30% 50% 50%; transform:rotate(20deg); animation:hbs-ear 6s ease-in-out infinite; }
.scn-heaven-bell-solitary .light-shaft { position:absolute; top:0; left:40%; width:20%; height:100%; background:linear-gradient(180deg, rgba(200,210,230,0.08) 0%, transparent 60%); filter:blur(8px); animation:hbs-light 15s ease-in-out infinite; }

@keyframes hbs-bell { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(2deg); } 100% { transform:translateX(-50%) rotate(-2deg); } }
@keyframes hbs-clapper { 0% { transform:translateX(-50%) translateY(0); } 25% { transform:translateX(-50%) translateY(2px); } 50% { transform:translateX(-50%) translateY(0); } 75% { transform:translateX(-50%) translateY(-2px); } 100% { transform:translateX(-50%) translateY(0); } }
@keyframes hbs-door { 0%,100% { transform:rotate(-5deg) scaleX(1); } 50% { transform:rotate(-3deg) scaleX(0.95); } }
@keyframes hbs-silhouette { 0% { transform:translateX(0) rotate(0deg); } 33% { transform:translateX(5px) rotate(2deg); } 66% { transform:translateX(-3px) rotate(-1deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes hbs-ear { 0%,100% { transform:rotate(20deg) scale(1); } 50% { transform:rotate(25deg) scale(0.9); } }
@keyframes hbs-light { 0% { opacity:0.2; } 50% { opacity:0.5; } 100% { opacity:0.1; } }

.scn-fly-buzzed-dying {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a221c 40%, #1c1612 70%, #0e0a08 100%),
    radial-gradient(ellipse at 30% 50%, #2a1a10 0%, transparent 70%);
}
.scn-fly-buzzed-dying .room-wall { position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, #0a0604 100%); }
.scn-fly-buzzed-dying .window { position:absolute; top:15%; left:50%; width:70px; height:90px; background:linear-gradient(180deg, #3a3030, #2a2222); border-radius:10% 10% 5% 5%; transform:translateX(-50%); box-shadow:inset 0 0 10px rgba(0,0,0,0.5); animation:fbd-window 9s ease-in-out infinite; }
.scn-fly-buzzed-dying .fly { position:absolute; top:30%; left:55%; width:6px; height:8px; background:linear-gradient(180deg, #2a2a3a, #1a1a2a); border-radius:50% 50% 40% 40%; animation:fbd-fly 3s ease-in-out infinite; }
.scn-fly-buzzed-dying .wing-l { position:absolute; top:29%; left:53%; width:10px; height:6px; background:radial-gradient(circle at 50% 50%, rgba(150,170,200,0.3), transparent); border-radius:50%; filter:blur(1px); animation:fbd-wing 0.05s infinite; }
.scn-fly-buzzed-dying .wing-r { position:absolute; top:29%; left:58%; width:10px; height:6px; background:radial-gradient(circle at 50% 50%, rgba(150,170,200,0.3), transparent); border-radius:50%; filter:blur(1px); animation:fbd-wing 0.05s infinite; animation-delay:0.025s; }
.scn-fly-buzzed-dying .boat { position:absolute; bottom:25%; left:20%; width:40px; height:12px; background:linear-gradient(180deg, #3a2a20, #1a100a); border-radius:0 0 50% 50%; transform:rotate(-5deg); animation:fbd-boat 15s ease-in-out infinite; }
.scn-fly-buzzed-dying .angel-hand { position:absolute; bottom:35%; left:50%; width:6px; height:18px; background:linear-gradient(180deg, #4a3a30, #2a1a10); border-radius:30% 30% 50% 50%; transform:rotate(15deg); animation:fbd-hand 8s ease-in-out infinite; }
.scn-fly-buzzed-dying .mattress { position:absolute; bottom:10%; left:20%; width:60%; height:8px; background:linear-gradient(90deg, #4a3a30, #3a2a20); border-radius:10%; box-shadow:0 2px 6px rgba(0,0,0,0.5); animation:fbd-mattress 12s ease-in-out infinite; }

@keyframes fbd-window { 0%,100% { opacity:0.3; } 50% { opacity:0.6; transform:translateX(-50%) scaleY(1.02); } }
@keyframes fbd-fly { 0% { transform:translate(0,0) rotate(0deg); } 25% { transform:translate(4px,-3px) rotate(10deg); } 50% { transform:translate(8px,0) rotate(-5deg); } 75% { transform:translate(4px,3px) rotate(8deg); } 100% { transform:translate(0,0) rotate(0deg); } }
@keyframes fbd-wing { 0% { transform:scaleY(1); } 100% { transform:scaleY(0.5); } }
@keyframes fbd-boat { 0% { transform:translateX(0) rotate(-5deg); } 50% { transform:translateX(10px) rotate(-8deg) translateY(-2px); } 100% { transform:translateX(0) rotate(-5deg); } }
@keyframes fbd-hand { 0%,100% { transform:rotate(15deg) translateY(0); } 50% { transform:rotate(20deg) translateY(-4px); } }
@keyframes fbd-mattress { 0% { opacity:0.5; } 50% { opacity:1; transform:scaleX(1.02); } 100% { opacity:0.6; } }

/* souls-storm-struck */
.scn-souls-storm-struck {
  background: linear-gradient(180deg, #2b2d42 0%, #1a1c2b 40%, #0f111a 80%), radial-gradient(ellipse at 50% 120%, #3a4055 0%, transparent 60%);
}
.scn-souls-storm-struck .sky {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, rgba(30,35,55,0.8) 0%, rgba(20,25,40,0.6) 100%);
  animation: sss-sky 6s ease-in-out infinite;
}
.scn-souls-storm-struck .cloud {
  position: absolute; top: 8%; width: 120px; height: 28px; 
  background: linear-gradient(90deg, rgba(220,225,240,0.3) 0%, rgba(180,190,210,0.1) 100%);
  border-radius: 50%; filter: blur(8px);
}
.scn-souls-storm-struck .cloud-a { left: -30%; animation: sss-drift-a 45s linear infinite; }
.scn-souls-storm-struck .cloud-b { left: 20%; top: 15%; width: 90px; height: 20px; animation: sss-drift-b 55s linear infinite reverse; }
.scn-souls-storm-struck .lightning {
  position: absolute; top: 0%; left: 50%; width: 4px; height: 60%; 
  background: linear-gradient(180deg, #fff9e6 0%, #ffdd88 50%, transparent 100%);
  filter: blur(1px); transform-origin: top center; 
  animation: sss-flash 4s steps(1, end) infinite;
}
.scn-souls-storm-struck .rain {
  position: absolute; width: 2px; height: 70px; background: rgba(180,200,255,0.15);
  border-radius: 2px; 
  animation: sss-rain 0.8s linear infinite;
}
.scn-souls-storm-struck .rain-1 { left: 10%; animation-delay: 0s; }
.scn-souls-storm-struck .rain-2 { left: 75%; animation-delay: 0.4s; }
.scn-souls-storm-struck .hills {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2c2f3e 0%, #151725 80%);
  border-radius: 60% 40% 0 0 / 90% 70% 0 0; 
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  animation: sss-hills 12s ease-in-out infinite;
}
.scn-souls-storm-struck .figure {
  position: absolute; bottom: 8%; left: 42%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1c2b 0%, #0e0f1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sss-tremble 0.5s ease-in-out infinite;
}
@keyframes sss-sky {
  0%, 100% { opacity: 0.7; }
  30%, 70% { opacity: 1; background: rgba(40,48,70,0.9); }
  50% { opacity: 0.5; background: rgba(20,25,45,0.7); }
}
@keyframes sss-drift-a {
  0% { transform: translateX(0); }
  100% { transform: translateX(160vw); }
}
@keyframes sss-drift-b {
  0% { transform: translateX(0); }
  100% { transform: translateX(-200vw); }
}
@keyframes sss-flash {
  0%, 92%, 100% { opacity: 0; }
  2% { opacity: 1; }
  3% { opacity: 0.8; }
  4% { opacity: 0; }
  50% { opacity: 0; transform: scaleY(1); }
  52% { opacity: 1; transform: scaleY(1.2); }
  53% { opacity: 0.5; transform: scaleY(1); }
  54% { opacity: 0; }
}
@keyframes sss-rain {
  0% { transform: translateY(-100vh); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(100vh); opacity: 0; }
}
@keyframes sss-hills {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes sss-tremble {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(1.5px,-1px) rotate(1deg); }
  50% { transform: translate(-1px,1px) rotate(-1.5deg); }
  75% { transform: translate(1px,0) rotate(1deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* clock-stopped-geneva */
.scn-clock-stopped-geneva {
  background: linear-gradient(180deg, #1f1d2b 0%, #2a2637 40%, #1b1723 80%), radial-gradient(ellipse at 50% 100%, #3a354a 0%, transparent 60%);
}
.scn-clock-stopped-geneva .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2637 0%, #1f1d2b 100%);
  animation: csg-wall 20s ease-in-out infinite alternate;
}
.scn-clock-stopped-geneva .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2e2a3d 0%, #1c1830 100%);
  border-radius: 0 0 0 0; 
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.7);
}
.scn-clock-stopped-geneva .clock-face {
  position: absolute; top: 10%; left: 50%; width: 120px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 50%, #c8b898 0%, #a09078 50%, #706050 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,180,120,0.3), inset 0 0 20px #403830;
  animation: csg-clock 12s ease-in-out infinite;
}
.scn-clock-stopped-geneva .pendulum {
  position: absolute; top: 22%; left: 50%; width: 6px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8b898 0%, #8a7a62 100%);
  border-radius: 3px 3px 0 0;
  transform-origin: top center;
  animation: csg-pendulum 8s ease-in-out infinite;
}
.scn-clock-stopped-geneva .pendulum::after {
  content: ''; position: absolute; bottom: -12px; left: 50%; width: 20px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 50%, #d4c4a0 0%, #908070 100%);
  border-radius: 50%;
}
.scn-clock-stopped-geneva .figure-left,
.scn-clock-stopped-geneva .figure-right {
  position: absolute; bottom: 15%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1b1723 0%, #0e0b14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: csg-figure 3s ease-in-out infinite;
}
.scn-clock-stopped-geneva .figure-left { left: 25%; }
.scn-clock-stopped-geneva .figure-right { right: 25%; animation-delay: 1.5s; }
.scn-clock-stopped-geneva .lamp-glow {
  position: absolute; bottom: 18%; left: 20%; width: 50px; height: 50px;
  background: radial-gradient(circle at 50% 50%, rgba(255,220,150,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: csg-lamp 4s ease-in-out infinite alternate;
}
.scn-clock-stopped-geneva .lamp-body {
  position: absolute; bottom: 20%; left: 22%; width: 16px; height: 28px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a302a 100%);
  border-radius: 4px;
  transform: rotate(5deg);
  box-shadow: 0 0 8px rgba(255,220,150,0.2);
  animation: csg-lamp 4s ease-in-out infinite alternate;
}
@keyframes csg-wall {
  0%, 100% { opacity: 0.9; background: #1f1d2b; }
  50% { opacity: 0.7; background: #2a2637; }
}
@keyframes csg-clock {
  0%, 100% { transform: translateX(-50%) scale(1); box-shadow: 0 0 30px 10px rgba(200,180,120,0.3); }
  50% { transform: translateX(-50%) scale(0.98); box-shadow: 0 0 15px 5px rgba(200,180,120,0.15); }
}
@keyframes csg-pendulum {
  0%, 100% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(-4deg); }
  50% { transform: translateX(-50%) rotate(0deg); }
  75% { transform: translateX(-50%) rotate(4deg); }
}
@keyframes csg-figure {
  0% { transform: translate(0,0) rotate(0deg); }
  20% { transform: translate(2px,-2px) rotate(1.5deg); }
  40% { transform: translate(-1px,1px) rotate(-1deg); }
  60% { transform: translate(1px,-1px) rotate(0.5deg); }
  80% { transform: translate(-2px,2px) rotate(-1.5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes csg-lamp {
  0% { opacity: 0.6; transform: scale(1) ; }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.7; transform: scale(0.95); }
}

/* train-boanerges */
.scn-train-boanerges {
  background:
    linear-gradient(180deg, #4a5a6e 0%, #2f3b4a 30%, #1a232e 60%, #0a0f14 100%),
    radial-gradient(ellipse at 50% 20%, #4a5a6e 0%, transparent 60%);
}
.scn-train-boanerges .sky-overcast { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #6b7b8e 0%, #4a5a6e 50%, transparent 100%); animation: tb-sky 15s ease-in-out infinite alternate; }
.scn-train-boanerges .mountains { position:absolute; bottom:40%; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; box-shadow: inset 0 6px 16px rgba(0,0,0,.5); animation: tb-mountains 20s ease-in-out infinite alternate; }
.scn-train-boanerges .train-body { position:absolute; bottom:25%; left:10%; width:40%; height:18%; background: linear-gradient(90deg, #1a2a3a 0%, #3a4a5a 30%, #2a3a4a 70%, #1a2a3a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 8px 16px rgba(0,0,0,.6); animation: tb-train 6s ease-in-out infinite; }
.scn-train-boanerges .train-wheels { position:absolute; bottom:23%; left:12%; width:36%; height:8%; background: radial-gradient(circle, #4a5a6a 0%, #1a2a3a 100%); border-radius: 50% 50% 0 0; animation: tb-wheels 0.8s linear infinite; }
.scn-train-boanerges .steam { position:absolute; bottom:45%; left:25%; width:20%; height:15%; background: radial-gradient(ellipse, rgba(200,210,220,0.6) 0%, transparent 70%); filter: blur(6px); animation: tb-steam 4s ease-in-out infinite; }
.scn-train-boanerges .tracks { position:absolute; bottom:22%; left:0; right:0; height:3%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); box-shadow: 0 -2px 4px rgba(0,0,0,.4); animation: tb-tracks 12s linear infinite; }
.scn-train-boanerges .signal-light { position:absolute; bottom:35%; right:15%; width:8px; height:8px; background: #c8553d; border-radius:50%; box-shadow: 0 0 16px 4px #c8553d; animation: tb-signal 1.5s ease-in-out infinite alternate; }
@keyframes tb-sky { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:.6 } }
@keyframes tb-mountains { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes tb-train { 0% { transform: translateX(-5%) } 25% { transform: translateX(5%) } 50% { transform: translateX(0) } 75% { transform: translateX(-3%) } 100% { transform: translateX(-5%) } }
@keyframes tb-wheels { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
@keyframes tb-steam { 0% { transform: translateY(0) scale(1); opacity:.6 } 50% { transform: translateY(-20px) scale(1.5); opacity:.3 } 100% { transform: translateY(0) scale(1); opacity:.6 } }
@keyframes tb-tracks { 0% { background-position:0 0 } 100% { background-position:-100px 0 } }
@keyframes tb-signal { 0% { box-shadow: 0 0 8px 2px #c8553d; opacity:.8 } 50% { box-shadow: 0 0 24px 8px #c8553d; opacity:1 } 100% { box-shadow: 0 0 12px 4px #c8553d; opacity:.7 } }

/* god-gives-loaf */
.scn-god-gives-loaf {
  background:
    linear-gradient(180deg, #4a3020 0%, #3a2216 30%, #2a1a10 60%, #1a0e08 100%),
    radial-gradient(ellipse at 50% 70%, #6a5040 0%, transparent 60%);
}
.scn-god-gives-loaf .wall-warm { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #5a4030 0%, #3a2818 50%, transparent 100%); animation: gg-wall 12s ease-in-out infinite alternate; }
.scn-god-gives-loaf .table-top { position:absolute; bottom:30%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: gg-table 8s ease-in-out infinite alternate; }
.scn-god-gives-loaf .loaf { position:absolute; bottom:34%; left:38%; width:24%; height:14%; background: radial-gradient(ellipse at 50% 60%, #d0a060 0%, #a08040 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: gg-loaf 10s ease-in-out infinite; }
.scn-god-gives-loaf .plate { position:absolute; bottom:32%; left:35%; width:30%; height:6%; background: radial-gradient(circle, #b09070 0%, #8a6a50 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.scn-god-gives-loaf .candle-body { position:absolute; bottom:42%; left:55%; width:4%; height:16%; background: linear-gradient(180deg, #e0c0a0 0%, #c0a080 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 4px rgba(0,0,0,.3); }
.scn-god-gives-loaf .candle-flame { position:absolute; bottom:58%; left:55.5%; width:3%; height:6%; background: radial-gradient(ellipse, #ffd080 0%, #ffa040 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px #ffa040, 0 0 40px 12px rgba(255,160,64,.4); animation: gg-flame 2s ease-in-out infinite alternate; }
.scn-god-gives-loaf .warm-glow { position:absolute; bottom:50%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse, rgba(255,200,100,0.3) 0%, transparent 70%); filter: blur(10px); animation: gg-glow 5s ease-in-out infinite alternate; }
.scn-god-gives-loaf .hand-reach { position:absolute; bottom:32%; left:45%; width:10%; height:18%; background: linear-gradient(180deg, #b87878 0%, #8a5a5a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gg-hand 6s ease-in-out infinite; }
@keyframes gg-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes gg-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes gg-loaf { 0% { transform: scale(1) } 25% { transform: scale(1.03) } 50% { transform: scale(0.98) } 100% { transform: scale(1) } }
@keyframes gg-flame { 0% { transform: scaleY(0.9) translateY(0); opacity:.9 } 50% { transform: scaleY(1.1) translateY(-2px); opacity:1 } 100% { transform: scaleY(0.95) translateY(0); opacity:.85 } }
@keyframes gg-glow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes gg-hand { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(5px) translateY(-3px) rotate(5deg) } 50% { transform: translateX(8px) translateY(-1px) rotate(3deg) } 75% { transform: translateX(4px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }

/* each-life-converges */
.scn-each-life-converges {
  background:
    linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 30%, #2a2a3a 60%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 80%, #5a5a6a 0%, transparent 60%);
}
.scn-each-life-converges .room-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 50%, transparent 100%); animation: el-wall 18s ease-in-out infinite alternate; }
.scn-each-life-converges .window-frame { position:absolute; top:15%; left:30%; width:40%; height:40%; background: #2a2a3a; border-radius: 8% 8% 4% 4%; box-shadow: inset 0 0 0 4px #4a4a5a; animation: el-frame 12s ease-in-out infinite alternate; }
.scn-each-life-converges .window-pane { position:absolute; top:18%; left:33%; width:34%; height:34%; background: linear-gradient(135deg, #8a9aba 0%, #6a7a9a 100%); border-radius: 4%; box-shadow: inset 0 0 20px rgba(255,255,255,0.2); animation: el-pane 20s ease-in-out infinite alternate; }
.scn-each-life-converges .bookshelf { position:absolute; bottom:30%; right:10%; width:20%; height:40%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); }
.scn-each-life-converges .chair { position:absolute; bottom:15%; left:20%; width:25%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: el-chair 8s ease-in-out infinite alternate; }
.scn-each-life-converges .figure-silhouette { position:absolute; bottom:10%; left:22%; width:18%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: el-figure 10s ease-in-out infinite; }
.scn-each-life-converges .lamp-stand { position:absolute; bottom:40%; left:12%; width:4%; height:20%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 10% 10% 0 0; }
@keyframes el-wall { 0% { opacity:.75 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes el-frame { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes el-pane { 0% { opacity:.7; filter: brightness(1) } 50% { opacity:.9; filter: brightness(1.1) } 100% { opacity:.75; filter: brightness(0.95) } }
@keyframes el-chair { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes el-figure { 0% { transform: translateX(0) rotate(-3deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(8px) rotate(3deg) } 75% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(-3deg) } }

/* preacher-breadth */
.scn-preacher-breadth {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #0e0e1e 30%, #05050f 60%, #000005 100%),
    radial-gradient(ellipse at 50% 90%, #2a2a3a 0%, transparent 70%);
}
.scn-preacher-breadth .bg-dark { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, transparent 100%); animation: pb-bg 20s ease-in-out infinite alternate; }
.scn-preacher-breadth .pulpit { position:absolute; bottom:15%; left:30%; width:40%; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%); border-radius: 10% 10% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,.7); }
.scn-preacher-breadth .preacher-silhouette { position:absolute; bottom:20%; left:35%; width:30%; height:50%; background: linear-gradient(180deg, #0a0a1a 0%, #00000a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: pb-figure 12s ease-in-out infinite alternate; }
.scn-preacher-breadth .open-book { position:absolute; bottom:18%; left:44%; width:12%; height:8%; background: radial-gradient(ellipse, #4a3a2a 0%, #2a1a0e 100%); border-radius: 10% 10% 20% 20%; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-preacher-breadth .candle-light { position:absolute; bottom:45%; left:45%; width:4%; height:12%; background: linear-gradient(180deg, #e0c0a0 0%, #a08060 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 10px 2px rgba(200,160,100,.4); }
.scn-preacher-breadth .light-halo { position:absolute; bottom:45%; left:42%; width:16%; height:20%; background: radial-gradient(ellipse, rgba(200,180,120,0.2) 0%, transparent 70%); filter: blur(8px); animation: pb-halo 6s ease-in-out infinite alternate; }
@keyframes pb-bg { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.6 } }
@keyframes pb-figure { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pb-halo { 0% { opacity:.2; transform: scale(1) } 50% { opacity:.4; transform: scale(1.2) } 100% { opacity:.3; transform: scale(0.9) } }

.scn-love-exists-before-life {
  background: linear-gradient(180deg, #2c1c0e 0%, #4a2c1a 45%, #6b4030 100%),
              radial-gradient(ellipse at 50% 20%, #8b5a3a 0%, transparent 70%);
}
.scn-love-exists-before-life .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #3a2518 0%, #2c1c0e 100%);
  border-radius: 0 0 30% 30%;
}
.scn-love-exists-before-life .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #5a3a28 0%, #3a2010 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.5);
}
.scn-love-exists-before-life .window {
  position: absolute; bottom: 50%; left: 35%; width: 30%; height: 35%;
  background: radial-gradient(ellipse at 30% 40%, #ffd080 0%, #c09040 60%, #2c1c0e 100%);
  border: 4px solid #4a2c1a;
  border-radius: 6%;
  animation: leb-glow 4s ease-in-out infinite alternate;
}
.scn-love-exists-before-life .figure {
  position: absolute; bottom: 28%; left: 20%; width: 14%; height: 45%;
  background: linear-gradient(180deg, #1a1008 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: leb-shadow 8s ease-in-out infinite;
}
.scn-love-exists-before-life .lantern {
  position: absolute; bottom: 35%; left: 55%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #ffc060 0%, #b07030 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #ffc060, 0 0 40px 12px rgba(255,192,96,0.3);
  animation: leb-sway 5s ease-in-out infinite;
}
.scn-love-exists-before-life .glow-warm {
  position: absolute; bottom: 20%; left: 40%; width: 30%; height: 40%;
  background: radial-gradient(ellipse, rgba(255,180,80,0.3) 0%, transparent 70%);
  mix-blend-mode: screen;
  animation: leb-pulse 6s ease-in-out infinite alternate;
}
@keyframes leb-glow {
  0% { opacity: 0.7; box-shadow: 0 0 12px 2px #c09040; }
  50% { opacity: 1; box-shadow: 0 0 30px 8px #ffd080, 0 0 60px 16px rgba(255,208,128,0.4); }
  100% { opacity: 0.8; box-shadow: 0 0 18px 4px #c09040; }
}
@keyframes leb-shadow {
  0% { transform: translateX(0) scaleY(1); }
  25% { transform: translateX(2%) scaleY(1.02); }
  50% { transform: translateX(0) scaleY(1); }
  75% { transform: translateX(-2%) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes leb-sway {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(4deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes leb-pulse {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}

.scn-split-the-lark {
  background: linear-gradient(180deg, #ffe8b0 0%, #ffcc80 40%, #ff9900 100%),
              radial-gradient(ellipse at 50% 100%, #ff7700 0%, transparent 70%);
}
.scn-split-the-lark .sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #fffbe0 0%, #ffe8b0 100%);
}
.scn-split-the-lark .sunrays {
  position: absolute; top: 0; left: 50%; width: 4%; height: 80%;
  background: linear-gradient(180deg, #ffffff 0%, #ffd700 100%);
  border-radius: 0 0 50% 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 60px 30px rgba(255,215,0,0.3);
  animation: stl-rays 14s linear infinite;
}
.scn-split-the-lark .lark {
  position: absolute; top: 25%; left: 35%; width: 18%; height: 14%;
  background: radial-gradient(ellipse at 30% 50%, #8b5a3a 0%, #4a2c1a 100%);
  border-radius: 50% 50% 40% 40%;
  clip-path: polygon(0% 50%, 40% 0%, 100% 30%, 80% 70%, 40% 100%);
  animation: stl-fly 3s ease-in-out infinite;
}
.scn-split-the-lark .note-a,
.scn-split-the-lark .note-b {
  position: absolute; width: 5%; height: 8%;
  background: radial-gradient(circle, #ffeb3b 0%, #ff9800 100%);
  border-radius: 50%;
  animation: stl-note 6s ease-out infinite;
}
.scn-split-the-lark .note-a { top: 20%; left: 20%; animation-delay: 0s; }
.scn-split-the-lark .note-b { top: 30%; left: 60%; animation-delay: 2.5s; }
.scn-split-the-lark .burst-light {
  position: absolute; top: 50%; left: 50%; width: 30%; height: 30%;
  background: radial-gradient(circle, rgba(255,255,200,0.6) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: stl-burst 2s ease-in-out infinite alternate;
}
@keyframes stl-rays {
  0% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(360deg); }
}
@keyframes stl-fly {
  0% { transform: translateY(0) rotate(0deg) scale(1); }
  25% { transform: translateY(-5%) rotate(-8deg) scale(1.05); }
  50% { transform: translateY(2%) rotate(3deg) scale(0.95); }
  75% { transform: translateY(-3%) rotate(-4deg) scale(1.02); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}
@keyframes stl-note {
  0% { opacity: 0; transform: translateY(0) scale(0.5); }
  20% { opacity: 1; transform: translateY(-20%) scale(1.2); }
  80% { opacity: 1; transform: translateY(-80%) scale(0.8); }
  100% { opacity: 0; transform: translateY(-120%) scale(0.3); }
}
@keyframes stl-burst {
  0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.8); }
  50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.3); }
  100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
}

.scn-he-touched-me {
  background: linear-gradient(180deg, #2e1a0e 0%, #4a2c1e 50%, #6b4030 100%),
              radial-gradient(ellipse at 50% 40%, #7a4a30 0%, transparent 70%);
}
.scn-he-touched-me .wall {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #3d2518 0%, #2c1c0e 100%);
  border-radius: 0 0 40% 40%;
}
.scn-he-touched-me .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #5a3a28 0%, #3a2010 100%);
  border-radius: 10% 10% 0 0;
}
.scn-he-touched-me .figure {
  position: absolute; bottom: 20%; left: 15%; width: 16%; height: 50%;
  background: linear-gradient(180deg, #1a1008 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: htm-breathe 7s ease-in-out infinite;
}
.scn-he-touched-me .hand {
  position: absolute; bottom: 40%; right: 25%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #c09070 0%, #a07050 100%);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(-20deg);
  animation: htm-reach 5s ease-in-out infinite;
}
.scn-he-touched-me .touch-glow {
  position: absolute; bottom: 38%; right: 22%; width: 8%; height: 8%;
  background: radial-gradient(circle, #ffe0a0 0%, #d0a070 60%, transparent 100%);
  border-radius: 50%;
  animation: htm-touch 3s ease-in-out infinite alternate;
}
.scn-he-touched-me .doorway {
  position: absolute; bottom: 20%; right: 10%; width: 20%; height: 60%;
  background: #1a0e08;
  border: 3px solid #4a2c1e;
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 20px rgba(255,200,150,0.2);
}
@keyframes htm-breathe {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.03) translateY(-2%); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes htm-reach {
  0% { transform: rotate(-20deg) translateX(0); }
  25% { transform: rotate(-10deg) translateX(5%); }
  50% { transform: rotate(-20deg) translateX(0); }
  75% { transform: rotate(-15deg) translateX(3%); }
  100% { transform: rotate(-20deg) translateX(0); }
}
@keyframes htm-touch {
  0% { opacity: 0.4; box-shadow: 0 0 10px 4px #d0a070; }
  100% { opacity: 0.9; box-shadow: 0 0 30px 12px #ffe0a0, 0 0 60px 20px rgba(255,224,160,0.3); }
}

.scn-interdicts-blossom {
  background: linear-gradient(180deg, #0a0e2e 0%, #1a1a4e 40%, #2a2a5e 100%),
              radial-gradient(ellipse at 50% 0%, #4a4a7e 0%, transparent 70%);
}
.scn-interdicts-blossom .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0c1030 0%, #1a1a4e 100%);
}
.scn-interdicts-blossom .moon {
  position: absolute; top: 8%; left: 70%; width: 12%; height: 12%;
  background: radial-gradient(circle, #e0e0f0 0%, #a0a0c0 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(200,200,240,0.3);
  animation: idb-moon 30s linear infinite;
}
.scn-interdicts-blossom .blossom {
  position: absolute; bottom: 30%; left: 40%; width: 18%; height: 28%;
  background: radial-gradient(ellipse at 50% 30%, #a86a8a 0%, #5a2a4a 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: idb-bloom 4s ease-in-out infinite alternate;
}
.scn-interdicts-blossom .stem {
  position: absolute; bottom: 20%; left: 48%; width: 2%; height: 25%;
  background: linear-gradient(180deg, #2a5a2a 0%, #1a3a1a 100%);
  border-radius: 0 0 20% 20%;
}
.scn-interdicts-blossom .shadow-figure {
  position: absolute; bottom: 10%; left: 25%; width: 15%; height: 45%;
  background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: idb-creep 6s ease-in-out infinite;
}
.scn-interdicts-blossom .barrier {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 4%;
  background: radial-gradient(ellipse, rgba(180,180,255,0.2) 0%, transparent 100%);
  border: 2px solid rgba(160,160,255,0.3);
  border-radius: 20%;
  animation: idb-barrier 3s ease-in-out infinite alternate;
}
@keyframes idb-moon {
  0% { transform: translateX(0); }
  25% { transform: translateX(-10%); }
  50% { transform: translateX(0); }
  75% { transform: translateX(5%); }
  100% { transform: translateX(0); }
}
@keyframes idb-bloom {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.08) rotate(3deg); }
  100% { transform: scale(1) rotate(-2deg); }
}
@keyframes idb-creep {
  0% { transform: translateX(0) scaleY(1); }
  25% { transform: translateX(4%) scaleY(1.02); }
  50% { transform: translateX(0) scaleY(0.98); }
  75% { transform: translateX(-3%) scaleY(1.02); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes idb-barrier {
  0% { opacity: 0.3; box-shadow: 0 0 8px 2px rgba(160,160,255,0.2); }
  100% { opacity: 0.8; box-shadow: 0 0 20px 8px rgba(160,160,255,0.5); }
}

/* success-is-sweetest */
.scn-success-is-sweetest {
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 40%, #2a2a3a 100%),
              radial-gradient(ellipse at 70% 30%, #6a7a7a 0%, transparent 60%);
}
.scn-success-is-sweetest .sky-overcast {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #4a4a5a 0%, #6a6a7a 50%, transparent 100%);
  animation: sis-sky 15s ease-in-out infinite alternate;
}
.scn-success-is-sweetest .ground-mud {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%);
  border-radius: 80% 20% 0 0 / 30% 10% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-success-is-sweetest .fallen-soldier {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-15deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: sis-soldier 6s ease-in-out infinite;
}
.scn-success-is-sweetest .victory-light {
  position: absolute; top: 15%; right: 20%; width: 50px; height: 100px;
  background: radial-gradient(ellipse at center, #c0b080 0%, #a09070 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  opacity: 0.6;
  animation: sis-victory 4s ease-in-out infinite alternate;
}
.scn-success-is-sweetest .imp-shadow {
  position: absolute; bottom: 35%; left: 55%; width: 12px; height: 18px;
  background: #0a0a0a;
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  filter: blur(1px);
  animation: sis-imp 3s ease-in-out infinite;
}
.scn-success-is-sweetest .angel-shadow {
  position: absolute; top: 10%; left: 10%; width: 20px; height: 30px;
  background: rgba(200,200,220,0.15);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: sis-angel 8s linear infinite reverse;
}
.scn-success-is-sweetest .raffle-ticket {
  position: absolute; bottom: 28%; left: 48%; width: 10px; height: 6px;
  background: #8a7a5a;
  border-radius: 2px;
  transform: rotate(20deg);
  animation: sis-ticket 5s ease-in-out infinite;
}
@keyframes sis-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes sis-soldier { 0%,100% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-5px) } }
@keyframes sis-victory { 0% { opacity:0.4; transform: scale(0.9) } 50% { opacity:0.8; transform: scale(1.1) } 100% { opacity:0.5; transform: scale(1) } }
@keyframes sis-imp { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(8px) rotate(10deg) } }
@keyframes sis-angel { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(-15px,10px) scale(0.8) } 100% { transform: translate(0,20px) scale(1) } }
@keyframes sis-ticket { 0%,100% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(15deg) translateY(-4px) } }

/* if-one-heart */
.scn-if-one-heart {
  background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 40%, #0a0808 100%),
              radial-gradient(ellipse at 50% 60%, #3a2020 0%, transparent 70%);
}
.scn-if-one-heart .room-wall {
  position: absolute; inset: 0 20% 0 0;
  background: linear-gradient(90deg, #2a1a1a 0%, #1a1010 100%);
  box-shadow: inset -20px 0 40px rgba(0,0,0,0.5);
}
.scn-if-one-heart .window-dim {
  position: absolute; top: 15%; left: 5%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: ifh-window 20s ease-in-out infinite alternate;
}
.scn-if-one-heart .antique-book {
  position: absolute; bottom: 30%; left: 10%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: ifh-book 8s ease-in-out infinite;
}
.scn-if-one-heart .figure-silhouette {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 70px;
  background: #0a0808;
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ifh-figure 6s ease-in-out infinite;
}
.scn-if-one-heart .heart-wound {
  position: absolute; bottom: 45%; left: 25%; width: 18px; height: 16px;
  background: radial-gradient(circle at 40% 30%, #702243 0%, #3a1015 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(112,34,67,0.4);
  animation: ifh-heart 3s ease-in-out infinite alternate;
}
.scn-if-one-heart .deer-leap {
  position: absolute; bottom: 65%; right: 15%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #2a2010 0%, #1a1008 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform: rotate(30deg);
  animation: ifh-deer 5s ease-in-out infinite;
}
.scn-if-one-heart .violet-cluster {
  position: absolute; bottom: 28%; left: 60%; width: 12px; height: 20px;
  background: radial-gradient(circle at 30% 40%, #5a3a7a 0%, #2a1a4a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ifh-violet 10s ease-in-out infinite alternate;
}
@keyframes ifh-window { 0% { background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%) } 50% { background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%) } 100% { background: linear-gradient(180deg, #0a1a2a 0%, #000a1a 100%) } }
@keyframes ifh-book { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-3px) } }
@keyframes ifh-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5px) rotate(2deg) } 100% { transform: translateX(-5px) rotate(-1deg) } }
@keyframes ifh-heart { 0% { opacity:0.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:0.8; transform: scale(0.9) } }
@keyframes ifh-deer { 0%,100% { transform: rotate(30deg) translateY(0) } 50% { transform: rotate(35deg) translateY(-8px) } }
@keyframes ifh-violet { 0% { opacity:0.3; transform: scale(0.8) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.4; transform: scale(0.9) } }

/* soul-selects-her-own */
.scn-soul-selects-her-own {
  background: linear-gradient(180deg, #6a8a9a 0%, #b0c8d0 40%, #d0d8d8 100%),
              radial-gradient(ellipse at 80% 20%, #f0e8d0 0%, transparent 60%);
}
.scn-soul-selects-her-own .dawn-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #8ab0c0 0%, #c0d8e0 50%, #f0e8d0 100%);
  animation: ss-sky 20s ease-in-out infinite alternate;
}
.scn-soul-selects-her-own .house-facade {
  position: absolute; bottom: 25%; left: 25%; width: 45%; height: 60%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.scn-soul-selects-her-own .closed-door {
  position: absolute; bottom: 28%; left: 42%; width: 16%; height: 35%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.3);
  transform-origin: left center;
  animation: ss-door 12s ease-in-out infinite;
}
.scn-soul-selects-her-own .window-light {
  position: absolute; bottom: 45%; left: 36%; width: 10%; height: 15%;
  background: radial-gradient(circle, #f0e090 0%, #c8b060 70%, transparent 100%);
  border-radius: 10%;
  box-shadow: 0 0 30px 10px rgba(200,180,100,0.4), 0 0 60px 20px rgba(200,180,100,0.2);
  animation: ss-window 4s ease-in-out infinite alternate;
}
.scn-soul-selects-her-own .sycamore-tree {
  position: absolute; bottom: 20%; right: 15%; width: 70px; height: 130px;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a1a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 20% 20%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
  animation: ss-tree 8s ease-in-out infinite alternate;
}
.scn-soul-selects-her-own .moon-sliding {
  position: absolute; top: 8%; left: 10%; width: 30px; height: 30px;
  background: radial-gradient(circle at 40% 40%, #f0f0e8 0%, #c0c0b0 80%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px rgba(200,200,180,0.3);
  animation: ss-moon 35s linear infinite;
}
.scn-soul-selects-her-own .sun-reaching {
  position: absolute; top: 50%; right: 5%; width: 40px; height: 40px;
  background: radial-gradient(circle at 30% 30%, #ffd080 0%, #f0a050 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  opacity: 0.6;
  animation: ss-sun 45s linear infinite reverse;
}
.scn-soul-selects-her-own .spectacles {
  position: absolute; bottom: 60%; left: 30%; width: 20px; height: 12px;
  background: transparent;
  border: 2px solid #4a3a2a;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #6a5a4a;
  animation: ss-specs 6s ease-in-out infinite;
}
@keyframes ss-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes ss-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.98) } }
@keyframes ss-window { 0% { opacity:0.7; box-shadow: 0 0 20px 5px rgba(200,180,100,0.3) } 50% { opacity:1; box-shadow: 0 0 40px 15px rgba(200,180,100,0.6) } 100% { opacity:0.8; box-shadow: 0 0 25px 8px rgba(200,180,100,0.4) } }
@keyframes ss-tree { 0%,100% { transform: rotate(0) } 50% { transform: rotate(2deg) } }
@keyframes ss-moon { 0% { transform: translateX(-20px) } 50% { transform: translateX(10px) } 100% { transform: translateX(120vw) } }
@keyframes ss-sun { 0% { transform: translateX(0) scale(0.9) } 50% { transform: translateX(-10px) scale(1.1) } 100% { transform: translateX(-100vw) scale(0.9) } }
@keyframes ss-specs { 0%,100% { transform: rotate(0) } 50% { transform: rotate(5deg) } }

/* fight-aloud-brave */
.scn-fight-aloud-brave {
  background: linear-gradient(180deg, #4a3a2a 0%, #8a6a4a 30%, #c0a070 60%, #e8d0a0 100%),
              radial-gradient(ellipse at 50% 100%, #6a4a2a 0%, transparent 80%);
}
.scn-fight-aloud-brave .dawn-sky-tense {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #6a5a3a 0%, #c0a070 100%);
  animation: fab-sky 10s ease-in-out infinite alternate;
}
.scn-fight-aloud-brave .rooster-silhouette {
  position: absolute; bottom: 40%; left: 20%; width: 30px; height: 50px;
  background: #1a1a0a;
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: translateY(0) rotate(-5deg);
  animation: fab-rooster 2s ease-in-out infinite;
}
.scn-fight-aloud-brave .door-ajar {
  position: absolute; bottom: 20%; right: 25%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 2px;
  transform: perspective(200px) rotateY(15deg);
  box-shadow: -5px 0 15px rgba(0,0,0,0.5);
  animation: fab-door 4s ease-in-out infinite alternate;
}
.scn-fight-aloud-brave .cavalry-dust {
  position: absolute; bottom: 30%; left: 40%; width: 100px; height: 30px;
  background: radial-gradient(ellipse at 30% 50%, #a09070 0%, transparent 70%);
  filter: blur(10px);
  opacity: 0.3;
  animation: fab-dust 8s linear infinite;
}
.scn-fight-aloud-brave .plumed-helmet {
  position: absolute; bottom: 55%; left: 60%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: fab-helmet 5s ease-in-out infinite;
}
.scn-fight-aloud-brave .angel-rank {
  position: absolute; top: 10%; left: 10%; width: 80px; height: 50px;
  background: radial-gradient(ellipse, rgba(200,200,220,0.2) 0%, transparent 70%);
  filter: blur(6px);
  border-radius: 50%;
  animation: fab-angel 30s linear infinite reverse;
}
.scn-fight-aloud-brave .sharp-shadow {
  position: absolute; bottom: 35%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #0a0a0a 0%, transparent 100%);
  clip-path: polygon(0 100%, 100% 100%, 80% 0, 20% 0);
  opacity: 0.3;
  animation: fab-shadow 7s ease-in-out infinite alternate;
}
@keyframes fab-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes fab-rooster { 0%,100% { transform: translateY(0) rotate(-5deg) } 50% { transform: translateY(-5px) rotate(0deg) } }
@keyframes fab-door { 0% { transform: perspective(200px) rotateY(15deg) } 50% { transform: perspective(200px) rotateY(10deg) } 100% { transform: perspective(200px) rotateY(18deg) } }
@keyframes fab-dust { 0% { transform: translateX(-20px) opacity:0.2 } 50% { transform: translateX(20px) opacity:0.4 } 100% { transform: translateX(60px) opacity:0 } }
@keyframes fab-helmet { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-4px) rotate(5deg) } }
@keyframes fab-angel { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(15px) scale(0.8) } 100% { transform: translateX(-30px) scale(0.9) } }
@keyframes fab-shadow { 0% { opacity:0.2; transform: scaleX(1) } 50% { opacity:0.4; transform: scaleX(1.2) } 100% { opacity:0.1; transform: scaleX(0.8) } }

/* hummingbird-emerald – calm sunlit wide horizon */
.scn-hummingbird-emerald {
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 40%, #98fb98 70%, #3cb371 100%),
              radial-gradient(ellipse at 50% 0%, #ffd700 0%, transparent 60%);
}
.scn-hummingbird-emerald .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #b0e0e6 0%, transparent 100%);
  animation: he-sky 20s ease-in-out infinite alternate;
}
.scn-hummingbird-emerald .hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #556b2f 0%, #2e4a1e 100%);
  border-radius: 60% 40% 0 0 / 70% 50% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: he-hills 30s ease-in-out infinite alternate;
}
.scn-hummingbird-emerald .orchard {
  position: absolute; bottom: 28%; left: 10%; right: 10%; height: 18%;
  background: repeating-linear-gradient(90deg, #3cb371 0px, #3cb371 8px, transparent 8px, transparent 20px);
  border-radius: 30% 70% 0 0;
  opacity: 0.6;
  animation: he-orchard 25s linear infinite;
}
.scn-hummingbird-emerald .daffodils {
  position: absolute; bottom: 22%; left: 15%; width: 40px; height: 20px;
  background: radial-gradient(circle at 50% 100%, #ffd700 0%, transparent 60%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: he-daffodils 5s ease-in-out infinite;
}
.scn-hummingbird-emerald .hummingbird {
  position: absolute; bottom: 45%; left: 50%; width: 12px; height: 16px;
  background: radial-gradient(circle at 50% 40%, #00ff7f 0%, #008000 100%);
  border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 0 12px 4px rgba(0,255,127,0.4);
  animation: he-hummingbird 3s ease-in-out infinite alternate;
}
.scn-hummingbird-emerald .sun-glow {
  position: absolute; top: 5%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff8dc 0%, #ffd700 20%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  opacity: 0.7;
  animation: he-sun 8s ease-in-out infinite alternate;
}
@keyframes he-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes he-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes he-orchard { 0% { background-position: 0 0; } 100% { background-position: 100px 0; } }
@keyframes he-daffodils { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(5deg); } }
@keyframes he-hummingbird { 0% { transform: translate(0, 0) rotate(-15deg); } 50% { transform: translate(10px, -8px) rotate(5deg); } 100% { transform: translate(20px, 0) rotate(-10deg); } }
@keyframes he-sun { 0% { opacity: 0.5; transform: translateX(-50%) scale(0.9); } 50% { opacity: 0.9; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.6; transform: translateX(-50%) scale(0.95); } }

/* visited-the-sea – tense sunlit wide horizon + figure */
.scn-visited-the-sea {
  background: linear-gradient(180deg, #87ceeb 0%, #4682b4 40%, #2e8b57 70%, #8b4513 100%),
              radial-gradient(ellipse at 60% 30%, #ffa500 0%, transparent 50%);
}
.scn-visited-the-sea .sky-sea {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b0c4de 0%, #5f9ea0 100%);
  animation: vs-skysea 12s ease-in-out infinite alternate;
}
.scn-visited-the-sea .shore {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #deb887 0%, #d2b48c 100%);
  border-radius: 40% 60% 0 0;
  animation: vs-shore 8s ease-in-out infinite alternate;
}
.scn-visited-the-sea .town {
  position: absolute; bottom: 38%; right: 5%; width: 80px; height: 30px;
  background: linear-gradient(180deg, #696969 0%, #2f4f4f 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: vs-town 15s ease-in-out infinite;
}
.scn-visited-the-sea .figure-woman {
  position: absolute; bottom: 35%; left: 30%; width: 14px; height: 36px;
  background: linear-gradient(180deg, #8b4513 0%, #a0522d 30%, #2f1b0e 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: -2px 0 8px rgba(0,0,0,0.3);
  animation: vs-woman 4s ease-in-out infinite;
}
.scn-visited-the-sea .star-arcturus {
  position: absolute; top: 12%; left: 20%; width: 8px; height: 8px;
  background: radial-gradient(circle, #fffacd 0%, #ffd700 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ffd700;
  animation: vs-star 3s ease-in-out infinite alternate;
}
.scn-visited-the-sea .mushroom {
  position: absolute; bottom: 38%; left: 10%; width: 10px; height: 12px;
  background: radial-gradient(ellipse at 50% 30%, #deb887 0%, #8b4513 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: vs-mushroom 7s ease-in-out infinite;
}
.scn-visited-the-sea .tide-line {
  position: absolute; bottom: 45%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #ffffff 50%, transparent 100%);
  opacity: 0.6;
  animation: vs-tide 6s ease-in-out infinite alternate;
}
@keyframes vs-skysea { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes vs-shore { 0% { transform: translateY(0); } 50% { transform: translateY(5px); } 100% { transform: translateY(0); } }
@keyframes vs-town { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-3px); } }
@keyframes vs-woman { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(1deg); } 100% { transform: translateX(16px) rotate(0); } }
@keyframes vs-star { 0% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.5; transform: scale(0.9); } }
@keyframes vs-mushroom { 0% { transform: scale(1) rotate(-5deg); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(1) rotate(-3deg); } }
@keyframes vs-tide { 0% { opacity: 0.2; transform: translateY(0); } 100% { opacity: 0.8; transform: translateY(-10px); } }

/* green-chill-storm – tense overcast storm landscape */
.scn-green-chill-storm {
  background: linear-gradient(180deg, #2f4f4f 0%, #556b2f 40%, #6b8e23 60%, #3b3b0a 100%),
              radial-gradient(ellipse at 20% 30%, #f0e68c 0%, transparent 40%);
}
.scn-green-chill-storm .storm-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #696969 0%, #2f4f4f 60%, #000000 100%);
  animation: gc-storm 10s ease-in-out infinite alternate;
}
.scn-green-chill-storm .lightning {
  position: absolute; top: 10%; left: 30%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #ffff00 0%, #ffd700 50%, transparent 100%);
  filter: blur(2px);
  box-shadow: 0 0 20px 10px #ffff00;
  animation: gc-lightning 4s ease-in-out infinite;
}
.scn-green-chill-storm .tree-panting {
  position: absolute; bottom: 30%; left: 20%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3b3b0a 0%, #1a1a00 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
  animation: gc-tree 2s ease-in-out infinite alternate;
}
.scn-green-chill-storm .fence-fleeing {
  position: absolute; bottom: 28%; left: 10%; right: 10%; height: 4px;
  background: repeating-linear-gradient(90deg, #8b4513 0px, #8b4513 4px, transparent 4px, transparent 16px);
  animation: gc-fence 3s linear infinite;
}
.scn-green-chill-storm .river-raced {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 8px;
  background: linear-gradient(90deg, #4682b4 0%, #5f9ea0 50%, #4682b4 100%);
  filter: blur(1px);
  animation: gc-river 1.5s ease-in-out infinite alternate;
}
.scn-green-chill-storm .spider-web {
  position: absolute; top: 25%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle at 50% 50%, transparent 0%, transparent 30%, #ffffff 31%, #ffffff 33%, transparent 34%);
  border-radius: 50%;
  animation: gc-web 5s ease-in-out infinite;
}
.scn-green-chill-storm .house-ruins {
  position: absolute; bottom: 24%; left: 60%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #5a5a5a 0%, #2f2f2f 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.5);
  transform: skewX(-5deg);
  animation: gc-house 8s ease-in-out infinite;
}
@keyframes gc-storm { 0% { opacity: 0.3; } 50% { opacity: 0.8; } 100% { opacity: 0.4; } }
@keyframes gc-lightning { 0% { opacity: 0; } 10% { opacity: 1; } 20% { opacity: 0; } 30% { opacity: 0.8; } 40% { opacity: 0; } 100% { opacity: 0; } }
@keyframes gc-tree { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-4px) rotate(4deg); } 100% { transform: translateX(2px) rotate(-3deg); } }
@keyframes gc-fence { 0% { background-position: 0 0; } 100% { background-position: -40px 0; } }
@keyframes gc-river { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(8px) scaleY(1.5); } 100% { transform: translateX(-4px) scaleY(0.8); } }
@keyframes gc-web { 0% { transform: scale(1) rotate(0deg); opacity: 0.3; } 50% { transform: scale(1.2) rotate(15deg); opacity: 0.7; } 100% { transform: scale(0.9) rotate(-10deg); opacity: 0.4; } }
@keyframes gc-house { 0%,100% { transform: skewX(-5deg) translateY(0); } 50% { transform: skewX(-5deg) translateY(-3px); } }

/* nature-uses-yellow – calm sunlit sunset landscape */
.scn-nature-uses-yellow {
  background: linear-gradient(180deg, #ffb347 0%, #ffd700 30%, #ff8c00 60%, #8b4513 100%),
              radial-gradient(ellipse at 50% 20%, #fffacd 0%, transparent 50%);
}
.scn-nature-uses-yellow .sunset-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #ffa07a 0%, #ffb6c1 40%, transparent 100%);
  animation: ny-sky 15s ease-in-out infinite alternate;
}
.scn-nature-uses-yellow .sun {
  position: absolute; bottom: 45%; left: 50%; width: 50px; height: 50px;
  background: radial-gradient(circle, #fff8dc 0%, #ffd700 40%, #ff8c00 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 40px 20px rgba(255,215,0,0.5);
  animation: ny-sun 12s ease-in-out infinite alternate;
}
.scn-nature-uses-yellow .leaves-gossip {
  position: absolute; bottom: 30%; left: 5%; right: 5%; height: 30%;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 10px, #228b22 10px, #228b22 12px, transparent 12px, transparent 20px);
  background-size: 20px 100%;
  animation: ny-leaves 8s ease-in-out infinite;
}
.scn-nature-uses-yellow .little-stone {
  position: absolute; bottom: 15%; left: 20%; width: 16px; height: 12px;
  background: radial-gradient(ellipse at 50% 40%, #8b8682 0%, #696969 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: ny-stone 5s ease-in-out infinite;
}
.scn-nature-uses-yellow .rat-concise {
  position: absolute; bottom: 18%; right: 20%; width: 14px; height: 18px;
  background: radial-gradient(ellipse at 50% 40%, #a0522d 0%, #5c3a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ny-rat 6s ease-in-out infinite;
}
.scn-nature-uses-yellow .hills-gold {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #b8860b 0%, #daa520 50%, #8b6508 100%);
  border-radius: 50% 50% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.2);
  animation: ny-hills 20s ease-in-out infinite alternate;
}
@keyframes ny-sky { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes ny-sun { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.05); } 100% { transform: translateX(-50%) scale(0.95); } }
@keyframes ny-leaves { 0% { background-position: 0 0; } 50% { background-position: 10px 0; } 100% { background-position: 0 0; } }
@keyframes ny-stone { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(6px) rotate(20deg); } 50% { transform: translateX(12px) rotate(40deg); } 75% { transform: translateX(6px) rotate(20deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ny-rat { 0% { transform: translateX(0) scaleX(1); } 30% { transform: translateX(8px) scaleX(-1); } 60% { transform: translateX(16px) scaleX(1); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes ny-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(2px); } }

/* little-stone-ramble – calm, sunlit landscape with stone, rat, leaves */
.scn-little-stone-ramble {
  background: linear-gradient(180deg, #87CEEB 0%, #B0D4E8 40%, #E0F0FF 100%), radial-gradient(ellipse at 50% 120%, #FFF5E0 0%, transparent 60%);
}
.scn-little-stone-ramble .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #A8D8EA 0%, transparent 100%);
  animation: lsr-sky 15s ease-in-out infinite alternate;
}
.scn-little-stone-ramble .hills {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #7CA77C 0%, #4F7A4F 100%);
  border-radius: 50% 50% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,40,0,0.3);
  animation: lsr-hills 20s ease-in-out infinite alternate;
}
.scn-little-stone-ramble .stone {
  position: absolute; bottom: 28%; left: 35%; width: 50px; height: 30px;
  background: radial-gradient(ellipse at 30% 30%, #B8A898 0%, #8B7D6B 100%);
  border-radius: 40% 50% 30% 40%;
  box-shadow: 0 3px 8px rgba(0,0,0,0.3);
  animation: lsr-stone 7s ease-in-out infinite;
}
.scn-little-stone-ramble .rat {
  position: absolute; bottom: 26%; left: 48%; width: 24px; height: 14px;
  background: linear-gradient(180deg, #6B5B4F 0%, #51433A 100%);
  border-radius: 50% 50% 30% 30%;
  animation: lsr-rat 5s ease-in-out infinite;
}
.scn-little-stone-ramble .leaf-a {
  position: absolute; top: 35%; left: 20%; width: 28px; height: 12px;
  background: linear-gradient(135deg, #6B8E23 0%, #9ACD32 100%);
  border-radius: 50% 0 50% 0;
  filter: blur(0.5px);
  animation: lsr-leaf 12s linear infinite;
}
.scn-little-stone-ramble .leaf-b {
  position: absolute; top: 40%; right: 15%; width: 20px; height: 10px;
  background: linear-gradient(135deg, #8FBC8F 0%, #BDB76B 100%);
  border-radius: 0 50% 0 50%;
  filter: blur(0.5px);
  animation: lsr-leaf 15s linear infinite reverse;
}
.scn-little-stone-ramble .rays {
  position: absolute; top: 10%; left: 30%; width: 80px; height: 8px;
  background: linear-gradient(90deg, transparent, rgba(255,235,180,0.4), transparent);
  border-radius: 50%;
  filter: blur(8px);
  opacity: 0.6;
  animation: lsr-rays 6s ease-in-out infinite alternate;
}
@keyframes lsr-sky {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.85; transform: scaleY(0.98); }
}
@keyframes lsr-hills {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(2px); }
}
@keyframes lsr-stone {
  0%,100% { transform: translate(0,0) rotate(-2deg); }
  25% { transform: translate(2px,-2px) rotate(1deg); }
  50% { transform: translate(-2px,-1px) rotate(3deg); }
  75% { transform: translate(1px,2px) rotate(-1deg); }
}
@keyframes lsr-rat {
  0% { transform: translateX(0) scaleX(1); }
  25% { transform: translateX(5px) scaleX(0.95); }
  50% { transform: translateX(10px) scaleX(1); }
  75% { transform: translateX(5px) scaleX(1.05); }
  100% { transform: translateX(0) scaleX(1); }
}
@keyframes lsr-leaf {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(20px) rotate(20deg); }
  100% { transform: translateX(40px) rotate(40deg); }
}
@keyframes lsr-rays {
  0% { opacity: 0.4; transform: rotate(0deg); }
  50% { opacity: 0.7; transform: rotate(2deg); }
  100% { opacity: 0.5; transform: rotate(-2deg); }
}

/* juggler-of-day – warm dusk scene with juggler, tortoise, bee, orbs, house */
.scn-juggler-of-day {
  background: linear-gradient(180deg, #FF7F50 0%, #FFA07A 20%, #D2691E 50%, #8B4513 80%), radial-gradient(ellipse at 50% 100%, #D2691E 0%, transparent 70%);
}
.scn-juggler-of-day .dusk-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #FFB07C 0%, #FFDAB9 50%, transparent 100%);
  animation: jod-sky 18s ease-in-out infinite alternate;
}
.scn-juggler-of-day .juggler {
  position: absolute; bottom: 35%; left: 40%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2F1B0E 0%, #1A0F07 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: jod-juggler 4s ease-in-out infinite;
}
.scn-juggler-of-day .tortoise {
  position: absolute; bottom: 22%; left: 20%; width: 40px; height: 24px;
  background: radial-gradient(ellipse at 40% 40%, #6B5B4F 0%, #3E342A 100%);
  border-radius: 40% 30% 50% 30%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  animation: jod-tortoise 8s linear infinite;
}
.scn-juggler-of-day .bee-cup {
  position: absolute; bottom: 28%; right: 25%; width: 18px; height: 22px;
  background: linear-gradient(180deg, #DAA520 0%, #8B6508 100%);
  border-radius: 50% 50% 20% 20%;
  animation: jod-bee-cup 5s ease-in-out infinite;
}
.scn-juggler-of-day .orb-1 {
  position: absolute; bottom: 48%; left: 35%; width: 16px; height: 16px;
  background: radial-gradient(circle, #FFD700 0%, #FF8C00 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,215,0,0.6);
  animation: jod-orb 3s ease-in-out infinite alternate;
}
.scn-juggler-of-day .orb-2 {
  position: absolute; bottom: 52%; left: 44%; width: 14px; height: 14px;
  background: radial-gradient(circle, #FFA500 0%, #FF7F50 70%);
  border-radius: 50%;
  box-shadow: 0 0 16px 6px rgba(255,165,0,0.5);
  animation: jod-orb 2.5s ease-in-out infinite alternate-reverse;
}
.scn-juggler-of-day .orb-3 {
  position: absolute; bottom: 46%; left: 50%; width: 18px; height: 18px;
  background: radial-gradient(circle, #F4A460 0%, #D2691E 70%);
  border-radius: 50%;
  box-shadow: 0 0 24px 10px rgba(210,105,30,0.5);
  animation: jod-orb 3.5s ease-in-out infinite alternate;
}
.scn-juggler-of-day .house {
  position: absolute; bottom: 20%; right: 12%; width: 60px; height: 50px;
  background: linear-gradient(180deg, #8B4513 0%, #5C2E1A 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: jod-house 10s ease-in-out infinite;
}
.scn-juggler-of-day .bridge {
  position: absolute; bottom: 18%; left: 10%; right: 70%; height: 8px;
  background: linear-gradient(90deg, #A0522D 0%, #6B3A2A 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: jod-bridge 15s ease-in-out infinite alternate;
}
@keyframes jod-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes jod-juggler {
  0%,100% { transform: translateY(0) rotate(-2deg); }
  20% { transform: translateY(-4px) rotate(1deg); }
  40% { transform: translateY(-1px) rotate(-1deg); }
  60% { transform: translateY(-5px) rotate(2deg); }
  80% { transform: translateY(-2px) rotate(0deg); }
}
@keyframes jod-tortoise {
  0% { transform: translateX(0); }
  50% { transform: translateX(8px); }
  100% { transform: translateX(0); }
}
@keyframes jod-bee-cup {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.1); }
}
@keyframes jod-orb {
  0% { transform: translate(0,0) scale(1); opacity: 0.8; }
  50% { transform: translate(4px,-8px) scale(1.2); opacity: 1; }
  100% { transform: translate(-2px,-4px) scale(0.9); opacity: 0.9; }
}
@keyframes jod-house {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes jod-bridge {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
  100% { transform: scaleX(0.95); }
}

/* summer-lapsed-grief – calm dusk, bare tree, snowflakes, candle */
.scn-summer-lapsed-grief {
  background: linear-gradient(180deg, #4A3B5C 0%, #6B5B7A 30%, #8B7D8E 100%), radial-gradient(ellipse at 50% 0%, #6B5B7A 0%, transparent 70%);
}
.scn-summer-lapsed-grief .evening-sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #847590 0%, transparent 100%);
  animation: slg-sky 12s ease-in-out infinite alternate;
}
.scn-summer-lapsed-grief .bare-tree {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #3E2F2A 0%, #1A100D 100%);
  clip-path: polygon(50% 0%, 45% 25%, 35% 40%, 40% 55%, 30% 70%, 40% 90%, 50% 100%, 60% 90%, 70% 70%, 60% 55%, 65% 40%, 55% 25%);
  animation: slg-tree 8s ease-in-out infinite;
}
.scn-summer-lapsed-grief .snow-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #E8E0E0 0%, #C8C0C0 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.1);
}
.scn-summer-lapsed-grief .flake-a {
  position: absolute; top: 5%; left: 20%; width: 6px; height: 6px;
  background: #FFFFFF;
  border-radius: 50%;
  filter: blur(1px);
  animation: slg-flake 8s linear infinite;
}
.scn-summer-lapsed-grief .flake-b {
  position: absolute; top: 15%; right: 30%; width: 4px; height: 4px;
  background: #F0F0F0;
  border-radius: 50%;
  filter: blur(1px);
  animation: slg-flake 12s linear infinite reverse;
}
.scn-summer-lapsed-grief .window-frame {
  position: absolute; bottom: 20%; right: 15%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #5C4A3E 0%, #3A2E26 100%);
  border: 4px solid #2F2420;
  border-radius: 4%;
  box-shadow: 0 0 0 2px #1A120E;
  animation: slg-window 6s ease-in-out infinite alternate;
}
.scn-summer-lapsed-grief .candle {
  position: absolute; bottom: 25%; right: 28%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #F5DEB3 0%, #D2B48C 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 12px 4px rgba(245,222,179,0.6);
  animation: slg-candle 3s ease-in-out infinite alternate;
}
@keyframes slg-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes slg-tree {
  0%,100% { transform: rotate(0deg); }
  25% { transform: rotate(1deg) scale(1.01); }
  50% { transform: rotate(-1deg) scale(0.99); }
  75% { transform: rotate(0.5deg) scale(1); }
}
@keyframes slg-flake {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
  50% { transform: translateY(30px) rotate(180deg); opacity: 1; }
  100% { transform: translateY(60px) rotate(360deg); opacity: 0; }
}
@keyframes slg-window {
  0% { background: linear-gradient(180deg, #5C4A3E 0%, #3A2E26 100%); }
  50% { background: linear-gradient(180deg, #7B6960 0%, #4E3E36 100%); }
  100% { background: linear-gradient(180deg, #5C4A3E 0%, #3A2E26 100%); }
}
@keyframes slg-candle {
  0% { box-shadow: 0 0 10px 2px rgba(245,222,179,0.5); }
  50% { box-shadow: 0 0 20px 8px rgba(245,222,179,0.8); }
  100% { box-shadow: 0 0 12px 4px rgba(245,222,179,0.6); }
}

/* soldiers-fell-flakes – dark, overcast battlefield with ghost, flakes */
.scn-soldiers-fell-flakes {
  background: linear-gradient(180deg, #2C2C3A 0%, #3A3A4E 30%, #4A4A5E 70%, #3A3A4E 100%), radial-gradient(ellipse at 50% 100%, #2C2C3A 0%, transparent 70%);
}
.scn-soldiers-fell-flakes .overcast-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4A4A5E 0%, #2C2C3A 100%);
  animation: sff-sky 14s ease-in-out infinite alternate;
}
.scn-soldiers-fell-flakes .field {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3A3A2E 0%, #2A2A1E 100%);
  border-radius: 20% 30% 0 0 / 60% 50% 0 0;
  box-shadow: inset 0 8px 30px rgba(0,0,0,0.7);
}
.scn-soldiers-fell-flakes .soldier-silhouette {
  position: absolute; bottom: 15%; left: 30%; width: 20px; height: 40px;
  background: #1A1A1E;
  border-radius: 30% 30% 20% 20%;
  animation: sff-soldier 5s ease-in-out infinite;
}
.scn-soldiers-fell-flakes .ghost {
  position: absolute; bottom: 25%; right: 25%; width: 28px; height: 50px;
  background: linear-gradient(180deg, rgba(220,220,255,0.3) 0%, rgba(180,180,240,0.1) 100%);
  filter: blur(3px);
  border-radius: 40% 40% 20% 20%;
  animation: sff-ghost 7s ease-in-out infinite alternate;
}
.scn-soldiers-fell-flakes .flake-1 {
  position: absolute; top: 10%; left: 40%; width: 5px; height: 5px;
  background: #E0E0F0;
  border-radius: 50%;
  filter: blur(0.5px);
  animation: sff-flake 6s linear infinite;
}
.scn-soldiers-fell-flakes .flake-2 {
  position: absolute; top: 20%; left: 60%; width: 4px; height: 4px;
  background: #D0D0E0;
  border-radius: 50%;
  filter: blur(0.5px);
  animation: sff-flake 9s linear infinite reverse;
}
.scn-soldiers-fell-flakes .flake-3 {
  position: absolute; top: 5%; left: 10%; width: 6px; height: 6px;
  background: #F0F0FF;
  border-radius: 50%;
  filter: blur(0.5px);
  animation: sff-flake 7.5s linear infinite;
}
@keyframes sff-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes sff-soldier {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(0.5deg); }
}
@keyframes sff-ghost {
  0% { transform: translate(0,0) scale(1); opacity: 0.3; }
  50% { transform: translate(3px,-5px) scale(1.05); opacity: 0.6; }
  100% { transform: translate(-2px,0) scale(0.95); opacity: 0.3; }
}
@keyframes sff-flake {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.7; }
  50% { transform: translateY(40px) rotate(180deg); opacity: 1; }
  100% { transform: translateY(80px) rotate(360deg); opacity: 0; }
}

.scn-read-how-others { background: linear-gradient(180deg, #3c2a1a 0%, #5a3e28 40%, #7a5a3a 100%), radial-gradient(ellipse at 30% 70%, #b08860 0%, transparent 70%); }
.scn-read-how-others .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,.6) 0%, transparent 50%, rgba(60,30,10,.4) 100%); animation: rh-depth 14s ease-in-out infinite alternate; }
.scn-read-how-others .candle { position:absolute; bottom:18%; left:42%; width:10px; height:60px; background: linear-gradient(to top, #d4a878 0%, #f0d8b0 80%); border-radius:4px 4px 50% 50%; box-shadow: 0 0 20px 4px rgba(200,160,80,.3); animation: rh-candle 2s ease-in-out infinite; }
.scn-read-how-others .flame { position:absolute; bottom:calc(18% + 60px); left:46%; width:8px; height:20px; background: radial-gradient(circle, #ffd060 0%, #f0a030 50%, #803000 100%); border-radius:50% 50% 20% 20%; filter: blur(2px); box-shadow: 0 0 30px 10px #f0a030; animation: rh-flame 1.5s ease-in-out infinite; }
.scn-read-how-others .book { position:absolute; bottom:22%; left:25%; width:90px; height:55px; background: linear-gradient(135deg, #8b6914 0%, #a07828 40%, #c09850 100%); border-radius:4px 4px 6px 6px; box-shadow: 2px 4px 8px rgba(0,0,0,.6); transform: rotate(-3deg); animation: rh-book 10s ease-in-out infinite; }
.scn-read-how-others .book::after { content:''; position:absolute; top:15%; left:10%; width:80%; height:70%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius:2px; opacity:.45; animation: rh-text 6s ease-in-out infinite; }
.scn-read-how-others .figure { position:absolute; bottom:20%; left:32%; width:40px; height:80px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a14 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rh-figure 4s ease-in-out infinite; }
.scn-read-how-others .shelf { position:absolute; bottom:15%; left:0; right:0; height:8px; background: linear-gradient(90deg, #6a4a2a 0%, #5a3a1a 50%, #6a4a2a 100%); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: rh-shelf 12s ease-in-out infinite; }
.scn-read-how-others .page-turn { position:absolute; bottom:21%; left:56%; width:12px; height:16px; background: linear-gradient(135deg, #f0d8a0 0%, #b09060 100%); border-radius:1px; transform-origin: left center; animation: rh-page 3s ease-in-out infinite; }
@keyframes rh-depth { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .8 } }
@keyframes rh-candle { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes rh-flame { 0%,100% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.2) translateY(-2px) } }
@keyframes rh-book { 0%,100% { transform: rotate(-3deg) } 50% { transform: rotate(-2deg) translateY(-1px) } }
@keyframes rh-text { 0% { opacity: .35 } 50% { opacity: .5 } 100% { opacity: .4 } }
@keyframes rh-figure { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(1deg) } }
@keyframes rh-shelf { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes rh-page { 0% { transform: rotate(0deg) } 50% { transform: rotate(-15deg) } 100% { transform: rotate(0deg) } }

.scn-love-impossibility { background: linear-gradient(180deg, #1a1a3e 0%, #2a204a 50%, #1e1440 100%), radial-gradient(ellipse at 50% 30%, #4a3a6e 0%, transparent 70%); }
.scn-love-impossibility .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,.7) 0%, transparent 40%, rgba(20,10,40,.5) 100%); animation: li-dark 20s ease-in-out infinite alternate; }
.scn-love-impossibility .vase { position:absolute; bottom:20%; left:30%; width:26px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:6px 6px 30% 30%; box-shadow: 2px 3px 8px rgba(0,0,0,.6); animation: li-vase 8s ease-in-out infinite; }
.scn-love-impossibility .flower { position:absolute; bottom:calc(20% + 50px); left:31%; width:8px; height:30px; background: linear-gradient(to top, #5a6a3a 0%, #8a9a5a 100%); border-radius:4px; transform-origin: bottom center; animation: li-flower-stem 6s ease-in-out infinite; }
.scn-love-impossibility .flower::after { content:''; position:absolute; top:-8px; left:-8px; width:24px; height:24px; background: radial-gradient(circle, #b87878 0%, #702243 70%, #1a1a3e 100%); border-radius:50%; box-shadow: 0 0 20px 6px #702243; animation: li-flower-bloom 5s ease-in-out infinite; }
.scn-love-impossibility .bee { position:absolute; bottom:50%; left:50%; width:6px; height:10px; background: repeating-linear-gradient(45deg, #d4a878 0px, #d4a878 2px, #1a1a1a 2px, #1a1a1a 4px); border-radius:50%; box-shadow: 0 0 8px 2px rgba(212,168,120,.5); animation: li-bee 8s ease-in-out infinite; }
.scn-love-impossibility .cross { position:absolute; top:12%; left:36%; width:40px; height:20px; background: linear-gradient(90deg, transparent 0%, #4a4a2a 40%, #4a4a2a 60%, transparent 100%); border-radius:2px; transform-origin: center; animation: li-cross 15s ease-in-out infinite; }
.scn-love-impossibility .cross::before { content:''; position:absolute; left:46%; bottom:-10px; width:10px; height:20px; background: inherit; border-radius:2px; }
.scn-love-impossibility .petal-fall { position:absolute; top:20%; left:70%; width:14px; height:10px; background: radial-gradient(ellipse, #b87878 0%, #5e1a1d 100%); border-radius:50% 0% 50% 0%; transform-origin: top center; animation: li-petal 4s ease-in-out infinite; }
@keyframes li-dark { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes li-vase { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes li-flower-stem { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } }
@keyframes li-flower-bloom { 0% { transform: scale(1); opacity: .8 } 50% { transform: scale(1.1); opacity: 1 } 100% { transform: scale(.95); opacity: .85 } }
@keyframes li-bee { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(10px,-15px) rotate(-10deg) } 50% { transform: translate(-5px,-25px) rotate(5deg) } 75% { transform: translate(-15px,-10px) rotate(-5deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes li-cross { 0%,100% { opacity: .3 } 50% { opacity: .6 } }
@keyframes li-petal { 0% { transform: translateY(0) rotate(0deg); opacity: .9 } 50% { transform: translateY(40px) rotate(180deg); opacity: .5 } 100% { transform: translateY(80px) rotate(360deg); opacity: 0 } }

.scn-river-runs-sea { background: linear-gradient(180deg, #1a2a3e 0%, #2a4a6e 40%, #4a6a8e 100%), radial-gradient(ellipse at 50% 100%, #3a5a7a 0%, transparent 70%); }
.scn-river-runs-sea .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,20,.7) 0%, transparent 50%, rgba(0,20,40,.5) 100%); animation: rr-dark 18s ease-in-out infinite alternate; }
.scn-river-runs-sea .window-frame { position:absolute; bottom:30%; left:15%; width:70%; height:50%; border:6px solid #3a4a5a; border-radius:4px; background: transparent; box-shadow: inset 0 0 40px rgba(0,0,0,.5); animation: rr-frame 10s ease-in-out infinite; }
.scn-river-runs-sea .water { position:absolute; bottom:10%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #5a7a9a 0%, #3a5a7a 100%); border-radius:0 0 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.4); animation: rr-water 6s ease-in-out infinite; }
.scn-river-runs-sea .water-ripple { position:absolute; bottom:12%; left:20%; width:60%; height:6px; background: radial-gradient(circle, #8aab0a 0%, transparent 70%); opacity:.3; animation: rr-ripple 3s ease-in-out infinite; }
.scn-river-runs-sea .figure { position:absolute; bottom:30%; left:45%; width:24px; height:50px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rr-figure 5s ease-in-out infinite; }
.scn-river-runs-sea .cross { position:absolute; top:10%; right:15%; width:30px; height:15px; background: linear-gradient(90deg, transparent 0%, #6a5a3a 40%, #6a5a3a 60%, transparent 100%); border-radius:2px; animation: rr-cross 12s ease-in-out infinite; }
.scn-river-runs-sea .cross::before { content:''; position:absolute; left:44%; bottom:-8px; width:8px; height:15px; background: inherit; border-radius:2px; }
.scn-river-runs-sea .shadow-bar { position:absolute; top:0; left:0; right:0; height:15%; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 100%); animation: rr-shadow 20s ease-in-out infinite alternate; }
@keyframes rr-dark { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes rr-frame { 0%,100% { border-color: #3a4a5a } 50% { border-color: #4a5a6a } }
@keyframes rr-water { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.05) translateY(-2px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes rr-ripple { 0% { transform: translateX(0); opacity: .2 } 50% { transform: translateX(10px); opacity: .4 } 100% { transform: translateX(0); opacity: .2 } }
@keyframes rr-figure { 0%,100% { transform: rotate(0deg) } 25% { transform: rotate(3deg) } 50% { transform: rotate(-2deg) } 75% { transform: rotate(2deg) } }
@keyframes rr-cross { 0%,100% { opacity: .2 } 50% { opacity: .5 } }
@keyframes rr-shadow { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }

.scn-wife-rises-to-requirement { background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 40%, #b0a080 100%), radial-gradient(ellipse at 70% 30%, #fff4e0 0%, transparent 70%); }
.scn-wife-rises-to-requirement .bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,240,200,.2) 0%, transparent 40%, rgba(200,180,140,.3) 100%); animation: wr-warm 25s ease-in-out infinite alternate; }
.scn-wife-rises-to-requirement .sun-rays { position:absolute; top:0; left:0; width:100%; height:100%; background: radial-gradient(ellipse at 60% 20%, #fff4d0 0%, transparent 60%); opacity:.5; animation: wr-sun 15s ease-in-out infinite; }
.scn-wife-rises-to-requirement .figure { position:absolute; bottom:20%; left:35%; width:28px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr-figure 6s ease-in-out infinite; }
.scn-wife-rises-to-requirement .table { position:absolute; bottom:18%; left:25%; width:50%; height:10px; background: linear-gradient(90deg, #8a6a4a 0%, #a08060 50%, #8a6a4a 100%); border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: wr-table 12s ease-in-out infinite; }
.scn-wife-rises-to-requirement .flower { position:absolute; bottom:28%; left:40%; width:10px; height:20px; background: radial-gradient(circle at top, #ffb878 0%, #c08050 100%); border-radius:50%; box-shadow: 0 0 15px 5px rgba(255,184,120,.4); animation: wr-flower 5s ease-in-out infinite; }
.scn-wife-rises-to-requirement .bee { position:absolute; bottom:40%; left:55%; width:6px; height:8px; background: repeating-linear-gradient(45deg, #d4a878 0px, #d4a878 2px, #1a1a1a 2px, #1a1a1a 4px); border-radius:50%; animation: wr-bee 7s ease-in-out infinite; }
.scn-wife-rises-to-requirement .petal { position:absolute; top:45%; left:30%; width:12px; height:6px; background: radial-gradient(ellipse, #f0d0a0 0%, #d0b080 100%); border-radius:50%; transform-origin: center; animation: wr-petal 4s ease-in-out infinite; }
@keyframes wr-warm { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes wr-sun { 0% { opacity: .4; transform: scale(1) } 50% { opacity: .6; transform: scale(1.05) } 100% { opacity: .5; transform: scale(1) } }
@keyframes wr-figure { 0%,100% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(2deg) } }
@keyframes wr-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes wr-flower { 0% { transform: scale(1); opacity: .8 } 50% { transform: scale(1.08); opacity: 1 } 100% { transform: scale(.95); opacity: .85 } }
@keyframes wr-bee { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(8px,-10px) rotate(-8deg) } 50% { transform: translate(-3px,-20px) rotate(4deg) } 75% { transform: translate(-10px,-5px) rotate(-4deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes wr-petal { 0% { transform: translateY(0) rotate(0deg); opacity: .9 } 50% { transform: translateY(30px) rotate(180deg); opacity: .5 } 100% { transform: translateY(60px) rotate(360deg); opacity: 0 } }

/* a-passing-tune – warm interior */
.scn-a-passing-tune { background: linear-gradient(180deg, #3a2a1a 0%, #1e140a 100%), radial-gradient(ellipse at 50% 100%, #5a3a22 0%, transparent 70%); }
.scn-a-passing-tune .pt-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a0e 0%, #1a1008 100%); }
.scn-a-passing-tune .pt-wall { position:absolute; bottom:40%; left:10%; right:10%; height:60%; background: linear-gradient(180deg, #5a3a22 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.6); }
.scn-a-passing-tune .pt-window { position:absolute; top:15%; left:35%; width:30%; height:35%; background: linear-gradient(180deg, #f0c878 0%, #d0a050 100%); border: 6px solid #3a2a1a; border-radius: 6px; box-shadow: 0 0 40px 12px #d0a050, inset 0 0 30px rgba(255,200,100,.3); animation: pt-window 8s ease-in-out infinite; }
.scn-a-passing-tune .pt-books { position:absolute; bottom:30%; left:15%; width:20%; height:10%; background: linear-gradient(90deg, #6a4a2a 0%, #8a5a3a 30%, #7a4a2a 60%, #6a3a1a 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: pt-books 12s ease-in-out infinite; }
.scn-a-passing-tune .pt-figure { position:absolute; bottom:30%; left:55%; width:14%; height:22%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pt-figure 6s ease-in-out infinite; }
.scn-a-passing-tune .pt-lantern { position:absolute; bottom:15%; left:12%; width:4%; padding-bottom:4%; background: radial-gradient(circle, #f0c040 0%, #c08020 70%); border-radius: 50%; box-shadow: 0 0 30px 10px #f0c040, 0 0 60px 20px rgba(240,192,64,.4); animation: pt-lantern 4s ease-in-out infinite alternate; }
.scn-a-passing-tune .pt-berry { position:absolute; bottom:8%; left:50%; width:2%; height:2%; background: radial-gradient(circle, #c8553d 0%, #a0461a 100%); border-radius: 50%; box-shadow: 0 0 8px 2px #a0461a; animation: pt-berry 10s linear infinite; }
@keyframes pt-window { 0% { opacity:.9; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:.85; transform: scale(.98); } }
@keyframes pt-books { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pt-figure { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes pt-lantern { 0% { box-shadow: 0 0 20px 8px #f0c040,0 0 40px 15px rgba(240,192,64,.3); opacity:.9; } 50% { box-shadow: 0 0 40px 15px #f0c040,0 0 80px 25px rgba(240,192,64,.5); opacity:1; } 100% { box-shadow: 0 0 25px 10px #f0c040,0 0 50px 18px rgba(240,192,64,.35); opacity:.9; } }
@keyframes pt-berry { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(10px) scale(1.1); } 50% { transform: translateX(20px) scale(.9); } 75% { transform: translateX(10px) scale(1.05); } 100% { transform: translateX(0) scale(1); } }

/* sovereign-anguish – tense shadows */
.scn-sovereign-anguish { background: linear-gradient(180deg, #1a1a3e 0%, #0e0e2a 100%), radial-gradient(ellipse at 50% 100%, #2a2a5e 0%, transparent 70%); }
.scn-sovereign-anguish .sa-bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a3e 0%, #10102a 100%); }
.scn-sovereign-anguish .sa-door { position:absolute; bottom:20%; left:30%; width:40%; height:70%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border: 4px solid #2a1a2a; border-radius: 4px 0 0 4px; box-shadow: inset 0 0 30px rgba(0,0,0,.8); animation: sa-door 8s ease-in-out infinite; }
.scn-sovereign-anguish .sa-figure { position:absolute; bottom:20%; left:20%; width:10%; height:20%; background: linear-gradient(180deg, #2a1a2a 0%, #0e0e1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sa-figure 3s ease-in-out infinite; }
.scn-sovereign-anguish .sa-window { position:absolute; top:10%; left:55%; width:25%; height:30%; background: linear-gradient(180deg, #4a6a8a 0%, #2a4a6a 100%); border: 4px solid #1a2a3a; border-radius: 4px; box-shadow: 0 0 20px 6px #2a4a6a; animation: sa-window 12s ease-in-out infinite; }
.scn-sovereign-anguish .sa-shadows { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,20,.6) 100%); animation: sa-shadows 15s ease-in-out infinite; }
.scn-sovereign-anguish .sa-wave { position:absolute; bottom:20%; left:0; right:0; height:10%; background: linear-gradient(180deg, rgba(40,60,100,.3) 0%, transparent 100%); border-radius: 50% 50% 0 0; filter: blur(4px); animation: sa-wave 20s linear infinite; }
@keyframes sa-door { 0%,100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(1.02); } }
@keyframes sa-figure { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(2px) rotate(1deg); } 50% { transform: translateY(-1px) rotate(0); } 75% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes sa-window { 0% { opacity:.6; box-shadow: 0 0 15px 4px #2a4a6a; } 50% { opacity:.9; box-shadow: 0 0 30px 10px #4a6a8a; } 100% { opacity:.7; box-shadow: 0 0 20px 6px #2a4a6a; } }
@keyframes sa-shadows { 0%,100% { opacity:.4; } 50% { opacity:.8; } }
@keyframes sa-wave { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-2px) scaleY(1.05); } 50% { transform: translateY(1px) scaleY(.95); } 75% { transform: translateY(-1px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }

/* letter-dispatched – tense desk */
.scn-letter-dispatched { background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%), radial-gradient(ellipse at 50% 100%, #3a2a3a 0%, transparent 70%); }
.scn-letter-dispatched .ld-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%); }
.scn-letter-dispatched .ld-desk { position:absolute; bottom:15%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.7); }
.scn-letter-dispatched .ld-paper { position:absolute; bottom:30%; left:35%; width:25%; height:18%; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: ld-paper 5s ease-in-out infinite; }
.scn-letter-dispatched .ld-inkpot { position:absolute; bottom:28%; left:62%; width:5%; padding-bottom:5%; background: radial-gradient(circle, #3a2a2a 0%, #1a0e0e 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.6); animation: ld-inkpot 9s ease-in-out infinite; }
.scn-letter-dispatched .ld-quill { position:absolute; bottom:36%; left:68%; width:2%; height:15%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 50% 50% 20% 20% / 20% 20% 80% 80%; transform: rotate(20deg); transform-origin: bottom center; animation: ld-quill 7s ease-in-out infinite; }
.scn-letter-dispatched .ld-candle { position:absolute; bottom:26%; left:15%; width:4%; height:12%; background: linear-gradient(180deg, #d0a060 0%, #a08040 100%); border-radius: 2px 2px 6px 6px; box-shadow: 0 0 20px 6px #d0a060; animation: ld-candle 4s ease-in-out infinite alternate; }
.scn-letter-dispatched .ld-lock { position:absolute; bottom:56%; left:22%; width:4%; height:4%; background: radial-gradient(circle, #a0461a 0%, #702a0e 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 8px 2px #702a0e; animation: ld-lock 10s ease-in-out infinite; }
@keyframes ld-paper { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } }
@keyframes ld-inkpot { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(1px) scale(1.02); } 50% { transform: translateX(-1px) scale(.98); } 75% { transform: translateX(1px) scale(1.01); } 100% { transform: translateX(0) scale(1); } }
@keyframes ld-quill { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes ld-candle { 0% { box-shadow: 0 0 20px 6px #d0a060,0 0 40px 12px rgba(208,160,96,.3); opacity:.8; } 50% { box-shadow: 0 0 35px 12px #d0a060,0 0 70px 20px rgba(208,160,96,.5); opacity:1; } 100% { box-shadow: 0 0 25px 8px #d0a060,0 0 50px 15px rgba(208,160,96,.35); opacity:.9; } }
@keyframes ld-lock { 0%,100% { transform: scale(1); box-shadow: 0 0 8px 2px #702a0e; } 50% { transform: scale(1.1); box-shadow: 0 0 12px 4px #a0461a; } }

/* item-letter-dispatched – warm desk */
.scn-item-letter-dispatched { background: linear-gradient(180deg, #3a2a1a 0%, #1e140e 100%), radial-gradient(ellipse at 50% 100%, #5a3a2a 0%, transparent 70%); }
.scn-item-letter-dispatched .il-bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #1e140e 100%); }
.scn-item-letter-dispatched .il-desk { position:absolute; bottom:15%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.5); }
.scn-item-letter-dispatched .il-paper { position:absolute; bottom:30%; left:35%; width:25%; height:18%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 2px; transform: rotate(-2deg); box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: il-paper 10s ease-in-out infinite; }
.scn-item-letter-dispatched .il-inkpot { position:absolute; bottom:28%; left:62%; width:5%; padding-bottom:5%; background: radial-gradient(circle, #4a3a2a 0%, #2a1a0e 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: il-inkpot 15s ease-in-out infinite; }
.scn-item-letter-dispatched .il-quill { position:absolute; bottom:36%; left:68%; width:2%; height:15%; background: linear-gradient(180deg, #a08a6a 0%, #7a6a4a 100%); border-radius: 50% 50% 20% 20% / 20% 20% 80% 80%; transform: rotate(15deg); transform-origin: bottom center; animation: il-quill 12s ease-in-out infinite; }
.scn-item-letter-dispatched .il-candle { position:absolute; bottom:26%; left:15%; width:4%; height:12%; background: linear-gradient(180deg, #f0c878 0%, #d0a050 100%); border-radius: 2px 2px 6px 6px; box-shadow: 0 0 30px 12px #f0c878; animation: il-candle 6s ease-in-out infinite alternate; }
.scn-item-letter-dispatched .il-lock { position:absolute; bottom:56%; left:22%; width:4%; height:4%; background: radial-gradient(circle, #c8553d 0%, #8a3a2a 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 10px 3px #8a3a2a; animation: il-lock 14s ease-in-out infinite; }
@keyframes il-paper { 0%,100% { transform: rotate(-2deg) translateY(0) scale(1); } 50% { transform: rotate(-1deg) translateY(-1px) scale(1.005); } }
@keyframes il-inkpot { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(.5px) scale(1.01); } 50% { transform: translateX(-.5px) scale(.99); } 75% { transform: translateX(1px) scale(1.005); } 100% { transform: translateX(0) scale(1); } }
@keyframes il-quill { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(17deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes il-candle { 0% { box-shadow: 0 0 30px 12px #f0c878,0 0 60px 20px rgba(240,200,120,.3); opacity:.9; } 50% { box-shadow: 0 0 50px 20px #f0c878,0 0 100px 30px rgba(240,200,120,.5); opacity:1; } 100% { box-shadow: 0 0 35px 14px #f0c878,0 0 70px 22px rgba(240,200,120,.35); opacity:.9; } }
@keyframes il-lock { 0%,100% { transform: scale(1) rotate(0); box-shadow: 0 0 10px 3px #8a3a2a; } 50% { transform: scale(1.05) rotate(2deg); box-shadow: 0 0 15px 5px #c8553d; } }

.scn-pedigree-of-honey { background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 30%, #FDF5E6 60%, #FAFAD2 100%), radial-gradient(ellipse at 50% 0%, #FFF8DC 0%, transparent 60%); }
.scn-pedigree-of-honey .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 40%, transparent 100%); animation: poh-sky 15s ease-in-out infinite alternate; }
.scn-pedigree-of-honey .meadow { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #7CCD7C 0%, #228B22 40%, #006400 100%); border-radius: 30% 40% 0 0 / 50% 60% 0 0; box-shadow: inset 0 10px 30px rgba(0,100,0,.3); animation: poh-meadow 12s ease-in-out infinite alternate; }
.scn-pedigree-of-honey .bobolink { position:absolute; top:25%; left:30%; width:24px; height:16px; background: radial-gradient(ellipse at 60% 40%, #F5DEB3 0%, #8B4513 100%); border-radius: 50% 50% 40% 40%; transform: rotate(15deg); animation: poh-bird 5s ease-in-out infinite; }
.scn-pedigree-of-honey .clover { position:absolute; bottom:25%; left:20%; width:30px; height:30px; background: radial-gradient(circle at 50% 60%, #98FB98 0%, #3CB371 60%, #2E8B57 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 0 8px #228B22; animation: poh-clover 8s ease-in-out infinite alternate; }
.scn-pedigree-of-honey .bee-1 { position:absolute; top:40%; left:10%; width:14px; height:10px; background: linear-gradient(180deg, #FFD700 0%, #8B4513 40%, #FFD700 70%, #8B4513 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(255,215,0,.5); animation: poh-bee-1 6s ease-in-out infinite; }
.scn-pedigree-of-honey .bee-2 { position:absolute; top:50%; right:15%; width:12px; height:8px; background: linear-gradient(180deg, #FFD700 0%, #8B4513 40%, #FFD700 70%, #8B4513 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(255,215,0,.5); animation: poh-bee-2 7s ease-in-out infinite 1s; }
.scn-pedigree-of-honey .sun { position:absolute; top:8%; left:70%; width:60px; height:60px; background: radial-gradient(circle, #FFF8DC 0%, #FFD700 40%, #FFA500 100%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(255,215,0,.4), 0 0 80px 40px rgba(255,215,0,.2); animation: poh-sun 20s ease-in-out infinite alternate; }
.scn-pedigree-of-honey .pollen { position:absolute; top:55%; left:45%; width:4px; height:4px; background: #FFD700; border-radius: 50%; box-shadow: 8px -6px 0 #FFD700, -12px 4px 0 #FFD700, 16px 8px 0 #FFD700, -8px -10px 0 #FFD700, 22px -2px 0 #FFD700; animation: poh-pollen 4s ease-in-out infinite; }
@keyframes poh-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes poh-meadow { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-4px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes poh-bird { 0% { transform: rotate(15deg) translateX(0) } 25% { transform: rotate(20deg) translateX(8px) } 50% { transform: rotate(10deg) translateX(16px) } 75% { transform: rotate(18deg) translateX(8px) } 100% { transform: rotate(15deg) translateX(0) } }
@keyframes poh-clover { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.1) rotate(5deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes poh-bee-1 { 0% { transform: translate(0,0) rotate(0deg) } 20% { transform: translate(20px,-10px) rotate(10deg) } 40% { transform: translate(40px,5px) rotate(-5deg) } 60% { transform: translate(20px,15px) rotate(5deg) } 80% { transform: translate(40px,-5px) rotate(-10deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes poh-bee-2 { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(-15px,-12px) rotate(8deg) } 50% { transform: translate(-30px,8px) rotate(-4deg) } 75% { transform: translate(-15px,12px) rotate(6deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes poh-sun { 0% { transform: scale(.95) opacity(.9) } 50% { transform: scale(1.05) opacity(1) } 100% { transform: scale(.95) opacity(.9) } }
@keyframes poh-pollen { 0% { transform: translate(0,0) scale(1) opacity(.8) } 50% { transform: translate(5px,-10px) scale(1.5) opacity(1) } 100% { transform: translate(-5px,5px) scale(1) opacity(.8) } }

.scn-sunset-mystery { background: linear-gradient(180deg, #FF4500 0%, #FF8C00 20%, #FFD700 40%, #8B008B 60%, #191970 80%, #000033 100%), radial-gradient(ellipse at 50% 30%, #FFD700 0%, transparent 50%); }
.scn-sunset-mystery .sky-gradient { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, transparent 0%, rgba(255,215,0,.3) 40%, rgba(255,69,0,.5) 100%); animation: sm-sky 20s ease-in-out infinite alternate; }
.scn-sunset-mystery .sun-disc { position:absolute; top:25%; left:50%; width:80px; height:80px; background: radial-gradient(circle, #FFF8DC 0%, #FFD700 30%, #FF8C00 60%, transparent 100%); border-radius: 50%; transform: translateX(-50%); box-shadow: 0 0 60px 30px rgba(255,140,0,.4), 0 0 120px 60px rgba(255,69,0,.2); animation: sm-sun 25s ease-in-out infinite alternate; }
.scn-sunset-mystery .merchantman { position:absolute; bottom:25%; left:15%; width:100px; height:40px; background: linear-gradient(180deg, #2F1B14 0%, #1A0F0A 100%); border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: sm-ship 15s ease-in-out infinite; }
.scn-sunset-mystery .crag { position:absolute; bottom:20%; right:10%; width:80px; height:200px; background: linear-gradient(180deg, #2F1B14 0%, #1A0F0A 40%, #0D0806 100%); border-radius: 60% 20% 10% 10% / 40% 30% 20% 20%; transform: skewX(-10deg); box-shadow: inset 0 10px 20px rgba(0,0,0,.6); animation: sm-crag 30s ease-in-out infinite alternate; }
.scn-sunset-mystery .flag { position:absolute; bottom:50%; left:30%; width:40px; height:20px; border-radius: 0 0 10px 10px; }
.scn-sunset-mystery .flag.amber { background: linear-gradient(90deg, #FFBF00 0%, #FF8C00 100%); transform: rotate(-20deg); box-shadow: 0 0 20px 5px rgba(255,191,0,.5); animation: sm-flag-a 8s ease-in-out infinite alternate; }
.scn-sunset-mystery .flag.purple { bottom:45%; left:55%; width:35px; height:18px; background: linear-gradient(90deg, #800080 0%, #4B0082 100%); transform: rotate(15deg); box-shadow: 0 0 20px 5px rgba(128,0,128,.4); animation: sm-flag-p 10s ease-in-out infinite alternate 2s; }
.scn-sunset-mystery .wave-front { position:absolute; bottom:18%; left:0; right:0; height:40px; background: linear-gradient(180deg, rgba(255,140,0,.3) 0%, rgba(139,0,139,.4) 50%, rgba(25,25,112,.6) 100%); border-radius: 50% 50% 0 0; animation: sm-wave 12s ease-in-out infinite alternate; }
.scn-sunset-mystery .ship-light { position:absolute; bottom:30%; left:18%; width:6px; height:6px; background: #FFD700; border-radius: 50%; box-shadow: 0 0 16px 8px rgba(255,215,0,.6), 0 0 32px 16px rgba(255,215,0,.3); animation: sm-light 4s ease-in-out infinite alternate; }
@keyframes sm-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes sm-sun { 0% { transform: translateX(-50%) translateY(0) scale(1) } 50% { transform: translateX(-50%) translateY(-8px) scale(1.05) } 100% { transform: translateX(-50%) translateY(0) scale(1) } }
@keyframes sm-ship { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(10px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(20px) translateY(0) rotate(0deg) } 75% { transform: translateX(10px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes sm-crag { 0% { transform: skewX(-10deg) translateY(0) } 50% { transform: skewX(-10deg) translateY(-5px) } 100% { transform: skewX(-10deg) translateY(0) } }
@keyframes sm-flag-a { 0% { transform: rotate(-20deg) scaleY(1) } 50% { transform: rotate(-15deg) scaleY(1.1) } 100% { transform: rotate(-20deg) scaleY(1) } }
@keyframes sm-flag-p { 0% { transform: rotate(15deg) scaleY(1) } 50% { transform: rotate(10deg) scaleY(1.15) } 100% { transform: rotate(15deg) scaleY(1) } }
@keyframes sm-wave { 0% { transform: translateY(0) } 50% { transform: translateY(-6px) } 100% { transform: translateY(0) } }
@keyframes sm-light { 0% { box-shadow: 0 0 16px 8px rgba(255,215,0,.6), 0 0 32px 16px rgba(255,215,0,.3); opacity:.8 } 50% { box-shadow: 0 0 24px 12px rgba(255,215,0,.8), 0 0 48px 24px rgba(255,215,0,.4); opacity:1 } 100% { box-shadow: 0 0 16px 8px rgba(255,215,0,.6), 0 0 32px 16px rgba(255,215,0,.3); opacity:.9 } }

.scn-presentiment-shadow { background: linear-gradient(180deg, #2F1B0E 0%, #4A2F1A 20%, #6B4226 40%, #3D2B1F 60%, #1A110A 80%, #0D0806 100%), radial-gradient(ellipse at 50% 0%, #6B4226 0%, transparent 70%); }
.scn-presentiment-shadow .sky-dusk { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #4A2F1A 0%, #6B4226 30%, transparent 100%); animation: ps-sky 18s ease-in-out infinite alternate; }
.scn-presentiment-shadow .lawn { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2E4A2E 0%, #1A2A1A 40%, #0D1A0D 100%); border-radius: 20% 30% 0 0 / 40% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: ps-lawn 14s ease-in-out infinite alternate; }
.scn-presentiment-shadow .shadow { position:absolute; bottom:20%; left:5%; width:60%; height:12px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.6) 0%, transparent 70%); border-radius: 50%; transform: rotate(-5deg); animation: ps-shadow 20s ease-in-out infinite alternate; }
.scn-presentiment-shadow .butterfly { position:absolute; top:30%; right:20%; width:20px; height:12px; background: radial-gradient(ellipse at 40% 50%, #8B4513 0%, #D2691E 40%, transparent 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: -8px 0 0 #8B4513, 8px 0 0 #8B4513; animation: ps-butterfly 5s ease-in-out infinite; }
.scn-presentiment-shadow .buttercup { position:absolute; bottom:30%; left:25%; width:16px; height:16px; background: radial-gradient(circle at 50% 60%, #FFD700 0%, #FFA500 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 8px 2px rgba(255,215,0,.4); animation: ps-buttercup 7s ease-in-out infinite alternate; }
.scn-presentiment-shadow .rose { position:absolute; bottom:35%; right:30%; width:14px; height:18px; background: radial-gradient(ellipse at 50% 40%, #C8553D 0%, #A0461A 60%, #5E1A1D 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; box-shadow: 0 0 6px 2px rgba(200,85,61,.3); animation: ps-rose 10s ease-in-out infinite alternate; }
.scn-presentiment-shadow .grass-blade { position:absolute; bottom:15%; left:40%; width:3px; height:40px; background: linear-gradient(180deg, #3A5A3A 0%, #1A2A1A 100%); border-radius: 0 0 50% 50%; transform: rotate(15deg); transform-origin: bottom center; animation: ps-grass 4s ease-in-out infinite alternate; }
.scn-presentiment-shadow .wind-ripple { position:absolute; top:55%; left:0; right:0; height:20px; background: linear-gradient(90deg, transparent 0%, rgba(107,66,38,.3) 50%, transparent 100%); filter: blur(4px); animation: ps-wind 8s ease-in-out infinite; }
@keyframes ps-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes ps-lawn { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes ps-shadow { 0% { transform: rotate(-5deg) scaleX(1) opacity:.6 } 50% { transform: rotate(-2deg) scaleX(1.2) opacity:.8 } 100% { transform: rotate(-5deg) scaleX(1) opacity:.6 } }
@keyframes ps-butterfly { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 20% { transform: translate(15px,-10px) rotate(15deg) scale(1.1) } 40% { transform: translate(30px,5px) rotate(-10deg) scale(1) } 60% { transform: translate(15px,15px) rotate(10deg) scale(.9) } 80% { transform: translate(30px,-5px) rotate(-15deg) scale(1.05) } 100% { transform: translate(0,0) rotate(0deg) scale(1) } }
@keyframes ps-buttercup { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.15) rotate(10deg) } 100% { transform: scale(1) rotate(0deg) } }
@keyframes ps-rose { 0% { transform: scale(1) } 50% { transform: scale(1.1) translateY(-2px) } 100% { transform: scale(1) } }
@keyframes ps-grass { 0% { transform: rotate(15deg) } 50% { transform: rotate(25deg) } 100% { transform: rotate(15deg) } }
@keyframes ps-wind { 0% { transform: translateX(-20px) opacity:.3 } 50% { transform: translateX(20px) opacity:.6 } 100% { transform: translateX(-20px) opacity:.3 } }

.scn-summers-gentle-clock { background: linear-gradient(180deg, #B0C4DE 0%, #D3D3D3 30%, #A9A9A9 60%, #808080 100%), radial-gradient(ellipse at 50% 50%, #D3D3D3 0%, transparent 70%); }
.scn-summers-gentle-clock .sky-overcast { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #B0C4DE 0%, #D3D3D3 40%, transparent 100%); animation: sgc-sky 25s ease-in-out infinite alternate; }
.scn-summers-gentle-clock .clock-face { position:absolute; top:50%; left:50%; width:80px; height:80px; background: radial-gradient(circle, #F5F5F5 0%, #D3D3D3 60%, #A9A9A9 100%); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 4px 8px rgba(0,0,0,.3), inset 0 2px 4px rgba(255,255,255,.5); animation: sgc-clock 20s ease-in-out infinite; }
.scn-summers-gentle-clock .pendulum { position:absolute; top:60%; left:50%; width:4px; height:60px; background: linear-gradient(180deg, #A9A9A9 0%, #808080 100%); transform-origin: top center; border-radius: 0 0 50% 50%; animation: sgc-pendulum 3s ease-in-out infinite alternate; }
.scn-summers-gentle-clock .cricket { position:absolute; bottom:25%; left:20%; width:10px; height:6px; background: linear-gradient(90deg, #556B2F 0%, #2E4A1A 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: sgc-cricket 5s ease-in-out infinite; }
.scn-summers-gentle-clock .hemlock { position:absolute; bottom:15%; right:10%; width:40px; height:120px; background: linear-gradient(180deg, #2E4A1A 0%, #1A2A0D 60%, #0D1A06 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); animation: sgc-hemlock 30s ease-in-out infinite alternate; }
.scn-summers-gentle-clock .seed { position:absolute; bottom:40%; left:40%; width:6px; height:10px; background: radial-gradient(ellipse at 50% 40%, #A0522D 0%, #5C3317 100%); border-radius: 50% 50% 30% 30%; animation: sgc-seed 8s ease-in-out infinite; }
.scn-summers-gentle-clock .leaf { position:absolute; top:30%; right:25%; width:20px; height:10px; background: linear-gradient(180deg, #8B4513 0%, #A0522D 60%, #5C3317 100%); border-radius: 0 50% 50% 50% / 0 60% 60% 60%; transform: rotate(30deg); animation: sgc-leaf 12s ease-in-out infinite alternate; }
.scn-summers-gentle-clock .ground-moss { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #4A6B4A 0%, #2E4A2E 50%, #1A2A1A 100%); border-radius: 30% 40% 0 0 / 50% 60% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.4); animation: sgc-moss 18s ease-in-out infinite alternate; }
@keyframes sgc-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes sgc-clock { 0% { transform: translate(-50%, -50%) rotate(0deg) scale(1) } 50% { transform: translate(-50%, -50%) rotate(5deg) scale(1.02) } 100% { transform: translate(-50%, -50%) rotate(0deg) scale(1) } }
@keyframes sgc-pendulum { 0% { transform: rotate(-15deg) } 50% { transform: rotate(0deg) } 100% { transform: rotate(15deg) } }
@keyframes sgc-cricket { 0% { transform: translate(0,0) rotate(0deg) } 20% { transform: translate(5px,-2px) rotate(5deg) } 40% { transform: translate(10px,0) rotate(0deg) } 60% { transform: translate(5px,2px) rotate(-5deg) } 80% { transform: translate(10px,-1px) rotate(3deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes sgc-hemlock { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) translateY(-2px) } 100% { transform: scaleY(1) } }
@keyframes sgc-seed { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(8px,-12px) rotate(20deg) } 50% { transform: translate(16px,-24px) rotate(40deg) } 75% { transform: translate(8px,-12px) rotate(20deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes sgc-leaf { 0% { transform: rotate(30deg) translateY(0) } 50% { transform: rotate(35deg) translateY(-5px) } 100% { transform: rotate(30deg) translateY(0) } }
@keyframes sgc-moss { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }

.scn-from-chrysalis { background: linear-gradient(180deg, #6b7b8a 0%, #4a5a6a 40%, #2a3a4a 100%), radial-gradient(ellipse at 50% 80%, #5a6a7a 0%, transparent 60%); }
.scn-from-chrysalis .ch-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #8a9baa 0%, #6a7a8a 100%); animation: ch-sky 20s ease-in-out infinite alternate; }
.scn-from-chrysalis .ch-sea { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); border-radius:60% 40% 0 0; animation: ch-sea 8s ease-in-out infinite; }
.scn-from-chrysalis .ch-chrysalis { position:absolute; bottom:35%; left:50%; width:60px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:40% 40% 50% 50% / 60% 60% 40% 40%; animation: ch-chrysalis 6s ease-in-out infinite; }
.scn-from-chrysalis .ch-figure { position:absolute; bottom:38%; left:50%; width:20px; height:50px; transform:translateX(-50%); background: #1a1a2a; border-radius:50% 50% 40% 40% / 70% 70% 30% 30%; animation: ch-figure 4s ease-in-out infinite; }
.scn-from-chrysalis .ch-wings { position:absolute; bottom:42%; left:50%; width:60px; height:30px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, rgba(180,200,220,.6) 0%, transparent 70%); filter: blur(4px); animation: ch-wings 3s ease-in-out infinite; }
.scn-from-chrysalis .ch-headland { position:absolute; bottom:25%; left:15%; width:120px; height:50px; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius:30% 70% 0 0 / 60% 40% 0 0; animation: ch-headland 18s ease-in-out infinite alternate; }
.scn-from-chrysalis .ch-house { position:absolute; bottom:30%; left:25%; width:30px; height:25px; background: #5a4a3a; border-radius:4px; box-shadow: 0 0 10px 2px rgba(200,180,160,.3); animation: ch-house 6s ease-in-out infinite; }
.scn-from-chrysalis .ch-cipher { position:absolute; top:20%; right:20%; width:16px; height:16px; background: radial-gradient(circle, #c8b090 0%, transparent 70%); border-radius:50%; animation: ch-cipher 10s linear infinite; }
@keyframes ch-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes ch-sea { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes ch-chrysalis { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.05); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes ch-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg); } 25% { transform: translateX(-45%) translateY(-5px) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-10px) rotate(2deg); } 75% { transform: translateX(-55%) translateY(-5px) rotate(0deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); } }
@keyframes ch-wings { 0% { transform: translateX(-50%) scaleX(1); opacity: .6; } 50% { transform: translateX(-50%) scaleX(1.2); opacity: .8; } 100% { transform: translateX(-50%) scaleX(1); opacity: .6; } }
@keyframes ch-headland { 0% { transform: translateX(0); } 50% { transform: translateX(-5px); } 100% { transform: translateX(0); } }
@keyframes ch-house { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
@keyframes ch-cipher { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.2); } 100% { transform: rotate(360deg) scale(1); } }

.scn-died-for-beauty { background: linear-gradient(135deg, #2a1a1a 0%, #1a1212 40%, #1a1a1a 100%), radial-gradient(ellipse at 50% 50%, #3a2a2a 0%, transparent 80%); }
.scn-died-for-beauty .db-wall-left { position:absolute; left:0; top:0; bottom:0; width:25%; background: linear-gradient(90deg, #3a2a2a 0%, #1a1212 100%); box-shadow: inset -10px 0 20px rgba(0,0,0,.5); animation: db-wall 20s ease-in-out infinite alternate; }
.scn-died-for-beauty .db-wall-right { position:absolute; right:0; top:0; bottom:0; width:25%; background: linear-gradient(90deg, #1a1212 0%, #3a2a2a 100%); box-shadow: inset 10px 0 20px rgba(0,0,0,.5); animation: db-wall 20s ease-in-out infinite alternate reverse; }
.scn-died-for-beauty .db-figure-left { position:absolute; bottom:15%; left:28%; width:40px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: db-figure-left 6s ease-in-out infinite; }
.scn-died-for-beauty .db-figure-right { position:absolute; bottom:15%; right:28%; width:40px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: db-figure-right 7s ease-in-out infinite; }
.scn-died-for-beauty .db-moss { position:absolute; bottom:12%; left:35%; right:35%; height:20px; background: radial-gradient(ellipse at 50% 50%, #5a7a4a 0%, transparent 70%); filter: blur(3px); animation: db-moss 12s ease-in-out infinite; }
.scn-died-for-beauty .db-eye { position:absolute; top:30%; left:50%; width:30px; height:20px; transform:translateX(-50%); background: radial-gradient(circle, #c8a080 0%, #5a3a2a 70%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(200,160,128,.4); animation: db-eye 4s ease-in-out infinite; }
.scn-died-for-beauty .db-candle { position:absolute; top:25%; left:70%; width:8px; height:40px; background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%); border-radius:4px; transform:rotate(5deg); animation: db-candle 3s ease-in-out infinite; }
@keyframes db-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes db-figure-left { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-3px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes db-figure-right { 0% { transform: translateY(0) rotate(1deg); } 25% { transform: translateY(-2px) rotate(-1deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes db-moss { 0% { transform: scaleY(1); opacity: .5; } 50% { transform: scaleY(1.1); opacity: .7; } 100% { transform: scaleY(1); opacity: .5; } }
@keyframes db-eye { 0% { transform: translateX(-50%) scale(1); box-shadow: 0 0 30px 10px rgba(200,160,128,.4); } 50% { transform: translateX(-50%) scale(1.1); box-shadow: 0 0 50px 15px rgba(200,160,128,.6); } 100% { transform: translateX(-50%) scale(1); box-shadow: 0 0 30px 10px rgba(200,160,128,.4); } }
@keyframes db-candle { 0% { transform: rotate(5deg) scaleY(1); opacity: .8; } 25% { transform: rotate(8deg) scaleY(1.05); opacity: .9; } 50% { transform: rotate(2deg) scaleY(.95); opacity: .7; } 75% { transform: rotate(6deg) scaleY(1.02); opacity: .85; } 100% { transform: rotate(5deg) scaleY(1); opacity: .8; } }

.scn-placed-her-hair { background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #0a0a1a 100%), radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 70%); }
.scn-placed-her-hair .ph-back { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 50%, #2a2a3a 100%); animation: ph-back 15s ease-in-out infinite alternate; }
.scn-placed-her-hair .ph-bed { position:absolute; bottom:10%; left:20%; right:20%; height:30%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.4); }
.scn-placed-her-hair .ph-head { position:absolute; bottom:25%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: ph-head 8s ease-in-out infinite; }
.scn-placed-her-hair .ph-hair { position:absolute; bottom:30%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #5a4a3a 0%, transparent 70%); border-radius:50% 50% 0 0; filter: blur(2px); animation: ph-hair 5s ease-in-out infinite; }
.scn-placed-her-hair .ph-hand-left { position:absolute; bottom:20%; left:35%; width:16px; height:30px; background: #2a1a1a; border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph-hand-left 6s ease-in-out infinite; }
.scn-placed-her-hair .ph-hand-right { position:absolute; bottom:20%; right:35%; width:16px; height:30px; background: #2a1a1a; border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ph-hand-right 6s ease-in-out infinite; }
.scn-placed-her-hair .ph-swimmer-a { position:absolute; top:15%; left:30%; width:18px; height:26px; background: #2a3a4a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(20deg); animation: ph-swimmer 4s ease-in-out infinite; }
.scn-placed-her-hair .ph-swimmer-b { position:absolute; top:12%; right:30%; width:18px; height:26px; background: #1a2a3a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-15deg); animation: ph-swimmer 4s ease-in-out infinite reverse; }
.scn-placed-her-hair .ph-spar { position:absolute; top:18%; left:20%; right:20%; height:6px; background: #3a3a2a; border-radius:3px; transform-origin: center; animation: ph-spar 5s ease-in-out infinite; }
@keyframes ph-back { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes ph-head { 0% { transform: translateX(-50%) rotate(-1deg) scale(1); } 25% { transform: translateX(-50%) rotate(1deg) scale(1.01); } 50% { transform: translateX(-50%) rotate(-1deg) scale(1); } 75% { transform: translateX(-50%) rotate(1deg) scale(1.01); } 100% { transform: translateX(-50%) rotate(-1deg) scale(1); } }
@keyframes ph-hair { 0% { transform: translateX(-50%) rotate(-2deg) scaleY(1); } 50% { transform: translateX(-50%) rotate(2deg) scaleY(1.1); } 100% { transform: translateX(-50%) rotate(-2deg) scaleY(1); } }
@keyframes ph-hand-left { 0% { transform: translate(0,0) rotate(-5deg); } 25% { transform: translate(3px,-2px) rotate(0deg); } 50% { transform: translate(0,0) rotate(5deg); } 75% { transform: translate(-3px,-2px) rotate(0deg); } 100% { transform: translate(0,0) rotate(-5deg); } }
@keyframes ph-hand-right { 0% { transform: translate(0,0) rotate(5deg); } 25% { transform: translate(-3px,-2px) rotate(0deg); } 50% { transform: translate(0,0) rotate(-5deg); } 75% { transform: translate(3px,-2px) rotate(0deg); } 100% { transform: translate(0,0) rotate(5deg); } }
@keyframes ph-swimmer { 0% { transform: rotate(20deg) translateY(0); } 25% { transform: rotate(15deg) translateY(-4px); } 50% { transform: rotate(25deg) translateY(0); } 75% { transform: rotate(20deg) translateY(-4px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes ph-spar { 0% { transform: rotate(0deg) scaleX(1); } 25% { transform: rotate(3deg) scaleX(.98); } 50% { transform: rotate(0deg) scaleX(1); } 75% { transform: rotate(-3deg) scaleX(.98); } 100% { transform: rotate(0deg) scaleX(1); } }

.scn-death-kindly-stopped { background: linear-gradient(180deg, #8a4a3a 0%, #6a3a2a 30%, #3a2a3a 60%, #1a1a2a 100%), radial-gradient(ellipse at 80% 20%, #a85a3a 0%, transparent 60%); }
.scn-death-kindly-stopped .dk-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #9a5a4a 0%, #6a3a2a 50%, #3a2a3a 100%); animation: dk-sky 20s ease-in-out infinite alternate; }
.scn-death-kindly-stopped .dk-sun { position:absolute; top:10%; right:15%; width:60px; height:60px; background: radial-gradient(circle, #d8a060 0%, #8a5030 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(200,120,40,.5); animation: dk-sun 15s ease-in-out infinite; }
.scn-death-kindly-stopped .dk-carriage { position:absolute; bottom:30%; left:20%; width:80px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1212 100%); border-radius:10% 10% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,.6); animation: dk-carriage 12s ease-in-out infinite; }
.scn-death-kindly-stopped .dk-horse-fore { position:absolute; bottom:30%; left:8%; width:30px; height:50px; background: #2a1a1a; border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dk-horse 3s ease-in-out infinite; }
.scn-death-kindly-stopped .dk-horse-aft { position:absolute; bottom:30%; left:18%; width:30px; height:45px; background: #1a1212; border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dk-horse 3s ease-in-out infinite reverse; }
.scn-death-kindly-stopped .dk-grain { position:absolute; bottom:35%; left:50%; right:10%; height:20px; background: repeating-linear-gradient(90deg, #5a4a2a 0px, #5a4a2a 3px, transparent 3px, transparent 8px); animation: dk-grain 8s ease-in-out infinite; }
.scn-death-kindly-stopped .dk-children { position:absolute; bottom:38%; left:55%; width:12px; height:20px; background: #2a1a1a; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: dk-children 5s ease-in-out infinite; }
.scn-death-kindly-stopped .dk-grave { position:absolute; bottom:12%; left:40%; right:40%; height:30px; background: radial-gradient(ellipse at 50% 0%, #3a2a2a 0%, #1a1212 100%); border-radius:50% 50% 0 0; animation: dk-grave 25s ease-in-out infinite; }
@keyframes dk-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes dk-sun { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-10px) scale(1.05); } 100% { transform: translateX(0) scale(1); } }
@keyframes dk-carriage { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(1deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(10px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dk-horse { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-4px) rotate(0deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-4px) rotate(0deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes dk-grain { 0% { background-position: 0 0; } 50% { background-position: -20px 0; } 100% { background-position: 0 0; } }
@keyframes dk-children { 0% { transform: translateY(0) scale(1); } 25% { transform: translateY(-3px) scale(1.05); } 50% { transform: translateY(0) scale(1); } 75% { transform: translateY(-3px) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes dk-grave { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); } }

.scn-light-exists-in-spring { background: linear-gradient(180deg, #fddb92 0%, #d1b06a 30%, #9e7a4a 60%, #5e4a2a 100%), radial-gradient(ellipse at 50% 0%, #ffe4b5 0%, transparent 60%); }
.scn-light-exists-in-spring .sky-dawn { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #ffdeb0 0%, #e8c878 40%, #b89850 100%); animation: les-sky 14s ease-in-out infinite alternate; }
.scn-light-exists-in-spring .sun-glow { position:absolute; top:8%; left:35%; width:120px; height:120px; background: radial-gradient(circle, #fff5e0 0%, #ffe8b0 30%, #ffd878 60%, transparent 80%); border-radius:50%; filter: blur(8px); animation: les-sun 10s ease-in-out infinite alternate; }
.scn-light-exists-in-spring .hills-spring { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #7a9a5a 0%, #4a6a3a 50%, #2a4a2a 100%); border-radius: 50% 40% 0 0 / 60% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.3); animation: les-hills 20s ease-in-out infinite; }
.scn-light-exists-in-spring .lawn { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a8a3a 0%, #3a5a2a 50%, #1a3a1a 100%); border-radius: 30% 20% 0 0; animation: les-lawn 15s ease-in-out infinite; }
.scn-light-exists-in-spring .flower { position:absolute; bottom:10%; width:14px; height:14px; background: radial-gradient(circle, #ffb8a0 0%, #d87850 60%, #a04a30 100%); border-radius: 50%; box-shadow: 0 0 10px 2px rgba(255,184,160,.4); }
.scn-light-exists-in-spring .flower-1 { left:30%; animation: les-flower1 6s ease-in-out infinite; }
.scn-light-exists-in-spring .flower-2 { right:25%; width:10px; height:10px; background: radial-gradient(circle, #ffd0b0 0%, #e08060 60%, #b05030 100%); animation: les-flower2 7s ease-in-out infinite 1s; }
.scn-light-exists-in-spring .frost-sparkle { position:absolute; bottom:35%; left:50%; width:4px; height:4px; background: #fff; border-radius:50%; box-shadow: 0 0 6px 2px rgba(255,255,255,.6), 0 0 16px 4px rgba(200,220,255,.3); animation: les-sparkle 4s ease-in-out infinite; }
.scn-light-exists-in-spring .light-ray { position:absolute; top:0; left:30%; width:2px; height:60%; background: linear-gradient(180deg, rgba(255,240,200,.5) 0%, rgba(255,240,200,.2) 50%, transparent 100%); transform: rotate(10deg); transform-origin: top center; animation: les-ray 9s ease-in-out infinite alternate; }
.scn-light-exists-in-spring .bird-silhouette { position:absolute; top:15%; right:20%; width:30px; height:12px; border-bottom: 3px solid #3a2a1a; border-radius: 0 0 50% 50%; transform: rotate(-5deg); animation: les-bird 8s ease-in-out infinite; }
@keyframes les-sky { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes les-sun { 0% { transform: translateY(0) scale(1); opacity:.9 } 50% { transform: translateY(-6px) scale(1.05); opacity:1 } 100% { transform: translateY(-2px) scale(.98); opacity:.95 } }
@keyframes les-hills { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-3px) scaleX(1.01) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes les-lawn { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes les-flower1 { 0%,100% { transform: scale(1) rotate(0) } 50% { transform: scale(1.1) rotate(8deg) } }
@keyframes les-flower2 { 0%,100% { transform: scale(1) rotate(0) } 50% { transform: scale(1.15) rotate(-6deg) } }
@keyframes les-sparkle { 0%,100% { opacity:.3; transform: scale(1) } 50% { opacity:1; transform: scale(2) } }
@keyframes les-ray { 0% { opacity:.2; transform: rotate(8deg) } 50% { opacity:.5; transform: rotate(12deg) } 100% { opacity:.3; transform: rotate(10deg) } }
@keyframes les-bird { 0%,100% { transform: translateX(0) rotate(-5deg) } 50% { transform: translateX(12px) rotate(3deg) } }

.scn-summer-went-late { background: linear-gradient(180deg, #4a4a6a 0%, #6a5a4a 30%, #8a7a5a 60%, #a09070 100%), radial-gradient(ellipse at 50% 0%, #b0a080 0%, transparent 70%); }
.scn-summer-went-late .dusk-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #5a5a7a 0%, #7a6a5a 40%, #9a8a6a 100%); animation: swl-sky 16s ease-in-out infinite alternate; }
.scn-summer-went-late .gentle-clock { position:absolute; top:20%; left:50%; width:60px; height:60px; transform:translateX(-50%); border: 3px solid #5a4a3a; border-radius:50%; background: radial-gradient(circle, #6a5a4a 0%, #4a3a2a 70%); box-shadow: 0 0 16px 4px rgba(90,74,58,.4); animation: swl-clock 12s ease-in-out infinite; }
.scn-summer-went-late .gentle-clock::after { content:''; position:absolute; top:50%; left:50%; width:2px; height:20px; background: #8a7a5a; transform-origin: bottom center; transform: translate(-50%,-100%); border-radius:2px; animation: swl-pendulum 4s ease-in-out infinite; }
.scn-summer-went-late .horizon-line { position:absolute; bottom:40%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent 0%, #8a7a5a 30%, #9a8a6a 70%, transparent 100%); animation: swl-horizon 20s ease-in-out infinite; }
.scn-summer-went-late .cricket { position:absolute; bottom:20%; width:8px; height:4px; background: #3a3a2a; border-radius:0 0 50% 50%; transform:rotate(0); }
.scn-summer-went-late .cricket-1 { left:25%; animation: swl-cricket1 3s ease-in-out infinite; }
.scn-summer-went-late .cricket-2 { right:30%; animation: swl-cricket2 3.5s ease-in-out infinite 1.5s; }
.scn-summer-went-late .bird-returning { position:absolute; top:10%; width:24px; height:10px; border-bottom: 2px solid #4a3a2a; border-radius: 0 0 50% 50%; }
.scn-summer-went-late .bird-r-1 { left:15%; animation: swl-bird1 9s ease-in-out infinite; }
.scn-summer-went-late .bird-r-2 { right:10%; animation: swl-bird2 11s ease-in-out infinite 3s; }
.scn-summer-went-late .home-light { position:absolute; bottom:30%; left:65%; width:8px; height:8px; background: #ffd080; border-radius:50%; box-shadow: 0 0 12px 3px rgba(255,208,128,.5), 0 0 24px 6px rgba(255,208,128,.2); animation: swl-home 4s ease-in-out infinite alternate; }
.scn-summer-went-late .pedulum-swing { position:absolute; top:50%; left:50%; width:2px; height:24px; background: #6a5a4a; transform-origin: top center; transform: translate(-50%,-100%) rotate(0); border-radius:2px; animation: swl-swing 3s ease-in-out infinite; }
@keyframes swl-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes swl-clock { 0%,100% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } }
@keyframes swl-pendulum { 0%,100% { transform: translate(-50%,-100%) rotate(-8deg) } 50% { transform: translate(-50%,-100%) rotate(8deg) } }
@keyframes swl-horizon { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes swl-cricket1 { 0%,100% { transform: translateX(0) rotate(0) } 30% { transform: translateX(4px) rotate(-5deg) } 60% { transform: translateX(2px) rotate(5deg) } }
@keyframes swl-cricket2 { 0%,100% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-3px) rotate(4deg) } 60% { transform: translateX(-1px) rotate(-4deg) } }
@keyframes swl-bird1 { 0% { transform: translateX(0) rotate(-3deg) } 50% { transform: translateX(30px) rotate(2deg) } 100% { transform: translateX(0) rotate(-3deg) } }
@keyframes swl-bird2 { 0% { transform: translateX(0) rotate(2deg) } 50% { transform: translateX(-25px) rotate(-3deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes swl-home { 0% { opacity:.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.7; transform: scale(1.05) } }
@keyframes swl-swing { 0%,100% { transform: translate(-50%,-100%) rotate(-10deg) } 50% { transform: translate(-50%,-100%) rotate(10deg) } }

.scn-sacrament-summer-days { background: linear-gradient(180deg, #d4a060 0%, #b08050 30%, #8a6030 60%, #5a4020 100%), radial-gradient(ellipse at 50% 30%, #e0b870 0%, transparent 70%); }
.scn-sacrament-summer-days .haze-bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(200,160,80,.3) 0%, rgba(160,120,60,.2) 50%, rgba(120,80,40,.3) 100%); filter: blur(12px); animation: ssd-haze 18s ease-in-out infinite alternate; }
.scn-sacrament-summer-days .sacred-light { position:absolute; top:5%; left:30%; width:150px; height:200px; background: radial-gradient(ellipse at 50% 0%, rgba(255,220,150,.4) 0%, rgba(255,200,100,.2) 40%, transparent 70%); transform: rotate(5deg); filter: blur(6px); animation: ssd-light 10s ease-in-out infinite alternate; }
.scn-sacrament-summer-days .child-silhouette { position:absolute; bottom:20%; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ssd-child 7s ease-in-out infinite; }
.scn-sacrament-summer-days .bee { position:absolute; top:30%; width:10px; height:6px; background: linear-gradient(90deg, #3a2a1a 0%, #c8a040 40%, #3a2a1a 60%, #c8a040 100%); border-radius: 50%; }
.scn-sacrament-summer-days .bee-1 { left:20%; animation: ssd-bee1 5s ease-in-out infinite; }
.scn-sacrament-summer-days .bee-2 { right:25%; animation: ssd-bee2 6s ease-in-out infinite 2s; }
.scn-sacrament-summer-days .grape-cluster { position:absolute; bottom:35%; left:15%; width:16px; height:20px; background: radial-gradient(circle at 40% 30%, #7a4a6a 0%, #5a2a4a 60%, #3a1a2a 100%); border-radius: 50% 50% 30% 30%; animation: ssd-grape 8s ease-in-out infinite; }
.scn-sacrament-summer-days .bread-form { position:absolute; bottom:25%; right:20%; width:24px; height:16px; background: linear-gradient(180deg, #c8a060 0%, #a08040 60%, #7a5a30 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: ssd-bread 9s ease-in-out infinite; }
.scn-sacrament-summer-days .timid-leaf { position:absolute; bottom:45%; left:50%; width:8px; height:12px; background: linear-gradient(180deg, #6a8a3a 0%, #4a6a2a 100%); border-radius: 0 50% 50% 0; transform-origin: bottom left; animation: ssd-leaf 5s ease-in-out infinite; }
.scn-sacrament-summer-days .altar-glow { position:absolute; bottom:30%; left:50%; width:30px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(255,200,100,.3) 0%, transparent 70%); filter: blur(4px); animation: ssd-altar 7s ease-in-out infinite alternate; }
@keyframes ssd-haze { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes ssd-light { 0% { opacity:.4; transform: rotate(3deg) } 50% { opacity:.7; transform: rotate(6deg) } 100% { opacity:.5; transform: rotate(4deg) } }
@keyframes ssd-child { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(6px) rotate(3deg) } }
@keyframes ssd-bee1 { 0%,100% { transform: translate(0,0) rotate(0) } 25% { transform: translate(10px,-8px) rotate(5deg) } 50% { transform: translate(20px,-4px) rotate(-3deg) } 75% { transform: translate(30px,-10px) rotate(4deg) } }
@keyframes ssd-bee2 { 0%,100% { transform: translate(0,0) rotate(0) } 25% { transform: translate(-12px,-6px) rotate(-4deg) } 50% { transform: translate(-24px,-2px) rotate(3deg) } 75% { transform: translate(-36px,-8px) rotate(-5deg) } }
@keyframes ssd-grape { 0%,100% { transform: scale(1) } 50% { transform: scale(1.08) } }
@keyframes ssd-bread { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ssd-leaf { 0%,100% { transform: rotate(-10deg) translate(0,0) } 50% { transform: rotate(10deg) translate(3px,-2px) } }
@keyframes ssd-altar { 0% { opacity:.4; transform: translateX(-50%) scale(1) } 50% { opacity:.7; transform: translateX(-50%) scale(1.1) } 100% { opacity:.5; transform: translateX(-50%) scale(1.05) } }

.scn-aurora-paints-north { background: linear-gradient(180deg, #1a1a3e 0%, #2a2a5e 20%, #3a3a6e 40%, #2a3a5a 60%, #1a2a3a 100%), radial-gradient(ellipse at 50% 80%, #4a5a7a 0%, transparent 70%); }
.scn-aurora-paints-north .night-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 40%, #2a2a5e 100%); animation: apn-sky 20s ease-in-out infinite alternate; }
.scn-aurora-paints-north .aurora-curtain { position:absolute; top:10%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, rgba(80,200,120,.3) 0%, rgba(40,160,200,.2) 30%, rgba(120,80,200,.15) 60%, transparent 100%); filter: blur(8px); border-radius: 50% 50% 0 0; animation: apn-aurora 14s ease-in-out infinite alternate; }
.scn-aurora-paints-north .moon-crescent { position:absolute; top:6%; right:15%; width:30px; height:30px; background: radial-gradient(circle at 60% 50%, #e0e0c0 0%, #c0c0a0 40%, transparent 50%); border-radius:50%; box-shadow: 0 0 20px 4px rgba(200,200,180,.3), 0 0 40px 8px rgba(200,200,180,.1); animation: apn-moon 18s ease-in-out infinite; }
.scn-aurora-paints-north .mountain-range { position:absolute; bottom:30%; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a3a5a 0%, #2a2a4a 40%, #1a1a3a 100%); border-radius: 30% 50% 0 0 / 40% 60% 0 0; clip-path: polygon(0% 40%, 10% 20%, 20% 35%, 30% 10%, 40% 30%, 50% 15%, 60% 30%, 70% 5%, 80% 25%, 90% 15%, 100% 30%, 100% 100%, 0% 100%); animation: apn-mountains 22s ease-in-out infinite; }
.scn-aurora-paints-north .hemlock { position:absolute; bottom:0; width:12px; height:40px; background: linear-gradient(180deg, #2a4a2a 0%, #1a3a1a 50%, #0a2a0a 100%); border-radius: 20% 20% 0 0; }
.scn-aurora-paints-north .hemlock-1 { left:20%; transform-origin: bottom center; animation: apn-hemlock1 8s ease-in-out infinite; }
.scn-aurora-paints-north .hemlock-2 { right:25%; width:10px; height:34px; transform-origin: bottom center; animation: apn-hemlock2 9s ease-in-out infinite 2s; }
.scn-aurora-paints-north .fire-ember { position:absolute; bottom:20%; left:35%; width:6px; height:6px; background: #ff8040; border-radius:50%; box-shadow: 0 0 8px 2px rgba(255,128,64,.5), 0 0 16px 4px rgba(255,128,64,.2); animation: apn-ember 4s ease-in-out infinite; }
.scn-aurora-paints-north .dusk-crawl { position:absolute; bottom:15%; left:0; right:0; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(10,10,20,.6) 60%, rgba(5,5,15,.8) 100%); animation: apn-dusk 30s ease-in-out infinite alternate; }
.scn-aurora-paints-north .solitude-shadow { position:absolute; bottom:25%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, rgba(5,5,15,.5) 0%, transparent 60%); animation: apn-shadow 12s ease-in-out infinite; }
@keyframes apn-sky { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes apn-aurora { 0% { opacity:.3; transform: translateY(0) scaleX(1) } 50% { opacity:.6; transform: translateY(-4px) scaleX(1.05) } 100% { opacity:.4; transform: translateY(-2px) scaleX(.98) } }
@keyframes apn-moon { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } }
@keyframes apn-mountains { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes apn-hemlock1 { 0%,100% { transform: rotate(0) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.02) } }
@keyframes apn-hemlock2 { 0%,100% { transform: rotate(0) scaleY(1) } 50% { transform: rotate(-3deg) scaleY(1.03) } }
@keyframes apn-ember { 0%,100% { transform: translate(0,0) scale(1); opacity:.6 } 25% { transform: translate(2px,-4px) scale(1.2); opacity:1 } 50% { transform: translate(-1px,-8px) scale(.9); opacity:.8 } 75% { transform: translate(1px,-12px) scale(1.1); opacity:.4 } }
@keyframes apn-dusk { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes apn-shadow { 0%,100% { opacity:.3; transform: translateX(-50%) scale(1) } 50% { opacity:.5; transform: translateX(-50%) scale(1.05) } }

/* Scene 1 - identification-past-midnight */
.scn-identification-past-midnight {
  background: linear-gradient(180deg, #0a0a2e 0%, #12124a 40%, #1a1a52 60%, #0a0a2e 100%),
              radial-gradient(ellipse at 50% 30%, #2a2a6e 0%, transparent 60%);
}
.scn-identification-past-midnight .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #101040 0%, transparent 100%);
  animation: id1-sky 15s ease-in-out infinite alternate;
}
.scn-identification-past-midnight .moon {
  position: absolute; top: 8%; left: 65%; width: 50px; height: 50px;
  background: radial-gradient(circle, #d0d0ff 0%, #a0a0d0 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(160,160,220,0.5);
  animation: id1-moon 8s ease-in-out infinite alternate;
}
.scn-identification-past-midnight .stars {
  position: absolute; top: 5%; left: 5%; width: 90%; height: 40%;
  background: radial-gradient(2px 2px at 20% 30%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 70% 10%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 40% 60%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 85% 50%, #fff 0%, transparent 100%),
              radial-gradient(2px 2px at 10% 80%, #fff 0%, transparent 100%);
  background-size: 20px 20px;
  animation: id1-stars 6s ease-in-out infinite alternate;
}
.scn-identification-past-midnight .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: id1-ground 12s ease-in-out infinite alternate;
}
.scn-identification-past-midnight .figure {
  position: absolute; bottom: 28%; left: 42%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: id1-figure 5s ease-in-out infinite;
}
.scn-identification-past-midnight .lamp {
  position: absolute; bottom: 30%; left: 55%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #3a3a1a 0%, #1a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: id1-lamp 3s ease-in-out infinite alternate;
}
@keyframes id1-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes id1-moon {
  0% { transform: translateY(0); box-shadow: 0 0 30px 5px rgba(160,160,220,0.4); }
  50% { transform: translateY(-5px); box-shadow: 0 0 50px 15px rgba(200,200,255,0.6); }
  100% { transform: translateY(3px); box-shadow: 0 0 35px 8px rgba(160,160,220,0.45); }
}
@keyframes id1-stars {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}
@keyframes id1-ground {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes id1-figure {
  0% { transform: translateX(0) rotate(-2deg); }
  30% { transform: translateX(8px) rotate(1deg); }
  60% { transform: translateX(16px) rotate(-2deg); }
  100% { transform: translateX(24px) rotate(0deg); }
}
@keyframes id1-lamp {
  0% { opacity: 0.8; background: #2a2a0a; }
  50% { opacity: 1; background: #4a4a1a; }
  100% { opacity: 0.85; background: #2a2a0a; }
}

/* Scene 2 - speaker-bears-cup */
.scn-speaker-bears-cup {
  background: linear-gradient(180deg, #ffcc88 0%, #ffb060 20%, #d08040 50%, #604020 100%),
              radial-gradient(ellipse at 30% 100%, #ffddaa 0%, transparent 60%);
}
.scn-speaker-bears-cup .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #ffbb77 0%, #ffaa55 40%, transparent 100%);
  animation: id2-sky 20s ease-in-out infinite alternate;
}
.scn-speaker-bears-cup .sun {
  position: absolute; bottom: 42%; left: 15%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffeeaa 0%, #ffd68a 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,200,100,0.6);
  animation: id2-sun 25s ease-in-out infinite alternate;
}
.scn-speaker-bears-cup .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #a08050 0%, #705030 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: id2-ground 15s ease-in-out infinite alternate;
}
.scn-speaker-bears-cup .woman {
  position: absolute; bottom: 30%; left: 30%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: id2-walk 6s ease-in-out infinite;
}
.scn-speaker-bears-cup .boy {
  position: absolute; bottom: 30%; left: 40%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: id2-walk 6s ease-in-out infinite 1.5s;
}
.scn-speaker-bears-cup .cup {
  position: absolute; bottom: 35%; left: 55%; width: 24px; height: 20px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: id2-cup 4s ease-in-out infinite alternate;
}
.scn-speaker-bears-cup .shadows {
  position: absolute; bottom: 30%; left: 20%; width: 50%; height: 8px;
  background: linear-gradient(90deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  filter: blur(3px);
  animation: id2-shadows 20s ease-in-out infinite alternate;
}
@keyframes id2-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes id2-sun {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(20px) scale(1.05); }
  100% { transform: translateX(-10px) scale(0.95); }
}
@keyframes id2-ground {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes id2-walk {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(5px) rotate(0deg); }
  50% { transform: translateX(10px) rotate(2deg); }
  75% { transform: translateX(15px) rotate(0deg); }
  100% { transform: translateX(20px) rotate(-2deg); }
}
@keyframes id2-cup {
  0% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-3px) rotate(0deg); }
  100% { transform: translateY(0) rotate(3deg); }
}
@keyframes id2-shadows {
  0% { transform: scaleX(0.8); opacity: 0.5; }
  50% { transform: scaleX(1.2); opacity: 0.8; }
  100% { transform: scaleX(0.9); opacity: 0.6; }
}

/* Scene 3 - hope-is-thing-with-feathers */
.scn-hope-is-thing-with-feathers {
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0f0 30%, #f0e68c 70%, #ffd700 100%),
              radial-gradient(ellipse at 50% 20%, #fffacd 0%, transparent 50%);
}
.scn-hope-is-thing-with-feathers .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #add8e6 0%, #e0f0ff 100%);
  animation: id3-sky 18s ease-in-out infinite alternate;
}
.scn-hope-is-thing-with-feathers .sun {
  position: absolute; top: 15%; left: 70%; width: 70px; height: 70px;
  background: radial-gradient(circle, #fff8b0 0%, #ffdb58 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(255,200,50,0.5);
  animation: id3-sun 12s ease-in-out infinite alternate;
}
.scn-hope-is-thing-with-feathers .cloud {
  position: absolute; top: 25%; left: 10%; width: 120px; height: 30px;
  background: radial-gradient(ellipse, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.2) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: id3-cloud 30s linear infinite;
}
.scn-hope-is-thing-with-feathers .branch {
  position: absolute; bottom: 35%; left: 30%; width: 120px; height: 10px;
  background: linear-gradient(90deg, #5a3a1a 0%, #8a6a3a 50%, #5a3a1a 100%);
  border-radius: 30%;
  transform: rotate(-10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: id3-branch 8s ease-in-out infinite alternate;
}
.scn-hope-is-thing-with-feathers .bird {
  position: absolute; bottom: 50%; left: 35%; width: 30px; height: 20px;
  background: radial-gradient(ellipse, #d2691e 0%, #8b4513 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: id3-bird 2s ease-in-out infinite;
}
.scn-hope-is-thing-with-feathers .feather {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #ffe4b5 0%, #f5deb3 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  filter: blur(1px);
  animation: id3-feather 4s ease-in-out infinite;
}
@keyframes id3-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes id3-sun {
  0% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(255,200,50,0.4); }
  50% { transform: scale(1.08); box-shadow: 0 0 100px 40px rgba(255,200,50,0.6); }
  100% { transform: scale(0.96); box-shadow: 0 0 70px 25px rgba(255,200,50,0.45); }
}
@keyframes id3-cloud {
  0% { transform: translateX(0); }
  100% { transform: translateX(150vw); }
}
@keyframes id3-branch {
  0% { transform: rotate(-12deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes id3-bird {
  0% { transform: translateY(0) rotate(-5deg); }
  25% { transform: translateY(-6px) rotate(0deg); }
  50% { transform: translateY(0) rotate(5deg); }
  75% { transform: translateY(-4px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes id3-feather {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
  50% { transform: translateY(-10px) rotate(10deg); opacity: 1; }
  100% { transform: translateY(0) rotate(-5deg); opacity: 0.9; }
}

/* Scene 4 - soul-imperial-friend */
.scn-soul-imperial-friend {
  background: linear-gradient(180deg, #1a0a0a 0%, #3a1a1a 30%, #5a2a1a 60%, #3a1a1a 100%),
              radial-gradient(ellipse at 50% 80%, #8a3a1a 0%, transparent 60%);
}
.scn-soul-imperial-friend .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a0a0a 0%, #4a1a0a 100%);
  animation: id4-bg 10s ease-in-out infinite alternate;
}
.scn-soul-imperial-friend .fire {
  position: absolute; bottom: 20%; left: 10%; width: 40px; height: 70px;
  background: radial-gradient(ellipse at 50% 100%, #ff8c00 0%, #c8553d 40%, transparent 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 60px 20px rgba(200,85,61,0.6);
  animation: id4-fire 2s ease-in-out infinite alternate;
}
.scn-soul-imperial-friend .figure {
  position: absolute; bottom: 30%; left: 45%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: id4-figure 5s ease-in-out infinite;
}
.scn-soul-imperial-friend .eye {
  position: absolute; bottom: 55%; left: 48%; width: 12px; height: 8px;
  background: radial-gradient(circle, #ffcc88 0%, #c8553d 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(200,85,61,0.8);
  animation: id4-eye 3s ease-in-out infinite alternate;
}
.scn-soul-imperial-friend .train {
  position: absolute; bottom: 15%; left: 5%; width: 90%; height: 20px;
  background: linear-gradient(90deg, #2a1a1a 0%, #1a0a0a 50%, #2a1a1a 100%);
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: id4-train 8s linear infinite;
}
.scn-soul-imperial-friend .scalpel {
  position: absolute; bottom: 45%; left: 60%; width: 30px; height: 4px;
  background: #a0a0a0;
  border-radius: 2px;
  transform: rotate(30deg);
  box-shadow: 0 0 8px 2px rgba(160,160,160,0.5);
  animation: id4-scalpel 4s ease-in-out infinite alternate;
}
@keyframes id4-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes id4-fire {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.2) translateY(-5px); }
  100% { transform: scaleY(0.9) translateY(2px); }
}
@keyframes id4-figure {
  0% { transform: translateY(0) rotate(-3deg); }
  30% { transform: translateY(-3px) rotate(0deg); }
  60% { transform: translateY(0) rotate(3deg); }
  100% { transform: translateY(-2px) rotate(0deg); }
}
@keyframes id4-eye {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.9; }
  50% { transform: scaleX(1.3) scaleY(0.7); opacity: 1; }
  100% { transform: scaleX(0.8) scaleY(1.1); opacity: 0.8; }
}
@keyframes id4-train {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
@keyframes id4-scalpel {
  0% { transform: rotate(20deg) scaleX(1); }
  50% { transform: rotate(40deg) scaleX(1.2); }
  100% { transform: rotate(25deg) scaleX(0.9); }
}

/* thimble-grown-heavy */
.scn-thimble-grown-heavy { background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 50%, #2a1a0e 100%), radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 70%); }
.scn-thimble-grown-heavy .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%); }
.scn-thimble-grown-heavy .table-top { position:absolute; bottom:20%; left:5%; right:5%; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); animation: th-table 10s ease-in-out infinite alternate; }
.scn-thimble-grown-heavy .thimble { position:absolute; bottom:28%; left:30%; width:24px; height:32px; background: radial-gradient(ellipse at 50% 30%, #a0a0b0 0%, #505060 70%, #303040 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 4px 6px rgba(0,0,0,0.5); animation: th-thimble 4s ease-in-out infinite; }
.scn-thimble-grown-heavy .book { position:absolute; bottom:26%; left:55%; width:50px; height:36px; background: linear-gradient(180deg, #3a5a3a 0%, #1a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 2px 8px rgba(0,0,0,0.5); transform: rotate(-3deg); animation: th-book 6s ease-in-out infinite; }
.scn-thimble-grown-heavy .candle { position:absolute; bottom:34%; left:45%; width:8px; height:28px; background: linear-gradient(180deg, #d0a060 0%, #a07030 60%, #604020 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px rgba(200,150,80,0.4); animation: th-candle 3s ease-in-out infinite alternate; }
.scn-thimble-grown-heavy .needle { position:absolute; bottom:32%; left:35%; width:2px; height:20px; background: linear-gradient(180deg, #c0c0d0 0%, #808090 100%); border-radius: 50%; transform: rotate(30deg); animation: th-needle 7s ease-in-out infinite alternate; }
.scn-thimble-grown-heavy .figure-shadow { position:absolute; bottom:10%; left:15%; width:60px; height:90px; background: radial-gradient(ellipse at 50% 30%, rgba(10,10,20,0.8) 0%, transparent 70%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; animation: th-shadow 12s ease-in-out infinite; }
@keyframes th-table { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes th-thimble { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes th-book { 0%,100% { transform: rotate(-3deg) } 50% { transform: rotate(-2deg) translateY(-1px) } }
@keyframes th-candle { 0% { box-shadow: 0 0 15px 4px rgba(200,150,80,0.3); opacity:0.8 } 50% { box-shadow: 0 0 25px 8px rgba(200,150,80,0.6); opacity:1 } 100% { box-shadow: 0 0 20px 5px rgba(200,150,80,0.4); opacity:0.9 } }
@keyframes th-needle { 0% { transform: rotate(30deg) } 50% { transform: rotate(32deg) } 100% { transform: rotate(28deg) } }
@keyframes th-shadow { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }

/* journey-fork-road */
.scn-journey-fork-road { background: linear-gradient(180deg, #0a0a1a 0%, #14142a 40%, #1a1a3a 100%), radial-gradient(ellipse at 30% 80%, #1a1a2a 0%, transparent 60%); }
.scn-journey-fork-road .sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #0a0a1a 0%, #14142a 100%); animation: jf-sky 20s ease-in-out infinite alternate; }
.scn-journey-fork-road .mountain-bg { position:absolute; bottom:35%; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 30% 70% 0 0 / 50% 60% 0 0; box-shadow: inset 0 6px 20px rgba(0,0,0,0.4); animation: jf-mountain 25s ease-in-out infinite alternate; }
.scn-journey-fork-road .fork-road { position:absolute; bottom:30%; left:50%; width:120px; height:100px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); clip-path: polygon(50% 0%, 0% 100%, 25% 100%, 50% 60%, 75% 100%, 100% 100%); transform: translateX(-50%); animation: jf-road 8s ease-in-out infinite; }
.scn-journey-fork-road .forest-left { position:absolute; bottom:30%; left:5%; width:35%; height:45%; background: linear-gradient(180deg, #0a1a0a 0%, #050a05 100%); border-radius: 60% 40% 0 0 / 80% 60% 0 0; clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%); animation: jf-forest 15s ease-in-out infinite alternate; }
.scn-journey-fork-road .forest-right { position:absolute; bottom:30%; right:5%; width:35%; height:45%; background: linear-gradient(180deg, #0a1a0a 0%, #050a05 100%); border-radius: 40% 60% 0 0 / 60% 80% 0 0; clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 20% 100%); animation: jf-forest 18s ease-in-out infinite alternate-reverse; }
.scn-journey-fork-road .gate { position:absolute; bottom:35%; left:50%; width:40px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 0 12px 4px rgba(10,10,20,0.5); transform: translateX(-50%); animation: jf-gate 6s ease-in-out infinite; }
.scn-journey-fork-road .traveler { position:absolute; bottom:28%; left:8%; width:14px; height:28px; background: linear-gradient(180deg, #0a0a1a 0%, #050510 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: jf-traveler 4s ease-in-out infinite; }
@keyframes jf-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes jf-mountain { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-2px) scaleX(1.01) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes jf-road { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } }
@keyframes jf-forest { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes jf-gate { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0) } 50% { transform: translateX(-50%) translateY(-1px) rotate(1deg) } }
@keyframes jf-traveler { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(8px) translateY(0) rotate(-2deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(16px) translateY(0) rotate(0) } }

/* lived-on-dread */
.scn-lived-on-dread { background: linear-gradient(180deg, #0f0f1f 0%, #1a1a2e 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 50%, #1a1a2e 0%, transparent 70%); }
.scn-lived-on-dread .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(90deg, #0f0f1f 0%, #1a1a2e 50%, #0f0f1f 100%); animation: ld-wall 15s ease-in-out infinite alternate; }
.scn-lived-on-dread .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 60% 40% 0 0 / 20% 10% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); }
.scn-lived-on-dread .bed { position:absolute; bottom:18%; left:40%; width:100px; height:60px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 10% 10% 20% 20% / 20% 20% 40% 40%; box-shadow: 0 6px 12px rgba(0,0,0,0.6); transform: rotate(-2deg); animation: ld-bed 8s ease-in-out infinite; }
.scn-lived-on-dread .daisies { position:absolute; bottom:12%; left:35%; width:40px; height:25px; background: radial-gradient(ellipse at 50% 80%, #d0d0e0 0%, #a0a0b0 60%, #606070 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: ld-daisies 6s ease-in-out infinite; }
.scn-lived-on-dread .ghost-figure { position:absolute; bottom:30%; left:20%; width:40px; height:70px; background: radial-gradient(ellipse at 50% 40%, rgba(180,180,200,0.2) 0%, rgba(180,180,200,0.05) 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; filter: blur(2px); animation: ld-ghost 12s ease-in-out infinite; }
.scn-lived-on-dread .window { position:absolute; bottom:50%; right:20%; width:50px; height:60px; background: radial-gradient(ellipse at 50% 50%, #2a2a4a 0%, #0a0a1a 100%); border-radius: 10% 10% 10% 10%; box-shadow: 0 0 20px 6px rgba(20,20,40,0.5); animation: ld-window 9s ease-in-out infinite alternate; }
.scn-lived-on-dread .curtain { position:absolute; bottom:48%; right:18%; width:20px; height:64px; background: linear-gradient(180deg, rgba(200,190,180,0.1) 0%, rgba(200,190,180,0.05) 100%); border-radius: 20% 20% 10% 10%; filter: blur(1px); animation: ld-curtain 7s ease-in-out infinite; }
@keyframes ld-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ld-bed { 0%,100% { transform: rotate(-2deg) } 50% { transform: rotate(-1deg) translateY(-1px) } }
@keyframes ld-daisies { 0%,100% { transform: scale(1) } 50% { transform: scale(1.05) rotate(3deg) } }
@keyframes ld-ghost { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-4px) scale(1.02) } }
@keyframes ld-window { 0% { box-shadow: 0 0 15px 4px rgba(20,20,40,0.3) } 50% { box-shadow: 0 0 25px 8px rgba(20,20,40,0.6) } 100% { box-shadow: 0 0 20px 5px rgba(20,20,40,0.4) } }
@keyframes ld-curtain { 0%,100% { transform: translateX(0) } 50% { transform: translateX(2px) } }

/* inn-of-death */
.scn-inn-of-death { background: linear-gradient(180deg, #0a0a12 0%, #14141e 40%, #1a1a2a 100%), radial-gradient(ellipse at 50% 80%, #1a1a2a 0%, transparent 60%); }
.scn-inn-of-death .wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(90deg, #0a0a12 0%, #1a1a2a 50%, #0a0a12 100%); animation: id-wall 18s ease-in-out infinite alternate; }
.scn-inn-of-death .floor { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 60% 0 0 / 10% 20% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,0.5); }
.scn-inn-of-death .bar-counter { position:absolute; bottom:18%; left:10%; width:40%; height:12%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.4); animation: id-bar 10s ease-in-out infinite alternating; }
.scn-inn-of-death .landlord-silhouette { position:absolute; bottom:20%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #05050a 0%, #0a0a12 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: id-landlord 8s ease-in-out infinite; }
.scn-inn-of-death .marble-feet { position:absolute; bottom:2%; left:22%; width:20px; height:15px; background: radial-gradient(ellipse at 50% 50%, #a0a0b0 0%, #606070 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 0 10px 2px rgba(160,160,180,0.3); animation: id-marble 14s ease-in-out infinite; }
.scn-inn-of-death .lantern { position:absolute; bottom:50%; right:20%; width:10px; height:20px; background: radial-gradient(circle at 50% 40%, #c0a060 0%, #806030 70%, #402010 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 25px 8px rgba(200,160,100,0.3); animation: id-lantern 4s ease-in-out infinite alternate; }
.scn-inn-of-death .table { position:absolute; bottom:14%; right:15%; width:50px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); transform: rotate(1deg); animation: id-table 12s ease-in-out infinite; }
@keyframes id-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes id-bar { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes id-landlord { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes id-marble { 0%,100% { transform: scale(1) } 50% { transform: scale(1.03) } }
@keyframes id-lantern { 0% { box-shadow: 0 0 20px 6px rgba(200,160,100,0.2); opacity:0.7 } 50% { box-shadow: 0 0 35px 12px rgba(200,160,100,0.5); opacity:1 } 100% { box-shadow: 0 0 25px 8px rgba(200,160,100,0.3); opacity:0.8 } }
@keyframes id-table { 0%,100% { transform: rotate(1deg) } 50% { transform: rotate(0deg) translateY(-1px) } }

.scn-great-streets-silence { background: linear-gradient(180deg, #0a0a14 0%, #141428 40%, #1a1a30 100%), radial-gradient(ellipse at 50% 100%, #1a1a30 0%, transparent 70%); }
.scn-great-streets-silence .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #141428 0%, #0a0a14 100%); }
.scn-great-streets-silence .skyline { position:absolute; bottom:45%; left:0; right:0; height:20%; background: linear-gradient(180deg, #0f0f1e 0%, #06060e 100%); clip-path: polygon(0% 100%, 5% 40%, 12% 40%, 15% 20%, 22% 20%, 25% 50%, 35% 50%, 38% 10%, 48% 10%, 50% 30%, 60% 30%, 65% 15%, 75% 15%, 78% 40%, 85% 40%, 90% 25%, 100% 25%, 100% 100%); animation: gs-skyline 20s ease-in-out infinite alternate; }
.scn-great-streets-silence .street { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a1a30 0%, #0f0f1e 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.6); }
.scn-great-streets-silence .figure { position:absolute; bottom:30%; left:30%; width:16px; height:40px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gs-walk 5s ease-in-out infinite; }
.scn-great-streets-silence .lamp { position:absolute; bottom:32%; left:60%; width:6px; height:80px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 2px; transform-origin: bottom center; animation: gs-lamp-sway 6s ease-in-out infinite; }
.scn-great-streets-silence .lamp::before { content: ''; position:absolute; top:0; left:50%; width:14px; height:14px; background: radial-gradient(circle, #c0a060 0%, #806030 70%); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 20px 4px #c0a060, 0 0 40px 8px rgba(192,160,96,.3); }
.scn-great-streets-silence .lamp-glow { position:absolute; bottom:38%; left:60%; width:60px; height:60px; background: radial-gradient(circle, rgba(192,160,96,.2) 0%, transparent 70%); border-radius: 50%; transform: translate(-50%, -50%); animation: gs-glow 3s ease-in-out infinite alternate; }
.scn-great-streets-silence .fog-a { position:absolute; bottom:20%; left:0; width:120%; height:30%; background: linear-gradient(180deg, rgba(20,20,40,.6) 0%, transparent 100%); filter: blur(20px); border-radius: 50%; animation: gs-fog-a 25s linear infinite; }
.scn-great-streets-silence .fog-b { position:absolute; bottom:40%; right:0; width:100%; height:20%; background: linear-gradient(180deg, rgba(20,20,40,.4) 0%, transparent 100%); filter: blur(15px); border-radius: 50%; animation: gs-fog-b 35s linear infinite reverse; }
@keyframes gs-skyline { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes gs-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(24px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }
@keyframes gs-lamp-sway { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1.5deg) } 100% { transform: rotate(-1deg) } }
@keyframes gs-glow { 0% { opacity:.5; transform: translate(-50%, -50%) scale(.9) } 100% { opacity:1; transform: translate(-50%, -50%) scale(1.1) } }
@keyframes gs-fog-a { 0% { transform: translateX(-20%) scale(1) } 50% { transform: translateX(10%) scale(1.1) } 100% { transform: translateX(40%) scale(1) } }
@keyframes gs-fog-b { 0% { transform: translateX(10%) scale(1.1) } 50% { transform: translateX(-20%) scale(1) } 100% { transform: translateX(10%) scale(1.1) } }

.scn-forgotten-grave { background: linear-gradient(180deg, #2a3028 0%, #3a4038 40%, #1a2018 100%), radial-gradient(ellipse at 50% 0%, #3a4038 0%, transparent 60%); }
.scn-forgotten-grave .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #4a5048 0%, #2a3028 100%); animation: fg-sky 15s ease-in-out infinite alternate; }
.scn-forgotten-grave .trees { position:absolute; bottom:50%; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a2018 0%, #0a1008 100%); clip-path: polygon(0% 100%, 8% 40%, 15% 30%, 20% 50%, 25% 20%, 35% 35%, 40% 10%, 50% 25%, 55% 15%, 65% 30%, 70% 5%, 80% 20%, 85% 35%, 95% 15%, 100% 40%, 100% 100%); opacity:.6; animation: fg-trees 20s ease-in-out infinite alternate; }
.scn-forgotten-grave .mound { position:absolute; bottom:10%; left:20%; right:20%; height:40%; background: linear-gradient(180deg, #2a3028 0%, #1a2018 100%); border-radius: 60% 60% 40% 40% / 100% 100% 40% 40%; box-shadow: inset 0 10px 30px rgba(0,0,0,.5); }
.scn-forgotten-grave .stone { position:absolute; bottom:22%; left:50%; width:60px; height:80px; background: linear-gradient(180deg, #3a4038 0%, #1a2018 100%); border-radius: 10% 10% 4% 4% / 20% 20% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.6); transform: translateX(-50%) skewX(-2deg); animation: fg-stone 8s ease-in-out infinite; }
.scn-forgotten-grave .weed-1 { position:absolute; bottom:28%; left:35%; width:8px; height:60px; background: linear-gradient(180deg, #3a5030 0%, #1a2810 100%); border-radius: 50% 50% 20% 20% / 100% 100% 20% 20%; transform-origin: bottom center; animation: fg-weed-1 4s ease-in-out infinite alternate; }
.scn-forgotten-grave .weed-2 { position:absolute; bottom:25%; left:65%; width:6px; height:50px; background: linear-gradient(180deg, #2a4020 0%, #1a2810 100%); border-radius: 50% 50% 20% 20% / 100% 100% 20% 20%; transform-origin: bottom center; animation: fg-weed-2 5s ease-in-out infinite alternate; animation-delay: -2s; }
.scn-forgotten-grave .shadow { position:absolute; bottom:10%; left:30%; right:30%; height:10%; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.4) 0%, transparent 70%); animation: fg-shadow 12s ease-in-out infinite alternate; }
@keyframes fg-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes fg-trees { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(2px) } }
@keyframes fg-stone { 0% { transform: translateX(-50%) skewX(-2deg) translateY(0) } 50% { transform: translateX(-50%) skewX(-1deg) translateY(-3px) } 100% { transform: translateX(-50%) skewX(-2deg) translateY(0) } }
@keyframes fg-weed-1 { 0% { transform: rotate(-8deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-4deg) } }
@keyframes fg-weed-2 { 0% { transform: rotate(4deg) } 50% { transform: rotate(-6deg) } 100% { transform: rotate(2deg) } }
@keyframes fg-shadow { 0% { opacity:.3; transform: scaleY(1) } 50% { opacity:.6; transform: scaleY(1.2) } 100% { opacity:.4; transform: scaleY(1) } }

.scn-life-trades-weeping { background: linear-gradient(180deg, #1a1410 0%, #2a2218 50%, #1a1410 100%), radial-gradient(ellipse at 50% 100%, #2a2218 0%, transparent 80%); }
.scn-life-trades-weeping .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.4); }
.scn-life-trades-weeping .window { position:absolute; top:15%; left:35%; right:35%; height:30%; background: linear-gradient(180deg, #0a0a14 0%, #141428 100%); border-radius: 4% 4% 2% 2% / 8% 8% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 8px 16px rgba(0,0,0,.3); }
.scn-life-trades-weeping .moon { position:absolute; top:18%; left:50%; width:30px; height:30px; background: radial-gradient(circle, #c0c8d0 0%, #808890 70%); border-radius: 50%; box-shadow: 0 0 30px 6px rgba(192,200,208,.2); transform: translateX(-50%); animation: lw-moon 12s ease-in-out infinite alternate; }
.scn-life-trades-weeping .desk { position:absolute; bottom:30%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%); border-radius: 2% 2% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-life-trades-weeping .candle { position:absolute; bottom:38%; left:50%; width:12px; height:30px; background: linear-gradient(180deg, #d0c0a0 0%, #8a7050 100%); border-radius: 4px 4px 2px 2px; transform: translateX(-50%); }
.scn-life-trades-weeping .flame { position:absolute; bottom:65%; left:50%; width:10px; height:16px; background: radial-gradient(circle at 50% 100%, #ffd080 0%, #c06020 70%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); box-shadow: 0 0 20px 6px rgba(255,208,128,.5); animation: lw-flame 2s ease-in-out infinite alternate; }
.scn-life-trades-weeping .figure { position:absolute; bottom:30%; left:30%; width:20px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lw-figure 6s ease-in-out infinite; }
.scn-life-trades-weeping .bubble-1 { position:absolute; bottom:35%; left:45%; width:8px; height:8px; background: radial-gradient(circle, rgba(255,255,255,.3) 0%, transparent 70%); border-radius: 50%; animation: lw-bubble-1 4s ease-in-out infinite; }
.scn-life-trades-weeping .bubble-2 { position:absolute; bottom:30%; left:55%; width:6px; height:6px; background: radial-gradient(circle, rgba(255,255,255,.2) 0%, transparent 70%); border-radius: 50%; animation: lw-bubble-2 5s ease-in-out infinite; animation-delay: -2s; }
@keyframes lw-moon { 0% { transform: translateX(-50%) translateY(0); opacity:.7 } 50% { transform: translateX(-50%) translateY(-4px); opacity:1 } 100% { transform: translateX(-50%) translateY(0); opacity:.8 } }
@keyframes lw-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg) } 50% { transform: translateX(-50%) scaleY(1.15) rotate(1deg) } 100% { transform: translateX(-50%) scaleY(.95) rotate(2deg) } }
@keyframes lw-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes lw-bubble-1 { 0% { transform: translateY(0) scale(1); opacity:.4 } 50% { transform: translateY(-20px) scale(1.2); opacity:.8 } 100% { transform: translateY(-40px) scale(.8); opacity:0 } }
@keyframes lw-bubble-2 { 0% { transform: translateY(0) scale(1); opacity:.3 } 50% { transform: translateY(-30px) scale(1.1); opacity:.6 } 100% { transform: translateY(-60px) scale(.9); opacity:0 } }

.scn-delivered-syllable { background: linear-gradient(180deg, #0f0d0c 0%, #1c1816 50%, #0f0d0c 100%), radial-gradient(ellipse at 50% 100%, #1c1816 0%, transparent 70%); }
.scn-delivered-syllable .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1c1816 0%, #0f0d0c 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.5); }
.scn-delivered-syllable .arch { position:absolute; top:10%; left:50%; width:40%; height:70%; background: linear-gradient(180deg, #1c1816 0%, #0f0d0c 100%); border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%; transform: translateX(-50%); box-shadow: inset 0 0 40px rgba(0,0,0,.6); }
.scn-delivered-syllable .light-crack { position:absolute; top:10%; left:50%; width:2px; height:60%; background: linear-gradient(180deg, rgba(200,180,150,.9) 0%, rgba(200,180,150,.1) 100%); transform: translateX(-50%); box-shadow: 0 0 20px 4px rgba(200,180,150,.3); animation: ds-crack 4s ease-in-out infinite alternate; }
.scn-delivered-syllable .figure-left { position:absolute; bottom:20%; left:30%; width:18px; height:60px; background: linear-gradient(180deg, #0a0808 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ds-figure-l 5s ease-in-out infinite; }
.scn-delivered-syllable .figure-right { position:absolute; bottom:20%; right:30%; width:18px; height:60px; background: linear-gradient(180deg, #0a0808 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ds-figure-r 5s ease-in-out infinite; animation-delay: -2.5s; }
.scn-delivered-syllable .dust-1 { position:absolute; top:30%; left:40%; width:4px; height:4px; background: rgba(200,180,150,.3); border-radius: 50%; filter: blur(1px); animation: ds-dust-1 8s linear infinite; }
.scn-delivered-syllable .dust-2 { position:absolute; top:40%; left:60%; width:3px; height:3px; background: rgba(200,180,150,.2); border-radius: 50%; filter: blur(1px); animation: ds-dust-2 11s linear infinite reverse; }
@keyframes ds-crack { 0% { opacity:.3; transform: translateX(-50%) scaleX(1) } 50% { opacity:1; transform: translateX(-50%) scaleX(1.5) } 100% { opacity:.5; transform: translateX(-50%) scaleX(1) } }
@keyframes ds-figure-l { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes ds-figure-r { 0% { transform: translateY(0) rotate(2deg) } 50% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes ds-dust-1 { 0% { transform: translateY(0) translateX(0); opacity:0 } 25% { opacity:.4 } 50% { transform: translateY(-40px) translateX(10px); opacity:.2 } 75% { opacity:.5 } 100% { transform: translateY(-80px) translateX(-5px); opacity:0 } }
@keyframes ds-dust-2 { 0% { transform: translateY(0) translateX(0); opacity:0 } 25% { opacity:.3 } 50% { transform: translateY(-60px) translateX(-10px); opacity:.1 } 75% { opacity:.4 } 100% { transform: translateY(-120px) translateX(5px); opacity:0 } }

/* Scene: wild-nights-luxury (wnl) */
.scn-wild-nights-luxury {
  background: linear-gradient(180deg, #1a1a2e 0%, #2d1b3a 100%);
  position: relative; overflow: hidden;
}
.scn-wild-nights-luxury .window-sky {
  position:absolute; top:5%; left:5%; width:40%; height:40%;
  background: linear-gradient(180deg, #0c0c1e 0%, #1a2a4e 80%);
  border-radius: 4px 4px 8px 8px;
  animation: wnl-skyglow 25s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .window-frame {
  position:absolute; top:4%; left:4%; width:42%; height:42%;
  border: 6px solid #3a2a1a;
  border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
}
.scn-wild-nights-luxury .star {
  position:absolute; top:12%; left:15%; width:6px; height:6px;
  background: radial-gradient(circle, #f0e8d0 0%, #c0b090 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #f0e8d0;
  animation: wnl-star 4s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .candle-glow {
  position:absolute; bottom:18%; left:55%; width:40px; height:50px;
  background: radial-gradient(ellipse at 50% 100%, #ffa050 0%, transparent 70%);
  animation: wnl-candle 3s ease-in-out infinite;
}
.scn-wild-nights-luxury .candle-flame {
  position:absolute; bottom:16%; left:56%; width:8px; height:12px;
  background: radial-gradient(circle, #ffdd80 0%, #ff8810 80%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px #ff8810;
  transform-origin: bottom center;
  animation: wnl-flame 1.2s ease-in-out infinite alternate;
}
.scn-wild-nights-luxury .chair {
  position:absolute; bottom:8%; left:30%; width:90px; height:60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-wild-nights-luxury .figure {
  position:absolute; bottom:12%; left:35%; width:16px; height:30px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wnl-rock 6s ease-in-out infinite;
}
@keyframes wnl-skyglow { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes wnl-star { 0% { transform:scale(0.8); opacity:0.6 } 50% { transform:scale(1.2); opacity:1 } 100% { transform:scale(0.9); opacity:0.8 } }
@keyframes wnl-candle { 0%,100% { transform: scaleY(0.95) translateY(1px) } 50% { transform: scaleY(1.05) translateY(-1px) } }
@keyframes wnl-flame { 0% { transform: scaleX(0.8) scaleY(0.9) } 50% { transform: scaleX(1.1) scaleY(1.1) } 100% { transform: scaleX(0.9) scaleY(1) } }
@keyframes wnl-rock { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(2deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(-4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }

/* Scene: charm-invests-face (cif) */
.scn-charm-invests-face {
  background: linear-gradient(180deg, #2a1a2a 0%, #3a2a3a 100%);
  position: relative; overflow: hidden;
}
.scn-charm-invests-face .veiled-figure {
  position:absolute; left:10%; bottom:15%; width:35%; height:60%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 40% 40% 40% / 70% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cif-figure 12s ease-in-out infinite;
}
.scn-charm-invests-face .veil {
  position:absolute; left:12%; bottom:17%; width:33%; height:55%;
  background: linear-gradient(180deg, rgba(200,180,160,0.3) 0%, transparent 80%);
  border-radius: 50% 40% 40% 40% / 70% 60% 40% 40%;
  animation: cif-veil 8s ease-in-out infinite alternate;
}
.scn-charm-invests-face .lover {
  position:absolute; right:15%; bottom:20%; width:25%; height:45%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 50% 40% 40% / 60% 70% 40% 40%;
  transform-origin: bottom center;
  animation: cif-lover 10s ease-in-out infinite;
}
.scn-charm-invests-face .window {
  position:absolute; top:5%; right:8%; width:18%; height:22%;
  background: linear-gradient(180deg, #1a2a4e 0%, #0c1c3e 100%);
  border: 5px solid #3a2a1a;
  border-radius: 4px;
}
.scn-charm-invests-face .bird {
  position:absolute; top:12%; right:12%; width:10px; height:8px;
  background: radial-gradient(circle at 30% 50%, #3a3a3a 50%, transparent 50%);
  border-radius: 50%;
  animation: cif-bird 6s ease-in-out infinite;
}
.scn-charm-invests-face .rose-petal {
  position:absolute; top:50%; left:30%; width:12px; height:6px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: cif-petal 5s ease-in-out infinite;
}
.scn-charm-invests-face .whisper-dot {
  position:absolute; top:40%; left:45%; width:4px; height:4px;
  background: #d0c0a0;
  border-radius: 50%;
  box-shadow: 6px 0 #d0c0a0, 12px 2px #d0c0a0;
  animation: cif-whisper 3s ease-in-out infinite alternate;
}
@keyframes cif-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes cif-veil { 0% { opacity:0.3; transform: scaleY(0.98) } 50% { opacity:0.5; transform: scaleY(1.02) } 100% { opacity:0.3; transform: scaleY(1) } }
@keyframes cif-lover { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes cif-bird { 0% { transform: translate(0,0) } 25% { transform: translate(10px,-5px) } 50% { transform: translate(20px,0) } 75% { transform: translate(10px,5px) } 100% { transform: translate(0,0) } }
@keyframes cif-petal { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(15px) rotate(30deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cif-whisper { 0% { opacity:0.2; transform: scale(0.8) } 50% { opacity:0.8; transform: scale(1.2) } 100% { opacity:0.4; transform: scale(0.9) } }

/* Scene: sunrise-topaz-breadths (stb) */
.scn-sunrise-topaz-breadths {
  background: linear-gradient(180deg, #ffb060 0%, #ff8830 30%, #c06020 70%, #4a2a1a 100%);
  position: relative; overflow: hidden;
}
.scn-sunrise-topaz-breadths .sky-dawn {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #ffd080 0%, #ffa030 50%, transparent 100%);
  animation: stb-sky 20s ease-in-out infinite alternate;
}
.scn-sunrise-topaz-breadths .hill-back {
  position:absolute; bottom:35%; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a4a3a 0%, #1a3a2a 100%);
  border-radius: 50% 40% 0 0 / 70% 80% 0 0;
  transform-origin: bottom center;
  animation: stb-hill 18s ease-in-out infinite alternate;
}
.scn-sunrise-topaz-breadths .hill-front {
  position:absolute; bottom:25%; left:-5%; right:-5%; height:25%;
  background: linear-gradient(180deg, #3a5a3a 0%, #2a4a2a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  animation: stb-hill2 15s ease-in-out infinite alternate;
}
.scn-sunrise-topaz-breadths .sun {
  position:absolute; top:15%; left:40%; width:60px; height:60px;
  background: radial-gradient(circle, #ffe080 0%, #ffa030 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #ffc060, 0 0 120px 40px rgba(255,160,48,0.3);
  animation: stb-sun 14s ease-in-out infinite;
}
.scn-sunrise-topaz-breadths .orchard {
  position:absolute; bottom:20%; left:10%; right:10%; height:40%;
  background: transparent;
  box-shadow: 
    20px 0 0 0 #2a3a2a,
    50px -10px 0 0 #1a2a1a,
    80px -5px 0 0 #2a3a2a,
    110px 0 0 0 #1a2a1a,
    140px -15px 0 0 #2a3a2a,
    170px -8px 0 0 #1a2a1a,
    200px 0 0 0 #2a3a2a,
    230px -10px 0 0 #1a2a1a,
    260px -5px 0 0 #2a3a2a;
  animation: stb-orchard 22s ease-in-out infinite alternate;
}
.scn-sunrise-topaz-breadths .bird-1 {
  position:absolute; top:20%; left:20%; width:12px; height:8px;
  background: radial-gradient(circle at 30% 50%, #3a3a3a 40%, transparent 40%);
  border-radius: 50%;
  animation: stb-bird1 8s linear infinite;
}
.scn-sunrise-topaz-breadths .bird-2 {
  position:absolute; top:18%; left:45%; width:10px; height:6px;
  background: radial-gradient(circle at 30% 50%, #2a2a2a 40%, transparent 40%);
  border-radius: 50%;
  animation: stb-bird2 12s linear infinite;
  animation-delay: -4s;
}
@keyframes stb-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes stb-hill { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.03) translateY(-2px) } 100% { transform: scaleY(0.98) translateY(1px) } }
@keyframes stb-hill2 { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.04) } 100% { transform: scaleY(0.97) } }
@keyframes stb-sun { 0% { transform: translateY(0) scale(0.95); opacity:0.8 } 50% { transform: translateY(-8px) scale(1.05); opacity:1 } 100% { transform: translateY(2px) scale(0.98); opacity:0.9 } }
@keyframes stb-orchard { 0% { filter: drop-shadow(0 0 2px rgba(0,0,0,0.2)); transform: translateX(0) } 50% { filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.4)); transform: translateX(3px) } 100% { filter: drop-shadow(0 0 2px rgba(0,0,0,0.2)); transform: translateX(0) } }
@keyframes stb-bird1 { 0% { transform: translateX(-20px) } 100% { transform: translateX(120vw) } }
@keyframes stb-bird2 { 0% { transform: translateX(-30px) } 100% { transform: translateX(130vw) } }

/* Scene: unanointed-forehead (uf) */
.scn-unanointed-forehead {
  background: linear-gradient(180deg, #e8d8c8 0%, #c8b8a8 50%, #a89888 100%);
  position: relative; overflow: hidden;
}
.scn-unanointed-forehead .morning-sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #f0e0d0 0%, #d8c8b8 60%, transparent 100%);
  animation: uf-sky 30s ease-in-out infinite alternate;
}
.scn-unanointed-forehead .daffodil {
  position:absolute; bottom:30%; left:35%; width:40px; height:50px;
  background: radial-gradient(circle at 50% 30%, #ffe080 20%, #ffc840 40%, transparent 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: uf-daffodil 6s ease-in-out infinite;
}
.scn-unanointed-forehead .robin {
  position:absolute; bottom:45%; right:20%; width:16px; height:12px;
  background: radial-gradient(circle at 30% 50%, #6a4a3a 40%, #8a6a4a 40%, transparent 40%);
  border-radius: 50%;
  animation: uf-robin 4s ease-in-out infinite;
}
.scn-unanointed-forehead .figure-woman {
  position:absolute; bottom:15%; left:20%; width:18px; height:36px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: uf-figure 8s ease-in-out infinite;
}
.scn-unanointed-forehead .shadow-tree {
  position:absolute; bottom:5%; right:10%; width:60px; height:80px;
  background: linear-gradient(180deg, transparent 30%, rgba(40,30,20,0.3) 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  filter: blur(4px);
  animation: uf-tree 20s ease-in-out infinite alternate;
}
.scn-unanointed-forehead .grass {
  position:absolute; bottom:0; left:0; right:0; height:15%;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  animation: uf-grass 12s ease-in-out infinite alternate;
}
.scn-unanointed-forehead .petal-fall {
  position:absolute; top:20%; left:60%; width:8px; height:4px;
  background: radial-gradient(circle, #e8c8a8 0%, #b89878 100%);
  border-radius: 50%;
  animation: uf-petal 10s ease-in-out infinite;
  animation-delay: -3s;
}
@keyframes uf-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes uf-daffodil { 0%,100% { transform: rotate(-5deg) scaleY(0.95) } 50% { transform: rotate(5deg) scaleY(1.05) } }
@keyframes uf-robin { 0% { transform: translate(0,0) } 25% { transform: translate(5px,-3px) } 50% { transform: translate(10px,0) } 75% { transform: translate(5px,2px) } 100% { transform: translate(0,0) } }
@keyframes uf-figure { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes uf-tree { 0% { opacity:0.2; transform: scaleY(0.98) } 50% { opacity:0.4; transform: scaleY(1.02) } 100% { opacity:0.3; transform: scaleY(1) } }
@keyframes uf-grass { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes uf-petal { 0% { transform: translateY(0) rotate(0deg); opacity:0.5 } 50% { transform: translateY(40px) rotate(30deg); opacity:0.8 } 100% { transform: translateY(80px) rotate(60deg); opacity:0 } }

/* Scene: souls-storm-struck (overcast, tense storm) */
.scn-souls-storm-struck {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2c2c44 40%, #3a3a5a 70%, #2a2a3e 100%),
    radial-gradient(ellipse at 50% 30%, #4d4d6b 0%, transparent 60%);
}
.scn-souls-storm-struck .sky {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2a4a 0%, #3c3c5c 50%, #1c1c30 100%);
  animation: sts-sky-pulse 15s ease-in-out infinite alternate;
}
.scn-souls-storm-struck .cloud-dark {
  position: absolute; top: 10%; left: 20%; width: 70%; height: 35%;
  background: radial-gradient(ellipse at 30% 50%, #3a3a50 0%, #1c1c2e 80%, transparent 100%);
  filter: blur(8px);
  animation: sts-cloud-drift 40s linear infinite;
}
.scn-souls-storm-struck .lightning-bolt {
  position: absolute; top: 5%; left: 50%; width: 4px; height: 60%;
  background: linear-gradient(180deg, #ffe082 0%, #ffd54f 40%, #ffb300 100%);
  clip-path: polygon(50% 0%, 45% 30%, 55% 32%, 48% 55%, 52% 57%, 45% 100%, 55% 100%, 50% 57%, 52% 55%, 45% 32%, 55% 30%);
  opacity: 0.8;
  box-shadow: 0 0 30px 10px rgba(255,224,130,0.6);
  animation: sts-lightning-flash 6s ease-in-out infinite;
}
.scn-souls-storm-struck .figure {
  position: absolute; bottom: 22%; left: 48%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #1c1c2a 0%, #0a0a14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sts-figure-sway 4s ease-in-out infinite;
}
.scn-souls-storm-struck .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #3a3a3e 0%, #1c1c22 100%);
  border-radius: 20% 30% 0 0 / 40% 50% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
}
.scn-souls-storm-struck .rain-1 {
  position: absolute; top: 0; left: 10%; width: 4px; height: 100%;
  background: repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(180,200,255,0.2) 40px, rgba(180,200,255,0.4) 42px);
  animation: sts-rain-fall 0.8s linear infinite;
}
.scn-souls-storm-struck .rain-2 {
  position: absolute; top: 20%; left: 60%; width: 3px; height: 100%;
  background: repeating-linear-gradient(0deg, transparent, transparent 50px, rgba(200,220,255,0.15) 50px, rgba(200,220,255,0.3) 52px);
  animation: sts-rain-fall 1.2s linear infinite;
  animation-delay: -0.4s;
}

@keyframes sts-sky-pulse {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes sts-cloud-drift {
  0% { transform: translateX(-10%) scaleX(1); }
  50% { transform: translateX(5%) scaleX(1.05); }
  100% { transform: translateX(-15%) scaleX(0.95); }
}
@keyframes sts-lightning-flash {
  0% { opacity: 0; transform: scaleY(0.5); }
  5% { opacity: 1; transform: scaleY(1); box-shadow: 0 0 60px 20px rgba(255,224,130,0.8); }
  10% { opacity: 0.3; transform: scaleY(0.8); box-shadow: 0 0 30px 10px rgba(255,224,130,0.4); }
  15% { opacity: 1; transform: scaleY(1); box-shadow: 0 0 80px 30px rgba(255,224,130,0.9); }
  20% { opacity: 0; transform: scaleY(0.6); box-shadow: 0 0 0 0 transparent; }
  100% { opacity: 0; }
}
@keyframes sts-figure-sway {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(4px) translateY(-2px) rotate(2deg); }
  50% { transform: translateX(0) translateY(0) rotate(-1deg); }
  75% { transform: translateX(-4px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0); }
}
@keyframes sts-rain-fall {
  0% { transform: translateY(-100vh); }
  100% { transform: translateY(100vh); }
}

/* Scene: clock-stopped-geneva (dim interior, tense) */
.scn-clock-stopped-geneva {
  background:
    linear-gradient(180deg, #1e1a1a 0%, #2a1e1e 40%, #3a2a2a 70%, #1c1414 100%),
    radial-gradient(ellipse at 80% 50%, #4a3a3a 0%, transparent 70%);
}
.scn-clock-stopped-geneva .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1c1616 0%, #2a1e1e 50%, #1e1414 100%);
  animation: csg-dark-pulse 12s ease-in-out infinite alternate;
}
.scn-clock-stopped-geneva .mantel {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 8%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  border-radius: 4px; box-shadow: 0 -4px 15px rgba(0,0,0,0.5);
}
.scn-clock-stopped-geneva .clock-case {
  position: absolute; bottom: 28%; left: 38%; width: 80px; height: 110px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 6px 6px 10px 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-clock-stopped-geneva .clock-face {
  position: absolute; bottom: 50%; left: 41%; width: 50px; height: 50px;
  background: radial-gradient(circle, #f5e6c8 0%, #d4c4a0 70%);
  border-radius: 50%; border: 2px solid #b8965a;
  transform: translateY(30%); /* center in clock-case */
  box-shadow: inset 0 0 10px #7a6a4a;
}
.scn-clock-stopped-geneva .pendulum {
  position: absolute; bottom: 30%; left: 50%; width: 3px; height: 50px;
  background: #c0b090;
  transform-origin: top center;
  animation: csg-pendulum 4s ease-in-out infinite alternate;
}
.scn-clock-stopped-geneva .pendulum::after {
  content: ''; display: block; position: absolute; bottom: -10px; left: -8px;
  width: 18px; height: 18px; background: radial-gradient(circle, #e0d0b0 0%, #b0a080 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-clock-stopped-geneva .figure-hunched {
  position: absolute; bottom: 12%; left: 30%; width: 34px; height: 48px;
  background: linear-gradient(180deg, #2a1e1e 0%, #1a0e0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: csg-hunch 6s ease-in-out infinite;
}
.scn-clock-stopped-geneva .shadow {
  position: absolute; bottom: 10%; left: 28%; width: 60px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: csg-shadow-sway 6s ease-in-out infinite;
}

@keyframes csg-dark-pulse {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes csg-pendulum {
  0% { transform: rotate(-5deg); }
  25% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  75% { transform: rotate(0deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes csg-hunch {
  0% { transform: translateY(0) rotate(-2deg) scaleY(1); }
  25% { transform: translateY(-2px) rotate(2deg) scaleY(1.02); }
  50% { transform: translateY(0) rotate(0) scaleY(0.98); }
  75% { transform: translateY(-1px) rotate(-1deg) scaleY(1.01); }
  100% { transform: translateY(0) rotate(0) scaleY(1); }
}
@keyframes csg-shadow-sway {
  0% { transform: translateX(0) scaleX(1); opacity: 0.6; }
  50% { transform: translateX(5px) scaleX(1.2); opacity: 0.8; }
  100% { transform: translateX(-3px) scaleX(0.9); opacity: 0.5; }
}
/* end per-scene blocks */
