/* style.css -- merged from per-tier scene CSS by _build_deploy.py */
/* Scene root must fill its positioning container. */
.scn { position: absolute; inset: 0; }

/* ============ tier U ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-hervey-accuses-random {
  background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 40%, #b8a898 100%), radial-gradient(ellipse at 70% 30%, #e8dcc8 0%, transparent 60%);
}
.scn-hervey-accuses-random .ha-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8dcc0 0%, #c8b89a 100%); border-radius: 0; animation: ha-bg-flicker 8s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-window {
  position: absolute; top: 10%; right: 15%; width: 30%; height: 35%; background: linear-gradient(135deg, #fff8e0 0%, #e8d8a0 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.4); animation: ha-lightwash 6s ease-in-out infinite alternate;
}
.scn-hervey-accuses-random .ha-figure-accuser {
  position: absolute; bottom: 20%; left: 20%; width: 28px; height: 55px; background: linear-gradient(180deg, #3a2a20 0%, #1a1210 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: ha-accuser-jab 4s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-figure-accused {
  position: absolute; bottom: 20%; right: 25%; width: 28px; height: 55px; background: linear-gradient(180deg, #2a2018 0%, #100a08 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: ha-accused-recoil 5s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-table {
  position: absolute; bottom: 15%; left: 35%; width: 40%; height: 10%; background: linear-gradient(180deg, #8a6a4a 0%, #5a402a 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.3); animation: ha-table-shake 7s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-shadow-harsh {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 30%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 60%); animation: ha-shadow-sharp 10s ease-in-out infinite alternate;
}
@keyframes ha-bg-flicker {
  0% { opacity: 0.95; filter: brightness(1); } 50% { opacity: 1; filter: brightness(1.05); } 100% { opacity: 0.95; filter: brightness(1); }
}
@keyframes ha-lightwash {
  0% { opacity: 0.8; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.02); } 100% { opacity: 0.85; transform: scaleX(1); }
}
@keyframes ha-accuser-jab {
  0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(5deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-4px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ha-accused-recoil {
  0% { transform: translateX(0) scaleX(1); } 30% { transform: translateX(-10px) scaleX(0.95); } 60% { transform: translateX(0) scaleX(1); } 100% { transform: translateX(0) scaleX(1); }
}
@keyframes ha-table-shake {
  0% { transform: translateX(0); } 25% { transform: translateX(2px); } 50% { transform: translateX(-2px); } 75% { transform: translateX(1px); } 100% { transform: translateX(0); }
}
@keyframes ha-shadow-sharp {
  0% { opacity: 0.3; transform: scaleY(1); } 50% { opacity: 0.5; transform: scaleY(1.2); } 100% { opacity: 0.35; transform: scaleY(1); }
}

/* Scene 3: hope-defends-random */

.scn-hope-defends-random {
  background: linear-gradient(180deg, #1e1a2e 0%, #2a1e3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 30% 70%, #2a2030 0%, transparent 60%);
}
.scn-hope-defends-random .hd-wall {
  position: absolute; inset: 0; background: linear-gradient(to bottom, #2a2030 0%, #1a1220 100%); border-radius: 0; animation: hd-wall-breathe 12s ease-in-out infinite;
}
.scn-hope-defends-random .hd-door {
  position: absolute; right: 10%; top: 15%; width: 18%; height: 55%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 4px 4px 0 0; box-shadow: -4px 0 8px rgba(0,0,0,0.4); animation: hd-door-sway 15s ease-in-out infinite;
}
.scn-hope-defends-random .hd-hope {
  position: absolute; bottom: 18%; left: 30%; width: 24px; height: 50px; background: linear-gradient(180deg, #2a2a3e 0%, #18182a 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: hd-hope-gesture 6s ease-in-out infinite;
}
.scn-hope-defends-random .hd-random {
  position: absolute; bottom: 18%; right: 22%; width: 24px; height: 50px; background: linear-gradient(180deg, #1e1a2e 0%, #0e0a1e 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: hd-random-enter 8s ease-in-out infinite;
}
.scn-hope-defends-random .hd-lamp {
  position: absolute; bottom: 40%; left: 15%; width: 10px; height: 14px; background: radial-gradient(circle, #d0a050 0%, #806020 80%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px #a08040, 0 0 60px 20px rgba(160,128,64,0.3); animation: hd-lamp-flicker 4s ease-in-out infinite alternate;
}
.scn-hope-defends-random .hd-chair {
  position: absolute; bottom: 10%; left: 45%; width: 30px; height: 20px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 10% 10% 20% 20%; transform-origin: bottom center; animation: hd-chair-rock 9s ease-in-out infinite;
}
@keyframes hd-wall-breathe {
  0% { opacity: 0.9; } 50% { opacity: 0.95; } 100% { opacity: 0.9; }
}
@keyframes hd-door-sway {
  0% { transform: rotateY(0deg); } 50% { transform: rotateY(2deg); } 100% { transform: rotateY(0deg); }
}
@keyframes hd-hope-gesture {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); } 30% { transform: translateX(4px) rotate(5deg) scaleY(1.02); } 60% { transform: translateX(0) rotate(0deg) scaleY(1); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes hd-random-enter {
  0% { opacity: 0; transform: translateX(20px) scaleX(0.9); } 30% { opacity: 1; transform: translateX(0) scaleX(1); } 70% { opacity: 1; transform: translateX(0) scaleX(1); } 100% { opacity: 1; transform: translateX(0) scaleX(1); }
}
@keyframes hd-lamp-flicker {
  0% { box-shadow: 0 0 20px 6px #a08040, 0 0 40px 12px rgba(160,128,64,0.2); opacity: 0.85; } 50% { box-shadow: 0 0 40px 12px #c0a060, 0 0 80px 24px rgba(192,160,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 25px 8px #a08040, 0 0 50px 16px rgba(160,128,64,0.25); opacity: 0.9; }
}
@keyframes hd-chair-rock {
  0% { transform: rotate(-2deg); } 25% { transform: rotate(1deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); }
}

/* Scene 4: manuscript-examined */

.scn-lucy-preference { background: linear-gradient(180deg, #2b1a0e 0%, #4a2c1a 50%, #3a1f10 100%), radial-gradient(ellipse at 50% 0%, #5a3a1a 0%, transparent 70%); }
.scn-lucy-preference .bg-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #3a1f10 0%, #2a1408 100%); }
.scn-lucy-preference .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1408 0%, #1a0a04 100%); }
.scn-lucy-preference .lamp-stand { position: absolute; bottom: 28%; left: 30%; width: 6px; height: 50px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%); border-radius: 2px; }
.scn-lucy-preference .lamp-glow { position: absolute; bottom: 45%; left: 28%; width: 40px; height: 30px; background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%); border-radius: 50%; filter: blur(8px); animation: luc-glow 4s ease-in-out infinite alternate; box-shadow: 0 0 30px 10px #c08040; }
.scn-lucy-preference .painting { position: absolute; bottom: 40%; right: 15%; width: 60px; height: 50px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1408 100%); border: 3px solid #6a4a2a; border-radius: 4px; transform: rotate(2deg); }
.scn-lucy-preference .figure-lucy { position: absolute; bottom: 16%; left: 20%; width: 20px; height: 50px; background: linear-gradient(180deg, #1a0a04 0%, #0a0402 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: luc-turn 12s ease-in-out infinite; }
.scn-lucy-preference .book { position: absolute; bottom: 22%; left: 22%; width: 30px; height: 20px; background: linear-gradient(180deg, #5a3a1a 0%, #3a1f10 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); }
@keyframes luc-glow { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: .7; transform: scale(1); } }
@keyframes luc-turn { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(5deg) translateX(4px); } 100% { transform: rotate(0deg) translateX(0); } }

.scn-braddock-visits-random { background: linear-gradient(180deg, #1f1208 0%, #321a0c 50%, #220e06 100%), radial-gradient(ellipse at 50% 100%, #3a2010 0%, transparent 70%); }
.scn-braddock-visits-random .bg-room { position: absolute; inset: 0 0 25% 0; background: linear-gradient(180deg, #2a1408 0%, #1a0a04 100%); }
.scn-braddock-visits-random .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #1a0a04 0%, #0d0502 100%); }
.scn-braddock-visits-random .figure-brad { position: absolute; bottom: 20%; right: 25%; width: 22px; height: 55px; background: linear-gradient(180deg, #2a1a0e 0%, #120804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brad-shift 8s ease-in-out infinite; }
.scn-braddock-visits-random .figure-random { position: absolute; bottom: 20%; left: 25%; width: 24px; height: 54px; background: linear-gradient(180deg, #2a1a0e 0%, #100603 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brad-shift 8s ease-in-out infinite reverse; }
.scn-braddock-visits-random .table { position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%); width: 40px; height: 30px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1408 100%); border-radius: 4px; }
.scn-braddock-visits-random .papers { position: absolute; bottom: 25%; left: 48%; width: 20px; height: 8px; background: #6a4a2a; border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 1px 2px rgba(0,0,0,.5); animation: brad-papers 6s ease-in-out infinite; }
@keyframes brad-shift { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes brad-papers { 0% { opacity: .8; transform: rotate(-3deg) translateX(0); } 50% { opacity: 1; transform: rotate(0deg) translateX(2px); } 100% { opacity: .8; transform: rotate(-3deg) translateX(0); } }

.scn-random-quarters { background: linear-gradient(180deg, #1f1208 0%, #321a0c 50%, #220e06 100%), radial-gradient(ellipse at 50% 0%, #3a2010 0%, transparent 70%); }
.scn-random-quarters .bg-quarters { position: absolute; inset: 0 0 20% 0; background: linear-gradient(180deg, #2a1408 0%, #1a0a04 100%); }
.scn-random-quarters .wardrobe { position: absolute; bottom: 10%; right: 30%; width: 50px; height: 80px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1408 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-random-quarters .mirror { position: absolute; bottom: 20%; right: 35%; width: 30px; height: 50px; background: linear-gradient(180deg, rgba(200,180,160,.2) 0%, rgba(255,255,255,.05) 100%); border: 2px solid #6a4a2a; border-radius: 2px; animation: rqua-mirror 7s ease-in-out infinite alternate; }
.scn-random-quarters .figure-random { position: absolute; bottom: 15%; left: 25%; width: 22px; height: 55px; background: linear-gradient(180deg, #2a1a0e 0%, #120804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rqua-dress 10s ease-in-out infinite; }
.scn-random-quarters .chair { position: absolute; bottom: 10%; left: 15%; width: 30px; height: 40px; background: linear-gradient(180deg, #3a2010 0%, #1a0a04 100%); border-radius: 4px; }
.scn-random-quarters .coat { position: absolute; bottom: 40%; left: 12%; width: 18px; height: 30px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0a04 100%); transform: rotate(10deg); animation: rqua-coat 5s ease-in-out infinite; }
@keyframes rqua-mirror { 0% { opacity: .4; transform: scaleY(1); } 50% { opacity: .8; transform: scaleY(1.02); } 100% { opacity: .5; transform: scaleY(1); } }
@keyframes rqua-dress { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rqua-coat { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }

.scn-random-and-don-pedro { background: linear-gradient(180deg, #1f1208 0%, #321a0c 50%, #220e06 100%), radial-gradient(ellipse at 50% 50%, #3a2010 0%, transparent 70%); }
.scn-random-and-don-pedro .bg-study { position: absolute; inset: 0 0 20% 0; background: linear-gradient(180deg, #2a1408 0%, #1a0a04 100%); }
.scn-random-and-don-pedro .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #1a0a04 0%, #0d0502 100%); }
.scn-random-and-don-pedro .desk { position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%); width: 70px; height: 20px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1408 100%); border-radius: 4px; box-shadow: 0 3px 6px rgba(0,0,0,.5); }
.scn-random-and-don-pedro .figure-random { position: absolute; bottom: 15%; left: 28%; width: 24px; height: 52px; background: linear-gradient(180deg, #2a1a0e 0%, #120804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rped-seat 8s ease-in-out infinite; }
.scn-random-and-don-pedro .figure-don { position: absolute; bottom: 20%; right: 25%; width: 22px; height: 56px; background: linear-gradient(180deg, #2a1a0e 0%, #100603 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rped-stand 10s ease-in-out infinite; }
.scn-random-and-don-pedro .cigar-glow { position: absolute; bottom: 30%; left: 28%; width: 10px; height: 10px; background: radial-gradient(circle, #ffa040 0%, #cc6020 60%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: rped-puff 3s ease-in-out infinite; box-shadow: 0 0 20px 6px #cc6020; }
.scn-random-and-don-pedro .smoke { position: absolute; bottom: 40%; left: 28%; width: 12px; height: 20px; background: radial-gradient(circle, rgba(255,255,255,.2) 0%, transparent 100%); filter: blur(3px); animation: rped-smoke 5s ease-in-out infinite; }
@keyframes rped-seat { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes rped-stand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes rped-puff { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } 100% { opacity: .7; transform: scale(1); } }
@keyframes rped-smoke { 0% { transform: translateY(0) scale(1); opacity: .3; } 50% { transform: translateY(-10px) scale(1.5); opacity: .6; } 100% { transform: translateY(-20px) scale(2); opacity: 0; } }

.scn-pyramids-wife-and-daughter {
  background: linear-gradient(135deg, #2a1f1a 0%, #3a2a20 50%, #1e1410 100%),
              radial-gradient(ellipse at 40% 70%, #4a3a2a 0%, transparent 70%);
}
.scn-pyramids-wife-and-daughter .wall-left {
  position: absolute;
  inset: 0 50% 0 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  animation: pwd-wall 8s ease-in-out infinite alternate;
}
.scn-pyramids-wife-and-daughter .wall-right {
  position: absolute;
  inset: 0 0 0 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  animation: pwd-wall 8s ease-in-out infinite alternate-reverse;
}
.scn-pyramids-wife-and-daughter .floor {
  position: absolute;
  inset: 60% 0 0 0;
  background: linear-gradient(180deg, #2a1a10 0%, #1a100a 100%);
}
.scn-pyramids-wife-and-daughter .fireplace {
  position: absolute;
  bottom: 30%;
  left: 20%;
  width: 40%;
  height: 30%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: inset 0 4px 8px #1a100a;
}
.scn-pyramids-wife-and-daughter .mother-silhouette {
  position: absolute;
  bottom: 30%;
  left: 30%;
  width: 12%;
  height: 35%;
  background: linear-gradient(180deg, #1a100a 0%, #0d0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pwd-figure 5s ease-in-out infinite;
}
.scn-pyramids-wife-and-daughter .child-silhouette {
  position: absolute;
  bottom: 30%;
  left: 45%;
  width: 8%;
  height: 25%;
  background: linear-gradient(180deg, #1a100a 0%, #0d0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pwd-figure 5s ease-in-out infinite 1.5s;
}
.scn-pyramids-wife-and-daughter .fire-glow {
  position: absolute;
  bottom: 38%;
  left: 25%;
  width: 30%;
  height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #c8553d 0%, transparent 70%);
  box-shadow: 0 0 40px 20px #c8553d, 0 0 80px 40px rgba(200,85,61,0.3);
  animation: pwd-glow 3s ease-in-out infinite alternate;
}
@keyframes pwd-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes pwd-figure {
  0% { transform: translateY(0) rotate(-0.5deg); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes pwd-glow {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

.scn-pyramids-after-wife {
  background: linear-gradient(180deg, #1e1a24 0%, #2a2430 50%, #1a1420 100%),
              radial-gradient(ellipse at 50% 30%, #3a3240 0%, transparent 60%);
}
.scn-pyramids-after-wife .wall {
  position: absolute;
  inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2430 0%, #1a1420 100%);
}
.scn-pyramids-after-wife .floor {
  position: absolute;
  inset: 75% 0 0 0;
  background: linear-gradient(180deg, #1a1420 0%, #100c14 100%);
}
.scn-pyramids-after-wife .window {
  position: absolute;
  top: 20%;
  left: 35%;
  width: 30%;
  height: 40%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 20px #4a4a5a;
}
.scn-pyramids-after-wife .figure-standing {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 14%;
  height: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #0d0805 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: paw-figure 6s ease-in-out infinite;
}
.scn-pyramids-after-wife .shadow-mourn {
  position: absolute;
  bottom: 25%;
  left: 35%;
  width: 30%;
  height: 60%;
  background: radial-gradient(ellipse at 50% 100%, rgba(10,5,2,0.5) 0%, transparent 70%);
  animation: paw-shadow 8s ease-in-out infinite;
}
.scn-pyramids-after-wife .candle {
  position: absolute;
  bottom: 30%;
  left: 20%;
  width: 4%;
  height: 15%;
  background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%);
  border-radius: 10% 10% 5% 5%;
}
.scn-pyramids-after-wife .candle-glow {
  position: absolute;
  bottom: 40%;
  left: 18%;
  width: 8%;
  height: 10%;
  background: radial-gradient(circle, #d08060 0%, transparent 70%);
  box-shadow: 0 0 30px 15px #d08060, 0 0 60px 30px rgba(208,128,96,0.3);
  animation: paw-glow 4s ease-in-out infinite alternate;
}
@keyframes paw-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes paw-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes paw-glow {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

.scn-pyramids-house-details {
  background: linear-gradient(90deg, #1e1410 0%, #2a1f1a 50%, #1e1410 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a20 0%, transparent 60%);
}
.scn-pyramids-house-details .arch-door {
  position: absolute;
  bottom: 10%;
  left: 30%;
  width: 40%;
  height: 70%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 4px 8px #1a100a;
}
.scn-pyramids-house-details .left-wall {
  position: absolute;
  inset: 0 60% 0 0;
  background: linear-gradient(180deg, #3a2a20 0%, #2a1f1a 100%);
}
.scn-pyramids-house-details .right-wall {
  position: absolute;
  inset: 0 0 0 60%;
  background: linear-gradient(180deg, #3a2a20 0%, #2a1f1a 100%);
}
.scn-pyramids-house-details .floor {
  position: absolute;
  inset: 80% 0 0 0;
  background: linear-gradient(180deg, #2a1a10 0%, #1a100a 100%);
}
.scn-pyramids-house-details .rug {
  position: absolute;
  bottom: 12%;
  left: 35%;
  width: 30%;
  height: 10%;
  background: linear-gradient(90deg, #a0461a 0%, #c8553d 50%, #a0461a 100%);
  border-radius: 10% 10% 20% 20%;
  opacity: 0.8;
  animation: phd-rug 7s ease-in-out infinite alternate;
}
.scn-pyramids-house-details .side-table {
  position: absolute;
  bottom: 20%;
  right: 15%;
  width: 15%;
  height: 20%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 5% 5% 2% 2%;
  box-shadow: 0 4px 8px #1a100a;
}
.scn-pyramids-house-details .lamp {
  position: absolute;
  bottom: 38%;
  right: 18%;
  width: 6%;
  height: 8%;
  background: radial-gradient(circle, #b87878 0%, #d08060 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 10px #b87878, 0 0 40px 20px rgba(184,120,120,0.3);
  animation: phd-lamp 4s ease-in-out infinite alternate;
}
@keyframes phd-rug {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes phd-lamp {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

.scn-pyramids-yew-trees {
  background: linear-gradient(180deg, #1e2028 0%, #2a2a34 40%, #1a181e 100%),
              radial-gradient(ellipse at 50% 70%, #2a2a34 0%, transparent 50%);
}
.scn-pyramids-yew-trees .sky-bg {
  position: absolute;
  inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a28 100%);
  animation: pyt-sky 12s ease-in-out infinite alternate;
}
.scn-pyramids-yew-trees .railing {
  position: absolute;
  bottom: 25%;
  left: 5%;
  width: 90%;
  height: 5%;
  background: linear-gradient(90deg, #3a3a3a 0%, #2a2a2a 50%, #3a3a3a 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 2px 4px #1a1a1a;
}
.scn-pyramids-yew-trees .steps {
  position: absolute;
  bottom: 20%;
  left: 30%;
  width: 40%;
  height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
}
.scn-pyramids-yew-trees .yew-left {
  position: absolute;
  bottom: 25%;
  left: 20%;
  width: 12%;
  height: 35%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-radius: 10% 10% 0 0;
  animation: pyt-yew 6s ease-in-out infinite;
}
.scn-pyramids-yew-trees .yew-right {
  position: absolute;
  bottom: 25%;
  right: 20%;
  width: 12%;
  height: 35%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-radius: 10% 10% 0 0;
  animation: pyt-yew 6s ease-in-out infinite 3s;
}
.scn-pyramids-yew-trees .door {
  position: absolute;
  bottom: 23%;
  left: 40%;
  width: 20%;
  height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 5% 5% 2% 2%;
  box-shadow: inset 0 4px 8px #1a100a;
}
.scn-pyramids-yew-trees .lantern {
  position: absolute;
  bottom: 50%;
  left: 38%;
  width: 4%;
  height: 6%;
  background: radial-gradient(circle, #b87878 0%, #702243 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px 5px #b87878, 0 0 20px 10px rgba(120,34,67,0.3);
  animation: pyt-lantern 3s ease-in-out infinite alternate;
}
.scn-pyramids-yew-trees .ground {
  position: absolute;
  inset: 60% 0 0 0;
  background: linear-gradient(180deg, #1a181e 0%, #0d0c10 100%);
}
@keyframes pyt-sky {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes pyt-yew {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes pyt-lantern {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(1); }
}

.scn-mummy-found-in-arbor {
  background: linear-gradient(180deg, #0c1a2e 0%, #142840 40%, #1a3050 100%),
              radial-gradient(ellipse at 50% 0%, rgba(200,220,255,0.15) 0%, transparent 60%);
}
.scn-mummy-found-in-arbor .sky { position:absolute; inset:0; background: linear-gradient(180deg, #152a45 0%, transparent 50%); }
.scn-mummy-found-in-arbor .ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2a3a40 0%, #1a2a30 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
.scn-mummy-found-in-arbor .fence { position:absolute; bottom:30%; left:5%; right:5%; height:12%; background: linear-gradient(90deg, #1a2a2a 0%, #2a3a3a 50%, #1a2a2a 100%); border:2px solid #0a1a1a; }
.scn-mummy-found-in-arbor .gate { position:absolute; bottom:30%; left:45%; width:10%; height:14%; background: linear-gradient(135deg, #2a3a3a 0%, #3a4a4a 100%); border-radius:0 0 10% 10%; border:2px solid #1a2a2a; }
.scn-mummy-found-in-arbor .house { position:absolute; bottom:35%; left:55%; width:20%; height:30%; background: linear-gradient(180deg, #3a4a50 0%, #2a3a40 100%); border-radius: 10% 10% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.6); }
.scn-mummy-found-in-arbor .pink-window { position:absolute; bottom:48%; left:60%; width:8%; height:12%; background: radial-gradient(circle, #c89595 0%, #a06b6b 100%); border-radius: 5%; box-shadow: 0 0 30px 10px rgba(200,149,149,0.5), 0 0 60px 20px rgba(200,149,149,0.3); animation: mfa-glow 4s ease-in-out infinite alternate; }
.scn-mummy-found-in-arbor .arbor { position:absolute; bottom:25%; left:20%; width:15%; height:25%; background: linear-gradient(180deg, #2a3a30 0%, #1a2a20 100%); border-radius: 30% 30% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5); }
.scn-mummy-found-in-arbor .figures { position:absolute; bottom:20%; left:30%; width:10%; height:20%; background: radial-gradient(ellipse 50% 70% at 50% 100%, #0a1a1a 0%, transparent 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(-5deg); animation: mfa-walk 6s ease-in-out infinite; }
@keyframes mfa-glow { 0% { opacity:0.7; box-shadow: 0 0 20px 5px rgba(200,149,149,0.4); } 50% { opacity:1; box-shadow: 0 0 40px 15px rgba(200,149,149,0.7); } 100% { opacity:0.8; box-shadow: 0 0 25px 8px rgba(200,149,149,0.5); } }
@keyframes mfa-walk { 0% { transform: translateX(0) translateY(0) rotate(-5deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(-3deg); } 50% { transform: translateX(15px) translateY(0) rotate(-5deg); } 75% { transform: translateX(8px) translateY(-2px) rotate(-3deg); } 100% { transform: translateX(0) translateY(0) rotate(-5deg); } }

/* --- confront-jasher --- */
.scn-confront-jasher {
  background: linear-gradient(180deg, #0c1a2e 0%, #142840 50%, #1a3050 100%),
              radial-gradient(ellipse at 30% 20%, rgba(180,200,255,0.1) 0%, transparent 60%);
}
.scn-confront-jasher .bg-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #152a45 0%, transparent 100%); }
.scn-confront-jasher .bg-ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2a3a40 0%, #1a2a30 100%); border-radius: 40% 60% 0 0 / 30% 40% 0 0; }
.scn-confront-jasher .arbor-arch { position:absolute; bottom:30%; left:25%; width:20%; height:30%; background: linear-gradient(135deg, #2a3a30 0%, #1a2a20 100%, #2a3a30 100%); border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%; box-shadow: inset 0 -5px 15px rgba(0,0,0,0.5); animation: cja-sway 12s ease-in-out infinite; }
.scn-confront-jasher .jasher { position:absolute; bottom:22%; left:30%; width:12%; height:25%; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cja-lead 8s ease-in-out infinite; }
.scn-confront-jasher .lucy { position:absolute; bottom:22%; left:40%; width:10%; height:24%; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cja-follow 8s ease-in-out infinite; }
.scn-confront-jasher .path { position:absolute; bottom:15%; left:20%; right:20%; height:5%; background: linear-gradient(90deg, transparent, #3a4a50 20%, #4a5a60 50%, #3a4a50 80%, transparent); border-radius: 50%; filter: blur(2px); animation: cja-path 8s ease-in-out infinite; }
.scn-confront-jasher .snow-mound { position:absolute; bottom:0; left:0; right:0; height:20%; background: radial-gradient(ellipse at 30% 100%, rgba(220,240,255,0.3) 0%, transparent 60%), radial-gradient(ellipse at 70% 100%, rgba(220,240,255,0.2) 0%, transparent 50%); }
@keyframes cja-sway { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes cja-lead { 0% { transform: translateX(0) translateY(0) rotate(-3deg); } 25% { transform: translateX(5px) translateY(-2px) rotate(-1deg); } 50% { transform: translateX(10px) translateY(0) rotate(1deg); } 75% { transform: translateX(5px) translateY(-2px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(-3deg); } }
@keyframes cja-follow { 0% { transform: translateX(0) translateY(0) rotate(2deg); } 25% { transform: translateX(-3px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-5px) translateY(0) rotate(-1deg); } 75% { transform: translateX(-3px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(2deg); } }
@keyframes cja-path { 0%,100% { opacity:0.6; } 50% { opacity:0.8; } }

/* --- hope-decides-to-guard --- */
.scn-hope-decides-to-guard {
  background: linear-gradient(180deg, #0c1a2e 0%, #142840 40%, #1a3050 100%),
              radial-gradient(ellipse at 50% 30%, rgba(180,200,255,0.15) 0%, transparent 60%);
}
.scn-hope-decides-to-guard .sky { position:absolute; inset:0; background: linear-gradient(180deg, #152a45 0%, transparent 60%); }
.scn-hope-decides-to-guard .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2a3a40 0%, #1a2a30 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
.scn-hope-decides-to-guard .jasher-silhouette { position:absolute; bottom:20%; left:50%; width:14%; height:35%; background: linear-gradient(180deg, #0a1a1a 0%, #000a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: hdg-stand 6s ease-in-out infinite alternate; }
.scn-hope-decides-to-guard .gown-flap { position:absolute; bottom:28%; left:52%; width:20%; height:25%; background: linear-gradient(135deg, #1a2a2a 0%, #0a1a1a 100%); border-radius: 20% 80% 60% 20% / 40% 60% 40% 20%; transform-origin: top left; animation: hdg-flap 3s ease-in-out infinite alternate; }
.scn-hope-decides-to-guard .moonlight { position:absolute; top:10%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse at 50% 100%, rgba(220,240,255,0.3) 0%, transparent 100%); animation: hdg-moon 8s ease-in-out infinite; }
.scn-hope-decides-to-guard .snow-sparkle { position:absolute; bottom:10%; left:10%; width:80%; height:5%; background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 20%); animation: hdg-sparkle 4s ease-in-out infinite; }
.scn-hope-decides-to-guard .tree-branch { position:absolute; top:5%; right:0; width:25%; height:20%; background: linear-gradient(180deg, #1a2a20 0%, #0a1a10 100%); border-radius: 80% 0% 60% 0% / 100% 0% 40% 0%; transform: rotate(-10deg); animation: hdg-branch 15s ease-in-out infinite alternate; }
@keyframes hdg-stand { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(0deg); } 100% { transform: translateX(-50%) translateY(0) rotate(2deg); } }
@keyframes hdg-flap { 0% { transform: rotate(0deg) scaleX(1); } 100% { transform: rotate(15deg) scaleX(1.1); } }
@keyframes hdg-moon { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes hdg-sparkle { 0%,100% { opacity:0.3; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } }
@keyframes hdg-branch { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-5px); } 100% { transform: rotate(-10deg) translateY(0); } }

/* --- hope-and-jasher-alone --- */
.scn-hope-and-jasher-alone {
  background: linear-gradient(180deg, #0c1a2e 0%, #142840 50%, #1a3050 100%),
              radial-gradient(ellipse at 60% 40%, rgba(180,200,255,0.1) 0%, transparent 60%);
}
.scn-hope-and-jasher-alone .bg-night { position:absolute; inset:0; background: linear-gradient(180deg, #152a45 0%, transparent 70%); }
.scn-hope-and-jasher-alone .mummy-case { position:absolute; bottom:25%; left:40%; width:18%; height:40%; background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 10px 30px rgba(0,0,0,0.7), inset 0 0 20px rgba(0,0,0,0.5); animation: hja-bob 10s ease-in-out infinite; }
.scn-hope-and-jasher-alone .archie { position:absolute; bottom:20%; left:35%; width:12%; height:30%; background: linear-gradient(180deg, #0a1a1a 0%, #000a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(-5deg); animation: hja-archie 6s ease-in-out infinite; }
.scn-hope-and-jasher-alone .jasher-stand { position:absolute; bottom:20%; right:35%; width:13%; height:32%; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: hja-jasher 6s ease-in-out infinite; }
.scn-hope-and-jasher-alone .cigarette-glow { position:absolute; bottom:30%; left:40%; width:4%; height:4%; background: radial-gradient(circle, #ffaa60 0%, #cc6600 100%); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(255,170,96,0.6); animation: hja-glow 2s ease-in-out infinite alternate; }
.scn-hope-and-jasher-alone .moonbeam { position:absolute; top:5%; left:50%; width:2%; height:60%; background: linear-gradient(180deg, rgba(220,240,255,0.6) 0%, transparent 100%); transform: translateX(-50%); animation: hja-beam 8s ease-in-out infinite; }
.scn-hope-and-jasher-alone .shadows { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent, rgba(0,0,0,0.6) 100%); }
@keyframes hja-bob { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-5px) rotate(-1deg); } }
@keyframes hja-archie { 0% { transform: rotate(-5deg) translateX(0); } 25% { transform: rotate(-3deg) translateX(5px); } 50% { transform: rotate(-5deg) translateX(0); } 75% { transform: rotate(-7deg) translateX(-3px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes hja-jasher { 0%,100% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-3px) rotate(-2deg); } }
@keyframes hja-glow { 0% { opacity:0.7; box-shadow: 0 0 15px 5px rgba(255,170,96,0.5); } 100% { opacity:1; box-shadow: 0 0 30px 12px rgba(255,170,96,0.8); } }
@keyframes hja-beam { 0%,100% { opacity:0.5; } 50% { opacity:0.8; } }

.scn-hopes-finances {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1a 40%, #1e1410 100%);
  overflow: hidden;
}
.scn-hopes-finances .bg-wall { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 20%, #3a2a20 0%, #14100e 100%); animation: hf-wall 12s ease-in-out infinite alternate; }
.scn-hopes-finances .desk { position:absolute; bottom:10%; left:10%; right:10%; height:18%; background: linear-gradient(180deg, #4a3428 0%, #2a1a14 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,.6); }
.scn-hopes-finances .lamp-glow { position:absolute; bottom:35%; left:35%; width:40px; height:60px; background: radial-gradient(circle at 50% 10%, #d49a4a 0%, #b07030 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 60px 20px rgba(200,140,60,.4), 0 0 120px 40px rgba(200,140,60,.2); animation: hf-lamp 3s ease-in-out infinite alternate; }
.scn-hopes-finances .figure-hf { position:absolute; bottom:25%; left:40%; width:50px; height:70px; background: radial-gradient(ellipse at 50% 60%, #0e0a08 0%, #1a120e 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: hf-figure 5s ease-in-out infinite; }
.scn-hopes-finances .papers { position:absolute; bottom:14%; left:25%; width:60px; height:8px; background: linear-gradient(180deg, #d4c8a0 0%, #b8a880 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: hf-papers 6s ease-in-out infinite; }
.scn-hopes-finances .letter { position:absolute; bottom:16%; left:30%; width:40px; height:5px; background: #ded0b0; border-radius: 1px; box-shadow: 0 1px 3px rgba(0,0,0,.4); animation: hf-letter 7s ease-in-out infinite reverse; }
.scn-hopes-finances .shadow-hf { position:absolute; bottom:10%; left:35%; width:90px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: hf-shadow 5s ease-in-out infinite; }
@keyframes hf-wall { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes hf-lamp { 0% { opacity:.7; transform: scale(.95) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:.8; transform: scale(1) } }
@keyframes hf-figure { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(1px) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(1deg) } }
@keyframes hf-papers { 0%,100% { transform: translateX(0) } 50% { transform: translateX(5px) } }
@keyframes hf-letter { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-3px) rotate(-2deg) } }
@keyframes hf-shadow { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.8) } }

.scn-hopes-conscience {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d5a8 40%, #c8b080 100%);
  overflow: hidden;
}
.scn-hopes-conscience .sunbeam { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,200,.4) 0%, transparent 40%, transparent 60%, rgba(255,255,200,.1) 100%); animation: hc-beam 8s ease-in-out infinite alternate; }
.scn-hopes-conscience .table-hc { position:absolute; bottom:8%; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #8a7040 0%, #5a4430 100%); border-radius: 2% 2% 0 0; box-shadow: 0 -4px 15px rgba(0,0,0,.4); }
.scn-hopes-conscience .book { position:absolute; bottom:12%; left:20%; width:80px; height:60px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%); border-radius: 6% 6% 4% 4%; box-shadow: 0 4px 10px rgba(0,0,0,.5); animation: hc-book 10s ease-in-out infinite; }
.scn-hopes-conscience .figure-hc { position:absolute; bottom:20%; left:45%; width:55px; height:80px; background: radial-gradient(ellipse at 50% 60%, #2a1e14 0%, #140e0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: hc-figure 4s ease-in-out infinite; }
.scn-hopes-conscience .motes { position:absolute; top:10%; left:0; width:100%; height:80%; background: radial-gradient(circle at 20% 40%, rgba(255,255,200,.6) 0%, transparent 50%), radial-gradient(circle at 80% 60%, rgba(255,255,200,.4) 0%, transparent 50%), radial-gradient(circle at 50% 30%, rgba(255,255,200,.3) 0%, transparent 50%); animation: hc-motes 20s linear infinite; }
.scn-hopes-conscience .clock { position:absolute; top:15%; right:10%; width:30px; height:30px; border: 3px solid #8a7040; border-radius: 50%; background: radial-gradient(circle, #f0e0c0 0%, #d0b890 100%); animation: hc-clock 6s ease-in-out infinite; }
@keyframes hc-beam { 0% { opacity:.5; transform: translateX(-5%) } 50% { opacity:.8; transform: translateX(5%) } 100% { opacity:.6; transform: translateX(-2%) } }
@keyframes hc-book { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes hc-figure { 0% { transform: translateY(0) rotate(0) } 20% { transform: translateY(-3px) rotate(3deg) } 40% { transform: translateY(2px) rotate(-2deg) } 60% { transform: translateY(-1px) rotate(1deg) } 80% { transform: translateY(1px) rotate(0) } 100% { transform: translateY(0) } }
@keyframes hc-motes { 0% { transform: translateY(0); opacity:.6 } 50% { transform: translateY(-20px); opacity:1 } 100% { transform: translateY(-40px); opacity:.4 } }
@keyframes hc-clock { 0%,100% { transform: rotate(0) } 50% { transform: rotate(180deg) } }

.scn-kitchen-garden-confession {
  background: linear-gradient(180deg, #c8b080 0%, #e8d5a8 30%, #a8b890 100%);
  overflow: hidden;
}
.scn-kitchen-garden-confession .wall { position:absolute; bottom:35%; left:0; right:0; height:65%; background: linear-gradient(180deg, #7a6040 0%, #5a4428 40%, #4a3420 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; box-shadow: inset 0 8px 20px rgba(0,0,0,.4); animation: kg-wall 15s ease-in-out infinite alternate; }
.scn-kitchen-garden-confession .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #8a7a50 0%, #6a5a30 100%); }
.scn-kitchen-garden-confession .hope-fig { position:absolute; bottom:15%; left:30%; width:40px; height:70px; background: radial-gradient(ellipse at 50% 60%, #3a2a14 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: kg-fig1 4s ease-in-out infinite; }
.scn-kitchen-garden-confession .archie-fig { position:absolute; bottom:18%; left:55%; width:45px; height:75px; background: radial-gradient(ellipse at 50% 60%, #4a3420 0%, #2a1e10 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: kg-fig2 4.5s ease-in-out infinite backwards; }
.scn-kitchen-garden-confession .cane { position:absolute; bottom:22%; left:48%; width:4px; height:50px; background: linear-gradient(180deg, #8a6a40 0%, #5a4420 100%); border-radius: 2px; transform: rotate(15deg); transform-origin: bottom center; animation: kg-cane 3s ease-in-out infinite alternate; }
.scn-kitchen-garden-confession .vine { position:absolute; top:20%; left:10%; width:6px; height:40%; background: linear-gradient(180deg, #3a5a30 0%, #2a4a20 100%); border-radius: 50% 50% 0 0; transform: rotate(-10deg); animation: kg-vine 6s ease-in-out infinite; }
.scn-kitchen-garden-confession .leaf-drift { position:absolute; top:10%; left:5%; width:20px; height:10px; background: radial-gradient(ellipse, #7a8a40 0%, #4a5a20 100%); border-radius: 50%; filter: blur(2px); animation: kg-leaf 12s linear infinite; }
@keyframes kg-wall { 0% { transform: scaleY(1); opacity:.9 } 50% { transform: scaleY(1.02); opacity:1 } 100% { transform: scaleY(.98); opacity:.85 } }
@keyframes kg-fig1 { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(-2deg) } 50% { transform: translateY(1px) rotate(1deg) } 75% { transform: translateY(-1px) rotate(0) } }
@keyframes kg-fig2 { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-3px) rotate(3deg) } 50% { transform: translateY(2px) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(1deg) } }
@keyframes kg-cane { 0% { transform: rotate(12deg) } 100% { transform: rotate(18deg) } }
@keyframes kg-vine { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(0deg) } }
@keyframes kg-leaf { 0% { transform: translate(0,0) rotate(0); opacity:.6 } 25% { transform: translate(20px,-10px) rotate(45deg); opacity:.8 } 50% { transform: translate(40px,0) rotate(90deg); opacity:.5 } 75% { transform: translate(60px,-5px) rotate(135deg); opacity:.7 } 100% { transform: translate(80px,10px) rotate(180deg); opacity:.4 } }

.scn-lucy-reassures {
  background: linear-gradient(180deg, #f0d8b0 0%, #e8c8a0 40%, #d4a880 100%);
  overflow: hidden;
}
.scn-lucy-reassures .soft-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, #f8e8d0 0%, #e8c8a0 50%, transparent 100%); animation: lr-bg 10s ease-in-out infinite alternate; }
.scn-lucy-reassures .lucy-shape { position:absolute; bottom:20%; left:35%; width:60px; height:90px; background: radial-gradient(ellipse at 50% 60%, #d4a080 0%, #b87860 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: lr-lucy 6s ease-in-out infinite; }
.scn-lucy-reassures .archie-shape { position:absolute; bottom:22%; left:55%; width:50px; height:80px; background: radial-gradient(ellipse at 50% 60%, #8a6a50 0%, #5a4430 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: lr-archie 5s ease-in-out infinite reverse; }
.scn-lucy-reassures .dust-speck { position:absolute; top:30%; left:40%; width:6px; height:6px; background: radial-gradient(circle, #ffe0a0 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 10px 2px #ffe0a0, 0 0 20px 4px rgba(255,224,160,.4); animation: lr-dust 4s ease-in-out infinite alternate; }
.scn-lucy-reassures .window-lr { position:absolute; top:8%; left:15%; width:60px; height:80px; background: linear-gradient(180deg, #d0d8e0 0%, #a0b0c0 100%); border: 6px solid #8a6a50; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,224,160,.3), 0 4px 10px rgba(0,0,0,.2); animation: lr-window 8s ease-in-out infinite; }
.scn-lucy-reassures .warm-halo { position:absolute; bottom:15%; left:30%; width:120px; height:120px; background: radial-gradient(circle, rgba(255,224,160,.3) 0%, transparent 70%); border-radius: 50%; animation: lr-halo 6s ease-in-out infinite alternate; }
@keyframes lr-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes lr-lucy { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(1px) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(1deg) } }
@keyframes lr-archie { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(2px) rotate(-1deg) } 50% { transform: translateY(-1px) rotate(1deg) } 75% { transform: translateY(1px) rotate(0) } }
@keyframes lr-dust { 0% { transform: translate(0,0) scale(1); opacity:.6 } 50% { transform: translate(5px,-8px) scale(1.3); opacity:1 } 100% { transform: translate(-3px,-4px) scale(.9); opacity:.5 } }
@keyframes lr-window { 0%,100% { transform: scaleX(1); opacity:.8 } 50% { transform: scaleX(1.05); opacity:1 } }
@keyframes lr-halo { 0% { transform: scale(.95) translateX(-2%); opacity:.5 } 50% { transform: scale(1.05) translateX(2%); opacity:.8 } 100% { transform: scale(1) translateX(0); opacity:.6 } }

.scn-speculation-on-thief {
  background: linear-gradient(180deg, #b8c5b2 0%, #8a9a82 30%, #5e6e5a 70%, #2a3728 100%),
              radial-gradient(ellipse at 50% 30%, #c8d8c2 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-speculation-on-thief .room-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #3f4a3a 0%, #1e2a1a 100%);
  opacity: 0.6;
}
.scn-speculation-on-thief .window-light {
  position: absolute;
  top: 5%;
  left: 20%;
  width: 40%;
  height: 50%;
  background: linear-gradient(180deg, rgba(220,230,210,0.5) 0%, rgba(160,180,150,0.2) 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 60px rgba(200,220,190,0.3);
  animation: sth-window 12s ease-in-out infinite alternate;
}
.scn-speculation-on-thief .mummy-case {
  position: absolute;
  bottom: 15%;
  left: 35%;
  width: 20%;
  height: 50%;
  background: linear-gradient(180deg, #6a5242 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  transform: rotate(2deg);
  animation: sth-mummy 15s ease-in-out infinite;
}
.scn-speculation-on-thief .thief-shadow {
  position: absolute;
  bottom: 8%;
  left: 50%;
  width: 12%;
  height: 60%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 50% 50%;
  transform: translateX(-50%) scaleX(0.8);
  animation: sth-thief 8s ease-in-out infinite alternate;
}
.scn-speculation-on-thief .table {
  position: absolute;
  bottom: 5%;
  left: 25%;
  width: 50%;
  height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: sth-table 20s ease-in-out infinite;
}
.scn-speculation-on-thief .dust-particles {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(200,200,180,0.05) 0%, transparent 50%);
  animation: sth-dust 25s linear infinite;
}
@keyframes sth-window {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: 0.7; transform: scaleY(0.95); }
}
@keyframes sth-mummy {
  0% { transform: rotate(2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-4px); }
  100% { transform: rotate(3deg) translateY(2px); }
}
@keyframes sth-thief {
  0% { transform: translateX(-50%) scaleX(0.8) rotate(-2deg); }
  50% { transform: translateX(-45%) scaleX(0.85) rotate(1deg); }
  100% { transform: translateX(-55%) scaleX(0.75) rotate(-1deg); }
}
@keyframes sth-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(1px); }
}
@keyframes sth-dust {
  0% { background-position: 0% 0%; }
  50% { background-position: 50% 100%; }
  100% { background-position: 100% 0%; }
}

.scn-hopes-reaction {
  background: linear-gradient(180deg, #b0b8a8 0%, #7a8a72 40%, #4a5a42 100%),
              radial-gradient(ellipse at 50% 20%, #d0d8c8 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-hopes-reaction .study-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #3a4a32 0%, #1a2a12 100%);
  opacity: 0.7;
}
.scn-hopes-reaction .wall-panel {
  position: absolute;
  top: 5%;
  left: 10%;
  width: 80%;
  height: 60%;
  background: linear-gradient(180deg, #5a6a52 0%, #3a4a32 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.3);
  animation: hpr-panel 20s ease-in-out infinite alternate;
}
.scn-hopes-reaction .desk {
  position: absolute;
  bottom: 12%;
  left: 15%;
  width: 70%;
  height: 15%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4%;
  box-shadow: 0 6px 15px rgba(0,0,0,0.5);
  animation: hpr-desk 18s ease-in-out infinite;
}
.scn-hopes-reaction .hope-silhouette {
  position: absolute;
  bottom: 18%;
  left: 25%;
  width: 10%;
  height: 55%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  transform: rotate(-5deg);
  animation: hpr-hope 10s ease-in-out infinite alternate;
}
.scn-hopes-reaction .professor-silhouette {
  position: absolute;
  bottom: 18%;
  right: 25%;
  width: 12%;
  height: 55%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  transform: rotate(5deg) scaleX(1.1);
  animation: hpr-prof 12s ease-in-out infinite alternate;
}
.scn-hopes-reaction .newspaper {
  position: absolute;
  bottom: 28%;
  left: 42%;
  width: 16%;
  height: 20%;
  background: linear-gradient(135deg, #d0c8b0 0%, #b0a890 100%);
  border-radius: 2%;
  transform: rotate(-2deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: hpr-news 30s ease-in-out infinite;
}
@keyframes hpr-panel {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.9; transform: scaleX(0.98); }
}
@keyframes hpr-desk {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(2px) rotate(-0.5deg); }
}
@keyframes hpr-hope {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-5px); }
  100% { transform: rotate(-6deg) translateY(3px); }
}
@keyframes hpr-prof {
  0% { transform: rotate(5deg) scaleX(1.1) translateY(0); }
  50% { transform: rotate(3deg) scaleX(1.05) translateY(-6px); }
  100% { transform: rotate(6deg) scaleX(1.15) translateY(2px); }
}
@keyframes hpr-news {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(0deg) scale(1.03); }
  100% { transform: rotate(-3deg) scale(0.98); }
}

.scn-inquest-opening {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 60%, #5a3a2a 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-inquest-opening .courtroom-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 50%, #0a0500 100%);
  opacity: 0.8;
}
.scn-inquest-opening .judge-bench {
  position: absolute;
  top: 5%;
  left: 20%;
  width: 60%;
  height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 15px rgba(0,0,0,0.6);
  animation: inqo-bench 25s ease-in-out infinite alternate;
}
.scn-inquest-opening .coroner-figure {
  position: absolute;
  top: 12%;
  left: 38%;
  width: 20%;
  height: 60%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scale(0.9);
  animation: inqo-coroner 8s ease-in-out infinite alternate;
}
.scn-inquest-opening .table {
  position: absolute;
  bottom: 25%;
  left: 15%;
  width: 70%;
  height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: inqo-table 30s ease-in-out infinite;
}
.scn-inquest-opening .papers {
  position: absolute;
  bottom: 35%;
  left: 30%;
  width: 12%;
  height: 14%;
  background: linear-gradient(135deg, #c0b8a0 0%, #a09880 100%);
  border-radius: 2%;
  transform: rotate(4deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: inqo-papers 15s ease-in-out infinite;
}
.scn-inquest-opening .lamplight {
  position: absolute;
  top: 0;
  left: 40%;
  width: 20%;
  height: 50%;
  background: radial-gradient(ellipse at 50% 0%, rgba(200,180,120,0.4) 0%, transparent 70%);
  animation: inqo-lamp 6s ease-in-out infinite alternate;
}
.scn-inquest-opening .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
@keyframes inqo-bench {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.01); }
  100% { transform: translateY(1px) scale(0.99); }
}
@keyframes inqo-coroner {
  0% { transform: scale(0.9) rotate(-2deg); }
  50% { transform: scale(0.92) rotate(0deg); }
  100% { transform: scale(0.88) rotate(1deg); }
}
@keyframes inqo-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(2px); }
}
@keyframes inqo-papers {
  0% { transform: rotate(4deg) scale(1); }
  50% { transform: rotate(6deg) scale(1.05); }
  100% { transform: rotate(2deg) scale(0.95); }
}
@keyframes inqo-lamp {
  0% { opacity: 0.7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.1); }
  100% { opacity: 0.8; transform: scaleY(0.9); }
}

.scn-inquest-sparring {
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 40%, #050200 100%),
              radial-gradient(ellipse at 50% 30%, #2a1a0a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-inquest-sparring .courtroom-bg-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0a0500 0%, #050200 100%);
  opacity: 0.9;
}
.scn-inquest-sparring .floor-stripes {
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 80%;
  height: 25%;
  background: repeating-linear-gradient(90deg, #2a1a0a 0px, #1a0a00 4px, transparent 4px, transparent 8px);
  opacity: 0.4;
  animation: inqs-stripes 10s linear infinite;
}
.scn-inquest-sparring .inspector-figure {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 20%;
  height: 70%;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  transform: rotate(-8deg);
  box-shadow: 0 0 20px rgba(0,0,0,0.7);
  animation: inqs-inspector 4s ease-in-out infinite alternate;
}
.scn-inquest-sparring .coroner-figure {
  position: absolute;
  bottom: 20%;
  right: 20%;
  width: 20%;
  height: 65%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(8deg) scaleX(0.9);
  box-shadow: 0 0 20px rgba(0,0,0,0.7);
  animation: inqs-coroner 4.5s ease-in-out infinite alternate;
}
.scn-inquest-sparring .tension-line-left {
  position: absolute;
  top: 30%;
  left: 0;
  width: 30%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #5a3a2a, transparent);
  animation: inqs-tl 3s ease-in-out infinite;
}
.scn-inquest-sparring .tension-line-right {
  position: absolute;
  top: 30%;
  right: 0;
  width: 30%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #5a3a2a, transparent);
  animation: inqs-tr 3.3s ease-in-out infinite;
}
@keyframes inqs-stripes {
  0% { transform: translateX(0); }
  50% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}
@keyframes inqs-inspector {
  0% { transform: rotate(-8deg) translateX(0); }
  50% { transform: rotate(-4deg) translateX(5px); }
  100% { transform: rotate(-10deg) translateX(-3px); }
}
@keyframes inqs-coroner {
  0% { transform: rotate(8deg) scaleX(0.9) translateX(0); }
  50% { transform: rotate(5deg) scaleX(0.95) translateX(-5px); }
  100% { transform: rotate(10deg) scaleX(0.85) translateX(3px); }
}
@keyframes inqs-tl {
  0% { opacity: 0; transform: scaleX(0); }
  50% { opacity: 0.8; transform: scaleX(1); }
  100% { opacity: 0; transform: scaleX(0); }
}
@keyframes inqs-tr {
  0% { opacity: 0; transform: scaleX(0); }
  50% { opacity: 0.8; transform: scaleX(1); }
  100% { opacity: 0; transform: scaleX(0); }
}

.scn-lane-romance-opener { background: linear-gradient(180deg, #fce8c0 0%, #f5d2a0 30%, #e8b060 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 70%); }
.scn-lane-romance-opener .sky  { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #bfd9f0 0%, #e8d4a0 100%); animation: lro-sky 12s ease-in-out infinite; }
.scn-lane-romance-opener .sun  { position:absolute; top:12%; left:70%; width:60px; height:60px; background: radial-gradient(circle, #fff8c0 0%, #f5d050 60%, transparent 100%); border-radius:50%; filter: blur(2px); animation: lro-sun 8s ease-in-out infinite; }
.scn-lane-romance-opener .hills{ position:absolute; bottom:30%; left:0; right:0; height:20%; background: linear-gradient(180deg, #8a9a6a 0%, #6a7a4a 100%); border-radius: 30% 70% 0 0 / 60% 50% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.15); animation: lro-hills 20s ease-in-out infinite alternate; }
.scn-lane-romance-opener .path    { position:absolute; bottom:20%; left:30%; width:40%; height:12%; background: linear-gradient(90deg, transparent, #b09a70 20%, #b09a70 80%, transparent); border-radius: 50% 50% 0 0 / 100% 100% 0 0; filter: blur(1px); }
.scn-lane-romance-opener .woman   { position:absolute; bottom:25%; left:40%; width:20px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: lro-woman 3s ease-in-out infinite; }
.scn-lane-romance-opener .man     { position:absolute; bottom:25%; left:50%; width:22px; height:44px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: lro-man 3.2s ease-in-out infinite; }
.scn-lane-romance-opener .flowers { position:absolute; bottom:22%; left:35%; width:40px; height:20px; background: radial-gradient(ellipse, #d08050 0%, #c07040 40%, transparent 70%); filter: blur(2px); animation: lro-flowers 5s ease-in-out infinite; }
.scn-lane-romance-opener .glow    { position:absolute; top:30%; left:0; width:100%; height:40%; background: radial-gradient(ellipse at 50% 100%, #ffe8a0 0%, transparent 60%); pointer-events: none; animation: lro-glow 6s ease-in-out infinite; }
@keyframes lro-sky    { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes lro-sun    { 0%,100% { transform: scale(1) } 50% { transform: scale(1.08) } }
@keyframes lro-hills  { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes lro-woman  { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-2deg) translateY(-1px) } }
@keyframes lro-man    { 0%,100% { transform: rotate(0) } 50% { transform: rotate(2deg) translateY(-1px) } }
@keyframes lro-flowers{ 0%,100% { opacity:.7 } 50% { opacity:1 } }
@keyframes lro-glow   { 0%,100% { opacity:.5 } 50% { opacity:.9 } }

.scn-lane-philosophy { background: linear-gradient(180deg, #dce8f0 0%, #c0d0e0 40%, #a0b8c8 100%), radial-gradient(ellipse at 50% 0%, #e0f0ff 0%, transparent 70%); }
.scn-lane-philosophy .sky   { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #c8d8e8 0%, transparent 100%); animation: lph-sky 15s ease-in-out infinite alternate; }
.scn-lane-philosophy .tree  { position:absolute; bottom:40%; left:15%; width:100px; height:120px; background: radial-gradient(ellipse at 50% 100%, #6a7a4a 0%, #4a5a2a 70%, transparent 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom; animation: lph-tree 20s ease-in-out infinite; }
.scn-lane-philosophy .bench { position:absolute; bottom:20%; left:35%; width:60px; height:20px; background: linear-gradient(90deg, #8a6a5a 0%, #6a4a3a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: lph-bench 8s ease-in-out infinite; }
.scn-lane-philosophy .figure{ position:absolute; bottom:26%; left:40%; width:18px; height:38px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: lph-figure 4s ease-in-out infinite; }
.scn-lane-philosophy .book  { position:absolute; bottom:28%; left:42%; width:14px; height:10px; background: linear-gradient(180deg, #c8a080 0%, #a08060 100%); border-radius: 4% 4% 6% 6%; transform: rotate(-5deg); animation: lph-book 5s ease-in-out infinite; }
.scn-lane-philosophy .shadow{ position:absolute; bottom:20%; left:38%; width:30px; height:8px; background: rgba(0,0,0,0.15); border-radius: 50%; filter: blur(3px); animation: lph-shadow 4s ease-in-out infinite; }
.scn-lane-philosophy .grass { position:absolute; bottom:0%; left:0; width:100%; height:20%; background: linear-gradient(180deg, #8a9a5a 0%, #6a7a3a 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; animation: lph-grass 25s ease-in-out infinite alternate; }
@keyframes lph-tree   { 0%,100% { transform: rotate(0) } 50% { transform: rotate(1deg) } }
@keyframes lph-bench  { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes lph-figure { 0%,100% { transform: rotate(0) } 25% { transform: rotate(-1deg) translateY(-1px) } 75% { transform: rotate(1deg) translateY(-1px) } }
@keyframes lph-book   { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(-3deg) translateY(-1px) } }
@keyframes lph-shadow { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.15) } }
@keyframes lph-grass  { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }

.scn-lane-changing-weather { background: linear-gradient(180deg, #f0e0b0 0%, #d8c090 30%, #b09870 100%), radial-gradient(ellipse at 50% 0%, #fff8d0 0%, transparent 60%); }
.scn-lane-changing-weather .sky      { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #c8d8e0 0%, #e8d8b0 100%); animation: lcw-sky 16s ease-in-out infinite alternate; }
.scn-lane-changing-weather .field    { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #b0a050 0%, #908030 100%); border-radius: 20% 30% 0 0 / 40% 50% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.1); }
.scn-lane-changing-weather .haystack1{ position:absolute; bottom:30%; left:20%; width:40px; height:30px; background: radial-gradient(ellipse at 50% 100%, #c8a050 0%, #a08030 60%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scale(0.95); animation: lcw-hay1 10s ease-in-out infinite; }
.scn-lane-changing-weather .haystack2{ position:absolute; bottom:28%; left:60%; width:50px; height:38px; background: radial-gradient(ellipse at 50% 100%, #c8a050 0%, #a08030 60%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: lcw-hay2 12s ease-in-out infinite; }
.scn-lane-changing-weather .hedge    { position:absolute; bottom:22%; left:0; width:100%; height:12%; background: #7a8a4a; border-radius: 20% 30% 0 0 / 60% 70% 0 0; box-shadow: inset 0 -4px 6px rgba(0,0,0,.2); animation: lcw-hedge 15s ease-in-out infinite; }
.scn-lane-changing-weather .leaf1    { position:absolute; top:20%; left:30%; width:12px; height:8px; background: #c88040; border-radius: 0 80% 80% 80%; transform: rotate(-30deg); animation: lcw-leaf1 6s linear infinite; }
.scn-lane-changing-weather .leaf2    { position:absolute; top:30%; left:70%; width:10px; height:6px; background: #b07030; border-radius: 0 80% 80% 80%; transform: rotate(15deg); animation: lcw-leaf2 8s linear infinite; animation-delay: -2s; }
.scn-lane-changing-weather .sunrays  { position:absolute; top:0; left:30%; width:40%; height:80%; background: linear-gradient(135deg, rgba(255,230,150,0.3) 0%, transparent 50%, rgba(255,230,150,0.1) 100%); pointer-events: none; animation: lcw-rays 7s ease-in-out infinite; }
@keyframes lcw-sky   { 0%,100% { opacity:.9 } 33% { opacity:.85 } 66% { opacity:.95 } }
@keyframes lcw-hay1  { 0%,100% { transform: scale(0.95) rotate(0) } 50% { transform: scale(1) rotate(1deg) } }
@keyframes lcw-hay2  { 0%,100% { transform: scale(1) rotate(0) } 50% { transform: scale(0.95) rotate(-1deg) } }
@keyframes lcw-hedge { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes lcw-leaf1 { 0% { transform: translateX(0) rotate(-30deg); opacity:1 } 50% { transform: translateX(40px) rotate(10deg); opacity:.8 } 100% { transform: translateX(80px) rotate(50deg); opacity:0 } }
@keyframes lcw-leaf2 { 0% { transform: translateX(0) rotate(15deg); opacity:1 } 50% { transform: translateX(-30px) rotate(-20deg); opacity:.8 } 100% { transform: translateX(-60px) rotate(-50deg); opacity:0 } }
@keyframes lcw-rays  { 0%,100% { opacity:.5 } 50% { opacity:.8 } }

.scn-lane-to-marshland { background: linear-gradient(180deg, #d0dce8 0%, #b8c8d8 30%, #90a8b8 100%), radial-gradient(ellipse at 50% 100%, #a0b8c8 0%, transparent 70%); }
.scn-lane-to-marshland .sky   { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #c8d8e8 0%, #d0e0f0 100%); animation: ltm-sky 18s ease-in-out infinite alternate; }
.scn-lane-to-marshland .water { position:absolute; bottom:10%; left:0; right:0; height:40%; background: linear-gradient(180deg, #8aa8b8 0%, #6a8898 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.15); animation: ltm-water 25s ease-in-out infinite; }
.scn-lane-to-marshland .marsh { position:absolute; bottom:35%; left:0; right:0; height:15%; background: linear-gradient(180deg, #7a8a5a 0%, #5a6a3a 100%); border-radius: 30% 40% 0 0 / 60% 70% 0 0; }
.scn-lane-to-marshland .dyke  { position:absolute; bottom:38%; left:30%; width:4%; height:10%; background: #4a5a2a; border-radius: 10% 10% 0 0; box-shadow: 0 4px 4px rgba(0,0,0,.2); animation: ltm-dyke 14s ease-in-out infinite; }
.scn-lane-to-marshland .fence { position:absolute; bottom:40%; left:10%; width:80%; height:2px; background: #3a4a1a; border-radius: 0; box-shadow: 0 -6px 0 #3a4a1a, 0 6px 0 #3a4a1a; animation: ltm-fence 30s linear infinite; }
.scn-lane-to-marshland .tree1 { position:absolute; bottom:38%; left:50%; width:16px; height:40px; background: radial-gradient(ellipse at 50% 100%, #4a5a2a 0%, #2a3a0a 70%, transparent 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom; animation: ltm-tree1 9s ease-in-out infinite; }
.scn-lane-to-marshland .tree2 { position:absolute; bottom:36%; left:70%; width:12px; height:30px; background: radial-gradient(ellipse at 50% 100%, #5a6a3a 0%, #3a4a1a 70%, transparent 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom; animation: ltm-tree2 7s ease-in-out infinite; animation-delay: -3s; }
.scn-lane-to-marshland .mist  { position:absolute; top:20%; left:0; width:100%; height:30%; background: radial-gradient(ellipse, rgba(200,220,240,0.4) 0%, transparent 70%); filter: blur(10px); animation: ltm-mist 40s linear infinite; }
@keyframes ltm-sky   { 0%,100% { opacity:.9 } 50% { opacity:1 } }
@keyframes ltm-water { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes ltm-dyke  { 0%,100% { transform: rotate(0) } 50% { transform: rotate(2deg) } }
@keyframes ltm-fence { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes ltm-tree1 { 0%,100% { transform: rotate(0) } 50% { transform: rotate(2deg) } }
@keyframes ltm-tree2 { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-3deg) } }
@keyframes ltm-mist  { 0% { transform: translateX(-20px) } 100% { transform: translateX(20px) } }

/* Scene: hopes-lodgings-morning */
.scn-hopes-lodgings-morning { background: linear-gradient(180deg, #e8d4b8 0%, #d6bc9a 40%, #b89a7a 100%), radial-gradient(ellipse at 30% 20%, #f5e6d0 0%, transparent 60%); }
.scn-hopes-lodgings-morning .wall    { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #e0c8aa 0%, #ccb090 100%); box-shadow: inset 0 0 60px rgba(90,70,50,0.15); }
.scn-hopes-lodgings-morning .window-frame { position: absolute; top: 8%; left: 60%; width: 28%; height: 50%; border: 3px solid #8a6e52; background: transparent; border-radius: 4px; box-shadow: 0 0 30px rgba(255,220,160,0.3); }
.scn-hopes-lodgings-morning .dawn-sky { position: absolute; top: 10%; left: 62%; width: 24%; height: 46%; background: linear-gradient(180deg, #ffd9a3 0%, #ffb07a 50%, #d68a5a 100%); border-radius: 4px; animation: hpl-dawn 15s ease-in-out infinite alternate; }
.scn-hopes-lodgings-morning .table   { position: absolute; bottom: 18%; left: 15%; width: 65%; height: 14%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.4); }
.scn-hopes-lodgings-morning .papers  { position: absolute; bottom: 24%; left: 30%; width: 30%; height: 8%; background: linear-gradient(135deg, #f5e6c8 0%, #e0caa0 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transform: rotate(2deg); animation: hpl-papers 8s ease-in-out infinite; }
.scn-hopes-lodgings-morning .figure  { position: absolute; bottom: 15%; left: 35%; width: 16px; height: 38px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hpl-figure 6s ease-in-out infinite alternate; }
.scn-hopes-lodgings-morning .lamp    { position: absolute; bottom: 28%; left: 48%; width: 8px; height: 14px; background: radial-gradient(circle, #ffe8b0 0%, #d0a060 70%); border-radius: 50%; box-shadow: 0 0 20px 8px #e0b080, 0 0 40px 16px rgba(220,160,100,0.3); animation: hpl-lamp 4s ease-in-out infinite alternate; }
.scn-hopes-lodgings-morning .shadow  { position: absolute; bottom: 14%; left: 20%; width: 50%; height: 10%; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 100%); }
@keyframes hpl-dawn    { 0% { opacity: 0.7; filter: brightness(0.9); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: 0.85; filter: brightness(1); } }
@keyframes hpl-papers  { 0%, 100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } }
@keyframes hpl-figure  { 0% { transform: translateX(0) rotate(-2deg); } 100% { transform: translateX(6px) rotate(2deg); } }
@keyframes hpl-lamp    { 0% { box-shadow: 0 0 15px 5px #d0a060; opacity: 0.8; } 100% { box-shadow: 0 0 30px 12px #ffd090; opacity: 1; } }

/* Scene: sidney-revelation */
.scn-sidney-revelation { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 50%, #1e1e32 100%), radial-gradient(ellipse at 50% 30%, #3a3a5a 0%, transparent 70%); }
.scn-sidney-revelation .dark-room { position: absolute; inset: 0; background: radial-gradient(ellipse at 40% 50%, #2a2a40 0%, #12121a 100%); }
.scn-sidney-revelation .desk     { position: absolute; bottom: 10%; left: 10%; width: 75%; height: 20%; background: linear-gradient(180deg, #4a3830 0%, #3a2820 100%); border-radius: 6px 6px 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.6); }
.scn-sidney-revelation .candle   { position: absolute; bottom: 28%; left: 50%; width: 6px; height: 18px; background: linear-gradient(180deg, #f0d090 0%, #c09040 100%); border-radius: 50% 50% 2px 2px; box-shadow: 0 0 30px 12px #d0a050, 0 0 60px 24px rgba(200,140,60,0.3); animation: sdr-candle 3s ease-in-out infinite alternate; }
.scn-sidney-revelation .documents{ position: absolute; bottom: 18%; left: 20%; width: 40%; height: 8%; background: linear-gradient(135deg, #ece0c0 0%, #c8b890 100%); border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: sdr-docs 7s ease-in-out infinite; }
.scn-sidney-revelation .figure-s { position: absolute; bottom: 8%; left: 30%; width: 18px; height: 42px; background: linear-gradient(180deg, #2a2a3e 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sdr-figs 5s ease-in-out infinite alternate; }
.scn-sidney-revelation .figure-b { position: absolute; bottom: 10%; right: 20%; width: 20px; height: 44px; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sdr-figb 6s ease-in-out infinite alternate; }
.scn-sidney-revelation .shelf    { position: absolute; top: 15%; left: 5%; width: 12%; height: 55%; background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%); border-radius: 4px; box-shadow: 0 0 10px rgba(0,0,0,0.5); }
.scn-sidney-revelation .mummy-shape { position: absolute; top: 18%; left: 6%; width: 8%; height: 35%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 30% 30% 20% 20%; filter: blur(1px); opacity: 0.7; animation: sdr-mummy 12s ease-in-out infinite; }
@keyframes sdr-candle  { 0% { transform: scaleY(1) scaleX(1); filter: brightness(0.9); } 50% { transform: scaleY(1.1) scaleX(0.95); filter: brightness(1.2); } 100% { transform: scaleY(1) scaleX(1); filter: brightness(1); } }
@keyframes sdr-docs    { 0%, 100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-1px); } }
@keyframes sdr-figs    { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes sdr-figb    { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes sdr-mummy   { 0%, 100% { opacity: 0.6; filter: blur(1px); } 50% { opacity: 0.9; filter: blur(0); } }

/* Scene: discovery-of-manuscript */
.scn-discovery-of-manuscript { background: linear-gradient(180deg, #1c1c3a 0%, #2c2c4e 40%, #1a1a2c 100%), radial-gradient(ellipse at 60% 30%, #3c3c6a 0%, transparent 60%); }
.scn-discovery-of-manuscript .study-wall { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 20%, #2a2a44 0%, #101018 100%); }
.scn-discovery-of-manuscript .bookshelf { position: absolute; top: 10%; left: 5%; width: 20%; height: 75%; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 6px; box-shadow: 0 0 15px rgba(0,0,0,0.6); }
.scn-discovery-of-manuscript .desk-lamp { position: absolute; bottom: 30%; left: 50%; width: 8px; height: 20px; background: linear-gradient(180deg, #c8a050 0%, #806030 100%); border-radius: 50% 50% 2px 2px; box-shadow: 0 0 40px 18px #906030, 0 0 80px 30px rgba(160,100,40,0.3); animation: dms-lamp 4s ease-in-out infinite alternate; }
.scn-discovery-of-manuscript .manuscript { position: absolute; bottom: 15%; left: 25%; width: 50%; height: 12%; background: linear-gradient(135deg, #f5e8c0 0%, #d0be90 100%); border-radius: 2px; transform: rotate(1deg); box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: dms-manuscript 8s ease-in-out infinite; }
.scn-discovery-of-manuscript .hands     { position: absolute; bottom: 20%; left: 35%; width: 20px; height: 20px; background: radial-gradient(circle at 50% 50%, #d0b090 0%, #a08060 100%); border-radius: 50%; transform: scale(0.8); box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: dms-hands 6s ease-in-out infinite alternate; }
.scn-discovery-of-manuscript .figure-sidney { position: absolute; bottom: 8%; left: 30%; width: 18px; height: 44px; background: linear-gradient(180deg, #2a2a3e 0%, #101020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dms-figure 5s ease-in-out infinite alternate; }
.scn-discovery-of-manuscript .inkwell   { position: absolute; bottom: 18%; left: 18%; width: 10px; height: 12px; background: radial-gradient(circle at 40% 30%, #3a2a2a 0%, #0a0a0a 100%); border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,0.6); }
@keyframes dms-lamp    { 0% { transform: scaleY(1); filter: brightness(0.8); } 100% { transform: scaleY(1.15); filter: brightness(1.2); } }
@keyframes dms-manuscript { 0%, 100% { transform: rotate(1deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } }
@keyframes dms-hands   { 0% { transform: scale(0.8) translateY(0); } 100% { transform: scale(0.9) translateY(-3px); } }
@keyframes dms-figure  { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }

/* Scene: hope-loan-arrangement */
.scn-hope-loan-arrangement { background: linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 40%, #1a0e0e 100%), radial-gradient(ellipse at 40% 50%, #4a2a2a 0%, transparent 70%); }
.scn-hope-loan-arrangement .parlour-wall { position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 40%, #3a2a2a 0%, #1a1010 100%); }
.scn-hope-loan-arrangement .curtain   { position: absolute; top: 0; left: 60%; width: 40%; height: 100%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-left: 2px solid #2a1a0a; opacity: 0.7; animation: hlo-curtain 12s ease-in-out infinite alternate; }
.scn-hope-loan-arrangement .floor     { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); box-shadow: 0 -4px 10px rgba(0,0,0,0.5); }
.scn-hope-loan-arrangement .side-table{ position: absolute; bottom: 12%; left: 10%; width: 20%; height: 16%; background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); }
.scn-hope-loan-arrangement .figure-archie { position: absolute; bottom: 5%; left: 20%; width: 20px; height: 46px; background: linear-gradient(180deg, #2a2a3e 0%, #12122a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hlo-archie 6s ease-in-out infinite alternate; }
.scn-hope-loan-arrangement .figure-hope   { position: absolute; bottom: 5%; right: 20%; width: 18px; height: 42px; background: linear-gradient(180deg, #3a2a3e 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hlo-hope 7s ease-in-out infinite alternate; }
.scn-hope-loan-arrangement .chair     { position: absolute; bottom: 8%; left: 40%; width: 15%; height: 25%; background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-hope-loan-arrangement .flower-vase { position: absolute; bottom: 20%; left: 78%; width: 8px; height: 20px; background: radial-gradient(circle at 50% 30%, #806040 0%, #402820 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px rgba(0,0,0,0.4); animation: hlo-vase 5s ease-in-out infinite; }
@keyframes hlo-curtain { 0% { transform: scaleX(1); opacity: 0.7; } 100% { transform: scaleX(0.95); opacity: 0.8; } }
@keyframes hlo-archie  { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes hlo-hope    { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes hlo-vase    { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

.scn-don-pedro-revelation {
  background: 
    linear-gradient(180deg, #3a2e24 0%, #2c221c 50%, #1f1812 100%),
    radial-gradient(ellipse at 50% 20%, #5c4534 0%, transparent 70%);
}
.scn-don-pedro-revelation .desk {
  position: absolute;
  bottom: 18%;
  left: 20%;
  width: 60%;
  height: 24%;
  background: linear-gradient(180deg, #4f3c2e 0%, #33261b 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  transform: perspective(400px) rotateX(5deg);
}
.scn-don-pedro-revelation .lamp {
  position: absolute;
  bottom: 38%;
  left: 55%;
  width: 8px;
  height: 22px;
  background: linear-gradient(180deg, #8a6e4a 0%, #4a3626 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-5deg);
}
.scn-don-pedro-revelation .glow-lamp {
  position: absolute;
  bottom: 42%;
  left: 54%;
  width: 15px;
  height: 15px;
  background: radial-gradient(circle, #e8b870 0%, #b08040 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #d4a050, 0 0 60px 20px rgba(212,160,80,0.3);
  animation: dpr-glow 4s ease-in-out infinite alternate;
}
.scn-don-pedro-revelation .bookshelf {
  position: absolute;
  top: 10%;
  left: 5%;
  width: 28%;
  height: 50%;
  background: linear-gradient(90deg, #3a2a1c 0%, #4a3a2a 50%, #3a2a1c 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  transform: perspective(600px) rotateY(10deg);
}
.scn-don-pedro-revelation .bookshelf::before {
  content: '';
  position: absolute;
  top: 5%;
  left: 5%;
  width: 90%;
  height: 90%;
  background: repeating-linear-gradient(0deg, transparent, transparent 8px, #5a4030 8px, #5a4030 9px);
  opacity: 0.6;
}
.scn-don-pedro-revelation .figure-sit {
  position: absolute;
  bottom: 20%;
  left: 30%;
  width: 22px;
  height: 40px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dpr-sit 6s ease-in-out infinite;
}
.scn-don-pedro-revelation .paper {
  position: absolute;
  bottom: 22%;
  left: 42%;
  width: 16px;
  height: 20px;
  background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 100%);
  border-radius: 2%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(2deg);
  animation: dpr-paper 10s ease-in-out infinite alternate;
}
.scn-don-pedro-revelation .shadow {
  position: absolute;
  bottom: 16%;
  left: 25%;
  width: 40%;
  height: 18%;
  background: radial-gradient(ellipse at 50% 50%, #1a1410 0%, transparent 70%);
  opacity: 0.5;
  filter: blur(4px);
}
.scn-don-pedro-revelation .dust {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(200,180,140,0.08) 0%, transparent 60%);
  animation: dpr-dust 20s linear infinite;
}
@keyframes dpr-glow {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 40px 14px #e8b870, 0 0 80px 28px rgba(212,160,80,0.4); }
  100% { transform: scale(0.95); opacity: 0.7; }
}
@keyframes dpr-sit {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes dpr-paper {
  0% { transform: rotate(2deg) translateX(0); }
  100% { transform: rotate(-2deg) translateX(2px); }
}
@keyframes dpr-dust {
  0% { transform: translateY(0); }
  100% { transform: translateY(-20px); }
}

.scn-don-pedro-explained {
  background: 
    linear-gradient(180deg, #3a2e24 0%, #2c221c 50%, #1f1812 100%),
    radial-gradient(ellipse at 60% 30%, #5c4534 0%, transparent 70%);
}
.scn-don-pedro-explained .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a2a1c 0%, #2a1e12 100%);
  border-radius: 0 0 10% 10%;
}
.scn-don-pedro-explained .wall-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 70%;
  background: linear-gradient(90deg, #2c221c 0%, #3a2e24 100%);
  border-right: 2px solid #1f1812;
}
.scn-don-pedro-explained .wall-right {
  position: absolute;
  top: 0;
  right: 0;
  width: 45%;
  height: 70%;
  background: linear-gradient(90deg, #3a2e24 0%, #2c221c 100%);
}
.scn-don-pedro-explained .window {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  width: 30%;
  height: 45%;
  background: linear-gradient(180deg, #4a3e34 0%, #2c221c 100%);
  border: 4px solid #1f1812;
  border-radius: 4%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  overflow: hidden;
}
.scn-don-pedro-explained .window::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(180,160,130,0.15) 0%, transparent 50%);
  animation: dpe-window 8s ease-in-out infinite alternate;
}
.scn-don-pedro-explained .figure-a {
  position: absolute;
  bottom: 18%;
  left: 25%;
  width: 20px;
  height: 38px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dpe-figure 5s ease-in-out infinite;
}
.scn-don-pedro-explained .figure-b {
  position: absolute;
  bottom: 18%;
  right: 25%;
  width: 22px;
  height: 36px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dpe-figure 5s ease-in-out infinite reverse;
}
.scn-don-pedro-explained .candle {
  position: absolute;
  bottom: 32%;
  left: 48%;
  width: 6px;
  height: 18px;
  background: linear-gradient(180deg, #e8c8a0 0%, #a08060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-don-pedro-explained .glow-candle {
  position: absolute;
  bottom: 40%;
  left: 47%;
  width: 12px;
  height: 12px;
  background: radial-gradient(circle, #f0d090 0%, #d4a050 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #d4a050, 0 0 40px 16px rgba(212,160,80,0.3);
  animation: dpe-flame 2s ease-in-out infinite alternate;
}
@keyframes dpe-window {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}
@keyframes dpe-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes dpe-flame {
  0% { transform: scale(1) translateY(0); opacity: 0.9; }
  50% { transform: scale(1.15) translateY(-1px); opacity: 1; }
  100% { transform: scale(0.9) translateY(0); opacity: 0.8; }
}

.scn-braddock-rejects-sale {
  background: 
    linear-gradient(135deg, #3a2e24 0%, #2c221c 50%, #1f1812 100%),
    radial-gradient(ellipse at 70% 40%, #5c3c24 0%, transparent 60%);
}
.scn-braddock-rejects-sale .bg-warm {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 40% 30%, #8a6040 0%, transparent 70%);
  opacity: 0.4;
  filter: blur(10px);
  animation: brs-glow 3s ease-in-out infinite alternate;
}
.scn-braddock-rejects-sale .figure-braddock {
  position: absolute;
  bottom: 20%;
  left: 28%;
  width: 26px;
  height: 44px;
  background: linear-gradient(180deg, #2a1c14 0%, #140e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brs-angry 0.8s ease-in-out infinite;
}
.scn-braddock-rejects-sale .figure-braddock::after {
  content: '';
  position: absolute;
  top: 10%;
  left: 50%;
  width: 4px;
  height: 8px;
  background: #4a3020;
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 6px 2px #6a4030;
  animation: brs-eyes 0.4s ease-in-out infinite alternate;
}
.scn-braddock-rejects-sale .figure-random {
  position: absolute;
  bottom: 20%;
  right: 28%;
  width: 24px;
  height: 42px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brs-calm 4s ease-in-out infinite;
}
.scn-braddock-rejects-sale .table {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 80%;
  height: 22%;
  background: linear-gradient(180deg, #4f3c2e 0%, #33261b 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: perspective(400px) rotateX(3deg);
}
.scn-braddock-rejects-sale .mummy-silhouette {
  position: absolute;
  bottom: 25%;
  left: 70%;
  width: 18px;
  height: 40px;
  background: linear-gradient(180deg, #3a2e24 0%, #1f1812 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  filter: blur(2px);
  opacity: 0.5;
  animation: brs-stand 6s ease-in-out infinite;
}
.scn-braddock-rejects-sale .lamp-shine {
  position: absolute;
  bottom: 50%;
  left: 45%;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle, #e8b870 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #d4a050;
  animation: brs-lamp 2s ease-in-out infinite alternate;
}
.scn-braddock-rejects-sale .vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 50%, #0a0604 90%);
}
@keyframes brs-glow {
  0% { opacity: 0.3; }
  100% { opacity: 0.6; }
}
@keyframes brs-angry {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-1px) rotate(4deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes brs-eyes {
  0% { transform: translateX(-50%) scaleX(1); }
  100% { transform: translateX(-50%) scaleX(1.4); }
}
@keyframes brs-calm {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes brs-stand {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes brs-lamp {
  0% { transform: scale(0.9); opacity: 0.7; }
  100% { transform: scale(1.1); opacity: 1; }
}

.scn-personal-questions {
  background: 
    linear-gradient(180deg, #3a2e24 0%, #2c221c 50%, #1f1812 100%),
    radial-gradient(ellipse at 50% 25%, #4a3e34 0%, transparent 70%);
}
.scn-personal-questions .room-back {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 30%, #5c4a3a 0%, transparent 60%);
  opacity: 0.3;
  filter: blur(8px);
}
.scn-personal-questions .figure-left {
  position: absolute;
  bottom: 22%;
  left: 20%;
  width: 24px;
  height: 40px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pqs-left 7s ease-in-out infinite;
}
.scn-personal-questions .figure-right {
  position: absolute;
  bottom: 22%;
  right: 20%;
  width: 22px;
  height: 38px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pqs-right 7s ease-in-out infinite;
}
.scn-personal-questions .glow-center {
  position: absolute;
  bottom: 35%;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, #e8c8a0 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #d4a050, 0 0 60px 20px rgba(212,160,80,0.2);
  animation: pqs-glow 5s ease-in-out infinite alternate;
}
.scn-personal-questions .chair-left {
  position: absolute;
  bottom: 16%;
  left: 14%;
  width: 30px;
  height: 22px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1c12 100%);
  border-radius: 4% 4% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: perspective(300px) rotateY(10deg);
}
.scn-personal-questions .chair-right {
  position: absolute;
  bottom: 16%;
  right: 14%;
  width: 28px;
  height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1c12 100%);
  border-radius: 4% 4% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: perspective(300px) rotateY(-10deg);
}
.scn-personal-questions .dust-motes {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(200,180,150,0.06) 0%, transparent 60%),
              radial-gradient(circle at 70% 40%, rgba(200,180,150,0.04) 0%, transparent 50%);
  animation: pqs-dust 25s linear infinite;
}
@keyframes pqs-left {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes pqs-right {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes pqs-glow {
  0% { transform: translateX(-50%) scale(0.95); opacity: 0.7; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95); opacity: 0.8; }
}
@keyframes pqs-dust {
  0% { transform: translateY(0); }
  100% { transform: translateY(-30px); }
}

.scn-hope-reveals-wealth { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a1a 40%, #7a4a2a 100%), radial-gradient(ellipse at 30% 60%, #b07040 0%, transparent 70%); }
.scn-hope-reveals-wealth .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(135deg, #6a4a2a 0%, #5a3a1a 50%, #4a2a0a 100%); animation: hrw-wall 20s ease-in-out infinite alternate; }
.scn-hope-reveals-wealth .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #2a1a0a 0%, #3a2a1a 40%, #5a3a1a 100%); border-radius: 0 0 30% 30% / 0 0 10% 10%; box-shadow: inset 0 20px 30px rgba(0,0,0,.5); }
.scn-hope-reveals-wealth .fireplace { position:absolute; bottom:30%; left:50%; width:120px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 50%, #1a0a00 100%); border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; border: 4px solid #6a4a2a; box-shadow: inset 0 0 30px rgba(180,90,30,.3); }
.scn-hope-reveals-wealth .flames { position:absolute; bottom:30%; left:50%; width:60px; height:50px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ff8030 0%, #ff6030 30%, #cc4020 60%, transparent 100%); border-radius: 50% 50% 20% 20%; animation: hrw-flame 2s ease-in-out infinite alternate; box-shadow: 0 0 40px 10px #ff6020, 0 0 80px 20px rgba(255,96,32,.4); }
.scn-hope-reveals-wealth .table { position:absolute; bottom:22%; left:50%; width:140px; height:30px; 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,.4); }
.scn-hope-reveals-wealth .chair-a { position:absolute; bottom:18%; left:30%; width:50px; height:70px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: hrw-chair 6s ease-in-out infinite; box-shadow: -4px 0 8px rgba(0,0,0,.3); }
.scn-hope-reveals-wealth .chair-b { position:absolute; bottom:18%; right:30%; width:50px; height:70px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: hrw-chair 6s ease-in-out infinite 2s; box-shadow: 4px 0 8px rgba(0,0,0,.3); }
.scn-hope-reveals-wealth .glow-ambient { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, rgba(255,180,80,.15) 0%, transparent 70%); animation: hrw-glow 8s ease-in-out infinite alternate; pointer-events:none; }
.scn-hope-reveals-wealth .steam { position:absolute; bottom:40%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, rgba(255,255,255,.15) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: hrw-steam 5s ease-out infinite; }
@keyframes hrw-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes hrw-flame { 0% { transform: translateX(-50%) scaleY(.9) translateY(0); opacity:.8 } 50% { transform: translateX(-50%) scaleY(1.1) translateY(-3px); opacity:1 } 100% { transform: translateX(-50%) scaleY(.95) translateY(0); opacity:.85 } }
@keyframes hrw-chair { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes hrw-glow { 0% { opacity:.5 } 50% { opacity:1 } 100% { opacity:.6 } }
@keyframes hrw-steam { 0% { transform: translateY(0) scale(1); opacity:.6 } 100% { transform: translateY(-30px) scale(2); opacity:0 } }

.scn-uncle-pays-debt { background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 40%, #3a1a0a 100%), radial-gradient(ellipse at 40% 50%, #8a5a2a 0%, transparent 60%); }
.scn-uncle-pays-debt .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #5a3a1a 0%, #3a2a0a 50%, #2a1a0a 100%); }
.scn-uncle-pays-debt .desk { position:absolute; bottom:20%; left:20%; right:20%; height:40%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 50%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -10px 20px rgba(0,0,0,.5); }
.scn-uncle-pays-debt .letter { position:absolute; bottom:40%; left:38%; width:80px; height:50px; background: linear-gradient(135deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 4%; transform: rotate(-8deg); box-shadow: 2px 4px 8px rgba(0,0,0,.4); animation: upd-letter 12s ease-in-out infinite; }
.scn-uncle-pays-debt .inkwell { position:absolute; bottom:38%; left:55%; width:20px; height:24px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 10% 10%; box-shadow: inset 0 0 4px rgba(0,0,0,.5); }
.scn-uncle-pays-debt .hand { position:absolute; bottom:36%; left:42%; width:40px; height:30px; background: radial-gradient(ellipse at 50% 40%, #c8a080 0%, #a08060 70%); border-radius: 60% 40% 30% 50% / 50% 40% 30% 40%; transform-origin: 20% 80%; animation: upd-hand 4s ease-in-out infinite; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.scn-uncle-pays-debt .lamp { position:absolute; bottom:48%; left:50%; width:30px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 4px #b08040; }
.scn-uncle-pays-debt .lamp-glow { position:absolute; bottom:40%; left:50%; width:100px; height:100px; transform:translate(-50%,0); background: radial-gradient(circle, rgba(255,200,100,.3) 0%, transparent 70%); animation: upd-lamp 5s ease-in-out infinite alternate; pointer-events:none; }
.scn-uncle-pays-debt .shadow-figure { position:absolute; bottom:20%; right:25%; width:60px; height:120px; background: linear-gradient(180deg, rgba(20,10,0,.6) 0%, rgba(10,5,0,.8) 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; animation: upd-shadow 8s ease-in-out infinite; }
@keyframes upd-letter { 0%,100% { transform: rotate(-8deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-2px) } }
@keyframes upd-hand { 0%,100% { transform: rotate(0) translateY(0) } 50% { transform: rotate(-5deg) translateY(-3px) } }
@keyframes upd-lamp { 0% { opacity:.6; transform: translate(-50%,0) scale(1) } 50% { opacity:1; transform: translate(-50%,0) scale(1.1) } 100% { opacity:.7; transform: translate(-50%,0) scale(.95) } }
@keyframes upd-shadow { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } }

.scn-professor-returns-engaged { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a1a 50%, #4a2a0a 100%), radial-gradient(ellipse at 50% 30%, #b08040 0%, transparent 60%); }
.scn-professor-returns-engaged .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #5a3a1a 0%, #6a4a2a 30%, #5a3a1a 70%, #4a2a0a 100%); }
.scn-professor-returns-engaged .door-frame { position:absolute; bottom:15%; left:10%; width:100px; height:180px; background: linear-gradient(180deg, #4a2a1a 0%, #3a1a0a 100%); border-radius: 10% 10% 0 0; border: 4px solid #6a4a2a; }
.scn-professor-returns-engaged .door { position:absolute; bottom:15%; left:10%; width:80px; height:170px; margin-left:10px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 8% 8% 0 0; transform-origin: left center; animation: pre-door 6s ease-in-out infinite; box-shadow: inset 0 0 20px rgba(0,0,0,.3); }
.scn-professor-returns-engaged .clock { position:absolute; top:12%; right:20%; width:40px; height:50px; background: radial-gradient(circle at 50% 40%, #f0e0c0 0%, #c0a080 60%); border-radius: 10%; border: 3px solid #6a4a2a; box-shadow: 0 0 10px rgba(0,0,0,.3); animation: pre-clock 60s linear infinite; }
.scn-professor-returns-engaged .figure-a { position:absolute; bottom:25%; left:30%; width:40px; height:100px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; animation: pre-figure-a 4s ease-in-out infinite; }
.scn-professor-returns-engaged .figure-b { position:absolute; bottom:25%; left:45%; width:36px; height:90px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 50%, #1a0a0a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; animation: pre-figure-b 4s ease-in-out infinite 1s; }
.scn-professor-returns-engaged .carpet { position:absolute; bottom:0; left:10%; right:10%; height:20%; background: linear-gradient(90deg, #5a2a1a 0%, #7a4a2a 30%, #5a2a1a 70%, #3a1a0a 100%); border-radius: 0 0 40% 40%; box-shadow: inset 0 10px 20px rgba(0,0,0,.4); }
.scn-professor-returns-engaged .chandelier { position:absolute; top:0; left:50%; width:60px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%); border-radius: 0 0 50% 50%; box-shadow: 0 10px 30px rgba(255,200,100,.3); }
.scn-professor-returns-engaged .glow-warm { position:absolute; inset:0; background: radial-gradient(ellipse at 30% 50%, rgba(255,180,80,.1) 0%, transparent 70%); animation: pre-glow 10s ease-in-out infinite alternate; pointer-events:none; }
@keyframes pre-door { 0%,100% { transform: rotateY(0) } 30% { transform: rotateY(-40deg) } 70% { transform: rotateY(-40deg) } }
@keyframes pre-clock { 0% { transform: rotate(0) } 100% { transform: rotate(360deg) } }
@keyframes pre-figure-a { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } }
@keyframes pre-figure-b { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-1deg) } }
@keyframes pre-glow { 0% { opacity:.4 } 50% { opacity:.8 } 100% { opacity:.5 } }

.scn-professor-engaged { background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 60%, #3a1a0a 100%), radial-gradient(ellipse at 70% 40%, #a07030 0%, transparent 60%); }
.scn-professor-engaged .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #5a3a1a 0%, #4a2a0a 50%, #3a1a0a 100%); }
.scn-professor-engaged .window { position:absolute; top:10%; right:15%; width:120px; height:160px; background: linear-gradient(180deg, #2a3a5a 0%, #4a5a7a 50%, #3a4a6a 100%); border-radius: 4%; border: 6px solid #5a3a1a; box-shadow: inset 0 0 30px rgba(0,0,0,.4); animation: preng-window 20s ease-in-out infinite alternate; }
.scn-professor-engaged .sill { position:absolute; top:160px; right:15%; width:140px; height:20px; margin-top:-2px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 4%; transform:translateX(10px); box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-professor-engaged .figure-man { position:absolute; bottom:20%; left:35%; width:45px; height:110px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: preng-man 6s ease-in-out infinite; }
.scn-professor-engaged .figure-woman { position:absolute; bottom:20%; left:48%; width:40px; height:100px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 50%, #1a0a0a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; animation: preng-woman 6s ease-in-out infinite 1s; }
.scn-professor-engaged .hands { position:absolute; bottom:35%; left:40%; width:60px; height:20px; background: radial-gradient(ellipse at 50% 50%, #c8a080 0%, #a08060 60%); border-radius: 60% 40% 40% 60%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: preng-hands 4s ease-in-out infinite; }
.scn-professor-engaged .curtain-left { position:absolute; top:5%; right:14%; width:40px; height:180px; background: linear-gradient(180deg, #6a3a2a 0%, #4a2a1a 50%, #3a1a0a 100%); border-radius: 0 40% 40% 0; animation: preng-curtain 12s ease-in-out infinite; }
.scn-professor-engaged .curtain-right { position:absolute; top:5%; right:29%; width:40px; height:180px; background: linear-gradient(180deg, #6a3a2a 0%, #4a2a1a 50%, #3a1a0a 100%); border-radius: 40% 0 0 40%; animation: preng-curtain 12s ease-in-out infinite 6s; }
.scn-professor-engaged .london-glow { position:absolute; top:10%; right:15%; width:120px; height:160px; background: radial-gradient(ellipse at 50% 50%, rgba(255,200,150,.2) 0%, transparent 70%); animation: preng-london 8s ease-in-out infinite alternate; pointer-events:none; }
@keyframes preng-window { 0% { opacity:.7; filter:brightness(.9) } 50% { opacity:1; filter:brightness(1) } 100% { opacity:.8; filter:brightness(.95) } }
@keyframes preng-man { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(1deg) } }
@keyframes preng-woman { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-1deg) } }
@keyframes preng-hands { 0%,100% { transform: translateX(0) scale(1) } 50% { transform: translateX(2px) scale(1.05) } }
@keyframes preng-curtain { 0%,100% { opacity:.9; transform:translateX(0) } 50% { opacity:1; transform:translateX(8px) } }
@keyframes preng-london { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

.scn-jasher-worried { background: linear-gradient(180deg, #6b6b7a 0%, #4a4a5a 50%, #3a3a44 100%), radial-gradient(ellipse at 50% 100%, #3a3a44 0%, transparent 70%); }
.scn-jasher-worried .window { position:absolute; top:8%; left:10%; width:40%; height:40%; background: linear-gradient(180deg, #9a9aae 0%, #7a7a8e 100%); border-radius:4% 4% 8% 8% / 6% 6% 12% 12%; box-shadow: inset 0 0 20px rgba(0,0,0,.3); animation: jw-window 8s ease-in-out infinite; }
.scn-jasher-worried .sky-out { position:absolute; top:10%; left:12%; width:36%; height:36%; background: linear-gradient(180deg, #b8b8c8 0%, #8a8a9e 100%); border-radius:2%; filter: blur(3px); opacity:.4; animation: jw-sky 12s ease-in-out infinite alternate; }
.scn-jasher-worried .figure { position:absolute; bottom:22%; left:25%; width:20px; height:42px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jw-figure 4s ease-in-out infinite; }
.scn-jasher-worried .table { position:absolute; bottom:10%; left:30%; width:60px; height:6px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,.4);}
.scn-jasher-worried .letter { position:absolute; bottom:14%; left:40%; width:22px; height:16px; background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%); border-radius:2px; transform: rotate(-5deg); box-shadow: 1px 2px 4px rgba(0,0,0,.3); animation: jw-letter 6s ease-in-out infinite; }
.scn-jasher-worried .lamp { position:absolute; bottom:28%; left:15%; width:8px; height:14px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 12px 4px rgba(200,180,120,.3); animation: jw-lamp 5s ease-in-out infinite alternate; }
@keyframes jw-window { 0%,100% { transform: scaleY(1); opacity:.8 } 50% { transform: scaleY(1.02); opacity:1 } }
@keyframes jw-sky { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.4 } }
@keyframes jw-figure { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-3px) rotate(1deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes jw-letter { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } }
@keyframes jw-lamp { 0% { opacity:.6; box-shadow: 0 0 8px 2px rgba(200,180,120,.2) } 100% { opacity:.9; box-shadow: 0 0 16px 6px rgba(200,180,120,.5) } }

.scn-jasher-plans-change { background: linear-gradient(180deg, #5c5c6e 0%, #3e3e4e 50%, #2e2e3a 100%), radial-gradient(ellipse at 50% 100%, #2e2e3a 0%, transparent 70%); }
.scn-jasher-plans-change .window { position:absolute; top:6%; right:8%; width:30%; height:35%; background: linear-gradient(180deg, #8a8a9e 0%, #6a6a7a 100%); border-radius:8% 8% 4% 4%; box-shadow: inset 0 0 16px rgba(0,0,0,.3); animation: jc-window 10s ease-in-out infinite alternate; }
.scn-jasher-plans-change .figure-jasher { position:absolute; bottom:18%; left:30%; width:22px; height:46px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jc-figureA 4.5s ease-in-out infinite; }
.scn-jasher-plans-change .figure-lucy { 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%; transform-origin: bottom center; animation: jc-figureB 5s ease-in-out infinite; }
.scn-jasher-plans-change .table { position:absolute; bottom:8%; left:35%; width:80px; height:8px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:6px; box-shadow: 0 3px 8px rgba(0,0,0,.5); }
.scn-jasher-plans-change .teacup { position:absolute; bottom:12%; left:42%; width:10px; height:12px; background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: jc-teacup 7s ease-in-out infinite; }
.scn-jasher-plans-change .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.4) 100%); }
@keyframes jc-window { 0% { opacity:.7; transform: scaleX(1) } 50% { opacity:.9; transform: scaleX(1.03) } 100% { opacity:.75; transform: scaleX(1) } }
@keyframes jc-figureA { 0%,100% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(2px) rotate(-1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-2px) rotate(3deg) } }
@keyframes jc-figureB { 0%,100% { transform: translateX(0) rotate(-1deg) } 33% { transform: translateX(-2px) rotate(0deg) } 66% { transform: translateX(2px) rotate(1deg) } }
@keyframes jc-teacup { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(3deg) translateY(-1px) } }

.scn-arrival-of-don-pedro { background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 30%, #8a7a6a 0%, transparent 70%); }
.scn-arrival-of-don-pedro .doorway { position:absolute; top:10%; left:15%; width:30%; height:80%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:10% 10% 0 0 / 8% 8% 0 0; box-shadow: inset -4px 0 12px rgba(0,0,0,.5), inset 4px 0 12px rgba(0,0,0,.3); animation: ad-doorway 8s ease-in-out infinite alternate; }
.scn-arrival-of-don-pedro .figure-donpedro { position:absolute; bottom:20%; left:20%; width:22px; height:48px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ad-pedro 6s ease-in-out infinite; }
.scn-arrival-of-don-pedro .figure-random { position:absolute; bottom:18%; left:50%; width:20px; height:44px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(10deg); transform-origin: bottom center; animation: ad-random 5s ease-in-out infinite; }
.scn-arrival-of-don-pedro .figure-lucy { position:absolute; bottom:18%; left:65%; width:18px; height:42px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ad-lucy 7s ease-in-out infinite; }
.scn-arrival-of-don-pedro .figure-hope { position:absolute; bottom:18%; left:38%; width:20px; height:40px; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ad-hope 6.5s ease-in-out infinite; }
.scn-arrival-of-don-pedro .sketch { position:absolute; bottom:14%; left:35%; width:30px; height:20px; background: linear-gradient(135deg, #d4c8a0 0%, #c0b080 100%); transform: rotate(-3deg); box-shadow: 1px 2px 6px rgba(0,0,0,.3); animation: ad-sketch 9s ease-in-out infinite; }
@keyframes ad-doorway { 0% { transform: scaleX(1); opacity:.9 } 50% { transform: scaleX(1.02); opacity:1 } 100% { transform: scaleX(1); opacity:.9 } }
@keyframes ad-pedro { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } }
@keyframes ad-random { 0%,100% { transform: rotate(10deg) } 50% { transform: rotate(14deg) translateY(-2px) } }
@keyframes ad-lucy { 0%,100% { transform: translateX(0) rotate(-3deg) } 50% { transform: translateX(2px) rotate(0deg) } }
@keyframes ad-hope { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(1px) rotate(0deg) } 50% { transform: translateX(2px) rotate(-2deg) } 75% { transform: translateX(1px) rotate(0deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes ad-sketch { 0%,100% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-1px) } }

.scn-reason-for-pedros-visit { background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 50%, #3a3a44 100%), radial-gradient(ellipse at 50% 100%, #3a3a44 0%, transparent 70%); }
.scn-reason-for-pedros-visit .window { position:absolute; top:5%; left:5%; width:35%; height:30%; background: linear-gradient(180deg, #8a8a9e 0%, #6a6a7a 100%); border-radius:6% 6% 12% 12% / 8% 8% 16% 16%; box-shadow: inset 0 0 14px rgba(0,0,0,.3); animation: pv-window 9s ease-in-out infinite alternate; }
.scn-reason-for-pedros-visit .bookshelf { position:absolute; top:15%; right:6%; width:20%; height:65%; background: repeating-linear-gradient(180deg, #4a3a2a 0px, #4a3a2a 18px, #5a4a3a 18px, #5a4a3a 20px); border-radius:4px; box-shadow: -4px 0 8px rgba(0,0,0,.4); animation: pv-shelf 14s linear infinite; }
.scn-reason-for-pedros-visit .mummy-case { position:absolute; bottom:15%; left:20%; width:14%; height:50%; background: linear-gradient(180deg, #c0a080 0%, #a08060 50%, #806040 100%); border-radius:20% 20% 10% 10% / 60% 60% 30% 30%; box-shadow: 2px 0 10px rgba(0,0,0,.5); animation: pv-mummy 12s ease-in-out infinite; }
.scn-reason-for-pedros-visit .figure-pedro { position:absolute; bottom:18%; left:40%; width:20px; height:46px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pv-pedro 5s ease-in-out infinite; }
.scn-reason-for-pedros-visit .figure-braddock { position:absolute; bottom:18%; left:58%; width:22px; height:48px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pv-braddock 5.5s ease-in-out infinite; }
.scn-reason-for-pedros-visit .desk { position:absolute; bottom:6%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4%; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.scn-reason-for-pedros-visit .lamp { position:absolute; bottom:20%; left:25%; width:8px; height:16px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 14px 4px rgba(200,180,120,.3); animation: pv-lamp 4s ease-in-out infinite alternate; }
.scn-reason-for-pedros-visit .scroll { position:absolute; bottom:10%; left:30%; width:20px; height:8px; background: linear-gradient(135deg, #d4c8a0 0%, #c0b080 100%); transform: rotate(-10deg); border-radius:2px; box-shadow: 1px 1px 4px rgba(0,0,0,.3); animation: pv-scroll 6s ease-in-out infinite; }
@keyframes pv-window { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:.9; transform: scaleY(1.02) } 100% { opacity:.8; transform: scaleY(1) } }
@keyframes pv-shelf { 0% { background-position: 0 0 } 100% { background-position: 0 20px } }
@keyframes pv-mummy { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes pv-pedro { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(3px) rotate(2deg) } }
@keyframes pv-braddock { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes pv-lamp { 0% { opacity:.6; box-shadow: 0 0 8px 2px rgba(200,180,120,.2) } 100% { opacity:.9; box-shadow: 0 0 18px 6px rgba(200,180,120,.5) } }
@keyframes pv-scroll { 0%,100% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-6deg) translateY(-1px) } }

.scn-braddock-fled {
  background: 
    linear-gradient(180deg, #e8d4b0 0%, #c8a47e 40%, #a8855e 100%),
    radial-gradient(ellipse at 30% 70%, #d4b896 0%, transparent 70%);
}
.scn-braddock-fled .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #d4b896 0%, #c8a47e 50%, #d4b896 100%);
  animation: bf-wall 12s ease-in-out infinite alternate;
}
.scn-braddock-fled .doorway {
  position: absolute; bottom: 10%; left: 55%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #8b6f4e 0%, #6e553b 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
  animation: bf-door 3s ease-in-out infinite;
}
.scn-braddock-fled .figure-exit {
  position: absolute; bottom: 12%; left: 58%; width: 24px; height: 52px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: skewX(-15deg);
  animation: bf-figure 2.5s ease-in-out infinite;
}
.scn-braddock-fled .mummy-pole {
  position: absolute; bottom: 12%; left: 65%; width: 14px; height: 48px;
  background: linear-gradient(180deg, #4a7a5a 0%, #2a4a3a 100%);
  border-radius: 8px; filter: blur(1px);
  box-shadow: 0 0 10px rgba(50,120,80,0.3);
  animation: bf-mummy 4s ease-in-out infinite alternate;
}
.scn-braddock-fled .bird-silhouette {
  position: absolute; bottom: 52%; left: 70%; width: 18px; height: 10px;
  background: #2a2a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(-20deg);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: bf-bird 1.8s ease-in-out infinite;
}
.scn-braddock-fled .shadow-shaft {
  position: absolute; bottom: 0; left: 40%; width: 80px; height: 100px;
  background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, transparent 60%);
  animation: bf-shadow 6s ease-in-out infinite alternate;
}
.scn-braddock-fled .floor-line {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, #8b6f4e, transparent);
  animation: bf-floor 8s linear infinite;
}
@keyframes bf-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes bf-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.98) translateY(-1px) } }
@keyframes bf-figure { 0% { transform: skewX(-15deg) translateX(0) } 25% { transform: skewX(-12deg) translateX(4px) } 50% { transform: skewX(-15deg) translateX(8px) } 75% { transform: skewX(-18deg) translateX(12px) } 100% { transform: skewX(-15deg) translateX(16px) } }
@keyframes bf-mummy { 0% { transform: translateY(0) rotate(0); filter: blur(1px) } 50% { transform: translateY(-3px) rotate(2deg); filter: blur(1.5px) } 100% { transform: translateY(0) rotate(-2deg); filter: blur(1px) } }
@keyframes bf-bird { 0%,100% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-3px) } }
@keyframes bf-shadow { 0% { opacity:0.3 } 100% { opacity:0.6 } }
@keyframes bf-floor { 0% { background-position:0 0; opacity:0.6 } 50% { opacity:1 } 100% { background-position:200px 0; opacity:0.6 } }

.scn-lucy-shock {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #d4b896 50%, #b8a080 100%),
    radial-gradient(ellipse at 50% 60%, #e8d4b0 0%, transparent 70%);
}
.scn-lucy-shock .backdrop {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #c8b090 0%, #e0ccb0 100%);
  animation: ls-backdrop 15s ease-in-out infinite alternate;
}
.scn-lucy-shock .figure-lucy {
  position: absolute; bottom: 10%; left: 45%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ls-lucy 2.2s ease-in-out infinite;
}
.scn-lucy-shock .arm-curve {
  position: absolute; bottom: 52%; left: 48%; width: 20px; height: 14px;
  border: 3px solid #3a2a1a; border-radius: 50%; border-left: none; border-bottom: none;
  transform: rotate(30deg);
  animation: ls-arm 1.8s ease-in-out infinite alternate;
}
.scn-lucy-shock .paper-shape {
  position: absolute; bottom: 50%; left: 38%; width: 36px; height: 44px;
  background: linear-gradient(135deg, #f0e6d0 0%, #d0c0a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transform: rotate(-8deg);
  animation: ls-paper 6s ease-in-out infinite alternate;
}
.scn-lucy-shock .shadow-cast {
  position: absolute; bottom: 8%; left: 30%; width: 100px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.25) 0%, transparent 70%);
  animation: ls-shadow 4s ease-in-out infinite alternate;
}
.scn-lucy-shock .glow-rim {
  position: absolute; top: 0; left: 0; right: 0; height: 20px;
  background: linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 100%);
  animation: ls-glow 3s ease-in-out infinite;
}
@keyframes ls-backdrop { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ls-lucy { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-4px) rotate(-3deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ls-arm { 0% { transform: rotate(20deg) } 50% { transform: rotate(40deg) } 100% { transform: rotate(20deg) } }
@keyframes ls-paper { 0% { transform: rotate(-8deg) translateY(0) } 50% { transform: rotate(-4deg) translateY(-4px) } 100% { transform: rotate(-8deg) translateY(0) } }
@keyframes ls-shadow { 0% { opacity:0.3; transform: scaleX(1) } 100% { opacity:0.6; transform: scaleX(1.2) } }
@keyframes ls-glow { 0%,100% { opacity:0.5 } 50% { opacity:0.8 } }

.scn-hope-reasoning {
  background: 
    linear-gradient(180deg, #d4c0a0 0%, #b8a080 40%, #a89070 100%),
    radial-gradient(ellipse at 60% 50%, #c8b090 0%, transparent 60%);
}
.scn-hope-reasoning .wall-panel {
  position: absolute; inset: 0 30% 20% 20%;
  background: linear-gradient(135deg, #c0a880, #b09878);
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.1);
  animation: hr-wall 18s ease-in-out infinite alternate;
}
.scn-hope-reasoning .figure-hope {
  position: absolute; bottom: 12%; left: 30%; width: 26px; height: 56px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: skewX(5deg);
  animation: hr-hope 3s ease-in-out infinite;
}
.scn-hope-reasoning .figure-lucy-cry {
  position: absolute; bottom: 12%; right: 35%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: skewX(-8deg);
  animation: hr-lucy 4s ease-in-out infinite alternate;
}
.scn-hope-reasoning .table-edge {
  position: absolute; bottom: 10%; left: 25%; right: 25%; height: 8px;
  background: linear-gradient(180deg, #8b6f4e, #6e553b);
  border-radius: 2px;
  animation: hr-table 6s ease-in-out infinite;
}
.scn-hope-reasoning .lamp-bowl {
  position: absolute; bottom: 50%; left: 50%; width: 16px; height: 20px;
  background: radial-gradient(circle, #f0dca0 0%, #d0b070 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(208,176,112,0.4), 0 0 60px 15px rgba(208,176,112,0.2);
  animation: hr-lamp 2.5s ease-in-out infinite alternate;
}
.scn-hope-reasoning .shadow-stripe {
  position: absolute; top: 0; bottom: 30%; left: 55%; width: 4px;
  background: linear-gradient(180deg, rgba(0,0,0,0.15), rgba(0,0,0,0.3));
  animation: hr-stripe 5s linear infinite;
}
@keyframes hr-wall { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes hr-hope { 0% { transform: skewX(5deg) translateY(0) } 25% { transform: skewX(4deg) translateY(-2px) rotate(1deg) } 50% { transform: skewX(5deg) translateY(0) } 75% { transform: skewX(6deg) translateY(-1px) rotate(-1deg) } 100% { transform: skewX(5deg) translateY(0) } }
@keyframes hr-lucy { 0% { transform: skewX(-8deg) translateY(0) rotate(0) } 50% { transform: skewX(-10deg) translateY(-3px) rotate(-3deg) } 100% { transform: skewX(-8deg) translateY(0) rotate(0) } }
@keyframes hr-table { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
@keyframes hr-lamp { 0% { box-shadow: 0 0 20px 4px rgba(208,176,112,0.3) } 50% { box-shadow: 0 0 40px 12px rgba(208,176,112,0.6) } 100% { box-shadow: 0 0 20px 4px rgba(208,176,112,0.3) } }
@keyframes hr-stripe { 0% { opacity:0 } 50% { opacity:0.5 } 100% { opacity:0 } }

.scn-hope-reassurance {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #e0ccb0 60%, #c8b090 100%),
    radial-gradient(ellipse at 30% 40%, #f0dcb8 0%, transparent 60%);
}
.scn-hope-reassurance .window-frame {
  position: absolute; top: 5%; left: 10%; width: 80px; height: 100px;
  border: 6px solid #6e553b;
  background: linear-gradient(180deg, #a8c8e0 0%, #80a8c8 100%);
  border-radius: 4px;
  animation: hra-window 20s ease-in-out infinite alternate;
}
.scn-hope-reassurance .curtain-left {
  position: absolute; top: 0; left: 8%; width: 14px; height: 100px;
  background: linear-gradient(180deg, #c0a880, #a89070);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
  animation: hra-curtain 8s ease-in-out infinite alternate;
}
.scn-hope-reassurance .curtain-right {
  position: absolute; top: 0; left: 84%; width: 14px; height: 100px;
  background: linear-gradient(180deg, #c0a880, #a89070);
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
  animation: hra-curtain 8s ease-in-out infinite alternate-reverse;
}
.scn-hope-reassurance .figure-archie {
  position: absolute; bottom: 12%; left: 35%; width: 24px; height: 54px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(2deg);
  animation: hra-archie 3.5s ease-in-out infinite;
}
.scn-hope-reassurance .figure-lucy-reassure {
  position: absolute; bottom: 12%; left: 50%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-1deg);
  animation: hra-lucy 4s ease-in-out infinite alternate;
}
.scn-hope-reassurance .hearth-glow {
  position: absolute; bottom: 5%; left: 60%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, #f0a060 0%, #d08040 50%, transparent 80%);
  box-shadow: 0 0 80px 30px rgba(208,128,64,0.3);
  animation: hra-hearth 3s ease-in-out infinite alternate;
}
.scn-hope-reassurance .rug-oval {
  position: absolute; bottom: 6%; left: 20%; right: 20%; height: 30px;
  background: radial-gradient(ellipse, #b09878 0%, #8b7a5e 100%);
  border-radius: 50%;
  animation: hra-rug 15s ease-in-out infinite;
}
@keyframes hra-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes hra-curtain { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes hra-archie { 0% { transform: rotate(2deg) translateY(0) } 25% { transform: rotate(1deg) translateY(-2px) } 50% { transform: rotate(2deg) translateY(0) } 75% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(2deg) translateY(0) } }
@keyframes hra-lucy { 0% { transform: rotate(-1deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-3px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes hra-hearth { 0% { opacity:0.6; transform: scale(0.95) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:0.7; transform: scale(0.98) } }
@keyframes hra-rug { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.5 } }

/* lucy-stubborn – tense, dim interior */
.scn-lucy-stubborn {
  background: 
    linear-gradient(180deg, #1f1b1a 0%, #2a2322 30%, #3a2e2a 60%, #2a201c 100%),
    radial-gradient(ellipse at 50% 20%, #4a3a32 0%, transparent 60%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.6);
}
.scn-lucy-stubborn .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #2a2322 0%, #3a2e2a 40%, #2a2322 100%);
  animation: ls-wall 8s ease-in-out infinite alternate;
}
.scn-lucy-stubborn .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1f1815 0%, #12100e 100%);
}
.scn-lucy-stubborn .window {
  position: absolute; top: 12%; right: 15%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #4a3e32 0%, #6a5a4a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(100,80,60,.3);
  animation: ls-window 10s ease-in-out infinite alternate;
}
.scn-lucy-stubborn .figure-lucy {
  position: absolute; bottom: 30%; left: 40%; width: 24px; height: 70px;
  background: linear-gradient(90deg, #1a1513 0%, #2a2322 30%, #1a1513 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ls-lucy-walk 4s ease-in-out infinite;
}
.scn-lucy-stubborn .figure-archie-shadow {
  position: absolute; bottom: 28%; left: 60%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #1a1513 0%, #0f0c0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  opacity: 0.5;
  animation: ls-archie 6s ease-in-out infinite;
}
.scn-lucy-stubborn .candle {
  position: absolute; bottom: 35%; left: 50%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #d4a76a 0%, #8a6a3a 100%);
  border-radius: 2px 2px 1px 1px;
  transform: translateX(-50%);
}
.scn-lucy-stubborn .candle-glow {
  position: absolute; bottom: 38%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 30%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: ls-glow 3s ease-in-out infinite alternate;
  mix-blend-mode: screen;
}
@keyframes ls-wall { 0% { opacity: .9 } 50% { opacity: .6 } 100% { opacity: .8 } }
@keyframes ls-window { 0% { box-shadow: inset 0 0 10px rgba(100,80,60,.2) } 50% { box-shadow: inset 0 0 30px rgba(100,80,60,.6) } 100% { box-shadow: inset 0 0 15px rgba(100,80,60,.3) } }
@keyframes ls-lucy-walk { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(-4px) rotate(0deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes ls-archie { 0%,100% { transform: translateX(0) } 50% { transform: translateX(-8px) } }
@keyframes ls-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(.95) } }

/* braddock-alone – tense, dim interior */
.scn-braddock-alone {
  background:
    linear-gradient(180deg, #1a1a1e 0%, #24222a 40%, #2e2a34 70%, #1c1a20 100%),
    radial-gradient(ellipse at 80% 30%, #3c2e40 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(0,0,0,.5);
}
.scn-braddock-alone .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(90deg, #24222a 0%, #2e2a34 50%, #24222a 100%);
  animation: ba-wall 12s ease-in-out infinite alternate;
}
.scn-braddock-alone .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1a181e 0%, #100e12 100%);
}
.scn-braddock-alone .door {
  position: absolute; top: 15%; right: 10%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #3a3238 0%, #2a2428 100%);
  border-radius: 2px 0 0 2px;
  box-shadow: 2px 0 8px rgba(0,0,0,.4);
  animation: ba-door 8s ease-in-out infinite alternate;
}
.scn-braddock-alone .figure-prof {
  position: absolute; bottom: 30%; left: 35%; width: 28px; height: 72px;
  background: linear-gradient(90deg, #1c1820 0%, #2a2430 40%, #1c1820 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ba-prof 4s ease-in-out infinite;
}
.scn-braddock-alone .table {
  position: absolute; bottom: 28%; left: 45%; width: 80px; height: 20px;
  background: linear-gradient(180deg, #3a3038 0%, #2a2028 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: ba-table 6s ease-in-out infinite;
}
.scn-braddock-alone .lamp {
  position: absolute; bottom: 50%; left: 55%; width: 12px; height: 24px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 4px 4px 2px 2px;
  transform: translate(-50%, 100%);
}
.scn-braddock-alone .lamp-glow {
  position: absolute; bottom: 50%; left: 55%; width: 80px; height: 80px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 30%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: ba-lamp-glow 3s ease-in-out infinite alternate;
  mix-blend-mode: screen;
}
@keyframes ba-wall { 0% { opacity: .8 } 50% { opacity: .5 } 100% { opacity: .7 } }
@keyframes ba-door { 0% { transform: translateX(0) } 50% { transform: translateX(-12px) } 100% { transform: translateX(0) } }
@keyframes ba-prof { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ba-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(2px) } }
@keyframes ba-lamp-glow { 0% { opacity: .6; transform: translate(-50%, -50%) scale(1) } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.15) } 100% { opacity: .7; transform: translate(-50%, -50%) scale(.98) } }

/* random-character – calm, dim interior */
.scn-random-character {
  background:
    linear-gradient(180deg, #2c2e2a 0%, #3a3c38 40%, #4a4c46 70%, #2c2e2a 100%),
    radial-gradient(ellipse at 30% 80%, #5a5c56 0%, transparent 70%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.3);
}
.scn-random-character .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #3a3c38 0%, #4a4c46 40%, #3a3c38 100%);
  animation: rc-wall 15s ease-in-out infinite alternate;
}
.scn-random-character .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2c2e2a 0%, #1e201c 100%);
}
.scn-random-character .window-moon {
  position: absolute; top: 10%; left: 15%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #6a7c8a 0%, #8a9cab 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(100,130,150,.4);
  animation: rc-window 12s ease-in-out infinite alternate;
}
.scn-random-character .figure-officer {
  position: absolute; bottom: 25%; left: 45%; width: 26px; height: 68px;
  background: linear-gradient(90deg, #2a2c28 0%, #3a3c38 30%, #2a2c28 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rc-officer 6s ease-in-out infinite;
}
.scn-random-character .chair {
  position: absolute; bottom: 22%; left: 35%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #4a4c46 0%, #3a3c38 100%);
  border-radius: 6px 6px 2px 2px;
  animation: rc-chair 8s ease-in-out infinite;
}
.scn-random-character .hat {
  position: absolute; bottom: 65%; left: 50%; width: 30px; height: 12px;
  background: linear-gradient(180deg, #2c2e2a 0%, #1e201c 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%;
  transform: translateX(-50%) rotate(5deg);
  animation: rc-hat 5s ease-in-out infinite;
}
.scn-random-character .dog {
  position: absolute; bottom: 22%; left: 25%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #5a5c56 0%, #4a4c46 100%);
  border-radius: 50% 50% 40% 40%;
  animation: rc-dog 4s ease-in-out infinite;
}
@keyframes rc-wall { 0% { opacity: .9 } 50% { opacity: .95 } 100% { opacity: .85 } }
@keyframes rc-window { 0% { box-shadow: inset 0 0 10px rgba(100,130,150,.2) } 50% { box-shadow: inset 0 0 30px rgba(100,130,150,.5) } 100% { box-shadow: inset 0 0 15px rgba(100,130,150,.3) } }
@keyframes rc-officer { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(6px) rotate(2deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-6px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes rc-chair { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rc-hat { 0% { transform: translateX(-50%) rotate(2deg) } 50% { transform: translateX(-50%) rotate(8deg) } 100% { transform: translateX(-50%) rotate(2deg) } }
@keyframes rc-dog { 0% { transform: translateX(0) } 50% { transform: translateX(4px) } 100% { transform: translateX(0) } }

/* random-ambition – calm, dim interior */
.scn-random-ambition {
  background:
    linear-gradient(180deg, #2a2826 0%, #3a3834 30%, #4a4844 60%, #2a2826 100%),
    radial-gradient(ellipse at 70% 40%, #5a5854 0%, transparent 60%);
  box-shadow: inset 0 0 50px rgba(0,0,0,.35);
}
.scn-random-ambition .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #3a3834 0%, #4a4844 40%, #3a3834 100%);
  animation: ra-wall 14s ease-in-out infinite alternate;
}
.scn-random-ambition .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a2826 0%, #1e1c1a 100%);
}
.scn-random-ambition .desk {
  position: absolute; bottom: 30%; left: 30%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #4a4844 0%, #3a3834 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 6px 12px rgba(0,0,0,.4);
  animation: ra-desk 10s ease-in-out infinite;
}
.scn-random-ambition .figure-random {
  position: absolute; bottom: 30%; left: 35%; width: 26px; height: 64px;
  background: linear-gradient(90deg, #2a2826 0%, #3a3834 30%, #2a2826 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ra-figure 6s ease-in-out infinite;
}
.scn-random-ambition .candle {
  position: absolute; bottom: 45%; left: 50%; width: 8px; height: 22px;
  background: linear-gradient(180deg, #c8a878 0%, #7a6a4a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
}
.scn-random-ambition .frame {
  position: absolute; top: 15%; left: 15%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,.3);
  animation: ra-frame 12s ease-in-out infinite;
}
.scn-random-ambition .paper {
  position: absolute; bottom: 42%; left: 40%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 1px;
  transform: rotate(10deg);
  animation: ra-paper 5s ease-in-out infinite;
}
@keyframes ra-wall { 0% { opacity: .85 } 50% { opacity: .95 } 100% { opacity: .9 } }
@keyframes ra-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(3px) } }
@keyframes ra-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes ra-frame { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ra-paper { 0% { transform: rotate(8deg) } 50% { transform: rotate(12deg) } 100% { transform: rotate(8deg) } }

/* jasher-cottage-morning */
.scn-jasher-cottage-morning {
  background: linear-gradient(180deg, #f5f0e8 0%, #e0d8c8 40%), radial-gradient(circle at 70% 30%, #fffbe6 0%, transparent 70%);
}
.scn-jasher-cottage-morning .room-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f5ede0 0%, #ded1bf 100%);
  animation: jcm-wall 16s ease-in-out infinite alternate;
}
.scn-jasher-cottage-morning .window-frame {
  position: absolute; top: 15%; left: 60%; width: 120px; height: 150px;
  background: linear-gradient(135deg, #cfbca0 0%, #a08b70 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 6px #8a765c;
}
.scn-jasher-cottage-morning .window-glass {
  position: absolute; top: 18%; left: 63%; width: 100px; height: 130px;
  background: linear-gradient(180deg, #e8f4ff 0%, #cce0ff 100%);
  animation: jcm-glass 8s ease-in-out infinite alternate;
}
.scn-jasher-cottage-morning .sunbeam {
  position: absolute; top: 20%; left: 65%; width: 50px; height: 200px;
  background: linear-gradient(180deg, rgba(255,250,210,0.6) 0%, rgba(255,250,210,0) 100%);
  transform: rotate(-15deg); filter: blur(4px);
  animation: jcm-beam 6s ease-in-out infinite;
}
.scn-jasher-cottage-morning .bed {
  position: absolute; bottom: 12%; left: 15%; width: 200px; height: 120px;
  background: linear-gradient(180deg, #c0a88a 0%, #a08568 100%);
  border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  animation: jcm-bed 10s ease-in-out infinite;
}
.scn-jasher-cottage-morning .blanket {
  position: absolute; bottom: 22%; left: 18%; width: 170px; height: 50px;
  background: linear-gradient(180deg, #e0d0b8 0%, #c4b094 100%);
  border-radius: 20px; transform: rotate(2deg);
}
.scn-jasher-cottage-morning .pillow {
  position: absolute; bottom: 35%; left: 22%; width: 50px; height: 30px;
  background: linear-gradient(135deg, #f0e8d8 0%, #ddd0b8 100%);
  border-radius: 30% 30% 50% 50%; transform: rotate(-8deg);
  animation: jcm-pillow 5s ease-in-out infinite;
}
.scn-jasher-cottage-morning .chair {
  position: absolute; bottom: 10%; left: 65%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #8a6e4e 0%, #6a5238 100%);
  border-radius: 8px; transform-origin: bottom center;
  animation: jcm-chair 7s ease-in-out infinite;
}
@keyframes jcm-wall { 0%,100% { opacity: 0.95; } 50% { opacity: 1; } }
@keyframes jcm-glass { 0% { background: linear-gradient(180deg, #e8f4ff 0%, #cce0ff 100%); opacity: 0.9; } 100% { background: linear-gradient(180deg, #fffaee 0%, #f0e8d0 100%); opacity: 1; } }
@keyframes jcm-beam { 0% { transform: rotate(-15deg) scaleX(1); opacity: 0.6; } 50% { transform: rotate(-10deg) scaleX(1.2); opacity: 0.9; } 100% { transform: rotate(-15deg) scaleX(1); opacity: 0.6; } }
@keyframes jcm-bed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes jcm-pillow { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-3px); } 100% { transform: rotate(-8deg) translateY(0); } }
@keyframes jcm-chair { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }

/* jasher-cottage-evening */
.scn-jasher-cottage-evening {
  background: linear-gradient(180deg, #2a1e12 0%, #4a3020 50%, #6a4a32 100%), radial-gradient(circle at 50% 80%, #ff8844 0%, transparent 70%);
}
.scn-jasher-cottage-evening .pink-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #5a3a3a 0%, #7a4a4a 100%);
  animation: jce-wall 20s ease-in-out infinite alternate;
}
.scn-jasher-cottage-evening .fireplace {
  position: absolute; bottom: 10%; left: 40%; width: 160px; height: 140px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 12px 12px 4px 4px; box-shadow: inset 0 -8px 20px rgba(0,0,0,0.5);
}
.scn-jasher-cottage-evening .fire-glow {
  position: absolute; bottom: 15%; left: 45%; width: 100px; height: 120px;
  background: radial-gradient(circle at 50% 80%, #ff6600 0%, #ff4400 30%, #ffaa00 60%, transparent 100%);
  filter: blur(10px); opacity: 0.8;
  animation: jce-fire 2s ease-in-out infinite alternate;
}
.scn-jasher-cottage-evening .couch {
  position: absolute; bottom: 8%; left: 12%; width: 220px; height: 90px;
  background: linear-gradient(180deg, #c06878 0%, #a05060 100%);
  border-radius: 40px 40px 12px 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: jce-couch 12s ease-in-out infinite;
}
.scn-jasher-cottage-evening .coffee-table {
  position: absolute; bottom: 6%; left: 30%; width: 100px; height: 30px;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-jasher-cottage-evening .curtain {
  position: absolute; top: 5%; left: 5%; width: 40px; height: 200px;
  background: linear-gradient(180deg, #b86a6a 0%, #8a4848 100%);
  border-radius: 20px; transform-origin: top; filter: blur(1px);
  animation: jce-curtain 15s ease-in-out infinite alternate;
}
.scn-jasher-cottage-evening .lamp {
  position: absolute; bottom: 30%; left: 25%; width: 8px; height: 30px;
  background: #ffcc66; border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,200,100,0.5);
  animation: jce-lamp 4s ease-in-out infinite;
}
@keyframes jce-wall { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes jce-fire { 0% { opacity: 0.7; transform: scale(1); } 100% { opacity: 1; transform: scale(1.1); } }
@keyframes jce-couch { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes jce-curtain { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.02); } 100% { transform: rotate(-2deg) scaleY(0.98); } }
@keyframes jce-lamp { 0%,100% { transform: scale(1); } 50% { transform: scale(1.2); } }

/* jasher-cottage-night */
.scn-jasher-cottage-night {
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 60%, #0a0a12 100%), radial-gradient(circle at 80% 40%, #2a3a4a 0%, transparent 80%);
}
.scn-jasher-cottage-night .dark-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #0d0d1a 0%, #181830 100%);
  animation: jcn-room 8s ease-in-out infinite alternate;
}
.scn-jasher-cottage-night .moon-window {
  position: absolute; top: 10%; right: 8%; width: 90px; height: 120px;
  background: linear-gradient(135deg, #2a3a5a 0%, #1a2a4a 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 4px #4a6a8a;
}
.scn-jasher-cottage-night .moonlight {
  position: absolute; top: 12%; right: 12%; width: 70px; height: 200px;
  background: linear-gradient(180deg, rgba(200,220,255,0.3) 0%, rgba(200,220,255,0) 100%);
  transform: rotate(-20deg); filter: blur(6px);
  animation: jcn-moon 12s ease-in-out infinite;
}
.scn-jasher-cottage-night .shadow-figure {
  position: absolute; bottom: 5%; left: 30%; width: 40px; height: 100px;
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 60%, #2a2a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jcn-figure 4s ease-in-out infinite alternate;
}
.scn-jasher-cottage-night .table-letter {
  position: absolute; bottom: 15%; left: 55%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #3a3028 0%, #4a4038 100%);
  border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.6);
  animation: jcn-letter 7s ease-in-out infinite;
}
.scn-jasher-cottage-night .door {
  position: absolute; bottom: 0; right: 5%; width: 70px; height: 180px;
  background: linear-gradient(180deg, #2a1e12 0%, #1a0e02 100%);
  border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,0.8), 0 0 0 2px #3a2a1a;
}
@keyframes jcn-room { 0%,100% { opacity: 0.85; } 50% { opacity: 1; } }
@keyframes jcn-moon { 0% { opacity: 0.3; transform: rotate(-20deg) scaleY(1); } 50% { opacity: 0.6; transform: rotate(-18deg) scaleY(1.05); } 100% { opacity: 0.3; transform: rotate(-20deg) scaleY(1); } }
@keyframes jcn-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(-2deg); } 100% { transform: translateX(-2px) rotate(1deg); } }
@keyframes jcn-letter { 0%,100% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.02); filter: brightness(1.1); } }

/* pyramids-next-morning */
.scn-pyramids-next-morning {
  background: linear-gradient(180deg, #e8dcc0 0%, #c8b898 40%, #a89878 100%), radial-gradient(circle at 30% 20%, #ffffee 0%, transparent 70%);
}
.scn-pyramids-next-morning .stone-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #c8b898 0%, #a89878 100%);
  animation: pnm-wall 10s ease-in-out infinite alternate;
}
.scn-pyramids-next-morning .sun-shaft {
  position: absolute; top: 5%; left: 25%; width: 60px; height: 300px;
  background: linear-gradient(180deg, rgba(255,255,220,0.5) 0%, rgba(255,255,220,0) 100%);
  transform: rotate(-10deg); filter: blur(4px);
  animation: pnm-shaft 5s ease-in-out infinite;
}
.scn-pyramids-next-morning .desk {
  position: absolute; bottom: 10%; left: 20%; width: 160px; height: 40px;
  background: linear-gradient(180deg, #6a5a42 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: pnm-desk 8s ease-in-out infinite;
}
.scn-pyramids-next-morning .letter {
  position: absolute; bottom: 22%; left: 28%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #f0e8d0 0%, #d8c8a8 100%);
  border-radius: 2px; transform: rotate(-5deg);
  animation: pnm-letter 3s ease-in-out infinite;
}
.scn-pyramids-next-morning .professor-silhouette {
  position: absolute; bottom: 5%; left: 60%; width: 50px; height: 110px;
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 60%, #3a3a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pnm-prof 6s ease-in-out infinite;
}
.scn-pyramids-next-morning .random-silhouette {
  position: absolute; bottom: 5%; left: 45%; width: 45px; height: 100px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 60%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pnm-rand 6s ease-in-out infinite reverse;
}
.scn-pyramids-next-morning .hieroglyph-dust {
  position: absolute; top: 20%; left: 10%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(200,180,140,0.2) 0%, transparent 100%);
  filter: blur(8px); animation: pnm-dust 20s linear infinite;
}
@keyframes pnm-wall { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes pnm-shaft { 0% { transform: rotate(-10deg) scaleX(1); opacity: 0.5; } 50% { transform: rotate(-8deg) scaleX(1.2); opacity: 0.8; } 100% { transform: rotate(-10deg) scaleX(1); opacity: 0.5; } }
@keyframes pnm-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pnm-letter { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-2deg) scale(1.05); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes pnm-prof { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes pnm-rand { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(1deg); } }
@keyframes pnm-dust { 0% { transform: translate(0, 0); opacity: 0.2; } 50% { transform: translate(20px, -10px); opacity: 0.4; } 100% { transform: translate(0, 0); opacity: 0.2; } }

.scn-random-not-at-fort {
  background: linear-gradient(180deg, #f5e6d0 0%, #d4c4a8 30%, #b8a088 100%),
              radial-gradient(ellipse at 70% 20%, #fff8ec 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.15);
}
.scn-random-not-at-fort .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8d5b8 0%, #c8b090 100%);
  border-radius: 0 0 20% 20%;
  animation: rnf-wall 20s ease-in-out infinite alternate;
}
.scn-random-not-at-fort .window-light {
  position: absolute; top: 15%; right: 10%; width: 28%; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, #fffbd0 0%, #e8d090 60%, transparent 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 40px 10px rgba(255,230,120,0.5);
  animation: rnf-window 4s ease-in-out infinite alternate;
}
.scn-random-not-at-fort .door {
  position: absolute; bottom: 20%; left: 8%; width: 18%; height: 60%;
  background: linear-gradient(180deg, #7a6040 0%, #5a3a20 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: -4px 0 12px rgba(0,0,0,0.3);
  transform-origin: left center;
  animation: rnf-door 6s ease-in-out infinite alternate;
}
.scn-random-not-at-fort .table {
  position: absolute; bottom: 22%; left: 38%; width: 24%; height: 10%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 6%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: rnf-table 9s ease-in-out infinite alternate;
}
.scn-random-not-at-fort .letter {
  position: absolute; bottom: 28%; left: 44%; width: 8%; height: 8%;
  background: #f0e0c0;
  border-radius: 4%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: rnf-letter 5s ease-in-out infinite alternate;
}
.scn-random-not-at-fort .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  animation: rnf-floor 15s ease-in-out infinite alternate;
}
@keyframes rnf-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes rnf-window { 0% { opacity: 0.7; transform: scaleY(0.95); } 50% { opacity: 1; transform: scaleY(1); } 100% { opacity: 0.8; transform: scaleY(0.97); } }
@keyframes rnf-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-15deg); } 100% { transform: rotateY(0deg); } }
@keyframes rnf-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes rnf-letter { 0%, 100% { transform: rotate(0deg) translate(0,0); } 50% { transform: rotate(3deg) translate(2px,-1px); } }
@keyframes rnf-floor { 0% { background-position: 0% 0%; } 50% { background-position: 5% 0%; } 100% { background-position: -5% 0%; } }

.scn-hervey-snubs {
  background: linear-gradient(180deg, #7a7a80 0%, #5a5a60 40%, #3a3a40 100%),
              radial-gradient(ellipse at 50% 100%, #4a4a50 0%, transparent 70%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.3);
}
.scn-hervey-snubs .sky-hsn {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #8a8a90 0%, #6a6a70 100%);
  animation: hsn-sky 12s ease-in-out infinite alternate;
}
.scn-hervey-snubs .hills-hsn {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  animation: hsn-hills 18s ease-in-out infinite alternate;
}
.scn-hervey-snubs .road-hsn {
  position: absolute; bottom: 20%; left: -10%; right: -10%; height: 20%;
  background: linear-gradient(180deg, #3a3a30 0%, #1a1a10 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  transform: perspective(400px) rotateX(20deg);
  animation: hsn-road 20s ease-in-out infinite alternate;
}
.scn-hervey-snubs .cart-body {
  position: absolute; bottom: 20%; left: 30%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #5a4a30 0%, #3a2a10 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: hsn-cart 8s ease-in-out infinite;
}
.scn-hervey-snubs .cart-wheel {
  position: absolute; bottom: 8%; left: 36%; width: 12%; height: 12%;
  background: radial-gradient(circle, #2a2a20 0%, #1a1a10 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: hsn-spin 4s linear infinite;
}
.scn-hervey-snubs .figure-hsn {
  position: absolute; bottom: 24%; left: 40%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #1a1a20 0%, #0a0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hsn-figure 6s ease-in-out infinite;
}
@keyframes hsn-sky { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.7; } }
@keyframes hsn-hills { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); } }
@keyframes hsn-road { 0% { transform: perspective(400px) rotateX(20deg) translateX(0); } 50% { transform: perspective(400px) rotateX(22deg) translateX(5px); } 100% { transform: perspective(400px) rotateX(18deg) translateX(-5px); } }
@keyframes hsn-cart { 0% { transform: translateX(-10px); } 25% { transform: translateX(0px); } 50% { transform: translateX(10px); } 75% { transform: translateX(5px); } 100% { transform: translateX(-10px); } }
@keyframes hsn-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes hsn-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(-1px) rotate(-2deg); } 75% { transform: translateY(-3px) rotate(4deg); } 100% { transform: translateY(0) rotate(0deg); } }

.scn-in-random-quarters {
  background: linear-gradient(180deg, #e0d4c0 0%, #c4b8a0 30%, #a09078 100%),
              radial-gradient(ellipse at 30% 50%, #fff4e0 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.2);
}
.scn-in-random-quarters .bg-irq {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #d4c8b0 0%, #b0a080 100%);
  border-radius: 0 0 10% 10%;
  animation: irq-bg 14s ease-in-out infinite alternate;
}
.scn-in-random-quarters .floor-irq {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #b09878 0%, #887050 100%);
  border-radius: 30% 30% 0 0;
  animation: irq-floor 20s ease-in-out infinite alternate;
}
.scn-in-random-quarters .bookshelf {
  position: absolute; top: 10%; left: 5%; width: 20%; height: 60%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3010 100%);
  border-radius: 4%;
  box-shadow: 4px 0 12px rgba(0,0,0,0.3);
  animation: irq-shelf 9s ease-in-out infinite alternate;
}
.scn-in-random-quarters .desk {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 14%;
  background: linear-gradient(180deg, #9a8050 0%, #7a6030 100%);
  border-radius: 6%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: irq-desk 11s ease-in-out infinite alternate;
}
.scn-in-random-quarters .lamp-glow {
  position: absolute; bottom: 32%; left: 48%; width: 6%; height: 6%;
  background: radial-gradient(circle, #ffe080 0%, #c8a050 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.6);
  animation: irq-lamp 3s ease-in-out infinite alternate;
}
.scn-in-random-quarters .portrait-frame {
  position: absolute; top: 12%; right: 10%; width: 16%; height: 24%;
  background: linear-gradient(180deg, #704830 0%, #502810 100%);
  border-radius: 6%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: irq-portrait 7s ease-in-out infinite alternate;
}
@keyframes irq-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes irq-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes irq-shelf { 0% { transform: translateX(0); } 50% { transform: translateX(2px); } 100% { transform: translateX(-1px); } }
@keyframes irq-desk { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-0.5deg); } }
@keyframes irq-lamp { 0% { opacity: 0.8; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes irq-portrait { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-1deg); } }

.scn-manuscript-discovered {
  background: linear-gradient(180deg, #e8dcc0 0%, #c8b898 30%, #a89878 100%),
              radial-gradient(ellipse at 50% 30%, #fffcde 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.2);
}
.scn-manuscript-discovered .bg-msd {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #d8ccb0 0%, #b8a88c 100%);
  border-radius: 0 0 8% 8%;
  animation: msd-bg 16s ease-in-out infinite alternate;
}
.scn-manuscript-discovered .shelf-left {
  position: absolute; top: 8%; left: 5%; width: 18%; height: 70%;
  background: linear-gradient(180deg, #7a5e3a 0%, #5a3e1a 100%);
  border-radius: 4%;
  box-shadow: 4px 0 12px rgba(0,0,0,0.3);
  animation: msd-shelf-l 10s ease-in-out infinite alternate;
}
.scn-manuscript-discovered .shelf-right {
  position: absolute; top: 8%; right: 5%; width: 18%; height: 70%;
  background: linear-gradient(180deg, #7a5e3a 0%, #5a3e1a 100%);
  border-radius: 4%;
  box-shadow: -4px 0 12px rgba(0,0,0,0.3);
  animation: msd-shelf-r 10s ease-in-out infinite alternate;
}
.scn-manuscript-discovered .desk-msd {
  position: absolute; bottom: 12%; left: 25%; width: 50%; height: 16%;
  background: linear-gradient(180deg, #9a7a50 0%, #7a5a30 100%);
  border-radius: 6%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: msd-desk 8s ease-in-out infinite alternate;
}
.scn-manuscript-discovered .manuscript {
  position: absolute; bottom: 18%; left: 40%; width: 10%; height: 6%;
  background: #f0e0c0;
  border-radius: 2%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: msd-manu 5s ease-in-out infinite alternate;
}
.scn-manuscript-discovered .book-fall {
  position: absolute; top: 10%; left: 35%; width: 8%; height: 6%;
  background: #5a2a1a;
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  animation: msd-fall 3s ease-in-out infinite;
}
@keyframes msd-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes msd-shelf-l { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(-2px); } }
@keyframes msd-shelf-r { 0% { transform: translateX(0); } 50% { transform: translateX(-3px); } 100% { transform: translateX(2px); } }
@keyframes msd-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(2px); } }
@keyframes msd-manu { 0%, 100% { transform: rotate(0deg) translate(0,0); } 50% { transform: rotate(4deg) translate(2px,-1px); } }
@keyframes msd-fall { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(20px) rotate(30deg); } 50% { transform: translateY(40px) rotate(60deg); } 75% { transform: translateY(60px) rotate(90deg); } 100% { transform: translateY(80px) rotate(120deg); } }

/* Scene: strangers-seen-on-road (sor) – calm overcast road */
.scn-strangers-seen-on-road {
  background: linear-gradient(180deg, #8a9ba8 0%, #b0b8b5 40%, #c0c5c0 100%),
              radial-gradient(ellipse at 50% 100%, #d0d5d0 0%, transparent 70%);
}
.scn-strangers-seen-on-road .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #a0a8a0 0%, #c8ccc4 100%);
  animation: sor-sky 12s ease-in-out infinite alternate;
}
.scn-strangers-seen-on-road .road {
  position: absolute; bottom: 22%; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #bac0b8 0%, #a5aca2 40%, #7e857a 100%);
  border-radius: 20% 10% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.15);
}
.scn-strangers-seen-on-road .hill-left {
  position: absolute; bottom: 38%; left: -5%; width: 45%; height: 20%;
  background: linear-gradient(180deg, #7a8277 0%, #5a6357 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  opacity: 0.6;
  animation: sor-hill 20s ease-in-out infinite alternate;
}
.scn-strangers-seen-on-road .tall-figure {
  position: absolute; bottom: 20%; width: 14px; height: 50px;
  background: linear-gradient(180deg, #2a3a3a 0%, #182828 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
}
.scn-strangers-seen-on-road .tall1 { left: 35%; animation: sor-walk-tall1 8s ease-in-out infinite; }
.scn-strangers-seen-on-road .tall2 { left: 52%; animation: sor-walk-tall2 8s ease-in-out infinite 1s; }
.scn-strangers-seen-on-road .short-figure {
  position: absolute; bottom: 20%; left: 68%; width: 11px; height: 36px;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sor-walk-short 10s ease-in-out infinite 2s;
}
.scn-strangers-seen-on-road .bush {
  position: absolute; bottom: 20%; width: 22px; height: 26px;
  background: radial-gradient(ellipse at 50% 100%, #5a6a4a 0%, #3a4a2a 100%);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-strangers-seen-on-road .left { left: 12%; animation: sor-bush-sway 7s ease-in-out infinite alternate; }
.scn-strangers-seen-on-road .right { right: 14%; animation: sor-bush-sway 7s ease-in-out infinite alternate-reverse; }

@keyframes sor-sky { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 0.9; transform: scaleY(1.02); } 100% { opacity: 0.75; transform: scaleY(0.98); } }
@keyframes sor-hill { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.01); } 100% { transform: translateY(1px) scaleX(0.99); } }
@keyframes sor-walk-tall1 { 0% { transform: translateX(0) translateY(0) rotate(-0.5deg); } 25% { transform: translateX(8px) translateY(-1px) rotate(0.5deg); } 50% { transform: translateX(16px) translateY(0) rotate(-0.5deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(0.5deg); } 100% { transform: translateX(32px) translateY(0) rotate(0deg); } }
@keyframes sor-walk-tall2 { 0% { transform: translateX(0) translateY(0) rotate(0.5deg); } 25% { transform: translateX(8px) translateY(-1px) rotate(-0.5deg); } 50% { transform: translateX(16px) translateY(0) rotate(0.5deg); } 75% { transform: translateX(24px) translateY(1px) rotate(-0.5deg); } 100% { transform: translateX(32px) translateY(0) rotate(0deg); } }
@keyframes sor-walk-short { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 33% { transform: translateX(6px) translateY(-2px) rotate(1deg); } 66% { transform: translateX(12px) translateY(0) rotate(-1deg); } 100% { transform: translateX(18px) translateY(-1px) rotate(0deg); } }
@keyframes sor-bush-sway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(2deg); } }

/* Scene: introductions (int) – warm overcast interior gathering */
.scn-introductions {
  background: linear-gradient(180deg, #8a7a62 0%, #b8a890 40%, #d0c0a8 100%),
              radial-gradient(ellipse at 30% 60%, #e0d0b8 0%, transparent 70%);
}
.scn-introductions .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #b8a890 0%, #c8b8a0 50%, #d0c8b8 100%);
  animation: int-bg 10s ease-in-out infinite alternate;
}
.scn-introductions .wall-left {
  position: absolute; top: 5%; left: 0; width: 20%; height: 70%;
  background: linear-gradient(90deg, #6a5a42 0%, #8a7a62 100%);
  border-radius: 0 8% 8% 0;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
}
.scn-introductions .wall-right {
  position: absolute; top: 5%; right: 0; width: 20%; height: 70%;
  background: linear-gradient(270deg, #6a5a42 0%, #8a7a62 100%);
  border-radius: 8% 0 0 8%;
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
}
.scn-introductions .figure {
  position: absolute; bottom: 18%; width: 16px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
}
.scn-introductions .f1 { left: 28%; animation: int-figure1 6s ease-in-out infinite; }
.scn-introductions .f2 { left: 46%; animation: int-figure2 6s ease-in-out infinite 0.5s; }
.scn-introductions .f3 { left: 62%; animation: int-figure3 8s ease-in-out infinite 1s; }
.scn-introductions .f4 { left: 76%; width: 14px; height: 44px; animation: int-figure4 7s ease-in-out infinite 1.5s; }

@keyframes int-bg { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes int-figure1 { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(0) rotate(2deg); } 40% { transform: translateY(-2px) rotate(0deg); } 60% { transform: translateY(0) rotate(-2deg); } 80% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes int-figure2 { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(3px) translateY(-1px); } 50% { transform: translateX(6px) translateY(0); } 75% { transform: translateX(3px) translateY(1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes int-figure3 { 0% { transform: scaleY(1) rotate(0deg); } 30% { transform: scaleY(1.02) rotate(1deg); } 60% { transform: scaleY(0.98) rotate(-1deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes int-figure4 { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(2px) rotate(3deg); } 66% { transform: translateX(-2px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* Scene: don-pedro-appearance (dpa) – calm overcast portrait silhouette */
.scn-don-pedro-appearance {
  background: linear-gradient(180deg, #4a5060 0%, #687078 40%, #889098 100%),
              radial-gradient(ellipse at 30% 50%, #607080 0%, transparent 70%);
}
.scn-don-pedro-appearance .bg-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a6270 0%, #788088 100%);
  animation: dpa-sky 15s ease-in-out infinite alternate;
}
.scn-don-pedro-appearance .bg-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a4a42 0%, #2a2a22 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
}
.scn-don-pedro-appearance .don-figure {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 80px;
  background: linear-gradient(180deg, #121826 0%, #0a0e16 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform: translateX(-50%);
  transform-origin: bottom center;
  animation: dpa-figure 8s ease-in-out infinite;
}
.scn-don-pedro-appearance .don-hat {
  position: absolute; bottom: 86%; left: 50%; width: 36px; height: 16px;
  margin-left: -18px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 20% 20% / 80% 80% 20% 20%;
  transform-origin: center bottom;
  animation: dpa-hat 8s ease-in-out infinite;
}
.scn-don-pedro-appearance .don-cloak {
  position: absolute; bottom: 20%; left: 50%; width: 34px; height: 64px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a2230 0%, #0e141e 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  opacity: 0.8;
  animation: dpa-cloak 10s ease-in-out infinite alternate;
}
.scn-don-pedro-appearance .don-staff {
  position: absolute; bottom: 16%; left: 62%; width: 4px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 2px;
  transform: rotate(8deg);
  transform-origin: bottom center;
  animation: dpa-staff 6s ease-in-out infinite alternate;
}
@keyframes dpa-sky { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes dpa-figure { 0% { transform: translateX(-50%) rotate(0deg); } 30% { transform: translateX(-50%) rotate(1deg); } 60% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes dpa-hat { 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 dpa-cloak { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.03); } 100% { transform: translateX(-50%) scaleX(0.97); } }
@keyframes dpa-staff { 0% { transform: rotate(6deg) scaleY(1); } 50% { transform: rotate(8deg) scaleY(1.02); } 100% { transform: rotate(10deg) scaleY(0.98); } }

/* Scene: donna-inez-appearance (dna) – calm overcast three ladies */
.scn-donna-inez-appearance {
  background: linear-gradient(180deg, #6a7278 0%, #8a9096 40%, #a0a8a8 100%),
              radial-gradient(ellipse at 50% 30%, #b0b8b8 0%, transparent 60%);
}
.scn-donna-inez-appearance .bg-interior {
  position: absolute; inset: 5% 5% 10% 5%;
  background: linear-gradient(180deg, #9a9e9c 0%, #b0b4b0 100%);
  border-radius: 8%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
  animation: dna-bg 12s ease-in-out infinite alternate;
}
.scn-donna-inez-appearance .divider {
  position: absolute; top: 15%; left: 50%; width: 2px; height: 60%;
  background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(0,0,0,0.1) 100%);
  transform: translateX(-50%);
  opacity: 0.7;
}
.scn-donna-inez-appearance .lady {
  position: absolute; bottom: 22%; width: 18px; height: 60px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
}
.scn-donna-inez-appearance .left   { left: 22%; animation: dna-lady-left 7s ease-in-out infinite; }
.scn-donna-inez-appearance .center { left: 50%; margin-left: -9px; animation: dna-lady-center 7s ease-in-out infinite 0.5s; }
.scn-donna-inez-appearance .right  { right: 22%; animation: dna-lady-right 7s ease-in-out infinite 1s; }
.scn-donna-inez-appearance .drape {
  position: absolute; top: 10%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, rgba(120,100,80,0.5) 0%, rgba(80,70,60,0.3) 100%);
  border-radius: 20% 20% 50% 50%;
  filter: blur(4px);
  animation: dna-drape 15s ease-in-out infinite alternate;
}
@keyframes dna-bg { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes dna-lady-left { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-3px) rotate(0deg); } 75% { transform: translateX(0) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dna-lady-center { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(2px) translateY(-2px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(-2px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes dna-lady-right { 0% { transform: translateX(0) scaleY(1); } 33% { transform: translateX(4px) scaleY(1.02); } 66% { transform: translateX(-2px) scaleY(0.98); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes dna-drape { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(2px) scaleY(1.02); } 100% { transform: translateY(-1px) scaleY(0.98); } }

/* mummy-removed – moonlit tense interior */
.scn-mummy-removed {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #2a2a5e 40%, #3a3a6e 100%) 0 0 / 100% 100%,
    radial-gradient(ellipse at 30% 50%, #4a4a7e 0%, transparent 60%);
}
.scn-mummy-removed .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #5a4a6a 0%, #7a6a8a 50%, #5a4a6a 100%);
  animation: mmr-wall 12s ease-in-out infinite alternate;
}
.scn-mummy-removed .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a4a 0%, #3a2a3a 100%);
}
.scn-mummy-removed .window {
  position: absolute; top: 10%; left: 60%; width: 80px; height: 120px;
  background: #aaccff; opacity: 0.3; border-radius: 4px; box-shadow: inset 0 0 30px #ffffff44;
  animation: mmr-window 6s ease-in-out infinite alternate;
}
.scn-mummy-removed .moonbeam {
  position: absolute; top: 12%; left: 60%; width: 120px; height: 300px;
  background: linear-gradient(180deg, rgba(200,220,255,0.2) 0%, rgba(200,220,255,0.05) 100%);
  transform: skewX(-10deg); filter: blur(8px);
  animation: mmr-beam 8s ease-in-out infinite alternate;
}
.scn-mummy-removed .sofa {
  position: absolute; bottom: 15%; left: 20%; width: 140px; height: 50px;
  background: linear-gradient(180deg, #8a5a5a 0%, #6a3a3a 100%);
  border-radius: 10px 10px 4px 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: mmr-sofa 5s ease-in-out infinite;
}
.scn-mummy-removed .figure-hope {
  position: absolute; bottom: 22%; left: 28%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 50%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: mmr-figure-hope 4s ease-in-out infinite;
}
.scn-mummy-removed .figure-jasher {
  position: absolute; bottom: 24%; left: 34%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-20deg); animation: mmr-figure-jasher 4s ease-in-out infinite;
}
@keyframes mmr-wall { 0%,100% { opacity: 0.9; } 50% { opacity: 0.7; } }
@keyframes mmr-window { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }
@keyframes mmr-beam { 0% { opacity: 0.1; transform: skewX(-10deg) scaleX(1); } 50% { opacity: 0.3; transform: skewX(-8deg) scaleX(1.1); } 100% { opacity: 0.15; transform: skewX(-12deg) scaleX(0.95); } }
@keyframes mmr-sofa { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mmr-figure-hope { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(0deg); } 50% { transform: translateX(8px) translateY(0) rotate(2deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(-2deg); } }
@keyframes mmr-figure-jasher { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-22deg) translateX(2px) translateY(-1px); } 100% { transform: rotate(-20deg) translateX(0); } }

/* morning-gossip – calm dawn village */
.scn-morning-gossip {
  background:
    linear-gradient(180deg, #ffd4a0 0%, #ffc080 30%, #b08050 70%, #806040 100%) 0 0 / 100% 100%,
    radial-gradient(ellipse at 50% 100%, #ffd4a0 0%, transparent 50%);
}
.scn-morning-gossip .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffe0b0 0%, #ffc080 50%, transparent 100%);
  animation: mg-sky 20s ease-in-out infinite alternate;
}
.scn-morning-gossip .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #705030 0%, #503020 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
}
.scn-morning-gossip .house-left {
  position: absolute; bottom: 30%; left: 10%; width: 80px; height: 70px;
  background: linear-gradient(180deg, #a07050 0%, #805030 100%);
  border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: mg-house-left 15s ease-in-out infinite;
}
.scn-morning-gossip .house-right {
  position: absolute; bottom: 32%; right: 15%; width: 90px; height: 60px;
  background: linear-gradient(180deg, #b08060 0%, #906040 100%);
  border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: mg-house-right 18s ease-in-out infinite reverse;
}
.scn-morning-gossip .tree {
  position: absolute; bottom: 30%; left: 40%; width: 30px; height: 100px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%; transform-origin: bottom center;
  animation: mg-tree 10s ease-in-out infinite alternate;
}
.scn-morning-gossip .figure-a {
  position: absolute; bottom: 20%; left: 25%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mg-figure-a 3s ease-in-out infinite;
}
.scn-morning-gossip .figure-b {
  position: absolute; bottom: 22%; left: 32%; width: 14px; height: 38px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mg-figure-b 3.2s ease-in-out infinite 0.5s;
}
@keyframes mg-sky { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes mg-house-left { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mg-house-right { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes mg-tree { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(-1px); } 100% { transform: rotate(-2deg); } }
@keyframes mg-figure-a { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(6px) rotate(0deg); } 50% { transform: translateX(12px) rotate(3deg); } 75% { transform: translateX(6px) rotate(0deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes mg-figure-b { 0% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(-4px) rotate(0deg); } 50% { transform: translateX(-8px) rotate(-2deg); } 75% { transform: translateX(-4px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }

/* don-pedro-visits-museum – tense bright interior */
.scn-don-pedro-visits-museum {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #d0c0a0 50%, #a09070 100%) 0 0 / 100% 100%,
    radial-gradient(ellipse at 40% 50%, #ffffff88 0%, transparent 60%);
}
.scn-don-pedro-visits-museum .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e0d4c0 0%, #c0b0a0 100%);
  animation: dpm-wall 10s ease-in-out infinite alternate;
}
.scn-don-pedro-visits-museum .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #b0a080 0%, #908060 100%);
}
.scn-don-pedro-visits-museum .ceiling-beam {
  position: absolute; top: 5%; left: 10%; width: 80%; height: 12px;
  background: linear-gradient(90deg, #705030, #906040, #705030);
  border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  animation: dpm-beam 20s ease-in-out infinite;
}
.scn-don-pedro-visits-museum .display-case {
  position: absolute; bottom: 20%; left: 15%; width: 100px; height: 140px;
  background: linear-gradient(180deg, #a09080 0%, #807060 100%);
  border-radius: 6px; box-shadow: inset 0 0 30px #ffffff33, 0 8px 20px rgba(0,0,0,0.5);
  animation: dpm-case 12s ease-in-out infinite alternate;
}
.scn-don-pedro-visits-museum .mummy-case {
  position: absolute; bottom: 30%; left: 55%; width: 60px; height: 150px;
  background: linear-gradient(90deg, #604830, #806050, #604830);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: dpm-mummy 8s ease-in-out infinite;
}
.scn-don-pedro-visits-museum .figure-pedro {
  position: absolute; bottom: 18%; left: 30%; width: 18px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dpm-pedro 4s ease-in-out infinite;
}
.scn-don-pedro-visits-museum .figure-professor {
  position: absolute; bottom: 18%; right: 25%; width: 20px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dpm-professor 4.5s ease-in-out infinite 0.3s;
}
@keyframes dpm-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dpm-beam { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes dpm-case { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes dpm-mummy { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(1px); } 100% { transform: rotate(-2deg); } }
@keyframes dpm-pedro { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(4px) rotate(0deg); } 50% { transform: translateX(8px) rotate(1deg); } 75% { transform: translateX(4px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes dpm-professor { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-3px) rotate(0deg); } 50% { transform: translateX(-6px) rotate(-1deg); } 75% { transform: translateX(-3px) rotate(0deg); } 100% { transform: translateX(0) rotate(1deg); } }

/* story-of-purchase – calm bright study interior */
.scn-story-of-purchase {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #e0d0b0 50%, #c0b090 100%) 0 0 / 100% 100%,
    radial-gradient(ellipse at 60% 40%, #ffffff44 0%, transparent 50%);
}
.scn-story-of-purchase .bookshelf {
  position: absolute; top: 0; left: 0; width: 100%; height: 60%;
  background: linear-gradient(90deg, #8a7a6a 0%, #a09080 20%, #a09080 80%, #8a7a6a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.2);
  animation: sop-shelf 30s ease-in-out infinite alternate;
}
.scn-story-of-purchase .table {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 30px;
  background: linear-gradient(180deg, #b0a090 0%, #908070 100%);
  border-radius: 8px; box-shadow: 0 8px 30px rgba(0,0,0,0.4);
  animation: sop-table 10s ease-in-out infinite;
}
.scn-story-of-purchase .chair-left {
  position: absolute; bottom: 10%; left: 22%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 30% 30%; box-shadow: 2px 0 10px rgba(0,0,0,0.3);
  animation: sop-chair-left 8s ease-in-out infinite alternate;
}
.scn-story-of-purchase .chair-right {
  position: absolute; bottom: 10%; right: 22%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 30% 30%; box-shadow: -2px 0 10px rgba(0,0,0,0.3);
  animation: sop-chair-right 8s ease-in-out infinite alternate 0.4s;
}
.scn-story-of-purchase .figure-buyer {
  position: absolute; bottom: 22%; left: 28%; width: 16px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sop-buyer 4s ease-in-out infinite;
}
.scn-story-of-purchase .figure-seller {
  position: absolute; bottom: 22%; right: 28%; width: 18px; height: 55px;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sop-seller 4.2s ease-in-out infinite 0.2s;
}
.scn-story-of-purchase .mummy-roll {
  position: absolute; bottom: 25%; left: 48%; width: 40px; height: 20px;
  background: linear-gradient(90deg, #705030, #a08060, #705030);
  border-radius: 50% / 40%; transform: rotate(-10deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: sop-mummy-roll 6s ease-in-out infinite;
}
@keyframes sop-shelf { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes sop-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes sop-chair-left { 0% { transform: rotate(0deg); } 50% { transform: rotate(-3deg); } 100% { transform: rotate(0deg); } }
@keyframes sop-chair-right { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes sop-buyer { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(3px) rotate(0deg); } 50% { transform: translateX(6px) rotate(-1deg); } 75% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes sop-seller { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(-3px) rotate(0deg); } 50% { transform: translateX(-6px) rotate(1deg); } 75% { transform: translateX(-3px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes sop-mummy-roll { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-14deg) translateX(2px) translateY(-1px); } 100% { transform: rotate(-10deg) translateX(0); } }

/* scene: item-gold-mask (tgm) */
.scn-item-gold-mask {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #8b5e3c 100%),
    radial-gradient(ellipse at 70% 60%, #fff8e7 0%, transparent 60%);
}
.scn-item-gold-mask .wall { position:absolute; inset:0; background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 100%); }
.scn-item-gold-mask .desk { position:absolute; bottom:0; left:10%; right:10%; height:45%; background: linear-gradient(0deg, #5c3a21 0%, #8b5e3c 100%); border-radius: 20% 20% 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.5); animation: tgm-desk 10s ease-in-out infinite; }
.scn-item-gold-mask .mask { position:absolute; bottom:30%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: radial-gradient(ellipse 60% 80% at 50% 50%, #d4a017 0%, #b8860b 60%, #8b6508 100%); border-radius: 40% 40% 30% 30%; box-shadow: 0 0 30px 10px #d4a017, 0 0 60px 20px rgba(212,160,23,0.4); animation: tgm-glow 2s ease-in-out infinite alternate; }
.scn-item-gold-mask .jewel-1 { position:absolute; bottom:35%; left:42%; width:12px; height:12px; background: radial-gradient(circle, #e06666 0%, #a00000 100%); border-radius:50%; box-shadow: 0 0 8px 2px #e06666; animation: tgm-sparkle 3s ease-in-out infinite; }
.scn-item-gold-mask .jewel-2 { position:absolute; bottom:33%; left:55%; width:10px; height:10px; background: radial-gradient(circle, #66a3ff 0%, #0040a0 100%); border-radius:50%; box-shadow: 0 0 8px 2px #66a3ff; animation: tgm-sparkle 3s ease-in-out infinite 0.5s; }
.scn-item-gold-mask .shadow-hand { position:absolute; bottom:10%; left:30%; width:40px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-20deg); transform-origin: bottom center; animation: tgm-hand 4s ease-in-out infinite; }
.scn-item-gold-mask .lamp-glow { position:absolute; top:15%; left:60%; width:200px; height:200px; background: radial-gradient(circle, rgba(255,240,200,0.6) 0%, transparent 70%); animation: tgm-lamp 8s ease-in-out infinite alternate; }

@keyframes tgm-desk { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes tgm-glow { 0% { box-shadow: 0 0 20px 5px #d4a017, 0 0 40px 10px rgba(212,160,23,0.3); } 50% { box-shadow: 0 0 40px 15px #ffd700, 0 0 80px 30px rgba(255,215,0,0.5); } 100% { box-shadow: 0 0 25px 8px #d4a017, 0 0 50px 15px rgba(212,160,23,0.35); } }
@keyframes tgm-sparkle { 0%,100% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.2); } }
@keyframes tgm-hand { 0% { transform: rotate(-20deg) translateY(0); } 25% { transform: rotate(-15deg) translateY(-3px); } 50% { transform: rotate(-20deg) translateY(0); } 75% { transform: rotate(-25deg) translateY(-2px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes tgm-lamp { 0% { transform: scale(0.95); opacity:0.8; } 100% { transform: scale(1.05); opacity:1; } }

/* scene: item-manuscript-copy (mc) */
.scn-item-manuscript-copy {
  background:
    linear-gradient(0deg, #3a281e 0%, #6b4a32 50%, #d4b896 100%),
    radial-gradient(ellipse at 50% 30%, #fff5e0 0%, transparent 70%);
}
.scn-item-manuscript-copy .bg-library { position:absolute; inset:0; background: linear-gradient(0deg, #2b1a10 0%, #5c3a21 40%, #a67c52 100%); }
.scn-item-manuscript-copy .shelf-left { position:absolute; top:20%; left:5%; width:20%; height:70%; background: linear-gradient(90deg, #4a2e1a 0%, #6b4a32 100%); border-radius: 0 10px 10px 0; box-shadow: 10px 0 20px rgba(0,0,0,0.5); }
.scn-item-manuscript-copy .shelf-right { position:absolute; top:20%; right:5%; width:20%; height:70%; background: linear-gradient(-90deg, #4a2e1a 0%, #6b4a32 100%); border-radius: 10px 0 0 10px; box-shadow: -10px 0 20px rgba(0,0,0,0.5); }
.scn-item-manuscript-copy .figure-archie { position:absolute; bottom:10%; left:35%; width:30px; height:70px; background: linear-gradient(180deg, #2a1a10 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mc-walk 4s ease-in-out infinite; }
.scn-item-manuscript-copy .book-pulled { position:absolute; top:40%; left:38%; width:15px; height:25px; background: linear-gradient(180deg, #a0522d 0%, #803d1a 100%); border-radius: 2px; box-shadow: 2px 2px 5px rgba(0,0,0,0.4); animation: mc-book 3s ease-in-out infinite alternate; }
.scn-item-manuscript-copy .lamp-beam { position:absolute; top:10%; left:45%; width:40%; height:20%; background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 100%); clip-path: polygon(50% 0%, 0% 100%, 100% 100%); animation: mc-beam 5s ease-in-out infinite alternate; }

@keyframes mc-walk { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(4px) rotate(-2deg); } }
@keyframes mc-book { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-10px) rotate(-15deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mc-beam { 0%,100% { opacity:0.6; transform: scaleY(0.9); } 50% { opacity:1; transform: scaleY(1.1); } }

/* scene: random-room-manuscript-discovery (rmd) */
.scn-random-room-manuscript-discovery {
  background:
    linear-gradient(180deg, #2b1a10 0%, #1a0e06 60%, #0a0502 100%),
    radial-gradient(ellipse at 50% 70%, #6b4a32 0%, transparent 80%);
}
.scn-random-room-manuscript-discovery .wall-dark { position:absolute; inset:0; background: linear-gradient(0deg, #0a0502 0%, #1a0e06 50%, #2b1a10 100%); }
.scn-random-room-manuscript-discovery .bookcase { position:absolute; bottom:5%; left:20%; width:60%; height:70%; background: linear-gradient(180deg, #4a2e1a 0%, #3a1e0a 100%); border-radius: 5px 5px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); transform-origin: bottom center; animation: rmd-case 6s ease-in-out infinite; }
.scn-random-room-manuscript-discovery .falling-books { position:absolute; width:10px; height:20px; background: linear-gradient(180deg, #a0522d 0%, #803d1a 100%); border-radius: 2px; box-shadow: 1px 1px 3px rgba(0,0,0,0.5); }
.scn-random-room-manuscript-discovery .book-1 { top:30%; left:45%; animation: rmd-fall 3s ease-in infinite 0s; }
.scn-random-room-manuscript-discovery .book-2 { top:40%; left:55%; animation: rmd-fall 3.5s ease-in infinite 0.5s; }
.scn-random-room-manuscript-discovery .book-3 { top:35%; left:35%; animation: rmd-fall 4s ease-in infinite 1s; }
.scn-random-room-manuscript-discovery .figure-startled { position:absolute; bottom:5%; left:50%; width:30px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1a10 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); animation: rmd-startle 2s ease-in-out infinite alternate; }
.scn-random-room-manuscript-discovery .chandelier { position:absolute; top:0; left:50%; width:60px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #d4a017 0%, #8b6508 50%, #4a3502 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 20px 10px #d4a017; animation: rmd-candle 4s ease-in-out infinite; }

@keyframes rmd-case { 0%,100% { transform: rotateX(0deg); } 50% { transform: rotateX(10deg); } }
@keyframes rmd-fall { 0% { transform: translateY(0) rotate(0deg); opacity:1; } 100% { transform: translateY(90vh) rotate(720deg); opacity:0.3; } }
@keyframes rmd-startle { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.2); } 100% { transform: translateX(-50%) scaleY(0.95); } }
@keyframes rmd-candle { 0%,100% { transform: translateX(-50%) scale(0.95); box-shadow: 0 0 15px 5px #d4a017; } 50% { transform: translateX(-50%) scale(1.05); box-shadow: 0 0 30px 15px #ffd700; } }

/* scene: random-room-accusation-denial (rad) */
.scn-random-room-accusation-denial {
  background:
    linear-gradient(180deg, #8b7355 0%, #6b4a32 40%, #3a281e 100%),
    radial-gradient(ellipse at 40% 50%, #fff5e0 0%, transparent 70%);
}
.scn-random-room-accusation-denial .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #a0825a 0%, #6b4a32 100%); }
.scn-random-room-accusation-denial .window-harbour { position:absolute; top:10%; right:15%; width:30%; height:50%; background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 50%, #4682b4 100%); border: 4px solid #3a281e; border-radius: 5px; box-shadow: inset 0 0 20px rgba(0,0,0,0.3); animation: rad-window 8s ease-in-out infinite alternate; }
.scn-random-room-accusation-denial .table { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #5c3a21 0%, #3a281e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,0.5); }
.scn-random-room-accusation-denial .figure-left { position:absolute; bottom:5%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #2a1a10 0%, #1a0e06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rad-turn 6s ease-in-out infinite; }
.scn-random-room-accusation-denial .figure-right { position:absolute; bottom:5%; right:25%; width:30px; height:70px; background: linear-gradient(180deg, #3a281e 0%, #2a1a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rad-turn 6s ease-in-out infinite reverse; }
.scn-random-room-accusation-denial .lamp-desk { position:absolute; bottom:25%; left:50%; width:10px; height:30px; transform:translateX(-50%); background: linear-gradient(0deg, #d4a017 0%, #b8860b 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 30px 10px #d4a017; animation: rad-lamp 4s ease-in-out infinite alternate; }
.scn-random-room-accusation-denial .painting-ship { position:absolute; top:15%; left:10%; width:20%; height:25%; background: linear-gradient(180deg, #2e4a62 0%, #1a2a3a 100%); border: 3px solid #5c3a21; border-radius: 3px; box-shadow: 2px 2px 10px rgba(0,0,0,0.4); animation: rad-ship 12s ease-in-out infinite; }

@keyframes rad-window { 0% { opacity:0.8; transform: scaleY(0.98); } 50% { opacity:1; transform: scaleY(1); } 100% { opacity:0.85; transform: scaleY(0.99); } }
@keyframes rad-turn { 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 rad-lamp { 0% { box-shadow: 0 0 20px 5px #d4a017; } 50% { box-shadow: 0 0 40px 15px #ffd700; } 100% { box-shadow: 0 0 25px 8px #d4a017; } }
@keyframes rad-ship { 0%,100% { transform: scale(1); } 50% { transform: scale(1.02); } }

.scn-mystery-fades {
  background:
    linear-gradient(180deg, #9a9a9a 0%, #7a7a7a 30%, #5a5a5a 70%),
    radial-gradient(ellipse at 50% 0%, #b0b0b0 0%, transparent 60%);
}
.scn-mystery-fades .mf-bg { position:absolute; inset:0; background: linear-gradient(180deg, #8a8a8a 0%, #4a4a4a 100%); animation: mf-bg 20s ease-in-out infinite alternate; }
.scn-mystery-fades .mf-window { position:absolute; top:10%; left:20%; width:30%; height:35%; background: linear-gradient(180deg, #c0c0c0 0%, #a0a0a0 100%); border: 4px solid #6a6a6a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,255,.1); animation: mf-window 15s ease-in-out infinite; }
.scn-mystery-fades .mf-desk { position:absolute; bottom:15%; left:15%; right:15%; height:20%; background: linear-gradient(180deg, #6b4a3a 0%, #4a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.4); }
.scn-mystery-fades .mf-journal { position:absolute; bottom:22%; left:25%; width:30%; height:12%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: mf-journal 8s ease-in-out infinite alternate; }
.scn-mystery-fades .mf-glass { position:absolute; bottom:25%; left:55%; width:10%; height:14%; background: radial-gradient(circle, #e8e8e8 0%, #c0c0c0 70%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 8px rgba(0,0,0,.3); animation: mf-glass 6s ease-in-out infinite; transform-origin: bottom center; }
.scn-mystery-fades .mf-candle { position:absolute; bottom:24%; left:40%; width:4%; height:10%; background: linear-gradient(180deg, #e0c080 0%, #c0a060 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; box-shadow: 0 0 20px 8px rgba(255,200,100,.4); animation: mf-candle 3s ease-in-out infinite alternate; }
@keyframes mf-bg { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .7 } }
@keyframes mf-window { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes mf-journal { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }
@keyframes mf-glass { 0% { transform: rotate(-5deg) } 50% { transform: rotate(0deg) } 100% { transform: rotate(5deg) } }
@keyframes mf-candle { 0% { opacity: .8; box-shadow: 0 0 15px 6px rgba(255,200,100,.3) } 50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(255,200,100,.6) } 100% { opacity: .85; box-shadow: 0 0 20px 8px rgba(255,200,100,.4) } }

.scn-widow-thrives {
  background:
    linear-gradient(180deg, #b0b0b0 0%, #909090 40%, #707070 100%),
    radial-gradient(ellipse at 50% 100%, #808080 0%, transparent 60%);
}
.scn-widow-thrives .wt-sky { position:absolute; inset:0; background: linear-gradient(180deg, #c0c0c0 0%, #909090 100%); animation: wt-sky 25s ease-in-out infinite alternate; }
.scn-widow-thrives .wt-hills { position:absolute; bottom:30%; left:0; right:0; height:20%; background: linear-gradient(180deg, #6a7a5a 0%, #3a4a2a 100%); border-radius: 80% 60% 0 0 / 100% 80% 0 0; box-shadow: inset 0 -8px 20px rgba(0,0,0,.3); animation: wt-hills 18s ease-in-out infinite; }
.scn-widow-thrives .wt-cottage { position:absolute; bottom:28%; left:30%; width:25%; height:30%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,.4); animation: wt-cottage 12s ease-in-out infinite alternate; }
.scn-widow-thrives .wt-smoke { position:absolute; bottom:58%; left:38%; width:10%; height:20%; background: linear-gradient(180deg, rgba(200,200,200,.4) 0%, rgba(200,200,200,.1) 100%); border-radius: 50%; filter: blur(8px); animation: wt-smoke 8s ease-in-out infinite; }
.scn-widow-thrives .wt-widow { position:absolute; bottom:20%; left:55%; width:8%; height:22%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wt-widow 6s ease-in-out infinite; }
.scn-widow-thrives .wt-fence { position:absolute; bottom:18%; left:10%; right:10%; height:6%; background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: wt-fence 20s ease-in-out infinite alternate; }
@keyframes wt-sky { 0% { opacity: .8 } 50% { opacity: .9 } 100% { opacity: .8 } }
@keyframes wt-hills { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes wt-cottage { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(1) } }
@keyframes wt-smoke { 0% { transform: translateY(0) scale(1); opacity: .5 } 50% { transform: translateY(-10px) scale(1.2); opacity: .3 } 100% { transform: translateY(0) scale(1); opacity: .5 } }
@keyframes wt-widow { 0% { transform: translateX(0) rotate(-1deg) } 30% { transform: translateX(5px) rotate(1deg) } 70% { transform: translateX(10px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wt-fence { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }

.scn-braddock-persistent {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #1a0a00 40%, #0a0500 100%),
    radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-braddock-persistent .bp-bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); animation: bp-bg 30s ease-in-out infinite alternate; }
.scn-braddock-persistent .bp-bookshelf { position:absolute; top:8%; right:6%; width:20%; height:55%; background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; box-shadow: -4px 0 12px rgba(0,0,0,.5); overflow: hidden; }
.scn-braddock-persistent .bp-bookshelf::before { content:''; position:absolute; top:10%; left:10%; width:80%; height:80%; background: repeating-linear-gradient(0deg, #6a5a4a 0px, #6a5a4a 3px, transparent 3px, transparent 8px); opacity:.5; }
.scn-braddock-persistent .bp-desk { position:absolute; bottom:10%; left:8%; right:8%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.6); }
.scn-braddock-persistent .bp-lamp { position:absolute; bottom:35%; left:20%; width:6%; height:15%; background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 8px rgba(255,200,100,.15); animation: bp-lamp 5s ease-in-out infinite alternate; }
.scn-braddock-persistent .bp-mummy { position:absolute; bottom:18%; left:40%; width:12%; height:45%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 6% 6% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: bp-mummy 20s ease-in-out infinite; }
.scn-braddock-persistent .bp-figure { position:absolute; bottom:15%; right:25%; width:10%; height:30%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bp-figure 8s ease-in-out infinite; }
.scn-braddock-persistent .bp-trap { position:absolute; bottom:8%; left:35%; right:35%; height:5%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: bp-trap 12s ease-in-out infinite alternate; }
@keyframes bp-bg { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .7 } }
@keyframes bp-lamp { 0% { opacity: .6; box-shadow: 0 0 20px 4px rgba(255,200,100,.1) } 50% { opacity: .8; box-shadow: 0 0 40px 12px rgba(255,200,100,.2) } 100% { opacity: .65; box-shadow: 0 0 25px 6px rgba(255,200,100,.12) } }
@keyframes bp-mummy { 0% { transform: rotate(0deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(0deg) } }
@keyframes bp-figure { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) rotate(0deg) } 50% { transform: translateX(16px) rotate(2deg) } 75% { transform: translateX(8px) rotate(0deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes bp-trap { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(1) } }

.scn-lovers-halcyon-days {
  background:
    linear-gradient(180deg, #b8d4e8 0%, #d4e8f0 50%, #f0f8ff 100%),
    radial-gradient(ellipse at 50% 0%, #e0f0ff 0%, transparent 70%);
}
.scn-lovers-halcyon-days .lh-sky { position:absolute; inset:0; background: linear-gradient(180deg, #c0dff0 0%, #e0f0ff 100%); animation: lh-sky 30s ease-in-out infinite alternate; }
.scn-lovers-halcyon-days .lh-sun { position:absolute; top:5%; left:70%; width:12%; height:12%; background: radial-gradient(circle, #fff8e0 0%, #f0e080 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 60px 20px rgba(255,240,160,.5); animation: lh-sun 12s ease-in-out infinite alternate; }
.scn-lovers-halcyon-days .lh-grass { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #6a9a4a 0%, #4a7a2a 100%); border-radius: 100% 100% 0 0 / 60% 60% 0 0; animation: lh-grass 20s ease-in-out infinite; }
.scn-lovers-halcyon-days .lh-tree { position:absolute; bottom:20%; left:20%; width:15%; height:45%; background: linear-gradient(180deg, #5a7a3a 0%, #3a5a1a 100%); border-radius: 40% 40% 20% 20% / 80% 80% 20% 20%; box-shadow: 0 4px 20px rgba(0,0,0,.2); animation: lh-tree 18s ease-in-out infinite alternate; }
.scn-lovers-halcyon-days .lh-bench { position:absolute; bottom:18%; left:35%; right:35%; height:8%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.scn-lovers-halcyon-days .lh-archie { position:absolute; bottom:18%; left:40%; width:8%; height:20%; background: linear-gradient(180deg, #2a4a6a 0%, #1a1a3a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: lh-archie 6s ease-in-out infinite; }
.scn-lovers-halcyon-days .lh-lucy { position:absolute; bottom:18%; right:40%; width:7%; height:18%; background: linear-gradient(180deg, #8a5a6a 0%, #5a2a3a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: lh-lucy 6s ease-in-out infinite 3s; }
@keyframes lh-sky { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .85 } }
@keyframes lh-sun { 0% { transform: scale(1) translateY(0); box-shadow: 0 0 50px 15px rgba(255,240,160,.4) } 50% { transform: scale(1.05) translateY(-3px); box-shadow: 0 0 70px 25px rgba(255,240,160,.6) } 100% { transform: scale(1) translateY(0); box-shadow: 0 0 50px 15px rgba(255,240,160,.4) } }
@keyframes lh-grass { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes lh-tree { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }
@keyframes lh-archie { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(8px) rotate(1deg) } 75% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes lh-lucy { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-4px) rotate(0deg) } 50% { transform: translateX(-8px) rotate(-1deg) } 75% { transform: translateX(-4px) rotate(0deg) } 100% { transform: translateX(0) rotate(1deg) } }

/* lucy-comforts-widow */
.scn-lucy-comforts-widow {
  background: linear-gradient(180deg, #2a1f1a 0%, #3a2a22 40%, #1f1510 100%), radial-gradient(ellipse at 50% 0%, #4a3a32 0%, transparent 70%);
}
.scn-lucy-comforts-widow .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3a2a22 0%, #2a1f1a 50%, #1f1510 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-lucy-comforts-widow .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1f1510 100%);
  border-top: 2px solid #4a3a32;
}
.scn-lucy-comforts-widow .stairs {
  position: absolute; bottom: 28%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #4a3a32 0%, #2a1f1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 6px rgba(0,0,0,0.4);
  animation: lcw-stairs 10s ease-in-out infinite;
}
.scn-lucy-comforts-widow .fig-lucy {
  position: absolute; bottom: 26%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lcw-fig-lucy 6s ease-in-out infinite;
}
.scn-lucy-comforts-widow .fig-widow {
  position: absolute; bottom: 26%; left: 55%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #2a1f1a 0%, #0f0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lcw-fig-widow 8s ease-in-out infinite;
}
.scn-lucy-comforts-widow .brandy-bottle {
  position: absolute; bottom: 30%; left: 45%; width: 8px; height: 16px;
  background: linear-gradient(180deg, #c8553d 0%, #8b3a2a 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: lcw-brandy 4s ease-in-out infinite;
}
.scn-lucy-comforts-widow .window-glow {
  position: absolute; top: 15%; right: 15%; width: 30px; height: 40px;
  background: radial-gradient(circle, rgba(200,170,150,0.3) 0%, transparent 70%);
  border-radius: 2px;
  box-shadow: 0 0 30px 10px rgba(200,170,150,0.1);
  animation: lcw-glow 8s ease-in-out infinite alternate;
}
@keyframes lcw-stairs {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); }
}
@keyframes lcw-fig-lucy {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(6px) translateY(0) rotate(-1deg); } 75% { transform: translateX(9px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(12px) translateY(0) rotate(0); }
}
@keyframes lcw-fig-widow {
  0% { transform: translateX(0) translateY(0) rotate(1deg); } 33% { transform: translateX(-2px) translateY(-2px) rotate(-1deg); } 66% { transform: translateX(2px) translateY(0) rotate(0); } 100% { transform: translateX(0) translateY(-1px) rotate(1deg); }
}
@keyframes lcw-brandy {
  0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.95); }
}
@keyframes lcw-glow {
  0% { opacity: 0.4; box-shadow: 0 0 20px 5px rgba(200,170,150,0.05); } 100% { opacity: 0.8; box-shadow: 0 0 50px 15px rgba(200,170,150,0.2); }
}

/* servants-alarmed */
.scn-servants-alarmed {
  background: linear-gradient(180deg, #2a1f1a 0%, #1f1510 40%, #0f0a08 100%), radial-gradient(ellipse at 50% 80%, #3a2a22 0%, transparent 70%);
}
.scn-servants-alarmed .bg-hall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #1f1510 0%, #2a1f1a 20%, #2a1f1a 80%, #1f1510 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-servants-alarmed .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1210 100%);
}
.scn-servants-alarmed .stairs {
  position: absolute; bottom: 18%; left: 15%; width: 70%; height: 6%;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1510 100%);
  border-radius: 4px;
  animation: sa-stairs 12s ease-in-out infinite;
}
.scn-servants-alarmed .doorway {
  position: absolute; bottom: 18%; right: 20%; width: 12%; height: 40%;
  background: #0f0a08;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
}
.scn-servants-alarmed .fig-cook {
  position: absolute; bottom: 15%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #4a3a32 0%, #2a1f1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sa-fig-shake 0.5s ease-in-out infinite;
}
.scn-servants-alarmed .fig-husband {
  position: absolute; bottom: 15%; left: 45%; width: 26px; height: 52px;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sa-fig-shake 0.7s ease-in-out infinite 0.1s;
}
.scn-servants-alarmed .fig-maid {
  position: absolute; bottom: 15%; left: 58%; width: 20px; height: 46px;
  background: linear-gradient(180deg, #5a4a42 0%, #2a1f1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sa-fig-shake 0.6s ease-in-out infinite 0.2s;
}
.scn-servants-alarmed .fig-braddock {
  position: absolute; bottom: 18%; left: 8%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sa-fig-rage 2s ease-in-out infinite;
}
@keyframes sa-stairs {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); }
}
@keyframes sa-fig-shake {
  0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(2px) rotate(3deg); } 75% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes sa-fig-rage {
  0% { transform: translateX(0) translateY(0) rotate(0); } 30% { transform: translateX(5px) translateY(-2px) rotate(5deg); } 60% { transform: translateX(-5px) translateY(1px) rotate(-5deg); } 100% { transform: translateX(0) translateY(0) rotate(0); }
}

/* message-to-police */
.scn-message-to-police {
  background: linear-gradient(180deg, #1a1410 0%, #2a1f1a 30%, #1f1510 100%), radial-gradient(circle at 30% 70%, #4a3a32 0%, transparent 60%);
}
.scn-message-to-police .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1f1a 0%, #1a1410 50%, #0f0a08 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.7);
}
.scn-message-to-police .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1f1a 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-message-to-police .lamp {
  position: absolute; bottom: 42%; left: 38%; width: 12px; height: 20px;
  background: radial-gradient(circle at 50% 20%, #f0c068 0%, #c08040 70%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.3);
  animation: mtp-lamp 3s ease-in-out infinite alternate;
}
.scn-message-to-police .hand-writing {
  position: absolute; bottom: 15%; left: 35%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mtp-hand 4s ease-in-out infinite;
}
.scn-message-to-police .bird-cockatoo {
  position: absolute; top: 30%; right: 20%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f0e8d0 0%, #c0b8a0 70%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(0,0,0,0.3);
  animation: mtp-bird 6s ease-in-out infinite;
}
.scn-message-to-police .window-dark {
  position: absolute; top: 8%; left: 70%; width: 20%; height: 25%;
  background: #0f0a08;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
}
@keyframes mtp-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(192,128,64,0.2); } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(192,128,64,0.4); } 100% { opacity: 0.9; box-shadow: 0 0 30px 8px rgba(192,128,64,0.3); }
}
@keyframes mtp-hand {
  0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(4px) translateY(-2px) rotate(5deg); } 50% { transform: translateX(8px) translateY(-1px) rotate(2deg); } 75% { transform: translateX(12px) translateY(-3px) rotate(7deg); } 100% { transform: translateX(16px) translateY(0) rotate(0); }
}
@keyframes mtp-bird {
  0% { transform: translateX(0) translateY(0) rotate(0); } 30% { transform: translateX(-10px) translateY(-5px) rotate(-10deg); } 60% { transform: translateX(5px) translateY(3px) rotate(5deg); } 100% { transform: translateX(0) translateY(0) rotate(0); }
}

/* doctor-summoned */
.scn-doctor-summoned {
  background: linear-gradient(180deg, #87CEEB 0%, #b0d4e8 30%, #ffffff 60%, #f0e68c 100%), radial-gradient(ellipse at 50% 100%, #e0d4a0 0%, transparent 60%);
}
.scn-doctor-summoned .sky-sunlit {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #d4e8f0 60%, #fff5cc 100%);
  animation: ds-sky 20s ease-in-out infinite alternate;
}
.scn-doctor-summoned .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8a7a4a 0%, #6a5a3a 100%);
  border-top: 2px solid #aa9a6a;
}
.scn-doctor-summoned .bg-trees {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #4a6a3a 0%, #2a4a2a 100%);
  border-radius: 20% 30% 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.2);
}
.scn-doctor-summoned .fig-braddock {
  position: absolute; bottom: 20%; left: 30%; width: 28px; height: 56px;
  background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ds-fig-braddock 3s ease-in-out infinite;
}
.scn-doctor-summoned .fig-doctor {
  position: absolute; bottom: 20%; left: 55%; width: 24px; height: 54px;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ds-fig-doctor 5s ease-in-out infinite;
}
.scn-doctor-summoned .sun-rays {
  position: absolute; top: 0; left: 20%; right: 20%; height: 60%;
  background: linear-gradient(180deg, rgba(255,255,200,0.2) 0%, transparent 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  opacity: 0.5;
  animation: ds-rays 10s ease-in-out infinite alternate;
}
.scn-doctor-summoned .shadow-braddock {
  position: absolute; bottom: 18%; left: 25%; width: 40px; height: 8px;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(3px);
  animation: ds-shadow 3s ease-in-out infinite;
}
.scn-doctor-summoned .shadow-doctor {
  position: absolute; bottom: 18%; left: 50%; width: 36px; height: 6px;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(2px);
  animation: ds-shadow 5s ease-in-out infinite 0.5s;
}
@keyframes ds-sky {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; }
}
@keyframes ds-fig-braddock {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); } 30% { transform: translateX(8px) translateY(-3px) rotate(5deg); } 60% { transform: translateX(-4px) translateY(1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); }
}
@keyframes ds-fig-doctor {
  0% { transform: translateX(0) translateY(0) rotate(0); } 50% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); }
}
@keyframes ds-rays {
  0% { transform: scaleY(1); opacity: 0.4; } 100% { transform: scaleY(1.1); opacity: 0.6; }
}
@keyframes ds-shadow {
  0% { transform: scaleX(1); opacity: 0.2; } 50% { transform: scaleX(0.9); opacity: 0.3; } 100% { transform: scaleX(1); opacity: 0.2; }
}

.scn-hervey-threatens { background: linear-gradient(180deg, #0a0a1e 0%, #12122e 30%, #1a1a3e 60%, #0e0e22 100%), radial-gradient(ellipse at 50% 0%, #2a2a4e 0%, transparent 70%); }
.scn-hervey-threatens .moon { position:absolute; top:8%; right:18%; width:52px; height:52px; background: radial-gradient(circle, #c8d0e8 0%, #a0b0d0 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(160,176,208,.35), 0 0 80px 40px rgba(160,176,208,.15); animation: ht-moon 12s ease-in-out infinite alternate; }
.scn-hervey-threatens .shadow-figure-left { position:absolute; bottom:18%; left:22%; width:40px; height:88px; background: linear-gradient(180deg, #0a0a12 0%, #06060e 60%, #020208 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: skewX(3deg); box-shadow: -4px 0 12px rgba(0,0,0,.6); animation: ht-sway-l 5s ease-in-out infinite alternate; }
.scn-hervey-threatens .shadow-figure-right { position:absolute; bottom:18%; right:28%; width:42px; height:90px; background: linear-gradient(180deg, #0c0c16 0%, #080810 60%, #04040a 100%); border-radius: 50% 50% 42% 42% / 62% 62% 38% 38%; transform: skewX(-2deg); box-shadow: 4px 0 12px rgba(0,0,0,.6); animation: ht-sway-r 5s ease-in-out infinite alternate-reverse; }
.scn-hervey-threatens .hand-gun { position:absolute; bottom:32%; right:38%; width:14px; height:6px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 0 50% 50% 0; box-shadow: 0 0 4px rgba(0,0,0,.8); transform: rotate(-30deg); animation: ht-gun 3s ease-in-out infinite; }
.scn-hervey-threatens .ground-plane { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #12122a 0%, #0a0a16 50%, #04040a 100%); border-radius: 30% 30% 0 0 / 40% 40% 0 0; }
.scn-hervey-threatens .moonbeam { position:absolute; top:10%; right:22%; width:180px; height:200px; background: linear-gradient(135deg, rgba(160,176,208,.08) 0%, rgba(160,176,208,.02) 60%, transparent 100%); transform: rotate(25deg); filter: blur(3px); animation: ht-beam 8s ease-in-out infinite alternate; }
.scn-hervey-threatens .dust-particle { position:absolute; width:3px; height:3px; background: radial-gradient(circle, #a0b0d0 0%, transparent 100%); border-radius:50%; filter: blur(1px); }
.scn-hervey-threatens .p1 { top:35%; left:40%; animation: ht-dust 6s ease-in-out infinite; }
.scn-hervey-threatens .p2 { top:45%; left:55%; animation: ht-dust 8s ease-in-out infinite 3s; }
@keyframes ht-moon   { 0%,100% { transform: translateX(0) translateY(0); opacity:.95 } 50% { transform: translateX(2px) translateY(-3px); opacity:1 } }
@keyframes ht-sway-l { 0% { transform: skewX(3deg) translateX(0) } 50% { transform: skewX(1deg) translateX(2px) } 100% { transform: skewX(4deg) translateX(-1px) } }
@keyframes ht-sway-r { 0% { transform: skewX(-2deg) translateX(0) } 50% { transform: skewX(-4deg) translateX(-2px) } 100% { transform: skewX(-1deg) translateX(1px) } }
@keyframes ht-gun   { 0%,100% { transform: rotate(-30deg) translateX(0) } 25% { transform: rotate(-35deg) translateX(1px) } 50% { transform: rotate(-28deg) translateX(-1px) } 75% { transform: rotate(-32deg) translateX(0) } }
@keyframes ht-beam  { 0%,100% { opacity:.6; transform: rotate(25deg) scaleX(1) } 50% { opacity:1; transform: rotate(23deg) scaleX(1.05) } }
@keyframes ht-dust  { 0% { transform: translateY(0) translateX(0) scale(1); opacity:0 } 30% { opacity:.6 } 70% { opacity:.3 } 100% { transform: translateY(-30px) translateX(8px) scale(0); opacity:0 } }

.scn-date-discovers { background: linear-gradient(180deg, #0a0a1e 0%, #14142e 35%, #1a1a38 60%, #0e0e22 100%), radial-gradient(ellipse at 50% 100%, #1a2a3a 0%, transparent 70%); }
.scn-date-discovers .jetty-planks { position:absolute; bottom:28%; left:0; right:0; height:14%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 40%, #0e0e1e 100%); border-radius: 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.5); animation: dd-plank 10s ease-in-out infinite alternate; }
.scn-date-discovers .jetty-post { position:absolute; bottom:20%; width:8px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #16162a 50%, #0a0a1a 100%); border-radius: 2px; box-shadow: 2px 0 6px rgba(0,0,0,.4); }
.scn-date-discovers .post-left { left:28%; animation: dd-post 6s ease-in-out infinite; }
.scn-date-discovers .post-right { right:30%; animation: dd-post 7s ease-in-out infinite 2s; }
.scn-date-discovers .figure-peering { position:absolute; bottom:34%; left:45%; width:36px; height:76px; background: linear-gradient(180deg, #0c0c1a 0%, #080814 50%, #04040a 100%); border-radius: 50% 50% 44% 44% / 64% 64% 36% 36%; transform: translateX(-50%) rotate(8deg) scaleX(.95); animation: dd-peer 4s ease-in-out infinite; }
.scn-date-discovers .water-surface { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #0e1a2e 0%, #06122e 40%, #020a1e 100%); border-radius: 40% 40% 0 0 / 30% 30% 0 0; }
.scn-date-discovers .water-ripple { position:absolute; bottom:14%; width:80px; height:6px; background: linear-gradient(90deg, transparent 0%, rgba(100,140,180,.12) 30%, rgba(100,140,180,.2) 50%, rgba(100,140,180,.12) 70%, transparent 100%); border-radius:50%; filter: blur(1px); }
.scn-date-discovers .r1 { left:20%; animation: dd-ripple 6s ease-in-out infinite; }
.scn-date-discovers .r2 { right:20%; animation: dd-ripple 8s ease-in-out infinite 3s; }
.scn-date-discovers .mummy-shadow { position:absolute; bottom:26%; left:38%; width:28px; height:36px; background: linear-gradient(180deg, #0a0a1a 0%, #060612 100%); border-radius: 50% 50% 40% 40% / 50% 50% 40% 40%; transform: scaleX(-1); opacity:0.7; animation: dd-mummy 5s ease-in-out infinite alternate; }
@keyframes dd-plank { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes dd-post  { 0% { transform: rotate(0) } 50% { transform: rotate(1deg) translateY(-2px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes dd-peer  { 0%,100% { transform: translateX(-50%) rotate(8deg) scaleX(.95) } 30% { transform: translateX(-52%) rotate(12deg) scaleX(.93) } 60% { transform: translateX(-48%) rotate(6deg) scaleX(.97) } }
@keyframes dd-ripple{ 0% { transform: scaleX(0.5); opacity:0 } 30% { opacity:.6 } 70% { opacity:.3 } 100% { transform: scaleX(1.2); opacity:0 } }
@keyframes dd-mummy{ 0% { transform: scaleX(-1) translateY(0); opacity:.5 } 50% { transform: scaleX(-1) translateY(-3px); opacity:.8 } 100% { transform: scaleX(-1) translateY(0); opacity:.6 } }

.scn-escape-attempt { background: linear-gradient(180deg, #06061a 0%, #0e0e2a 30%, #16163a 55%, #0a0a1e 100%), radial-gradient(ellipse at 50% 30%, #1a2a3e 0%, transparent 60%); }
.scn-escape-attempt .dark-water { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #0a1a2e 0%, #060e22 40%, #02061a 100%); border-radius: 60% 60% 0 0 / 40% 40% 0 0; animation: esc-water 12s ease-in-out infinite alternate; }
.scn-escape-attempt .boat-hull { position:absolute; bottom:38%; left:20%; width:140px; height:32px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1e 50%, #060612 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%; box-shadow: 0 4px 12px rgba(0,0,0,.7); animation: esc-boat 5s ease-in-out infinite; }
.scn-escape-attempt .boat-pole { position:absolute; bottom:50%; left:42%; width:4px; height:60px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 2px; transform: rotate(15deg); transform-origin: bottom center; animation: esc-pole 4s ease-in-out infinite; }
.scn-escape-attempt .figure-hervey { position:absolute; bottom:34%; left:28%; width:24px; height:36px; background: linear-gradient(180deg, #0a0a1a 0%, #060612 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: esc-fig-h 3s ease-in-out infinite; }
.scn-escape-attempt .figure-date { position:absolute; bottom:32%; left:38%; width:22px; height:34px; background: linear-gradient(180deg, #0c0c1c 0%, #080816 100%); border-radius: 50% 50% 38% 38% / 58% 58% 42% 42%; transform: rotate(5deg); animation: esc-fig-d 3s ease-in-out infinite 0.5s; }
.scn-escape-attempt .green-form { position:absolute; bottom:22%; right:24%; width:70px; height:16px; background: linear-gradient(180deg, #1a3a2e 0%, #0e2a1e 60%, #061a12 100%); border-radius: 50% 50% 30% 30% / 80% 80% 40% 40%; filter: blur(3px); animation: esc-green 7s ease-in-out infinite; }
.scn-escape-attempt .moon-streak { position:absolute; top:8%; left:50%; width:160px; height:180px; background: linear-gradient(135deg, rgba(160,180,210,.06) 0%, rgba(160,180,210,.02) 60%, transparent 100%); transform: translateX(-50%) rotate(20deg); filter: blur(4px); animation: esc-streak 10s ease-in-out infinite alternate; }
.scn-escape-attempt .foam-spray { position:absolute; bottom:40%; left:28%; width:40px; height:10px; background: radial-gradient(ellipse at 50% 50%, rgba(180,200,220,.15) 0%, transparent 70%); border-radius:50%; filter: blur(2px); animation: esc-foam 4s ease-in-out infinite; }
@keyframes esc-water { 0%,100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.02) } }
@keyframes esc-boat  { 0%,100% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(0) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-3px) rotate(0) } }
@keyframes esc-pole  { 0%,100% { transform: rotate(15deg) } 50% { transform: rotate(12deg) } }
@keyframes esc-fig-h { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-12deg) translateY(1px) } }
@keyframes esc-fig-d { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(8deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(1px) } }
@keyframes esc-green { 0%,100% { transform: translateX(0) scaleX(1); opacity:.6 } 25% { transform: translateX(4px) scaleX(1.05); opacity:.8 } 50% { transform: translateX(-2px) scaleX(.95); opacity:.5 } 75% { transform: translateX(6px) scaleX(1.02); opacity:.7 } }
@keyframes esc-streak{ 0%,100% { opacity:.5; transform: translateX(-50%) rotate(20deg) scaleX(1) } 50% { opacity:.8; transform: translateX(-50%) rotate(18deg) scaleX(1.08) } }
@keyframes esc-foam  { 0% { transform: translateY(0) scale(0.8); opacity:0 } 30% { opacity:.6 } 70% { opacity:.2 } 100% { transform: translateY(-12px) scale(1.4); opacity:0 } }

.scn-boat-fight { background: linear-gradient(180deg, #08081a 0%, #10102e 30%, #18183a 55%, #0c0c20 100%), radial-gradient(ellipse at 80% 20%, #2a2a4e 0%, transparent 60%); }
.scn-boat-fight .boat-deck { position:absolute; bottom:32%; left:15%; right:15%; height:18%; background: linear-gradient(180deg, #1e1e32 0%, #121226 50%, #0a0a1a 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; box-shadow: inset 0 6px 16px rgba(0,0,0,.5); animation: bf-deck 8s ease-in-out infinite alternate; }
.scn-boat-fight .boat-rail { position:absolute; bottom:40%; left:16%; right:16%; height:4px; background: linear-gradient(90deg, #2a2a3e 0%, #1a1a2e 50%, #2a2a3e 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: bf-rail 6s ease-in-out infinite; }
.scn-boat-fight .standing-figure { position:absolute; bottom:40%; left:32%; width:30px; height:52px; background: linear-gradient(180deg, #0e0e1e 0%, #080816 60%, #04040a 100%); border-radius: 50% 50% 42% 42% / 62% 62% 38% 38%; transform-origin: bottom center; animation: bf-stand 4s ease-in-out infinite; }
.scn-boat-fight .crouching-figure { position:absolute; bottom:36%; right:28%; width:36px; height:36px; background: linear-gradient(180deg, #0a0a1a 0%, #060612 60%, #04040a 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transform: scaleY(0.7); animation: bf-crouch 3s ease-in-out infinite; }
.scn-boat-fight .muzzle-flash { position:absolute; bottom:46%; left:30%; width:10px; height:10px; background: radial-gradient(circle, #ffd080 0%, #ffa040 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 16px 6px rgba(255,160,64,.6), 0 0 32px 12px rgba(255,160,64,.3); animation: bf-flash 2.5s ease-in-out infinite; }
.scn-boat-fight .wave-tip { position:absolute; bottom:22%; width:60px; height:10px; background: linear-gradient(90deg, transparent 0%, rgba(100,140,180,.12) 30%, rgba(100,140,180,.08) 70%, transparent 100%); border-radius:50%; filter: blur(2px); }
.scn-boat-fight .w1 { left:18%; animation: bf-wave 7s ease-in-out infinite; }
.scn-boat-fight .w2 { right:22%; animation: bf-wave 9s ease-in-out infinite 3s; }
.scn-boat-fight .distant-lantern { position:absolute; top:12%; right:22%; width:6px; height:6px; background: radial-gradient(circle, #a0b0d0 0%, rgba(160,176,208,.3) 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 12px 4px rgba(160,176,208,.4); animation: bf-lantern 5s ease-in-out infinite alternate; }
@keyframes bf-deck   { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes bf-rail   { 0%,100% { transform: translateX(0) } 50% { transform: translateX(1px) } }
@keyframes bf-stand  { 0% { transform: rotate(-2deg) translateY(0) } 30% { transform: rotate(1deg) translateY(-2px) } 60% { transform: rotate(-3deg) translateY(1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes bf-crouch { 0%,100% { transform: scaleY(0.7) translateX(0) } 40% { transform: scaleY(0.75) translateX(-2px) } 70% { transform: scaleY(0.65) translateX(1px) } }
@keyframes bf-flash  { 0%,85%,100% { opacity:0; transform: scale(0.8) } 10%,25% { opacity:1; transform: scale(1.2) } 40% { opacity:.3; transform: scale(0.9) } }
@keyframes bf-wave   { 0% { transform: scaleX(0.6) translateX(0); opacity:0 } 30% { opacity:.5 } 70% { opacity:.2 } 100% { transform: scaleX(1.3) translateX(10px); opacity:0 } }
@keyframes bf-lantern{ 0%,100% { transform: translateY(0); opacity:.6 } 50% { transform: translateY(-3px); opacity:1 } }

/* night-jetty */
.scn-night-jetty {
  background: linear-gradient(180deg, #0a0a2e 0%, #1a1a4e 40%, #2a2a5e 100%), radial-gradient(ellipse at 50% 0%, #3a4a7e 0%, transparent 70%);
}
.scn-night-jetty .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, rgba(10,10,46,0) 0%, #0a0a2e 100%); animation: nj-sky 12s ease-in-out infinite alternate; }
.scn-night-jetty .moon { position:absolute; top:8%; left:75%; width:40px; height:40px; background: radial-gradient(circle, #d0d8f0 0%, #8890b0 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 10px rgba(200,210,240,0.3); animation: nj-moon 8s ease-in-out infinite; }
.scn-night-jetty .stars { position:absolute; top:0; left:0; width:100%; height:50%; background: radial-gradient(2px 2px at 20% 30%, #fff, transparent), radial-gradient(2px 2px at 40% 10%, #fff, transparent), radial-gradient(1px 1px at 60% 20%, #fff, transparent), radial-gradient(2px 2px at 80% 40%, #fff, transparent), radial-gradient(1px 1px at 10% 60%, #fff, transparent), radial-gradient(2px 2px at 70% 15%, #fff, transparent); animation: nj-stars 20s linear infinite; }
.scn-night-jetty .water { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #1a1a4e 0%, #0a0a2e 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: nj-water 6s ease-in-out infinite alternate; }
.scn-night-jetty .jetty { position:absolute; bottom:45%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.3); transform-origin: bottom center; animation: nj-jetty 4s ease-in-out infinite; }
.scn-night-jetty .figure { position:absolute; bottom:47%; left:45%; width:16px; height:30px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nj-walk 5s ease-in-out infinite; }
.scn-night-jetty .reflection { position:absolute; bottom:45%; left:75%; width:30px; height:15px; background: radial-gradient(ellipse, rgba(200,210,240,0.2) 0%, transparent 100%); transform: translateX(-50%); animation: nj-rfl 8s ease-in-out infinite alternate; }
@keyframes nj-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes nj-moon { 0%,100% { transform: translateY(0) scale(1); box-shadow: 0 0 40px 10px rgba(200,210,240,0.3); } 50% { transform: translateY(-5px) scale(1.02); box-shadow: 0 0 60px 15px rgba(200,210,240,0.4); } }
@keyframes nj-stars { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.5; } }
@keyframes nj-water { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes nj-jetty { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(0.98) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes nj-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(8px) translateY(-1px) 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 nj-rfl { 0% { opacity:0.3; transform: scaleY(0.8); } 50% { opacity:0.6; transform: scaleY(1); } 100% { opacity:0.3; transform: scaleY(0.8); } }

/* hervey-blue-light */
.scn-hervey-blue-light {
  background: linear-gradient(180deg, #0e0e3a 0%, #1a1a4e 40%, #2a2a5e 100%), radial-gradient(ellipse at 50% 0%, #3a4a7e 0%, transparent 70%);
}
.scn-hervey-blue-light .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, rgba(14,14,58,0) 0%, #0e0e3a 100%); animation: hbl-sky 14s ease-in-out infinite alternate; }
.scn-hervey-blue-light .moon { position:absolute; top:10%; right:20%; width:45px; height:45px; background: radial-gradient(circle, #d0d8f0 0%, #8890b0 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 50px 15px rgba(200,210,240,0.4); animation: hbl-moon 9s ease-in-out infinite; }
.scn-hervey-blue-light .stars { position:absolute; top:0; left:0; width:100%; height:60%; background: radial-gradient(2px 2px at 15% 25%, #fff, transparent), radial-gradient(1px 1px at 35% 15%, #fff, transparent), radial-gradient(2px 2px at 55% 45%, #fff, transparent), radial-gradient(1px 1px at 75% 10%, #fff, transparent), radial-gradient(2px 2px at 90% 35%, #fff, transparent); animation: hbl-stars 22s linear infinite; }
.scn-hervey-blue-light .water { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #1a1a4e 0%, #0e0e3a 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,0.6); animation: hbl-water 7s ease-in-out infinite alternate; }
.scn-hervey-blue-light .jetty { position:absolute; bottom:45%; left:10%; right:10%; height:10%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.3); transform-origin: bottom center; animation: hbl-jetty 5s ease-in-out infinite; }
.scn-hervey-blue-light .figure-inspector { position:absolute; bottom:48%; left:35%; width:18px; height:32px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: hbl-stand 4s ease-in-out infinite; }
.scn-hervey-blue-light .figure-pedro { position:absolute; bottom:48%; left:55%; width:18px; 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: hbl-smoke 6s ease-in-out infinite; }
.scn-hervey-blue-light .cigar-glow { position:absolute; bottom:52%; left:57%; width:6px; height:6px; background: radial-gradient(circle, #ff8040 0%, #ff4000 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 16px 4px rgba(255,128,64,0.6); animation: hbl-glow 3s ease-in-out infinite alternate; }
@keyframes hbl-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes hbl-moon { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.03); } }
@keyframes hbl-stars { 0% { opacity:0.4; } 50% { opacity:0.9; } 100% { opacity:0.4; } }
@keyframes hbl-water { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes hbl-jetty { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97) translateY(-1px); } 100% { transform: scaleY(1); } }
@keyframes hbl-stand { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes hbl-smoke { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes hbl-glow { 0% { opacity:0.6; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.9); } }

/* hervey-boat-approaches */
.scn-hervey-boat-approaches {
  background: linear-gradient(180deg, #0c0c34 0%, #181848 40%, #282858 100%), radial-gradient(ellipse at 50% 0%, #38487a 0%, transparent 70%);
}
.scn-hervey-boat-approaches .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, rgba(12,12,52,0) 0%, #0c0c34 100%); animation: hba-sky 13s ease-in-out infinite alternate; }
.scn-hervey-boat-approaches .moon { position:absolute; top:12%; left:70%; width:38px; height:38px; background: radial-gradient(circle, #c8d0e8 0%, #8088a8 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 35px 8px rgba(200,210,240,0.3); animation: hba-moon 10s ease-in-out infinite; }
.scn-hervey-boat-approaches .water { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #181848 0%, #0c0c34 100%); box-shadow: inset 0 12px 24px rgba(0,0,0,0.5); animation: hba-water 6s ease-in-out infinite alternate; }
.scn-hervey-boat-approaches .shore { position:absolute; bottom:45%; left:0; right:0; height:12%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 0 0 30% 30% / 0 0 60% 60%; box-shadow: 0 -6px 12px rgba(0,0,0,0.4); animation: hba-shore 5s ease-in-out infinite; }
.scn-hervey-boat-approaches .boat { position:absolute; bottom:42%; left:20%; width:80px; height:20px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hba-boat 4s ease-in-out infinite; }
.scn-hervey-boat-approaches .figure-random { position:absolute; bottom:47%; left:38%; width:16px; height:30px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hba-figure1 5s ease-in-out infinite; }
.scn-hervey-boat-approaches .figure-date { position:absolute; bottom:47%; left:48%; width:16px; height:30px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: hba-figure2 5.5s ease-in-out infinite 0.5s; }
.scn-hervey-boat-approaches .figure-hervey { position:absolute; bottom:47%; left:58%; width:16px; height:30px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: hba-figure3 6s ease-in-out infinite 1s; }
@keyframes hba-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes hba-moon { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } }
@keyframes hba-water { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes hba-shore { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes hba-boat { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(-1deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(30px) rotate(1deg); } 100% { transform: translateX(40px) rotate(0deg); } }
@keyframes hba-figure1 { 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(0); } }
@keyframes hba-figure2 { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(8px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(16px) translateY(0) rotate(0); } }
@keyframes hba-figure3 { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 33% { transform: translateX(6px) translateY(-1px) rotate(-1deg); } 66% { transform: translateX(12px) translateY(0) rotate(1deg); } 100% { transform: translateX(18px) translateY(-1px) rotate(0); } }

/* hervey-cautious */
.scn-hervey-cautious {
  background: linear-gradient(180deg, #0b0b30 0%, #171744 40%, #272754 100%), radial-gradient(ellipse at 50% 0%, #364676 0%, transparent 70%);
}
.scn-hervey-cautious .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, rgba(11,11,48,0) 0%, #0b0b30 100%); animation: hc-sky 15s ease-in-out infinite alternate; }
.scn-hervey-cautious .moon { position:absolute; top:8%; right:25%; width:42px; height:42px; background: radial-gradient(circle, #d0d8f0 0%, #8890b0 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 45px 12px rgba(200,210,240,0.35); animation: hc-moon 11s ease-in-out infinite; }
.scn-hervey-cautious .water { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #171744 0%, #0b0b30 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.6); animation: hc-water 8s ease-in-out infinite alternate; }
.scn-hervey-cautious .boat { position:absolute; bottom:42%; left:25%; width:70px; height:18px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hc-boat 5s ease-in-out infinite; }
.scn-hervey-cautious .figure-overcoat { position:absolute; bottom:44%; left:30%; 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: hc-hervey 6s ease-in-out infinite; }
.scn-hervey-cautious .figure-other { position:absolute; bottom:44%; left:42%; width:16px; height:30px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: hc-other 6.5s ease-in-out infinite 1s; }
.scn-hervey-cautious .moon-reflection { position:absolute; bottom:5%; left:50%; width:60px; height:40px; background: radial-gradient(ellipse, rgba(200,210,240,0.2) 0%, transparent 100%); transform: translateX(-50%); animation: hc-refl 9s ease-in-out infinite alternate; }
.scn-hervey-cautious .wave-ripple { position:absolute; bottom:10%; left:20%; width:40px; height:6px; background: radial-gradient(ellipse, rgba(200,210,240,0.15) 0%, transparent 100%); border-radius:50%; filter: blur(2px); animation: hc-ripple 4s ease-in-out infinite; }
@keyframes hc-sky { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes hc-moon { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.03); } }
@keyframes hc-water { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes hc-boat { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(-0.5deg); } 50% { transform: translateX(16px) rotate(0deg); } 75% { transform: translateX(24px) rotate(0.5deg); } 100% { transform: translateX(32px) rotate(0deg); } }
@keyframes hc-hervey { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 33% { transform: translateX(4px) translateY(-1px) rotate(1deg); } 66% { transform: translateX(8px) translateY(0) rotate(-1deg); } 100% { transform: translateX(12px) translateY(-1px) rotate(0); } }
@keyframes hc-other { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(10px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(20px) translateY(0) rotate(0); } }
@keyframes hc-refl { 0% { opacity:0.2; transform: scale(0.8); } 50% { opacity:0.5; transform: scale(1.1); } 100% { opacity:0.2; transform: scale(0.8); } }
@keyframes hc-ripple { 0% { transform: scaleX(0.5); opacity:0.3; } 50% { transform: scaleX(1); opacity:0.8; } 100% { transform: scaleX(0.5); opacity:0.3; } }

.scn-marriage-proposal-hint {
  background: linear-gradient(180deg, #2a1e14 0%, #3d2b1f 35%, #4a3828 70%, #2f2218 100%),
              radial-gradient(ellipse at 30% 80%, #b8864a 0%, transparent 60%);
}
.scn-marriage-proposal-hint .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #3d2b1f 0%, #2a1e14 100%);
  border-radius: 4px; box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
}
.scn-marriage-proposal-hint .window {
  position: absolute; top: 15%; left: 65%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #b8864a 0%, #e0b070 50%, #b8864a 100%);
  border-radius: 4px 4px 2px 2px; box-shadow: 0 0 30px 10px rgba(184,134,74,0.4);
  animation: mph-win 8s ease-in-out infinite alternate;
}
.scn-marriage-proposal-hint .lamp {
  position: absolute; bottom: 25%; left: 30%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #d4a373 0%, #8b5e3c 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 40px 15px #f0c78a, 0 0 80px 30px rgba(240,199,138,0.3);
  animation: mph-lamp-glow 4s ease-in-out infinite;
}
.scn-marriage-proposal-hint .figure1 {
  position: absolute; bottom: 28%; left: 35%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a1e14 0%, #1f1510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: mph-fig1 6s ease-in-out infinite alternate;
}
.scn-marriage-proposal-hint .figure2 {
  position: absolute; bottom: 30%; left: 50%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #3a2b20 0%, #2a1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: mph-fig2 5s ease-in-out infinite alternate;
}
.scn-marriage-proposal-hint .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(4px); animation: mph-shadow 7s ease-in-out infinite;
}
@keyframes mph-win {
  0% { opacity: 0.7; box-shadow: 0 0 20px 5px rgba(184,134,74,0.3); }
  50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(184,134,74,0.5); }
  100% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(184,134,74,0.35); }
}
@keyframes mph-lamp-glow {
  0% { box-shadow: 0 0 30px 10px #f0c78a; opacity: 0.9; }
  50% { box-shadow: 0 0 50px 20px #f0c78a; opacity: 1; }
  100% { box-shadow: 0 0 35px 12px #f0c78a; opacity: 0.9; }
}
@keyframes mph-fig1 {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mph-fig2 {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes mph-shadow {
  0% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.05); opacity: 0.7; }
  100% { transform: scaleX(1); opacity: 0.5; }
}

.scn-jasher-plans-for-title {
  background: linear-gradient(180deg, #1f1812 0%, #2b2018 40%, #3a2c22 70%, #1f1812 100%),
              radial-gradient(ellipse at 50% 90%, #bf8b4a 0%, transparent 60%);
}
.scn-jasher-plans-for-title .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 35%;
  background: linear-gradient(180deg, #5a3e2a 0%, #3a281a 100%);
  border-radius: 4px; box-shadow: 0 -6px 20px rgba(0,0,0,0.3);
}
.scn-jasher-plans-for-title .papers {
  position: absolute; bottom: 28%; left: 38%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #c9a96e 0%, #b8914a 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: jpt-papers 10s ease-in-out infinite;
}
.scn-jasher-plans-for-title .figure-hand {
  position: absolute; bottom: 30%; left: 45%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #4a3828 0%, #2f2218 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center; animation: jpt-hand 5s ease-in-out infinite alternate;
}
.scn-jasher-plans-for-title .lamp2 {
  position: absolute; bottom: 40%; right: 15%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #d4a373 0%, #8b5e3c 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 35px 12px #e8b87a, 0 0 70px 25px rgba(232,184,122,0.3);
  animation: jpt-lamp 3.5s ease-in-out infinite;
}
.scn-jasher-plans-for-title .bookshelf {
  position: absolute; top: 10%; right: 5%; width: 40px; height: 60%;
  background: linear-gradient(90deg, #3a2a1a 0%, #2b1e12 100%);
  border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
}
.scn-jasher-plans-for-title .clock {
  position: absolute; top: 5%; left: 20%; width: 22px; height: 22px;
  background: radial-gradient(circle, #e0c090 0%, #b0884a 70%);
  border-radius: 50%; box-shadow: 0 0 10px 2px rgba(176,136,74,0.3);
  animation: jpt-clock 12s linear infinite;
}
@keyframes jpt-papers {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
  100% { transform: rotate(0deg) scale(1); }
}
@keyframes jpt-hand {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-3deg); }
}
@keyframes jpt-lamp {
  0% { box-shadow: 0 0 25px 8px #e8b87a; opacity: 0.85; }
  50% { box-shadow: 0 0 45px 18px #e8b87a; opacity: 1; }
  100% { box-shadow: 0 0 30px 10px #e8b87a; opacity: 0.85; }
}
@keyframes jpt-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.scn-lucy-consents {
  background: linear-gradient(180deg, #2a1a10 0%, #3c2518 40%, #4a3122 70%, #2a1a10 100%),
              radial-gradient(ellipse at 60% 70%, #b87a3a 0%, transparent 50%);
}
.scn-lucy-consents .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #3c2518 0%, #2a1a10 100%);
  border-radius: 4px;
}
.scn-lucy-consents .figure-lucy {
  position: absolute; bottom: 28%; left: 35%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #4a3122 0%, #2f1e12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: lcs-fig-lucy 7s ease-in-out infinite alternate;
}
.scn-lucy-consents .figure-mrs {
  position: absolute; bottom: 28%; left: 45%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a2518 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: lcs-fig-mrs 6s ease-in-out infinite alternate;
}
.scn-lucy-consents .window2 {
  position: absolute; top: 12%; right: 10%; width: 70px; height: 90px;
  background: linear-gradient(180deg, #b87a3a 0%, #e0a860 50%, #b87a3a 100%);
  border-radius: 4px; box-shadow: 0 0 25px 8px rgba(184,122,58,0.4);
  animation: lcs-window 9s ease-in-out infinite alternate;
}
.scn-lucy-consents .candle {
  position: absolute; bottom: 20%; left: 60%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #f0c070 0%, #d09040 50%, #b07030 100%);
  border-radius: 2px; box-shadow: 0 0 30px 10px #e8b050, 0 0 60px 20px rgba(232,176,80,0.3);
  animation: lcs-candle 4s ease-in-out infinite;
}
.scn-lucy-consents .rug {
  position: absolute; bottom: 5%; left: 25%; right: 25%; height: 15%;
  background: linear-gradient(90deg, #5a3a28 0%, #7a4a32 25%, #5a3a28 50%, #7a4a32 75%, #5a3a28 100%);
  border-radius: 10% 10% 50% 50% / 20% 20% 40% 40%;
  animation: lcs-rug 15s ease-in-out infinite alternate;
}
@keyframes lcs-fig-lucy {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes lcs-fig-mrs {
  0% { transform: translateY(0) rotate(3deg); }
  50% { transform: translateY(-1px) rotate(0deg); }
  100% { transform: translateY(0) rotate(3deg); }
}
@keyframes lcs-window {
  0% { opacity: 0.6; box-shadow: 0 0 15px 4px rgba(184,122,58,0.3); }
  50% { opacity: 1; box-shadow: 0 0 35px 12px rgba(184,122,58,0.5); }
  100% { opacity: 0.7; box-shadow: 0 0 20px 6px rgba(184,122,58,0.35); }
}
@keyframes lcs-candle {
  0% { box-shadow: 0 0 20px 6px #e8b050; opacity: 0.9; transform: scaleY(1); }
  50% { box-shadow: 0 0 40px 15px #e8b050; opacity: 1; transform: scaleY(1.02); }
  100% { box-shadow: 0 0 25px 8px #e8b050; opacity: 0.9; transform: scaleY(1); }
}
@keyframes lcs-rug {
  0% { background-position: 0% 0%; opacity: 0.8; }
  50% { background-position: 50% 0%; opacity: 1; }
  100% { background-position: 100% 0%; opacity: 0.8; }
}

.scn-egypt-expedition-discussed {
  background: linear-gradient(180deg, #1a1510 0%, #2a1e16 40%, #3a2a1e 70%, #1a1510 100%),
              radial-gradient(ellipse at 40% 80%, #b8863a 0%, transparent 60%);
}
.scn-egypt-expedition-discussed .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1e16 0%, #1a1510 100%);
  border-radius: 4px;
}
.scn-egypt-expedition-discussed .map {
  position: absolute; bottom: 25%; left: 15%; width: 90px; height: 70px;
  background: linear-gradient(135deg, #c9a96e 0%, #a8844a 50%, #8a6a3a 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: eed-map 20s ease-in-out infinite alternate;
}
.scn-egypt-expedition-discussed .globe {
  position: absolute; top: 15%; right: 15%; width: 40px; height: 40px;
  background: radial-gradient(circle at 40% 40%, #6a8a4a 0%, #3a5a2a 50%, #2a4a1a 100%);
  border-radius: 50%; box-shadow: -2px 2px 8px rgba(0,0,0,0.4), inset 0 0 10px rgba(0,0,0,0.2);
  animation: eed-globe 30s linear infinite;
}
.scn-egypt-expedition-discussed .lamp3 {
  position: absolute; bottom: 30%; left: 45%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #d4a373 0%, #8b5e3c 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 40px 15px #e8b87a, 0 0 80px 30px rgba(232,184,122,0.3);
  animation: eed-lamp 4.5s ease-in-out infinite;
}
.scn-egypt-expedition-discussed .figure-jasher {
  position: absolute; bottom: 24%; left: 30%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a1e16 0%, #1f1510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: eed-figj 8s ease-in-out infinite alternate;
}
.scn-egypt-expedition-discussed .figure-lucy2 {
  position: absolute; bottom: 24%; left: 55%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1e16 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: eed-figl 7s ease-in-out infinite alternate;
}
.scn-egypt-expedition-discussed .shadow-egypt {
  position: absolute; bottom: 12%; left: 20%; width: 100px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(6px); animation: eed-shadow 6s ease-in-out infinite;
}
@keyframes eed-map {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.02); }
  100% { transform: rotate(0deg) scale(1); }
}
@keyframes eed-globe {
  0% { transform: rotate(0deg) translate(0, 0); }
  50% { transform: rotate(180deg) translate(0, -2px); }
  100% { transform: rotate(360deg) translate(0, 0); }
}
@keyframes eed-lamp {
  0% { box-shadow: 0 0 30px 10px #e8b87a; opacity: 0.9; }
  50% { box-shadow: 0 0 50px 20px #e8b87a; opacity: 1; }
  100% { box-shadow: 0 0 35px 12px #e8b87a; opacity: 0.9; }
}
@keyframes eed-figj {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes eed-figl {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-1px) rotate(3deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes eed-shadow {
  0% { transform: scaleX(1); opacity: 0.4; }
  50% { transform: scaleX(1.08); opacity: 0.6; }
  100% { transform: scaleX(1); opacity: 0.4; }
}

.scn-professor-asks-mummy {
  background: 
    linear-gradient(180deg, #17172b 0%, #22223a 40%, #2a2a45 100%),
    radial-gradient(ellipse at 50% 20%, #3a3a60 0%, transparent 70%);
}
.scn-professor-asks-mummy .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a30 0%, #2a2a48 100%);
  animation: pam-bg 12s ease-in-out infinite alternate;
}
.scn-professor-asks-mummy .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(90deg, #2c2c4a 0%, #3a3a5e 50%, #2c2c4a 100%);
  border-bottom: 4px solid #1f1f3a;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-professor-asks-mummy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2a40 0%, #1a1a28 100%);
}
.scn-professor-asks-mummy .mummy-case {
  position: absolute; bottom: 25%; left: 30%; width: 60px; height: 90px;
  background: linear-gradient(180deg, #6b5a4a 0%, #4a3a2a 100%);
  border-radius: 4% 4% 6% 6% / 6% 6% 8% 8%;
  transform: rotate(-2deg);
  box-shadow: 0 8px 16px rgba(0,0,0,0.7), inset 0 0 20px rgba(0,0,0,0.4);
  animation: pam-case 9s ease-in-out infinite;
}
.scn-professor-asks-mummy .professor {
  position: absolute; bottom: 25%; left: 55%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pam-professor 4s ease-in-out infinite;
}
.scn-professor-asks-mummy .lamp-light {
  position: absolute; top: 15%; left: 60%; width: 12px; height: 16px;
  background: radial-gradient(circle at 50% 100%, #d4a060 0%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(212,160,96,0.3), 0 0 80px 40px rgba(212,160,96,0.15);
  animation: pam-lamp 3s ease-in-out infinite alternate;
}
.scn-professor-asks-mummy .shadow {
  position: absolute; bottom: 22%; left: 50%; width: 80px; height: 20px;
  background: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 70%);
  opacity: 0.4;
  animation: pam-shadow 6s ease-in-out infinite alternate;
}
@keyframes pam-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes pam-case {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-3px); }
}
@keyframes pam-professor {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(4px) rotate(1deg) translateY(-1px); }
  50% { transform: translateX(8px) rotate(-1deg); }
  75% { transform: translateX(12px) rotate(1deg) translateY(-1px); }
  100% { transform: translateX(16px) rotate(0); }
}
@keyframes pam-lamp {
  0% { opacity: 0.6; box-shadow: 0 0 20px 10px rgba(212,160,96,0.2); }
  50% { opacity: 1; box-shadow: 0 0 50px 25px rgba(212,160,96,0.5); }
  100% { opacity: 0.7; box-shadow: 0 0 30px 15px rgba(212,160,96,0.3); }
}
@keyframes pam-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.5; transform: scaleX(1.2); }
  100% { opacity: 0.4; transform: scaleX(0.9); }
}

.scn-accusation-and-control {
  background: 
    linear-gradient(180deg, #1e1e38 0%, #2a2a4e 40%, #3a3a5e 100%),
    radial-gradient(ellipse at 30% 50%, #4a4a6e 0%, transparent 60%);
}
.scn-accusation-and-control .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #242440 0%, #303050 100%);
  animation: aac-bg 14s ease-in-out infinite alternate;
}
.scn-accusation-and-control .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a28 100%);
}
.scn-accusation-and-control .window {
  position: absolute; top: 10%; left: 15%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #4a4a6a 0%, #3a3a5a 100%);
  border-radius: 4%;
  border: 4px solid #1f1f38;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: aac-window 8s ease-in-out infinite alternate;
}
.scn-accusation-and-control .old-woman {
  position: absolute; bottom: 20%; left: 35%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: aac-old 5s ease-in-out infinite;
}
.scn-accusation-and-control .hope {
  position: absolute; bottom: 22%; left: 50%; width: 26px; height: 68px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 40% 40%;
  transform-origin: bottom center;
  animation: aac-hope 6s ease-in-out infinite;
}
.scn-accusation-and-control .lucy {
  position: absolute; bottom: 20%; left: 65%; width: 24px; height: 64px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aac-lucy 5.5s ease-in-out infinite;
}
.scn-accusation-and-control .shadow {
  position: absolute; bottom: 18%; left: 40%; width: 100px; height: 30px;
  background: radial-gradient(ellipse at 50% 0%, #0a0a14 0%, transparent 70%);
  opacity: 0.5;
  animation: aac-shadow 7s ease-in-out infinite alternate;
}
@keyframes aac-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes aac-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 10px rgba(74,74,106,0.2); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(0,0,0,0.6), 0 0 20px rgba(74,74,106,0.4); }
  100% { opacity: 0.9; box-shadow: inset 0 0 15px rgba(0,0,0,0.4), 0 0 10px rgba(74,74,106,0.2); }
}
@keyframes aac-old {
  0% { transform: translateX(0) rotate(-2deg) translateY(0); }
  25% { transform: translateX(-3px) rotate(2deg) translateY(-2px); }
  50% { transform: translateX(-6px) rotate(-1deg) translateY(0); }
  75% { transform: translateX(-3px) rotate(1deg) translateY(-2px); }
  100% { transform: translateX(0) rotate(0) translateY(0); }
}
@keyframes aac-hope {
  0%, 100% { transform: translateX(0) rotate(0) translateY(0); }
  50% { transform: translateX(5px) rotate(-2deg) translateY(-3px); }
}
@keyframes aac-lucy {
  0%, 100% { transform: translateX(0) rotate(0) translateY(0); }
  50% { transform: translateX(-4px) rotate(2deg) translateY(-2px); }
}
@keyframes aac-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.5; transform: scaleX(0.95); }
}

.scn-police-called {
  background: 
    linear-gradient(180deg, #1c1c34 0%, #262648 40%, #32325a 100%),
    radial-gradient(ellipse at 70% 50%, #3e3e64 0%, transparent 70%);
}
.scn-police-called .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #22223e 0%, #2e2e52 100%);
  animation: pol-bg 10s ease-in-out infinite alternate;
}
.scn-police-called .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 28%;
  background: linear-gradient(90deg, #2a2a4a 0%, #343458 50%, #2a2a4a 100%);
  border-bottom: 3px solid #1a1a34;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-police-called .professor {
  position: absolute; bottom: 22%; left: 30%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #3a3a4c 0%, #1a1a24 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pol-prof 5s ease-in-out infinite;
}
.scn-police-called .widow-anne {
  position: absolute; bottom: 18%; left: 45%; width: 30px; height: 58px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: pol-widow 4.5s ease-in-out infinite;
}
.scn-police-called .archie {
  position: absolute; bottom: 22%; left: 60%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pol-archie 5.5s ease-in-out infinite;
}
.scn-police-called .door {
  position: absolute; bottom: 28%; right: 8%; width: 50px; height: 72px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4% 4% 0 0;
  border: 3px solid #1f0f00;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: pol-door 12s ease-in-out infinite alternate;
}
.scn-police-called .shadow {
  position: absolute; bottom: 16%; left: 35%; width: 120px; height: 30px;
  background: radial-gradient(ellipse at 50% 0%, #0a0a14 0%, transparent 70%);
  opacity: 0.5;
  animation: pol-shadow 8s ease-in-out infinite alternate;
}
@keyframes pol-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes pol-prof {
  0%, 100% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(6px) rotate(2deg) translateY(-2px); }
}
@keyframes pol-widow {
  0% { transform: translateX(0) rotate(3deg) translateY(0); }
  25% { transform: translateX(-4px) rotate(-2deg) translateY(-3px); }
  50% { transform: translateX(-8px) rotate(0) translateY(0); }
  75% { transform: translateX(-4px) rotate(2deg) translateY(-3px); }
  100% { transform: translateX(0) rotate(-3deg) translateY(0); }
}
@keyframes pol-archie {
  0%, 100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-5px) rotate(-2deg) translateY(-1px); }
}
@keyframes pol-door {
  0% { transform: rotate(0); }
  50% { transform: rotate(-3deg); }
  100% { transform: rotate(2deg); }
}
@keyframes pol-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.2); }
  100% { opacity: 0.5; transform: scaleX(0.9); }
}

.scn-arrangements {
  background: 
    linear-gradient(180deg, #1a1a34 0%, #262648 40%, #32325a 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a60 0%, transparent 80%);
}
.scn-arrangements .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1e1e3a 0%, #2a2a4e 100%);
  animation: arr-bg 16s ease-in-out infinite alternate;
}
.scn-arrangements .table {
  position: absolute; bottom: 18%; left: 20%; width: 120px; height: 10px;
  background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%);
  border-radius: 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: arr-table 9s ease-in-out infinite alternate;
}
.scn-arrangements .professor {
  position: absolute; bottom: 20%; left: 25%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #3a3a4c 0%, #1a1a24 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: arr-prof 5s ease-in-out infinite;
}
.scn-arrangements .archie {
  position: absolute; bottom: 20%; left: 50%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: arr-archie 5.5s ease-in-out infinite;
}
.scn-arrangements .widow {
  position: absolute; bottom: 16%; left: 70%; width: 30px; height: 58px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: arr-widow 6s ease-in-out infinite;
}
.scn-arrangements .lamp {
  position: absolute; top: 10%; left: 50%; width: 20px; height: 28px;
  background: radial-gradient(circle at 50% 20%, #d4a060 0%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(212,160,96,0.3), 0 0 60px 30px rgba(212,160,96,0.15);
  animation: arr-lamp 3s ease-in-out infinite alternate;
}
.scn-arrangements .shadow {
  position: absolute; bottom: 14%; left: 30%; width: 160px; height: 30px;
  background: radial-gradient(ellipse at 50% 0%, #0a0a14 0%, transparent 70%);
  opacity: 0.45;
  animation: arr-shadow 10s ease-in-out infinite alternate;
}
@keyframes arr-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes arr-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes arr-prof {
  0%, 100% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(4px) rotate(2deg) translateY(-1px); }
}
@keyframes arr-archie {
  0%, 100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-3px) rotate(-2deg) translateY(-2px); }
}
@keyframes arr-widow {
  0% { transform: translateX(0) rotate(2deg) translateY(0); }
  25% { transform: translateX(-4px) rotate(-2deg) translateY(-2px); }
  50% { transform: translateX(-8px) rotate(0) translateY(0); }
  75% { transform: translateX(-4px) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(0) rotate(-2deg) translateY(0); }
}
@keyframes arr-lamp {
  0% { opacity: 0.5; box-shadow: 0 0 20px 10px rgba(212,160,96,0.2); }
  50% { opacity: 1; box-shadow: 0 0 50px 25px rgba(212,160,96,0.5); }
  100% { opacity: 0.6; box-shadow: 0 0 30px 15px rgba(212,160,96,0.3); }
}
@keyframes arr-shadow {
  0% { opacity: 0.35; transform: scaleX(1); }
  50% { opacity: 0.55; transform: scaleX(1.15); }
  100% { opacity: 0.45; transform: scaleX(0.9); }
}

.scn-date-interview { background: linear-gradient(180deg, #e8e4dc 0%, #c8c0b8 100%), radial-gradient(ellipse at 50% 30%, #ffffff80 0%, transparent 70%); }
.scn-date-interview .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d4cfc7 0%, #b8b0a8 100%); }
.scn-date-interview .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #7a7068 0%, #4a443e 100%); }
.scn-date-interview .table { position:absolute; bottom:20%; left:25%; width:50%; height:8%; background: linear-gradient(135deg, #5a5048 0%, #3a342e 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: di-table 12s ease-in-out infinite alternate; }
.scn-date-interview .figure-interrogator { position:absolute; bottom:25%; left:35%; width:22px; height:60px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(5deg); animation: di-fig1 6s ease-in-out infinite; }
.scn-date-interview .figure-witness { position:absolute; bottom:25%; right:35%; width:20px; height:55px; background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(-3deg); animation: di-fig2 7s ease-in-out infinite; }
.scn-date-interview .lamp { position:absolute; top:15%; left:50%; width:30px; height:20px; transform:translateX(-50%); background: radial-gradient(ellipse, #f0e8d0 0%, #c0b090 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 12px #d0c0a0, 0 0 80px 24px rgba(200,180,140,.3); animation: di-lamp 4s ease-in-out infinite alternate; }
.scn-date-interview .shadow-line { position:absolute; bottom:30%; left:0; right:0; height:2px; background: linear-gradient(90deg, transparent 0%, #00000030 20%, #00000050 50%, #00000030 80%, transparent 100%); animation: di-shadow 8s ease-in-out infinite alternate; }
@keyframes di-table { 0% { transform:translateY(0) scaleX(1); } 50% { transform:translateY(-2px) scaleX(1.02); } 100% { transform:translateY(0) scaleX(1); } }
@keyframes di-fig1 { 0% { transform:rotate(5deg) translateX(0); } 50% { transform:rotate(7deg) translateX(2px); } 100% { transform:rotate(5deg) translateX(0); } }
@keyframes di-fig2 { 0% { transform:rotate(-3deg) translateX(0); } 50% { transform:rotate(-5deg) translateX(-2px); } 100% { transform:rotate(-3deg) translateX(0); } }
@keyframes di-lamp { 0% { box-shadow: 0 0 30px 10px #d0c0a0, 0 0 60px 18px rgba(200,180,140,.2); opacity:.85; } 50% { box-shadow: 0 0 50px 18px #e0d0b0, 0 0 100px 30px rgba(220,200,160,.4); opacity:1; } 100% { box-shadow: 0 0 35px 12px #d0c0a0, 0 0 70px 20px rgba(200,180,140,.25); opacity:.9; } }
@keyframes di-shadow { 0% { opacity:.3; transform:scaleY(1); } 50% { opacity:.6; transform:scaleY(1.5); } 100% { opacity:.4; transform:scaleY(1); } }

.scn-don-pedro-surprise { background: linear-gradient(180deg, #f0ead8 0%, #ddd4c0 100%), radial-gradient(ellipse at 70% 40%, #fff9e6 0%, transparent 60%); }
.scn-don-pedro-surprise .wall-study { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #ece4d0 0%, #d4c8b0 100%); }
.scn-don-pedro-surprise .bookshelf { position:absolute; top:10%; left:5%; width:25%; height:50%; background: linear-gradient(135deg, #6a5a46 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.3); animation: dps-shelf 20s ease-in-out infinite alternate; }
.scn-don-pedro-surprise .desk { position:absolute; bottom:25%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #8a7a66 0%, #5a4a3a 100%); border-radius: 6px; box-shadow: 0 6px 10px rgba(0,0,0,.2); }
.scn-don-pedro-surprise .figure-donpedro { position:absolute; bottom:28%; left:40%; width:24px; height:62px; background: linear-gradient(180deg, #2a2420 0%, #1a1612 100%); border-radius: 45% 45% 30% 30% / 65% 65% 35% 35%; transform: rotate(-2deg); animation: dps-fig1 8s ease-in-out infinite; }
.scn-don-pedro-surprise .figure-professor { position:absolute; bottom:28%; left:55%; width:22px; height:60px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(4deg); animation: dps-fig2 9s ease-in-out infinite; }
.scn-don-pedro-surprise .curtain { position:absolute; top:0; right:0; width:15%; height:100%; background: linear-gradient(180deg, #b8a890 0%, #8a7a66 100%); border-radius: 10% 0 0 10%; filter: blur(2px); animation: dps-curtain 15s ease-in-out infinite alternate; }
.scn-don-pedro-surprise .light-beam { position:absolute; top:12%; left:20%; width:60%; height:40%; background: linear-gradient(135deg, rgba(255,255,240,0.15) 0%, transparent 80%); transform: rotate(-15deg); animation: dps-beam 12s ease-in-out infinite alternate; }
@keyframes dps-shelf { 0% { transform:scaleY(1) translateX(0); } 50% { transform:scaleY(0.98) translateX(2px); } 100% { transform:scaleY(1) translateX(0); } }
@keyframes dps-fig1 { 0% { transform:rotate(-2deg) translateX(0); } 50% { transform:rotate(0deg) translateX(4px); } 100% { transform:rotate(-2deg) translateX(0); } }
@keyframes dps-fig2 { 0% { transform:rotate(4deg) translateX(0); } 50% { transform:rotate(2deg) translateX(-3px); } 100% { transform:rotate(4deg) translateX(0); } }
@keyframes dps-curtain { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes dps-beam { 0% { opacity:.3; transform:rotate(-15deg) scale(1); } 50% { opacity:.5; transform:rotate(-12deg) scale(1.05); } 100% { opacity:.3; transform:rotate(-15deg) scale(1); } }

.scn-emerald-restoration { background: linear-gradient(180deg, #d4b88a 0%, #b89870 100%), radial-gradient(ellipse at 40% 50%, #ffd27f 0%, transparent 70%); }
.scn-emerald-restoration .bg-warm { position:absolute; inset:0; background: linear-gradient(180deg, #c8a878 0%, #a08458 100%); }
.scn-emerald-restoration .table-top { position:absolute; bottom:15%; left:10%; width:80%; height:20%; background: linear-gradient(180deg, #6a5a44 0%, #4a3a2a 100%); border-radius: 8px; box-shadow: 0 8px 12px rgba(0,0,0,.3); }
.scn-emerald-restoration .hand-left { position:absolute; bottom:30%; left:25%; width:30px; height:40px; background: linear-gradient(180deg, #c8a878 0%, #a08458 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-20deg); animation: er-hand1 5s ease-in-out infinite; }
.scn-emerald-restoration .hand-right { position:absolute; bottom:30%; left:55%; width:30px; height:40px; background: linear-gradient(180deg, #c8a878 0%, #a08458 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(15deg); animation: er-hand2 6s ease-in-out infinite; }
.scn-emerald-restoration .emerald { position:absolute; bottom:38%; left:43%; width:18px; height:14px; background: radial-gradient(circle at 40% 40%, #50c878 0%, #2e8b57 70%); border-radius: 30% 70% 50% 50% / 40% 50% 50% 60%; box-shadow: 0 0 20px 6px #5cb85c, 0 0 40px 12px rgba(80,200,120,.3); animation: er-gem 4s ease-in-out infinite alternate; }
.scn-emerald-restoration .glow-sparkle { position:absolute; top:30%; left:42%; width:24px; height:24px; background: radial-gradient(circle, #ffffff80 0%, transparent 70%); animation: er-sparkle 3s ease-in-out infinite; }
@keyframes er-hand1 { 0% { transform:rotate(-20deg) translateY(0); } 50% { transform:rotate(-18deg) translateY(-4px); } 100% { transform:rotate(-20deg) translateY(0); } }
@keyframes er-hand2 { 0% { transform:rotate(15deg) translateY(0); } 50% { transform:rotate(13deg) translateY(-3px); } 100% { transform:rotate(15deg) translateY(0); } }
@keyframes er-gem { 0% { transform:scale(1) rotate(0deg); box-shadow: 0 0 20px 6px #5cb85c; } 50% { transform:scale(1.1) rotate(5deg); box-shadow: 0 0 30px 10px #6fcf6f; } 100% { transform:scale(1) rotate(0deg); box-shadow: 0 0 20px 6px #5cb85c; } }
@keyframes er-sparkle { 0% { opacity:.2; transform:scale(0.8); } 50% { opacity:.8; transform:scale(1.2); } 100% { opacity:.3; transform:scale(0.9); } }

.scn-don-pedro-joy { background: linear-gradient(180deg, #f2dbb0 0%, #d4ae7a 100%), radial-gradient(ellipse at 30% 40%, #ffe699 0%, transparent 70%); }
.scn-don-pedro-joy .bg-gold { position:absolute; inset:0; background: linear-gradient(180deg, #e8c88a 0%, #c8a06a 100%); }
.scn-don-pedro-joy .window-arch { position:absolute; top:5%; left:50%; width:30%; height:50%; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #fff4d4 0%, #c8a86a 100%); border-radius: 50% 50% 10% 10% / 80% 80% 20% 20%; box-shadow: inset 0 0 40px rgba(255,215,0,0.3); animation: dpj-window 20s ease-in-out infinite alternate; }
.scn-don-pedro-joy .figure-donpedro-joy { position:absolute; bottom:25%; left:30%; width:26px; height:65px; background: linear-gradient(180deg, #2a2420 0%, #1a1612 100%); border-radius: 45% 45% 30% 30% / 65% 65% 35% 35%; transform: rotate(-5deg); animation: dpj-fig1 4s ease-in-out infinite; }
.scn-don-pedro-joy .figure-donna-inez { position:absolute; bottom:25%; left:50%; width:22px; height:58px; background: linear-gradient(180deg, #4a3a30 0%, #3a2a20 100%); border-radius: 40% 50% 30% 30% / 60% 70% 30% 40%; transform: rotate(8deg); animation: dpj-fig2 5s ease-in-out infinite; }
.scn-don-pedro-joy .emerald-held { position:absolute; bottom:35%; left:38%; width:12px; height:10px; background: radial-gradient(circle at 40% 40%, #50c878 0%, #2e8b57 80%); border-radius: 30% 70% 50% 50% / 40% 50% 50% 60%; box-shadow: 0 0 24px 8px #5cb85c, 0 0 48px 16px rgba(80,200,120,.4); animation: dpj-gem 2s ease-in-out infinite alternate; }
.scn-don-pedro-joy .sparkle-burst { position:absolute; top:20%; left:35%; width:40px; height:40px; background: radial-gradient(circle, #ffffaa60 0%, transparent 70%); animation: dpj-spark 3s ease-in-out infinite; }
.scn-don-pedro-joy .floor-tile { position:absolute; bottom:0; left:0; right:0; height:25%; background: repeating-linear-gradient(90deg, #8a7a66 0px, #8a7a66 30px, #a08a70 30px, #a08a70 60px); border-radius: 30% 30% 0 0; animation: dpj-floor 15s linear infinite; }
@keyframes dpj-window { 0% { opacity:.85; transform:translateX(-50%) scale(1); } 50% { opacity:1; transform:translateX(-48%) scale(1.02); } 100% { opacity:.9; transform:translateX(-50%) scale(1); } }
@keyframes dpj-fig1 { 0% { transform:rotate(-5deg) translateX(0); } 25% { transform:rotate(-3deg) translateX(8px); } 50% { transform:rotate(-6deg) translateX(16px); } 75% { transform:rotate(-2deg) translateX(8px); } 100% { transform:rotate(-5deg) translateX(0); } }
@keyframes dpj-fig2 { 0% { transform:rotate(8deg) translateX(0); } 25% { transform:rotate(10deg) translateX(-6px); } 50% { transform:rotate(6deg) translateX(-12px); } 75% { transform:rotate(9deg) translateX(-6px); } 100% { transform:rotate(8deg) translateX(0); } }
@keyframes dpj-gem { 0% { transform:scale(1) rotate(0deg); box-shadow: 0 0 20px 6px #5cb85c; } 50% { transform:scale(1.2) rotate(10deg); box-shadow: 0 0 40px 12px #6fcf6f; } 100% { transform:scale(1) rotate(0deg); box-shadow: 0 0 20px 6px #5cb85c; } }
@keyframes dpj-spark { 0% { opacity:.1; transform:scale(0.5) rotate(0deg); } 50% { opacity:.6; transform:scale(1.3) rotate(30deg); } 100% { opacity:.2; transform:scale(0.6) rotate(45deg); } }
@keyframes dpj-floor { 0% { background-position-x: 0; } 100% { background-position-x: 60px; } }

.scn-wedding-proposal {
  background:
    linear-gradient(180deg, #fdf6e3 0%, #f5e6c4 25%, #e8d5a8 50%, #d4c094 75%, #c0a878 100%),
    radial-gradient(ellipse at 60% 30%, #fff8e7 0%, transparent 50%);
}
.scn-wedding-proposal .wall-light { position:absolute; inset:0 0 32% 0; background: linear-gradient(180deg, #fff0c0 0%, #ffe8b0 30%, transparent 100%); animation: wp-wall 8s ease-in-out infinite alternate; }
.scn-wedding-proposal .window-warm { position:absolute; top:14%; left:62%; width:28%; height:46%; background: linear-gradient(180deg, #c0d8f0 0%, #a0c0e0 100%); border: 8px solid #b09060; border-radius:4px; box-shadow: inset 0 0 60px rgba(255,240,200,0.3); transform: perspective(800px) rotateY(-5deg); }
.scn-wedding-proposal .curtain-l { position:absolute; top:10%; left:58%; width:10%; height:50%; background: linear-gradient(135deg, #c85050 0%, #a03535 50%, #702525 100%); border-radius:0 60% 60% 0 / 0 40% 40% 0; transform: skewX(3deg); animation: wp-curtain 6s ease-in-out infinite alternate; }
.scn-wedding-proposal .curtain-r { position:absolute; top:10%; left:85%; width:10%; height:50%; background: linear-gradient(225deg, #c85050 0%, #a03535 50%, #702525 100%); border-radius:60% 0 0 60% / 40% 0 0 40%; transform: skewX(-3deg); animation: wp-curtain 6s ease-in-out infinite alternate-reverse; }
.scn-wedding-proposal .man-proposer { position:absolute; bottom:32%; left:42%; width:26px; height:58px; background: linear-gradient(135deg, #1a1a2a 0%, #252540 50%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 45% 45%; transform-origin: bottom center; animation: wp-man 4s ease-in-out infinite; box-shadow: -4px 0 12px rgba(0,0,0,0.3); }
.scn-wedding-proposal .woman-accepting { position:absolute; bottom:32%; left:46%; width:22px; height:52px; background: linear-gradient(135deg, #2a1a2a 0%, #3a203a 50%, #2a1a2a 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: wp-woman 4s ease-in-out infinite; }
.scn-wedding-proposal .ring-glow { position:absolute; bottom:38%; left:45%; width:8px; height:8px; background: radial-gradient(circle, #fff8a0 0%, #f0c040 40%, transparent 80%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(240,192,64,0.6), 0 0 40px 12px rgba(240,192,64,0.3); animation: wp-ring 2s ease-in-out infinite alternate; }
.scn-wedding-proposal .floor-warm { position:absolute; bottom:0; left:0; right:0; height:32%; background: linear-gradient(180deg, #d4b888 0%, #b89060 40%, #a07850 100%); box-shadow: inset 0 6px 20px rgba(0,0,0,0.15); transform: perspective(400px) rotateX(2deg); }
@keyframes wp-wall { 0%,100% { opacity:0.9 } 50% { opacity:1 } }
@keyframes wp-curtain { 0% { transform: skewX(3deg) scaleX(0.98) } 50% { transform: skewX(4deg) scaleX(1.02) } 100% { transform: skewX(3deg) scaleX(0.98) } }
@keyframes wp-man { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(0) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-2px) rotate(0) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes wp-woman { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-1px) rotate(0) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(1px) rotate(0) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes wp-ring { 0% { transform: scale(0.8) rotate(-5deg); opacity:0.6 } 50% { transform: scale(1.2) rotate(0); opacity:1 } 100% { transform: scale(0.85) rotate(5deg); opacity:0.7 } }

.scn-braddock-fate-assumption {
  background:
    linear-gradient(180deg, #f0ead6 0%, #e0d4b8 30%, #c8b890 60%, #a89878 100%),
    radial-gradient(ellipse at 30% 20%, #fff0d0 0%, transparent 60%);
}
.scn-braddock-fate-assumption .room-bright { position:absolute; inset:0; background: linear-gradient(135deg, rgba(240,230,200,0.8) 0%, rgba(200,180,140,0.4) 100%); }
.scn-braddock-fate-assumption .doorway-dark { position:absolute; top:10%; left:12%; width:22%; height:70%; background: linear-gradient(180deg, #2a2218 0%, #14100a 100%); border-radius: 0 40% 40% 0 / 0 30% 30% 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); transform: skewY(2deg); }
.scn-braddock-fate-assumption .table-tense { position:absolute; bottom:28%; left:38%; width:40%; height:6%; background: linear-gradient(180deg, #5a4a30 0%, #3a2a18 100%); border-radius:20%; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.scn-braddock-fate-assumption .figure-standing { position:absolute; bottom:28%; left:40%; width:24px; height:64px; background: linear-gradient(135deg, #1a1a2a 0%, #252540 60%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: bf-stand 5s ease-in-out infinite; box-shadow: -3px 0 8px rgba(0,0,0,0.3); }
.scn-braddock-fate-assumption .figure-seated { position:absolute; bottom:28%; left:50%; width:30px; height:44px; background: linear-gradient(135deg, #2a2a3a 0%, #3a3a4a 50%, #2a2a3a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 35% 35%; transform-origin: bottom center; animation: bf-seated 5s ease-in-out infinite; }
.scn-braddock-fate-assumption .shadow-twist { position:absolute; bottom:28%; left:44%; width:60px; height:30px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 80%); transform: skewX(-20deg); animation: bf-shadow 5s ease-in-out infinite alternate; }
.scn-braddock-fate-assumption .window-sharp { position:absolute; top:12%; right:14%; width:24%; height:44%; background: linear-gradient(180deg, #e0f0ff 0%, #b0d0f0 100%); border: 6px solid #8a7a60; border-radius:2px; box-shadow: inset 0 0 40px rgba(255,240,200,0.2), 0 0 20px rgba(255,255,255,0.1); transform: perspective(600px) rotateY(4deg); animation: bf-window 12s ease-in-out infinite alternate; }
@keyframes bf-stand { 0%,100% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(0) } 50% { transform: translateY(0) rotate(1deg) } 75% { transform: translateY(-2px) rotate(0) } }
@keyframes bf-seated { 0%,100% { transform: rotate(-2deg) scale(1) } 50% { transform: rotate(2deg) scale(0.95) } }
@keyframes bf-shadow { 0% { transform: skewX(-20deg) scaleX(1); opacity:0.6 } 50% { transform: skewX(-25deg) scaleX(1.2); opacity:0.8 } 100% { transform: skewX(-20deg) scaleX(1); opacity:0.6 } }
@keyframes bf-window { 0% { opacity:0.9; box-shadow: inset 0 0 40px rgba(255,240,200,0.2), 0 0 20px rgba(255,255,255,0.1) } 50% { opacity:1; box-shadow: inset 0 0 60px rgba(255,240,200,0.3), 0 0 30px rgba(255,255,255,0.15) } 100% { opacity:0.9; box-shadow: inset 0 0 40px rgba(255,240,200,0.2), 0 0 20px rgba(255,255,255,0.1) } }

.scn-braddock-flight-reason {
  background:
    linear-gradient(180deg, #1a1520 0%, #2a1a20 30%, #1a1015 60%, #0a080a 100%),
    radial-gradient(ellipse at 50% 100%, #2a1a20 0%, transparent 70%);
}
.scn-braddock-flight-reason .room-dim { position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,15,18,0.9) 0%, rgba(10,8,10,0.6) 100%); }
.scn-braddock-flight-reason .lamp-glow { position:absolute; bottom:40%; left:50%; width:20px; height:30px; background: radial-gradient(circle at 50% 30%, #e0a040 0%, #a06020 50%, transparent 80%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 50px 20px rgba(200,120,40,0.3), 0 0 100px 30px rgba(200,120,40,0.1); animation: bf-lamp 4s ease-in-out infinite alternate; }
.scn-braddock-flight-reason .desk-dark { position:absolute; bottom:24%; left:38%; width:45%; height:6%; background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%); border-radius:4px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); transform: perspective(400px) rotateX(3deg); }
.scn-braddock-flight-reason .figure-stairs { position:absolute; bottom:24%; left:46%; width:22px; height:56px; background: linear-gradient(135deg, #0e0e14 0%, #1a1a2a 60%, #0e0e14 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: bf-stairs 4s ease-in-out infinite; box-shadow: -2px 0 6px rgba(0,0,0,0.4); }
.scn-braddock-flight-reason .knife-silhouette { position:absolute; bottom:30%; left:48%; width:4px; height:28px; background: linear-gradient(180deg, #1a1a2a 40%, #2a2a3a 80%, #1a1a2a 100%); transform: rotate(20deg); border-radius:30% 30% 10% 10%; animation: bf-knife 3s ease-in-out infinite alternate; }
.scn-braddock-flight-reason .mist-layer { position:absolute; bottom:10%; left:0; right:0; height:50%; background: radial-gradient(ellipse at 30% 50%, rgba(180,180,200,0.1) 0%, transparent 70%); filter: blur(8px); animation: bf-mist 20s linear infinite alternate; }
.scn-braddock-flight-reason .letter-on-desk { position:absolute; bottom:28%; left:46%; width:20px; height:14px; background: linear-gradient(135deg, #d4c890 0%, #b8a870 100%); border-radius:2px; transform: rotate(-12deg); box-shadow: 0 1px 4px rgba(0,0,0,0.4); animation: bf-letter 6s ease-in-out infinite; }
@keyframes bf-lamp { 0%,100% { opacity:0.8; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } }
@keyframes bf-stairs { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(4px) rotate(0) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-2px) rotate(0) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes bf-knife { 0%,100% { transform: rotate(15deg) scaleY(1) } 50% { transform: rotate(25deg) scaleY(1.1) } }
@keyframes bf-mist { 0% { transform: translateX(0) scaleX(1); opacity:0.4 } 50% { transform: translateX(20px) scaleX(1.2); opacity:0.6 } 100% { transform: translateX(0) scaleX(1); opacity:0.4 } }
@keyframes bf-letter { 0%,100% { transform: rotate(-12deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } }

.scn-cockatoo-savagery {
  background:
    linear-gradient(180deg, #0a0808 0%, #151010 30%, #0a0608 60%, #050303 100%),
    radial-gradient(ellipse at 40% 60%, #1a0a0e 0%, transparent 70%);
}
.scn-cockatoo-savagery .room-black { position:absolute; inset:0; background: linear-gradient(135deg, rgba(5,3,3,0.95) 0%, rgba(10,8,10,0.8) 100%); }
.scn-cockatoo-savagery .candle-pool { position:absolute; bottom:38%; left:45%; width:16px; height:24px; background: radial-gradient(circle at 50% 90%, #e08030 0%, #a04010 40%, transparent 80%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 40px 15px rgba(200,80,20,0.3), 0 0 80px 25px rgba(200,80,20,0.1); animation: cs-candle 3s ease-in-out infinite alternate; }
.scn-cockatoo-savagery .figure-dagger { position:absolute; bottom:28%; left:48%; width:24px; height:58px; background: linear-gradient(135deg, #0a0a0e 0%, #15151e 60%, #0a0a0e 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: cs-figure 3s ease-in-out infinite; box-shadow: -3px 0 8px rgba(0,0,0,0.5); }
.scn-cockatoo-savagery .arm-outstretched { position:absolute; bottom:38%; left:50%; width:36px; height:6px; background: linear-gradient(180deg, #0e0e14 0%, #1a1a2a 100%); border-radius:40% 10% 10% 40%; transform-origin: left center; transform: rotate(-30deg); animation: cs-arm 3s ease-in-out infinite alternate; }
.scn-cockatoo-savagery .blood-drop { position:absolute; bottom:36%; left:52%; width:6px; height:10px; background: radial-gradient(circle at 50% 50%, #782030 0%, #3a1018 60%, transparent 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; animation: cs-blood 2s ease-in-out infinite alternate; }
.scn-cockatoo-savagery .emerald-glint { position:absolute; bottom:40%; left:42%; width:6px; height:6px; background: radial-gradient(circle, #30d060 0%, #108030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 16px 4px rgba(16,128,48,0.4); animation: cs-emerald 5s ease-in-out infinite; }
.scn-cockatoo-savagery .shadow-wall { position:absolute; top:0; left:20%; width:60%; height:100%; background: radial-gradient(ellipse at 50% 30%, rgba(0,0,0,0.5) 0%, transparent 80%); transform: scaleX(1.5); animation: cs-shadow 8s ease-in-out infinite alternate; }
@keyframes cs-candle { 0%,100% { transform: scale(1); opacity:0.7 } 50% { transform: scale(1.08); opacity:1 } }
@keyframes cs-figure { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(3px) rotate(0) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-1px) rotate(0) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes cs-arm { 0% { transform: rotate(-30deg); opacity:0.9 } 50% { transform: rotate(-20deg); opacity:1 } 100% { transform: rotate(-35deg); opacity:0.9 } }
@keyframes cs-blood { 0% { transform: translateY(0) scale(1); opacity:0.4 } 50% { transform: translateY(4px) scale(1.2); opacity:0.8 } 100% { transform: translateY(0) scale(1); opacity:0.4 } }
@keyframes cs-emerald { 0%,100% { transform: scale(0.8) rotate(-10deg); opacity:0.5 } 50% { transform: scale(1.3) rotate(10deg); opacity:1 } }
@keyframes cs-shadow { 0% { transform: scaleX(1.5) translateX(0); opacity:0.6 } 50% { transform: scaleX(1.8) translateX(-10px); opacity:0.8 } 100% { transform: scaleX(1.5) translateX(0); opacity:0.6 } }

.scn-emerald-value-discussion {
  background:
    linear-gradient(135deg, #f5e6c8 0%, #e0c9a3 50%, #c9b28a 100%),
    radial-gradient(ellipse at 30% 40%, #fff8e0 0%, transparent 60%);
}
.scn-emerald-value-discussion .room-bg { position:absolute; inset:0; background:linear-gradient(180deg, #fef8ee 0%, #e3d1b5 100%); }
.scn-emerald-value-discussion .table { position:absolute; bottom:25%; left:30%; width:40%; height:18%; background:linear-gradient(180deg, #a1855a 0%, #7a6640 100%); border-radius:20% 20% 10% 10%; box-shadow:0 6px 18px rgba(0,0,0,.3); }
.scn-emerald-value-discussion .emerald { position:absolute; bottom:35%; left:45%; width:20px; height:14px; background:radial-gradient(circle, #50c878 0%, #2e8b57 70%); border-radius:30% 30% 20% 20%; box-shadow:0 0 20px 8px rgba(80,200,120,.5); animation:evd-glow 4s ease-in-out infinite alternate; }
.scn-emerald-value-discussion .figure1 { position:absolute; bottom:20%; left:15%; width:28px; height:70px; background:linear-gradient(180deg, #2a1e14 0%, #1b130d 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:evd-breathe 5s ease-in-out infinite; }
.scn-emerald-value-discussion .figure2 { position:absolute; bottom:22%; left:65%; width:25px; height:65px; background:linear-gradient(180deg, #362a1e 0%, #221a12 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin:bottom center; animation:evd-breathe 5s ease-in-out infinite 2s; }
.scn-emerald-value-discussion .window { position:absolute; top:8%; left:60%; width:100px; height:150px; background:rgba(200,220,240,.2); border:6px solid #8b7355; border-radius:4% 4% 10% 10%; box-shadow:inset 0 0 30px rgba(255,255,200,.3); }
.scn-emerald-value-discussion .sunbeam { position:absolute; top:10%; left:62%; width:80px; height:200px; background:linear-gradient(180deg, rgba(255,255,200,.4) 0%, transparent 100%); clip-path:polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation:evd-beam 8s ease-in-out infinite alternate; }

@keyframes evd-glow {
  0% { box-shadow:0 0 15px 5px rgba(80,200,120,.4); transform:scale(1); }
  50% { box-shadow:0 0 30px 12px rgba(80,200,120,.6); transform:scale(1.02); }
  100% { box-shadow:0 0 20px 8px rgba(80,200,120,.3); transform:scale(0.98); }
}
@keyframes evd-breathe {
  0% { transform:translateY(0) scaleY(1); }
  50% { transform:translateY(-3px) scaleY(1.02); }
  100% { transform:translateY(0) scaleY(1); }
}
@keyframes evd-beam {
  0% { opacity:0.6; transform:rotate(-2deg); }
  50% { opacity:1; transform:rotate(0deg); }
  100% { opacity:0.7; transform:rotate(2deg); }
}

.scn-other-emerald-lost {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d4bfa0 50%, #bfa682 100%),
    radial-gradient(ellipse at 80% 20%, #fff5e0 0%, transparent 50%);
}
.scn-other-emerald-lost .room-bg { position:absolute; inset:0; background:linear-gradient(180deg, #f3ecd8 0%, #dac9ae 100%); }
.scn-other-emerald-lost .window { position:absolute; top:5%; left:20%; width:120px; height:180px; background:linear-gradient(180deg, #b8d0e0 0%, #e0ecf5 100%); border:8px solid #7a6b50; border-radius:6% 6% 12% 12%; }
.scn-other-emerald-lost .figure { position:absolute; bottom:18%; left:35%; width:26px; height:66px; background:linear-gradient(180deg, #2c2016 0%, #1b130d 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin:bottom center; animation:oel-turn 6s ease-in-out infinite; }
.scn-other-emerald-lost .hand { position:absolute; bottom:32%; left:42%; width:14px; height:22px; background:linear-gradient(180deg, #d4b890 0%, #ab8b6a 100%); border-radius:40% 40% 30% 30%; transform:rotate(15deg); transform-origin:top; animation:oel-hand 4s ease-in-out infinite; }
.scn-other-emerald-lost .case { position:absolute; bottom:28%; left:46%; width:22px; height:16px; background:linear-gradient(180deg, #6a5540 0%, #4d3b2a 100%); border-radius:10% 10% 20% 20%; box-shadow:0 2px 8px rgba(0,0,0,.3); animation:oel-case 5s ease-in-out infinite alternate; }
.scn-other-emerald-lost .shadow { position:absolute; bottom:15%; left:30%; width:80px; height:20px; background:radial-gradient(ellipse, rgba(0,0,0,.15) 0%, transparent 70%); animation:oel-shadow 6s ease-in-out infinite; }
.scn-other-emerald-lost .curtains { position:absolute; top:0; left:18%; width:16px; height:100%; background:linear-gradient(180deg, #8b7a60 0%, #66553a 100%); border-radius:4px; animation:oel-curtain 8s ease-in-out infinite alternate; }

@keyframes oel-turn {
  0% { transform:rotate(-2deg); }
  50% { transform:rotate(3deg); }
  100% { transform:rotate(-2deg); }
}
@keyframes oel-hand {
  0% { transform:rotate(10deg) translateY(0); }
  50% { transform:rotate(20deg) translateY(-3px); }
  100% { transform:rotate(10deg) translateY(0); }
}
@keyframes oel-case {
  0% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-2px) rotate(3deg); }
  100% { transform:translateY(0) rotate(0deg); }
}
@keyframes oel-shadow {
  0% { transform:scaleX(1); opacity:0.5; }
  50% { transform:scaleX(1.1); opacity:0.8; }
  100% { transform:scaleX(1); opacity:0.5; }
}
@keyframes oel-curtain {
  0% { transform:scaleX(1); }
  50% { transform:scaleX(1.03); }
  100% { transform:scaleX(1); }
}

.scn-mummy-taken {
  background:
    linear-gradient(180deg, #d9cbb8 0%, #b8a68e 50%, #9a8870 100%),
    radial-gradient(ellipse at 60% 30%, #f0e4d0 0%, transparent 60%);
}
.scn-mummy-taken .room-bg { position:absolute; inset:0; background:linear-gradient(180deg, #e6dac8 0%, #c5b49a 100%); }
.scn-mummy-taken .pedestal { position:absolute; bottom:28%; left:50%; width:60px; height:40px; transform:translateX(-50%); background:linear-gradient(180deg, #8a7a62 0%, #66553a 100%); border-radius:10% 10% 30% 30%; }
.scn-mummy-taken .mummy-case { position:absolute; bottom:30%; left:50%; width:40px; height:90px; transform:translateX(-50%); background:linear-gradient(135deg, #6d9b7a 0%, #4a6b55 50%, #2d4635 100%); border-radius:12% 12% 8% 8%; box-shadow:0 8px 16px rgba(0,0,0,.4); animation:mta-tilt 3s ease-in-out infinite alternate; }
.scn-mummy-taken .professor { position:absolute; bottom:20%; left:35%; width:30px; height:80px; background:linear-gradient(180deg, #3a2a1e 0%, #241a12 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:scaleX(-1); animation:mta-walk 4s ease-in-out infinite; }
.scn-mummy-taken .doorway { position:absolute; right:5%; bottom:10%; width:80px; height:140px; background:#2d241a; border-radius:30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow:inset 0 0 40px rgba(0,0,0,.6); }
.scn-mummy-taken .footprints { position:absolute; bottom:18%; left:20%; width:100px; height:20px; background:radial-gradient(ellipse 4px 6px at 10% 50%, #5a4a3a 0%, transparent 100%), radial-gradient(ellipse 4px 6px at 30% 50%, #5a4a3a 0%, transparent 100%), radial-gradient(ellipse 4px 6px at 50% 50%, #5a4a3a 0%, transparent 100%), radial-gradient(ellipse 4px 6px at 70% 50%, #5a4a3a 0%, transparent 100%), radial-gradient(ellipse 4px 6px at 90% 50%, #5a4a3a 0%, transparent 100%); animation:mta-foot 5s linear infinite; }
.scn-mummy-taken .shadow { position:absolute; bottom:12%; left:40%; width:70px; height:15px; background:radial-gradient(ellipse, rgba(0,0,0,.25) 0%, transparent 70%); animation:mta-shad 3s ease-in-out infinite alternate; }

@keyframes mta-tilt {
  0% { transform:translateX(-50%) rotate(-2deg); }
  50% { transform:translateX(-50%) rotate(2deg); }
  100% { transform:translateX(-50%) rotate(-1deg); }
}
@keyframes mta-walk {
  0% { transform:translateX(0) rotate(-1deg); }
  25% { transform:translateX(-8px) rotate(2deg); }
  50% { transform:translateX(-16px) rotate(-1deg); }
  75% { transform:translateX(-24px) rotate(2deg); }
  100% { transform:translateX(-32px) rotate(0deg); }
}
@keyframes mta-foot {
  0% { opacity:0.8; }
  50% { opacity:0.4; }
  100% { opacity:0.8; }
}
@keyframes mta-shad {
  0% { transform:scaleX(1); opacity:0.5; }
  50% { transform:scaleX(1.2); opacity:0.7; }
  100% { transform:scaleX(1); opacity:0.5; }
}

.scn-caught-hope {
  background:
    linear-gradient(180deg, #e0dcc0 0%, #c8c0a0 50%, #b0a888 100%),
    radial-gradient(ellipse at 50% 20%, #fffde0 0%, transparent 60%);
}
.scn-caught-hope .room-bg { position:absolute; inset:0; background:linear-gradient(180deg, #ede6cc 0%, #d4ccb0 100%); }
.scn-caught-hope .window-frame { position:absolute; top:5%; left:10%; width:80%; height:80%; border:12px solid #7a6a50; border-radius:10% 10% 20% 20%; box-shadow:inset 0 0 60px rgba(0,0,0,.1); }
.scn-caught-hope .sky-outside { position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(180deg, #a0b8cc 0%, #c8d8e8 60%, #e0eaf5 100%); border-radius:8% 8% 16% 16%; clip-path:inset(2% 2% 2% 2% round 8% 8% 16% 16%); }
.scn-caught-hope .sun { position:absolute; top:12%; left:45%; width:40px; height:40px; background:radial-gradient(circle, #fff8d0 0%, #ffedb0 40%, transparent 70%); border-radius:50%; box-shadow:0 0 60px 20px rgba(255,240,180,.4); animation:cah-sun 12s ease-in-out infinite alternate; }
.scn-caught-hope .figure1 { position:absolute; bottom:15%; left:20%; width:28px; height:72px; background:linear-gradient(180deg, #2a1e14 0%, #1b130d 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:cah-peer 5s ease-in-out infinite; }
.scn-caught-hope .figure2 { position:absolute; bottom:18%; left:55%; width:25px; height:65px; background:linear-gradient(180deg, #362a1e 0%, #221a12 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin:bottom center; animation:cah-peer 5s ease-in-out infinite 2s; }
.scn-caught-hope .curtains { position:absolute; top:0; left:8%; width:14px; height:100%; background:linear-gradient(180deg, #8b7a60 0%, #66553a 100%); border-radius:4px; animation:cah-sway 7s ease-in-out infinite alternate; }

@keyframes cah-sun {
  0% { transform:translateX(-10px) scale(0.95); opacity:0.8; }
  50% { transform:translateX(10px) scale(1.05); opacity:1; }
  100% { transform:translateX(-5px) scale(1); opacity:0.9; }
}
@keyframes cah-peer {
  0% { transform:translateY(0) rotate(-1deg); }
  50% { transform:translateY(-2px) rotate(2deg); }
  100% { transform:translateY(0) rotate(-1deg); }
}
@keyframes cah-sway {
  0% { transform:rotate(-3deg); }
  50% { transform:rotate(3deg); }
  100% { transform:rotate(-3deg); }
}

/* Scene: donna-inez-barbaric-look (dib) – calm overcast portrait */
.scn-donna-inez-barbaric-look {
  background: 
    linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 40%, #2e2e3e 100%),
    radial-gradient(ellipse at 50% 30%, #5a5a6a 0%, transparent 70%);
}
.scn-donna-inez-barbaric-look .dib-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #6a6a7a 0%, #4a4a5a 100%);
  animation: dib-sky 14s ease-in-out infinite alternate;
}
.scn-donna-inez-barbaric-look .dib-mist {
  position: absolute; inset: 20% 0 0 0;
  background: linear-gradient(180deg, rgba(90,90,100,0.3) 0%, rgba(60,60,70,0.6) 100%);
  filter: blur(8px);
  animation: dib-mist 20s ease-in-out infinite alternate;
}
.scn-donna-inez-barbaric-look .dib-figure {
  position: absolute; bottom: 10%; left: 50%; width: 120px; height: 220px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0e0e1e 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 30% 30%;
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.4);
  animation: dib-figure 6s ease-in-out infinite;
}
.scn-donna-inez-barbaric-look .dib-hair {
  position: absolute; bottom: 65%; left: 45%; width: 80px; height: 100px;
  background: radial-gradient(ellipse at 50% 30%, #1c1c2c 0%, #0a0a1a 80%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform: rotate(-5deg);
  animation: dib-hair 8s ease-in-out infinite alternate;
}
.scn-donna-inez-barbaric-look .dib-eye {
  position: absolute; bottom: 50%; left: 48%; width: 14px; height: 18px;
  background: radial-gradient(circle, #8a8a9a 0%, #3a3a4a 80%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(130,130,150,0.3);
  animation: dib-eye 4s ease-in-out infinite alternate;
}
.scn-donna-inez-barbaric-look .dib-ornament {
  position: absolute; bottom: 35%; left: 32%; width: 50px; height: 20px;
  background: linear-gradient(90deg, #6a6a7a 0%, #8a8a9a 50%, #6a6a7a 100%);
  border-radius: 20% 80% 20% 80%;
  opacity: 0.5;
  animation: dib-ornament 10s ease-in-out infinite alternate;
}
.scn-donna-inez-barbaric-look .dib-drift {
  position: absolute; top: 8%; left: 0; width: 100%; height: 10px;
  background: linear-gradient(90deg, transparent 0%, rgba(200,200,210,0.1) 50%, transparent 100%);
  filter: blur(4px);
  animation: dib-drift 40s linear infinite;
}
@keyframes dib-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes dib-mist { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(5px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes dib-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-4px) rotate(0.5deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes dib-hair { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-3deg) scale(1.03); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes dib-eye { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.6); } 100% { transform: scaleY(1); } }
@keyframes dib-ornament { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dib-drift { 0% { transform: translateX(-100%); } 100% { transform: translateX(100vw); } }

/* Scene: polite-conversation-with-inez (pci) – warm overcast conversation */
.scn-polite-conversation-with-inez {
  background: 
    linear-gradient(180deg, #6a6a6a 0%, #5a5a5a 30%, #4a4a4a 100%),
    radial-gradient(ellipse at 60% 40%, #7a7a7a 0%, transparent 70%);
}
.scn-polite-conversation-with-inez .pci-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7a7a7a 0%, #5a5a5a 100%);
  animation: pci-sky 16s ease-in-out infinite alternate;
}
.scn-polite-conversation-with-inez .pci-sun {
  position: absolute; top: 12%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle at 50% 50%, #c0c0b0 0%, #909080 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(180,180,160,0.3);
  animation: pci-sun 24s ease-in-out infinite alternate;
}
.scn-polite-conversation-with-inez .pci-mist {
  position: absolute; inset: 20% 0 10% 0;
  background: linear-gradient(180deg, rgba(100,100,100,0.2) 0%, rgba(80,80,80,0.4) 100%);
  filter: blur(10px);
  animation: pci-mist 18s ease-in-out infinite alternate;
}
.scn-polite-conversation-with-inez .pci-lucy {
  position: absolute; bottom: 22%; left: 35%; width: 100px; height: 180px;
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 30% 30%;
  transform: rotate(3deg);
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  animation: pci-lucy 6s ease-in-out infinite alternate;
}
.scn-polite-conversation-with-inez .pci-inez {
  position: absolute; bottom: 22%; left: 55%; width: 100px; height: 180px;
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 30% 30%;
  transform: rotate(-3deg);
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  animation: pci-inez 6s ease-in-out infinite alternate;
}
.scn-polite-conversation-with-inez .pci-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a4a3a 0%, #3a3a2a 100%);
  border-radius: 20% 20% 0 0;
}
.scn-polite-conversation-with-inez .pci-shiver {
  position: absolute; bottom: 60%; left: 58%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  border-radius: 40%;
  filter: blur(2px);
  animation: pci-shiver 1.5s ease-in-out infinite;
}
@keyframes pci-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pci-sun { 0% { transform: scale(1) translateX(0); } 50% { transform: scale(1.1) translateX(10px); } 100% { transform: scale(1) translateX(0); } }
@keyframes pci-mist { 0% { transform: translateY(0); } 50% { transform: translateY(4px); } 100% { transform: translateY(0); } }
@keyframes pci-lucy { 0% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-3px); } 100% { transform: rotate(3deg) translateY(0); } }
@keyframes pci-inez { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-3px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes pci-shiver { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(5deg) translateY(-1px); } 50% { transform: rotate(-3deg) translateY(0); } 75% { transform: rotate(4deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }

/* Scene: don-pedro-explains-visit (dpe) – calm overcast interior */
.scn-don-pedro-explains-visit {
  background: 
    linear-gradient(180deg, #5a5a4a 0%, #4a4a3a 50%, #3a3a2a 100%),
    radial-gradient(ellipse at 50% 80%, #6a6a5a 0%, transparent 70%);
}
.scn-don-pedro-explains-visit .dpe-roof {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #4a4a3a 0%, #3a3a2a 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-don-pedro-explains-visit .dpe-wall {
  position: absolute; top: 15%; left: 0; right: 0; bottom: 0;
  background: linear-gradient(180deg, #5a5a4a 0%, #4a4a3a 100%);
  border-radius: 5%;
}
.scn-don-pedro-explains-visit .dpe-light {
  position: absolute; top: 25%; left: 20%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 50%, #c0c0b0 0%, transparent 100%);
  opacity: 0.3;
  filter: blur(10px);
  animation: dpe-light 8s ease-in-out infinite alternate;
}
.scn-don-pedro-explains-visit .dpe-donpedro {
  position: absolute; bottom: 20%; left: 40%; width: 90px; height: 190px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(2deg);
  animation: dpe-donpedro 8s ease-in-out infinite;
}
.scn-don-pedro-explains-visit .dpe-young1 {
  position: absolute; bottom: 22%; left: 20%; width: 80px; height: 170px;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(-5deg);
  animation: dpe-young1 6s ease-in-out infinite alternate;
}
.scn-don-pedro-explains-visit .dpe-young2 {
  position: absolute; bottom: 22%; left: 60%; width: 80px; height: 170px;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(4deg);
  animation: dpe-young2 7s ease-in-out infinite alternate;
}
.scn-don-pedro-explains-visit .dpe-table {
  position: absolute; bottom: 12%; left: 35%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 5px 10px rgba(0,0,0,0.3);
  animation: dpe-table 10s ease-in-out infinite;
}
@keyframes dpe-light { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } 100% { opacity: 0.3; transform: scale(1); } }
@keyframes dpe-donpedro { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes dpe-young1 { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes dpe-young2 { 0% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } 100% { transform: rotate(4deg) translateY(0); } }
@keyframes dpe-table { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(0); } }

/* Scene: don-pedro-claims-mummy (dpc) – tense overcast confrontation */
.scn-don-pedro-claims-mummy {
  background: 
    linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 40%, #1a1a2a 100%),
    radial-gradient(ellipse at 50% 50%, #4a4a5a 0%, transparent 70%);
}
.scn-don-pedro-claims-mummy .dpc-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  animation: dpc-back 12s ease-in-out infinite alternate;
}
.scn-don-pedro-claims-mummy .dpc-shadow {
  position: absolute; inset: 10% 10% 10% 10%;
  background: radial-gradient(ellipse at 50% 60%, #1a1a2a 0%, transparent 70%);
  filter: blur(15px);
  animation: dpc-shadow 8s ease-in-out infinite alternate;
}
.scn-don-pedro-claims-mummy .dpc-donpedro {
  position: absolute; bottom: 15%; left: 25%; width: 100px; height: 200px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(10deg);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: dpc-donpedro 3s ease-in-out infinite;
}
.scn-don-pedro-claims-mummy .dpc-hope {
  position: absolute; bottom: 15%; left: 60%; width: 100px; height: 200px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: rotate(-10deg);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: dpc-hope 3.5s ease-in-out infinite;
}
.scn-don-pedro-claims-mummy .dpc-mummy {
  position: absolute; bottom: 10%; left: 45%; width: 50px; height: 140px;
  background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 10% 10%;
  transform: rotate(3deg);
  box-shadow: 0 0 30px 10px rgba(100,100,80,0.2);
  animation: dpc-mummy 6s ease-in-out infinite alternate;
}
.scn-don-pedro-claims-mummy .dpc-aura {
  position: absolute; top: 30%; left: 45%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(150,150,140,0.15) 0%, transparent 100%);
  filter: blur(20px);
  animation: dpc-aura 4s ease-in-out infinite alternate;
}
.scn-don-pedro-claims-mummy .dpc-line1 {
  position: absolute; top: 20%; left: 10%; width: 30%; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #8a8a9a 50%, transparent 100%);
  opacity: 0.4;
  animation: dpc-line1 5s ease-in-out infinite alternate;
}
.scn-don-pedro-claims-mummy .dpc-line2 {
  position: absolute; top: 25%; right: 10%; width: 20%; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #9a9aaa 50%, transparent 100%);
  opacity: 0.3;
  animation: dpc-line2 5s ease-in-out infinite alternate-reverse;
}
@keyframes dpc-back { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dpc-shadow { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes dpc-donpedro { 0% { transform: rotate(10deg) translateY(0); } 25% { transform: rotate(9deg) translateY(-3px); } 50% { transform: rotate(11deg) translateY(0); } 75% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes dpc-hope { 0% { transform: rotate(-10deg) translateY(0); } 25% { transform: rotate(-9deg) translateY(-3px); } 50% { transform: rotate(-11deg) translateY(0); } 75% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes dpc-mummy { 0% { transform: rotate(3deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.05); } 100% { transform: rotate(3deg) scaleY(1); } }
@keyframes dpc-aura { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.3); } 100% { opacity: 0.4; transform: scale(1); } }
@keyframes dpc-line1 { 0% { transform: scaleX(0.5); opacity: 0; } 50% { transform: scaleX(1); opacity: 0.6; } 100% { transform: scaleX(0.5); opacity: 0; } }
@keyframes dpc-line2 { 0% { transform: scaleX(0.5); opacity: 0; } 50% { transform: scaleX(1); opacity: 0.5; } 100% { transform: scaleX(0.5); opacity: 0; } }

.scn-doctor-told { background: linear-gradient(180deg, #f7e9d7 0%, #d9c9a8 40%, #b3d4e6 100%), radial-gradient(ellipse at 70% 20%, #fff5e6 0%, transparent 60%); }
.scn-doctor-told .bg { position:absolute; inset:0; background: linear-gradient(180deg, #e8d0a0 0%, #c4a070 100%); }
.scn-doctor-told .window { position:absolute; top:8%; left:30%; width:35%; height:45%; background: linear-gradient(180deg, #c8e5f0 0%, #b0d0e0 100%); border: 4px solid #8a6a3a; border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,255,200,.3); }
.scn-doctor-told .sunbeam { position:absolute; top:8%; left:30%; width:35%; height:60%; background: linear-gradient(135deg, rgba(255,240,200,0.5) 0%, transparent 70%); transform-origin: top left; animation: dt-beam 6s ease-in-out infinite alternate; }
.scn-doctor-told .figure-left { position:absolute; bottom:15%; left:20%; width:40px; height:90px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(2deg); animation: dt-figure 4s ease-in-out infinite; }
.scn-doctor-told .figure-right { position:absolute; bottom:15%; right:20%; width:45px; height:95px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-3deg); animation: dt-figure2 3.5s ease-in-out infinite reverse; }
.scn-doctor-told .desk { position:absolute; bottom:10%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #6a4a2a 0%, #4a301a 100%); border-radius: 4px; box-shadow: 0 -2px 8px rgba(0,0,0,.3); }
.scn-doctor-told .dust-1 { position:absolute; top:30%; left:40%; width:4px; height:4px; background: rgba(255,240,200,.6); border-radius:50%; animation: dt-dust 7s linear infinite; }
.scn-doctor-told .dust-2 { position:absolute; top:35%; left:55%; width:3px; height:3px; background: rgba(255,240,200,.5); border-radius:50%; animation: dt-dust 9s linear infinite 2s; }
@keyframes dt-beam { 0% { transform: rotate(-5deg) scaleX(1); opacity:.6 } 50% { transform: rotate(0deg) scaleX(1.05); opacity:1 } 100% { transform: rotate(5deg) scaleX(1); opacity:.8 } }
@keyframes dt-figure { 0%,100% { transform: rotate(2deg) translateY(0) } 33% { transform: rotate(1deg) translateY(-1px) } 66% { transform: rotate(3deg) translateY(1px) } }
@keyframes dt-figure2 { 0%,100% { transform: rotate(-3deg) translateY(0) } 33% { transform: rotate(-4deg) translateY(1px) } 66% { transform: rotate(-2deg) translateY(-1px) } }
@keyframes dt-dust { 0% { transform: translateY(0) translateX(0) scale(1) } 25% { transform: translateY(-10px) translateX(5px) scale(1.2) } 50% { transform: translateY(-20px) translateX(-5px) scale(0.8) } 75% { transform: translateY(-10px) translateX(3px) scale(1.1) } 100% { transform: translateY(0) translateX(0) scale(1) } }

.scn-constable-arrives { background: linear-gradient(180deg, #b8d8e8 0%, #f0d080 30%, #c0a060 60%, #7a6a4a 100%), radial-gradient(ellipse at 50% 0%, #ffedc0 0%, transparent 70%); }
.scn-constable-arrives .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #a0c8e0 0%, #d0d8c0 100%); }
.scn-constable-arrives .sun { position:absolute; top:5%; right:20%; width:60px; height:60px; background: radial-gradient(circle, #fff8e0 0%, #f0d080 50%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 15px rgba(240,208,128,.5); animation: ca-sun 8s ease-in-out infinite alternate; }
.scn-constable-arrives .ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 40% 60% 0 0 / 20% 30% 0 0; }
.scn-constable-arrives .constable { position:absolute; bottom:30%; left:15%; width:35px; height:85px; background: linear-gradient(180deg, #202020 0%, #101010 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(5deg); animation: ca-figure1 4s ease-in-out infinite; }
.scn-constable-arrives .professor { position:absolute; bottom:32%; right:25%; width:40px; height:80px; background: linear-gradient(180deg, #2a2a2a 0%, #151515 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: ca-figure2 3s ease-in-out infinite; }
.scn-constable-arrives .doctor { position:absolute; bottom:30%; right:10%; width:38px; height:78px; background: linear-gradient(180deg, #252525 0%, #121212 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(8deg); animation: ca-figure3 5s ease-in-out infinite reverse; }
.scn-constable-arrives .doorway { position:absolute; bottom:25%; left:28%; width:50px; height:100px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: inset 0 0 15px rgba(0,0,0,.5); }
.scn-constable-arrives .shadow-1 { position:absolute; bottom:20%; left:10%; width:60px; height:10px; background: rgba(0,0,0,.3); border-radius:50%; filter: blur(4px); transform: skewX(-20deg); animation: ca-shadow 4s ease-in-out infinite; }
.scn-constable-arrives .shadow-2 { position:absolute; bottom:22%; right:5%; width:70px; height:12px; background: rgba(0,0,0,.25); border-radius:50%; filter: blur(5px); transform: skewX(15deg); animation: ca-shadow2 5s ease-in-out infinite 1s; }
@keyframes ca-sun { 0% { transform: scale(1); opacity:.9 } 50% { transform: scale(1.05); opacity:1 } 100% { transform: scale(.95); opacity:.85 } }
@keyframes ca-figure1 { 0%,100% { transform: rotate(5deg) translateY(0) } 33% { transform: rotate(3deg) translateY(-2px) } 66% { transform: rotate(7deg) translateY(2px) } }
@keyframes ca-figure2 { 0%,100% { transform: rotate(-10deg) translateY(0) } 33% { transform: rotate(-12deg) translateY(2px) } 66% { transform: rotate(-8deg) translateY(-1px) } }
@keyframes ca-figure3 { 0%,100% { transform: rotate(8deg) translateY(0) } 33% { transform: rotate(10deg) translateY(-1px) } 66% { transform: rotate(6deg) translateY(2px) } }
@keyframes ca-shadow { 0%,100% { transform: skewX(-20deg) scaleX(1) } 50% { transform: skewX(-25deg) scaleX(1.1) } }
@keyframes ca-shadow2 { 0%,100% { transform: skewX(15deg) scaleX(1) } 50% { transform: skewX(20deg) scaleX(1.15) } }

.scn-body-examined { background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 30%, #3a2a1a 60%, #1a100a 100%), radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 70%); }
.scn-body-examined .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1e1e1e 0%, #0e0804 100%); }
.scn-body-examined .lamp-glow { position:absolute; top:10%; left:50%; width:120px; height:120px; transform: translateX(-50%); background: radial-gradient(circle, rgba(255,200,100,0.4) 0%, rgba(255,180,80,0.1) 50%, transparent 70%); border-radius:50%; filter: blur(20px); animation: be-lamp 3s ease-in-out infinite alternate; }
.scn-body-examined .packing-case { position:absolute; bottom:20%; left:50%; transform: translateX(-50%); width:60px; height:80px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%); border-radius: 4px; box-shadow: 0 4px 15px rgba(0,0,0,.6), inset 0 0 10px rgba(0,0,0,.3); }
.scn-body-examined .body-shape { position:absolute; bottom:28%; left:50%; transform: translateX(-50%); width:40px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%; opacity:0.6; box-shadow: inset 0 0 15px rgba(0,0,0,.5); animation: be-body 10s ease-in-out infinite; }
.scn-body-examined .professor { position:absolute; bottom:18%; left:30%; width:35px; height:90px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(15deg); animation: be-prof 4s ease-in-out infinite; }
.scn-body-examined .shadow { position:absolute; bottom:12%; left:25%; right:25%; height:8px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(5px); transform: skewX(-30deg); animation: be-shadow 4s ease-in-out infinite; }
@keyframes be-lamp { 0% { opacity:0.7; transform: translateX(-50%) scale(1) } 50% { opacity:1; transform: translateX(-50%) scale(1.05) } 100% { opacity:0.8; transform: translateX(-50%) scale(.95) } }
@keyframes be-body { 0%,100% { transform: translateX(-50%) translateY(0) } 25% { transform: translateX(-50%) translateY(-2px) } 75% { transform: translateX(-50%) translateY(2px) } }
@keyframes be-prof { 0%,100% { transform: rotate(15deg) translateY(0) } 33% { transform: rotate(13deg) translateY(-1px) } 66% { transform: rotate(17deg) translateY(1px) } }
@keyframes be-shadow { 0%,100% { transform: skewX(-30deg) scaleX(1) } 50% { transform: skewX(-35deg) scaleX(1.2) } }

.scn-professor-focus-on-mummy { background: linear-gradient(180deg, #0a0a0a 0%, #1a1510 40%, #2a1a0a 70%, #1a0a00 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); }
.scn-professor-focus-on-mummy .bg { position:absolute; inset:0; background: linear-gradient(180deg, #14100c 0%, #0a0806 100%); }
.scn-professor-focus-on-mummy .spotlight { position:absolute; top:5%; left:50%; width:80px; height:180px; transform: translateX(-50%); background: linear-gradient(180deg, rgba(255,220,150,0.3) 0%, transparent 70%); clip-path: polygon(20% 0, 80% 0, 100% 100%, 0% 100%); animation: pf-spot 5s ease-in-out infinite alternate; }
.scn-professor-focus-on-mummy .mummy-case { position:absolute; bottom:20%; left:50%; transform: translateX(-50%); width:50px; height:100px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%); border-radius: 4px 4px 10% 10%; box-shadow: 0 6px 20px rgba(0,0,0,.7), inset 0 0 20px rgba(0,0,0,.4); }
.scn-professor-focus-on-mummy .professor { position:absolute; bottom:15%; left:35%; width:30px; height:75px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(20deg) scale(0.9); animation: pf-prof 3s ease-in-out infinite; }
.scn-professor-focus-on-mummy .shadow { position:absolute; bottom:10%; left:30%; right:30%; height:8px; background: rgba(0,0,0,.5); border-radius:50%; filter: blur(6px); transform: skewX(-20deg); }
.scn-professor-focus-on-mummy .professor-shadow { position:absolute; bottom:8%; left:32%; width:30px; height:15px; background: rgba(0,0,0,.6); border-radius:50%; filter: blur(4px); transform: skewX(-25deg); animation: pf-pfshadow 4s ease-in-out infinite; }
@keyframes pf-spot { 0% { opacity:0.6; transform: translateX(-50%) scaleY(1) rotate(-2deg) } 50% { opacity:1; transform: translateX(-50%) scaleY(1.05) rotate(0deg) } 100% { opacity:0.7; transform: translateX(-50%) scaleY(.95) rotate(2deg) } }
@keyframes pf-prof { 0%,100% { transform: rotate(20deg) scale(0.9) translateY(0) } 25% { transform: rotate(18deg) scale(0.9) translateY(-1px) } 75% { transform: rotate(22deg) scale(0.9) translateY(1px) } }
@keyframes pf-pfshadow { 0%,100% { transform: skewX(-25deg) scaleX(1) } 50% { transform: skewX(-30deg) scaleX(1.15) } }

/* eliza-flight-testimony-end */
.scn-eliza-flight-testimony-end {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a14 40%, #3a2218 100%), radial-gradient(ellipse at 30% 40%, #5a3a2a 0%, transparent 60%);
}
.scn-eliza-flight-testimony-end .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1a14 0%, #1a1210 80%); animation: eft-room 8s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony-end .packing-case { position:absolute; bottom:10%; left:25%; width:40%; height:30%; background: linear-gradient(135deg, #5a3a2a 0%, #3a2218 70%, #1a1210 100%); border-radius:6% 6% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.4); animation: eft-case 12s ease-in-out infinite; }
.scn-eliza-flight-testimony-end .lid { position:absolute; bottom:35%; left:25%; width:42%; height:8%; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,.6); animation: eft-lid 3s ease-in-out infinite alternate; transform-origin: left center; }
.scn-eliza-flight-testimony-end .coroner-shadow { position:absolute; bottom:15%; right:12%; width:28%; height:50%; background: radial-gradient(ellipse at 30% 40%, #0d0807 0%, #1a1210 70%, transparent 100%); border-radius:40% 60% 30% 40% / 60% 50% 50% 40%; filter: blur(2px); animation: eft-shadow 6s ease-in-out infinite; }
.scn-eliza-flight-testimony-end .grin-face { position:absolute; bottom:38%; right:22%; width:10%; height:12%; background: radial-gradient(circle at 50% 60%, #e0c0a0 0%, #806050 60%, transparent 80%); border-radius:50% 50% 30% 30%; box-shadow: 0 0 10px rgba(224,192,160,.3); animation: eft-grin 2s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony-end .candle-glow { position:absolute; bottom:42%; left:15%; width:8%; height:14%; background: radial-gradient(circle at 50% 100%, #ffd080 0%, #c08040 50%, transparent 80%); box-shadow: 0 0 30px 10px rgba(255,208,128,.4), 0 0 60px 20px rgba(255,208,128,.2); animation: eft-candle 4s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony-end .wall-panel { position:absolute; top:10%; left:10%; width:30%; height:20%; background: linear-gradient(180deg, #3a2218 0%, #1a1210 100%); border:2px solid #2a1a14; border-radius:4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.5); animation: eft-panel 20s linear infinite; }
@keyframes eft-room { 0% { opacity:.9; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:.85; transform: scale(0.98); } }
@keyframes eft-case { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(1px) rotate(-0.3deg); } }
@keyframes eft-lid { 0% { transform: rotate(0deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(0deg); } }
@keyframes eft-shadow { 0% { transform: translateX(0) scaleY(1); opacity: .8; } 50% { transform: translateX(5px) scaleY(1.05); opacity: 1; } 100% { transform: translateX(-3px) scaleY(0.95); opacity: .7; } }
@keyframes eft-grin { 0% { transform: translateX(0) scaleX(1); opacity: .6; } 50% { transform: translateX(2px) scaleX(1.2); opacity: .9; } 100% { transform: translateX(-1px) scaleX(0.9); opacity: .5; } }
@keyframes eft-candle { 0% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(0.9); opacity: .7; } }
@keyframes eft-panel { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .6; } }

/* inquest-verdict */
.scn-inquest-verdict {
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%), radial-gradient(ellipse at 50% 30%, #3a3a5e 0%, transparent 70%);
}
.scn-inquest-verdict .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 80%); animation: iv-wall 20s ease-in-out infinite alternate; }
.scn-inquest-verdict .witness-chair { position:absolute; bottom:10%; left:30%; width:18%; height:30%; background: linear-gradient(135deg, #3a3a4e 0%, #1a1a2e 100%); border-radius:40% 40% 20% 20% / 60% 60% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: iv-chair 6s ease-in-out infinite; }
.scn-inquest-verdict .judge-desk { position:absolute; bottom:8%; right:25%; width:25%; height:22%; background: linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%); border-radius:10% 10% 4% 4%; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: iv-desk 12s ease-in-out infinite; }
.scn-inquest-verdict .lamp-light { position:absolute; bottom:30%; left:50%; width:6%; height:20%; background: radial-gradient(ellipse at 50% 100%, #c0b878 0%, #7a6a48 50%, transparent 80%); box-shadow: 0 0 40px 15px rgba(192,184,120,.3); animation: iv-lamp 4s ease-in-out infinite alternate; }
.scn-inquest-verdict .clock-hands { position:absolute; top:12%; left:20%; width:8%; height:12%; background: radial-gradient(circle at 50% 50%, #5a5a6e 0%, #2a2a3e 100%); border-radius:50%; box-shadow: 0 0 6px rgba(0,0,0,.4); animation: iv-clock 10s linear infinite; }
.scn-inquest-verdict .clock-hands::after { content:''; position:absolute; top:10%; left:48%; width:4%; height:70%; background:#8a8a9e; transform-origin: bottom center; animation: iv-hand 60s linear infinite; }
.scn-inquest-verdict .bailiff-figure { position:absolute; bottom:10%; left:10%; width:12%; height:35%; background: radial-gradient(ellipse at 40% 30%, #2a2a3e 0%, #1a1a2e 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; animation: iv-bailiff 8s ease-in-out infinite alternate; }
.scn-inquest-verdict .floor-shadow { position:absolute; bottom:0; left:5%; width:90%; height:6%; background: radial-gradient(ellipse at 50% 100%, #0a0a1e 0%, transparent 100%); filter: blur(4px); animation: iv-floor 15s ease-in-out infinite; }
@keyframes iv-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes iv-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(2px) rotate(-0.5deg); } }
@keyframes iv-desk { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(1px) scaleY(0.98); } }
@keyframes iv-lamp { 0% { transform: scale(1); opacity: .7; } 50% { transform: scale(1.08); opacity: 1; } 100% { transform: scale(0.92); opacity: .6; } }
@keyframes iv-clock { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@keyframes iv-hand { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@keyframes iv-bailiff { 0% { transform: translateY(0) scaleY(1); opacity: .8; } 50% { transform: translateY(-4px) scaleY(1.03); opacity: .95; } 100% { transform: translateY(2px) scaleY(0.97); opacity: .7; } }
@keyframes iv-floor { 0% { opacity: .5; transform: scaleX(1); } 50% { opacity: .7; transform: scaleX(1.02); } 100% { opacity: .4; transform: scaleX(0.98); } }

/* after-inquest */
.scn-after-inquest {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a2e 100%), radial-gradient(ellipse at 70% 50%, #3a3a5e 0%, transparent 70%);
}
.scn-after-inquest .study-wall { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%); animation: ai-wall 18s ease-in-out infinite alternate; }
.scn-after-inquest .desk { position:absolute; bottom:12%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%); border-radius:6% 6% 4% 4%; box-shadow: inset 0 0 10px rgba(0,0,0,.4); animation: ai-desk 10s ease-in-out infinite; }
.scn-after-inquest .chair-left { position:absolute; bottom:8%; left:10%; width:14%; height:28%; background: radial-gradient(ellipse at 40% 30%, #2a2a3e 0%, #1a1a2e 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; animation: ai-chair-l 8s ease-in-out infinite alternate; }
.scn-after-inquest .chair-right { position:absolute; bottom:8%; right:10%; width:14%; height:28%; background: radial-gradient(ellipse at 60% 30%, #2a2a3e 0%, #1a1a2e 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; animation: ai-chair-r 8s ease-in-out infinite alternate; animation-delay: -4s; }
.scn-after-inquest .lamp-base { position:absolute; bottom:25%; left:48%; width:4%; height:15%; background: linear-gradient(180deg, #4a4a5e 0%, #2a2a3e 100%); border-radius:10%; transform: rotate(5deg); animation: ai-lamp 6s ease-in-out infinite; }
.scn-after-inquest .bookshelf { position:absolute; top:5%; right:8%; width:18%; height:70%; background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%); border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: ai-shelf 25s linear infinite alternate; }
.scn-after-inquest .door-way { position:absolute; top:0; left:10%; width:20%; height:100%; background: linear-gradient(180deg, #0a0a1e 0%, #1a1a2e 80%); border-radius:0 0 4px 4px; box-shadow: 8px 0 15px rgba(0,0,0,.3); animation: ai-door 30s ease-in-out infinite; }
@keyframes ai-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes ai-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes ai-chair-l { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes ai-chair-r { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(1px) rotate(1deg); } }
@keyframes ai-lamp { 0% { transform: rotate(5deg) scaleY(1); } 50% { transform: rotate(8deg) scaleY(1.05); } 100% { transform: rotate(3deg) scaleY(0.95); } }
@keyframes ai-shelf { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .6; } }
@keyframes ai-door { 0% { opacity: .5; } 50% { opacity: .7; } 100% { opacity: .4; } }

/* boltons-funeral */
.scn-boltons-funeral {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2e 30%, #3a3a3e 60%, #1a1a1a 100%), radial-gradient(ellipse at 50% 80%, #2a2a2e 0%, #0a0a0a 100%);
}
.scn-boltons-funeral .sky-overcast { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a3a3e 0%, #2a2a2e 100%); animation: bf-sky 20s ease-in-out infinite alternate; }
.scn-boltons-funeral .church-spire { position:absolute; top:5%; left:50%; width:4%; height:35%; background: linear-gradient(180deg, #4a4a4e 0%, #2a2a2e 100%); border-radius:0 0 10% 10%; transform: translateX(-50%); box-shadow: 0 0 10px rgba(0,0,0,.3); animation: bf-spire 30s linear infinite; }
.scn-boltons-funeral .gravestones { position:absolute; bottom:15%; left:10%; width:80%; height:15%; background: linear-gradient(0deg, #3a3a3e 0%, #2a2a2e 100%); border-radius:20% 20% 0 0; display:flex; justify-content:space-around; align-items:flex-end; animation: bf-stones 15s ease-in-out infinite; }
.scn-boltons-funeral .gravestones::before, .scn-boltons-funeral .gravestones::after { content:''; width:8%; height:60%; background: linear-gradient(180deg, #4a4a4e 0%, #2a2a2e 100%); border-radius:30% 30% 0 0; margin-bottom:5px; }
.scn-boltons-funeral .coffin { position:absolute; bottom:20%; left:35%; width:30%; height:10%; background: linear-gradient(135deg, #5a3a2a 0%, #3a2218 100%); border-radius:10% 10% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: bf-coffin 12s ease-in-out infinite; }
.scn-boltons-funeral .crowd-silhouettes { position:absolute; bottom:8%; left:5%; width:90%; height:20%; background: radial-gradient(ellipse at 50% 100%, #1a1a1a 0%, transparent 100%); filter: blur(8px); animation: bf-crowd 10s ease-in-out infinite alternate; }
.scn-boltons-funeral .tree-arms { position:absolute; top:10%; left:0; width:20%; height:60%; background: radial-gradient(ellipse at 30% 10%, #2a2a2e 0%, #1a1a1a 100%); border-radius:0 100% 0 0; filter: blur(2px); animation: bf-tree 25s linear infinite; }
.scn-boltons-funeral .mud-ground { position:absolute; bottom:0; left:0; width:100%; height:10%; background: linear-gradient(180deg, #2a2a2e 0%, #1a1a1a 100%); border-radius:0 0 10% 10%; animation: bf-mud 8s ease-in-out infinite; }
@keyframes bf-sky { 0% { opacity: .7; } 50% { opacity: .9; } 100% { opacity: .6; } }
@keyframes bf-spire { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes bf-stones { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes bf-coffin { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(2px) rotate(-0.5deg); } }
@keyframes bf-crowd { 0% { transform: scaleY(1) translateY(0); opacity: .8; } 50% { transform: scaleY(1.05) translateY(-2px); opacity: .95; } 100% { transform: scaleY(0.95) translateY(1px); opacity: .7; } }
@keyframes bf-tree { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.02); } 100% { transform: rotate(-1deg) scaleX(0.98); } }
@keyframes bf-mud { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(1px); } }

/* random-thinks: dim interior, figure at desk */
.scn-random-thinks {
  background:
    linear-gradient(180deg, #2b1e16 0%, #3d2b1f 40%, #4a3525 100%),
    radial-gradient(ellipse at 50% 100%, #1c110b 0%, transparent 70%);
}
.scn-random-thinks .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2b1e16 0%, #3d2b1f 100%);
}
.scn-random-thinks .floor {
  position: absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #4a3525 0%, #2a1c12 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-random-thinks .desk {
  position: absolute; bottom:25%; left:50%; width:160px; height:60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a2e 0%, #4a2e1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-random-thinks .figure {
  position: absolute; bottom:35%; left:50%; width:30px; height:80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a0f08 0%, #0d0704 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: rt-figure 5s ease-in-out infinite;
}
.scn-random-thinks .lamp {
  position: absolute; bottom:33%; left:40%; width:12px; height:20px;
  background: linear-gradient(180deg, #b08040 0%, #6a4a2e 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 -10px 20px 6px rgba(192,128,64,0.4);
}
.scn-random-thinks .lamp-glow {
  position: absolute; bottom:33%; left:40%; width:60px; height:60px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.5) 0%, transparent 70%);
  animation: rt-glow 3s ease-in-out infinite alternate;
}
.scn-random-thinks .books {
  position: absolute; bottom:25%; left:30%; width:80px; height:25px;
  display: flex; gap:4px;
}
.scn-random-thinks .books::before,
.scn-random-thinks .books::after {
  content: '';
  display: block;
  background: linear-gradient(180deg, #5e3e28 0%, #3a2212 100%);
  border-radius: 2px;
  flex:1;
  height:100%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
@keyframes rt-figure {
  0% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  33% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  66% { transform: translateX(-50%) rotate(-1deg) translateY(0); }
  100% { transform: translateX(-50%) rotate(1deg) translateY(1px); }
}
@keyframes rt-glow {
  0% { opacity: 0.6; transform: translate(-50%,-50%) scale(0.9); }
  100% { opacity: 1; transform: translate(-50%,-50%) scale(1.1); }
}

/* lovers-happy: two figures by fire, warm interior */
.scn-lovers-happy {
  background:
    linear-gradient(180deg, #2b1a12 0%, #3d2a1e 40%, #4a3424 100%),
    radial-gradient(ellipse at 50% 100%, #1c0f08 0%, transparent 70%);
}
.scn-lovers-happy .backdrop {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2b1a12 0%, #3d2a1e 100%);
}
.scn-lovers-happy .hearth {
  position: absolute; bottom:30%; left:50%; width:140px; height:50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a28 0%, #3a2212 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.5);
}
.scn-lovers-happy .fire {
  position: absolute; bottom:35%; left:50%; width:40px; height:60px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ff8030 0%, #c05020 40%, transparent 70%);
  border-radius: 50%;
  animation: lh-fire 0.8s ease-in-out infinite alternate;
}
.scn-lovers-happy .fire-glow {
  position: absolute; bottom:35%; left:50%; width:120px; height:120px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(255,150,50,0.3) 0%, transparent 70%);
  animation: lh-glow 3s ease-in-out infinite alternate;
}
.scn-lovers-happy .figure-left {
  position: absolute; bottom:28%; left:30%; width:28px; height:70px;
  background: linear-gradient(180deg, #1a0f08 0%, #0d0704 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: lh-left 4s ease-in-out infinite;
}
.scn-lovers-happy .figure-right {
  position: absolute; bottom:28%; right:30%; width:28px; height:70px;
  background: linear-gradient(180deg, #1a0f08 0%, #0d0704 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: lh-right 4s ease-in-out infinite;
}
.scn-lovers-happy .rug {
  position: absolute; bottom:15%; left:20%; width:60%; height:30px;
  background: linear-gradient(180deg, #6a5038 0%, #4a3020 100%);
  border-radius: 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
@keyframes lh-fire {
  0% { transform: translateX(-50%) scaleY(1) ; }
  100% { transform: translateX(-50%) scaleY(1.15) ; }
}
@keyframes lh-glow {
  0% { opacity: 0.6; transform: translate(-50%,-30%) scale(0.9); }
  100% { opacity: 1; transform: translate(-50%,-30%) scale(1.1); }
}
@keyframes lh-left {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(-3deg); }
}
@keyframes lh-right {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(3deg); }
}

/* lucy-curious: figure by window, candlelight */
.scn-lucy-curious {
  background:
    linear-gradient(180deg, #1e2b3a 0%, #2a3a4a 40%, #3a4a5a 100%),
    radial-gradient(ellipse at 50% 100%, #0d1a2a 0%, transparent 70%);
}
.scn-lucy-curious .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1e2b3a 0%, #2a3a4a 100%);
}
.scn-lucy-curious .window {
  position: absolute; top:15%; left:20%; width:100px; height:120px;
  background: radial-gradient(ellipse at 50% 50%, #406080 0%, #1a2a3a 80%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.scn-lucy-curious .curtain {
  position: absolute; top:15%; left:20%; width:100px; height:120px;
  background: linear-gradient(180deg, rgba(80,60,40,0.6) 0%, transparent 100%);
  border-radius: 4%;
  animation: lc-curtain 8s ease-in-out infinite alternate;
}
.scn-lucy-curious .table {
  position: absolute; bottom:28%; left:50%; width:100px; height:40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a28 0%, #3a2212 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-lucy-curious .candle {
  position: absolute; bottom:35%; left:48%; width:10px; height:30px;
  background: linear-gradient(180deg, #e0c080 0%, #c0a060 100%);
  border-radius: 5% 5% 0 0;
}
.scn-lucy-curious .candle-glow {
  position: absolute; bottom:35%; left:48%; width:40px; height:40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.4) 0%, transparent 70%);
  animation: lc-glow 3s ease-in-out infinite alternate;
}
.scn-lucy-curious .figure {
  position: absolute; bottom:30%; left:50%; width:24px; height:70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: lc-figure 4s ease-in-out infinite;
}
.scn-lucy-curious .floor {
  position: absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
@keyframes lc-curtain {
  0% { transform: translateX(0) scaleX(1); }
  100% { transform: translateX(5px) scaleX(0.95); }
}
@keyframes lc-glow {
  0% { opacity: 0.5; transform: translate(-50%,-50%) scale(0.8); }
  100% { opacity: 1; transform: translate(-50%,-50%) scale(1.2); }
}
@keyframes lc-figure {
  0%,100% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  33% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  66% { transform: translateX(-50%) rotate(-1deg) translateY(0); }
}

/* mrs-jasher-cottage-arrival: bright interior, figure entering */
.scn-mrs-jasher-cottage-arrival {
  background:
    linear-gradient(180deg, #d4b896 0%, #b89878 40%, #907860 100%),
    radial-gradient(ellipse at 50% 100%, #6a5040 0%, transparent 70%);
}
.scn-mrs-jasher-cottage-arrival .wall-bright {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4b896 0%, #b89878 100%);
}
.scn-mrs-jasher-cottage-arrival .floor {
  position: absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #9a7a5a 0%, #7a5a3a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-mrs-jasher-cottage-arrival .door-frame {
  position: absolute; bottom:20%; left:50%; width:100px; height:160px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a2e 0%, #4a2e1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-mrs-jasher-cottage-arrival .door {
  position: absolute; bottom:20%; left:50%; width:80px; height:150px;
  transform: translateX(-50%) rotateY(0deg);
  background: linear-gradient(180deg, #8a6a4e 0%, #6a4a2e 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: inset -5px 0 10px rgba(0,0,0,0.3);
  animation: mj-door 6s ease-in-out infinite alternate;
}
.scn-mrs-jasher-cottage-arrival .figure {
  position: absolute; bottom:22%; left:40%; width:24px; height:80px;
  transform: translateX(0);
  background: linear-gradient(180deg, #1a1008 0%, #0d0704 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: mj-figure 8s ease-in-out infinite;
}
.scn-mrs-jasher-cottage-arrival .window {
  position: absolute; top:15%; right:10%; width:80px; height:100px;
  background: radial-gradient(ellipse at 50% 50%, #c0d0e0 0%, #8098b0 80%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2), 0 0 30px rgba(255,255,200,0.3);
}
.scn-mrs-jasher-cottage-arrival .rug {
  position: absolute; bottom:18%; left:25%; width:50%; height:25px;
  background: linear-gradient(180deg, #8a6040 0%, #6a4020 100%);
  border-radius: 20%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
@keyframes mj-door {
  0% { transform: translateX(-50%) rotateY(0deg); }
  50% { transform: translateX(-50%) rotateY(30deg); }
  100% { transform: translateX(-50%) rotateY(0deg); }
}
@keyframes mj-figure {
  0%,100% { transform: translateX(0) rotate(0deg) translateY(0); }
  25% { transform: translateX(5px) rotate(2deg) translateY(-2px); }
  50% { transform: translateX(10px) rotate(0deg) translateY(0); }
  75% { transform: translateX(15px) rotate(-2deg) translateY(-1px); }
}

.scn-random-declines {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #1a1210 50%, #0e0a08 100%),
    radial-gradient(ellipse at 40% 60%, #3a2820 0%, transparent 70%);
}
.scn-random-declines .wall {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e1a 100%);
  animation: rd-wall 12s ease-in-out infinite alternate;
}
.scn-random-declines .floor {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #1a100c 0%, #0e0806 100%);
}
.scn-random-declines .lamp {
  position:absolute; bottom:52%; left:30%; width:16px; height:40px;
  background: linear-gradient(180deg, #b08860 0%, #806040 100%);
  border-radius: 4px 4px 50% 50% / 4px 4px 30% 30%;
  box-shadow: 0 0 30px 10px rgba(200,160,100,.4);
  animation: rd-lamp 4s ease-in-out infinite alternate;
}
.scn-random-declines .table {
  position:absolute; bottom:38%; left:20%; width:120px; height:12px;
  background: linear-gradient(90deg, #4a3020 0%, #3a2418 50%, #2a1c12 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  transform: rotate(-2deg);
}
.scn-random-declines .figure-a {
  position:absolute; bottom:34%; left:22%; width:22px; height:48px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rd-figA 3s ease-in-out infinite;
}
.scn-random-declines .figure-b {
  position:absolute; bottom:34%; left:48%; width:20px; height:46px;
  background: linear-gradient(180deg, #221816 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rd-figB 3.5s ease-in-out infinite;
}
.scn-random-declines .shadow-a {
  position:absolute; bottom:34%; left:20%; width:30px; height:8px;
  background: rgba(0,0,0,.4);
  border-radius: 50%;
  filter: blur(3px);
  animation: rd-shad 3s ease-in-out infinite;
}
.scn-random-declines .shadow-b {
  position:absolute; bottom:34%; left:46%; width:28px; height:8px;
  background: rgba(0,0,0,.35);
  border-radius: 50%;
  filter: blur(3px);
  animation: rd-shad 3.5s ease-in-out infinite;
}
@keyframes rd-wall   { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes rd-lamp   { 0% { opacity:.7; transform: translateY(0) } 50% { opacity:1; transform: translateY(-1px) } 100% { opacity:.8; transform: translateY(0) } }
@keyframes rd-figA   { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(0deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-1px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes rd-figB   { 0% { transform: translateX(0) rotate(1deg) } 33% { transform: translateX(-1px) rotate(0deg) } 66% { transform: translateX(0) rotate(-1deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes rd-shad   { 0% { transform: scaleX(1) } 50% { transform: scaleX(.9) } 100% { transform: scaleX(1) } }

.scn-braddock-seeks-loan {
  background:
    linear-gradient(180deg, #1e1214 0%, #2a181a 30%, #0e080a 100%),
    radial-gradient(ellipse at 60% 40%, #3a1c1a 0%, transparent 70%);
}
.scn-braddock-seeks-loan .wall {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #2a1a18 0%, #1a0e0c 100%);
}
.scn-braddock-seeks-loan .door {
  position:absolute; bottom:50%; right:12%; width:50px; height:80px;
  background: linear-gradient(180deg, #3a2420 0%, #2a1814 100%);
  border-radius: 4px 4px 0 4px;
  box-shadow: inset 0 0 8px rgba(0,0,0,.5);
  transform: perspective(200px) rotateY(8deg);
  animation: bsl-door 10s ease-in-out infinite alternate;
}
.scn-braddock-seeks-loan .desk {
  position:absolute; bottom:32%; left:20%; width:100px; height:14px;
  background: linear-gradient(90deg, #4a2e2a 0%, #3a221e 100%);
  border-radius: 2px;
  box-shadow: 0 6px 10px rgba(0,0,0,.6);
}
.scn-braddock-seeks-loan .hand-out {
  position:absolute; bottom:50%; left:30%; width:14px; height:30px;
  background: linear-gradient(180deg, #5e3a30 0%, #3a2218 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bsl-handOut 2s ease-in-out infinite alternate;
}
.scn-braddock-seeks-loan .hand-recoil {
  position:absolute; bottom:50%; left:42%; width:12px; height:28px;
  background: linear-gradient(180deg, #4a2e24 0%, #2e1c14 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bsl-handRec 2.3s ease-in-out infinite alternate;
}
.scn-braddock-seeks-loan .figure-c {
  position:absolute; bottom:28%; left:22%; width:24px; height:52px;
  background: linear-gradient(180deg, #1a1210 0%, #080604 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: bsl-figC 3s ease-in-out infinite;
}
.scn-braddock-seeks-loan .figure-d {
  position:absolute; bottom:28%; left:42%; width:22px; height:50px;
  background: linear-gradient(180deg, #2a1e1a 0%, #100c0a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: bsl-figD 2.8s ease-in-out infinite;
}
.scn-braddock-seeks-loan .candle {
  position:absolute; bottom:44%; left:30%; width:8px; height:24px;
  background: linear-gradient(180deg, #c8a870 0%, #a08050 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 20px 6px rgba(200,160,100,.6);
  animation: bsl-candle 1.5s ease-in-out infinite alternate;
}
.scn-braddock-seeks-loan .candle-glow {
  position:absolute; bottom:46%; left:29%; width:20px; height:20px;
  background: radial-gradient(circle, rgba(255,200,120,.6) 0%, transparent 60%);
  border-radius: 50%;
  animation: bsl-glow 2s ease-in-out infinite alternate;
}
@keyframes bsl-door    { 0% { transform: perspective(200px) rotateY(8deg) } 50% { transform: perspective(200px) rotateY(5deg) } 100% { transform: perspective(200px) rotateY(8deg) } }
@keyframes bsl-handOut { 0% { transform: translateY(0) rotate(-5deg) } 50% { transform: translateY(4px) rotate(-2deg) } 100% { transform: translateY(0) rotate(-5deg) } }
@keyframes bsl-handRec { 0% { transform: translateY(0) rotate(5deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(5deg) } }
@keyframes bsl-figC    { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-1px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes bsl-figD    { 0% { transform: translateX(0) rotate(1deg) } 33% { transform: translateX(1px) rotate(-1deg) } 66% { transform: translateX(-1px) rotate(0deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes bsl-candle  { 0% { opacity:.6; transform: scaleY(1) } 30% { opacity:.9; transform: scaleY(1.05) } 60% { opacity:.6; transform: scaleY(.95) } 100% { opacity:.8; transform: scaleY(1) } }
@keyframes bsl-glow    { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.8; transform: scale(1.1) } 100% { opacity:.6; transform: scale(1) } }

.scn-loan-denied {
  background:
    linear-gradient(180deg, #1e1612 0%, #2a201c 40%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a22 0%, transparent 70%);
}
.scn-loan-denied .panel {
  position:absolute; inset:10% 5% 10% 5%;
  background: linear-gradient(90deg, #2a1e18 0%, #3a2a22 50%, #2a1e18 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  animation: ld-panel 8s ease-in-out infinite alternate;
}
.scn-loan-denied .chair-a {
  position:absolute; bottom:20%; left:25%; width:30px; height:50px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%);
  border-radius: 40% 40% 10% 10% / 40% 40% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
.scn-loan-denied .chair-b {
  position:absolute; bottom:20%; right:25%; width:30px; height:50px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%);
  border-radius: 40% 40% 10% 10% / 40% 40% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
.scn-loan-denied .figure-e {
  position:absolute; bottom:22%; left:28%; width:20px; height:46px;
  background: linear-gradient(180deg, #1a120e 0%, #0a0604 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: ld-figE 4s ease-in-out infinite;
}
.scn-loan-denied .figure-f {
  position:absolute; bottom:22%; right:28%; width:20px; height:46px;
  background: linear-gradient(180deg, #1e1612 0%, #0c0806 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: ld-figF 4.2s ease-in-out infinite;
}
.scn-loan-denied .arm-out {
  position:absolute; bottom:38%; left:32%; width:10px; height:24px;
  background: linear-gradient(180deg, #4a3228 0%, #2a1c14 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ld-armOut 3s ease-in-out infinite alternate;
}
.scn-loan-denied .arm-down {
  position:absolute; bottom:38%; left:44%; width:10px; height:22px;
  background: linear-gradient(180deg, #3a2820 0%, #1e1410 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ld-armDown 3.5s ease-in-out infinite alternate;
}
.scn-loan-denied .lampshade {
  position:absolute; bottom:60%; left:45%; width:36px; height:22px;
  background: linear-gradient(180deg, #6a5040 0%, #4a3428 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(180,140,100,.3);
  animation: ld-lamp 5s ease-in-out infinite alternate;
}
@keyframes ld-panel   { 0% { opacity:.7; transform: scale(.98) } 50% { opacity:.9; transform: scale(1) } 100% { opacity:.8; transform: scale(.98) } }
@keyframes ld-figE    { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(2px) rotate(-1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-1px) rotate(1deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes ld-figF    { 0% { transform: translateX(0) rotate(-1deg) } 33% { transform: translateX(-2px) rotate(0deg) } 66% { transform: translateX(0) rotate(1deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes ld-armOut  { 0% { transform: translateY(0) rotate(5deg) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(0) rotate(5deg) } }
@keyframes ld-armDown { 0% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(2px) rotate(-5deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes ld-lamp    { 0% { opacity:.6; transform: scaleY(1) } 50% { opacity:.9; transform: scaleY(1.05) } 100% { opacity:.7; transform: scaleY(1) } }

.scn-alternative-suggestion {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a221e 40%, #0e0a08 100%),
    radial-gradient(ellipse at 30% 50%, #3a2a22 0%, transparent 70%);
}
.scn-alternative-suggestion .wall {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%);
}
.scn-alternative-suggestion .shelf {
  position:absolute; bottom:55%; left:10%; right:10%; height:6px;
  background: linear-gradient(90deg, #3a2822 0%, #4a342c 50%, #3a2822 100%);
  border-radius: 2px;
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
}
.scn-alternative-suggestion .map {
  position:absolute; bottom:40%; left:25%; width:100px; height:70px;
  background: linear-gradient(135deg, #4a3a2a 0%, #6a5040 50%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,.5);
  transform: rotate(-3deg);
  animation: as-map 12s ease-in-out infinite alternate;
}
.scn-alternative-suggestion .finger-point {
  position:absolute; bottom:50%; left:42%; width:8px; height:18px;
  background: linear-gradient(180deg, #5e4234 0%, #3a281e 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: as-finger 3s ease-in-out infinite alternate;
}
.scn-alternative-suggestion .figure-g {
  position:absolute; bottom:28%; left:28%; width:22px; height:50px;
  background: linear-gradient(180deg, #1a120e 0%, #0a0604 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: as-figG 3.5s ease-in-out infinite;
}
.scn-alternative-suggestion .figure-h {
  position:absolute; bottom:28%; left:48%; width:20px; height:48px;
  background: linear-gradient(180deg, #1e1612 0%, #0c0806 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: as-figH 4s ease-in-out infinite;
}
.scn-alternative-suggestion .globe {
  position:absolute; bottom:45%; left:12%; width:30px; height:30px;
  background: radial-gradient(circle at 40% 40%, #6a5a4a 10%, #4a3a2a 50%, #2a1e14 90%);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
  animation: as-globe 8s linear infinite;
}
.scn-alternative-suggestion .glow-map {
  position:absolute; bottom:42%; left:27%; width:90px; height:60px;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,160,100,.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: as-glowMap 5s ease-in-out infinite alternate;
}
@keyframes as-map     { 0% { transform: rotate(-3deg) } 50% { transform: rotate(-1deg) } 100% { transform: rotate(-3deg) } }
@keyframes as-finger  { 0% { transform: translateY(0) rotate(8deg) } 50% { transform: translateY(-2px) rotate(5deg) } 100% { transform: translateY(0) rotate(8deg) } }
@keyframes as-figG    { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(1px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-1px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes as-figH    { 0% { transform: translateX(0) rotate(1deg) } 33% { transform: translateX(2px) rotate(-1deg) } 66% { transform: translateX(0) rotate(0deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes as-globe   { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
@keyframes as-glowMap { 0% { opacity:.3; transform: scale(.95) } 50% { opacity:.6; transform: scale(1.05) } 100% { opacity:.4; transform: scale(.95) } }

/* Scene: manuscript-found-later (mfl) */
.scn-manuscript-found-later { background: linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #2a1a0a 0%, transparent 70%); }
.scn-manuscript-found-later .desk { position: absolute; bottom: 10%; left: 5%; right: 5%; height: 20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); }
.scn-manuscript-found-later .manuscript { position: absolute; bottom: 25%; left: 35%; width: 30%; height: 16%; background: linear-gradient(135deg, #eee8d0 0%, #d4c8a0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 0 20px 4px #f0e08040; animation: mfl-glow 4s ease-in-out infinite; }
.scn-manuscript-found-later .lamp { position: absolute; bottom: 30%; left: 18%; width: 12%; height: 18%; background: radial-gradient(circle, #ffd080 0%, #a07030 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 40px 10px #c09040, 0 0 80px 20px rgba(192,144,64,0.3); animation: mfl-flicker 2s ease-in-out infinite alternate; }
.scn-manuscript-found-later .chair { position: absolute; bottom: 12%; left: 52%; width: 20%; height: 25%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom; animation: mfl-sway 8s ease-in-out infinite; }
.scn-manuscript-found-later .books { position: absolute; bottom: 15%; border-radius: 2px; }
.scn-manuscript-found-later .book-a { left: 60%; width: 8%; height: 12%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: mfl-tilt 6s ease-in-out infinite; }
.scn-manuscript-found-later .book-b { left: 70%; width: 6%; height: 10%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: mfl-tilt 6s ease-in-out infinite 3s; }
.scn-manuscript-found-later .shadow { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, transparent 0%, rgba(10,5,0,0.6) 100%); }
@keyframes mfl-glow { 0% { box-shadow: 0 0 10px 2px #f0e08040, 0 0 20px 4px #c09020; opacity: 0.8; } 50% { box-shadow: 0 0 20px 6px #f0e08060, 0 0 40px 10px #d0a030; opacity: 1; } 100% { box-shadow: 0 0 12px 3px #f0e08050, 0 0 24px 6px #c09020; opacity: 0.85; } }
@keyframes mfl-flicker { 0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 30px 8px #c09040; } 50% { transform: scale(1.02) rotate(1deg); box-shadow: 0 0 50px 12px #e0b050; } 100% { transform: scale(0.98) rotate(-1deg); box-shadow: 0 0 35px 6px #b08030; } }
@keyframes mfl-sway { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mfl-tilt { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }

/* Scene: pedro-arrives-too-late (pat) */
.scn-pedro-arrives-too-late { background: linear-gradient(180deg, #0f0a1a 0%, #1a1a2a 30%, #2a2020 60%, #1a1a1a 100%), radial-gradient(ellipse at 50% 100%, #2a2020 0%, transparent 70%); }
.scn-pedro-arrives-too-late .sky { position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 50%, #2a2020 100%); animation: pat-sky 15s ease-in-out infinite alternate; }
.scn-pedro-arrives-too-late .water { position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%); border-top: 2px solid #2a3a3a; animation: pat-water 4s ease-in-out infinite; }
.scn-pedro-arrives-too-late .ship { position: absolute; bottom: 35%; left: 10%; width: 40%; height: 20%; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 20% 10% 0 0 / 60% 30% 0 0; clip-path: polygon(0% 100%, 20% 20%, 80% 20%, 100% 100%); box-shadow: 0 4px 12px rgba(0,0,0,0.7); animation: pat-drift 12s ease-in-out infinite; }
.scn-pedro-arrives-too-late .dock { position: absolute; bottom: 45%; left: 45%; width: 30%; height: 4%; background: #2a1a0a; border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
.scn-pedro-arrives-too-late .figure { position: absolute; bottom: 42%; left: 48%; width: 8%; height: 20%; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: pat-walk 5s ease-in-out infinite; }
.scn-pedro-arrives-too-late .lamppost { position: absolute; bottom: 30%; left: 72%; width: 4%; height: 25%; background: #1a1a0a; border-radius: 2px; }
.scn-pedro-arrives-too-late .lamppost::after { content: ''; position: absolute; top: -10%; left: -50%; width: 200%; height: 40%; background: radial-gradient(circle, #ffc060 0%, transparent 70%); animation: pat-light 2s ease-in-out infinite alternate; }
@keyframes pat-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes pat-water { 0% { transform: translateY(0); } 25% { transform: translateY(-2px); } 50% { transform: translateY(0); } 75% { transform: translateY(2px); } 100% { transform: translateY(0); } }
@keyframes pat-drift { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(15px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes pat-walk { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(12px) rotate(-3deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes pat-light { 0% { box-shadow: 0 0 20px 4px #ffc060; } 100% { box-shadow: 0 0 40px 12px #ffc060; } }

/* Scene: story-analyzed (sa) */
.scn-story-analyzed { background: linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 60%, #2a1a0a 0%, transparent 70%); }
.scn-story-analyzed .fireplace { position: absolute; bottom: 20%; left: 10%; width: 30%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: inset 0 0 40px 10px #ff704030; animation: sa-fire 3s ease-in-out infinite; }
.scn-story-analyzed .figure-left { position: absolute; bottom: 15%; left: 15%; width: 14%; height: 30%; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sa-shift 6s ease-in-out infinite; }
.scn-story-analyzed .figure-right { position: absolute; bottom: 15%; right: 15%; width: 14%; height: 30%; background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sa-shift 6s ease-in-out infinite reverse; }
.scn-story-analyzed .table { position: absolute; bottom: 10%; left: 30%; width: 40%; height: 12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); }
.scn-story-analyzed .lamp-table { position: absolute; bottom: 22%; left: 40%; width: 8%; height: 10%; background: radial-gradient(circle, #f0c080 0%, #a07030 70%); border-radius: 50%; box-shadow: 0 0 30px 6px #c09040, 0 0 60px 12px rgba(192,144,64,0.3); animation: sa-lamp 4s ease-in-out infinite alternate; }
.scn-story-analyzed .rug { position: absolute; bottom: 0; left: 10%; width: 80%; height: 10%; background: linear-gradient(90deg, #4a2a1a 0%, #6a3a2a 50%, #4a2a1a 100%); border-radius: 20% 20% 0 0; }
@keyframes sa-fire { 0% { box-shadow: inset 0 0 30px 6px #ff6030; } 50% { box-shadow: inset 0 0 50px 12px #ff8050; } 100% { box-shadow: inset 0 0 30px 6px #ff6030; } }
@keyframes sa-shift { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sa-lamp { 0% { box-shadow: 0 0 20px 4px #c09040; opacity: 0.8; } 100% { box-shadow: 0 0 40px 10px #e0b060; opacity: 1; } }

/* Scene: advice-to-find-vasa (atv) */
.scn-advice-to-find-vasa { background: linear-gradient(180deg, #0a0a05 0%, #1a1a0a 50%, #2a1a0a 100%), radial-gradient(ellipse at 50% 80%, #1a1a0a 0%, transparent 70%); }
.scn-advice-to-find-vasa .table { position: absolute; bottom: 10%; left: 10%; width: 80%; height: 60%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 30px 10px #0a0a00; }
.scn-advice-to-find-vasa .map { position: absolute; bottom: 25%; left: 20%; width: 60%; height: 40%; background: linear-gradient(135deg, #d4c8a0 0%, #c0b080 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 4px 10px rgba(0,0,0,0.6); animation: atv-map 8s ease-in-out infinite; }
.scn-advice-to-find-vasa .lantern { position: absolute; bottom: 50%; left: 45%; width: 10%; height: 15%; background: radial-gradient(circle, #ffd060 0%, #b08020 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 40px 8px #c09030, 0 0 80px 20px rgba(192,144,48,0.4); animation: atv-glow 3s ease-in-out infinite alternate; }
.scn-advice-to-find-vasa .hourglass-hourglass-top { position: absolute; bottom: 55%; left: 30%; width: 8%; height: 12%; background: transparent; border: 2px solid #6a4a2a; border-bottom: none; border-radius: 50% 50% 0 0; transform: rotate(10deg); animation: atv-sand 5s ease-in-out infinite; }
.scn-advice-to-find-vasa .hourglass-hourglass-bottom { position: absolute; bottom: 40%; left: 30%; width: 8%; height: 12%; background: transparent; border: 2px solid #6a4a2a; border-top: none; border-radius: 0 0 50% 50%; transform: rotate(10deg); animation: atv-sand 5s ease-in-out infinite; }
.scn-advice-to-find-vasa .compass { position: absolute; bottom: 35%; right: 20%; width: 10%; height: 10%; background: radial-gradient(circle, #8a6a4a 0%, #4a3a2a 100%); border-radius: 50%; border: 2px solid #6a4a2a; animation: atv-spin 10s linear infinite; }
@keyframes atv-map { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-3deg) scale(1.02); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes atv-glow { 0% { box-shadow: 0 0 30px 6px #c09030; opacity: 0.8; } 100% { box-shadow: 0 0 60px 14px #e0b050; opacity: 1; } }
@keyframes atv-sand { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes atv-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* jasher-defends-choice */
.scn-jasher-defends-choice {
  background: linear-gradient(180deg, #2a1f12 0%, #3d2b1a 40%, #4a3825 100%), radial-gradient(ellipse at 50% 100%, #5a4030 0%, transparent 70%);
}
.scn-jasher-defends-choice .wall {
  position: absolute; inset: 0 0 25% 0; background: linear-gradient(180deg, #4a3825 0%, #3d2b1a 100%); border-radius: 0 0 30% 30% / 0 0 60% 60%;
}
.scn-jasher-defends-choice .curtain-left {
  position: absolute; top: 0; left: 0; width: 22%; height: 90%; background: linear-gradient(180deg, #6a5040 0%, #4a3825 100%); border-radius: 0 40% 40% 0; filter: blur(1px); animation: jdc-curtain 12s ease-in-out infinite alternate;
}
.scn-jasher-defends-choice .curtain-right {
  position: absolute; top: 0; right: 0; width: 22%; height: 90%; background: linear-gradient(180deg, #6a5040 0%, #4a3825 100%); border-radius: 40% 0 0 40%; filter: blur(1px); animation: jdc-curtain 14s ease-in-out infinite alternate-reverse;
}
.scn-jasher-defends-choice .lamp {
  position: absolute; bottom: 40%; left: 48%; width: 20px; height: 30px; background: radial-gradient(circle, #ffd080 0%, #a07040 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 12px rgba(255,208,128,0.5), 0 0 80px 20px rgba(200,120,50,0.2); animation: jdc-lamp 5s ease-in-out infinite alternate;
}
.scn-jasher-defends-choice .figure {
  position: absolute; bottom: 25%; left: 35%; width: 28px; height: 60px; background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jdc-figure 6s ease-in-out infinite;
}
.scn-jasher-defends-choice .chair {
  position: absolute; bottom: 22%; left: 52%; width: 50px; height: 45px; background: linear-gradient(180deg, #3d2b1a 0%, #2a1f12 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: jdc-chair 8s ease-in-out infinite alternate;
}
@keyframes jdc-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0); } }
@keyframes jdc-lamp { 0% { box-shadow: 0 0 30px 8px rgba(255,208,128,0.4), 0 0 60px 15px rgba(200,120,50,0.15); } 50% { box-shadow: 0 0 50px 15px rgba(255,208,128,0.7), 0 0 100px 25px rgba(200,120,50,0.3); } 100% { box-shadow: 0 0 35px 10px rgba(255,208,128,0.5), 0 0 70px 18px rgba(200,120,50,0.2); } }
@keyframes jdc-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes jdc-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* tea-interrupted-by-jane */
.scn-tea-interrupted-by-jane {
  background: linear-gradient(180deg, #2a1f12 0%, #3d2b1a 50%, #4a3825 100%), radial-gradient(ellipse at 50% 100%, #5a4030 0%, transparent 70%);
}
.scn-tea-interrupted-by-jane .fireplace {
  position: absolute; bottom: 10%; left: 5%; width: 40%; height: 60%; background: linear-gradient(180deg, #5a4030 0%, #2a1f12 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 20px 40px rgba(0,0,0,0.6); animation: tej-fire 4s ease-in-out infinite alternate;
}
.scn-tea-interrupted-by-jane .table {
  position: absolute; bottom: 20%; left: 35%; width: 70px; height: 30px; background: linear-gradient(180deg, #6a5040 0%, #3d2b1a 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 6px 15px rgba(0,0,0,0.5);
}
.scn-tea-interrupted-by-jane .teapot {
  position: absolute; bottom: 32%; left: 42%; width: 24px; height: 20px; background: radial-gradient(ellipse at 50% 40%, #c8a060 0%, #8a6030 70%); border-radius: 50% 50% 30% 30%; animation: tej-steam 7s ease-in-out infinite;
}
.scn-tea-interrupted-by-jane .teacup {
  position: absolute; bottom: 26%; left: 48%; width: 14px; height: 12px; background: radial-gradient(ellipse at 50% 60%, #e8d0a0 0%, #b09060 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: tej-cup 9s ease-in-out infinite alternate;
}
.scn-tea-interrupted-by-jane .figure {
  position: absolute; bottom: 22%; left: 60%; width: 24px; height: 55px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tej-figure 5s ease-in-out infinite;
}
.scn-tea-interrupted-by-jane .chair {
  position: absolute; bottom: 18%; left: 65%; width: 40px; height: 40px; background: linear-gradient(180deg, #3d2b1a 0%, #2a1f12 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: tej-chair 11s ease-in-out infinite alternate;
}
@keyframes tej-fire { 0% { box-shadow: inset 0 20px 40px rgba(0,0,0,0.6), 0 0 30px 10px rgba(220,100,20,0.3); } 50% { box-shadow: inset 0 20px 40px rgba(0,0,0,0.6), 0 0 50px 20px rgba(220,100,20,0.5); } 100% { box-shadow: inset 0 20px 40px rgba(0,0,0,0.6), 0 0 35px 12px rgba(220,100,20,0.35); } }
@keyframes tej-steam { 0% { transform: translateY(0) scale(1); opacity: 0.7; } 50% { transform: translateY(-4px) scale(1.05); opacity: 1; } 100% { transform: translateY(0) scale(1); opacity: 0.7; } }
@keyframes tej-cup { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes tej-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes tej-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* professor-character */
.scn-professor-character {
  background: linear-gradient(180deg, #1f1a14 0%, #2a221a 50%, #3a2e22 100%), radial-gradient(ellipse at 50% 100%, #4a3a28 0%, transparent 70%);
}
.scn-professor-character .bookshelf {
  position: absolute; top: 5%; right: 5%; width: 30%; height: 70%; background: linear-gradient(180deg, #3a2e22 0%, #2a221a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); animation: pc-shelf 20s ease-in-out infinite alternate;
}
.scn-professor-character .desk {
  position: absolute; bottom: 20%; left: 10%; width: 60%; height: 25%; background: linear-gradient(180deg, #4a3a28 0%, #2a221a 100%); border-radius: 8% 8% 0 0; box-shadow: 0 6px 20px rgba(0,0,0,0.6);
}
.scn-professor-character .professor {
  position: absolute; bottom: 28%; left: 28%; width: 30px; height: 55px; background: linear-gradient(180deg, #1a1612 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pc-prof 7s ease-in-out infinite;
}
.scn-professor-character .lamp {
  position: absolute; bottom: 35%; left: 18%; width: 16px; height: 24px; background: radial-gradient(circle, #e8c080 0%, #a07040 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px rgba(232,192,128,0.4), 0 0 60px 15px rgba(160,112,64,0.2); animation: pc-lamp 4s ease-in-out infinite alternate;
}
.scn-professor-character .chair {
  position: absolute; bottom: 22%; left: 25%; width: 40px; height: 35px; background: linear-gradient(180deg, #3a2e22 0%, #2a221a 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: pc-chair 9s ease-in-out infinite alternate;
}
.scn-professor-character .window {
  position: absolute; top: 10%; left: 5%; width: 25%; height: 40%; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; opacity: 0.3; filter: blur(2px); animation: pc-window 15s ease-in-out infinite alternate;
}
@keyframes pc-shelf { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes pc-prof { 0% { transform: translateX(0) translateY(0) rotate(-1deg) scale(1); } 50% { transform: translateX(1px) translateY(-1px) rotate(1deg) scale(1.01); } 100% { transform: translateX(0) translateY(0) rotate(0) scale(1); } }
@keyframes pc-lamp { 0% { box-shadow: 0 0 25px 8px rgba(232,192,128,0.3), 0 0 50px 12px rgba(160,112,64,0.15); } 50% { box-shadow: 0 0 40px 15px rgba(232,192,128,0.6), 0 0 80px 20px rgba(160,112,64,0.3); } 100% { box-shadow: 0 0 30px 10px rgba(232,192,128,0.4), 0 0 60px 15px rgba(160,112,64,0.2); } }
@keyframes pc-chair { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes pc-window { 0% { opacity: 0.25; } 50% { opacity: 0.4; } 100% { opacity: 0.25; } }

/* advice-on-mourning */
.scn-advice-on-mourning {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a14 40%, #3a221a 100%), radial-gradient(ellipse at 50% 100%, #4a2a1a 0%, transparent 70%);
}
.scn-advice-on-mourning .bg-wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #2a1a14 0%, #1a1210 100%); border-radius: 0 0 40% 40% / 0 0 80% 80%;
}
.scn-advice-on-mourning .mirror {
  position: absolute; top: 15%; left: 30%; width: 30%; height: 35%; background: linear-gradient(180deg, #4a3a30 0%, #2a1a14 100%); border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); animation: aom-mirror 13s ease-in-out infinite alternate;
}
.scn-advice-on-mourning .woman {
  position: absolute; bottom: 25%; left: 45%; width: 26px; height: 58px; background: linear-gradient(180deg, #0a0808 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: aom-woman 6s ease-in-out infinite;
}
.scn-advice-on-mourning .candle {
  position: absolute; bottom: 35%; left: 30%; width: 10px; height: 20px; background: radial-gradient(ellipse at 50% 30%, #e8c080 0%, #a07040 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 8px rgba(232,192,128,0.4), 0 0 40px 15px rgba(160,112,64,0.2); animation: aom-candle 3s ease-in-out infinite alternate;
}
.scn-advice-on-mourning .chair {
  position: absolute; bottom: 22%; left: 50%; width: 45px; height: 40px; background: linear-gradient(180deg, #2a1a14 0%, #1a1210 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: aom-chair 10s ease-in-out infinite alternate;
}
.scn-advice-on-mourning .curtain {
  position: absolute; top: 0; right: 0; width: 18%; height: 95%; background: linear-gradient(180deg, #4a3020 0%, #2a1a14 100%); border-radius: 40% 0 0 40%; filter: blur(1px); animation: aom-curtain 16s ease-in-out infinite alternate;
}
@keyframes aom-mirror { 0% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 20px rgba(232,192,128,0.1); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 40px rgba(232,192,128,0.2); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,0.5), 0 0 20px rgba(232,192,128,0.1); } }
@keyframes aom-woman { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes aom-candle { 0% { box-shadow: 0 0 15px 5px rgba(232,192,128,0.3), 0 0 30px 10px rgba(160,112,64,0.15); } 50% { box-shadow: 0 0 25px 10px rgba(232,192,128,0.6), 0 0 50px 15px rgba(160,112,64,0.3); } 100% { box-shadow: 0 0 18px 6px rgba(232,192,128,0.35), 0 0 35px 12px rgba(160,112,64,0.18); } }
@keyframes aom-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes aom-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0); } }

.scn-murder-execution {
  background: linear-gradient(180deg, #0b0e1a 0%, #1a1f3a 40%, #0e1224 70%), radial-gradient(ellipse at 30% 60%, #2a2f4a 0%, transparent 50%);
}
.scn-murder-execution .night-sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #0b0e1a 0%, #141a30 40%, #1a2240 100%);
  animation: me-sky 20s ease-in-out infinite alternate;
}
.scn-murder-execution .water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(180deg, #0d1220 0%, #141a2a 30%, #1a1a2e 60%, #0e0e1a 100%);
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.6);
  animation: me-water 8s ease-in-out infinite alternate;
}
.scn-murder-execution .dock {
  position: absolute; bottom: 42%; left: 20%; width: 60%; height: 6%;
  background: linear-gradient(0deg, #2a2018 0%, #3a2e24 100%);
  border-radius: 2px;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.5);
}
.scn-murder-execution .boat {
  position: absolute; bottom: 38%; left: 35%; width: 40px; height: 20px;
  background: linear-gradient(135deg, #2a221a 0%, #1a1612 100%);
  border-radius: 0 0 60% 60% / 0 0 100% 100%;
  transform-origin: center bottom;
  animation: me-boat 6s ease-in-out infinite alternate;
}
.scn-murder-execution .window-glow {
  position: absolute; bottom: 48%; left: 30%; width: 12px; height: 18px;
  background: radial-gradient(circle, #f5d080 0%, #b08030 60%, transparent 100%);
  border-radius: 20%;
  box-shadow: 0 0 20px 8px rgba(240,200,100,0.4), 0 0 40px 16px rgba(240,200,100,0.2);
  animation: me-glow 3s ease-in-out infinite alternate;
}
.scn-murder-execution .figure-outer {
  position: absolute; bottom: 39%; left: 32%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #0e0e14 0%, #06060a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: me-figure 5s ease-in-out infinite alternate;
}
.scn-murder-execution .lantern-swing {
  position: absolute; bottom: 44%; left: 28%; width: 6px; height: 6px;
  background: #f5d080;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(245,208,128,0.6);
  transform-origin: top center;
  animation: me-lantern 4s ease-in-out infinite;
}

@keyframes me-sky { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.8 } }
@keyframes me-water { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(2px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes me-boat { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(2deg) translateY(1px) } 100% { transform: rotate(-1deg) translateY(0) } }
@keyframes me-glow { 0% { opacity: 0.8; box-shadow: 0 0 12px 4px rgba(240,200,100,0.3) } 50% { opacity: 1; box-shadow: 0 0 24px 10px rgba(240,200,100,0.5) } 100% { opacity: 0.9; box-shadow: 0 0 16px 6px rgba(240,200,100,0.4) } }
@keyframes me-figure { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes me-lantern { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }

.scn-corpse-concealment {
  background: linear-gradient(180deg, #1a1410 0%, #2a221c 30%, #1e1814 70%), radial-gradient(ellipse at 50% 70%, #3a2e24 0%, transparent 60%);
}
.scn-corpse-concealment .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a221c 0%, #1e1814 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: cc-wall 12s ease-in-out infinite alternate;
}
.scn-corpse-concealment .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1410 0%, #221c18 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-corpse-concealment .window-blind {
  position: absolute; bottom: 45%; left: 25%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #b0a090 0%, #807060 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
  animation: cc-blind 8s ease-in-out infinite alternate;
}
.scn-corpse-concealment .candle-glow {
  position: absolute; bottom: 40%; left: 50%; width: 16px; height: 16px;
  background: radial-gradient(circle, #f5d080 0%, #d0a050 40%, rgba(220,180,80,0.2) 80%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(245,208,128,0.4), 0 0 60px 30px rgba(245,208,128,0.15);
  animation: cc-candle 4s ease-in-out infinite alternate;
}
.scn-corpse-concealment .packing-case {
  position: absolute; bottom: 12%; left: 35%; width: 80px; height: 45px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: cc-case 6s ease-in-out infinite alternate;
}
.scn-corpse-concealment .figure-left {
  position: absolute; bottom: 22%; left: 28%; width: 16px; height: 38px;
  background: linear-gradient(180deg, #121014 0%, #08080a 100%);
  border-radius: 40% 40% 35% 35% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: cc-fig-l 5s ease-in-out infinite alternate;
}
.scn-corpse-concealment .figure-right {
  position: absolute; bottom: 20%; right: 30%; width: 16px; height: 38px;
  background: linear-gradient(180deg, #121014 0%, #08080a 100%);
  border-radius: 40% 40% 35% 35% / 60% 60% 45% 45%;
  transform-origin: bottom center;
  animation: cc-fig-r 5s ease-in-out infinite alternate-reverse;
}

@keyframes cc-wall { 0% { opacity: 0.9 } 50% { opacity: 0.7 } 100% { opacity: 0.85 } }
@keyframes cc-blind { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.95) } 100% { transform: scaleY(1) } }
@keyframes cc-candle { 0% { box-shadow: 0 0 20px 10px rgba(245,208,128,0.3) } 50% { box-shadow: 0 0 40px 20px rgba(245,208,128,0.5) } 100% { box-shadow: 0 0 25px 12px rgba(245,208,128,0.35) } }
@keyframes cc-case { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cc-fig-l { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes cc-fig-r { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(1deg) } }

.scn-near-discovery {
  background: linear-gradient(180deg, #0a0a0e 0%, #121216 40%, #08080c 80%), radial-gradient(ellipse at 50% 80%, #1a1a2a 0%, transparent 70%);
}
.scn-near-discovery .dark-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #0e0e12 0%, #141418 60%, #0a0a0e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
  animation: nd-wall 10s ease-in-out infinite alternate;
}
.scn-near-discovery .dark-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #0a0a0e 0%, #101014 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.7);
}
.scn-near-discovery .extinguished-candle {
  position: absolute; bottom: 35%; left: 48%; width: 10px; height: 14px;
  background: linear-gradient(180deg, #2a2018 0%, #1a1412 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 4px 1px rgba(80,60,40,0.2);
  animation: nd-candle 6s ease-in-out infinite alternate;
}
.scn-near-discovery .window-slit {
  position: absolute; bottom: 40%; right: 20%; width: 2px; height: 30px;
  background: linear-gradient(180deg, rgba(100,120,160,0.2) 0%, rgba(100,120,160,0.5) 100%);
  box-shadow: 0 0 8px 2px rgba(100,120,160,0.1);
  animation: nd-slit 8s ease-in-out infinite alternate;
}
.scn-near-discovery .figure-trembling {
  position: absolute; bottom: 18%; left: 30%; width: 16px; height: 34px;
  background: linear-gradient(180deg, #0e0e12 0%, #06060a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nd-tremble 0.5s ease-in-out infinite alternate;
}
.scn-near-discovery .figure-still {
  position: absolute; bottom: 20%; right: 25%; width: 16px; height: 34px;
  background: linear-gradient(180deg, #0e0e12 0%, #06060a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nd-still 4s ease-in-out infinite alternate;
}
.scn-near-discovery .door {
  position: absolute; bottom: 25%; left: 10%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5), 0 0 6px rgba(0,0,0,0.4);
}

@keyframes nd-wall { 0% { opacity: 0.8 } 50% { opacity: 0.6 } 100% { opacity: 0.75 } }
@keyframes nd-candle { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.95) } 100% { transform: scaleY(1) } }
@keyframes nd-slit { 0% { opacity: 0.2 } 50% { opacity: 0.6 } 100% { opacity: 0.3 } }
@keyframes nd-tremble { 0% { transform: rotate(-3deg) translateX(0) } 100% { transform: rotate(3deg) translateX(2px) } }
@keyframes nd-still { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }

.scn-mummy-hidden {
  background: linear-gradient(180deg, #1a1e2e 0%, #2a3050 30%, #1a1e30 70%), radial-gradient(ellipse at 60% 40%, #2a3858 0%, transparent 60%);
}
.scn-mummy-hidden .moon-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1e2e 0%, #222842 40%, #1a1e30 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.3);
  animation: mh-wall 14s ease-in-out infinite alternate;
}
.scn-mummy-hidden .moon-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1e2a 0%, #222a3a 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-mummy-hidden .moonlit-window {
  position: absolute; bottom: 45%; right: 20%; width: 40px; height: 50px;
  background: linear-gradient(180deg, rgba(160,180,220,0.3) 0%, rgba(200,220,255,0.1) 100%);
  box-shadow: 0 0 20px 8px rgba(200,220,255,0.15), inset 0 0 10px rgba(200,220,255,0.1);
  border-radius: 2px;
  animation: mh-window 10s ease-in-out infinite alternate;
}
.scn-mummy-hidden .bedroom-door {
  position: absolute; bottom: 30%; left: 15%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #2a2e3a 0%, #1a1e2a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5), 2px 0 6px rgba(0,0,0,0.3);
}
.scn-mummy-hidden .mummy-case {
  position: absolute; bottom: 8%; left: 50%; width: 70px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #3a3e4a 0%, #2a2e3a 40%, #1a1e2a 100%);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6), inset 0 2px 4px rgba(200,220,255,0.1);
  animation: mh-case 6s ease-in-out infinite alternate;
}
.scn-mummy-hidden .string-line {
  position: absolute; bottom: 50%; right: 15%; width: 2px; height: 20px;
  background: rgba(200,220,255,0.3);
  box-shadow: 0 0 4px rgba(200,220,255,0.2);
  transform: rotate(15deg);
  transform-origin: bottom left;
  animation: mh-string 8s ease-in-out infinite alternate;
}
.scn-mummy-hidden .figure-cunning {
  position: absolute; bottom: 20%; left: 40%; width: 16px; height: 36px;
  background: linear-gradient(180deg, #0e0e14 0%, #06060a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mh-figure 5s ease-in-out infinite alternate;
}

@keyframes mh-wall { 0% { opacity: 0.8 } 50% { opacity: 0.9 } 100% { opacity: 0.85 } }
@keyframes mh-window { 0% { opacity: 0.6; box-shadow: 0 0 10px 4px rgba(200,220,255,0.1) } 50% { opacity: 0.9; box-shadow: 0 0 30px 12px rgba(200,220,255,0.25) } 100% { opacity: 0.7; box-shadow: 0 0 15px 6px rgba(200,220,255,0.15) } }
@keyframes mh-case { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(2px) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes mh-string { 0% { transform: rotate(12deg) } 50% { transform: rotate(18deg) } 100% { transform: rotate(14deg) } }
@keyframes mh-figure { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }

.scn-widow-testimony {
  background: linear-gradient(135deg, #1a1010 0%, #2a1a1a 50%, #1e0e0e 100%),
              radial-gradient(ellipse at 50% 70%, #3a2020 0%, transparent 60%);
}
.scn-widow-testimony .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, #2a1a1a 0%, #0e0606 100%); animation: wt-bg 12s ease-in-out infinite alternate; }
.scn-widow-testimony .wall-panel { position:absolute; top:10%; left:20%; width:60%; height:70%; background: repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(80,60,40,.15) 30px, rgba(80,60,40,.15) 31px); border-radius:4px; }
.scn-widow-testimony .figure { position:absolute; bottom:20%; left:30%; width:80px; height:120px; background: radial-gradient(ellipse 80% 60% at 50% 40%, #1e1210 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; animation: wt-figure 9s ease-in-out infinite; }
.scn-widow-testimony .shawl { position:absolute; bottom:20%; left:25%; width:110px; height:50px; background: radial-gradient(ellipse at 50% 100%, #2a1a0e 0%, transparent 80%); border-radius: 50% 50% 20% 20%; opacity:.7; animation: wt-shawl 9s ease-in-out infinite; }
.scn-widow-testimony .candle { position:absolute; bottom:35%; left:55%; width:8px; height:40px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius:4px 4px 2px 2px; transform-origin: bottom center; animation: wt-candle 6s ease-in-out infinite; }
.scn-widow-testimony .glow { position:absolute; bottom:40%; left:53%; width:30px; height:30px; background: radial-gradient(circle, #c8a050 0%, #c8a05040 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(200,160,80,.6); animation: wt-glow 6s ease-in-out infinite; }
.scn-widow-testimony .tear { position:absolute; bottom:35%; left:38%; width:4px; height:6px; background: radial-gradient(circle, #b0a090 0%, transparent 100%); border-radius:50%; filter: blur(1px); animation: wt-tear 4s ease-in-out infinite; }
@keyframes wt-bg { 0% { opacity:.8; } 50% { opacity:.95; } 100% { opacity:.75; } }
@keyframes wt-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wt-shawl { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-5px) scaleY(1.05); } 100% { transform: translateX(3px) scaleY(1); } }
@keyframes wt-candle { 0% { transform: rotate(-2deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.03); } 100% { transform: rotate(-1deg) scaleY(1); } }
@keyframes wt-glow { 0% { opacity:.6; scale:1; } 50% { opacity:.9; scale:1.2; } 100% { opacity:.7; scale:1; } }
@keyframes wt-tear { 0% { transform: translateY(0) scale(1); opacity:.8; } 50% { transform: translateY(10px) scale(0.6); opacity:.2; } 100% { transform: translateY(0) scale(1); opacity:.8; } }

.scn-quass-testimony {
  background: linear-gradient(180deg, #1c1a18 0%, #2a2622 50%, #1e1a16 100%),
              radial-gradient(ellipse at 50% 100%, #3a322a 0%, transparent 60%);
}
.scn-quass-testimony .bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a221c 0%, #1a1410 100%); animation: qt-bg 16s ease-in-out infinite alternate; }
.scn-quass-testimony .wall { position:absolute; top:5%; left:15%; width:70%; height:60%; background: repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(60,50,40,.12) 40px, rgba(60,50,40,.12) 41px); border-radius:6px; }
.scn-quass-testimony .bed { position:absolute; bottom:15%; left:20%; width:70%; height:40%; background: linear-gradient(180deg, #3a342e 0%, #2a241e 50%, #1a140e 100%); border-radius:40% 40% 20% 20% / 60% 60% 30% 30%; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: qt-bed 20s ease-in-out infinite alternate; }
.scn-quass-testimony .pillow { position:absolute; bottom:30%; left:40%; width:40px; height:20px; background: radial-gradient(ellipse at 50% 50%, #4a4238 0%, #2a241e 100%); border-radius:50%; animation: qt-pillow 14s ease-in-out infinite; }
.scn-quass-testimony .child { position:absolute; bottom:20%; left:50%; width:30px; height:50px; background: radial-gradient(ellipse 60% 50% at 50% 40%, #5a4a3e 0%, #1e1612 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: qt-child 12s ease-in-out infinite; }
.scn-quass-testimony .lamp { position:absolute; bottom:40%; left:25%; width:20px; height:30px; background: linear-gradient(180deg, #a08a6a 0%, #6a5a4a 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: qt-lamp 10s ease-in-out infinite; }
.scn-quass-testimony .lamp-glow { position:absolute; bottom:38%; left:23%; width:40px; height:40px; background: radial-gradient(circle, #d0b080 0%, #d0b08040 30%, transparent 70%); border-radius:50%; filter: blur(6px); animation: qt-lampglow 10s ease-in-out infinite alternate; }
@keyframes qt-bg { 0% { opacity:.85; } 50% { opacity:.95; } 100% { opacity:.8; } }
@keyframes qt-bed { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes qt-pillow { 0% { transform: translate(0,0) rotate(-5deg); } 50% { transform: translate(3px,-2px) rotate(5deg); } 100% { transform: translate(0,0) rotate(-3deg); } }
@keyframes qt-child { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.02) rotate(3deg); } 100% { transform: scale(1) rotate(-2deg); } }
@keyframes qt-lamp { 0% { transform: rotate(-1deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.01); } 100% { transform: rotate(-1deg) scaleY(1); } }
@keyframes qt-lampglow { 0% { opacity:.5; scale:1; } 50% { opacity:.8; scale:1.1; } 100% { opacity:.6; scale:1; } }

.scn-eliza-flight-testimony {
  background: linear-gradient(180deg, #2a1a1a 0%, #3a2a22 40%, #1e1210 100%),
              radial-gradient(ellipse at 60% 80%, #4a2a1a 0%, transparent 70%);
}
.scn-eliza-flight-testimony .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #3a2a22 0%, #120a08 100%); animation: ef-bg 8s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony .wall-shadow { position:absolute; top:10%; right:10%; width:40%; height:80%; background: linear-gradient(135deg, transparent 40%, rgba(0,0,0,.4) 100%); }
.scn-eliza-flight-testimony .bench { position:absolute; bottom:15%; left:10%; width:30%; height:10%; background: linear-gradient(180deg, #4a3a32 0%, #2a1e18 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 6px 12px rgba(0,0,0,.6); animation: ef-bench 6s ease-in-out infinite; }
.scn-eliza-flight-testimony .figure { position:absolute; bottom:22%; left:20%; width:60px; height:140px; background: radial-gradient(ellipse 70% 60% at 50% 45%, #1e1612 0%, #0a0604 100%); border-radius: 50% 50% 35% 35% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ef-figure 4s ease-in-out infinite; }
.scn-eliza-flight-testimony .hand { position:absolute; bottom:45%; left:32%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 60%, #3a2a22 0%, #1a100e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom left; animation: ef-hand 3s ease-in-out infinite; }
.scn-eliza-flight-testimony .shadow-strip { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%); animation: ef-strip 10s ease-in-out infinite; }
.scn-eliza-flight-testimony .light-shaft { position:absolute; top:5%; left:30%; width:20%; height:95%; background: linear-gradient(180deg, rgba(220,200,160,.15) 0%, transparent 80%); transform: skewX(-10deg); animation: ef-shaft 8s ease-in-out infinite alternate; }
@keyframes ef-bg { 0% { opacity:.75; } 50% { opacity:.9; } 100% { opacity:.8; } }
@keyframes ef-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ef-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(3px) rotate(1deg); } 50% { transform: translateY(0) rotate(-0.5deg); } 75% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ef-hand { 0% { transform: translate(0,0) rotate(-5deg); } 50% { transform: translate(4px,-3px) rotate(10deg); } 100% { transform: translate(0,0) rotate(-5deg); } }
@keyframes ef-strip { 0% { opacity:.3; } 50% { opacity:.5; } 100% { opacity:.2; } }
@keyframes ef-shaft { 0% { opacity:.2; transform: skewX(-10deg) translateX(0); } 100% { opacity:.4; transform: skewX(-10deg) translateX(8px); } }

.scn-eliza-flight-testimony-cont {
  background: linear-gradient(180deg, #1e1410 0%, #2a1e18 50%, #1a100e 100%),
              radial-gradient(ellipse at 40% 60%, #3a2218 0%, transparent 60%);
}
.scn-eliza-flight-testimony-cont .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 30%, #2a1e18 0%, #0e0806 100%); animation: ef2-bg 10s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony-cont .door { position:absolute; bottom:10%; left:25%; width:50%; height:80%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius:6% 6% 2% 2%; box-shadow: -4px 0 12px rgba(0,0,0,.6), inset 0 4px 8px rgba(0,0,0,.3); animation: ef2-door 12s ease-in-out infinite; }
.scn-eliza-flight-testimony-cont .door-frame { position:absolute; bottom:8%; left:22%; width:56%; height:84%; border:4px solid #3a2a1e; border-radius:8% 8% 4% 4%; background: transparent; box-shadow: 0 0 0 2px #1a100e; animation: ef2-frame 15s ease-in-out infinite alternate; }
.scn-eliza-flight-testimony-cont .keyhole { position:absolute; bottom:50%; left:45%; width:8px; height:6px; background: #0a0604; border-radius:50%; box-shadow: 0 0 4px #1a100e; animation: ef2-keyhole 8s ease-in-out infinite; }
.scn-eliza-flight-testimony-cont .hand { position:absolute; bottom:38%; left:55%; width:22px; height:34px; background: radial-gradient(ellipse at 50% 60%, #3a2a22 0%, #1a100e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom left; animation: ef2-hand 3s ease-in-out infinite; }
.scn-eliza-flight-testimony-cont .hand-shadow { position:absolute; bottom:36%; left:53%; width:28px; height:40px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(6px); animation: ef2-handshadow 3s ease-in-out infinite; }
.scn-eliza-flight-testimony-cont .lock-glow { position:absolute; bottom:48%; left:43%; width:20px; height:20px; background: radial-gradient(circle, #c0a080 0%, transparent 70%); border-radius:50%; filter: blur(4px); animation: ef2-lockglow 5s ease-in-out infinite alternate; }
@keyframes ef2-bg { 0% { opacity:.8; } 50% { opacity:.9; } 100% { opacity:.75; } }
@keyframes ef2-door { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.01) translateX(-2px); } 100% { transform: scaleY(1) translateX(0); } }
@keyframes ef2-frame { 0% { border-color: #3a2a1e; } 50% { border-color: #4a3a2a; } 100% { border-color: #2a1a0e; } }
@keyframes ef2-keyhole { 0% { box-shadow: 0 0 2px #1a100e; } 50% { box-shadow: 0 0 8px #3a2a1e; } 100% { box-shadow: 0 0 2px #1a100e; } }
@keyframes ef2-hand { 0% { transform: translate(0,0) rotate(-15deg); } 30% { transform: translate(2px,-2px) rotate(-5deg); } 60% { transform: translate(-1px,-4px) rotate(5deg); } 100% { transform: translate(0,0) rotate(-15deg); } }
@keyframes ef2-handshadow { 0% { transform: translate(0,0) scale(1); opacity:.5; } 50% { transform: translate(3px,-2px) scale(0.9); opacity:.3; } 100% { transform: translate(0,0) scale(1); opacity:.5; } }
@keyframes ef2-lockglow { 0% { opacity:.4; scale:1; } 100% { opacity:.7; scale:1.2; } }

.scn-professor-announces-london-trip { background: linear-gradient(180deg, #f4e8d0 0%, #c8b898 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%); }
.scn-professor-announces-london-trip .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e8dcc4 0%, #d4c4a8 100%); border-bottom:2px solid #b8a888; }
.scn-professor-announces-london-trip .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:0; box-shadow: inset 0 6px 12px rgba(0,0,0,.3); }
.scn-professor-announces-london-trip .window { position:absolute; top:10%; left:12%; width:30%; height:45%; background: radial-gradient(ellipse at 30% 50%, #b8d8f0 0%, #8ab4d8 60%, #6090b8 100%); border:6px solid #8a7a5a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,.4); animation: pl-window 6s ease-in-out infinite alternate; }
.scn-professor-announces-london-trip .desk { position:absolute; bottom:30%; left:40%; width:40%; height:12%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3018 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-professor-announces-london-trip .lamp { position:absolute; bottom:42%; left:60%; width:8%; height:18%; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; box-shadow: 0 -8px 20px 6px rgba(255,200,100,.5); animation: pl-lamp-glow 4s ease-in-out infinite alternate; }
.scn-professor-announces-london-trip .professor { position:absolute; bottom:25%; left:48%; width:10%; height:33%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 40% 40% 35% 35% / 55% 55% 30% 30%; transform-origin: bottom center; animation: pl-professor 5s ease-in-out infinite; }
.scn-professor-announces-london-trip .lucy { position:absolute; bottom:27%; left:32%; width:8%; height:28%; background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%); border-radius: 45% 45% 40% 40% / 50% 50% 35% 35%; transform-origin: bottom center; animation: pl-lucy 6s ease-in-out infinite; }
@keyframes pl-window { 0% { opacity:.8; filter: brightness(1.1); } 50% { opacity:1; filter: brightness(1.0); } 100% { opacity:.9; filter: brightness(1.05); } }
@keyframes pl-lamp-glow { 0% { box-shadow: 0 -8px 20px 6px rgba(255,200,100,.4); } 50% { box-shadow: 0 -8px 30px 10px rgba(255,220,120,.6); } 100% { box-shadow: 0 -8px 20px 6px rgba(255,200,100,.4); } }
@keyframes pl-professor { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(-1px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes pl-lucy { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(3px) rotate(2deg); } 66% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-hinting-at-marriage { background: linear-gradient(180deg, #e8d4a8 0%, #c8b080 100%), radial-gradient(ellipse at 30% 20%, #f0e0c0 0%, transparent 60%); }
.scn-hinting-at-marriage .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d8c4a0 0%, #b8a080 100%); border-bottom:2px solid #a08868; }
.scn-hinting-at-marriage .hearth { position:absolute; bottom:15%; left:8%; width:20%; height:30%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3018 100%); border-radius: 20% 20% 10% 10%; box-shadow: inset 0 -6px 12px rgba(0,0,0,.5); animation: hm-hearth 8s ease-in-out infinite alternate; }
.scn-hinting-at-marriage .hearth::after { content:''; position:absolute; bottom:10%; left:25%; width:50%; height:30%; background: radial-gradient(circle, #ffa050 0%, #d07030 60%, #802010 100%); border-radius:50%; opacity:.7; }
.scn-hinting-at-marriage .table { position:absolute; bottom:25%; left:40%; width:35%; height:12%; background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-hinting-at-marriage .vase { position:absolute; bottom:35%; left:52%; width:6%; height:18%; background: linear-gradient(180deg, #a08060 0%, #705040 100%); border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%; box-shadow: 0 0 10px rgba(255,150,80,.2); }
.scn-hinting-at-marriage .vase::after { content:''; position:absolute; top:-30%; left:20%; width:60%; height:40%; background: radial-gradient(circle, #c8a060 0%, #a08040 60%, transparent 80%); border-radius:50%; animation: hm-flower 6s ease-in-out infinite; }
.scn-hinting-at-marriage .chair { position:absolute; bottom:27%; left:35%; width:12%; height:28%; background: linear-gradient(180deg, #6a5030 0%, #483018 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform-origin: bottom center; }
.scn-hinting-at-marriage .figure-braddock { position:absolute; bottom:23%; left:50%; width:14%; height:38%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 45% 45% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; animation: hm-braddock 7s ease-in-out infinite; }
.scn-hinting-at-marriage .figure-misskendal { position:absolute; bottom:26%; left:32%; width:10%; height:32%; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 45% 45% 40% 40% / 50% 50% 35% 35%; transform-origin: bottom center; animation: hm-misskendal 7s ease-in-out infinite; }
@keyframes hm-hearth { 0% { filter: brightness(1); } 50% { filter: brightness(1.2); } 100% { filter: brightness(1); } }
@keyframes hm-flower { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes hm-braddock { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(4px) rotate(1deg); } 66% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hm-misskendal { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-professor-departs { background: linear-gradient(180deg, #e0d8c8 0%, #c0b0a0 100%), radial-gradient(ellipse at 40% 30%, #e8e0d0 0%, transparent 50%); }
.scn-professor-departs .bg-hall { position:absolute; inset:0; background: linear-gradient(180deg, #d8d0c0 0%, #b8a898 100%); }
.scn-professor-departs .door { position:absolute; top:5%; left:60%; width:30%; height:75%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border:6px solid #3a2a1a; border-radius:4px; box-shadow: -4px 0 12px rgba(0,0,0,.3); animation: pd-door 12s ease-in-out infinite alternate; }
.scn-professor-departs .hat { position:absolute; bottom:25%; left:68%; width:10%; height:12%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform: rotate(5deg); animation: pd-hat 8s ease-in-out infinite; }
.scn-professor-departs .cane { position:absolute; bottom:20%; left:75%; width:3%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; transform: rotate(10deg); transform-origin: bottom center; animation: pd-cane 6s ease-in-out infinite; }
.scn-professor-departs .figure-profdeparts { position:absolute; bottom:20%; left:55%; width:12%; height:40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 45% 45% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; animation: pd-prof 5s ease-in-out infinite; }
.scn-professor-departs .figure-lucydeparts { position:absolute; bottom:25%; left:40%; width:9%; height:30%; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border-radius: 45% 45% 40% 40% / 50% 50% 35% 35%; transform-origin: bottom center; animation: pd-lucy 7s ease-in-out infinite; }
@keyframes pd-door { 0% { transform: perspective(800px) rotateY(0deg); } 50% { transform: perspective(800px) rotateY(-15deg); } 100% { transform: perspective(800px) rotateY(0deg); } }
@keyframes pd-hat { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes pd-cane { 0% { transform: rotate(10deg) translateY(0); } 33% { transform: rotate(10deg) translateY(-1px); } 66% { transform: rotate(10deg) translateY(1px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes pd-prof { 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 pd-lucy { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(2px) rotate(2deg); } 66% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }

.scn-quiet-days-with-archie { background: linear-gradient(180deg, #b8c8d0 0%, #8898a0 100%), radial-gradient(ellipse at 40% 60%, #c0d0d8 0%, transparent 60%); }
.scn-quiet-days-with-archie .sky-overcast { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #a8b8c0 0%, #8898a0 100%); animation: qa-sky 15s ease-in-out infinite alternate; }
.scn-quiet-days-with-archie .marsh-bg { position:absolute; bottom:20%; left:0; right:0; height:40%; background: linear-gradient(180deg, #7a8a6a 0%, #5a6a4a 100%); border-radius: 30% 70% 0 0 / 40% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.3); animation: qa-marsh 20s ease-in-out infinite alternate; }
.scn-quiet-days-with-archie .path { position:absolute; bottom:25%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #7a7a6a 0%, #5a5a4a 100%); border-radius:40%; filter: blur(2px); opacity:.6; animation: qa-path 12s ease-in-out infinite; }
.scn-quiet-days-with-archie .figure-archie { position:absolute; bottom:28%; left:45%; width:8%; height:25%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 40% 40% 35% 35% / 50% 50% 30% 30%; transform-origin: bottom center; animation: qa-archie 6s ease-in-out infinite; }
.scn-quiet-days-with-archie .figure-lucyoutdoor { position:absolute; bottom:30%; left:55%; width:7%; height:22%; background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%); border-radius: 45% 45% 40% 40% / 50% 50% 35% 35%; transform-origin: bottom center; animation: qa-lucyout 7s ease-in-out infinite; }
.scn-quiet-days-with-archie .easel { position:absolute; bottom:30%; left:48%; width:6%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; transform: rotate(2deg); transform-origin: bottom center; animation: qa-easel 10s ease-in-out infinite; }
.scn-quiet-days-with-archie .umbrella { position:absolute; bottom:34%; left:52%; width:12%; height:10%; background: radial-gradient(ellipse at 50% 30%, #9a9a8a 0%, #6a6a5a 60%, #4a4a3a 100%); border-radius:50%; transform: rotate(10deg); animation: qa-umbrella 8s ease-in-out infinite; }
@keyframes qa-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes qa-marsh { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes qa-path { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(0); } }
@keyframes qa-archie { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes qa-lucyout { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(3px) rotate(1deg); } 66% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes qa-easel { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes qa-umbrella { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(10deg) scaleY(1.05); } 100% { transform: rotate(10deg) scaleY(1); } }

.scn-dinner-celebration {
  background:
    radial-gradient(ellipse 80% 50% at 50% 70%, #3a2a1a 0%, transparent 70%),
    linear-gradient(180deg, #2a1e12 0%, #3c2a1a 40%, #1f1408 100%);
}

.scn-dinner-celebration .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-bottom: 2px solid #5a4a3a;
  animation: dc-wall 15s ease-in-out infinite;
}

.scn-dinner-celebration .table {
  position: absolute; bottom: 8%; left: 15%; right: 15%; height: 18%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: dc-table 8s ease-in-out infinite;
}

.scn-dinner-celebration .lamp-glow {
  position: absolute; top: 8%; left: 45%; width: 28%; height: 35%;
  background: radial-gradient(circle at 50% 60%, #f0a060 0%, #c08040 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: dc-lamp 3s ease-in-out infinite alternate;
}

.scn-dinner-celebration .figure-a {
  position: absolute; bottom: 18%; left: 22%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dc-fig-a 6s ease-in-out infinite;
}

.scn-dinner-celebration .figure-b {
  position: absolute; bottom: 18%; right: 26%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dc-fig-b 5s ease-in-out infinite;
}

.scn-dinner-celebration .window {
  position: absolute; top: 6%; right: 8%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border: 2px solid #4a3a2a;
  border-radius: 4%;
  box-shadow: inset 0 0 10px rgba(0,0,0,.5);
  animation: dc-window 12s ease-in-out infinite alternate;
}

.scn-dinner-celebration .curtain {
  position: absolute; top: 6%; right: 6%; width: 22%; height: 32%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 0 0 30% 30% / 0 0 60% 60%;
  filter: blur(1px);
  animation: dc-curtain 7s ease-in-out infinite;
}

@keyframes dc-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes dc-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes dc-lamp { 0% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: .8; transform: scale(1); } }
@keyframes dc-fig-a { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dc-fig-b { 0% { transform: translateX(0) translateY(0); } 30% { transform: translateX(-3px) translateY(-1px); } 60% { transform: translateX(3px) translateY(0); } 100% { transform: translateX(0) translateY(0); } }
@keyframes dc-window { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,.5); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,.7); } 100% { box-shadow: inset 0 0 10px rgba(0,0,0,.5); } }
@keyframes dc-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-3px); } 100% { transform: translateX(0); } }

.scn-plan-to-visit-jasher {
  background:
    radial-gradient(ellipse 70% 40% at 30% 60%, #3a2a12 0%, transparent 80%),
    linear-gradient(135deg, #1f1408 0%, #2a1e10 50%, #1a0e06 100%);
}

.scn-plan-to-visit-jasher .study-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-bottom: 1px solid #5a4a3a;
  animation: pv-wall 20s ease-in-out infinite;
}

.scn-plan-to-visit-jasher .bookshelf {
  position: absolute; top: 5%; left: 5%; width: 25%; height: 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 10px rgba(0,0,0,.6);
  animation: pv-bookshelf 10s ease-in-out infinite alternate;
}

.scn-plan-to-visit-jasher .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: pv-desk 12s ease-in-out infinite;
}

.scn-plan-to-visit-jasher .figure-prof {
  position: absolute; bottom: 18%; left: 38%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pv-prof 7s ease-in-out infinite;
}

.scn-plan-to-visit-jasher .lamp-pv {
  position: absolute; top: 15%; left: 50%; width: 20%; height: 25%;
  background: radial-gradient(circle at 50% 30%, #f0a060 0%, #a07030 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(3px);
  animation: pv-lamp 3.5s ease-in-out infinite alternate;
}

.scn-plan-to-visit-jasher .map {
  position: absolute; top: 8%; right: 8%; width: 22%; height: 32%;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border: 1px solid #7a6a5a;
  border-radius: 2%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: pv-map 25s ease-in-out infinite alternate;
}

.scn-plan-to-visit-jasher .shadow-pv {
  position: absolute; bottom: 10%; left: 35%; width: 40%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.4) 0%, transparent 70%);
  animation: pv-shadow 8s ease-in-out infinite;
}

.scn-plan-to-visit-jasher .papers {
  position: absolute; bottom: 15%; left: 20%; width: 15%; height: 6%;
  background: linear-gradient(90deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2%;
  box-shadow: 0 2px 3px rgba(0,0,0,.4);
  animation: pv-papers 9s ease-in-out infinite;
}

@keyframes pv-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes pv-bookshelf { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes pv-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes pv-prof { 0% { transform: rotate(0deg); } 25% { transform: rotate(1deg) translateX(1px); } 50% { transform: rotate(-2deg) translateX(-1px); } 75% { transform: rotate(2deg) translateX(1px); } 100% { transform: rotate(0deg); } }
@keyframes pv-lamp { 0% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.03); } 100% { opacity: .8; transform: scale(1); } }
@keyframes pv-map { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes pv-shadow { 0% { opacity: .6; } 50% { opacity: .8; } 100% { opacity: .6; } }
@keyframes pv-papers { 0% { transform: translateY(0); } 30% { transform: translateY(-1px); } 60% { transform: translateY(1px); } 100% { transform: translateY(0); } }

.scn-future-plans-discussed {
  background:
    radial-gradient(ellipse 90% 60% at 50% 80%, #4a2a10 0%, transparent 70%),
    linear-gradient(180deg, #1f1408 0%, #2a1a0a 60%, #0f0804 100%);
}

.scn-future-plans-discussed .mantle {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 4%;
  box-shadow: 0 -2px 6px rgba(0,0,0,.5);
  animation: fp-mantle 14s ease-in-out infinite;
}

.scn-future-plans-discussed .fire-glow {
  position: absolute; bottom: 30%; left: 44%; width: 12%; height: 18%;
  background: radial-gradient(circle at 50% 80%, #ff9030 0%, #c05020 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: fp-fire 2.5s ease-in-out infinite alternate;
}

.scn-future-plans-discussed .armchair-a {
  position: absolute; bottom: 12%; left: 15%; width: 28%; height: 28%;
  background: linear-gradient(135deg, #4a2a12 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 2px 2px 8px rgba(0,0,0,.5);
  animation: fp-chair-a 9s ease-in-out infinite;
}

.scn-future-plans-discussed .armchair-b {
  position: absolute; bottom: 12%; right: 15%; width: 28%; height: 28%;
  background: linear-gradient(135deg, #4a2a12 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: -2px 2px 8px rgba(0,0,0,.5);
  animation: fp-chair-b 10s ease-in-out infinite;
}

.scn-future-plans-discussed .figure-couple-a {
  position: absolute; bottom: 22%; left: 24%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fp-fig-a 6s ease-in-out infinite;
}

.scn-future-plans-discussed .figure-couple-b {
  position: absolute; bottom: 22%; right: 24%; width: 20px; height: 32px;
  background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fp-fig-b 7s ease-in-out infinite;
}

.scn-future-plans-discussed .painting {
  position: absolute; top: 6%; left: 30%; width: 40%; height: 35%;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a0e06 100%);
  border: 2px solid #5a4a3a;
  border-radius: 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: fp-painting 20s ease-in-out infinite alternate;
}

.scn-future-plans-discussed .hearth-rug {
  position: absolute; bottom: 4%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(90deg, #4a2a1a 0%, #5a3a2a 50%, #4a2a1a 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: fp-rug 12s ease-in-out infinite;
}

@keyframes fp-mantle { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes fp-fire { 0% { opacity: .6; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: .7; transform: scale(1); } }
@keyframes fp-chair-a { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(0deg); } }
@keyframes fp-chair-b { 0% { transform: rotate(0deg); } 50% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes fp-fig-a { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(2deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fp-fig-b { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-2px) translateY(-1px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(2px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes fp-painting { 0% { opacity: .8; } 50% { opacity: .9; } 100% { opacity: .8; } }
@keyframes fp-rug { 0% { opacity: .7; } 50% { opacity: .85; } 100% { opacity: .7; } }

.scn-moonlit-walk {
  background:
    linear-gradient(180deg, #0a1420 0%, #101a30 40%, #0a1220 100%),
    radial-gradient(ellipse 60% 40% at 70% 20%, #c0d8e8 0%, transparent 70%);
}

.scn-moonlit-walk .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a1020 0%, #1a2a40 100%);
  animation: mw-sky 20s ease-in-out infinite alternate;
}

.scn-moonlit-walk .ground-snow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #d8e0e8 0%, #a0b0c0 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  box-shadow: 0 -4px 8px rgba(255,255,255,.1);
  animation: mw-snow 15s ease-in-out infinite;
}

.scn-moonlit-walk .moon-disc {
  position: absolute; top: 8%; left: 65%; width: 40px; height: 40px;
  background: radial-gradient(circle at 50% 50%, #e0e8f0 0%, #a0b8d0 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(160,184,208,.4), 0 0 80px 30px rgba(160,184,208,.2);
  animation: mw-moon 8s ease-in-out infinite alternate;
}

.scn-moonlit-walk .fig-walker-a {
  position: absolute; bottom: 28%; left: 20%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-walk-a 4s ease-in-out infinite;
}

.scn-moonlit-walk .fig-walker-b {
  position: absolute; bottom: 28%; left: 35%; width: 16px; height: 36px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-walk-b 4.5s ease-in-out infinite;
}

.scn-moonlit-walk .tree-silhouette {
  position: absolute; bottom: 35%; right: 10%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #0a121a 0%, #050a10 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  filter: blur(1px);
  animation: mw-tree 30s ease-in-out infinite alternate;
}

.scn-moonlit-walk .frost-breath {
  position: absolute; bottom: 33%; left: 24%; width: 10px; height: 6px;
  background: radial-gradient(circle, rgba(200,220,240,.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: mw-breath 3s ease-in-out infinite;
}

.scn-moonlit-walk .star-twinkle {
  position: absolute; top: 6%; left: 20%; width: 3px; height: 3px;
  background: #c0d0e0;
  border-radius: 50%;
  box-shadow:
    0 0 4px 2px rgba(192,208,224,.5),
    0 0 8px 4px rgba(192,208,224,.3);
  animation: mw-star 2.5s ease-in-out infinite alternate;
}

@keyframes mw-sky { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes mw-snow { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mw-moon { 0% { transform: scale(.95); opacity: .8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(.95); opacity: .9; } }
@keyframes mw-walk-a { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(12px) rotate(-3deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes mw-walk-b { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(-2deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(12px) rotate(2deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes mw-tree { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(2deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes mw-breath { 0% { opacity: .3; transform: translateY(0); } 50% { opacity: .6; transform: translateY(-4px); } 100% { opacity: .3; transform: translateY(0); } }
@keyframes mw-star { 0% { opacity: .5; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: .6; transform: scale(.9); } }

.scn-mrs-jasher-cottage-description {
  background: linear-gradient(180deg, #9db5b0 0%, #6a847a 40%, #3a5a4a 70%, #2a3a2a 100%),
              radial-gradient(ellipse at 50% 100%, #5a7a6a 0%, transparent 60%);
}
.scn-mrs-jasher-cottage-description .sky-ctd {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #b0c5c0 0%, #8aa09a 50%, #6a847a 100%);
  animation: ctd-sky 20s ease-in-out infinite alternate;
}
.scn-mrs-jasher-cottage-description .marsh-mist-ctd {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 30%;
  background: radial-gradient(ellipse at 50% 50%, rgba(90,110,100,0.4) 0%, transparent 70%);
  filter: blur(20px);
  animation: ctd-mist 25s ease-in-out infinite alternate;
}
.scn-mrs-jasher-cottage-description .garden-ctd {
  position: absolute; bottom: 28%; left: 15%; right: 15%; height: 35%;
  background: linear-gradient(135deg, #4a6a50 0%, #3a5a40 100%);
  border-radius: 30% 30% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3);
}
.scn-mrs-jasher-cottage-description .cottage-ctd {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 10px 10px 20px rgba(0,0,0,0.4);
  transform-origin: bottom center;
  animation: ctd-cottage 15s ease-in-out infinite;
}
.scn-mrs-jasher-cottage-description .window-ctd {
  position: absolute; bottom: 45%; left: 42%; width: 8%; height: 12%;
  background: radial-gradient(circle, #b8c8b0 0%, #6a7a62 70%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(120,140,110,0.5);
  animation: ctd-window 8s ease-in-out infinite alternate;
}
.scn-mrs-jasher-cottage-description .path-ctd {
  position: absolute; bottom: 18%; left: 40%; width: 20%; height: 12%;
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a5a 50%, #6a5a4a 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: scale(1, 0.4);
  opacity: 0.6;
}
.scn-mrs-jasher-cottage-description .fence-ctd {
  position: absolute; bottom: 30%; left: 18%; width: 2%; height: 20%;
  background: #4a3a2a;
  border-radius: 4px;
  box-shadow: 8px 0 0 #4a3a2a, 16px 0 0 #4a3a2a, 24px 0 0 #4a3a2a, 32px 0 0 #4a3a2a, 40px 0 0 #4a3a2a, 48px 0 0 #4a3a2a;
  transform: translateX(0);
  animation: ctd-fence 30s linear infinite;
}
.scn-mrs-jasher-cottage-description .cloud-ctd-a {
  position: absolute; top: 12%; left: 10%; width: 15%; height: 8%;
  background: linear-gradient(180deg, rgba(180,195,190,0.6) 0%, rgba(160,180,170,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ctd-cloud-a 40s linear infinite;
}
.scn-mrs-jasher-cottage-description .cloud-ctd-b {
  position: absolute; top: 20%; right: 15%; width: 12%; height: 6%;
  background: linear-gradient(180deg, rgba(170,190,185,0.5) 0%, rgba(150,170,160,0.1) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ctd-cloud-b 35s linear infinite reverse;
}
@keyframes ctd-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes ctd-mist { 0% { transform: scale(1) translateX(0) } 50% { transform: scale(1.05) translateX(5%) } 100% { transform: scale(1) translateX(0) } }
@keyframes ctd-cottage { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(0.5deg) } }
@keyframes ctd-window { 0% { box-shadow: 0 0 8px 1px rgba(120,140,110,0.4); opacity: 0.8 } 50% { box-shadow: 0 0 16px 4px rgba(140,160,130,0.6); opacity: 1 } 100% { box-shadow: 0 0 10px 2px rgba(120,140,110,0.5); opacity: 0.9 } }
@keyframes ctd-fence { 0% { transform: translateX(0) } 100% { transform: translateX(-100%) } }
@keyframes ctd-cloud-a { 0% { transform: translateX(-20%) } 100% { transform: translateX(120vw) } }
@keyframes ctd-cloud-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-mrs-jasher-interior-chat {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 60%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 70%, #8a3a1a 0%, transparent 60%);
}
.scn-mrs-jasher-interior-chat .wall-int {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-interior-chat .fireplace-int {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 -10px 20px rgba(0,0,0,0.6);
  overflow: hidden;
}
.scn-mrs-jasher-interior-chat .fire-int {
  position: absolute; bottom: 30%; left: 37%; width: 26%; height: 30%;
  background: radial-gradient(circle at 50% 100%, #ff8a30 0%, #cc4400 60%, #662200 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 20px rgba(255,100,20,0.5), 0 0 80px 40px rgba(200,60,0,0.3);
  animation: int-fire 2s ease-in-out infinite alternate;
}
.scn-mrs-jasher-interior-chat .figure-int-a {
  position: absolute; bottom: 22%; left: 22%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: int-figure-a 12s ease-in-out infinite;
}
.scn-mrs-jasher-interior-chat .figure-int-b {
  position: absolute; bottom: 22%; right: 22%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: int-figure-b 15s ease-in-out infinite;
}
.scn-mrs-jasher-interior-chat .chair-int {
  position: absolute; bottom: 20%; left: 18%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 5px 5px 15px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-interior-chat .glow-int {
  position: absolute; bottom: 45%; left: 30%; width: 40%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,150,50,0.3) 0%, transparent 70%);
  filter: blur(15px);
  animation: int-glow 4s ease-in-out infinite alternate;
}
.scn-mrs-jasher-interior-chat .rug-int {
  position: absolute; bottom: 5%; left: 15%; width: 70%; height: 15%;
  background: linear-gradient(90deg, #4a2a1a 0%, #6a3a2a 20%, #4a2a1a 40%, #6a3a2a 60%, #4a2a1a 80%, #6a3a2a 100%);
  border-radius: 30% 30% 0 0 / 100% 100% 0 0;
  opacity: 0.7;
}
@keyframes int-fire { 0% { transform: scale(1) rotate(0deg) translateY(0); opacity: 0.9 } 50% { transform: scale(1.05) rotate(3deg) translateY(-2px); opacity: 1 } 100% { transform: scale(0.95) rotate(-2deg) translateY(1px); opacity: 0.85 } }
@keyframes int-figure-a { 0%,100% { transform: translateX(0) rotate(0) translateY(0) } 25% { transform: translateX(3px) rotate(2deg) translateY(-1px) } 50% { transform: translateX(5px) rotate(4deg) translateY(-2px) } 75% { transform: translateX(2px) rotate(1deg) translateY(-1px) } }
@keyframes int-figure-b { 0%,100% { transform: translateX(0) rotate(0) } 33% { transform: translateX(-4px) rotate(-3deg) } 66% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes int-glow { 0% { opacity: 0.5 } 50% { opacity: 0.8 } 100% { opacity: 0.6 } }

.scn-mrs-jasher-room-interior {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 80%, #7a3a1a 0%, transparent 80%);
}
.scn-mrs-jasher-room-interior .wall-rm {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 -10px 30px rgba(0,0,0,0.4);
}
.scn-mrs-jasher-room-interior .floor-rm {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
}
.scn-mrs-jasher-room-interior .fireplace-rm {
  position: absolute; bottom: 18%; left: 25%; width: 50%; height: 55%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-room-interior .fire-rm {
  position: absolute; bottom: 30%; left: 33%; width: 34%; height: 35%;
  background: radial-gradient(circle at 50% 100%, #ff7a20 0%, #cc3300 60%, #551a00 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 50px 25px rgba(255,80,0,0.4), 0 0 100px 50px rgba(200,40,0,0.2);
  animation: rm-fire 1.8s ease-in-out infinite alternate;
}
.scn-mrs-jasher-room-interior .chair-rm {
  position: absolute; bottom: 15%; left: 12%; width: 25%; height: 50%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 5px 8px 15px rgba(0,0,0,0.6);
  transform: scaleX(0.9);
}
.scn-mrs-jasher-room-interior .table-rm {
  position: absolute; bottom: 20%; left: 45%; width: 20%; height: 15%;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 5px 10px rgba(0,0,0,0.3);
}
.scn-mrs-jasher-room-interior .lamp-rm {
  position: absolute; bottom: 35%; left: 48%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffcc88 0%, #cc8844 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 20px 5px rgba(255,200,100,0.5);
  animation: rm-lamp 5s ease-in-out infinite alternate;
}
.scn-mrs-jasher-room-interior .curtain-rm {
  position: absolute; top: 0; right: 5%; width: 15%; height: 80%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 0 30% 30% 0 / 0 20% 20% 0;
  filter: blur(2px);
  opacity: 0.6;
  animation: rm-curtain 12s ease-in-out infinite alternate;
}
@keyframes rm-fire { 0% { transform: scale(1) rotate(0deg) translateY(0) } 50% { transform: scale(1.08) rotate(2deg) translateY(-3px) } 100% { transform: scale(0.92) rotate(-2deg) translateY(1px) } }
@keyframes rm-lamp { 0% { box-shadow: 0 0 15px 3px rgba(255,200,100,0.4); opacity: 0.8 } 50% { box-shadow: 0 0 30px 8px rgba(255,220,120,0.6); opacity: 1 } 100% { box-shadow: 0 0 18px 4px rgba(255,200,100,0.5); opacity: 0.9 } }
@keyframes rm-curtain { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-5px) rotate(-1deg) } 100% { transform: translateX(0) rotate(1deg) } }

.scn-mrs-jasher-tea-time {
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 40%, #2a1a0a 100%),
              radial-gradient(ellipse at 50% 60%, #b86a2a 0%, transparent 70%);
}
.scn-mrs-jasher-tea-time .room-tea {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  box-shadow: inset 0 -15px 30px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-tea-time .fire-tea {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 45%;
  background: radial-gradient(circle at 50% 100%, #ff7a20 0%, #cc3300 60%, #551a00 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 60px 30px rgba(255,80,0,0.4), 0 0 120px 60px rgba(200,40,0,0.2);
  animation: tea-fire 2.2s ease-in-out infinite alternate;
}
.scn-mrs-jasher-tea-time .sofa-tea {
  position: absolute; bottom: 15%; left: 15%; width: 40%; height: 35%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 5px 8px 20px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-tea-time .table-tea {
  position: absolute; bottom: 22%; left: 38%; width: 24%; height: 12%;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: scaleX(1.2);
}
.scn-mrs-jasher-tea-time .cup-tea {
  position: absolute; bottom: 28%; left: 42%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: tea-cup 6s ease-in-out infinite;
}
.scn-mrs-jasher-tea-time .lamp-tea {
  position: absolute; bottom: 40%; left: 50%; width: 10%; height: 18%;
  background: radial-gradient(circle at 50% 80%, #ffcc88 0%, #cc8844 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(255,200,100,0.6), 0 0 60px 20px rgba(255,180,80,0.3);
  animation: tea-lamp 4s ease-in-out infinite alternate;
}
.scn-mrs-jasher-tea-time .figure-tea-a {
  position: absolute; bottom: 18%; left: 20%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tea-fig-a 10s ease-in-out infinite;
}
.scn-mrs-jasher-tea-time .figure-tea-b {
  position: absolute; bottom: 18%; right: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tea-fig-b 14s ease-in-out infinite;
}
.scn-mrs-jasher-tea-time .glow-tea {
  position: absolute; bottom: 45%; left: 35%; width: 30%; height: 25%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,200,100,0.3) 0%, transparent 70%);
  filter: blur(20px);
  animation: tea-glow 5s ease-in-out infinite alternate;
}
@keyframes tea-fire { 0% { transform: scale(1) rotate(0deg) translateY(0) } 50% { transform: scale(1.06) rotate(2deg) translateY(-2px) } 100% { transform: scale(0.94) rotate(-2deg) translateY(1px) } }
@keyframes tea-cup { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } }
@keyframes tea-lamp { 0% { box-shadow: 0 0 25px 6px rgba(255,200,100,0.5); opacity: 0.85; transform: scale(1) } 50% { box-shadow: 0 0 40px 12px rgba(255,220,120,0.7); opacity: 1; transform: scale(1.05) } 100% { box-shadow: 0 0 28px 7px rgba(255,200,100,0.55); opacity: 0.9; transform: scale(0.98) } }
@keyframes tea-fig-a { 0%,100% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(4px) rotate(4deg) } 75% { transform: translateX(2px) rotate(1deg) } }
@keyframes tea-fig-b { 0%,100% { transform: translateX(0) rotate(0) } 33% { transform: translateX(-3px) rotate(-2deg) } 66% { transform: translateX(-1px) rotate(-1deg) } }
@keyframes tea-glow { 0% { opacity: 0.4 } 50% { opacity: 0.7 } 100% { opacity: 0.5 } }

/* hope-defends-random */
.scn-hope-defends-random {
  background: linear-gradient(180deg, #c8a070 0%, #8b6f47 100%), radial-gradient(ellipse at 50% 30%, #e8d5b0 0%, transparent 70%);
}
.scn-hope-defends-random .stair-back { position:absolute; inset:0 0 20% 0; background: linear-gradient(90deg, #5a3e2e 0%, #7a5a3a 50%, #5a3e2e 100%); animation: hdr-pulse 6s ease-in-out infinite; }
.scn-hope-defends-random .stair-step { position:absolute; left:10%; right:10%; height:8%; background: linear-gradient(180deg, #a08060 0%, #6a4a2a 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,.3); }
.scn-hope-defends-random .s1 { bottom:25%; }
.scn-hope-defends-random .s2 { bottom:33%; }
.scn-hope-defends-random .s3 { bottom:41%; }
.scn-hope-defends-random .wall-left { position:absolute; left:0; top:0; bottom:20%; width:10%; background: linear-gradient(90deg, #4a2e1a 0%, #3a1e0a 100%); }
.scn-hope-defends-random .wall-right { position:absolute; right:0; top:0; bottom:20%; width:10%; background: linear-gradient(270deg, #4a2e1a 0%, #3a1e0a 100%); }
.scn-hope-defends-random .figure-hope { position:absolute; bottom:38%; left:50%; width:20px; height:50px; transform:translateX(-50%) rotate(2deg); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation: hdr-descend 8s ease-in-out infinite; }
.scn-hope-defends-random .light-beam { position:absolute; top:0; left:35%; right:35%; bottom:40%; background: linear-gradient(180deg, rgba(255,235,180,.4) 0%, rgba(255,235,180,0) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: hdr-flicker 3s ease-in-out infinite alternate; }
.scn-hope-defends-random .railing { position:absolute; bottom:20%; left:15%; right:15%; height:4px; background: #4a2e1a; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: hdr-shake 7s ease-in-out infinite; }
@keyframes hdr-pulse { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes hdr-descend { 0% { transform:translateX(-50%) translateY(-10px) rotate(3deg) } 25% { transform:translateX(-45%) translateY(0) rotate(0deg) } 50% { transform:translateX(-55%) translateY(-5px) rotate(-2deg) } 75% { transform:translateX(-50%) translateY(0) rotate(1deg) } 100% { transform:translateX(-50%) translateY(-10px) rotate(3deg) } }
@keyframes hdr-flicker { 0% { opacity:.6; transform:scaleY(.9) } 50% { opacity:1; transform:scaleY(1.1) } 100% { opacity:.7; transform:scaleY(.95) } }
@keyframes hdr-shake { 0%,100% { transform:translateY(0) } 25% { transform:translateY(-1px) } 50% { transform:translateY(1px) } 75% { transform:translateY(-2px) } }

/* plan-to-confront-random */
.scn-plan-to-confront-random {
  background: linear-gradient(180deg, #b08050 0%, #805030 100%), radial-gradient(ellipse at 60% 40%, #e0c090 0%, transparent 60%);
}
.scn-plan-to-confront-random .room-bg { position:absolute; inset:0 0 10% 0; background: linear-gradient(135deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; animation: pcr-shift 10s ease-in-out infinite; }
.scn-plan-to-confront-random .table { position:absolute; bottom:20%; left:30%; right:30%; height:15%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-plan-to-confront-random .figure-archie { position:absolute; bottom:25%; left:25%; width:22px; height:55px; background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: pcr-stance 5s ease-in-out infinite; }
.scn-plan-to-confront-random .figure-hervey { position:absolute; bottom:25%; left:55%; width:24px; height:58px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: pcr-lean 6s ease-in-out infinite; }
.scn-plan-to-confront-random .lamp { position:absolute; bottom:50%; left:50%; width:12px; height:18px; transform:translateX(-50%); background: radial-gradient(circle, #ffd080 0%, #c09050 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 6px #ffd060; animation: pcr-glow 3s ease-in-out infinite alternate; }
.scn-plan-to-confront-random .light-cone { position:absolute; bottom:55%; left:40%; right:40%; height:25%; background: linear-gradient(180deg, rgba(255,220,160,.3) 0%, transparent 100%); clip-path: polygon(30% 0, 70% 0, 80% 100%, 20% 100%); animation: pcr-sway 4s ease-in-out infinite; }
.scn-plan-to-confront-random .shadow-don { position:absolute; bottom:10%; left:10%; width:30%; height:40%; background: radial-gradient(ellipse at 50% 60%, rgba(0,0,0,.4) 0%, transparent 70%); animation: pcr-creep 8s ease-in-out infinite; }
@keyframes pcr-shift { 0% { background-position: 0% 0% } 50% { background-position: 10% 5% } 100% { background-position: 0% 0% } }
@keyframes pcr-stance { 0% { transform: rotate(-2deg) } 25% { transform: rotate(3deg) translateX(3px) } 50% { transform: rotate(-1deg) } 75% { transform: rotate(2deg) translateX(-2px) } 100% { transform: rotate(-2deg) } }
@keyframes pcr-lean { 0% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(5deg) translateY(-2px) } 60% { transform: rotate(-3deg) translateY(1px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes pcr-glow { 0% { box-shadow: 0 0 15px 4px #c09050; opacity:.8 } 50% { box-shadow: 0 0 30px 10px #ffd060; opacity:1 } 100% { box-shadow: 0 0 20px 6px #c09050; opacity:.9 } }
@keyframes pcr-sway { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }
@keyframes pcr-creep { 0% { opacity:.3; transform: scale(1) } 50% { opacity:.6; transform: scale(1.1) } 100% { opacity:.3; transform: scale(1) } }

/* going-to-fort */
.scn-going-to-fort {
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 50%, #3a4a5a 100%), radial-gradient(ellipse at 50% 80%, #5a6a7a 0%, transparent 70%);
}
.scn-going-to-fort .sky-overcast { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 100%); animation: gtf-roll 12s linear infinite; }
.scn-going-to-fort .clouds-a { position:absolute; top:10%; left:-20%; width:70%; height:25%; background: linear-gradient(180deg, rgba(160,170,180,.5) 0%, rgba(160,170,180,.1) 100%); border-radius: 50%; filter: blur(8px); animation: gtf-drift-a 40s linear infinite; }
.scn-going-to-fort .clouds-b { position:absolute; top:20%; right:-15%; width:50%; height:20%; background: linear-gradient(180deg, rgba(140,150,160,.4) 0%, rgba(140,150,160,.05) 100%); border-radius: 50%; filter: blur(6px); animation: gtf-drift-b 55s linear infinite reverse; }
.scn-going-to-fort .fort-walls { position:absolute; bottom:20%; left:15%; right:15%; height:30%; background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%; box-shadow: inset 0 8px 20px rgba(0,0,0,.4); animation: gtf-breathe 8s ease-in-out infinite; }
.scn-going-to-fort .fort-tower { position:absolute; bottom:30%; left:30%; width:20%; height:45%; background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%); border-radius: 10% 10% 5% 5% / 30% 30% 5% 5%; transform: skewX(-5deg); box-shadow: -8px 0 10px rgba(0,0,0,.3); }
.scn-going-to-fort .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%); border-radius: 40% 60% 0 0 / 80% 70% 0 0; }
.scn-going-to-fort .figure-archie { position:absolute; bottom:12%; left:25%; width:20px; 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: gtf-sit 7s ease-in-out infinite; }
@keyframes gtf-roll { 0% { background-position: 0% 0% } 100% { background-position: 100% 0% } }
@keyframes gtf-drift-a { 0% { transform: translateX(0) } 100% { transform: translateX(160vw) } }
@keyframes gtf-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-140vw) } }
@keyframes gtf-breathe { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes gtf-sit { 0% { transform: rotate(-3deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-1px) } 50% { transform: rotate(-1deg) translateY(0) } 75% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }

/* waiting-for-random */
.scn-waiting-for-random {
  background: linear-gradient(180deg, #b08050 0%, #7a5a3a 100%), radial-gradient(ellipse at 50% 50%, #d0b080 0%, transparent 60%);
}
.scn-waiting-for-random .room-bg { position:absolute; inset:0 0 15% 0; background: linear-gradient(135deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 0 0 20% 20% / 0 0 15% 15%; }
.scn-waiting-for-random .mummy-case { position:absolute; bottom:15%; left:35%; right:35%; height:55%; background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%); border-radius: 10% 10% 5% 5% / 30% 30% 5% 5%; box-shadow: 0 8px 20px rgba(0,0,0,.5); animation: wfr-tilt 8s ease-in-out infinite; }
.scn-waiting-for-random .mummy { position:absolute; bottom:20%; left:40%; right:40%; height:40%; background: linear-gradient(180deg, #c0b090 0%, #8a7a6a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%; clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%); animation: wfr-writhe 6s ease-in-out infinite; }
.scn-waiting-for-random .emerald-glow { position:absolute; bottom:40%; left:45%; width:20px; height:20px; background: radial-gradient(circle, #80ff80 0%, #40a040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 15px rgba(80,200,80,.4); animation: wfr-glint 3s ease-in-out infinite alternate; }
.scn-waiting-for-random .professor { position:absolute; bottom:12%; left:20%; width:22px; height:55px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: wfr-pace 5s ease-in-out infinite; }
.scn-waiting-for-random .desk { position:absolute; bottom:12%; left:65%; right:8%; height:12%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-waiting-for-random .lamp { position:absolute; bottom:30%; left:70%; width:10px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c09050 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 15px 4px #c09050; animation: wfr-lamp 4s ease-in-out infinite alternate; }
@keyframes wfr-tilt { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes wfr-writhe { 0% { transform: translateY(0) scaleX(1) } 25% { transform: translateY(-3px) scaleX(1.02) } 50% { transform: translateY(0) scaleX(.98) } 75% { transform: translateY(-2px) scaleX(1.01) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes wfr-glint { 0% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.3) } 100% { opacity:.8; transform: scale(1.1) } }
@keyframes wfr-pace { 0% { transform: rotate(-5deg) translateX(0) } 25% { transform: rotate(2deg) translateX(5px) } 50% { transform: rotate(-3deg) translateX(0) } 75% { transform: rotate(4deg) translateX(-4px) } 100% { transform: rotate(-5deg) translateX(0) } }
@keyframes wfr-lamp { 0% { box-shadow: 0 0 12px 3px #c09050; opacity:.8 } 50% { box-shadow: 0 0 25px 8px #ffd060; opacity:1 } 100% { box-shadow: 0 0 16px 5px #c09050; opacity:.9 } }

.scn-jasher-cottage-fog {
  background:
    linear-gradient(180deg, #0e0e1e 0%, #1a1a3e 40%, #2a2a4e 100%),
    radial-gradient(ellipse at 50% 120%, #1e2a4e 0%, transparent 70%);
}
.scn-jasher-cottage-fog .fog-layer {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(200,210,230,0.35) 0%, transparent 60%);
  filter: blur(20px); animation: fog-drift 25s ease-in-out infinite alternate;
}
.scn-jasher-cottage-fog .cottage {
  position: absolute; bottom: 25%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 90px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1010 100%);
  border-radius: 15% 15% 5% 5%; box-shadow: 0 4px 20px rgba(0,0,0,0.6);
}
.scn-jasher-cottage-fog .door {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 50px; background: #0e0a08; border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.5); animation: door-open 6s ease-in-out infinite;
}
.scn-jasher-cottage-fog .window-glow {
  position: absolute; bottom: 38%; left: 50%; transform: translateX(-50%);
  width: 16px; height: 20px; background: radial-gradient(circle, #c8a060 0%, #a07030 70%);
  border-radius: 4px; box-shadow: 0 0 20px 6px rgba(200,160,96,0.5), 0 0 40px 12px rgba(200,160,96,0.2);
  animation: glow-pulse 3s ease-in-out infinite alternate;
}
.scn-jasher-cottage-fog .figure {
  position: absolute; bottom: 27%; left: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1515 0%, #0a0606 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: figure-run 4s ease-in-out infinite;
}
.scn-jasher-cottage-fog .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
}
@keyframes fog-drift {
  0% { transform: translateX(-10%) scale(1); opacity:0.8; }
  50% { transform: translateX(15%) scale(1.05); opacity:1; }
  100% { transform: translateX(-5%) scale(0.95); opacity:0.7; }
}
@keyframes door-open {
  0% { transform: translateX(-50%) scaleX(1); background: #0e0a08; }
  40% { transform: translateX(-50%) scaleX(1.4); background: #1a120e; }
  100% { transform: translateX(-50%) scaleX(1); background: #0e0a08; }
}
@keyframes glow-pulse {
  0% { box-shadow: 0 0 15px 3px rgba(200,160,96,0.4), 0 0 30px 8px rgba(200,160,96,0.2); opacity:0.8; }
  50% { box-shadow: 0 0 25px 8px rgba(200,160,96,0.7), 0 0 50px 16px rgba(200,160,96,0.3); opacity:1; }
  100% { box-shadow: 0 0 18px 5px rgba(200,160,96,0.5), 0 0 35px 10px rgba(200,160,96,0.2); opacity:0.85; }
}
@keyframes figure-run {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(-8px) translateY(-2px) rotate(3deg); }
  50% { transform: translateX(-16px) translateY(0) rotate(-1deg); }
  75% { transform: translateX(-24px) translateY(-2px) rotate(2deg); }
  100% { transform: translateX(-32px) translateY(0) rotate(0); }
}

.scn-jasher-cottage-parlor {
  background:
    linear-gradient(180deg, #1a1010 0%, #2a1a1a 50%, #1a0e0e 100%),
    radial-gradient(ellipse at 50% 70%, #3a2020 0%, transparent 60%);
}
.scn-jasher-cottage-parlor .bg-walls {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a1e1a 0%, #3a2a22 50%, #2a1e1a 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-jasher-cottage-parlor .lamp-glow {
  position: absolute; top: 20%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 40px; background: radial-gradient(circle, #d0a070 0%, #a07040 60%, transparent 80%);
  border-radius: 50%; filter: blur(5px);
  box-shadow: 0 0 60px 20px rgba(200,120,50,0.6), 0 0 120px 40px rgba(200,120,50,0.3);
  animation: lamp-flicker 2s ease-in-out infinite alternate;
}
.scn-jasher-cottage-parlor .passage {
  position: absolute; bottom: 35%; left: 20%; width: 60%; height: 40%;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
  animation: passage-shift 10s ease-in-out infinite;
}
.scn-jasher-cottage-parlor .figure-left {
  position: absolute; bottom: 30%; left: 25%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom; animation: figure-idle 5s ease-in-out infinite;
}
.scn-jasher-cottage-parlor .figure-center {
  position: absolute; bottom: 30%; left: 48%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #1e1612 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom; animation: figure-idle 5s ease-in-out infinite 2s;
}
.scn-jasher-cottage-parlor .figure-right {
  position: absolute; bottom: 30%; right: 20%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom; animation: figure-idle 5s ease-in-out infinite 4s;
}
.scn-jasher-cottage-parlor .table {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 50px; height: 8px; background: #2a1a12; border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
}
@keyframes lamp-flicker {
  0% { box-shadow: 0 0 50px 15px rgba(200,120,50,0.5), 0 0 100px 30px rgba(200,120,50,0.2); transform: translateX(-50%) scale(1); }
  50% { box-shadow: 0 0 70px 25px rgba(200,120,50,0.7), 0 0 140px 50px rgba(200,120,50,0.3); transform: translateX(-50%) scale(1.03); }
  100% { box-shadow: 0 0 60px 20px rgba(200,120,50,0.6), 0 0 120px 40px rgba(200,120,50,0.25); transform: translateX(-50%) scale(0.98); }
}
@keyframes passage-shift {
  0% { transform: translateY(0); opacity:0.7; }
  50% { transform: translateY(-4px); opacity:0.9; }
  100% { transform: translateY(0); opacity:0.7; }
}
@keyframes figure-idle {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  75% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}

.scn-jasher-cottage-vigil {
  background:
    linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 40%, #2a2a3e 100%),
    radial-gradient(ellipse at 50% 20%, #2a2a4e 0%, transparent 70%);
}
.scn-jasher-cottage-vigil .bg-room {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
}
.scn-jasher-cottage-vigil .window {
  position: absolute; top: 15%; right: 15%;
  width: 50px; height: 70px; background: linear-gradient(180deg, #2a2a4e 0%, #1a1a3e 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  border: 2px solid #3a3a5a;
}
.scn-jasher-cottage-vigil .window::after {
  content:''; position:absolute; top:30%; left:10%; width:80%; height:40%;
  background: radial-gradient(ellipse, rgba(200,200,220,0.2) 0%, transparent 70%);
  filter: blur(3px);
}
.scn-jasher-cottage-vigil .figure-vigil {
  position: absolute; bottom: 30%; left: 30%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1a161e 0%, #0a0610 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom; animation: vigil-stand 8s ease-in-out infinite;
}
.scn-jasher-cottage-vigil .lantern {
  position: absolute; bottom: 35%; left: 22%; width: 12px; height: 16px;
  background: radial-gradient(circle, #c0a060 0%, #806030 70%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 25px 8px rgba(192,160,96,0.6);
  animation: lantern-sway 4s ease-in-out infinite;
}
.scn-jasher-cottage-vigil .shadow {
  position: absolute; bottom: 25%; left: 20%; width: 120px; height: 60px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  transform: skewX(-20deg); animation: shadow-pull 6s ease-in-out infinite alternate;
}
.scn-jasher-cottage-vigil .candle-glow {
  position: absolute; bottom: 40%; left: 40%; width: 10px; height: 10px;
  background: radial-gradient(circle, #e0c080 0%, #c0a060 60%, transparent 80%);
  border-radius: 50%; box-shadow: 0 0 20px 5px rgba(224,192,128,0.5), 0 0 40px 10px rgba(224,192,128,0.2);
  animation: candle-wax 3s ease-in-out infinite alternate;
}
@keyframes vigil-stand {
  0% { transform: translateY(0) rotate(0); }
  30% { transform: translateY(-2px) rotate(2deg); }
  60% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes lantern-sway {
  0% { transform: rotate(-5deg) translateX(-2px); }
  25% { transform: rotate(5deg) translateX(2px); }
  50% { transform: rotate(-3deg) translateX(-1px); }
  75% { transform: rotate(4deg) translateX(1px); }
  100% { transform: rotate(-5deg) translateX(-2px); }
}
@keyframes shadow-pull {
  0% { transform: skewX(-20deg) scaleX(1); opacity:0.7; }
  50% { transform: skewX(-25deg) scaleX(1.1); opacity:0.9; }
  100% { transform: skewX(-20deg) scaleX(1); opacity:0.7; }
}
@keyframes candle-wax {
  0% { box-shadow: 0 0 15px 3px rgba(224,192,128,0.4); transform: scale(1); }
  50% { box-shadow: 0 0 25px 8px rgba(224,192,128,0.7); transform: scale(1.1); }
  100% { box-shadow: 0 0 18px 5px rgba(224,192,128,0.5); transform: scale(0.95); }
}

.scn-jasher-cottage-deathbed {
  background:
    linear-gradient(180deg, #0e0a0a 0%, #1a1010 50%, #1e1212 100%),
    radial-gradient(ellipse at 50% 80%, #2a1a1a 0%, transparent 70%);
}
.scn-jasher-cottage-deathbed .bg-chamber {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1a1010 0%, #0e0808 100%);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
}
.scn-jasher-cottage-deathbed .bed {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 100px; height: 40px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 12px rgba(0,0,0,0.7);
}
.scn-jasher-cottage-deathbed .figure-bending {
  position: absolute; bottom: 30%; left: 58%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center; transform: rotate(15deg);
  animation: bend-over 5s ease-in-out infinite alternate;
}
.scn-jasher-cottage-deathbed .pillow {
  position: absolute; bottom: 40%; left: 44%; width: 30px; height: 16px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.scn-jasher-cottage-deathbed .blanket {
  position: absolute; bottom: 30%; left: 45%; width: 70px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 50% 50%;
  transform: rotate(-5deg);
}
.scn-jasher-cottage-deathbed .lamp-dim {
  position: absolute; top: 20%; left: 20%; width: 20px; height: 28px;
  background: radial-gradient(circle, #a08050 0%, #705030 60%, transparent 80%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 8px rgba(160,128,80,0.4);
  animation: lamp-fade 6s ease-in-out infinite alternate;
}
.scn-jasher-cottage-deathbed .hand {
  position: absolute; bottom: 37%; left: 48%; width: 8px; height: 12px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(30deg);
  animation: hand-clutch 4s ease-in-out infinite;
}
@keyframes bend-over {
  0% { transform: rotate(10deg) translateY(0) scaleY(1); }
  50% { transform: rotate(20deg) translateY(-4px) scaleY(1.05); }
  100% { transform: rotate(10deg) translateY(0) scaleY(1); }
}
@keyframes lamp-fade {
  0% { box-shadow: 0 0 25px 5px rgba(160,128,80,0.3); opacity:0.6; }
  50% { box-shadow: 0 0 35px 10px rgba(160,128,80,0.5); opacity:0.9; }
  100% { box-shadow: 0 0 20px 3px rgba(160,128,80,0.2); opacity:0.5; }
}
@keyframes hand-clutch {
  0% { transform: rotate(30deg) scale(1); }
  25% { transform: rotate(35deg) scale(1.1); }
  50% { transform: rotate(28deg) scale(0.95); }
  75% { transform: rotate(32deg) scale(1.05); }
  100% { transform: rotate(30deg) scale(1); }
}

/* braddock‑harshness – dim interior, harsh lamp, dark mood */
.scn-braddock-harshness {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2010 50%, #1a1010 100%),
              radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-braddock-harshness .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0e0e0e 0%, #1a1410 40%, #0a0806 100%);
  animation: bh-room 20s ease-in-out infinite alternate;
}
.scn-braddock-harshness .lamp {
  position: absolute; top: 20%; left: 35%;
  width: 12px; height: 20px;
  background: #c08040;
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 0 2px #d09050;
}
.scn-braddock-harshness .lamp-glow {
  position: absolute; top: 15%; left: 30%;
  width: 80px; height: 70px;
  background: radial-gradient(ellipse, rgba(192,128,64,0.5) 0%, rgba(192,128,64,0.1) 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: bh-glow 4s ease-in-out infinite alternate;
}
.scn-braddock-harshness .figure-braddock {
  position: absolute; bottom: 25%; left: 30%;
  width: 40px; height: 110px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: bh-figure 6s ease-in-out infinite;
}
.scn-braddock-harshness .chair {
  position: absolute; bottom: 18%; left: 45%;
  width: 50px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6);
  animation: bh-chair 12s ease-in-out infinite alternate;
}
.scn-braddock-harshness .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  filter: blur(3px);
}
@keyframes bh-room {
  0% { opacity: 0.9; }
  50% { opacity: 0.75; }
  100% { opacity: 0.85; }
}
@keyframes bh-glow {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.6; }
}
@keyframes bh-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(-2px) rotate(-1deg); }
  75% { transform: translateX(4px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bh-chair {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}

/* cockatoo‑stabbing – dark room, struggle, stabbing action */
.scn-cockatoo-stabbing {
  background: linear-gradient(180deg, #0c080c 0%, #1a0e0a 50%, #0a0608 100%),
              radial-gradient(ellipse at 40% 50%, #2a1a1a 0%, transparent 60%);
}
.scn-cockatoo-stabbing .room-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0a0808 0%, #140c0a 40%, #0a0606 100%);
  animation: cs-room 15s ease-in-out infinite alternate;
}
.scn-cockatoo-stabbing .figure-attacker {
  position: absolute; bottom: 20%; left: 25%;
  width: 50px; height: 120px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cs-attacker 3s ease-in-out infinite;
}
.scn-cockatoo-stabbing .figure-victim {
  position: absolute; bottom: 22%; right: 30%;
  width: 45px; height: 110px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: cs-victim 3s ease-in-out infinite;
}
.scn-cockatoo-stabbing .knife {
  position: absolute; bottom: 40%; left: 38%;
  width: 4px; height: 30px;
  background: #c0b0a0;
  border-radius: 20% 20% 50% 50%;
  transform: rotate(45deg);
  box-shadow: 0 0 4px rgba(192,176,160,0.5);
  animation: cs-knife 0.8s ease-in-out infinite alternate;
}
.scn-cockatoo-stabbing .blood-drip {
  position: absolute; bottom: 38%; left: 42%;
  width: 8px; height: 20px;
  background: #702243; /* mulberry, desaturated red */
  border-radius: 50% 50% 30% 30%;
  animation: cs-blood 2s ease-in-out infinite;
}
.scn-cockatoo-stabbing .table {
  position: absolute; bottom: 12%; left: 20%; right: 20%;
  height: 8px;
  background: linear-gradient(90deg, #2a1a12, #3a2a1a, #2a1a12);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
@keyframes cs-room {
  0% { opacity: 0.8; }
  50% { opacity: 0.65; }
  100% { opacity: 0.75; }
}
@keyframes cs-attacker {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(-3deg); }
  100% { transform: translateX(2px) rotate(2deg); }
}
@keyframes cs-victim {
  0% { transform: translateX(0) rotate(0deg) scale(1); }
  50% { transform: translateX(6px) rotate(5deg) scale(0.95); }
  100% { transform: translateX(0) rotate(0deg) scale(1); }
}
@keyframes cs-knife {
  0% { transform: rotate(40deg) translateX(0); }
  100% { transform: rotate(50deg) translateX(2px); }
}
@keyframes cs-blood {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(5px) scale(0.9); opacity: 0.6; }
  100% { transform: translateY(10px) scale(0.8); opacity: 0.3; }
}

/* conversation‑concluded – tense dialog, dim interior, two figures */
.scn-conversation-concluded {
  background: linear-gradient(180deg, #1a1410 0%, #2a1a12 50%, #0e0a08 100%),
              radial-gradient(ellipse at 60% 40%, #3a2a1a 0%, transparent 65%);
}
.scn-conversation-concluded .room-bg-cc {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0e0c0a 0%, #1a1410 40%, #0a0806 100%);
  animation: cc-room 18s ease-in-out infinite alternate;
}
.scn-conversation-concluded .figure-left {
  position: absolute; bottom: 22%; left: 20%;
  width: 45px; height: 115px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cc-figure 5s ease-in-out infinite;
}
.scn-conversation-concluded .figure-right {
  position: absolute; bottom: 22%; right: 20%;
  width: 45px; height: 115px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: cc-figure 5s ease-in-out infinite reverse;
}
.scn-conversation-concluded .table-cc {
  position: absolute; bottom: 15%; left: 25%; right: 25%;
  height: 6px;
  background: linear-gradient(90deg, #2a1a12, #3a2a1a, #2a1a12);
  border-radius: 8%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.5);
}
.scn-conversation-concluded .door-cc {
  position: absolute; top: 10%; right: 8%;
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a100a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.4);
  animation: cc-door 10s ease-in-out infinite alternate;
}
.scn-conversation-concluded .clock-cc {
  position: absolute; top: 8%; left: 12%;
  width: 20px; height: 20px;
  background: radial-gradient(circle, #c0a070 0%, #a08050 60%, #806030 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(192,160,112,0.4);
  animation: cc-clock 8s ease-in-out infinite alternate;
}
.scn-conversation-concluded .lamp-cc {
  position: absolute; top: 25%; left: 45%;
  width: 10px; height: 16px;
  background: #b08040;
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 12px 4px rgba(176,128,64,0.3);
  animation: cc-lamp 3s ease-in-out infinite alternate;
}
@keyframes cc-room {
  0% { opacity: 0.85; }
  50% { opacity: 0.7; }
  100% { opacity: 0.8; }
}
@keyframes cc-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(-1px) rotate(-0.5deg); }
  75% { transform: translateX(3px) rotate(1.5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes cc-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
  100% { transform: scaleY(1.01); }
}
@keyframes cc-clock {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(15deg); }
  100% { transform: rotate(-10deg); }
}
@keyframes cc-lamp {
  0% { opacity: 0.6; box-shadow: 0 0 8px 2px rgba(176,128,64,0.2); }
  100% { opacity: 1; box-shadow: 0 0 16px 6px rgba(176,128,64,0.5); }
}

/* walk‑to‑pyramids – moonlit night, calm, figures walking toward pyramids */
.scn-walk-to-pyramids {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 40%, #2a2a4e 100%),
              radial-gradient(ellipse at 50% 10%, #3a3a6a 0%, transparent 70%);
}
.scn-walk-to-pyramids .sky-wp {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 60%, #2a2a4e 100%);
  animation: wp-sky 30s ease-in-out infinite alternate;
}
.scn-walk-to-pyramids .moon-wp {
  position: absolute; top: 8%; right: 25%;
  width: 40px; height: 40px;
  background: radial-gradient(circle, #e0e0f0 0%, #c0c0e0 40%, #a0a0c0 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,200,240,0.3), 0 0 60px 20px rgba(200,200,240,0.1);
  animation: wp-moon 20s ease-in-out infinite alternate;
}
.scn-walk-to-pyramids .pyramid-left {
  position: absolute; bottom: 25%; left: 20%;
  width: 0; height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-bottom: 90px solid #1a1a2a;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,0.5));
  animation: wp-pyramid 15s ease-in-out infinite alternate;
}
.scn-walk-to-pyramids .pyramid-right {
  position: absolute; bottom: 25%; right: 15%;
  width: 0; height: 0;
  border-left: 70px solid transparent;
  border-right: 70px solid transparent;
  border-bottom: 105px solid #1a1a3a;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,0.5));
  animation: wp-pyramid 15s ease-in-out infinite alternate-reverse;
}
.scn-walk-to-pyramids .ground-wp {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.4);
}
.scn-walk-to-pyramids .figure-a-wp {
  position: absolute; bottom: 18%; left: 35%;
  width: 14px; height: 35px;
  background: #0a0a1a;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wp-walk 4s ease-in-out infinite;
}
.scn-walk-to-pyramids .figure-b-wp {
  position: absolute; bottom: 18%; left: 42%;
  width: 14px; height: 35px;
  background: #0e0e1e;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wp-walk 4s ease-in-out infinite 0.5s;
}
@keyframes wp-sky {
  0% { opacity: 0.8; }
  50% { opacity: 0.95; }
  100% { opacity: 0.85; }
}
@keyframes wp-moon {
  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 wp-pyramid {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(0.98); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes wp-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(0deg); }
}

.scn-hervey-explains { background: linear-gradient(180deg, #2a1e1a 0%, #1a120f 40%, #0d0908 100%), radial-gradient(ellipse at 50% 80%, #3a2515 0%, transparent 80%); }
.scn-hervey-explains .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #1a120f 0%, #2a1e1a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
.scn-hervey-explains .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1e1511 0%, #120c08 100%); box-shadow: inset 0 12px 20px rgba(0,0,0,.5); }
.scn-hervey-explains .lamp-glow { position:absolute; bottom:55%; left:30%; width:80px; height:80px; background: radial-gradient(circle, rgba(200,150,80,.5) 0%, transparent 70%); border-radius:50%; filter:blur(12px); animation: he1-glow 3s ease-in-out infinite alternate; }
.scn-hervey-explains .lamp { position:absolute; bottom:55%; left:calc(30% + 30px); width:20px; height:30px; background: linear-gradient(180deg, #c8a050 0%, #8a6020 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 20px 8px rgba(200,150,80,.4), 0 0 40px 16px rgba(200,150,80,.2); transform:rotate(-5deg); }
.scn-hervey-explains .window-frame { position:absolute; top:10%; right:15%; width:80px; height:100px; border:4px solid #1a140f; background: #1a140f; border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); }
.scn-hervey-explains .window-pane { position:absolute; top:12%; right:17%; width:74px; height:94px; background: linear-gradient(180deg, rgba(180,160,140,.25) 0%, rgba(100,80,60,.1) 100%); border-radius:2px; box-shadow: inset 0 0 20px rgba(180,160,140,.1); animation: he1-window 8s ease-in-out infinite alternate; }
.scn-hervey-explains .braddock { position:absolute; bottom:25%; left:20%; width:50px; height:70px; background: linear-gradient(180deg, #2e1e1a 0%, #1a120f 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: he1-braddock 4s ease-in-out infinite; }
.scn-hervey-explains .hervey { position:absolute; bottom:25%; right:20%; width:55px; height:75px; background: linear-gradient(180deg, #3a2520 0%, #1e1511 100%); border-radius:50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: he1-hervey 3s ease-in-out infinite; }
.scn-hervey-explains .cheroot { position:absolute; bottom:48%; right:22%; width:8px; height:12px; background: #5a3a20; border-radius:40% 40% 20% 20%; box-shadow: 0 -2px 8px 2px rgba(200,100,30,.3); transform:rotate(15deg); animation: he1-cheroot 2s ease-in-out infinite alternate; }
@keyframes he1-glow { 0% { opacity:.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.15); } 100% { opacity:.7; transform:scale(1.05); } }
@keyframes he1-window { 0% { opacity:.3; transform:translateY(0); } 50% { opacity:.6; transform:translateY(2px); } 100% { opacity:.4; transform:translateY(0); } }
@keyframes he1-braddock { 0% { transform:rotate(0) translateX(0); } 25% { transform:rotate(2deg) translateX(2px); } 50% { transform:rotate(-1deg) translateX(1px); } 75% { transform:rotate(1deg) translateX(-1px); } 100% { transform:rotate(0) translateX(0); } }
@keyframes he1-hervey { 0% { transform:rotate(0) translateY(0); } 30% { transform:rotate(-3deg) translateY(-2px); } 60% { transform:rotate(5deg) translateY(1px); } 100% { transform:rotate(0) translateY(0); } }
@keyframes he1-cheroot { 0% { transform:rotate(10deg) scale(1); } 100% { transform:rotate(20deg) scale(1.1); } }

.scn-hervey-demand { background: linear-gradient(180deg, #1e1814 0%, #2a1e18 50%, #0a0604 100%), radial-gradient(ellipse at 40% 70%, #3a2515 0%, transparent 70%); }
.scn-hervey-demand .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a120e 0%, #2e1e18 100%); box-shadow: inset 0 0 25px rgba(0,0,0,.5); }
.scn-hervey-demand .table { position:absolute; bottom:30%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #3a2a20 0%, #1a100c 100%); border-radius:4% 4% 2% 2%; box-shadow: 0 -6px 10px rgba(0,0,0,.4); }
.scn-hervey-demand .lamp-glow { position:absolute; bottom:45%; left:50%; width:100px; height:100px; background: radial-gradient(circle, rgba(180,130,70,.5) 0%, transparent 70%); border-radius:50%; filter:blur(15px); animation: he2-glow 3.5s ease-in-out infinite alternate; }
.scn-hervey-demand .lamp { position:absolute; bottom:55%; left:calc(50% - 10px); width:20px; height:35px; background: linear-gradient(180deg, #b89050 0%, #705030 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 20px 6px rgba(180,130,70,.5); }
.scn-hervey-demand .window-frame { position:absolute; top:8%; left:10%; width:70px; height:90px; border:3px solid #1a1410; background: #1a1410; border-radius:4px; box-shadow: inset 0 0 8px rgba(0,0,0,.6); }
.scn-hervey-demand .window-pane { position:absolute; top:10%; left:12%; width:64px; height:84px; background: linear-gradient(180deg, rgba(160,140,120,.2) 0%, rgba(80,60,40,.05) 100%); border-radius:2px; animation: he2-window 10s ease-in-out infinite alternate; }
.scn-hervey-demand .hervey-lean { position:absolute; bottom:25%; right:20%; width:55px; height:70px; background: linear-gradient(180deg, #3a2520 0%, #1a120e 100%); border-radius:50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: he2-hervey-lean 4s ease-in-out infinite; }
.scn-hervey-demand .braddock-sit { position:absolute; bottom:25%; left:20%; width:50px; height:65px; background: linear-gradient(180deg, #2e1e1a 0%, #1a100c 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: he2-braddock-sit 3s ease-in-out infinite; }
.scn-hervey-demand .papers { position:absolute; bottom:42%; left:42%; width:40px; height:10px; background: #8a7a5a; border-radius: 2px; box-shadow: 2px -2px 4px rgba(0,0,0,.3); transform: rotate(-5deg); animation: he2-papers 6s ease-in-out infinite alternate; }
@keyframes he2-glow { 0% { opacity:.5; transform:scale(1); } 50% { opacity:1; transform:scale(1.2); } 100% { opacity:.6; transform:scale(1.05); } }
@keyframes he2-window { 0% { opacity:.2; } 50% { opacity:.5; } 100% { opacity:.3; } }
@keyframes he2-hervey-lean { 0% { transform:rotate(0) translateX(0); } 30% { transform:rotate(8deg) translateX(3px); } 50% { transform:rotate(-4deg) translateX(-2px); } 80% { transform:rotate(5deg) translateX(2px); } 100% { transform:rotate(0) translateX(0); } }
@keyframes he2-braddock-sit { 0% { transform:translateY(0); } 40% { transform:translateY(-2px); } 70% { transform:translateY(1px); } 100% { transform:translateY(0); } }
@keyframes he2-papers { 0% { transform:rotate(-5deg) translateX(0); } 50% { transform:rotate(2deg) translateX(2px); } 100% { transform:rotate(-3deg) translateX(-1px); } }

.scn-hervey-demand-rejected { background: linear-gradient(180deg, #1e1611 0%, #2a1c16 40%, #0a0604 100%), radial-gradient(ellipse at 60% 60%, #3a2010 0%, transparent 75%); }
.scn-hervey-demand-rejected .wall { position:absolute; inset:0 0 32% 0; background: linear-gradient(180deg, #1a100c 0%, #2a1a14 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
.scn-hervey-demand-rejected .floor { position:absolute; bottom:0; left:0; right:0; height:32%; background: linear-gradient(180deg, #1c120e 0%, #0e0806 100%); box-shadow: inset 0 10px 18px rgba(0,0,0,.5); }
.scn-hervey-demand-rejected .lamp-glow { position:absolute; bottom:48%; left:35%; width:120px; height:120px; background: radial-gradient(circle, rgba(190,140,70,.5) 0%, transparent 70%); border-radius:50%; filter:blur(18px); animation: he3-glow 2.8s ease-in-out infinite alternate; }
.scn-hervey-demand-rejected .lamp { position:absolute; bottom:58%; left:calc(35% + 40px); width:22px; height:40px; background: linear-gradient(180deg, #c09850 0%, #785028 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 22px 8px rgba(190,140,70,.6); }
.scn-hervey-demand-rejected .window-frame { position:absolute; top:5%; right:10%; width:70px; height:95px; border:3px solid #1a1410; background: #1a1410; border-radius:4px; box-shadow: inset 0 0 12px rgba(0,0,0,.5); }
.scn-hervey-demand-rejected .window-pane { position:absolute; top:7%; right:12%; width:64px; height:89px; background: linear-gradient(180deg, rgba(160,130,110,.25) 0%, rgba(70,50,30,.05) 100%); border-radius:2px; animation: he3-window 12s ease-in-out infinite alternate; }
.scn-hervey-demand-rejected .hervey-seated { position:absolute; bottom:20%; right:18%; width:55px; height:70px; background: linear-gradient(180deg, #3a2720 0%, #1a120e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: he3-hervey 3.5s ease-in-out infinite; }
.scn-hervey-demand-rejected .braddock-walk { position:absolute; bottom:20%; left:15%; width:45px; height:75px; background: linear-gradient(180deg, #2e1e1a 0%, #140e0a 100%); border-radius:50% 50% 45% 45% / 55% 55% 45% 45%; transform-origin: bottom center; animation: he3-braddock-walk 2s ease-in-out infinite; }
.scn-hervey-demand-rejected .braddock-head { position:absolute; bottom:50%; left:18%; width:16px; height:20px; background: #2a1a14; border-radius: 50%; transform-origin: center; animation: he3-head 2s ease-in-out infinite; }
@keyframes he3-glow { 0% { opacity:.4; transform:scale(1); } 50% { opacity:1; transform:scale(1.15); } 100% { opacity:.6; transform:scale(1.05); } }
@keyframes he3-window { 0% { opacity:.25; } 50% { opacity:.55; } 100% { opacity:.35; } }
@keyframes he3-hervey { 0% { transform:rotate(0); } 40% { transform:rotate(3deg); } 70% { transform:rotate(-2deg); } 100% { transform:rotate(0); } }
@keyframes he3-braddock-walk { 0% { transform:translateX(0) rotate(0); } 20% { transform:translateX(8px) rotate(7deg); } 40% { transform:translateX(16px) rotate(-5deg); } 60% { transform:translateX(8px) rotate(3deg); } 80% { transform:translateX(2px) rotate(-2deg); } 100% { transform:translateX(0) rotate(0); } }
@keyframes he3-head { 0% { transform:translateX(0); } 25% { transform:translateX(8px); } 50% { transform:translateX(4px); } 75% { transform:translateX(10px); } 100% { transform:translateX(0); } }

.scn-hervey-departs { background: linear-gradient(180deg, #1c1410 0%, #2a1c16 40%, #0a0604 100%), radial-gradient(ellipse at 45% 70%, #3a2212 0%, transparent 70%); }
.scn-hervey-departs .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #18100c 0%, #2a1a14 100%); box-shadow: inset 0 0 28px rgba(0,0,0,.5); }
.scn-hervey-departs .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a100c 0%, #0c0806 100%); box-shadow: inset 0 12px 20px rgba(0,0,0,.5); }
.scn-hervey-departs .lamp-glow { position:absolute; bottom:50%; left:55%; width:100px; height:100px; background: radial-gradient(circle, rgba(180,130,70,.45) 0%, transparent 65%); border-radius:50%; filter:blur(14px); animation: he4-glow 3.2s ease-in-out infinite alternate; }
.scn-hervey-departs .lamp { position:absolute; bottom:60%; left:calc(55% - 8px); width:18px; height:32px; background: linear-gradient(180deg, #b8904a 0%, #6a4820 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 20px 6px rgba(180,130,70,.5); }
.scn-hervey-departs .window-frame { position:absolute; top:8%; left:8%; width:65px; height:85px; border:3px solid #1a120e; background: #1a120e; border-radius:4px; box-shadow: inset 0 0 10px rgba(0,0,0,.6); }
.scn-hervey-departs .window-pane { position:absolute; top:10%; left:10%; width:59px; height:79px; background: linear-gradient(180deg, rgba(150,130,110,.2) 0%, rgba(60,40,20,.05) 100%); border-radius:2px; animation: he4-window 9s ease-in-out infinite alternate; }
.scn-hervey-departs .hervey-stand { position:absolute; bottom:22%; left:25%; width:50px; height:80px; background: linear-gradient(180deg, #3a2520 0%, #1a120e 100%); border-radius:50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: he4-hervey-stand 3s ease-in-out infinite; }
.scn-hervey-departs .braddock-chair { position:absolute; bottom:22%; right:22%; width:55px; height:65px; background: linear-gradient(180deg, #2e1e1a 0%, #1a100c 100%); border-radius:50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: he4-braddock 4s ease-in-out infinite; }
.scn-hervey-departs .chair { position:absolute; bottom:18%; right:25%; width:60px; height:50px; background: linear-gradient(180deg, #3a2a20 0%, #1a100c 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 -4px 8px rgba(0,0,0,.3); transform: rotate(2deg); }
@keyframes he4-glow { 0% { opacity:.5; transform:scale(1); } 50% { opacity:1; transform:scale(1.15); } 100% { opacity:.6; transform:scale(1.05); } }
@keyframes he4-window { 0% { opacity:.2; } 50% { opacity:.5; } 100% { opacity:.3; } }
@keyframes he4-hervey-stand { 0% { transform:rotate(0) translateY(0); } 30% { transform:rotate(-2deg) translateY(-3px); } 60% { transform:rotate(3deg) translateY(0); } 100% { transform:rotate(0) translateY(0); } }
@keyframes he4-braddock { 0% { transform:rotate(0); } 40% { transform:rotate(-3deg); } 80% { transform:rotate(2deg); } 100% { transform:rotate(0); } }

.scn-departure-arrangements {
  background: linear-gradient(180deg, #faf3e0 0%, #e8dcc8 50%, #d4c4a8 100%),
              radial-gradient(ellipse at 50% 30%, #fff6e5 0%, transparent 60%);
}
.scn-departure-arrangements .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0e6d3 0%, #dccbb0 100%);
}
.scn-departure-arrangements .window {
  position: absolute; inset: 8% 60% 50% 8%; background: linear-gradient(180deg, #fff8e7 0%, #d9cbb3 100%);
  border-radius: 8% / 12%; box-shadow: inset 0 0 20px rgba(255,200,150,0.15);
  animation: da-window 8s ease-in-out infinite alternate;
}
.scn-departure-arrangements .desk {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 12%;
  background: linear-gradient(180deg, #b0845c 0%, #8a6b48 100%);
  border-radius: 4%; box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.scn-departure-arrangements .chair {
  position: absolute; bottom: 20%; left: 28%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3222 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: da-chair 6s ease-in-out infinite;
}
.scn-departure-arrangements .figure {
  position: absolute; bottom: 20%; left: 35%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  animation: da-figure 10s ease-in-out infinite;
}
.scn-departure-arrangements .lamp {
  position: absolute; bottom: 38%; left: 20%; width: 6%; height: 8%;
  background: radial-gradient(circle, #ffe8b0 0%, #c99850 50%, #a07030 100%);
  border-radius: 50% / 40% 40% 60% 60%;
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.4);
  animation: da-lamp 3s ease-in-out infinite alternate;
}
.scn-departure-arrangements .shadow-rug {
  position: absolute; bottom: 6%; left: 20%; width: 60%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 100%);
  animation: da-rug 15s linear infinite alternate;
}
@keyframes da-window {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.9; transform: scaleY(0.98); }
}
@keyframes da-chair {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(1deg) translateY(-1px); }
  75% { transform: rotate(-1deg) translateY(1px); }
  100% { transform: rotate(0) translateY(0); }
}
@keyframes da-figure {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(2px) rotate(1deg); }
  66% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes da-lamp {
  0% { box-shadow: 0 0 20px 6px rgba(255,200,100,0.3); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 12px rgba(255,220,120,0.7); opacity: 1; }
  100% { box-shadow: 0 0 25px 8px rgba(255,200,100,0.35); opacity: 0.95; }
}
@keyframes da-rug {
  0% { opacity: 0.15; }
  50% { opacity: 0.25; }
  100% { opacity: 0.15; }
}

.scn-marriage-arrangements {
  background: linear-gradient(180deg, #faf0dc 0%, #e8d8b8 50%, #d0bc9a 100%),
              radial-gradient(ellipse at 50% 40%, #fffbee 0%, transparent 70%);
}
.scn-marriage-arrangements .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f5e8d0 0%, #e0ceac 100%);
}
.scn-marriage-arrangements .table {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(180deg, #c09870 0%, #a07850 100%);
  border-radius: 6%; box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-marriage-arrangements .jewel-box {
  position: absolute; bottom: 26%; left: 38%; width: 12%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%);
  border-radius: 10% / 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ma-box 5s ease-in-out infinite;
}
.scn-marriage-arrangements .jewel {
  position: absolute; bottom: 28%; left: 40%; width: 8%; height: 6%;
  background: radial-gradient(circle, #ffe8a0 0%, #c89830 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,200,60,0.6), 0 0 60px 20px rgba(255,200,60,0.2);
  animation: ma-jewel 3s ease-in-out infinite alternate;
}
.scn-marriage-arrangements .hand-left {
  position: absolute; bottom: 26%; left: 34%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #d4b090 0%, #b08868 100%);
  border-radius: 20% 80% 80% 20% / 40% 60% 60% 40%;
  transform-origin: 80% 100%;
  animation: ma-hand-l 4s ease-in-out infinite;
}
.scn-marriage-arrangements .hand-right {
  position: absolute; bottom: 26%; right: 34%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #d4b090 0%, #b08868 100%);
  border-radius: 80% 20% 20% 80% / 40% 60% 60% 40%;
  transform-origin: 20% 100%;
  animation: ma-hand-r 4s ease-in-out infinite 0.5s;
}
.scn-marriage-arrangements .shadow-deep {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 100%);
  animation: ma-shadow 8s ease-in-out infinite alternate;
}
@keyframes ma-box {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ma-jewel {
  0% { box-shadow: 0 0 20px 5px rgba(255,200,60,0.4); opacity: 0.9; }
  50% { box-shadow: 0 0 50px 15px rgba(255,220,80,0.8); opacity: 1; }
  100% { box-shadow: 0 0 30px 8px rgba(255,200,60,0.5); opacity: 0.95; }
}
@keyframes ma-hand-l {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-1px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes ma-hand-r {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-1px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes ma-shadow {
  0% { opacity: 0.2; }
  50% { opacity: 0.3; }
  100% { opacity: 0.1; }
}

.scn-marriage-banter {
  background: linear-gradient(180deg, #f5ead0 0%, #e8d4a8 50%, #d4bc8c 100%),
              radial-gradient(ellipse at 50% 20%, #fff6e0 0%, transparent 60%);
}
.scn-marriage-banter .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0dfc0 0%, #e0c8a0 100%);
}
.scn-marriage-banter .window-arch {
  position: absolute; inset: 5% 60% 45% 10%; background: linear-gradient(180deg, #fffae8 0%, #d4c4a0 100%);
  border-radius: 50% / 30% 30% 60% 60%;
  box-shadow: inset 0 0 30px rgba(255,220,180,0.2);
  animation: mb-window 10s ease-in-out infinite alternate;
}
.scn-marriage-banter .sofa {
  position: absolute; bottom: 20%; left: 10%; width: 50%; height: 16%;
  background: linear-gradient(180deg, #8a6a4a 0%, #604020 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-marriage-banter .figure-sit {
  position: absolute; bottom: 20%; left: 18%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  animation: mb-sit 7s ease-in-out infinite;
}
.scn-marriage-banter .figure-stand {
  position: absolute; bottom: 24%; left: 45%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: mb-stand 6s ease-in-out infinite 1s;
}
.scn-marriage-banter .fan {
  position: absolute; bottom: 38%; left: 42%; width: 8%; height: 12%;
  background: linear-gradient(135deg, #e8b878 0%, #c89050 100%);
  border-radius: 0 50% 50% 0 / 0 60% 60% 0;
  transform-origin: 0% 50%;
  animation: mb-fan 2s ease-in-out infinite alternate;
}
.scn-marriage-banter .fan-glow {
  position: absolute; bottom: 38%; left: 42%; width: 10%; height: 14%;
  background: radial-gradient(ellipse at 20% 50%, rgba(255,200,100,0.3) 0%, transparent 100%);
  border-radius: 0 50% 50% 0;
  animation: mb-glow 2s ease-in-out infinite alternate 0.3s;
}
@keyframes mb-window {
  0% { opacity: 0.75; transform: scaleX(1); }
  50% { opacity: 0.9; transform: scaleX(1.03); }
  100% { opacity: 0.8; transform: scaleX(0.98); }
}
@keyframes mb-sit {
  0% { transform: rotate(-1deg) translateY(0); }
  33% { transform: rotate(0deg) translateY(-2px); }
  66% { transform: rotate(1deg) translateY(1px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes mb-stand {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes mb-fan {
  0% { transform: rotate(-30deg); }
  100% { transform: rotate(30deg); }
}
@keyframes mb-glow {
  0% { opacity: 0.2; }
  100% { opacity: 0.6; }
}

.scn-hervey-meeting-plan {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 0%, #6a4a2a 0%, transparent 60%);
}
.scn-hervey-meeting-plan .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
}
.scn-hervey-meeting-plan .window-bright {
  position: absolute; inset: 8% 70% 50% 5%; background: linear-gradient(180deg, #ffe8b0 0%, #c09840 100%);
  border-radius: 10% / 15%; box-shadow: 0 0 40px 10px rgba(255,200,80,0.3);
  animation: hm-window 4s ease-in-out infinite alternate;
}
.scn-hervey-meeting-plan .table-heavy {
  position: absolute; bottom: 15%; left: 15%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #5a3a22 0%, #3a2210 100%);
  border-radius: 4%; box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  animation: hm-table 2s ease-in-out infinite;
}
.scn-hervey-meeting-plan .figure-a {
  position: absolute; bottom: 22%; left: 22%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #0a0a0a 0%, #000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: hm-fig-a 6s ease-in-out infinite;
}
.scn-hervey-meeting-plan .figure-b {
  position: absolute; bottom: 22%; right: 22%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #0a0a0a 0%, #000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: hm-fig-b 6s ease-in-out infinite 0.8s;
}
.scn-hervey-meeting-plan .paper-plan {
  position: absolute; bottom: 24%; left: 43%; width: 14%; height: 8%;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b89a 100%);
  border-radius: 4%; box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: hm-paper 3s ease-in-out infinite alternate;
}
.scn-hervey-meeting-plan .shadow-edge {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0,0,0,0.5) 100%);
  animation: hm-shadow 8s ease-in-out infinite alternate;
}
@keyframes hm-window {
  0% { opacity: 0.6; filter: brightness(0.8); }
  50% { opacity: 0.9; filter: brightness(1.2); }
  100% { opacity: 0.7; filter: brightness(0.9); }
}
@keyframes hm-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes hm-fig-a {
  0% { transform: rotate(-2deg) translateY(0); }
  25% { transform: rotate(0deg) translateY(-3px); }
  75% { transform: rotate(2deg) translateY(2px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes hm-fig-b {
  0% { transform: rotate(2deg) translateY(0); }
  25% { transform: rotate(0deg) translateY(-3px); }
  75% { transform: rotate(-2deg) translateY(2px); }
  100% { transform: rotate(2deg) translateY(0); }
}
@keyframes hm-paper {
  0% { transform: rotate(-5deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.05); }
  100% { transform: rotate(-5deg) scale(1); }
}
@keyframes hm-shadow {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}

/* hervey-trade */
.scn-hervey-trade {
  background: linear-gradient(180deg, #0b0d1e 0%, #1a1f3a 40%, #2c3555 70%, #3a4a6a 100%), radial-gradient(ellipse at 70% 80%, #2c3555 0%, transparent 60%);
}
.scn-hervey-trade .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #0e112a 0%, #1a2350 100%); animation: ht-skyPulse 10s ease-in-out infinite alternate; }
.scn-hervey-trade .water { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #203050 0%, #0b1425 100%); }
.scn-hervey-trade .moon { position:absolute; top:12%; right:20%; width:50px; height:50px; background: radial-gradient(circle, #e0f0ff 0%, #aac8ff 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); animation: ht-moonPulse 6s ease-in-out infinite; }
.scn-hervey-trade .boat { position:absolute; bottom:20%; left:15%; width:120px; height:40px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-3deg); box-shadow: 0 4px 15px rgba(0,0,0,0.7); animation: ht-boatRock 5s ease-in-out infinite; }
.scn-hervey-trade .jetty { position:absolute; bottom:15%; right:5%; width:30px; height:70px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 10% 10% 0 0; box-shadow: -5px 0 10px rgba(0,0,0,0.5); }
.scn-hervey-trade .figure-hervey { position:absolute; bottom:25%; left:18%; width:20px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ht-herveyArm 3s ease-in-out infinite; }
.scn-hervey-trade .figure-pedro { position:absolute; bottom:20%; right:10%; width:22px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0e05 100%); border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%; transform-origin: bottom center; animation: ht-pedroLean 4s ease-in-out infinite; }
.scn-hervey-trade .gold-bag { position:absolute; bottom:32%; left:30%; width:20px; height:16px; background: radial-gradient(ellipse at 30% 30%, #b5854a 0%, #6a4020 100%); border-radius: 30% 30% 40% 40%; box-shadow: 0 2px 8px rgba(180,120,60,0.5); animation: ht-bagToss 8s ease-in-out infinite; }
.scn-hervey-trade .clouds { position:absolute; top:8%; left:5%; width:120px; height:20px; background: linear-gradient(90deg, rgba(200,215,255,0.15) 0%, rgba(200,215,255,0.05) 100%); filter: blur(8px); border-radius: 50%; animation: ht-cloudDrift 40s linear infinite; }

@keyframes ht-skyPulse { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ht-moonPulse { 0% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); } 50% { transform: scale(1.05); box-shadow: 0 0 80px 30px rgba(170,200,255,0.5); } 100% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); } }
@keyframes ht-boatRock { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes ht-herveyArm { 0% { transform: rotate(0deg) translateX(0); } 30% { transform: rotate(-15deg) translateX(5px); } 60% { transform: rotate(5deg) translateX(-2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes ht-pedroLean { 0% { transform: skewX(0deg) translateY(0); } 50% { transform: skewX(5deg) translateY(-3px); } 100% { transform: skewX(0deg) translateY(0); } }
@keyframes ht-bagToss { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-8px) rotate(10deg); } 75% { transform: translateY(2px) rotate(-5deg); } }
@keyframes ht-cloudDrift { 0% { transform: translateX(-30px); } 100% { transform: translateX(120vw); } }

/* hervey-ashore */
.scn-hervey-ashore {
  background: linear-gradient(180deg, #0b0d1e 0%, #1a1f3a 40%, #2c3555 70%, #3a4a6a 100%), radial-gradient(ellipse at 50% 100%, #2c3555 0%, transparent 70%);
}
.scn-hervey-ashore .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #0e112a 0%, #1a2350 100%); animation: ha-skyPulse 12s ease-in-out infinite alternate; }
.scn-hervey-ashore .water { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #203050 0%, #0b1425 100%); }
.scn-hervey-ashore .moon { position:absolute; top:8%; left:20%; width:45px; height:45px; background: radial-gradient(circle, #e0f0ff 0%, #aac8ff 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 50px 15px rgba(170,200,255,0.4); animation: ha-moonGlow 5s ease-in-out infinite; }
.scn-hervey-ashore .shore { position:absolute; bottom:20%; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a3a1a 0%, #1a2a0a 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; }
.scn-hervey-ashore .boat { position:absolute; bottom:15%; left:5%; width:100px; height:35px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 20% 20% 5% 5%; transform: rotate(2deg); box-shadow: 0 4px 12px rgba(0,0,0,0.6); animation: ha-boatRock 4s ease-in-out infinite; }
.scn-hervey-ashore .figure-hervey { position:absolute; bottom:30%; left:15%; width:18px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ha-leap 2.5s ease-in-out infinite; }
.scn-hervey-ashore .figure-date { position:absolute; bottom:28%; right:12%; width:20px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0e05 100%); border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%; transform-origin: bottom center; animation: ha-dateWatch 6s ease-in-out infinite; }
.scn-hervey-ashore .moonlight-beam { position:absolute; top:5%; left:15%; width:80px; height:200px; background: linear-gradient(180deg, rgba(170,200,255,0.1) 0%, transparent 100%); transform: rotate(25deg); filter: blur(10px); animation: ha-beamShift 8s ease-in-out infinite; }

@keyframes ha-skyPulse { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes ha-moonGlow { 0% { transform: scale(1); box-shadow: 0 0 50px 15px rgba(170,200,255,0.4); } 50% { transform: scale(1.08); box-shadow: 0 0 70px 25px rgba(170,200,255,0.6); } 100% { transform: scale(1); box-shadow: 0 0 50px 15px rgba(170,200,255,0.4); } }
@keyframes ha-boatRock { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-1px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes ha-leap { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-15px) rotate(-5deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-5px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ha-dateWatch { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }
@keyframes ha-beamShift { 0% { opacity:0.3; transform: rotate(25deg) translateX(0); } 50% { opacity:0.7; transform: rotate(30deg) translateX(10px); } 100% { opacity:0.3; transform: rotate(25deg) translateX(0); } }

/* hervey-stalling */
.scn-hervey-stalling {
  background: linear-gradient(180deg, #0d101a 0%, #1a1f30 40%, #2a3045 70%, #3a4055 100%), radial-gradient(ellipse at 50% 50%, #2a3045 0%, transparent 70%);
}
.scn-hervey-stalling .bg-deck { position:absolute; inset:0; background: linear-gradient(180deg, #1a1f30 0%, #0d101a 100%); }
.scn-hervey-stalling .barrel { position:absolute; bottom:10%; left:50%; width:70px; height:50px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 30% 30% 20% 20%; transform: translateX(-50%); box-shadow: 0 6px 20px rgba(0,0,0,0.6); }
.scn-hervey-stalling .money-bag { position:absolute; bottom:22%; left:35%; width:30px; height:20px; background: radial-gradient(ellipse at 30% 30%, #b5854a 0%, #6a4020 100%); border-radius: 40% 40% 30% 30%; box-shadow: 0 2px 8px rgba(180,120,60,0.5); animation: hs-bagShake 2s ease-in-out infinite; }
.scn-hervey-stalling .coins-single { position:absolute; width:12px; height:12px; background: radial-gradient(circle, #d4a94a 0%, #a07030 100%); border-radius: 50%; box-shadow: 0 1px 4px rgba(200,160,80,0.6); }
.scn-hervey-stalling .coin-1 { bottom:28%; left:40%; animation: hs-coin1 2.5s ease-in-out infinite; }
.scn-hervey-stalling .coin-2 { bottom:26%; left:48%; animation: hs-coin2 3s ease-in-out infinite 0.5s; }
.scn-hervey-stalling .coin-3 { bottom:30%; left:52%; animation: hs-coin3 2s ease-in-out infinite 1s; }
.scn-hervey-stalling .hands-hervey { position:absolute; bottom:24%; left:32%; width:30px; height:20px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 20% 20%; transform-origin: bottom center; animation: hs-handsMove 1.8s ease-in-out infinite; }
.scn-hervey-stalling .shadow-figure { position:absolute; bottom:5%; right:10%; width:45px; height:80px; background: linear-gradient(180deg, #2a2030 0%, #0a0510 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: -5px 0 10px rgba(0,0,0,0.5); animation: hs-figureLean 5s ease-in-out infinite; }
.scn-hervey-stalling .moonlight { position:absolute; top:0; left:30%; width:60px; height:100px; background: linear-gradient(180deg, rgba(170,200,255,0.08) 0%, transparent 100%); transform: rotate(15deg); filter: blur(8px); animation: hs-lightShift 7s ease-in-out infinite; }

@keyframes hs-bagShake { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hs-coin1 { 0%,100% { transform: translateY(0) rotate(0deg); opacity:0.8; } 50% { transform: translateY(-4px) rotate(20deg); opacity:1; } }
@keyframes hs-coin2 { 0%,100% { transform: translateY(0) rotate(0deg); opacity:0.7; } 50% { transform: translateY(-3px) rotate(-15deg); opacity:0.9; } }
@keyframes hs-coin3 { 0%,100% { transform: translateY(0) rotate(0deg); opacity:0.8; } 50% { transform: translateY(-5px) rotate(25deg); opacity:1; } }
@keyframes hs-handsMove { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(8px) rotate(5deg); } 60% { transform: translateX(-5px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hs-figureLean { 0% { transform: skewX(0deg) translateY(0); } 50% { transform: skewX(-8deg) translateY(-2px); } 100% { transform: skewX(0deg) translateY(0); } }
@keyframes hs-lightShift { 0% { opacity:0.3; transform: rotate(15deg) translateX(0); } 50% { opacity:0.6; transform: rotate(20deg) translateX(5px); } 100% { opacity:0.3; transform: rotate(15deg) translateX(0); } }

/* date-suspicious */
.scn-date-suspicious {
  background: linear-gradient(180deg, #0a0c1a 0%, #182640 40%, #2a3a55 70%, #3a4a6a 100%), radial-gradient(ellipse at 50% 0%, #2a3a55 0%, transparent 70%);
}
.scn-date-suspicious .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #0e112a 0%, #1a2350 100%); animation: ds-skyPulse 9s ease-in-out infinite alternate; }
.scn-date-suspicious .water { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #203050 0%, #0b1425 100%); }
.scn-date-suspicious .moon { position:absolute; top:15%; right:25%; width:50px; height:50px; background: radial-gradient(circle, #e0f0ff 0%, #aac8ff 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); animation: ds-moonPulse 7s ease-in-out infinite; }
.scn-date-suspicious .jetty { position:absolute; bottom:20%; left:10%; width:25px; height:100px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 10% 10% 0 0; box-shadow: -5px 0 10px rgba(0,0,0,0.5); }
.scn-date-suspicious .boat { position:absolute; bottom:18%; left:5%; width:90px; height:40px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-2deg); box-shadow: 0 4px 15px rgba(0,0,0,0.7); animation: ds-boatMove 6s ease-in-out infinite; }
.scn-date-suspicious .figure-date { position:absolute; bottom:30%; right:10%; width:20px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0e05 100%); border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%; transform-origin: bottom center; animation: ds-dateSway 4s ease-in-out infinite; }
.scn-date-suspicious .figure-other { position:absolute; bottom:22%; left:8%; width:18px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ds-otherShift 5s ease-in-out infinite; }
.scn-date-suspicious .wave-1 { position:absolute; bottom:20%; left:0; width:100%; height:10px; background: rgba(150,180,220,0.1); filter: blur(3px); border-radius: 50%; animation: ds-wave1 3s ease-in-out infinite; }
.scn-date-suspicious .wave-2 { position:absolute; bottom:15%; left:0; width:100%; height:8px; background: rgba(150,180,220,0.15); filter: blur(2px); border-radius: 50%; animation: ds-wave2 4s ease-in-out infinite 1s; }

@keyframes ds-skyPulse { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ds-moonPulse { 0% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); } 50% { transform: scale(1.04); box-shadow: 0 0 80px 30px rgba(170,200,255,0.5); } 100% { transform: scale(1); box-shadow: 0 0 60px 20px rgba(170,200,255,0.3); } }
@keyframes ds-boatMove { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(1deg) translateX(5px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes ds-dateSway { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(3deg) translateY(-1px); } 60% { transform: rotate(-2deg) translateY(1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ds-otherShift { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); } }
@keyframes ds-wave1 { 0%,100% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.05); } }
@keyframes ds-wave2 { 0%,100% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.03); } }

/* ---- Scene: jasher-perfume ---- */
.scn-jasher-perfume {
  background:
    linear-gradient(180deg, #2c1e14 0%, #4a3a2a 50%, #2c1e14 100%),
    radial-gradient(ellipse at 50% 90%, #6a4a3a 0%, transparent 70%);
}
.scn-jasher-perfume .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1008 0%, transparent 60%);
  animation: jp-bg 12s ease-in-out infinite alternate;
}
.scn-jasher-perfume .wall {
  position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: jp-wall 20s ease-in-out infinite;
}
.scn-jasher-perfume .figure {
  position: absolute; bottom: 36%; left: 38%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: jp-figure 4s ease-in-out infinite;
}
.scn-jasher-perfume .bottle {
  position: absolute; bottom: 30%; left: 48%; width: 14px; height: 24px;
  background: linear-gradient(180deg, #c8b07a 0%, #a08050 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5), inset 0 2px 4px rgba(255,215,140,.3);
  animation: jp-bottle 6s ease-in-out infinite alternate;
}
.scn-jasher-perfume .smoke-a {
  position: absolute; bottom: 44%; left: 52%; width: 30px; height: 50px;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,140,.6) 0%, transparent 70%);
  filter: blur(4px);
  animation: jp-smoke-a 8s ease-in-out infinite;
}
.scn-jasher-perfume .smoke-b {
  position: absolute; bottom: 44%; left: 55%; width: 20px; height: 40px;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,140,.4) 0%, transparent 70%);
  filter: blur(4px);
  animation: jp-smoke-b 10s ease-in-out infinite 2s;
}
.scn-jasher-perfume .table {
  position: absolute; bottom: 28%; left: 10%; right: 10%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2010 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,.7);
  animation: jp-table 15s ease-in-out infinite;
}
@keyframes jp-bg { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes jp-wall { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes jp-figure { 0% { transform: translateY(0) rotate(2deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes jp-bottle { 0% { transform: rotate(-2deg) } 100% { transform: rotate(2deg) } }
@keyframes jp-smoke-a { 0% { transform: translateY(0) scale(1); opacity: 0.7 } 50% { transform: translateY(-20px) scale(1.3); opacity: 0.3 } 100% { transform: translateY(-40px) scale(1.6); opacity: 0 } }
@keyframes jp-smoke-b { 0% { transform: translateY(0) scale(1); opacity: 0.5 } 50% { transform: translateY(-15px) scale(1.4); opacity: 0.2 } 100% { transform: translateY(-30px) scale(1.8); opacity: 0 } }
@keyframes jp-table { 0%,100% { opacity: .9 } 50% { opacity: 1 } }

/* ---- Scene: dinner-greeting ---- */
.scn-dinner-greeting {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 30%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 70%, #6a5a4a 0%, transparent 60%);
}
.scn-dinner-greeting .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1008 0%, transparent 70%);
  animation: dg-bg 10s ease-in-out infinite alternate;
}
.scn-dinner-greeting .wall {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 6px 16px rgba(0,0,0,.5);
}
.scn-dinner-greeting .mantel {
  position: absolute; bottom: 38%; left: 15%; right: 15%; height: 5%;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.6);
}
.scn-dinner-greeting .figure-left {
  position: absolute; bottom: 38%; left: 30%; width: 28px; height: 34px;
  background: radial-gradient(ellipse at 50% 60%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dg-left 3s ease-in-out infinite alternate;
}
.scn-dinner-greeting .figure-right {
  position: absolute; bottom: 38%; right: 30%; width: 28px; height: 34px;
  background: radial-gradient(ellipse at 50% 60%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dg-right 3s ease-in-out infinite alternate 0.5s;
}
.scn-dinner-greeting .handshake {
  position: absolute; bottom: 44%; left: 48%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 30% 30%;
  animation: dg-hand 2s ease-in-out infinite;
}
.scn-dinner-greeting .ornament {
  position: absolute; bottom: 42%; left: 48%; width: 8px; height: 12px;
  background: radial-gradient(circle, #c8b07a 0%, #a08050 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 6px 2px rgba(200,176,122,.4);
  animation: dg-orn 4s ease-in-out infinite;
}
.scn-dinner-greeting .shadow {
  position: absolute; bottom: 36%; left: 25%; right: 25%; height: 6%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5) 0%, transparent 80%);
  filter: blur(3px);
  animation: dg-shadow 3s ease-in-out infinite alternate;
}
@keyframes dg-bg { 0% { opacity: .7 } 100% { opacity: .9 } }
@keyframes dg-left { 0% { transform: rotate(0deg) } 100% { transform: rotate(5deg) } }
@keyframes dg-right { 0% { transform: rotate(0deg) } 100% { transform: rotate(-5deg) } }
@keyframes dg-hand { 0%,100% { transform: scale(1) } 50% { transform: scale(1.2) } }
@keyframes dg-orn { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes dg-shadow { 0% { opacity: .6 } 100% { opacity: .8 } }

/* ---- Scene: egyptian-dish-talk ---- */
.scn-egyptian-dish-talk {
  background:
    linear-gradient(180deg, #2c1e14 0%, #5a3a2a 50%, #2c1e14 100%),
    radial-gradient(ellipse at 50% 80%, #7a5a4a 0%, transparent 70%);
}
.scn-egyptian-dish-talk .bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a0e06 0%, transparent 60%);
  animation: et-bg 15s ease-in-out infinite alternate;
}
.scn-egyptian-dish-talk .wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 0 0 40% 40% / 0 0 30% 30%;
  box-shadow: inset 0 6px 20px rgba(0,0,0,.5);
}
.scn-egyptian-dish-talk .table {
  position: absolute; bottom: 26%; left: 5%; right: 5%; height: 10%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.7);
}
.scn-egyptian-dish-talk .dish {
  position: absolute; bottom: 32%; left: 40%; width: 40px; height: 16px;
  background: radial-gradient(ellipse at 50% 40%, #c8a060 0%, #8a6030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: et-dish 4s ease-in-out infinite alternate;
}
.scn-egyptian-dish-talk .scroll {
  position: absolute; bottom: 36%; left: 55%; width: 24px; height: 18px;
  background: linear-gradient(180deg, #c0a870 0%, #9a8040 100%);
  border-radius: 10% 10% 20% 20%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: et-scroll 6s ease-in-out infinite;
}
.scn-egyptian-dish-talk .hand {
  position: absolute; bottom: 30%; left: 50%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom left;
  animation: et-hand 3s ease-in-out infinite alternate;
}
.scn-egyptian-dish-talk .steam-a {
  position: absolute; bottom: 46%; left: 44%; width: 20px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.5) 0%, transparent 60%);
  filter: blur(3px);
  animation: et-steam-a 7s ease-in-out infinite;
}
.scn-egyptian-dish-talk .steam-b {
  position: absolute; bottom: 46%; left: 48%; width: 16px; height: 24px;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.3) 0%, transparent 60%);
  filter: blur(2px);
  animation: et-steam-b 9s ease-in-out infinite 3s;
}
.scn-egyptian-dish-talk .decoration {
  position: absolute; bottom: 40%; right: 10%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: inset 0 0 0 1px #c8a060;
  transform: rotate(5deg);
  animation: et-deco 8s ease-in-out infinite;
}
@keyframes et-bg { 0% { opacity: .7 } 100% { opacity: .9 } }
@keyframes et-dish { 0% { transform: scale(1) } 100% { transform: scale(1.05) } }
@keyframes et-scroll { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(-8deg) } }
@keyframes et-hand { 0% { transform: rotate(-5deg) } 100% { transform: rotate(10deg) } }
@keyframes et-steam-a { 0% { transform: translateY(0) scale(1); opacity: .6 } 50% { transform: translateY(-15px) scale(1.2); opacity: .3 } 100% { transform: translateY(-30px) scale(1.5); opacity: 0 } }
@keyframes et-steam-b { 0% { transform: translateY(0) scale(1); opacity: .4 } 50% { transform: translateY(-12px) scale(1.1); opacity: .2 } 100% { transform: translateY(-24px) scale(1.3); opacity: 0 } }
@keyframes et-deco { 0%,100% { transform: rotate(5deg) } 50% { transform: rotate(8deg) } }

/* ---- Scene: mummy-compliment ---- */
.scn-mummy-compliment {
  background:
    linear-gradient(180deg, #0a0806 0%, #1a1410 50%, #0a0806 100%),
    radial-gradient(ellipse at 50% 70%, #2a2218 0%, transparent 80%);
}
.scn-mummy-compliment .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #050302 0%, transparent 50%);
  animation: mc-bg 8s ease-in-out infinite alternate;
}
.scn-mummy-compliment .wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #1a1410 0%, #0e0a06 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: inset 0 4px 16px rgba(0,0,0,.8);
}
.scn-mummy-compliment .coffin {
  position: absolute; bottom: 30%; left: 30%; width: 80px; height: 90px;
  background: linear-gradient(180deg, #b09070 0%, #806050 100%);
  border-radius: 10% 10% 20% 20% / 5% 5% 10% 10%;
  box-shadow: 0 6px 20px rgba(0,0,0,.7), inset 0 0 20px rgba(120,80,60,.3);
  animation: mc-coffin 12s ease-in-out infinite;
}
.scn-mummy-compliment .widow {
  position: absolute; bottom: 36%; left: 55%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: mc-widow 4s ease-in-out infinite alternate;
}
.scn-mummy-compliment .hand {
  position: absolute; bottom: 42%; left: 42%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #504030 0%, #2a1a10 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom right;
  animation: mc-hand 2s ease-in-out infinite alternate;
}
.scn-mummy-compliment .glow {
  position: absolute; bottom: 28%; left: 35%; width: 60px; height: 40px;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,180,140,.15) 0%, transparent 80%);
  filter: blur(8px);
  animation: mc-glow 6s ease-in-out infinite alternate;
}
.scn-mummy-compliment .shadow {
  position: absolute; bottom: 28%; left: 20%; right: 20%; height: 8%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.7) 0%, transparent 80%);
  filter: blur(5px);
  animation: mc-shadow 4s ease-in-out infinite alternate;
}
@keyframes mc-bg { 0% { opacity: .6 } 100% { opacity: .8 } }
@keyframes mc-coffin { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(1deg) } }
@keyframes mc-widow { 0% { transform: scale(1) translateX(0) } 100% { transform: scale(0.95) translateX(5px) } }
@keyframes mc-hand { 0% { transform: rotate(0deg) } 100% { transform: rotate(-15deg) } }
@keyframes mc-glow { 0% { opacity: .2 } 100% { opacity: .5 } }
@keyframes mc-shadow { 0% { opacity: .5 } 100% { opacity: .7 } }

.scn-engagement-worries {
  background: linear-gradient(180deg, #fce4b8 0%, #f8d5a0 40%, #e0b880 100%),
              radial-gradient(ellipse at 50% 100%, #f0c878 0%, transparent 70%);
}
.scn-engagement-worries .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #c8e0ff 0%, #e8f4ff 60%, transparent 100%);
  animation: ew1-sky 8s ease-in-out infinite alternate;
}
.scn-engagement-worries .sun {
  position: absolute; top: 12%; left: 55%; width: 60px; height: 60px;
  background: radial-gradient(circle, #fff4d0 0%, #fce488 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #fce488, 0 0 120px 40px rgba(252,228,136,0.3);
  animation: ew1-sun 6s ease-in-out infinite alternate;
}
.scn-engagement-worries .hills-far {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #8cba7a 0%, #6a9f58 100%);
  border-radius: 60% 40% 0 0;
  transform: scaleX(1.2);
  animation: ew1-hills 20s ease-in-out infinite alternate;
}
.scn-engagement-worries .hills-near {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #6f9b5a 0%, #4a7a38 100%);
  border-radius: 50% 70% 0 0;
  box-shadow: inset 0 5px 15px rgba(0,0,0,0.2);
  animation: ew1-hills 24s ease-in-out infinite alternate-reverse;
}
.scn-engagement-worries .cottage {
  position: absolute; bottom: 30%; left: 30%; width: 90px; height: 70px;
  background: linear-gradient(180deg, #d4a373 0%, #b0804a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 2px 4px 10px rgba(0,0,0,0.3);
}
.scn-engagement-worries .path {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 8%;
  background: linear-gradient(180deg, #c4a46a 0%, #9c7c4a 100%);
  border-radius: 50% 50% 0 0;
  transform: scaleX(1.5);
}
.scn-engagement-worries .figure-lover {
  position: absolute; bottom: 24%; left: 42%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ew1-figure 4s ease-in-out infinite;
}
.scn-engagement-worries .figure-lucy {
  position: absolute; bottom: 24%; left: 47%; width: 18px; height: 38px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ew1-figure 4.2s ease-in-out infinite reverse;
}
.scn-engagement-worries .flowers {
  position: absolute; bottom: 22%; left: 35%; width: 30px; height: 15px;
  background: radial-gradient(circle at 30% 50%, #f0a0c0 0%, transparent 50%),
              radial-gradient(circle at 70% 30%, #c07090 0%, transparent 50%);
  filter: blur(2px);
  animation: ew1-flowers 5s ease-in-out infinite alternate;
}
@keyframes ew1-sky { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ew1-sun { 0% { transform: scale(0.95) translateX(-2px); opacity: 0.9; } 50% { transform: scale(1.05) translateX(0); opacity: 1; } 100% { transform: scale(1) translateX(2px); opacity: 0.95; } }
@keyframes ew1-hills { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(1.01); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes ew1-figure { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 25% { transform: translateX(3px) rotate(2deg) scaleY(1.01); } 50% { transform: translateX(6px) rotate(0deg) scaleY(1); } 75% { transform: translateX(9px) rotate(-2deg) scaleY(0.99); } 100% { transform: translateX(12px) rotate(0deg) scaleY(1); } }
@keyframes ew1-flowers { 0% { filter: blur(2px) brightness(0.9); } 50% { filter: blur(1px) brightness(1.1); } 100% { filter: blur(2px) brightness(0.95); } }

.scn-widow-anne-encounter {
  background: linear-gradient(180deg, #fde8c0 0%, #e0c090 50%, #b89860 100%),
              radial-gradient(ellipse at 30% 80%, #f0d8a0 0%, transparent 60%);
}
.scn-widow-anne-encounter .sky-bright {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #fcf0d8 0%, #f8dca8 50%, transparent 100%);
  animation: wa2-sky 10s ease-in-out infinite alternate;
}
.scn-widow-anne-encounter .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #c8a880 0%, #a08050 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.3);
}
.scn-widow-anne-encounter .widow-figure {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0d0800 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: wa2-widow 6s ease-in-out infinite alternate;
}
.scn-widow-anne-encounter .veil {
  position: absolute; bottom: 38%; left: 43%; width: 30px; height: 20px;
  background: rgba(20,10,5,0.5);
  border-radius: 50% 50% 0 0;
  filter: blur(3px);
  animation: wa2-veil 4s ease-in-out infinite alternate;
}
.scn-widow-anne-encounter .shadow-cast {
  position: absolute; bottom: 10%; left: 38%; width: 80px; height: 12px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  transform: skewX(-10deg);
  animation: wa2-shadow 6s ease-in-out infinite alternate;
}
.scn-widow-anne-encounter .fence-pole {
  position: absolute; bottom: 20%; left: 70%; width: 6px; height: 50px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 2px;
}
.scn-widow-anne-encounter .crow {
  position: absolute; bottom: 35%; left: 65%; width: 14px; height: 10px;
  background: #1a1a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(10deg);
  animation: wa2-crow 8s ease-in-out infinite;
}
@keyframes wa2-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wa2-widow { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes wa2-veil { 0% { transform: translateY(0) rotate(-3deg); opacity: 0.6; } 50% { transform: translateY(-2px) rotate(0deg); opacity: 0.8; } 100% { transform: translateY(1px) rotate(3deg); opacity: 0.5; } }
@keyframes wa2-shadow { 0% { transform: skewX(-10deg) scaleX(1); } 50% { transform: skewX(-8deg) scaleX(1.1); } 100% { transform: skewX(-12deg) scaleX(0.9); } }
@keyframes wa2-crow { 0% { transform: rotate(10deg) translateY(0); } 25% { transform: rotate(15deg) translateY(-3px); } 50% { transform: rotate(10deg) translateY(-5px); } 75% { transform: rotate(5deg) translateY(-3px); } 100% { transform: rotate(10deg) translateY(0); } }

.scn-widow-omens {
  background: linear-gradient(180deg, #1c1820 0%, #2a2430 40%, #3a3040 100%),
              radial-gradient(circle at 50% 60%, #3a3040 0%, transparent 80%);
}
.scn-widow-omens .wall-bg {
  position: absolute; inset: 0 20% 30% 0;
  background: linear-gradient(180deg, #3c3840 0%, #2c2830 100%);
  border-radius: 0 0 10% 0;
}
.scn-widow-omens .window-frame {
  position: absolute; top: 15%; left: 25%; width: 60px; height: 80px;
  border: 4px solid #5a4a3a;
  background: radial-gradient(circle at 70% 30%, #f8ecc0 0%, #c8b080 70%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-widow-omens .sunbeam {
  position: absolute; top: 18%; left: 28%; width: 40px; height: 180px;
  background: linear-gradient(180deg, rgba(240,230,180,0.3) 0%, transparent 100%);
  transform: skewX(10deg);
  filter: blur(6px);
  animation: wo3-beam 8s ease-in-out infinite alternate;
}
.scn-widow-omens .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%);
}
.scn-widow-omens .chair {
  position: absolute; bottom: 22%; left: 45%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 2px 4px 8px rgba(0,0,0,0.5);
}
.scn-widow-omens .old-woman {
  position: absolute; bottom: 23%; left: 46%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wo3-figure 7s ease-in-out infinite alternate;
}
.scn-widow-omens .dust-mote-a {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: rgba(240,230,190,0.7);
  border-radius: 50%;
  animation: wo3-dust 9s linear infinite;
}
.scn-widow-omens .dust-mote-b {
  position: absolute; top: 25%; left: 35%; width: 3px; height: 3px;
  background: rgba(240,230,190,0.5);
  border-radius: 50%;
  animation: wo3-dust 12s linear infinite 3s;
}
.scn-widow-omens .dust-mote-c {
  position: absolute; top: 30%; left: 28%; width: 5px; height: 5px;
  background: rgba(240,230,190,0.6);
  border-radius: 50%;
  animation: wo3-dust 15s linear infinite 6s;
}
@keyframes wo3-beam { 0% { opacity: 0.2; transform: skewX(10deg) scaleX(0.8); } 50% { opacity: 0.5; transform: skewX(12deg) scaleX(1); } 100% { opacity: 0.3; transform: skewX(8deg) scaleX(0.9); } }
@keyframes wo3-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-1deg); } }
@keyframes wo3-dust { 0% { transform: translate(0, 0); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translate(20px, -40px); opacity: 0; } }

.scn-after-widow {
  background: linear-gradient(180deg, #d8c8a8 0%, #b8a080 50%, #8c7050 100%),
              radial-gradient(ellipse at 50% 80%, #c8b090 0%, transparent 60%);
}
.scn-after-widow .sky-muted {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #ebe0c8 0%, #d8c8a8 100%);
  animation: aw4-sky 12s ease-in-out infinite alternate;
}
.scn-after-widow .road {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a08868 0%, #806040 100%);
}
.scn-after-widow .pub-sign {
  position: absolute; bottom: 40%; left: 50%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  transform: translateX(-50%);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  animation: aw4-sign 5s ease-in-out infinite alternate;
}
.scn-after-widow .widow-toddle {
  position: absolute; bottom: 18%; left: 30%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0d0800 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: aw4-walk 8s ease-in-out infinite;
}
.scn-after-widow .raven {
  position: absolute; bottom: 42%; left: 55%; width: 16px; height: 12px;
  background: #1a1a1a;
  border-radius: 50% 50% 30% 30%;
  transform: rotate(15deg);
  animation: aw4-raven 6s ease-in-out infinite;
}
.scn-after-widow .tree-stump {
  position: absolute; bottom: 30%; left: 15%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0;
}
.scn-after-widow .lamp-post {
  position: absolute; bottom: 38%; left: 75%; width: 6px; height: 50px;
  background: #2a2a2a;
  border-radius: 2px;
}
@keyframes aw4-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes aw4-sign { 0% { transform: translateX(-50%) rotate(-2deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes aw4-walk { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 25% { transform: translateX(8px) rotate(3deg) scaleY(1.02); } 50% { transform: translateX(16px) rotate(0deg) scaleY(1); } 75% { transform: translateX(24px) rotate(-3deg) scaleY(0.98); } 100% { transform: translateX(32px) rotate(0deg) scaleY(1); } }
@keyframes aw4-raven { 0% { transform: rotate(15deg) translateY(0); } 25% { transform: rotate(20deg) translateY(-2px); } 50% { transform: rotate(15deg) translateY(-4px); } 75% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }

.scn-gossip-about-jasher {
  background:
    linear-gradient(180deg, #f9e8c2 0%, #e6d3a8 50%, #c9b88b 100%),
    radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(180,140,80,.15);
}
.scn-gossip-about-jasher .window-pane {
  position: absolute;
  inset: 8% 5% 40% 55%;
  background: linear-gradient(180deg, #b0d4e8 0%, #8db8d0 100%);
  border-radius: 4px;
  box-shadow: 0 0 40px rgba(200,220,240,.3);
  animation: gj-window 8s ease-in-out infinite alternate;
}
.scn-gossip-about-jasher .table {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 30%;
  height: 8%;
  background: linear-gradient(180deg, #8b6d4b 0%, #5a432b 100%);
  border-radius: 60% / 100% 100% 0 0;
  transform: perspective(200px) rotateX(8deg);
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
  animation: gj-table 6s ease-in-out infinite;
}
.scn-gossip-about-jasher .figure-left {
  position: absolute;
  bottom: 28%;
  left: 30%;
  width: 14%;
  height: 35%;
  background: linear-gradient(180deg, #2d2016 0%, #1e1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -20px 0 30px rgba(0,0,0,.2);
  animation: gj-figure-l 4s ease-in-out infinite;
}
.scn-gossip-about-jasher .figure-right {
  position: absolute;
  bottom: 28%;
  right: 30%;
  width: 14%;
  height: 35%;
  background: linear-gradient(180deg, #3a271c 0%, #241810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 20px 0 30px rgba(0,0,0,.2);
  animation: gj-figure-r 4s ease-in-out infinite 0.5s;
}
.scn-gossip-about-jasher .vase {
  position: absolute;
  bottom: 35%;
  left: 48%;
  width: 4%;
  height: 12%;
  background: linear-gradient(180deg, #c28b5a 0%, #8b5e2d 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  box-shadow: 0 0 12px 2px rgba(180,130,70,.3);
  animation: gj-vase 5s ease-in-out infinite alternate;
}
.scn-gossip-about-jasher .sunbeam {
  position: absolute;
  top: 0;
  left: 20%;
  width: 8%;
  height: 60%;
  background: linear-gradient(180deg, rgba(255,240,200,.15) 0%, rgba(255,240,200,0) 100%);
  clip-path: polygon(10% 0%, 90% 0%, 60% 100%, 40% 100%);
  animation: gj-beam 12s ease-in-out infinite alternate;
}
.scn-gossip-about-jasher .curtain-l,
.scn-gossip-about-jasher .curtain-r {
  position: absolute;
  top: 0;
  width: 10%;
  height: 60%;
  background: linear-gradient(180deg, #d4b48a 0%, #b8966a 50%, #8a6a44 100%);
  border-radius: 0 60% 60% 0 / 0 30% 30% 0;
  box-shadow: 4px 0 12px rgba(0,0,0,.15);
}
.scn-gossip-about-jasher .curtain-l {
  left: 0;
  animation: gj-curtain-l 15s ease-in-out infinite alternate;
}
.scn-gossip-about-jasher .curtain-r {
  right: 0;
  border-radius: 60% 0 0 60% / 30% 0 0 30%;
  animation: gj-curtain-r 15s ease-in-out infinite alternate 2s;
}
@keyframes gj-window { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes gj-table { 0%,100% { transform: perspective(200px) rotateX(8deg) translateY(0); } 50% { transform: perspective(200px) rotateX(8deg) translateY(-2px); } }
@keyframes gj-figure-l { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(3px) rotate(0deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(-3px) rotate(0deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes gj-figure-r { 0% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(-3px) rotate(0deg); } 50% { transform: translateX(0) rotate(-2deg); } 75% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes gj-vase { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(.98); } }
@keyframes gj-beam { 0% { opacity: .4; transform: translateX(-5%); } 50% { opacity: .8; transform: translateX(0); } 100% { opacity: .5; transform: translateX(5%); } }
@keyframes gj-curtain-l { 0% { transform: translateX(0); } 50% { transform: translateX(-8%); } 100% { transform: translateX(0); } }
@keyframes gj-curtain-r { 0% { transform: translateX(0); } 50% { transform: translateX(8%); } 100% { transform: translateX(0); } }

.scn-pyramids-description {
  background:
    linear-gradient(180deg, #182234 0%, #253554 50%, #1a2a3d 100%),
    radial-gradient(ellipse at 50% 40%, #3c5075 0%, transparent 70%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.6);
}
.scn-pyramids-description .wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2a3a4e 0%, #1a2430 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
}
.scn-pyramids-description .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2e2014 0%, #1a1008 100%);
  transform: perspective(300px) rotateX(5deg);
}
.scn-pyramids-description .window-frame {
  position: absolute;
  top: 20%; left: 15%; right: 15%; bottom: 30%;
  border: 12px solid #4a3a2a;
  border-radius: 24px;
  background: #182234;
  box-shadow: inset 0 0 40px rgba(0,0,0,.5);
  animation: pd-frame 10s ease-in-out infinite alternate;
}
.scn-pyramids-description .house-outline {
  position: absolute;
  top: 25%; left: 35%; width: 30%; height: 25%;
  background: linear-gradient(90deg, #3a4a5a 0%, #5a7a8a 50%, #3a4a5a 100%);
  clip-path: polygon(10% 100%, 10% 30%, 50% 0%, 90% 30%, 90% 100%);
  opacity: .6;
  filter: blur(2px);
  animation: pd-house 15s ease-in-out infinite alternate;
}
.scn-pyramids-description .shadows {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 30%, transparent 40%, rgba(0,0,0,.4) 100%);
  pointer-events: none;
  animation: pd-shadows 12s ease-in-out infinite alternate;
}
.scn-pyramids-description .vignette {
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 120px 20px rgba(0,0,0,.5);
  pointer-events: none;
  animation: pd-vignette 8s ease-in-out infinite alternate;
}
.scn-pyramids-description .moon {
  position: absolute;
  top: 12%; right: 18%;
  width: 5%; height: 8%;
  background: radial-gradient(circle, #d0d8e0 0%, #8090a0 100%);
  border-radius: 50%;
  filter: blur(1px);
  box-shadow: 0 0 30px 10px rgba(180,200,220,.2);
  animation: pd-moon 20s linear infinite;
}
@keyframes pd-frame { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes pd-house { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes pd-shadows { 0% { opacity: .6; } 50% { opacity: .8; } 100% { opacity: .5; } }
@keyframes pd-vignette { 0% { opacity: .5; } 50% { opacity: .7; } 100% { opacity: .4; } }
@keyframes pd-moon { 0% { transform: translateX(0); } 50% { transform: translateX(-10px); } 100% { transform: translateX(0); } }

.scn-pyramids-collection {
  background:
    linear-gradient(180deg, #2a1a10 0%, #3a2a1a 30%, #1a120a 100%),
    radial-gradient(ellipse at 50% 70%, #5a3a1a 0%, transparent 60%);
  box-shadow: inset 0 0 100px rgba(0,0,0,.7);
}
.scn-pyramids-collection .pedestal {
  position: absolute;
  bottom: 20%; left: 35%;
  width: 8%; height: 15%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: pc-pedestal 6s ease-in-out infinite alternate;
}
.scn-pyramids-collection .statue {
  position: absolute;
  bottom: 32%; left: 36%;
  width: 6%; height: 18%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  box-shadow: 0 10px 20px rgba(0,0,0,.4);
  animation: pc-statue 4s ease-in-out infinite alternate;
}
.scn-pyramids-collection .sarcophagus {
  position: absolute;
  bottom: 15%; right: 25%;
  width: 12%; height: 20%;
  background: linear-gradient(135deg, #5a4a30 0%, #3a2a1a 100%);
  border-radius: 10% / 30% 30% 10% 10%;
  transform: perspective(200px) rotateY(-10deg) rotateX(5deg);
  box-shadow: -5px 5px 15px rgba(0,0,0,.6);
  animation: pc-sarc 8s ease-in-out infinite;
}
.scn-pyramids-collection .scroll {
  position: absolute;
  bottom: 25%; left: 50%;
  width: 4%; height: 10%;
  background: linear-gradient(180deg, #c8b090 0%, #a08060 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: pc-scroll 5s ease-in-out infinite alternate;
}
.scn-pyramids-collection .lamp {
  position: absolute;
  top: 20%; left: 60%;
  width: 4%; height: 6%;
  background: radial-gradient(circle, #e8c060 0%, #a08030 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,160,60,.4);
  animation: pc-lamp 3s ease-in-out infinite alternate;
}
.scn-pyramids-collection .dust {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(200,180,120,.05) 0%, transparent 50%);
  filter: blur(8px);
  animation: pc-dust 12s linear infinite;
}
@keyframes pc-pedestal { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes pc-statue { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.01) rotate(.5deg); } 100% { transform: scaleY(.99) rotate(-.5deg); } }
@keyframes pc-sarc { 0% { transform: perspective(200px) rotateY(-10deg) rotateX(5deg); } 50% { transform: perspective(200px) rotateY(-8deg) rotateX(7deg); } 100% { transform: perspective(200px) rotateY(-12deg) rotateX(3deg); } }
@keyframes pc-scroll { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-1px); } 100% { transform: rotate(18deg) translateY(0); } }
@keyframes pc-lamp { 0% { opacity: .5; box-shadow: 0 0 20px 5px rgba(200,160,60,.2); } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(200,160,60,.5); } 100% { opacity: .7; box-shadow: 0 0 25px 8px rgba(200,160,60,.3); } }
@keyframes pc-dust { 0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .4; } }

.scn-pyramids-marriage-history {
  background:
    linear-gradient(180deg, #1a1210 0%, #2a1e18 40%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 90%, #3a2818 0%, transparent 50%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.8);
}
.scn-pyramids-marriage-history .desk {
  position: absolute;
  bottom: 25%; left: 5%; right: 5%;
  height: 12%;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,.5);
  transform: perspective(400px) rotateX(6deg);
  animation: pmh-desk 7s ease-in-out infinite alternate;
}
.scn-pyramids-marriage-history .figure-man {
  position: absolute;
  bottom: 30%; left: 25%;
  width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a100a 100%);
  border-radius: 40% 40% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -10px 0 20px rgba(0,0,0,.4);
  animation: pmh-man 5s ease-in-out infinite;
}
.scn-pyramids-marriage-history .figure-woman {
  position: absolute;
  bottom: 30%; right: 25%;
  width: 11%; height: 28%;
  background: linear-gradient(180deg, #3a2820 0%, #241810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  box-shadow: 10px 0 20px rgba(0,0,0,.4);
  animation: pmh-woman 5s ease-in-out infinite 0.5s;
}
.scn-pyramids-marriage-history .figure-child {
  position: absolute;
  bottom: 28%; left: 43%;
  width: 6%; height: 16%;
  background: linear-gradient(180deg, #1e1612 0%, #120c08 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,.3);
  animation: pmh-child 4s ease-in-out infinite 1s;
}
.scn-pyramids-marriage-history .ring {
  position: absolute;
  bottom: 33%; left: 48%;
  width: 3%; height: 3%;
  background: radial-gradient(circle, #d0a060 0%, #a07840 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(200,160,80,.3);
  animation: pmh-ring 6s ease-in-out infinite alternate;
}
.scn-pyramids-marriage-history .candle {
  position: absolute;
  bottom: 35%; right: 15%;
  width: 1.5%; height: 8%;
  background: linear-gradient(180deg, #d4a86a 0%, #a07040 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 0 12px 4px rgba(200,140,60,.3);
  animation: pmh-candle 2s ease-in-out infinite alternate;
}
.scn-pyramids-marriage-history .shadow-layer {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 30%, rgba(0,0,0,.5) 100%);
  pointer-events: none;
  animation: pmh-shadow 10s ease-in-out infinite alternate;
}
@keyframes pmh-desk { 0%,100% { transform: perspective(400px) rotateX(6deg) translateY(0); } 50% { transform: perspective(400px) rotateX(6deg) translateY(-1px); } }
@keyframes pmh-man { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(0deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes pmh-woman { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-2px) rotate(0deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes pmh-child { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(.98); } }
@keyframes pmh-ring { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(10deg); } 100% { transform: scale(.95) rotate(-10deg); } }
@keyframes pmh-candle { 0% { opacity: .6; box-shadow: 0 0 8px 2px rgba(200,140,60,.2); } 50% { opacity: 1; box-shadow: 0 0 20px 6px rgba(200,140,60,.5); } 100% { opacity: .7; box-shadow: 0 0 12px 3px rgba(200,140,60,.3); } }
@keyframes pmh-shadow { 0% { opacity: .5; } 50% { opacity: .7; } 100% { opacity: .4; } }

.scn-captain-hervey-arrives { background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%), radial-gradient(circle at 30% 50%, #4a3028 0%, transparent 70%); }
.scn-captain-hervey-arrives .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #3a2822 0%, #1a1210 100%); }
.scn-captain-hervey-arrives .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; }
.scn-captain-hervey-arrives .door { position:absolute; left:30%; bottom:35%; width:22%; height:55%; background: linear-gradient(180deg, #4a3028 0%, #2a1a14 100%); border: 2px solid #2a1a14; border-radius: 4% 4% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: ha-door 6s ease-in-out infinite; }
.scn-captain-hervey-arrives .figure-hervey { position:absolute; left:25%; bottom:40%; width:14%; height:50%; background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ha-enter 8s ease-in-out infinite; }
.scn-captain-hervey-arrives .lamp-glow { position:absolute; right:20%; bottom:50%; width:12%; height:15%; background: radial-gradient(circle, #c88040 0%, #a06020 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 20px #a06020; animation: ha-lamp 4s ease-in-out infinite alternate; }
.scn-captain-hervey-arrives .shadow { position:absolute; left:28%; bottom:40%; width:20%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 100%); filter: blur(6px); animation: ha-shadow 8s ease-in-out infinite; }
@keyframes ha-door { 0% { transform: scaleY(1) } 30% { transform: scaleY(1.02) } 50% { transform: scaleY(0.98) } 70% { transform: scaleY(1.01) } 100% { transform: scaleY(1) } }
@keyframes ha-enter { 0% { transform: translateX(-100%) scale(0.9); opacity:0 } 20% { transform: translateX(0) scale(1); opacity:1 } 80% { transform: translateX(0) scale(1); opacity:1 } 100% { transform: translateX(0) scale(0.95); opacity:0.8 } }
@keyframes ha-lamp { 0% { box-shadow: 0 0 30px 15px #a06020; opacity:0.7 } 50% { box-shadow: 0 0 50px 25px #c08040; opacity:1 } 100% { box-shadow: 0 0 35px 18px #a06020; opacity:0.8 } }
@keyframes ha-shadow { 0% { transform: scale(1); opacity:0.3 } 50% { transform: scale(1.1); opacity:0.5 } 100% { transform: scale(0.95); opacity:0.3 } }

.scn-hervey-proposition { background: linear-gradient(180deg, #1f1815 0%, #14100d 100%), radial-gradient(circle at 50% 40%, #3a2620 0%, transparent 70%); }
.scn-hervey-proposition .bg-wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); }
.scn-hervey-proposition .bg-floor { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%); border-radius: 30% 30% 0 0 / 15% 15% 0 0; }
.scn-hervey-proposition .chair { position:absolute; left:20%; bottom:25%; width:20%; height:45%; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 10% 10% 20% 20%; box-shadow: inset 0 0 15px rgba(0,0,0,.5); }
.scn-hervey-proposition .figure-hervey { position:absolute; left:22%; bottom:28%; width:16%; height:55%; background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hp-legs 6s ease-in-out infinite; }
.scn-hervey-proposition .figure-professor { position:absolute; right:25%; bottom:30%; width:14%; height:45%; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hp-stand 5s ease-in-out infinite alternate; }
.scn-hervey-proposition .cigar-glow { position:absolute; left:30%; bottom:50%; width:4%; height:4%; background: radial-gradient(circle, #ff8040 0%, #c06020 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 8px #c06020; animation: hp-glow 1.5s ease-in-out infinite; }
.scn-hervey-proposition .cigar-smoke { position:absolute; left:30%; bottom:55%; width:8%; height:30%; background: linear-gradient(180deg, rgba(255,255,255,.15) 0%, transparent 100%); filter: blur(6px); border-radius: 50%; animation: hp-smoke 8s ease-out infinite; }
@keyframes hp-legs { 0% { transform: rotate(0deg) scaleY(1) } 25% { transform: rotate(3deg) scaleY(0.98) } 50% { transform: rotate(-2deg) scaleY(1.02) } 75% { transform: rotate(2deg) scaleY(0.99) } 100% { transform: rotate(0deg) scaleY(1) } }
@keyframes hp-stand { 0% { transform: translateX(0) } 50% { transform: translateX(-4px) rotate(2deg) } 100% { transform: translateX(0) } }
@keyframes hp-glow { 0% { box-shadow: 0 0 15px 5px #c06020; opacity:0.6 } 50% { box-shadow: 0 0 30px 12px #ff8040; opacity:1 } 100% { box-shadow: 0 0 20px 8px #c06020; opacity:0.7 } }
@keyframes hp-smoke { 0% { transform: translateY(0) scaleX(1); opacity:0.5 } 50% { transform: translateY(-30px) scaleX(1.5); opacity:0.2 } 100% { transform: translateY(-60px) scaleX(2); opacity:0 } }

.scn-hervey-bargains { background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%), radial-gradient(circle at 40% 50%, #3a2520 0%, transparent 70%); }
.scn-hervey-bargains .wall { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #241a16 0%, #140e0a 100%); }
.scn-hervey-bargains .floor { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #140e0a 0%, #0a0604 100%); border-radius: 40% 40% 0 0 / 20% 20% 0 0; }
.scn-hervey-bargains .table { position:absolute; left:30%; bottom:35%; width:40%; height:10%; background: linear-gradient(180deg, #3a2822 0%, #2a1a14 100%); border-radius: 4%; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-hervey-bargains .figure-hervey { position:absolute; left:15%; bottom:35%; width:16%; height:50%; background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hb-lean 7s ease-in-out infinite; }
.scn-hervey-bargains .figure-professor { position:absolute; right:15%; bottom:35%; width:14%; height:45%; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hb-rise 6s ease-in-out infinite alternate; }
.scn-hervey-bargains .document { position:absolute; left:45%; bottom:42%; width:10%; height:6%; background: linear-gradient(135deg, #d4b888 0%, #a08050 100%); border-radius: 2%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: hb-paper 12s ease-in-out infinite; }
.scn-hervey-bargains .lamp { position:absolute; top:15%; left:50%; width:10%; height:25%; background: radial-gradient(ellipse at 50% 0%, #c08040 0%, #8a6020 50%, transparent 100%); border-radius: 50% 50% 0 0; filter: blur(2px); animation: hb-swing 5s ease-in-out infinite alternate; }
@keyframes hb-lean { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(-5px) rotate(2deg) } 60% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes hb-rise { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) translateY(-3px) } 100% { transform: scaleY(0.98) } }
@keyframes hb-paper { 0% { transform: rotate(0deg) translateX(0) } 25% { transform: rotate(5deg) translateX(2px) } 50% { transform: rotate(-3deg) translateX(-1px) } 75% { transform: rotate(2deg) translateX(1px) } 100% { transform: rotate(0deg) translateX(0) } }
@keyframes hb-swing { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }

.scn-hervey-accused { background: linear-gradient(180deg, #1e1613 0%, #120c0a 100%), radial-gradient(circle at 50% 60%, #3a221a 0%, transparent 70%); }
.scn-hervey-accused .wall { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); }
.scn-hervey-accused .floor { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%); border-radius: 30% 30% 0 0 / 15% 15% 0 0; }
.scn-hervey-accused .figure-hervey { position:absolute; left:20%; bottom:30%; width:16%; height:50%; background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: haa-lean 4s ease-in-out infinite; }
.scn-hervey-accused .figure-professor { position:absolute; right:25%; bottom:30%; width:15%; height:45%; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: haa-jump 3s ease-in-out infinite alternate; }
.scn-hervey-accused .shadow { position:absolute; left:22%; bottom:30%; width:20%; height:5%; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 100%); filter: blur(4px); animation: haa-shadow 4s ease-in-out infinite; }
.scn-hervey-accused .lamp-flicker { position:absolute; top:10%; left:50%; width:8%; height:20%; background: radial-gradient(ellipse at 50% 0%, #d09050 0%, #a06020 50%, transparent 100%); border-radius: 50% 50% 0 0; filter: blur(3px); animation: haa-flicker 0.5s linear infinite; }
.scn-hervey-accused .glow { position:absolute; right:20%; bottom:45%; width:10%; height:20%; background: radial-gradient(circle, rgba(255,180,80,.3) 0%, transparent 100%); filter: blur(10px); animation: haa-glow 2s ease-in-out infinite alternate; }
@keyframes haa-lean { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(-3px) rotate(2deg) } 70% { transform: translateX(2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes haa-jump { 0% { transform: scaleY(1) translateY(0) } 20% { transform: scaleY(1.08) translateY(-6px) } 40% { transform: scaleY(0.95) translateY(2px) } 60% { transform: scaleY(1.05) translateY(-3px) } 80% { transform: scaleY(0.98) translateY(1px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes haa-shadow { 0% { opacity:0.4; transform: scale(1) } 50% { opacity:0.7; transform: scale(1.2) } 100% { opacity:0.4; transform: scale(0.9) } }
@keyframes haa-flicker { 0% { opacity:0.6 } 25% { opacity:0.9 } 50% { opacity:0.5 } 75% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes haa-glow { 0% { opacity:0.3; transform: scale(1) } 50% { opacity:0.8; transform: scale(1.3) } 100% { opacity:0.4; transform: scale(0.95) } }

.scn-after-events-details { background: linear-gradient(135deg, #1a1a1e 0%, #2a2a30 50%, #1e1e22 100%), radial-gradient(ellipse at 50% 100%, #3a3a44 0%, transparent 70%); }
.scn-after-events-details .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2b2b30 0%, #1d1d22 100%); }
.scn-after-events-details .wall { position:absolute; inset:10% 10% 40% 10%; background: linear-gradient(135deg, #3a3a40 0%, #2a2a30 50%, #1f1f24 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-after-events-details .table { position:absolute; bottom:18%; left:15%; right:15%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 8% 8% 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.6); }
.scn-after-events-details .lamp { position:absolute; bottom:38%; left:30%; width:20px; height:30px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #b08040 50%, #4a3010 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 10px rgba(200,140,60,0.5); animation: ae-lamp 4s ease-in-out infinite alternate; }
.scn-after-events-details .paper { position:absolute; bottom:30%; left:55%; width:40px; height:28px; background: linear-gradient(135deg, #e8d8b0 0%, #c8b890 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.4); animation: ae-paper 6s ease-in-out infinite; }
.scn-after-events-details .cup { position:absolute; bottom:24%; left:38%; width:14px; height:18px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 0 0 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: ae-cup 5s ease-in-out infinite; }
.scn-after-events-details .figure-a { position:absolute; bottom:20%; left:25%; width:24px; height:60px; background: linear-gradient(180deg, #1e1e2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ae-figA 3s ease-in-out infinite; }
.scn-after-events-details .figure-b { position:absolute; bottom:20%; right:25%; width:22px; height:56px; background: linear-gradient(180deg, #1a1a26 0%, #0a0a16 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ae-figB 3.5s ease-in-out infinite reverse; }
@keyframes ae-lamp { 0% { opacity:0.8; box-shadow:0 0 20px 6px rgba(200,140,60,0.4); } 50% { opacity:1; box-shadow:0 0 40px 15px rgba(200,140,60,0.6); } 100% { opacity:0.85; box-shadow:0 0 25px 8px rgba(200,140,60,0.45); } }
@keyframes ae-paper { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes ae-cup { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(2deg); } }
@keyframes ae-figA { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(0); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2px) rotate(0); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes ae-figB { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-2px) rotate(0); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(2px) rotate(0); } 100% { transform: translateX(0) rotate(1deg); } }

.scn-mummy-in-garden { background: linear-gradient(135deg, #12121a 0%, #1a1a24 50%, #0e0e14 100%), radial-gradient(ellipse at 70% 100%, #20202c 0%, transparent 70%); }
.scn-mummy-in-garden .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a24 0%, #101018 100%); }
.scn-mummy-in-garden .wall { position:absolute; inset:5% 5% 30% 5%; background: linear-gradient(135deg, #2a2a34 0%, #1a1a24 50%, #12121c 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6); }
.scn-mummy-in-garden .window-frame { position:absolute; top:12%; left:30%; right:30%; bottom:55%; background: #2a2a30; border: 6px solid #1a1a1e; border-radius: 6px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-mummy-in-garden .night-sky { position:absolute; top:14%; left:32%; right:32%; bottom:57%; background: linear-gradient(180deg, #0a0a14 0%, #14142a 50%, #0a0a14 100%); border-radius: 2px; animation: mg-sky 12s ease-in-out infinite alternate; }
.scn-mummy-in-garden .desk { position:absolute; bottom:15%; left:10%; right:10%; height:22%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 6% 6% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.6); }
.scn-mummy-in-garden .lamp { position:absolute; bottom:35%; left:25%; width:18px; height:28px; background: radial-gradient(circle at 50% 30%, #d0a060 0%, #8a6030 50%, #3a2210 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 25px 8px rgba(138,96,48,0.5); animation: mg-lamp 4s ease-in-out infinite alternate; }
.scn-mummy-in-garden .figure { position:absolute; bottom:18%; left:40%; width:22px; height:58px; background: linear-gradient(180deg, #1a1a26 0%, #0a0a16 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mg-fig 3s ease-in-out infinite; }
.scn-mummy-in-garden .shadow { position:absolute; bottom:10%; left:35%; width:40px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%); filter: blur(4px); animation: mg-shadow 6s ease-in-out infinite; }
.scn-mummy-in-garden .curtain { position:absolute; top:10%; left:25%; width:10px; height:40%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 0 40% 40% 0; filter: blur(1px); animation: mg-curtain 8s ease-in-out infinite; }
@keyframes mg-sky { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes mg-lamp { 0% { opacity:0.75; box-shadow:0 0 20px 5px rgba(138,96,48,0.4); } 50% { opacity:1; box-shadow:0 0 35px 12px rgba(138,96,48,0.6); } 100% { opacity:0.8; box-shadow:0 0 22px 6px rgba(138,96,48,0.45); } }
@keyframes mg-fig { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mg-shadow { 0%,100% { transform: scaleX(1) translateX(0); opacity:0.6; } 50% { transform: scaleX(1.2) translateX(5px); opacity:0.8; } }
@keyframes mg-curtain { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }

.scn-blackmail-reasoning { background: linear-gradient(135deg, #1c1c20 0%, #262630 50%, #181820 100%), radial-gradient(ellipse at 50% 100%, #30303a 0%, transparent 70%); }
.scn-blackmail-reasoning .bg { position:absolute; inset:0; background: linear-gradient(180deg, #24242c 0%, #181820 100%); }
.scn-blackmail-reasoning .desk { position:absolute; bottom:20%; left:8%; right:8%; height:25%; background: linear-gradient(180deg, #3a2e24 0%, #1e1812 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.5); }
.scn-blackmail-reasoning .letter { position:absolute; bottom:30%; left:45%; width:50px; height:34px; background: linear-gradient(135deg, #c8b898 0%, #a89878 100%); border-radius: 2px; transform: rotate(-3deg); box-shadow: 1px 1px 4px rgba(0,0,0,0.4); animation: br-letter 7s ease-in-out infinite; }
.scn-blackmail-reasoning .emerald { position:absolute; bottom:34%; left:52%; width:12px; height:12px; background: radial-gradient(circle at 40% 40%, #60c080 0%, #208040 50%, #0a3018 100%); border-radius: 50%; box-shadow: 0 0 14px 4px rgba(32,128,64,0.7); animation: br-gem 3s ease-in-out infinite alternate; }
.scn-blackmail-reasoning .hand { position:absolute; bottom:28%; left:40%; width:20px; height:30px; background: linear-gradient(180deg, #c8a880 0%, #a07858 100%); border-radius: 40% 40% 30% 30%; transform: rotate(15deg); transform-origin: bottom left; animation: br-hand 4s ease-in-out infinite; }
.scn-blackmail-reasoning .figure { position:absolute; bottom:18%; right:22%; width:24px; height:64px; background: linear-gradient(180deg, #1a1a28 0%, #0a0a18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: br-fig 3.2s ease-in-out infinite; }
.scn-blackmail-reasoning .candle { position:absolute; bottom:35%; left:30%; width:8px; height:24px; background: linear-gradient(180deg, #e8d0b0 0%, #b08060 40%, #4a2a1a 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 10px 3px rgba(200,140,60,0.4); animation: br-candle 5s ease-in-out infinite alternate; }
@keyframes br-letter { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes br-gem { 0% { opacity:0.6; box-shadow:0 0 10px 2px rgba(32,128,64,0.5); } 50% { opacity:1; box-shadow:0 0 22px 8px rgba(32,128,64,0.8); } 100% { opacity:0.7; box-shadow:0 0 12px 3px rgba(32,128,64,0.55); } }
@keyframes br-hand { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes br-fig { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(3px) rotate(0); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-3px) rotate(0); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes br-candle { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.85; transform: scaleY(0.95); } }

.scn-emerald-pledge { background: linear-gradient(135deg, #14141c 0%, #1a1a24 50%, #101018 100%), radial-gradient(ellipse at 50% 100%, #282838 0%, transparent 70%); }
.scn-emerald-pledge .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a24 0%, #12121c 100%); }
.scn-emerald-pledge .gem { position:absolute; top:40%; left:50%; width:30px; height:30px; transform: translate(-50%, -50%); background: radial-gradient(circle at 30% 30%, #70d090 0%, #308050 50%, #1a4028 100%); border-radius: 50%; box-shadow: 0 0 40px 15px rgba(48,128,80,0.7), 0 0 80px 30px rgba(48,128,80,0.3); animation: ep-gem 2.5s ease-in-out infinite alternate; }
.scn-emerald-pledge .hand-left { position:absolute; bottom:25%; left:35%; width:32px; height:40px; background: linear-gradient(135deg, #d0a880 0%, #a07858 50%, #785038 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(25deg); transform-origin: bottom left; animation: ep-handL 4s ease-in-out infinite; }
.scn-emerald-pledge .hand-right { position:absolute; bottom:25%; right:35%; width:32px; height:40px; background: linear-gradient(135deg, #c89c78 0%, #986c48 50%, #704828 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(-20deg); transform-origin: bottom right; animation: ep-handR 4.2s ease-in-out infinite reverse; }
.scn-emerald-pledge .glow { position:absolute; top:35%; left:45%; width:60px; height:60px; background: radial-gradient(circle, rgba(70,200,110,0.4) 0%, transparent 70%); filter: blur(10px); animation: ep-glow 3s ease-in-out infinite alternate; }
.scn-emerald-pledge .shadow { position:absolute; bottom:10%; left:30%; right:30%; height:20px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 100%); filter: blur(6px); animation: ep-shadow 5s ease-in-out infinite; }
@keyframes ep-gem { 0% { transform: translate(-50%, -50%) scale(1); box-shadow:0 0 30px 10px rgba(48,128,80,0.6),0 0 60px 20px rgba(48,128,80,0.3); } 50% { transform: translate(-50%, -50%) scale(1.1); box-shadow:0 0 50px 20px rgba(48,128,80,0.8),0 0 100px 40px rgba(48,128,80,0.4); } 100% { transform: translate(-50%, -50%) scale(0.95); box-shadow:0 0 35px 12px rgba(48,128,80,0.65),0 0 70px 25px rgba(48,128,80,0.35); } }
@keyframes ep-handL { 0% { transform: rotate(25deg) translateY(0); } 50% { transform: rotate(20deg) translateY(-5px); } 100% { transform: rotate(25deg) translateY(0); } }
@keyframes ep-handR { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-5px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes ep-glow { 0% { opacity:0.4; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.3); } 100% { opacity:0.5; transform: scale(0.9); } }
@keyframes ep-shadow { 0%,100% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.2); } }

.scn-braddock-confrontation {
  background: linear-gradient(180deg, #0f1a2e 0%, #1c2d4a 40%, #2a3f5e 70%, #1c2d4a 100%),
              radial-gradient(ellipse at 70% 20%, rgba(180, 220, 255, 0.15) 0%, transparent 60%);
}
.scn-braddock-confrontation .wall-bg {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(90deg, #131e30 0%, #1c2d4a 50%, #131e30 100%);
  animation: bc-wall 8s ease-in-out infinite alternate;
}
.scn-braddock-confrontation .window {
  position: absolute; top: 15%; left: 60%; width: 80px; height: 100px;
  background: linear-gradient(180deg, rgba(180, 220, 255, 0.8) 0%, rgba(80, 120, 180, 0.3) 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(180, 220, 255, 0.5), 0 0 40px rgba(180, 220, 255, 0.2);
  animation: bc-window 6s ease-in-out infinite alternate;
}
.scn-braddock-confrontation .moonbeam {
  position: absolute; top: 15%; left: 60%; width: 200px; height: 300px;
  background: linear-gradient(160deg, rgba(180, 220, 255, 0.2) 0%, transparent 100%);
  transform: skewX(-10deg); clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  animation: bc-beam 12s ease-in-out infinite alternate;
}
.scn-braddock-confrontation .figure-accuser {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #0f1622 0%, #1a2535 60%, #0f1622 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bc-figure 4s ease-in-out infinite;
}
.scn-braddock-confrontation .case {
  position: absolute; bottom: 25%; left: 48%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: bc-case 9s ease-in-out infinite;
}
.scn-braddock-confrontation .corpse {
  position: absolute; bottom: 28%; left: 49%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  opacity: 0.8;
  animation: bc-corpse 5s ease-in-out infinite alternate;
}
.scn-braddock-confrontation .shadow-floor {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 20px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: bc-shadow 7s ease-in-out infinite alternate;
}
@keyframes bc-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes bc-window { 0% { opacity:0.7; transform: scaleY(1); } 50% { opacity:0.9; transform: scaleY(1.02); } 100% { opacity:0.8; transform: scaleY(0.98); } }
@keyframes bc-beam { 0% { opacity:0.3; transform: skewX(-12deg) translateX(0); } 50% { opacity:0.5; transform: skewX(-8deg) translateX(5px); } 100% { opacity:0.4; transform: skewX(-10deg) translateX(-2px); } }
@keyframes bc-figure { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(3px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(0); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes bc-case { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } }
@keyframes bc-corpse { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes bc-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.05); } 100% { opacity:0.5; transform: scaleX(0.95); } }

.scn-confession-details-read {
  background: linear-gradient(180deg, #1e1a14 0%, #2a221a 40%, #1e1a14 100%),
              radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, transparent 70%);
}
.scn-confession-details-read .room-bg {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #2a221a 0%, #3a2e22 50%, #2a221a 100%);
  animation: cdr-bg 10s ease-in-out infinite alternate;
}
.scn-confession-details-read .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.5);
  animation: cdr-desk 8s ease-in-out infinite;
}
.scn-confession-details-read .lamp {
  position: absolute; bottom: 28%; left: 40%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0;
}
.scn-confession-details-read .lamp::before {
  content: ''; position: absolute; top: -15px; left: 50%; transform: translateX(-50%);
  width: 30px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #e8b050 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255, 208, 128, 0.4), 0 0 60px 20px rgba(255, 208, 128, 0.2);
  animation: cdr-lampglow 3s ease-in-out infinite alternate;
}
.scn-confession-details-read .paper {
  position: absolute; bottom: 16%; left: 35%; width: 50px; height: 35px;
  background: linear-gradient(180deg, #e8d8b0 0%, #c8b890 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: cdr-paper 5s ease-in-out infinite;
}
.scn-confession-details-read .figure-reader {
  position: absolute; bottom: 15%; left: 25%; width: 45px; height: 65px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 60%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cdr-reader 4s ease-in-out infinite;
}
.scn-confession-details-read .shadow-desk {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 10px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: cdr-shad 6s ease-in-out infinite alternate;
}
@keyframes cdr-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes cdr-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes cdr-lampglow { 0% { opacity:0.7; box-shadow: 0 0 20px 5px rgba(255,208,128,0.3); } 50% { opacity:1; box-shadow: 0 0 40px 15px rgba(255,208,128,0.6); } 100% { opacity:0.8; box-shadow: 0 0 30px 10px rgba(255,208,128,0.4); } }
@keyframes cdr-paper { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-6deg) translateY(1px); } }
@keyframes cdr-reader { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(-1px) translateY(0) rotate(-1deg); } 75% { transform: translateX(3px) translateY(-1px) rotate(0); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes cdr-shad { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.03); } 100% { opacity:0.6; transform: scaleX(0.97); } }

.scn-cockatoo-trickery {
  background: linear-gradient(180deg, #0a0e1a 0%, #141c2e 40%, #0a0e1a 100%),
              radial-gradient(ellipse at 50% 30%, #1c2a3e 0%, transparent 80%);
}
.scn-cockatoo-trickery .night-sky {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #0a0e1a 0%, #141c2e 70%, #1c2a3e 100%);
  animation: ct-sky 15s ease-in-out infinite alternate;
}
.scn-cockatoo-trickery .moon {
  position: absolute; top: 15%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, #e0e8f0 0%, #b0c0d0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(180, 200, 220, 0.3);
  animation: ct-moon 10s ease-in-out infinite alternate;
}
.scn-cockatoo-trickery .cloud-slow {
  position: absolute; top: 25%; left: -20%; width: 120px; height: 20px;
  background: linear-gradient(180deg, rgba(180, 190, 200, 0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ct-cloud 40s linear infinite;
}
.scn-cockatoo-trickery .figure-cockatoo {
  position: absolute; bottom: 20%; left: 55%; width: 40px; height: 75px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 60%, #1a1a2a 100%);
  border-radius: 60% 40% 40% 40% / 70% 50% 50% 40%;
  transform-origin: bottom center;
  animation: ct-cock 5s ease-in-out infinite;
}
.scn-cockatoo-trickery .figure-eliza {
  position: absolute; bottom: 22%; left: 35%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 60%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ct-eliza 5.5s ease-in-out infinite 1s;
}
.scn-cockatoo-trickery .tree-shape {
  position: absolute; bottom: 8%; left: 10%; width: 50px; height: 120px;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 30% 70% 30% 70% / 60% 40% 60% 40%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: ct-tree 12s ease-in-out infinite;
}
@keyframes ct-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes ct-moon { 0% { opacity:0.6; transform: scale(0.95); } 50% { opacity:0.9; transform: scale(1.02); } 100% { opacity:0.7; transform: scale(0.98); } }
@keyframes ct-cloud { 0% { transform: translateX(-100px); } 100% { transform: translateX(100vw); } }
@keyframes ct-cock { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ct-eliza { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } 50% { transform: translateX(1px) translateY(0) rotate(0); } 75% { transform: translateX(-3px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes ct-tree { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }

.scn-boat-return-witness {
  background: linear-gradient(180deg, #0a0e1a 0%, #141c2e 40%, #1c2a3e 70%, #0a0e1a 100%),
              radial-gradient(ellipse at 50% 0%, #1c2a3e 0%, transparent 80%);
}
.scn-boat-return-witness .sea-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a0e1a 0%, #141c2e 50%, #1c2a3e 100%);
  animation: brw-sky 12s ease-in-out infinite alternate;
}
.scn-boat-return-witness .sea-water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 50%, #1a2a3a 100%);
  border-radius: 20% 80% 0 0 / 10% 30% 0 0;
  animation: brw-water 8s ease-in-out infinite alternate;
}
.scn-boat-return-witness .moon-boat {
  position: absolute; top: 10%; left: 65%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d0d8e0 0%, #a0b0c0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(180, 200, 220, 0.3);
  animation: brw-moon 14s ease-in-out infinite alternate;
}
.scn-boat-return-witness .boat {
  position: absolute; bottom: 35%; left: 30%; width: 100px; height: 25px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%);
  border-radius: 10% 10% 40% 40% / 50% 50% 30% 30%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.4);
  animation: brw-boat 6s ease-in-out infinite;
}
.scn-boat-return-witness .figures-boat {
  position: absolute; bottom: 40%; left: 35%; width: 20px; height: 25px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: brw-fig 4s ease-in-out infinite;
}
.scn-boat-return-witness .stone-dock {
  position: absolute; bottom: 20%; left: 70%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: brw-dock 9s ease-in-out infinite alternate;
}
.scn-boat-return-witness .ripples {
  position: absolute; bottom: 38%; left: 25%; right: 25%; height: 10px;
  background: repeating-linear-gradient(90deg, rgba(180,200,220,0.05) 0px, transparent 10px, rgba(180,200,220,0.1) 20px);
  animation: brw-ripple 3s ease-in-out infinite;
}
@keyframes brw-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes brw-water { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes brw-moon { 0% { opacity:0.6; transform: scale(0.95); } 50% { opacity:0.9; transform: scale(1.02); } 100% { opacity:0.7; transform: scale(0.98); } }
@keyframes brw-boat { 0%,100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(2px) rotate(0); } }
@keyframes brw-fig { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes brw-dock { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes brw-ripple { 0% { opacity:0.2; transform: scaleX(1); } 50% { opacity:0.5; transform: scaleX(1.2); } 100% { opacity:0.3; transform: scaleX(1); } }

/* hervey-arrives - bright interior, tense mood */
.scn-hervey-arrives {
  background: linear-gradient(180deg, #f5e6d0 0%, #d4b896 40%, #a08060 100%),
              radial-gradient(ellipse at 30% 50%, rgba(255,230,180,0.8) 0%, transparent 60%);
}
.scn-hervey-arrives .room-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #c9b699 0%, #e0cdb0 40%, #c9b699 100%);
  animation: ha-room 25s ease-in-out infinite alternate;
}
.scn-hervey-arrives .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8b7355 0%, #6b5a42 100%);
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.3);
}
.scn-hervey-arrives .door {
  position: absolute; left: 8%; bottom: 35%; width: 80px; height: 130px;
  background: linear-gradient(180deg, #6b4a2e 0%, #4d3320 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -3px 0 5px rgba(0,0,0,0.4);
}
.scn-hervey-arrives .mummy-table {
  position: absolute; left: 38%; bottom: 38%; width: 140px; height: 30px;
  background: linear-gradient(180deg, #8b6b44 0%, #735a3a 100%);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgba(0,0,0,0.5);
  animation: ha-table 9s ease-in-out infinite;
}
.scn-hervey-arrives .professor {
  position: absolute; left: 20%; bottom: 30%; width: 40px; height: 65px;
  background: linear-gradient(180deg, #2a251f 0%, #1a1510 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ha-prof 6s ease-in-out infinite;
}
.scn-hervey-arrives .captain {
  position: absolute; left: 65%; bottom: 28%; width: 42px; height: 70px;
  background: linear-gradient(180deg, #1f1a15 0%, #0f0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ha-cap 8s ease-in-out infinite;
}
.scn-hervey-arrives .lamp-glow {
  position: absolute; top: 12%; left: 72%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffe8c0 0%, #f0c890 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(240,200,144,0.5);
  animation: ha-lamp 4s ease-in-out infinite alternate;
}
.scn-hervey-arrives .shadow-cast {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(0deg, rgba(0,0,0,0.2) 0%, transparent 100%);
  animation: ha-shadow 12s ease-in-out infinite;
}
@keyframes ha-room {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ha-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes ha-prof {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(2deg); }
  50% { transform: translateX(4px) rotate(1deg); }
  75% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ha-cap {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-3px) rotate(-2deg); }
  60% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ha-lamp {
  0% { opacity: 0.8; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.9; transform: scale(1); }
}
@keyframes ha-shadow {
  0% { opacity: 0.2; }
  50% { opacity: 0.4; }
  100% { opacity: 0.25; }
}

/* hervey-accuses-random - bright interior, tense mood */
.scn-hervey-accuses-random {
  background: linear-gradient(180deg, #ecdcc0 0%, #c8b494 40%, #a08060 100%),
              radial-gradient(ellipse at 50% 30%, rgba(255,220,170,0.6) 0%, transparent 70%);
}
.scn-hervey-accuses-random .interior-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #b8a288 0%, #d9c8ae 50%, #b8a288 100%);
  animation: har-room 20s ease-in-out infinite alternate;
}
.scn-hervey-accuses-random .table {
  position: absolute; left: 20%; bottom: 32%; width: 60%; height: 30px;
  background: linear-gradient(180deg, #7d6348 0%, #5c4730 100%);
  border-radius: 8px;
  box-shadow: 0 8px 15px rgba(0,0,0,0.4);
  animation: har-table 10s ease-in-out infinite;
}
.scn-hervey-accuses-random .mummy-swathe {
  position: absolute; left: 35%; bottom: 40%; width: 100px; height: 20px;
  background: linear-gradient(90deg, #c2a882 0%, #d7c0a0 50%, #c2a882 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  animation: har-swathe 14s ease-in-out infinite alternate;
}
.scn-hervey-accuses-random .professor-fig {
  position: absolute; left: 15%; bottom: 28%; width: 38px; height: 60px;
  background: linear-gradient(180deg, #2b241c 0%, #1a1410 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 35% 35%;
  animation: har-prof 7s ease-in-out infinite;
}
.scn-hervey-accuses-random .captain-fig {
  position: absolute; left: 60%; bottom: 25%; width: 45px; height: 72px;
  background: linear-gradient(180deg, #1c1611 0%, #0b0805 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%;
  animation: har-cap 9s ease-in-out infinite;
}
.scn-hervey-accuses-random .candle-spot {
  position: absolute; top: 10%; left: 50%; width: 30px; height: 50px;
  background: radial-gradient(circle at 50% 0%, #ffe6b0 0%, #f0c070 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 50px 15px rgba(240,192,112,0.5);
  animation: har-candle 5s ease-in-out infinite alternate;
}
.scn-hervey-accuses-random .wall-shape {
  position: absolute; left: 30%; top: 5%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(210,190,165,0.4) 0%, transparent 100%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  animation: har-wall 30s linear infinite alternate;
}
@keyframes har-room {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes har-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes har-swathe {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.1); }
  100% { transform: scaleX(0.95); }
}
@keyframes har-prof {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(2px) rotate(1deg) translateY(-1px); }
  66% { transform: translateX(-1px) rotate(-1deg) translateY(0); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes har-cap {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(1px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes har-candle {
  0% { opacity: 0.7; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes har-wall {
  0% { opacity: 0.1; }
  100% { opacity: 0.3; }
}

/* hervey-names-random - bright interior, tense mood */
.scn-hervey-names-random {
  background: linear-gradient(180deg, #e8d8be 0%, #c0aa8c 40%, #907a60 100%),
              radial-gradient(ellipse at 40% 20%, rgba(255,210,150,0.7) 0%, transparent 60%);
}
.scn-hervey-names-random .close-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #c9b69c 0%, #af9a82 100%);
  animation: hnr-bg 18s ease-in-out infinite alternate;
}
.scn-hervey-names-random .left-silhouette {
  position: absolute; left: 5%; bottom: 20%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #1c1611 0%, #0a0705 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 40% 40%;
  transform-origin: bottom;
  animation: hnr-left 6s ease-in-out infinite;
}
.scn-hervey-names-random .right-silhouette {
  position: absolute; right: 5%; bottom: 18%; width: 55px; height: 85px;
  background: linear-gradient(180deg, #17120e 0%, #080504 100%);
  border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom;
  animation: hnr-right 8s ease-in-out infinite;
}
.scn-hervey-names-random .gripping-arm {
  position: absolute; left: 40%; bottom: 30%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #2b231c 0%, #16100b 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: left bottom;
  animation: hnr-arm 4s ease-in-out infinite;
}
.scn-hervey-names-random .angry-shadow {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(0deg, rgba(0,0,0,0.25) 0%, transparent 100%);
  animation: hnr-shadow 12s ease-in-out infinite;
}
.scn-hervey-names-random .light-shaft {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,230,180,0.15) 0%, transparent 100%);
  clip-path: polygon(30% 0%, 70% 0%, 90% 100%, 10% 100%);
  animation: hnr-shaft 7s ease-in-out infinite alternate;
}
.scn-hervey-names-random .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,200,0.1) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,255,200,0.08) 0%, transparent 40%);
  animation: hnr-dust 20s linear infinite;
}
@keyframes hnr-bg {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes hnr-left {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg) translateY(-1px); }
  50% { transform: translateX(0) rotate(0deg) translateY(0); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes hnr-right {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-2px) rotate(-2deg); }
  66% { transform: translateX(1px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes hnr-arm {
  0%, 100% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(-8deg) scaleY(0.95); }
}
@keyframes hnr-shadow {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.35; }
}
@keyframes hnr-shaft {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.25; }
}
@keyframes hnr-dust {
  0% { background-position: 0% 0%, 0% 0%; }
  100% { background-position: 100% 100%, 50% 50%; }
}

/* hervey-recounts-threats - bright interior, tense mood */
.scn-hervey-recounts-threats {
  background: linear-gradient(180deg, #dccbb4 0%, #b8a288 40%, #8a7058 100%),
              radial-gradient(ellipse at 60% 40%, rgba(255,200,150,0.6) 0%, transparent 60%);
}
.scn-hervey-recounts-threats .window-lit {
  position: absolute; left: 5%; top: 5%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #f0e6d0 0%, #d4c4a8 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: hrt-window 15s ease-in-out infinite alternate;
}
.scn-hervey-recounts-threats .captain-gesture {
  position: absolute; left: 50%; bottom: 20%; width: 50px; height: 75px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: hrt-captain 7s ease-in-out infinite;
}
.scn-hervey-recounts-threats .professor-back {
  position: absolute; left: 20%; bottom: 22%; width: 40px; height: 68px;
  background: linear-gradient(180deg, #2b241c 0%, #14100b 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom;
  animation: hrt-prof 9s ease-in-out infinite;
}
.scn-hervey-recounts-threats .mummy-case {
  position: absolute; right: 5%; bottom: 30%; width: 100px; height: 50px;
  background: linear-gradient(180deg, #b89a7a 0%, #8a6e4e 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 8px 15px rgba(0,0,0,0.4);
  animation: hrt-case 12s ease-in-out infinite;
}
.scn-hervey-recounts-threats .floor-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, rgba(0,0,0,0.2) 0%, transparent 100%);
  animation: hrt-floor 20s ease-in-out infinite;
}
.scn-hervey-recounts-threats .lamp-light {
  position: absolute; top: 50%; left: 15%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffe0b0 0%, #f0c070 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(240,192,112,0.4);
  animation: hrt-lamp 5s ease-in-out infinite alternate;
}
.scn-hervey-recounts-threats .door-way {
  position: absolute; left: 70%; top: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #5c4a34 0%, #3c2e1e 100%);
  border-radius: 4px 0 0 4px;
  box-shadow: inset -5px 0 10px rgba(0,0,0,0.5);
  animation: hrt-door 25s ease-in-out infinite alternate;
}
.scn-hervey-recounts-threats .venetian-light {
  position: absolute; left: 8%; top: 10%; width: 15%; height: 40%;
  background: repeating-linear-gradient(0deg, 
    rgba(255,220,170,0.4) 0px, 
    rgba(255,220,170,0.4) 4px, 
    transparent 4px, 
    transparent 10px);
  animation: hrt-venetian 8s ease-in-out infinite alternate;
}
@keyframes hrt-window {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.85; transform: scaleX(0.98); }
}
@keyframes hrt-captain {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-2deg) translateY(-1px); }
  50% { transform: translateX(0) rotate(0deg) translateY(0); }
  75% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes hrt-prof {
  0% { transform: translateX(0); }
  50% { transform: translateX(2px) translateY(-1px); }
  100% { transform: translateX(0); }
}
@keyframes hrt-case {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes hrt-floor {
  0% { opacity: 0.2; }
  50% { opacity: 0.4; }
  100% { opacity: 0.25; }
}
@keyframes hrt-lamp {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes hrt-door {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes hrt-venetian {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

.scn-pyramids-museum-life {
  background:
    linear-gradient(135deg, #2a1f1a 0%, #3a2a23 40%, #4a352b 100%),
    radial-gradient(ellipse at 70% 20%, #5a4538 0%, #1a1010 80%);
}

.scn-pyramids-museum-life .mummy-left {
  position: absolute;
  left: 10%;
  bottom: 15%;
  width: 40px;
  height: 120px;
  background: linear-gradient(180deg, #c4a475 0%, #8c6e48 30%, #5a3f28 70%, #2a1a0e 100%);
  border-radius: 8% 8% 4% 4% / 12% 12% 4% 4%;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5), 0 8px 16px rgba(0,0,0,0.7);
  transform: rotate(2deg);
}
.scn-pyramids-museum-life .mummy-right {
  position: absolute;
  right: 12%;
  bottom: 12%;
  width: 50px;
  height: 130px;
  background: linear-gradient(180deg, #d4b88a 0%, #9a7a54 30%, #6a4a2e 70%, #3a2510 100%);
  border-radius: 10% 10% 4% 4% / 14% 14% 4% 4%;
  box-shadow: inset -6px 0 12px rgba(0,0,0,0.6), 0 10px 20px rgba(0,0,0,0.7);
  transform: rotate(-3deg);
  animation: pml-mummy 12s ease-in-out infinite alternate;
}
.scn-pyramids-museum-life .desk {
  position: absolute;
  left: 35%;
  bottom: 18%;
  width: 160px;
  height: 70px;
  background: linear-gradient(180deg, #6a4a32 0%, #4a2e1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5), inset 0 2px 4px rgba(255,255,255,0.08);
}
.scn-pyramids-museum-life .lamp {
  position: absolute;
  left: 42%;
  bottom: 65%;
  width: 20px;
  height: 50px;
  background: linear-gradient(180deg, #e0c080 0%, #b09050 40%, #8a6a30 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(200,160,60,0.5), 0 0 60px 20px rgba(200,160,60,0.2);
  transform-origin: bottom center;
  animation: pml-lamp 4s ease-in-out infinite alternate;
}
.scn-pyramids-museum-life .figure {
  position: absolute;
  left: 45%;
  bottom: 19%;
  width: 30px;
  height: 100px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 60%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  animation: pml-figure 8s ease-in-out infinite;
}
.scn-pyramids-museum-life .books {
  position: absolute;
  left: 60%;
  bottom: 22%;
  width: 60px;
  height: 30px;
  background: linear-gradient(90deg, #6a4a2a 0%, #8a6a3a 33%, #5a3a1a 66%, #7a5a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6), inset 0 1px 2px rgba(255,255,255,0.1);
  animation: pml-books 20s linear infinite;
}
.scn-pyramids-museum-life .shadow-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 50%, rgba(10,8,6,0.6) 100%);
  pointer-events: none;
  animation: pml-shadow 10s ease-in-out infinite alternate;
}

@keyframes pml-mummy { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-4px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes pml-lamp { 0% { opacity: 0.7; transform: scaleY(1) rotate(-2deg); } 50% { opacity: 1; transform: scaleY(1.02) rotate(0); } 100% { opacity: 0.8; transform: scaleY(1) rotate(2deg); } }
@keyframes pml-figure { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(-3deg) translateY(-2px); } 50% { transform: rotate(-5deg) translateY(0); } 75% { transform: rotate(-7deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes pml-books { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes pml-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

/* --- pyramids-household --- */

.scn-pyramids-household {
  background:
    linear-gradient(180deg, #1a1a12 0%, #2a2218 40%, #3a2e1e 100%),
    radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
}

.scn-pyramids-household .stove {
  position: absolute;
  left: 10%;
  bottom: 10%;
  width: 100px;
  height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 8% 8% 4% 4% / 20% 20% 4% 4%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.7), 0 8px 16px rgba(0,0,0,0.5);
}
.scn-pyramids-household .shelf {
  position: absolute;
  left: 30%;
  bottom: 50%;
  width: 200px;
  height: 8px;
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);
}
.scn-pyramids-household .window {
  position: absolute;
  left: 35%;
  bottom: 55%;
  width: 80px;
  height: 100px;
  background: linear-gradient(180deg, #5a6a5a 0%, #3a4a3a 100%);
  border-radius: 6% 6% 4% 4% / 8% 8% 4% 4%;
  border: 6px solid #4a3a2a;
  box-sizing: border-box;
  box-shadow: inset 0 0 20px rgba(200,220,180,0.3), 0 4px 8px rgba(0,0,0,0.5);
  animation: ph-window 15s ease-in-out infinite alternate;
}
.scn-pyramids-household .cook {
  position: absolute;
  left: 45%;
  bottom: 18%;
  width: 36px;
  height: 110px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 50%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(2deg);
  animation: ph-cook 6s ease-in-out infinite;
}
.scn-pyramids-household .table {
  position: absolute;
  left: 55%;
  bottom: 15%;
  width: 120px;
  height: 50px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a12 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: ph-table 20s linear infinite;
}
.scn-pyramids-household .pot {
  position: absolute;
  left: 60%;
  bottom: 35%;
  width: 30px;
  height: 40px;
  background: radial-gradient(circle at 50% 40%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-pyramids-household .cat {
  position: absolute;
  left: 70%;
  bottom: 20%;
  width: 30px;
  height: 20px;
  background: linear-gradient(180deg, #1a1a12 0%, #0a0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  transform: rotate(-10deg);
  animation: ph-cat 4s ease-in-out infinite alternate;
}

@keyframes ph-window { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes ph-cook { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(0) translateY(-2px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes ph-table { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes ph-cat { 0% { transform: rotate(-10deg) translateX(0); } 100% { transform: rotate(-5deg) translateX(4px); } }

/* --- pyramids-lucy-role --- */

.scn-pyramids-lucy-role {
  background:
    linear-gradient(135deg, #2a2018 0%, #3a2a1e 30%, #4a352a 100%),
    radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, transparent 80%);
}

.scn-pyramids-lucy-role .figure-lucy {
  position: absolute;
  left: 35%;
  bottom: 18%;
  width: 32px;
  height: 100px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 60%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(2deg);
  animation: plr-lucy 6s ease-in-out infinite alternate;
}
.scn-pyramids-lucy-role .figure-braddock {
  position: absolute;
  right: 30%;
  bottom: 18%;
  width: 38px;
  height: 110px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-3deg);
  animation: plr-braddock 8s ease-in-out infinite;
}
.scn-pyramids-lucy-role .keys {
  position: absolute;
  left: 42%;
  bottom: 40%;
  width: 14px;
  height: 24px;
  background: radial-gradient(circle at 50% 30%, #c8a86a 0%, #8a6a3a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), 0 0 12px 3px rgba(200,168,106,0.3);
  animation: plr-keys 3s ease-in-out infinite alternate;
}
.scn-pyramids-lucy-role .table {
  position: absolute;
  left: 30%;
  bottom: 14%;
  width: 160px;
  height: 40px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a12 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
}
.scn-pyramids-lucy-role .lamp {
  position: absolute;
  left: 60%;
  bottom: 70%;
  width: 18px;
  height: 60px;
  background: linear-gradient(180deg, #e0c080 0%, #b09050 40%, #8a6a30 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(200,160,60,0.4), 0 0 60px 20px rgba(200,160,60,0.15);
  animation: plr-lamp 5s ease-in-out infinite alternate;
}
.scn-pyramids-lucy-role .door {
  position: absolute;
  right: 10%;
  bottom: 8%;
  width: 70px;
  height: 130px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6% 6% 2% 2% / 10% 10% 2% 2%;
  box-shadow: inset -6px 0 12px rgba(0,0,0,0.7);
}
.scn-pyramids-lucy-role .rug {
  position: absolute;
  left: 20%;
  bottom: 5%;
  width: 240px;
  height: 30px;
  background: linear-gradient(90deg, #6a3a2a 0%, #8a4a3a 33%, #5a2a1a 66%, #7a3a2a 100%);
  border-radius: 10% 10% 4% 4% / 40% 40% 10% 10%;
  opacity: 0.7;
}

@keyframes plr-lucy { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes plr-braddock { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes plr-keys { 0% { transform: translateY(0) rotate(-5deg); opacity: 0.8; } 50% { transform: translateY(-2px) rotate(0); opacity: 1; } 100% { transform: translateY(0) rotate(5deg); opacity: 0.8; } }
@keyframes plr-lamp { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.03); } 100% { opacity: 0.8; transform: scaleY(1); } }

/* --- dinner-preparations --- */

.scn-dinner-preparations {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a4030 40%, #7a5a3a 100%),
    radial-gradient(ellipse at 60% 40%, #b09070 0%, transparent 70%);
}

.scn-dinner-preparations .dining-table {
  position: absolute;
  left: 50%;
  bottom: 20%;
  width: 300px;
  height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2e12 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5), inset 0 2px 4px rgba(255,255,255,0.05);
}
.scn-dinner-preparations .chair-braddock {
  position: absolute;
  left: 30%;
  bottom: 20%;
  width: 40px;
  height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1e12 100%);
  border-radius: 10% 10% 4% 4% / 20% 20% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: rotate(2deg);
}
.scn-dinner-preparations .chair-widow {
  position: absolute;
  right: 28%;
  bottom: 20%;
  width: 40px;
  height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1e12 100%);
  border-radius: 10% 10% 4% 4% / 20% 20% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: rotate(-2deg);
}
.scn-dinner-preparations .figure-braddock {
  position: absolute;
  left: 43%;
  bottom: 25%;
  width: 34px;
  height: 90px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-4deg);
  animation: dp-braddock 5s ease-in-out infinite alternate;
}
.scn-dinner-preparations .window {
  position: absolute;
  left: 65%;
  bottom: 50%;
  width: 100px;
  height: 120px;
  background: linear-gradient(180deg, #a0b090 0%, #607050 100%);
  border-radius: 6% 6% 4% 4% / 8% 8% 4% 4%;
  border: 6px solid #4a3a2a;
  box-sizing: border-box;
  box-shadow: inset 0 0 30px rgba(220,240,200,0.4), 0 4px 12px rgba(0,0,0,0.3);
  animation: dp-window 12s ease-in-out infinite alternate;
}
.scn-dinner-preparations .candelabra {
  position: absolute;
  left: 50%;
  bottom: 48%;
  width: 30px;
  height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8b080 0%, #a08850 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(255,200,100,0.5), 0 0 60px 20px rgba(255,200,100,0.2);
  animation: dp-candelabra 4s ease-in-out infinite alternate;
}
.scn-dinner-preparations .plate {
  position: absolute;
  left: 55%;
  bottom: 24%;
  width: 50px;
  height: 14px;
  background: radial-gradient(ellipse at 50% 50%, #e0d0c0 0%, #b0a090 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.4);
}
.scn-dinner-preparations .glass {
  position: absolute;
  left: 60%;
  bottom: 28%;
  width: 16px;
  height: 36px;
  background: linear-gradient(180deg, rgba(200,220,240,0.5) 0%, rgba(160,180,200,0.3) 100%);
  border-radius: 10% 10% 4% 4% / 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2), inset 0 -4px 8px rgba(255,255,255,0.3);
  animation: dp-glass 8s ease-in-out infinite;
}

@keyframes dp-braddock { 0% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-3px); } 100% { transform: rotate(-4deg) translateY(0); } }
@keyframes dp-window { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes dp-candelabra { 0% { opacity: 0.8; transform: scaleY(1) translateX(-50%); } 50% { opacity: 1; transform: scaleY(1.05) translateX(-50%); } 100% { opacity: 0.9; transform: scaleY(1) translateX(-50%); } }
@keyframes dp-glass { 0% { opacity: 0.4; transform: rotate(-2deg); } 50% { opacity: 0.7; transform: rotate(2deg); } 100% { opacity: 0.5; transform: rotate(-2deg); } }

.scn-mummy-overboard { background: linear-gradient(180deg, #0a0a1e 0%, #1a1a3e 40%, #2c2c50 100%), radial-gradient(ellipse at 50% 0%, #4a4a7e 0%, transparent 60%); }
.scn-mummy-overboard .sky-mo { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #12122a 0%, #1e1e3a 60%, #2a2a4e 100%); animation: mo-sky 18s ease-in-out infinite alternate; }
.scn-mummy-overboard .moon-mo { position:absolute; top:8%; left:70%; width:50px; height:50px; background: radial-gradient(circle, #c0c8e0 0%, #a0a8c8 40%, #6068a0 80%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(160,168,200,.4), 0 0 80px 40px rgba(100,104,160,.2); animation: mo-moon 24s ease-in-out infinite; }
.scn-mummy-overboard .sea-mo { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a2a 100%); border-top:2px solid #4a4a6e; animation: mo-sea 8s ease-in-out infinite; }
.scn-mummy-overboard .ship-mo { position:absolute; bottom:35%; left:10%; width:30%; height:20%; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 40%, #3a2a1a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: translateY(5%); box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); animation: mo-ship 6s ease-in-out infinite; }
.scn-mummy-overboard .sailor-mo { position:absolute; bottom:38%; width:14px; height:30px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; }
.scn-mummy-overboard .sailor-1 { left:18%; animation: mo-sailor1 5s ease-in-out infinite; }
.scn-mummy-overboard .sailor-2 { left:25%; animation: mo-sailor2 5s ease-in-out infinite 1s; }
.scn-mummy-overboard .crate-mo { position:absolute; bottom:42%; left:35%; width:40px; height:25px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border:1px solid #2a1a0a; border-radius:4px; transform: rotate(10deg); animation: mo-crate 4s ease-in-out infinite; }
.scn-mummy-overboard .kanaka-mo { position:absolute; bottom:45%; left:30%; width:16px; height:32px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-15deg); animation: mo-kanaka 4s ease-in-out infinite alternate; }
.scn-mummy-overboard .splash-mo { position:absolute; bottom:20%; left:35%; width:60px; height:40px; background: radial-gradient(ellipse at 50% 0%, rgba(200,220,255,.3) 0%, transparent 70%); border-radius:50%; filter: blur(4px); animation: mo-splash 2s ease-in-out infinite; }
@keyframes mo-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mo-moon { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-5px) scale(1.02) } 100% { transform: translateX(0) scale(1) } }
@keyframes mo-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes mo-ship { 0%,100% { transform: translateY(5%) rotate(0deg) } 50% { transform: translateY(6%) rotate(-1deg) } }
@keyframes mo-sailor1 { 0%,100% { transform: translateX(0) translateY(0) rotate(0) } 50% { transform: translateX(3px) translateY(-2px) rotate(5deg) } }
@keyframes mo-sailor2 { 0%,100% { transform: translateX(0) translateY(0) rotate(0) } 50% { transform: translateX(-2px) translateY(-1px) rotate(-4deg) } }
@keyframes mo-crate { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-4px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes mo-kanaka { 0% { transform: rotate(-15deg) translateY(0) } 100% { transform: rotate(-20deg) translateY(-10px) } }
@keyframes mo-splash { 0%,100% { opacity:0.3; transform: scale(1) } 50% { opacity:0.6; transform: scale(1.3) } }

.scn-braddock-in-case { background: linear-gradient(180deg, #0e0e22 0%, #1e1e3e 50%, #2a2a4e 100%), radial-gradient(ellipse at 50% 0%, #3a3a6e 0%, transparent 70%); }
.scn-braddock-in-case .sky-bc { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #14142e 0%, #1c1c38 60%, #24244a 100%); animation: bc-sky 20s ease-in-out infinite alternate; }
.scn-braddock-in-case .moon-bc { position:absolute; top:10%; left:20%; width:40px; height:40px; background: radial-gradient(circle, #d0d8f0 0%, #a0a8c8 50%, #6068a0 100%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(160,168,200,.5); animation: bc-moon 30s ease-in-out infinite; }
.scn-braddock-in-case .sea-bc { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #121232 0%, #060618 100%); border-top:1px solid #3a3a6a; animation: bc-sea 10s ease-in-out infinite; }
.scn-braddock-in-case .boat-bc { position:absolute; bottom:30%; left:40%; width:80px; height:20px; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%); border-radius: 50% 50% 20% 20% / 100% 100% 20% 20%; animation: bc-boat 6s ease-in-out infinite; }
.scn-braddock-in-case .case-bc { position:absolute; bottom:40%; left:50%; width:50px; height:35px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius:4px; transform: translateX(-50%); box-shadow: inset 0 -5px 10px rgba(0,0,0,.5); animation: bc-case 4s ease-in-out infinite; }
.scn-braddock-in-case .figure-bc { position:absolute; bottom:38%; width:16px; height:34px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-braddock-in-case .braddock { left:45%; animation: bc-braddock 5s ease-in-out infinite; }
.scn-braddock-in-case .de-gayangos { left:55%; animation: bc-degayangos 5s ease-in-out infinite 1s; }
.scn-braddock-in-case .oar-bc { position:absolute; bottom:30%; left:55%; width:8px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; transform: rotate(20deg); transform-origin: bottom center; animation: bc-oar 4s ease-in-out infinite; }
@keyframes bc-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes bc-moon { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(4px) scale(1.02) } 100% { transform: translateX(0) scale(1) } }
@keyframes bc-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes bc-boat { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(-2deg) } }
@keyframes bc-case { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(8deg) translateY(-3px) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes bc-braddock { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(2px) rotate(3deg) translateY(-2px) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bc-degayangos { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-2px) rotate(-4deg) translateY(-3px) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bc-oar { 0% { transform: rotate(20deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(20deg) } }

.scn-rescue-of-don-pedro { background: linear-gradient(180deg, #0c0c20 0%, #1a1a3a 50%, #28284a 100%), radial-gradient(ellipse at 50% 0%, #2e2e5e 0%, transparent 60%); }
.scn-rescue-of-don-pedro .sky-rd { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #10102a 0%, #1a1a38 60%, #222246 100%); animation: rd-sky 22s ease-in-out infinite alternate; }
.scn-rescue-of-don-pedro .moon-rd { position:absolute; top:15%; left:80%; width:45px; height:45px; background: radial-gradient(circle, #c8d0e8 0%, #a0a8c8 50%, #6068a0 100%); border-radius:50%; box-shadow: 0 0 35px 18px rgba(160,168,200,.4); animation: rd-moon 26s ease-in-out infinite; }
.scn-rescue-of-don-pedro .sea-rd { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #0e0e2e 0%, #040414 100%); border-top:1px solid #3a3a6a; animation: rd-sea 12s ease-in-out infinite; }
.scn-rescue-of-don-pedro .boat-rd { position:absolute; bottom:30%; left:50%; width:70px; height:18px; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%); border-radius: 50% 50% 20% 20% / 100% 100% 20% 20%; transform: translateX(-50%); animation: rd-boat 8s ease-in-out infinite; }
.scn-rescue-of-don-pedro .struggle-rd { position:absolute; bottom:25%; left:35%; width:20px; height:35px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(10deg); animation: rd-struggle 4s ease-in-out infinite alternate; }
.scn-rescue-of-don-pedro .gunshot-rd { position:absolute; bottom:40%; left:55%; width:10px; height:10px; background: radial-gradient(circle, #ffd080 0%, #ffa040 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 25px 8px rgba(255,160,64,.5); animation: rd-gunshot 3s ease-in-out infinite; }
.scn-rescue-of-don-pedro .splash-rd { position:absolute; bottom:20%; left:30%; width:50px; height:30px; background: radial-gradient(ellipse at 50% 0%, rgba(200,220,255,.4) 0%, transparent 70%); border-radius:50%; filter: blur(5px); animation: rd-splash 2s ease-in-out infinite; }
.scn-rescue-of-don-pedro .policeman-rd { position:absolute; bottom:38%; left:70%; width:16px; height:32px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: rd-cop 6s ease-in-out infinite; }
@keyframes rd-sky { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes rd-moon { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-3px) scale(1.03) } 100% { transform: translateX(0) scale(1) } }
@keyframes rd-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes rd-boat { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg) } 50% { transform: translateX(-50%) translateY(-2px) rotate(-1.5deg) } }
@keyframes rd-struggle { 0% { transform: rotate(10deg) translateY(0) } 100% { transform: rotate(15deg) translateY(-5px) } }
@keyframes rd-gunshot { 0%,100% { opacity:0.2; transform: scale(1) } 50% { opacity:0.8; transform: scale(1.8) } }
@keyframes rd-splash { 0%,100% { opacity:0.3; transform: scale(1) } 50% { opacity:0.7; transform: scale(1.2) } }
@keyframes rd-cop { 0% { transform: translateX(0) } 50% { transform: translateX(5px) } 100% { transform: translateX(0) } }

.scn-cockatoo-captured { background: linear-gradient(180deg, #0a0a1e 0%, #1a1a3a 50%, #2c2c4e 100%), radial-gradient(ellipse at 50% 0%, #3a3a66 0%, transparent 60%); }
.scn-cockatoo-captured .sky-cc { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #12122a 0%, #1e1e3a 60%, #2a2a4e 100%); animation: cc-sky 16s ease-in-out infinite alternate; }
.scn-cockatoo-captured .moon-cc { position:absolute; top:12%; left:25%; width:44px; height:44px; background: radial-gradient(circle, #d0d8f0 0%, #a0a8c8 50%, #6068a0 100%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(160,168,200,.4); animation: cc-moon 28s ease-in-out infinite; }
.scn-cockatoo-captured .sea-cc { position:absolute; bottom:0; left:0; right:0; height:42%; background: linear-gradient(180deg, #101030 0%, #060620 100%); border-top:1px solid #3a3a6a; animation: cc-sea 8s ease-in-out infinite; }
.scn-cockatoo-captured .sand-cc { position:absolute; bottom:35%; left:0; right:0; height:10%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 0 0 40% 40% / 0 0 100% 100%; animation: cc-sand 12s ease-in-out infinite; }
.scn-cockatoo-captured .cockatoo-cc { position:absolute; bottom:40%; left:45%; width:20px; height:36px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg); animation: cc-cockatoo 5s ease-in-out infinite alternate; }
.scn-cockatoo-captured .guard-cc { position:absolute; bottom:42%; width:18px; height:34px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-cockatoo-captured .guard-1 { left:35%; animation: cc-guard1 6s ease-in-out infinite; }
.scn-cockatoo-captured .guard-2 { left:55%; animation: cc-guard2 6s ease-in-out infinite 0.5s; }
.scn-cockatoo-captured .random-cc { position:absolute; bottom:44%; left:30%; width:16px; height:30px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cc-random 5s ease-in-out infinite; }
.scn-cockatoo-captured .shadow-cc { position:absolute; bottom:35%; left:35%; width:60px; height:10px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.5) 0%, transparent 100%); animation: cc-shadow 8s ease-in-out infinite; }
@keyframes cc-sky { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes cc-moon { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(3px) scale(1.02) } 100% { transform: translateX(0) scale(1) } }
@keyframes cc-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes cc-sand { 0% { transform: translateY(0) } 50% { transform: translateY(2px) } 100% { transform: translateY(0) } }
@keyframes cc-cockatoo { 0% { transform: rotate(-5deg) translateY(0) } 100% { transform: rotate(5deg) translateY(-2px) } }
@keyframes cc-guard1 { 0%,100% { transform: translateX(0) } 50% { transform: translateX(2px) } }
@keyframes cc-guard2 { 0%,100% { transform: translateX(0) } 50% { transform: translateX(-2px) } }
@keyframes cc-random { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }
@keyframes cc-shadow { 0%,100% { opacity:0.4; transform: scaleX(1) } 50% { opacity:0.6; transform: scaleX(1.2) } }

.scn-claiming-ownership {
  background: linear-gradient(180deg, #f2e4c9 0%, #d4b896 40%, #a2846a 100%),
              radial-gradient(ellipse at 60% 60%, #fff4e0 0%, transparent 70%);
}
.scn-claiming-ownership .co-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #e6d3b8 0%, #c9b08f 100%); }
.scn-claiming-ownership .co-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #7a5f3e 0%, #9b7d5a 100%); box-shadow: inset 0 12px 20px rgba(0,0,0,0.3); }
.scn-claiming-ownership .co-window { position:absolute; top:10%; left:25%; width:40%; height:50%; background: linear-gradient(180deg, #fffef0 0%, #b8d0e8 80%); border-radius: 4px 4px 20px 20px; box-shadow: inset 0 0 30px rgba(255,255,240,0.6); animation: co-window 4s ease-in-out infinite alternate; }
.scn-claiming-ownership .co-desk { position:absolute; bottom:25%; left:20%; width:60%; height:5%; background: linear-gradient(90deg, #6b4d2e 0%, #8b6d4e 50%, #6b4d2e 100%); border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.scn-claiming-ownership .co-figure-a { position:absolute; bottom:22%; left:30%; width:20px; height:40px; background: linear-gradient(180deg, #2a1e12 0%, #0f0a05 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: co-fig-a 3s ease-in-out infinite; }
.scn-claiming-ownership .co-figure-b { position:absolute; bottom:22%; right:25%; width:24px; height:36px; background: linear-gradient(180deg, #3a2e22 0%, #1a1208 100%); border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%; transform-origin: bottom center; animation: co-fig-b 2.5s ease-in-out infinite reverse; }
.scn-claiming-ownership .co-mummy { position:absolute; bottom:24%; left:48%; width:12px; height:8px; background: linear-gradient(135deg, #c8a86b 0%, #8b6d3a 100%); border-radius: 20%; box-shadow: 0 0 20px 6px rgba(200,168,107,0.6); animation: co-mummy 5s ease-in-out infinite alternate; }
.scn-claiming-ownership .co-glint { position:absolute; bottom:26%; left:48.5%; width:3px; height:3px; background: #fff; border-radius: 50%; box-shadow: 0 0 10px 4px rgba(255,255,255,0.8); animation: co-glint 5s ease-in-out infinite alternate; }
@keyframes co-window { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes co-fig-a { 0%,100% { transform: translateX(0) rotate(3deg) } 50% { transform: translateX(2px) rotate(-2deg) } }
@keyframes co-fig-b { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(-3px) rotate(4deg) } }
@keyframes co-mummy { 0% { transform: scale(1) } 50% { transform: scale(1.05) translateY(-1px) } 100% { transform: scale(0.95) translateY(1px) } }
@keyframes co-glint { 0% { opacity:0 } 50% { opacity:1 } 100% { opacity:0.3 } }

.scn-bargain-proposed {
  background: linear-gradient(180deg, #e2d1b6 0%, #bfa282 50%, #8a6b4e 100%),
              radial-gradient(ellipse at 40% 30%, #faf0dc 0%, transparent 60%);
}
.scn-bargain-proposed .bp-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(160deg, #d9c4a8 0%, #b39674 100%); }
.scn-bargain-proposed .bp-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #6e543a 0%, #8f7252 100%); box-shadow: inset 0 8px 18px rgba(0,0,0,0.25); }
.scn-bargain-proposed .bp-bookshelf { position:absolute; left:5%; top:10%; width:12%; height:65%; background: linear-gradient(90deg, #4a3522 0%, #3a2512 100%); border-radius: 2px; box-shadow: 4px 0 10px rgba(0,0,0,0.3); animation: bp-shelf 20s linear infinite; }
.scn-bargain-proposed .bp-chair { position:absolute; bottom:25%; left:20%; width:30px; height:20px; background: linear-gradient(180deg, #5a3a22 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 2px 2px 6px rgba(0,0,0,0.4); }
.scn-bargain-proposed .bp-figure-a { position:absolute; bottom:22%; left:28%; width:22px; height:42px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 35% 35% 30% 30% / 45% 45% 30% 30%; transform-origin: bottom center; animation: bp-fig-a 2.8s ease-in-out infinite; }
.scn-bargain-proposed .bp-figure-b { position:absolute; bottom:22%; left:55%; width:20px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: bp-fig-b 3.2s ease-in-out infinite; }
.scn-bargain-proposed .bp-lamp { position:absolute; bottom:38%; left:65%; width:8px; height:12px; background: radial-gradient(circle, #ffe0a0 0%, #d4b070 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 8px rgba(212,176,112,0.5); animation: bp-lamp 6s ease-in-out infinite alternate; }
@keyframes bp-shelf { 0% { transform: translateX(0) } 50% { transform: translateX(1px) } 100% { transform: translateX(0) } }
@keyframes bp-fig-a { 0%,100% { transform: translateX(0) rotate(2deg) } 50% { transform: translateX(2px) rotate(-1deg) } }
@keyframes bp-fig-b { 0%,100% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(-2px) rotate(2deg) } }
@keyframes bp-lamp { 0% { opacity:0.9; box-shadow: 0 0 20px 4px rgba(212,176,112,0.4) } 50% { opacity:1; box-shadow: 0 0 40px 12px rgba(212,176,112,0.7) } 100% { opacity:0.85; box-shadow: 0 0 15px 2px rgba(212,176,112,0.3) } }

.scn-arbitration-by-hope {
  background: linear-gradient(180deg, #e8dac4 0%, #c8ae8e 40%, #a07a58 100%),
              radial-gradient(ellipse at 30% 70%, #fffbf0 0%, transparent 70%);
}
.scn-arbitration-by-hope .ah-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(100deg, #dcc9ae 0%, #b89a78 100%); }
.scn-arbitration-by-hope .ah-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #76583a 0%, #967552 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.2); }
.scn-arbitration-by-hope .ah-desk { position:absolute; bottom:24%; left:10%; width:80%; height:6%; background: linear-gradient(90deg, #5a3a22 0%, #7a5a3a 50%, #5a3a22 100%); border-radius: 2px; box-shadow: 0 6px 14px rgba(0,0,0,0.3); }
.scn-arbitration-by-hope .ah-figure-a { position:absolute; bottom:22%; left:20%; width:22px; height:40px; background: linear-gradient(180deg, #1a1008 0%, #050200 100%); border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%; transform-origin: bottom center; animation: ah-fig-a 2.2s ease-in-out infinite; }
.scn-arbitration-by-hope .ah-figure-b { position:absolute; bottom:22%; left:45%; width:18px; height:38px; background: linear-gradient(180deg, #2a2012 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ah-fig-b 2.6s ease-in-out infinite reverse; }
.scn-arbitration-by-hope .ah-figure-c { position:absolute; bottom:22%; right:15%; width:20px; height:36px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e04 100%); border-radius: 35% 35% 30% 30% / 45% 45% 30% 30%; transform-origin: bottom center; animation: ah-fig-c 3s ease-in-out infinite; }
.scn-arbitration-by-hope .ah-papers { position:absolute; bottom:26%; left:30%; width:10%; height:2%; background: #f5eed0; border-radius: 1px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ah-papers 8s ease-in-out infinite; }
.scn-arbitration-by-hope .ah-shade { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, transparent 60%, rgba(0,0,0,0.15) 100%); pointer-events: none; animation: ah-shade 5s ease-in-out infinite alternate; }
@keyframes ah-fig-a { 0%,100% { transform: translateX(0) rotate(4deg) } 50% { transform: translateX(3px) rotate(-3deg) } }
@keyframes ah-fig-b { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(-2px) rotate(5deg) } }
@keyframes ah-fig-c { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(4px) rotate(-1deg) } }
@keyframes ah-papers { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(3deg) } }
@keyframes ah-shade { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }

.scn-hope-proposes-compromise {
  background: linear-gradient(180deg, #f2e8d8 0%, #d6c1a6 50%, #a88c6a 100%),
              radial-gradient(ellipse at 70% 40%, #fffdf5 0%, transparent 60%);
}
.scn-hope-proposes-compromise .hc-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #e6d5be 0%, #c4ae92 100%); }
.scn-hope-proposes-compromise .hc-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #7a6348 0%, #9b8262 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,0.15); }
.scn-hope-proposes-compromise .hc-window { position:absolute; top:12%; right:8%; width:30%; height:45%; background: linear-gradient(180deg, #fffef2 0%, #c6d8ec 80%); border-radius: 4px 4px 16px 16px; box-shadow: inset 0 0 20px rgba(255,255,242,0.5); animation: hc-window 6s ease-in-out infinite alternate; }
.scn-hope-proposes-compromise .hc-table { position:absolute; bottom:24%; left:15%; width:70%; height:5%; background: linear-gradient(90deg, #5a4028 0%, #7a5a3a 50%, #5a4028 100%); border-radius: 3px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.scn-hope-proposes-compromise .hc-figure-a { position:absolute; bottom:22%; left:25%; width:20px; height:38px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hc-fig-a 4s ease-in-out infinite; }
.scn-hope-proposes-compromise .hc-figure-b { position:absolute; bottom:22%; left:55%; width:22px; height:36px; background: linear-gradient(180deg, #3a2210 0%, #1a0a00 100%); border-radius: 30% 30% 40% 40% / 40% 40% 50% 50%; transform-origin: bottom center; animation: hc-fig-b 3.8s ease-in-out infinite reverse; }
.scn-hope-proposes-compromise .hc-teacup { position:absolute; bottom:26%; left:40%; width:8px; height:6px; background: linear-gradient(180deg, #e0d0b0 0%, #b8a080 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: hc-cup 10s ease-in-out infinite; }
.scn-hope-proposes-compromise .hc-steam { position:absolute; bottom:28%; left:41%; width:4px; height:8px; background: rgba(255,255,255,0.3); border-radius: 50%; filter: blur(2px); animation: hc-steam 7s ease-out infinite alternate; }
@keyframes hc-window { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:0.95 } }
@keyframes hc-fig-a { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(1px) rotate(-1deg) } }
@keyframes hc-fig-b { 0%,100% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(-1px) rotate(1deg) } }
@keyframes hc-cup { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes hc-steam { 0% { transform: translateY(0) scale(1); opacity:0.6 } 100% { transform: translateY(-6px) scale(1.5); opacity:0 } }

/* ---- after-dinner-worries (tense, dim interior) ---- */
.scn-after-dinner-worries {
  background: 
    linear-gradient(180deg, #1e1c1a 0%, #2a2520 40%, #1a1816 100%),
    radial-gradient(ellipse at 50% 70%, #2f2a24 0%, transparent 80%);
}
.scn-after-dinner-worries .wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #3a3430 0%, #2a2520 100%); opacity:0.6;
  animation: adw-ambient 10s ease-in-out infinite alternate;
}
.scn-after-dinner-worries .floor {
  position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a2520 0%, #1a1614 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,0.7);
}
.scn-after-dinner-worries .door {
  position:absolute; right:10%; bottom:35%; width:80px; height:120px; background: linear-gradient(180deg, #4a403a 0%, #2c2622 100%);
  border-radius: 5% 5% 2% 2%; box-shadow: -5px 0 15px rgba(0,0,0,0.6);
  animation: adw-door-flicker 4s ease-in-out infinite alternate;
}
.scn-after-dinner-worries .table {
  position:absolute; bottom:25%; left:30%; width:150px; height:8px; background: linear-gradient(90deg, #4a403a 0%, #3a3430 50%, #4a403a 100%);
  border-radius: 40% 40% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-after-dinner-worries .wine-glass {
  position:absolute; bottom:28%; left:38%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 20%, rgba(180,120,80,0.3) 0%, transparent 70%);
  border: 1px solid #5a4a40; border-radius: 0 0 40% 40%; box-shadow: 0 0 8px rgba(120,80,50,0.2);
  animation: adw-glass-shimmer 6s ease-in-out infinite;
}
.scn-after-dinner-worries .figure-standing {
  position:absolute; bottom:25%; left:20%; width:24px; height:50px; background: linear-gradient(180deg, #2a2520 0%, #1a1614 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: adw-figure-stand 8s ease-in-out infinite;
}
.scn-after-dinner-worries .figure-seated {
  position:absolute; bottom:24%; left:35%; width:22px; height:40px; background: linear-gradient(180deg, #3a3430 0%, #2a2520 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: adw-figure-sit 6s ease-in-out infinite;
}
.scn-after-dinner-worries .candle {
  position:absolute; bottom:28%; left:50%; width:4px; height:20px; background: linear-gradient(180deg, #fff3d0 0%, #d4a070 50%, #8a5a30 100%);
  border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 6px rgba(200,140,80,0.3);
  animation: adw-candle-flicker 2s ease-in-out infinite alternate;
}
.scn-after-dinner-worries .shadow-pool {
  position:absolute; bottom:0; left:0; right:0; height:40%; background: radial-gradient(ellipse at 30% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: adw-shadow-pulse 12s ease-in-out infinite;
}
@keyframes adw-ambient { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes adw-door-flicker { 0% { box-shadow: -5px 0 10px rgba(0,0,0,0.4); } 50% { box-shadow: -5px 0 25px rgba(0,0,0,0.8); } 100% { box-shadow: -5px 0 12px rgba(0,0,0,0.5); } }
@keyframes adw-glass-shimmer { 0% { opacity:0.3 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes adw-figure-stand { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes adw-figure-sit { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes adw-candle-flicker { 0% { box-shadow: 0 0 15px 4px rgba(200,140,80,0.3); height:20px; } 50% { box-shadow: 0 0 30px 8px rgba(200,140,80,0.5); height:22px; } 100% { box-shadow: 0 0 18px 5px rgba(200,140,80,0.35); height:19px; } }
@keyframes adw-shadow-pulse { 0% { opacity:0.5 } 50% { opacity:0.8 } 100% { opacity:0.6 } }

/* ---- after-dinner-kiss (warm, dim interior) ---- */
.scn-after-dinner-kiss {
  background: 
    linear-gradient(180deg, #2a241e 0%, #3a322a 40%, #2a241e 100%),
    radial-gradient(ellipse at 50% 60%, #4a3e34 0%, transparent 80%);
}
.scn-after-dinner-kiss .wall-warm {
  position:absolute; inset:0; background: linear-gradient(135deg, #4a3e34 0%, #3a322a 100%); opacity:0.6;
  animation: adk-ambient 15s ease-in-out infinite alternate;
}
.scn-after-dinner-kiss .floor-warm {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a322a 0%, #2a241e 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0; box-shadow: inset 0 10px 25px rgba(0,0,0,0.5);
}
.scn-after-dinner-kiss .doorway-arch {
  position:absolute; right:20%; bottom:30%; width:100px; height:140px; background: linear-gradient(180deg, #5a4e42 0%, #3a322a 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%; box-shadow: inset 0 0 30px rgba(0,0,0,0.4);
  animation: adk-arch-glow 8s ease-in-out infinite alternate;
}
.scn-after-dinner-kiss .couple {
  position:absolute; bottom:27%; left:30%; width:40px; height:60px; background: linear-gradient(180deg, #4a3e34 0%, #2a241e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 0 25px 5px rgba(200,160,120,0.15);
  animation: adk-embrace 10s ease-in-out infinite;
}
.scn-after-dinner-kiss .glow-overlay {
  position:absolute; bottom:30%; left:25%; width:100px; height:80px; background: radial-gradient(ellipse, rgba(220,180,140,0.2) 0%, transparent 70%);
  filter: blur(10px); animation: adk-glow-pulse 6s ease-in-out infinite alternate;
}
.scn-after-dinner-kiss .curtain-left {
  position:absolute; left:5%; top:10%; width:30px; height:120px; background: linear-gradient(180deg, #6a5240 0%, #4a3a2e 100%);
  border-radius: 0 40% 40% 0; box-shadow: 5px 0 10px rgba(0,0,0,0.3);
  animation: adk-curtain-sway 20s ease-in-out infinite alternate;
}
.scn-after-dinner-kiss .curtain-right {
  position:absolute; right:5%; top:10%; width:30px; height:120px; background: linear-gradient(180deg, #6a5240 0%, #4a3a2e 100%);
  border-radius: 40% 0 0 40%; box-shadow: -5px 0 10px rgba(0,0,0,0.3);
  animation: adk-curtain-sway 20s ease-in-out infinite alternate-reverse;
}
.scn-after-dinner-kiss .candle-soft {
  position:absolute; bottom:26%; left:50%; width:5px; height:22px; background: linear-gradient(180deg, #fff5e0 0%, #e0b080 50%, #a06030 100%);
  border-radius: 40% 40% 10% 10%; box-shadow: 0 0 25px 8px rgba(200,140,80,0.35);
  animation: adk-candle-glow 4s ease-in-out infinite alternate;
}
@keyframes adk-ambient { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes adk-arch-glow { 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 25px rgba(0,0,0,0.35); } }
@keyframes adk-embrace { 0% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-1deg) scale(1); } }
@keyframes adk-glow-pulse { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.4 } }
@keyframes adk-curtain-sway { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes adk-candle-glow { 0% { box-shadow: 0 0 20px 6px rgba(200,140,80,0.3); height:22px; } 50% { box-shadow: 0 0 35px 12px rgba(200,140,80,0.5); height:24px; } 100% { box-shadow: 0 0 22px 7px rgba(200,140,80,0.35); height:21px; } }

/* ---- hope-worries (tense, dim interior) ---- */
.scn-hope-worries {
  background: 
    linear-gradient(180deg, #181614 0%, #2a2420 40%, #1a1816 100%),
    radial-gradient(ellipse at 50% 70%, #2f2a24 0%, transparent 80%);
}
.scn-hope-worries .wall-dark {
  position:absolute; inset:0; background: linear-gradient(135deg, #2a2420 0%, #1a1816 100%); opacity:0.7;
  animation: hw-ambient 8s ease-in-out infinite alternate;
}
.scn-hope-worries .desk {
  position:absolute; bottom:20%; left:15%; width:70%; height:12px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 30% 30% 0 0; box-shadow: 0 6px 20px rgba(0,0,0,0.7);
}
.scn-hope-worries .chair-left {
  position:absolute; bottom:18%; left:20%; width:30px; height:45px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center;
  animation: hw-chair-shift 12s ease-in-out infinite alternate;
}
.scn-hope-worries .chair-right {
  position:absolute; bottom:18%; right:20%; width:30px; height:45px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center;
  animation: hw-chair-shift 12s ease-in-out infinite alternate-reverse;
}
.scn-hope-worries .figure-professor {
  position:absolute; bottom:22%; left:25%; width:26px; height:48px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: hw-figure-talk 6s ease-in-out infinite;
}
.scn-hope-worries .figure-archie {
  position:absolute; bottom:22%; right:25%; width:24px; height:46px; background: linear-gradient(180deg, #2a2420 0%, #1a1816 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: hw-figure-talk 6s ease-in-out infinite 0.5s;
}
.scn-hope-worries .green-mummy {
  position:absolute; bottom:26%; left:48%; width:40px; height:30px; background: radial-gradient(ellipse at 50% 30%, #5a6a4a 0%, #2a3a2a 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%; box-shadow: 0 0 20px 5px rgba(60,80,40,0.3);
  animation: hw-mummy-glow 4s ease-in-out infinite alternate;
}
.scn-hope-worries .lamp {
  position:absolute; bottom:30%; left:60%; width:8px; height:30px; background: linear-gradient(180deg, #c0a070 0%, #806030 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 10px rgba(160,120,60,0.3);
  animation: hw-lamp-flicker 5s ease-in-out infinite alternate;
}
.scn-hope-worries .shadow-stripes {
  position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent 0px, transparent 40px, rgba(0,0,0,0.2) 40px, rgba(0,0,0,0.2) 45px);
  animation: hw-stripes-move 20s linear infinite;
}
@keyframes hw-ambient { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes hw-chair-shift { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes hw-figure-talk { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hw-mummy-glow { 0% { box-shadow: 0 0 10px 3px rgba(60,80,40,0.2); } 50% { box-shadow: 0 0 30px 8px rgba(60,80,40,0.4); } 100% { box-shadow: 0 0 15px 4px rgba(60,80,40,0.3); } }
@keyframes hw-lamp-flicker { 0% { box-shadow: 0 0 20px 6px rgba(160,120,60,0.2); } 50% { box-shadow: 0 0 40px 14px rgba(160,120,60,0.5); } 100% { box-shadow: 0 0 25px 8px rgba(160,120,60,0.3); } }
@keyframes hw-stripes-move { 0% { transform: translateX(0); } 100% { transform: translateX(-45px); } }

/* ---- hopes-strategy (tense, dim interior) ---- */
.scn-hopes-strategy {
  background: 
    linear-gradient(180deg, #1e1c1a 0%, #2a2520 40%, #1a1816 100%),
    radial-gradient(ellipse at 50% 60%, #2f2a24 0%, transparent 80%);
}
.scn-hopes-strategy .wall-deep {
  position:absolute; inset:0; background: linear-gradient(135deg, #2a2520 0%, #1e1c1a 100%); opacity:0.7;
  animation: hs-ambient 12s ease-in-out infinite alternate;
}
.scn-hopes-strategy .window-barred {
  position:absolute; left:10%; top:20%; width:70px; height:100px; background: linear-gradient(180deg, #3a3430 0%, #2a2520 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
  animation: hs-window-fade 15s ease-in-out infinite alternate;
}
.scn-hopes-strategy .window-barred::after {
  content:''; position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent 0px, transparent 8px, #1a1816 8px, #1a1816 10px);
}
.scn-hopes-strategy .table-round {
  position:absolute; bottom:22%; left:25%; width:120px; height:10px; background: linear-gradient(90deg, #4a403a 0%, #3a3430 50%, #4a403a 100%);
  border-radius: 50%; box-shadow: 0 6px 20px rgba(0,0,0,0.6);
}
.scn-hopes-strategy .figure-lucy {
  position:absolute; bottom:24%; left:30%; width:22px; height:42px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: hs-figure-lucy 7s ease-in-out infinite;
}
.scn-hopes-strategy .figure-archie2 {
  position:absolute; bottom:25%; left:45%; width:24px; height:48px; background: linear-gradient(180deg, #2a2520 0%, #1a1816 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: hs-figure-archie 8s ease-in-out infinite;
}
.scn-hopes-strategy .figure-professor2 {
  position:absolute; bottom:24%; left:60%; width:26px; height:46px; background: linear-gradient(180deg, #3a3430 0%, #2a2420 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center;
  animation: hs-figure-prof 9s ease-in-out infinite 0.3s;
}
.scn-hopes-strategy .candle-flame {
  position:absolute; bottom:28%; left:40%; width:5px; height:24px; background: linear-gradient(180deg, #fff5e0 0%, #e0b080 50%, #a06030 100%);
  border-radius: 40% 40% 10% 10%; box-shadow: 0 0 25px 8px rgba(200,140,80,0.4);
  animation: hs-candle 3s ease-in-out infinite alternate;
}
.scn-hopes-strategy .papers {
  position:absolute; bottom:24%; left:45%; width:30px; height:20px; background: linear-gradient(135deg, #c8b898 0%, #a89070 100%);
  border-radius: 5% 10% 5% 10%; box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
  animation: hs-papers-shift 10s ease-in-out infinite alternate;
}
@keyframes hs-ambient { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes hs-window-fade { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.5 } }
@keyframes hs-figure-lucy { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes hs-figure-archie { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes hs-figure-prof { 0% { transform: translateY(0) rotate(-1deg); } 33% { transform: translateY(-2px) rotate(2deg); } 66% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes hs-candle { 0% { box-shadow: 0 0 15px 4px rgba(200,140,80,0.3); height:24px; } 50% { box-shadow: 0 0 35px 12px rgba(200,140,80,0.5); height:26px; } 100% { box-shadow: 0 0 20px 6px rgba(200,140,80,0.35); height:23px; } }
@keyframes hs-papers-shift { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(3deg) translateX(2px); } 100% { transform: rotate(-2deg) translateX(-1px); } }

.scn-mummy-subject-begins {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #1e150e 40%, #0f0a05 100%),
    radial-gradient(ellipse at 30% 20%, #6a4e2a 0%, transparent 60%);
}
.scn-mummy-subject-begins .wall-bg { 
  position:absolute; inset:0 0 20% 0; 
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); 
  box-shadow: inset 0 20px 40px rgba(0,0,0,.6); 
  animation: msb-wall 12s ease-in-out infinite alternate; 
}
.scn-mummy-subject-begins .table { 
  position:absolute; bottom:10%; left:15%; right:15%; height:30%; 
  background: linear-gradient(180deg, #5a4030 0%, #2a1a0e 80%); 
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%; 
  box-shadow: 0 -10px 30px rgba(0,0,0,.7); 
  animation: msb-table 20s ease-in-out infinite; 
}
.scn-mummy-subject-begins .chair-left { 
  position:absolute; bottom:15%; left:10%; width:40px; height:60px; 
  background: linear-gradient(90deg, #3a2a1e 0%, #1a100a 100%); 
  border-radius: 30% 30% 10% 10%; 
  transform: rotate(-5deg); 
  animation: msb-chair 8s ease-in-out infinite; 
}
.scn-mummy-subject-begins .chair-right { 
  position:absolute; bottom:15%; right:10%; width:40px; height:60px; 
  background: linear-gradient(90deg, #1a100a 0%, #3a2a1e 100%); 
  border-radius: 30% 30% 10% 10%; 
  transform: rotate(5deg); 
  animation: msb-chair 8s ease-in-out infinite reverse; 
}
.scn-mummy-subject-begins .figure.seated1 { 
  position:absolute; bottom:18%; left:22%; width:30px; height:50px; 
  background: radial-gradient(ellipse at 50% 30%, #2a1a0e 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  animation: msb-fig 6s ease-in-out infinite; 
}
.scn-mummy-subject-begins .figure.seated2 { 
  position:absolute; bottom:18%; right:22%; width:30px; height:50px; 
  background: radial-gradient(ellipse at 50% 30%, #1a0e05 0%, #050200 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  animation: msb-fig 6s ease-in-out infinite reverse; 
}
.scn-mummy-subject-begins .mummy-prop { 
  position:absolute; bottom:25%; left:46%; width:50px; height:70px; 
  background: linear-gradient(180deg, #a08060 0%, #604830 40%, #302010 100%); 
  border-radius: 20% 20% 30% 30% / 10% 10% 40% 40%; 
  box-shadow: 0 10px 30px rgba(0,0,0,.8); 
  animation: msb-mummy 15s ease-in-out infinite; 
}
.scn-mummy-subject-begins .gas-glow { 
  position:absolute; top:10%; left:40%; width:80px; height:80px; 
  background: radial-gradient(circle, #f0c870 0%, #d09040 30%, transparent 70%); 
  border-radius: 50%; 
  box-shadow: 0 0 60px 20px #a06020, 0 0 100px 40px rgba(160,96,32,.3); 
  animation: msb-glow 3s ease-in-out infinite alternate; 
}
.scn-mummy-subject-begins .glass-shine { 
  position:absolute; bottom:20%; left:38%; width:20px; height:20px; 
  background: radial-gradient(circle, #ffe0a0 0%, #c08040 60%, transparent 100%); 
  border-radius: 50%; 
  box-shadow: 0 0 20px 5px #d09030; 
  animation: msb-glass 4s ease-in-out infinite; 
}
@keyframes msb-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.75 } }
@keyframes msb-table { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(1px) } }
@keyframes msb-chair { 0% { transform: rotate(-5deg) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(-5deg) } }
@keyframes msb-fig { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes msb-mummy { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes msb-glow { 0% { opacity:.6; transform: scale(.95) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:.8; transform: scale(1) } }
@keyframes msb-glass { 0% { opacity:.5; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.6; transform: scale(.9) } }

/* ---------- scene 2 ---------- */
.scn-don-pedro-claims-ancestry {
  background: 
    linear-gradient(135deg, #2a1a0e 0%, #0f0804 50%, #1a0e05 100%),
    radial-gradient(ellipse at 60% 30%, #8a6030 0%, transparent 70%);
}
.scn-don-pedro-claims-ancestry .wall-bg { 
  position:absolute; inset:0 0 15% 0; 
  background: linear-gradient(180deg, #4a2e1a 0%, #1a0e05 100%); 
  box-shadow: inset 0 20px 30px rgba(0,0,0,.7); 
  animation: dpca-wall 14s ease-in-out infinite alternate; 
}
.scn-don-pedro-claims-ancestry .table { 
  position:absolute; bottom:5%; left:10%; right:10%; height:25%; 
  background: linear-gradient(180deg, #6a4830 0%, #2a180e 80%); 
  border-radius: 60% 60% 20% 20% / 40% 40% 10% 10%; 
  box-shadow: 0 -15px 40px rgba(0,0,0,.8); 
  animation: dpca-table 18s ease-in-out infinite; 
}
.scn-don-pedro-claims-ancestry .figures-group { 
  position:absolute; bottom:8%; left:12%; width:50%; height:60%; 
  display: flex; gap: 10px; 
}
.scn-don-pedro-claims-ancestry .donpedro-stand { 
  position:absolute; bottom:12%; left:48%; width:35px; height:70px; 
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; 
  transform: rotate(-2deg); 
  animation: dpca-stand 5s ease-in-out infinite; 
}
.scn-don-pedro-claims-ancestry .donpedro-arm { 
  position:absolute; bottom:35%; left:55%; width:25px; height:10px; 
  background: #1a0e05; 
  border-radius: 0 80% 0 0; 
  transform-origin: left center; 
  animation: dpca-arm 4s ease-in-out infinite; 
}
.scn-don-pedro-claims-ancestry .gas-light { 
  position:absolute; top:5%; left:30%; width:60px; height:100px; 
  background: radial-gradient(ellipse at 50% 20%, #f0c860 0%, #c08030 30%, transparent 70%); 
  border-radius: 50%; 
  filter: blur(4px); 
  animation: dpca-light 3s ease-in-out infinite alternate; 
}
.scn-don-pedro-claims-ancestry .shadows-deep { 
  position:absolute; inset:0; 
  background: radial-gradient(ellipse at 60% 40%, transparent 40%, rgba(0,0,0,.4) 90%); 
  animation: dpca-shadow 8s ease-in-out infinite; 
}
@keyframes dpca-wall { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes dpca-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes dpca-stand { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-4px) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes dpca-arm { 0% { transform: rotate(-20deg) } 50% { transform: rotate(30deg) } 100% { transform: rotate(-20deg) } }
@keyframes dpca-light { 0% { opacity:.5; filter: blur(6px) } 50% { opacity:1; filter: blur(3px) } 100% { opacity:.6; filter: blur(5px) } }
@keyframes dpca-shadow { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.7 } }

/* ---------- scene 3 ---------- */
.scn-inca-caxas-story-begins {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%),
    radial-gradient(ellipse at 40% 50%, #5a3a1a 0%, transparent 70%);
}
.scn-inca-caxas-story-begins .room-bg { 
  position:absolute; inset:0 0 20% 0; 
  background: linear-gradient(135deg, #4a3220 0%, #1a1008 100%); 
  box-shadow: inset 0 30px 50px rgba(0,0,0,.8); 
  animation: icsb-bg 10s ease-in-out infinite alternate; 
}
.scn-inca-caxas-story-begins .table-wide { 
  position:absolute; bottom:8%; left:5%; right:5%; height:28%; 
  background: linear-gradient(180deg, #5a4030 0%, #20140a 80%); 
  border-radius: 40% 40% 0 0 / 20% 20% 0 0; 
  box-shadow: 0 -10px 40px rgba(0,0,0,.9); 
  animation: icsb-table 20s ease-in-out infinite; 
}
.scn-inca-caxas-story-begins .listener.archie { 
  position:absolute; bottom:12%; left:20%; width:35px; height:55px; 
  background: radial-gradient(ellipse at 50% 30%, #2a1a0e 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform: rotate(-10deg); 
  animation: icsb-fig 7s ease-in-out infinite; 
}
.scn-inca-caxas-story-begins .listener.mrsjasher { 
  position:absolute; bottom:12%; right:20%; width:30px; height:50px; 
  background: radial-gradient(ellipse at 50% 30%, #3a2010 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform: rotate(5deg); 
  animation: icsb-fig 7s ease-in-out infinite reverse; 
}
.scn-inca-caxas-story-begins .donpedro-sit { 
  position:absolute; bottom:12%; left:44%; width:30px; height:55px; 
  background: linear-gradient(180deg, #1a0e05 0%, #050200 100%); 
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; 
  animation: icsb-dp 9s ease-in-out infinite; 
}
.scn-inca-caxas-story-begins .mummy-wrap { 
  position:absolute; bottom:22%; left:35%; width:45px; height:60px; 
  background: linear-gradient(180deg, #b09070 0%, #6a5040 50%, #302010 100%); 
  border-radius: 20% 20% 30% 30% / 10% 10% 40% 40%; 
  box-shadow: 0 8px 20px rgba(0,0,0,.8); 
  animation: icsb-mummy 12s ease-in-out infinite; 
}
.scn-inca-caxas-story-begins .candle-flicker { 
  position:absolute; top:10%; left:25%; width:40px; height:60px; 
  background: radial-gradient(ellipse at 50% 20%, #f0c860 0%, #a06020 40%, transparent 80%); 
  border-radius: 50%; 
  filter: blur(3px); 
  animation: icsb-candle 2s ease-in-out infinite alternate; 
}
.scn-inca-caxas-story-begins .plate-reflect { 
  position:absolute; bottom:16%; left:50%; width:25px; height:25px; 
  background: radial-gradient(circle, #ffe0a0 0%, #c08040 50%, transparent 100%); 
  border-radius: 50%; 
  box-shadow: 0 0 30px 5px #d09030; 
  animation: icsb-plate 6s ease-in-out infinite; 
}
@keyframes icsb-bg { 0% { opacity:.5 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes icsb-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes icsb-fig { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes icsb-dp { 0% { transform: rotate(-3deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-3deg) } }
@keyframes icsb-mummy { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-5px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes icsb-candle { 0% { opacity:.6; transform: scaleY(.95) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.7; transform: scaleY(1) } }
@keyframes icsb-plate { 0% { opacity:.4; transform: scale(1) } 50% { opacity:1; transform: scale(1.3) } 100% { opacity:.5; transform: scale(.9) } }

/* ---------- scene 4 ---------- */
.scn-inca-caxas-story-continues {
  background: 
    linear-gradient(180deg, #2a1a0e 0%, #0f0804 60%, #050200 100%),
    radial-gradient(ellipse at 50% 40%, #6a4828 0%, transparent 80%);
}
.scn-inca-caxas-story-continues .walls-dark { 
  position:absolute; inset:0 0 15% 0; 
  background: linear-gradient(135deg, #3a2215 0%, #1a0e05 100%); 
  box-shadow: inset 0 30px 60px rgba(0,0,0,.9); 
  animation: icsc-walls 10s ease-in-out infinite alternate; 
}
.scn-inca-caxas-story-continues .table-cloth { 
  position:absolute; bottom:8%; left:8%; right:8%; height:25%; 
  background: linear-gradient(180deg, #6a4a30 0%, #1a0e05 80%); 
  border-radius: 40% 40% 0 0 / 20% 20% 0 0; 
  box-shadow: 0 -10px 30px rgba(0,0,0,.8); 
  animation: icsc-table 20s ease-in-out infinite; 
}
.scn-inca-caxas-story-continues .lucy-fig { 
  position:absolute; bottom:12%; left:15%; width:35px; height:55px; 
  background: radial-gradient(ellipse at 50% 30%, #2a1a0e 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform: rotate(-5deg); 
  animation: icsc-lucy-fig 6s ease-in-out infinite; 
}
.scn-inca-caxas-story-continues .lucy-head { 
  position:absolute; bottom:40%; left:18%; width:18px; height:20px; 
  background: radial-gradient(circle, #4a3020 0%, #1a0e05 100%); 
  border-radius: 50%; 
  transform: rotate(10deg); 
  animation: icsc-lucy-head 4s ease-in-out infinite; 
}
.scn-inca-caxas-story-continues .donpedro-profile { 
  position:absolute; bottom:12%; left:45%; width:30px; height:55px; 
  background: linear-gradient(180deg, #1a0e05 0%, #050200 100%); 
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; 
  transform: rotate(2deg); 
  animation: icsc-dp 8s ease-in-out infinite; 
}
.scn-inca-caxas-story-continues .random-lazy { 
  position:absolute; bottom:12%; right:15%; width:30px; height:50px; 
  background: radial-gradient(ellipse at 50% 30%, #2a1a0e 0%, #0a0500 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; 
  transform: rotate(8deg); 
  animation: icsc-random 7s ease-in-out infinite; 
}
.scn-inca-caxas-story-continues .gaslamp-sway { 
  position:absolute; top:8%; left:35%; width:60px; height:80px; 
  background: radial-gradient(ellipse at 50% 20%, #e8b040 0%, #a06020 30%, transparent 70%); 
  border-radius: 50%; 
  filter: blur(5px); 
  animation: icsc-lamp 3s ease-in-out infinite alternate; 
}
.scn-inca-caxas-story-continues .silver-gleam { 
  position:absolute; bottom:16%; left:37%; width:15px; height:15px; 
  background: radial-gradient(circle, #ffe0a0 0%, #c08040 50%, transparent 100%); 
  border-radius: 50%; 
  box-shadow: 0 0 20px 3px #b07030; 
  animation: icsc-gleam 5s ease-in-out infinite; 
}
@keyframes icsc-walls { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes icsc-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes icsc-lucy-fig { 0% { transform: translateY(0) rotate(-5deg) } 50% { transform: translateY(-2px) rotate(-3deg) } 100% { transform: translateY(0) rotate(-5deg) } }
@keyframes icsc-lucy-head { 0% { transform: rotate(10deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(10deg) } }
@keyframes icsc-dp { 0% { transform: rotate(2deg) } 50% { transform: rotate(-1deg) } 100% { transform: rotate(2deg) } }
@keyframes icsc-random { 0% { transform: rotate(8deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(8deg) } }
@keyframes icsc-lamp { 0% { opacity:.6; filter: blur(5px); transform: skewX(2deg) } 50% { opacity:1; filter: blur(3px); transform: skewX(-2deg) } 100% { opacity:.7; filter: blur(4px); transform: skewX(1deg) } }
@keyframes icsc-gleam { 0% { opacity:.4; transform: scale(1) } 50% { opacity:1; transform: scale(1.4) } 100% { opacity:.5; transform: scale(.9) } }

/* inca-trip-plans */
.scn-inca-trip-plans {
  background:
    linear-gradient(180deg, #fcd68f 0%, #f5b86e 30%, #c98a4a 70%, #a06e3a 100%),
    radial-gradient(ellipse at 50% 100%, #f5b86e 0%, transparent 60%);
}
.scn-inca-trip-plans .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #ffeabe 0%, #fcd68f 100%);
  animation: itp-sky 12s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .sun {
  position: absolute; top: 10%; left: 55%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #ffee99 0%, #f8c860 40%, #e0a030 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px #f8c860, 0 0 120px 40px rgba(248,200,96,0.4);
  animation: itp-sun 8s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .mountains {
  position: absolute; bottom: 35%; left: 0; right: 0;
  height: 30%;
  background:
    linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 60%, #3a2a1a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  clip-path: polygon(0% 100%, 5% 50%, 15% 70%, 25% 40%, 35% 65%, 45% 30%, 55% 55%, 65% 20%, 75% 45%, 85% 35%, 100% 60%, 100% 100%);
  animation: itp-mountains 18s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .table {
  position: absolute; bottom: 15%; left: 30%; right: 30%;
  height: 20%;
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%);
  border-radius: 4px 4px 0 0;
  transform: perspective(400px) rotateX(60deg);
  animation: itp-table 10s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .map {
  position: absolute; bottom: 22%; left: 42%; width: 16%; height: 14%;
  background: linear-gradient(135deg, #d4c090 0%, #b8a070 50%, #a08850 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
  animation: itp-map 14s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .compass {
  position: absolute; bottom: 26%; left: 35%;
  width: 24px; height: 24px;
  background: radial-gradient(circle, #ffe0a0 0%, #c09050 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 2px rgba(192,144,80,0.5);
  animation: itp-compass 6s ease-in-out infinite;
}
.scn-inca-trip-plans .figure-left {
  position: absolute; bottom: 16%; left: 36%;
  width: 16px; height: 36px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: itp-figure 4s ease-in-out infinite;
}
.scn-inca-trip-plans .figure-right {
  position: absolute; bottom: 16%; left: 56%;
  width: 16px; height: 36px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: itp-figure 4s ease-in-out infinite alternate;
}
.scn-inca-trip-plans .candle {
  position: absolute; bottom: 24%; left: 50%;
  width: 6px; height: 18px;
  background: linear-gradient(180deg, #ffe0a0 0%, #c88830 100%);
  border-radius: 2px;
  box-shadow: 0 0 16px 4px rgba(255,224,160,0.6);
  animation: itp-candle 3s ease-in-out infinite alternate;
}
@keyframes itp-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes itp-sun { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 60px 20px #f8c860; } 50% { transform: translateY(-6px) scale(1.05); box-shadow: 0 0 80px 30px #f8c860; } 100% { transform: translateY(2px) scale(0.95); box-shadow: 0 0 50px 15px #e0a030; } }
@keyframes itp-mountains { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes itp-table { 0% { transform: perspective(400px) rotateX(60deg) } 50% { transform: perspective(400px) rotateX(63deg) } 100% { transform: perspective(400px) rotateX(58deg) } }
@keyframes itp-map { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-2deg) translateX(3px) } 100% { transform: rotate(-5deg) translateX(0) } }
@keyframes itp-compass { 0% { transform: rotate(0deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(0deg) } }
@keyframes itp-figure { 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 itp-candle { 0% { opacity: 0.8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.1) } 100% { opacity: 0.9; transform: scaleY(0.9) } }

/* random-leaves-army */
.scn-random-leaves-army {
  background:
    linear-gradient(180deg, #d4a86a 0%, #b08050 40%, #7a5a30 100%),
    radial-gradient(ellipse at 50% 0%, #d4a86a 0%, transparent 70%);
}
.scn-random-leaves-army .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #c89860 0%, #a07040 100%);
  animation: rla-wall 12s ease-in-out infinite alternate;
}
.scn-random-leaves-army .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
}
.scn-random-leaves-army .fireplace {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #5a3a20 0%, #3a2a10 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: rla-fireplace 14s ease-in-out infinite alternate;
}
.scn-random-leaves-army .fire {
  position: absolute; bottom: 30%; left: 45%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #ffcc80 0%, #e08030 40%, #802000 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 40px 20px #ff8844, 0 0 80px 40px rgba(255,136,68,0.4);
  animation: rla-fire 3s ease-in-out infinite alternate;
}
.scn-random-leaves-army .armchair {
  position: absolute; bottom: 20%; left: 20%; width: 25%; height: 30%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: rla-chair 8s ease-in-out infinite alternate;
}
.scn-random-leaves-army .figure-seated {
  position: absolute; bottom: 25%; left: 24%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rla-seated 5s ease-in-out infinite;
}
.scn-random-leaves-army .figure-standing {
  position: absolute; bottom: 18%; left: 58%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: rla-standing 6s ease-in-out infinite;
}
.scn-random-leaves-army .frame-picture {
  position: absolute; top: 20%; left: 65%; width: 20%; height: 20%;
  background: linear-gradient(180deg, #b09050 0%, #8a7030 100%);
  border-radius: 4px;
  box-shadow: 0 0 0 6px #6a5020, 0 0 0 10px #4a3a18;
  animation: rla-picture 20s ease-in-out infinite alternate;
}
@keyframes rla-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes rla-fireplace { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(0.98) } }
@keyframes rla-fire { 0% { transform: scaleY(1) scaleX(1); box-shadow: 0 0 40px 20px #ff8844; } 50% { transform: scaleY(1.1) scaleX(0.95); box-shadow: 0 0 60px 30px #ff6622; } 100% { transform: scaleY(0.95) scaleX(1.05); box-shadow: 0 0 30px 15px #ffaa55; } }
@keyframes rla-chair { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes rla-seated { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(2deg) } 50% { transform: translateY(0) rotate(-2deg) } 75% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes rla-standing { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes rla-picture { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }

/* future-plans */
.scn-future-plans {
  background:
    linear-gradient(180deg, #fdd0a0 0%, #f5b86e 40%, #c98a4a 100%),
    radial-gradient(ellipse at 50% 100%, #f5b86e 0%, transparent 60%);
}
.scn-future-plans .wall-bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(135deg, #d4a86a 0%, #b08050 100%);
}
.scn-future-plans .window-frame {
  position: absolute; top: 10%; left: 20%; right: 20%; bottom: 30%;
  background: linear-gradient(180deg, #c89860 0%, #a07040 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 0 8px #8a6030;
  animation: fup-frame 12s ease-in-out infinite alternate;
}
.scn-future-plans .sea-sky {
  position: absolute; top: 12%; left: 22%; right: 22%; bottom: 32%;
  background: linear-gradient(180deg, #aac8e0 0%, #6a9ac0 60%, #4a7a9a 100%);
  border-radius: 4px;
  animation: fup-sea 20s ease-in-out infinite alternate;
}
.scn-future-plans .sunset {
  position: absolute; bottom: 32%; left: 30%; right: 30%; height: 10%;
  background: linear-gradient(180deg, #ffaa44 0%, #e08020 100%);
  border-radius: 50% / 100% 100% 0 0;
  box-shadow: 0 -10px 40px 10px #ffaa44;
  animation: fup-sunset 10s ease-in-out infinite alternate;
}
.scn-future-plans .figure-left {
  position: absolute; bottom: 18%; left: 32%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fup-figure 6s ease-in-out infinite;
}
.scn-future-plans .figure-right {
  position: absolute; bottom: 18%; left: 52%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: fup-figure 6s ease-in-out infinite alternate;
}
.scn-future-plans .curtain-left {
  position: absolute; top: 8%; left: 18%; width: 8%; height: 60%;
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%);
  border-radius: 0 20% 20% 0;
  transform-origin: left center;
  animation: fup-curtain 15s ease-in-out infinite alternate;
}
.scn-future-plans .curtain-right {
  position: absolute; top: 8%; right: 18%; width: 8%; height: 60%;
  background: linear-gradient(180deg, #b08050 0%, #8a6030 100%);
  border-radius: 20% 0 0 20%;
  transform-origin: right center;
  animation: fup-curtain 15s ease-in-out infinite alternate-reverse;
}
@keyframes fup-frame { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(0.99) } }
@keyframes fup-sea { 0% { background-position: 0% 0% } 50% { background-position: 10% 0% } 100% { background-position: -10% 0% } }
@keyframes fup-sunset { 0% { transform: scaleY(1); opacity: 0.9 } 50% { transform: scaleY(1.1); opacity: 1 } 100% { transform: scaleY(0.9); opacity: 0.8 } }
@keyframes fup-figure { 0% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-2px) rotate(0deg) } 50% { transform: translateY(0) rotate(3deg) } 75% { transform: translateY(-2px) rotate(0deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes fup-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.08) } 100% { transform: scaleX(0.92) } }

/* final-reflection */
.scn-final-reflection {
  background:
    linear-gradient(180deg, #e8c8a0 0%, #d4a86a 50%, #b08050 100%),
    radial-gradient(ellipse at 50% 100%, #d4a86a 0%, transparent 70%);
}
.scn-final-reflection .room-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #d4a86a 0%, #b08050 100%);
  animation: far-wall 14s ease-in-out infinite alternate;
}
.scn-final-reflection .window {
  position: absolute; top: 10%; left: 25%; right: 25%; bottom: 35%;
  background: linear-gradient(180deg, #aac8e0 0%, #8ab0d0 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 0 6px #8a6030;
  animation: far-window 20s ease-in-out infinite alternate;
}
.scn-final-reflection .sunset-glow {
  position: absolute; bottom: 35%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #ffbb55 0%, #e09030 100%);
  border-radius: 50% / 100% 100% 0 0;
  box-shadow: 0 -8px 40px 10px #ffbb55;
  animation: far-glow 12s ease-in-out infinite alternate;
}
.scn-final-reflection .sofa {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 25%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: far-sofa 8s ease-in-out infinite alternate;
}
.scn-final-reflection .figure-left {
  position: absolute; bottom: 15%; left: 28%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: far-figure 5s ease-in-out infinite;
}
.scn-final-reflection .figure-right {
  position: absolute; bottom: 15%; left: 52%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: far-figure 5s ease-in-out infinite alternate;
}
.scn-final-reflection .lamp {
  position: absolute; bottom: 28%; left: 55%;
  width: 8px; height: 24px;
  background: linear-gradient(180deg, #d4a86a 0%, #a08040 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 6px #ffcc80;
  animation: far-lamp 4s ease-in-out infinite alternate;
}
.scn-final-reflection .carpet {
  position: absolute; bottom: 0; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(135deg, #8a6a3a 0%, #6a4a2a 50%, #5a3a20 100%);
  border-radius: 20% 20% 0 0;
  animation: far-carpet 18s ease-in-out infinite alternate;
}
@keyframes far-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes far-window { 0% { background-position: 0% 0% } 50% { background-position: 5% 0% } 100% { background-position: -5% 0% } }
@keyframes far-glow { 0% { transform: scaleY(1); opacity: 0.8 } 50% { transform: scaleY(1.1); opacity: 1 } 100% { transform: scaleY(0.95); opacity: 0.7 } }
@keyframes far-sofa { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes far-figure { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-1px) rotate(1deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes far-lamp { 0% { box-shadow: 0 0 20px 6px #ffcc80; opacity: 0.8 } 50% { box-shadow: 0 0 30px 10px #ffdd99; opacity: 1 } 100% { box-shadow: 0 0 15px 4px #ffbb66; opacity: 0.7 } }
@keyframes far-carpet { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(0.97) } }

/* Scene: emerald-sold */
.scn-emerald-sold {
  background: 
    radial-gradient(ellipse at 40% 60%, #3a2a1a 0%, transparent 60%),
    linear-gradient(180deg, #1a1612 0%, #2c241c 50%, #1e1814 100%);
}
.scn-emerald-sold .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #0e0c0a, #1a1814); opacity:.8; }
.scn-emerald-sold .floor-plank { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2c1c, #1e1610); border-radius: 0; box-shadow: inset 0 20px 20px rgba(0,0,0,.5); animation: esd-floor 10s ease-in-out infinite alternate; }
.scn-emerald-sold .wall-panel { position:absolute; top:0; left:0; right:0; height:60%; background: linear-gradient(180deg, #2a2218, #1c1610); box-shadow: inset 0 0 60px rgba(0,0,0,.6); animation: esd-wall 12s ease-in-out infinite alternate; }
.scn-emerald-sold .fireplace-glow { position:absolute; bottom:30%; left:50%; width:100px; height:120px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 70%, #d08040 0%, #a06030 40%, transparent 70%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 80px 40px rgba(180, 100, 50, .4); animation: esd-fire 3s ease-in-out infinite alternate; }
.scn-emerald-sold .desk { position:absolute; bottom:25%; left:20%; width:100px; height:40px; background: linear-gradient(180deg, #4a3a2a, #2a1e14); border-radius: 6px 6px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: esd-desk 8s ease-in-out infinite alternate; }
.scn-emerald-sold .ledger { position:absolute; bottom:30%; left:22%; width:30px; height:20px; background: linear-gradient(135deg, #c8b88a, #b8a070); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.4); transform: rotate(-5deg); animation: esd-ledger 5s ease-in-out infinite alternate; }
.scn-emerald-sold .figure-left { position:absolute; bottom:23%; left:10%; width:24px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: esd-fig-l 4s ease-in-out infinite; }
.scn-emerald-sold .figure-right { position:absolute; bottom:23%; left:55%; width:22px; height:48px; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: esd-fig-r 4.5s ease-in-out infinite; }
.scn-emerald-sold .safe { position:absolute; bottom:28%; left:70%; width:40px; height:32px; background: linear-gradient(180deg, #4a3a2a, #2a1e14); border-radius: 4px; border: 2px solid #5a4a3a; box-shadow: inset 0 2px 4px rgba(0,0,0,.5); animation: esd-safe 6s ease-in-out infinite alternate; }
@keyframes esd-floor { 0% { opacity:.9; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } 100% { opacity:.85; transform: scaleY(.98); } }
@keyframes esd-wall { 0% { opacity:.7; } 50% { opacity:.9; } 100% { opacity:.75; } }
@keyframes esd-fire { 0% { opacity:.8; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.1); } 100% { opacity:.85; transform: translateX(-50%) scale(.95); } }
@keyframes esd-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes esd-ledger { 0% { transform: rotate(-7deg) translate(0,0); } 50% { transform: rotate(2deg) translate(1px,-1px); } 100% { transform: rotate(-5deg) translate(0,0); } }
@keyframes esd-fig-l { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes esd-fig-r { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-2px) rotate(-1deg); } 50% { transform: translateX(1px) rotate(2deg); } 75% { transform: translateX(-1px) rotate(0); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes esd-safe { 0% { transform: rotate(0); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0); } }

/* Scene: emerald-to-random */
.scn-emerald-to-random {
  background: 
    radial-gradient(ellipse at 50% 90%, #2a1e14 0%, transparent 60%),
    linear-gradient(180deg, #1c1810 0%, #241e18 50%, #1a1510 100%);
}
.scn-emerald-to-random .room-depth { position:absolute; inset:0; background: radial-gradient(circle at 30% 80%, #3a2a1a 0%, transparent 50%); animation: etr-depth 15s ease-in-out infinite alternate; }
.scn-emerald-to-random .chimney { position:absolute; top:0; left:40%; width:80px; height:60%; background: linear-gradient(180deg, #2e241c, #1a1410); border-radius: 0 0 20% 20%; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); animation: etr-chim 12s ease-in-out infinite alternate; }
.scn-emerald-to-random .fire-hearth { position:absolute; bottom:35%; left:40%; width:80px; height:50px; background: linear-gradient(180deg, #3a2a1a, #1e1810); border-radius: 20% 20% 30% 30%; box-shadow: 0 0 40px 20px rgba(180,100,50,.5); animation: etr-hearth 3s ease-in-out infinite alternate; }
.scn-emerald-to-random .armchair-left { position:absolute; bottom:20%; left:18%; width:50px; height:55px; background: linear-gradient(180deg, #3a3028, #1e1814); border-radius: 30% 30% 20% 20%; box-shadow: 5px 0 10px rgba(0,0,0,.4); transform: rotate(-2deg); animation: etr-chair-l 8s ease-in-out infinite alternate; }
.scn-emerald-to-random .armchair-right { position:absolute; bottom:20%; left:55%; width:50px; height:55px; background: linear-gradient(180deg, #3a3028, #1e1814); border-radius: 30% 30% 20% 20%; box-shadow: -5px 0 10px rgba(0,0,0,.4); transform: rotate(2deg); animation: etr-chair-r 8.5s ease-in-out infinite alternate; }
.scn-emerald-to-random .silhouette-archie { position:absolute; bottom:22%; left:20%; width:20px; height:45px; background: linear-gradient(180deg, #0e0c0a 0%, #080604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: etr-archie 4s ease-in-out infinite; }
.scn-emerald-to-random .silhouette-random { position:absolute; bottom:22%; left:57%; width:22px; height:47px; background: linear-gradient(180deg, #0e0c0a 0%, #080604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: etr-random 4.2s ease-in-out infinite; }
.scn-emerald-to-random .shadow-pool { position:absolute; bottom:10%; left:20%; right:20%; height:30%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.7) 0%, transparent 70%); animation: etr-shad 6s ease-in-out infinite alternate; }
@keyframes etr-depth { 0% { opacity:.6; } 50% { opacity:.8; } 100% { opacity:.65; } }
@keyframes etr-chim { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(.97); } }
@keyframes etr-hearth { 0% { opacity:.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:.75; transform: scale(.98); } }
@keyframes etr-chair-l { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(0) translateX(-2px); } 100% { transform: rotate(-2deg) translateX(1px); } }
@keyframes etr-chair-r { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(0) translateX(2px); } 100% { transform: rotate(2deg) translateX(-1px); } }
@keyframes etr-archie { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(1px) rotate(2deg); } 50% { transform: translateX(0) rotate(-2deg); } 75% { transform: translateX(-1px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes etr-random { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-1px) rotate(-1deg); } 50% { transform: translateX(1px) rotate(2deg); } 75% { transform: translateX(0) rotate(0); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes etr-shad { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.6; } }

/* Scene: confession-motive */
.scn-confession-motive {
  background: 
    radial-gradient(ellipse at 30% 70%, #1e1812 0%, transparent 60%),
    linear-gradient(180deg, #1c1610 0%, #241c14 50%, #1a1410 100%);
}
.scn-confession-motive .wall-wainscot { position:absolute; top:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2e241c, #1e1812); box-shadow: inset 0 20px 30px rgba(0,0,0,.5); animation: cfn-wall 14s ease-in-out infinite alternate; }
.scn-confession-motive .floor-board { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #3a2c1c, #221a12); box-shadow: inset 0 -10px 20px rgba(0,0,0,.4); animation: cfn-floor 9s ease-in-out infinite alternate; }
.scn-confession-motive .writing-desk { position:absolute; bottom:30%; left:30%; width:100px; height:35px; background: linear-gradient(180deg, #4a3a2a, #2a1e14); border-radius: 6px 6px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.5); transform: perspective(200px) rotateX(5deg); animation: cfn-desk 7s ease-in-out infinite alternate; }
.scn-confession-motive .candle-sconce { position:absolute; top:30%; left:25%; width:12px; height:20px; background: linear-gradient(180deg, #a08060, #5a4030); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 15px rgba(200,160,100,.5); animation: cfn-candle 3s ease-in-out infinite alternate; }
.scn-confession-motive .letter-sheet { position:absolute; bottom:38%; left:34%; width:40px; height:25px; background: linear-gradient(135deg, #e0d0b8, #c8b88a); border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: cfn-letter 6s ease-in-out infinite alternate; }
.scn-confession-motive .inkwell { position:absolute; bottom:36%; left:40%; width:14px; height:14px; background: radial-gradient(circle, #1a1a22, #0a0a10); border-radius: 50%; box-shadow: 0 0 4px rgba(0,0,0,.6); animation: cfn-ink 8s ease-in-out infinite alternate; }
.scn-confession-motive .hand-reaching { position:absolute; bottom:32%; left:15%; width:18px; height:30px; background: linear-gradient(180deg, #1a1410, #0e0a08); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cfn-hand 3.5s ease-in-out infinite; }
.scn-confession-motive .jewel-box { position:absolute; bottom:36%; left:50%; width:24px; height:16px; background: linear-gradient(180deg, #6a4a3a, #3a2a1a); border-radius: 4px; box-shadow: 0 0 8px 2px rgba(180,100,50,.3); animation: cfn-jbox 5s ease-in-out infinite alternate; }
@keyframes cfn-wall { 0% { opacity:.7; } 50% { opacity:.85; } 100% { opacity:.75; } }
@keyframes cfn-floor { 0% { opacity:.8; } 50% { opacity:.95; } 100% { opacity:.85; } }
@keyframes cfn-desk { 0% { transform: perspective(200px) rotateX(5deg) translateY(0); } 50% { transform: perspective(200px) rotateX(3deg) translateY(-2px); } 100% { transform: perspective(200px) rotateX(6deg) translateY(1px); } }
@keyframes cfn-candle { 0% { opacity:.7; box-shadow: 0 0 20px 10px rgba(200,160,100,.4); } 50% { opacity:1; box-shadow: 0 0 40px 20px rgba(200,160,100,.7); } 100% { opacity:.8; box-shadow: 0 0 25px 12px rgba(200,160,100,.5); } }
@keyframes cfn-letter { 0% { transform: rotate(-12deg) translate(0,0); } 50% { transform: rotate(-5deg) translate(2px,-1px); } 100% { transform: rotate(-10deg) translate(0,0); } }
@keyframes cfn-ink { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(.98); } }
@keyframes cfn-hand { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(4px) translateY(-3px) rotate(3deg); } 50% { transform: translateX(8px) translateY(-1px) rotate(1deg); } 75% { transform: translateX(4px) translateY(0) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes cfn-jbox { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(5deg) scale(1.02); } 100% { transform: rotate(-3deg) scale(.98); } }

/* Scene: emerald-gift-rationale */
.scn-emerald-gift-rationale {
  background: 
    radial-gradient(ellipse at 60% 80%, #2a1e14 0%, transparent 50%),
    linear-gradient(180deg, #1e1812 0%, #241c14 50%, #18120e 100%);
}
.scn-emerald-gift-rationale .drapes-left { position:absolute; top:0; left:0; width:30%; height:100%; background: linear-gradient(180deg, #3a2a1a, #1a1410); border-radius: 0 40% 40% 0 / 0 20% 20% 0; box-shadow: inset -10px 0 20px rgba(0,0,0,.5); animation: egr-drap-l 10s ease-in-out infinite alternate; }
.scn-emerald-gift-rationale .drapes-right { position:absolute; top:0; right:0; width:30%; height:100%; background: linear-gradient(180deg, #3a2a1a, #1a1410); border-radius: 40% 0 0 40% / 20% 0 0 20%; box-shadow: inset 10px 0 20px rgba(0,0,0,.5); animation: egr-drap-r 10s ease-in-out infinite alternate; }
.scn-emerald-gift-rationale .table-cloth { position:absolute; bottom:20%; left:20%; right:20%; height:40px; background: linear-gradient(180deg, #4a3a2a, #2a1e14); border-radius: 10% 10% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: egr-table 6s ease-in-out infinite alternate; }
.scn-emerald-gift-rationale .gift-box { position:absolute; bottom:30%; left:40%; width:40px; height:30px; background: linear-gradient(135deg, #6a4a3a, #3a2a1a); border-radius: 4px; box-shadow: 0 0 20px 5px rgba(180,100,50,.4); transform: rotate(2deg); animation: egr-gift 4s ease-in-out infinite alternate; }
.scn-emerald-gift-rationale .letter-curl { position:absolute; bottom:38%; left:44%; width:20px; height:10px; background: linear-gradient(135deg, #e0d0b8, #c8b88a); border-radius: 0 50% 50% 0; transform: rotate(30deg); box-shadow: 0 1px 3px rgba(0,0,0,.2); animation: egr-curl 7s ease-in-out infinite alternate; }
.scn-emerald-gift-rationale .hand-offering { position:absolute; bottom:22%; left:35%; width:16px; height:28px; background: linear-gradient(180deg, #1a1410, #0e0a08); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: egr-hand 3.8s ease-in-out infinite; }
.scn-emerald-gift-rationale .glint-spark { position:absolute; bottom:32%; left:42%; width:6px; height:6px; background: radial-gradient(circle, #ffd080, #ffb040); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(255, 200, 100, .6); animation: egr-glint 2s ease-in-out infinite alternate; }
@keyframes egr-drap-l { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(2px) scaleX(1.02); } 100% { transform: translateX(-1px) scaleX(.98); } }
@keyframes egr-drap-r { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-2px) scaleX(1.02); } 100% { transform: translateX(1px) scaleX(.98); } }
@keyframes egr-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes egr-gift { 0% { transform: rotate(2deg) scale(1); } 50% { transform: rotate(-3deg) scale(1.02); } 100% { transform: rotate(5deg) scale(.98); } }
@keyframes egr-curl { 0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(40deg) translateX(2px); } 100% { transform: rotate(25deg) translateX(-1px); } }
@keyframes egr-hand { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(6px) translateY(-1px) rotate(-1deg); } 75% { transform: translateX(3px) translateY(0) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes egr-glint { 0% { opacity:.5; transform: scale(1); } 50% { opacity:1; transform: scale(1.5); } 100% { opacity:.6; transform: scale(.8); } }

.scn-sir-frank-new-love {
  background: linear-gradient(180deg, #2a1e14 0%, #4a3222 40%, #6a4a32 100%), radial-gradient(ellipse at 50% 70%, #8a5a3a 0%, transparent 60%);
}
.scn-sir-frank-new-love .bg-shadow { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 50%, rgba(0,0,0,0.3) 100%); }
.scn-sir-frank-new-love .wall { position:absolute; inset:15% 10% 30% 10%; background: linear-gradient(180deg, #6a4a32 0%, #4a3222 100%); border-radius:4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.3); }
.scn-sir-frank-new-love .fireplace { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:120px; height:100px; background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 0 30px 10px #c08040; }
.scn-sir-frank-new-love .mantle { position:absolute; bottom:calc(30% + 100px); left:50%; transform:translateX(-50%); width:140px; height:12px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a32 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.scn-sir-frank-new-love .figure-lucy { position:absolute; bottom:27%; left:38%; width:30px; height:60px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-lucy 6s ease-in-out infinite alternate; }
.scn-sir-frank-new-love .figure-frank { position:absolute; bottom:26%; left:55%; width:28px; height:58px; background: linear-gradient(180deg, #2a201a 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-frank 7s ease-in-out infinite alternate; }
.scn-sir-frank-new-love .glow-fire { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:140px; height:140px; background: radial-gradient(circle, rgba(200,140,64,0.6) 0%, rgba(200,140,64,0) 70%); animation: sf-glowfire 2s ease-in-out infinite alternate; }
.scn-sir-frank-new-love .glow-spill { position:absolute; bottom:10%; left:30%; right:30%; height:40%; background: radial-gradient(ellipse at 50% 100%, rgba(200,140,64,0.2) 0%, transparent 70%); animation: sf-glowspill 4s ease-in-out infinite alternate; }
.scn-sir-frank-new-love .embers { position:absolute; bottom:34%; left:48%; width:4px; height:4px; background: #ffa040; border-radius:50%; box-shadow: 0 0 6px 2px #ffa040, 20px -4px 0 0 #ff8030, -15px -2px 0 0 #ff9020; animation: sf-ember 3s ease-in-out infinite; }
@keyframes sf-lucy { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sf-frank { 0% { transform: translateX(0) rotate(1deg) scaleX(0.98); } 50% { transform: translateX(-2px) rotate(-1deg) scaleX(1); } 100% { transform: translateX(0) rotate(0deg) scaleX(0.98); } }
@keyframes sf-glowfire { 0% { opacity:0.7; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.05); } 100% { opacity:0.8; transform: translateX(-50%) scale(0.95); } }
@keyframes sf-glowspill { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }
@keyframes sf-ember { 0% { transform: translateY(0) rotate(0deg); opacity:1; } 50% { transform: translateY(-16px) rotate(180deg); opacity:0.5; } 100% { transform: translateY(0) rotate(360deg); opacity:0; } }

.scn-donna-inez-introduced {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #7a5a3a 70%, #5a3a2a 100%), radial-gradient(ellipse at 60% 40%, #c09050 0%, transparent 40%);
}
.scn-donna-inez-introduced .bg-ballroom { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, transparent 40%, rgba(0,0,0,0.4) 100%); }
.scn-donna-inez-introduced .arch { position:absolute; top:5%; left:20%; right:20%; height:40%; background: linear-gradient(180deg, #6a4a32 0%, #4a3222 100%); border-radius: 40% 40% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.3); }
.scn-donna-inez-introduced .chandelier { position:absolute; top:8%; left:50%; transform:translateX(-50%); width:60px; height:40px; background: radial-gradient(circle, #e0b060 20%, transparent 70%), radial-gradient(circle at 30% 60%, #ffd080 0%, transparent 50%), radial-gradient(circle at 70% 60%, #ffd080 0%, transparent 50%); border-radius:50%; filter: blur(2px); animation: di-chandelier 8s ease-in-out infinite alternate; }
.scn-donna-inez-introduced .fan { position:absolute; bottom:30%; left:35%; width:50px; height:30px; background: linear-gradient(135deg, #c89060 0%, #a07050 50%, #806040 100%); border-radius: 0 0 100% 0; transform-origin: left center; animation: di-fan 5s ease-in-out infinite alternate; }
.scn-donna-inez-introduced .figure-donna { position:absolute; bottom:15%; left:40%; width:36px; height:80px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: di-donna 6s ease-in-out infinite; }
.scn-donna-inez-introduced .figure-shadow { position:absolute; bottom:14%; left:38%; width:40px; height:80px; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(6px); animation: di-shadow 8s ease-in-out infinite alternate; }
.scn-donna-inez-introduced .sparkle { position:absolute; top:12%; left:30%; width:4px; height:4px; background: #ffd080; border-radius:50%; box-shadow: 0 0 8px 2px #ffd080, 30px -10px 0 0 #ffd080, -20px 5px 0 0 #ffc060; animation: di-sparkle 4s ease-in-out infinite alternate; }
@keyframes di-chandelier { 0% { opacity:0.6; transform: translateX(-50%) rotate(-2deg); } 50% { opacity:0.8; transform: translateX(-50%) rotate(0deg); } 100% { opacity:0.7; transform: translateX(-50%) rotate(2deg); } }
@keyframes di-fan { 0% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-10deg); } }
@keyframes di-donna { 0% { transform: translateX(0) rotate(-1deg); } 33% { transform: translateX(3px) rotate(1deg); } 66% { transform: translateX(-2px) rotate(-0.5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes di-shadow { 0% { transform: translateX(-2px) scale(1); opacity:0.3; } 50% { transform: translateX(2px) scale(1.02); opacity:0.5; } 100% { transform: translateX(-2px) scale(1); opacity:0.3; } }
@keyframes di-sparkle { 0% { opacity:0; } 50% { opacity:1; } 100% { opacity:0; } }

.scn-lucy-reacts-to-news {
  background: linear-gradient(180deg, #2a241e 0%, #3a3028 40%, #4a3a2e 100%), radial-gradient(ellipse at 50% 20%, #6a5040 0%, transparent 50%);
}
.scn-lucy-reacts-to-news .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, transparent 40%, rgba(0,0,0,0.3) 100%); }
.scn-lucy-reacts-to-news .window { position:absolute; top:10%; left:30%; right:30%; height:40%; background: radial-gradient(ellipse at 50% 50%, #4a5a4a 0%, #2a3a2a 100%); border:6px solid #5a4a3a; border-radius:8% 8% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.4); }
.scn-lucy-reacts-to-news .curtain-left { position:absolute; top:10%; left:28%; width:12%; height:45%; background: linear-gradient(180deg, #6a5040 0%, #4a3a2e 100%); border-radius: 0 30% 30% 0; transform-origin: top left; animation: lr-curtain 12s ease-in-out infinite alternate; }
.scn-lucy-reacts-to-news .curtain-right { position:absolute; top:10%; right:28%; width:12%; height:45%; background: linear-gradient(180deg, #6a5040 0%, #4a3a2e 100%); border-radius: 30% 0 0 30%; transform-origin: top right; animation: lr-curtain 12s ease-in-out infinite alternate-reverse; }
.scn-lucy-reacts-to-news .table { position:absolute; bottom:18%; left:45%; width:40px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2e1e 100%); border-radius:4% 4% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
.scn-lucy-reacts-to-news .teacup { position:absolute; bottom:23%; left:48%; width:12px; height:10px; background: radial-gradient(circle at 40% 40%, #e0d0c0 0%, #c0b0a0 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 8px 2px rgba(200,180,160,0.3); animation: lr-teacup 9s ease-in-out infinite; }
.scn-lucy-reacts-to-news .figure-lucy-seated { position:absolute; bottom:15%; left:35%; width:32px; height:60px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: lr-lucy 7s ease-in-out infinite alternate; }
.scn-lucy-reacts-to-news .lamp-glow { position:absolute; bottom:14%; left:44%; width:16px; height:16px; background: radial-gradient(circle, #e0b060 0%, transparent 70%); border-radius:50%; animation: lr-lamp 5s ease-in-out infinite alternate; }
@keyframes lr-curtain { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(1.05) rotate(2deg); } 100% { transform: scaleX(1) rotate(-2deg); } }
@keyframes lr-teacup { 0% { transform: rotate(-3deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes lr-lucy { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes lr-lamp { 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-warrior-inn-mentioned {
  background: linear-gradient(180deg, #2a1e14 0%, #3a2a1e 50%, #4a3222 100%), radial-gradient(ellipse at 50% 80%, #6a4a32 0%, transparent 40%);
}
.scn-warrior-inn-mentioned .bg-inn { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 30%, rgba(0,0,0,0.5) 100%); }
.scn-warrior-inn-mentioned .beam { position:absolute; top:12%; left:0; right:0; height:14px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2214 100%); box-shadow: 0 4px 8px rgba(0,0,0,0.4); }
.scn-warrior-inn-mentioned .table-inn { position:absolute; bottom:20%; left:30%; right:30%; height:18px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2e1e 100%); border-radius:4% 4% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
.scn-warrior-inn-mentioned .tankard { position:absolute; bottom:24%; left:45%; width:14px; height:18px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a32 100%); border-radius: 10% 10% 30% 30%; transform-origin: bottom center; animation: wi-tankard 8s ease-in-out infinite; }
.scn-warrior-inn-mentioned .figure-inn-1 { position:absolute; bottom:16%; left:25%; width:28px; 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: wi-fig1 6s ease-in-out infinite alternate; }
.scn-warrior-inn-mentioned .figure-inn-2 { position:absolute; bottom:15%; right:25%; width:26px; height:48px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wi-fig2 7s ease-in-out infinite alternate; }
.scn-warrior-inn-mentioned .fireplace-small { position:absolute; bottom:22%; left:10%; width:50px; height:40px; background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 0 20px 4px #b08040; }
.scn-warrior-inn-mentioned .glow-inn { position:absolute; bottom:25%; left:10%; width:60px; height:50px; background: radial-gradient(circle, rgba(200,140,64,0.4) 0%, transparent 70%); animation: wi-glow 3s ease-in-out infinite alternate; }
@keyframes wi-tankard { 0% { transform: rotate(-2deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-2deg); } }
@keyframes wi-fig1 { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(4px) rotate(-1deg); } 100% { transform: translateX(-2px) rotate(0deg); } }
@keyframes wi-fig2 { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(-4px) rotate(1deg); } 100% { transform: translateX(2px) rotate(0deg); } }
@keyframes wi-glow { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(0.95); } }

/* Scene 1: hope-suggests-finding-emeralds – bright interior, tense */
.scn-hope-suggests-finding-emeralds {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #e8d5a8 30%, #d4b88a 70%, #c4a070 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-hope-suggests-finding-emeralds .window {
  position: absolute; top: 8%; left: 12%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #fef9e0 0%, #ffe8b0 30%, #f0d090 70%, #e0b870 100%);
  border-radius: 4%/6%;
  box-shadow: inset 0 0 30px 6px rgba(255,240,180,.6), 0 0 40px 10px rgba(255,200,100,.3);
  animation: hse-window 6s ease-in-out infinite alternate;
}
.scn-hope-suggests-finding-emeralds .desk {
  position: absolute; bottom: 24%; left: 10%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #8b6b4a 0%, #5a3e2a 100%);
  border-radius: 2%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.scn-hope-suggests-finding-emeralds .chair {
  position: absolute; bottom: 26%; left: 48%; width: 18%; height: 16%;
  background: linear-gradient(180deg, #5a3e2a 0%, #2a1a0e 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: hse-chair 4s ease-in-out infinite;
}
.scn-hope-suggests-finding-emeralds .figure {
  position: absolute; bottom: 26%; left: 48%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: hse-figure 3s ease-in-out infinite;
}
.scn-hope-suggests-finding-emeralds .emerald {
  position: absolute; bottom: 32%; left: 36%; width: 4%; height: 4%;
  background: radial-gradient(circle, #50c040 0%, #208020 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(80,192,64,.7), 0 0 40px 12px rgba(80,192,64,.3);
  animation: hse-emerald 1.5s ease-in-out infinite alternate;
}
.scn-hope-suggests-finding-emeralds .shadow {
  position: absolute; bottom: 24%; left: 20%; width: 50%; height: 6%;
  background: rgba(0,0,0,.2);
  border-radius: 50%;
  filter: blur(6px);
  animation: hse-shadow 3s ease-in-out infinite;
}
@keyframes hse-window {
  0% { opacity: .9; transform: scaleX(1) }
  50% { opacity: 1; transform: scaleX(1.02) }
  100% { opacity: .85; transform: scaleX(.98) }
}
@keyframes hse-chair {
  0%,100% { transform: translateY(0) }
  50% { transform: translateY(-2px) }
}
@keyframes hse-figure {
  0%,100% { transform: translateX(0) rotate(0deg) }
  25% { transform: translateX(1px) rotate(1deg) }
  75% { transform: translateX(-1px) rotate(-1deg) }
}
@keyframes hse-emerald {
  0% { box-shadow: 0 0 20px 6px rgba(80,192,64,.7), 0 0 40px 12px rgba(80,192,64,.3); transform: scale(1) }
  50% { box-shadow: 0 0 35px 10px rgba(80,192,64,.9), 0 0 60px 18px rgba(80,192,64,.5); transform: scale(1.1) }
  100% { box-shadow: 0 0 25px 8px rgba(80,192,64,.5), 0 0 50px 14px rgba(80,192,64,.2); transform: scale(.95) }
}
@keyframes hse-shadow {
  0%,100% { opacity: .2; transform: scaleX(1) }
  50% { opacity: .35; transform: scaleX(1.2) }
}

/* Scene 2: vasa-theory-refuted – bright interior, tense */
.scn-vasa-theory-refuted {
  background:
    linear-gradient(180deg, #e6d9b7 0%, #d4be94 40%, #c4a474 80%, #b0885c 100%),
    radial-gradient(ellipse at 50% 0%, #fff4d0 0%, transparent 70%);
}
.scn-vasa-theory-refuted .bookshelf {
  position: absolute; top: 6%; left: 65%; width: 30%; height: 70%;
  background: linear-gradient(180deg, #6b4c2e 0%, #3d2816 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);
}
.scn-vasa-theory-refuted .table {
  position: absolute; bottom: 20%; left: 10%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a301a 100%);
  border-radius: 3%;
  box-shadow: 0 6px 18px rgba(0,0,0,.5);
}
.scn-vasa-theory-refuted .candle {
  position: absolute; bottom: 28%; left: 40%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #f0d8a0 0%, #e0c080 100%);
  border-radius: 10% 10% 40% 40% / 30% 30% 60% 60%;
  box-shadow: 0 0 30px 10px rgba(240,200,100,.5);
  animation: vtr-candle 2s ease-in-out infinite alternate;
}
.scn-vasa-theory-refuted .figure {
  position: absolute; bottom: 20%; left: 35%; width: 18%; height: 34%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: vtr-figure 4s ease-in-out infinite;
}
.scn-vasa-theory-refuted .manuscript {
  position: absolute; bottom: 28%; left: 30%; width: 10%; height: 6%;
  background: linear-gradient(135deg, #fcf8f0 0%, #f0e8d0 100%);
  border-radius: 5%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: vtr-manuscript 5s ease-in-out infinite;
}
.scn-vasa-theory-refuted .shadow-hand {
  position: absolute; bottom: 24%; left: 52%; width: 12%; height: 8%;
  background: rgba(30,20,10,.4);
  border-radius: 40% 60% 30% 50% / 50% 40% 60% 50%;
  filter: blur(6px);
  animation: vtr-hand 3s ease-in-out infinite;
}
@keyframes vtr-candle {
  0% { transform: scaleY(1); opacity: .9; box-shadow: 0 0 30px 10px rgba(240,200,100,.5) }
  50% { transform: scaleY(1.05) scaleX(.95); opacity: 1; box-shadow: 0 0 40px 14px rgba(240,200,100,.7) }
  100% { transform: scaleY(.98); opacity: .85; box-shadow: 0 0 25px 8px rgba(240,200,100,.4) }
}
@keyframes vtr-figure {
  0%,100% { transform: translateX(0) rotate(0deg) }
  30% { transform: translateX(4px) rotate(2deg) }
  70% { transform: translateX(-2px) rotate(-1deg) }
}
@keyframes vtr-manuscript {
  0%,100% { transform: translate(0,0) rotate(-1deg) }
  50% { transform: translate(2px,-1px) rotate(2deg) }
}
@keyframes vtr-hand {
  0%,100% { transform: translateX(0) rotate(0deg); opacity: .4 }
  50% { transform: translateX(-3px) rotate(5deg); opacity: .6 }
}

/* Scene 3: reward-offered – bright interior, tense */
.scn-reward-offered {
  background:
    linear-gradient(180deg, #efe2c8 0%, #dbc8a4 40%, #c4ad84 80%, #b09870 100%),
    radial-gradient(ellipse at 50% 100%, #fff5d0 0%, transparent 60%);
}
.scn-reward-offered .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #d4be9a 0%, #c4a880 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,.15);
}
.scn-reward-offered .poster {
  position: absolute; top: 14%; left: 20%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #fdf8e8 0%, #f0e0c0 100%);
  border: 2px solid #8b6b4a;
  border-radius: 2%;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  animation: rwo-poster 8s ease-in-out infinite alternate;
}
.scn-reward-offered .desk {
  position: absolute; bottom: 22%; left: 8%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a301a 100%);
  border-radius: 2%;
  box-shadow: 0 6px 18px rgba(0,0,0,.5);
}
.scn-reward-offered .chair {
  position: absolute; bottom: 26%; left: 55%; width: 16%; height: 18%;
  background: linear-gradient(180deg, #5a3e2a 0%, #2a1a0e 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-reward-offered .figure {
  position: absolute; bottom: 20%; left: 30%; width: 16%; height: 38%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: rwo-figure 5s ease-in-out infinite;
}
.scn-reward-offered .lamp {
  position: absolute; bottom: 30%; left: 8%; width: 6%; height: 20%;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 10% 10% 40% 40% / 30% 30% 60% 60%;
  box-shadow: 0 0 20px 6px rgba(200,170,100,.4);
  animation: rwo-lamp 3s ease-in-out infinite alternate;
}
@keyframes rwo-poster {
  0% { transform: translateY(0) rotate(0deg) }
  50% { transform: translateY(-3px) rotate(1deg) }
  100% { transform: translateY(0) rotate(-1deg) }
}
@keyframes rwo-figure {
  0%,100% { transform: translateX(0) translateY(0) rotate(0deg) }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg) }
  75% { transform: translateX(-1px) translateY(1px) rotate(-1deg) }
}
@keyframes rwo-lamp {
  0% { transform: rotate(-3deg); box-shadow: 0 0 20px 6px rgba(200,170,100,.4) }
  50% { transform: rotate(3deg); box-shadow: 0 0 30px 10px rgba(200,170,100,.6) }
  100% { transform: rotate(-2deg); box-shadow: 0 0 25px 8px rgba(200,170,100,.5) }
}

/* Scene 4: conversation-with-lucy – dim interior, tense */
.scn-conversation-with-lucy {
  background:
    linear-gradient(180deg, #2a1e14 0%, #1c140e 30%, #120c08 70%, #080604 100%),
    radial-gradient(ellipse at 50% 85%, #5a3a22 0%, transparent 60%);
}
.scn-conversation-with-lucy .fireplace {
  position: absolute; bottom: 8%; left: 50%; width: 50%; height: 60%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a281a 0%, #1a100a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,.8), 0 0 20px rgba(0,0,0,.6);
}
.scn-conversation-with-lucy .mantel {
  position: absolute; bottom: 40%; left: 10%; width: 80%; height: 4%;
  background: linear-gradient(180deg, #5a3e28 0%, #2a1a0e 100%);
  border-radius: 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-conversation-with-lucy .fire {
  position: absolute; bottom: 12%; left: 38%; width: 24%; height: 28%;
  background:
    radial-gradient(ellipse at 50% 50%, #ffa040 0%, #d06020 40%, #8a3010 70%, transparent 100%),
    linear-gradient(180deg, #ff8020 0%, #c04010 60%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  filter: blur(2px);
  animation: cwl-fire 1s ease-in-out infinite alternate;
}
.scn-conversation-with-lucy .figure-1 {
  position: absolute; bottom: 20%; left: 18%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: cwl-fig1 6s ease-in-out infinite;
}
.scn-conversation-with-lucy .figure-2 {
  position: absolute; bottom: 20%; left: 58%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cwl-fig2 6s ease-in-out infinite reverse;
}
.scn-conversation-with-lucy .sofa {
  position: absolute; bottom: 12%; left: 15%; width: 60%; height: 16%;
  background: linear-gradient(180deg, #3a2820 0%, #1e1410 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,.6);
}
.scn-conversation-with-lucy .frame {
  position: absolute; top: 12%; left: 40%; width: 18%; height: 20%;
  background: linear-gradient(135deg, #4a3020 0%, #2a1a10 100%);
  border: 3px solid #5a3e28;
  border-radius: 4%;
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.scn-conversation-with-lucy .shadow-1 {
  position: absolute; bottom: 0%; left: 20%; width: 30%; height: 8%;
  background: rgba(0,0,0,.5);
  border-radius: 50%;
  filter: blur(10px);
  animation: cwl-shadow 8s ease-in-out infinite;
}
.scn-conversation-with-lucy .shadow-2 {
  position: absolute; bottom: 0%; left: 55%; width: 25%; height: 6%;
  background: rgba(0,0,0,.4);
  border-radius: 50%;
  filter: blur(8px);
  animation: cwl-shadow 10s ease-in-out infinite reverse;
}
@keyframes cwl-fire {
  0% { opacity: .8; transform: scale(1) translateY(0) }
  25% { opacity: .9; transform: scale(1.05) translateY(-2px) }
  50% { opacity: 1; transform: scale(1.1) translateY(-4px) }
  75% { opacity: .85; transform: scale(1.02) translateY(-1px) }
  100% { opacity: .75; transform: scale(.95) translateY(0) }
}
@keyframes cwl-fig1 {
  0%,100% { transform: translateX(0) rotate(0deg) }
  30% { transform: translateX(3px) rotate(2deg) }
  70% { transform: translateX(-2px) rotate(-1deg) }
}
@keyframes cwl-fig2 {
  0%,100% { transform: translateX(0) rotate(0deg) }
  30% { transform: translateX(-3px) rotate(-2deg) }
  70% { transform: translateX(2px) rotate(1deg) }
}
@keyframes cwl-shadow {
  0%,100% { opacity: .5; transform: scaleX(1) }
  50% { opacity: .7; transform: scaleX(1.1) }
}

/* ---- braddock-dead ---- */
.scn-braddock-dead {
  background: 
    linear-gradient(180deg, #0e1428 0%, #1a2540 40%, #2a3a5c 70%, #121a30 100%),
    radial-gradient(ellipse at 50% 30%, #3a5a8a 0%, transparent 70%);
}
.scn-braddock-dead .moonlit-sky {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(180deg, #1a2a4a 0%, #2a4a6a 50%, transparent 100%);
  animation: bdd-sky 12s ease-in-out infinite alternate;
}
.scn-braddock-dead .moon {
  position:absolute; top:8%; left:70%; width:50px; height:50px;
  background: radial-gradient(circle, #d4dce8 0%, #a0b4d0 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 40px 20px rgba(160,180,208,0.5);
  animation: bdd-moon 8s ease-in-out infinite alternate;
}
.scn-braddock-dead .body {
  position:absolute; bottom:28%; left:40%; width:120px; height:60px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: center bottom;
  animation: bdd-body 10s ease-in-out infinite alternate;
}
.scn-braddock-dead .face {
  position:absolute; bottom:48%; left:43%; width:38px; height:44px;
  background: radial-gradient(ellipse at 50% 40%, #4a5a6a 0%, #1a2a3a 80%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: inset 0 -6px 8px rgba(0,0,0,0.6);
  animation: bdd-face 12s ease-in-out infinite alternate;
}
.scn-braddock-dead .hands {
  position:absolute; bottom:22%; left:35%; width:60px; height:20px;
  background: linear-gradient(90deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: left center;
  animation: bdd-hands 6s ease-in-out infinite alternate;
}
.scn-braddock-dead .shadow {
  position:absolute; bottom:15%; left:30%; width:180px; height:30px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: bdd-shadow 10s ease-in-out infinite;
}
.scn-braddock-dead .moonlight-beam {
  position:absolute; top:5%; left:60%; width:300px; height:200px;
  background: linear-gradient(180deg, rgba(200,220,240,0.15) 0%, transparent 80%);
  transform: rotate(-15deg);
  filter: blur(10px);
  animation: bdd-beam 8s ease-in-out infinite alternate;
}
@keyframes bdd-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes bdd-moon { 0% { transform: translate(0,0) scale(1); box-shadow: 0 0 40px 20px rgba(160,180,208,0.5); } 50% { transform: translate(-5px,3px) scale(1.02); box-shadow: 0 0 50px 25px rgba(160,180,208,0.7); } 100% { transform: translate(2px,-2px) scale(0.98); box-shadow: 0 0 35px 15px rgba(160,180,208,0.4); } }
@keyframes bdd-body { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(3px) scaleY(1.01); } 100% { transform: translateX(-2px) scaleY(0.99); } }
@keyframes bdd-face { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.02); } 100% { transform: rotate(-1deg) scaleX(0.98); } }
@keyframes bdd-hands { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(1px); } }
@keyframes bdd-shadow { 0%,100% { transform: scaleX(1) translateX(0); opacity:0.6; } 50% { transform: scaleX(1.1) translateX(5px); opacity:0.8; } }
@keyframes bdd-beam { 0% { opacity:0.3; transform: rotate(-15deg) scaleY(1); } 50% { opacity:0.6; transform: rotate(-12deg) scaleY(1.05); } 100% { opacity:0.4; transform: rotate(-18deg) scaleY(0.95); } }

/* ---- hervey-escapes ---- */
.scn-hervey-escapes {
  background:
    linear-gradient(180deg, #0a1220 0%, #14203a 40%, #1e3050 70%, #0a1220 100%),
    radial-gradient(ellipse at 30% 20%, #2a4a6a 0%, transparent 60%);
}
.scn-hervey-escapes .bg-landscape {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 50%, #1a2a3a 100%);
  animation: hee-land 15s ease-in-out infinite alternate;
}
.scn-hervey-escapes .mummy-case {
  position:absolute; bottom:30%; left:20%; width:70px; height:100px;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  transform: rotate(10deg);
  animation: hee-case 8s ease-in-out infinite alternate;
}
.scn-hervey-escapes .figure-running {
  position:absolute; bottom:28%; right:25%; width:20px; height:40px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hee-run 3s steps(4) infinite;
}
.scn-hervey-escapes .figure-captured {
  position:absolute; bottom:25%; left:35%; width:22px; height:38px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-20deg);
  animation: hee-captured 12s ease-in-out infinite alternate;
}
.scn-hervey-escapes .mist-1 {
  position:absolute; top:40%; left:0; width:100%; height:40%;
  background: linear-gradient(180deg, rgba(100,140,180,0.15) 0%, transparent 100%);
  filter: blur(12px);
  animation: hee-mist1 20s ease-in-out infinite alternate;
}
.scn-hervey-escapes .mist-2 {
  position:absolute; top:50%; left:0; width:100%; height:30%;
  background: linear-gradient(90deg, transparent 0%, rgba(150,180,210,0.1) 40%, transparent 80%);
  filter: blur(8px);
  animation: hee-mist2 25s linear infinite;
}
.scn-hervey-escapes .moon {
  position:absolute; top:10%; left:75%; width:40px; height:40px;
  background: radial-gradient(circle, #c8d8e8 0%, #90a8c8 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 30px 15px rgba(144,168,200,0.5);
  animation: hee-moon 10s ease-in-out infinite alternate;
}
@keyframes hee-land { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes hee-case { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-3px); } 100% { transform: rotate(12deg) translateY(2px); } }
@keyframes hee-run { 0% { transform: translateX(0) rotate(0deg); offset-distance:0%; } 25% { transform: translateX(20px) rotate(-5deg); } 50% { transform: translateX(40px) rotate(0deg); } 75% { transform: translateX(60px) rotate(5deg); } 100% { transform: translateX(80px) rotate(0deg); } }
@keyframes hee-captured { 0% { transform: rotate(-20deg) scaleY(1); } 50% { transform: rotate(-15deg) scaleY(1.05); opacity:0.7; } 100% { transform: rotate(-22deg) scaleY(0.95); opacity:0.9; } }
@keyframes hee-mist1 { 0% { opacity:0.3; transform: translateY(0); } 50% { opacity:0.6; transform: translateY(-10px); } 100% { opacity:0.4; transform: translateY(5px); } }
@keyframes hee-mist2 { 0% { transform: translateX(-20%); } 50% { transform: translateX(20%); } 100% { transform: translateX(-20%); } }
@keyframes hee-moon { 0% { box-shadow: 0 0 30px 15px rgba(144,168,200,0.5); transform: scale(1); } 50% { box-shadow: 0 0 40px 20px rgba(144,168,200,0.7); transform: scale(1.03); } 100% { box-shadow: 0 0 25px 10px rgba(144,168,200,0.4); transform: scale(0.98); } }

/* ---- escape-plan-detailed ---- */
.scn-escape-plan-detailed {
  background:
    linear-gradient(180deg, #0a0e1a 0%, #141e32 40%, #1e2a44 70%, #0a0e1a 100%),
    radial-gradient(ellipse at 70% 60%, #2a4060 0%, transparent 70%);
}
.scn-escape-plan-detailed .cliff-bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #1a2a32 0%, #2a3a42 50%, #1a2a32 100%);
  animation: epd-cliff 20s ease-in-out infinite alternate;
}
.scn-escape-plan-detailed .boat {
  position:absolute; bottom:25%; left:25%; width:100px; height:30px;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  transform: rotate(-5deg);
  animation: epd-boat 8s ease-in-out infinite alternate;
}
.scn-escape-plan-detailed .figure-hiding {
  position:absolute; bottom:22%; left:32%; width:18px; height:30px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: epd-hide 6s ease-in-out infinite alternate;
}
.scn-escape-plan-detailed .mist-fore {
  position:absolute; bottom:20%; left:0; width:100%; height:35%;
  background: linear-gradient(180deg, rgba(100,130,160,0.15) 0%, transparent 100%);
  filter: blur(15px);
  animation: epd-mistf 18s ease-in-out infinite alternate;
}
.scn-escape-plan-detailed .mist-mid {
  position:absolute; top:30%; left:0; width:100%; height:40%;
  background: linear-gradient(90deg, transparent 0%, rgba(120,150,180,0.12) 50%, transparent 100%);
  filter: blur(10px);
  animation: epd-mistm 30s linear infinite;
}
.scn-escape-plan-detailed .rocks {
  position:absolute; bottom:15%; left:55%; width:60px; height:40px;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
  animation: epd-rocks 12s ease-in-out infinite alternate;
}
.scn-escape-plan-detailed .moonlight-spot {
  position:absolute; top:15%; left:20%; width:200px; height:180px;
  background: radial-gradient(ellipse at 50% 30%, rgba(180,210,240,0.2) 0%, transparent 70%);
  filter: blur(8px);
  animation: epd-spot 10s ease-in-out infinite alternate;
}
@keyframes epd-cliff { 0%,100% { opacity:0.85; } 50% { opacity:1; } }
@keyframes epd-boat { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-4px); } 100% { transform: rotate(-7deg) translateY(2px); } }
@keyframes epd-hide { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.05); } 100% { transform: translateY(2px) scaleY(0.95); } }
@keyframes epd-mistf { 0% { opacity:0.4; transform: translateY(0); } 50% { opacity:0.7; transform: translateY(-8px); } 100% { opacity:0.5; transform: translateY(4px); } }
@keyframes epd-mistm { 0% { transform: translateX(-30%); } 50% { transform: translateX(10%); } 100% { transform: translateX(-30%); } }
@keyframes epd-rocks { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.05) translateX(3px); } 100% { transform: scaleX(0.95) translateX(-2px); } }
@keyframes epd-spot { 0% { opacity:0.3; transform: scale(0.95); } 50% { opacity:0.7; transform: scale(1.05); } 100% { opacity:0.4; transform: scale(0.98); } }

/* ---- braddock-hour ---- */
.scn-braddock-hour {
  background:
    linear-gradient(180deg, #06080e 0%, #0a0f1a 30%, #121a28 60%, #06080e 100%),
    radial-gradient(ellipse at 50% 50%, #1a2a3a 0%, transparent 80%);
}
.scn-braddock-hour .dark-interior {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #0a0f1a 0%, #121a28 50%, #0a0f1a 100%);
  animation: bdh-interior 15s ease-in-out infinite alternate;
}
.scn-braddock-hour .case-box {
  position:absolute; bottom:30%; left:35%; width:140px; height:100px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 5% 5% 3% 3%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.8), inset 0 4px 10px rgba(0,0,0,0.6);
  animation: bdh-box 8s ease-in-out infinite alternate;
}
.scn-braddock-hour .figure-crouch {
  position:absolute; bottom:32%; left:42%; width:30px; height:35px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bdh-crouch 6s ease-in-out infinite alternate;
}
.scn-braddock-hour .hole-light-1 {
  position:absolute; bottom:48%; left:40%; width:8px; height:8px;
  background: radial-gradient(circle, #c0d0e0 0%, #8098b8 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 15px 5px rgba(192,208,224,0.4);
  animation: bdh-hole1 4s ease-in-out infinite alternate;
}
.scn-braddock-hour .hole-light-2 {
  position:absolute; bottom:52%; left:48%; width:6px; height:6px;
  background: radial-gradient(circle, #b0c0d8 0%, #7088a8 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 12px 3px rgba(176,192,216,0.4);
  animation: bdh-hole2 5s ease-in-out infinite alternate;
}
.scn-braddock-hour .hole-light-3 {
  position:absolute; bottom:45%; left:56%; width:7px; height:7px;
  background: radial-gradient(circle, #a8b8d0 0%, #6078a0 60%, transparent 80%);
  border-radius:50%;
  box-shadow: 0 0 14px 4px rgba(168,184,208,0.4);
  animation: bdh-hole3 4.5s ease-in-out infinite alternate-reverse;
}
.scn-braddock-hour .shadow {
  position:absolute; bottom:22%; left:30%; width:180px; height:25px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.8) 0%, transparent 70%);
  animation: bdh-shadow 10s ease-in-out infinite;
}
.scn-braddock-hour .case-lid {
  position:absolute; bottom:56%; left:35%; width:140px; height:15px;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 3% 3% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
  animation: bdh-lid 12s ease-in-out infinite alternate;
}
@keyframes bdh-interior { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes bdh-box { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.01); } 100% { transform: translateY(2px) scale(0.99); } }
@keyframes bdh-crouch { 0% { transform: translateY(0) scaleY(1) rotate(0deg); } 50% { transform: translateY(-2px) scaleY(1.03) rotate(2deg); } 100% { transform: translateY(1px) scaleY(0.97) rotate(-1deg); } }
@keyframes bdh-hole1 { 0% { opacity:0.5; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes bdh-hole2 { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.1); } 100% { opacity:0.5; transform: scale(0.85); } }
@keyframes bdh-hole3 { 0% { opacity:0.4; transform: scale(0.8); } 50% { opacity:0.8; transform: scale(1.15); } 100% { opacity:0.6; transform: scale(0.9); } }
@keyframes bdh-shadow { 0%,100% { transform: scaleX(1) translateX(0); opacity:0.7; } 50% { transform: scaleX(1.2) translateX(5px); opacity:1; } }
@keyframes bdh-lid { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(1px) rotate(-1deg); } }

/* hervey-leaves-card (tense dim-interior) */
.scn-hervey-leaves-card {
  background: linear-gradient(180deg, #1a1822 0%, #2a2430 50%, #3a3040 100%),
              radial-gradient(ellipse at 50% 100%, #3a3040 0%, transparent 70%);
}
.scn-hervey-leaves-card .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2c2638, #1e1a28);
}
.scn-hervey-leaves-card .desk {
  position: absolute; left: 10%; right: 10%; bottom: 10%; height: 20%;
  background: linear-gradient(180deg, #4a3a2a, #2a1e14);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.6);
}
.scn-hervey-leaves-card .lamp {
  position: absolute; left: 20%; bottom: 28%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a, #3a2a1a);
  border-radius: 4px 4px 0 0;
}
.scn-hervey-leaves-card .lamp::after {
  content: ''; position: absolute; top: -8px; left: -6px; width: 20px; height: 16px;
  background: radial-gradient(circle, #e0a050 0%, #a06020 60%);
  border-radius: 50%; box-shadow: 0 0 24px 6px #e0a050, 0 0 40px 12px rgba(224,160,80,.3);
  animation: hlc-lamp 1.5s ease-in-out infinite alternate;
}
.scn-hervey-leaves-card .card {
  position: absolute; left: 40%; bottom: 30%; width: 30px; height: 20px;
  background: #f5e8c8; border-radius: 2px; transform-origin: center center;
  box-shadow: 2px 2px 6px rgba(0,0,0,.4);
  animation: hlc-card 3s linear infinite;
}
.scn-hervey-leaves-card .figure {
  position: absolute; left: 60%; bottom: 15%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1620 0%, #0e0c14 100%);
  border-radius: 50% 50% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hlc-figure 4s ease-in-out infinite;
}
.scn-hervey-leaves-card .shadow {
  position: absolute; left: 55%; bottom: 10%; width: 60px; height: 8px;
  background: rgba(0,0,0,.5); border-radius: 50%; filter: blur(6px);
  animation: hlc-shadow 4s ease-in-out infinite;
}
.scn-hervey-leaves-card .letter {
  position: absolute; left: 15%; bottom: 12%; width: 12px; height: 8px;
  background: #d4c0a0; border-radius: 1px; transform: rotate(-10deg);
  box-shadow: 0 0 4px rgba(0,0,0,.3);
}
@keyframes hlc-lamp {
  0% { box-shadow: 0 0 20px 3px #e0a050, 0 0 35px 8px rgba(224,160,80,.2); opacity: .8; }
  50% { box-shadow: 0 0 30px 8px #f0b860, 0 0 50px 14px rgba(240,184,96,.4); opacity: 1; }
  100% { box-shadow: 0 0 18px 2px #d09040, 0 0 30px 6px rgba(208,144,64,.25); opacity: .85; }
}
@keyframes hlc-card {
  0% { transform: translateX(0) rotate(0deg); opacity: 1; }
  25% { transform: translateX(40px) rotate(15deg); opacity: 1; }
  50% { transform: translateX(80px) rotate(30deg); opacity: .9; }
  75% { transform: translateX(120px) rotate(45deg); opacity: .6; }
  100% { transform: translateX(160px) rotate(60deg); opacity: 0; }
}
@keyframes hlc-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 hlc-shadow {
  0% { transform: scaleX(1); opacity: .6; }
  50% { transform: scaleX(1.1); opacity: .4; }
  100% { transform: scaleX(1); opacity: .6; }
}

/* braddock-plots (tense dim-interior) */
.scn-braddock-plots {
  background: linear-gradient(180deg, #16121c 0%, #241e2c 50%, #32283e 100%),
              radial-gradient(ellipse at 30% 80%, #2a2234 0%, transparent 60%);
}
.scn-braddock-plots .backdrop {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1a2a, #14101e);
}
.scn-braddock-plots .desk {
  position: absolute; left: 15%; right: 15%; bottom: 8%; height: 24%;
  background: linear-gradient(180deg, #3a2e24, #1e1610);
  border-radius: 4px 4px 0 0; box-shadow: 0 -6px 14px rgba(0,0,0,.5);
}
.scn-braddock-plots .lamp {
  position: absolute; left: 25%; bottom: 30%; width: 12px; height: 36px;
  background: linear-gradient(180deg, #5a4a3a, #2a1e14);
  border-radius: 6px 6px 0 0;
}
.scn-braddock-plots .lamp::after {
  content: ''; position: absolute; top: -10px; left: -8px; width: 28px; height: 20px;
  background: radial-gradient(circle, #c08040 0%, #804020 60%);
  border-radius: 50%; box-shadow: 0 0 20px 5px #c08040, 0 0 40px 10px rgba(192,128,64,.3);
  animation: bp-lamp 2s ease-in-out infinite alternate;
}
.scn-braddock-plots .chair {
  position: absolute; left: 55%; bottom: 12%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a2218, #1a140e);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 2px 0 8px rgba(0,0,0,.4);
}
.scn-braddock-plots .figure {
  position: absolute; left: 55%; bottom: 20%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #18141e 0%, #0c0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bp-figure 5s ease-in-out infinite;
}
.scn-braddock-plots .papers {
  position: absolute; left: 20%; bottom: 12%; width: 60px; height: 8px;
  background: linear-gradient(90deg, #e8dcc8, #d4c4aa, #c0b098);
  border-radius: 2px; transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: bp-papers 8s linear infinite;
}
.scn-braddock-plots .clock {
  position: absolute; right: 12%; top: 20%; width: 24px; height: 24px;
  background: radial-gradient(circle, #e0c080, #806040);
  border-radius: 50%; border: 2px solid #4a3a2a;
  box-shadow: 0 0 10px rgba(0,0,0,.4);
}
.scn-braddock-plots .clock::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 2px; height: 8px;
  background: #1a1410; transform-origin: bottom center;
  animation: bp-clock 4s linear infinite;
}
@keyframes bp-lamp {
  0% { box-shadow: 0 0 16px 3px #c08040, 0 0 32px 8px rgba(192,128,64,.2); opacity: .85; }
  50% { box-shadow: 0 0 26px 7px #d09050, 0 0 48px 14px rgba(208,144,80,.4); opacity: 1; }
  100% { box-shadow: 0 0 14px 2px #b07030, 0 0 28px 6px rgba(176,112,48,.25); opacity: .8; }
}
@keyframes bp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(-3deg); }
  60% { transform: translateY(0) rotate(2deg); }
  100% { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes bp-papers {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(2deg) translateX(-4px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes bp-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* braddock-conciliates-lucy (warm dim-interior) */
.scn-braddock-conciliates-lucy {
  background: linear-gradient(180deg, #1c1410 0%, #2a1e18 50%, #3c2820 100%),
              radial-gradient(ellipse at 80% 90%, #4a3020 0%, transparent 60%);
}
.scn-braddock-conciliates-lucy .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1e18, #1c1410);
}
.scn-braddock-conciliates-lucy .fireplace {
  position: absolute; left: 50%; bottom: 20%; width: 120px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3a2a, #3a2218);
  border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.scn-braddock-conciliates-lucy .fire {
  position: absolute; left: 50%; bottom: 25%; width: 40px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 50% 60%, #ffa040 0%, #c06020 50%, #803010 100%);
  border-radius: 50%; filter: blur(2px);
  box-shadow: 0 0 30px 10px #ffa040, 0 0 60px 20px rgba(255,160,64,.3);
  animation: bcl-fire 2s ease-in-out infinite alternate;
}
.scn-braddock-conciliates-lucy .chair-left {
  position: absolute; left: 10%; bottom: 15%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #3a2a1e, #221612);
  border-radius: 20% 20% 30% 30% / 30% 30% 40% 40%;
  box-shadow: -2px 0 6px rgba(0,0,0,.4);
}
.scn-braddock-conciliates-lucy .chair-right {
  position: absolute; right: 10%; bottom: 15%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #3a2a1e, #221612);
  border-radius: 20% 20% 30% 30% / 30% 30% 40% 40%;
  box-shadow: 2px 0 6px rgba(0,0,0,.4);
}
.scn-braddock-conciliates-lucy .figure-left {
  position: absolute; left: 12%; bottom: 20%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcl-figure-l 6s ease-in-out infinite;
}
.scn-braddock-conciliates-lucy .figure-right {
  position: absolute; right: 12%; bottom: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcl-figure-r 5s ease-in-out infinite;
}
.scn-braddock-conciliates-lucy .rug {
  position: absolute; left: 5%; right: 5%; bottom: 8%; height: 12%;
  background: linear-gradient(90deg, #5a3a2a, #4a2e1e, #5a3a2a);
  border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%;
  opacity: .6;
}
@keyframes bcl-fire {
  0% { transform: translateX(-50%) scaleX(1) scaleY(1); opacity: .9; box-shadow: 0 0 25px 8px #ffa040, 0 0 50px 15px rgba(255,160,64,.25); }
  50% { transform: translateX(-50%) scaleX(1.05) scaleY(1.1); opacity: 1; box-shadow: 0 0 35px 12px #ffb860, 0 0 70px 25px rgba(255,184,96,.35); }
  100% { transform: translateX(-50%) scaleX(.95) scaleY(.9); opacity: .85; box-shadow: 0 0 20px 5px #e08020, 0 0 40px 10px rgba(224,128,32,.2); }
}
@keyframes bcl-figure-l {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(2deg); }
  60% { transform: translateY(0) rotate(-1deg); }
  100% { transform: translateY(-1px) rotate(0deg); }
}
@keyframes bcl-figure-r {
  0% { transform: translateY(0) rotate(0deg); }
  40% { transform: translateY(-2px) rotate(-2deg); }
  80% { transform: translateY(0) rotate(1deg); }
  100% { transform: translateY(-1px) rotate(0deg); }
}

/* lucy-resists (tense dim-interior) */
.scn-lucy-resists {
  background: linear-gradient(180deg, #14101a 0%, #221c2e 50%, #2e2438 100%),
              radial-gradient(ellipse at 60% 80%, #2e2438 0%, transparent 60%);
}
.scn-lucy-resists .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1a26, #14101a);
}
.scn-lucy-resists .table {
  position: absolute; left: 20%; right: 20%; bottom: 12%; height: 18%;
  background: linear-gradient(180deg, #3a3028, #1e1812);
  border-radius: 6px 6px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,.5);
}
.scn-lucy-resists .lamp {
  position: absolute; left: 50%; bottom: 28%; width: 10px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a, #3a2a1a);
  border-radius: 4px 4px 0 0;
}
.scn-lucy-resists .lamp::after {
  content: ''; position: absolute; top: -8px; left: -8px; width: 26px; height: 18px;
  background: radial-gradient(circle, #d0a058 0%, #906038 60%);
  border-radius: 50%; box-shadow: 0 0 22px 5px #d0a058, 0 0 40px 10px rgba(208,160,88,.3);
  animation: lr-lamp 1.8s ease-in-out infinite alternate;
}
.scn-lucy-resists .figure-left {
  position: absolute; left: 30%; bottom: 16%; width: 26px; height: 65px;
  background: linear-gradient(180deg, #14101c 0%, #0a0a12 100%);
  border-radius: 50% 50% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lr-figure-l 4s ease-in-out infinite;
}
.scn-lucy-resists .figure-right {
  position: absolute; right: 30%; bottom: 16%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #14101c 0%, #0a0a12 100%);
  border-radius: 50% 50% 35% 35% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lr-figure-r 5s ease-in-out infinite;
}
.scn-lucy-resists .carpet {
  position: absolute; left: 10%; right: 10%; bottom: 6%; height: 8%;
  background: linear-gradient(90deg, #2a221a, #1e1812);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  opacity: .5;
}
.scn-lucy-resists .picture {
  position: absolute; right: 15%; top: 12%; width: 36px; height: 48px;
  background: linear-gradient(180deg, #3a2e24, #221a14);
  border: 2px solid #4a3a2a; border-radius: 4px;
  box-shadow: 0 0 8px rgba(0,0,0,.4);
}
.scn-lucy-resists .picture::after {
  content: ''; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px;
  background: radial-gradient(ellipse at 50% 40%, #5a4a3a 0%, #2a1e14 100%);
  border-radius: 2px;
}
@keyframes lr-lamp {
  0% { box-shadow: 0 0 16px 3px #d0a058, 0 0 32px 8px rgba(208,160,88,.2); opacity: .8; }
  50% { box-shadow: 0 0 28px 8px #e0b070, 0 0 52px 16px rgba(224,176,112,.4); opacity: 1; }
  100% { box-shadow: 0 0 14px 2px #c09048, 0 0 28px 6px rgba(192,144,72,.25); opacity: .85; }
}
@keyframes lr-figure-l {
  0% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-3px) rotate(-3deg); }
  40% { transform: translateY(0) rotate(2deg); }
  60% { transform: translateY(-2px) rotate(-1deg); }
  80% { transform: translateY(0) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes lr-figure-r {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(2deg); }
  60% { transform: translateY(0) rotate(-2deg); }
  100% { transform: translateY(-1px) rotate(0deg); }
}

/* inca-mummy-discussion */
.scn-inca-mummy-discussion {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0e05 100%),
              radial-gradient(ellipse at 60% 30%, #5a3a1a 0%, transparent 50%);
}
.scn-inca-mummy-discussion .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  opacity: 0.7; animation: im-sky 20s ease-in-out infinite;
}
.scn-inca-mummy-discussion .bookshelf {
  position: absolute; bottom: 25%; left: 10%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  animation: im-breathe 8s ease-in-out infinite;
}
.scn-inca-mummy-discussion .desk {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 18%;
  background: linear-gradient(135deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 6px; box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  animation: im-shimmer 12s ease-in-out infinite;
}
.scn-inca-mummy-discussion .professor {
  position: absolute; bottom: 28%; left: 25%; width: 20%; height: 30%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #2a1a0a 0%, #1a0e05 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: im-bow 9s ease-in-out infinite;
}
.scn-inca-mummy-discussion .mummy {
  position: absolute; bottom: 12%; left: 70%; width: 14%; height: 22%;
  background: linear-gradient(90deg, #8a7a6a 0%, #6a5a4a 50%, #8a7a6a 100%);
  border-radius: 15% 15% 30% 30% / 10% 10% 20% 20%;
  box-shadow: inset 0 0 12px rgba(0,0,0,0.4);
  animation: im-rock 15s ease-in-out infinite;
}
.scn-inca-mummy-discussion .lamp-glow {
  position: absolute; bottom: 55%; left: 8%; width: 12%; height: 18%;
  background: radial-gradient(ellipse, #c8a060 0%, rgba(200,160,96,0.3) 60%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: im-flicker 3s ease-in-out infinite alternate;
}
.scn-inca-mummy-discussion .rug {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 10%;
  background: linear-gradient(90deg, #4a2a1a 0%, #5a3a2a 20%, #4a2a1a 40%, #5a3a2a 60%, #4a2a1a 100%);
  border-radius: 30% 30% 0 0;
  opacity: 0.5; animation: im-sway 25s ease-in-out infinite;
}
@keyframes im-sky { 0%,100% { opacity:0.6; } 50% { opacity:0.8; } }
@keyframes im-breathe { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } }
@keyframes im-shimmer { 0%,100% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } }
@keyframes im-bow { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 70% { transform: translateY(1px) rotate(-1deg); } }
@keyframes im-rock { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 75% { transform: rotate(-1deg); } }
@keyframes im-flicker { 0% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes im-sway { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }

/* atlantis-theory */
.scn-atlantis-theory {
  background: linear-gradient(135deg, #0a0a1e 0%, #1a1a3e 50%, #0a0a2e 100%),
              radial-gradient(circle at 70% 30%, #2a2a4a 0%, transparent 60%);
}
.scn-atlantis-theory .bg-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #0a0a1e 0%, #1a1a2a 100%);
  opacity: 0.8; animation: at-depth 25s ease-in-out infinite;
}
.scn-atlantis-theory .map-table {
  position: absolute; bottom: 10%; left: 5%; width: 90%; height: 15%;
  background: linear-gradient(160deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 8px; box-shadow: inset 0 4px 12px rgba(0,0,255,0.2);
  animation: at-shake 4s ease-in-out infinite alternate;
}
.scn-atlantis-theory .globe {
  position: absolute; bottom: 25%; left: 30%; width: 20%; height: 18%;
  background: radial-gradient(ellipse at 50% 40%, #3a5a7a 0%, #1a2a4a 100%);
  border-radius: 50%; box-shadow: 0 0 20px rgba(0,100,200,0.3);
  animation: at-spin 12s linear infinite;
}
.scn-atlantis-theory .finger-pointing {
  position: absolute; bottom: 22%; left: 55%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  transform-origin: bottom center;
  animation: at-point 3s ease-in-out infinite alternate;
}
.scn-atlantis-theory .shadow-cursor {
  position: absolute; bottom: 16%; left: 55%; width: 6%; height: 6%;
  background: #4a6a8a; border-radius: 50%;
  filter: blur(4px); opacity: 0.5;
  animation: at-cursor 2.5s ease-in-out infinite;
}
.scn-atlantis-theory .lantern-cone {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 10%;
  background: linear-gradient(135deg, rgba(200,200,150,0.2) 0%, rgba(200,200,150,0.05) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 70% 100%, 30% 100%);
  animation: at-sweep 8s ease-in-out infinite alternate;
}
@keyframes at-depth { 0%,100% { opacity:0.7; } 50% { opacity:0.9; } }
@keyframes at-shake { 0% { transform: translateX(0); } 25% { transform: translateX(-1px); } 75% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes at-spin { 0% { transform: rotateZ(0deg); } 25% { transform: rotateZ(90deg); } 50% { transform: rotateZ(180deg); } 75% { transform: rotateZ(270deg); } 100% { transform: rotateZ(360deg); } }
@keyframes at-point { 0% { transform: rotate(-5deg) translate(0,0); } 50% { transform: rotate(5deg) translate(3px,-2px); } 100% { transform: rotate(-5deg) translate(0,0); } }
@keyframes at-cursor { 0%,100% { opacity:0.3; transform: scale(0.8); } 50% { opacity:0.7; transform: scale(1.2); } }
@keyframes at-sweep { 0% { transform: rotate(-15deg) translate(-10px,0); } 100% { transform: rotate(15deg) translate(10px,0); } }

/* dinner-announced */
.scn-dinner-announced {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a1a 40%, #4a2a0a 100%),
              radial-gradient(ellipse at 50% 15%, #e0a040 0%, transparent 70%);
}
.scn-dinner-announced .dining-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  animation: da-warm 15s ease-in-out infinite alternate;
}
.scn-dinner-announced .table {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
  animation: da-lift 10s ease-in-out infinite;
}
.scn-dinner-announced .figure-lucy {
  position: absolute; bottom: 27%; left: 18%; width: 16%; height: 28%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: da-turn 8s ease-in-out infinite;
}
.scn-dinner-announced .figure-archie {
  position: absolute; bottom: 25%; left: 45%; width: 14%; height: 30%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: da-bow 6s ease-in-out infinite alternate;
}
.scn-dinner-announced .figure-jasher {
  position: absolute; bottom: 28%; left: 70%; width: 18%; height: 25%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a2a1a 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: da-reach 9s ease-in-out infinite;
}
.scn-dinner-announced .candle-1 {
  position: absolute; bottom: 35%; left: 30%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #e0c080 0%, #c09050 60%, transparent 100%);
  border-radius: 30% 30% 10% 10%;
  animation: da-flicker 2s ease-in-out infinite alternate;
}
.scn-dinner-announced .candle-2 {
  position: absolute; bottom: 35%; left: 55%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #e0c080 0%, #c09050 60%, transparent 100%);
  border-radius: 30% 30% 10% 10%;
  animation: da-flicker 2.5s ease-in-out infinite alternate-reverse;
}
.scn-dinner-announced .plates {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 6%;
  background: radial-gradient(ellipse, #b08040 0%, #a07030 50%, #705020 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: da-glimmer 14s ease-in-out infinite;
}
@keyframes da-warm { 0%,100% { opacity:0.7; } 50% { opacity:0.9; } }
@keyframes da-lift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes da-turn { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(3deg); } 75% { transform: rotate(-3deg); } }
@keyframes da-bow { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes da-reach { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(5px) rotate(2deg); } 70% { transform: translateX(-5px) rotate(-2deg); } }
@keyframes da-flicker { 0% { opacity:0.6; transform: scaleY(0.9); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.7; transform: scaleY(0.95); } }
@keyframes da-glimmer { 0%,100% { opacity:0.5; } 50% { opacity:0.8; } }

/* cockatoo-description */
.scn-cockatoo-description {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a0a0a 40%, #0a0505 100%),
              radial-gradient(ellipse at 50% 40%, #2a1a0a 0%, transparent 60%);
}
.scn-cockatoo-description .dark-room {
  position: absolute; inset: 0;
  background: radial-gradient(circle, #1a0a0a 0%, #0a0505 100%);
  animation: cd-pulse 15s ease-in-out infinite alternate;
}
.scn-cockatoo-description .figure-hair {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 45%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #2a1a0a 0%, #1a0e05 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: cd-sway 8s ease-in-out infinite;
}
.scn-cockatoo-description .hair-halo {
  position: absolute; top: 15%; left: 30%; width: 40%; height: 35%;
  background: radial-gradient(circle, #d0a030 0%, #c08020 30%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: cd-glow 4s ease-in-out infinite alternate;
}
.scn-cockatoo-description .hair-halo.glows {
  box-shadow: 0 0 40px #d0a030, 0 0 80px rgba(208,160,48,0.5);
}
.scn-cockatoo-description .sun-ray {
  position: absolute; top: 0; left: 0; width: 100%; height: 60%;
  background: linear-gradient(135deg, rgba(208,160,48,0.1) 0%, transparent 50%);
  clip-path: polygon(40% 0%, 60% 0%, 55% 100%, 45% 100%);
  animation: cd-ray 10s ease-in-out infinite alternate;
}
.scn-cockatoo-description .sun-ray.ray-1 {
  background: linear-gradient(135deg, rgba(208,160,48,0.15) 0%, transparent 50%);
  clip-path: polygon(20% 0%, 30% 0%, 35% 100%, 25% 100%);
  animation: cd-ray 12s ease-in-out infinite alternate-reverse;
}
.scn-cockatoo-description .sun-ray.ray-2 {
  background: linear-gradient(135deg, rgba(208,160,48,0.12) 0%, transparent 50%);
  clip-path: polygon(70% 0%, 80% 0%, 75% 100%, 65% 100%);
  animation: cd-ray 14s ease-in-out infinite alternate;
}
.scn-cockatoo-description .spotlight {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,200,80,0.08) 0%, transparent 80%);
  clip-path: polygon(40% 0%, 60% 0%, 70% 100%, 30% 100%);
  animation: cd-spot 6s ease-in-out infinite alternate;
}
.scn-cockatoo-description .floor-shadow {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: cd-shadow 9s ease-in-out infinite;
}
@keyframes cd-pulse { 0%,100% { opacity:0.9; } 50% { opacity:0.7; } }
@keyframes cd-sway { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-1px); } 75% { transform: rotate(-2deg) translateY(1px); } }
@keyframes cd-glow { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes cd-ray { 0% { transform: rotate(0deg) scaleY(0.8); } 50% { transform: rotate(5deg) scaleY(1); } 100% { transform: rotate(-5deg) scaleY(0.9); } }
@keyframes cd-spot { 0% { transform: translateX(-5px); } 50% { transform: translateX(5px); } 100% { transform: translateX(-5px); } }
@keyframes cd-shadow { 0%,100% { transform: scaleX(0.9); } 50% { transform: scaleX(1.1); } }

/* ===== Scene: hope-stands-guard (moonlit, tense) ===== */
.scn-hope-stands-guard {
  background: 
    linear-gradient(180deg, #0f1724 0%, #1a2840 40%, #1c2f4a 100%),
    radial-gradient(ellipse at 30% 80%, #2a4060 0%, transparent 70%);
}
.scn-hope-stands-guard .moon {
  position: absolute;
  top: 8%; right: 20%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, #d0e4f0 0%, #b0c8e0 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 40px rgba(180,210,240,0.25);
  animation: hsg-moon 20s ease-in-out infinite alternate;
}
.scn-hope-stands-guard .moonlight-beam {
  position: absolute;
  top: 10%; left: 55%;
  width: 300px; height: 500px;
  background: linear-gradient(135deg, rgba(200,220,250,0.15) 0%, transparent 70%);
  clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%);
  opacity: 0.6;
  animation: hsg-beam 15s ease-in-out infinite alternate;
}
.scn-hope-stands-guard .mummy-case {
  position: absolute;
  bottom: 20%; left: 50%;
  width: 90px; height: 180px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2c1a 0%, #1e1408 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7), inset 0 2px 4px rgba(255,255,200,0.1);
  animation: hsg-case 6s ease-in-out infinite;
}
.scn-hope-stands-guard .guard {
  position: absolute;
  bottom: 18%; left: 35%;
  width: 30px; height: 100px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a14 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: hsg-guard 4s ease-in-out infinite;
}
.scn-hope-stands-guard .cigarette-glow {
  position: absolute;
  bottom: 32%; left: 37%;
  width: 5px; height: 5px;
  background: radial-gradient(circle, #ffb060 0%, #f08020 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(255,176,96,0.5), 0 0 24px 12px rgba(255,176,96,0.2);
  animation: hsg-glow 2s ease-in-out infinite alternate;
}
.scn-hope-stands-guard .smoke {
  position: absolute;
  width: 20px; height: 30px;
  background: radial-gradient(ellipse, rgba(220,230,240,0.25) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  opacity: 0.5;
}
.scn-hope-stands-guard .smoke1 {
  bottom: 34%; left: 38%;
  animation: hsg-smoke1 7s ease-in-out infinite;
}
.scn-hope-stands-guard .smoke2 {
  bottom: 36%; left: 40%;
  animation: hsg-smoke2 9s ease-in-out infinite;
  animation-delay: -3s;
}
.scn-hope-stands-guard .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 100%);
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.6);
}
.scn-hope-stands-guard .wall-shadow {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 18%;
  background: linear-gradient(135deg, rgba(0,0,0,0.3) 0%, transparent 50%);
  animation: hsg-wall 12s ease-in-out infinite alternate;
}
@keyframes hsg-moon { 0% { transform: translate(0,0); opacity:0.9 } 50% { transform: translate(5px,-3px); opacity:1 } 100% { transform: translate(-3px,2px); opacity:0.85 } }
@keyframes hsg-beam { 0% { opacity:0.4; transform: skewX(-2deg) } 50% { opacity:0.7; transform: skewX(1deg) } 100% { opacity:0.5; transform: skewX(-3deg) } }
@keyframes hsg-case { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } }
@keyframes hsg-guard { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(1px) rotate(-0.5deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hsg-glow { 0% { opacity:0.6; transform: scale(0.8); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.8; transform: scale(0.9); } }
@keyframes hsg-smoke1 { 0% { transform: translate(0,0) scale(1); opacity:0.4; } 50% { transform: translate(8px,-20px) scale(1.5); opacity:0.2; } 100% { transform: translate(15px,-40px) scale(0.8); opacity:0; } }
@keyframes hsg-smoke2 { 0% { transform: translate(0,0) scale(1); opacity:0.3; } 50% { transform: translate(-5px,-15px) scale(1.3); opacity:0.15; } 100% { transform: translate(-12px,-35px) scale(0.6); opacity:0; } }
@keyframes hsg-wall { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.4; } }

/* ===== Scene: professor-arrives-to-claim (moonlit marsh) ===== */
.scn-professor-arrives-to-claim {
  background: 
    linear-gradient(180deg, #0e1a28 0%, #142538 50%, #1a3040 100%),
    radial-gradient(ellipse at 80% 20%, #1c4050 0%, transparent 70%);
}
.scn-professor-arrives-to-claim .sky-marshy {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0d1a28 0%, #162a3a 100%);
  animation: pac-sky 25s ease-in-out infinite alternate;
}
.scn-professor-arrives-to-claim .moon-marshy {
  position: absolute; top: 6%; left: 70%;
  width: 70px; height: 70px;
  background: radial-gradient(circle, #d0dcf0 0%, #a0b8d0 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px 30px rgba(180,200,230,0.2);
  animation: pac-moon 18s ease-in-out infinite alternate;
}
.scn-professor-arrives-to-claim .marsh-bg {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a2a22 0%, #0e1a12 100%);
  border-radius: 70% 30% 0 0 / 40% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: pac-marsh 12s ease-in-out infinite;
}
.scn-professor-arrives-to-claim .causeway {
  position: absolute; bottom: 20%; left: 10%; right: 20%; height: 10%;
  background: linear-gradient(90deg, #1a2015 0%, #2a3420 50%, #1a2015 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 -4px 6px rgba(0,0,0,0.4);
  animation: pac-causeway 8s ease-in-out infinite alternate;
}
.scn-professor-arrives-to-claim .braddock-running {
  position: absolute; bottom: 18%; left: 25%;
  width: 25px; height: 70px;
  background: linear-gradient(180deg, #0a0a16 0%, #15152a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: pac-run1 1s steps(2) infinite;
}
.scn-professor-arrives-to-claim .cockatoo-running {
  position: absolute; bottom: 17%; left: 45%;
  width: 20px; height: 60px;
  background: linear-gradient(180deg, #12121e 0%, #1c1c2e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: pac-run2 1.2s steps(2) infinite;
  animation-delay: -0.6s;
}
.scn-professor-arrives-to-claim .distant-figures {
  position: absolute; bottom: 22%; left: 60%;
  width: 50px; height: 100px;
  background: radial-gradient(ellipse, rgba(20,30,40,0.5) 0%, transparent 70%);
  filter: blur(4px);
  opacity: 0.5;
  animation: pac-distant 20s ease-in-out infinite;
}
.scn-professor-arrives-to-claim .reeds {
  position: absolute; bottom: 28%; width: 20px; height: 120px;
  background: linear-gradient(180deg, #0a1a0a 0%, #1a2a1a 100%);
  border-radius: 0 0 40% 40%;
  transform-origin: bottom center;
}
.scn-professor-arrives-to-claim .reeds-left { left: 5%; animation: pac-reed 4s ease-in-out infinite; }
.scn-professor-arrives-to-claim .reeds-right { right: 8%; animation: pac-reed 4.5s ease-in-out infinite reverse; }
@keyframes pac-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes pac-moon { 0% { transform: translate(0,0); box-shadow: 0 0 40px 20px rgba(180,200,230,0.15) } 50% { transform: translate(4px,-2px); box-shadow: 0 0 60px 30px rgba(180,200,230,0.3) } 100% { transform: translate(-2px,1px); box-shadow: 0 0 45px 25px rgba(180,200,230,0.2) } }
@keyframes pac-marsh { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(1px) } }
@keyframes pac-causeway { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes pac-run1 { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-5px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes pac-run2 { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-4px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes pac-distant { 0% { opacity:0.3; transform: scale(1) } 50% { opacity:0.6; transform: scale(1.05) } 100% { opacity:0.4; transform: scale(0.95) } }
@keyframes pac-reed { 0% { transform: rotate(-5deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(-6deg) } 75% { transform: rotate(3deg) } 100% { transform: rotate(-5deg) } }

/* ===== Scene: professor-claims-mummy (moonlit interior) ===== */
.scn-professor-claims-mummy {
  background: 
    linear-gradient(180deg, #0f1a24 0%, #1c2a36 40%, #1a2430 100%),
    radial-gradient(ellipse at 50% 100%, #2a3a4a 0%, transparent 70%);
}
.scn-professor-claims-mummy .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #141e28 0%, #0a1218 100%);
  animation: pcm-room 15s ease-in-out infinite alternate;
}
.scn-professor-claims-mummy .mummy-case-center {
  position: absolute; bottom: 20%; left: 50%;
  width: 100px; height: 200px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1c08 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.7), inset 0 2px 6px rgba(200,180,120,0.2);
  animation: pcm-case 8s ease-in-out infinite;
}
.scn-professor-claims-mummy .braddock-silhouette {
  position: absolute; bottom: 15%; left: 30%;
  width: 40px; height: 120px;
  background: linear-gradient(180deg, #0a0a14 0%, #14142a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(5deg);
  animation: pcm-braddock 4s ease-in-out infinite;
}
.scn-professor-claims-mummy .jasher-silhouette {
  position: absolute; bottom: 18%; right: 28%;
  width: 35px; height: 110px;
  background: linear-gradient(180deg, #121224 0%, #1c1c32 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-3deg);
  animation: pcm-jasher 5s ease-in-out infinite;
}
.scn-professor-claims-mummy .lamp-glow {
  position: absolute; bottom: 25%; left: 50%;
  width: 12px; height: 12px;
  background: radial-gradient(circle, #f0d080 0%, #b09040 60%, transparent 75%);
  border-radius: 50%;
  box-shadow: 0 0 30px 20px rgba(200,160,80,0.3), 0 0 60px 40px rgba(200,160,80,0.1);
  animation: pcm-lamp 3s ease-in-out infinite alternate;
}
.scn-professor-claims-mummy .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.8);
}
.scn-professor-claims-mummy .archway {
  position: absolute; top: 0; left: 50%; width: 120px; height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent 0%, rgba(10,15,20,0.4) 100%);
  border: 2px solid rgba(30,40,50,0.3);
  border-top: none;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  animation: pcm-arch 20s ease-in-out infinite alternate;
}
@keyframes pcm-room { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes pcm-case { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-5px); } }
@keyframes pcm-braddock { 0% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-3px) rotate(7deg); } 100% { transform: translateY(0) rotate(5deg); } }
@keyframes pcm-jasher { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(-5deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes pcm-lamp { 0% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.3); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes pcm-arch { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.3; } }

/* ===== Scene: accusation-and-faint (moonlit confrontation) ===== */
.scn-accusation-and-faint {
  background: 
    linear-gradient(180deg, #121c28 0%, #1a2838 40%, #1c2e3c 100%),
    radial-gradient(ellipse at 70% 30%, #2a4050 0%, transparent 70%);
}
.scn-accusation-and-faint .dark-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #101820 0%, #080e14 100%);
  animation: aaf-room 14s ease-in-out infinite alternate;
}
.scn-accusation-and-faint .jasher-figure {
  position: absolute; bottom: 18%; left: 35%;
  width: 40px; height: 120px;
  background: linear-gradient(180deg, #1a1428 0%, #0a0a14 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
  animation: aaf-jasher 4s ease-in-out infinite;
}
.scn-accusation-and-faint .hope-figure {
  position: absolute; bottom: 20%; left: 55%;
  width: 35px; height: 110px;
  background: linear-gradient(180deg, #0a0a16 0%, #14142a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(2deg);
  animation: aaf-hope 6s ease-in-out infinite;
}
.scn-accusation-and-faint .door-frame {
  position: absolute; top: 0; right: 10%; width: 80px; height: 100%;
  background: linear-gradient(180deg, #1a221a 0%, #0e140e 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: aaf-door 15s ease-in-out infinite alternate;
}
.scn-accusation-and-faint .sliver-moonlight {
  position: absolute; top: 20%; right: 12%;
  width: 15px; height: 300px;
  background: linear-gradient(180deg, rgba(200,220,250,0.2) 0%, transparent 100%);
  filter: blur(6px);
  opacity: 0.5;
  animation: aaf-sliver 12s ease-in-out infinite alternate;
}
.scn-accusation-and-faint .shadow-jasher {
  position: absolute; bottom: 0; left: 30%;
  width: 60px; height: 20px;
  background: rgba(0,0,0,0.3);
  filter: blur(8px);
  border-radius: 50%;
  animation: aaf-shad-j 4s ease-in-out infinite;
}
.scn-accusation-and-faint .shadow-hope {
  position: absolute; bottom: 0; left: 52%;
  width: 50px; height: 18px;
  background: rgba(0,0,0,0.2);
  filter: blur(6px);
  border-radius: 50%;
  animation: aaf-shad-h 6s ease-in-out infinite;
}
.scn-accusation-and-faint .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 60% 40%, rgba(200,210,230,0.05) 0%, transparent 60%);
  animation: aaf-dust 18s linear infinite;
}
@keyframes aaf-room { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes aaf-jasher { 0% { transform: translateY(0) rotate(-5deg) scaleY(1); } 50% { transform: translateY(-5px) rotate(-7deg) scaleY(1.02); } 100% { transform: translateY(0) rotate(-5deg) scaleY(1); } }
@keyframes aaf-hope { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-3px) rotate(4deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes aaf-door { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes aaf-sliver { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.5); } 100% { opacity:0.4; transform: scaleX(0.8); } }
@keyframes aaf-shad-j { 0% { transform: scaleX(1); opacity:0.4; } 50% { transform: scaleX(1.2); opacity:0.6; } 100% { transform: scaleX(1); opacity:0.4; } }
@keyframes aaf-shad-h { 0% { transform: scaleX(1); opacity:0.3; } 50% { transform: scaleX(0.8); opacity:0.5; } 100% { transform: scaleX(1); opacity:0.3; } }
@keyframes aaf-dust { 0% { background-position: 0% 0%; } 50% { background-position: 50% 50%; } 100% { background-position: 100% 100%; } }

/* manuscript-revealed */
.scn-manuscript-revealed {
  background: 
    linear-gradient(180deg, #1a1210 0%, #2a1a10 40%, #1e1412 100%),
    radial-gradient(ellipse at 60% 40%, #3a2a1a 0%, transparent 60%);
}
.scn-manuscript-revealed .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(180,120,60,.05) 0%, transparent 50%, rgba(60,30,10,.2) 100%);
  animation: mr-bg 6s ease-in-out infinite alternate;
}
.scn-manuscript-revealed .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(0deg, rgba(0,0,0,.8) 0%, transparent 100%);
  animation: mr-shadow 4s ease-in-out infinite alternate;
}
.scn-manuscript-revealed .table {
  position: absolute; bottom: 10%; left: 10%; right: 50%; height: 15%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4px; box-shadow: inset 0 4px 12px rgba(0,0,0,.6);
  transform: perspective(400px) rotateX(10deg);
  animation: mr-table 7s ease-in-out infinite alternate;
}
.scn-manuscript-revealed .hand {
  position: absolute; bottom: 25%; left: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #5a4030, #3a2820);
  border-radius: 50% 30% 40% 40% / 60% 50% 50% 50%;
  transform-origin: bottom center;
  animation: mr-hand 3s ease-in-out infinite;
}
.scn-manuscript-revealed .parchment {
  position: absolute; bottom: 30%; left: 25%; width: 70px; height: 50px;
  background: linear-gradient(135deg, #c8a870 0%, #a88448 50%, #8a6830 100%);
  border-radius: 4px 8px 8px 4px;
  box-shadow: 0 0 20px 8px rgba(200,168,112,.5), inset 0 0 10px rgba(0,0,0,.2);
  transform: rotate(-8deg);
  animation: mr-parchment 5s ease-in-out infinite alternate;
}
.scn-manuscript-revealed .glow-spot {
  position: absolute; bottom: 40%; left: 25%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(255,200,100,.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: mr-glow 2s ease-in-out infinite alternate;
}
.scn-manuscript-revealed .flicker-1 {
  position: absolute; top: 20%; left: 30%; width: 20px; height: 40px;
  background: linear-gradient(180deg, rgba(255,180,60,.5), transparent);
  border-radius: 50%;
  filter: blur(8px);
  animation: mr-flicker1 1.5s ease-in-out infinite;
}
.scn-manuscript-revealed .flicker-2 {
  position: absolute; top: 15%; right: 20%; width: 30px; height: 60px;
  background: linear-gradient(180deg, rgba(255,160,40,.4), transparent);
  border-radius: 50%;
  filter: blur(12px);
  animation: mr-flicker2 2s ease-in-out infinite reverse;
}
@keyframes mr-bg { 0%{opacity:.6} 50%{opacity:1} 100%{opacity:.7} }
@keyframes mr-shadow { 0%{opacity:.8} 50%{opacity:1} 100%{opacity:.7} }
@keyframes mr-table { 0%{transform:perspective(400px) rotateX(8deg) scaleY(1)} 50%{transform:perspective(400px) rotateX(12deg) scaleY(1.02)} 100%{transform:perspective(400px) rotateX(8deg) scaleY(1)} }
@keyframes mr-hand { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-2px) rotate(-3deg)} 50%{transform:translateY(0) rotate(2deg)} 75%{transform:translateY(-1px) rotate(-1deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes mr-parchment { 0%{transform:rotate(-8deg) translateY(0)} 50%{transform:rotate(-6deg) translateY(-2px)} 100%{transform:rotate(-8deg) translateY(0)} }
@keyframes mr-glow { 0%{opacity:.7;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} 100%{opacity:.8;transform:scale(.95)} }
@keyframes mr-flicker1 { 0%{opacity:.3;transform:scaleY(1)} 30%{opacity:.6;transform:scaleY(1.3)} 60%{opacity:.4;transform:scaleY(.8)} 100%{opacity:.3;transform:scaleY(1)} }
@keyframes mr-flicker2 { 0%{opacity:.2;transform:scaleY(1) translateX(0)} 50%{opacity:.5;transform:scaleY(1.4) translateX(10px)} 100%{opacity:.2;transform:scaleY(1) translateX(0)} }

/* manuscript-and-ancestry */
.scn-manuscript-and-ancestry {
  background:
    linear-gradient(180deg, #1a1412 0%, #2a1e18 40%, #1e1614 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a20 0%, transparent 70%);
}
.scn-manuscript-and-ancestry .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(100,60,30,.08) 0%, transparent 60%, rgba(40,20,10,.15) 100%);
  animation: ma-bg 8s ease-in-out infinite alternate;
}
.scn-manuscript-and-ancestry .frame {
  position: absolute; top: 10%; left: 20%; right: 20%; bottom: 20%;
  border: 4px solid #6a5040;
  border-radius: 10px;
  background: linear-gradient(180deg, #2a221c 0%, #1e1612 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,.7), 0 0 20px rgba(100,60,30,.4);
  animation: ma-frame 6s ease-in-out infinite alternate;
}
.scn-manuscript-and-ancestry .figure-left {
  position: absolute; bottom: 18%; left: 15%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #4a3830 0%, #2a1e18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ma-figureL 4s ease-in-out infinite;
}
.scn-manuscript-and-ancestry .figure-right {
  position: absolute; bottom: 18%; right: 15%; width: 45px; height: 85px;
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ma-figureR 4.5s ease-in-out infinite;
}
.scn-manuscript-and-ancestry .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 6px;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.5);
  animation: ma-desk 7s ease-in-out infinite alternate;
}
.scn-manuscript-and-ancestry .candle {
  position: absolute; bottom: 25%; left: 48%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a870 100%);
  border-radius: 2px;
  animation: ma-candle 3s ease-in-out infinite alternate;
}
.scn-manuscript-and-ancestry .candle-glow {
  position: absolute; bottom: 25%; left: 47%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(255,200,100,.5) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(12px);
  animation: ma-cglow 2s ease-in-out infinite alternate;
}
.scn-manuscript-and-ancestry .dust {
  position: absolute; top: 20%; left: 10%; width: 18px; height: 18px;
  background: radial-gradient(circle, rgba(200,180,150,.3), transparent);
  border-radius: 50%;
  filter: blur(4px);
  animation: ma-dust 12s linear infinite;
}
@keyframes ma-bg { 0%{opacity:.7} 50%{opacity:1} 100%{opacity:.8} }
@keyframes ma-frame { 0%{box-shadow:inset 0 0 20px rgba(0,0,0,.6), 0 0 15px rgba(100,60,30,.3)} 50%{box-shadow:inset 0 0 40px rgba(0,0,0,.8), 0 0 30px rgba(100,60,30,.5)} 100%{box-shadow:inset 0 0 20px rgba(0,0,0,.6), 0 0 15px rgba(100,60,30,.3)} }
@keyframes ma-figureL { 0%{transform:translateY(0) rotate(-1deg)} 25%{transform:translateY(-3px) rotate(2deg)} 50%{transform:translateY(-1px) rotate(0)} 75%{transform:translateY(0) rotate(1deg)} 100%{transform:translateY(0) rotate(-1deg)} }
@keyframes ma-figureR { 0%{transform:translateY(0) rotate(1deg)} 25%{transform:translateY(-2px) rotate(-2deg)} 50%{transform:translateY(0) rotate(-1deg)} 75%{transform:translateY(-1px) rotate(0)} 100%{transform:translateY(0) rotate(1deg)} }
@keyframes ma-desk { 0%{transform:translateY(0)} 50%{transform:translateY(-1px)} 100%{transform:translateY(0)} }
@keyframes ma-candle { 0%{transform:scaleY(1) translateY(0)} 50%{transform:scaleY(1.08) translateY(-2px)} 100%{transform:scaleY(1) translateY(0)} }
@keyframes ma-cglow { 0%{opacity:.6;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} 100%{opacity:.7;transform:scale(.95)} }
@keyframes ma-dust { 0%{transform:translate(0,0);opacity:0} 30%{opacity:.4} 100%{transform:translate(80px,-60px);opacity:0} }

/* inca-caxas-burial */
.scn-inca-caxas-burial {
  background:
    linear-gradient(180deg, #0e0a12 0%, #1a1218 40%, #24181c 100%),
    radial-gradient(ellipse at 50% 20%, #2a1a20 0%, transparent 60%);
}
.scn-inca-caxas-burial .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(80,40,60,.08) 0%, transparent 50%, rgba(20,10,15,.2) 100%);
  animation: ic-bg 10s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1418 0%, #0e0a10 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: ic-ground 8s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .mound {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 25%;
  background: linear-gradient(180deg, #2a1c1e 0%, #1a1214 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.8), 0 4px 12px rgba(0,0,0,.5);
  animation: ic-mound 6s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .tomb {
  position: absolute; bottom: 22%; left: 40%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #4a3038 0%, #2a1c20 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 0 15px rgba(0,0,0,.7), 0 0 8px rgba(80,40,60,.3);
  animation: ic-tomb 4s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .staff {
  position: absolute; bottom: 35%; left: 50%; width: 4px; height: 70px;
  background: linear-gradient(180deg, #5a4038 0%, #3a2824 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: ic-staff 5s ease-in-out infinite;
}
.scn-inca-caxas-burial .mask {
  position: absolute; bottom: 30%; left: 46%; width: 30px; height: 20px;
  background: radial-gradient(circle at 50% 40%, #c8a080 0%, #8a6050 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 15px 5px rgba(200,160,128,.4);
  animation: ic-mask 3s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .mist {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 50%;
  background: linear-gradient(0deg, rgba(100,80,90,.15) 0%, transparent 100%);
  filter: blur(8px);
  animation: ic-mist 12s ease-in-out infinite alternate;
}
.scn-inca-caxas-burial .fog {
  position: absolute; top: 15%; left: 20%; width: 70px; height: 40px;
  background: radial-gradient(ellipse, rgba(120,100,110,.15), transparent);
  filter: blur(10px);
  animation: ic-fog 20s linear infinite;
}
@keyframes ic-bg { 0%{opacity:.6} 50%{opacity:1} 100%{opacity:.7} }
@keyframes ic-ground { 0%{transform:translateY(0)} 50%{transform:translateY(-3px)} 100%{transform:translateY(0)} }
@keyframes ic-mound { 0%{transform:scaleY(1)} 50%{transform:scaleY(1.02)} 100%{transform:scaleY(1)} }
@keyframes ic-tomb { 0%{transform:translateY(0)} 50%{transform:translateY(-2px)} 100%{transform:translateY(0)} }
@keyframes ic-staff { 0%{transform:rotate(-2deg)} 25%{transform:rotate(2deg)} 50%{transform:rotate(-1deg)} 75%{transform:rotate(3deg)} 100%{transform:rotate(-2deg)} }
@keyframes ic-mask { 0%{opacity:.6;transform:translateY(0)} 50%{opacity:1;transform:translateY(-1px)} 100%{opacity:.7;transform:translateY(0)} }
@keyframes ic-mist { 0%{opacity:.3;transform:translateY(0)} 50%{opacity:.6;transform:translateY(-5px)} 100%{opacity:.4;transform:translateY(0)} }
@keyframes ic-fog { 0%{transform:translateX(-30px);opacity:0} 30%{opacity:.4} 100%{transform:translateX(120vw);opacity:0} }

/* theft-by-vasa */
.scn-theft-by-vasa {
  background:
    linear-gradient(180deg, #0e0a0c 0%, #1a1012 40%, #0e0a0c 100%),
    radial-gradient(ellipse at 30% 50%, #2a181a 0%, transparent 70%);
}
.scn-theft-by-vasa .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(60,20,30,.08) 0%, transparent 60%, rgba(10,5,8,.2) 100%);
  animation: tv-bg 7s ease-in-out infinite alternate;
}
.scn-theft-by-vasa .wall {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #1a1416 0%, #0e0a0c 100%);
  border-radius: 20% 20% 0 0 / 15% 15% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.8);
  animation: tv-wall 8s ease-in-out infinite alternate;
}
.scn-theft-by-vasa .doorway {
  position: absolute; bottom: 10%; left: 15%; right: 55%; height: 50%;
  background: linear-gradient(180deg, #2a1c1e 0%, #1a1012 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 0 30px rgba(0,0,0,.9), 0 0 10px rgba(60,20,30,.3);
  animation: tv-doorway 5s ease-in-out infinite alternate;
}
.scn-theft-by-vasa .thief {
  position: absolute; bottom: 10%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1214 0%, #0a0608 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tv-thief 4s ease-in-out infinite;
}
.scn-theft-by-vasa .bundle {
  position: absolute; bottom: 10%; left: 30%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #3a282c 0%, #1a1012 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: tv-bundle 4s ease-in-out infinite reverse;
}
.scn-theft-by-vasa .lantern {
  position: absolute; bottom: 40%; left: 60%; width: 12px; height: 16px;
  background: radial-gradient(circle, #e8c080 0%, #a08040 70%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(200,160,80,.5);
  animation: tv-lantern 2.5s ease-in-out infinite alternate;
}
.scn-theft-by-vasa .footprint {
  position: absolute; bottom: 5%; left: 10%; width: 20px; height: 10px;
  background: radial-gradient(ellipse, rgba(40,20,25,.4), transparent);
  border-radius: 50%;
  filter: blur(3px);
  animation: tv-footprint 6s ease-in-out infinite;
}
@keyframes tv-bg { 0%{opacity:.7} 50%{opacity:1} 100%{opacity:.8} }
@keyframes tv-wall { 0%{transform:translateY(0)} 50%{transform:translateY(-2px)} 100%{transform:translateY(0)} }
@keyframes tv-doorway { 0%{box-shadow:inset 0 0 25px rgba(0,0,0,.8), 0 0 8px rgba(60,20,30,.2)} 50%{box-shadow:inset 0 0 40px rgba(0,0,0,.95), 0 0 15px rgba(60,20,30,.5)} 100%{box-shadow:inset 0 0 25px rgba(0,0,0,.8), 0 0 8px rgba(60,20,30,.2)} }
@keyframes tv-thief { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-3px) rotate(3deg)} 50%{transform:translateY(-1px) rotate(0)} 75%{transform:translateY(0) rotate(-2deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes tv-bundle { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-2px) rotate(-5deg)} 50%{transform:translateY(0) rotate(-2deg)} 75%{transform:translateY(-1px) rotate(3deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes tv-lantern { 0%{opacity:.7;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} 100%{opacity:.8;transform:scale(.95)} }
@keyframes tv-footprint { 0%{opacity:0;transform:translateX(0)} 30%{opacity:.4} 100%{opacity:0;transform:translateX(60px)} }

/* ===== Scene: mummy-theft-theory (mtt) ===== */
.scn-mummy-theft-theory {
  background: linear-gradient(180deg, #1a1218 0%, #2a1e22 40%, #0d0708 100%), radial-gradient(ellipse at 70% 30%, #5a3420 0%, transparent 50%);
}
.scn-mummy-theft-theory .gaslamp {
  position: absolute; bottom: 65%; left: 65%; width: 12px; height: 20px;
  background: radial-gradient(circle, #f0b030 0%, #d08020 50%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 20px rgba(200, 80, 20, 0.6), 0 0 120px 40px rgba(200, 80, 20, 0.3);
  animation: mtt-glow 1.5s ease-in-out infinite alternate;
}
.scn-mummy-theft-theory .table {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 6%;
  background: linear-gradient(180deg, #3a2018 0%, #1a0e0a 100%);
  border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-mummy-theft-theory .mummy-case {
  position: absolute; bottom: 25%; left: 25%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4% / 10%; box-shadow: inset 0 0 20px #0a0604, 0 4px 8px #000;
  transform: scaleY(1.05); animation: mtt-case-shiver 4s ease-in-out infinite;
}
.scn-mummy-theft-theory .shadow-wall {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 50%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(8px); animation: mtt-shadow 3s ease-in-out infinite alternate;
}
.scn-mummy-theft-theory .figure-silhouette {
  position: absolute; bottom: 22%; left: 55%; width: 12%; height: 38%;
  background: linear-gradient(180deg, #0e0808 0%, #050302 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: mtt-figure 2.5s ease-in-out infinite alternate;
}
.scn-mummy-theft-theory .object-small {
  position: absolute; bottom: 25%; left: 40%; width: 4%; height: 4%;
  background: radial-gradient(circle, #c0a060 0%, #806030 100%);
  border-radius: 50%; box-shadow: 0 0 10px #b08040; animation: mtt-object-gleam 1.2s ease-in-out infinite alternate;
}
@keyframes mtt-glow {
  0% { opacity: 0.7; box-shadow: 0 0 40px 15px rgba(200,80,20,0.5), 0 0 80px 25px rgba(200,80,20,0.2); }
  50% { opacity: 1; box-shadow: 0 0 80px 25px rgba(220,100,30,0.7), 0 0 160px 40px rgba(220,100,30,0.4); }
  100% { opacity: 0.8; box-shadow: 0 0 50px 18px rgba(200,80,20,0.5), 0 0 100px 30px rgba(200,80,20,0.2); }
}
@keyframes mtt-case-shiver {
  0%, 100% { transform: scaleY(1.05) rotate(0deg); }
  25% { transform: scaleY(1.07) rotate(0.3deg); }
  50% { transform: scaleY(1.02) rotate(-0.2deg); }
  75% { transform: scaleY(1.06) rotate(0.1deg); }
}
@keyframes mtt-shadow {
  0% { opacity: 0.4; transform: scaleX(0.95); }
  100% { opacity: 0.7; transform: scaleX(1.05); }
}
@keyframes mtt-figure {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(3px) rotate(1deg) scaleX(1.02); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes mtt-object-gleam {
  0% { opacity: 0.6; box-shadow: 0 0 6px #b08040; }
  100% { opacity: 1; box-shadow: 0 0 16px 4px #d0a060; }
}

/* ===== Scene: professor-methodical-routine (pmr) ===== */
.scn-professor-methodical-routine {
  background: linear-gradient(180deg, #faf5eb 0%, #e8dfd0 50%, #d4c8b4 100%), radial-gradient(ellipse at 50% 20%, #fff8f0 0%, transparent 70%);
}
.scn-professor-methodical-routine .wall-bright {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0e8d8 0%, #e0d4c0 100%);
}
.scn-professor-methodical-routine .window-sun {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 45%;
  background: linear-gradient(135deg, #ffffea 0%, #ffe8b0 100%);
  border-radius: 4% / 6%; box-shadow: inset 0 0 20px #fff0d0, 0 0 40px #ffdd99;
  animation: pmr-sunlight 10s ease-in-out infinite alternate;
}
.scn-professor-methodical-routine .clock {
  position: absolute; top: 12%; right: 18%; width: 12%; height: 18%;
  background: radial-gradient(circle, #f0e0c0 0%, #c0a880 70%);
  border-radius: 50%; box-shadow: inset 0 0 6px #a08868, 0 2px 8px rgba(0,0,0,0.2);
  animation: pmr-clock-tick 60s linear infinite;
}
.scn-professor-methodical-routine .table-wood {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #b09070 0%, #8a6e50 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-professor-methodical-routine .chair {
  position: absolute; bottom: 18%; left: 35%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3528 100%);
  border-radius: 20% 20% 8% 8%; transform: rotate(2deg);
}
.scn-professor-methodical-routine .professor-reading {
  position: absolute; bottom: 24%; left: 40%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1e18 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center; animation: pmr-read 6s ease-in-out infinite alternate;
}
.scn-professor-methodical-routine .papers-stack {
  position: absolute; bottom: 30%; left: 30%; width: 20%; height: 6%;
  background: linear-gradient(180deg, #f0e8d8 0%, #d4c8b4 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: pmr-papers 8s ease-in-out infinite;
}
@keyframes pmr-sunlight {
  0% { opacity: 0.8; box-shadow: 0 0 30px #ffdd99; }
  50% { opacity: 1; box-shadow: 0 0 50px #ffeecc; }
  100% { opacity: 0.9; box-shadow: 0 0 35px #ffdd99; }
}
@keyframes pmr-clock-tick {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes pmr-read {
  0% { transform: translateY(0) rotate(-0.5deg); }
  50% { transform: translateY(-1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pmr-papers {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}

/* ===== Scene: professor-london-trips (plt) ===== */
.scn-professor-london-trips {
  background: linear-gradient(180deg, #e0d6c8 0%, #c8bca8 50%, #b0a08c 100%), radial-gradient(ellipse at 70% 30%, #f5e8d0 0%, transparent 60%);
}
.scn-professor-london-trips .room-warm {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d8ccb8 0%, #c0b09c 100%);
}
.scn-professor-london-trips .fireplace {
  position: absolute; bottom: 10%; left: 15%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #8a7060 0%, #4a3630 100%);
  border-radius: 8% 8% 4% 4%; box-shadow: inset 0 -10px 20px #201810;
}
.scn-professor-london-trips .armchair {
  position: absolute; bottom: 20%; left: 25%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #605040 0%, #3a2e26 100%);
  border-radius: 30% 30% 10% 10%;
}
.scn-professor-london-trips .bookshelf {
  position: absolute; top: 15%; right: 8%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #4a3a2e 0%, #2a1e16 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-professor-london-trips .professor-armchair {
  position: absolute; bottom: 22%; left: 32%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #2a2018 0%, #0e0a08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: plt-sit 5s ease-in-out infinite alternate;
}
.scn-professor-london-trips .lamp-desk {
  position: absolute; bottom: 18%; left: 55%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #c0a080 0%, #806048 100%);
  border-radius: 20% 20% 8% 8%;
}
.scn-professor-london-trips .window-city {
  position: absolute; top: 12%; left: 8%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #c4b8a8 0%, #948878 100%);
  border-radius: 4% / 6%; box-shadow: inset 0 0 20px #a09888;
  animation: plt-city-light 8s ease-in-out infinite alternate;
}
@keyframes plt-sit {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes plt-city-light {
  0% { opacity: 0.6; box-shadow: inset 0 0 10px #a09888; }
  100% { opacity: 1; box-shadow: inset 0 0 30px #b8aa98; }
}

/* ===== Scene: professor-absence-variations (pav) ===== */
.scn-professor-absence-variations {
  background: linear-gradient(180deg, #e8e0d4 0%, #d4cabc 50%, #beb2a2 100%), radial-gradient(ellipse at 50% 20%, #f5eee0 0%, transparent 60%);
}
.scn-professor-absence-variations .hallway-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d8cec0 0%, #b8ac9e 100%);
}
.scn-professor-absence-variations .front-door {
  position: absolute; bottom: 10%; left: 50%; width: 20%; height: 55%;
  background: linear-gradient(180deg, #604a3a 0%, #3a2a1e 100%);
  border-radius: 4% / 6%; box-shadow: inset 0 0 12px #1a120e, 0 4px 12px rgba(0,0,0,0.3);
  transform: translateX(-50%); animation: pav-door 12s ease-in-out infinite;
}
.scn-professor-absence-variations .coat-rack {
  position: absolute; bottom: 18%; left: 35%; width: 6%; height: 30%;
  background: linear-gradient(180deg, #4a382e 0%, #2a1c14 100%);
  border-radius: 10% / 20%;
}
.scn-professor-absence-variations .carpet {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #805040 0%, #5a3020 100%);
  border-radius: 20% 20% 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
  animation: pav-carpet 4s ease-in-out infinite alternate;
}
.scn-professor-absence-variations .figure-waiting {
  position: absolute; bottom: 20%; left: 55%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #3a2e26 0%, #1a120e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: pav-fidget 3.5s ease-in-out infinite alternate;
}
.scn-professor-absence-variations .calendar {
  position: absolute; top: 12%; left: 5%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #f0e8d8 0%, #d8ccb8 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: pav-calendar 8s ease-in-out infinite;
}
.scn-professor-absence-variations .dust-motes {
  position: absolute; top: 20%; left: 0; right: 0; height: 100%;
  background: radial-gradient(circle at 30% 40%, rgba(255,255,200,0.15) 0%, transparent 50%);
  filter: blur(4px); animation: pav-dust 15s linear infinite;
}
@keyframes pav-door {
  0%, 100% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.02); }
}
@keyframes pav-carpet {
  0% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes pav-fidget {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-1px) rotate(1deg) scaleX(1.01); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes pav-calendar {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.05); }
  100% { transform: scaleY(1); }
}
@keyframes pav-dust {
  0% { opacity: 0.2; background-position: 0% 0%; }
  50% { opacity: 0.4; background-position: 50% 10%; }
  100% { opacity: 0.2; background-position: 100% 0%; }
}

.scn-random-room-threats-admitted {
  background: linear-gradient(180deg, #f4e3c5 0%, #d8c29a 50%, #b89a6a 100%), radial-gradient(ellipse at 50% 100%, #c8a374 0%, transparent 60%);
}
.scn-random-room-threats-admitted .wall { position: absolute; inset: 0 0 35% 0; background: linear-gradient(90deg, #e8cfaa 0%, #d4b88a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.1); animation: thr-wall 12s ease-in-out infinite alternate; }
.scn-random-room-threats-admitted .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #8b6f45 0%, #6d5737 100%); }
.scn-random-room-threats-admitted .bookshelf { position: absolute; top: 10%; left: 5%; width: 18%; height: 55%; background: linear-gradient(180deg, #5a4226 0%, #3f2d18 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); animation: thr-shelf 18s ease-in-out infinite alternate; }
.scn-random-room-threats-admitted .mummy-case { position: absolute; top: 18%; right: 10%; width: 12%; height: 50%; background: linear-gradient(180deg, #b58a5c 0%, #8f6d44 100%); border-radius: 6% 6% 10% 10% / 40% 40% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,0.4); animation: thr-mummy 20s ease-in-out infinite; }
.scn-random-room-threats-admitted .figure { position: absolute; bottom: 30%; left: 40%; width: 16%; height: 50%; background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: thr-figure 4s ease-in-out infinite; }
.scn-random-room-threats-admitted .lamp { position: absolute; top: 8%; left: 55%; width: 6%; height: 12%; background: linear-gradient(180deg, #d4a843 0%, #b8922e 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 60px 20px rgba(200,160,80,0.6), 0 0 120px 40px rgba(200,160,80,0.3); animation: thr-lamp 3s ease-in-out infinite alternate; }
.scn-random-room-threats-admitted .shadow-hand { position: absolute; bottom: 30%; left: 52%; width: 10%; height: 20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 70%); transform: rotate(-20deg); animation: thr-hand 1.5s ease-in-out infinite alternate; }
@keyframes thr-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes thr-shelf { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes thr-mummy { 0% { transform: rotate(-0.5deg); } 50% { transform: rotate(0.5deg) scale(1.01); } 100% { transform: rotate(0deg); } }
@keyframes thr-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-1deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes thr-lamp { 0% { opacity: 0.8; box-shadow: 0 0 40px 10px rgba(200,160,80,0.5); } 50% { opacity: 1; box-shadow: 0 0 80px 30px rgba(200,160,80,0.7); } 100% { opacity: 0.9; box-shadow: 0 0 50px 15px rgba(200,160,80,0.6); } }
@keyframes thr-hand { 0% { transform: rotate(-25deg) translateX(0); } 50% { transform: rotate(-15deg) translateX(5px); } 100% { transform: rotate(-25deg) translateX(0); } }

.scn-random-room-alternative-theory {
  background: linear-gradient(180deg, #f2ddb8 0%, #d9c096 50%, #b8986a 100%), radial-gradient(ellipse at 50% 100%, #d4af7a 0%, transparent 60%);
}
.scn-random-room-alternative-theory .bg { position: absolute; inset: 0; background: linear-gradient(180deg, #e3caa0 0%, #c4a67c 100%); }
.scn-random-room-alternative-theory .desk { position: absolute; bottom: 25%; left: 20%; right: 20%; height: 20%; background: linear-gradient(180deg, #6b4f30 0%, #4d3920 100%); border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); animation: alt-desk 15s ease-in-out infinite alternate; }
.scn-random-room-alternative-theory .figure1 { position: absolute; bottom: 28%; left: 25%; width: 18%; height: 52%; background: linear-gradient(180deg, #33281d 0%, #1a130c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: alt-jump 1.8s ease-in-out infinite; }
.scn-random-room-alternative-theory .figure2 { position: absolute; bottom: 28%; right: 30%; width: 16%; height: 48%; background: linear-gradient(180deg, #2b2218 0%, #140f0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: alt-shake 2.5s ease-in-out infinite; }
.scn-random-room-alternative-theory .lamp { position: absolute; top: 10%; left: 50%; transform: translateX(-50%); width: 8%; height: 14%; background: linear-gradient(180deg, #d9b14a 0%, #b89236 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 60px 25px rgba(200,160,80,0.5); animation: alt-lamp 3s ease-in-out infinite alternate; }
.scn-random-room-alternative-theory .paper1 { position: absolute; top: 40%; left: 35%; width: 8%; height: 6%; background: linear-gradient(135deg, #f5e8cc 0%, #ebddbf 100%); border-radius: 2px; transform: rotate(15deg); box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: alt-paper1 2.2s ease-in-out infinite; }
.scn-random-room-alternative-theory .paper2 { position: absolute; top: 45%; left: 55%; width: 9%; height: 7%; background: linear-gradient(135deg, #f5e8cc 0%, #ebddbf 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: alt-paper2 2.8s ease-in-out infinite; }
@keyframes alt-desk { 0% { transform: scale(1); } 50% { transform: scale(0.98) translateY(-1px); } 100% { transform: scale(1); } }
@keyframes alt-jump { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-6px) rotate(-2deg); } 60% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes alt-shake { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-3px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes alt-lamp { 0% { opacity: 0.8; box-shadow: 0 0 40px 15px rgba(200,160,80,0.4); } 50% { opacity: 1; box-shadow: 0 0 80px 30px rgba(200,160,80,0.7); } 100% { opacity: 0.9; box-shadow: 0 0 50px 20px rgba(200,160,80,0.5); } }
@keyframes alt-paper1 { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(5px) translateY(-3px); } 100% { transform: rotate(15deg) translateX(0); } }
@keyframes alt-paper2 { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-15deg) translateX(-4px) translateY(2px); } 100% { transform: rotate(-10deg) translateX(0); } }

.scn-random-room-question-again {
  background: linear-gradient(180deg, #f0dfbe 0%, #d6c19a 50%, #b39668 100%), radial-gradient(ellipse at 50% 100%, #c4a37a 0%, transparent 60%);
}
.scn-random-room-question-again .bg { position: absolute; inset: 0; background: linear-gradient(180deg, #e8d1a8 0%, #c9b088 100%); }
.scn-random-room-question-again .window { position: absolute; top: 12%; left: 8%; width: 20%; height: 40%; background: radial-gradient(ellipse at 50% 50%, #faf0dc 0%, #dccba8 50%, #b39a72 100%); border-radius: 4%; box-shadow: inset 0 0 30px rgba(255, 250, 220, 0.4); animation: que-window 18s ease-in-out infinite alternate; }
.scn-random-room-question-again .figure-standing { position: absolute; bottom: 25%; left: 55%; width: 16%; height: 55%; background: linear-gradient(180deg, #2e251b 0%, #18120c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: que-stand 6s ease-in-out infinite; }
.scn-random-room-question-again .figure-sitting { position: absolute; bottom: 25%; left: 30%; width: 20%; height: 35%; background: linear-gradient(180deg, #352a1f 0%, #1f1710 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: que-sit 4s ease-in-out infinite; }
.scn-random-room-question-again .table { position: absolute; bottom: 24%; left: 25%; right: 25%; height: 12%; background: linear-gradient(180deg, #5c422c 0%, #3f2d1c 100%); border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,0.4); }
.scn-random-room-question-again .candle { position: absolute; bottom: 36%; left: 45%; width: 4%; height: 12%; background: linear-gradient(180deg, #e8c36f 0%, #c09e5a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 40px 15px rgba(200,160,80,0.6); transform-origin: bottom center; animation: que-candle 2.5s ease-in-out infinite alternate; }
.scn-random-room-question-again .shadow { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.35) 100%); }
@keyframes que-window { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes que-stand { 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 que-sit { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes que-candle { 0% { opacity: 0.7; transform: scaleY(1) rotate(-2deg); } 50% { opacity: 1; transform: scaleY(1.05) rotate(2deg); } 100% { opacity: 0.8; transform: scaleY(1) rotate(-1deg); } }

.scn-random-room-emeralds-stolen {
  background: linear-gradient(180deg, #eed9b0 0%, #d4bc8e 50%, #b09562 100%), radial-gradient(ellipse at 50% 100%, #c9a873 0%, transparent 60%);
}
.scn-random-room-emeralds-stolen .bg { position: absolute; inset: 0; background: linear-gradient(180deg, #e6cc9e 0%, #c7ad7c 100%); }
.scn-random-room-emeralds-stolen .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #8a704a 0%, #6d583a 100%); }
.scn-random-room-emeralds-stolen .mat { position: absolute; bottom: 5%; left: 30%; width: 40%; height: 20%; background: linear-gradient(135deg, #9e835c 0%, #7e6746 100%); border-radius: 8%; box-shadow: 0 4px 12px rgba(0,0,0,0.5); animation: eme-mat 12s ease-in-out infinite alternate; }
.scn-random-room-emeralds-stolen .foot { position: absolute; bottom: 20%; left: 45%; width: 14%; height: 20%; background: linear-gradient(180deg, #4a3828 0%, #2e2216 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: eme-kick 1.2s ease-in-out infinite; }
.scn-random-room-emeralds-stolen .emerald { position: absolute; bottom: 15%; left: 50%; width: 6%; height: 6%; background: radial-gradient(circle, #a8e6a0 0%, #5cb85c 40%, #2d6b2d 100%); border-radius: 50%; box-shadow: 0 0 30px 8px rgba(92, 184, 92, 0.7); animation: eme-glow 1.8s ease-in-out infinite alternate; }
.scn-random-room-emeralds-stolen .shadow { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%); }
.scn-random-room-emeralds-stolen .sparkle { position: absolute; bottom: 18%; left: 48%; width: 3%; height: 3%; background: radial-gradient(circle, #ffffff 0%, rgba(255,255,255,0) 70%); border-radius: 50%; animation: eme-sparkle 0.8s ease-in-out infinite alternate; }
@keyframes eme-mat { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes eme-kick { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(-10deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(6px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes eme-glow { 0% { opacity: 0.6; box-shadow: 0 0 20px 5px rgba(92, 184, 92, 0.5); } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(92, 184, 92, 0.8); } 100% { opacity: 0.7; box-shadow: 0 0 25px 8px rgba(92, 184, 92, 0.6); } }
@keyframes eme-sparkle { 0% { opacity: 0; transform: scale(0.5); } 50% { opacity: 1; transform: scale(1.5); } 100% { opacity: 0; transform: scale(0.5); } }

/* one block per scene id. Append to style.css. */

/*** bargain-over-dinner ***/
.scn-bargain-over-dinner { background: linear-gradient(180deg, #2a1a0e 0%, #3d2a18 40%, #5a3a20 100%), radial-gradient(ellipse at 50% 60%, #6a4a2e 0%, transparent 70%); }
.scn-bargain-over-dinner .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, #4a3020 0%, transparent 100%); animation: si-bod-bg 12s ease-in-out infinite alternate; }
.scn-bargain-over-dinner .table { position:absolute; bottom:20%; left:15%; width:70%; height:8%; background: linear-gradient(180deg, #5a3a20 0%, #3a2010 100%); border-radius:4% 4% 0 0; box-shadow:0 -4px 12px rgba(0,0,0,.6); animation: si-bod-table 8s ease-in-out infinite; }
.scn-bargain-over-dinner .plate { position:absolute; bottom:22%; left:40%; width:12%; height:6%; background: radial-gradient(circle, #c8a87a 0%, #9a7a5a 70%); border-radius:50%; box-shadow: inset 2px 2px 6px rgba(255,255,255,.1), 0 2px 8px rgba(0,0,0,.4); animation: si-bod-plate 4s ease-in-out infinite alternate; }
.scn-bargain-over-dinner .candle { position:absolute; bottom:26%; left:30%; width:2%; height:10%; background: linear-gradient(180deg, #f0e0c0 0%, #d4a857 50%, #8c5a2e 100%); border-radius:30% 30% 10% 10%; box-shadow:0 0 20px 8px rgba(212,168,87,.5), 0 0 40px 16px rgba(212,168,87,.3); animation: si-bod-candle 2s ease-in-out infinite alternate; }
.scn-bargain-over-dinner .figure-lucy { position:absolute; bottom:18%; left:25%; width:6%; height:25%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom center; animation: si-bod-figure 5s ease-in-out infinite; }
.scn-bargain-over-dinner .figure-braddock { position:absolute; bottom:18%; right:25%; width:8%; height:28%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation: si-bod-figure 5s ease-in-out infinite reverse; }
.scn-bargain-over-dinner .mummy { position:absolute; bottom:22%; left:58%; width:4%; height:20%; background: linear-gradient(180deg, #c8b090 0%, #a08060 50%, #7a5a40 100%); border-radius:20% 20% 10% 10%; box-shadow: inset 0 2px 6px rgba(0,0,0,.2); animation: si-bod-mummy 10s ease-in-out infinite; }
@keyframes si-bod-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes si-bod-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes si-bod-plate { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(.98) } }
@keyframes si-bod-candle { 0% { transform: scaleY(1) translateY(0); opacity:.9 } 50% { transform: scaleY(1.05) translateY(-1px); opacity:1 } 100% { transform: scaleY(.95) translateY(0); opacity:.85 } }
@keyframes si-bod-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes si-bod-mummy { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(2px) rotate(-.5deg) } }

/*** jewels-talk ***/
.scn-jewels-talk { background: linear-gradient(180deg, #2a1a0e 0%, #3d2a18 40%, #5a3a20 100%), radial-gradient(ellipse at 30% 70%, #7a5a3a 0%, transparent 60%); }
.scn-jewels-talk .bg { position:absolute; inset:0; background: linear-gradient(90deg, #3a2a1a 0%, #4a3520 50%, #3a2a1a 100%); animation: si-jew-bg 15s ease-in-out infinite; }
.scn-jewels-talk .table { position:absolute; bottom:15%; left:10%; width:80%; height:6%; background: linear-gradient(180deg, #5a3a20 0%, #3a2010 100%); border-radius:4% 4% 0 0; box-shadow:0 -3px 10px rgba(0,0,0,.5); }
.scn-jewels-talk .jewel-box { position:absolute; bottom:20%; left:35%; width:25%; height:22%; background: linear-gradient(135deg, #7a4a2e 0%, #4a2a18 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.6), inset 0 1px 4px rgba(255,255,255,.1); animation: si-jew-box 6s ease-in-out infinite; }
.scn-jewels-talk .lid { position:absolute; bottom:38%; left:35%; width:25%; height:8%; background: linear-gradient(180deg, #6a3a1e 0%, #4a2a18 100%); border-radius:8% 8% 0 0; transform-origin: bottom center; box-shadow: 0 -2px 6px rgba(0,0,0,.4); animation: si-jew-lid 4s ease-in-out infinite alternate; }
.scn-jewels-talk .sparkle { position:absolute; width:2%; height:2%; background: radial-gradient(circle, #f0e8c8 0%, transparent 100%); border-radius:50%; }
.scn-jewels-talk .sparkle.s1 { bottom:28%; left:42%; animation: si-jew-sparkle 2s ease-in-out infinite; }
.scn-jewels-talk .sparkle.s2 { bottom:32%; left:50%; animation: si-jew-sparkle 2.5s ease-in-out infinite .5s; }
.scn-jewels-talk .sparkle.s3 { bottom:30%; left:55%; animation: si-jew-sparkle 1.8s ease-in-out infinite 1s; }
.scn-jewels-talk .hand { position:absolute; bottom:18%; left:55%; width:6%; height:16%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: si-jew-hand 3s ease-in-out infinite; }
@keyframes si-jew-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes si-jew-box { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes si-jew-lid { 0% { transform: rotateX(0) } 50% { transform: rotateX(30deg) } 100% { transform: rotateX(-5deg) } }
@keyframes si-jew-sparkle { 0%,100% { opacity:0; transform: scale(.5) } 25% { opacity:1; transform: scale(1.5) } 50% { opacity:.3; transform: scale(1) } 75% { opacity:.8; transform: scale(1.2) } }
@keyframes si-jew-hand { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-5px) rotate(5deg) } 70% { transform: translateX(2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }

/*** loan-repaid ***/
.scn-loan-repaid { background: linear-gradient(180deg, #2a1a0e 0%, #3d2a18 40%, #5a3a20 100%), radial-gradient(ellipse at 70% 30%, #6a4a2e 0%, transparent 60%); }
.scn-loan-repaid .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 50%, #4a3020 0%, transparent 80%); animation: si-loa-bg 14s ease-in-out infinite alternate; }
.scn-loan-repaid .table { position:absolute; bottom:18%; left:10%; width:80%; height:6%; background: linear-gradient(180deg, #5a3a20 0%, #3a2010 100%); border-radius:4% 4% 0 0; box-shadow:0 -3px 10px rgba(0,0,0,.5); }
.scn-loan-repaid .figure-lucy { position:absolute; bottom:16%; left:20%; width:6%; height:22%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: si-loa-figure 5s ease-in-out infinite; }
.scn-loan-repaid .figure-hope { position:absolute; bottom:16%; left:38%; width:6%; height:22%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: si-loa-figure 5s ease-in-out infinite .5s; }
.scn-loan-repaid .figure-braddock { position:absolute; bottom:16%; right:20%; width:8%; height:25%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si-loa-figure 6s ease-in-out infinite 1s; }
.scn-loan-repaid .coin { position:absolute; bottom:21%; left:48%; width:3%; height:3%; background: radial-gradient(circle, #e8c860 0%, #b09040 70%); border-radius:50%; box-shadow: 0 0 10px 4px rgba(232,200,96,.4), 0 0 20px 8px rgba(232,200,96,.2); animation: si-loa-coin 3s ease-in-out infinite; }
.scn-loan-repaid .window { position:absolute; top:12%; right:15%; width:18%; height:30%; background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 100%); border-radius:6% 6% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: si-loa-window 20s ease-in-out infinite alternate; }
@keyframes si-loa-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes si-loa-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(1px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes si-loa-coin { 0%,100% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.2) } }
@keyframes si-loa-window { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.5 } }

/*** random-arrival-hint ***/
.scn-random-arrival-hint { background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1e 40%, #3a2218 100%), radial-gradient(ellipse at 30% 80%, #4a3020 0%, transparent 70%); }
.scn-random-arrival-hint .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #2a1a1e 0%, transparent 80%); animation: si-ran-bg 8s ease-in-out infinite alternate; }
.scn-random-arrival-hint .desk { position:absolute; bottom:15%; left:10%; width:80%; height:6%; background: linear-gradient(180deg, #4a2e1e 0%, #2a1a0e 100%); border-radius:4% 4% 0 0; box-shadow:0 -3px 10px rgba(0,0,0,.7); }
.scn-random-arrival-hint .lamp { position:absolute; bottom:22%; left:20%; width:4%; height:16%; background: linear-gradient(180deg, #c8a860 0%, #8c5a2e 50%, #3a2010 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 30px 12px rgba(200,168,96,.4), 0 0 60px 24px rgba(200,168,96,.2); animation: si-ran-lamp .8s ease-in-out infinite alternate; }
.scn-random-arrival-hint .letter { position:absolute; bottom:18%; left:32%; width:12%; height:7%; background: linear-gradient(135deg, #f0e8d8 0%, #d0c8b8 100%); border-radius:4%; box-shadow: 0 2px 6px rgba(0,0,0,.4); transform: rotate(-5deg); animation: si-ran-letter 1.5s ease-in-out infinite; }
.scn-random-arrival-hint .figure-lucy { position:absolute; bottom:16%; right:15%; width:6%; height:24%; background: linear-gradient(180deg, #1a120a 0%, #0d0a05 100%); border-radius:45% 45% 35% 35% / 55% 55% 40% 40%; transform-origin: bottom center; animation: si-ran-figure 2s ease-in-out infinite; }
.scn-random-arrival-hint .curtain { position:absolute; top:0; left:0; width:18%; height:100%; background: linear-gradient(90deg, #2a1a0e 0%, #3d2a18 50%, #2a1a0e 100%); border-radius:0 20% 20% 0; box-shadow: 4px 0 12px rgba(0,0,0,.6); animation: si-ran-curtain 12s ease-in-out infinite alternate; }
.scn-random-arrival-hint .window { position:absolute; top:5%; right:10%; width:30%; height:35%; background: linear-gradient(180deg, #1a2a4e 0%, #0e1a2e 100%); border-radius:6% 6% 4% 4%; box-shadow: inset 0 0 30px rgba(0,0,0,.8); animation: si-ran-window 10s ease-in-out infinite alternate; }
@keyframes si-ran-bg { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.65 } }
@keyframes si-ran-lamp { 0% { transform: scaleY(1); opacity:.8 } 100% { transform: scaleY(1.08); opacity:1 } }
@keyframes si-ran-letter { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-2deg) translateY(-3px) } }
@keyframes si-ran-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(3deg) } 50% { transform: translateX(-1px) rotate(-2deg) } 75% { transform: translateX(1px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes si-ran-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(-2px) } 100% { transform: translateX(0) } }
@keyframes si-ran-window { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.3 } }

.scn-item-inca-manuscript {
  background: 
    radial-gradient(ellipse at 30% 40%, rgba(180,100,40,0.4) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 80%, rgba(60,30,10,0.6) 0%, transparent 60%),
    linear-gradient(180deg, #2a1a0e 0%, #1a0e08 50%, #0e0804 100%);
}
.scn-item-inca-manuscript .im1-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2210 0%, transparent 100%);
  animation: im1-back 10s ease-in-out infinite alternate;
}
.scn-item-inca-manuscript .im1-table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-item-inca-manuscript .im1-parchment {
  position: absolute; bottom: 28%; left: 30%; width: 40%; height: 20%;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 50%, #a09070 100%);
  border-radius: 4% 8% 12% 6%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  transform: rotate(-2deg);
  animation: im1-parchment 12s ease-in-out infinite;
}
.scn-item-inca-manuscript .im1-ink {
  position: absolute; bottom: 32%; left: 42%; width: 15%; height: 10%;
  background: radial-gradient(circle, #6030a0 0%, #402080 60%, transparent 100%);
  border-radius: 50%;
  opacity: 0.5;
  animation: im1-ink 6s ease-in-out infinite alternate;
}
.scn-item-inca-manuscript .im1-candle {
  position: absolute; bottom: 22%; left: 60%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8c880 0%, #a08040 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 10px 2px rgba(200,160,80,0.4);
  transform-origin: bottom center;
  animation: im1-candle 3s ease-in-out infinite;
}
.scn-item-inca-manuscript .im1-flame {
  position: absolute; bottom: 44%; left: 60%; width: 12px; height: 20px;
  background: radial-gradient(circle, #ffd060 0%, #e8a020 50%, transparent 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 8px #e88020, 0 0 40px 16px rgba(232,128,32,0.3);
  animation: im1-flame 1.5s ease-in-out infinite alternate;
}
.scn-item-inca-manuscript .im1-hand {
  position: absolute; bottom: 16%; left: 18%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #3a2210 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(15deg);
  animation: im1-hand 4s ease-in-out infinite;
}
.scn-item-inca-manuscript .im1-shadow {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  opacity: 0.6;
  animation: im1-shadow 6s ease-in-out infinite alternate;
}
@keyframes im1-back {
  0%,100% { opacity: 0.7; }
  50% { opacity: 0.9; }
}
@keyframes im1-parchment {
  0% { transform: rotate(-2deg) scale(1); }
  33% { transform: rotate(-1deg) scale(1.02); }
  66% { transform: rotate(-3deg) scale(0.98); }
  100% { transform: rotate(-2deg) scale(1); }
}
@keyframes im1-ink {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 0.7; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(1); }
}
@keyframes im1-candle {
  0%,100% { transform: scaleY(1) translateX(0); }
  50% { transform: scaleY(1.08) translateX(-1px); }
}
@keyframes im1-flame {
  0% { transform: scaleX(0.8) scaleY(1); opacity: 0.9; }
  50% { transform: scaleX(1.2) scaleY(1.15); opacity: 1; }
  100% { transform: scaleX(0.7) scaleY(0.95); opacity: 0.8; }
}
@keyframes im1-hand {
  0% { transform: rotate(15deg) translate(0,0); }
  25% { transform: rotate(10deg) translate(5px,-2px); }
  50% { transform: rotate(20deg) translate(10px,0); }
  75% { transform: rotate(12deg) translate(3px,-1px); }
  100% { transform: rotate(15deg) translate(0,0); }
}
@keyframes im1-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.6; }
}

.scn-item-green-mummy-arbor {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(160,180,200,0.3) 0%, transparent 70%),
    linear-gradient(180deg, #1a2a3a 0%, #0e1a2a 40%, #080e1a 100%);
}
.scn-item-green-mummy-arbor .gm2-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 60%, transparent 100%);
  animation: gm2-sky 15s ease-in-out infinite alternate;
}
.scn-item-green-mummy-arbor .gm2-moon {
  position: absolute; top: 10%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, #e0e8f0 0%, #c0c8d0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,210,220,0.4);
  animation: gm2-moon 12s ease-in-out infinite;
}
.scn-item-green-mummy-arbor .gm2-fence {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 20%;
  background: repeating-linear-gradient(90deg, #2a3a2a 0px, #2a3a2a 10px, transparent 10px, transparent 20px);
  border-radius: 4px;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-item-green-mummy-arbor .gm2-arbor {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 50%;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  animation: gm2-arbor 20s ease-in-out infinite;
}
.scn-item-green-mummy-arbor .gm2-house {
  position: absolute; bottom: 20%; left: 55%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: gm2-house 8s ease-in-out infinite alternate;
}
.scn-item-green-mummy-arbor .gm2-window {
  position: absolute; bottom: 28%; left: 62%; width: 20px; height: 24px;
  background: radial-gradient(circle, #f0c0d0 0%, #e0a0b0 60%, transparent 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 6px rgba(240,192,208,0.5);
  animation: gm2-window 4s ease-in-out infinite alternate;
}
.scn-item-green-mummy-arbor .gm2-figures {
  position: absolute; bottom: 22%; left: 30%; width: 16px; height: 32px;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gm2-walk 5s ease-in-out infinite;
}
.scn-item-green-mummy-arbor .gm2-gate {
  position: absolute; bottom: 18%; left: 28%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -6px 8px rgba(0,0,0,0.4);
  animation: gm2-gate 7s ease-in-out infinite alternate;
}
.scn-item-green-mummy-arbor .gm2-trellis {
  position: absolute; bottom: 18%; left: 70%; width: 40px; height: 60px;
  background: repeating-linear-gradient(180deg, #2a3a2a 0px, #2a3a2a 4px, transparent 4px, transparent 12px);
  border-radius: 4px;
  opacity: 0.6;
  animation: gm2-trellis 10s linear infinite;
}
@keyframes gm2-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes gm2-moon {
  0% { transform: translate(0,0) scale(1); opacity: 0.8; }
  33% { transform: translate(-2px, 1px) scale(1.02); opacity: 1; }
  66% { transform: translate(2px, -1px) scale(0.98); opacity: 0.9; }
  100% { transform: translate(0,0) scale(1); opacity: 0.8; }
}
@keyframes gm2-arbor {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.03); }
}
@keyframes gm2-house {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}
@keyframes gm2-window {
  0% { box-shadow: 0 0 15px 4px rgba(240,192,208,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 30px 10px rgba(240,192,208,0.7); opacity: 1; }
  100% { box-shadow: 0 0 18px 5px rgba(240,192,208,0.5); opacity: 0.9; }
}
@keyframes gm2-walk {
  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 gm2-gate {
  0%,100% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg); }
}
@keyframes gm2-trellis {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

.scn-item-mummy-case {
  background:
    radial-gradient(ellipse at 50% 70%, rgba(80,100,120,0.3) 0%, transparent 60%),
    linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 50%, #08080e 100%);
}
.scn-item-mummy-case .mc3-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a2a3a 0%, #1a1a2a 50%, #2a2a3a 100%);
  animation: mc3-wall 10s ease-in-out infinite alternate;
}
.scn-item-mummy-case .mc3-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-item-mummy-case .mc3-case {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 0 30px 5px rgba(0,0,0,0.7), inset 0 0 20px rgba(0,0,0,0.5);
  transform: perspective(500px) rotateY(-5deg);
  animation: mc3-case 8s ease-in-out infinite alternate;
}
.scn-item-mummy-case .mc3-lid {
  position: absolute; bottom: 55%; left: 38%; width: 24%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: mc3-lid 6s ease-in-out infinite;
}
.scn-item-mummy-case .mc3-braddock {
  position: absolute; bottom: 12%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: mc3-braddock 4s ease-in-out infinite;
}
.scn-item-mummy-case .mc3-light {
  position: absolute; top: 10%; left: 50%; width: 30px; height: 30px;
  background: radial-gradient(circle, #c0d0e0 0%, #8090a0 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(192,208,224,0.3);
  animation: mc3-light 9s ease-in-out infinite alternate;
}
.scn-item-mummy-case .mc3-shadow {
  position: absolute; bottom: 0; left: 25%; right: 25%; height: 20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  opacity: 0.8;
  animation: mc3-shadow 5s ease-in-out infinite alternate;
}
@keyframes mc3-wall {
  0%,100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes mc3-case {
  0% { transform: perspective(500px) rotateY(-5deg) scaleY(1); }
  50% { transform: perspective(500px) rotateY(-3deg) scaleY(1.02); }
  100% { transform: perspective(500px) rotateY(-7deg) scaleY(0.98); }
}
@keyframes mc3-lid {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mc3-braddock {
  0% { transform: rotate(10deg) translate(0,0); }
  33% { transform: rotate(5deg) translate(8px,-2px); }
  66% { transform: rotate(15deg) translate(-4px,1px); }
  100% { transform: rotate(10deg) translate(0,0); }
}
@keyframes mc3-light {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes mc3-shadow {
  0% { transform: scaleX(1) scaleY(1); opacity: 0.6; }
  50% { transform: scaleX(1.1) scaleY(0.9); opacity: 0.8; }
  100% { transform: scaleX(0.9) scaleY(1.1); opacity: 0.7; }
}

.scn-item-emeralds-missing {
  background:
    radial-gradient(ellipse at 50% 30%, rgba(200,220,255,0.3) 0%, transparent 60%),
    linear-gradient(180deg, #e8e0d0 0%, #c8c0b0 40%, #a09080 100%);
}
.scn-item-emeralds-missing .em4-back {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #f0ece0 0%, #d8d0c0 100%);
  animation: em4-back 12s ease-in-out infinite alternate;
}
.scn-item-emeralds-missing .em4-table {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #c0b0a0 0%, #908070 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-item-emeralds-missing .em4-case {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 0 20px rgba(0,0,0,0.4);
  transform: perspective(400px) rotateX(10deg);
  animation: em4-case 7s ease-in-out infinite alternate;
}
.scn-item-emeralds-missing .em4-lid {
  position: absolute; bottom: 44%; left: 38%; width: 24%; height: 18%;
  background: linear-gradient(180deg, #9a8a7a 0%, #7a6a5a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
  transform-origin: bottom center;
  animation: em4-lid 5s ease-in-out infinite;
}
.scn-item-emeralds-missing .em4-professor {
  position: absolute; bottom: 8%; left: 50%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: em4-professor 6s ease-in-out infinite;
}
.scn-item-emeralds-missing .em4-emerald {
  position: absolute; bottom: 28%; left: 45%; width: 20px; height: 16px;
  background: radial-gradient(circle, #40e080 0%, #20a060 60%, transparent 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 30px 8px rgba(64,224,128,0.6), 0 0 60px 16px rgba(64,224,128,0.3);
  animation: em4-emerald 3s ease-in-out infinite alternate;
}
.scn-item-emeralds-missing .em4-tool {
  position: absolute; bottom: 12%; left: 25%; width: 30px; height: 6px;
  background: linear-gradient(180deg, #707080 0%, #505060 100%);
  border-radius: 4px;
  transform: rotate(30deg);
  transform-origin: left center;
  animation: em4-tool 8s ease-in-out infinite;
}
.scn-item-emeralds-missing .em4-glint {
  position: absolute; bottom: 30%; left: 48%; width: 6px; height: 10px;
  background: radial-gradient(circle, #ffffff 0%, #e0ffe0 60%, transparent 100%);
  border-radius: 50%;
  opacity: 0.7;
  animation: em4-glint 2s ease-in-out infinite;
}
@keyframes em4-back {
  0%,100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes em4-case {
  0% { transform: perspective(400px) rotateX(10deg) scale(1); }
  50% { transform: perspective(400px) rotateX(12deg) scale(1.02); }
  100% { transform: perspective(400px) rotateX(8deg) scale(0.98); }
}
@keyframes em4-lid {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(-4deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes em4-professor {
  0%,100% { transform: translateX(-50%) rotate(0deg); }
  33% { transform: translateX(-50%) translateY(-2px) rotate(3deg); }
  66% { transform: translateX(-50%) translateY(1px) rotate(-2deg); }
}
@keyframes em4-emerald {
  0% { transform: scale(0.9); opacity: 0.7; box-shadow: 0 0 20px 4px rgba(64,224,128,0.4); }
  50% { transform: scale(1.15); opacity: 1; box-shadow: 0 0 40px 12px rgba(64,224,128,0.7); }
  100% { transform: scale(1); opacity: 0.9; box-shadow: 0 0 30px 8px rgba(64,224,128,0.5); }
}
@keyframes em4-tool {
  0%,100% { transform: rotate(30deg) scaleX(1); }
  50% { transform: rotate(35deg) scaleX(1.05); }
}
@keyframes em4-glint {
  0%,100% { transform: scale(0.5); opacity: 0.2; }
  50% { transform: scale(1.3); opacity: 1; }
}

/* Scenes - all dim interior, warm mood */

/* braddock-appearance */
.scn-braddock-appearance {
  background:
    linear-gradient(180deg, #2a1e12 0%, #3d2a18 40%, #1c120a 100%),
    radial-gradient(ellipse at 40% 60%, #4a2e14 0%, transparent 70%);
}
.scn-braddock-appearance .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1a0e 0%, #1a0e06 100%);
  animation: ba-room 20s ease-in-out infinite alternate;
}
.scn-braddock-appearance .table {
  position: absolute; bottom: 18%; left: 30%; width: 48%; height: 12%;
  background: linear-gradient(180deg, #5a3e1a 0%, #3a2a0e 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,.6);
  animation: ba-table 14s ease-in-out infinite;
}
.scn-braddock-appearance .scarab {
  position: absolute; bottom: 28%; left: 42%; width: 8px; height: 12px;
  background: radial-gradient(circle at 30% 20%, #b8860b 0%, #6b4c1a 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 12px 4px #8b6914, 0 0 24px 6px rgba(139,105,20,.4);
  animation: ba-scarab 8s ease-in-out infinite;
}
.scn-braddock-appearance .braddock-silhouette {
  position: absolute; bottom: 22%; left: 34%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #1e1208 0%, #0d0703 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-figure 6s ease-in-out infinite;
}
.scn-braddock-appearance .viewer-silhouette {
  position: absolute; bottom: 22%; right: 28%; width: 14px; height: 38px;
  background: linear-gradient(180deg, #1a0e05 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-figure 7s ease-in-out infinite reverse;
}
.scn-braddock-appearance .candle-glow {
  position: absolute; bottom: 30%; left: 49%; width: 6px; height: 10px;
  background: radial-gradient(circle, #ffd080 0%, #b87333 60%, transparent 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px #c87c30, 0 0 40px 12px rgba(200,124,48,.5);
  animation: ba-glow 3s ease-in-out infinite alternate;
}
.scn-braddock-appearance .bookshelf {
  position: absolute; top: 12%; right: 8%; width: 20%; height: 60%;
  background: linear-gradient(90deg, #3a2210 0%, #2a180a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 8px #1a0e06;
  animation: ba-shelf 30s ease-in-out infinite;
}
@keyframes ba-room { 0% { opacity:.85 } 50% { opacity:.95 } 100% { opacity:.85 } }
@keyframes ba-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ba-scarab { 0% { transform: rotate(0deg) scale(1) } 25% { transform: rotate(2deg) scale(1.02) } 50% { transform: rotate(0deg) scale(1) } 75% { transform: rotate(-2deg) scale(0.98) } 100% { transform: rotate(0deg) scale(1) } }
@keyframes ba-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ba-glow { 0% { box-shadow: 0 0 16px 4px #b87333, 0 0 32px 8px rgba(184,115,51,.4); opacity:.85 } 50% { box-shadow: 0 0 28px 8px #ffd080, 0 0 56px 16px rgba(255,208,128,.5); opacity:1 } 100% { box-shadow: 0 0 20px 5px #c87c30, 0 0 40px 10px rgba(200,124,48,.4); opacity:.9 } }
@keyframes ba-shelf { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.005) } 100% { transform: scaleY(1) } }

/* jasher-thoughts */
.scn-jasher-thoughts {
  background:
    linear-gradient(180deg, #1f140a 0%, #2a1a0e 40%, #120a04 100%),
    radial-gradient(ellipse at 60% 50%, #332010 0%, transparent 60%);
}
.scn-jasher-thoughts .room-shadow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 30%, transparent 0%, rgba(0,0,0,.5) 100%);
  animation: jt-shadow 12s ease-in-out infinite alternate;
}
.scn-jasher-thoughts .mummy-1 {
  position: absolute; bottom: 20%; left: 15%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #5a442a 0%, #3a2a18 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 2px 6px #1a0e06;
  transform: rotate(-3deg);
  animation: jt-mummy 18s ease-in-out infinite;
}
.scn-jasher-thoughts .mummy-2 {
  position: absolute; bottom: 25%; right: 20%; width: 20px; height: 46px;
  background: linear-gradient(180deg, #4e3820 0%, #2e1e10 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 2px 6px #1a0e06;
  transform: rotate(4deg);
  animation: jt-mummy 22s ease-in-out infinite reverse;
}
.scn-jasher-thoughts .jasher-silhouette {
  position: absolute; bottom: 22%; left: 45%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #1c1208 0%, #0c0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jt-figure 6s ease-in-out infinite;
}
.scn-jasher-thoughts .lamp-glow {
  position: absolute; top: 22%; left: 42%; width: 20px; height: 20px;
  background: radial-gradient(circle, #e8b060 0%, #c08030 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 12px #b87030, 0 0 80px 20px rgba(184,112,48,.3);
  animation: jt-lamp 4s ease-in-out infinite alternate;
}
.scn-jasher-thoughts .floating-dust {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(200,160,100,.15) 0%, transparent 50%);
  animation: jt-dust 35s linear infinite;
}
.scn-jasher-thoughts .shadow-pool {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, rgba(0,0,0,.6) 0%, transparent 100%);
  animation: jt-pool 10s ease-in-out infinite alternate;
}
@keyframes jt-shadow { 0% { opacity:.4 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes jt-mummy { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes jt-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes jt-lamp { 0% { box-shadow: 0 0 30px 8px #c08030, 0 0 60px 16px rgba(192,128,48,.3); opacity:.8 } 50% { box-shadow: 0 0 50px 14px #e8b060, 0 0 100px 24px rgba(232,176,96,.5); opacity:1 } 100% { box-shadow: 0 0 36px 10px #b87030, 0 0 72px 18px rgba(184,112,48,.35); opacity:.9 } }
@keyframes jt-dust { 0% { transform: translateY(0) } 50% { transform: translateY(-8px) } 100% { transform: translateY(0) } }
@keyframes jt-pool { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.5 } }

/* jasher-appearance */
.scn-jasher-appearance {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #3d2a18 30%, #1c120a 100%),
    radial-gradient(ellipse at 30% 40%, #4a2e14 0%, transparent 70%);
}
.scn-jasher-appearance .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2e1e12 0%, #1a0e06 100%);
}
.scn-jasher-appearance .figure-outline {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 75%;
  background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1e1208 100%);
  border-radius: 50% 60% 30% 30% / 70% 50% 30% 20%;
  box-shadow: inset 0 0 20px #0d0703;
  animation: ja-figure 8s ease-in-out infinite;
}
.scn-jasher-appearance .gown-drape {
  position: absolute; bottom: 10%; left: 32%; width: 36%; height: 50%;
  background: linear-gradient(180deg, #b87878 0%, #6a3e3e 100%);
  border-radius: 60% 50% 20% 30% / 80% 60% 30% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  animation: ja-gown 10s ease-in-out infinite alternate;
}
.scn-jasher-appearance .arm-shadow {
  position: absolute; bottom: 32%; left: 27%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 30% 50% 30% 20% / 50% 60% 30% 40%;
  transform: rotate(10deg);
  animation: ja-arm 7s ease-in-out infinite;
}
.scn-jasher-appearance .light-source {
  position: absolute; top: 18%; left: 45%; width: 18px; height: 18px;
  background: radial-gradient(circle, #f0c068 0%, #d09040 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 12px #c08030, 0 0 80px 24px rgba(192,128,48,.4);
  animation: ja-light 5s ease-in-out infinite alternate;
}
.scn-jasher-appearance .mirror-frame {
  position: absolute; top: 6%; right: 8%; width: 28%; height: 40%;
  background: linear-gradient(135deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 10px #1a0a04, 0 4px 12px rgba(0,0,0,.5);
  animation: ja-mirror 20s ease-in-out infinite;
}
.scn-jasher-appearance .floor-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, transparent 100%);
}
@keyframes ja-figure { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(1) } }
@keyframes ja-gown { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes ja-arm { 0% { transform: rotate(10deg) translateX(0) } 50% { transform: rotate(12deg) translateX(-2px) } 100% { transform: rotate(10deg) translateX(0) } }
@keyframes ja-light { 0% { box-shadow: 0 0 30px 8px #d09040, 0 0 60px 16px rgba(208,144,64,.3); opacity:.85 } 50% { box-shadow: 0 0 50px 14px #f0c068, 0 0 100px 24px rgba(240,192,104,.5); opacity:1 } 100% { box-shadow: 0 0 36px 10px #c08030, 0 0 72px 18px rgba(192,128,48,.35); opacity:.9 } }
@keyframes ja-mirror { 0% { opacity:.8 } 50% { opacity:.95 } 100% { opacity:.8 } }

/* jasher-dress */
.scn-jasher-dress {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #3d2a18 30%, #1c120a 100%),
    radial-gradient(ellipse at 50% 60%, #4a2e14 0%, transparent 70%);
}
.scn-jasher-dress .bg-deep {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, #2e1e12 0%, #1a0e06 100%);
}
.scn-jasher-dress .gown-body {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 55%;
  background: linear-gradient(180deg, #d4a84a 0%, #b08030 50%, #8a6020 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
  animation: jd-gown 12s ease-in-out infinite;
}
.scn-jasher-dress .sleeve-left {
  position: absolute; bottom: 38%; left: 20%; width: 12%; height: 20%;
  background: linear-gradient(135deg, #d4a84a 0%, #a07828 100%);
  border-radius: 30% 50% 30% 20% / 40% 60% 30% 40%;
  transform: rotate(-20deg);
  animation: jd-sleeve 8s ease-in-out infinite;
}
.scn-jasher-dress .sleeve-right {
  position: absolute; bottom: 38%; right: 20%; width: 12%; height: 20%;
  background: linear-gradient(225deg, #d4a84a 0%, #a07828 100%);
  border-radius: 50% 30% 20% 30% / 60% 40% 40% 30%;
  transform: rotate(20deg);
  animation: jd-sleeve 9s ease-in-out infinite reverse;
}
.scn-jasher-dress .neckline {
  position: absolute; bottom: 62%; left: 35%; width: 30%; height: 8%;
  background: radial-gradient(ellipse, #e8c060 0%, #c09030 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  animation: jd-neck 6s ease-in-out infinite alternate;
}
.scn-jasher-dress .arm-left {
  position: absolute; bottom: 43%; left: 15%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #b87878 0%, #8a5a5a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-15deg);
  animation: jd-arm 10s ease-in-out infinite;
}
.scn-jasher-dress .arm-right {
  position: absolute; bottom: 43%; right: 15%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #b87878 0%, #8a5a5a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(15deg);
  animation: jd-arm 11s ease-in-out infinite reverse;
}
.scn-jasher-dress .jewel-accent {
  position: absolute; bottom: 60%; left: 47%; width: 6%; height: 6%;
  background: radial-gradient(circle, #d4a84a 0%, #b08030 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px #c09030;
  animation: jd-jewel 4s ease-in-out infinite;
}
.scn-jasher-dress .light-play {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(232,192,96,.15) 0%, transparent 60%);
  animation: jd-light 20s ease-in-out infinite alternate;
}
@keyframes jd-gown { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) scale(1.005) } 100% { transform: translateY(0) } }
@keyframes jd-sleeve { 0% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-22deg) translateX(-2px) } 100% { transform: rotate(-20deg) translateX(0) } }
@keyframes jd-neck { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes jd-arm { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-13deg) } 100% { transform: rotate(-15deg) } }
@keyframes jd-jewel { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(1) } }
@keyframes jd-light { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }

/* ── cockatoo-loyalty (calm, dim interior) ── */
.scn-cockatoo-loyalty {
  background:
    linear-gradient(180deg, #2a1f1a 0%, #3a2a20 40%, #1f1512 100%),
    radial-gradient(ellipse at 50% 60%, #5a3a2a 0%, transparent 70%);
}
.scn-cockatoo-loyalty .bg-wall {
  position: absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #3e2e22 0%, #1e1510 100%);
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  filter: blur(2px);
  animation: cl-wall 12s ease-in-out infinite alternate;
}
.scn-cockatoo-loyalty .floor {
  position: absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #2a1e16 0%, #140e0a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-cockatoo-loyalty .professor {
  position: absolute; bottom:20%; left:40%;
  width: 30px; height: 90px;
  background: linear-gradient(180deg, #2a2020 0%, #141010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cl-professor 10s ease-in-out infinite;
}
.scn-cockatoo-loyalty .cockatoo {
  position: absolute; bottom:18%; left:55%;
  width: 22px; height: 50px;
  background: linear-gradient(180deg, #5a4030 0%, #2a1e10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cl-cockatoo 8s ease-in-out infinite;
}
.scn-cockatoo-loyalty .halo {
  position: absolute; top:15%; left:40%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(220,180,120,0.08) 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(10px);
  animation: cl-halo 6s ease-in-out infinite alternate;
}
.scn-cockatoo-loyalty .dust {
  position: absolute; top:30%; left:20%;
  width: 4px; height: 4px;
  background: rgba(200,160,100,0.06);
  border-radius: 50%;
  filter: blur(2px);
  animation: cl-dust 20s linear infinite;
}
@keyframes cl-wall { 0% { opacity:0.8 } 50% { opacity:0.9 } 100% { opacity:0.85 } }
@keyframes cl-professor { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes cl-cockatoo { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-4px) scaleY(0.95) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes cl-halo { 0% { opacity:0.3; transform: scale(0.95) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.4; transform: scale(1) } }
@keyframes cl-dust { 0% { transform: translate(0,0); opacity:0 } 10% { opacity:0.3 } 90% { opacity:0.1 } 100% { transform: translate(120px,-30px); opacity:0 } }

/* ── dinner-with-cockatoo (tense, dim interior) ── */
.scn-dinner-with-cockatoo {
  background:
    linear-gradient(180deg, #1f1715 0%, #2a1e1a 40%, #15100c 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a20 0%, transparent 80%);
}
.scn-dinner-with-cockatoo .table {
  position: absolute; bottom:10%; left:15%; right:15%; height:20%;
  background: linear-gradient(180deg, #3a2a20 0%, #1a120e 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.5);
  animation: dwc-table 4s ease-in-out infinite alternate;
}
.scn-dinner-with-cockatoo .plates {
  position: absolute; bottom:22%; left:40%; width:40px; height:12px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: dwc-plates 3s ease-in-out infinite alternate;
}
.scn-dinner-with-cockatoo .candle {
  position: absolute; bottom:28%; left:50%; width:8px; height:30px;
  background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
}
.scn-dinner-with-cockatoo .candle::after {
  content: ''; position: absolute; top:-10px; left:50%; width:6px; height:12px;
  background: radial-gradient(circle, #e0a040 0%, #b06020 70%);
  border-radius: 50% 50% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 0 16px 8px #c07030, 0 0 32px 16px rgba(192,112,48,.2);
  animation: dwc-flame 0.8s ease-in-out infinite alternate;
}
.scn-dinner-with-cockatoo .cockatoo {
  position: absolute; bottom:18%; left:55%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dwc-cockatoo 2s ease-in-out infinite;
}
.scn-dinner-with-cockatoo .lucy {
  position: absolute; bottom:18%; left:30%;
  width: 22px; height: 55px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dwc-lucy 3.5s ease-in-out infinite alternate;
}
.scn-dinner-with-cockatoo .shadow {
  position: absolute; bottom:0; left:20%; right:20%; height:15%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
  filter: blur(8px);
  animation: dwc-shadow 1.2s ease-in-out infinite alternate;
}
@keyframes dwc-table { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } 100% { transform: scaleY(1) } }
@keyframes dwc-plates { 0% { opacity:0.7; transform: translateY(0) } 100% { opacity:1; transform: translateY(-1px) } }
@keyframes dwc-flame { 0% { transform: translateX(-50%) scale(1) rotate(-5deg) } 30% { scale:1.05 } 60% { scale:0.95; rotate(5deg) } 100% { transform: translateX(-50%) scale(1.02) rotate(0) } }
@keyframes dwc-cockatoo { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-5px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes dwc-lucy { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes dwc-shadow { 0% { opacity:0.4 } 50% { opacity:0.8 } 100% { opacity:0.5 } }

/* ── cannibal-talk (funny, dim interior) ── */
.scn-cannibal-talk {
  background:
    linear-gradient(180deg, #1a1815 0%, #2a221c 40%, #14100c 100%),
    radial-gradient(ellipse at 50% 50%, #3a2e24 0%, transparent 80%);
}
.scn-cannibal-talk .table {
  position: absolute; bottom:8%; left:10%; right:10%; height:22%;
  background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 6px 16px rgba(0,0,0,.4);
  animation: ct-table 3s ease-in-out infinite;
}
.scn-cannibal-talk .pot {
  position: absolute; bottom:22%; left:45%; width:40px; height:40px;
  background: linear-gradient(180deg, #5a4634 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,.5);
  animation: ct-pot 4s ease-in-out infinite alternate;
}
.scn-cannibal-talk .archie {
  position: absolute; bottom:18%; left:60%;
  width: 24px; height: 60px;
  background: linear-gradient(180deg, #4a3a30 0%, #1e1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ct-archie 1.5s ease-in-out infinite;
}
.scn-cannibal-talk .lucy {
  position: absolute; bottom:16%; left:20%;
  width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ct-lucy 2s ease-in-out infinite alternate;
}
.scn-cannibal-talk .cockatoo {
  position: absolute; bottom:22%; left:35%;
  width: 18px; height: 45px;
  background: linear-gradient(180deg, #5a4634 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ct-cockatoo 2.8s ease-in-out infinite;
}
.scn-cannibal-talk .bubble-1, .scn-cannibal-talk .bubble-2 {
  position: absolute; bottom:50%; left:48%;
  width: 6px; height: 6px;
  background: radial-gradient(circle, rgba(200,160,100,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: ct-bubble 3s linear infinite;
}
.scn-cannibal-talk .bubble-2 { left:53%; animation-delay: -1.5s; }
@keyframes ct-table { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.96) rotate(-0.5deg) } 100% { transform: scaleY(1) rotate(0) } }
@keyframes ct-pot { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(5deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes ct-archie { 0% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-8px) rotate(2deg) } 75% { transform: translateY(-4px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ct-lucy { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-5px) scaleY(0.9) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes ct-cockatoo { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-6px) rotate(4deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes ct-bubble { 0% { transform: translateY(0) scale(1); opacity:0.6 } 50% { transform: translateY(-30px) scale(1.3); opacity:0.2 } 100% { transform: translateY(-60px) scale(1.8); opacity:0 } }

/* ── dinner-cereals-conversation (calm, dim interior) ── */
.scn-dinner-cereals-conversation {
  background:
    linear-gradient(180deg, #1f1a16 0%, #2a221c 35%, #14100c 100%),
    radial-gradient(ellipse at 50% 80%, #3a2e22 0%, transparent 70%);
}
.scn-dinner-cereals-conversation .table {
  position: absolute; bottom:10%; left:12%; right:12%; height:18%;
  background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.4);
  animation: dcc-table 15s ease-in-out infinite alternate;
}
.scn-dinner-cereals-conversation .bowl {
  position: absolute; bottom:20%; left:45%; width:36px; height:20px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
  animation: dcc-bowl 8s ease-in-out infinite;
}
.scn-dinner-cereals-conversation .spoon {
  position: absolute; bottom:24%; left:52%; width:14px; height:26px;
  background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 30% 30%;
  transform-origin: bottom center;
  animation: dcc-spoon 11s ease-in-out infinite;
}
.scn-dinner-cereals-conversation .hope {
  position: absolute; bottom:18%; left:30%;
  width: 24px; height: 60px;
  background: linear-gradient(180deg, #3a2e22 0%, #1a120e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dcc-hope 12s ease-in-out infinite alternate;
}
.scn-dinner-cereals-conversation .lady {
  position: absolute; bottom:18%; left:58%;
  width: 22px; height: 55px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dcc-lady 14s ease-in-out infinite alternate;
}
.scn-dinner-cereals-conversation .steam {
  position: absolute; bottom:32%; left:47%;
  width: 10px; height: 30px;
  background: linear-gradient(180deg, rgba(200,160,100,0.08) 0%, transparent 100%);
  filter: blur(8px);
  animation: dcc-steam 5s ease-in-out infinite;
}
@keyframes dcc-table { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes dcc-bowl { 0% { transform: scale(1) } 50% { transform: scale(0.97) } 100% { transform: scale(1) } }
@keyframes dcc-spoon { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes dcc-hope { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes dcc-lady { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes dcc-steam { 0% { transform: translateY(0) scale(1); opacity:0.3 } 50% { transform: translateY(-20px) scale(1.4); opacity:0.1 } 100% { transform: translateY(-40px) scale(0.8); opacity:0 } }

.scn-mystery-deepens {
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 50% 100%, #2a2a3a 0%, transparent 70%);
}
.scn-mystery-deepens .bg-overcast {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 40%, #2a2a3a 100%);
  animation: md-bg 12s ease-in-out infinite alternate;
}
.scn-mystery-deepens .study-wall {
  position: absolute; bottom: 42%; left: 10%; right: 10%; height: 58%;
  background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
  animation: md-wall 18s ease-in-out infinite;
}
.scn-mystery-deepens .window-sky {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 28%;
  background: linear-gradient(180deg, #5a5a6a 0%, #4a4a5a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 12px rgba(0,0,0,.4);
  animation: md-sky 8s ease-in-out infinite alternate;
}
.scn-mystery-deepens .desk {
  position: absolute; bottom: 18%; left: 15%; right: 15%; height: 14%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: md-desk 14s ease-in-out infinite;
}
.scn-mystery-deepens .papers {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #d0c0a0 0%, #b0a080 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: md-papers 6s ease-in-out infinite alternate;
}
.scn-mystery-deepens .lamp-glow {
  position: absolute; bottom: 30%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #c08040 0%, #a06030 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,.6), 0 0 60px 20px rgba(192,128,64,.3);
  animation: md-lamp 4s ease-in-out infinite alternate;
}
.scn-mystery-deepens .figure-silhouette {
  position: absolute; bottom: 14%; left: 22%; width: 10%; height: 24%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: md-figure 7s ease-in-out infinite;
}
.scn-mystery-deepens .shadow-figure {
  position: absolute; bottom: 10%; left: 60%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  opacity: 0.4;
  animation: md-shadow 9s ease-in-out infinite alternate;
}
@keyframes md-bg { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.6; } }
@keyframes md-wall { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes md-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes md-desk { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-1px); } }
@keyframes md-papers { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.03) rotate(1deg); } 100% { transform: scale(0.97) rotate(-1deg); } }
@keyframes md-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 6px #c08040; } 50% { opacity: 1; box-shadow: 0 0 40px 14px #d09050; } 100% { opacity: 0.85; box-shadow: 0 0 25px 8px #c08040; } }
@keyframes md-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(12px) rotate(0deg); } 100% { transform: translateX(16px) rotate(1deg); } }
@keyframes md-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.4; } }

.scn-jasher-explains-interest {
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 40%, #1a1a2a 100%), radial-gradient(ellipse at 30% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-jasher-explains-interest .parlor-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 50%, #2a2a3a 100%);
  animation: je-wall 14s ease-in-out infinite alternate;
}
.scn-jasher-explains-interest .window-overcast {
  position: absolute; top: 12%; right: 15%; width: 28%; height: 30%;
  background: linear-gradient(180deg, #5a5a6a 0%, #4a4a5a 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 10px rgba(0,0,0,.3);
  animation: je-window 9s ease-in-out infinite;
}
.scn-jasher-explains-interest .chair1 {
  position: absolute; bottom: 14%; left: 10%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: je-chair1 10s ease-in-out infinite alternate;
}
.scn-jasher-explains-interest .chair2 {
  position: absolute; bottom: 14%; right: 12%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: je-chair2 10s ease-in-out infinite alternate-reverse;
}
.scn-jasher-explains-interest .figure-jasher {
  position: absolute; bottom: 16%; left: 12%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: je-jasher 7s ease-in-out infinite;
}
.scn-jasher-explains-interest .figure-lucy {
  position: absolute; bottom: 16%; right: 14%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: je-lucy 6s ease-in-out infinite alternate;
}
.scn-jasher-explains-interest .small-table {
  position: absolute; bottom: 12%; left: 42%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(0,0,0,.4);
  animation: je-table 12s ease-in-out infinite;
}
.scn-jasher-explains-interest .candle {
  position: absolute; bottom: 18%; left: 46%; width: 4px; height: 12px;
  background: linear-gradient(180deg, #d0a070 0%, #8a6030 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px 2px #d0a070, 0 0 20px 6px rgba(208,160,112,.5);
  animation: je-candle 4s ease-in-out infinite alternate;
}
@keyframes je-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes je-window { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.01); } }
@keyframes je-chair1 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes je-chair2 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-0.5deg); } 100% { transform: translateY(0) rotate(0.5deg); } }
@keyframes je-jasher { 0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(6px) rotate(-1deg); } 75% { transform: translateX(9px) rotate(0deg); } }
@keyframes je-lucy { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes je-table { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes je-candle { 0% { opacity: 0.7; box-shadow: 0 0 8px 2px #d0a070; } 50% { opacity: 1; box-shadow: 0 0 16px 6px #e0b080; } 100% { opacity: 0.8; box-shadow: 0 0 10px 3px #d0a070; } }

.scn-mystery-woman-memory {
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #000010 100%), radial-gradient(ellipse at 50% 30%, #1a1a2a 0%, transparent 70%);
}
.scn-mystery-woman-memory .alley-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 40%, #000000 100%);
  animation: mw-bg 15s ease-in-out infinite alternate;
}
.scn-mystery-woman-memory .cobblestone {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,.6);
  animation: mw-cobble 20s linear infinite;
}
.scn-mystery-woman-memory .woman-shawl {
  position: absolute; bottom: 18%; left: 40%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mw-woman 8s ease-in-out infinite;
}
.scn-mystery-woman-memory .lantern-light {
  position: absolute; bottom: 30%; left: 48%; width: 8px; height: 8px;
  background: radial-gradient(circle, #a08050 0%, #705030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(160,128,80,.5), 0 0 40px 16px rgba(160,128,80,.2);
  animation: mw-lantern 5s ease-in-out infinite alternate;
}
.scn-mystery-woman-memory .fog {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 30%;
  background: linear-gradient(180deg, rgba(200,200,200,.08) 0%, rgba(200,200,200,.02) 100%);
  filter: blur(12px);
  animation: mw-fog 30s linear infinite;
}
.scn-mystery-woman-memory .shadow {
  position: absolute; bottom: 16%; left: 55%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  opacity: 0.3;
  animation: mw-shadow 10s ease-in-out infinite alternate;
}
@keyframes mw-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes mw-cobble { 0% { transform: translateX(0); } 100% { transform: translateX(-10%); } }
@keyframes mw-woman { 0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(5px) rotate(0deg); } }
@keyframes mw-lantern { 0% { opacity: 0.6; box-shadow: 0 0 15px 5px #a08050; } 50% { opacity: 1; box-shadow: 0 0 25px 10px #b09060; } 100% { opacity: 0.7; box-shadow: 0 0 18px 6px #a08050; } }
@keyframes mw-fog { 0% { transform: translateX(-20%); opacity: 0.3; } 50% { transform: translateX(10%); opacity: 0.5; } 100% { transform: translateX(40%); opacity: 0.2; } }
@keyframes mw-shadow { 0% { opacity: 0.2; } 50% { opacity: 0.4; } 100% { opacity: 0.3; } }

.scn-dinner-invitation {
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 40%, #2a1a0a 100%), radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-dinner-invitation .room-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 50%, #3a2a1a 100%);
  animation: di-back 12s ease-in-out infinite alternate;
}
.scn-dinner-invitation .window-overcast-warm {
  position: absolute; top: 8%; left: 10%; width: 25%; height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 6px;
  box-shadow: inset 0 0 10px rgba(0,0,0,.4);
  animation: di-window 10s ease-in-out infinite;
}
.scn-dinner-invitation .dining-table {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 8% 8% 2% 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: di-table 14s ease-in-out infinite;
}
.scn-dinner-invitation .plate-left {
  position: absolute; bottom: 16%; left: 22%; width: 10%; height: 6%;
  background: radial-gradient(circle, #d0c0a0 0%, #b0a080 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: di-plate 8s ease-in-out infinite alternate;
}
.scn-dinner-invitation .plate-right {
  position: absolute; bottom: 16%; right: 22%; width: 10%; height: 6%;
  background: radial-gradient(circle, #d0c0a0 0%, #b0a080 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: di-plate 8s ease-in-out infinite alternate-reverse;
}
.scn-dinner-invitation .candle-left {
  position: absolute; bottom: 22%; left: 26%; width: 4px; height: 16px;
  background: linear-gradient(180deg, #e0b080 0%, #c09060 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px rgba(224,176,128,.6), 0 0 24px 8px rgba(224,176,128,.3);
  animation: di-candle 5s ease-in-out infinite alternate;
}
.scn-dinner-invitation .candle-right {
  position: absolute; bottom: 22%; right: 26%; width: 4px; height: 16px;
  background: linear-gradient(180deg, #e0b080 0%, #c09060 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px rgba(224,176,128,.6), 0 0 24px 8px rgba(224,176,128,.3);
  animation: di-candle 5s ease-in-out infinite alternate-reverse;
}
.scn-dinner-invitation .mummy-case {
  position: absolute; bottom: 12%; left: 38%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: di-mummy 9s ease-in-out infinite;
}
.scn-dinner-invitation .figure-don {
  position: absolute; bottom: 14%; right: 8%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: di-don 7s ease-in-out infinite;
}
@keyframes di-back { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.6; } }
@keyframes di-window { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.01); } }
@keyframes di-table { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes di-plate { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(2deg); } 100% { transform: scale(0.98) rotate(-2deg); } }
@keyframes di-candle { 0% { opacity: 0.7; box-shadow: 0 0 10px 3px #e0b080; } 50% { opacity: 1; box-shadow: 0 0 20px 8px #f0c090; } 100% { opacity: 0.8; box-shadow: 0 0 14px 5px #e0b080; } }
@keyframes di-mummy { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes di-don { 0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(4px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(0deg); } }

.scn-bargain-accepted {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #e8d4b8 60%, #c2a88a 100%),
    radial-gradient(ellipse at 30% 40%, #fff8e7 0%, transparent 60%);
}
.scn-bargain-accepted .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #e8d4b8 0%, #d4bca0 100%);
  animation: ba-wall 30s ease-in-out infinite alternate;
}
.scn-bargain-accepted .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #c2a88a 0%, #a6896b 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
  animation: ba-floor 20s ease-in-out infinite alternate;
}
.scn-bargain-accepted .table {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #8b6f50 0%, #6e5539 100%);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transform: perspective(600px) rotateX(5deg);
  animation: ba-table 12s ease-in-out infinite;
}
.scn-bargain-accepted .ledger {
  position: absolute; bottom: 32%; left: 42%; width: 12%; height: 5%;
  background: linear-gradient(135deg, #f2e2c0 0%, #dac4a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ba-ledger 8s ease-in-out infinite alternate;
}
.scn-bargain-accepted .figure-left {
  position: absolute; bottom: 28%; left: 28%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-figure-left 6s ease-in-out infinite alternate;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
}
.scn-bargain-accepted .figure-right {
  position: absolute; bottom: 28%; right: 28%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-figure-right 6s ease-in-out infinite alternate-reverse;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
}
.scn-bargain-accepted .lamp {
  position: absolute; top: 25%; left: 50%; width: 8%; height: 12%;
  background: radial-gradient(circle at 50% 100%, #fff0c0 0%, #e0c080 40%, transparent 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 60px 30px rgba(255,220,140,0.4);
  animation: ba-lamp 5s ease-in-out infinite alternate;
}
.scn-bargain-accepted .shadow-left {
  position: absolute; bottom: 25%; left: 30%; width: 15%; height: 20%;
  background: rgba(0,0,0,0.15);
  filter: blur(8px);
  transform: skewX(-10deg);
  animation: ba-shadow-left 9s ease-in-out infinite alternate;
}
.scn-bargain-accepted .shadow-right {
  position: absolute; bottom: 25%; right: 30%; width: 15%; height: 20%;
  background: rgba(0,0,0,0.15);
  filter: blur(8px);
  transform: skewX(10deg);
  animation: ba-shadow-right 9s ease-in-out infinite alternate-reverse;
}

@keyframes ba-wall { 0%{ background-position: 0 0; } 50%{ background-position: 2% 1%; } 100%{ background-position: 0 0; } }
@keyframes ba-floor { 0%{ background-position: 0 0; } 50%{ background-position: 1% 1%; } 100%{ background-position: 0 0; } }
@keyframes ba-table { 0%,100%{ transform: perspective(600px) rotateX(5deg) translateY(0); } 50%{ transform: perspective(600px) rotateX(3deg) translateY(-1px); } }
@keyframes ba-ledger { 0%{ opacity:0.8; transform: perspective(300px) rotateX(0); } 50%{ opacity:1; transform: perspective(300px) rotateX(5deg); } 100%{ opacity:0.9; transform: perspective(300px) rotateX(2deg); } }
@keyframes ba-figure-left { 0%{ transform: rotate(2deg) translateY(0); } 50%{ transform: rotate(0deg) translateY(-2px); } 100%{ transform: rotate(2deg) translateY(0); } }
@keyframes ba-figure-right { 0%{ transform: rotate(-2deg) translateY(0); } 50%{ transform: rotate(0deg) translateY(-2px); } 100%{ transform: rotate(-2deg) translateY(0); } }
@keyframes ba-lamp { 0%{ opacity: 0.85; filter: brightness(0.95); } 50%{ opacity: 1; filter: brightness(1.05); } 100%{ opacity: 0.9; filter: brightness(1); } }
@keyframes ba-shadow-left { 0%{ transform: skewX(-10deg) translateX(0) scaleX(1); } 50%{ transform: skewX(-8deg) translateX(2px) scaleX(0.95); } 100%{ transform: skewX(-10deg) translateX(0) scaleX(1); } }
@keyframes ba-shadow-right { 0%{ transform: skewX(10deg) translateX(0) scaleX(1); } 50%{ transform: skewX(8deg) translateX(-2px) scaleX(0.95); } 100%{ transform: skewX(10deg) translateX(0) scaleX(1); } }

.scn-emeralds-missing {
  background:
    linear-gradient(180deg, #e8d4b8 0%, #c2a88a 40%, #a6896b 100%),
    radial-gradient(ellipse at 50% 60%, #f5e6d0 0%, transparent 70%);
}
.scn-emeralds-missing .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #d4bca0 0%, #c2a88a 100%);
  animation: em-wall 25s ease-in-out infinite alternate;
}
.scn-emeralds-missing .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #a6896b 0%, #8b7053 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.2);
  animation: em-floor 18s ease-in-out infinite alternate;
}
.scn-emeralds-missing .case-open {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 12%;
  background: linear-gradient(135deg, #5e4a36 0%, #3e2e1e 100%);
  border-radius: 6px;
  border: 4px solid #6e5539;
  transform: perspective(400px) rotateX(20deg);
  animation: em-case 7s ease-in-out infinite alternate;
}
.scn-emeralds-missing .mummy {
  position: absolute; bottom: 35%; left: 40%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #b89a7a 0%, #8b7053 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.3);
  transform: rotate(3deg);
  animation: em-mummy 6s ease-in-out infinite;
}
.scn-emeralds-missing .figure-prob {
  position: absolute; bottom: 28%; left: 22%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #2a1e14 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: em-figure-prob 4s ease-in-out infinite alternate;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-emeralds-missing .figure-pedro {
  position: absolute; bottom: 28%; right: 22%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #2a1e14 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: em-figure-pedro 4s ease-in-out infinite alternate-reverse;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-emeralds-missing .emerald-glow {
  position: absolute; bottom: 38%; left: 47%; width: 6%; height: 4%;
  background: radial-gradient(circle, #40c040 0%, #208020 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(64,192,64,0.6);
  animation: em-glow 2.5s ease-in-out infinite alternate;
}
.scn-emeralds-missing .shadow-stripe {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 2%;
  background: rgba(0,0,0,0.1);
  filter: blur(6px);
  transform: perspective(200px) rotateX(60deg);
  animation: em-stripe 9s ease-in-out infinite alternate;
}
.scn-emeralds-missing .speckle {
  position: absolute; bottom: 32%; left: 45%; width: 1%; height: 1%;
  background: #d0b050;
  border-radius: 50%;
  box-shadow: 0 0 6px #d0b050;
  animation: em-speckle 3s ease-in-out infinite;
}

@keyframes em-wall { 0%{ opacity:0.95 } 50%{ opacity:1 } 100%{ opacity:0.9 } }
@keyframes em-floor { 0%{ transform: scaleX(1) } 50%{ transform: scaleX(1.005) } 100%{ transform: scaleX(1) } }
@keyframes em-case { 0%{ transform: perspective(400px) rotateX(20deg) translateY(0); } 50%{ transform: perspective(400px) rotateX(18deg) translateY(-2px); } 100%{ transform: perspective(400px) rotateX(20deg) translateY(0); } }
@keyframes em-mummy { 0%{ transform: rotate(3deg) translateY(0); } 50%{ transform: rotate(4deg) translateY(-3px); } 100%{ transform: rotate(3deg) translateY(0); } }
@keyframes em-figure-prob { 0%{ transform: translateX(0) translateY(0) rotate(-1deg); } 50%{ transform: translateX(4px) translateY(-2px) rotate(1deg); } 100%{ transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes em-figure-pedro { 0%{ transform: translateX(0) translateY(0) rotate(1deg); } 50%{ transform: translateX(-4px) translateY(-2px) rotate(-1deg); } 100%{ transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes em-glow { 0%{ opacity:0.4; box-shadow: 0 0 30px 10px rgba(64,192,64,0.4); } 50%{ opacity:1; box-shadow: 0 0 60px 25px rgba(64,192,64,0.8); } 100%{ opacity:0.5; box-shadow: 0 0 30px 10px rgba(64,192,64,0.4); } }
@keyframes em-stripe { 0%{ opacity:0.5; transform: perspective(200px) rotateX(60deg) scaleY(1); } 50%{ opacity:0.8; transform: perspective(200px) rotateX(60deg) scaleY(1.2); } 100%{ opacity:0.5; transform: perspective(200px) rotateX(60deg) scaleY(1); } }
@keyframes em-speckle { 0%,100%{ opacity:0; transform: scale(0.8); } 50%{ opacity:1; transform: scale(1.2); } }

.scn-suspects-discussed {
  background:
    linear-gradient(180deg, #e8d4b8 0%, #c2a88a 40%, #a6896b 100%),
    radial-gradient(ellipse at 40% 30%, #f5e6d0 0%, transparent 70%);
}
.scn-suspects-discussed .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #d4bca0 0%, #c2a88a 100%);
  animation: sd-wall 20s ease-in-out infinite alternate;
}
.scn-suspects-discussed .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #a6896b 0%, #8b7053 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.2);
  animation: sd-floor 25s ease-in-out infinite alternate;
}
.scn-suspects-discussed .circle-table {
  position: absolute; bottom: 28%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #6e5539 0%, #4a3520 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: sd-table 14s ease-in-out infinite;
}
.scn-suspects-discussed .figure-young {
  position: absolute; bottom: 30%; left: 22%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #1e1610 0%, #060402 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sd-young 5s ease-in-out infinite alternate;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-suspects-discussed .figure-prof {
  position: absolute; bottom: 30%; left: 38%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #1e1610 0%, #060402 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sd-prof 5s ease-in-out infinite alternate-reverse;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-suspects-discussed .figure-lady {
  position: absolute; bottom: 30%; right: 30%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #2e2218 0%, #0e0a06 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sd-lady 5s ease-in-out infinite alternate;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-suspects-discussed .candle {
  position: absolute; bottom: 36%; left: 48%; width: 3%; height: 10%;
  background: linear-gradient(180deg, #f0e0c0 0%, #c0a070 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 20px 10px rgba(255,200,100,0.6);
  animation: sd-candle 3s ease-in-out infinite alternate;
}
.scn-suspects-discussed .hand-pointing {
  position: absolute; bottom: 34%; left: 45%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #3a2e22 0%, #1e1610 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(-30deg);
  transform-origin: bottom center;
  animation: sd-hand 4s ease-in-out infinite;
}
.scn-suspects-discussed .shadow-ring {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 70%);
  filter: blur(10px);
  animation: sd-ring 12s ease-in-out infinite alternate;
}

@keyframes sd-wall { 0%{ background-position: 0 0; } 50%{ background-position: 1% 0; } 100%{ background-position: 0 0; } }
@keyframes sd-floor { 0%{ background-position: 0 0; } 50%{ background-position: 0 1%; } 100%{ background-position: 0 0; } }
@keyframes sd-table { 0%,100%{ transform: scaleX(1) scaleY(1); } 50%{ transform: scaleX(1.01) scaleY(0.98); } }
@keyframes sd-young { 0%{ transform: translateX(0) rotate(2deg); } 50%{ transform: translateX(3px) rotate(0deg); } 100%{ transform: translateX(0) rotate(2deg); } }
@keyframes sd-prof { 0%{ transform: translateX(0) rotate(-2deg); } 50%{ transform: translateX(-3px) rotate(0deg); } 100%{ transform: translateX(0) rotate(-2deg); } }
@keyframes sd-lady { 0%{ transform: translateX(0) rotate(1deg); } 50%{ transform: translateX(-2px) rotate(-1deg); } 100%{ transform: translateX(0) rotate(1deg); } }
@keyframes sd-candle { 0%{ opacity:0.8; transform: scaleY(1); } 50%{ opacity:1; transform: scaleY(1.05); } 100%{ opacity:0.85; transform: scaleY(1); } }
@keyframes sd-hand { 0%{ transform: rotate(-30deg) scale(1); } 50%{ transform: rotate(-25deg) scale(1.1); } 100%{ transform: rotate(-30deg) scale(1); } }
@keyframes sd-ring { 0%{ opacity:0.6; transform: scaleX(1); } 50%{ opacity:1; transform: scaleX(1.05); } 100%{ opacity:0.6; transform: scaleX(1); } }

.scn-don-pedro-cant-pay {
  background:
    linear-gradient(180deg, #e8d4b8 0%, #c2a88a 40%, #a6896b 100%),
    radial-gradient(ellipse at 30% 50%, #f5e6d0 0%, transparent 70%);
}
.scn-don-pedro-cant-pay .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #d4bca0 0%, #c2a88a 100%);
  animation: dp-wall 22s ease-in-out infinite alternate;
}
.scn-don-pedro-cant-pay .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #a6896b 0%, #8b7053 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.2);
  animation: dp-floor 20s ease-in-out infinite alternate;
}
.scn-don-pedro-cant-pay .desk {
  position: absolute; bottom: 25%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #6e5539 0%, #4a3520 100%);
  border-radius: 6px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  transform: perspective(500px) rotateX(5deg);
  animation: dp-desk 15s ease-in-out infinite;
}
.scn-don-pedro-cant-pay .figure-left {
  position: absolute; bottom: 28%; left: 22%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #1e1610 0%, #060402 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dp-left 5s ease-in-out infinite alternate;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-don-pedro-cant-pay .figure-right {
  position: absolute; bottom: 28%; right: 22%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #1e1610 0%, #060402 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dp-right 5s ease-in-out infinite alternate-reverse;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3);
}
.scn-don-pedro-cant-pay .hand-out {
  position: absolute; bottom: 24%; right: 28%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #2e2218 0%, #0e0a06 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(20deg) scaleX(0.6);
  transform-origin: bottom right;
  animation: dp-hand 4s ease-in-out infinite;
}
.scn-don-pedro-cant-pay .coin-pile {
  position: absolute; bottom: 30%; left: 44%; width: 12%; height: 4%;
  background: linear-gradient(135deg, #d0b050 0%, #b09040 100%);
  border-radius: 10% 10% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: dp-coin 8s ease-in-out infinite;
}
.scn-don-pedro-cant-pay .shadow-sad {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%);
  filter: blur(12px);
  animation: dp-shadow 16s ease-in-out infinite alternate;
}
.scn-don-pedro-cant-pay .glint {
  position: absolute; top: 35%; left: 50%; width: 2%; height: 2%;
  background: #fff8d0;
  border-radius: 50%;
  box-shadow: 0 0 8px 4px #fff8d0;
  animation: dp-glint 3s ease-in-out infinite alternate;
}

@keyframes dp-wall { 0%{ background-position: 0 0; } 50%{ background-position: -1% 0; } 100%{ background-position: 0 0; } }
@keyframes dp-floor { 0%{ background-position: 0 0; } 50%{ background-position: 0 1%; } 100%{ background-position: 0 0; } }
@keyframes dp-desk { 0%,100%{ transform: perspective(500px) rotateX(5deg) translateY(0); } 50%{ transform: perspective(500px) rotateX(3deg) translateY(-2px); } }
@keyframes dp-left { 0%{ transform: translateX(0) rotate(1deg); } 50%{ transform: translateX(2px) rotate(-1deg); } 100%{ transform: translateX(0) rotate(1deg); } }
@keyframes dp-right { 0%{ transform: translateX(0) rotate(-1deg); } 50%{ transform: translateX(-2px) rotate(1deg); } 100%{ transform: translateX(0) rotate(-1deg); } }
@keyframes dp-hand { 0%{ transform: rotate(20deg) scaleX(0.6) translateY(0); } 50%{ transform: rotate(25deg) scaleX(0.6) translateY(-3px); } 100%{ transform: rotate(20deg) scaleX(0.6) translateY(0); } }
@keyframes dp-coin { 0%{ opacity:0.9; transform: scaleY(1); } 50%{ opacity:1; transform: scaleY(0.95); } 100%{ opacity:0.9; transform: scaleY(1); } }
@keyframes dp-shadow { 0%{ opacity:0.5; transform: scaleX(1); } 50%{ opacity:0.8; transform: scaleX(1.05); } 100%{ opacity:0.5; transform: scaleX(1); } }
@keyframes dp-glint { 0%{ opacity:0.3; } 50%{ opacity:1; } 100%{ opacity:0.4; } }

.scn-dinner-desolation {
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 50%, #0e0604 100%),
              radial-gradient(ellipse at 50% 100%, #4a2a1a 0%, transparent 70%);
}
.scn-dinner-desolation .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f130c 0%, #0d0705 100%);
  animation: dind-bg 15s ease-in-out infinite alternate;
}
.scn-dinner-desolation .table {
  position:absolute; bottom:20%; left:15%; right:15%; height:12%;
  background: linear-gradient(180deg, #4a3020 0%, #2c1a10 100%);
  border-radius: 4% / 20%; box-shadow: 0 -4px 20px rgba(0,0,0,0.6);
  animation: dind-table 9s ease-in-out infinite;
}
.scn-dinner-desolation .wineglass {
  position:absolute; bottom:28%; left:45%; width:8%; height:18%;
  background: radial-gradient(ellipse at 50% 20%, #8a4040 0%, #5e1a1d 50%, #2a0a0a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  box-shadow: inset 0 -4px 8px #1a0505, 0 0 12px #8a4040;
  animation: dind-wine 4s ease-in-out infinite alternate;
}
.scn-dinner-desolation .figure {
  position:absolute; bottom:22%; left:40%; width:10%; height:30%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dind-figure 6s ease-in-out infinite;
}
.scn-dinner-desolation .window {
  position:absolute; top:8%; right:8%; width:30%; height:30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border: 4px solid #2a1a10; border-radius: 4%;
  box-shadow: inset 0 0 30px #0a0505;
  animation: dind-window 12s ease-in-out infinite alternate;
}
.scn-dinner-desolation .candle {
  position:absolute; bottom:30%; left:30%; width:3%; height:10%;
  background: linear-gradient(180deg, #ffd080 0%, #c08040 60%, #402010 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 20px 6px #ffa040, 0 0 40px 12px rgba(255,160,64,0.3);
  animation: dind-candle 3s ease-in-out infinite alternate;
}
@keyframes dind-bg { 0% {opacity:0.8} 50% {opacity:1} 100% {opacity:0.7} }
@keyframes dind-table { 0%,100% {transform: translateY(0)} 50% {transform: translateY(-2px)} }
@keyframes dind-wine { 0% {opacity:0.9; transform: rotate(-2deg)} 50% {opacity:1; transform: rotate(2deg)} 100% {opacity:0.85; transform: rotate(-1deg)} }
@keyframes dind-figure { 0% {transform: translateX(0) rotate(-2deg)} 25% {transform: translateX(4%) rotate(1deg)} 50% {transform: translateX(8%) rotate(-1deg)} 75% {transform: translateX(12%) rotate(2deg)} 100% {transform: translateX(0) rotate(0deg)} }
@keyframes dind-window { 0% {opacity:0.6; filter: blur(2px)} 50% {opacity:0.9; filter: blur(0)} 100% {opacity:0.7; filter: blur(1px)} }
@keyframes dind-candle { 0% {box-shadow: 0 0 15px 4px #ffa040; opacity:0.9} 50% {box-shadow: 0 0 30px 10px #ffc060; opacity:1} 100% {box-shadow: 0 0 20px 6px #ffa040; opacity:0.85} }

.scn-jasher-sentimental-reason {
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 50%, #0e0604 100%),
              radial-gradient(ellipse at 50% 100%, #3a2010 0%, transparent 70%);
}
.scn-jasher-sentimental-reason .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f130c 0%, #0d0705 100%);
  animation: jsr-bg 18s ease-in-out infinite alternate;
}
.scn-jasher-sentimental-reason .table {
  position:absolute; bottom:18%; left:12%; right:12%; height:14%;
  background: linear-gradient(180deg, #4a3020 0%, #2c1a10 100%);
  border-radius: 4% / 20%; box-shadow: 0 -4px 20px rgba(0,0,0,0.6);
}
.scn-jasher-sentimental-reason .tablecloth {
  position:absolute; bottom:20%; left:15%; right:15%; height:12%;
  background: repeating-linear-gradient(45deg, #e8d8c0 0px, #e8d8c0 6px, #c8b8a0 6px, #c8b8a0 12px);
  border-radius: 4% / 20%; opacity:0.4;
  animation: jsr-cloth 14s ease-in-out infinite alternate;
}
.scn-jasher-sentimental-reason .widow {
  position:absolute; bottom:24%; left:35%; width:12%; height:32%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jsr-widow 8s ease-in-out infinite;
}
.scn-jasher-sentimental-reason .professor {
  position:absolute; bottom:22%; left:55%; width:14%; height:34%;
  background: linear-gradient(180deg, #1a1210 0%, #0a0605 100%);
  border-radius: 45% 55% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: jsr-prof 7s ease-in-out infinite;
}
.scn-jasher-sentimental-reason .fork {
  position:absolute; bottom:26%; left:50%; width:2%; height:8%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89880 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(15deg);
  animation: jsr-fork 5s ease-in-out infinite alternate;
}
.scn-jasher-sentimental-reason .candle {
  position:absolute; bottom:30%; left:25%; width:3%; height:10%;
  background: linear-gradient(180deg, #ffd080 0%, #c08040 60%, #402010 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 20px 6px #ffa040, 0 0 40px 12px rgba(255,160,64,0.3);
  animation: jsr-candle 3s ease-in-out infinite alternate;
}
@keyframes jsr-bg { 0% {opacity:0.7} 50% {opacity:0.9} 100% {opacity:0.6} }
@keyframes jsr-cloth { 0% {opacity:0.3; transform: scale(1)} 50% {opacity:0.5; transform: scale(1.02)} 100% {opacity:0.35; transform: scale(1)} }
@keyframes jsr-widow { 0% {transform: translateX(0) rotate(-1deg)} 25% {transform: translateX(3%) rotate(2deg)} 50% {transform: translateX(0) rotate(-2deg)} 75% {transform: translateX(-3%) rotate(1deg)} 100% {transform: translateX(0) rotate(0deg)} }
@keyframes jsr-prof { 0% {transform: translateX(0) rotate(0deg)} 33% {transform: translateX(2%) rotate(-2deg)} 66% {transform: translateX(-2%) rotate(3deg)} 100% {transform: translateX(0) rotate(0deg)} }
@keyframes jsr-fork { 0% {transform: rotate(10deg) translateY(0)} 50% {transform: rotate(20deg) translateY(-4%)} 100% {transform: rotate(10deg) translateY(0)} }
@keyframes jsr-candle { 0% {box-shadow: 0 0 15px 4px #ffa040; opacity:0.9} 50% {box-shadow: 0 0 30px 10px #ffc060; opacity:1} 100% {box-shadow: 0 0 20px 6px #ffa040; opacity:0.85} }

.scn-tahoser-lecture {
  background: linear-gradient(180deg, #2a251a 0%, #1a1510 50%, #0e0c08 100%),
              radial-gradient(ellipse at 50% 100%, #3a3020 0%, transparent 70%);
}
.scn-tahoser-lecture .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f1a12 0%, #0d0a08 100%);
  animation: tal-bg 20s ease-in-out infinite alternate;
}
.scn-tahoser-lecture .desk {
  position:absolute; bottom:15%; left:10%; right:10%; height:15%;
  background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%);
  border-radius: 6% / 25%; box-shadow: 0 -6px 30px rgba(0,0,0,0.5);
}
.scn-tahoser-lecture .scroll {
  position:absolute; bottom:25%; left:30%; width:30%; height:8%;
  background: linear-gradient(180deg, #d4c8a0 0%, #b8a880 50%, #9a8a6a 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 10% 10%;
  transform-origin: left center;
  animation: tal-scroll 12s ease-in-out infinite alternate;
}
.scn-tahoser-lecture .professor {
  position:absolute; bottom:20%; left:50%; width:12%; height:35%;
  background: linear-gradient(180deg, #1a1512 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tal-prof 8s ease-in-out infinite;
}
.scn-tahoser-lecture .lamp {
  position:absolute; bottom:30%; left:20%; width:4%; height:12%;
  background: linear-gradient(180deg, #e8d0a0 0%, #b89868 60%, #403020 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 0 40px 12px #e8d0a0, 0 0 80px 25px rgba(232,208,160,0.2);
  animation: tal-lamp 4s ease-in-out infinite alternate;
}
@keyframes tal-bg { 0% {opacity:0.8} 50% {opacity:0.95} 100% {opacity:0.75} }
@keyframes tal-scroll { 0% {transform: scaleX(0.95) translateX(0)} 50% {transform: scaleX(1.05) translateX(5%)} 100% {transform: scaleX(0.98) translateX(0)} }
@keyframes tal-prof { 0% {transform: translateX(0) rotate(0deg)} 33% {transform: translateX(3%) rotate(-3deg)} 66% {transform: translateX(-3%) rotate(4deg)} 100% {transform: translateX(0) rotate(0deg)} }
@keyframes tal-lamp { 0% {box-shadow: 0 0 30px 10px #e8d0a0; opacity:0.9} 50% {box-shadow: 0 0 50px 18px #f0e0c0; opacity:1} 100% {box-shadow: 0 0 35px 12px #e8d0a0; opacity:0.85} }

.scn-expedition-need-money {
  background: linear-gradient(180deg, #1a1010 0%, #0f0808 50%, #050202 100%),
              radial-gradient(ellipse at 50% 0%, #2a1a1a 0%, transparent 70%);
}
.scn-expedition-need-money .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #120a0a 0%, #050202 100%);
  animation: exn-bg 10s ease-in-out infinite alternate;
}
.scn-expedition-need-money .tent {
  position:absolute; top:5%; left:10%; right:10%; bottom:20%;
  background: linear-gradient(135deg, #2a1a12 0%, #1a0e08 50%, #0a0505 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  animation: exn-tent 8s ease-in-out infinite alternate;
}
.scn-expedition-need-money .map {
  position:absolute; bottom:25%; left:25%; width:40%; height:10%;
  background: repeating-linear-gradient(0deg, #d4c8a0 0px, #d4c8a0 4px, #b8a880 4px, #b8a880 8px);
  border-radius: 4%; opacity:0.7;
  animation: exn-map 5s ease-in-out infinite alternate;
}
.scn-expedition-need-money .gun {
  position:absolute; bottom:30%; left:40%; width:20%; height:4%;
  background: linear-gradient(90deg, #4a4038 0%, #2a2018 50%, #1a1008 100%);
  border-radius: 20% 50% 50% 20%;
  transform: rotate(-15deg);
  animation: exn-gun 4s ease-in-out infinite alternate;
}
.scn-expedition-need-money .figure {
  position:absolute; bottom:22%; left:35%; width:12%; height:32%;
  background: linear-gradient(180deg, #1a1212 0%, #0a0606 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: exn-figure 6s ease-in-out infinite;
}
.scn-expedition-need-money .lantern {
  position:absolute; bottom:28%; left:20%; width:3%; height:8%;
  background: radial-gradient(circle at 50% 30%, #ffa040 0%, #c06020 60%, #402010 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 0 30px 8px #ffa040, 0 0 60px 20px rgba(255,160,64,0.4);
  animation: exn-lantern 3s ease-in-out infinite alternate;
}
.scn-expedition-need-money .shadow {
  position:absolute; bottom:20%; left:30%; width:30%; height:5%;
  background: radial-gradient(ellipse, #0a0505 0%, transparent 70%);
  animation: exn-shadow 6s ease-in-out infinite alternate;
}
@keyframes exn-bg { 0% {opacity:0.6} 50% {opacity:0.9} 100% {opacity:0.5} }
@keyframes exn-tent { 0% {transform: scaleY(1) translateY(0)} 50% {transform: scaleY(1.02) translateY(-2%)} 100% {transform: scaleY(1) translateY(0)} }
@keyframes exn-map { 0% {opacity:0.5; transform: translateX(0) scaleY(1)} 50% {opacity:0.8; transform: translateX(5%) scaleY(1.05)} 100% {opacity:0.6; transform: translateX(0) scaleY(1)} }
@keyframes exn-gun { 0% {transform: rotate(-18deg) translateY(0)} 50% {transform: rotate(-10deg) translateY(-3%)} 100% {transform: rotate(-15deg) translateY(0)} }
@keyframes exn-figure { 0% {transform: translateX(0) rotate(-3deg)} 25% {transform: translateX(5%) rotate(2deg)} 50% {transform: translateX(10%) rotate(-1deg)} 75% {transform: translateX(5%) rotate(3deg)} 100% {transform: translateX(0) rotate(0deg)} }
@keyframes exn-lantern { 0% {box-shadow: 0 0 20px 6px #ffa040; opacity:0.8} 50% {box-shadow: 0 0 40px 14px #ffc060; opacity:1} 100% {box-shadow: 0 0 25px 8px #ffa040; opacity:0.75} }
@keyframes exn-shadow { 0% {opacity:0.4; transform: scaleX(1)} 50% {opacity:0.7; transform: scaleX(1.1)} 100% {opacity:0.5; transform: scaleX(1)} }

/* scene 1: random-room-meditation */
.scn-random-room-meditation {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #2a1a0a 100%), radial-gradient(ellipse at 50% 60%, #7a5a3a 0%, transparent 70%);
}
.scn-random-room-meditation .wall {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
  animation: rrm-wall 12s ease-in-out infinite alternate;
}
.scn-random-room-meditation .floor {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-random-room-meditation .pillar {
  position:absolute; left:15%; bottom:35%; width:8%; height:65%;
  background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 50%, #4a3a2a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 4px 0 8px rgba(0,0,0,.4);
  animation: rrm-pillar 20s ease-in-out infinite;
}
.scn-random-room-meditation .figure {
  position:absolute; bottom:20%; left:50%; width:32px; height:60px;
  transform: translate(-50%,0);
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: rrm-figure 6s ease-in-out infinite;
}
.scn-random-room-meditation .jewel {
  position:absolute; bottom:25%; left:50%; width:12px; height:12px;
  transform: translate(-50%,0);
  background: radial-gradient(circle, #c8a060 0%, #806030 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,.4);
  animation: rrm-jewel 4s ease-in-out infinite alternate;
}
.scn-random-room-meditation .shadow {
  position:absolute; bottom:14%; left:45%; width:40px; height:12px;
  background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: rrm-shadow 6s ease-in-out infinite;
}
.scn-random-room-meditation .glow {
  position:absolute; bottom:23%; left:48%; width:30px; height:30px;
  background: radial-gradient(circle, rgba(200,160,96,.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: rrm-glow 4s ease-in-out infinite alternate;
}
@keyframes rrm-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes rrm-pillar { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rrm-figure { 0%,100% { transform: translate(-50%,0) rotate(0deg) } 25% { transform: translate(-50%,-2px) rotate(-2deg) } 75% { transform: translate(-50%,-1px) rotate(2deg) } }
@keyframes rrm-jewel { 0% { box-shadow: 0 0 15px 4px #b08040, 0 0 30px 8px rgba(176,128,64,.3); opacity:.8 } 50% { box-shadow: 0 0 25px 8px #d0a060, 0 0 50px 16px rgba(208,160,96,.5); opacity:1 } 100% { box-shadow: 0 0 18px 5px #b08040, 0 0 35px 10px rgba(176,128,64,.4); opacity:.9 } }
@keyframes rrm-shadow { 0%,100% { transform: scale(1) } 50% { transform: scale(1.1) } }
@keyframes rrm-glow { 0% { transform: scale(.9); opacity:.5 } 50% { transform: scale(1.1); opacity:.8 } 100% { transform: scale(1); opacity:.6 } }

/* scene 2: fort-mess-evening */
.scn-fort-mess-evening {
  background: linear-gradient(180deg, #c8b090 0%, #e8d8c0 30%, #a89878 100%), radial-gradient(ellipse at 50% 0%, #f0e0c8 0%, transparent 70%);
}
.scn-fort-mess-evening .wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a888 100%);
  border-radius: 0 0 20% 20% / 0 0 5% 5%;
  animation: fme-wall 15s ease-in-out infinite alternate;
}
.scn-fort-mess-evening .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #786858 0%, #584838 100%);
  box-shadow: inset 0 6px 14px rgba(0,0,0,.3);
}
.scn-fort-mess-evening .table {
  position:absolute; bottom:20%; left:20%; right:20%; height:10%;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,.3);
  animation: fme-table 8s ease-in-out infinite;
}
.scn-fort-mess-evening .figure-left {
  position:absolute; bottom:25%; left:25%; width:24px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fme-figure-l 5s ease-in-out infinite;
}
.scn-fort-mess-evening .figure-right {
  position:absolute; bottom:25%; right:25%; width:24px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fme-figure-r 5s ease-in-out infinite 2.5s;
}
.scn-fort-mess-evening .candle {
  position:absolute; bottom:30%; left:50%; width:6px; height:20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0e0c0 0%, #c8b090 100%);
  border-radius: 10% 10% 40% 40% / 30% 30% 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
}
.scn-fort-mess-evening .flame {
  position:absolute; bottom:50%; left:50%; width:10px; height:14px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffe080 0%, #ffb040 60%, #ff8010 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 6px #ffb040, 0 0 40px 12px rgba(255,176,64,.5);
  animation: fme-flame 1.5s ease-in-out infinite alternate;
}
@keyframes fme-wall { 0% { opacity:.95 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes fme-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes fme-figure-l { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(3deg) translateY(-1px) } }
@keyframes fme-figure-r { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(-3deg) translateY(-1px) } }
@keyframes fme-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); opacity:.9 } 50% { transform: translateX(-50%) scaleY(1.2) rotate(2deg); opacity:1 } 100% { transform: translateX(-50%) scaleY(1) rotate(-1deg); opacity:.95 } }

/* scene 3: random-room-evening */
.scn-random-room-evening {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 30%, #1a0e00 100%), radial-gradient(ellipse at 50% 50%, #5a3a2a 0%, transparent 70%);
}
.scn-random-room-evening .wall {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 0 0 25% 25% / 0 0 8% 8%;
  animation: rre-wall 14s ease-in-out infinite alternate;
}
.scn-random-room-evening .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0e0500 100%);
  box-shadow: inset 0 6px 16px rgba(0,0,0,.7);
}
.scn-random-room-evening .desk {
  position:absolute; bottom:25%; left:20%; right:20%; height:8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -4px 6px rgba(0,0,0,.5);
  animation: rre-desk 10s ease-in-out infinite;
}
.scn-random-room-evening .figure {
  position:absolute; bottom:20%; left:50%; width:28px; height:55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
  animation: rre-figure 5s ease-in-out infinite;
}
.scn-random-room-evening .lamp {
  position:absolute; bottom:30%; left:35%; width:14px; height:20px;
  background: radial-gradient(circle, #d0b080 0%, #a08060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 8px #b09060, 0 0 60px 16px rgba(176,144,96,.4);
  animation: rre-lamp 3s ease-in-out infinite alternate;
}
.scn-random-room-evening .shadow {
  position:absolute; bottom:15%; left:40%; width:50px; height:10px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  border-radius: 50%;
  animation: rre-shadow 5s ease-in-out infinite;
}
@keyframes rre-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes rre-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rre-figure { 0%,100% { transform: translateX(-50%) rotate(0deg) } 30% { transform: translateX(-48%) rotate(5deg) } 70% { transform: translateX(-52%) rotate(-4deg) } }
@keyframes rre-lamp { 0% { box-shadow: 0 0 20px 6px #b09060, 0 0 40px 12px rgba(176,144,96,.3); opacity:.8 } 50% { box-shadow: 0 0 35px 10px #d0b080, 0 0 70px 20px rgba(208,176,128,.5); opacity:1 } 100% { box-shadow: 0 0 25px 8px #b09060, 0 0 50px 15px rgba(176,144,96,.35); opacity:.9 } }
@keyframes rre-shadow { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } }

/* scene 4: path-to-jasher-cottage */
.scn-path-to-jasher-cottage {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 30%, #0e0e1e 100%), radial-gradient(ellipse at 50% 80%, #1a1a3a 0%, transparent 70%);
}
.scn-path-to-jasher-cottage .sky {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #141428 100%);
  animation: ptjc-sky 20s ease-in-out infinite alternate;
}
.scn-path-to-jasher-cottage .ground {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1e 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-path-to-jasher-cottage .path {
  position:absolute; bottom:20%; left:30%; right:30%; height:30%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  clip-path: polygon(15% 0%, 85% 0%, 100% 100%, 0% 100%);
  animation: ptjc-path 8s ease-in-out infinite;
}
.scn-path-to-jasher-cottage .tree-left {
  position:absolute; bottom:30%; left:8%; width:12%; height:70%;
  background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 100%);
  border-radius: 20% 20% 0 0;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: ptjc-tree-l 12s ease-in-out infinite;
}
.scn-path-to-jasher-cottage .tree-right {
  position:absolute; bottom:30%; right:8%; width:12%; height:70%;
  background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 100%);
  border-radius: 20% 20% 0 0;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: ptjc-tree-r 15s ease-in-out infinite;
}
.scn-path-to-jasher-cottage .figure {
  position:absolute; bottom:18%; left:50%; width:22px; height:48px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3e 0%, #0e0e1e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: ptjc-figure 4s ease-in-out infinite;
}
.scn-path-to-jasher-cottage .lantern {
  position:absolute; bottom:20%; left:53%; width:8px; height:8px;
  background: radial-gradient(circle, #c0a060 0%, #806030 100%);
  border-radius: 50%;
  box-shadow: 0 0 24px 6px #a08040, 0 0 48px 12px rgba(160,128,64,.5);
  animation: ptjc-lantern 3s ease-in-out infinite alternate;
}
.scn-path-to-jasher-cottage .rain-1 {
  position:absolute; inset:0;
  background: repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(255,255,255,.1) 30px, rgba(255,255,255,.1) 31px);
  animation: ptjc-rain1 1.5s linear infinite;
}
.scn-path-to-jasher-cottage .rain-2 {
  position:absolute; inset:0;
  background: repeating-linear-gradient(0deg, transparent, transparent 20px, rgba(255,255,255,.08) 20px, rgba(255,255,255,.08) 21px);
  animation: ptjc-rain2 2s linear infinite;
}
@keyframes ptjc-sky { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes ptjc-path { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ptjc-tree-l { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes ptjc-tree-r { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } }
@keyframes ptjc-figure { 0%,100% { transform: translateX(-50%) rotate(0deg) } 25% { transform: translateX(-48%) rotate(2deg) } 75% { transform: translateX(-52%) rotate(-2deg) } }
@keyframes ptjc-lantern { 0% { transform: rotate(-5deg); opacity:.8 } 50% { transform: rotate(5deg); opacity:1 } 100% { transform: rotate(-3deg); opacity:.9 } }
@keyframes ptjc-rain1 { 0% { background-position: 0 0 } 100% { background-position: 0 30px } }
@keyframes ptjc-rain2 { 0% { background-position: 0 0 } 100% { background-position: 0 20px } }

/* scene: mummy-arrival-news — calm, sunlit interior with two figures */
.scn-mummy-arrival-news {
  background: linear-gradient(180deg, #f5e6c8 0%, #d9b88c 40%, #b08a6a 100%),
              radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 70%);
}
.scn-mummy-arrival-news .wall { position:absolute; inset:0 0 15% 0; background: #c9af93; }
.scn-mummy-arrival-news .window { position:absolute; top:10%; left:65%; width:100px; height:130px; background: linear-gradient(180deg, #c8e0ff 0%, #eaf4ff 100%); border: 8px solid #8b7355; border-radius:6px 6px 50% 50% / 6px 6px 30% 30%; box-shadow: inset 0 0 30px rgba(255, 240, 200, 0.5); animation: s1-window 8s ease-in-out infinite alternate; }
.scn-mummy-arrival-news .light-rays { position:absolute; top:10%; left:65%; width:100px; height:180px; background: linear-gradient(180deg, rgba(255, 240, 180, 0.3) 0%, transparent 80%); clip-path: polygon(20% 0, 80% 0, 100% 100%, 0% 100%); animation: s1-rays 6s ease-in-out infinite; }
.scn-mummy-arrival-news .figure-man { position:absolute; bottom:10%; left:45%; width:40px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: s1-man 5s ease-in-out infinite; }
.scn-mummy-arrival-news .figure-woman { position:absolute; bottom:10%; left:32%; width:36px; height:65px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: s1-woman 5s ease-in-out infinite; box-shadow: -8px 0 12px rgba(0,0,0,0.1); }
.scn-mummy-arrival-news .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.3); }
.scn-mummy-arrival-news .curtain { position:absolute; top:10%; left:62%; width:6px; height:130px; background: linear-gradient(180deg, #c8a882 0%, #a88a6a 100%); border-radius: 50%; box-shadow: 8px 0 0 #b89a7a, 16px 0 0 #a88a6a; animation: s1-curtain 12s ease-in-out infinite alternate; }

@keyframes s1-window { 0% { opacity:0.9; } 50% { opacity:1; box-shadow: inset 0 0 60px rgba(255,240,200,0.7); } 100% { opacity:0.85; } }
@keyframes s1-rays { 0% { opacity:0.3; transform:scale(1); } 50% { opacity:0.6; transform:scale(1.05); } 100% { opacity:0.2; transform:scale(0.95); } }
@keyframes s1-man { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(10px) translateY(-5px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes s1-woman { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 50% { transform: translateX(-8px) translateY(-3px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes s1-curtain { 0% { clip-path: inset(0 0 0 0); } 50% { clip-path: inset(0 20% 0 0); } 100% { clip-path: inset(0 0 0 0); } }

/* scene: mummy-lorry-arrives — tense, sunlit, lorry and case */
.scn-mummy-lorry-arrives {
  background: linear-gradient(180deg, #6cb8e8 0%, #a0d0f0 40%, #d8e8f8 100%),
              radial-gradient(ellipse at 30% 80%, #e8f0f8 0%, transparent 60%);
}
.scn-mummy-lorry-arrives .sky { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #7ac0e8 0%, #c0e0f8 100%); animation: s2-sky 12s ease-in-out infinite alternate; }
.scn-mummy-lorry-arrives .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #b8a888 0%, #9a7a5a 100%); border-radius: 30% 70% 0 0 / 20% 40% 0 0; }
.scn-mummy-lorry-arrives .lorry-cab { position:absolute; bottom:25%; left:20%; width:80px; height:50px; background: linear-gradient(180deg, #4a6a8a 0%, #2a4a6a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%; box-shadow: -10px 0 20px rgba(0,0,0,0.3), inset 0 -10px 0 #1a3a5a; animation: s2-lorry 4s ease-in-out infinite; }
.scn-mummy-lorry-arrives .lorry-cargo { position:absolute; bottom:25%; left: calc(20% + 80px); width:120px; height:60px; background: linear-gradient(180deg, #5a7a9a 0%, #3a5a7a 100%); border-radius: 10% 10% 10% 10% / 20% 20% 10% 10%; box-shadow: 0 10px 20px rgba(0,0,0,0.4); animation: s2-lorry 4s ease-in-out infinite 0.1s; }
.scn-mummy-lorry-arrives .case { position:absolute; bottom:30%; left:45%; width:60px; height:80px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 0 30px rgba(200, 180, 120, 0.5), inset 0 0 10px #1a0a00; animation: s2-case 6s ease-in-out infinite alternate; transform: rotate(5deg); }
.scn-mummy-lorry-arrives .driver { position:absolute; bottom:20%; left:15%; width:20px; height:45px; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: s2-driver 3s ease-in-out infinite; }
.scn-mummy-lorry-arrives .dust-a { position:absolute; bottom:15%; left:30%; width:40px; height:20px; background: rgba(180, 160, 130, 0.4); border-radius: 50%; filter: blur(4px); animation: s2-dust 5s linear infinite; }
.scn-mummy-lorry-arrives .dust-b { position:absolute; bottom:12%; left:55%; width:30px; height:15px; background: rgba(160, 140, 110, 0.3); border-radius: 50%; filter: blur(3px); animation: s2-dust 7s linear infinite 2s; }

@keyframes s2-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes s2-lorry { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes s2-case { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-5px); box-shadow: 0 0 60px rgba(200,180,120,0.7); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes s2-driver { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes s2-dust { 0% { opacity:0.6; transform: scale(1) translateX(0); } 50% { opacity:1; transform: scale(1.3) translateX(20px); } 100% { opacity:0; transform: scale(0.5) translateX(50px); } }

/* scene: lorry-driver-question — tense, sunlit, Lucy on balcony */
.scn-lorry-driver-question {
  background: linear-gradient(180deg, #b8d0e0 0%, #d8e8f0 40%, #e8f0f8 100%),
              radial-gradient(ellipse at 50% 20%, #f0f8ff 0%, transparent 70%);
}
.scn-lorry-driver-question .building { position:absolute; bottom:0; left:0; right:0; height:70%; background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%); border-radius: 10% 10% 0 0 / 20% 20% 0 0; }
.scn-lorry-driver-question .balcony { position:absolute; bottom:50%; left:20%; width:60%; height:8%; background: linear-gradient(180deg, #a09080 0%, #807060 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.2); animation: s3-balcony 8s ease-in-out infinite; }
.scn-lorry-driver-question .railing { position:absolute; bottom:56%; left:20%; width:60%; height:4%; background: repeating-linear-gradient(90deg, #605040 0px, #605040 4px, transparent 4px, transparent 10px); animation: s3-railing 6s ease-in-out infinite alternate; }
.scn-lorry-driver-question .lucy { position:absolute; bottom:58%; left:25%; width:30px; height:50px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: s3-lucy 5s ease-in-out infinite; box-shadow: 2px 2px 6px rgba(0,0,0,0.2); }
.scn-lorry-driver-question .driver { position:absolute; bottom:30%; left:40%; width:22px; height:50px; background: #1a1a1a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: s3-driver 4s ease-in-out infinite; }
.scn-lorry-driver-question .case { position:absolute; bottom:20%; left:45%; width:50px; height:70px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 0 20px rgba(200,180,120,0.4); animation: s3-case 7s ease-in-out infinite alternate; }
.scn-lorry-driver-question .ground { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #a09080 0%, #807060 100%); }

@keyframes s3-balcony { 0% { clip-path: inset(0 0 0 0); } 50% { clip-path: inset(0 5% 0 5%); } 100% { clip-path: inset(0 0 0 0); } }
@keyframes s3-railing { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes s3-lucy { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(10px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(20px) translateY(0) rotate(-1deg); } 75% { transform: translateX(30px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(40px) translateY(0) rotate(0); } }
@keyframes s3-driver { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes s3-case { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-4px); box-shadow: 0 0 40px rgba(200,180,120,0.6); } 100% { transform: rotate(-3deg) translateY(0); } }

/* scene: museum-rage — tense, dim interior, angry father and case */
.scn-museum-rage {
  background: linear-gradient(180deg, #2a1a1a 0%, #3a2a2a 30%, #4a3a3a 100%),
              radial-gradient(ellipse at 50% 50%, #5a4a4a 0%, transparent 70%);
}
.scn-museum-rage .wall { position:absolute; inset:0 0 0 0; background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 100%); box-shadow: inset 0 0 60px rgba(0,0,0,0.5); }
.scn-museum-rage .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 0 0 10% 10% / 0 0 5% 5%; }
.scn-museum-rage .mummy-case { position:absolute; bottom:15%; left:50%; width:60px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 6% 6% 4% 4%; box-shadow: 0 0 40px rgba(180, 160, 100, 0.4), inset 0 0 20px #1a0a00; animation: s4-case 6s ease-in-out infinite alternate; }
.scn-museum-rage .father { position:absolute; bottom:10%; left:30%; width:40px; height:70px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: s4-father 5s ease-in-out infinite; }
.scn-museum-rage .daughter { position:absolute; bottom:10%; left:55%; width:32px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: s4-daughter 6s ease-in-out infinite; }
.scn-museum-rage .spotlight { position:absolute; top:5%; left:35%; width:30%; height:90%; background: radial-gradient(ellipse at 50% 0%, rgba(255, 230, 180, 0.15) 0%, transparent 70%); pointer-events: none; animation: s4-spot 8s ease-in-out infinite alternate; }
.scn-museum-rage .column { position:absolute; bottom:10%; left:20%; width:20px; height:80%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0 / 20% 20% 0 0; box-shadow: -5px 0 10px rgba(0,0,0,0.5); animation: s4-column 12s ease-in-out infinite; }

@keyframes s4-case { 0% { box-shadow: 0 0 40px rgba(180,160,100,0.4); } 50% { box-shadow: 0 0 80px rgba(200,180,120,0.6); } 100% { box-shadow: 0 0 30px rgba(160,140,80,0.3); } }
@keyframes s4-father { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(-10px) rotate(3deg); } 50% { transform: translateX(-20px) rotate(-2deg); } 75% { transform: translateX(-10px) rotate(4deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes s4-daughter { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-8px) translateY(-3px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes s4-spot { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.5; } }
@keyframes s4-column { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }

.scn-random-room-manuscript-discussion {
  background: linear-gradient(180deg, #e8dcc8 0%, #c4b49a 40%, #a6927a 100%), radial-gradient(ellipse at 80% 20%, #fff8e0 0%, transparent 50%);
}
.scn-random-room-manuscript-discussion .wall {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(135deg, #e8dcc8, #d4c4a8);
}
.scn-random-room-manuscript-discussion .floor {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a42 100%);
  border-radius: 60% 40% 0 0 / 20% 30% 0 0;
}
.scn-random-room-manuscript-discussion .window {
  position:absolute; top:15%; left:65%; width:30%; height:35%;
  background: radial-gradient(ellipse at 50% 50%, #c4d8f0 0%, #a0b8d8 50%, #7a96b8 100%);
  border-radius: 10%;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.3);
  animation: rm-glow 6s ease-in-out infinite alternate;
}
.scn-random-room-manuscript-discussion .desk {
  position:absolute; bottom:28%; left:35%; width:35%; height:12%;
  background: linear-gradient(180deg, #5a4a32 0%, #3a2a1a 100%);
  border-radius: 8%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: rm-bob 8s ease-in-out infinite;
}
.scn-random-room-manuscript-discussion .manuscript {
  position:absolute; bottom:32%; left:43%; width:12%; height:7%;
  background: linear-gradient(135deg, #f5eedc 0%, #ddd4c0 100%);
  border-radius: 5% 20% 10% 5%;
  transform: rotate(-3deg);
  animation: rm-paper 10s ease-in-out infinite alternate;
}
.scn-random-room-manuscript-discussion .figure-left {
  position:absolute; bottom:22%; left:25%; width:14%; height:32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rm-sway-l 6s ease-in-out infinite;
}
.scn-random-room-manuscript-discussion .figure-right {
  position:absolute; bottom:22%; right:25%; width:14%; height:30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rm-sway-r 7s ease-in-out infinite reverse;
}
.scn-random-room-manuscript-discussion .candle {
  position:absolute; bottom:25%; left:52%; width:4%; height:8%;
  background: linear-gradient(180deg, #f0d890 0%, #d4a040 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(240,216,144,0.6), 0 0 60px 20px rgba(240,216,144,0.3);
  animation: rm-flame 3s ease-in-out infinite alternate;
}
@keyframes rm-glow {
  0% { opacity: 0.85; box-shadow: inset 0 0 10px rgba(255,255,240,0.2); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,240,0.5); }
  100% { opacity: 0.9; box-shadow: inset 0 0 15px rgba(255,255,240,0.3); }
}
@keyframes rm-bob {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes rm-paper {
  0% { transform: rotate(-3deg) scale(1); }
  50% { transform: rotate(-1deg) scale(1.02); }
  100% { transform: rotate(-4deg) scale(0.98); }
}
@keyframes rm-sway-l {
  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 rm-sway-r {
  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 rm-flame {
  0% { transform: scaleY(1) scaleX(1); opacity: 0.9; }
  50% { transform: scaleY(1.2) scaleX(0.9); opacity: 1; }
  100% { transform: scaleY(0.9) scaleX(1.1); opacity: 0.8; }
}

.scn-fort-departure {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b88a 40%, #b8986a 100%), radial-gradient(ellipse at 60% 30%, #fff8e0 0%, transparent 50%);
}
.scn-fort-departure .wall {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(90deg, #c8b89a 0%, #e0d0b8 50%, #c8b89a 100%);
}
.scn-fort-departure .floor {
  position:absolute; bottom:0; left:0; right:0; height:50%;
  background: linear-gradient(180deg, #9a8a72 0%, #7a6a52 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
}
.scn-fort-departure .door {
  position:absolute; bottom:5%; left:20%; width:25%; height:70%;
  background: linear-gradient(180deg, #5a4a32 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.4);
  animation: fd-door 12s ease-in-out infinite;
}
.scn-fort-departure .light-beam {
  position:absolute; bottom:5%; left:20%; width:25%; height:70%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,240,210,0.4) 0%, transparent 70%);
  animation: fd-light 4s ease-in-out infinite alternate;
}
.scn-fort-departure .figure-left {
  position:absolute; bottom:22%; left:30%; width:14%; 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: fd-move-l 8s ease-in-out infinite;
}
.scn-fort-departure .figure-right {
  position:absolute; bottom:22%; right:30%; width:14%; 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: fd-move-r 8s ease-in-out infinite reverse;
}
.scn-fort-departure .handshake {
  position:absolute; bottom:30%; left:48%; width:6%; height:10%;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 10px 3px rgba(255,240,200,0.5);
  animation: fd-shake 4s ease-in-out infinite alternate;
}
@keyframes fd-door {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(-15deg); }
  100% { transform: rotateY(0deg); }
}
@keyframes fd-light {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fd-move-l {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(2deg) translateX(3px); }
  50% { transform: rotate(0deg) translateX(0); }
  75% { transform: rotate(-2deg) translateX(-3px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes fd-move-r {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(-2deg) translateX(-3px); }
  50% { transform: rotate(0deg) translateX(0); }
  75% { transform: rotate(2deg) translateX(3px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes fd-shake {
  0% { transform: rotate(0deg) scaleY(1); }
  33% { transform: rotate(5deg) scaleY(1.1); }
  66% { transform: rotate(-5deg) scaleY(0.9); }
  100% { transform: rotate(0deg) scaleY(1); }
}

.scn-jasher-cottage-pink-drawingroom {
  background: linear-gradient(180deg, #f0d8d0 0%, #e0c0b8 40%, #d0a8a0 100%), radial-gradient(ellipse at 60% 20%, #ffe0d8 0%, transparent 50%);
}
.scn-jasher-cottage-pink-drawingroom .bg-wall {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(135deg, #f0d0c8 0%, #e0b8b0 100%);
}
.scn-jasher-cottage-pink-drawingroom .floor {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #b09080 0%, #907060 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
}
.scn-jasher-cottage-pink-drawingroom .window-curtain {
  position:absolute; top:10%; left:15%; width:35%; height:45%;
  background: linear-gradient(180deg, #e0a0a0 0%, #c08080 100%);
  border-radius: 10% 30% 10% 30%;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
  animation: jc-curtain 14s ease-in-out infinite alternate;
}
.scn-jasher-cottage-pink-drawingroom .table {
  position:absolute; bottom:25%; left:35%; width:30%; height:10%;
  background: linear-gradient(180deg, #8a6a5a 0%, #6a4a3a 100%);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: jc-bob 10s ease-in-out infinite;
}
.scn-jasher-cottage-pink-drawingroom .teacup {
  position:absolute; bottom:28%; left:45%; width:6%; height:6%;
  background: radial-gradient(circle at 50% 30%, #fff8f0 0%, #e0d0c0 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,255,240,0.3);
  animation: jc-steam 5s ease-in-out infinite alternate;
}
.scn-jasher-cottage-pink-drawingroom .figure-left {
  position:absolute; bottom:22%; left:20%; width:15%; height:32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jc-sway-l 7s ease-in-out infinite;
}
.scn-jasher-cottage-pink-drawingroom .figure-right {
  position:absolute; bottom:22%; right:20%; width:15%; height:32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jc-sway-r 7s ease-in-out infinite reverse;
}
.scn-jasher-cottage-pink-drawingroom .sofa {
  position:absolute; bottom:18%; left:55%; width:25%; height:20%;
  background: linear-gradient(180deg, #8a6a5a 0%, #5a3a2a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
@keyframes jc-curtain {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(3px) scaleY(1.02); }
  100% { transform: translateX(-3px) scaleY(0.98); }
}
@keyframes jc-bob {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes jc-steam {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-8px) scale(1.2); opacity: 0.3; }
  100% { transform: translateY(-16px) scale(0.8); opacity: 0; }
}
@keyframes jc-sway-l {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(2deg) translateX(1px); }
  50% { transform: rotate(0deg) translateX(0); }
  75% { transform: rotate(-2deg) translateX(-1px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes jc-sway-r {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(-2deg) translateX(-1px); }
  50% { transform: rotate(0deg) translateX(0); }
  75% { transform: rotate(2deg) translateX(1px); }
  100% { transform: rotate(0deg) translateX(0); }
}

.scn-roadside-conversation-widow-anne {
  background: linear-gradient(180deg, #9a9aae 0%, #7a7a8e 40%, #5a5a6e 100%), radial-gradient(ellipse at 50% 30%, #b0b0c4 0%, transparent 50%);
}
.scn-roadside-conversation-widow-anne .sky {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #8a8a9e 0%, #6a6a7e 100%);
  animation: rc-sky 20s ease-in-out infinite alternate;
}
.scn-roadside-conversation-widow-anne .ground {
  position:absolute; bottom:0; left:0; right:0; height:60%;
  background: linear-gradient(180deg, #5a5a42 0%, #3a3a2a 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
}
.scn-roadside-conversation-widow-anne .road {
  position:absolute; bottom:25%; left:0; right:0; height:12%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  clip-path: polygon(25% 0%, 75% 0%, 90% 100%, 10% 100%);
}
.scn-roadside-conversation-widow-anne .figure-left {
  position:absolute; bottom:30%; left:25%; 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: rc-gesture-l 3s ease-in-out infinite;
}
.scn-roadside-conversation-widow-anne .figure-right {
  position:absolute; bottom:30%; right:25%; 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: rc-gesture-r 3.5s ease-in-out infinite reverse;
}
.scn-roadside-conversation-widow-anne .paint-can {
  position:absolute; bottom:22%; left:45%; width:6%; height:8%;
  background: linear-gradient(180deg, #a0461a 0%, #602a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: rc-spill 5s ease-in-out infinite alternate;
}
.scn-roadside-conversation-widow-anne .trees {
  position:absolute; bottom:55%; left:5%; width:20%; height:30%;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  filter: blur(3px);
  opacity: 0.7;
  animation: rc-sway 8s ease-in-out infinite;
}
@keyframes rc-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes rc-gesture-l {
  0% { transform: rotate(0deg) translateX(0); }
  20% { transform: rotate(15deg) translateX(10px); }
  40% { transform: rotate(-10deg) translateX(-5px); }
  60% { transform: rotate(5deg) translateX(3px); }
  80% { transform: rotate(-5deg) translateX(-2px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes rc-gesture-r {
  0% { transform: rotate(0deg) translateX(0); }
  20% { transform: rotate(-15deg) translateX(-10px); }
  40% { transform: rotate(10deg) translateX(5px); }
  60% { transform: rotate(-5deg) translateX(-3px); }
  80% { transform: rotate(5deg) translateX(2px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes rc-spill {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes rc-sway {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(2deg) scaleX(1.05); }
  100% { transform: rotate(-2deg) scaleX(0.95); }
}

.scn-sidney-escape-plan {
  background: linear-gradient(180deg, #1a1208 0%, #2a1e12 40%, #1e140a 100%), radial-gradient(ellipse at 30% 60%, #3a2a14 0%, transparent 70%);
}
.scn-sidney-escape-plan .bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #2a1e12, #1a1208);
  border-radius: 0 0 40% 40% / 0 0 20% 20%;
}
.scn-sidney-escape-plan .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a1a, #2a1e12);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-sidney-escape-plan .table {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #5a3a1a, #3a2212);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.7);
  transform: perspective(400px) rotateX(10deg);
}
.scn-sidney-escape-plan .mirror-frame {
  position: absolute; top: 15%; left: 50%; translate: -50% 0;
  width: 80px; height: 100px;
  background: linear-gradient(135deg, #6a5a4a, #4a3a2a);
  border-radius: 8px;
  box-shadow: inset 0 0 0 4px #8a7a6a, 0 4px 12px rgba(0,0,0,0.5);
}
.scn-sidney-escape-plan .figure-sidney {
  position: absolute; bottom: 22%; left: 35%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sep-figure 4s ease-in-out infinite;
}
.scn-sidney-escape-plan .disguise {
  position: absolute; bottom: 18%; left: 55%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #5a3a4a 0%, #3a2a3a 100%);
  border-radius: 40% 60% 30% 50%;
  opacity: 0.8;
  animation: sep-disguise 6s ease-in-out infinite;
}
.scn-sidney-escape-plan .candle {
  position: absolute; bottom: 25%; left: 45%; width: 6px; height: 14px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 2px;
  animation: sep-candle 2s ease-in-out infinite;
}
.scn-sidney-escape-plan .glow {
  position: absolute; bottom: 20%; left: 40%; width: 60px; height: 60px;
  background: radial-gradient(circle, #c8a060 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: sep-glow 3s ease-in-out infinite alternate;
}
.scn-sidney-escape-plan .shadow-cast {
  position: absolute; bottom: 8%; left: 20%; width: 80px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 60%);
  border-radius: 50%;
  transform: skewX(-20deg);
  animation: sep-shadow 4s ease-in-out infinite;
}
@keyframes sep-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes sep-disguise {
  0% { transform: scale(1) rotate(-2deg); }
  50% { transform: scale(1.05) rotate(2deg); }
  100% { transform: scale(1) rotate(-2deg); }
}
@keyframes sep-candle {
  0% { transform: scaleY(1) translateX(0); opacity: 0.9; }
  50% { transform: scaleY(0.9) translateX(1px); opacity: 1; }
  100% { transform: scaleY(1) translateX(0); opacity: 0.9; }
}
@keyframes sep-glow {
  0% { opacity: 0.5; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1.1); }
}
@keyframes sep-shadow {
  0% { transform: skewX(-20deg) translateX(0); }
  50% { transform: skewX(-15deg) translateX(5px); opacity: 0.7; }
  100% { transform: skewX(-20deg) translateX(0); }
}

.scn-mrs-jasher-betrayal {
  background: linear-gradient(180deg, #1a1220 0%, #2a1a30 40%, #1a0a1a 100%), radial-gradient(ellipse at 70% 40%, #3a1a2a 0%, transparent 60%);
}
.scn-mrs-jasher-betrayal .bg {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(135deg, #2a1a30, #1a0a1a);
  border-radius: 0 0 30% 30% / 0 0 15% 15%;
}
.scn-mrs-jasher-betrayal .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #2a1a28, #1a0a1a);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.7);
}
.scn-mrs-jasher-betrayal .table {
  position: absolute; bottom: 15%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #4a3a3a, #2a1a22);
  border-radius: 6px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  transform: perspective(500px) rotateX(8deg);
}
.scn-mrs-jasher-betrayal .figure-jasher {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mjb-jasher 5s ease-in-out infinite;
}
.scn-mrs-jasher-betrayal .figure-braddock {
  position: absolute; bottom: 20%; left: 55%; width: 26px; height: 58px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mjb-braddock 4s ease-in-out infinite;
}
.scn-mrs-jasher-betrayal .letter {
  position: absolute; bottom: 24%; left: 46%; width: 20px; height: 12px;
  background: linear-gradient(135deg, #8a7a6a, #5a4a3a);
  border-radius: 2px;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mjb-letter 7s ease-in-out infinite;
}
.scn-mrs-jasher-betrayal .lamp {
  position: absolute; bottom: 30%; left: 15%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #a0a080, #707060);
  border-radius: 2px;
  animation: mjb-lamp 3s ease-in-out infinite;
}
.scn-mrs-jasher-betrayal .lamp-glow {
  position: absolute; bottom: 25%; left: 10%; width: 80px; height: 80px;
  background: radial-gradient(circle, #a0a080 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(10px);
  animation: mjb-glow 4s ease-in-out infinite alternate;
}
.scn-mrs-jasher-betrayal .shadow-ominous {
  position: absolute; bottom: 5%; right: 10%; width: 100px; height: 60px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  border-radius: 50%;
  transform: skewX(-30deg);
  animation: mjb-shadow 6s ease-in-out infinite;
}
@keyframes mjb-jasher {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mjb-braddock {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-4px) scaleX(0.95); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes mjb-letter {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-15deg) translateY(0); }
}
@keyframes mjb-lamp {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: 0.8; transform: scaleY(1); }
}
@keyframes mjb-glow {
  0% { opacity: 0.4; transform: scale(0.9); }
  100% { opacity: 0.8; transform: scale(1.1); }
}
@keyframes mjb-shadow {
  0% { transform: skewX(-30deg) translateX(0); opacity: 0.5; }
  50% { transform: skewX(-25deg) translateX(10px); opacity: 0.8; }
  100% { transform: skewX(-30deg) translateX(0); opacity: 0.5; }
}

.scn-braddock-counterplan {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e18 30%, #1a0e0a 100%), radial-gradient(ellipse at 60% 50%, #3a2a1a 0%, transparent 60%);
}
.scn-braddock-counterplan .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #2a1e18, #1a0e0a);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-braddock-counterplan .desk {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a, #2a1e12);
  border-radius: 6px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  transform: perspective(600px) rotateX(12deg);
}
.scn-braddock-counterplan .map {
  position: absolute; bottom: 24%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(135deg, #8a7a5a, #5a4a2a);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: bcp-map 8s ease-in-out infinite;
}
.scn-braddock-counterplan .figure-braddock {
  position: absolute; bottom: 22%; left: 40%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #3a2a22 0%, #1a120a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcp-figure 3.5s ease-in-out infinite;
}
.scn-braddock-counterplan .candle {
  position: absolute; bottom: 28%; left: 25%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #d0a060 0%, #a08040 100%);
  border-radius: 2px;
  animation: bcp-candle 2.5s ease-in-out infinite;
}
.scn-braddock-counterplan .candle-glow {
  position: absolute; bottom: 20%; left: 20%; width: 80px; height: 80px;
  background: radial-gradient(circle, #d0a060 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(10px);
  animation: bcp-glow 3s ease-in-out infinite alternate;
}
.scn-braddock-counterplan .bookshelf {
  position: absolute; top: 10%; left: 10%; width: 15%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a, #2a1e12);
  border-radius: 4px;
  box-shadow: inset 0 0 0 4px #3a2a1a, 0 4px 8px rgba(0,0,0,0.5);
}
.scn-braddock-counterplan .hand-move {
  position: absolute; bottom: 26%; left: 48%; width: 8px; height: 14px;
  background: linear-gradient(180deg, #5a4a3a, #3a2a1a);
  border-radius: 40% 40% 20% 20%;
  transform-origin: top center;
  animation: bcp-hand 2s ease-in-out infinite;
}
@keyframes bcp-map {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes bcp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bcp-candle {
  0% { transform: scaleY(1) translateX(0); opacity: 0.85; }
  50% { transform: scaleY(0.95) translateX(1px); opacity: 1; }
  100% { transform: scaleY(1) translateX(0); opacity: 0.85; }
}
@keyframes bcp-glow {
  0% { opacity: 0.5; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1.1); }
}
@keyframes bcp-hand {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(15deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-moonlight-murder-witness {
  background: linear-gradient(180deg, #0a1220 0%, #1a2a3a 40%, #1a1a2a 100%), radial-gradient(ellipse at 50% 100%, #2a3a4a 0%, transparent 80%);
}
.scn-moonlight-murder-witness .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0a1220, #1a2a3a 80%, transparent);
  animation: mmw-sky 20s ease-in-out infinite alternate;
}
.scn-moonlight-murder-witness .moon {
  position: absolute; top: 10%; left: 70%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d0d8e8 0%, #a0a8c0 60%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #a0a8c0, 0 0 80px 20px rgba(160,168,192,0.3);
  animation: mmw-moon 30s linear infinite;
}
.scn-moonlight-murder-witness .path {
  position: absolute; bottom: 28%; left: 20%; width: 60%; height: 6%;
  background: linear-gradient(180deg, #4a4a5a, #3a3a4a);
  border-radius: 40% 40% 10% 10%;
  transform: perspective(400px) rotateX(20deg) translateZ(-20px);
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
  animation: mmw-path 12s ease-in-out infinite alternate;
}
.scn-moonlight-murder-witness .water {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  animation: mmw-water 8s ease-in-out infinite alternate;
}
.scn-moonlight-murder-witness .jetty {
  position: absolute; bottom: 28%; left: 60%; width: 100px; height: 8%;
  background: linear-gradient(180deg, #3a3a4a, #2a2a3a);
  border-radius: 4px 4px 0 0;
  transform: skewX(-10deg);
  box-shadow: 0 -2px 6px rgba(0,0,0,0.6);
}
.scn-moonlight-murder-witness .figure-braddock-walk {
  position: absolute; bottom: 31%; left: 30%; width: 14px; height: 34px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mmw-walk-a 5s ease-in-out infinite;
}
.scn-moonlight-murder-witness .figure-cockatoo-walk {
  position: absolute; bottom: 31%; left: 38%; width: 12px; height: 32px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mmw-walk-b 5s ease-in-out infinite 2.5s;
}
.scn-moonlight-murder-witness .witness {
  position: absolute; bottom: 35%; left: 12%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #1a1a2a, #0a0a1a);
  border-radius: 40% 40% 30% 30%;
  opacity: 0.7;
  animation: mmw-witness 4s ease-in-out infinite;
}
.scn-moonlight-murder-witness .tree-shadow {
  position: absolute; bottom: 20%; left: 8%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #0a0a12, transparent);
  filter: blur(6px);
  animation: mmw-tree 15s ease-in-out infinite alternate;
}
@keyframes mmw-sky {
  0% { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes mmw-moon {
  0% { transform: translateX(0); }
  100% { transform: translateX(-30px); }
}
@keyframes mmw-path {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}
@keyframes mmw-water {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes mmw-walk-a {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(5px) translateY(-2px) rotate(3deg); }
  50% { transform: translateX(10px) translateY(0) rotate(0deg); }
  75% { transform: translateX(15px) translateY(-2px) rotate(-3deg); }
  100% { transform: translateX(20px) translateY(0) rotate(0deg); }
}
@keyframes mmw-walk-b {
  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(-2px) rotate(2deg); }
  100% { transform: translateX(16px) translateY(0) rotate(0deg); }
}
@keyframes mmw-witness {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.05); opacity: 0.8; }
  100% { transform: scale(1); opacity: 0.5; }
}
@keyframes mmw-tree {
  0% { transform: skewX(-5deg); }
  100% { transform: skewX(5deg); }
}

.scn-mystery-unsolved {
  background: linear-gradient(180deg, #728694 0%, #4b5a66 50%, #2c3a44 100%),
              radial-gradient(ellipse at 50% 60%, #4b5a66 0%, transparent 70%);
}
.scn-mystery-unsolved .mu-sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #8a9eb0 0%, #5b6d7a 100%); animation: mu-sky 15s ease-in-out infinite alternate; }
.scn-mystery-unsolved .mu-sea { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a4a55 0%, #1f2c33 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; animation: mu-sea 8s ease-in-out infinite; }
.scn-mystery-unsolved .mu-pier { position:absolute; bottom:35%; left:10%; width:60%; height:8%; background: linear-gradient(180deg, #5c4a3d 0%, #3b2f26 100%); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.4); }
.scn-mystery-unsolved .mu-ship-hull { position:absolute; bottom:33%; left:20%; width:120px; height:40px; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e16 100%); border-radius: 20% 20% 40% 40% / 40% 40% 30% 30%; animation: mu-ship 6s ease-in-out infinite; }
.scn-mystery-unsolved .mu-ship-deck { position:absolute; bottom:40%; left:22%; width:100px; height:10px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 20% 20% 0 0; filter: blur(1px); }
.scn-mystery-unsolved .mu-ship-smoke { position:absolute; bottom:48%; left:25%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 100%, rgba(150,150,150,.4) 0%, transparent 70%); animation: mu-smoke 4s ease-in-out infinite; }
.scn-mystery-unsolved .mu-lantern { position:absolute; bottom:38%; left:15%; width:8px; height:12px; background: radial-gradient(circle, #f2d68a 0%, #c4a45e 60%); border-radius: 30%; box-shadow: 0 0 20px 6px #c4a45e, 0 0 40px 12px rgba(196,164,94,.3); animation: mu-lantern 2.5s ease-in-out infinite alternate; }
.scn-mystery-unsolved .mu-cloud { position:absolute; height:12px; background: linear-gradient(180deg, rgba(200,210,220,.5) 0%, rgba(160,170,180,.1) 100%); border-radius: 50%; filter: blur(5px); }
.scn-mystery-unsolved .mu-cloud1 { top:15%; left:-10%; width:100px; animation: mu-drift 40s linear infinite; }
.scn-mystery-unsolved .mu-cloud2 { top:22%; left:30%; width:70px; animation: mu-drift 55s linear infinite reverse; animation-delay: -10s; }
@keyframes mu-sky {
  0% { opacity: .7; }
  50% { opacity: .95; }
  100% { opacity: .6; }
}
@keyframes mu-sea {
  0% { transform: translateY(0) rotate(0deg); }
  40% { transform: translateY(-3px) rotate(-1deg); }
  70% { transform: translateY(2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mu-ship {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mu-smoke {
  0% { transform: scaleY(1) translateY(0); opacity: .6; }
  50% { transform: scaleY(1.5) translateY(-10px); opacity: .2; }
  100% { transform: scaleY(1) translateY(0); opacity: .6; }
}
@keyframes mu-lantern {
  0% { box-shadow: 0 0 15px 4px #c4a45e, 0 0 30px 8px rgba(196,164,94,.2); opacity: .8; }
  50% { box-shadow: 0 0 28px 8px #f0d080, 0 0 50px 16px rgba(240,208,128,.4); opacity: 1; }
  100% { box-shadow: 0 0 18px 5px #c4a45e, 0 0 35px 10px rgba(196,164,94,.25); opacity: .85; }
}
@keyframes mu-drift {
  0% { transform: translateX(-100px) scale(1); }
  50% { transform: translateX(20vw) scale(1.03); }
  100% { transform: translateX(100vw) scale(1); }
}

.scn-last-seen-alive {
  background: linear-gradient(180deg, #2a2522 0%, #1e1a18 50%, #0f0d0c 100%),
              radial-gradient(ellipse at 50% 30%, #3a3028 0%, transparent 60%);
}
.scn-last-seen-alive .ls-wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #3a342f 0%, #2a241f 100%); }
.scn-last-seen-alive .ls-floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1e1a16 0%, #0f0c0a 100%); }
.scn-last-seen-alive .ls-bed-frame { position:absolute; bottom:20%; left:50%; width:160px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #4c3a2a 0%, #2e2218 100%); border-radius: 8px 8px 0 0; box-shadow: 0 4px 10px rgba(0,0,0,.6); }
.scn-last-seen-alive .ls-mattress { position:absolute; bottom:25%; left:48%; width:140px; height:18px; transform:translateX(-50%); background: linear-gradient(180deg, #5c4e42 0%, #3a2e24 100%); border-radius: 6px; animation: ls-mattress 12s ease-in-out infinite; }
.scn-last-seen-alive .ls-pillow { position:absolute; bottom:35%; left:55%; width:40px; height:16px; background: linear-gradient(180deg, #6a5e52 0%, #4a3c30 100%); border-radius: 30% 30% 50% 50%; animation: ls-pillow 8s ease-in-out infinite; }
.scn-last-seen-alive .ls-figure { position:absolute; bottom:27%; left:52%; width:50px; height:70px; transform:translateX(-50%) rotate(10deg); background: linear-gradient(180deg, #1c1815 0%, #0a0807 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ls-figure 5s ease-in-out infinite; }
.scn-last-seen-alive .ls-lamp { position:absolute; bottom:50%; left:20%; width:14px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #4a3e2a 100%); border-radius: 30% 30% 10% 10%; }
.scn-last-seen-alive .ls-light { position:absolute; bottom:52%; left:20%; width:30px; height:30px; transform:translate(-50%, -50%); background: radial-gradient(circle, #f0d0a0 0%, #c8a870 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 50px 20px rgba(200,168,112,.4), 0 0 120px 40px rgba(200,168,112,.2); animation: ls-glow 4s ease-in-out infinite alternate; }
@keyframes ls-mattress {
  0% { transform: translateX(-50%) translateY(0) scaleX(1); }
  40% { transform: translateX(-50%) translateY(-1px) scaleX(1.01); }
  70% { transform: translateX(-50%) translateY(1px) scaleX(0.99); }
  100% { transform: translateX(-50%) translateY(0) scaleX(1); }
}
@keyframes ls-pillow {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(2px) translateY(-2px) rotate(3deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes ls-figure {
  0% { transform: translateX(-50%) rotate(10deg) scaleY(1); }
  50% { transform: translateX(-50%) rotate(12deg) scaleY(1.02); }
  100% { transform: translateX(-50%) rotate(10deg) scaleY(1); }
}
@keyframes ls-glow {
  0% { opacity: .6; box-shadow: 0 0 40px 15px rgba(200,168,112,.3); }
  50% { opacity: .95; box-shadow: 0 0 70px 25px rgba(200,168,112,.5); }
  100% { opacity: .7; box-shadow: 0 0 50px 20px rgba(200,168,112,.35); }
}

.scn-morning-disappearance {
  background: linear-gradient(180deg, #7a7d82 0%, #5a5d62 50%, #3c3f42 100%),
              radial-gradient(ellipse at 50% 40%, #5a5d62 0%, transparent 60%);
}
.scn-morning-disappearance .md-floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #4a4c4e 0%, #2c2e30 100%); }
.scn-morning-disappearance .md-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #7a7c7e 0%, #5e6062 100%); }
.scn-morning-disappearance .md-door { position:absolute; inset:10% 10% 25% auto; width:18%; background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 100%); border-radius: 6px 6px 0 0; box-shadow: inset 0 0 12px rgba(0,0,0,.5); animation: md-door 10s ease-in-out infinite; }
.scn-morning-disappearance .md-bed-frame { position:absolute; bottom:25%; left:8%; width:65%; height:18%; background: linear-gradient(180deg, #6a5e52 0%, #4a3e32 100%); border-radius: 8px 8px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.scn-morning-disappearance .md-sheets { position:absolute; bottom:30%; left:12%; width:58%; height:10%; background: linear-gradient(180deg, #b0a8a0 0%, #8c847c 100%); border-radius: 6px; filter: blur(1px); animation: md-sheets 4s ease-in-out infinite; }
.scn-morning-disappearance .md-pillow { position:absolute; bottom:35%; left:20%; width:50px; height:20px; background: linear-gradient(180deg, #b8b0a8 0%, #908880 100%); border-radius: 40% 40% 50% 50%; transform: rotate(-10deg); animation: md-pillow 6s ease-in-out infinite; }
.scn-morning-disappearance .md-shadow { position:absolute; bottom:30%; left:40%; width:30px; height:50px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 80%); filter: blur(6px); animation: md-shadow 8s ease-in-out infinite; }
@keyframes md-door {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(0.95) translateX(5px); }
  100% { transform: scaleX(1); }
}
@keyframes md-sheets {
  0% { transform: scaleX(1) translateY(0); }
  30% { transform: scaleX(1.02) translateY(-2px); }
  60% { transform: scaleX(0.98) translateY(1px); }
  100% { transform: scaleX(1) translateY(0); }
}
@keyframes md-pillow {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(3px); }
  100% { transform: rotate(-10deg) translateX(0); }
}
@keyframes md-shadow {
  0% { opacity: .3; transform: translateX(0) scale(1); }
  50% { opacity: .7; transform: translateX(10px) scale(1.1); }
  100% { opacity: .3; transform: translateX(0) scale(1); }
}

.scn-police-activity {
  background: linear-gradient(180deg, #7b8490 0%, #5b6470 50%, #3b4450 100%),
              radial-gradient(ellipse at 50% 80%, #5b6470 0%, transparent 70%);
}
.scn-police-activity .pa-sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #8a94a0 0%, #6a7480 100%); animation: pa-sky 14s ease-in-out infinite alternate; }
.scn-police-activity .pa-ground { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a5c60 0%, #3a3c40 100%); }
.scn-police-activity .pa-building { position:absolute; bottom:10%; left:60%; width:35%; height:60%; background: linear-gradient(180deg, #6a6c70 0%, #4a4c50 100%); border-radius: 4px 4px 0 0; box-shadow: -4px 0 10px rgba(0,0,0,.3); }
.scn-police-activity .pa-lamppost { position:absolute; bottom:30%; left:30%; width:6px; height:80px; background: linear-gradient(180deg, #8a8a8a 0%, #4a4a4a 100%); border-radius: 2px; }
.scn-police-activity .pa-lamplight { position:absolute; bottom:50%; left:30%; width:50px; height:50px; transform:translate(-50%, -50%); background: radial-gradient(circle, #f0d080 0%, #c8a060 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 60px 15px rgba(200,160,96,.3); animation: pa-light 3s ease-in-out infinite alternate; }
.scn-police-activity .pa-figure { position:absolute; bottom:30%; width:20px; height:50px; background: linear-gradient(180deg, #1e1e20 0%, #0a0a0c 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; }
.scn-police-activity .pa-figure1 { left:20%; animation: pa-figure1 8s ease-in-out infinite; }
.scn-police-activity .pa-figure2 { left:45%; animation: pa-figure2 9s ease-in-out infinite; animation-delay: -3s; }
.scn-police-activity .pa-fog { position:absolute; bottom:10%; left:0; right:0; height:60%; background: linear-gradient(180deg, rgba(180,190,200,.15) 0%, rgba(180,190,200,.05) 100%); filter: blur(15px); animation: pa-fog 20s ease-in-out infinite; }
@keyframes pa-sky {
  0% { opacity: .6; }
  50% { opacity: .9; }
  100% { opacity: .7; }
}
@keyframes pa-light {
  0% { box-shadow: 0 0 40px 10px rgba(200,160,96,.2); opacity: .6; }
  50% { box-shadow: 0 0 80px 20px rgba(200,160,96,.4); opacity: 1; }
  100% { box-shadow: 0 0 50px 15px rgba(200,160,96,.25); opacity: .7; }
}
@keyframes pa-figure1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(-2deg) scaleY(1.02); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes pa-figure2 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-6px) rotate(2deg) scaleY(0.98); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes pa-fog {
  0% { opacity: .4; }
  50% { opacity: .7; }
  100% { opacity: .5; }
}

/* Scene 1: lucy-reflects – calm overcast interior */
.scn-lucy-reflects {
  background: linear-gradient(180deg, #7a8a9a 0%, #5a6a7a 50%, #3a4a5a 100%),
              radial-gradient(ellipse at 50% 80%, #4a5a6a 0%, transparent 70%);
}
.scn-lucy-reflects .window-frame {
  position: absolute; inset: 10% 5% 35% 5%;
  border: 8px solid #6a5a4a;
  background: transparent;
  border-radius: 4px;
  animation: lr-frame 12s ease-in-out infinite alternate;
}
.scn-lucy-reflects .sky-outside {
  position: absolute; inset: 10% 5% 35% 5%;
  background: linear-gradient(180deg, #b0c0d0 0%, #8090a0 100%);
  border-radius: 2px;
  filter: blur(2px);
  animation: lr-sky 20s ease-in-out infinite alternate;
}
.scn-lucy-reflects .curtain-left {
  position: absolute; top: 8%; left: 3%; width: 8%; height: 55%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 0 40% 40% 0;
  animation: lr-curtain 14s ease-in-out infinite;
}
.scn-lucy-reflects .curtain-right {
  position: absolute; top: 8%; right: 3%; width: 8%; height: 55%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 40% 0 0 40%;
  animation: lr-curtain 14s ease-in-out infinite reverse;
}
.scn-lucy-reflects .figure {
  position: absolute; bottom: 30%; left: 40%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lr-figure 6s ease-in-out infinite;
}
.scn-lucy-reflects .lamp-glow {
  position: absolute; bottom: 40%; right: 20%; width: 8%; height: 12%;
  background: radial-gradient(circle, #c0b080 0%, #a09060 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(192,176,128,0.4);
  animation: lr-glow 4s ease-in-out infinite alternate;
}
.scn-lucy-reflects .table {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 6px;
  animation: lr-table 18s ease-in-out infinite;
}
.scn-lucy-reflects .book {
  position: absolute; bottom: 24%; left: 45%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #b08a6a 0%, #8a6a4a 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  animation: lr-book 10s ease-in-out infinite;
}

@keyframes lr-frame {
  0%,100% { border-color: #6a5a4a; filter: brightness(1); }
  50% { border-color: #8a7a6a; filter: brightness(1.1); }
}
@keyframes lr-sky {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.02); }
  100% { opacity: 0.75; transform: scale(0.98); }
}
@keyframes lr-curtain {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(-4px) scaleY(1.02); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes lr-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes lr-glow {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(0.95); }
}
@keyframes lr-table {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes lr-book {
  0% { transform: translateY(0) rotate(-10deg); }
  50% { transform: translateY(-2px) rotate(-12deg); }
  100% { transform: translateY(0) rotate(-10deg); }
}

/* Scene 2: dinner-at-jashers – warm gaslit interior */
.scn-dinner-at-jashers {
  background: linear-gradient(180deg, #4a2a1a 0%, #6a3a2a 30%, #8a5a3a 60%, #6a3a2a 100%),
              radial-gradient(ellipse at 50% 60%, #8a5a3a 0%, transparent 80%);
}
.scn-dinner-at-jashers .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 100%);
  opacity: 0.8;
  animation: dj-wall 20s ease-in-out infinite alternate;
}
.scn-dinner-at-jashers .table {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 25%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 20px 20px 10px 10px;
  box-shadow: inset 0 -8px 16px rgba(0,0,0,0.5);
  animation: dj-table 15s ease-in-out infinite;
}
.scn-dinner-at-jashers .plate {
  position: absolute; bottom: 30%; left: 35%; width: 15%; height: 12%;
  background: radial-gradient(circle, #d0c0a0 0%, #b0a080 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: dj-plate 6s ease-in-out infinite alternate;
}
.scn-dinner-at-jashers .candle-glow {
  position: absolute; bottom: 35%; left: 48%; width: 4%; height: 10%;
  background: radial-gradient(circle, #ffd080 0%, #e0a060 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,208,128,0.5);
  animation: dj-candle 3s ease-in-out infinite alternate;
}
.scn-dinner-at-jashers .wine-glass {
  position: absolute; bottom: 28%; left: 55%; width: 4%; height: 15%;
  background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 70% 70%;
  opacity: 0.6;
  animation: dj-glass 8s ease-in-out infinite;
}
.scn-dinner-at-jashers .figure-hostess {
  position: absolute; bottom: 22%; left: 20%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dj-figure 7s ease-in-out infinite;
}
.scn-dinner-at-jashers .figure-guest {
  position: absolute; bottom: 22%; right: 20%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dj-figure 7s ease-in-out infinite reverse;
}
.scn-dinner-at-jashers .chandelier {
  position: absolute; top: 5%; left: 40%; width: 20%; height: 10%;
  background: radial-gradient(ellipse at 50% 50%, #c0a060 0%, #8a6a3a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(192,160,96,0.3);
  animation: dj-chandelier 12s ease-in-out infinite alternate;
}

@keyframes dj-wall {
  0% { opacity: 0.75; }
  50% { opacity: 0.85; }
  100% { opacity: 0.78; }
}
@keyframes dj-table {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.01); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes dj-plate {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(0.98); opacity: 0.85; }
}
@keyframes dj-candle {
  0% { opacity: 0.7; transform: scale(1); box-shadow: 0 0 30px 15px rgba(255,208,128,0.4); }
  50% { opacity: 1; transform: scale(1.1); box-shadow: 0 0 60px 25px rgba(255,208,128,0.7); }
  100% { opacity: 0.8; transform: scale(1.02); box-shadow: 0 0 40px 18px rgba(255,208,128,0.5); }
}
@keyframes dj-glass {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes dj-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes dj-chandelier {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.65; transform: scale(0.98); }
}

/* Scene 3: don-pedro-comfortable – warm gaslit close-up */
.scn-don-pedro-comfortable {
  background: linear-gradient(180deg, #3a1a0a 0%, #5a2a1a 40%, #7a3a2a 80%, #5a2a1a 100%),
              radial-gradient(ellipse at 50% 70%, #7a3a2a 0%, transparent 60%);
}
.scn-don-pedro-comfortable .bg-warm {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 100%);
  animation: dp-bg 24s ease-in-out infinite alternate;
}
.scn-don-pedro-comfortable .armchair {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 55%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 20% 20% 40% 40%;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
  animation: dp-chair 10s ease-in-out infinite;
}
.scn-don-pedro-comfortable .figure-reclining {
  position: absolute; bottom: 25%; left: 30%; width: 18%; height: 40%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  transform: rotate(-5deg);
  animation: dp-figure 8s ease-in-out infinite;
}
.scn-don-pedro-comfortable .cigar-tip {
  position: absolute; bottom: 42%; left: 38%; width: 3%; height: 3%;
  background: radial-gradient(circle, #ff8040 0%, #e06020 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 10px rgba(255,128,64,0.6);
  animation: dp-cigar 3s ease-in-out infinite alternate;
}
.scn-don-pedro-comfortable .smoke-1 {
  position: absolute; bottom: 45%; left: 38%; width: 8%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,0.3) 0%, transparent 100%);
  filter: blur(8px);
  animation: dp-smoke 6s ease-out infinite;
}
.scn-don-pedro-comfortable .smoke-2 {
  position: absolute; bottom: 45%; left: 36%; width: 6%; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,0.2) 0%, transparent 100%);
  filter: blur(6px);
  animation: dp-smoke 6s ease-out infinite 1.5s;
}
.scn-don-pedro-comfortable .side-table {
  position: absolute; bottom: 20%; left: 10%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 8px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: dp-table 14s ease-in-out infinite;
}
.scn-don-pedro-comfortable .wine-glass {
  position: absolute; bottom: 28%; left: 12%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 70% 70%;
  opacity: 0.5;
  animation: dp-glass 9s ease-in-out infinite;
}

@keyframes dp-bg {
  0% { opacity: 0.8; }
  50% { opacity: 0.9; }
  100% { opacity: 0.82; }
}
@keyframes dp-chair {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.01); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes dp-figure {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes dp-cigar {
  0% { opacity: 0.6; transform: scale(0.9); box-shadow: 0 0 12px 6px rgba(255,128,64,0.4); }
  50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 30px 15px rgba(255,128,64,0.8); }
  100% { opacity: 0.7; transform: scale(1); box-shadow: 0 0 18px 8px rgba(255,128,64,0.5); }
}
@keyframes dp-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.4; }
  50% { transform: translateY(-30px) scale(2); opacity: 0.1; }
  100% { transform: translateY(-60px) scale(3); opacity: 0; }
}
@keyframes dp-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes dp-glass {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}

/* Scene 4: compliments-and-banter – warm gaslit conversation */
.scn-compliments-and-banter {
  background: linear-gradient(180deg, #4a2a1a 0%, #6a3a2a 50%, #5a2a1a 100%),
              radial-gradient(ellipse at 50% 50%, #7a4a3a 0%, transparent 70%);
}
.scn-compliments-and-banter .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a1a0a 0%, #5a2a1a 100%);
  animation: cb-bg 18s ease-in-out infinite alternate;
}
.scn-compliments-and-banter .sofa {
  position: absolute; bottom: 15%; left: 15%; width: 70%; height: 40%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  box-shadow: inset 0 8px 24px rgba(0,0,0,0.5);
  animation: cb-sofa 12s ease-in-out infinite;
}
.scn-compliments-and-banter .figure-left {
  position: absolute; bottom: 20%; left: 25%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cb-figure 7s ease-in-out infinite;
}
.scn-compliments-and-banter .figure-right {
  position: absolute; bottom: 20%; right: 25%; width: 14%; height: 32%;
  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 7s ease-in-out infinite 0.5s;
}
.scn-compliments-and-banter .center-table {
  position: absolute; bottom: 18%; left: 40%; width: 20%; height: 15%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: cb-table 16s ease-in-out infinite;
}
.scn-compliments-and-banter .candle-glow {
  position: absolute; bottom: 28%; left: 48%; width: 4%; height: 8%;
  background: radial-gradient(circle, #ffd080 0%, #e0a060 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(255,208,128,0.5);
  animation: cb-candle 3.5s ease-in-out infinite alternate;
}
.scn-compliments-and-banter .picture-frame {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 20%;
  border: 6px solid #6a4a2a;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  animation: cb-frame 20s ease-in-out infinite alternate;
}

@keyframes cb-bg {
  0% { opacity: 0.7; }
  50% { opacity: 0.85; }
  100% { opacity: 0.72; }
}
@keyframes cb-sofa {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.01); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes cb-figure {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes cb-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes cb-candle {
  0% { opacity: 0.6; transform: scale(0.95); box-shadow: 0 0 20px 10px rgba(255,208,128,0.4); }
  50% { opacity: 1; transform: scale(1.1); box-shadow: 0 0 50px 20px rgba(255,208,128,0.7); }
  100% { opacity: 0.7; transform: scale(1.02); box-shadow: 0 0 30px 12px rgba(255,208,128,0.5); }
}
@keyframes cb-frame {
  0% { filter: brightness(0.9); transform: scale(1); }
  50% { filter: brightness(1.1); transform: scale(1.02); }
  100% { filter: brightness(0.95); transform: scale(0.98); }
}

.scn-museum-opening { background: linear-gradient(180deg, #1a1220 0%, #2a1a2a 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 70%, #2a1a2a 0%, transparent 70%); }
.scn-museum-opening .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a2a 0%, #1a1220 100%); animation: mo-wall 12s ease-in-out infinite alternate; }
.scn-museum-opening .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a0e0a 0%, #2a1a12 100%); }
.scn-museum-opening .case { position:absolute; bottom:22%; left:50%; width:120px; height:70px; transform:translateX(-50%); background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4% 4% 8% 8%; box-shadow: 0 8px 20px rgba(0,0,0,0.6); animation: mo-case 6s ease-in-out infinite; }
.scn-museum-opening .figure { position:absolute; bottom:25%; left:32%; width:24px; height:50px; background: linear-gradient(180deg, #1a121a 0%, #0a060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mo-figure 4s ease-in-out infinite; }
.scn-museum-opening .tool { position:absolute; bottom:40%; left:30%; width:4px; height:20px; background: #6a5a3a; border-radius:20%; transform-origin: bottom; animation: mo-tool 1.5s ease-in-out infinite; }
.scn-museum-opening .light { position:absolute; bottom:40%; left:50%; width:100px; height:100px; transform:translate(-50%,-50%); background: radial-gradient(circle, #c08040 0%, #8a6020 40%, transparent 70%); box-shadow: 0 0 60px 20px rgba(192,128,64,0.5); animation: mo-light 3s ease-in-out infinite alternate; }
.scn-museum-opening .dust-a { position:absolute; top:30%; left:20%; width:6px; height:6px; background: rgba(200,180,140,0.3); border-radius:50%; filter: blur(3px); animation: mo-dust 25s linear infinite; }
.scn-museum-opening .dust-b { position:absolute; top:45%; left:70%; width:4px; height:4px; background: rgba(200,180,140,0.2); border-radius:50%; filter: blur(2px); animation: mo-dust 30s linear infinite reverse; animation-delay: -10s; }
@keyframes mo-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mo-case { 0%,100% { transform:translateX(-50%) rotate(-0.5deg) } 50% { transform:translateX(-50%) rotate(0.5deg) translateY(-2px) } }
@keyframes mo-figure { 0% { transform:rotate(0deg) translateY(0) } 25% { transform:rotate(2deg) translateY(-1px) } 50% { transform:rotate(-2deg) translateY(0) } 75% { transform:rotate(1deg) translateY(-1px) } 100% { transform:rotate(0deg) translateY(0) } }
@keyframes mo-tool { 0%,100% { transform:rotate(0deg) scaleY(1) } 50% { transform:rotate(20deg) scaleY(0.9) } }
@keyframes mo-light { 0% { opacity:0.8; box-shadow:0 0 40px 15px rgba(192,128,64,0.4) } 50% { opacity:1; box-shadow:0 0 60px 25px rgba(192,128,64,0.7) } 100% { opacity:0.7; box-shadow:0 0 50px 20px rgba(192,128,64,0.3) } }
@keyframes mo-dust { 0% { transform:translateY(0) scale(1); opacity:0.3 } 50% { transform:translateY(-30px) scale(1.5); opacity:0.6 } 100% { transform:translateY(0) scale(1); opacity:0.3 } }

.scn-widow-enters-museum { background: linear-gradient(180deg, #0e0a14 0%, #1a121e 40%, #2a1a1a 100%), radial-gradient(ellipse at 70% 40%, #2a1a1a 0%, transparent 60%); }
.scn-widow-enters-museum .bg-deep { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #0a0610 0%, #1a121e 100%); animation: we-bg 20s ease-in-out infinite alternate; }
.scn-widow-enters-museum .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #0e0604 0%, #1a0e0a 100%); }
.scn-widow-enters-museum .case { position:absolute; bottom:25%; left:60%; width:100px; height:60px; transform:translateX(-50%); background: linear-gradient(135deg, #3a2a1a 0%, #1a0e0a 100%); border-radius:4% 4% 8% 8%; box-shadow: 0 8px 16px rgba(0,0,0,0.7); animation: we-case 8s ease-in-out infinite; }
.scn-widow-enters-museum .figure-widow { position:absolute; bottom:25%; left:15%; width:20px; height:46px; background: linear-gradient(180deg, #1a122a 0%, #0a061a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: we-walk 5s ease-in-out infinite; }
.scn-widow-enters-museum .figure-braddock { position:absolute; bottom:25%; left:65%; width:22px; height:44px; background: linear-gradient(180deg, #1a121a 0%, #0a060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: we-braddock 7s ease-in-out infinite; }
.scn-widow-enters-museum .light-source { position:absolute; bottom:40%; left:50%; width:80px; height:80px; transform:translate(-50%,-50%); background: radial-gradient(circle, #b07030 0%, #7a5020 40%, transparent 70%); box-shadow: 0 0 40px 15px rgba(176,112,48,0.5); animation: we-light 4s ease-in-out infinite alternate; }
.scn-widow-enters-museum .shadow { position:absolute; bottom:20%; left:12%; width:40px; height:10px; background: rgba(0,0,0,0.4); border-radius:50%; filter: blur(4px); animation: we-shadow 5s ease-in-out infinite; }
@keyframes we-bg { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes we-case { 0%,100% { transform:translateX(-50%) } 50% { transform:translateX(-50%) translateY(-1px) } }
@keyframes we-walk { 0% { transform:translateX(0) rotate(-2deg) } 25% { transform:translateX(10px) rotate(2deg) } 50% { transform:translateX(20px) rotate(-1deg) } 75% { transform:translateX(30px) rotate(1deg) } 100% { transform:translateX(40px) rotate(0deg) } }
@keyframes we-braddock { 0% { transform:rotate(0deg) translateY(0) } 33% { transform:rotate(-3deg) translateY(-2px) } 66% { transform:rotate(2deg) translateY(-1px) } 100% { transform:rotate(0deg) translateY(0) } }
@keyframes we-light { 0% { opacity:0.7; box-shadow:0 0 30px 10px rgba(176,112,48,0.4) } 50% { opacity:1; box-shadow:0 0 50px 20px rgba(176,112,48,0.7) } 100% { opacity:0.8; box-shadow:0 0 35px 12px rgba(176,112,48,0.5) } }
@keyframes we-shadow { 0% { opacity:0.3; transform:scale(0.9) } 50% { opacity:0.6; transform:scale(1.1) } 100% { opacity:0.3; transform:scale(0.9) } }

.scn-widow-questions { background: linear-gradient(180deg, #1a1620 0%, #2a1e2a 40%, #3a2a1a 100%), radial-gradient(ellipse at 30% 50%, #2a1e2a 0%, transparent 60%); }
.scn-widow-questions .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e2a 0%, #1a1220 100%); animation: wq-wall 15s ease-in-out infinite alternate; }
.scn-widow-questions .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #0e0a06 0%, #1a120e 100%); }
.scn-widow-questions .case { position:absolute; bottom:25%; left:50%; width:90px; height:55px; transform:translateX(-50%); background: linear-gradient(135deg, #3a2a1a 0%, #1a0e0a 100%); border-radius:4% 4% 8% 8%; box-shadow: 0 6px 12px rgba(0,0,0,0.5); animation: wq-case 9s ease-in-out infinite; }
.scn-widow-questions .figure-lucy { position:absolute; bottom:25%; left:35%; width:18px; height:42px; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wq-lucy 6s ease-in-out infinite; }
.scn-widow-questions .figure-widow { position:absolute; bottom:25%; left:65%; width:20px; height:44px; background: linear-gradient(180deg, #1a1220 0%, #0a0612 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wq-widow 5s ease-in-out infinite; }
.scn-widow-questions .lamp { position:absolute; bottom:42%; left:50%; width:60px; height:60px; transform:translate(-50%,-50%); background: radial-gradient(circle, #c08040 0%, #8a6020 50%, transparent 80%); box-shadow: 0 0 40px 15px rgba(192,128,64,0.4); animation: wq-lamp 3s ease-in-out infinite alternate; }
.scn-widow-questions .table { position:absolute; bottom:30%; left:40%; width:40px; height:8px; background: #2a1a0a; border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: wq-table 12s ease-in-out infinite; }
@keyframes wq-wall { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes wq-case { 0%,100% { transform:translateX(-50%) rotate(0deg) } 50% { transform:translateX(-50%) rotate(1deg) translateY(-1px) } }
@keyframes wq-lucy { 0% { transform:translateY(0) rotate(-2deg) } 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 wq-widow { 0% { transform:translateY(0) rotate(2deg) } 33% { transform:translateY(-3px) rotate(-3deg) } 66% { transform:translateY(-1px) rotate(1deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes wq-lamp { 0% { opacity:0.7; box-shadow:0 0 30px 10px rgba(192,128,64,0.3) } 50% { opacity:1; box-shadow:0 0 50px 20px rgba(192,128,64,0.6) } 100% { opacity:0.8; box-shadow:0 0 35px 12px rgba(192,128,64,0.4) } }
@keyframes wq-table { 0%,100% { transform:scaleX(1) } 50% { transform:scaleX(1.05) } }

.scn-corpse-revealed { background: linear-gradient(180deg, #0a0610 0%, #1a0e1a 40%, #2a1a12 100%), radial-gradient(ellipse at 50% 60%, #2a1a12 0%, transparent 70%); }
.scn-corpse-revealed .bg-dark { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #050206 0%, #0a0610 100%); animation: cr-bg 18s ease-in-out infinite alternate; }
.scn-corpse-revealed .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #0e0604 0%, #1a0e0a 100%); }
.scn-corpse-revealed .case-bottom { position:absolute; bottom:22%; left:50%; width:120px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%); border-radius:4% 4% 8% 8%; box-shadow: 0 8px 20px rgba(0,0,0,0.8); animation: cr-caseb 7s ease-in-out infinite; }
.scn-corpse-revealed .case-lid { position:absolute; bottom:30%; left:50%; width:130px; height:30px; transform:translateX(-50%) rotate(-10deg); transform-origin: left center; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:8% 8% 2% 2%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: cr-lid 3s ease-in-out infinite alternate; }
.scn-corpse-revealed .glow { position:absolute; bottom:25%; left:50%; width:60px; height:60px; transform:translate(-50%,-50%); background: radial-gradient(circle, #a07030 0%, #5a3a1a 40%, transparent 80%); box-shadow: 0 0 80px 30px rgba(160,112,48,0.6); animation: cr-glow 2s ease-in-out infinite alternate; }
.scn-corpse-revealed .figure-a { position:absolute; bottom:25%; left:30%; width:22px; height:48px; background: linear-gradient(180deg, #1a121a 0%, #0a060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cr-figa 6s ease-in-out infinite; }
.scn-corpse-revealed .figure-b { position:absolute; bottom:25%; left:70%; width:20px; height:46px; background: linear-gradient(180deg, #1a1220 0%, #0a0612 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cr-figb 5s ease-in-out infinite; }
.scn-corpse-revealed .shadow-a { position:absolute; bottom:20%; left:28%; width:50px; height:12px; background: rgba(0,0,0,0.5); border-radius:50%; filter: blur(5px); animation: cr-shadow 6s ease-in-out infinite; }
@keyframes cr-bg { 0% { opacity:0.5 } 50% { opacity:1 } 100% { opacity:0.6 } }
@keyframes cr-caseb { 0%,100% { transform:translateX(-50%) } 50% { transform:translateX(-50%) rotate(0.5deg) } }
@keyframes cr-lid { 0% { transform:translateX(-50%) rotate(-10deg) } 50% { transform:translateX(-50%) rotate(-5deg) } 100% { transform:translateX(-50%) rotate(-12deg) } }
@keyframes cr-glow { 0% { opacity:0.6; box-shadow:0 0 40px 15px rgba(160,112,48,0.4) } 50% { opacity:1; box-shadow:0 0 100px 40px rgba(160,112,48,0.8) } 100% { opacity:0.7; box-shadow:0 0 60px 20px rgba(160,112,48,0.5) } }
@keyframes cr-figa { 0% { transform:translateY(0) rotate(-3deg) } 25% { transform:translateY(-5px) rotate(3deg) } 50% { transform:translateY(-2px) rotate(-1deg) } 75% { transform:translateY(-3px) rotate(2deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes cr-figb { 0% { transform:translateY(0) rotate(3deg) } 33% { transform:translateY(-6px) rotate(-4deg) } 66% { transform:translateY(-3px) rotate(2deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes cr-shadow { 0% { opacity:0.4; transform:scale(0.9) } 50% { opacity:0.7; transform:scale(1.1) } 100% { opacity:0.4; transform:scale(0.9) } }

.scn-packing-case-details { background: linear-gradient(180deg, #1a0f0a 0%, #2c1a12 40%, #0d0705 100%), radial-gradient(ellipse at 50% 60%, #3a2518 0%, transparent 70%); }
.scn-packing-case-details .crate-outer { position:absolute; bottom:20%; left:20%; width:60%; height:50%; background: linear-gradient(135deg, #4a2e1a 0%, #2c1a0e 50%, #1a0e08 100%); border-radius:8px; box-shadow: 0 10px 30px rgba(0,0,0,.6), inset 0 2px 4px rgba(255,200,100,.1); animation: pcd-crate 12s ease-in-out infinite alternate; }
.scn-packing-case-details .crate-inner { position:absolute; bottom:25%; left:28%; width:44%; height:40%; background: linear-gradient(180deg, #6a6a6a 0%, #3a3a3a 50%, #1a1a1a 100%); border-radius:4px; box-shadow: inset 0 0 20px #000; animation: pcd-inner 15s ease-in-out infinite alternate; }
.scn-packing-case-details .mummy { position:absolute; bottom:30%; left:35%; width:30%; height:45%; background: linear-gradient(180deg, #c4b09a 0%, #8a7a66 40%, #5a4a3a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pcd-mummy 8s ease-in-out infinite alternate; }
.scn-packing-case-details .band-upper { position:absolute; bottom:50%; left:20%; width:60%; height:4px; background: linear-gradient(90deg, #1a1a1a 0%, #3a3a3a 30%, #5a5a5a 50%, #3a3a3a 70%, #1a1a1a 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: pcd-band 10s ease-in-out infinite alternate; }
.scn-packing-case-details .band-lower { position:absolute; bottom:38%; left:20%; width:60%; height:4px; background: linear-gradient(90deg, #1a1a1a 0%, #3a3a3a 30%, #5a5a5a 50%, #3a3a3a 70%, #1a1a1a 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: pcd-band 10s ease-in-out infinite alternate-reverse; }
.scn-packing-case-details .candle { position:absolute; bottom:15%; left:45%; width:8px; height:20px; background: linear-gradient(180deg, #f0d0a0 0%, #c08040 100%); border-radius: 50% 50% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: pcd-candle 3s ease-in-out infinite alternate; }
.scn-packing-case-details .glow { position:absolute; bottom:12%; left:44%; width:16px; height:16px; background: radial-gradient(circle, rgba(240,208,160,.8) 0%, transparent 70%); border-radius:50%; animation: pcd-glow 3s ease-in-out infinite alternate; }

@keyframes pcd-crate { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes pcd-inner { 0% { opacity: 0.9; transform: scale(0.98); } 50% { opacity: 1; transform: scale(1); } 100% { opacity: 0.9; transform: scale(0.98); } }
@keyframes pcd-mummy { 0% { transform: rotate(-1deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(-1deg) translateY(0); } }
@keyframes pcd-band { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes pcd-candle { 0% { transform: scaleY(1) rotate(-2deg); } 50% { transform: scaleY(1.1) rotate(2deg); } 100% { transform: scaleY(1) rotate(-2deg); } }
@keyframes pcd-glow { 0% { transform: scale(0.8); opacity: 0.6; } 50% { transform: scale(1.2); opacity: 1; } 100% { transform: scale(0.8); opacity: 0.6; } }

.scn-strangulation-detail { background: linear-gradient(180deg, #1a1412 0%, #2c1e18 50%, #0f0a08 100%), radial-gradient(ellipse at 40% 70%, #3a2a22 0%, transparent 80%); }
.scn-strangulation-detail .figure { position:absolute; bottom:20%; left:40%; width:22%; height:50%; background: linear-gradient(180deg, #1a1512 0%, #0d0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: std-figure 8s ease-in-out infinite alternate; }
.scn-strangulation-detail .scarf { position:absolute; bottom:48%; left:44%; width:18%; height:8%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%); border-radius: 20% 20% 40% 40%; transform: rotate(5deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: std-scarf 4s ease-in-out infinite alternate; }
.scn-strangulation-detail .hand { position:absolute; bottom:45%; left:55%; width:14%; height:18%; background: linear-gradient(180deg, #4a3a32 0%, #2c1e1a 100%); border-radius: 60% 60% 40% 40% / 50% 50% 50% 50%; transform-origin: left bottom; animation: std-hand 6s ease-in-out infinite alternate; }
.scn-strangulation-detail .wall-light { position:absolute; top:10%; right:15%; width:25%; height:30%; background: radial-gradient(ellipse, rgba(180,140,100,.15) 0%, transparent 70%); border-radius:50%; animation: std-wall 3s ease-in-out infinite alternate; }
.scn-strangulation-detail .shadow { position:absolute; bottom:0; left:20%; width:60%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%); animation: std-shadow 10s ease-in-out infinite alternate; }
.scn-strangulation-detail .noose { position:absolute; bottom:55%; left:46%; width:8%; height:12%; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 30% 30% / 20% 20% 40% 40%; transform: rotate(-10deg); animation: std-noose 5s ease-in-out infinite alternate; }

@keyframes std-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes std-scarf { 0% { transform: rotate(3deg) scaleY(1); } 50% { transform: rotate(7deg) scaleY(1.05); } 100% { transform: rotate(3deg) scaleY(1); } }
@keyframes std-hand { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(5deg) translateX(5px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes std-wall { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes std-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes std-noose { 0% { transform: rotate(-12deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-12deg) translateY(0); } }

.scn-time-of-death { background: linear-gradient(180deg, #1a1816 0%, #2c241e 40%, #0e0c0a 100%), radial-gradient(ellipse at 50% 100%, #3a2e26 0%, transparent 70%); }
.scn-time-of-death .desk { position:absolute; bottom:15%; left:10%; width:80%; height:30%; background: linear-gradient(180deg, #3a2e22 0%, #1c1612 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4); animation: tod-desk 20s ease-in-out infinite alternate; }
.scn-time-of-death .professor { position:absolute; bottom:35%; left:35%; width:30%; height:50%; background: linear-gradient(180deg, #1c1814 0%, #0a0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tod-prof 10s ease-in-out infinite alternate; }
.scn-time-of-death .watch { position:absolute; bottom:50%; left:48%; width:10%; height:12%; background: radial-gradient(circle, #c8a870 0%, #8a6a3a 60%, #4a3a22 100%); border-radius:50%; border: 2px solid #6a5a3a; box-shadow: 0 0 10px rgba(200,168,112,.3); animation: tod-watch 4s ease-in-out infinite alternate; }
.scn-time-of-death .lamp { position:absolute; top:20%; left:20%; width:12%; height:20%; background: linear-gradient(180deg, #c08040 0%, #804020 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 0 30px rgba(192,128,64,.3); animation: tod-lamp 3s ease-in-out infinite alternate; }
.scn-time-of-death .chair { position:absolute; bottom:28%; left:38%; width:20%; height:15%; background: linear-gradient(180deg, #2a1e14 0%, #1a100a 100%); border-radius: 20% 20% 10% 10%; transform: scaleX(1.2); animation: tod-chair 12s ease-in-out infinite alternate; }
.scn-time-of-death .papers { position:absolute; bottom:22%; left:55%; width:14%; height:8%; background: linear-gradient(135deg, #d0c8b0 0%, #a09880 50%, #706858 100%); border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,.3); animation: tod-papers 6s ease-in-out infinite alternate; }

@keyframes tod-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes tod-prof { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-4px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes tod-watch { 0% { transform: rotate(-5deg) scale(0.95); } 50% { transform: rotate(5deg) scale(1.05); } 100% { transform: rotate(-5deg) scale(0.95); } }
@keyframes tod-lamp { 0% { opacity: 0.8; transform: scaleY(0.95); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.8; transform: scaleY(0.95); } }
@keyframes tod-chair { 0% { transform: scaleX(1.2) translateY(0); } 50% { transform: scaleX(1.22) translateY(-1px); } 100% { transform: scaleX(1.2) translateY(0); } }
@keyframes tod-papers { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }

.scn-public-interest { background: linear-gradient(180deg, #b8b4a8 0%, #8a8678 40%, #5a584e 100%), radial-gradient(ellipse at 50% 20%, #d0ccc0 0%, transparent 80%); }
.scn-public-interest .sun { position:absolute; top:8%; left:45%; width:12%; height:18%; background: radial-gradient(circle, #e8e0c8 0%, #c0b898 60%, #a09878 100%); border-radius:50%; box-shadow: 0 0 40px rgba(232,224,200,.5); animation: pui-sun 15s ease-in-out infinite alternate; }
.scn-public-interest .cloud-a { position:absolute; top:12%; left:10%; width:35%; height:12%; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(200,196,180,.2) 100%); border-radius:50%; filter: blur(6px); animation: pui-drift-a 40s linear infinite; }
.scn-public-interest .cloud-b { position:absolute; top:18%; right:8%; width:30%; height:10%; background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(200,196,180,.15) 100%); border-radius:50%; filter: blur(8px); animation: pui-drift-b 50s linear infinite; }
.scn-public-interest .village { position:absolute; bottom:10%; left:5%; width:90%; height:30%; background: linear-gradient(180deg, #6a6050 0%, #4a4236 50%, #2a241e 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.2); animation: pui-village 20s ease-in-out infinite alternate; }
.scn-public-interest .steeple { position:absolute; bottom:30%; left:48%; width:4%; height:20%; background: linear-gradient(180deg, #7a7060 0%, #4a4236 100%); border-radius: 20% 20% 0 0; transform: skewX(-2deg); animation: pui-steeple 12s ease-in-out infinite alternate; }
.scn-public-interest .figure-point { position:absolute; bottom:15%; left:35%; width:8%; height:18%; background: linear-gradient(180deg, #1a1814 0%, #0a0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pui-figure 8s ease-in-out infinite alternate; }
.scn-public-interest .map-outline { position:absolute; top:35%; left:15%; width:25%; height:20%; border: 3px solid #4a4236; border-radius: 30% 20% 40% 30% / 40% 30% 30% 40%; background: rgba(200,196,180,.1); box-shadow: 0 0 12px rgba(74,66,54,.3); animation: pui-map 30s ease-in-out infinite alternate; }

@keyframes pui-sun { 0% { transform: scale(0.95) translateY(0); opacity: 0.8; } 50% { transform: scale(1.05) translateY(-3px); opacity: 1; } 100% { transform: scale(0.95) translateY(0); opacity: 0.8; } }
@keyframes pui-drift-a { 0% { transform: translateX(-40px); } 100% { transform: translateX(120vw); } }
@keyframes pui-drift-b { 0% { transform: translateX(0); } 100% { transform: translateX(-100vw); } }
@keyframes pui-village { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes pui-steeple { 0% { transform: skewX(-2deg) translateY(0); } 50% { transform: skewX(0deg) translateY(-2px); } 100% { transform: skewX(-2deg) translateY(0); } }
@keyframes pui-figure { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(3deg) translateX(10px); } 100% { transform: rotate(-3deg) translateX(0); } }
@keyframes pui-map { 0% { transform: rotate(-2deg) scale(0.98); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(0.98); } }

/* Scene: three-days-pass – overcast calm interior */
.scn-three-days-pass {
  background: 
    linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 30%, #3a4a5a 70%, #2a3a4a 100%),
    radial-gradient(ellipse at 50% 0%, #8a9aaa 0%, transparent 60%);
}
.scn-three-days-pass .sky-overcast {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, #5a6a7a 100%);
  animation: t3p-sky 20s ease-in-out infinite alternate;
}
.scn-three-days-pass .window-frame {
  position: absolute; top: 10%; left: 10%; width: 40%; height: 50%;
  border: 4px solid #5a4a3a; border-radius: 2px;
  background: transparent;
  box-shadow: inset 0 0 20px rgba(100,110,120,0.3);
  animation: t3p-window 15s ease-in-out infinite alternate;
}
.scn-three-days-pass .wall-left {
  position: absolute; top: 0; left: 0; width: 60%; height: 100%;
  background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 100%);
  opacity: 0.7;
}
.scn-three-days-pass .desk {
  position: absolute; bottom: 20%; left: 20%; width: 50%; height: 8%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-three-days-pass .letter {
  position: absolute; bottom: 30%; left: 35%; width: 16%; height: 12%;
  background: linear-gradient(135deg, #c8b89a 0%, #a89878 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: t3p-letter 4s ease-in-out infinite;
}
.scn-three-days-pass .quill {
  position: absolute; bottom: 32%; left: 55%; width: 2%; height: 18%;
  background: linear-gradient(180deg, #2a1a1a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(20deg);
  transform-origin: bottom center;
  animation: t3p-quill 3s ease-in-out infinite alternate;
}
.scn-three-days-pass .figure-sitting {
  position: absolute; bottom: 20%; left: 25%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: t3p-figure 6s ease-in-out infinite;
}
.scn-three-days-pass .bird-perch {
  position: absolute; top: 25%; right: 15%; width: 8%; height: 10%;
  background: radial-gradient(circle at 50% 30%, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 50%;
  transform: rotate(10deg);
  animation: t3p-bird 8s ease-in-out infinite alternate;
}
@keyframes t3p-sky { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes t3p-window { 0% { box-shadow: inset 0 0 20px rgba(100,110,120,0.3); } 50% { box-shadow: inset 0 0 30px rgba(100,110,120,0.5); } 100% { box-shadow: inset 0 0 10px rgba(100,110,120,0.2); } }
@keyframes t3p-letter { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes t3p-quill { 0% { transform: rotate(20deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(20deg); } }
@keyframes t3p-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes t3p-bird { 0% { transform: rotate(10deg) scale(1); } 50% { transform: rotate(5deg) scale(0.95); } 100% { transform: rotate(10deg) scale(1); } }

/* Scene: don-pedro-investigates – overcast exterior with house */
.scn-don-pedro-investigates {
  background:
    linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 40%, #2a3a4a 100%),
    radial-gradient(ellipse at 50% 100%, #4a5a6a 0%, transparent 70%);
}
.scn-don-pedro-investigates .sky-overcast {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #7a8a9a 0%, #4a5a6a 100%);
  animation: dpi-sky 25s ease-in-out infinite alternate;
}
.scn-don-pedro-investigates .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%);
  border-radius: 30% 70% 0 0;
}
.scn-don-pedro-investigates .house-pyramids {
  position: absolute; bottom: 30%; left: 30%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: dpi-house 12s ease-in-out infinite alternate;
}
.scn-don-pedro-investigates .door {
  position: absolute; bottom: 30%; left: 43%; width: 8%; height: 15%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
}
.scn-don-pedro-investigates .figure-standing {
  position: absolute; bottom: 30%; left: 15%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dpi-figure 8s ease-in-out infinite;
}
.scn-don-pedro-investigates .tree {
  position: absolute; bottom: 28%; right: 15%; width: 15%; height: 50%;
  background: linear-gradient(180deg, #2a4a2a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(2px);
  animation: dpi-tree 18s ease-in-out infinite alternate;
}
.scn-don-pedro-investigates .fence {
  position: absolute; bottom: 30%; left: 5%; width: 60%; height: 2%;
  background: linear-gradient(90deg, #4a3a2a 20%, transparent 20%, transparent 25%, #4a3a2a 25%, #4a3a2a 45%, transparent 45%, transparent 50%, #4a3a2a 50%, #4a3a2a 70%, transparent 70%, transparent 75%, #4a3a2a 75%, #4a3a2a 95%, transparent 95%);
  background-size: 20% 100%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
@keyframes dpi-house { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.02) translateY(-2px); } 100% { transform: scale(1) translateY(0); } }
@keyframes dpi-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(6px) rotate(-1deg); } 75% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dpi-tree { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(0.97) rotate(2deg); } 100% { transform: scale(1) rotate(0deg); } }

/* Scene: random-woos-inez – warm overcast garden courtship */
.scn-random-woos-inez {
  background:
    linear-gradient(180deg, #d4b896 0%, #b8a078 30%, #8a7048 100%),
    radial-gradient(ellipse at 50% 0%, #e8c8a0 0%, transparent 60%);
}
.scn-random-woos-inez .sky-warm-overcast {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #d4c0a0 0%, #b8a080 100%);
  animation: rwi-sky 30s ease-in-out infinite alternate;
}
.scn-random-woos-inez .garden-path {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #9a7a5a 0%, #6a4a2a 100%);
  border-radius: 30% 30% 0 0;
}
.scn-random-woos-inez .bench {
  position: absolute; bottom: 18%; left: 35%; width: 20%; height: 8%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: rwi-bench 6s ease-in-out infinite alternate;
}
.scn-random-woos-inez .figure-standing-wooer {
  position: absolute; bottom: 18%; left: 25%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rwi-figure1 5s ease-in-out infinite;
}
.scn-random-woos-inez .figure-sitting-inez {
  position: absolute; bottom: 18%; left: 45%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: rwi-figure2 5s ease-in-out infinite alternate;
}
.scn-random-woos-inez .flowers {
  position: absolute; bottom: 22%; left: 60%; width: 15%; height: 15%;
  background: radial-gradient(circle at 50% 50%, #c8a070 0%, #a08050 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: rwi-flowers 10s ease-in-out infinite alternate;
}
.scn-random-woos-inez .trellis {
  position: absolute; bottom: 20%; left: 70%; width: 5%; height: 40%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  box-shadow: 4px 0 8px rgba(0,0,0,0.3);
  animation: rwi-trellis 8s ease-in-out infinite;
}
@keyframes rwi-sky { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes rwi-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes rwi-figure1 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(4px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rwi-figure2 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes rwi-flowers { 0% { opacity: 0.6; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes rwi-trellis { 0% { box-shadow: 4px 0 8px rgba(0,0,0,0.3); } 50% { box-shadow: 2px 0 12px rgba(0,0,0,0.5); } 100% { box-shadow: 4px 0 8px rgba(0,0,0,0.3); } }

/* Scene: chaperon-evenings – gaslit warm interior dinner */
.scn-chaperon-evenings {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 80%, #5a3a1a 0%, transparent 70%);
}
.scn-chaperon-evenings .room-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.8);
}
.scn-chaperon-evenings .table {
  position: absolute; bottom: 20%; left: 15%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a00 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 10% 10%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  animation: cpe-table 10s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .chair-left {
  position: absolute; bottom: 20%; left: 20%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #4a2a0a 0%, #2a1a00 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  animation: cpe-chair 8s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .chair-right {
  position: absolute; bottom: 20%; right: 20%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #4a2a0a 0%, #2a1a00 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  animation: cpe-chair 8s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .figure-left {
  position: absolute; bottom: 25%; left: 22%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: cpe-figure1 6s ease-in-out infinite;
}
.scn-chaperon-evenings .figure-right {
  position: absolute; bottom: 25%; right: 22%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: cpe-figure2 6s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .gas-lamp {
  position: absolute; top: 15%; left: 50%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 60%, #e8c040 0%, #b08020 40%, #5a3a00 80%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 10px #b08020, 0 0 60px 20px rgba(176,128,32,0.4);
  animation: cpe-lamp 4s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .plate-left {
  position: absolute; bottom: 26%; left: 30%; width: 6%; height: 4%;
  background: radial-gradient(circle, #b09880 0%, #8a7058 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: cpe-plate 7s ease-in-out infinite alternate;
}
.scn-chaperon-evenings .plate-right {
  position: absolute; bottom: 26%; right: 30%; width: 6%; height: 4%;
  background: radial-gradient(circle, #b09880 0%, #8a7058 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: cpe-plate 7s ease-in-out infinite alternate;
}
@keyframes cpe-table { 0% { box-shadow: 0 8px 20px rgba(0,0,0,0.6); } 50% { box-shadow: 0 12px 30px rgba(0,0,0,0.7); } 100% { box-shadow: 0 8px 20px rgba(0,0,0,0.6); } }
@keyframes cpe-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cpe-figure1 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(1px) rotate(1deg); } 50% { transform: translateX(2px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cpe-figure2 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-1px) rotate(-1deg); } 50% { transform: translateX(-2px) rotate(1deg); } 75% { transform: translateX(-1px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cpe-lamp { 0% { box-shadow: 0 0 30px 10px #b08020, 0 0 60px 20px rgba(176,128,32,0.4); opacity: 0.8; } 50% { box-shadow: 0 0 40px 15px #e8c040, 0 0 80px 30px rgba(232,192,64,0.5); opacity: 1; } 100% { box-shadow: 0 0 30px 10px #b08020, 0 0 60px 20px rgba(176,128,32,0.4); opacity: 0.9; } }
@keyframes cpe-plate { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }

.scn-marshland-view { background: linear-gradient(180deg, #87ceeb 0%, #c8e6c9 40%, #7cb342 70%, #558b2f 100%), radial-gradient(ellipse at 50% 0%, #fff8e1 0%, transparent 60%); }
.scn-marshland-view .mv-sky { position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, #b3e5fc 0%, #e1f5fe 50%, #fff8e1 100%); animation: mv-sky-pulse 30s ease-in-out infinite alternate; }
.scn-marshland-view .mv-sun-glow { position: absolute; top: 8%; left: 65%; width: 60px; height: 60px; background: radial-gradient(circle, #fff9c4 0%, #ffecb3 30%, transparent 70%); border-radius: 50%; box-shadow: 0 0 80px 40px rgba(255,236,179,.4); animation: mv-sun-shimmer 8s ease-in-out infinite alternate; }
.scn-marshland-view .mv-river { position: absolute; bottom: 30%; left: 5%; right: 5%; height: 30%; background: linear-gradient(180deg, #81d4fa 0%, #4fc3f7 50%, #0288d1 100%); border-radius: 0 0 20% 20% / 0 0 40% 40%; box-shadow: inset 0 8px 30px rgba(0,0,0,.2); animation: mv-river-flow 12s ease-in-out infinite alternate; }
.scn-marshland-view .mv-embankment { position: absolute; bottom: 28%; left: 0; right: 0; height: 8%; background: linear-gradient(180deg, #6d4c41 0%, #4e342e 50%, #3e2723 100%); border-radius: 30% 40% 10% 10% / 60% 70% 10% 10%; box-shadow: 0 -4px 12px rgba(0,0,0,.3); animation: mv-embankment-breathe 20s ease-in-out infinite alternate; }
.scn-marshland-view .mv-reeds-back { position: absolute; bottom: 28%; left: 8%; right: 8%; height: 18%; background: linear-gradient(180deg, transparent 0%, #8d6e63 30%, #6d4c41 70%, #4e342e 100%); clip-path: polygon(10% 100%, 15% 20%, 20% 100%, 30% 10%, 40% 100%, 50% 15%, 60% 100%, 70% 25%, 80% 100%, 90% 20%, 95% 100%); filter: blur(1px); animation: mv-reeds-sway 6s ease-in-out infinite alternate; }
.scn-marshland-view .mv-reeds-front { position: absolute; bottom: 26%; left: 0; right: 0; height: 22%; background: linear-gradient(180deg, transparent 0%, #a1887f 20%, #6d4c41 60%, #4e342e 100%); clip-path: polygon(2% 100%, 8% 30%, 12% 100%, 18% 15%, 24% 100%, 32% 20%, 38% 100%, 45% 10%, 52% 100%, 60% 25%, 66% 100%, 74% 18%, 80% 100%, 88% 22%, 94% 100%, 98% 15%); filter: blur(0.5px); animation: mv-reeds-sway 8s ease-in-out infinite alternate-reverse; }
.scn-marshland-view .mv-fairy-ring { position: absolute; bottom: 32%; left: 40%; width: 40px; height: 15px; background: radial-gradient(ellipse at 50% 50%, #aed581 0%, #7cb342 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(172, 213, 129, .3); animation: mv-fairy-glow 5s ease-in-out infinite alternate; }
.scn-marshland-view .mv-bird { position: absolute; top: 20%; left: 20%; width: 12px; height: 6px; background: #37474f; border-radius: 50% 50% 50% 50% / 80% 80% 20% 20%; transform: rotate(-10deg); animation: mv-bird-drift 25s linear infinite; }
@keyframes mv-sky-pulse { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes mv-sun-shimmer { 0% { transform: scale(1) rotate(0deg); box-shadow: 0 0 60px 30px rgba(255,236,179,.3); } 50% { transform: scale(1.08) rotate(5deg); box-shadow: 0 0 100px 50px rgba(255,236,179,.5); } 100% { transform: scale(.98) rotate(-3deg); box-shadow: 0 0 70px 35px rgba(255,236,179,.35); } }
@keyframes mv-river-flow { 0% { transform: translateY(0) scaleX(1); background-position: 0% 0%; } 50% { transform: translateY(-2px) scaleX(1.01); background-position: 50% 50%; } 100% { transform: translateY(1px) scaleX(.99); background-position: 100% 0%; } }
@keyframes mv-embankment-breathe { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.03); } 100% { transform: translateY(1px) scaleY(.98); } }
@keyframes mv-reeds-sway { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(.5deg); } 50% { transform: translateX(-1px) rotate(-.3deg); } 75% { transform: translateX(3px) rotate(.8deg); } 100% { transform: translateX(-2px) rotate(-.5deg); } }
@keyframes mv-fairy-glow { 0% { opacity: .6; transform: scale(1); box-shadow: 0 0 15px 5px rgba(172,213,129,.2); } 50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 30px 12px rgba(172,213,129,.5); } 100% { opacity: .7; transform: scale(.95); box-shadow: 0 0 20px 8px rgba(172,213,129,.3); } }
@keyframes mv-bird-drift { 0% { transform: translateX(0) translateY(0) rotate(-10deg); } 25% { transform: translateX(20vw) translateY(-8px) rotate(-5deg); } 50% { transform: translateX(45vw) translateY(-3px) rotate(-12deg); } 75% { transform: translateX(70vw) translateY(-10px) rotate(-7deg); } 100% { transform: translateX(100vw) translateY(-5px) rotate(-10deg); } }

.scn-marshland-paradise { background: linear-gradient(180deg, #ffe0b2 0%, #ffcc80 30%, #ffab91 60%, #ef9a9a 100%), radial-gradient(ellipse at 50% 0%, #fff3e0 0%, transparent 70%); }
.scn-marshland-paradise .mp-sky-gold { position: absolute; inset: 0 0 45% 0; background: linear-gradient(180deg, #ffe082 0%, #ffcc80 40%, #ffab91 100%); animation: mp-sky-warm 20s ease-in-out infinite alternate; }
.scn-marshland-paradise .mp-sun-rays { position: absolute; top: 5%; left: 50%; width: 80px; height: 80px; transform: translateX(-50%); background: radial-gradient(circle, #fff9c4 0%, #ffe082 30%, transparent 70%); border-radius: 50%; box-shadow: 0 0 120px 60px rgba(255,224,130,.5); animation: mp-rays-pulse 8s ease-in-out infinite alternate; }
.scn-marshland-paradise .mp-hills { position: absolute; bottom: 30%; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #c8e6c9 0%, #a5d6a7 40%, #81c784 100%); border-radius: 50% 40% 20% 10% / 80% 70% 30% 20%; box-shadow: inset 0 10px 30px rgba(0,0,0,.1); animation: mp-hills-roll 22s ease-in-out infinite alternate; }
.scn-marshland-paradise .mp-rose-filter { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(239,154,154,.15) 0%, rgba(255,205,210,.1) 50%, transparent 100%); pointer-events: none; animation: mp-rose-shift 12s ease-in-out infinite alternate; }
.scn-marshland-paradise .mp-figure-left { position: absolute; bottom: 28%; left: 38%; width: 16px; height: 36px; background: linear-gradient(180deg, #4e342e 0%, #3e2723 40%, #2c1a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: mp-figure-sway 5s ease-in-out infinite; }
.scn-marshland-paradise .mp-figure-right { position: absolute; bottom: 28%; left: 52%; width: 18px; height: 38px; background: linear-gradient(180deg, #5d4037 0%, #4e342e 40%, #3e2723 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: mp-figure-sway 6s ease-in-out infinite .5s; }
.scn-marshland-paradise .mp-spectacles-glow { position: absolute; bottom: 52%; left: 54%; width: 12px; height: 6px; background: radial-gradient(ellipse, #ffccbc 0%, #ffab91 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 16px 8px rgba(255,171,145,.4); animation: mp-spectacles-glow 4s ease-in-out infinite alternate; }
.scn-marshland-paradise .mp-cupid-heart { position: absolute; top: 15%; right: 25%; width: 10px; height: 10px; background: #c8553d; transform: rotate(45deg) scale(0); border-radius: 50% 50% 0 0 / 50% 50% 0 0; box-shadow: 0 0 12px 4px rgba(200,85,61,.3); animation: mp-heart-float 8s ease-in-out infinite; }
@keyframes mp-sky-warm { 0% { opacity: .85; } 50% { opacity: 1; } 100% { opacity: .9; } }
@keyframes mp-rays-pulse { 0% { transform: translateX(-50%) scale(1); opacity: .8; } 50% { transform: translateX(-50%) scale(1.1); opacity: 1; } 100% { transform: translateX(-50%) scale(.95); opacity: .85; } }
@keyframes mp-hills-roll { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(1.02); } 100% { transform: translateY(2px) scaleX(.98); } }
@keyframes mp-rose-shift { 0% { opacity: .4; } 50% { opacity: .7; } 100% { opacity: .5; } }
@keyframes mp-figure-sway { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(-.5deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(.5deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes mp-spectacles-glow { 0% { box-shadow: 0 0 10px 4px rgba(255,171,145,.3); opacity: .7; } 50% { box-shadow: 0 0 24px 12px rgba(255,171,145,.6); opacity: 1; } 100% { box-shadow: 0 0 14px 6px rgba(255,171,145,.35); opacity: .8; } }
@keyframes mp-heart-float { 0% { transform: rotate(45deg) scale(0) translateY(0); opacity: 0; } 20% { opacity: 1; } 30% { transform: rotate(45deg) scale(1) translateY(0); } 50% { transform: rotate(45deg) scale(1.1) translateY(-8px); } 70% { transform: rotate(45deg) scale(.95) translateY(-4px); } 90% { opacity: .8; } 100% { transform: rotate(45deg) scale(0) translateY(-10px); opacity: 0; } }

.scn-fort-description { background: linear-gradient(180deg, #b0bec5 0%, #78909c 30%, #546e7a 60%, #37474f 100%), radial-gradient(ellipse at 50% 0%, #cfd8dc 0%, transparent 60%); }
.scn-fort-description .fd-sky-gray { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #cfd8dc 0%, #b0bec5 50%, #90a4ae 100%); animation: fd-sky-dull 35s ease-in-out infinite alternate; }
.scn-fort-description .fd-sun-harsh { position: absolute; top: 10%; left: 55%; width: 50px; height: 50px; background: radial-gradient(circle, #fff9c4 0%, #fff176 30%, transparent 70%); border-radius: 50%; box-shadow: 0 0 70px 30px rgba(255,241,118,.3); animation: fd-sun-glare 6s ease-in-out infinite alternate; }
.scn-fort-description .fd-fields { position: absolute; bottom: 30%; left: 0; right: 0; height: 15%; background: linear-gradient(180deg, #8d6e63 0%, #6d4c41 50%, #4e342e 100%); border-radius: 10% 20% 30% 40% / 20% 30% 10% 20%; box-shadow: inset 0 6px 20px rgba(0,0,0,.3); animation: fd-fields-shift 25s ease-in-out infinite alternate; }
.scn-fort-description .fd-iron-gate { position: absolute; bottom: 32%; left: 42%; width: 50px; height: 70px; background: linear-gradient(180deg, #455a64 0%, #263238 50%, #1a1a1a 100%); border-radius: 30% 30% 5% 5% / 40% 40% 5% 5%; box-shadow: 0 0 20px 4px rgba(0,0,0,.4); animation: fd-gate-sway 10s ease-in-out infinite alternate; }
.scn-fort-description .fd-fort-base { position: absolute; bottom: 22%; left: 30%; width: 200px; height: 80px; background: linear-gradient(180deg, #78909c 0%, #546e7a 40%, #37474f 100%); border-radius: 10% 10% 5% 5% / 20% 20% 5% 5%; box-shadow: 0 -8px 20px rgba(0,0,0,.5); animation: fd-base-settle 30s ease-in-out infinite alternate; }
.scn-fort-description .fd-fort-towers { position: absolute; bottom: 42%; left: 30%; width: 40px; height: 60px; background: linear-gradient(180deg, #546e7a 0%, #37474f 50%, #263238 100%); border-radius: 15% 15% 5% 5% / 30% 30% 5% 5%; box-shadow: -2px 0 8px rgba(0,0,0,.4); animation: fd-tower-looms 18s ease-in-out infinite alternate; }
.scn-fort-description .fd-fort-towers + .fd-fort-towers { left: auto; right: 30%; width: 45px; height: 65px; animation-delay: -6s; }
.scn-fort-description .fd-stone-shadow { position: absolute; bottom: 18%; left: 25%; width: 180px; height: 20px; background: radial-gradient(ellipse, rgba(0,0,0,.3) 0%, transparent 80%); border-radius: 50%; animation: fd-shadow-stretch 20s ease-in-out infinite alternate; }
.scn-fort-description .fd-bird-dark { position: absolute; top: 15%; left: 10%; width: 14px; height: 7px; background: #1a1a1a; border-radius: 50% 50% 50% 50% / 80% 80% 20% 20%; transform: rotate(-15deg); animation: fd-bird-circle 40s linear infinite; }
@keyframes fd-sky-dull { 0% { opacity: .8; } 50% { opacity: .95; } 100% { opacity: .85; } }
@keyframes fd-sun-glare { 0% { transform: scale(1); opacity: .6; box-shadow: 0 0 50px 20px rgba(255,241,118,.2); } 50% { transform: scale(1.1); opacity: .9; box-shadow: 0 0 90px 40px rgba(255,241,118,.4); } 100% { transform: scale(.95); opacity: .7; box-shadow: 0 0 60px 25px rgba(255,241,118,.25); } }
@keyframes fd-fields-shift { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(1px) scaleX(.98); } }
@keyframes fd-gate-sway { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-2px) rotate(.5deg); } 100% { transform: translateX(2px) rotate(-.5deg); } }
@keyframes fd-base-settle { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(1.005); } 100% { transform: translateY(1px) scale(.995); } }
@keyframes fd-tower-looms { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(2px) scaleY(.98); } }
@keyframes fd-shadow-stretch { 0% { transform: scaleX(1); opacity: .6; } 50% { transform: scaleX(1.1); opacity: .8; } 100% { transform: scaleX(.9); opacity: .5; } }
@keyframes fd-bird-circle { 0% { transform: translateX(0) translateY(0) rotate(-15deg); } 25% { transform: translateX(25vw) translateY(-12px) rotate(-8deg); } 50% { transform: translateX(55vw) translateY(-5px) rotate(-18deg); } 75% { transform: translateX(80vw) translateY(-15px) rotate(-10deg); } 100% { transform: translateX(110vw) translateY(-8px) rotate(-15deg); } }

.scn-fort-impression { background: linear-gradient(180deg, #b0bec5 0%, #90a4ae 30%, #607d8b 60%, #455a64 100%), radial-gradient(ellipse at 50% 0%, #cfd8dc 0%, transparent 70%); }
.scn-fort-impression .fi-sky-bitter { position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #cfd8dc 0%, #b0bec5 40%, #90a4ae 100%); animation: fi-sky-melancholy 28s ease-in-out infinite alternate; }
.scn-fort-impression .fi-sun-brilliant { position: absolute; top: 8%; left: 50%; width: 55px; height: 55px; transform: translateX(-50%); background: radial-gradient(circle, #fff9c4 0%, #fff176 30%, transparent 70%); border-radius: 50%; box-shadow: 0 0 100px 50px rgba(255,241,118,.3); animation: fi-sun-pulse 8s ease-in-out infinite alternate; }
.scn-fort-impression .fi-fort-jail { position: absolute; bottom: 25%; left: 35%; width: 140px; height: 90px; background: linear-gradient(180deg, #546e7a 0%, #37474f 50%, #263238 100%); border-radius: 8% 8% 4% 4% / 12% 12% 4% 4%; box-shadow: 0 -4px 16px rgba(0,0,0,.5); animation: fi-jail-loom 20s ease-in-out infinite alternate; }
.scn-fort-impression .fi-bars-shadow { position: absolute; bottom: 25%; left: 35%; width: 140px; height: 90px; background: repeating-linear-gradient(90deg, transparent 0%, transparent 12px, rgba(0,0,0,.25) 12px, rgba(0,0,0,.25) 16px); border-radius: 8% 8% 4% 4% / 12% 12% 4% 4%; animation: fi-bars-shift 14s ease-in-out infinite alternate; }
.scn-fort-impression .fi-figure-lucy { position: absolute; bottom: 30%; left: 44%; width: 14px; height: 34px; background: linear-gradient(180deg, #5d4037 0%, #4e342e 40%, #3e2723 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: fi-lucy-shiver 3s ease-in-out infinite; }
.scn-fort-impression .fi-figure-archie { position: absolute; bottom: 30%; left: 52%; width: 16px; height: 36px; background: linear-gradient(180deg, #4e342e 0%, #3e2723 40%, #2c1a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: fi-archie-hold 4s ease-in-out infinite .5s; }
.scn-fort-impression .fi-landscape-barren { position: absolute; bottom: 22%; left: 0; right: 0; height: 15%; background: linear-gradient(180deg, #8d6e63 0%, #6d4c41 50%, #4e342e 100%); border-radius: 20% 30% 10% 20% / 30% 40% 10% 20%; box-shadow: inset 0 4px 16px rgba(0,0,0,.3); animation: fi-barren-drift 26s ease-in-out infinite alternate; }
.scn-fort-impression .fi-shiver-ripple { position: absolute; bottom: 35%; left: 46%; width: 8px; height: 2px; background: rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 4px 2px rgba(255,255,255,.05); animation: fi-ripple-spread 6s ease-in-out infinite; }
@keyframes fi-sky-melancholy { 0% { opacity: .7; } 50% { opacity: .95; } 100% { opacity: .8; } }
@keyframes fi-sun-pulse { 0% { transform: translateX(-50%) scale(1); opacity: .7; box-shadow: 0 0 80px 40px rgba(255,241,118,.25); } 50% { transform: translateX(-50%) scale(1.08); opacity: 1; box-shadow: 0 0 120px 60px rgba(255,241,118,.45); } 100% { transform: translateX(-50%) scale(.95); opacity: .75; box-shadow: 0 0 90px 45px rgba(255,241,118,.3); } }
@keyframes fi-jail-loom { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(1px) scale(.99); } }
@keyframes fi-bars-shift { 0% { background-position: 0 0; opacity: .6; } 50% { background-position: 4px 0; opacity: .8; } 100% { background-position: 0 0; opacity: .65; } }
@keyframes fi-lucy-shiver { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 20% { transform: translateX(1px) rotate(1deg) scaleY(1.01); } 40% { transform: translateX(-1px) rotate(-1deg) scaleY(.99); } 60% { transform: translateX(2px) rotate(.5deg) scaleY(1.005); } 80% { transform: translateX(-2px) rotate(-.5deg) scaleY(.995); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }
@keyframes fi-archie-hold { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(1px) translateY(-1px) rotate(.5deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(-1px) translateY(-1px) rotate(-.5deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes fi-barren-drift { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(1px) scaleX(.98); } }
@keyframes fi-ripple-spread { 0% { transform: scale(0) rotate(0deg); opacity: .5; } 50% { transform: scale(2) rotate(180deg); opacity: .1; } 100% { transform: scale(0) rotate(360deg); opacity: 0; } }

/* ---- braddock-testimony (tense) ---- */
.scn-braddock-testimony {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 40% 60%, rgba(60,40,20,0.6) 0%, transparent 50%),
    linear-gradient(180deg, #1a1a3e 0%, #2a1a2a 60%, #0f0f1a 100%);
}
.scn-braddock-testimony .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 0 0 60% 60% / 0 0 20% 20%;
  animation: bt-wall 6s ease-in-out infinite alternate;
}
.scn-braddock-testimony .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1a12 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
  animation: bt-floor 4s ease-in-out infinite alternate;
}
.scn-braddock-testimony .lamp {
  position: absolute; bottom: 45%; left: 50%; width: 12px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4a060 0%, #f5d090 40%, #ffe8b0 70%, #c08040 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(200,140,60,0.5);
  animation: bt-lamp 0.8s ease-in-out infinite;
}
.scn-braddock-testimony .figure-left {
  position: absolute; bottom: 30%; left: 28%; width: 25px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: bt-figL 1.2s ease-in-out infinite;
}
.scn-braddock-testimony .figure-right {
  position: absolute; bottom: 30%; right: 28%; width: 25px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 60% 50%;
  transform-origin: bottom center;
  animation: bt-figR 1.2s ease-in-out infinite;
}
.scn-braddock-testimony .table {
  position: absolute; bottom: 22%; left: 40%; width: 60px; height: 18px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a08 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: bt-table 3s ease-in-out infinite;
}
.scn-braddock-testimony .shadow {
  position: absolute; bottom: 0; left: 25%; width: 50%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: bt-shadow 2s ease-in-out infinite alternate;
}
@keyframes bt-wall { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:0.85; transform: scale(1.01); } 100% { opacity:0.7; transform: scale(1); } }
@keyframes bt-floor { 0% { transform: translateX(-1px); } 50% { transform: translateX(1px); } 100% { transform: translateX(-1px); } }
@keyframes bt-lamp { 0% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } 50% { box-shadow: 0 0 40px 15px rgba(200,140,60,0.6); opacity:1; } 100% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } }
@keyframes bt-figL { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes bt-figR { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes bt-table { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(1px) rotate(0.5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bt-shadow { 0% { opacity:0.5; transform: scaleX(1); } 100% { opacity:0.8; transform: scaleX(1.1); } }

/* ---- braddock-testimony-cont (calm) ---- */
.scn-braddock-testimony-cont {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 70%, rgba(50,35,20,0.4) 0%, transparent 60%),
    linear-gradient(180deg, #1e1e3a 0%, #2a1a2a 50%, #12101a 100%);
}
.scn-braddock-testimony-cont .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 0 0 40% 40% / 0 0 15% 15%;
  animation: bct-wall 8s ease-in-out infinite alternate;
}
.scn-braddock-testimony-cont .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1a12 100%);
  border-radius: 20% 20% 0 0 / 8% 8% 0 0;
  animation: bct-floor 6s ease-in-out infinite alternate;
}
.scn-braddock-testimony-cont .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 12px; height: 28px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4a060 0%, #f5d090 40%, #ffe8b0 70%, #c08040 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 25px 8px rgba(200,140,60,0.4);
  animation: bct-lamp 4s ease-in-out infinite;
}
.scn-braddock-testimony-cont .figure {
  position: absolute; bottom: 25%; left: 42%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: bct-fig 5s ease-in-out infinite;
}
.scn-braddock-testimony-cont .chair {
  position: absolute; bottom: 22%; right: 35%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a08 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: bct-chair 7s ease-in-out infinite;
}
.scn-braddock-testimony-cont .desk {
  position: absolute; bottom: 18%; left: 30%; width: 70px; height: 20px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a08 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bct-desk 9s ease-in-out infinite;
}
@keyframes bct-wall { 0% { opacity:0.8; } 50% { opacity:0.9; } 100% { opacity:0.8; } }
@keyframes bct-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes bct-lamp { 0% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } 50% { box-shadow: 0 0 35px 12px rgba(200,140,60,0.5); opacity:1; } 100% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } }
@keyframes bct-fig { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes bct-chair { 0% { transform: rotate(0); } 50% { transform: rotate(1deg); } 100% { transform: rotate(0); } }
@keyframes bct-desk { 0% { transform: translateX(0); } 50% { transform: translateX(2px); } 100% { transform: translateX(0); } }

/* ---- braddock-testimony-end (calm, mummy) ---- */
.scn-braddock-testimony-end {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 60%, rgba(60,45,30,0.5) 0%, transparent 60%),
    linear-gradient(180deg, #1c1c3a 0%, #2a1a2a 50%, #0f0f1a 100%);
}
.scn-braddock-testimony-end .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 0 0 50% 50% / 0 0 18% 18%;
  animation: bce-wall 10s ease-in-out infinite alternate;
}
.scn-braddock-testimony-end .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1a12 100%);
  border-radius: 25% 25% 0 0 / 8% 8% 0 0;
  animation: bce-floor 7s ease-in-out infinite alternate;
}
.scn-braddock-testimony-end .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 12px; height: 28px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4a060 0%, #f5d090 40%, #ffe8b0 70%, #c08040 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 25px 8px rgba(200,140,60,0.4);
  animation: bce-lamp 4s ease-in-out infinite;
}
.scn-braddock-testimony-end .mummy {
  position: absolute; bottom: 28%; left: 50%; width: 50px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(170deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 40% 50% 50% 40% / 60% 60% 40% 40%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: bce-mummy 5s ease-in-out infinite;
}
.scn-braddock-testimony-end .table {
  position: absolute; bottom: 20%; left: 35%; width: 80px; height: 22px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a08 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: bce-table 6s ease-in-out infinite;
}
.scn-braddock-testimony-end .shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 35%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: bce-shadow 8s ease-in-out infinite alternate;
}
@keyframes bce-wall { 0% { opacity:0.7; } 50% { opacity:0.85; } 100% { opacity:0.7; } }
@keyframes bce-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes bce-lamp { 0% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } 50% { box-shadow: 0 0 35px 12px rgba(200,140,60,0.5); opacity:1; } 100% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } }
@keyframes bce-mummy { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes bce-table { 0% { transform: translateX(0); } 50% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes bce-shadow { 0% { opacity:0.4; } 100% { opacity:0.7; } }

/* ---- doctor-testimony (calm, window & cord) ---- */
.scn-doctor-testimony {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 60% 50%, rgba(40,30,20,0.5) 0%, transparent 60%),
    linear-gradient(180deg, #1a1a3a 0%, #2a1a2a 50%, #0f0f1a 100%);
}
.scn-doctor-testimony .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
  animation: dt-wall 6s ease-in-out infinite alternate;
}
.scn-doctor-testimony .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1a12 100%);
  border-radius: 15% 15% 0 0 / 5% 5% 0 0;
  animation: dt-floor 5s ease-in-out infinite alternate;
}
.scn-doctor-testimony .window {
  position: absolute; top: 10%; right: 15%; width: 80px; height: 100px;
  background: linear-gradient(180deg, rgba(100,120,140,0.3) 0%, rgba(80,100,120,0.1) 100%);
  border: 2px solid #3a2a1a;
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.3);
  animation: dt-window 9s ease-in-out infinite alternate;
}
.scn-doctor-testimony .cord {
  position: absolute; top: 12%; right: 48%; width: 3px; height: 60px;
  background: linear-gradient(180deg, #a0461a 0%, #702040 100%);
  border-radius: 50%;
  transform-origin: top center;
  animation: dt-cord 3s ease-in-out infinite alternate;
}
.scn-doctor-testimony .figure {
  position: absolute; bottom: 25%; left: 38%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: dt-fig 4s ease-in-out infinite;
}
.scn-doctor-testimony .desk {
  position: absolute; bottom: 18%; left: 30%; width: 70px; height: 20px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0a08 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 3px 8px rgba(0,0,0,0.5);
  animation: dt-desk 7s ease-in-out infinite;
}
.scn-doctor-testimony .lamp {
  position: absolute; bottom: 38%; right: 30%; width: 10px; height: 24px;
  background: linear-gradient(180deg, #d4a060 0%, #f5d090 40%, #ffe8b0 70%, #c08040 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(200,140,60,0.4);
  animation: dt-lamp 4s ease-in-out infinite;
}
@keyframes dt-wall { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes dt-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes dt-window { 0% { opacity:0.3; box-shadow: inset 0 0 30px rgba(0,0,0,0.3); } 50% { opacity:0.5; box-shadow: inset 0 0 40px rgba(0,0,0,0.2); } 100% { opacity:0.3; box-shadow: inset 0 0 30px rgba(0,0,0,0.3); } }
@keyframes dt-cord { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes dt-fig { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes dt-desk { 0% { transform: translateX(0); } 50% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes dt-lamp { 0% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } 50% { box-shadow: 0 0 35px 12px rgba(200,140,60,0.5); opacity:1; } 100% { box-shadow: 0 0 20px 6px rgba(200,140,60,0.3); opacity:0.9; } }

.scn-artist-vs-soldier { background: linear-gradient(180deg, #f5deb3 0%, #d2b48c 50%, #cd853f 100%), radial-gradient(ellipse at 50% 100%, #cd853f 0%, transparent 70%); }
.scn-artist-vs-soldier .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f5deb3 0%, #d2b48c 100%); }
.scn-artist-vs-soldier .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8b4513 0%, #a0522d 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 12px 20px rgba(0,0,0,.3); }
.scn-artist-vs-soldier .window { position:absolute; top:18%; left:50%; width:100px; height:130px; transform:translateX(-50%); background: radial-gradient(circle, #fff8dc 0%, #ffebcd 60%, #d2b48c 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 0 0 6px #654321, 0 4px 12px rgba(0,0,0,.4); animation: avs-glow 8s ease-in-out infinite alternate; }
.scn-artist-vs-soldier .easel { position:absolute; bottom:28%; left:30%; width:8px; height:70px; background: linear-gradient(180deg, #654321 0%, #3a2512 100%); border-radius: 10% 10% 0 0; transform: rotate(4deg); box-shadow: 4px 0 0 #3a2512, 8px 0 0 #654321; }
.scn-artist-vs-soldier .artist { position:absolute; bottom:24%; left:28%; width:32px; height:70px; background: linear-gradient(180deg, #3a4a4a 0%, #1a2a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: avs-breathe-a 4s ease-in-out infinite; }
.scn-artist-vs-soldier .soldier { position:absolute; bottom:24%; left:56%; width:36px; height:74px; background: linear-gradient(180deg, #3a4a4a 0%, #1a2a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: avs-breathe-b 4s ease-in-out infinite 2s; box-shadow: 4px 0 0 #1a2a2a; }
.scn-artist-vs-soldier .glow { position:absolute; top:20%; left:48%; width:70px; height:90px; background: radial-gradient(circle, rgba(255,248,220,.5) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: avs-dust 6s ease-in-out infinite alternate; }
@keyframes avs-glow { 0% { opacity:.7; box-shadow: inset 0 0 0 6px #654321, 0 0 20px #ffebcd; } 50% { opacity:1; box-shadow: inset 0 0 0 6px #654321, 0 0 40px #fff8dc; } 100% { opacity:.8; box-shadow: inset 0 0 0 6px #654321, 0 0 25px #ffebcd; } }
@keyframes avs-breathe-a { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes avs-breathe-b { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes avs-dust { 0% { opacity:.3; transform: translateY(0) scale(1); } 50% { opacity:.6; transform: translateY(-10px) scale(1.1); } 100% { opacity:.4; transform: translateY(5px) scale(.95); } }

.scn-walk-to-village { background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 50%, #f5deb3 100%), radial-gradient(ellipse at 50% 100%, #f5deb3 0%, transparent 60%); }
.scn-walk-to-village .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 100%); animation: wv-cloud 40s linear infinite; }
.scn-walk-to-village .sun { position:absolute; top:8%; right:20%; width:50px; height:50px; background: radial-gradient(circle, #fff8dc 0%, #ffd700 50%, transparent 70%); border-radius: 50%; animation: wv-sun 12s ease-in-out infinite alternate; }
.scn-walk-to-village .hills { position:absolute; bottom:30%; left:0; right:0; height:30%; background: linear-gradient(180deg, #556b2f 0%, #2e8b57 100%); border-radius: 60% 40% 0 0 / 80% 70% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.2); }
.scn-walk-to-village .houses { position:absolute; bottom:28%; left:10%; width:80px; height:50px; background: linear-gradient(180deg, #f5deb3 0%, #d2b48c 100%); border-radius: 6% 6% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.3), -40px 0 0 #d2b48c, 40px 0 0 #f5deb3; }
.scn-walk-to-village .path { position:absolute; bottom:0; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #d2b48c 0%, #a0522d 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.scn-walk-to-village .fig-a { position:absolute; bottom:10%; left:20%; width:20px; height:50px; background: linear-gradient(180deg, #2f4f4f 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wv-walk-a 4s ease-in-out infinite; }
.scn-walk-to-village .fig-b { position:absolute; bottom:10%; left:35%; width:22px; height:52px; background: linear-gradient(180deg, #2f4f4f 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wv-walk-b 4s ease-in-out infinite 0.5s; }
@keyframes wv-cloud { 0% { background-position: 0 0; } 50% { background-position: 20% 0; } 100% { background-position: 0 0; } }
@keyframes wv-sun { 0% { transform: translateX(0) scale(1); opacity:.8; } 50% { transform: translateX(-10px) scale(1.05); opacity:1; } 100% { transform: translateX(5px) scale(.95); opacity:.9; } }
@keyframes wv-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(-1deg); } }
@keyframes wv-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(1deg); } }

.scn-explanation-of-bargain { background: linear-gradient(180deg, #faf0e6 0%, #d3d3d3 50%, #a0522d 100%), radial-gradient(ellipse at 50% 100%, #a0522d 0%, transparent 70%); }
.scn-explanation-of-bargain .window { position:absolute; top:10%; left:50%; width:120px; height:160px; transform:translateX(-50%); background: radial-gradient(circle, #fff8dc 0%, #f5deb3 60%, #d2b48c 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 0 8px #654321, 0 0 30px #f5deb3; animation: eob-pulse 10s ease-in-out infinite alternate; }
.scn-explanation-of-bargain .shelf { position:absolute; top:15%; left:5%; width:90px; height:120px; background: linear-gradient(180deg, #8b4513 0%, #654321 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 8px 0 #3a2512; }
.scn-explanation-of-bargain .desk { position:absolute; bottom:20%; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #a0522d 0%, #8b4513 100%); border-radius: 6% 6% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.2); }
.scn-explanation-of-bargain .scholar-a { position:absolute; bottom:22%; left:25%; width:40px; height:80px; background: linear-gradient(180deg, #d2b48c 0%, #a0522d 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: eob-nod-a 6s ease-in-out infinite; }
.scn-explanation-of-bargain .scholar-b { position:absolute; bottom:22%; right:25%; width:44px; height:84px; background: linear-gradient(180deg, #f5deb3 0%, #d2b48c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: eob-nod-b 6s ease-in-out infinite 3s; }
.scn-explanation-of-bargain .artifact { position:absolute; bottom:30%; left:50%; width:30px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #ffd700 0%, #daa520 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 0 20px #daa520; animation: eob-glimmer 4s ease-in-out infinite alternate; }
.scn-explanation-of-bargain .dust { position:absolute; top:20%; left:20%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,255,255,.3) 0%, transparent 70%); border-radius: 50%; filter: blur(4px); animation: eob-dust 15s linear infinite; }
@keyframes eob-pulse { 0% { opacity:.8; box-shadow: inset 0 0 0 8px #654321, 0 0 20px #f5deb3; } 50% { opacity:1; box-shadow: inset 0 0 0 8px #654321, 0 0 40px #fff8dc; } 100% { opacity:.85; box-shadow: inset 0 0 0 8px #654321, 0 0 25px #f5deb3; } }
@keyframes eob-nod-a { 0% { transform: rotate(0deg); } 50% { transform: rotate(-4deg); } 100% { transform: rotate(0deg); } }
@keyframes eob-nod-b { 0% { transform: rotate(0deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(0deg); } }
@keyframes eob-glimmer { 0% { opacity:.6; box-shadow: 0 0 10px #daa520; } 50% { opacity:1; box-shadow: 0 0 30px #ffd700; } 100% { opacity:.7; box-shadow: 0 0 15px #daa520; } }
@keyframes eob-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity:0; } 10% { opacity:.5; } 90% { opacity:.5; } 100% { transform: translateY(-60px) translateX(40px) scale(1.5); opacity:0; } }

.scn-green-mummy-deal { background: linear-gradient(180deg, #e9967a 0%, #daa520 50%, #2f4f4f 100%), radial-gradient(ellipse at 50% 100%, #2f4f4f 0%, transparent 60%); }
.scn-green-mummy-deal .mummy { position:absolute; bottom:20%; left:50%; width:70px; height:160px; transform:translateX(-50%); background: linear-gradient(180deg, #006400 0%, #004d00 100%); border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%; box-shadow: 0 0 30px #006400, inset 0 0 20px #008000; animation: gmd-glint 6s ease-in-out infinite alternate; }
.scn-green-mummy-deal .dealer { position:absolute; bottom:15%; left:15%; width:45px; height:90px; background: linear-gradient(180deg, #d2b48c 0%, #a0522d 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gmd-lean-a 5s ease-in-out infinite; }
.scn-green-mummy-deal .buyer { position:absolute; bottom:15%; right:15%; width:45px; height:90px; background: linear-gradient(180deg, #f5deb3 0%, #d2b48c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gmd-lean-b 5s ease-in-out infinite 2.5s; }
.scn-green-mummy-deal .rug { position:absolute; bottom:0; left:5%; right:5%; height:25%; background: linear-gradient(180deg, #cd853f 0%, #8b4513 50%, #cd853f 100%); border-radius: 70% 70% 0 0 / 100% 100% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.2); }
.scn-green-mummy-deal .window { position:absolute; top:10%; left:10%; width:80px; height:100px; background: radial-gradient(circle, #fff8dc 0%, #ffebcd 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 0 0 6px #654321, 0 0 30px #ffebcd; animation: gmd-sway 8s ease-in-out infinite alternate; }
.scn-green-mummy-deal .glow { position:absolute; top:5%; left:5%; width:100px; height:120px; background: radial-gradient(circle, rgba(255,248,220,.4) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: gmd-sway 8s ease-in-out infinite alternate-reverse; }
.scn-green-mummy-deal .jar { position:absolute; bottom:22%; right:35%; width:24px; height:40px; background: linear-gradient(180deg, #daa520 0%, #8b6508 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
@keyframes gmd-glint { 0% { opacity:.7; box-shadow: 0 0 20px #006400, inset 0 0 10px #008000; } 50% { opacity:1; box-shadow: 0 0 40px #008000, inset 0 0 20px #00a000; } 100% { opacity:.8; box-shadow: 0 0 25px #006400, inset 0 0 15px #008000; } }
@keyframes gmd-lean-a { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes gmd-lean-b { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-10px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes gmd-sway { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(.98); } }

.scn-pyramids-dinner-evening { background: linear-gradient(180deg, #6a3a1a 0%, #4a2a0a 50%, #2a1a0a 100%), radial-gradient(ellipse at 50% 60%, #c06030 0%, transparent 70%); }
.scn-pyramids-dinner-evening .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #8a5a3a 0%, #a06040 50%, #8a5a3a 100%); }
.scn-pyramids-dinner-evening .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 30% 30% 0 0; }
.scn-pyramids-dinner-evening .table   { position:absolute; bottom:20%; left:20%; right:20%; height:14%; background: linear-gradient(180deg, #6a4a30 0%, #4a3018 100%); border-radius: 8% / 20%; box-shadow: 0 -6px 12px rgba(0,0,0,.4); }
.scn-pyramids-dinner-evening .lamp    { position:absolute; top:10%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: radial-gradient(circle at 50% 100%, #ffd080 0%, #d09050 60%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 10px rgba(255,180,80,.5); animation: pd-lamp 5s ease-in-out infinite alternate; }
.scn-pyramids-dinner-evening .figure-prof { position:absolute; bottom:24%; left:30%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pd-fig 8s ease-in-out infinite; }
.scn-pyramids-dinner-evening .figure-lucy { position:absolute; bottom:24%; right:30%; width:26px; height:52px; background: linear-gradient(180deg, #2a2a3a 0%, #141420 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pd-fig 9s ease-in-out infinite -2s; }
.scn-pyramids-dinner-evening .plate-1 { position:absolute; bottom:26%; left:42%; width:16px; height:6px; background: radial-gradient(ellipse at 50% 40%, #e8d8c0 0%, #c0b098 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: pd-plate 4s ease-in-out infinite; }
.scn-pyramids-dinner-evening .plate-2 { position:absolute; bottom:26%; right:42%; width:16px; height:6px; background: radial-gradient(ellipse at 50% 40%, #e8d8c0 0%, #c0b098 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: pd-plate 4s ease-in-out infinite -2s; }
.scn-pyramids-dinner-evening .candle  { position:absolute; bottom:27%; left:38%; width:4px; height:14px; background: linear-gradient(180deg, #d0a070 0%, #a08050 100%); border-radius: 2px; box-shadow: 0 -4px 8px 2px #f0c080; animation: pd-candle 2s ease-in-out infinite alternate; }
@keyframes pd-lamp   { 0% { opacity:.8; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.05); } 100% { opacity:.85; transform: translateX(-50%) scale(.98); } }
@keyframes pd-fig    { 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 pd-plate  { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.05) translateY(-1px); } 100% { transform: scale(1) translateY(0); } }
@keyframes pd-candle { 0% { height:14px; opacity:.9; } 50% { height:16px; opacity:1; } 100% { height:13px; opacity:.8; } }

.scn-pyramids-museum-evening { background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 50%, #0a0502 100%), radial-gradient(ellipse at 50% 100%, #3a2010 0%, transparent 70%); }
.scn-pyramids-museum-evening .bg-shelf    { position:absolute; top:10%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #4a3018 0%, #3a2010 100%); border-radius: 4px; box-shadow: inset 0 -4px 6px rgba(0,0,0,.5); }
.scn-pyramids-museum-evening .bg-floor    { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%); }
.scn-pyramids-museum-evening .spotlight   { position:absolute; top:8%; left:35%; right:35%; height:70%; background: linear-gradient(180deg, rgba(255,220,150,.4) 0%, rgba(255,220,150,.1) 60%, transparent 100%); clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%); transform-origin: top center; animation: pm-spot 12s ease-in-out infinite alternate; }
.scn-pyramids-museum-evening .artefact    { position:absolute; bottom:30%; left:50%; width:40px; height:55px; transform:translateX(-50%); background: linear-gradient(180deg, #b08040 0%, #805020 50%, #603010 100%); border-radius: 0 0 20% 20% / 0 0 40% 40%; box-shadow: 0 8px 12px rgba(0,0,0,.6); animation: pm-art 15s linear infinite; }
.scn-pyramids-museum-evening .figure-archie { position:absolute; bottom:22%; left:25%; width:28px; height:70px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pm-fig 6s ease-in-out infinite; }
.scn-pyramids-museum-evening .figure-braddock { position:absolute; bottom:22%; left:42%; width:32px; height:74px; background: linear-gradient(180deg, #2a2a3a 0%, #141420 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pm-fig 7s ease-in-out infinite -3s; }
.scn-pyramids-museum-evening .figure-don  { position:absolute; bottom:22%; right:25%; width:30px; height:68px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pm-fig 8s ease-in-out infinite -5s; }
.scn-pyramids-museum-evening .shadow      { position:absolute; bottom:18%; left:20%; right:20%; height:12%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5) 0%, transparent 80%); animation: pm-shadow 20s ease-in-out infinite alternate; }
@keyframes pm-spot   { 0% { transform: rotate(-2deg); opacity:.9; } 50% { transform: rotate(1deg); opacity:1; } 100% { transform: rotate(0deg); opacity:.85; } }
@keyframes pm-art    { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(3deg); } 50% { transform: translateX(-50%) rotate(0deg); } 75% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes pm-fig    { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pm-shadow { 0% { opacity:.6; transform: scaleY(1); } 50% { opacity:.8; transform: scaleY(1.05); } 100% { opacity:.5; transform: scaleY(.95); } }

.scn-pyramids-next-day { background: linear-gradient(180deg, #9aa8b0 0%, #7a8890 40%, #5a6870 100%), radial-gradient(ellipse at 50% 80%, #6a7880 0%, transparent 70%); }
.scn-pyramids-next-day .bg-window   { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #b0b8c0 0%, #8a96a0 60%, #606a74 100%); border-bottom: 6px solid #4a5258; }
.scn-pyramids-next-day .bg-wall     { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #505860 0%, #3a4048 100%); }
.scn-pyramids-next-day .sky-outside { position:absolute; top:2%; left:12%; right:12%; height:50%; background: linear-gradient(180deg, #d0d8e0 0%, #9aa8b0 60%, #788088 100%); border-radius: 0 0 30% 30%; filter: blur(2px); animation: nd-cloud 40s linear infinite; }
.scn-pyramids-next-day .easel      { position:absolute; bottom:25%; left:35%; width:28px; height:70px; background: linear-gradient(180deg, #6a6050 0%, #4a4034 100%); clip-path: polygon(10% 0, 90% 0, 80% 100%, 20% 100%); transform-origin: bottom center; animation: nd-easel 10s ease-in-out infinite; }
.scn-pyramids-next-day .canvas     { position:absolute; bottom:34%; left:35%; width:36px; height:44px; transform: translateX(-2px); background: linear-gradient(180deg, #e0d8c8 0%, #c0b8a8 100%); border: 2px solid #4a4034; border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.3); animation: nd-canvas 12s ease-in-out infinite alternate; }
.scn-pyramids-next-day .figure-archie { position:absolute; bottom:22%; left:42%; width:24px; height:64px; background: linear-gradient(180deg, #1a1e22 0%, #0e1014 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nd-fig 8s ease-in-out infinite; }
.scn-pyramids-next-day .chair      { position:absolute; bottom:22%; left:40%; width:34px; height:30px; background: linear-gradient(180deg, #4a4034 0%, #2a2420 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; box-shadow: 0 -2px 4px rgba(0,0,0,.4); animation: nd-chair 10s ease-in-out infinite -4s; }
.scn-pyramids-next-day .palette    { position:absolute; bottom:32%; right:25%; width:20px; height:12px; background: radial-gradient(ellipse at 30% 40%, #d0b880 0%, #b09860 50%, #8a7850 100%); border-radius: 50%; transform: rotate(-10deg); animation: nd-palette 6s ease-in-out infinite alternate; }
@keyframes nd-cloud  { 0% { transform: translateX(-10%); } 50% { transform: translateX(10%); } 100% { transform: translateX(-10%); } }
@keyframes nd-easel  { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } }
@keyframes nd-canvas { 0% { transform: translateX(-2px) rotate(0deg); } 50% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes nd-fig    { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes nd-chair  { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes nd-palette { 0% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(-5deg) scale(1.05); } 100% { transform: rotate(-15deg) scale(1); } }

.scn-item-anonymous-letter { background: linear-gradient(180deg, #0a0a12 0%, #141428 40%, #1a1a2e 100%), radial-gradient(ellipse at 50% 30%, #2a2a40 0%, transparent 70%); }
.scn-item-anonymous-letter .bg-dark    { position:absolute; inset:0; background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.4) 100%); }
.scn-item-anonymous-letter .desk      { position:absolute; bottom:10%; left:15%; right:15%; height:24%; background: linear-gradient(180deg, #1a1a28 0%, #0e0e1a 100%); border-radius: 6% 6% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-item-anonymous-letter .letter    { position:absolute; bottom:20%; left:40%; width:20%; height:12%; background: linear-gradient(180deg, #d0c8b8 0%, #b0a898 100%); border: 1px solid #3a3430; box-shadow: 0 4px 6px rgba(0,0,0,.5); transform: rotate(2deg); animation: tl-letter 8s ease-in-out infinite alternate; }
.scn-item-anonymous-letter .lamp      { position:absolute; top:8%; left:50%; width:20px; height:28px; transform:translateX(-50%); background: radial-gradient(circle at 50% 100%, #c89040 0%, #a07030 60%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 40px 12px #a07030, 0 0 80px 24px rgba(160,112,48,.4); animation: tl-lamp 3s ease-in-out infinite alternate; }
.scn-item-anonymous-letter .hand      { position:absolute; bottom:18%; left:38%; width:22px; height:30px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%); border-radius: 40% 60% 50% 50% / 30% 40% 60% 70%; transform: rotate(10deg); transform-origin: bottom right; animation: tl-hand 4s ease-in-out infinite; }
.scn-item-anonymous-letter .inkwell   { position:absolute; bottom:22%; right:35%; width:12px; height:16px; background: linear-gradient(180deg, #0e0e1a 0%, #050510 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 2px 4px rgba(255,255,255,.1); animation: tl-ink 6s linear infinite; }
.scn-item-anonymous-letter .shadow-hand { position:absolute; bottom:14%; left:36%; width:26px; height:10px; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.7) 0%, transparent 80%); animation: tl-shadow 4s ease-in-out infinite; }
@keyframes tl-letter { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(1deg) translateY(0); } }
@keyframes tl-lamp   { 0% { opacity:.7; box-shadow: 0 0 30px 8px #a07030, 0 0 60px 16px rgba(160,112,48,.3); } 50% { opacity:1; box-shadow: 0 0 50px 16px #d0a050, 0 0 100px 32px rgba(208,160,80,.5); } 100% { opacity:.8; box-shadow: 0 0 35px 10px #a07030, 0 0 70px 20px rgba(160,112,48,.35); } }
@keyframes tl-hand   { 0% { transform: rotate(10deg) translate(0,0); } 25% { transform: rotate(8deg) translate(1px,-1px); } 50% { transform: rotate(12deg) translate(0,0); } 75% { transform: rotate(9deg) translate(-1px,1px); } 100% { transform: rotate(10deg) translate(0,0); } }
@keyframes tl-ink    { 0% { transform: scale(1); } 50% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes tl-shadow { 0% { opacity:.6; transform: scale(1); } 50% { opacity:.8; transform: scale(1.1); } 100% { opacity:.5; transform: scale(.95); } }

/* ===== random-accused ===== */
.scn-random-accused {
  background:
    linear-gradient(180deg, #f5ecd7 0%, #e8dcc3 40%, #cbb29a 100%),
    radial-gradient(ellipse at 80% 60%, #fff8e7 0%, transparent 60%);
}
.scn-random-accused .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #d6caba 0%, #e2d4c0 50%, #c8b6a2 100%);
  animation: ra-wall 6s ease-in-out infinite alternate;
}
.scn-random-accused .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #8b7a6a 0%, #a89580 40%, #baa88f 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: ra-floor 8s ease-in-out infinite alternate;
}
.scn-random-accused .door-frame {
  position: absolute; bottom: 30%; left: 60%; width: 80px; height: 140px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5e4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 2px 0 6px rgba(0,0,0,0.4);
  animation: ra-frame 10s ease-in-out infinite;
}
.scn-random-accused .door-open {
  position: absolute; bottom: 30%; left: 60%; width: 60px; height: 130px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #fffbe8 0%, #f5ecd7 60%, #e2d4c0 100%);
  border-radius: 2px;
  box-shadow: 0 0 30px 10px rgba(255,255,200,0.5);
  animation: ra-light 1.5s ease-in-out infinite alternate;
}
.scn-random-accused .figure {
  position: absolute; bottom: 32%; left: 62%; width: 20px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 70%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ra-figure 2s ease-in-out infinite;
}
.scn-random-accused .shadow {
  position: absolute; bottom: 30%; left: 55%; width: 40px; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  transform: skewX(-15deg);
  animation: ra-shadow 3s ease-in-out infinite alternate;
}
@keyframes ra-wall { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.88; } }
@keyframes ra-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97); } 100% { transform: scaleY(1.02); } }
@keyframes ra-frame { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(0.98); } }
@keyframes ra-light { 0% { box-shadow: 0 0 20px 5px rgba(255,255,200,0.4); opacity: 0.8; } 50% { box-shadow: 0 0 40px 15px rgba(255,255,200,0.7); opacity: 1; } 100% { box-shadow: 0 0 25px 8px rgba(255,255,200,0.5); opacity: 0.85; } }
@keyframes ra-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(-0.5deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0.5deg); } }
@keyframes ra-shadow { 0% { transform: skewX(-15deg) scaleX(1); opacity: 0.5; } 50% { transform: skewX(-20deg) scaleX(1.1); opacity: 0.7; } 100% { transform: skewX(-10deg) scaleX(0.9); opacity: 0.6; } }

/* ===== item-satin-wood-desk ===== */
.scn-item-satin-wood-desk {
  background:
    linear-gradient(180deg, #f5d5b0 0%, #e8b88a 50%, #c6956a 100%),
    radial-gradient(ellipse at 70% 80%, #ffc080 0%, transparent 70%);
}
.scn-item-satin-wood-desk .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #f0d8c0 0%, #f5e0cc 50%, #e8ccb0 100%);
  border-radius: 0 0 20% 20%;
  animation: swd-wall 12s ease-in-out infinite alternate;
}
.scn-item-satin-wood-desk .fireplace {
  position: absolute; bottom: 35%; left: 15%; width: 120px; height: 90px;
  background: linear-gradient(180deg, #7a6050 0%, #5a4a3a 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: inset 0 -6px 12px rgba(0,0,0,0.5);
  animation: swd-hp 10s ease-in-out infinite;
}
.scn-item-satin-wood-desk .fire {
  position: absolute; bottom: 39%; left: 22%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at 50% 70%, #ffb040 0%, #ff6600 40%, #a03000 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 40px 15px #ff6600, 0 0 80px 30px rgba(255,102,0,0.4);
  animation: swd-fire 2s ease-in-out infinite alternate;
}
.scn-item-satin-wood-desk .desk {
  position: absolute; bottom: 20%; left: 75%; width: 100px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b88a6a 0%, #8a6a4a 50%, #604030 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4), inset 0 2px 4px rgba(255,200,150,0.3);
  animation: swd-desk 6s ease-in-out infinite;
}
.scn-item-satin-wood-desk .chair {
  position: absolute; bottom: 20%; left: 60%; width: 30px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20%;
  animation: swd-chair 8s ease-in-out infinite alternate;
}
.scn-item-satin-wood-desk .painting {
  position: absolute; top: 8%; left: 40%; width: 60px; height: 50px;
  background: linear-gradient(135deg, #b0a080 0%, #8a7a6a 50%, #6a5a4a 100%);
  border: 3px solid #8a7050;
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: swd-paint 18s ease-in-out infinite alternate;
}
.scn-item-satin-wood-desk .vase {
  position: absolute; bottom: 24%; left: 70%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #c8a060 0%, #a08050 60%, #705a30 100%);
  border-radius: 40% 40% 20% 20%;
  animation: swd-vase 14s ease-in-out infinite;
}
@keyframes swd-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes swd-hp { 0%,100% { transform: scale(1); } 50% { transform: scale(1.02) translateY(-1px); } }
@keyframes swd-fire { 0% { transform: scale(1) rotate(-2deg); opacity: 0.9; } 50% { transform: scale(1.1) rotate(2deg); opacity: 1; } 100% { transform: scale(0.95) rotate(-1deg); opacity: 0.85; } }
@keyframes swd-desk { 0% { box-shadow: 0 4px 10px rgba(0,0,0,0.4), inset 0 2px 4px rgba(255,200,150,0.3); } 50% { box-shadow: 0 6px 14px rgba(0,0,0,0.5), inset 0 3px 6px rgba(255,200,150,0.5); } 100% { box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px 3px rgba(255,200,150,0.2); } }
@keyframes swd-chair { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg) translateY(-1px); } 100% { transform: translateX(-50%) rotate(-0.5deg); } }
@keyframes swd-paint { 0% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.02); filter: brightness(1.05); } 100% { transform: scale(0.98); filter: brightness(0.95); } }
@keyframes swd-vase { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }

/* ===== item-fan ===== */
.scn-item-fan {
  background:
    linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 50%, #0a1a0a 100%),
    radial-gradient(ellipse at 50% 30%, #4a5a3a 0%, transparent 70%);
}
.scn-item-fan .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a4a3a 0%, #2a3a2a 70%, #1a2a1a 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
  animation: ifa-wall 10s ease-in-out infinite alternate;
}
.scn-item-fan .table {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #2a1a0a 0%, #3a2a1a 50%, #4a3a2a 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.5);
  animation: ifa-table 12s ease-in-out infinite;
}
.scn-item-fan .fan {
  position: absolute; bottom: 40%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 20%, #d4b080 0%, #a08060 40%, #705040 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: ifa-fan 2s ease-in-out infinite alternate;
}
.scn-item-fan .fan-shadow {
  position: absolute; bottom: 42%; left: 45%; width: 60px; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  transform: rotate(-15deg);
  animation: ifa-shadow 3s ease-in-out infinite alternate;
}
.scn-item-fan .gaslight {
  position: absolute; top: 10%; left: 30%; width: 30px; height: 40px;
  background: radial-gradient(ellipse at 50% 30%, #c8ff80 0%, #90c060 40%, #406020 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px #90c060, 0 0 60px 20px rgba(144,192,96,0.3);
  animation: ifa-gas 0.8s ease-in-out infinite alternate;
}
.scn-item-fan .aura {
  position: absolute; top: 5%; left: 25%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,255,128,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ifa-aura 1.2s ease-in-out infinite alternate;
}
.scn-item-fan .mummy-box {
  position: absolute; bottom: 20%; left: 20%; width: 70px; height: 50px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 0 10px rgba(0,0,0,0.3);
  animation: ifa-mummy 4s ease-in-out infinite;
}
@keyframes ifa-wall { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes ifa-table { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.97); } }
@keyframes ifa-fan { 0% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(3deg) scale(0.98); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes ifa-shadow { 0% { transform: rotate(-15deg) scaleX(1); opacity: 0.6; } 50% { transform: rotate(-20deg) scaleX(1.1); opacity: 0.8; } 100% { transform: rotate(-10deg) scaleX(0.9); opacity: 0.5; } }
@keyframes ifa-gas { 0% { box-shadow: 0 0 20px 4px #90c060, 0 0 40px 12px rgba(144,192,96,0.3); opacity: 0.7; } 50% { box-shadow: 0 0 40px 12px #a0d080, 0 0 70px 25px rgba(144,192,96,0.5); opacity: 1; } 100% { box-shadow: 0 0 25px 6px #90c060, 0 0 50px 15px rgba(144,192,96,0.4); opacity: 0.8; } }
@keyframes ifa-aura { 0% { transform: scale(1); opacity: 0.3; } 50% { transform: scale(1.2); opacity: 0.6; } 100% { transform: scale(0.9); opacity: 0.2; } }
@keyframes ifa-mummy { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* ===== item-lorgnette ===== */
.scn-item-lorgnette {
  background:
    linear-gradient(180deg, #b8b8b8 0%, #9a9a9a 40%, #7a7a7a 100%),
    radial-gradient(ellipse at 50% 0%, #c8c8c8 0%, transparent 70%);
}
.scn-item-lorgnette .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d0d0d0 0%, #b0b0b0 60%, #909090 100%);
  filter: blur(1px);
  animation: ilo-sky 30s ease-in-out infinite alternate;
}
.scn-item-lorgnette .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(0deg, #5a6a4a 0%, #7a8a6a 50%, #8a9a7a 100%);
  border-radius: 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.2);
  animation: ilo-ground 20s ease-in-out infinite alternate;
}
.scn-item-lorgnette .figure-left {
  position: absolute; bottom: 25%; left: 20%; width: 22px; height: 55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 70%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ilo-figL 5s ease-in-out infinite;
}
.scn-item-lorgnette .figure-right {
  position: absolute; bottom: 24%; left: 35%; width: 20px; height: 52px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 70%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ilo-figR 5s ease-in-out infinite 2s;
}
.scn-item-lorgnette .lorgnette {
  position: absolute; bottom: 38%; left: 34%; width: 8px; height: 12px;
  background: radial-gradient(circle at 50% 30%, #c0b0a0 0%, #a09080 40%, #705050 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.3);
  animation: ilo-lorg 2s ease-in-out infinite;
}
.scn-item-lorgnette .glasses-case {
  position: absolute; bottom: 30%; left: 15%; width: 14px; height: 10px;
  background: linear-gradient(135deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  transform: rotate(15deg);
  animation: ilo-case 8s ease-in-out infinite alternate;
}
.scn-item-lorgnette .tree {
  position: absolute; bottom: 40%; left: 70%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #5a7a4a 0%, #4a6a3a 60%, #3a5a2a 100%);
  border-radius: 60% 40% 30% 20%;
  box-shadow: inset -10px 0 20px rgba(0,0,0,0.3);
  animation: ilo-tree 10s ease-in-out infinite;
}
@keyframes ilo-sky { 0% { filter: blur(1px); opacity: 0.8; } 50% { filter: blur(2px); opacity: 0.95; } 100% { filter: blur(1px); opacity: 0.85; } }
@keyframes ilo-ground { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1.01); } }
@keyframes ilo-figL { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(-0.5deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(0.5deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes ilo-figR { 0% { transform: translateX(-50%) translateY(0) rotate(1deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(-0.5deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(1.5deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes ilo-lorg { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.15) rotate(5deg); } 100% { transform: scale(0.95) rotate(-3deg); } }
@keyframes ilo-case { 0% { transform: rotate(15deg) translate(0,0); } 50% { transform: rotate(12deg) translate(2px, -1px); } 100% { transform: rotate(18deg) translate(-1px, 1px); } }
@keyframes ilo-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-0.5deg); } }

.scn-search-futile { background: linear-gradient(180deg, #4a5568 0%, #2d3748 40%, #1a202c 100%), radial-gradient(ellipse at 50% 0%, #718096 0%, transparent 70%); }
.scn-search-futile .sf-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #718096 0%, transparent 100%); opacity:0.6; animation: sf-sky-pulse 12s ease-in-out infinite alternate; }
.scn-search-futile .sf-clouds { position:absolute; top:5%; left:0; right:0; height:35%; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%); filter: blur(25px); animation: sf-drift 40s linear infinite; }
.scn-search-futile .sf-mist { position:absolute; bottom:40%; left:-10%; right:-10%; height:20%; background: linear-gradient(90deg, transparent 0%, #4a5568 50%, transparent 100%); filter: blur(15px); opacity:0.7; animation: sf-mist-sweep 18s ease-in-out infinite alternate; }
.scn-search-futile .sf-ground { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #2d3748 0%, #1a202c 100%); border-radius: 70% 30% 0 0 / 30% 20% 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,0.6); }
.scn-search-futile .sf-figure { position:absolute; bottom:30%; left:45%; width:22px; height:50px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sf-figure-search 6s ease-in-out infinite; }
.scn-search-futile .sf-tree { position:absolute; bottom:35%; left:25%; width:8px; height:60px; background: linear-gradient(180deg, #2d3748 0%, #1a202c 100%); border-radius: 20% 20% 40% 40%; transform-origin: bottom center; box-shadow: -15px 0 0 0 #2d3748, -28px 5px 0 0 #1a202c; animation: sf-tree-creak 9s ease-in-out infinite; }
@keyframes sf-sky-pulse { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.4; } }
@keyframes sf-drift { 0% { transform: translateX(0); } 100% { transform: translateX(100vw); } }
@keyframes sf-mist-sweep { 0% { transform: translateX(-20%) scaleX(1); } 50% { transform: translateX(0%) scaleX(1.1); } 100% { transform: translateX(20%) scaleX(1); } }
@keyframes sf-figure-search { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(10px) rotate(0deg); } 50% { transform: translateX(20px) rotate(3deg); } 75% { transform: translateX(10px) rotate(0deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes sf-tree-creak { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(1deg); } 100% { transform: rotate(0deg); } }

.scn-reporters-invasion { background: linear-gradient(180deg, #0a1628 0%, #1a2a4a 50%, #2a4a6a 100%), radial-gradient(ellipse at 50% 20%, #4a7a9a 0%, transparent 60%); }
.scn-reporters-invasion .ri-moon-glow { position:absolute; top:8%; left:50%; width:60px; height:60px; transform: translateX(-50%); background: radial-gradient(circle, #ffffff 0%, #c0d0e0 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(192,208,224,0.4); animation: ri-moon-pulse 8s ease-in-out infinite alternate; }
.scn-reporters-invasion .ri-pyramid { position:absolute; bottom:0; left:50%; width:300px; height:250px; transform: translateX(-50%); background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); clip-path: polygon(50% 15%, 0% 100%, 100% 100%); box-shadow: -20px 0 30px rgba(0,0,0,0.5); animation: ri-pyramid-shift 20s ease-in-out infinite alternate; }
.scn-reporters-invasion .ri-sand { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); border-radius: 60% 40% 0 0 / 40% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: ri-sand-shift 15s ease-in-out infinite alternate; }
.scn-reporters-invasion .ri-guard { position:absolute; bottom:22%; left:35%; width:20px; height:45px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ri-guard-breathe 4s ease-in-out infinite; }
.scn-reporters-invasion .ri-boundary { position:absolute; bottom:25%; left:30%; right:10%; height:4px; background: rgba(255,255,255,0.2); border-radius: 2px; box-shadow: 0 -5px 0 0 rgba(255,255,255,0.1); animation: ri-boundary-fade 6s ease-in-out infinite alternate; }
.scn-reporters-invasion .ri-reporters { position:absolute; bottom:20%; left:60%; width:15px; height:25px; background: rgba(0,0,0,0.6); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 20px 5px 0 0 rgba(0,0,0,0.5), -10px 8px 0 0 rgba(0,0,0,0.4); animation: ri-reporters-fade 8s ease-in-out infinite alternate; }
@keyframes ri-moon-pulse { 0% { box-shadow: 0 0 40px 10px rgba(192,208,224,0.3); } 50% { box-shadow: 0 0 80px 30px rgba(192,208,224,0.5); } 100% { box-shadow: 0 0 50px 15px rgba(192,208,224,0.4); } }
@keyframes ri-pyramid-shift { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(0.98); } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes ri-sand-shift { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(0.95); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ri-guard-breathe { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes ri-boundary-fade { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes ri-reporters-fade { 0% { opacity:0.3; transform: scale(0.9); } 50% { opacity:0.8; transform: scale(1); } 100% { opacity:0.4; transform: scale(0.95); } }

.scn-night-meeting { background: linear-gradient(180deg, #0d1b2a 0%, #1b263b 50%, #2c3e50 100%), radial-gradient(ellipse at 30% 50%, #2c3e50 0%, transparent 70%); }
.scn-night-meeting .nm-fort-wall { position:absolute; top:0; left:0; bottom:0; width:35%; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #0a0a1a 100%); box-shadow: inset -20px 0 30px rgba(0,0,0,0.8), 5px 0 0 rgba(255,255,255,0.05); animation: nm-wall-shadow 12s ease-in-out infinite alternate; }
.scn-night-meeting .nm-moon { position:absolute; top:12%; left:55%; width:50px; height:50px; background: radial-gradient(circle, #e0e8f0 0%, #a0b0c0 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 40px 10px rgba(160,176,192,0.4), 0 0 80px 20px rgba(160,176,192,0.2); animation: nm-moon-reveal 18s ease-in-out infinite alternate; }
.scn-night-meeting .nm-clouds { position:absolute; top:5%; left:-20%; right:0; height:30%; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.1) 50%, transparent 100%); filter: blur(20px); animation: nm-race 25s linear infinite; }
.scn-night-meeting .nm-fig-l { position:absolute; bottom:20%; left:45%; width:18px; height:38px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: nm-fig-l-point 5s ease-in-out infinite; }
.scn-night-meeting .nm-fig-c { position:absolute; bottom:18%; left:52%; width:22px; height:40px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: nm-fig-c-crouch 7s ease-in-out infinite; }
.scn-night-meeting .nm-fig-r { position:absolute; bottom:20%; left:62%; width:18px; height:42px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: nm-fig-r-stand 6s ease-in-out infinite; }
.scn-night-meeting .nm-lantern { position:absolute; bottom:28%; left:56%; width:8px; height:10px; background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%); border-radius: 20% 20% 40% 40%; box-shadow: 0 0 20px 5px rgba(255,208,128,0.6), 0 0 40px 10px rgba(255,208,128,0.3); animation: nm-lantern-flicker 3s ease-in-out infinite alternate; }
@keyframes nm-wall-shadow { 0% { box-shadow: inset -20px 0 30px rgba(0,0,0,0.8), 5px 0 0 rgba(255,255,255,0.05); } 50% { box-shadow: inset -25px 0 40px rgba(0,0,0,0.9), 5px 0 0 rgba(255,255,255,0.02); } 100% { box-shadow: inset -15px 0 20px rgba(0,0,0,0.7), 5px 0 0 rgba(255,255,255,0.08); } }
@keyframes nm-moon-reveal { 0% { opacity:0.3; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.6; transform: scale(0.95); } }
@keyframes nm-race { 0% { transform: translateX(0); } 100% { transform: translateX(150vw); } }
@keyframes nm-fig-l-point { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(10deg) translateY(-2px); } 50% { transform: rotate(-2deg) translateY(0); } 75% { transform: rotate(15deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes nm-fig-c-crouch { 0% { transform: scaleY(0.9) translateY(0); } 50% { transform: scaleY(0.85) translateY(2px); } 100% { transform: scaleY(0.9) translateY(0); } }
@keyframes nm-fig-r-stand { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes nm-lantern-flicker { 0% { box-shadow: 0 0 15px 3px rgba(255,208,128,0.5), 0 0 30px 8px rgba(255,208,128,0.2); opacity:0.8; } 50% { box-shadow: 0 0 35px 10px rgba(255,208,128,0.8), 0 0 60px 15px rgba(255,208,128,0.4); opacity:1; } 100% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.5), 0 0 40px 10px rgba(255,208,128,0.2); opacity:0.85; } }

.scn-date-joins { background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 40%, #2a1a10 100%), radial-gradient(ellipse at 80% 50%, #2a1a10 0%, transparent 70%); }
.scn-date-joins .dj-cottage-wall { position:absolute; top:0; left:0; bottom:0; width:60%; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); box-shadow: inset -10px 0 20px rgba(0,0,0,0.8), 0 0 0 1px rgba(255,255,255,0.05); animation: dj-wall-fade 20s ease-in-out infinite alternate; }
.scn-date-joins .dj-cottage-roof { position:absolute; top:-5%; left:0; width:65%; height:20%; background: linear-gradient(180deg, #1a1a0a 0%, #2a2a1a 100%); transform: skewX(-10deg); box-shadow: 0 10px 20px rgba(0,0,0,0.8); border-bottom: 3px solid #3a3a2a; animation: dj-roof-creak 15s ease-in-out infinite alternate; }
.scn-date-joins .dj-window-glow { position:absolute; top:35%; left:25%; width:50px; height:60px; background: radial-gradient(circle, #ffd080 0%, #b08040 50%, transparent 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 30px 10px rgba(255,208,128,0.5), 0 0 60px 20px rgba(255,208,128,0.2); animation: dj-glow-flicker 4s ease-in-out infinite alternate; }
.scn-date-joins .dj-window-frame { position:absolute; top:35%; left:25%; width:50px; height:60px; background: transparent; border: 4px solid #1a1a0a; border-radius: 10% 10% 20% 20%; box-shadow: inset 0 0 10px rgba(0,0,0,0.5), 0 0 0 2px rgba(0,0,0,0.8); animation: dj-frame-hide 4s ease-in-out infinite alternate; }
.scn-date-joins .dj-trio { position:absolute; bottom:10%; left:40%; width:40px; height:80px; transform: scaleX(0.6); background: linear-gradient(180deg, rgba(0,0,0,0) 0%, #0a0a0a 100%); border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%; box-shadow: -15px 0 0 rgba(0,0,0,0.8), 15px 0 0 rgba(0,0,0,0.8); animation: dj-trio-creep 8s ease-in-out infinite; }
.scn-date-joins .dj-shadow-edge { position:absolute; top:0; right:0; bottom:0; width:40%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.8) 100%); animation: dj-shadow-sway 12s ease-in-out infinite alternate; }
.scn-date-joins .dj-bush { position:absolute; bottom:5%; left:45%; width:80px; height:40px; background: radial-gradient(ellipse at 50% 100%, #1a2a1a 0%, #0a1a0a 100%); border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: dj-bush-rustle 7s ease-in-out infinite alternate; }
@keyframes dj-wall-fade { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes dj-roof-creak { 0% { transform: skewX(-10deg) translateY(0); } 50% { transform: skewX(-8deg) translateY(-2px); } 100% { transform: skewX(-10deg) translateY(0); } }
@keyframes dj-glow-flicker { 0% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.4), 0 0 40px 15px rgba(255,208,128,0.15); opacity:0.7; } 50% { box-shadow: 0 0 50px 15px rgba(255,208,128,0.7), 0 0 80px 25px rgba(255,208,128,0.3); opacity:1; } 100% { box-shadow: 0 0 30px 8px rgba(255,208,128,0.5), 0 0 50px 15px rgba(255,208,128,0.2); opacity:0.8; } }
@keyframes dj-frame-hide { 0% { opacity:1; } 50% { opacity:0.5; } 100% { opacity:0.9; } }
@keyframes dj-trio-creep { 0% { transform: scaleX(0.6) translateX(0); } 25% { transform: scaleX(0.6) translateX(2px); } 50% { transform: scaleX(0.6) translateX(5px); } 75% { transform: scaleX(0.6) translateX(2px); } 100% { transform: scaleX(0.6) translateX(0); } }
@keyframes dj-shadow-sway { 0% { width:40%; } 50% { width:45%; } 100% { width:35%; } }
@keyframes dj-bush-rustle { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }

.scn-braddock-in-museum { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a1208 100%), radial-gradient(ellipse at 70% 30%, #4a3a2a 0%, transparent 60%); }
.scn-braddock-in-museum .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-braddock-in-museum .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%); }
.scn-braddock-in-museum .doorway { position:absolute; bottom:30%; left:15%; width:25%; height:50%; background: #0a0804; border-radius: 4% 4% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
.scn-braddock-in-museum .professor { position:absolute; bottom:30%; left:50%; width:20px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bm-prof 6s ease-in-out infinite; }
.scn-braddock-in-museum .jasher { position:absolute; bottom:30%; left:18%; width:22px; height:48px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bm-jasher 8s ease-in-out infinite; }
.scn-braddock-in-museum .display-case { position:absolute; bottom:30%; left:40%; width:30%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; box-shadow: 0 -4px 8px rgba(0,0,0,.4); }
.scn-braddock-in-museum .scarabeus { position:absolute; bottom:38%; left:55%; width:10px; height:8px; background: radial-gradient(circle, #c8a040 0%, #8a6a20 70%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(200,160,64,.5), 0 0 40px 12px rgba(200,160,64,.2); animation: bm-scarab 4s ease-in-out infinite alternate; }
.scn-braddock-in-museum .lamp-glow { position:absolute; top:5%; right:10%; width:40px; height:60px; background: radial-gradient(ellipse, rgba(255,200,100,.15) 0%, transparent 70%); animation: bm-lamp 5s ease-in-out infinite alternate; }
@keyframes bm-prof { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes bm-jasher { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 50% { transform: translateX(2px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes bm-scarab { 0% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 30px 8px rgba(200,160,64,.6), 0 0 60px 16px rgba(200,160,64,.3); } 100% { opacity: .8; transform: scale(.98); } }
@keyframes bm-lamp { 0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .7; } }

.scn-jasher-in-museum { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a1208 100%), radial-gradient(ellipse at 30% 40%, #4a3a2a 0%, transparent 60%); }
.scn-jasher-in-museum .bg-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-jasher-in-museum .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%); }
.scn-jasher-in-museum .jasher-figure { position:absolute; bottom:25%; left:30%; width:28px; height:60px; background: linear-gradient(180deg, #3a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: jm-jasher 4s ease-in-out infinite; }
.scn-jasher-in-museum .fan { position:absolute; bottom:45%; left:36%; width:16px; height:16px; background: radial-gradient(circle, #b87878 0%, #8a5a5a 60%); border-radius: 50%; animation: jm-fan 2s ease-in-out infinite; box-shadow: 0 0 8px 2px rgba(184,120,120,.3); }
.scn-jasher-in-museum .professor-figure { position:absolute; bottom:25%; left:55%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: jm-prof 6s ease-in-out infinite; }
.scn-jasher-in-museum .lamp-light { position:absolute; top:5%; left:40%; width:50px; height:70px; background: radial-gradient(ellipse, rgba(255,200,100,.2) 0%, transparent 70%); animation: jm-lamp 5s ease-in-out infinite alternate; }
.scn-jasher-in-museum .shadow-pool { position:absolute; bottom:0; left:20%; width:40%; height:25%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.4) 0%, transparent 70%); animation: jm-shadow 8s ease-in-out infinite alternate; }
.scn-jasher-in-museum .sparkle { position:absolute; top:20%; right:20%; width:6px; height:6px; background: #ffd080; border-radius: 50%; box-shadow: 0 0 12px 4px rgba(255,208,128,.6); animation: jm-sparkle 3s ease-in-out infinite; }
@keyframes jm-jasher { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes jm-fan { 0% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(15deg) scale(1.1); } 100% { transform: rotate(-10deg) scale(1); } }
@keyframes jm-prof { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-2px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes jm-lamp { 0% { opacity: .5; } 50% { opacity: .8; } 100% { opacity: .6; } }
@keyframes jm-shadow { 0% { opacity: .3; } 50% { opacity: .6; } 100% { opacity: .4; } }
@keyframes jm-sparkle { 0% { opacity: .5; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: .6; transform: scale(.9); } }

.scn-braddock-ignores-jasher { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a1208 100%), radial-gradient(ellipse at 50% 20%, #5a4a2a 0%, transparent 60%); }
.scn-braddock-ignores-jasher .wall-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-braddock-ignores-jasher .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%); }
.scn-braddock-ignores-jasher .lamp-left { position:absolute; bottom:20%; left:10%; width:8px; height:40px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 2px; animation: bi-lamp 6s ease-in-out infinite alternate; }
.scn-braddock-ignores-jasher .lamp-right { position:absolute; bottom:20%; right:10%; width:8px; height:40px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 2px; animation: bi-lamp 6s ease-in-out infinite alternate-reverse; }
.scn-braddock-ignores-jasher .table { position:absolute; bottom:20%; left:35%; width:30%; height:6%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; box-shadow: 0 -4px 8px rgba(0,0,0,.4); }
.scn-braddock-ignores-jasher .professor { position:absolute; bottom:20%; left:50%; width:20px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bi-prof 5s ease-in-out infinite; }
.scn-braddock-ignores-jasher .scarabeus { position:absolute; bottom:26%; left:50%; width:12px; height:10px; transform:translateX(-50%); background: radial-gradient(circle, #c8a040 0%, #8a6a20 70%); border-radius: 50%; box-shadow: 0 0 24px 6px rgba(200,160,64,.5); animation: bi-scarab 3s ease-in-out infinite alternate; }
.scn-braddock-ignores-jasher .ambient-glow { position:absolute; top:0; left:0; right:0; bottom:0; background: radial-gradient(ellipse at 50% 20%, rgba(255,200,100,.1) 0%, transparent 60%); animation: bi-glow 7s ease-in-out infinite alternate; }
@keyframes bi-lamp { 0% { opacity: .6; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes bi-prof { 0% { transform: translateX(-50%) rotate(0deg); } 30% { transform: translateX(-48%) rotate(-2deg); } 60% { transform: translateX(-52%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bi-scarab { 0% { transform: translateX(-50%) scale(1); opacity: .8; } 50% { transform: translateX(-50%) scale(1.08); opacity: 1; } 100% { transform: translateX(-50%) scale(.98); opacity: .85; } }
@keyframes bi-glow { 0% { opacity: .4; } 50% { opacity: .7; } 100% { opacity: .5; } }

.scn-scarabeus-obsession { background: linear-gradient(180deg, #1a1208 0%, #2a1a0a 40%, #0a0804 100%), radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 70%); }
.scn-scarabeus-obsession .bg-deep { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a1208 100%); }
.scn-scarabeus-obsession .table-surface { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1208 0%, #0a0804 100%); }
.scn-scarabeus-obsession .scarabeus-body { position:absolute; bottom:45%; left:50%; width:60px; height:40px; transform:translateX(-50%); background: radial-gradient(ellipse at 40% 40%, #c8a040 0%, #8a6a20 60%, #5a4a1a 100%); border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: so-body 6s ease-in-out infinite alternate; }
.scn-scarabeus-obsession .scarabeus-glow { position:absolute; bottom:45%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, rgba(200,160,64,.3) 0%, transparent 70%); animation: so-glow 3s ease-in-out infinite alternate; }
.scn-scarabeus-obsession .magnifier { position:absolute; bottom:55%; left:60%; width:30px; height:30px; background: radial-gradient(circle, rgba(200,220,255,.3) 0%, transparent 70%); border-radius: 50%; box-shadow: inset 0 0 10px rgba(200,220,255,.2); animation: so-mag 5s ease-in-out infinite; }
.scn-scarabeus-obsession .professor-hand { position:absolute; bottom:40%; left:55%; width:18px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: so-hand 4s ease-in-out infinite; }
.scn-scarabeus-obsession .lamp-beam { position:absolute; top:0; left:35%; width:30%; height:60%; background: linear-gradient(180deg, rgba(255,200,100,.15) 0%, transparent 100%); clip-path: polygon(30% 0%, 70% 0%, 55% 100%, 45% 100%); animation: so-beam 5s ease-in-out infinite alternate; }
.scn-scarabeus-obsession .shadow { position:absolute; bottom:0; left:30%; width:40%; height:20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.5) 0%, transparent 70%); animation: so-shadow 8s ease-in-out infinite alternate; }
@keyframes so-body { 0% { transform: translateX(-50%) rotate(-2deg) scale(1); } 50% { transform: translateX(-50%) rotate(3deg) scale(1.03); } 100% { transform: translateX(-50%) rotate(-1deg) scale(.98); } }
@keyframes so-glow { 0% { opacity: .5; } 50% { opacity: .9; } 100% { opacity: .6; } }
@keyframes so-mag { 0% { transform: translate(0, 0) rotate(-5deg); } 50% { transform: translate(2px, -2px) rotate(5deg); } 100% { transform: translate(0, 0) rotate(-3deg); } }
@keyframes so-hand { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-3px) translateY(-2px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes so-beam { 0% { opacity: .4; } 50% { opacity: .8; } 100% { opacity: .5; } }
@keyframes so-shadow { 0% { opacity: .3; } 50% { opacity: .6; } 100% { opacity: .4; } }

/* scene: conversation-about-mummy */
.scn-conversation-about-mummy { background: linear-gradient(180deg, #1a0e0e 0%, #2a1515 30%, #0d0505 100%), radial-gradient(ellipse at 50% 20%, #6b3a1a 0%, transparent 70%); }
.scn-conversation-about-mummy .cam-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1515 0%, #1a0e0e 100%); }
.scn-conversation-about-mummy .cam-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #0d0505 100%); border-radius: 0 0 20% 20%; }
.scn-conversation-about-mummy .cam-mummy { position:absolute; bottom:20%; left:30%; width:50px; height:120px; background: linear-gradient(180deg, #6b4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: -5px 0 10px rgba(0,0,0,.6); animation: cam-mummy 8s ease-in-out infinite; }
.scn-conversation-about-mummy .cam-figure1 { position:absolute; bottom:15%; left:10%; width:40px; height:100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom; animation: cam-fig1 6s ease-in-out infinite; }
.scn-conversation-about-mummy .cam-figure2 { position:absolute; bottom:15%; right:15%; width:45px; height:95px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom; animation: cam-fig2 5s ease-in-out infinite; }
.scn-conversation-about-mummy .cam-lamp { position:absolute; top:10%; left:50%; width:20px; height:30px; margin-left:-10px; background: radial-gradient(ellipse, #c08040 0%, #6b3a1a 100%); border-radius: 50% 50% 0 0; box-shadow: 0 -10px 30px 10px rgba(192,128,64,.4); }
.scn-conversation-about-mummy .cam-light { position:absolute; top:10%; left:40%; width:20%; height:40%; background: radial-gradient(ellipse, rgba(192,128,64,.2) 0%, transparent 70%); mix-blend-mode: screen; pointer-events:none; animation: cam-light 4s ease-in-out infinite alternate; }
@keyframes cam-mummy { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-5px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes cam-fig1 { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(5px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cam-fig2 { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cam-light { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }

/* scene: widow-offers-reward */
.scn-widow-offers-reward { background: linear-gradient(180deg, #1a0e0e 0%, #0d0505 100%), radial-gradient(ellipse at 50% 30%, #6b3a1a 0%, transparent 70%); }
.scn-widow-offers-reward .wor-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1515 0%, #1a0e0e 100%); }
.scn-widow-offers-reward .wor-table { position:absolute; bottom:0; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0e 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -10px 20px rgba(0,0,0,.5); }
.scn-widow-offers-reward .wor-fig-left { position:absolute; bottom:20%; left:5%; width:50px; height:110px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom; animation: wor-fig1 7s ease-in-out infinite; }
.scn-widow-offers-reward .wor-fig-right { position:absolute; bottom:20%; right:5%; width:55px; height:105px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom; animation: wor-fig2 8s ease-in-out infinite; }
.scn-widow-offers-reward .wor-lamp { position:absolute; top:10%; left:50%; width:25px; height:35px; margin-left:-12.5px; background: radial-gradient(ellipse, #c08040 0%, #6b3a1a 100%); border-radius: 50% 50% 0 0; box-shadow: 0 -10px 30px 10px rgba(192,128,64,.5); }
.scn-widow-offers-reward .wor-shadow { position:absolute; bottom:35%; left:20%; width:60%; height:10px; background: #0d0505; border-radius: 50%; animation: wor-shadow 6s ease-in-out infinite; }
.scn-widow-offers-reward .wor-light { position:absolute; top:10%; left:30%; width:40%; height:50%; background: radial-gradient(ellipse, rgba(192,128,64,.15) 0%, transparent 70%); mix-blend-mode: screen; pointer-events:none; animation: wor-light 5s ease-in-out infinite alternate; }
@keyframes wor-fig1 { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wor-fig2 { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wor-shadow { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.2) translateX(10px); } 100% { transform: scaleX(0.9) translateX(-5px); } }
@keyframes wor-light { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.15); } 100% { opacity: 0.6; transform: scale(0.9); } }

/* scene: reward-discussion */
.scn-reward-discussion { background: linear-gradient(180deg, #1a0e0e 0%, #0d0505 100%), radial-gradient(ellipse at 50% 50%, #6b3a1a 0%, transparent 80%); }
.scn-reward-discussion .rd-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, #2a1515 0%, #1a0e0e 80%); }
.scn-reward-discussion .rd-table { position:absolute; top:50%; left:50%; width:80%; height:50%; transform: translate(-50%, -50%); background: radial-gradient(ellipse, #3a2a1a 0%, #2a1a1a 80%); border-radius: 50%; box-shadow: 0 0 40px rgba(0,0,0,.6); }
.scn-reward-discussion .rd-coins { position:absolute; top:50%; left:50%; width:60px; height:20px; transform: translate(-50%, -50%); background: radial-gradient(ellipse, #c08040 0%, #6b3a1a 70%); border-radius: 50%; box-shadow: 0 0 20px rgba(192,128,64,.3); animation: rd-coins 4s ease-in-out infinite; }
.scn-reward-discussion .rd-hand-left { position:absolute; top:30%; left:20%; width:30px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom; animation: rd-hand-l 6s ease-in-out infinite; }
.scn-reward-discussion .rd-hand-right { position:absolute; top:30%; right:20%; width:30px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom; animation: rd-hand-r 7s ease-in-out infinite; }
.scn-reward-discussion .rd-lamp-light { position:absolute; top:5%; left:50%; width:40%; height:30%; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(192,128,64,.2) 0%, transparent 70%); mix-blend-mode: screen; pointer-events:none; animation: rd-light 5s ease-in-out infinite alternate; }
@keyframes rd-coins { 0% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-50%, -50%) scale(1.1); } 100% { transform: translate(-50%, -50%) scale(0.95); } }
@keyframes rd-hand-l { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes rd-hand-r { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-10px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes rd-light { 0% { opacity: 0.4; transform: translateX(-50%) scale(1); } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.2); } 100% { opacity: 0.5; transform: translateX(-50%) scale(0.9); } }

/* scene: legacy-revelation */
.scn-legacy-revelation { background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%), radial-gradient(ellipse at 50% 30%, #4a2a1a 0%, transparent 70%); }
.scn-legacy-revelation .lr-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0e 100%); }
.scn-legacy-revelation .lr-bed { position:absolute; bottom:10%; left:10%; right:10%; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a14 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: 0 -5px 15px rgba(0,0,0,.4); }
.scn-legacy-revelation .lr-lie { position:absolute; bottom:15%; left:20%; width:40%; height:30%; background: radial-gradient(ellipse, #3a2a1a 0%, #1a140e 100%); border-radius: 50%; transform-origin: center; animation: lr-lie 12s ease-in-out infinite; }
.scn-legacy-revelation .lr-stand { position:absolute; bottom:20%; right:15%; width:40px; height:100px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom; animation: lr-stand 10s ease-in-out infinite; }
.scn-legacy-revelation .lr-lamp { position:absolute; top:10%; left:20%; width:20px; height:30px; background: radial-gradient(ellipse, #c08040 0%, #4a2a1a 100%); border-radius: 50% 50% 0 0; box-shadow: 0 -5px 20px 5px rgba(192,128,64,.3); animation: lr-lamp 6s ease-in-out infinite; }
.scn-legacy-revelation .lr-light { position:absolute; top:10%; left:10%; width:30%; height:40%; background: radial-gradient(ellipse, rgba(192,128,64,.15) 0%, transparent 70%); mix-blend-mode: screen; pointer-events:none; animation: lr-light 8s ease-in-out infinite alternate; }
.scn-legacy-revelation .lr-curtain { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a14 100%); border-radius: 0 0 0 30%; transform-origin: right; animation: lr-curtain 20s ease-in-out infinite; }
@keyframes lr-lie { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes lr-stand { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes lr-lamp { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes lr-light { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }
@keyframes lr-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.95); } 100% { transform: scaleX(1); } }

.scn-fort-afternoon { background: linear-gradient(180deg, #e8d5b7 0%, #c9a77b 100%), radial-gradient(ellipse at 30% 20%, #fff8e7 0%, transparent 60%); }
.scn-fort-afternoon .wall { position:absolute; inset:0; background:linear-gradient(90deg, #b89a7a, #d4b896, #b89a7a); }
.scn-fort-afternoon .window{ position:absolute; top:10%; left:20%; width:40%; height:40%; background:linear-gradient(180deg, #87ceeb 0%, #b0e0e6 100%); border:4px solid #6b4c3b; border-radius:4px; animation:fa-window 7s ease-in-out infinite alternate; }
.scn-fort-afternoon .sunbeam{ position:absolute; top:12%; left:22%; width:20%; height:60%; transform:rotate(-10deg); background:linear-gradient(135deg, rgba(255,255,220,.6), transparent); filter:blur(8px); animation:fa-sunbeam 8s ease-in-out infinite alternate; }
.scn-fort-afternoon .floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #a17b5a, #6b4c3b); border-radius:0 0 4px 4px; }
.scn-fort-afternoon .figure { position:absolute; bottom:25%; left:30%; width:30px; height:60px; background:linear-gradient(180deg, #3a2a1a, #1a100a); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom; animation:fa-figure 6s ease-in-out infinite; }
.scn-fort-afternoon .table  { position:absolute; bottom:20%; left:40%; width:80px; height:20px; background:#5c3f2b; border-radius:4px; box-shadow:0 2px 4px rgba(0,0,0,.3); animation:fa-table 10s ease-in-out infinite; }
.scn-fort-afternoon .chair  { position:absolute; bottom:18%; left:45%; width:20px; height:30px; background:#4a3322; border-radius:2px; transform-origin:bottom; animation:fa-chair 4s ease-in-out infinite alternate; }
.scn-fort-afternoon .vase   { position:absolute; bottom:30%; left:25%; width:10px; height:20px; background:radial-gradient(ellipse at top, #6b8e23, #3a5f1a); border-radius:40% 40% 30% 30% / 30% 30% 20% 20%; animation:fa-vase 5s ease-in-out infinite; }
@keyframes fa-window  { 0%{opacity:.9}50%{opacity:1}100%{opacity:.95} }
@keyframes fa-sunbeam { 0%{transform:rotate(-10deg) translateX(0)}50%{transform:rotate(-8deg) translateX(10px)}100%{transform:rotate(-12deg) translateX(-5px)} }
@keyframes fa-figure  { 0%{transform:translateX(0) rotate(-2deg)}25%{transform:translateX(15px) rotate(0)}50%{transform:translateX(30px) rotate(2deg)}75%{transform:translateX(45px) rotate(0)}100%{transform:translateX(60px) rotate(-2deg)} }
@keyframes fa-table   { 0%{transform:translateX(0) rotate(0)}50%{transform:translateX(2px) rotate(1deg)}100%{transform:translateX(-2px) rotate(-1deg)} }
@keyframes fa-chair   { 0%{transform:rotate(0)}50%{transform:rotate(4deg)}100%{transform:rotate(-4deg)} }
@keyframes fa-vase    { 0%{transform:scaleY(1)}50%{transform:scaleY(1.02)}100%{transform:scaleY(.98)} }

.scn-warrior-inn-afternoon { background: linear-gradient(180deg, #d4a373, #b5835a), radial-gradient(ellipse at 50% 0%, #f0d9b5, transparent 70%); }
.scn-warrior-inn-afternoon .wall     { position:absolute; inset:0; background:linear-gradient(90deg, #8c6239, #a67c52, #8c6239); }
.scn-warrior-inn-afternoon .bar      { position:absolute; bottom:20%; left:10%; width:80%; height:10%; background:linear-gradient(180deg, #4e2f1b, #3a2110); border-radius:4px; }
.scn-warrior-inn-afternoon .bottles  { position:absolute; bottom:28%; left:20%; width:30px; height:40px; background:linear-gradient(135deg, #4c6a3f, #2a4a2a); border-radius:20% 20% 30% 30% / 30% 30% 20% 20%; transform:rotate(5deg); animation:wi-bottle 4s ease-in-out infinite; }
.scn-warrior-inn-afternoon .window   { position:absolute; top:15%; left:30%; width:40%; height:40%; background:linear-gradient(180deg, #b0d0e6, #8baec4); border:3px solid #3a2110; border-radius:2px; animation:wi-window 7s ease-in-out infinite alternate; }
.scn-warrior-inn-afternoon .figure   { position:absolute; bottom:22%; left:40%; width:25px; height:50px; background:linear-gradient(180deg, #2a1a10, #0a0500); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation:wi-figure 6s ease-in-out infinite; }
.scn-warrior-inn-afternoon .shadow   { position:absolute; bottom:22%; left:55%; width:20px; height:40px; background:rgba(0,0,0,.3); border-radius:50%; filter:blur(4px); animation:wi-shadow 8s ease-in-out infinite; }
.scn-warrior-inn-afternoon .table    { position:absolute; bottom:14%; left:25%; width:60px; height:16px; background:#4a2f1a; border-radius:4px; }
.scn-warrior-inn-afternoon .mug      { position:absolute; bottom:20%; left:45%; width:12px; height:14px; background:#6b4a2a; border-radius:20% 20% 10% 10%; animation:wi-mug 3s ease-in-out infinite alternate; }
@keyframes wi-bottle { 0%{transform:rotate(5deg) scale(1)}50%{transform:rotate(7deg) scale(1.02)}100%{transform:rotate(3deg) scale(.98)} }
@keyframes wi-window { 0%{opacity:.8;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.1)}100%{opacity:.85;filter:brightness(.95)} }
@keyframes wi-figure { 0%{transform:translateX(0) rotate(0)}25%{transform:translateX(5px) rotate(-2deg)}50%{transform:translateX(-5px) rotate(2deg)}75%{transform:translateX(10px) rotate(-3deg)}100%{transform:translateX(0) rotate(0)} }
@keyframes wi-shadow { 0%{transform:scaleX(1) translateX(0)}50%{transform:scaleX(1.1) translateX(3px)}100%{transform:scaleX(.9) translateX(-3px)} }
@keyframes wi-mug    { 0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(5deg)}100%{transform:translateY(0) rotate(-5deg)} }

.scn-fort-night { background: linear-gradient(180deg, #0b0e1a 0%, #1a1f30 50%, #0b0e1a 100%), radial-gradient(ellipse at 50% 80%, #2a3a50, transparent 70%); }
.scn-fort-night .sky     { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #0a0d1a, #141a2e); animation:fn-sky 15s ease-in-out infinite alternate; }
.scn-fort-night .moon    { position:absolute; top:10%; right:15%; width:40px; height:40px; background:radial-gradient(circle, #e0e8f0 0%, #aab4c4 70%, transparent 100%); border-radius:50%; box-shadow:0 0 30px 10px rgba(170,180,196,.3); animation:fn-moon 20s ease-in-out infinite; }
.scn-fort-night .wall    { position:absolute; bottom:30%; left:0; right:0; height:50%; background:linear-gradient(180deg, #2a2f3a, #1a1e28); border-radius:10% 10% 0 0 / 5% 5% 0 0; box-shadow:inset 0 10px 20px rgba(0,0,0,.5); }
.scn-fort-night .gate    { position:absolute; bottom:25%; left:40%; width:20%; height:30%; background:linear-gradient(180deg, #3a3f4a, #1a1e28); border:2px solid #4a4f5a; border-radius:5% 5% 0 0; animation:fn-gate 12s ease-in-out infinite; }
.scn-fort-night .figure  { position:absolute; bottom:28%; left:45%; width:20px; height:45px; background:linear-gradient(180deg, #0a0d12, #000); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation:fn-figure 4s ease-in-out infinite; }
.scn-fort-night .lantern { position:absolute; bottom:35%; left:42%; width:8px; height:12px; background:radial-gradient(ellipse, #d4a373, #b08040); border-radius:20% 20% 30% 30%; box-shadow:0 0 20px 5px #b08040; animation:fn-lantern 3s ease-in-out infinite alternate; }
.scn-fort-night .shadow  { position:absolute; bottom:25%; left:35%; width:30px; height:20px; background:rgba(0,0,0,.6); border-radius:50%; filter:blur(5px); animation:fn-shadow 5s ease-in-out infinite; }
@keyframes fn-sky    { 0%{opacity:.7}50%{opacity:1}100%{opacity:.8} }
@keyframes fn-moon   { 0%{transform:translateY(0) scale(1)}50%{transform:translateY(5px) scale(1.03)}100%{transform:translateY(-3px) scale(.97)} }
@keyframes fn-gate   { 0%{transform:scaleY(1)}50%{transform:scaleY(1.02)}100%{transform:scaleY(.98)} }
@keyframes fn-figure { 0%{transform:translateX(0) rotate(0)}25%{transform:translateX(5px) rotate(2deg)}50%{transform:translateX(-5px) rotate(-2deg)}75%{transform:translateX(8px) rotate(3deg)}100%{transform:translateX(-2px) rotate(-1deg)} }
@keyframes fn-lantern{ 0%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.1)}100%{transform:rotate(-3deg) scale(.95)} }
@keyframes fn-shadow { 0%{transform:scaleX(1) translateX(0)}50%{transform:scaleX(1.2) translateX(10px)}100%{transform:scaleX(.8) translateX(-10px)} }

.scn-item-emerald-discovery { background: linear-gradient(180deg, #1a1015 0%, #2a1a20 50%, #1a1015 100%), radial-gradient(ellipse at 50% 60%, #3a2a30, transparent 70%); }
.scn-item-emerald-discovery .room    { position:absolute; inset:0; background:linear-gradient(135deg, #2a1a20, #1a1015); }
.scn-item-emerald-discovery .table   { position:absolute; bottom:20%; left:30%; width:40%; height:10%; background:linear-gradient(180deg, #3a2a20, #2a1a10); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-item-emerald-discovery .emerald { position:absolute; bottom:30%; left:45%; width:20px; height:20px; background:radial-gradient(circle, #4ddb8a 0%, #1a8a4a 60%, #0a3a1a 100%); border-radius:50%; box-shadow:0 0 30px 10px #2a8a4a, 0 0 60px 20px rgba(42,138,74,.4); animation:em-glitter 3s ease-in-out infinite alternate; }
.scn-item-emerald-discovery .glow    { position:absolute; bottom:28%; left:40%; width:30%; height:40%; background:radial-gradient(ellipse, rgba(77,219,138,.2), transparent 60%); filter:blur(15px); animation:em-glow 5s ease-in-out infinite; }
.scn-item-emerald-discovery .hand    { position:absolute; bottom:26%; left:43%; width:15px; height:25px; background:linear-gradient(180deg, #3a2a20, #2a1a10); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; transform:rotate(20deg); animation:em-hand 4s ease-in-out infinite; }
.scn-item-emerald-discovery .figure  { position:absolute; bottom:18%; left:55%; width:25px; height:50px; background:linear-gradient(180deg, #1a1015, #0a0508); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; animation:em-figure 6s ease-in-out infinite; }
.scn-item-emerald-discovery .candle  { position:absolute; bottom:22%; left:35%; width:5px; height:15px; background:linear-gradient(180deg, #d4a373, #b08040); border-radius:10% 10% 20% 20%; animation:em-candle 2s ease-in-out infinite alternate; }
@keyframes em-glitter { 0%{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.2) rotate(10deg);opacity:1}100%{transform:scale(.9) rotate(-10deg);opacity:.9} }
@keyframes em-glow    { 0%{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}100%{opacity:.4;transform:scale(.95)} }
@keyframes em-hand    { 0%{transform:rotate(20deg) translateX(0)}50%{transform:rotate(25deg) translateX(5px)}100%{transform:rotate(15deg) translateX(-3px)} }
@keyframes em-figure  { 0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(2deg)}100%{transform:translateY(1px) rotate(-2deg)} }
@keyframes em-candle  { 0%{transform:scaleY(1) translateY(0);opacity:.8}50%{transform:scaleY(1.05) translateY(-2px);opacity:1}100%{transform:scaleY(.95) translateY(1px);opacity:.9} }

.scn-braddock-death { background: linear-gradient(180deg, #0d0b1a 0%, #1a1530 50%, #2a1a3a 100%), radial-gradient(ellipse at 50% 80%, #2a1a3a 0%, transparent 60%); }
.scn-braddock-death .bd-sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #0d0b1a 0%, transparent 100%); animation: bd-sky-pulse 12s ease-in-out infinite alternate; }
.scn-braddock-death .bd-ground { position: absolute; inset: 60% 0 0 0; background: linear-gradient(180deg, #1a1530 0%, #0d0b1a 100%); animation: bd-ground-shift 20s ease-in-out infinite alternate; }
.scn-braddock-death .bd-figure { position: absolute; bottom: 30%; left: 45%; width: 30px; height: 60px; background: linear-gradient(180deg, #1a1530 0%, #0d0b1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bd-fall 3s ease-in-out infinite alternate; }
.scn-braddock-death .bd-gun { position: absolute; bottom: 35%; left: 48%; width: 20px; height: 6px; background: #2a2a3a; border-radius: 2px; transform: rotate(-20deg); animation: bd-gun-recoil 0.5s ease-in-out infinite alternate; }
.scn-braddock-death .bd-flash { position: absolute; bottom: 36%; left: 50%; width: 12px; height: 12px; background: radial-gradient(circle, #ffa040 0%, #ff6a00 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 10px #ffa040; animation: bd-flash-pulse 0.3s ease-in-out infinite alternate; }
.scn-braddock-death .bd-blood { position: absolute; bottom: 10%; left: 40%; width: 40px; height: 10px; background: radial-gradient(ellipse, #4a1a1a 0%, transparent 70%); border-radius: 50%; animation: bd-blood-spread 15s ease-in-out infinite alternate; }
@keyframes bd-sky-pulse { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes bd-ground-shift { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes bd-fall { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 50% { transform: translateX(10px) translateY(-20px) rotate(10deg); } 100% { transform: translateX(20px) translateY(-40px) rotate(20deg); } }
@keyframes bd-gun-recoil { 0% { transform: translateX(0) rotate(-20deg); } 50% { transform: translateX(5px) translateY(-2px) rotate(-25deg); } 100% { transform: translateX(0) rotate(-20deg); } }
@keyframes bd-flash-pulse { 0% { opacity: 0; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0; transform: scale(0.8); } }
@keyframes bd-blood-spread { 0% { transform: scale(0.5); opacity: 0.5; } 50% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(0.7); opacity: 0.6; } }

.scn-lucy-shielded { background: linear-gradient(180deg, #fff8e7 0%, #f5e6c8 50%, #e8d4a8 100%), radial-gradient(ellipse at 50% 30%, #fff8e7 0%, transparent 60%); }
.scn-lucy-shielded .ls-wall { position: absolute; inset: 0; background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a8 100%); animation: ls-wall-brightness 12s ease-in-out infinite alternate; }
.scn-lucy-shielded .ls-window { position: absolute; top: 10%; left: 30%; width: 30%; height: 40%; background: linear-gradient(135deg, #fff8e7 0%, #f0e0b0 100%); border: 4px solid #d4b88c; box-shadow: inset 0 0 20px #fff; animation: ls-window-glow 6s ease-in-out infinite alternate; }
.scn-lucy-shielded .ls-curtain-l { position: absolute; top: 10%; left: 25%; width: 15%; height: 40%; background: linear-gradient(135deg, #d4b88c 0%, #c8a87c 100%); border-radius: 0 4px 4px 0; animation: ls-curtain-sway 8s ease-in-out infinite alternate; }
.scn-lucy-shielded .ls-curtain-r { position: absolute; top: 10%; right: 25%; width: 15%; height: 40%; background: linear-gradient(225deg, #d4b88c 0%, #c8a87c 100%); border-radius: 4px 0 0 4px; animation: ls-curtain-sway 8s ease-in-out infinite alternate-reverse; }
.scn-lucy-shielded .ls-figure { position: absolute; bottom: 30%; left: 40%; width: 30px; height: 50px; background: linear-gradient(180deg, #c8a87c 0%, #a88c6c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ls-figure-breathe 4s ease-in-out infinite alternate; }
.scn-lucy-shielded .ls-lamp { position: absolute; bottom: 35%; left: 30%; width: 20px; height: 30px; background: linear-gradient(180deg, #e8d4a8 0%, #d4b88c 100%); border-radius: 4px; box-shadow: 0 0 10px #fff; animation: ls-lamp-glow 3s ease-in-out infinite alternate; }
.scn-lucy-shielded .ls-shadow { position: absolute; bottom: 20%; left: 40%; width: 30px; height: 40px; background: rgba(0, 0, 0, 0.1); border-radius: 50%; filter: blur(4px); animation: ls-shadow-move 8s ease-in-out infinite alternate; }
@keyframes ls-wall-brightness { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes ls-window-glow { 0% { box-shadow: inset 0 0 10px #fff; } 50% { box-shadow: inset 0 0 30px #fff; } 100% { box-shadow: inset 0 0 15px #fff; } }
@keyframes ls-curtain-sway { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ls-figure-breathe { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ls-lamp-glow { 0% { box-shadow: 0 0 5px #fff; } 50% { box-shadow: 0 0 20px #fff; } 100% { box-shadow: 0 0 10px #fff; } }
@keyframes ls-shadow-move { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(3px) scale(1.05); } 100% { transform: translateX(0) scale(1); } }

.scn-happy-ending { background: linear-gradient(180deg, #fff3e0 0%, #f5d6a8 50%, #e8b880 100%), radial-gradient(ellipse at 50% 40%, #fff3e0 0%, transparent 60%); }
.scn-happy-ending .he-backdrop { position: absolute; inset: 0; background: linear-gradient(180deg, #f5d6a8 0%, #e8b880 100%); animation: he-backdrop-pulse 20s ease-in-out infinite alternate; }
.scn-happy-ending .he-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #c8a070 0%, #a88050 100%); border-radius: 4px; animation: he-floor-warm 15s ease-in-out infinite alternate; }
.scn-happy-ending .he-arch { position: absolute; bottom: 30%; left: 30%; width: 40%; height: 70%; background: linear-gradient(180deg, #c8a070 0%, #b89060 100%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; box-shadow: inset 0 0 20px rgba(200, 160, 112, 0.5); animation: he-arch-glow 8s ease-in-out infinite alternate; }
.scn-happy-ending .he-figure-m { position: absolute; bottom: 28%; left: 35%; width: 25px; height: 55px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: he-figure-walk 6s ease-in-out infinite alternate; }
.scn-happy-ending .he-figure-f { position: absolute; bottom: 28%; left: 45%; width: 22px; height: 50px; background: linear-gradient(180deg, #7a5a4a 0%, #5a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: he-figure-walk 6s ease-in-out infinite alternate-reverse; }
.scn-happy-ending .he-window { position: absolute; top: 15%; right: 10%; width: 20%; height: 40%; background: linear-gradient(135deg, #fff8e7 0%, #f0e0b0 100%); border: 2px solid #a88050; box-shadow: inset 0 0 10px #fff; animation: he-window-glow 10s ease-in-out infinite alternate; }
.scn-happy-ending .he-sunbeam { position: absolute; top: 0; left: 30%; width: 20%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 200, 0.2) 0%, transparent 100%); transform: rotate(20deg); animation: he-sunbeam-move 15s ease-in-out infinite alternate; }
@keyframes he-backdrop-pulse { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes he-floor-warm { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes he-arch-glow { 0% { box-shadow: inset 0 0 5px rgba(200, 160, 112, 0.3); } 50% { box-shadow: inset 0 0 25px rgba(200, 160, 112, 0.7); } 100% { box-shadow: inset 0 0 10px rgba(200, 160, 112, 0.4); } }
@keyframes he-figure-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(8px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }
@keyframes he-window-glow { 0% { box-shadow: inset 0 0 5px #fff; } 50% { box-shadow: inset 0 0 30px #fff; } 100% { box-shadow: inset 0 0 15px #fff; } }
@keyframes he-sunbeam-move { 0% { transform: translateX(0) rotate(20deg); } 50% { transform: translateX(5px) rotate(22deg); } 100% { transform: translateX(0) rotate(20deg); } }

.scn-san-remo-meeting { background: linear-gradient(180deg, #f0f8ff 0%, transparent 100%), radial-gradient(ellipse at 50% 0%, #fff 0%, transparent 30%); }
.scn-san-remo-meeting .sr-sky { position: absolute; top: 0; left: 0; right: 0; height: 60%; background: linear-gradient(180deg, #87CEEB 0%, #f0d090 100%); animation: sr-sky-shift 30s ease-in-out infinite alternate; }
.scn-san-remo-meeting .sr-sea { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2980b9 0%, #1a5276 50%, #0e2f44 100%); animation: sr-sea-wave 8s ease-in-out infinite alternate; }
.scn-san-remo-meeting .sr-sun { position: absolute; top: 15%; left: 60%; width: 60px; height: 60px; background: radial-gradient(circle, #ffd700 0%, #ffb300 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 80px 20px #ffd700; animation: sr-sun-glow 4s ease-in-out infinite alternate; }
.scn-san-remo-meeting .sr-yacht { position: absolute; bottom: 35%; left: 40%; width: 80px; height: 30px; background: linear-gradient(180deg, #8B4513 0%, #5a2a0a 100%); border-radius: 0 0 20px 20px; animation: sr-yacht-rock 6s ease-in-out infinite alternate; }
.scn-san-remo-meeting .sr-figure1 { position: absolute; bottom: 36%; left: 45%; width: 15px; height: 25px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sr-figure-move 5s ease-in-out infinite alternate; }
.scn-san-remo-meeting .sr-figure2 { position: absolute; bottom: 36%; left: 48%; width: 15px; height: 25px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: sr-figure-move 5s ease-in-out infinite alternate-reverse; }
.scn-san-remo-meeting .sr-quay { position: absolute; bottom: 10%; left: 0; width: 30%; height: 20%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%); border-radius: 0 4px 0 0; animation: sr-quay-tide 12s ease-in-out infinite alternate; }
@keyframes sr-sky-shift { 0% { background-position: 0% 0%; } 50% { background-position: 0% 10%; } 100% { background-position: 0% 0%; } }
@keyframes sr-sea-wave { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(5px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes sr-sun-glow { 0% { box-shadow: 0 0 40px 10px #ffd700; } 50% { box-shadow: 0 0 80px 40px #ffd700; } 100% { box-shadow: 0 0 60px 20px #ffd700; } }
@keyframes sr-yacht-rock { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes sr-figure-move { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(3px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(6px) translateY(0) rotate(0deg); } }
@keyframes sr-quay-tide { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-legal-consequences {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 40%, #0e0e1a 100%);
}
.scn-legal-consequences .bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 60% 20%, #3a3a5e 0%, #0a0a1a 80%);
  animation: lc-bg 8s ease-in-out infinite alternate;
}
.scn-legal-consequences .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 10% 10% 0 0/20% 20% 0 0;
  animation: lc-floor 6s ease-in-out infinite alternate;
}
.scn-legal-consequences .window {
  position:absolute; top:10%; left:50%; width:80px; height:100px;
  transform:translateX(-50%);
  background: linear-gradient(135deg, #3a4a6a 0%, #1a2a4a 100%);
  border:4px solid #141420; border-radius:8px;
  box-shadow: inset 0 0 30px rgba(0,0,0,.6);
  animation: lc-window 10s ease-in-out infinite;
}
.scn-legal-consequences .desk {
  position:absolute; bottom:25%; left:30%; width:120px; height:10px;
  background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius:4px; box-shadow:0 4px 12px rgba(0,0,0,.7);
}
.scn-legal-consequences .figure {
  position:absolute; bottom:28%; left:35%; width:30px; height:50px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  animation: lc-figure 4s ease-in-out infinite;
}
.scn-legal-consequences .lamp-glow {
  position:absolute; bottom:35%; left:55%; width:20px; height:20px;
  background: radial-gradient(circle, #ffd080 0%, transparent 70%);
  border-radius:50%;
  box-shadow:0 0 30px 10px rgba(255,208,128,.5);
  animation: lc-lamp 3s ease-in-out infinite alternate;
}
@keyframes lc-bg { 0%{opacity:.7} 50%{opacity:1} 100%{opacity:.8} }
@keyframes lc-floor { 0%{transform:translateY(0) scaleX(1);opacity:.9} 50%{transform:translateY(-2px) scaleX(1.01);opacity:1} 100%{transform:translateY(0) scaleX(1);opacity:.95} }
@keyframes lc-window { 0%{box-shadow: inset 0 0 20px rgba(0,0,0,.5);} 50%{box-shadow: inset 0 0 40px rgba(0,0,0,.7);} 100%{box-shadow: inset 0 0 20px rgba(0,0,0,.5);} }
@keyframes lc-figure { 0%{transform:translateX(0) translateY(0)} 50%{transform:translateX(5px) translateY(-3px)} 100%{transform:translateX(0) translateY(0)} }
@keyframes lc-lamp { 0%{opacity:.6;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} 100%{opacity:.8;transform:scale(1)} }

.scn-report-of-flight {
  background: linear-gradient(180deg, #fdf6e3 0%, #f5e6c8 60%, #e0c8a0 100%);
}
.scn-report-of-flight .bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 10%, #fff5e0 0%, #f0d8b0 80%);
  animation: rf-bg 12s ease-in-out infinite alternate;
}
.scn-report-of-flight .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #d4b68a 0%, #c4a67a 100%);
  border-radius: 8% 8% 0 0/12% 12% 0 0;
}
.scn-report-of-flight .window {
  position:absolute; top:8%; left:50%; width:90px; height:110px;
  transform:translateX(-50%);
  background: linear-gradient(135deg, #b0d0e0 0%, #70a0c0 100%);
  border:6px solid #c8b090; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,255,200,.3);
}
.scn-report-of-flight .curtain-l, .scn-report-of-flight .curtain-r {
  position:absolute; top:8%; width:30px; height:110px;
  background: linear-gradient(90deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,.1);
}
.scn-report-of-flight .curtain-l { left:calc(50% - 45px - 15px); animation: rf-curtain-l 8s ease-in-out infinite alternate; }
.scn-report-of-flight .curtain-r { left:calc(50% + 45px - 15px); animation: rf-curtain-r 8s ease-in-out infinite alternate; }
.scn-report-of-flight .bed {
  position:absolute; bottom:15%; left:20%; width:120px; height:60px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b8a0 100%);
  border-radius: 12px; box-shadow: 0 6px 12px rgba(0,0,0,.2);
}
.scn-report-of-flight .figure {
  position:absolute; bottom:22%; left:50%; width:20px; height:40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  animation: rf-figure 5s ease-in-out infinite;
}
.scn-report-of-flight .sunbeam {
  position:absolute; top:10%; left:50%; width:80px; height:200px;
  background: linear-gradient(180deg, rgba(255,255,200,.4) 0%, transparent 100%);
  transform: translateX(-50%) rotate(15deg);
  transform-origin: top center;
  animation: rf-sunbeam 10s ease-in-out infinite alternate;
}
@keyframes rf-bg { 0%{opacity:.85; filter:brightness(.95)} 50%{opacity:1; filter:brightness(1)} 100%{opacity:.9; filter:brightness(.98)} }
@keyframes rf-curtain-l { 0%{transform: rotate(0deg) translateX(0)} 50%{transform: rotate(3deg) translateX(-5px)} 100%{transform: rotate(0deg) translateX(0)} }
@keyframes rf-curtain-r { 0%{transform: rotate(0deg) translateX(0)} 50%{transform: rotate(-3deg) translateX(5px)} 100%{transform: rotate(0deg) translateX(0)} }
@keyframes rf-figure { 0%{transform: translateY(0)} 50%{transform: translateY(-2px) rotate(1deg)} 100%{transform: translateY(0)} }
@keyframes rf-sunbeam { 0%{opacity:.5; transform: translateX(-50%) rotate(10deg) scaleY(1)} 50%{opacity:.8; transform: translateX(-50%) rotate(20deg) scaleY(1.1)} 100%{opacity:.6; transform: translateX(-50%) rotate(15deg) scaleY(1)} }

.scn-speculation-on-flight {
  background: linear-gradient(180deg, #101020 0%, #202040 50%, #0a0a18 100%);
}
.scn-speculation-on-flight .bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 30% 40%, #303050 0%, #080818 80%);
  animation: sf-bg 10s ease-in-out infinite alternate;
}
.scn-speculation-on-flight .floor {
  position:absolute; bottom:0; left:0; right:0; height:28%;
  background: linear-gradient(180deg, #202030 0%, #101020 100%);
  border-radius: 8% 8% 0 0/15% 15% 0 0;
}
.scn-speculation-on-flight .window {
  position:absolute; top:10%; left:50%; width:80px; height:90px;
  transform:translateX(-50%);
  background: linear-gradient(135deg, #405060 0%, #203040 100%);
  border:4px solid #181828; border-radius: 6px;
  box-shadow: inset 0 0 40px rgba(0,0,0,.7);
  animation: sf-window 15s ease-in-out infinite;
}
.scn-speculation-on-flight .figure-a, .scn-speculation-on-flight .figure-b {
  position:absolute; bottom:25%; width:22px; height:50px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
}
.scn-speculation-on-flight .figure-a { left:30%; animation: sf-figure-a 6s ease-in-out infinite; }
.scn-speculation-on-flight .figure-b { left:55%; animation: sf-figure-b 8s ease-in-out infinite; }
.scn-speculation-on-flight .table {
  position:absolute; bottom:20%; left:40%; width:60px; height:8px;
  background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-speculation-on-flight .candle-glow {
  position:absolute; bottom:33%; left:43%; width:12px; height:12px;
  background: radial-gradient(circle, #ffc060 0%, transparent 70%);
  border-radius:50%;
  box-shadow: 0 0 20px 8px rgba(255,192,96,.4);
  animation: sf-candle 3s ease-in-out infinite alternate;
}
@keyframes sf-bg { 0%{opacity:.6} 50%{opacity:1} 100%{opacity:.7} }
@keyframes sf-window { 0%{box-shadow: inset 0 0 30px rgba(0,0,0,.5)} 50%{box-shadow: inset 0 0 50px rgba(0,0,0,.8)} 100%{box-shadow: inset 0 0 30px rgba(0,0,0,.5)} }
@keyframes sf-figure-a { 0%{transform: translateX(0) translateY(0)} 50%{transform: translateX(6px) translateY(-2px) rotate(1deg)} 100%{transform: translateX(0) translateY(0)} }
@keyframes sf-figure-b { 0%{transform: translateX(0) translateY(0) scale(1)} 50%{transform: translateX(-4px) translateY(-1px) scale(1.02)} 100%{transform: translateX(0) translateY(0) scale(1)} }
@keyframes sf-candle { 0%{opacity:.6; transform: scale(.9)} 50%{opacity:1; transform: scale(1.1)} 100%{opacity:.8; transform: scale(1)} }

.scn-village-uproar {
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 50%, #3a4a5a 100%);
}
.scn-village-uproar .sky {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #8a9aaa 0%, #5a6a7a 100%);
  animation: vu-sky 20s ease-in-out infinite alternate;
}
.scn-village-uproar .hills {
  position:absolute; bottom:30%; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%);
  border-radius: 40% 60% 0 0/80% 70% 0 0;
  animation: vu-hills 18s ease-in-out infinite alternate;
}
.scn-village-uproar .road {
  position:absolute; bottom:15%; left:10%; right:10%; height:15%;
  background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%);
  border-radius: 10% 10% 0 0/20% 20% 0 0;
}
.scn-village-uproar .cottage-a, .scn-village-uproar .cottage-b {
  position:absolute; bottom:22%; width:60px; height:50px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,.4);
}
.scn-village-uproar .cottage-a { left:20%; }
.scn-village-uproar .cottage-b { left:65%; }
.scn-village-uproar .smoke {
  position:absolute; bottom:60%; left:23%; width:20px; height:30px;
  background: radial-gradient(circle, rgba(200,200,200,.4) 0%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: vu-smoke 6s ease-in-out infinite;
}
.scn-village-uproar .inspector {
  position:absolute; bottom:12%; left:40%; width:18px; height:40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40%/60% 60% 40% 40%;
  animation: vu-inspector 5s ease-in-out infinite;
}
.scn-village-uproar .crowd {
  position:absolute; bottom:10%; left:48%; width:60px; height:30px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 60% 60% 40% 40%/80% 80% 40% 40%;
  animation: vu-crowd 7s ease-in-out infinite;
}
@keyframes vu-sky { 0%{opacity:.8; filter:brightness(.9)} 50%{opacity:1; filter:brightness(1)} 100%{opacity:.85; filter:brightness(.95)} }
@keyframes vu-hills { 0%{transform: translateY(0)} 50%{transform: translateY(-2px)} 100%{transform: translateY(0)} }
@keyframes vu-smoke { 0%{transform: translateY(0) scale(1); opacity:.5} 50%{transform: translateY(-10px) scale(1.2); opacity:.2} 100%{transform: translateY(0) scale(1); opacity:.5} }
@keyframes vu-inspector { 0%{transform: translateX(0) translateY(0)} 50%{transform: translateX(8px) translateY(-1px)} 100%{transform: translateX(16px) translateY(0)} }
@keyframes vu-crowd { 0%{transform: translateX(0) scale(1)} 50%{transform: translateX(2px) scale(1.02)} 100%{transform: translateX(0) scale(1)} }

.scn-sir-frank-new-love {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #2a1a0a 100%), radial-gradient(ellipse at 50% 70%, #c08040 0%, transparent 60%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-sir-frank-new-love .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3020 0%, #2a1a0a 100%); opacity: 0.8;
}
.scn-sir-frank-new-love .lamp-glow {
  position: absolute; top: 25%; left: 35%; width: 40px; height: 40px; background: radial-gradient(circle, #f0c060 0%, #e0a040 40%, transparent 70%); border-radius: 50%; animation: sfnl-lamp 3s ease-in-out infinite alternate;
}
.scn-sir-frank-new-love .floor-shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 30%; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%); border-radius: 30% 30% 0 0;
}
.scn-sir-frank-new-love .window-arch {
  position: absolute; top: 15%; right: 15%; width: 80px; height: 120px; background: radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, #d0b080 60%, transparent 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 20px rgba(200,160,80,0.3); animation: sfnl-window 12s ease-in-out infinite alternate;
}
.scn-sir-frank-new-love .curtain-left {
  position: absolute; top: 10%; left: 10%; width: 30px; height: 130px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 4px; transform-origin: top left; animation: sfnl-curtain 8s ease-in-out infinite;
}
.scn-sir-frank-new-love .curtain-right {
  position: absolute; top: 10%; right: 10%; width: 30px; height: 130px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 4px; transform-origin: top right; animation: sfnl-curtain 8s ease-in-out infinite reverse;
}
.scn-sir-frank-new-love .figure-woman {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 100px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: sfnl-turn 10s ease-in-out infinite;
}
.scn-sir-frank-new-love .figure-man {
  position: absolute; bottom: 10%; right: 15%; width: 50px; height: 110px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 20% 10% 10% / 60% 30% 20% 20%; box-shadow: -10px 0 15px rgba(0,0,0,0.4); transform: scaleX(-1); animation: sfnl-enter 15s ease-in-out infinite;
}
.scn-sir-frank-new-love .handkerchief {
  position: absolute; bottom: 28%; left: 28%; width: 12px; height: 12px; background: #d0a080; border-radius: 10%; box-shadow: 0 0 6px rgba(200,100,50,0.3); animation: sfnl-hanky 6s ease-in-out infinite alternate;
}
@keyframes sfnl-lamp { 0% { transform: scale(0.95); opacity: 0.8; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.85; } }
@keyframes sfnl-window { 0% { opacity: 0.7; filter: blur(1px); } 50% { opacity: 1; filter: blur(0.5px); } 100% { opacity: 0.8; filter: blur(1px); } }
@keyframes sfnl-curtain { 0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(-3deg) scaleX(0.95); } 100% { transform: rotate(2deg) scaleX(1); } }
@keyframes sfnl-turn { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sfnl-enter { 0% { transform: scaleX(-1) translateX(30px) scaleY(1); opacity: 0; } 30% { opacity: 1; } 70% { transform: scaleX(-1) translateX(0) scaleY(1); opacity: 1; } 100% { transform: scaleX(-1) translateX(0) scaleY(0.95); opacity: 0.8; } }
@keyframes sfnl-hanky { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(10deg); } 100% { transform: translateY(0) rotate(-5deg); } }

.scn-donna-inez-introduced {
  background: linear-gradient(135deg, #4a3020 0%, #7a4a2a 40%, #2a1a0a 100%), radial-gradient(ellipse at 60% 50%, #c08040 0%, transparent 70%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-donna-inez-introduced .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); opacity: 0.6;
}
.scn-donna-inez-introduced .gas-lamp {
  position: absolute; top: 20%; left: 50%; width: 30px; height: 30px; transform: translateX(-50%); background: radial-gradient(circle, #f0c060 0%, #e0a040 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 10px #c08040; animation: dii-lamp 4s ease-in-out infinite alternate;
}
.scn-donna-inez-introduced .table {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 10px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-donna-inez-introduced .fan {
  position: absolute; bottom: 35%; left: 45%; width: 20px; height: 20px; background: radial-gradient(circle, #d0a080 0%, #b08060 100%); border-radius: 50%; transform-origin: left center; animation: dii-fan 2s ease-in-out infinite;
}
.scn-donna-inez-introduced .figure-lucy {
  position: absolute; bottom: 15%; left: 25%; width: 45px; height: 100px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: dii-sit 12s ease-in-out infinite;
}
.scn-donna-inez-introduced .figure-widow {
  position: absolute; bottom: 15%; right: 20%; width: 50px; height: 110px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 30% 20% 15% 15% / 50% 30% 20% 20%; box-shadow: -10px 0 15px rgba(0,0,0,0.4); animation: dii-stand 15s ease-in-out infinite;
}
.scn-donna-inez-introduced .portrait-frame {
  position: absolute; top: 10%; right: 10%; width: 40px; height: 50px; border: 4px solid #8a6a4a; background: linear-gradient(135deg, #d0b080 0%, #a08060 100%); border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.3); animation: dii-frame 20s ease-in-out infinite;
}
.scn-donna-inez-introduced .teacup {
  position: absolute; bottom: 25%; left: 35%; width: 12px; height: 10px; background: linear-gradient(180deg, #e0d0c0 0%, #c0a090 100%); border-radius: 50% 50% 10% 10%; box-shadow: inset 0 -2px 2px rgba(0,0,0,0.2); animation: dii-cup 8s ease-in-out infinite alternate;
}
@keyframes dii-lamp { 0% { transform: translateX(-50%) scale(1); box-shadow: 0 0 20px 8px #c08040; } 50% { transform: translateX(-50%) scale(1.05); box-shadow: 0 0 35px 12px #f0c060; } 100% { transform: translateX(-50%) scale(0.95); box-shadow: 0 0 25px 10px #c08040; } }
@keyframes dii-fan { 0% { transform: rotate(0deg) scaleY(1); } 25% { transform: rotate(20deg) scaleY(0.9); } 50% { transform: rotate(0deg) scaleY(1); } 75% { transform: rotate(-20deg) scaleY(0.9); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes dii-sit { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(2deg); } 60% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes dii-stand { 0% { transform: translateX(0) scaleY(1); } 25% { transform: translateX(-3px) scaleY(1.02); } 50% { transform: translateX(0) scaleY(1); } 75% { transform: translateX(3px) scaleY(0.98); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes dii-frame { 0% { transform: rotate(0deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); } 50% { transform: rotate(1deg); box-shadow: -2px 2px 8px rgba(0,0,0,0.2); } 100% { transform: rotate(-1deg); box-shadow: 2px -2px 6px rgba(0,0,0,0.3); } }
@keyframes dii-cup { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }

.scn-lucy-reacts-to-news {
  background: linear-gradient(180deg, #1a0e06 0%, #3a1e0e 40%, #5a2e1a 100%), radial-gradient(ellipse at 70% 40%, #7a3e1e 0%, transparent 70%);
}
.scn-lucy-reacts-to-news .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2e1a0a 0%, #4a2c1a 50%, #2e1a0a 100%);
  border-bottom: 6px solid #1a0e06;
  animation: lr-wall 14s ease-in-out infinite alternate;
}
.scn-lucy-reacts-to-news .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a0e06 0%, #0e0603 100%);
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.6);
}
.scn-lucy-reacts-to-news .window {
  position: absolute; top: 12%; left: 10%; width: 28%; height: 40%;
  background: linear-gradient(180deg, #0a0603 0%, #1a0e06 100%);
  border: 4px solid #3a1e0e;
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px #1a0e06;
}
.scn-lucy-reacts-to-news .figure {
  position: absolute; bottom: 28%; left: 44%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #1a0e06 0%, #0e0603 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lr-figure 6s ease-in-out infinite;
}
.scn-lucy-reacts-to-news .lamp {
  position: absolute; bottom: 34%; left: 66%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #6a3a1a 0%, #4a2a12 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: lr-lamp 3s ease-in-out infinite alternate;
}
.scn-lucy-reacts-to-news .glow {
  position: absolute; bottom: 32%; left: 64%; width: 10%; height: 16%;
  background: radial-gradient(circle, #c87a3a 0%, #8a4a1a 40%, transparent 80%);
  border-radius: 50%;
  opacity: 0.7;
  box-shadow: 0 0 40px 12px #c87a3a, 0 0 80px 24px rgba(200,122,58,0.3);
  animation: lr-glow 3s ease-in-out infinite alternate;
}
@keyframes lr-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes lr-figure {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.02) translateY(-4px); }
  100% { transform: scaleY(0.98) translateY(0); }
}
@keyframes lr-lamp {
  0% { transform: rotate(-2deg); box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
  50% { transform: rotate(2deg); box-shadow: 0 6px 12px rgba(0,0,0,0.6); }
  100% { transform: rotate(-1deg); box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
}
@keyframes lr-glow {
  0% { opacity: 0.6; box-shadow: 0 0 30px 8px #c87a3a, 0 0 60px 16px rgba(200,122,58,0.2); }
  50% { opacity: 0.9; box-shadow: 0 0 50px 16px #e08a4a, 0 0 100px 32px rgba(224,138,74,0.4); }
  100% { opacity: 0.7; box-shadow: 0 0 35px 10px #c87a3a, 0 0 70px 20px rgba(200,122,58,0.25); }
}

.scn-warrior-inn-mentioned {
  background: linear-gradient(180deg, #1a0e06 0%, #3a1e0e 40%, #5a2e1a 100%), radial-gradient(ellipse at 50% 100%, #4a2a12 0%, transparent 80%);
}
.scn-warrior-inn-mentioned .room-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #2e1a0a 0%, #4a2c1a 50%, #2e1a0a 100%);
  border-bottom: 4px solid #1a0e06;
  animation: wi-wall 18s ease-in-out infinite alternate;
}
.scn-warrior-inn-mentioned .room-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a0e06 0%, #0e0603 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-warrior-inn-mentioned .table {
  position: absolute; bottom: 24%; left: 30%; width: 40%; height: 14%;
  background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: wi-table 8s ease-in-out infinite alternate;
}
.scn-warrior-inn-mentioned .chair {
  position: absolute; bottom: 28%; left: 22%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2e1a0a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: wi-chair 6s ease-in-out infinite alternate;
}
.scn-warrior-inn-mentioned .figure {
  position: absolute; bottom: 30%; left: 54%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #1a0e06 0%, #0e0603 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wi-figure 7s ease-in-out infinite;
}
.scn-warrior-inn-mentioned .lantern {
  position: absolute; bottom: 30%; left: 46%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #7a4a22 0%, #5a321a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: wi-lantern-swing 4s ease-in-out infinite;
}
.scn-warrior-inn-mentioned .lantern-glow {
  position: absolute; bottom: 28%; left: 44%; width: 10%; height: 18%;
  background: radial-gradient(circle, #c87a3a 0%, #8a4a1a 40%, transparent 80%);
  border-radius: 50%;
  opacity: 0.6;
  box-shadow: 0 0 30px 8px #c87a3a, 0 0 60px 16px rgba(200,122,58,0.2);
  animation: wi-glow 3s ease-in-out infinite alternate;
}
.scn-warrior-inn-mentioned .smoke {
  position: absolute; bottom: 38%; left: 46%; width: 4%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,0.3) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: wi-smoke 12s linear infinite;
}
@keyframes wi-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes wi-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes wi-chair {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-0.5deg); }
}
@keyframes wi-figure {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.015) translateY(-3px); }
  100% { transform: scaleY(0.985) translateY(0); }
}
@keyframes wi-lantern-swing {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes wi-glow {
  0% { opacity: 0.5; box-shadow: 0 0 20px 6px #c87a3a, 0 0 40px 12px rgba(200,122,58,0.15); }
  50% { opacity: 0.8; box-shadow: 0 0 40px 12px #e08a4a, 0 0 80px 24px rgba(224,138,74,0.35); }
  100% { opacity: 0.6; box-shadow: 0 0 25px 8px #c87a3a, 0 0 50px 16px rgba(200,122,58,0.2); }
}
@keyframes wi-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-60px) scale(2); opacity: 0.2; }
  100% { transform: translateY(-120px) scale(3); opacity: 0; }
}
/* end per-scene blocks */

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-lane-argument {
  background: 
    linear-gradient(180deg, #8FBCE0 0%, #FAEBD7 45%),
    radial-gradient(ellipse at 50% 100%, #F5DEB3 0%, transparent 50%);
}
.scn-lane-argument .bg-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #A0C4E8 0%, #E0D4C0 100%);
  animation: la-sky 15s ease-in-out infinite alternate;
}
.scn-lane-argument .bg-sun {
  position: absolute; top: 8%; left: 75%;
  width: 60px; height: 60px;
  background: radial-gradient(circle, #FFE4B5 0%, #FFD700 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,215,0,0.4);
  animation: la-sun 6s ease-in-out infinite alternate;
}
.scn-lane-argument .path {
  position: absolute; bottom: 20%; left: 10%; right: 10%;
  height: 30%;
  background: linear-gradient(180deg, #C4A882 0%, #A68A5D 100%);
  border-radius: 30% 30% 0 0 / 100% 100% 0 0;
  transform: perspective(800px) rotateX(15deg);
  animation: la-path 20s ease-in-out infinite alternate;
}
.scn-lane-argument .tree {
  position: absolute; bottom: 40%;
  width: 40px; height: 150px;
  background: linear-gradient(180deg, #3B5323 0%, #2B4020 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform-origin: bottom center;
  animation: la-sway 8s ease-in-out infinite alternate;
}
.scn-lane-argument .tree-left { left: 12%; animation-delay: -2s; }
.scn-lane-argument .tree-right { right: 12%; width: 50px; height: 130px; }
.scn-lane-argument .figure {
  position: absolute; bottom: 22%;
  width: 20px; height: 40px;
  background: linear-gradient(180deg, #2C2C2C 0%, #1A1A1A 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-lane-argument .figure-a {
  left: 30%;
  animation: la-walk-a 4s ease-in-out infinite;
}
.scn-lane-argument .figure-b {
  left: 55%;
  animation: la-walk-b 5s ease-in-out infinite;
}
.scn-lane-argument .rays {
  position: absolute; top: 5%; left: 0; right: 0; bottom: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.3) 0%, transparent 60%);
  filter: blur(8px);
  animation: la-rays 10s ease-in-out infinite alternate;
}
@keyframes la-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; background-position: 0% 0%; }
  100% { opacity: 0.9; }
}
@keyframes la-sun {
  0% { transform: scale(0.95); box-shadow: 0 0 30px 10px rgba(255,215,0,0.3); }
  50% { transform: scale(1.05); box-shadow: 0 0 50px 25px rgba(255,215,0,0.6); }
  100% { transform: scale(1); box-shadow: 0 0 35px 15px rgba(255,215,0,0.4); }
}
@keyframes la-path {
  0% { transform: perspective(800px) rotateX(15deg) translateY(0); }
  50% { transform: perspective(800px) rotateX(16deg) translateY(-2px); }
  100% { transform: perspective(800px) rotateX(14deg) translateY(2px); }
}
@keyframes la-sway {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(3deg) scaleY(1.01); }
  100% { transform: rotate(-2deg); }
}
@keyframes la-walk-a {
  0% { transform: translateX(0) rotate(-3deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(2deg); }
  50% { transform: translateX(8px) translateY(0) rotate(-2deg); }
  75% { transform: translateX(12px) translateY(-2px) rotate(4deg); }
  100% { transform: translateX(16px) translateY(0) rotate(0deg); }
}
@keyframes la-walk-b {
  0% { transform: translateX(0) rotate(2deg); }
  25% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); }
  50% { transform: translateX(-6px) translateY(0) rotate(3deg); }
  75% { transform: translateX(-9px) translateY(-2px) rotate(-2deg); }
  100% { transform: translateX(-12px) translateY(0) rotate(0deg); }
}
@keyframes la-rays {
  0% { opacity: 0.2; transform: rotate(0deg); }
  50% { opacity: 0.5; transform: rotate(2deg); }
  100% { opacity: 0.3; transform: rotate(-1deg); }
}

.scn-lane-kiss {
  background:
    linear-gradient(180deg, #FAD9B5 0%, #FFF5E1 40%),
    radial-gradient(ellipse at 50% 100%, #FFE4B5 0%, transparent 60%);
}
.scn-lane-kiss .bg-sky {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #FCE6C9 0%, #FFF0D0 100%);
  animation: lk-sky 12s ease-in-out infinite alternate;
}
.scn-lane-kiss .sun {
  position: absolute; top: 12%; left: 25%;
  width: 50px; height: 50px;
  background: radial-gradient(circle, #FFD700 0%, #FFB347 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px rgba(255,183,71,0.5);
  animation: lk-sun 8s ease-in-out infinite alternate;
}
.scn-lane-kiss .bench {
  position: absolute; bottom: 22%; left: 35%; right: 35%;
  height: 12px;
  background: linear-gradient(90deg, #8B5E3C 0%, #A0785A 100%);
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  animation: lk-bench 6s ease-in-out infinite alternate;
}
.scn-lane-kiss .figure {
  position: absolute; bottom: 22%;
  width: 22px; height: 44px;
  background: linear-gradient(180deg, #3A2A1A 0%, #1A1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
}
.scn-lane-kiss .figure-left {
  left: 37%;
  animation: lk-embrace-l 4s ease-in-out infinite;
}
.scn-lane-kiss .figure-right {
  left: 48%;
  animation: lk-embrace-r 4s ease-in-out infinite;
}
.scn-lane-kiss .flowers {
  position: absolute; bottom: 18%;
  width: 8px; height: 8px;
  background: radial-gradient(circle, #FFB6C1 0%, #FF69B4 60%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(255,105,180,0.3);
  animation: lk-flower 5s ease-in-out infinite alternate;
}
.scn-lane-kiss .flower-1 { left: 30%; animation-delay: -1s; }
.scn-lane-kiss .flower-2 { left: 58%; animation-delay: -3s; }
.scn-lane-kiss .glow {
  position: absolute; top: 40%; left: 40%; right: 40%; bottom: 30%;
  background: radial-gradient(circle, rgba(255,215,0,0.2) 0%, transparent 70%);
  filter: blur(10px);
  animation: lk-glow 5s ease-in-out infinite alternate;
}
@keyframes lk-sky {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes lk-sun {
  0% { transform: scale(0.95) rotate(0deg); box-shadow: 0 0 40px 15px rgba(255,183,71,0.4); }
  50% { transform: scale(1.05) rotate(5deg); box-shadow: 0 0 60px 25px rgba(255,183,71,0.6); }
  100% { transform: scale(1) rotate(-3deg); box-shadow: 0 0 45px 18px rgba(255,183,71,0.5); }
}
@keyframes lk-bench {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(1px); }
}
@keyframes lk-embrace-l {
  0% { transform: rotate(5deg) translateX(0) translateY(0); }
  50% { transform: rotate(10deg) translateX(2px) translateY(-2px); }
  100% { transform: rotate(5deg) translateX(0) translateY(0); }
}
@keyframes lk-embrace-r {
  0% { transform: rotate(-5deg) translateX(0) translateY(0); }
  50% { transform: rotate(-10deg) translateX(-2px) translateY(-2px); }
  100% { transform: rotate(-5deg) translateX(0) translateY(0); }
}
@keyframes lk-flower {
  0% { transform: scale(0.9) translateY(0); }
  50% { transform: scale(1.1) translateY(-2px); }
  100% { transform: scale(1) translateY(1px); }
}
@keyframes lk-glow {
  0% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(1); }
}

.scn-lane-philosophy {
  background:
    linear-gradient(180deg, #A8D8EA 0%, #F0E6D0 50%),
    radial-gradient(ellipse at 50% 100%, #D4C4A8 0%, transparent 60%);
}
.scn-lane-philosophy .bg-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #B8D8E8 0%, #E8DCC0 100%);
  animation: lp-sky 18s ease-in-out infinite alternate;
}
.scn-lane-philosophy .grass {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #7CAE6A 0%, #4F7942 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
  animation: lp-grass 25s ease-in-out infinite alternate;
}
.scn-lane-philosophy .tree {
  position: absolute; bottom: 40%; left: 15%;
  width: 100px; height: 160px;
  background: radial-gradient(ellipse at 50% 30%, #5A8A4A 0%, #3B6B2E 60%, #2A4F1E 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  transform-origin: bottom center;
  animation: lp-tree 12s ease-in-out infinite alternate;
}
.scn-lane-philosophy .figure {
  position: absolute; bottom: 30%; left: 28%;
  width: 28px; height: 50px;
  background: linear-gradient(180deg, #2C2C2C 0%, #1A1A1A 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lp-figure 5s ease-in-out infinite alternate;
}
.scn-lane-philosophy .book {
  position: absolute; bottom: 28%; left: 32%;
  width: 24px; height: 16px;
  background: linear-gradient(135deg, #C4A47A 0%, #A08060 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  animation: lp-book 6s ease-in-out infinite alternate;
}
.scn-lane-philosophy .cloud {
  position: absolute;
  width: 70px; height: 20px;
  background: rgba(255,255,255,0.6);
  border-radius: 50%;
  filter: blur(6px);
  animation: lp-cloud 40s linear infinite;
}
.scn-lane-philosophy .cloud-1 { top: 10%; left: 0; animation-duration: 35s; }
.scn-lane-philosophy .cloud-2 { top: 18%; left: 30%; width: 50px; height: 15px; animation-duration: 50s; animation-direction: reverse; }
.scn-lane-philosophy .dappled {
  position: absolute; top: 35%; left: 20%; right: 50%; bottom: 40%;
  background: radial-gradient(circle at 30% 40%, rgba(255,255,200,0.4) 0%, transparent 60%);
  filter: blur(8px);
  animation: lp-dappled 8s ease-in-out infinite alternate;
}
@keyframes lp-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes lp-grass {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(2px); }
}
@keyframes lp-tree {
  0% { transform: rotate(-3deg) scaleX(0.98); }
  50% { transform: rotate(4deg) scaleX(1.02); }
  100% { transform: rotate(-2deg) scaleX(1); }
}
@keyframes lp-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes lp-book {
  0% { transform: rotate(-15deg) translateX(0); }
  50% { transform: rotate(-12deg) translateX(2px); }
  100% { transform: rotate(-18deg) translateX(-1px); }
}
@keyframes lp-cloud {
  0% { transform: translateX(-80px); }
  100% { transform: translateX(120vw); }
}
@keyframes lp-dappled {
  0% { opacity: 0.2; transform: translate(0, 0); }
  50% { opacity: 0.5; transform: translate(5px, -3px); }
  100% { opacity: 0.3; transform: translate(-3px, 2px); }
}
/* end per-scene blocks */

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
/* hope-finds-confession */
.scn-hope-finds-confession {
  background: linear-gradient(135deg, #1a1a1e 0%, #2a2a2e 40%, #0e0e12 100%),
              radial-gradient(ellipse at 60% 40%, rgba(60,40,20,0.3) 0%, transparent 70%);
}
.scn-hope-finds-confession .hfc-wall {
  position:absolute; inset:0; background:
    linear-gradient(180deg, #1e1a1a 0%, #121012 100%);
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 80%);
  border-bottom: 2px solid rgba(80,60,40,0.3);
}
.scn-hope-finds-confession .hfc-desk {
  position:absolute; bottom:20%; left:30%; width:35%; height:8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.8);
  transform: perspective(800px) rotateX(5deg);
}
.scn-hope-finds-confession .hfc-paper {
  position:absolute; bottom:27%; left:45%; width:12%; height:6%;
  background: linear-gradient(135deg, #e8dccc 0%, #c8b8a8 100%);
  border-radius: 2% 2% 5% 5%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  transform: rotate(-3deg);
  animation: hfc-paper 5s ease-in-out infinite;
}
@keyframes hfc-paper {
  0%,100% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-2px); }
}
.scn-hope-finds-confession .hfc-cockatoo {
  position:absolute; top:15%; right:20%; width:8%; height:12%;
  background:
    radial-gradient(circle at 50% 30%, #f0f0e8 10%, #a0a090 40%, #404038 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(-15deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: hfc-bird 4s ease-in-out infinite;
}
.scn-hope-finds-confession .hfc-cockatoo::before {
  content:''; position:absolute; top:-10%; left:20%; width:60%; height:40%;
  background: radial-gradient(circle at 30% 50%, #f0e8d0 10%, transparent 60%);
  border-radius: 40% 50% 20% 20%;
}
@keyframes hfc-bird {
  0%,100% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-5px); }
}
.scn-hope-finds-confession .hfc-window {
  position:absolute; top:10%; left:60%; width:20%; height:25%;
  background:
    linear-gradient(135deg, rgba(80,100,120,0.3) 0%, rgba(40,60,80,0.2) 100%);
  border: 3px solid #1a1a1a;
  border-radius: 2% 2% 8% 8%;
  box-shadow: inset 0 0 20px rgba(100,150,200,0.1);
  animation: hfc-window 12s ease-in-out infinite alternate;
}
@keyframes hfc-window {
  0% { opacity:0.5; }
  100% { opacity:0.8; }
}
.scn-hope-finds-confession .hfc-shadow {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, transparent 100%);
  pointer-events: none;
}

/* braddock-flees-with-mummy */
.scn-braddock-flees-with-mummy {
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 40%, #2a2a3e 70%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 0%, rgba(40,60,100,0.2) 0%, transparent 70%);
}
.scn-braddock-flees-with-mummy .bfw-ground {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(0deg, #0a0a12 0%, #1a1a2a 40%, #2a2a3e 100%);
  border-radius: 40% 20% 0 0 / 60% 30% 0 0;
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.7);
  animation: bfw-ground 20s ease-in-out infinite alternate;
}
@keyframes bfw-ground {
  0% { transform: translateY(0); }
  100% { transform: translateY(-5px); }
}
.scn-braddock-flees-with-mummy .bfw-moon {
  position:absolute; top:12%; left:60%; width:12%; height:12%;
  background: radial-gradient(circle at 40% 40%, #c8d8e8 0%, #8088a0 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(200,220,255,0.3);
  animation: bfw-moon 18s ease-in-out infinite;
}
@keyframes bfw-moon {
  0%,100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(5px,-5px) scale(0.98); }
}
.scn-braddock-flees-with-mummy .bfw-figure {
  position:absolute; bottom:25%; left:45%; width:8%; height:25%;
  background: linear-gradient(180deg, #1a1a2e 0%, #000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: bfw-run 2s ease-in-out infinite;
}
@keyframes bfw-run {
  0%,100% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(10px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-2deg); }
  75% { transform: translateX(-10px) rotate(2deg); }
}
.scn-braddock-flees-with-mummy .bfw-mummy {
  position:absolute; bottom:30%; left:50%; width:6%; height:20%;
  background: linear-gradient(180deg, #6a6a5a 0%, #3a3a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  transform: rotate(15deg);
  animation: bfw-mummy 2s ease-in-out infinite;
}
@keyframes bfw-mummy {
  0%,100% { transform: rotate(15deg); }
  50% { transform: rotate(10deg); }
}
.scn-braddock-flees-with-mummy .bfw-shadow {
  position:absolute; bottom:20%; left:42%; width:15%; height:4%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.7) 0%, transparent 100%);
  animation: bfw-shadow 2s ease-in-out infinite;
}
@keyframes bfw-shadow {
  0%,100% { transform: scaleX(1); opacity:0.7; }
  50% { transform: scaleX(1.2); opacity:0.9; }
}
.scn-braddock-flees-with-mummy .bfw-cloud-a {
  position:absolute; top:5%; left:10%; width:20%; height:5%;
  background: linear-gradient(90deg, rgba(80,80,120,0.2) 0%, rgba(100,100,140,0.1) 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: bfw-drift-a 40s linear infinite;
}
@keyframes bfw-drift-a {
  0% { transform: translateX(-20%); }
  100% { transform: translateX(120vw); }
}
.scn-braddock-flees-with-mummy .bfw-cloud-b {
  position:absolute; top:15%; right:8%; width:15%; height:4%;
  background: linear-gradient(90deg, rgba(60,60,100,0.15) 0%, rgba(80,80,120,0.1) 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: bfw-drift-b 55s linear infinite reverse;
}
@keyframes bfw-drift-b {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100vw); }
}

/* farewell-mummy-gone */
.scn-farewell-mummy-gone {
  background: linear-gradient(180deg, #b0b8b0 0%, #c0c8c0 30%, #a0a8a0 60%, #808080 100%),
              radial-gradient(ellipse at 50% 0%, rgba(200,210,200,0.4) 0%, transparent 100%);
}
.scn-farewell-mummy-gone .fmg-sky {
  position:absolute; inset:0; background:
    linear-gradient(180deg, #c0c8c0 0%, #d0d8d0 50%, #b0b8b0 100%);
  animation: fmg-sky 15s ease-in-out infinite alternate;
}
@keyframes fmg-sky {
  0% { opacity:0.9; }
  100% { opacity:1; }
}
.scn-farewell-mummy-gone .fmg-ground {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(0deg, #5a5a4a 0%, #7a7a6a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
}
.scn-farewell-mummy-gone .fmg-fig-lucy {
  position:absolute; bottom:28%; left:35%; width:6%; height:18%;
  background: linear-gradient(180deg, #4a4a4a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fmg-stand 6s ease-in-out infinite;
}
@keyframes fmg-stand {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(0.5deg); }
}
.scn-farewell-mummy-gone .fmg-fig-archie {
  position:absolute; bottom:28%; right:38%; width:6.5%; height:19%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: fmg-stand 6s ease-in-out infinite 3s;
}
.scn-farewell-mummy-gone .fmg-grass {
  position:absolute; bottom:25%; left:0; right:0; height:8%;
  background:
    repeating-linear-gradient(90deg, #4a6a3a 0px, #5a7a4a 4px, transparent 8px);
  mask-image: linear-gradient(0deg, #000 40%, transparent 100%);
  filter: blur(1px);
  animation: fmg-grass 20s ease-in-out infinite alternate;
}
@keyframes fmg-grass {
  0% { transform: translateX(0); }
  100% { transform: translateX(5px); }
}
.scn-farewell-mummy-gone .fmg-path {
  position:absolute; bottom:20%; left:40%; width:20%; height:6%;
  background: linear-gradient(180deg, #6a6a5a 0%, #4a4a3a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: perspective(400px) rotateX(20deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-farewell-mummy-gone .fmg-tree {
  position:absolute; bottom:35%; left:12%; width:10%; height:40%;
  background: linear-gradient(180deg, #3a4a2a 0%, #2a3a1a 50%, #1a2a0a 100%);
  border-radius: 60% 60% 20% 20% / 80% 80% 10% 10%;
  transform: rotate(5deg);
  box-shadow: inset 0 0 20px rgba(0,20,0,0.3);
  animation: fmg-tree 25s ease-in-out infinite alternate;
}
@keyframes fmg-tree {
  0% { transform: rotate(5deg) translateY(0); }
  100% { transform: rotate(0deg) translateY(-5px); }
}

.scn-lucy-defies-braddock { 
  background: linear-gradient(180deg, #1e1a14 0%, #2a2218 40%, #1a1410 100%), radial-gradient(ellipse at 40% 30%, #3a2a1a 0%, transparent 60%);
}
.scn-lucy-defies-braddock .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e12 0%, #1e140c 100%);
  animation: ldb-wall 12s ease-in-out infinite alternate;
}
.scn-lucy-defies-braddock .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1008 0%, #0e0a06 100%);
}
.scn-lucy-defies-braddock .lucy {
  position: absolute; bottom: 30%; left: 25%; width: 28px; height: 80px;
  background: linear-gradient(180deg, #3e2e1e 0%, #1e140c 100%);
  border-radius: 45% 45% 35% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ldb-lucy 3s ease-in-out infinite;
}
.scn-lucy-defies-braddock .braddock {
  position: absolute; bottom: 28%; left: 55%; width: 34px; height: 90px;
  background: linear-gradient(180deg, #2a1e14 0%, #160e08 100%);
  border-radius: 45% 45% 30% 35% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: ldb-braddock 4s ease-in-out infinite;
}
.scn-lucy-defies-braddock .table {
  position: absolute; bottom: 30%; left: 38%; width: 50px; height: 20px;
  background: linear-gradient(180deg, #4a3422 0%, #2e1e12 100%);
  border-radius: 6% 6% 4% 4%;
  transform: skewX(-5deg);
}
.scn-lucy-defies-braddock .lamp {
  position: absolute; bottom: 70%; left: 42%; width: 12px; height: 16px;
  background: radial-gradient(circle, #d2a45a 0%, #a87a3a 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 30px 8px rgba(210,164,90,0.5), 0 0 60px 16px rgba(210,164,90,0.2);
  animation: ldb-flicker 2s ease-in-out infinite alternate;
}
.scn-lucy-defies-braddock .shadow-braddock {
  position: absolute; bottom: 28%; left: 58%; width: 40px; height: 100px;
  background: linear-gradient(90deg, rgba(0,0,0,0.3), transparent);
  filter: blur(4px);
  animation: ldb-shadow 4s ease-in-out infinite alternate;
}
@keyframes ldb-wall {
  0% { opacity: 0.9; } 50% { opacity: 0.95; } 100% { opacity: 0.85; }
}
@keyframes ldb-lucy {
  0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes ldb-braddock {
  0% { transform: translateX(0) translateY(0) rotate(0); } 40% { transform: translateX(-4px) translateY(-2px) rotate(2deg); } 70% { transform: translateX(2px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); }
}
@keyframes ldb-flicker {
  0% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(210,164,90,0.4), 0 0 40px 12px rgba(210,164,90,0.15); }
  50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(210,164,90,0.7), 0 0 80px 24px rgba(210,164,90,0.3); }
  100% { opacity: 0.85; box-shadow: 0 0 25px 8px rgba(210,164,90,0.5), 0 0 50px 14px rgba(210,164,90,0.2); }
}
@keyframes ldb-shadow {
  0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(1.1); } 100% { transform: translateX(0) scaleX(1); }
}

.scn-random-rejects-suit {
  background: linear-gradient(180deg, #2a1a0c 0%, #3e2a12 40%, #1a0e04 100%), radial-gradient(ellipse at 30% 60%, #8a4a1a 0%, transparent 70%);
}
.scn-random-rejects-suit .bg-fireplace {
  position: absolute; bottom: 20%; left: 10%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #3a1a08 0%, #1a0800 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: inset 0 -20px 40px rgba(200,80,20,0.4);
}
.scn-random-rejects-suit .glow {
  position: absolute; bottom: 30%; left: 12%; width: 70px; height: 70px;
  background: radial-gradient(circle, #ff9a3e 0%, transparent 70%);
  opacity: 0.4;
  animation: rs-fire 3s ease-in-out infinite alternate;
}
.scn-random-rejects-suit .chair {
  position: absolute; bottom: 20%; left: 45%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #4a2e16 0%, #2a180a 100%);
  border-radius: 10% 10% 5% 5%;
  transform: rotate(2deg);
}
.scn-random-rejects-suit .random {
  position: absolute; bottom: 22%; left: 48%; width: 30px; height: 75px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 45% 45% 30% 35% / 60% 60% 35% 40%;
  transform-origin: bottom center;
  animation: rs-sway 5s ease-in-out infinite;
}
.scn-random-rejects-suit .photo {
  position: absolute; bottom: 50%; left: 55%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #b8a882 0%, #8a7a5a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  transform-origin: bottom center;
  animation: rs-kiss 6s ease-in-out infinite;
}
.scn-random-rejects-suit .table {
  position: absolute; bottom: 20%; left: 55%; width: 40px; height: 15px;
  background: linear-gradient(180deg, #5a3e26 0%, #342210 100%);
  border-radius: 4% 4% 2% 2%;
}
@keyframes rs-fire {
  0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.05); } 100% { opacity: 0.35; transform: scale(0.95); }
}
@keyframes rs-sway {
  0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 75% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes rs-kiss {
  0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-4px) rotate(-5deg); } 60% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); }
}
@keyframes rs-shadow {
  0% { opacity: 0.2; } 50% { opacity: 0.35; } 100% { opacity: 0.2; }
}

.scn-widow-jasher-offers-help {
  background: linear-gradient(180deg, #1a1a22 0%, #2a2a36 50%, #1e1e28 100%), radial-gradient(ellipse at 50% 20%, #3a3a4a 0%, transparent 60%);
}
.scn-widow-jasher-offers-help .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2e2e3c 0%, #1a1a26 100%);
  animation: wjo-wall 15s ease-in-out infinite alternate;
}
.scn-widow-jasher-offers-help .window-glow {
  position: absolute; top: 10%; left: 70%; width: 40px; height: 50px;
  background: radial-gradient(circle, #d4c8a8 0%, transparent 70%);
  opacity: 0.3;
  animation: wjo-glow 8s ease-in-out infinite alternate;
}
.scn-widow-jasher-offers-help .lucy {
  position: absolute; bottom: 30%; left: 25%; width: 26px; height: 70px;
  background: linear-gradient(180deg, #3e2e2a 0%, #1e1412 100%);
  border-radius: 45% 45% 35% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wjo-breathe 6s ease-in-out infinite;
}
.scn-widow-jasher-offers-help .jasher {
  position: absolute; bottom: 30%; left: 60%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #4a3a32 0%, #2a1e1a 100%);
  border-radius: 45% 45% 35% 40% / 60% 60% 35% 40%;
  transform-origin: bottom center;
  animation: wjo-breathe 6s ease-in-out infinite reverse;
}
.scn-widow-jasher-offers-help .table {
  position: absolute; bottom: 30%; left: 38%; width: 60px; height: 18px;
  background: linear-gradient(180deg, #3a302a 0%, #1e1814 100%);
  border-radius: 6% 6% 4% 4%;
}
.scn-widow-jasher-offers-help .teacup {
  position: absolute; bottom: 38%; left: 42%; width: 12px; height: 14px;
  background: radial-gradient(circle, #b8a89a 0%, #7a6e62 100%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(-5deg);
  animation: wjo-dust 12s linear infinite;
}
@keyframes wjo-wall {
  0% { opacity: 0.85; } 50% { opacity: 0.9; } 100% { opacity: 0.8; }
}
@keyframes wjo-glow {
  0% { opacity: 0.2; transform: scale(0.95); } 50% { opacity: 0.35; transform: scale(1.05); } 100% { opacity: 0.25; transform: scale(0.95); }
}
@keyframes wjo-breathe {
  0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(1.005); } 100% { transform: translateY(0) scaleY(1); }
}
@keyframes wjo-dust {
  0% { transform: translate(0, 0) rotate(-5deg); opacity: 0.6; } 25% { transform: translate(3px, -2px) rotate(-3deg); opacity: 0.7; } 50% { transform: translate(-2px, -5px) rotate(-8deg); opacity: 0.5; } 75% { transform: translate(4px, -1px) rotate(0); opacity: 0.65; } 100% { transform: translate(0, 0) rotate(-5deg); opacity: 0.6; }
}

.scn-braddock-london-trip {
  background: linear-gradient(180deg, #1e1812 0%, #2a221a 40%, #16100a 100%), radial-gradient(ellipse at 60% 40%, #3a2e22 0%, transparent 60%);
}
.scn-braddock-london-trip .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #28201a 0%, #18120c 100%);
  animation: blt-wall 14s ease-in-out infinite alternate;
}
.scn-braddock-london-trip .door {
  position: absolute; bottom: 25%; left: 75%; width: 30px; height: 90px;
  background: linear-gradient(90deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.5);
  animation: blt-door 10s ease-in-out infinite;
}
.scn-braddock-london-trip .braddock {
  position: absolute; bottom: 25%; left: 40%; width: 32px; height: 85px;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a100a 100%);
  border-radius: 45% 45% 30% 35% / 65% 65% 35% 40%;
  transform-origin: bottom center;
  animation: blt-walk 8s ease-in-out infinite;
}
.scn-braddock-london-trip .cockatoo {
  position: absolute; bottom: 20%; left: 30%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #2a1e16 0%, #120c08 100%);
  border-radius: 45% 45% 30% 35% / 60% 60% 35% 40%;
  transform-origin: bottom center;
  animation: blt-cockatoo 5s ease-in-out infinite reverse;
}
.scn-braddock-london-trip .luggage {
  position: absolute; bottom: 25%; left: 55%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3e2e1e 0%, #241810 100%);
  border-radius: 8% 8% 6% 6%;
  transform: rotate(3deg);
}
.scn-braddock-london-trip .lamp {
  position: absolute; bottom: 60%; left: 10%; width: 10px; height: 14px;
  background: radial-gradient(circle, #d4b06a 0%, #a08040 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(212,176,106,0.5);
  animation: blt-lamp 4s ease-in-out infinite alternate;
}
@keyframes blt-wall {
  0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.75; }
}
@keyframes blt-door {
  0% { transform: scaleX(1); } 30% { transform: scaleX(0.3); } 50% { transform: scaleX(0.3); } 70% { transform: scaleX(0.3); } 100% { transform: scaleX(1); }
}
@keyframes blt-walk {
  0% { transform: translateX(0) rotate(-1deg); } 20% { transform: translateX(5px) rotate(1deg); } 40% { transform: translateX(10px) rotate(-1deg); } 60% { transform: translateX(15px) rotate(1deg); } 80% { transform: translateX(10px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); }
}
@keyframes blt-cockatoo {
  0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-3px) translateY(-2px); } 50% { transform: translateX(0) translateY(-1px); } 75% { transform: translateX(3px) translateY(0); } 100% { transform: translateX(0) translateY(0); }
}
@keyframes blt-lamp {
  0% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(212,176,106,0.4); } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(212,176,106,0.7); } 100% { opacity: 0.75; box-shadow: 0 0 20px 6px rgba(212,176,106,0.5); }
}

.scn-lucy-suspicious-clothes {
  background: linear-gradient(180deg, #7b8b9c 0%, #5c6a7a 40%, #3a4755 100%), radial-gradient(ellipse at 50% 100%, #4a5a6a 0%, transparent 70%);
}
.scn-lucy-suspicious-clothes .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #8a9aab 0%, #6a7a8b 100%); animation: lsc-sky 12s ease-in-out infinite alternate; }
.scn-lucy-suspicious-clothes .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #4a5a3a 0%, #2a3a2a 100%); border-radius: 30% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.4); }
.scn-lucy-suspicious-clothes .path { position:absolute; bottom:15%; left:45%; width:10%; height:25%; background: linear-gradient(180deg, #6a7a5a 0%, #3a4a3a 100%); border-radius: 50% 50% 0 0; transform: perspective(300px) rotateX(60deg); }
.scn-lucy-suspicious-clothes .pyramid { position:absolute; bottom:30%; width:0; height:0; border-left: 40px solid transparent; border-right: 40px solid transparent; border-bottom: 60px solid #5a6a4a; }
.scn-lucy-suspicious-clothes .pyramid.left { left:15%; }
.scn-lucy-suspicious-clothes .pyramid.right { right:15%; border-bottom-color: #4a5a3a; }
.scn-lucy-suspicious-clothes .figure { position:absolute; bottom:12%; left:45%; width:14px; height:28px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: lsc-walk 4s ease-in-out infinite; }
.scn-lucy-suspicious-clothes .cloud { position:absolute; top:18%; left:20%; width:100px; height:20px; background: rgba(200,210,220,.5); border-radius:50%; filter: blur(8px); animation: lsc-drift 30s linear infinite; }
@keyframes lsc-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes lsc-walk { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(8px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(0) } 75% { transform: translateX(24px) translateY(-1px) rotate(-2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }
@keyframes lsc-drift { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }

.scn-hervey-revealed-as-vasa {
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 50%, #0a0606 100%), radial-gradient(ellipse at 40% 60%, #3a2a2a 0%, transparent 80%);
}
.scn-hervey-revealed-as-vasa .wall-back { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 0 0 20% 20%; }
.scn-hervey-revealed-as-vasa .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e00 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,.6); }
.scn-hervey-revealed-as-vasa .doorway { position:absolute; bottom:25%; left:35%; width:20%; height:50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 0 30px #604020; }
.scn-hervey-revealed-as-vasa .lamp { position:absolute; bottom:40%; left:60%; width:12px; height:18px; background: radial-gradient(circle, #c08040 0%, #8a6020 70%); border-radius:40% 40% 20% 20%; box-shadow: 0 0 30px 10px #a06020, 0 0 60px 20px rgba(160,96,32,.4); animation: hrv-lamp 3s ease-in-out infinite alternate; }
.scn-hervey-revealed-as-vasa .figure { position:absolute; bottom:10%; width:16px; height:32px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-hervey-revealed-as-vasa .figure.hervey { left:40%; animation: hrv-stand 5s ease-in-out infinite; }
.scn-hervey-revealed-as-vasa .figure.donpedro { left:55%; height:34px; width:18px; animation: hrv-point 4s ease-in-out infinite; }
.scn-hervey-revealed-as-vasa .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: rgba(0,0,0,.5); filter: blur(12px); animation: hrv-shadow 6s ease-in-out infinite alternate; }
@keyframes hrv-lamp { 0% { box-shadow:0 0 20px 6px #a06020; opacity:.8 } 50% { box-shadow:0 0 40px 14px #c08040; opacity:1 } 100% { box-shadow:0 0 25px 8px #a06020; opacity:.85 } }
@keyframes hrv-stand { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes hrv-point { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-1px) rotate(5deg) } 50% { transform: translateY(0) rotate(-5deg) } 75% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes hrv-shadow { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.5 } }

.scn-inez-defends-random {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 30%, #6a3a2a 60%, #2a1a0a 100%), radial-gradient(ellipse at 50% 70%, #8a4a2a 0%, transparent 70%);
}
.scn-inez-defends-random .fire { position:absolute; bottom:20%; left:50%; width:60px; height:80px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ff8a40 0%, #d06020 40%, #8a3010 70%, transparent 100%); border-radius: 50% 50% 30% 30%; animation: inz-fire 2s ease-in-out infinite alternate; }
.scn-inez-defends-random .ground { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%); border-radius: 40% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-inez-defends-random .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 0 0 30% 30%; }
.scn-inez-defends-random .figure { position:absolute; bottom:15%; width:18px; height:36px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-inez-defends-random .figure.inez { left:38%; animation: inz-sway 4s ease-in-out infinite; }
.scn-inez-defends-random .figure.hervey { left:55%; height:34px; width:16px; animation: inz-step 3s ease-in-out infinite; }
.scn-inez-defends-random .figure.others { left:65%; width:14px; height:30px; animation: inz-nod 5s ease-in-out infinite; }
.scn-inez-defends-random .smoke { position:absolute; bottom:55%; left:48%; width:30px; height:40px; background: radial-gradient(ellipse, rgba(200,180,160,.3) 0%, transparent 70%); filter: blur(10px); animation: inz-smoke 6s ease-in-out infinite; }
@keyframes inz-fire { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) translateY(-2px) } 100% { transform: translateX(-50%) scale(0.95) translateY(1px) } }
@keyframes inz-sway { 0%,100% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes inz-step { 0% { transform: translateY(0) } 25% { transform: translateY(-1px) translateX(3px) } 50% { transform: translateY(0) translateX(6px) } 75% { transform: translateY(-2px) translateX(9px) } 100% { transform: translateY(0) translateX(12px) } }
@keyframes inz-nod { 0%,100% { transform: rotate(0) } 50% { transform: rotate(5deg) } }
@keyframes inz-smoke { 0% { transform: translateY(0) scale(1); opacity:.3 } 50% { transform: translateY(-20px) scale(1.5); opacity:0 } 100% { transform: translateY(0) scale(1); opacity:.3 } }

.scn-widow-anne-questioned {
  background: linear-gradient(180deg, #1a120a 0%, #0e0a06 50%, #060402 100%), radial-gradient(ellipse at 50% 80%, #2a1a0a 0%, transparent 80%);
}
.scn-widow-anne-questioned .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e00 100%); border-radius: 0 0 40% 40%; }
.scn-widow-anne-questioned .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a0e00 0%, #0a0600 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-widow-anne-questioned .table { position:absolute; bottom:15%; left:40%; width:20%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-widow-anne-questioned .lamp { position:absolute; bottom:30%; left:55%; width:10px; height:16px; background: radial-gradient(circle, #c08040 0%, #8a6020 70%); border-radius:40% 40% 20% 20%; box-shadow: 0 0 25px 8px #a06020, 0 0 50px 16px rgba(160,96,32,.3); animation: wdq-lamp 2.5s ease-in-out infinite alternate; }
.scn-widow-anne-questioned .figure { position:absolute; bottom:8%; width:16px; height:30px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-widow-anne-questioned .figure.widow { left:45%; height:28px; width:18px; animation: wdq-lean 4s ease-in-out infinite; }
.scn-widow-anne-questioned .figure.hope { left:55%; height:34px; width:14px; animation: wdq-speak 3s ease-in-out infinite; }
.scn-widow-anne-questioned .shadow { position:absolute; bottom:0; left:0; right:0; height:15%; background: rgba(0,0,0,.5); filter: blur(8px); animation: wdq-shadow 8s ease-in-out infinite alternate; }
@keyframes wdq-lamp { 0% { box-shadow:0 0 20px 6px #a06020; opacity:.8 } 50% { box-shadow:0 0 35px 12px #c08040; opacity:1 } 100% { box-shadow:0 0 22px 7px #a06020; opacity:.85 } }
@keyframes wdq-lean { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } }
@keyframes wdq-speak { 0% { transform: translateY(0) } 25% { transform: translateY(-1px) translateX(2px) } 50% { transform: translateY(0) translateX(0) } 75% { transform: translateY(-2px) translateX(-2px) } 100% { transform: translateY(0) } }
@keyframes wdq-shadow { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.5 } }

/* Scene 1: emeralds-stolen */
.scn-emeralds-stolen {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 40%, #3a2a1a 100%), radial-gradient(ellipse at 40% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-emeralds-stolen .es-wall {
  position: absolute; inset: 0; background: linear-gradient(to bottom, #2a1e1a 0%, #1a1210 100%); border-radius: 0; animation: es-wall-pulse 10s ease-in-out infinite;
}
.scn-emeralds-stolen .es-window {
  position: absolute; top: 20%; left: 10%; width: 40%; height: 30%; background: linear-gradient(135deg, #3a4a6a 0%, #4a5a7a 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); animation: es-moonlight 6s ease-in-out infinite alternate;
}
.scn-emeralds-stolen .es-desk {
  position: absolute; bottom: 20%; left: 30%; width: 50%; height: 12%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2215 100%); border-radius: 2px; box-shadow: 0 -4px 8px rgba(0,0,0,0.4); transform-origin: bottom; animation: es-desk-shift 12s ease-in-out infinite;
}
.scn-emeralds-stolen .es-emerald {
  position: absolute; bottom: 28%; left: 48%; width: 12px; height: 12px; background: radial-gradient(circle, #60c040 0%, #2a6020 70%); border-radius: 50%; box-shadow: 0 0 20px 6px #40a020, 0 0 40px 12px rgba(64,160,32,0.3); animation: es-glow 3s ease-in-out infinite alternate;
}
.scn-emeralds-stolen .es-figure {
  position: absolute; bottom: 18%; left: 55%; width: 25px; height: 50px; background: linear-gradient(180deg, #1c1820 0%, #0a080c 100%); border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: es-figure-sway 8s ease-in-out infinite;
}
.scn-emeralds-stolen .es-shadow {
  position: absolute; bottom: 10%; left: 20%; width: 70%; height: 20%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 60%); animation: es-shadow-move 15s ease-in-out infinite;
}
@keyframes es-wall-pulse {
  0% { opacity: 0.9; } 50% { opacity: 0.95; } 100% { opacity: 0.9; }
}
@keyframes es-moonlight {
  0% { opacity: 0.6; filter: brightness(0.8); } 50% { opacity: 0.9; filter: brightness(1); } 100% { opacity: 0.7; filter: brightness(0.85); }
}
@keyframes es-desk-shift {
  0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.005); } 100% { transform: translateY(0) scaleX(1); }
}
@keyframes es-glow {
  0% { box-shadow: 0 0 15px 4px #40a020, 0 0 30px 8px rgba(64,160,32,0.2); opacity: 0.8; } 50% { box-shadow: 0 0 30px 8px #60c040, 0 0 60px 16px rgba(96,192,64,0.4); opacity: 1; } 100% { box-shadow: 0 0 20px 5px #40a020, 0 0 40px 10px rgba(64,160,32,0.3); opacity: 0.85; }
}
@keyframes es-figure-sway {
  0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes es-shadow-move {
  0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(1.1); } 100% { transform: translateX(0) scaleX(1); }
}

/* Scene 2: hervey-accuses-random */
.scn-hervey-accuses-random {
  background: linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 40%, #b8a898 100%), radial-gradient(ellipse at 70% 30%, #e8dcc8 0%, transparent 60%);
}
.scn-hervey-accuses-random .ha-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8dcc0 0%, #c8b89a 100%); border-radius: 0; animation: ha-bg-flicker 8s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-window {
  position: absolute; top: 10%; right: 15%; width: 30%; height: 35%; background: linear-gradient(135deg, #fff8e0 0%, #e8d8a0 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.4); animation: ha-lightwash 6s ease-in-out infinite alternate;
}
.scn-hervey-accuses-random .ha-figure-accuser {
  position: absolute; bottom: 20%; left: 20%; width: 28px; height: 55px; background: linear-gradient(180deg, #3a2a20 0%, #1a1210 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: ha-accuser-jab 4s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-figure-accused {
  position: absolute; bottom: 20%; right: 25%; width: 28px; height: 55px; background: linear-gradient(180deg, #2a2018 0%, #100a08 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: ha-accused-recoil 5s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-table {
  position: absolute; bottom: 15%; left: 35%; width: 40%; height: 10%; background: linear-gradient(180deg, #8a6a4a 0%, #5a402a 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,0.3); animation: ha-table-shake 7s ease-in-out infinite;
}
.scn-hervey-accuses-random .ha-shadow-harsh {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 30%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 60%); animation: ha-shadow-sharp 10s ease-in-out infinite alternate;
}
@keyframes ha-bg-flicker {
  0% { opacity: 0.95; filter: brightness(1); } 50% { opacity: 1; filter: brightness(1.05); } 100% { opacity: 0.95; filter: brightness(1); }
}
@keyframes ha-lightwash {
  0% { opacity: 0.8; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.02); } 100% { opacity: 0.85; transform: scaleX(1); }
}
@keyframes ha-accuser-jab {
  0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(8px) rotate(5deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-4px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ha-accused-recoil {
  0% { transform: translateX(0) scaleX(1); } 30% { transform: translateX(-10px) scaleX(0.95); } 60% { transform: translateX(0) scaleX(1); } 100% { transform: translateX(0) scaleX(1); }
}
@keyframes ha-table-shake {
  0% { transform: translateX(0); } 25% { transform: translateX(2px); } 50% { transform: translateX(-2px); } 75% { transform: translateX(1px); } 100% { transform: translateX(0); }
}
@keyframes ha-shadow-sharp {
  0% { opacity: 0.3; transform: scaleY(1); } 50% { opacity: 0.5; transform: scaleY(1.2); } 100% { opacity: 0.35; transform: scaleY(1); }
}

/* Scene 3: hope-defends-random */
.scn-hope-defends-random {
  background: linear-gradient(180deg, #1e1a2e 0%, #2a1e3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 30% 70%, #2a2030 0%, transparent 60%);
}
.scn-hope-defends-random .hd-wall {
  position: absolute; inset: 0; background: linear-gradient(to bottom, #2a2030 0%, #1a1220 100%); border-radius: 0; animation: hd-wall-breathe 12s ease-in-out infinite;
}
.scn-hope-defends-random .hd-door {
  position: absolute; right: 10%; top: 15%; width: 18%; height: 55%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 4px 4px 0 0; box-shadow: -4px 0 8px rgba(0,0,0,0.4); animation: hd-door-sway 15s ease-in-out infinite;
}
.scn-hope-defends-random .hd-hope {
  position: absolute; bottom: 18%; left: 30%; width: 24px; height: 50px; background: linear-gradient(180deg, #2a2a3e 0%, #18182a 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: hd-hope-gesture 6s ease-in-out infinite;
}
.scn-hope-defends-random .hd-random {
  position: absolute; bottom: 18%; right: 22%; width: 24px; height: 50px; background: linear-gradient(180deg, #1e1a2e 0%, #0e0a1e 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: hd-random-enter 8s ease-in-out infinite;
}
.scn-hope-defends-random .hd-lamp {
  position: absolute; bottom: 40%; left: 15%; width: 10px; height: 14px; background: radial-gradient(circle, #d0a050 0%, #806020 80%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px #a08040, 0 0 60px 20px rgba(160,128,64,0.3); animation: hd-lamp-flicker 4s ease-in-out infinite alternate;
}
.scn-hope-defends-random .hd-chair {
  position: absolute; bottom: 10%; left: 45%; width: 30px; height: 20px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 10% 10% 20% 20%; transform-origin: bottom center; animation: hd-chair-rock 9s ease-in-out infinite;
}
@keyframes hd-wall-breathe {
  0% { opacity: 0.9; } 50% { opacity: 0.95; } 100% { opacity: 0.9; }
}
@keyframes hd-door-sway {
  0% { transform: rotateY(0deg); } 50% { transform: rotateY(2deg); } 100% { transform: rotateY(0deg); }
}
@keyframes hd-hope-gesture {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); } 30% { transform: translateX(4px) rotate(5deg) scaleY(1.02); } 60% { transform: translateX(0) rotate(0deg) scaleY(1); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes hd-random-enter {
  0% { opacity: 0; transform: translateX(20px) scaleX(0.9); } 30% { opacity: 1; transform: translateX(0) scaleX(1); } 70% { opacity: 1; transform: translateX(0) scaleX(1); } 100% { opacity: 1; transform: translateX(0) scaleX(1); }
}
@keyframes hd-lamp-flicker {
  0% { box-shadow: 0 0 20px 6px #a08040, 0 0 40px 12px rgba(160,128,64,0.2); opacity: 0.85; } 50% { box-shadow: 0 0 40px 12px #c0a060, 0 0 80px 24px rgba(192,160,96,0.4); opacity: 1; } 100% { box-shadow: 0 0 25px 8px #a08040, 0 0 50px 16px rgba(160,128,64,0.25); opacity: 0.9; }
}
@keyframes hd-chair-rock {
  0% { transform: rotate(-2deg); } 25% { transform: rotate(1deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); }
}

/* Scene 4: manuscript-examined */
.scn-manuscript-examined {
  background: linear-gradient(180deg, #1a0e0e 0%, #2a1410 40%, #3a1a12 100%), radial-gradient(ellipse at 60% 70%, #4a2018 0%, transparent 50%);
}
.scn-manuscript-examined .me-hearth {
  position: absolute; bottom: 10%; left: 5%; width: 35%; height: 25%; background: linear-gradient(180deg, #5a3020 0%, #2a1810 100%); border-radius: 30% 30% 10% 10%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5); animation: me-hearth-glow 5s ease-in-out infinite alternate;
}
.scn-manuscript-examined .me-fireglow {
  position: absolute; bottom: 22%; left: 12%; width: 20%; height: 20%; background: radial-gradient(ellipse, #ff8040 0%, #cc5030 40%, transparent 70%); border-radius: 50%; opacity: 0.6; animation: me-fire-dance 3s ease-in-out infinite;
}
.scn-manuscript-examined .me-mantle {
  position: absolute; top: 15%; left: 20%; width: 60%; height: 8%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a10 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: me-mantle-fade 10s ease-in-out infinite;
}
.scn-manuscript-examined .me-manuscript {
  position: absolute; top: 25%; left: 45%; width: 20%; height: 14%; background: linear-gradient(135deg, #c8b88a 0%, #a89060 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.3); transform-origin: center; animation: me-manuscript-turn 8s ease-in-out infinite alternate;
}
.scn-manuscript-examined .me-figure {
  position: absolute; bottom: 20%; right: 15%; width: 30px; height: 55px; background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%); border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: me-figure-read 12s ease-in-out infinite;
}
.scn-manuscript-examined .me-table {
  position: absolute; bottom: 12%; right: 5%; width: 40%; height: 12%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%); border-radius: 6px; box-shadow: 0 -2px 6px rgba(0,0,0,0.5); animation: me-table-warm 9s ease-in-out infinite;
}
@keyframes me-hearth-glow {
  0% { box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5), 0 0 10px rgba(255,80,20,0.2); } 50% { box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5), 0 0 20px rgba(255,100,30,0.4); } 100% { box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5), 0 0 12px rgba(255,80,20,0.25); }
}
@keyframes me-fire-dance {
  0% { transform: translate(0, 0) scale(1); opacity: 0.5; } 25% { transform: translate(3px, -2px) scale(1.05); opacity: 0.7; } 50% { transform: translate(-2px, 1px) scale(0.95); opacity: 0.6; } 75% { transform: translate(1px, -1px) scale(1.02); opacity: 0.65; } 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
}
@keyframes me-mantle-fade {
  0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.8; }
}
@keyframes me-manuscript-turn {
  0% { transform: rotate(0deg) scaleX(1); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); } 50% { transform: rotate(2deg) scaleX(1.02); box-shadow: 4px 4px 8px rgba(0,0,0,0.4); } 100% { transform: rotate(0deg) scaleX(1); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); }
}
@keyframes me-figure-read {
  0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-2px) rotate(-1deg); } 60% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes me-table-warm {
  0% { background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%); } 50% { background: linear-gradient(180deg, #5a3020 0%, #3a1a0e 100%); } 100% { background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%); }
}

.scn-lucy-archie-mummy-buy {
  background: linear-gradient(180deg, #f9f4e6 0%, #e0d5b8 50%, #b8a67a 100%),
              radial-gradient(ellipse at 50% 120%, #c4b08a 0%, transparent 70%);
}
.scn-lucy-archie-mummy-buy .sky {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b8e0f0 60%, transparent 100%);
  animation: lmb-sky 20s ease-in-out infinite alternate;
}
.scn-lucy-archie-mummy-buy .sun {
  position: absolute; top: 8%; left: 70%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffe680 0%, #ffb347 60%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 60px 20px rgba(255, 200, 80, 0.5);
  animation: lmb-sun 15s ease-in-out infinite alternate;
}
.scn-lucy-archie-mummy-buy .marsh-bg {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #6b8e23 0%, #4a6b1a 50%, #2e4a10 100%);
  border-radius: 60% 40% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
  animation: lmb-marsh 12s ease-in-out infinite alternate;
}
.scn-lucy-archie-mummy-buy .path {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 6%;
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a67a 100%);
  border-radius: 30% 30% 50% 50%;
  transform: skewX(-15deg);
  animation: lmb-path 8s ease-in-out infinite alternate;
}
.scn-lucy-archie-mummy-buy .figure-a {
  position: absolute; bottom: 18%; left: 30%; width: 18px; 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: lmb-walk-a 5s ease-in-out infinite;
}
.scn-lucy-archie-mummy-buy .figure-b {
  position: absolute; bottom: 18%; left: 50%; width: 16px; height: 38px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lmb-walk-b 5s ease-in-out infinite 2.5s;
}
.scn-lucy-archie-mummy-buy .cloud {
  position: absolute; border-radius: 50%; filter: blur(6px);
  background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 100%);
}
.scn-lucy-archie-mummy-buy .c1 {
  top: 12%; left: 10%; width: 80px; height: 20px;
  animation: lmb-drift-a 40s linear infinite;
}
.scn-lucy-archie-mummy-buy .c2 {
  top: 20%; right: 15%; width: 60px; height: 15px;
  animation: lmb-drift-b 50s linear infinite reverse;
}
@keyframes lmb-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.6 } }
@keyframes lmb-sun { 0% { transform: translateY(0) scale(1); opacity: 0.8 } 50% { transform: translateY(-5px) scale(1.05); opacity: 1 } 100% { transform: translateY(0) scale(1); opacity: 0.7 } }
@keyframes lmb-marsh { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes lmb-path { 0% { transform: skewX(-15deg) translateX(0) } 50% { transform: skewX(-15deg) translateX(3px) } 100% { transform: skewX(-15deg) translateX(-2px) } }
@keyframes lmb-walk-a { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(8px) rotate(1deg) } 50% { transform: translateX(16px) rotate(-1deg) } 75% { transform: translateX(24px) rotate(2deg) } 100% { transform: translateX(32px) rotate(-1deg) } }
@keyframes lmb-walk-b { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-6px) rotate(-1deg) } 50% { transform: translateX(-12px) rotate(2deg) } 75% { transform: translateX(-18px) rotate(-2deg) } 100% { transform: translateX(-24px) rotate(1deg) } }
@keyframes lmb-drift-a { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }
@keyframes lmb-drift-b { 0% { transform: translateX(0) } 100% { transform: translateX(-100vw) } }

.scn-mummy-purchase-agreed {
  background: linear-gradient(180deg, #1e1a16 0%, #2c241e 50%, #3a3028 100%),
              radial-gradient(ellipse at 50% 80%, #4a3e32 0%, transparent 70%);
}
.scn-mummy-purchase-agreed .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a221c 0%, #1a140e 100%);
  box-shadow: inset 0 100px 80px rgba(0,0,0,0.6);
}
.scn-mummy-purchase-agreed .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7);
}
.scn-mummy-purchase-agreed .lamp {
  position: absolute; bottom: 40%; left: 20%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #b09070 0%, #705030 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: mpa-lamp-sway 6s ease-in-out infinite;
}
.scn-mummy-purchase-agreed .lamp::after {
  content: ''; position: absolute; top: -8px; left: -8px; width: 28px; height: 28px;
  background: radial-gradient(circle, #ffe680 0%, #b08040 60%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,200,80,0.4);
  animation: mpa-glow 3s ease-in-out infinite alternate;
}
.scn-mummy-purchase-agreed .documents {
  position: absolute; bottom: 20%; left: 35%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #d4c4a0 0%, #b8a67a 100%);
  border-radius: 2px; transform: rotate(-5deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
  animation: mpa-paper 8s ease-in-out infinite alternate;
}
.scn-mummy-purchase-agreed .mummy-case {
  position: absolute; bottom: 20%; right: 20%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4), 0 6px 12px rgba(0,0,0,0.6);
  animation: mpa-case-breathe 10s ease-in-out infinite;
}
.scn-mummy-purchase-agreed .mummy-case::before {
  content: ''; position: absolute; top: 10px; left: 15px; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c0a880 0%, #8a6a4a 100%);
  border-radius: 30% 30% 20% 20%;
}
.scn-mummy-purchase-agreed .chair {
  position: absolute; bottom: 10%; left: 8%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 30% 30%;
}
.scn-mummy-purchase-agreed .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
}
@keyframes mpa-lamp-sway { 0% { transform: rotate(0deg) } 25% { transform: rotate(3deg) } 50% { transform: rotate(-2deg) } 75% { transform: rotate(4deg) } 100% { transform: rotate(-1deg) } }
@keyframes mpa-glow { 0% { box-shadow: 0 0 20px 5px rgba(255,200,80,0.3); opacity: 0.7 } 50% { box-shadow: 0 0 40px 15px rgba(255,200,80,0.6); opacity: 1 } 100% { box-shadow: 0 0 25px 8px rgba(255,200,80,0.35); opacity: 0.8 } }
@keyframes mpa-paper { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-6deg) translateY(1px) } }
@keyframes mpa-case-breathe { 0% { transform: scale(1) } 50% { transform: scale(1.01) } 100% { transform: scale(1) } }

.scn-braddock-household-intro {
  background: linear-gradient(135deg, #f0e8d8 0%, #e0d5b8 40%, #c8b898 100%),
              radial-gradient(ellipse at 30% 70%, #e8dcc8 0%, transparent 60%);
}
.scn-braddock-household-intro .wall-bright {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #f5efe0 0%, #e8dcc8 100%);
  box-shadow: inset 0 0 50px rgba(255,255,200,0.15);
}
.scn-braddock-household-intro .window {
  position: absolute; top: 6%; left: 60%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #a8d8f0 0%, #d0e8f8 100%);
  border: 6px solid #5a4030; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,255,200,0.3);
  animation: bhi-window-light 15s ease-in-out infinite alternate;
}
.scn-braddock-household-intro .window::after {
  content: ''; position: absolute; top: 0; left: 50%; width: 4px; height: 100%;
  background: #5a4030; transform: translateX(-50%);
}
.scn-braddock-household-intro .shelf {
  position: absolute; bottom: 40%; left: 5%; right: 5%; height: 4%;
  background: linear-gradient(180deg, #8a7050 0%, #6a4a30 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-braddock-household-intro .shelf::before {
  content: ''; position: absolute; top: -40px; left: 10%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #c0a880 0%, #8a6a4a 100%);
  border-radius: 50% 50% 20% 20%;
}
.scn-braddock-household-intro .bust {
  position: absolute; bottom: 44%; left: 20%; width: 24px; height: 36px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30%;
  transform: rotate(-5deg);
  animation: bhi-bust 12s ease-in-out infinite alternate;
}
.scn-braddock-household-intro .cockatoo {
  position: absolute; bottom: 44%; right: 15%; width: 20px; height: 28px;
  background: linear-gradient(180deg, #f0e8d8 0%, #d8c8a8 100%);
  border-radius: 50% 50% 40% 40%;
  animation: bhi-cockatoo 6s ease-in-out infinite;
}
.scn-braddock-household-intro .cockatoo::after {
  content: ''; position: absolute; top: -10px; left: 5px; width: 10px; height: 12px;
  background: linear-gradient(180deg, #ffd700 0%, #e6c200 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(15deg);
}
.scn-braddock-household-intro .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%);
}
.scn-braddock-household-intro .rug {
  position: absolute; bottom: 0; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(135deg, #8b4513, #5a2e0e, #8b4513, #5a2e0e);
  background-size: 200% 100%; border-radius: 50% 50% 0 0;
  animation: bhi-rug 30s linear infinite;
}
@keyframes bhi-window-light { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes bhi-bust { 0% { transform: rotate(-5deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-4deg) } }
@keyframes bhi-cockatoo { 0% { transform: translateY(0) rotate(-3deg) } 25% { transform: translateY(-4px) rotate(2deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(4deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes bhi-rug { 0% { background-position: 0% 0% } 100% { background-position: 100% 0% } }

.scn-dinner-expedition-dreams {
  background: linear-gradient(180deg, #1a0e0a 0%, #2c1c12 40%, #3a2218 100%),
              radial-gradient(ellipse at 50% 70%, #4a3020 0%, transparent 70%);
}
.scn-dinner-expedition-dreams .wall-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #120a06 0%, #1a0e0a 100%);
  box-shadow: inset 0 80px 60px rgba(0,0,0,0.7);
}
.scn-dinner-expedition-dreams .table {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #5a4028 0%, #3a2818 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 12px 30px rgba(0,0,0,0.5);
}
.scn-dinner-expedition-dreams .fireplace {
  position: absolute; bottom: 40%; left: 8%; width: 100px; height: 80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}
.scn-dinner-expedition-dreams .fireplace::after {
  content: ''; position: absolute; top: 10px; left: 10px; right: 10px; bottom: 10px;
  background: radial-gradient(ellipse at 50% 100%, #ff4a00 0%, #ff7a00 40%, transparent 70%);
  animation: ded-fire 1.5s ease-in-out infinite alternate;
}
.scn-dinner-expedition-dreams .flames {
  position: absolute; bottom: 40%; left: 20%; width: 60px; height: 50px;
  background: radial-gradient(ellipse at 50% 100%, #ff6a00 0%, #ff9a00 30%, transparent 60%);
  filter: blur(3px);
  animation: ded-flames 2s ease-in-out infinite alternate;
}
.scn-dinner-expedition-dreams .figure-c {
  position: absolute; bottom: 20%; left: 25%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ded-sit-c 8s ease-in-out infinite;
}
.scn-dinner-expedition-dreams .figure-d {
  position: absolute; bottom: 20%; left: 55%; width: 18px; height: 38px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ded-sit-d 8s ease-in-out infinite 4s;
}
.scn-dinner-expedition-dreams .plate {
  position: absolute; bottom: 25%; left: 38%; width: 28px; height: 8px;
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a67a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: ded-plate 10s ease-in-out infinite alternate;
}
.scn-dinner-expedition-dreams .glass {
  position: absolute; bottom: 26%; left: 45%; width: 8px; height: 16px;
  background: linear-gradient(180deg, rgba(255,200,80,0.3) 0%, rgba(255,200,80,0.1) 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: 0 0 10px rgba(255,200,80,0.3);
  animation: ded-glass 5s ease-in-out infinite alternate;
}
@keyframes ded-fire { 0% { opacity: 0.7; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.1) } 100% { opacity: 0.6; transform: scaleY(0.9) } }
@keyframes ded-flames { 0% { transform: translateY(0) scaleY(1) rotate(-2deg); opacity: 0.5 } 50% { transform: translateY(-8px) scaleY(1.2) rotate(3deg); opacity: 0.8 } 100% { transform: translateY(-3px) scaleY(0.9) rotate(-1deg); opacity: 0.6 } }
@keyframes ded-sit-c { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(-2deg) } 75% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes ded-sit-d { 0% { transform: translateY(0) rotate(1deg) } 25% { transform: translateY(-1px) rotate(-2deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes ded-plate { 0% { transform: rotate(0deg) translateX(0) } 50% { transform: rotate(2deg) translateX(2px) } 100% { transform: rotate(-1deg) translateX(-1px) } }
@keyframes ded-glass { 0% { transform: rotate(0deg) translateY(0); opacity: 0.6 } 50% { transform: rotate(3deg) translateY(-1px); opacity: 1 } 100% { transform: rotate(-2deg) translateY(0); opacity: 0.5 } }

/* === mummy-case-arrives === */
.scn-mummy-case-arrives { background: linear-gradient(180deg, #1a1a1a 0%, #2c1f1a 40%, #3a2a1f 100%), radial-gradient(ellipse at 70% 60%, #3a2a1f 0%, transparent 70%); }
.scn-mummy-case-arrives .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,15,10,.9) 0%, transparent 100%); }
.scn-mummy-case-arrives .mummy.case { position:absolute; left:50%; bottom:20%; width:80px; height:140px; transform:translateX(-50%); background: linear-gradient(180deg, #b8a070 0%, #8a6f50 50%, #5c4a30 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 8px 20px rgba(0,0,0,.6); animation: sway-mca 6s ease-in-out infinite; }
.scn-mummy-case-arrives .mummy.bandages { position:absolute; left:50%; bottom:20%; width:80px; height:140px; transform:translateX(-50%); background: repeating-linear-gradient(0deg, transparent 0px, transparent 8px, #d4c09a 8px, #d4c09a 10px); opacity:.4; border-radius:8% 8% 4% 4%; animation: sway-mca 6s ease-in-out infinite; }
.scn-mummy-case-arrives .figure-lucy { position:absolute; left:25%; bottom:18%; width:20px; height:40px; background: linear-gradient(180deg, #2a1f1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: step-mca 5s ease-in-out infinite; }
.scn-mummy-case-arrives .figure-braddock { position:absolute; right:20%; bottom:15%; width:35px; height:55px; background: linear-gradient(180deg, #1a1a1a 0%, #050505 100%); border-radius:50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: step-mca 5s ease-in-out infinite reverse; }
.scn-mummy-case-arrives .lamp { position:absolute; left:60%; bottom:65%; width:12px; height:12px; background: radial-gradient(circle, #f0c070 0%, #b08040 70%); border-radius:50%; box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,.3); animation: glow-mca 3s ease-in-out infinite alternate; }
.scn-mummy-case-arrives .shadow-beam { position:absolute; left:52%; bottom:25%; width:200px; height:60px; background: linear-gradient(90deg, rgba(0,0,0,.6) 0%, transparent 100%); transform: skew(-15deg); transform-origin: left bottom; animation: flicker-mca 1.5s ease-in-out infinite; }
@keyframes sway-mca { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(1deg); } 100% { transform:translateX(-50%) rotate(0deg); } }
@keyframes step-mca { 0% { transform:translateY(0) rotate(-2deg); } 25% { transform:translateY(-1px) rotate(1deg); } 50% { transform:translateY(0) rotate(-1deg); } 75% { transform:translateY(-1px) rotate(2deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes glow-mca { 0% { opacity:.7; box-shadow:0 0 15px 4px #b08040; } 50% { opacity:1; box-shadow:0 0 30px 10px #f0c070,0 0 60px 20px rgba(240,192,112,.4); } 100% { opacity:.8; box-shadow:0 0 20px 6px #c08040; } }
@keyframes flicker-mca { 0% { opacity:.5; } 50% { opacity:1; } 100% { opacity:.6; } }

/* === body-discovered-case === */
.scn-body-discovered-case { background: linear-gradient(180deg, #0a0a0a 0%, #14100a 50%, #1a1812 100%), radial-gradient(ellipse at 30% 50%, #1a1812 0%, transparent 60%); }
.scn-body-discovered-case .bg-floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1812 0%, #0a0806 100%); }
.scn-body-discovered-case .corpse { position:absolute; left:30%; bottom:15%; width:100px; height:30px; background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%); border-radius:30% 30% 10% 10%; transform:rotate(5deg); box-shadow:0 4px 12px rgba(0,0,0,.7); }
.scn-body-discovered-case .doctor { position:absolute; left:55%; bottom:20%; width:30px; height:45px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bend-bdc 8s ease-in-out infinite; }
.scn-body-discovered-case .candle { position:absolute; left:70%; bottom:60%; width:6px; height:20px; background: linear-gradient(0deg, #c08040 0%, #f0d080 50%, #ffd060 100%); border-radius:10% 10% 20% 20%; box-shadow:0 0 12px 4px #d09050; animation: flicker-bdc 2s ease-in-out infinite; }
.scn-body-discovered-case .shadow-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 30% 70%, rgba(0,0,0,.6) 0%, transparent 80%); animation: pulse-bdc 4s ease-in-out infinite; }
.scn-body-discovered-case .pool-blood { position:absolute; left:28%; bottom:10%; width:50px; height:12px; background: radial-gradient(ellipse, #5e1a1d 0%, transparent 100%); border-radius:50%; }
@keyframes bend-bdc { 0% { transform:rotate(0deg); } 50% { transform:rotate(10deg) translateX(3px); } 100% { transform:rotate(0deg); } }
@keyframes flicker-bdc { 0% { opacity:.7; box-shadow:0 0 10px 2px #d09050; } 50% { opacity:1; box-shadow:0 0 20px 6px #ffd060,0 0 40px 12px rgba(255,208,96,.5); } 100% { opacity:.8; box-shadow:0 0 12px 3px #d09050; } }
@keyframes pulse-bdc { 0% { opacity:.5; } 50% { opacity:1; } 100% { opacity:.6; } }

/* === inquest-tensions === */
.scn-inquest-tensions { background: linear-gradient(180deg, #e0d0b0 0%, #c8b89a 50%, #a89070 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 80%); }
.scn-inquest-tensions .bg-panel { position:absolute; inset:0 40% 0 0; background: linear-gradient(90deg, #c8b89a 0%, #b0a080 100%); border-right:2px solid #8a7a5a; }
.scn-inquest-tensions .bench { position:absolute; top:10%; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%); border-radius:4% 4% 0 0; box-shadow:0 -4px 8px rgba(0,0,0,.4); }
.scn-inquest-tensions .witness-box { position:absolute; left:20%; bottom:20%; width:40px; height:60px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:10% 10% 0 0; border:2px solid #4a3a2a; }
.scn-inquest-tensions .figure-coroner { position:absolute; left:8%; bottom:22%; width:25px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #050505 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: nod-inq 6s ease-in-out infinite; }
.scn-inquest-tensions .figure-braddock-profile { position:absolute; right:15%; bottom:20%; width:30px; height:55px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: shake-inq 4s ease-in-out infinite; }
.scn-inquest-tensions .red-cord { position:absolute; left:50%; top:30%; width:2px; height:40px; background: #c8553d; border-radius:1px; box-shadow:0 0 4px #c8553d; transform-origin: top; animation: sway-inq 3s ease-in-out infinite; }
.scn-inquest-tensions .gavel { position:absolute; left:45%; top:8%; width:20px; height:6px; background: #4a3a2a; border-radius:2px; transform-origin: right center; animation: bang-inq 4s ease-in-out infinite; }
@keyframes nod-inq { 0% { transform:rotate(0deg); } 50% { transform:rotate(5deg); } 100% { transform:rotate(0deg); } }
@keyframes shake-inq { 0% { transform:translateX(0); } 25% { transform:translateX(2px) rotate(-2deg); } 50% { transform:translateX(0); } 75% { transform:translateX(-2px) rotate(2deg); } 100% { transform:translateX(0); } }
@keyframes sway-inq { 0% { transform:rotate(0deg); } 50% { transform:rotate(3deg); } 100% { transform:rotate(-3deg); } }
@keyframes bang-inq { 0% { transform:rotate(0deg) translateY(0); } 50% { transform:rotate(15deg) translateY(-3px); } 100% { transform:rotate(0deg) translateY(0); } }

/* === hervey-offer-rejected === */
.scn-hervey-offer-rejected { background: linear-gradient(180deg, #1a1a3a 0%, #10102a 50%, #0a0a1a 100%), radial-gradient(ellipse at 70% 30%, #151538 0%, transparent 70%); }
.scn-hervey-offer-rejected .bg-study { position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,10,30,.8) 0%, transparent 100%); }
.scn-hervey-offer-rejected .desk { position:absolute; bottom:10%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%); border-radius:4% 4% 0 0; box-shadow:0 -6px 12px rgba(0,0,0,.6); }
.scn-hervey-offer-rejected .figure-hervey { position:absolute; left:15%; bottom:18%; width:28px; 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: gesture-hor 5s ease-in-out infinite; }
.scn-hervey-offer-rejected .figure-braddock-standing { position:absolute; right:12%; bottom:15%; width:35px; height:60px; background: linear-gradient(180deg, #1a1a1a 0%, #050505 100%); border-radius:50% 50% 30% 30% / 80% 80% 30% 30%; transform-origin: bottom center; animation: stiff-hor 6s ease-in-out infinite; }
.scn-hervey-offer-rejected .window-moon { position:absolute; top:8%; right:8%; width:80px; height:100px; background: linear-gradient(180deg, #2a2a5a 0%, #1a1a3a 100%); border:3px solid #6a6a8a; border-radius:4% 4% 8% 8%; }
.scn-hervey-offer-rejected .window-moon::before { content:''; position:absolute; top:15%; left:25%; width:20px; height:20px; background: radial-gradient(circle, #d0d0ff 0%, #8080b0 100%); border-radius:50%; box-shadow:0 0 20px 6px #a0a0d0,0 0 40px 12px rgba(160,160,208,.3); animation: moon-hor 8s ease-in-out infinite alternate; }
.scn-hervey-offer-rejected .letter { position:absolute; left:35%; bottom:45%; width:30px; height:20px; background: #f0e0c0; border:1px solid #8a7a5a; border-radius:2px; transform:rotate(-5deg); box-shadow:2px 2px 8px rgba(0,0,0,.5); animation: drift-hor 12s ease-in-out infinite; }
.scn-hervey-offer-rejected .shadow-stripe { position:absolute; top:0; left:60%; width:40%; height:100%; background: linear-gradient(90deg, rgba(0,0,0,.4) 0%, transparent 100%); transform:skewX(-15deg); transform-origin:left top; animation: slide-hor 10s ease-in-out infinite; }
@keyframes gesture-hor { 0% { transform:rotate(-5deg); } 50% { transform:rotate(5deg) translateX(3px); } 100% { transform:rotate(-5deg); } }
@keyframes stiff-hor { 0% { transform:rotate(0deg); } 50% { transform:rotate(-2deg); } 100% { transform:rotate(0deg); } }
@keyframes moon-hor { 0% { opacity:.7; box-shadow:0 0 15px 4px #a0a0d0; } 100% { opacity:1; box-shadow:0 0 30px 10px #d0d0ff,0 0 60px 20px rgba(208,208,255,.4); } }
@keyframes drift-hor { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(2px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes slide-hor { 0% { opacity:.3; } 50% { opacity:.7; } 100% { opacity:.4; } }

.scn-mrs-jasher-confesses-blackmail {
  background: linear-gradient(180deg, #1f1a1a 0%, #2a1f1b 50%, #1a1210 100%), radial-gradient(ellipse at 40% 60%, #3a2a20 0%, transparent 70%);
}
.scn-mrs-jasher-confesses-blackmail .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2e221e 0%, #1a1210 100%); animation: mjb-breath 8s ease-in-out infinite alternate;
}
.scn-mrs-jasher-confesses-blackmail .window {
  position: absolute; top: 10%; left: 70%; width: 18%; height: 24%; background: linear-gradient(135deg, #4a3a2e 0%, #2a1f1b 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.6); animation: mjb-windowpulse 4s ease-in-out infinite alternate;
}
.scn-mrs-jasher-confesses-blackmail .table {
  position: absolute; bottom: 18%; left: 25%; width: 40%; height: 12%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2215 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-mrs-jasher-confesses-blackmail .candle {
  position: absolute; bottom: 30%; left: 45%; width: 6px; height: 20px; background: linear-gradient(90deg, #8a6a4a 0%, #ba9a6a 50%, #8a6a4a 100%); border-radius: 2px; box-shadow: 0 0 20px 10px rgba(200,150,80,0.5); animation: mjb-flicker 2s ease-in-out infinite alternate;
}
.scn-mrs-jasher-confesses-blackmail .figure-jasher {
  position: absolute; bottom: 18%; left: 30%; width: 12%; height: 35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a10 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mjb-tremble 3s ease-in-out infinite;
}
.scn-mrs-jasher-confesses-blackmail .figure-random {
  position: absolute; bottom: 18%; left: 55%; width: 14%; height: 38%; background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 100%); border-radius: 45% 45% 35% 35% / 65% 65% 35% 35%; transform-origin: bottom center; animation: mjb-stand 5s ease-in-out infinite;
}
.scn-mrs-jasher-confesses-blackmail .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); animation: mjb-shadow-fade 7s ease-in-out infinite alternate;
}
@keyframes mjb-breath { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes mjb-windowpulse { 0% { box-shadow: inset 0 0 15px rgba(0,0,0,0.6); } 50% { box-shadow: inset 0 0 35px rgba(0,0,0,0.8); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.7); } }
@keyframes mjb-flicker { 0% { opacity: 0.8; box-shadow: 0 0 20px 10px rgba(200,150,80,0.4); } 50% { opacity: 1; box-shadow: 0 0 30px 15px rgba(200,150,80,0.7); } 100% { opacity: 0.85; box-shadow: 0 0 25px 12px rgba(200,150,80,0.5); } }
@keyframes mjb-tremble { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mjb-stand { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes mjb-shadow-fade { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.7; } }

.scn-item-emerald-found-box {
  background: linear-gradient(180deg, #0a0a1a 0%, #12122a 50%, #0e0e1e 100%), radial-gradient(ellipse at 80% 20%, #1a1a3a 0%, transparent 60%);
}
.scn-item-emerald-found-box .sky-night {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%); animation: emb-skydrift 12s ease-in-out infinite alternate;
}
.scn-item-emerald-found-box .moon {
  position: absolute; top: 8%; right: 12%; width: 8%; height: 8%; background: radial-gradient(circle, #eaeaea 0%, #b0b0d0 60%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(200,200,230,0.3); animation: emb-moonpulse 8s ease-in-out infinite alternate;
}
.scn-item-emerald-found-box .fort-wall {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 40%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.8); animation: emb-wallfade 15s ease-in-out infinite alternate;
}
.scn-item-emerald-found-box .sentry-box {
  position: absolute; bottom: 35%; left: 15%; width: 12%; height: 18%; background: linear-gradient(180deg, #3a2a1a 0%, #1a150a 100%); border-radius: 15% 15% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,0.7); animation: emb-boxsway 6s ease-in-out infinite;
}
.scn-item-emerald-found-box .emerald-glimmer {
  position: absolute; bottom: 40%; left: 17%; width: 4%; height: 4%; background: radial-gradient(circle, #90ff80 0%, #30a030 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(80,200,80,0.6), 0 0 80px 40px rgba(80,200,80,0.3); animation: emb-emeraldglow 3s ease-in-out infinite alternate;
}
.scn-item-emerald-found-box .figure-random {
  position: absolute; bottom: 22%; left: 60%; width: 10%; 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: emb-walk 5s ease-in-out infinite;
}
.scn-item-emerald-found-box .shadow-long {
  position: absolute; bottom: 20%; left: 55%; width: 20%; height: 8%; background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: emb-shadowmove 7s ease-in-out infinite;
}
@keyframes emb-skydrift { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes emb-moonpulse { 0% { box-shadow: 0 0 30px 15px rgba(200,200,230,0.2); } 50% { box-shadow: 0 0 60px 30px rgba(200,200,230,0.4); } 100% { box-shadow: 0 0 40px 20px rgba(200,200,230,0.25); } }
@keyframes emb-wallfade { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes emb-boxsway { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(1deg) translateY(-2px); } 50% { transform: rotate(-1deg) translateY(0); } 75% { transform: rotate(0deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes emb-emeraldglow { 0% { opacity: 0.7; box-shadow: 0 0 30px 15px rgba(80,200,80,0.4); } 50% { opacity: 1; box-shadow: 0 0 60px 30px rgba(80,200,80,0.8); } 100% { opacity: 0.8; box-shadow: 0 0 40px 20px rgba(80,200,80,0.5); } }
@keyframes emb-walk { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(-1deg); } 50% { transform: translateX(10px) rotate(0deg); } 75% { transform: translateX(15px) rotate(1deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes emb-shadowmove { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(10px) scaleX(0.9); } 100% { transform: translateX(5px) scaleX(1.1); } }

.scn-fog-walk-to-cottage {
  background: linear-gradient(180deg, #0e0e1a 0%, #16162a 50%, #0a0a14 100%), radial-gradient(ellipse at 50% 100%, #1a1a2e 0%, transparent 70%);
}
.scn-fog-walk-to-cottage .fog-sky {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); animation: fwc-skylight 10s ease-in-out infinite alternate;
}
.scn-fog-walk-to-cottage .fog-layer-1 {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(180,180,200,0.1) 0%, rgba(180,180,200,0.05) 100%); filter: blur(30px); animation: fwc-foglift1 20s ease-in-out infinite alternate;
}
.scn-fog-walk-to-cottage .fog-layer-2 {
  position: absolute; inset: 0; background: linear-gradient(90deg, rgba(200,200,220,0.08) 0%, rgba(200,200,220,0.02) 50%, rgba(200,200,220,0.08) 100%); filter: blur(50px); animation: fwc-fogshift2 30s linear infinite;
}
.scn-fog-walk-to-cottage .path {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 15%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); clip-path: polygon(20% 0%, 80% 0%, 70% 100%, 30% 100%); opacity: 0.6; animation: fwc-pathrise 7s ease-in-out infinite;
}
.scn-fog-walk-to-cottage .cottage-silhouette {
  position: absolute; bottom: 30%; right: 10%; width: 25%; height: 35%; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.8); animation: fwc-cottagebreath 9s ease-in-out infinite alternate;
}
.scn-fog-walk-to-cottage .figure-hope {
  position: absolute; bottom: 26%; left: 30%; width: 8%; height: 28%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fwc-walk1 4s ease-in-out infinite;
}
.scn-fog-walk-to-cottage .figure-random {
  position: absolute; bottom: 26%; left: 40%; width: 9%; height: 30%; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: fwc-walk2 4.5s ease-in-out infinite 0.2s;
}
.scn-fog-walk-to-cottage .tree {
  position: absolute; bottom: 25%; left: 5%; width: 8%; height: 50%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; transform-origin: bottom center; animation: fwc-treesway 6s ease-in-out infinite;
}
@keyframes fwc-skylight { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes fwc-foglift1 { 0% { opacity: 0.3; transform: translateY(0); } 50% { opacity: 0.6; transform: translateY(-10px); } 100% { opacity: 0.4; transform: translateY(5px); } }
@keyframes fwc-fogshift2 { 0% { opacity: 0.2; transform: translateX(-20px); } 50% { opacity: 0.4; transform: translateX(0); } 100% { opacity: 0.2; transform: translateX(20px); } }
@keyframes fwc-pathrise { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes fwc-cottagebreath { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes fwc-walk1 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(-1deg); } 50% { transform: translateX(10px) rotate(0deg); } 75% { transform: translateX(15px) rotate(1deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes fwc-walk2 { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(12px) rotate(-1deg); } 100% { transform: translateX(16px) rotate(0deg); } }
@keyframes fwc-treesway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }

.scn-dying-confession-cockatoo {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1210 50%, #1a0808 100%), radial-gradient(ellipse at 30% 70%, #3a1a10 0%, transparent 70%);
}
.scn-dying-confession-cockatoo .room-firelit {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1410 0%, #1a0a0a 100%); animation: dcc-flicker 8s ease-in-out infinite alternate;
}
.scn-dying-confession-cockatoo .fireplace {
  position: absolute; bottom: 10%; right: 10%; width: 30%; height: 50%; background: linear-gradient(180deg, #3a1a10 0%, #1a0808 100%); border-radius: 40% 40% 5% 5% / 60% 60% 10% 10%; box-shadow: inset 0 -20px 40px rgba(0,0,0,0.8); animation: dcc-fireplaceglow 6s ease-in-out infinite alternate;
}
.scn-dying-confession-cockatoo .flames {
  position: absolute; bottom: 30%; right: 22%; width: 6%; height: 25%; background: linear-gradient(180deg, #d06a30 0%, #a84220 50%, #5a1a10 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; filter: blur(2px); box-shadow: 0 0 60px 30px rgba(200,100,40,0.5); animation: dcc-flame 2s ease-in-out infinite alternate;
}
.scn-dying-confession-cockatoo .figure-jasher-lying {
  position: absolute; bottom: 15%; left: 35%; width: 12%; height: 20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a10 100%); border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%; transform: rotate(-5deg); animation: dcc-deathbreath 7s ease-in-out infinite;
}
.scn-dying-confession-cockatoo .figure-hope {
  position: absolute; bottom: 18%; left: 50%; width: 10%; height: 35%; background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dcc-kneel 5s ease-in-out infinite;
}
.scn-dying-confession-cockatoo .figure-random {
  position: absolute; bottom: 18%; left: 60%; width: 11%; height: 38%; background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dcc-standguard 6s ease-in-out infinite;
}
.scn-dying-confession-cockatoo .window-broken {
  position: absolute; top: 12%; left: 60%; width: 16%; height: 22%; background: linear-gradient(135deg, #1a0a0a 0%, #2a1410 100%); border-radius: 2px; box-shadow: inset 0 0 30px rgba(0,0,0,0.7); animation: dcc-windowpan 8s ease-in-out infinite alternate;
}
.scn-dying-confession-cockatoo .face-outside {
  position: absolute; top: 15%; left: 64%; width: 6%; height: 8%; background: radial-gradient(circle, #3a2a1a 0%, #1a1010 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; filter: blur(1px); animation: dcc-faceglance 11s ease-in-out infinite;
}
.scn-dying-confession-cockatoo .cockatoo {
  position: absolute; top: 20%; right: 25%; width: 5%; height: 6%; background: radial-gradient(circle, #e0d0b0 0%, #b0a080 60%, transparent 70%); border-radius: 50%; box-shadow: 0 0 10px 5px rgba(200,180,150,0.3); animation: dcc-cockatoo 4s ease-in-out infinite alternate;
}
@keyframes dcc-flicker { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes dcc-fireplaceglow { 0% { box-shadow: inset 0 -20px 40px rgba(0,0,0,0.8), 0 0 30px 10px rgba(200,100,40,0.3); } 50% { box-shadow: inset 0 -30px 60px rgba(0,0,0,0.9), 0 0 60px 20px rgba(200,100,40,0.5); } 100% { box-shadow: inset 0 -25px 50px rgba(0,0,0,0.85), 0 0 40px 15px rgba(200,100,40,0.4); } }
@keyframes dcc-flame { 0% { transform: scaleY(1) rotate(-2deg); opacity: 0.8; } 50% { transform: scaleY(1.15) rotate(2deg); opacity: 1; } 100% { transform: scaleY(0.9) rotate(-1deg); opacity: 0.9; } }
@keyframes dcc-deathbreath { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes dcc-kneel { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dcc-standguard { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes dcc-windowpan { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.6); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.8); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,0.7); } }
@keyframes dcc-faceglance { 0% { opacity: 0; transform: translateX(0); } 30% { opacity: 0.8; transform: translateX(-5px); } 50% { opacity: 0.6; transform: translateX(2px); } 100% { opacity: 0; transform: translateX(10px); } }
@keyframes dcc-cockatoo { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(5deg); } 100% { transform: translateY(-2px) rotate(-5deg); } }

.scn-don-pedro-arrives {
  background: linear-gradient(180deg, #2a1e14 0%, #1a120c 40%, #0d0a07 100%),
              radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 60%);
}
.scn-don-pedro-arrives .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,20,10,0.6) 0%, transparent 50%, rgba(0,0,0,0.8) 100%);
  animation: dpa-ambient 12s ease-in-out infinite alternate;
}
.scn-don-pedro-arrives .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e14 0%, #0d0a07 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.5);
}
.scn-don-pedro-arrives .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 70%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120c 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-don-pedro-arrives .table {
  position: absolute; bottom: 18%; left: 50%; width: 100px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 50%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.7);
  animation: dpa-table 8s ease-in-out infinite;
}
.scn-don-pedro-arrives .lamp {
  position: absolute; bottom: 30%; left: 50%; width: 14px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a050 0%, #8a6a30 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.6), 0 0 40px 12px rgba(200,160,80,0.3);
  animation: dpa-lamp-glow 3s ease-in-out infinite alternate;
}
.scn-don-pedro-arrives .figure-don {
  position: absolute; bottom: 18%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #0d0a07 0%, #1a120c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dpa-walk 5s ease-in-out infinite;
}
.scn-don-pedro-arrives .shadow-cast {
  position: absolute; bottom: 16%; left: 28%; width: 40px; height: 8px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(3px);
  animation: dpa-shadow 5s ease-in-out infinite;
}
@keyframes dpa-ambient {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes dpa-table {
  0%, 100% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.02); }
}
@keyframes dpa-lamp-glow {
  0% { box-shadow: 0 0 15px 4px rgba(200,160,80,0.4), 0 0 30px 8px rgba(200,160,80,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 30px 10px rgba(220,180,100,0.7), 0 0 60px 20px rgba(220,180,100,0.4); opacity: 1; }
  100% { box-shadow: 0 0 20px 6px rgba(200,160,80,0.5), 0 0 40px 12px rgba(200,160,80,0.3); opacity: 0.9; }
}
@keyframes dpa-walk {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(8px) rotate(2deg) scaleY(0.98); }
  50% { transform: translateX(16px) rotate(0deg) scaleY(1); }
  75% { transform: translateX(8px) rotate(-2deg) scaleY(0.98); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes dpa-shadow {
  0% { transform: translateX(0) scaleX(1); }
  25% { transform: translateX(4px) scaleX(1.1); }
  50% { transform: translateX(8px) scaleX(1); }
  75% { transform: translateX(4px) scaleX(1.1); }
  100% { transform: translateX(0) scaleX(1); }
}

.scn-mummy-found-garden {
  background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 30%, #3a2a5e 60%, #4a3a6e 100%),
              radial-gradient(ellipse at 50% 0%, #5a4a7e 0%, transparent 70%);
}
.scn-mummy-found-garden .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2a4e 0%, transparent 100%);
  animation: mfg-sky 15s ease-in-out infinite alternate;
}
.scn-mummy-found-garden .moon {
  position: absolute; top: 8%; right: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d0d0e0 0%, #a0a0c0 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(160,160,200,0.5), 0 0 80px 20px rgba(160,160,200,0.2);
  animation: mfg-moon 20s ease-in-out infinite alternate;
}
.scn-mummy-found-garden .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
  animation: mfg-ground 12s ease-in-out infinite alternate;
}
.scn-mummy-found-garden .shrub-left {
  position: absolute; bottom: 30%; left: 10%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 60% 40% 50% 50% / 70% 60% 40% 50%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
  animation: mfg-shrub 8s ease-in-out infinite alternate;
}
.scn-mummy-found-garden .shrub-right {
  position: absolute; bottom: 28%; right: 10%; width: 60px; height: 35px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 40% 60% 50% 50% / 60% 70% 40% 50%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
  animation: mfg-shrub 10s ease-in-out infinite alternate-reverse;
}
.scn-mummy-found-garden .mummy-case {
  position: absolute; bottom: 22%; left: 50%; width: 40px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  animation: mfg-case 6s ease-in-out infinite;
}
.scn-mummy-found-garden .figure-archie {
  position: absolute; bottom: 24%; left: 42%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mfg-figure 5s ease-in-out infinite;
}
.scn-mummy-found-garden .cloud {
  position: absolute; top: 12%; left: 10%; width: 80px; height: 16px;
  background: linear-gradient(90deg, rgba(180,180,220,0.4) 0%, rgba(200,200,240,0.1) 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: mfg-cloud 45s linear infinite;
}
@keyframes mfg-sky { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mfg-moon { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-5px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes mfg-ground { 0% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } 100% { transform: scaleY(1) } }
@keyframes mfg-shrub { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(1) } }
@keyframes mfg-case { 0%,100% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(-2px) } }
@keyframes mfg-figure { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(4px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mfg-cloud { 0% { transform: translateX(-40px) } 100% { transform: translateX(120vw) } }

.scn-archie-examines-mummy-case {
  background: linear-gradient(180deg, #1e1e3a 0%, #2a224a 40%, #3a2a5a 100%),
              radial-gradient(ellipse at 50% 80%, #4a3a6a 0%, transparent 60%);
}
.scn-archie-examines-mummy-case .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,30,60,0.8) 0%, transparent 60%, rgba(0,0,0,0.6) 100%);
  animation: aem-ambient 14s ease-in-out infinite alternate;
}
.scn-archie-examines-mummy-case .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a4a 0%, #1a1a3a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-archie-examines-mummy-case .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 75%;
  background: linear-gradient(180deg, #3a2a5a 0%, #2a224a 100%);
  border-radius: 0 0 40% 60% / 0 0 30% 40%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.4);
}
.scn-archie-examines-mummy-case .mummy-case {
  position: absolute; bottom: 18%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%) rotate(-2deg);
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.7), inset 0 2px 4px rgba(255,255,255,0.05);
  animation: aem-case 7s ease-in-out infinite;
}
.scn-archie-examines-mummy-case .figure-archie {
  position: absolute; bottom: 20%; left: 38%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aem-figure 4s ease-in-out infinite;
}
.scn-archie-examines-mummy-case .lamp {
  position: absolute; bottom: 28%; left: 36%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #c8a050 0%, #8a6a30 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 16px 4px rgba(200,160,80,0.5);
  animation: aem-lamp 3s ease-in-out infinite alternate;
}
.scn-archie-examines-mummy-case .lantern-glow {
  position: absolute; bottom: 28%; left: 36%; width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(200,160,80,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: aem-glow 3s ease-in-out infinite alternate;
}
@keyframes aem-ambient { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes aem-case { 0%,100% { transform: translateX(-50%) rotate(-2deg) } 50% { transform: translateX(-50%) rotate(-1deg) translateY(-3px) } }
@keyframes aem-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(6px) rotate(1deg) } 50% { transform: translateX(12px) rotate(0deg) } 75% { transform: translateX(6px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes aem-lamp { 0% { box-shadow: 0 0 12px 2px rgba(200,160,80,0.4); opacity:0.9 } 50% { box-shadow: 0 0 25px 8px rgba(200,160,80,0.7); opacity:1 } 100% { box-shadow: 0 0 16px 4px rgba(200,160,80,0.5); opacity:0.95 } }
@keyframes aem-glow { 0% { transform: scale(1); opacity:0.6 } 50% { transform: scale(1.2); opacity:0.9 } 100% { transform: scale(1); opacity:0.7 } }

.scn-item-green-mummy-manuscript {
  background: linear-gradient(180deg, #1a140e 0%, #2a1e14 30%, #1a120c 100%),
              radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 70%);
}
.scn-item-green-mummy-manuscript .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,20,10,0.7) 0%, transparent 50%, rgba(0,0,0,0.9) 100%);
  animation: igm-ambient 16s ease-in-out infinite alternate;
}
.scn-item-green-mummy-manuscript .desk {
  position: absolute; bottom: 18%; left: 50%; width: 120px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 50%, #4a3a2a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: igm-desk 9s ease-in-out infinite;
}
.scn-item-green-mummy-manuscript .manuscript {
  position: absolute; bottom: 28%; left: 48%; width: 50px; height: 30px;
  transform: translateX(-50%) rotate(3deg);
  background: linear-gradient(135deg, #7a8a5a 0%, #5a6a3a 50%, #4a5a2a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 0 6px rgba(255,255,200,0.1);
  animation: igm-manuscript 5s ease-in-out infinite alternate;
}
.scn-item-green-mummy-manuscript .emerald {
  position: absolute; bottom: 32%; left: 52%; width: 10px; height: 12px;
  transform: translateX(-50%) rotate(15deg);
  background: radial-gradient(circle, #80c060 0%, #408020 100%);
  border-radius: 20% 60% 60% 20% / 30% 50% 50% 30%;
  box-shadow: 0 0 16px 4px rgba(64,128,32,0.6), 0 0 32px 8px rgba(64,128,32,0.3);
  animation: igm-emerald 4s ease-in-out infinite alternate;
}
.scn-item-green-mummy-manuscript .lamp {
  position: absolute; bottom: 32%; left: 36%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #c8a050 0%, #8a6a30 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.5);
  animation: igm-lamp 3s ease-in-out infinite alternate;
}
.scn-item-green-mummy-manuscript .shadow {
  position: absolute; bottom: 22%; left: 46%; width: 60px; height: 10px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(4px);
  animation: igm-shadow 5s ease-in-out infinite;
}
.scn-item-green-mummy-manuscript .hand {
  position: absolute; bottom: 28%; left: 42%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: igm-hand 6s ease-in-out infinite;
}
.scn-item-green-mummy-manuscript .mummy-case-small {
  position: absolute; bottom: 30%; right: 16%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: igm-case-small 10s ease-in-out infinite alternate;
}
@keyframes igm-ambient { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes igm-desk { 0%,100% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.03); } }
@keyframes igm-manuscript { 0% { transform: translateX(-50%) rotate(3deg) scale(1); } 50% { transform: translateX(-50%) rotate(5deg) scale(1.02); } 100% { transform: translateX(-50%) rotate(3deg) scale(1); } }
@keyframes igm-emerald { 0% { box-shadow: 0 0 12px 2px rgba(64,128,32,0.4); opacity:0.8; } 50% { box-shadow: 0 0 28px 8px rgba(64,128,32,0.7); opacity:1; } 100% { box-shadow: 0 0 18px 4px rgba(64,128,32,0.5); opacity:0.9; } }
@keyframes igm-lamp { 0% { box-shadow: 0 0 15px 4px rgba(200,160,80,0.4); } 50% { box-shadow: 0 0 30px 10px rgba(200,160,80,0.7); } 100% { box-shadow: 0 0 20px 6px rgba(200,160,80,0.5); } }
@keyframes igm-shadow { 0% { transform: scaleX(1); } 25% { transform: scaleX(1.1); } 50% { transform: scaleX(1); } 75% { transform: scaleX(1.1); } 100% { transform: scaleX(1); } }
@keyframes igm-hand { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(5deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(4px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes igm-case-small { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
/* end per-scene blocks */
