/* style.css -- merged from per-tier scene CSS by wizard2.stages.build_deploy */
/* Scene root must fill its positioning container. */
.scn { position: absolute; inset: 0; }

/* ============ tier U ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-item-poisoned-dagger {
  background: 
    linear-gradient(135deg, #1a1410 0%, #2b1f15 40%, #1a1410 100%),
    radial-gradient(ellipse at 70% 60%, #3a2a1a 0%, transparent 80%);
}
.scn-item-poisoned-dagger .bg-shadow {
  position: absolute; inset: 0; 
  background: radial-gradient(ellipse at 50% 80%, #0d0a08 30%, transparent 100%);
  animation: dg-pulse 8s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .table {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f150e 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.6);
  transform: perspective(800px) rotateX(15deg);
}
.scn-item-poisoned-dagger .dagger-blade {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #8a7a70 0%, #5a4a40 100%);
  border-radius: 2% 10% 10% 2%;
  transform: rotate(-15deg) skewX(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 2px 4px #b0a098;
  animation: dg-gleam 4s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .dagger-hilt {
  position: absolute; bottom: 30%; left: 18%; width: 14%; height: 10%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a10 100%);
  border-radius: 20% 20% 5% 5% / 40% 40% 20% 20%;
  transform: rotate(-15deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-item-poisoned-dagger .poison-drop {
  position: absolute; bottom: 38%; left: 50%; width: 6px; height: 8px;
  background: radial-gradient(circle, #6a7a3a 0%, #3a4a1a 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px 2px rgba(90,110,40,0.5);
  animation: dg-drip 3s ease-in-out infinite;
}
.scn-item-poisoned-dagger .glow-lamp {
  position: absolute; top: 15%; right: 20%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffc080 0%, #b06030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(192,96,48,0.4);
  animation: dg-flicker 2s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .shadow-figure {
  position: absolute; top: 40%; left: 75%; width: 12%; height: 35%;
  background: linear-gradient(180deg, rgba(15,10,8,0.8) 0%, #0a0705 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  filter: blur(2px);
  opacity: 0.7;
  animation: dg-shift 6s ease-in-out infinite;
}
@keyframes dg-pulse { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes dg-gleam { 0% { filter:brightness(0.8); } 50% { filter:brightness(1.2); } 100% { filter:brightness(0.9); } }
@keyframes dg-drip { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(1.1); opacity:0.9; } 100% { transform:translateY(0) scale(1); opacity:1; } }
@keyframes dg-flicker { 0% { opacity:0.6; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.7; transform:scale(0.98); } }
@keyframes dg-shift { 0% { transform:translateX(0) translateY(0); } 50% { transform:translateX(-5px) translateY(3px); } 100% { transform:translateX(0) translateY(0); } }

/* knife-excision-plan: tense, dim interior */

.scn-item-chloroform-bottle {
  background: 
    linear-gradient(135deg, #1a1a14 0%, #2a2a1f 40%, #12120e 100%),
    radial-gradient(ellipse at 60% 70%, #2a3a2a 0%, transparent 80%);
}
.scn-item-chloroform-bottle .bg-murky {
  position: absolute; inset:0; 
  background: radial-gradient(ellipse at 50% 80%, #0f0f0c 30%, transparent 100%);
  animation: ch-pulse 8s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .shelf {
  position: absolute; bottom:15%; left:10%; right:10%; height:6%;
  background: linear-gradient(180deg, #3a3020 0%, #1a140e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-item-chloroform-bottle .bottle-body {
  position: absolute; bottom:22%; left:38%; width:24%; height:40%;
  background: linear-gradient(180deg, rgba(40,60,40,0.7) 0%, rgba(20,40,20,0.9) 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5), inset 0 4px 8px rgba(80,120,80,0.3);
  transform: perspective(500px) rotateY(-5deg);
  animation: ch-sway 5s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .bottle-neck {
  position: absolute; bottom:62%; left:44%; width:12%; height:12%;
  background: linear-gradient(180deg, rgba(50,70,50,0.6) 0%, rgba(25,45,25,0.8) 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: inset 0 2px 4px rgba(80,120,80,0.2);
}
.scn-item-chloroform-bottle .bottle-cork {
  position: absolute; bottom:72%; left:46%; width:8%; height:4%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-item-chloroform-bottle .label {
  position: absolute; bottom:35%; left:39%; width:22%; height:12%;
  background: linear-gradient(180deg, #c8b898 0%, #a09070 100%);
  border-radius: 5%;
  box-shadow: inset 0 1px 2px rgba(255,255,200,0.2);
  opacity: 0.9;
}
.scn-item-chloroform-bottle .shadow-bottle {
  position: absolute; bottom:14%; left:36%; width:28%; height:8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  border-radius: 50%;
  animation: ch-shadow 5s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .dust-particle {
  position: absolute; top:25%; left:30%; width:4px; height:4px;
  background: rgba(200,200,180,0.3);
  border-radius: 50%;
  filter: blur(1px);
  animation: ch-dust 12s linear infinite;
}
@keyframes ch-pulse { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes ch-sway { 0% { transform:perspective(500px) rotateY(-4deg); } 50% { transform:perspective(500px) rotateY(0deg); } 100% { transform:perspective(500px) rotateY(-6deg); } }
@keyframes ch-shadow { 0% { transform:scaleX(1); opacity:0.6; } 50% { transform:scaleX(0.9); opacity:0.8; } 100% { transform:scaleX(1.05); opacity:0.5; } }
@keyframes ch-dust { 0% { transform:translateY(0) translateX(0); opacity:0; } 20% { opacity:0.5; } 80% { opacity:0.3; } 100% { transform:translateY(-50px) translateX(30px); opacity:0; } }

/* cab-ride-darkness: dark, rain */

.scn-consultation-with-merchant { background: linear-gradient(180deg, #1a1410 0%, #2a2018 40%, #1e1612 100%), radial-gradient(ellipse at 50% 30%, #3a2820 0%, transparent 70%); }
.scn-consultation-with-merchant .bg-wall { position: absolute; inset: 0 0 35% 0; background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.6); }
.scn-consultation-with-merchant .table { position: absolute; bottom: 10%; left: 20%; width: 60%; height: 20%; background: linear-gradient(180deg, #3a2a1e 0%, #2a1a10 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.5); }
.scn-consultation-with-merchant .lamp { position: absolute; bottom: 30%; left: 50%; width: 16px; height: 24px; transform: translateX(-50%); background: radial-gradient(circle, #b08050 0%, #8a6030 60%, transparent 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 20px rgba(176,128,80,0.3), 0 0 60px 30px rgba(176,128,80,0.15); animation: cm-lamp 3s ease-in-out infinite alternate; }
.scn-consultation-with-merchant .figure-left { position: absolute; bottom: 12%; left: 25%; width: 30px; height: 60px; background: linear-gradient(180deg, #1a1010 0%, #0a0808 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cm-figure-left 5s ease-in-out infinite; }
.scn-consultation-with-merchant .figure-right { position: absolute; bottom: 12%; right: 25%; width: 32px; height: 64px; background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cm-figure-right 5s ease-in-out infinite reverse; }
.scn-consultation-with-merchant .shadow-floor { position: absolute; bottom: 0; left: 10%; width: 80%; height: 12%; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 30% 70% 0 0; filter: blur(4px); }
.scn-consultation-with-merchant .shelf { position: absolute; top: 15%; left: 15%; width: 70%; height: 4px; background: #2a1a10; box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
.scn-consultation-with-merchant .bottle { position: absolute; top: 10%; left: 30%; width: 10px; height: 18px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 8px rgba(0,0,0,0.3); animation: cm-bottle 12s ease-in-out infinite; }
@keyframes cm-lamp { 0% { box-shadow: 0 0 30px 10px rgba(176,128,80,0.3); } 50% { box-shadow: 0 0 50px 25px rgba(176,128,80,0.4); } 100% { box-shadow: 0 0 35px 15px rgba(176,128,80,0.2); } }
@keyframes cm-figure-left { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 30% { transform: translateX(3px) translateY(-1px) rotate(1deg); } 70% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes cm-figure-right { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 30% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); } 70% { transform: translateX(2px) translateY(1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes cm-bottle { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

.scn-item-poisoned-dagger { background: linear-gradient(180deg, #120e0c 0%, #1c1614 50%, #0e0a08 100%), radial-gradient(ellipse at 30% 50%, #2a1e1a 0%, transparent 60%); }
.scn-item-poisoned-dagger .bg-dark { position: absolute; inset: 0; background: linear-gradient(180deg, #0e0a08 0%, #1a1412 100%); }
.scn-item-poisoned-dagger .table-close { position: absolute; bottom: 0; left: 5%; width: 90%; height: 30%; background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%); border-radius: 6% 6% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); }
.scn-item-poisoned-dagger .hand { position: absolute; bottom: 20%; left: 45%; width: 40px; height: 50px; background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%); border-radius: 40% 40% 50% 50% / 50% 50% 60% 60%; transform-origin: bottom center; animation: pd-hand 4s ease-in-out infinite; }
.scn-item-poisoned-dagger .dagger { position: absolute; bottom: 25%; left: 48%; width: 8px; height: 60px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a20 100%); border-radius: 20% 20% 0 0; transform: translateX(-50%) rotate(-15deg); box-shadow: 0 0 6px rgba(0,0,0,0.5); animation: pd-dagger 4s ease-in-out infinite; }
.scn-item-poisoned-dagger .poison-drop { position: absolute; bottom: 28%; left: 49%; width: 6px; height: 8px; background: radial-gradient(circle, #c8553d 0%, #8a3a2a 60%); border-radius: 50%; box-shadow: 0 0 10px 2px rgba(200,85,61,0.4); animation: pd-drop 2s ease-in-out infinite; }
.scn-item-poisoned-dagger .glow-hint { position: absolute; bottom: 26%; left: 48%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(176,128,80,0.15) 0%, transparent 100%); border-radius: 50%; filter: blur(8px); }
.scn-item-poisoned-dagger .shadow-dagger { position: absolute; bottom: 18%; left: 48%; width: 6px; height: 40px; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%); transform: rotate(-15deg); filter: blur(2px); }
@keyframes pd-hand { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes pd-dagger { 0% { transform: translateX(-50%) rotate(-15deg); } 30% { transform: translateX(-50%) rotate(-17deg); } 70% { transform: translateX(-50%) rotate(-13deg); } 100% { transform: translateX(-50%) rotate(-15deg); } }
@keyframes pd-drop { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.3; transform: scale(0.9); } }

.scn-poison-symptoms { background: linear-gradient(180deg, #141012 0%, #1e1a1c 50%, #0e0c0e 100%), radial-gradient(ellipse at 50% 80%, #2a2224 0%, transparent 60%); }
.scn-poison-symptoms .bg-bedroom { position: absolute; inset: 0; background: linear-gradient(180deg, #1e1a1c 0%, #121012 100%); }
.scn-poison-symptoms .bed { position: absolute; bottom: 8%; left: 15%; width: 70%; height: 40%; background: linear-gradient(180deg, #2a2220 0%, #1a1416 100%); border-radius: 6% 6% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.5); }
.scn-poison-symptoms .body { position: absolute; bottom: 20%; left: 25%; width: 50%; height: 25%; background: linear-gradient(180deg, #1e181a 0%, #0e0a0c 100%); border-radius: 20% 20% 30% 30% / 50% 50% 40% 40%; animation: ps-breath 6s ease-in-out infinite; }
.scn-poison-symptoms .pillow { position: absolute; bottom: 38%; left: 22%; width: 20%; height: 8%; background: linear-gradient(180deg, #2a2220 0%, #1a1416 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); }
.scn-poison-symptoms .blanket { position: absolute; bottom: 16%; left: 20%; width: 60%; height: 12%; background: linear-gradient(180deg, #3a2e2c 0%, #2a1e1c 100%); border-radius: 10% 10% 0 0; filter: blur(1px); }
.scn-poison-symptoms .lamp-faint { position: absolute; top: 10%; right: 15%; width: 12px; height: 18px; background: radial-gradient(circle, #8a7050 0%, #4a382a 80%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 30px 15px rgba(138,112,80,0.15); animation: ps-lamp 8s ease-in-out infinite alternate; }
.scn-poison-symptoms .shadow-sick { position: absolute; bottom: 0; left: 10%; width: 80%; height: 14%; background: linear-gradient(180deg, #0e0c0e 0%, #050404 100%); border-radius: 40% 60% 0 0; filter: blur(6px); }
@keyframes ps-breath { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.04); } 100% { transform: scaleY(1); } }
@keyframes ps-lamp { 0% { opacity: 0.6; box-shadow: 0 0 20px 10px rgba(138,112,80,0.1); } 50% { opacity: 1; box-shadow: 0 0 40px 20px rgba(138,112,80,0.2); } 100% { opacity: 0.7; box-shadow: 0 0 25px 12px rgba(138,112,80,0.12); } }

.scn-surgeon-agrees { background: linear-gradient(180deg, #161210 0%, #221c18 50%, #100e0c 100%), radial-gradient(ellipse at 60% 40%, #2a1e1a 0%, transparent 70%); }
.scn-surgeon-agrees .bg-surgery { position: absolute; inset: 0; background: linear-gradient(180deg, #1a1614 0%, #100e0c 100%); }
.scn-surgeon-agrees .table-surgery { position: absolute; bottom: 5%; left: 10%; width: 80%; height: 25%; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.5); }
.scn-surgeon-agrees .surgeon-silhouette { position: absolute; bottom: 20%; left: 35%; width: 40px; height: 70px; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sa-surgeon 6s ease-in-out infinite; }
.scn-surgeon-agrees .saw { position: absolute; bottom: 22%; left: 58%; width: 6px; height: 50px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a20 100%); border-radius: 10% 10% 0 0; transform: rotate(20deg); transform-origin: bottom center; animation: sa-saw 4s ease-in-out infinite; }
.scn-surgeon-agrees .lamp-surgery { position: absolute; top: 10%; left: 55%; width: 20px; height: 16px; background: radial-gradient(circle, #b08050 0%, #8a6030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 50px 25px rgba(176,128,80,0.2); animation: sa-lamp 5s ease-in-out infinite alternate; }
.scn-surgeon-agrees .shadow-arm { position: absolute; bottom: 18%; left: 30%; width: 50px; height: 20px; background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(6px); }
.scn-surgeon-agrees .bottle-ether { position: absolute; top: 8%; right: 12%; width: 12px; height: 22px; background: linear-gradient(180deg, #3a2e2a 0%, #1e1614 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 6px rgba(0,0,0,0.3); }
@keyframes sa-surgeon { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 70% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sa-saw { 0% { transform: rotate(20deg); } 30% { transform: rotate(22deg); } 70% { transform: rotate(18deg); } 100% { transform: rotate(20deg); } }
@keyframes sa-lamp { 0% { opacity: 0.7; box-shadow: 0 0 30px 15px rgba(176,128,80,0.15); } 50% { opacity: 1; box-shadow: 0 0 60px 30px rgba(176,128,80,0.3); } 100% { opacity: 0.8; box-shadow: 0 0 40px 20px rgba(176,128,80,0.2); } }

.scn-horror-revelation { background: linear-gradient(180deg, #1a0e05 0%, #3a1a0a 40%, #4a2a10 100%), radial-gradient(ellipse at 60% 40%, #6a3010 0%, transparent 70%); }
.scn-horror-revelation .bg-fire { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,100,20,0.05) 0%, rgba(200,60,10,0.1) 50%, transparent 100%); animation: hr-flicker 4s ease-in-out infinite; }
.scn-horror-revelation .couch { position:absolute; bottom:10%; left:20%; width:60%; height:35%; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a02 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6); }
.scn-horror-revelation .figure-patient { position:absolute; bottom:20%; left:30%; width:30%; height:40%; background: linear-gradient(180deg, #2a1008 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hr-patient 8s ease-in-out infinite; }
.scn-horror-revelation .hand-gap { position:absolute; bottom:38%; left:45%; width:8%; height:6%; background: radial-gradient(circle, #4a2010 0%, #2a0a00 70%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 10px 2px rgba(200,60,10,0.4); animation: hr-gap 3s ease-in-out infinite alternate; }
.scn-horror-revelation .figure-doctor { position:absolute; bottom:15%; right:15%; width:20%; height:50%; background: linear-gradient(270deg, #1a0e05 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: hr-doctor 6s ease-in-out infinite; }
.scn-horror-revelation .knife { position:absolute; bottom:30%; right:22%; width:3%; height:12%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2010 100%); border-radius: 10% 10% 5% 5%; transform: rotate(20deg); box-shadow: 0 0 8px 2px rgba(200,100,20,0.3); animation: hr-knife 3s ease-in-out infinite alternate; }
.scn-horror-revelation .forceps { position:absolute; bottom:32%; right:18%; width:3%; height:8%; background: linear-gradient(180deg, #5a3a1a 0%, #2a1408 100%); border-radius: 20% 20% 10% 10%; transform: rotate(-10deg); box-shadow: 0 0 6px 1px rgba(200,80,10,0.3); animation: hr-forceps 2.5s ease-in-out infinite alternate; }
.scn-horror-revelation .flame { position:absolute; bottom:5%; left:50%; width:8%; height:15%; background: radial-gradient(ellipse at 50% 100%, #ff6a20 0%, #c04010 40%, #802000 70%, transparent 100%); border-radius: 50% 50% 20% 20%; filter: blur(2px); box-shadow: 0 0 30px 8px rgba(255,100,20,0.3); animation: hr-flame 2s ease-in-out infinite alternate; }
@keyframes hr-flicker { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes hr-patient { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(0.95) translateY(2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes hr-gap { 0% { transform: scale(1) rotate(0deg); opacity:0.6; } 50% { transform: scale(1.1) rotate(3deg); opacity:1; } 100% { transform: scale(1) rotate(0deg); opacity:0.7; } }
@keyframes hr-doctor { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(2deg); } }
@keyframes hr-knife { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes hr-forceps { 0% { transform: rotate(-15deg) scaleY(1); } 50% { transform: rotate(-5deg) scaleY(1.1); } 100% { transform: rotate(-15deg) scaleY(1); } }
@keyframes hr-flame { 0% { transform: scaleY(1) translateY(0); opacity:0.8; } 50% { transform: scaleY(1.3) translateY(-5px); opacity:1; } 100% { transform: scaleY(0.9) translateY(2px); opacity:0.7; } }

.scn-discovery-of-trick { background: linear-gradient(180deg, #2a1408 0%, #4a2010 40%, #1a0a02 100%), radial-gradient(ellipse at 70% 50%, #6a3010 0%, transparent 70%); }
.scn-discovery-of-trick .bg-fire { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,80,10,0.08) 0%, rgba(200,50,10,0.12) 50%, transparent 100%); animation: dt-flicker 3.5s ease-in-out infinite; }
.scn-discovery-of-trick .wall { position:absolute; bottom:20%; left:10%; width:80%; height:60%; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a02 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.7); }
.scn-discovery-of-trick .turk-mask { position:absolute; bottom:40%; left:25%; width:15%; height:20%; background: linear-gradient(180deg, #6a3a1a 0%, #3a1a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 0 12px 3px rgba(200,80,20,0.3); animation: dt-mask 5s ease-in-out infinite; }
.scn-discovery-of-trick .lord-sannox { position:absolute; bottom:15%; right:20%; width:18%; height:45%; background: linear-gradient(180deg, #2a1008 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: dt-sannox 7s ease-in-out infinite; }
.scn-discovery-of-trick .hand-side { position:absolute; bottom:35%; right:28%; width:6%; height:12%; background: radial-gradient(circle, #3a1a0a 0%, #1a0a02 70%); border-radius: 40% 40% 20% 20%; transform: rotate(-15deg); box-shadow: inset 0 0 5px rgba(0,0,0,0.5); animation: dt-hand 4s ease-in-out infinite alternate; }
.scn-discovery-of-trick .laugh-shadow { position:absolute; bottom:18%; right:18%; width:15%; height:30%; background: linear-gradient(180deg, transparent 0%, #0a0502 100%); opacity:0.5; border-radius: 30% 30% 20% 20%; animation: dt-laugh 3s ease-in-out infinite alternate; }
.scn-discovery-of-trick .table-beard { position:absolute; bottom:45%; left:15%; width:20%; height:10%; background: linear-gradient(180deg, #5a2a10 0%, #2a1005 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 8px 2px rgba(200,80,10,0.2); animation: dt-table 8s linear infinite; }
@keyframes dt-flicker { 0%,100% { opacity:0.7; } 50% { opacity:1; } }
@keyframes dt-mask { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(2deg); } 100% { transform: scale(1) rotate(-1deg); } }
@keyframes dt-sannox { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(1deg); } }
@keyframes dt-hand { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes dt-laugh { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.7; transform: scaleY(1.1); } 100% { opacity:0.4; transform: scaleY(0.95); } }
@keyframes dt-table { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-confession-miscarriage { background: linear-gradient(180deg, #1a0e05 0%, #3a1a08 50%, #2a0e02 100%), radial-gradient(ellipse at 40% 60%, #5a2a10 0%, transparent 70%); }
.scn-confession-miscarriage .bg-fire { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,90,15,0.06) 0%, rgba(200,60,10,0.1) 50%, transparent 100%); animation: cm-flicker 4.5s ease-in-out infinite; }
.scn-confession-miscarriage .couch { position:absolute; bottom:12%; left:25%; width:50%; height:30%; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a02 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6); }
.scn-confession-miscarriage .marion-figure { position:absolute; bottom:20%; left:35%; width:20%; height:35%; background: linear-gradient(180deg, #2a1008 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-marion 6s ease-in-out infinite; }
.scn-confession-miscarriage .doctor-stone { position:absolute; bottom:15%; right:20%; width:18%; height:45%; background: linear-gradient(180deg, #1a0e05 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: cm-stone 8s ease-in-out infinite; }
.scn-confession-miscarriage .knife-drop { position:absolute; bottom:28%; right:25%; width:2%; height:8%; background: linear-gradient(180deg, #5a3a1a 0%, #2a1408 100%); border-radius: 10% 10% 5% 5%; transform: rotate(30deg); box-shadow: 0 0 6px 1px rgba(200,100,10,0.3); animation: cm-knife 4s ease-in-out infinite alternate; }
.scn-confession-miscarriage .coverlet-fringe { position:absolute; bottom:18%; left:28%; width:40%; height:5%; background: repeating-linear-gradient(90deg, #4a2a10 0px, #4a2a10 3px, #1a0a02 3px, #1a0a02 6px); border-radius: 0 0 20% 20%; animation: cm-fringe 3s ease-in-out infinite alternate; }
.scn-confession-miscarriage .hand-forceps { position:absolute; bottom:30%; right:22%; width:5%; height:10%; background: radial-gradient(circle, #3a1a0a 0%, #1a0a02 70%); border-radius: 40% 40% 20% 20%; transform: rotate(-5deg); box-shadow: inset 0 0 5px rgba(0,0,0,0.5); animation: cm-hand 2.5s ease-in-out infinite alternate; }
@keyframes cm-flicker { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes cm-marion { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(0.95) translateY(3px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes cm-stone { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(1deg); } }
@keyframes cm-knife { 0% { transform: rotate(25deg) translateY(0); } 50% { transform: rotate(35deg) translateY(-2px); } 100% { transform: rotate(25deg) translateY(0); } }
@keyframes cm-fringe { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes cm-hand { 0% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(0deg) scale(1.1); } 100% { transform: rotate(-10deg) scale(1); } }

.scn-revolver-threat { background: linear-gradient(180deg, #1a0e05 0%, #3a1a08 40%, #2a0e02 100%), radial-gradient(ellipse at 50% 30%, #5a2a10 0%, transparent 60%); }
.scn-revolver-threat .bg-fire { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,80,10,0.08) 0%, rgba(200,50,10,0.12) 50%, transparent 100%); animation: rt-flicker 3s ease-in-out infinite; }
.scn-revolver-threat .wall { position:absolute; bottom:15%; left:5%; width:90%; height:70%; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a02 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 -15px 25px rgba(0,0,0,0.7); }
.scn-revolver-threat .figure-leaning { position:absolute; bottom:10%; left:30%; width:20%; height:55%; background: linear-gradient(180deg, #2a1008 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: rt-lean 7s ease-in-out infinite; }
.scn-revolver-threat .revolver-hand { position:absolute; bottom:25%; left:40%; width:5%; height:15%; background: radial-gradient(circle, #4a2a10 0%, #1a0a02 70%); border-radius: 30% 30% 20% 20%; transform: rotate(20deg); box-shadow: 0 0 8px 2px rgba(200,80,10,0.3); animation: rt-hand 4s ease-in-out infinite alternate; }
.scn-revolver-threat .signet-ring { position:absolute; bottom:30%; left:42%; width:3%; height:3%; background: radial-gradient(circle, #8a6a2a 0%, #4a2a10 100%); border-radius: 50%; box-shadow: 0 0 6px 1px rgba(200,150,50,0.2); animation: rt-ring 3s ease-in-out infinite alternate; }
.scn-revolver-threat .coat-pocket { position:absolute; bottom:20%; left:38%; width:10%; height:12%; background: #1a0a02; border-radius: 10% 10% 20% 20%; border: 2px solid #3a1a0a; animation: rt-pocket 5s ease-in-out infinite; }
.scn-revolver-threat .shadow-intense { position:absolute; bottom:0; left:20%; width:60%; height:40%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); animation: rt-shadow 6s ease-in-out infinite alternate; }
@keyframes rt-flicker { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes rt-lean { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes rt-hand { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes rt-ring { 0% { transform: scale(1); opacity:0.7; } 50% { transform: scale(1.2); opacity:1; } 100% { transform: scale(1); opacity:0.8; } }
@keyframes rt-pocket { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes rt-shadow { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }

.scn-patient-arrival {
  background: 
    radial-gradient(ellipse at 30% 60%, #8a3e1a 0%, transparent 60%),
    linear-gradient(180deg, #3a1a0a 0%, #5a2a12 40%, #2a0a04 100%);
}
.scn-patient-arrival .door {
  position: absolute; left: 5%; top: 10%; width: 20%; height: 70%;
  background: linear-gradient(90deg, #4a2a1a 0%, #3a1a0a 50%, #5a3a22 100%);
  border-radius: 4% 0 0 4%;
  box-shadow: inset -4px 0 12px rgba(0,0,0,.6);
  animation: pa-door 6s ease-in-out infinite alternate;
}
.scn-patient-arrival .fireplace {
  position: absolute; right: 8%; bottom: 30%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 40%, #d06020 0%, #8a3a12 40%, #2a0a04 80%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 0 60px 20px rgba(200,80,20,.4);
  animation: pa-fire 3s ease-in-out infinite alternate;
}
.scn-patient-arrival .desk {
  position: absolute; left: 35%; bottom: 10%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #5a3a22 0%, #3a1a0a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,.5);
  animation: pa-desk 8s ease-in-out infinite;
}
.scn-patient-arrival .chair {
  position: absolute; left: 42%; bottom: 0; width: 16%; height: 25%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a0a04 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: pa-chair 7s ease-in-out infinite alternate;
}
.scn-patient-arrival .butler {
  position: absolute; left: 55%; bottom: 15%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a0a04 0%, #1a0a02 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: rotate(-5deg);
  animation: pa-butler 4s ease-in-out infinite;
}
.scn-patient-arrival .shadows {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 80%, rgba(10,2,0,.5) 0%, transparent 70%);
  animation: pa-shadow 9s ease-in-out infinite alternate;
}
@keyframes pa-door {
  0% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(1.02) translateX(2px); }
  100% { transform: scaleX(.98) translateX(-1px); }
}
@keyframes pa-fire {
  0% { opacity: .7; box-shadow: 0 0 40px 10px rgba(200,80,20,.3); }
  50% { opacity: 1; box-shadow: 0 0 80px 30px rgba(230,100,30,.6); }
  100% { opacity: .8; box-shadow: 0 0 50px 15px rgba(200,80,20,.4); }
}
@keyframes pa-desk {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes pa-chair {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes pa-butler {
  0% { transform: rotate(-5deg) translateX(0); }
  33% { transform: rotate(-4deg) translateX(3px); }
  66% { transform: rotate(-6deg) translateX(-2px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes pa-shadow {
  0% { opacity: .4; }
  50% { opacity: 1; }
  100% { opacity: .5; }
}

.scn-item-card {
  background: 
    radial-gradient(ellipse at 60% 70%, #7a3012 0%, transparent 60%),
    linear-gradient(180deg, #1a0a02 0%, #3a1a0a 40%, #5a2a12 80%, #1a0a02 100%);
}
.scn-item-card .table-top {
  position: absolute; left: 10%; right: 10%; bottom: 0; height: 35%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a0a04 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,.4);
  animation: ic-table 10s ease-in-out infinite;
}
.scn-item-card .salver {
  position: absolute; left: 48%; bottom: 30%; width: 16%; height: 8%;
  background: radial-gradient(ellipse, #b08040 0%, #8a6a2a 60%, #5a3a12 100%);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5), inset 0 2px 6px #d0b070;
  transform: translateX(-50%);
  animation: ic-salver 5s ease-in-out infinite alternate;
}
.scn-item-card .card {
  position: absolute; left: 50%; bottom: 36%; width: 10%; height: 14%;
  background: linear-gradient(135deg, #e8d8b0 0%, #c0a870 50%, #a08050 100%);
  border-radius: 4%;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  transform: translateX(-50%) rotate(5deg);
  animation: ic-card 3s ease-in-out infinite;
}
.scn-item-card .hand {
  position: absolute; left: 45%; bottom: 34%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ic-hand 4s ease-in-out infinite alternate;
}
.scn-item-card .fire-glow {
  position: absolute; right: 10%; bottom: 40%; width: 30%; height: 40%;
  background: radial-gradient(ellipse, #d07020 0%, #a05018 40%, transparent 70%);
  filter: blur(8px);
  animation: ic-glow 3s ease-in-out infinite alternate;
}
.scn-item-card .shadow {
  position: absolute; left: 30%; bottom: 0; width: 40%; height: 10%;
  background: radial-gradient(ellipse, rgba(10,2,0,.6) 0%, transparent 70%);
  animation: ic-shadow 7s ease-in-out infinite alternate;
}
@keyframes ic-table {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes ic-salver {
  0% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(3deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(-2deg); }
}
@keyframes ic-card {
  0% { transform: translateX(-50%) rotate(5deg); }
  50% { transform: translateX(-48%) rotate(7deg); }
  100% { transform: translateX(-52%) rotate(4deg); }
}
@keyframes ic-hand {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ic-glow {
  0% { opacity: .5; filter: blur(8px); }
  50% { opacity: 1; filter: blur(12px); }
  100% { opacity: .6; filter: blur(6px); }
}
@keyframes ic-shadow {
  0%,100% { opacity: .3; }
  50% { opacity: .7; }
}

.scn-hamil-ali-enters {
  background: 
    radial-gradient(ellipse at 30% 50%, #6a2a12 0%, transparent 50%),
    linear-gradient(180deg, #0a0200 0%, #2a0a04 40%, #1a0a02 100%);
}
.scn-hamil-ali-enters .doorway {
  position: absolute; left: 10%; top: 5%; width: 25%; height: 90%;
  background: linear-gradient(90deg, #3a1a0a 0%, #2a0a04 50%, #4a2a12 100%);
  border-radius: 0 20% 20% 0;
  box-shadow: inset 8px 0 20px rgba(0,0,0,.6);
  animation: he-door 8s ease-in-out infinite alternate;
}
.scn-hamil-ali-enters .figure {
  position: absolute; left: 20%; bottom: 10%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #1a0a02 0%, #0a0200 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(5deg) scaleX(0.8);
  animation: he-figure 5s ease-in-out infinite;
}
.scn-hamil-ali-enters .stick {
  position: absolute; left: 28%; bottom: 8%; width: 3%; height: 45%;
  background: linear-gradient(180deg, #5a3a22 0%, #3a1a0a 100%);
  border-radius: 20%;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: he-stick 4s ease-in-out infinite alternate;
}
.scn-hamil-ali-enters .shadow-floor {
  position: absolute; left: 15%; right: 40%; bottom: 0; height: 12%;
  background: radial-gradient(ellipse, rgba(10,2,0,.5) 0%, transparent 70%);
  animation: he-shadow 6s ease-in-out infinite alternate;
}
.scn-hamil-ali-enters .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 15%;
  background: linear-gradient(180deg, #2a0a04 0%, #1a0a02 100%);
  box-shadow: inset 0 4px 12px rgba(0,0,0,.8);
  animation: he-floor 10s ease-in-out infinite;
}
@keyframes he-door {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.03); }
  100% { transform: scaleX(0.97); }
}
@keyframes he-figure {
  0% { transform: rotate(5deg) scaleX(0.8) translateX(0); }
  25% { transform: rotate(3deg) scaleX(0.82) translateX(4px); }
  50% { transform: rotate(6deg) scaleX(0.78) translateX(-2px); }
  75% { transform: rotate(4deg) scaleX(0.81) translateX(3px); }
  100% { transform: rotate(5deg) scaleX(0.8) translateX(0); }
}
@keyframes he-stick {
  0% { transform: rotate(-15deg); }
  50% { transform: rotate(-12deg) translateX(2px); }
  100% { transform: rotate(-18deg); }
}
@keyframes he-shadow {
  0%,100% { opacity: .4; }
  50% { opacity: .8; }
}
@keyframes he-floor {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

.scn-item-gold {
  background: 
    radial-gradient(ellipse at 50% 60%, #8a4a1a 0%, transparent 60%),
    linear-gradient(180deg, #3a1a0a 0%, #5a2a12 30%, #2a0a04 100%);
}
.scn-item-gold .table {
  position: absolute; left: 10%; right: 10%; bottom: 0; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a0a04 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,.5);
  animation: ig-table 9s ease-in-out infinite;
}
.scn-item-gold .bag {
  position: absolute; left: 40%; bottom: 35%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.3);
  transform-origin: bottom center;
  animation: ig-bag 5s ease-in-out infinite alternate;
}
.scn-item-gold .coins-stream {
  position: absolute; left: 45%; bottom: 50%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #e0c060 0%, #c0a040 50%, #806020 100%);
  clip-path: polygon(30% 0, 70% 0, 100% 100%, 0 100%);
  animation: ig-coins 2s ease-in-out infinite;
}
.scn-item-gold .hand {
  position: absolute; left: 35%; bottom: 45%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(20deg);
  transform-origin: bottom right;
  animation: ig-hand 4s ease-in-out infinite alternate;
}
.scn-item-gold .glow {
  position: absolute; left: 40%; bottom: 40%; width: 30%; height: 30%;
  background: radial-gradient(ellipse, #d0a040 0%, #b08030 30%, transparent 70%);
  filter: blur(6px);
  animation: ig-glow 3s ease-in-out infinite alternate;
}
@keyframes ig-table {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes ig-bag {
  0% { transform: scale(1) rotate(0); }
  50% { transform: scale(1.04) rotate(2deg); }
  100% { transform: scale(0.98) rotate(-2deg); }
}
@keyframes ig-coins {
  0% { transform: translateY(0) scaleY(1); opacity: .8; }
  25% { transform: translateY(10px) scaleY(1.1); opacity: 1; }
  50% { transform: translateY(20px) scaleY(1); opacity: .9; }
  75% { transform: translateY(30px) scaleY(0.95); opacity: .7; }
  100% { transform: translateY(0) scaleY(1); opacity: .8; }
}
@keyframes ig-hand {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(22deg) translateY(-4px); }
  100% { transform: rotate(18deg) translateY(2px); }
}
@keyframes ig-glow {
  0% { opacity: .5; filter: blur(6px); }
  50% { opacity: 1; filter: blur(10px); }
  100% { opacity: .6; filter: blur(5px); }
}

.scn-preparing-for-operation {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1e1e2e 100%),
    radial-gradient(ellipse at 50% 70%, #2a2a3e 0%, transparent 80%);
}
.scn-preparing-for-operation .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3e 0%, #1e1e2e 100%); }
.scn-preparing-for-operation .shadow-left { position:absolute; left:0; top:10%; width:40%; height:90%; background: linear-gradient(90deg, #0a0a14 0%, transparent 100%); animation: po-shift-l 6s ease-in-out infinite alternate; }
.scn-preparing-for-operation .shadow-right { position:absolute; right:0; top:0; width:35%; height:100%; background: linear-gradient(270deg, #0a0a14 0%, transparent 100%); animation: po-shift-r 6s ease-in-out infinite alternate; }
.scn-preparing-for-operation .table { position:absolute; bottom:20%; left:30%; width:45%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.6), inset 0 2px 4px rgba(80,60,40,0.3); }
.scn-preparing-for-operation .instrument-tray { position:absolute; bottom:24%; left:42%; width:12%; height:4%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: po-tray 8s ease-in-out infinite; }
.scn-preparing-for-operation .lamp-glow { position:absolute; top:15%; right:20%; width:60px; height:60px; background: radial-gradient(circle, #c8a060 0%, #a08040 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(200,160,96,0.3); animation: po-lamp 4s ease-in-out infinite alternate; }
.scn-preparing-for-operation .figure-doctor { position:absolute; bottom:18%; left:22%; width:20px; height:48px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: po-figure-dr 5s ease-in-out infinite; }
.scn-preparing-for-operation .figure-patient { position:absolute; bottom:18%; right:28%; width:22px; height:42px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: po-figure-pt 5s ease-in-out infinite reverse; }

@keyframes po-shift-l { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes po-shift-r { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.4; } }
@keyframes po-tray { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(6px) rotate(2deg); } }
@keyframes po-lamp { 0% { opacity:0.8; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.85; transform: scale(0.98); } }
@keyframes po-figure-dr { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(-2px) translateY(0) rotate(-1deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(1deg); } }
@keyframes po-figure-pt { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 50% { transform: translateX(0) translateY(-1px) rotate(0deg); } 75% { transform: translateX(1px) translateY(0) rotate(1deg); } }

.scn-item-chloroform-bottle {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #1e1e2e 100%),
    radial-gradient(ellipse at 30% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-item-chloroform-bottle .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #1e1e2e 0%, #14141e 100%); }
.scn-item-chloroform-bottle .wall-shelf { position:absolute; top:40%; left:10%; width:80%; height:2%; background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%); box-shadow: 0 2px 6px rgba(0,0,0,0.7); animation: cb-shelf 12s ease-in-out infinite; }
.scn-item-chloroform-bottle .tabletop { position:absolute; bottom:25%; left:20%; width:60%; height:6%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-radius: 4px; box-shadow: 0 -4px 10px rgba(0,0,0,0.6); }
.scn-item-chloroform-bottle .bottle { position:absolute; bottom:27%; left:48%; width:24px; height:40px; background: radial-gradient(ellipse at 50% 30%, #b8a888 0%, #8a7a6a 60%, #5a4a3a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform: translateX(-50%); box-shadow: 0 2px 8px rgba(0,0,0,0.6); animation: cb-bottle 6s ease-in-out infinite; }
.scn-item-chloroform-bottle .hand-grasping { position:absolute; bottom:24%; left:44%; width:16px; height:28px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cb-hand 6s ease-in-out infinite; }
.scn-item-chloroform-bottle .lamp-light { position:absolute; top:12%; right:18%; width:40px; height:40px; background: radial-gradient(circle, #b89050 0%, #8a6a30 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(184,144,80,0.3); animation: cb-lamp 4s ease-in-out infinite alternate; }
.scn-item-chloroform-bottle .shadow-tall { position:absolute; left:55%; top:0; width:30%; height:100%; background: linear-gradient(90deg, transparent 0%, #0a0a14 60%, #0a0a14 100%); animation: cb-shadow 8s ease-in-out infinite alternate; }

@keyframes cb-shelf { 0%,100% { opacity:0.7; } 50% { opacity:0.9; } }
@keyframes cb-bottle { 0%,100% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-48%) rotate(2deg); } 50% { transform: translateX(-52%) rotate(-1deg); } 75% { transform: translateX(-47%) rotate(3deg); } }
@keyframes cb-hand { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 30% { transform: translateX(4px) translateY(-2px) rotate(5deg); } 60% { transform: translateX(-2px) translateY(0) rotate(-3deg); } }
@keyframes cb-lamp { 0% { opacity:0.7; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(1); } }
@keyframes cb-shadow { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.3; } }

.scn-religious-objection {
  background:
    linear-gradient(180deg, #1e1e2a 0%, #2a2a3e 40%, #1a1a2e 100%),
    radial-gradient(ellipse at 50% 80%, #2a2a3e 0%, transparent 70%);
}
.scn-religious-objection .bg-interior { position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2e 0%, #14141e 100%); }
.scn-religious-objection .divider-line { position:absolute; top:10%; left:50%; width:1px; height:80%; background: linear-gradient(180deg, transparent 0%, #4a4a5e 20%, #4a4a5e 80%, transparent 100%); animation: ro-divider 10s ease-in-out infinite; }
.scn-religious-objection .figure-seated { position:absolute; bottom:20%; left:30%; width:24px; height:34px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ro-seated 5s ease-in-out infinite; }
.scn-religious-objection .figure-standing { position:absolute; bottom:18%; right:26%; width:20px; height:48px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ro-standing 7s ease-in-out infinite; }
.scn-religious-objection .lamp-small { position:absolute; top:25%; left:46%; width:30px; height:30px; background: radial-gradient(circle, #c09850 0%, #a07840 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 20px 10px rgba(192,152,80,0.4); animation: ro-lamp 4s ease-in-out infinite alternate; }
.scn-religious-objection .shadow-floor { position:absolute; bottom:0; left:20%; width:60%; height:20%; background: linear-gradient(180deg, transparent 0%, #0a0a14 100%); animation: ro-floor 12s ease-in-out infinite; }

@keyframes ro-divider { 0%,100% { opacity:0.3; } 50% { opacity:0.6; } }
@keyframes ro-seated { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(-1px) translateY(0) rotate(-1deg); } 75% { transform: translateX(3px) translateY(-2px) rotate(1deg); } }
@keyframes ro-standing { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 30% { transform: translateX(-3px) translateY(1px) rotate(-2deg); } 60% { transform: translateX(2px) translateY(-1px) rotate(2deg); } }
@keyframes ro-lamp { 0% { opacity:0.8; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.85; transform: scale(1); } }
@keyframes ro-floor { 0%,100% { opacity:0.3; } 50% { opacity:0.5; } }

.scn-departure-in-rain {
  background:
    linear-gradient(180deg, #0a0a14 0%, #1a1a2a 40%, #0e0e1a 100%),
    radial-gradient(ellipse at 50% 100%, #1a1a2a 0%, transparent 80%);
}
.scn-departure-in-rain .bg-night { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a14 0%, #12121e 100%); }
.scn-departure-in-rain .door-frame { position:absolute; bottom:0; left:30%; width:40%; height:70%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); animation: dr-door 15s ease-in-out infinite alternate; }
.scn-departure-in-rain .rain-sheet { position:absolute; inset:0; background: repeating-linear-gradient(180deg, rgba(180,200,220,0.08) 0px, transparent 2px, transparent 6px); animation: dr-rain 1s linear infinite; }
.scn-departure-in-rain .figure-leaving { position:absolute; bottom:10%; left:42%; width:18px; height:40px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dr-figure 4s ease-in-out infinite; }
.scn-departure-in-rain .lamp-fading { position:absolute; top:8%; left:35%; width:50px; height:50px; background: radial-gradient(circle, #b89060 0%, #8a6a40 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(184,144,96,0.2); animation: dr-lamp 6s ease-in-out infinite alternate; }
.scn-departure-in-rain .puddle-reflection { position:absolute; bottom:5%; left:20%; width:60%; height:8%; background: radial-gradient(ellipse at 50% 50%, #1a1a2e 0%, #0a0a14 70%); border-radius: 50%; box-shadow: 0 0 10px rgba(50,50,80,0.3); animation: dr-puddle 12s ease-in-out infinite; }
.scn-departure-in-rain .caryatid { position:absolute; top:0; left:25%; width:10%; height:35%; background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%); border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; transform: skewX(-2deg); animation: dr-caryatid 20s ease-in-out infinite; }
.scn-departure-in-rain .wind-sweep { position:absolute; bottom:30%; left:10%; width:80%; height:2%; background: linear-gradient(90deg, transparent 0%, rgba(200,200,220,0.1) 50%, transparent 100%); filter: blur(4px); animation: dr-wind 3s linear infinite; }

@keyframes dr-door { 0%,100% { opacity:0.9; transform: translateY(0); } 50% { opacity:0.7; transform: translateY(-2px); } }
@keyframes dr-rain { 0% { transform: translateY(0); } 100% { transform: translateY(20px); } }
@keyframes dr-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(-4px) translateY(-2px) rotate(-3deg); } 50% { transform: translateX(4px) translateY(0) rotate(2deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } }
@keyframes dr-lamp { 0% { opacity:0.4; transform: scale(0.9); } 50% { opacity:0.7; transform: scale(1.05); } 100% { opacity:0.2; transform: scale(0.8); } }
@keyframes dr-puddle { 0%,100% { opacity:0.4; } 50% { opacity:0.6; } }
@keyframes dr-caryatid { 0%,100% { transform: skewX(-2deg) translateY(0); } 50% { transform: skewX(2deg) translateY(-1px); } }
@keyframes dr-wind { 0% { transform: translateX(-10px); } 100% { transform: translateX(20px); } }

.scn-scandal-revelation {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e2e 40%, #1f1f35 100%), radial-gradient(ellipse at 50% 80%, #2a1e2e 0%, transparent 70%);
}
.scn-scandal-revelation .bg-shadow { position:absolute; inset:0; background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.4) 100%); animation: sr-shadow 8s ease-in-out infinite alternate; }
.scn-scandal-revelation .wall-panel { position:absolute; bottom:10%; left:5%; right:5%; height:75%; background: linear-gradient(135deg, #3a2a2a 0%, #1f1515 100%); border-radius: 8px; box-shadow: inset 0 10px 30px rgba(0,0,0,0.6); }
.scn-scandal-revelation .window { position:absolute; top:12%; left:15%; width:120px; height:160px; background: radial-gradient(ellipse at 50% 50%, #2a3a5a 0%, #0f1a2a 100%); border:4px solid #2a1a1a; border-radius:4px; box-shadow: inset 0 0 30px rgba(100,150,200,0.1); animation: sr-window 12s ease-in-out infinite alternate; }
.scn-scandal-revelation .curtain-left { position:absolute; top:10%; left:10%; width:80px; height:170px; background: linear-gradient(180deg, #3a1a1a 0%, #1a0a0a 100%); border-radius: 0 40% 40% 0 / 0 80% 80% 0; filter: blur(2px); animation: sr-curtain 15s ease-in-out infinite; }
.scn-scandal-revelation .curtain-right { position:absolute; top:10%; right:10%; width:80px; height:170px; background: linear-gradient(180deg, #3a1a1a 0%, #1a0a0a 100%); border-radius: 40% 0 0 40% / 80% 0 0 80%; filter: blur(2px); animation: sr-curtain 15s ease-in-out infinite reverse; }
.scn-scandal-revelation .lamplight { position:absolute; bottom:35%; left:50%; transform:translateX(-50%); width:120px; height:140px; background: radial-gradient(ellipse at 50% 0%, #c08040 0%, transparent 70%); opacity:0.3; animation: sr-lamp 6s ease-in-out infinite alternate; }
.scn-scandal-revelation .figure-shadow { position:absolute; bottom:20%; right:20%; width:80px; height:150px; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.3) 0%, transparent 100%); filter: blur(10px); animation: sr-fshadow 4s ease-in-out infinite alternate; }
.scn-scandal-revelation .figure-lady { position:absolute; bottom:15%; right:25%; width:45px; height:120px; background: linear-gradient(180deg, #2a1a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sr-lady 8s ease-in-out infinite; }
@keyframes sr-shadow { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes sr-window { 0% { filter: brightness(0.9) blur(1px); } 50% { filter: brightness(1.1) blur(0); } 100% { filter: brightness(0.95) blur(0.5px); } }
@keyframes sr-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(10px); } 100% { transform: translateX(-5px); } }
@keyframes sr-lamp { 0% { opacity:0.2; transform: translateX(-50%) scaleY(0.95); } 50% { opacity:0.4; transform: translateX(-50%) scaleY(1.05); } 100% { opacity:0.25; transform: translateX(-50%) scaleY(1); } }
@keyframes sr-fshadow { 0% { transform: translateY(0) scaleX(0.9); } 50% { transform: translateY(-10px) scaleX(1.1); } 100% { transform: translateY(5px) scaleX(0.95); } }
@keyframes sr-lady { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(-1deg) translateY(0); } 75% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }

.scn-stone-breakdown {
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1515 40%, #141422 100%), radial-gradient(ellipse at 50% 20%, #1a2020 0%, transparent 70%);
}
.scn-stone-breakdown .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 100%); border-top:2px solid #2a2a2a; }
.scn-stone-breakdown .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #151520 0%, #1a1a2a 100%); }
.scn-stone-breakdown .bed-frame { position:absolute; bottom:20%; left:10%; right:10%; height:30%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a1a 100%); border-radius: 10px 10px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.3); }
.scn-stone-breakdown .blanket { position:absolute; bottom:22%; left:12%; right:12%; height:10%; background: linear-gradient(135deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 0 0 20px 20px; transform-origin: top center; animation: sb-blanket 9s ease-in-out infinite alternate; }
.scn-stone-breakdown .figure-sitting { position:absolute; bottom:30%; left:35%; width:50px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sb-figure 6s ease-in-out infinite; }
.scn-stone-breakdown .shadow-bed { position:absolute; bottom:10%; left:5%; right:5%; height:50%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 100%); filter: blur(15px); animation: sb-shadow 12s ease-in-out infinite alternate; }
.scn-stone-breakdown .morning-light { position:absolute; top:0; right:0; width:120px; height:100%; background: linear-gradient(135deg, transparent 0%, rgba(200,200,220,0.05) 100%); clip-path: polygon(100% 0, 100% 100%, 0 100%); animation: sb-light 10s ease-in-out infinite alternate; }
@keyframes sb-blanket { 0% { transform: scaleY(1) skewX(0deg); } 50% { transform: scaleY(0.95) skewX(2deg); } 100% { transform: scaleY(1.02) skewX(-1deg); } }
@keyframes sb-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(3deg); } 60% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sb-shadow { 0% { opacity:0.4; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.1); } 100% { opacity:0.3; transform: scaleY(0.9); } }
@keyframes sb-light { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.15; } }

.scn-stone-abilities {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3a 40%, #1a1a2e 100%), radial-gradient(ellipse at 50% 20%, #2a2a3a 0%, transparent 70%);
}
.scn-stone-abilities .bg-bookshelf { position:absolute; top:10%; left:5%; right:5%; bottom:30%; background: repeating-linear-gradient(90deg, transparent 0, transparent 20px, #1a1a2a 20px, #1a1a2a 24px); border-bottom: 6px solid #2a1a1a; opacity:0.6; animation: sa-shelf 20s linear infinite; }
.scn-stone-abilities .desk { position:absolute; bottom:10%; left:20%; right:20%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.scn-stone-abilities .candle { position:absolute; bottom:25%; left:65%; width:14px; height:40px; background: linear-gradient(180deg, #d0a060 0%, #8a5a2a 100%); border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%; transform-origin: bottom center; animation: sa-candle 5s ease-in-out infinite alternate; }
.scn-stone-abilities .candle-glow { position:absolute; bottom:35%; left:60%; width:80px; height:80px; background: radial-gradient(circle, #ffd080 0%, #c08040 40%, transparent 70%); opacity:0.5; animation: sa-glow 4s ease-in-out infinite alternate; }
.scn-stone-abilities .open-book { position:absolute; bottom:15%; left:35%; width:80px; height:60px; background: linear-gradient(135deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 4px; transform: perspective(200px) rotateX(20deg) rotateY(-10deg); animation: sa-book 8s ease-in-out infinite alternate; }
.scn-stone-abilities .hand-silhouette { position:absolute; bottom:20%; left:45%; width:20px; height:30px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; transform-origin: bottom center; animation: sa-hand 6s ease-in-out infinite; }
.scn-stone-abilities .chair { position:absolute; bottom:12%; left:70%; width:50px; height:70px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius: 30% 30% 10% 10%; transform: rotate(5deg); animation: sa-chair 10s ease-in-out infinite alternate; }
@keyframes sa-shelf { 0% { background-position: 0 0; } 100% { background-position: 40px 0; } }
@keyframes sa-candle { 0% { transform: scaleY(1) rotate(-1deg); } 50% { transform: scaleY(1.05) rotate(2deg); } 100% { transform: scaleY(0.95) rotate(0deg); } }
@keyframes sa-glow { 0% { opacity:0.3; transform: scale(0.95); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.4; transform: scale(1); } }
@keyframes sa-book { 0% { transform: perspective(200px) rotateX(20deg) rotateY(-10deg) translateY(0); } 50% { transform: perspective(200px) rotateX(22deg) rotateY(-12deg) translateY(-2px); } 100% { transform: perspective(200px) rotateX(18deg) rotateY(-8deg) translateY(1px); } }
@keyframes sa-hand { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-5px) rotate(5deg); } 50% { transform: translateY(-2px) rotate(-3deg); } 75% { transform: translateY(-4px) rotate(4deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sa-chair { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-2px); } 100% { transform: rotate(3deg) translateY(1px); } }

.scn-stone-sensualism {
  background: linear-gradient(180deg, #1a0f0a 0%, #2a1a0a 40%, #1f110a 100%), radial-gradient(ellipse at 40% 30%, #3a2010 0%, transparent 80%);
}
.scn-stone-sensualism .bg-dark { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%); animation: ss-dark 8s ease-in-out infinite alternate; }
.scn-stone-sensualism .operating-table { position:absolute; bottom:10%; left:25%; right:25%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #1a1a0a 100%); border-radius: 10px; box-shadow: 0 8px 20px rgba(0,0,0,0.6); }
.scn-stone-sensualism .patient-shape { position:absolute; bottom:15%; left:30%; width:40%; height:18%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; transform-origin: bottom center; animation: ss-patient 12s ease-in-out infinite alternate; }
.scn-stone-sensualism .surgeon-profile { position:absolute; bottom:20%; left:18%; width:35px; height:100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ss-surgeon 7s ease-in-out infinite; }
.scn-stone-sensualism .lamp-arm { position:absolute; top:5%; left:35%; width:8px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); border-radius: 10px; transform-origin: top center; transform: rotate(-20deg); animation: ss-arm 10s ease-in-out infinite alternate; }
.scn-stone-sensualism .lamp-glow { position:absolute; top:25%; left:25%; width:150px; height:150px; background: radial-gradient(circle, #d08050 0%, #a06030 40%, transparent 80%); opacity:0.4; animation: ss-lamp 5s ease-in-out infinite alternate; }
.scn-stone-sensualism .curtain-medical { position:absolute; top:0; right:5%; width:30%; height:100%; background: linear-gradient(180deg, #1a3a2a 0%, #0a1a0a 100%); clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); filter: blur(3px); animation: ss-curtain 20s ease-in-out infinite alternate; }
.scn-stone-sensualism .instrument-tray { position:absolute; bottom:20%; left:55%; width:40px; height:10px; background: linear-gradient(90deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: ss-tray 15s ease-in-out infinite alternate; }
@keyframes ss-dark { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes ss-patient { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-3px) scaleX(0.98); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes ss-surgeon { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 75% { transform: translateY(-3px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ss-arm { 0% { transform: rotate(-20deg); } 50% { transform: rotate(-15deg); } 100% { transform: rotate(-25deg); } }
@keyframes ss-lamp { 0% { opacity:0.3; transform: scale(0.9); } 50% { opacity:0.5; transform: scale(1.1); } 100% { opacity:0.35; transform: scale(0.95); } }
@keyframes ss-curtain { 0% { filter: blur(3px); opacity:0.8; } 50% { filter: blur(4px); opacity:0.6; } 100% { filter: blur(2px); opacity:0.9; } }
@keyframes ss-tray { 0% { transform: translateX(0); } 50% { transform: translateX(-5px); } 100% { transform: translateX(3px); } }

/* departure-instructions */
.scn-departure-instructions { background: linear-gradient(180deg, #2a1e1a 0%, #3a2a1e 50%, #1a1410 100%), radial-gradient(ellipse at 60% 40%, #4a3a2a 0%, transparent 70%); }

.scn-departure-instructions .room-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e1a 100%); border-radius: 0 0 30% 30%; animation: di-wall 12s ease-in-out infinite; }

.scn-departure-instructions .room-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); }

.scn-departure-instructions .table { position: absolute; bottom: 22%; left: 30%; width: 50px; height: 6px; background: #4a3a2a; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }

.scn-departure-instructions .lamp { position: absolute; bottom: 28%; left: 55%; width: 8px; height: 20px; background: #6a4a3a; border-radius: 20% 20% 10% 10%; }

.scn-departure-instructions .lamp-glow { position: absolute; bottom: 30%; left: 52%; width: 30px; height: 30px; background: radial-gradient(circle, rgba(240,192,96,0.8) 0%, transparent 70%); border-radius: 50%; animation: di-lamp-glow 3s ease-in-out infinite; }

.scn-departure-instructions .figure-sit { position: absolute; bottom: 20%; left: 35%; width: 20px; height: 34px; background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: di-figure-sit 4s ease-in-out infinite; }

.scn-departure-instructions .figure-stand { position: absolute; bottom: 22%; left: 65%; width: 18px; height: 38px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom left; animation: di-figure-stand 6s ease-in-out infinite; }

.scn-departure-instructions .door { position: absolute; bottom: 15%; right: 12%; width: 24px; height: 50px; background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%); border-radius: 4px 4px 0 0; box-shadow: inset -3px 0 6px rgba(0,0,0,.4); }

.scn-departure-instructions .shadow-door { position: absolute; bottom: 15%; right: 14%; width: 20px; height: 48px; background: rgba(0,0,0,0.3); border-radius: 4px; animation: di-shadow-door 6s ease-in-out infinite; }

@keyframes di-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes di-lamp-glow { 0% { box-shadow: 0 0 15px 5px #f0c060; opacity: 0.8; } 50% { box-shadow: 0 0 25px 10px #f0c060; opacity: 1; } 100% { box-shadow: 0 0 15px 5px #f0c060; opacity: 0.8; } }
@keyframes di-figure-sit { 0% { transform: translateX(0) rotate(0deg) scale(1); } 25% { transform: translateX(3px) rotate(5deg) scale(1.02); } 50% { transform: translateX(0) rotate(-3deg) scale(1); } 75% { transform: translateX(-2px) rotate(4deg) scale(0.98); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes di-figure-stand { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-15px) rotate(-2deg); } 50% { transform: translateX(-30px) rotate(1deg); } 75% { transform: translateX(-45px) rotate(-2deg); } 100% { transform: translateX(-60px) rotate(0deg); } }
@keyframes di-shadow-door { 0%,100% { opacity: 0.3; } 50% { opacity: 0.6; } }

/* final-orders */
.scn-final-orders { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #0a0a0a 100%), radial-gradient(ellipse at 30% 80%, #2a2a3a 0%, transparent 80%); }

.scn-final-orders .hall-bg { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%); animation: fo-hall 20s linear infinite; }

.scn-final-orders .staircase { position: absolute; bottom: 25%; left: 20%; height: 35%; width: 20%; background: linear-gradient(135deg, #1a1a2e 0%, #2a2a3a 40%, #1a1a2e 100%); border-radius: 0 20% 0 0; transform: skewY(10deg); animation: fo-stairs 8s ease-in-out infinite; }

.scn-final-orders .figure-speaker { position: absolute; bottom: 30%; left: 55%; width: 20px; height: 40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fo-speaker 7s ease-in-out infinite; }

.scn-final-orders .figure-butler { position: absolute; bottom: 25%; left: 30%; width: 18px; height: 36px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fo-butler 10s ease-in-out infinite; }

.scn-final-orders .candle { position: absolute; bottom: 20%; left: 25%; width: 6px; height: 16px; background: radial-gradient(ellipse, #f0d060 0%, #806030 100%); border-radius: 30% 30% 10% 10%; animation: fo-candle 3s ease-in-out infinite; }

.scn-final-orders .candle-glow { position: absolute; bottom: 18%; left: 20%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(240,208,96,0.5) 0%, transparent 70%); animation: fo-candle-glow 2s ease-in-out infinite; }

.scn-final-orders .moonlight { position: absolute; top: 10%; right: 12%; width: 30px; height: 30px; background: radial-gradient(circle, rgba(200,220,240,0.3) 0%, transparent 70%); border-radius: 50%; animation: fo-moonlight 12s ease-in-out infinite; }

@keyframes fo-hall { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes fo-stairs { 0% { transform: skewY(10deg) translateY(0); } 50% { transform: skewY(12deg) translateY(-2px); } 100% { transform: skewY(10deg) translateY(0); } }
@keyframes fo-speaker { 0% { transform: translateX(0) rotate(-2deg); } 30% { transform: translateX(5px) rotate(2deg) scaleY(1.02); } 60% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes fo-butler { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes fo-candle { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.2); opacity: 1; } 100% { transform: scaleY(1); opacity: 0.9; } }
@keyframes fo-candle-glow { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.2); } 100% { opacity: 0.5; transform: scale(1); } }
@keyframes fo-moonlight { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

.scn-cab-ride-to-house { background: linear-gradient(180deg, #0d111a 0%, #1a1f2e 40%, #0a0d14 100%), radial-gradient(ellipse at 50% 0%, #1a2a3a 0%, transparent 70%); }
.scn-cab-ride-to-house .sky { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #1b2330 0%, #0a0e18 100%); animation: cb-sky 8s ease-in-out infinite alternate; }
.scn-cab-ride-to-house .buildings.left { position:absolute; bottom:45%; left:0; width:35%; height:45%; background: linear-gradient(180deg, #1a1f2a 0%, #0e121c 100%); clip-path: polygon(0% 0%, 40% 0%, 40% 20%, 100% 20%, 100% 100%, 0% 100%); animation: cb-build-left 12s linear infinite; }
.scn-cab-ride-to-house .buildings.right { position:absolute; bottom:45%; right:0; width:30%; height:50%; background: linear-gradient(180deg, #141824 0%, #0a0d16 100%); clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 30%, 60% 30%, 60% 0%); animation: cb-build-right 14s linear infinite reverse; }
.scn-cab-ride-to-house .street { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(180deg, #1a1f2e 0%, #0d111a 100%); box-shadow: inset 0 4px 10px rgba(0,0,0,.6); animation: cb-street 4s ease-in-out infinite; }
.scn-cab-ride-to-house .lamppost { position:absolute; bottom:48%; left:25%; width:4px; height:60px; background: linear-gradient(180deg, #5c4a2a 0%, #2a2210 100%); border-radius: 2px; transform-origin: bottom center; animation: cb-lamp 3s ease-in-out infinite; }
.scn-cab-ride-to-house .cab-frame { position:absolute; bottom:12%; left:30%; width:55%; height:40%; background: linear-gradient(135deg, #1a202c 0%, #0a0e16 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 -6px 12px rgba(0,0,0,.5); animation: cb-cab 0.6s ease-in-out infinite; }
.scn-cab-ride-to-house .rain { position:absolute; width:2px; height:12px; background: rgba(180,200,230,.3); border-radius: 40%; animation: cb-rain 0.5s linear infinite; }
.scn-cab-ride-to-house .drop-1 { top:10%; left:20%; animation-delay: 0s; }
.scn-cab-ride-to-house .drop-2 { top:25%; left:45%; animation-delay: 0.15s; }
.scn-cab-ride-to-house .drop-3 { top:5%; left:70%; animation-delay: 0.3s; }
@keyframes cb-sky { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes cb-build-left { 0% { transform: translateX(-5px) } 50% { transform: translateX(3px) } 100% { transform: translateX(-5px) } }
@keyframes cb-build-right { 0% { transform: translateX(5px) } 50% { transform: translateX(-3px) } 100% { transform: translateX(5px) } }
@keyframes cb-street { 0% { transform: translateY(0) } 25% { transform: translateY(-2px) } 75% { transform: translateY(1px) } 100% { transform: translateY(0) } }
@keyframes cb-lamp { 0% { box-shadow: 0 0 12px 3px #b08040, 0 0 24px 6px rgba(176,128,64,.3); } 50% { box-shadow: 0 0 8px 2px #8a6a30, 0 0 16px 4px rgba(138,106,48,.2); } 100% { box-shadow: 0 0 14px 4px #b08040, 0 0 28px 7px rgba(176,128,64,.35); } }
@keyframes cb-cab { 0% { transform: translateY(0) rotate(-0.5deg) } 50% { transform: translateY(-3px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes cb-rain { 0% { transform: translateY(0) } 100% { transform: translateY(100vh) } }

.scn-arrival-at-sordid-house { background: linear-gradient(180deg, #0c0f18 0%, #121726 40%, #080b12 100%), radial-gradient(ellipse at 50% 100%, #1a202e 0%, transparent 60%); }
.scn-arrival-at-sordid-house .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #141a24 0%, #080b14 100%); opacity:.7; }
.scn-arrival-at-sordid-house .house { position:absolute; bottom:0; width:20%; height:65%; background: linear-gradient(180deg, #1e222e 0%, #0a0e1a 100%); box-shadow: 0 0 10px 2px rgba(0,0,0,.5); animation: ar-house 6s ease-in-out infinite; }
.scn-arrival-at-sordid-house .left-a { left:5%; animation-delay:0s; }
.scn-arrival-at-sordid-house .left-b { left:28%; width:18%; height:58%; animation-delay:1.5s; }
.scn-arrival-at-sordid-house .right-a { right:5%; height:70%; animation-delay:0.8s; }
.scn-arrival-at-sordid-house .right-b { right:30%; width:15%; height:50%; animation-delay:2.3s; }
.scn-arrival-at-sordid-house .lamp-glow { position:absolute; bottom:60%; left:15%; width:8px; height:8px; background: radial-gradient(circle, #c09050 0%, #a07040 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 8px rgba(192,144,80,.5), 0 0 60px 16px rgba(192,144,80,.2); animation: ar-lamp 4s ease-in-out infinite alternate; }
.scn-arrival-at-sordid-house .puddle { position:absolute; bottom:0; left:10%; width:35%; height:8%; background: radial-gradient(ellipse at 50% 100%, rgba(180,200,240,.2) 0%, transparent 100%); filter: blur(4px); animation: ar-puddle 3s ease-in-out infinite; }
.scn-arrival-at-sordid-house .shadow-figure { position:absolute; bottom:0; left:45%; width:5%; height:30%; background: linear-gradient(180deg, rgba(20,24,36,.8) 0%, rgba(10,14,20,.6) 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ar-figure 8s ease-in-out infinite; }
@keyframes ar-house { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.02) translateY(-2px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes ar-lamp { 0% { opacity:.5; transform: scale(0.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:.7; transform: scale(0.95) } }
@keyframes ar-puddle { 0% { opacity:.2 } 50% { opacity:.4 } 100% { opacity:.25 } }
@keyframes ar-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) translateY(-1px) rotate(-1deg) } 75% { transform: translateX(8px) translateY(-2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-entering-the-house { background: linear-gradient(180deg, #0e0c14 0%, #1a1622 35%, #0a0812 100%), radial-gradient(ellipse at 50% 0%, #1c1a2a 0%, transparent 70%); }
.scn-entering-the-house .wall-dark { position:absolute; inset:0; background: linear-gradient(180deg, #1a1622 0%, #0e0c1a 100%); opacity:.8; }
.scn-entering-the-house .stair { position:absolute; bottom:0; left:20%; right:20%; height:100%; background: linear-gradient(180deg, #2a1c18 0%, #141008 100%); clip-path: polygon(0% 0%, 20% 20%, 20% 40%, 40% 60%, 60% 60%, 80% 40%, 80% 20%, 100% 0%); animation: en-stair 12s ease-in-out infinite alternate; }
.scn-entering-the-house .baluster { position:absolute; bottom:0; left:18%; width:2px; height:100%; background: linear-gradient(180deg, #3a2a20 0%, #1a100c 100%); animation: en-baluster 8s ease-in-out infinite; }
.scn-entering-the-house .cobweb-a { position:absolute; top:30%; left:10%; width:40%; height:30%; background: radial-gradient(circle at 50% 50%, transparent 60%, rgba(200,190,180,.15) 65%, transparent 70%); border-radius:50%; filter: blur(2px); animation: en-cobweb 6s ease-in-out infinite alternate; }
.scn-entering-the-house .cobweb-b { top:50%; left:55%; width:35%; height:25%; background: radial-gradient(circle at 50% 50%, transparent 55%, rgba(200,190,180,.1) 60%, transparent 65%); filter: blur(1px); animation: en-cobweb 9s ease-in-out infinite alternate-reverse; }
.scn-entering-the-house .dust { position:absolute; width:4px; height:4px; background: rgba(220,210,200,.2); border-radius:50%; filter: blur(1px); }
.scn-entering-the-house .mote-1 { top:20%; left:30%; animation: en-dust 15s linear infinite; }
.scn-entering-the-house .mote-2 { top:65%; left:70%; animation: en-dust 20s linear infinite reverse; }
.scn-entering-the-house .figure-up { position:absolute; bottom:0; left:48%; width:5%; height:30%; background: linear-gradient(180deg, rgba(15,12,20,.9) 0%, rgba(8,6,12,.7) 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: en-figure 10s ease-in-out infinite; }
@keyframes en-stair { 0% { transform: skewX(0deg) } 50% { transform: skewX(-3deg) } 100% { transform: skewX(0deg) } }
@keyframes en-baluster { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(1) } }
@keyframes en-cobweb { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(5deg) scale(1.05) } 100% { transform: rotate(-5deg) scale(1) } }
@keyframes en-dust { 0% { transform: translateY(0) translateX(0) } 50% { transform: translateY(-40px) translateX(10px) } 100% { transform: translateY(-80px) translateX(0) } }
@keyframes en-figure { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-15px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }

.scn-examining-the-wound { background: linear-gradient(180deg, #110e1a 0%, #1a1624 40%, #0c0a14 100%), radial-gradient(ellipse at 50% 50%, #2a1e20 0%, transparent 60%); }
.scn-examining-the-wound .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #1a1624 0%, #0e0c18 100%); opacity:.9; }
.scn-examining-the-wound .lamp { position:absolute; top:15%; left:45%; width:12%; height:18%; background: radial-gradient(ellipse at 50% 100%, #b09050 0%, #906030 40%, transparent 60%); border-radius: 50% / 60% 60% 40% 40%; box-shadow: 0 0 30px 10px rgba(176,144,80,.4), 0 0 60px 20px rgba(176,144,80,.15); animation: ew-lamp 3s ease-in-out infinite alternate; }
.scn-examining-the-wound .hand-big { position:absolute; bottom:20%; left:25%; width:40%; height:45%; background: linear-gradient(180deg, #2a2220 0%, #1a1412 100%); border-radius: 50% 50% 40% 40% / 60% 60% 50% 50%; transform-origin: 70% 80%; animation: ew-hand 4s ease-in-out infinite; }
.scn-examining-the-wound .wound { position:absolute; bottom:35%; left:42%; width:12%; height:10%; background: radial-gradient(circle, #8a3a2a 0%, #5a1e1a 40%, transparent 60%); border-radius: 50%; box-shadow: inset 0 0 6px 2px #4a1410, 0 0 12px 4px rgba(90,30,26,.3); animation: ew-wound 5s ease-in-out infinite; }
.scn-examining-the-wound .tool { position:absolute; bottom:30%; left:55%; width:3%; height:20%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a36 100%); border-radius: 40% 40% 10% 10%; transform: rotate(25deg); transform-origin: top center; animation: ew-tool 3s ease-in-out infinite; }
.scn-examining-the-wound .patient-arm { position:absolute; bottom:10%; left:10%; width:20%; height:70%; background: linear-gradient(180deg, #2a2220 0%, #14100e 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; animation: ew-arm 8s ease-in-out infinite; }
.scn-examining-the-wound .shadow-move { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, rgba(0,0,0,.3) 0%, transparent 70%); animation: ew-shadow 7s ease-in-out infinite; }
.scn-examining-the-wound .cloth { position:absolute; bottom:15%; right:15%; width:15%; height:10%; background: linear-gradient(180deg, #5a4a42 0%, #3a2a22 100%); border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%; filter: blur(1px); animation: ew-cloth 6s ease-in-out infinite alternate; }
@keyframes ew-lamp { 0% { opacity:.6; transform: scale(0.95) } 50% { opacity:.9; transform: scale(1.05) } 100% { opacity:.7; transform: scale(0.98) } }
@keyframes ew-hand { 0% { transform: rotate(0deg) translateY(0) } 25% { transform: rotate(-3deg) translateY(-2px) } 75% { transform: rotate(2deg) translateY(1px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes ew-wound { 0% { transform: scale(1); opacity:.8 } 50% { transform: scale(1.06); opacity:1 } 100% { transform: scale(1); opacity:.85 } }
@keyframes ew-tool { 0% { transform: rotate(22deg) translateY(0) } 50% { transform: rotate(28deg) translateY(-2px) } 100% { transform: rotate(22deg) translateY(0) } }
@keyframes ew-arm { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes ew-shadow { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.55 } }
@keyframes ew-cloth { 0% { transform: skewX(0deg) } 50% { transform: skewX(-5deg) } 100% { transform: skewX(0deg) } }

/* consultation-with-turk */
.scn-consultation-with-turk { background: 
  linear-gradient(180deg, #1a1410 0%, #2a1e14 30%, #3a2818 60%, #1e1612 100%),
  radial-gradient(ellipse at 30% 80%, #4a3018 0%, transparent 60%),
  radial-gradient(ellipse at 70% 20%, #1a1410 0%, #0a0806 100%);
}
.scn-consultation-with-turk .wall     { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #2a1e14 0%, #3a2818 30%, #2a1e14 70%, #1e1410 100%); animation: sc1-wall 12s ease-in-out infinite alternate; }
.scn-consultation-with-turk .floor    { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 20% 30% 0 0 / 10% 15% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); animation: sc1-floor 14s ease-in-out infinite; }
.scn-consultation-with-turk .fireplace{ position:absolute; bottom:35%; left:50%; width:120px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2212 0%, #1a1008 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 -6px 12px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.4); }
.scn-consultation-with-turk .fire     { position:absolute; bottom:42%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 70%, #d06820 0%, #b04010 40%, #802010 70%, transparent 100%); border-radius: 40% 60% 50% 50% / 60% 50% 50% 40%; box-shadow: 0 0 60px 20px #d06820, 0 0 100px 40px rgba(180,64,16,.4); animation: sc1-fire 2s ease-in-out infinite alternate; }
.scn-consultation-with-turk .figure-turk { position:absolute; bottom:30%; left:35%; width:50px; height:80px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 60%, #0e0602 100%); border-radius: 45% 55% 40% 40% / 55% 60% 40% 40%; transform-origin: bottom center; animation: sc1-turk 5s ease-in-out infinite; }
.scn-consultation-with-turk .figure-stone{ position:absolute; bottom:30%; left:58%; width:45px; height:78px; background: linear-gradient(180deg, #2a1e14 0%, #1a120a 60%, #0e0a06 100%); border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: sc1-stone 4s ease-in-out infinite alternate; }
.scn-consultation-with-turk .table    { position:absolute; bottom:30%; left:44%; width:70px; height:15px; background: linear-gradient(180deg, #3a2212 0%, #2a1408 100%); border-radius: 5%; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: sc1-table 8s ease-in-out infinite; }
.scn-consultation-with-turk .shadow   { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.7) 100%); border-radius: 50% 50% 0 0 / 20% 20% 0 0; animation: sc1-shadow 6s ease-in-out infinite alternate; }
@keyframes sc1-wall   { 0% { background: linear-gradient(90deg, #2a1e14 0%, #3a2818 30%, #2a1e14 70%, #1e1410 100%) } 50% { background: linear-gradient(90deg, #2a1e14 0%, #4a3220 30%, #2a1e14 70%, #1e1410 100%) } 100% { background: linear-gradient(90deg, #1e1410 0%, #3a2818 30%, #2a1e14 70%, #1e1410 100%) } }
@keyframes sc1-floor  { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes sc1-fire   { 0% { transform: translateX(-50%) scale(1,.95); filter: brightness(.9) } 50% { transform: translateX(-50%) translateY(-2px) scale(1,1.05); filter: brightness(1.1) } 100% { transform: translateX(-50%) scale(.95,1); filter: brightness(.95) } }
@keyframes sc1-turk   { 0% { transform: rotate(-1deg) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(0) } }
@keyframes sc1-stone  { 0% { transform: rotate(1deg) } 50% { transform: rotate(-1deg) translateY(-1px) } 100% { transform: rotate(0) } }
@keyframes sc1-table  { 0% { transform: scale(1) } 50% { transform: scale(.98) } 100% { transform: scale(1) } }
@keyframes sc1-shadow { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }

/* item-bistoury */
.scn-item-bistoury { background: 
  linear-gradient(180deg, #1a0e08 0%, #2a140a 40%, #1e1008 100%),
  radial-gradient(ellipse at 50% 40%, #3a1a0a 0%, transparent 60%);
}
.scn-item-bistoury .bg-red    { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #3a1410 0%, #2a0e0a 50%, #1a0806 100%); animation: sc2-bg 10s ease-in-out infinite alternate; }
.scn-item-bistoury .hand      { position:absolute; bottom:15%; left:55%; width:80px; height:90px; background: linear-gradient(180deg, #3a2218 0%, #2a1810 50%, #1a0e0a 100%); border-radius: 50% 40% 30% 40% / 60% 40% 30% 40%; transform: rotate(15deg); transform-origin: 60% 80%; animation: sc2-hand 3s ease-in-out infinite alternate; }
.scn-item-bistoury .bistoury  { position:absolute; bottom:38%; left:42%; width:90px; height:8px; background: linear-gradient(90deg, #4a2810 0%, #6a3a20 30%, #8a5030 70%, #6a3a20 100%); border-radius: 20% 60% 60% 20%; transform: rotate(-20deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: sc2-blade 2s ease-in-out infinite alternate; }
.scn-item-bistoury .blade-glint{ position:absolute; bottom:42%; left:44%; width:18px; height:4px; background: linear-gradient(90deg, rgba(200,160,120,.8) 0%, rgba(240,220,200,.6) 50%, transparent 100%); border-radius: 50%; transform: rotate(-20deg); filter: blur(1px); animation: sc2-glint 1.5s ease-in-out infinite alternate; }
.scn-item-bistoury .brazier   { position:absolute; bottom:5%; left:15%; width:60px; height:40px; background: radial-gradient(ellipse at 50% 100%, #a05020 0%, #602810 40%, #301208 100%); border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%; box-shadow: 0 0 40px 12px #a05020, 0 0 80px 24px rgba(160,80,32,.4); animation: sc2-brazier 3s ease-in-out infinite alternate; }
.scn-item-bistoury .smoke     { position:absolute; bottom:50%; left:20%; width:30px; height:40px; background: rgba(80,60,40,.15); border-radius: 50%; filter: blur(8px); animation: sc2-smoke 6s ease-in-out infinite; }
@keyframes sc2-bg    { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes sc2-hand  { 0% { transform: rotate(15deg) scale(1) } 50% { transform: rotate(12deg) translateY(-2px) } 100% { transform: rotate(15deg) scale(.98) } }
@keyframes sc2-blade { 0% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-18deg) translateX(2px) } 100% { transform: rotate(-20deg) translateX(-1px) } }
@keyframes sc2-glint { 0% { opacity:.3 } 50% { opacity:1 } 100% { opacity:.4 } }
@keyframes sc2-brazier { 0% { filter: brightness(.85) } 50% { filter: brightness(1.1) } 100% { filter: brightness(.9) } }
@keyframes sc2-smoke { 0% { transform: translateY(0) scale(1); opacity:0 } 50% { transform: translateY(-20px) scale(1.5); opacity:.6 } 100% { transform: translateY(-40px) scale(2); opacity:0 } }

/* opium-dosed-patient */
.scn-opium-dosed-patient { background: 
  linear-gradient(180deg, #0e0a08 0%, #1a100c 40%, #0e0a06 100%),
  radial-gradient(ellipse at 50% 20%, #2a180e 0%, transparent 70%);
}
.scn-opium-dosed-patient .bg-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(90deg, #0e0a08 0%, #1a100c 30%, #0e0a08 70%, #0a0604 100%); animation: sc3-wall 15s ease-in-out infinite alternate; }
.scn-opium-dosed-patient .divan   { position:absolute; bottom:0; left:10%; right:10%; height:60%; background: linear-gradient(180deg, #2a1a10 0%, #1a1008 40%, #0e0a06 100%); border-radius: 30% 30% 10% 10% / 20% 20% 40% 40%; box-shadow: inset 0 -8px 20px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.5); }
.scn-opium-dosed-patient .figure  { position:absolute; bottom:10%; left:35%; width:60px; height:100px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 60%, #0e0602 100%); border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: sc3-figure 6s ease-in-out infinite; }
.scn-opium-dosed-patient .yashmak{ position:absolute; bottom:50%; left:38%; width:30px; height:16px; background: linear-gradient(180deg, #4a3020 0%, #3a2014 50%, #2a1810 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.scn-opium-dosed-patient .eyes   { position:absolute; bottom:55%; left:42%; width:12px; height:6px; background: radial-gradient(ellipse, #1a0e08 0%, #0e0604 100%); border-radius: 50%; box-shadow: -3px 0 0 2px rgba(30,20,14,.6); animation: sc3-eyes 4s ease-in-out infinite alternate; }
.scn-opium-dosed-patient .lamp   { position:absolute; bottom:60%; left:70%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 30%, #d08030 0%, #a05018 50%, #602808 100%); border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%; box-shadow: 0 0 50px 16px #d08030, 0 0 100px 30px rgba(180,100,40,.3); animation: sc3-lamp 3s ease-in-out infinite alternate; }
.scn-opium-dosed-patient .shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.5) 100%); border-radius: 40% 40% 0 0 / 15% 15% 0 0; }
@keyframes sc3-wall   { 0% { background: linear-gradient(90deg, #0e0a08 0%, #1a100c 30%, #0e0a08 70%, #0a0604 100%) } 50% { background: linear-gradient(90deg, #0e0a08 0%, #2a180e 30%, #0e0a08 70%, #0a0604 100%) } 100% { background: linear-gradient(90deg, #0a0604 0%, #1a100c 30%, #0e0a08 70%, #0a0604 100%) } }
@keyframes sc3-figure { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(1deg) translateY(-1px) } 50% { transform: rotate(-1deg) translateY(0) } 75% { transform: rotate(1deg) translateY(-1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes sc3-eyes   { 0% { filter: brightness(.7) } 50% { filter: brightness(1) } 100% { filter: brightness(.8) } }
@keyframes sc3-lamp   { 0% { filter: brightness(.85); box-shadow: 0 0 40px 12px #d08030, 0 0 80px 24px rgba(180,100,40,.2) } 50% { filter: brightness(1.1); box-shadow: 0 0 60px 20px #e09040, 0 0 120px 40px rgba(200,120,48,.4) } 100% { filter: brightness(.9); box-shadow: 0 0 45px 14px #d08030, 0 0 90px 28px rgba(180,100,40,.25) } }

/* operation-cut */
.scn-operation-cut { background: 
  linear-gradient(180deg, #0e0806 0%, #1a0e0a 30%, #2a1410 60%, #0e0a06 100%),
  radial-gradient(ellipse at 60% 40%, #3a1a0e 0%, transparent 60%);
}
.scn-operation-cut .bg-dark     { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #0a0604 0%, #1a100c 100%); animation: sc4-bg 12s ease-in-out infinite alternate; }
.scn-operation-cut .face-lower  { position:absolute; bottom:35%; left:40%; width:60px; height:50px; background: linear-gradient(180deg, #3a2218 0%, #2a1810 50%, #1a0e0a 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform: rotate(5deg); animation: sc4-face 3s ease-in-out infinite alternate; }
.scn-operation-cut .lip-wound   { position:absolute; bottom:33%; left:42%; width:18px; height:10px; background: linear-gradient(180deg, #5e1a1d 0%, #4a1215 50%, #3a0e10 100%); border-radius: 10% 10% 40% 40% / 20% 20% 50% 50%; box-shadow: 0 0 8px 3px rgba(74,18,21,.5); animation: sc4-wound 2s ease-in-out infinite alternate; }
.scn-operation-cut .hand-surgeon{ position:absolute; bottom:20%; left:50%; width:50px; height:60px; background: linear-gradient(180deg, #3a2218 0%, #2a1810 50%, #1a0e0a 100%); border-radius: 50% 40% 30% 40% / 60% 40% 30% 40%; transform: rotate(-10deg); transform-origin: 40% 80%; animation: sc4-hand 2.5s ease-in-out infinite alternate; }
.scn-operation-cut .hand-forceps{ position:absolute; bottom:30%; left:46%; width:30px; height:40px; background: linear-gradient(180deg, #6a4a3a 0%, #4a3020 50%, #2a1a10 100%); border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%; transform: rotate(15deg); animation: sc4-forceps 1.5s ease-in-out infinite alternate; }
.scn-operation-cut .knife       { position:absolute; bottom:25%; left:30%; width:70px; height:6px; background: linear-gradient(90deg, #6a4a3a 0%, #8a6050 30%, #a08070 60%, #8a6050 100%); border-radius: 30% 60% 60% 30%; transform: rotate(-25deg); box-shadow: 0 1px 4px rgba(0,0,0,.4); animation: sc4-knife 2s ease-in-out infinite alternate; }
.scn-operation-cut .glow        { position:absolute; bottom:40%; left:55%; width:40px; height:40px; background: radial-gradient(circle, #d08030 0%, #a05018 40%, transparent 100%); box-shadow: 0 0 60px 20px rgba(180,100,40,.3); animation: sc4-glow 3s ease-in-out infinite alternate; }
.scn-operation-cut .shadow      { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.6) 100%); border-radius: 30% 30% 0 0 / 10% 10% 0 0; }
@keyframes sc4-bg    { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes sc4-face  { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes sc4-wound { 0% { filter: brightness(.7); transform: scale(1) } 50% { filter: brightness(1); transform: scale(1.02) } 100% { filter: brightness(.8); transform: scale(.98) } }
@keyframes sc4-hand  { 0% { transform: rotate(-10deg) scale(1) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-10deg) scale(.98) } }
@keyframes sc4-forceps { 0% { transform: rotate(15deg) translateX(0) } 50% { transform: rotate(12deg) translateX(2px) } 100% { transform: rotate(15deg) translateX(-1px) } }
@keyframes sc4-knife { 0% { transform: rotate(-25deg) translateX(0) } 50% { transform: rotate(-22deg) translateX(2px) } 100% { transform: rotate(-25deg) translateX(-1px) } }
@keyframes sc4-glow  { 0% { filter: brightness(.85); scale: .95 } 50% { filter: brightness(1.1); scale: 1.05 } 100% { filter: brightness(.9); scale: .98 } }

.scn-item-bangle {
  background: linear-gradient(180deg, #1a1a2e 0%, #2e1a3e 40%, #1a0a1a 100%), radial-gradient(ellipse at 50% 0%, #3a2a4e 0%, transparent 60%);
}
.scn-item-bangle .bg-deep { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a1a3a 0%, transparent 100%); animation: ib-bg 10s ease-in-out infinite alternate; }
.scn-item-bangle .desk   { position:absolute; bottom:10%; left:15%; right:15%; height:35%; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a1a 100%); border-radius:4px; box-shadow: inset 0 8px 20px rgba(0,0,0,.7); animation: ib-desk 8s ease-in-out infinite alternate; }
.scn-item-bangle .lamp   { position:absolute; bottom:42%; left:25%; width:20px; height:40px; background: radial-gradient(circle at 50% 20%, #e0b060 0%, #805030 70%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 30px 8px #b07040, 0 0 60px 20px rgba(176,112,64,.4); animation: ib-lamp 2s ease-in-out infinite alternate; }
.scn-item-bangle .bangle { position:absolute; bottom:16%; left:55%; width:26px; height:26px; background: radial-gradient(circle, #c08060 0%, #a06040 100%); border-radius:50%; box-shadow: 0 0 10px 2px #a06040; animation: ib-bangle 3s ease-in-out infinite; }
.scn-item-bangle .shadow { position:absolute; bottom:12%; left:52%; width:30px; height:8px; background: rgba(0,0,0,.5); border-radius:50%; filter:blur(4px); animation: ib-shadow 3s ease-in-out infinite; }
.scn-item-bangle .hand   { position:absolute; bottom:12%; left:48%; width:14px; height:28px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ib-hand 2s ease-in-out infinite alternate; }
.scn-item-bangle .letter { position:absolute; bottom:20%; left:28%; width:34px; height:18px; background: linear-gradient(135deg, #e0d0b0 0%, #c0b090 100%); border-radius:2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: ib-letter 6s ease-in-out infinite; }
@keyframes ib-bg    { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes ib-desk  { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ib-lamp  { 0% { box-shadow: 0 0 20px 4px #905030, 0 0 40px 10px rgba(144,80,48,.3); opacity:.85 } 50% { box-shadow: 0 0 40px 12px #c08050, 0 0 70px 20px rgba(192,128,80,.5); opacity:1 } 100% { box-shadow: 0 0 25px 6px #a06040, 0 0 50px 14px rgba(160,96,64,.4); opacity:.9 } }
@keyframes ib-bangle{ 0% { transform: rotate(0deg) scale(1) } 50% { transform: rotate(180deg) scale(1.05) } 100% { transform: rotate(360deg) scale(1) } }
@keyframes ib-shadow{ 0% { transform: scaleX(1) scaleY(1) } 50% { transform: scaleX(1.1) scaleY(0.95) } 100% { transform: scaleX(1) scaleY(1) } }
@keyframes ib-hand  { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-2px) rotate(3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes ib-letter{ 0% { transform: rotate(-5deg) } 50% { transform: rotate(-3deg) translateY(-1px) } 100% { transform: rotate(-5deg) } }

.scn-winter-night {
  background: linear-gradient(180deg, #0a0a1e 0%, #1a1a3e 30%, #0a0a2e 100%), radial-gradient(ellipse at 50% 100%, #2a2a4e 0%, transparent 70%);
}
.scn-winter-night .wall          { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%); animation: wn-wall 15s ease-in-out infinite alternate; }
.scn-winter-night .window-frame  { position:absolute; bottom:30%; left:30%; right:30%; top:20%; background: linear-gradient(135deg, #3a3a4e 0%, #1a1a2e 100%); border-radius:8px; box-shadow: inset 0 0 0 4px #2a2a3e; animation: wn-frame 8s ease-in-out infinite alternate; }
.scn-winter-night .pane          { position:absolute; bottom:32%; left:32%; right:32%; top:22%; background: radial-gradient(ellipse at 50% 50%, #6a8aae 0%, #3a4a6e 100%); opacity:.6; filter: blur(2px); border-radius:4px; animation: wn-pane 5s ease-in-out infinite alternate; }
.scn-winter-night .curtain-left  { position:absolute; bottom:32%; left:30%; top:20%; width:12%; background: linear-gradient(180deg, #4a3a4e 0%, #2a1a2e 100%); border-radius:0 40% 40% 0; filter: blur(1px); animation: wn-curtain 10s ease-in-out infinite alternate; }
.scn-winter-night .curtain-right { position:absolute; bottom:32%; right:30%; top:20%; width:12%; background: linear-gradient(180deg, #4a3a4e 0%, #2a1a2e 100%); border-radius:40% 0 0 40%; filter: blur(1px); animation: wn-curtain 10s ease-in-out infinite alternate-reverse; }
.scn-winter-night .figure        { position:absolute; bottom:30%; left:48%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wn-figure 4s ease-in-out infinite; }
.scn-winter-night .snowflake     { position:absolute; width:4px; height:4px; background:rgba(255,255,255,.7); border-radius:50%; filter:blur(1px); }
.scn-winter-night .snowflake.one  { top:10%; left:20%; animation: wn-snow 18s linear infinite; }
.scn-winter-night .snowflake.two  { top:30%; left:60%; animation: wn-snow 25s linear infinite 5s; }
.scn-winter-night .snowflake.three{ top:50%; left:40%; animation: wn-snow 22s linear infinite 10s; }
@keyframes wn-wall    { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wn-frame   { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes wn-pane    { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.6 } }
@keyframes wn-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes wn-figure  { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(2px) rotate(2deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes wn-snow    { 0% { transform: translateY(0) translateX(0) rotate(0deg); opacity:1 } 50% { transform: translateY(40vh) translateX(20px) rotate(180deg); opacity:.6 } 100% { transform: translateY(80vh) translateX(40px) rotate(360deg); opacity:0 } }

.scn-stone-dinner {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 30%, #1a0a00 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%);
}
.scn-stone-dinner .fireplace { position:absolute; bottom:20%; left:10%; right:70%; top:0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 0 30px 10px #a06020; animation: sd-fireplace 4s ease-in-out infinite alternate; }
.scn-stone-dinner .mantel    { position:absolute; bottom:58%; left:8%; right:68%; height:6%; background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-stone-dinner .table     { position:absolute; bottom:22%; left:25%; right:10%; height:18%; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:8px 8px 0 0; box-shadow: inset 0 0 20px 5px rgba(0,0,0,.6); animation: sd-table 12s ease-in-out infinite alternate; }
.scn-stone-dinner .chair     { position:absolute; bottom:20%; left:30%; width:16%; height:28%; background: linear-gradient(180deg, #5a3a1a 0%, #2a1a0a 100%); border-radius:10% 10% 30% 30% / 20% 20% 40% 40%; transform-origin: bottom center; animation: sd-chair 6s ease-in-out infinite; }
.scn-stone-dinner .port-glass{ position:absolute; bottom:28%; left:42%; width:16px; height:26px; background: radial-gradient(circle at 50% 40%, #f0c060 0%, #b08040 60%); border-radius:0 0 40% 40%; box-shadow: 0 0 20px 6px #c09050, 0 0 40px 12px rgba(192,144,80,.3); animation: sd-glass 3s ease-in-out infinite alternate; }
.scn-stone-dinner .bottle    { position:absolute; bottom:26%; left:50%; width:12px; height:34px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:4px; transform: rotate(-5deg); animation: sd-bottle 8s ease-in-out infinite; }
.scn-stone-dinner .figure    { position:absolute; bottom:20%; left:34%; width:22px; height:48px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0000 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sd-figure 4s ease-in-out infinite; }
.scn-stone-dinner .flame     { position:absolute; bottom:62%; left:16%; width:10px; height:20px; background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #c06020 60%, transparent 100%); border-radius:50%; filter: blur(2px); animation: sd-flame 1.5s ease-in-out infinite alternate; }
@keyframes sd-fireplace{ 0% { box-shadow: inset 0 0 20px 6px #804020 } 50% { box-shadow: inset 0 0 40px 14px #c06030 } 100% { box-shadow: inset 0 0 25px 8px #905028 } }
@keyframes sd-table    { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes sd-chair    { 0% { transform: rotate(0deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes sd-glass    { 0% { box-shadow: 0 0 15px 4px #a07040, 0 0 30px 8px rgba(160,112,64,.3); opacity:.9 } 50% { box-shadow: 0 0 30px 10px #d09060, 0 0 60px 18px rgba(208,144,96,.5); opacity:1 } 100% { box-shadow: 0 0 20px 6px #b08050, 0 0 40px 12px rgba(176,128,80,.4); opacity:.95 } }
@keyframes sd-bottle   { 0% { transform: rotate(-5deg) } 50% { transform: rotate(-3deg) } 100% { transform: rotate(-5deg) } }
@keyframes sd-figure   { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sd-flame    { 0% { transform: scaleY(1) scaleX(1); opacity:.8 } 50% { transform: scaleY(1.2) scaleX(0.9); opacity:1 } 100% { transform: scaleY(1) scaleX(1); opacity:.85 } }

.scn-operation-success {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%), radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-operation-success .bg-wall  { position:absolute; inset:0; background: linear-gradient(180deg, #2e1e0e 0%, #1a0e00 100%); animation: os-wall 12s ease-in-out infinite alternate; }
.scn-operation-success .bg-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-operation-success .table    { position:absolute; bottom:20%; left:20%; right:20%; height:18%; background: linear-gradient(135deg, #5a4a3a 0%, #2a1a0a 100%); border-radius:8px; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: os-table 8s ease-in-out infinite alternate; }
.scn-operation-success .patient  { position:absolute; bottom:22%; left:28%; right:28%; height:12%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20% / 50% 50% 20% 20%; animation: os-patient 6s ease-in-out infinite; }
.scn-operation-success .lamp     { position:absolute; bottom:60%; left:35%; right:35%; height:10%; background: radial-gradient(ellipse at 50% 100%, #f0c070 0%, #c08040 60%, transparent 100%); border-radius:50%; filter: blur(3px); animation: os-lamp 3s ease-in-out infinite alternate; }
.scn-operation-success .tool     { position:absolute; bottom:28%; left:46%; width:8px; height:24px; background: linear-gradient(180deg, #d0b090 0%, #a08060 100%); border-radius:2px; transform: rotate(15deg); box-shadow: 0 0 10px 2px #b09070; animation: os-tool 4s ease-in-out infinite; }
.scn-operation-success .hand     { position:absolute; bottom:24%; left:44%; width:14px; height:26px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: os-hand 2s ease-in-out infinite alternate; }
.scn-operation-success .candle   { position:absolute; bottom:20%; left:70%; width:6px; height:30px; background: linear-gradient(180deg, #e0c080 0%, #a08050 100%); border-radius:2px; box-shadow: 0 0 12px 4px #c09060; animation: os-candle 5s ease-in-out infinite; }
@keyframes os-wall   { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes os-table  { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes os-patient{ 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes os-lamp   { 0% { opacity:.8; transform: scaleY(0.95) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.9; transform: scaleY(0.95) } }
@keyframes os-tool   { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-1px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes os-hand   { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-1px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes os-candle { 0% { transform: translateY(0) scaleY(1); opacity:.9 } 50% { transform: translateY(-2px) scaleY(1.1); opacity:1 } 100% { transform: translateY(0) scaleY(1); opacity:.95 } }

.scn-passion-lady-sannox {
  background:
    linear-gradient(180deg, #2a1f14 0%, #3d2c1f 40%, #4a3628 70%, #5a4030 100%),
    radial-gradient(ellipse at 50% 70%, #6a4f3a 0%, transparent 60%);
}
.scn-passion-lady-sannox .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1f14, #1f1510 50%, #2a1f14); animation: pls-wall 12s ease-in-out infinite alternate;
}
.scn-passion-lady-sannox .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 4%; background: linear-gradient(180deg, #6a4a32, #4a3020); border-radius: 2px; box-shadow: 0 -4px 8px rgba(0,0,0,0.5); animation: pls-table 6s ease-in-out infinite;
}
.scn-passion-lady-sannox .vase {
  position: absolute; bottom: 24%; left: 48%; width: 12px; height: 28px; background: linear-gradient(180deg, #b87878, #8a5c5c); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: pls-vase 8s ease-in-out infinite alternate;
}
.scn-passion-lady-sannox .wine-bottles {
  position: absolute; bottom: 24%; left: 35%; width: 8px; height: 24px; background: linear-gradient(180deg, #2d4a2d, #1a2a1a); border-radius: 30% 30% 10% 10%; box-shadow: 12px 0 0 #2d4a2d, 24px 0 0 #2d4a2d; animation: pls-bottles 10s ease-in-out infinite;
}
.scn-passion-lady-sannox .lady-silhouette {
  position: absolute; bottom: 24%; left: 55%; width: 20px; height: 40px; background: linear-gradient(180deg, #1a1410, #0a0806); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pls-lady 5s ease-in-out infinite;
}
.scn-passion-lady-sannox .candle-glow {
  position: absolute; bottom: 30%; left: 42%; width: 8px; height: 12px; background: radial-gradient(circle, #f0c068 0%, #d4a373 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 20px 6px #d4a373, 0 0 40px 12px rgba(212,163,115,0.4); animation: pls-candle 3s ease-in-out infinite alternate;
}
.scn-passion-lady-sannox .curtains {
  position: absolute; top: 0; bottom: 0; left: 0; width: 12%; background: linear-gradient(90deg, #3d2c1f, #2a1f14); border-radius: 0 20% 20% 0; box-shadow: 8px 0 12px rgba(0,0,0,0.6); animation: pls-curtain-left 20s ease-in-out infinite alternate;
}
@keyframes pls-wall {
  0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.8; }
}
@keyframes pls-table {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); }
}
@keyframes pls-vase {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); } 50% { transform: translateX(2px) rotate(2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(-2deg) scaleY(0.98); }
}
@keyframes pls-bottles {
  0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); }
}
@keyframes pls-lady {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); } 33% { transform: translateX(4px) translateY(-1px) rotate(1deg); } 66% { transform: translateX(-2px) translateY(1px) rotate(0deg); } 100% { transform: translateX(2px) translateY(0) rotate(-1deg); }
}
@keyframes pls-candle {
  0% { box-shadow: 0 0 15px 4px #d4a373, 0 0 30px 8px rgba(212,163,115,0.3); opacity: 0.85; } 50% { box-shadow: 0 0 25px 8px #f0c068, 0 0 50px 16px rgba(240,192,104,0.5); opacity: 1; } 100% { box-shadow: 0 0 18px 5px #d4a373, 0 0 35px 10px rgba(212,163,115,0.35); opacity: 0.9; }
}
@keyframes pls-curtain-left {
  0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(0.98); }
}

.scn-lord-sannox {
  background:
    linear-gradient(180deg, #1a1512 0%, #2a221e 40%, #3a302c 70%, #4a3e3a 100%),
    radial-gradient(ellipse at 50% 60%, #3a302c 0%, transparent 70%);
}
.scn-lord-sannox .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1512, #120f0d 50%, #1a1512); animation: ls-wall 14s ease-in-out infinite alternate;
}
.scn-lord-sannox .armchair {
  position: absolute; bottom: 18%; left: 30%; right: 30%; height: 30%; background: linear-gradient(180deg, #4a3a2e, #2a1e14); border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%; box-shadow: inset 0 8px 12px rgba(0,0,0,0.4); animation: ls-chair 9s ease-in-out infinite;
}
.scn-lord-sannox .figure-seated {
  position: absolute; bottom: 28%; left: 38%; right: 38%; height: 28%; background: linear-gradient(180deg, #2a221e, #1a1512); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ls-figure 6s ease-in-out infinite alternate;
}
.scn-lord-sannox .face-profile {
  position: absolute; bottom: 48%; left: 44%; width: 14px; height: 18px; background: #1a1512; border-radius: 50% 40% 50% 40% / 60% 50% 60% 50%; transform: rotate(5deg); filter: blur(1px); animation: ls-face 8s ease-in-out infinite;
}
.scn-lord-sannox .lamp-glow {
  position: absolute; bottom: 50%; left: 65%; width: 10px; height: 14px; background: radial-gradient(circle, #e0c8a0, #c0a880 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 16px 4px #c0a880, 0 0 32px 8px rgba(192,168,128,0.4); animation: ls-lamp 4s ease-in-out infinite alternate;
}
.scn-lord-sannox .bookshelf {
  position: absolute; top: 8%; right: 8%; width: 15%; height: 40%; background: linear-gradient(180deg, #3a2a1e, #2a1a10); border-radius: 4px; box-shadow: inset 0 0 8px rgba(0,0,0,0.5); animation: ls-shelf 18s ease-in-out infinite;
}
.scn-lord-sannox .rug {
  position: absolute; bottom: 8%; left: 20%; right: 20%; height: 8%; background: linear-gradient(90deg, #5a3a2e, #4a2a1e, #5a3a2e); border-radius: 30% 30% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: ls-rug 12s ease-in-out infinite alternate;
}
@keyframes ls-wall {
  0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; }
}
@keyframes ls-chair {
  0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.01); }
}
@keyframes ls-figure {
  0% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-2px) rotate(1deg); } 80% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ls-face {
  0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(2px); } 100% { transform: rotate(6deg) translateX(-1px); }
}
@keyframes ls-lamp {
  0% { box-shadow: 0 0 12px 3px #c0a880, 0 0 24px 6px rgba(192,168,128,0.3); opacity: 0.8; } 50% { box-shadow: 0 0 20px 6px #e0c8a0, 0 0 40px 12px rgba(224,200,160,0.5); opacity: 1; } 100% { box-shadow: 0 0 14px 4px #c0a880, 0 0 28px 8px rgba(192,168,128,0.35); opacity: 0.85; }
}
@keyframes ls-shelf {
  0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); }
}
@keyframes ls-rug {
  0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(0.98); }
}

.scn-lord-awareness {
  background:
    linear-gradient(180deg, #1a1f1a 0%, #2a332a 40%, #3a453a 70%, #4a554a 100%),
    radial-gradient(ellipse at 50% 80%, #2a332a 0%, transparent 60%);
}
.scn-lord-awareness .bg-glass {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1f1a, #141914 50%, #1a1f1a); animation: la-glass 15s ease-in-out infinite alternate;
}
.scn-lord-awareness .shelf-plants {
  position: absolute; bottom: 40%; left: 10%; right: 10%; height: 6%; background: linear-gradient(180deg, #3a4a3a, #2a3a2a); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: la-shelf 10s ease-in-out infinite;
}
.scn-lord-awareness .watering-can {
  position: absolute; bottom: 32%; left: 20%; width: 10px; height: 18px; background: linear-gradient(180deg, #7a6a4a, #5a4a2a); border-radius: 20% 20% 10% 10%; transform: rotate(15deg); transform-origin: bottom right; animation: la-can 7s ease-in-out infinite;
}
.scn-lord-awareness .figure-gardener {
  position: absolute; bottom: 24%; left: 45%; width: 22px; height: 38px; background: linear-gradient(180deg, #2a2a1a, #1a1a0e); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: la-gardener 5s ease-in-out infinite;
}
.scn-lord-awareness .spud {
  position: absolute; bottom: 28%; left: 52%; width: 4px; height: 20px; background: #5a4a2a; border-radius: 20% 20% 40% 40% / 10% 10% 30% 30%; transform: rotate(-20deg); animation: la-spud 6s ease-in-out infinite alternate;
}
.scn-lord-awareness .plant-shadows {
  position: absolute; bottom: 46%; left: 15%; right: 15%; height: 20%; background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, transparent 100%); filter: blur(4px); animation: la-shadows 12s ease-in-out infinite;
}
.scn-lord-awareness .light-beams {
  position: absolute; top: 0; left: 30%; width: 3px; height: 100%; background: linear-gradient(180deg, rgba(200,220,180,0.15) 0%, rgba(200,220,180,0.05) 50%, transparent 100%); transform: rotate(5deg); animation: la-beams 20s linear infinite;
}
@keyframes la-glass {
  0% { opacity: 0.9; } 50% { opacity: 0.95; } 100% { opacity: 0.85; }
}
@keyframes la-shelf {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); }
}
@keyframes la-can {
  0% { transform: rotate(15deg) translateX(0); } 33% { transform: rotate(10deg) translateX(3px); } 66% { transform: rotate(18deg) translateX(-2px); } 100% { transform: rotate(15deg) translateX(0); }
}
@keyframes la-gardener {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(-2px) translateY(0) rotate(-2deg); } 75% { transform: translateX(3px) translateY(1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes la-spud {
  0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-2px); } 100% { transform: rotate(-25deg) translateY(0); }
}
@keyframes la-shadows {
  0% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.05); } 100% { opacity: 0.5; transform: scaleY(0.95); }
}
@keyframes la-beams {
  0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(20px); } 100% { transform: rotate(7deg) translateX(-20px); }
}

.scn-scandal-open {
  background:
    linear-gradient(180deg, #1a1412 0%, #2a1e1a 40%, #3a2824 70%, #4a322e 100%),
    radial-gradient(ellipse at 50% 50%, #2a1e1a 0%, transparent 70%);
}
.scn-scandal-open .bg-smoking-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1412, #120e0c 50%, #1a1412); animation: so-room 16s ease-in-out infinite alternate;
}
.scn-scandal-open .chair-left {
  position: absolute; bottom: 20%; left: 10%; width: 18%; height: 30%; background: linear-gradient(180deg, #3a2a22, #2a1a12); border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%; box-shadow: 4px 0 8px rgba(0,0,0,0.4); animation: so-chair-l 10s ease-in-out infinite;
}
.scn-scandal-open .chair-right {
  position: absolute; bottom: 22%; right: 10%; width: 18%; height: 28%; background: linear-gradient(180deg, #3a2a22, #2a1a12); border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%; box-shadow: -4px 0 8px rgba(0,0,0,0.4); animation: so-chair-r 12s ease-in-out infinite;
}
.scn-scandal-open .figure-standing {
  position: absolute; bottom: 24%; left: 40%; width: 18px; height: 36px; background: linear-gradient(180deg, #1a1410, #0c0a08); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: so-figure 6s ease-in-out infinite alternate;
}
.scn-scandal-open .horse-silhouette {
  position: absolute; bottom: 20%; left: 52%; width: 28px; height: 20px; background: #1a1410; border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform: scaleX(-1); animation: so-horse 8s ease-in-out infinite;
}
.scn-scandal-open .shadows {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, transparent 100%); filter: blur(6px); animation: so-shadows 14s ease-in-out infinite;
}
.scn-scandal-open .smoke {
  position: absolute; top: 20%; left: 45%; width: 20px; height: 30px; background: radial-gradient(circle, rgba(200,180,160,0.2) 0%, transparent 70%); filter: blur(8px); animation: so-smoke 20s linear infinite;
}
@keyframes so-room {
  0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; }
}
@keyframes so-chair-l {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); }
}
@keyframes so-chair-r {
  0%,100% { transform: translateY(0); } 50% { transform: translateY(2px); }
}
@keyframes so-figure {
  0% { transform: translateX(0) translateY(0) rotate(0deg); } 33% { transform: translateX(3px) translateY(-2px) rotate(2deg); } 66% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 100% { transform: translateX(1px) translateY(0) rotate(0deg); }
}
@keyframes so-horse {
  0% { transform: scaleX(-1) translateX(0) rotate(0deg); } 50% { transform: scaleX(-1) translateX(-2px) rotate(5deg); } 100% { transform: scaleX(-1) translateX(0) rotate(-5deg); }
}
@keyframes so-shadows {
  0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.6; }
}
@keyframes so-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.3; } 50% { transform: translateY(-20px) scale(1.5); opacity: 0.1; } 100% { transform: translateY(-40px) scale(2); opacity: 0; }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.scn { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-poison-story {
  background: 
    linear-gradient(180deg, #2b1a0e 0%, #4a2a18 40%, #6a3a22 100%),
    radial-gradient(ellipse at 50% 100%, #8a4a2e 0%, transparent 70%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.6);
}
.scn-poison-story .bg-fire {
  position: absolute; inset: 30% 20% 0 20%; height: 50%;
  background: linear-gradient(0deg, #5a2a12 0%, #8a3a1e 40%, transparent 100%);
  border-radius: 0 0 40% 40%;
  animation: ps-fire 5s ease-in-out infinite alternate;
}
.scn-poison-story .mantel {
  position: absolute; bottom: 50%; left: 20%; right: 20%; height: 6%;
  background: linear-gradient(180deg, #4a2a1a 0%, #3a1a0a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.8);
}
.scn-poison-story .fireplace-glow {
  position: absolute; bottom: 48%; left: 35%; right: 35%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #c8553d 0%, #8a3a1e 50%, transparent 80%);
  opacity: 0.6;
  animation: ps-glow 3s ease-in-out infinite alternate;
}
.scn-poison-story .table {
  position: absolute; bottom: 18%; left: 25%; right: 25%; height: 20%;
  background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%);
  border-radius: 20px 20px 4px 4px;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.7);
}
.scn-poison-story .dagger {
  position: absolute; bottom: 28%; left: 48%; width: 40px; height: 6px;
  background: linear-gradient(90deg, #a0461a 0%, #6a2a0e 50%, #a0461a 100%);
  border-radius: 50%;
  transform: rotate(30deg);
  animation: ps-dagger 4s ease-in-out infinite;
}
.scn-poison-story .shadow-figure {
  position: absolute; bottom: 0; left: 10%; width: 30%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #1a0a06 0%, transparent 70%);
  border-radius: 50% 50% 0 0;
  filter: blur(8px);
  animation: ps-shadow 6s ease-in-out infinite alternate;
}
.scn-poison-story .ember {
  position: absolute; bottom: 38%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ff8a4a 0%, #c8553d 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-poison-story .ember-a {
  left: 30%; animation: ps-ember 2.5s ease-in-out infinite;
}
.scn-poison-story .ember-b {
  left: 60%; animation: ps-ember 3.2s ease-in-out infinite 1s;
}
@keyframes ps-fire {
  0% { opacity: 0.7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.08); }
  100% { opacity: 0.8; transform: scaleY(0.95); }
}
@keyframes ps-glow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.5; transform: scale(0.98); }
}
@keyframes ps-dagger {
  0% { transform: rotate(25deg) translateX(0); }
  50% { transform: rotate(35deg) translateX(3px); }
  100% { transform: rotate(25deg) translateX(0); }
}
@keyframes ps-shadow {
  0% { opacity: 0.3; transform: translateX(0); }
  50% { opacity: 0.5; transform: translateX(-5px); }
  100% { opacity: 0.4; transform: translateX(2px); }
}
@keyframes ps-ember {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-20px) scale(0.6); opacity: 0.5; }
  100% { transform: translateY(0) scale(0.3); opacity: 0; }
}

.scn-operation-decision {
  background: 
    linear-gradient(180deg, #1a0e0a 0%, #3a1a10 40%, #5a2a18 100%),
    radial-gradient(ellipse at 50% 20%, #a0461a 0%, transparent 70%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.8);
}
.scn-operation-decision .table-surg {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 30px 30px 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.7);
}
.scn-operation-decision .arm {
  position: absolute; bottom: 18%; left: 20%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  border-radius: 30px 30px 0 0;
  transform-origin: bottom center;
  animation: od-arm 4s ease-in-out infinite alternate;
}
.scn-operation-decision .scalpel {
  position: absolute; bottom: 30%; left: 45%; width: 50px; height: 8px;
  background: linear-gradient(90deg, #8a6a4a 0%, #c0a080 50%, #8a6a4a 100%);
  border-radius: 50%;
  transform: rotate(-20deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: od-scalpel 3s ease-in-out infinite;
}
.scn-operation-decision .lamp {
  position: absolute; top: 8%; left: 35%; right: 35%; height: 12%;
  background: radial-gradient(ellipse at 50% 0%, #ffaa55 0%, #a0461a 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #a0461a;
  animation: od-lamp 5s ease-in-out infinite alternate;
}
.scn-operation-decision .shadow-hand {
  position: absolute; bottom: 25%; left: 30%; width: 15%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #1a0a06 0%, transparent 70%);
  border-radius: 40% 60% 0 0;
  filter: blur(6px);
  animation: od-hand 4.5s ease-in-out infinite alternate;
}
.scn-operation-decision .cut-line {
  position: absolute; bottom: 32%; left: 22%; right: 38%; height: 2px;
  background: #702243;
  border-radius: 50%;
  box-shadow: 0 0 6px #702243;
  animation: od-cut 3s ease-in-out infinite;
}
.scn-operation-decision .drop {
  position: absolute; bottom: 40%; left: 50%; width: 6px; height: 6px;
  background: radial-gradient(circle, #a0461a 0%, #4a1a0a 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: od-drop 6s ease-in-out infinite;
}
@keyframes od-arm {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg); }
  100% { transform: rotate(2deg); }
}
@keyframes od-scalpel {
  0% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-25deg) translateX(-2px); }
  100% { transform: rotate(-20deg) translateX(0); }
}
@keyframes od-lamp {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes od-hand {
  0% { opacity: 0.3; transform: translateX(0); }
  50% { opacity: 0.5; transform: translateX(8px); }
  100% { opacity: 0.4; transform: translateX(-3px); }
}
@keyframes od-cut {
  0% { width: 10%; }
  50% { width: 20%; }
  100% { width: 15%; }
}
@keyframes od-drop {
  0% { transform: translateY(0) scale(1); opacity: 0; }
  30% { opacity: 1; }
  70% { opacity: 0.5; }
  100% { transform: translateY(30px) scale(0.5); opacity: 0; }
}

.scn-leaving-arrangement {
  background: 
    linear-gradient(180deg, #1a1210 0%, #2a1a14 50%, #3a221a 100%),
    radial-gradient(ellipse at 50% 100%, #6a3a22 0%, transparent 70%);
}
.scn-leaving-arrangement .cab-window {
  position: absolute; top: 10%; left: 15%; right: 15%; bottom: 30%;
  background: linear-gradient(180deg, #0a1a22 0%, #0e222e 100%);
  border: 6px solid #3a221a;
  border-radius: 20px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
}
.scn-leaving-arrangement .rain {
  position: absolute; top: 10%; left: 15%; right: 15%; bottom: 30%;
  background: repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(180,200,220,0.1) 8px, rgba(180,200,220,0.1) 10px);
  pointer-events: none;
}
.scn-leaving-arrangement .raina {
  animation: la-rain 1.5s linear infinite;
}
.scn-leaving-arrangement .rainb {
  opacity: 0.5;
  animation: la-rain 1.8s linear infinite 0.5s;
}
.scn-leaving-arrangement .figure-silhouette {
  position: absolute; bottom: 35%; left: 35%; width: 25%; height: 35%;
  background: radial-gradient(ellipse at 50% 100%, #0a0a0a 0%, transparent 70%);
  border-radius: 40% 40% 0 0;
  filter: blur(4px);
  animation: la-figure 6s ease-in-out infinite alternate;
}
.scn-leaving-arrangement .seat {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 10px;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.6);
}
.scn-leaving-arrangement .lantern-cab {
  position: absolute; top: 15%; right: 20%; width: 10px; height: 14px;
  background: radial-gradient(circle, #ffaa55 0%, #a0461a 60%, transparent 100%);
  border-radius: 20%;
  box-shadow: 0 0 20px 4px #a0461a;
  animation: la-lantern 3s ease-in-out infinite alternate;
}
.scn-leaving-arrangement .curtain {
  position: absolute; top: 10%; left: 15%; right: 15%; height: 8%;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a3a22 50%, #3a2a1a 100%);
  border-radius: 10px 10px 0 0;
  animation: la-curtain 4s ease-in-out infinite alternate;
}
@keyframes la-rain {
  0% { background-position: 0 0; }
  100% { background-position: 0 60px; }
}
@keyframes la-figure {
  0% { opacity: 0.4; transform: translateX(0); }
  50% { opacity: 0.6; transform: translateX(4px); }
  100% { opacity: 0.5; transform: translateX(-2px); }
}
@keyframes la-lantern {
  0% { box-shadow: 0 0 10px 2px #a0461a; opacity: 0.8; }
  50% { box-shadow: 0 0 30px 6px #c8553d; opacity: 1; }
  100% { box-shadow: 0 0 15px 3px #a0461a; opacity: 0.9; }
}
@keyframes la-curtain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(0.95); }
  100% { transform: scaleX(1.02); }
}

.scn-house-arrival {
  background: 
    linear-gradient(180deg, #0a0e14 0%, #121a24 50%, #1a2630 100%),
    radial-gradient(ellipse at 50% 100%, #1a2630 0%, transparent 70%);
}
.scn-house-arrival .night-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #0e141e 0%, #1a2630 100%);
  animation: ha-sky 12s ease-in-out infinite alternate;
}
.scn-house-arrival .house-silhouette {
  position: absolute; bottom: 10%; left: 50%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #0e141e 0%, #121a24 100%);
  clip-path: polygon(0% 100%, 0% 40%, 50% 0%, 100% 40%, 100% 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: ha-house 15s ease-in-out infinite alternate;
}
.scn-house-arrival .cab-silhouette {
  position: absolute; bottom: 15%; left: 10%; width: 30%; height: 25%;
  background: #0a0e14;
  border-radius: 20% 20% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.7);
  animation: ha-cab 8s ease-in-out infinite alternate;
}
.scn-house-arrival .driver-silhouette {
  position: absolute; bottom: 15%; left: 12%; width: 8%; height: 12%;
  background: radial-gradient(ellipse at 50% 30%, #0a0e14 0%, transparent 70%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: ha-driver 4s ease-in-out infinite;
}
.scn-house-arrival .lamp-post {
  position: absolute; bottom: 10%; right: 20%; width: 4px; height: 30%;
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%);
  border-radius: 2px;
}
.scn-house-arrival .lamp-post::before {
  content: '';
  position: absolute; top: -10px; left: -8px; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffcc66 0%, #a06020 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px #a06020;
  animation: ha-lamp 3s ease-in-out infinite alternate;
}
.scn-house-arrival .rain-streak {
  position: absolute; top: 0; width: 2px; height: 100%;
  background: repeating-linear-gradient(180deg, transparent, transparent 20px, rgba(180,200,220,0.15) 20px, rgba(180,200,220,0.15) 22px);
  pointer-events: none;
}
.scn-house-arrival .streaka {
  left: 5%; animation: ha-rain 1.2s linear infinite;
}
.scn-house-arrival .streakb {
  left: 25%; animation: ha-rain 1.5s linear infinite 0.6s;
}
@keyframes ha-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes ha-house {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.02); opacity: 1; }
  100% { transform: scaleY(0.98); opacity: 0.9; }
}
@keyframes ha-cab {
  0% { transform: translateX(0); }
  50% { transform: translateX(8px); }
  100% { transform: translateX(-2px); }
}
@keyframes ha-driver {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-3deg); }
  75% { transform: rotate(3deg); }
  100% { transform: rotate(0deg); }
}
@keyframes ha-lamp {
  0% { box-shadow: 0 0 20px 5px #a06020; opacity: 0.7; }
  50% { box-shadow: 0 0 40px 10px #d08030; opacity: 1; }
  100% { box-shadow: 0 0 25px 6px #a06020; opacity: 0.8; }
}
@keyframes ha-rain {
  0% { background-position: 0 0; }
  100% { background-position: 0 100px; }
}

.scn-bedroom-operation {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e18 40%, #3a2a22 100%),
    radial-gradient(ellipse at 30% 80%, #3a2a22 0%, transparent 70%);
}
.scn-bedroom-operation .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1410 0%, #0f0a08 100%); animation: bo-wall 20s ease-in-out infinite alternate;
}
.scn-bedroom-operation .bed {
  position: absolute; bottom: 20%; left: 15%; right: 15%; height: 30%; background: linear-gradient(180deg, #4a3a30 0%, #3a2a20 100%); border-radius: 10% 10% 20% 20%; box-shadow: inset 0 -8px 20px rgba(0,0,0,0.4); animation: bo-bed 12s ease-in-out infinite;
}
.scn-bedroom-operation .patient {
  position: absolute; bottom: 32%; left: 32%; width: 14%; height: 22%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bo-patient 8s ease-in-out infinite;
}
.scn-bedroom-operation .surgeon {
  position: absolute; bottom: 28%; left: 50%; width: 12%; height: 40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: bo-surgeon 6s ease-in-out infinite alternate;
}
.scn-bedroom-operation .lamp {
  position: absolute; bottom: 55%; left: 20%; width: 8%; height: 12%; background: radial-gradient(circle, #d4a060 0%, #b08040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 40px 20px rgba(180,120,60,0.3), 0 0 80px 40px rgba(180,120,60,0.15); animation: bo-lamp 4s ease-in-out infinite alternate;
}
.scn-bedroom-operation .yashmak {
  position: absolute; bottom: 38%; left: 30%; width: 16%; height: 8%; background: linear-gradient(90deg, rgba(180,160,140,0.3) 0%, rgba(180,160,140,0.1) 100%); border-radius: 40% 60% 30% 70%; filter: blur(4px); animation: bo-yash 10s ease-in-out infinite;
}
.scn-bedroom-operation .wound {
  position: absolute; bottom: 34%; left: 37%; width: 3%; height: 3%; background: radial-gradient(circle, #c8553d 0%, #a0461a 70%, transparent 100%); border-radius: 50%; box-shadow: 0 0 12px 6px rgba(200,85,61,0.4); animation: bo-wound 3s ease-in-out infinite alternate;
}
.scn-bedroom-operation .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); animation: bo-shadow 15s ease-in-out infinite alternate;
}
@keyframes bo-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes bo-bed { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes bo-patient { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes bo-surgeon { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-8px) translateY(-4px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes bo-lamp { 0% { opacity: 0.7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: 0.8; transform: scale(0.95) } }
@keyframes bo-yash { 0% { opacity: 0.3; transform: translateX(0) } 50% { opacity: 0.5; transform: translateX(4px) } 100% { opacity: 0.2; transform: translateX(-2px) } }
@keyframes bo-wound { 0% { opacity: 0.6; transform: scale(1) } 100% { opacity: 1; transform: scale(1.2) } }
@keyframes bo-shadow { 0% { opacity: 0.4 } 50% { opacity: 0.6 } 100% { opacity: 0.3 } }

.scn-revelation {
  background: 
    linear-gradient(180deg, #0f0a10 0%, #1a1418 40%, #2a1e22 100%),
    radial-gradient(ellipse at 40% 70%, #2a1e22 0%, transparent 60%);
}
.scn-revelation .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(135deg, #0a0608 0%, #1a1015 100%); animation: rv-bg 25s ease-in-out infinite alternate;
}
.scn-revelation .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 20%; background: linear-gradient(180deg, #3a2a24 0%, #2a1a14 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: rv-table 15s ease-in-out infinite;
}
.scn-revelation .figure-woman {
  position: absolute; bottom: 28%; left: 28%; width: 16%; height: 28%; background: linear-gradient(180deg, #4a3a32 0%, #2a1a18 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin: bottom center; animation: rv-woman 10s ease-in-out infinite alternate;
}
.scn-revelation .figure-surgeon {
  position: absolute; bottom: 26%; left: 52%; width: 14%; height: 42%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 30% 20% 20% / 70% 60% 30% 30%; transform-origin: bottom center; animation: rv-surgeon 7s ease-in-out infinite alternate;
}
.scn-revelation .knife {
  position: absolute; bottom: 38%; left: 56%; width: 2%; height: 14%; background: linear-gradient(180deg, #a0a0b0 0%, #606070 100%); border-radius: 20% 20% 0 0; transform: rotate(-15deg); transform-origin: bottom center; box-shadow: 0 0 8px 2px rgba(100,100,120,0.5); animation: rv-knife 4s ease-in-out infinite alternate;
}
.scn-revelation .eyes {
  position: absolute; bottom: 44%; left: 32%; width: 4%; height: 2%; background: radial-gradient(circle, #ffd080 0%, #b08030 100%); border-radius: 50%; box-shadow: 0 0 16px 8px rgba(255,208,128,0.3), 0 0 32px 16px rgba(255,208,128,0.1); animation: rv-eyes 3s ease-in-out infinite alternate;
}
.scn-revelation .lamp-dim {
  position: absolute; bottom: 60%; left: 15%; width: 6%; height: 10%; background: radial-gradient(circle, #c09050 0%, #907040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 15px rgba(144,112,64,0.2); animation: rv-lamp 6s ease-in-out infinite alternate;
}
@keyframes rv-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes rv-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes rv-woman { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes rv-surgeon { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-6px) translateY(-3px) rotate(3deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes rv-knife { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-2px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes rv-eyes { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 1; transform: scale(1.3) } 100% { opacity: 0.6; transform: scale(0.9) } }
@keyframes rv-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-item-signet-ring {
  background: 
    linear-gradient(180deg, #1a1412 0%, #2a1e1a 40%, #3a2a22 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a22 0%, transparent 70%);
}
.scn-item-signet-ring .bg-shadow {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, #0f0a08 0%, #080504 100%); animation: sr-bg 30s ease-in-out infinite alternate;
}
.scn-item-signet-ring .hand {
  position: absolute; bottom: 10%; left: 30%; width: 35%; height: 50%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%; transform-origin: bottom center; animation: sr-hand 8s ease-in-out infinite alternate;
}
.scn-item-signet-ring .ring {
  position: absolute; bottom: 34%; left: 46%; width: 8%; height: 8%; background: radial-gradient(circle, #d4b060 0%, #a08040 50%, #705030 100%); border-radius: 50%; box-shadow: 0 0 20px 10px rgba(160,128,64,0.3), 0 0 40px 20px rgba(160,128,64,0.1); animation: sr-ring 4s ease-in-out infinite alternate;
}
.scn-item-signet-ring .revolver {
  position: absolute; bottom: 22%; left: 20%; width: 10%; height: 6%; background: linear-gradient(90deg, #2a2a3a 0%, #4a4a5a 50%, #2a2a3a 100%); border-radius: 20% 60% 60% 20%; transform: rotate(-20deg); box-shadow: 0 4px 8px rgba(0,0,0,0.6); animation: sr-revolver 5s ease-in-out infinite alternate;
}
.scn-item-signet-ring .wound-mark {
  position: absolute; bottom: 30%; left: 42%; width: 3%; height: 3%; background: radial-gradient(circle, #c8553d 0%, #a0461a 70%, transparent 100%); border-radius: 50%; box-shadow: 0 0 10px 4px rgba(200,85,61,0.3); animation: sr-wound 3s ease-in-out infinite alternate;
}
.scn-item-signet-ring .table-edge {
  position: absolute; bottom: 8%; left: 15%; right: 15%; height: 8%; background: linear-gradient(180deg, #3a2a20 0%, #2a1a10 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,0.5); animation: sr-table 12s ease-in-out infinite;
}
@keyframes sr-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes sr-hand { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sr-ring { 0% { opacity: 0.7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) rotate(15deg) } 100% { opacity: 0.8; transform: scale(0.95) rotate(-5deg) } }
@keyframes sr-revolver { 0% { transform: rotate(-20deg) translateX(0) } 50% { transform: rotate(-15deg) translateX(3px) } 100% { transform: rotate(-20deg) translateX(0) } }
@keyframes sr-wound { 0% { opacity: 0.5; transform: scale(0.8) } 100% { opacity: 1; transform: scale(1.2) } }
@keyframes sr-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }

.scn-aftermath {
  background: 
    linear-gradient(180deg, #0a080a 0%, #1a1416 40%, #2a1e1e 100%),
    radial-gradient(ellipse at 60% 80%, #2a1e1e 0%, transparent 70%);
}
.scn-aftermath .bg-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #0a0608 0%, #1a1012 100%); animation: af-bg 25s ease-in-out infinite alternate;
}
.scn-aftermath .door-frame {
  position: absolute; left: 60%; right: 10%; top: 10%; bottom: 20%; background: linear-gradient(180deg, #2a1e1a 0%, #1a100e 100%); border-radius: 10% 10% 0 0; box-shadow: inset 8px 0 20px rgba(0,0,0,0.6), inset -8px 0 20px rgba(0,0,0,0.4); animation: af-door 20s ease-in-out infinite;
}
.scn-aftermath .figure-leaving {
  position: absolute; bottom: 22%; left: 40%; width: 12%; height: 45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 30% 20% 20% / 70% 60% 30% 30%; transform-origin: bottom center; animation: af-figure 8s ease-in-out infinite alternate;
}
.scn-aftermath .window-cab {
  position: absolute; left: 5%; top: 20%; width: 18%; height: 30%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 10%; box-shadow: inset 0 0 20px rgba(100,150,200,0.2); animation: af-window 15s ease-in-out infinite alternate;
}
.scn-aftermath .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #2a1e1a 0%, #1a100e 100%); box-shadow: inset 0 8px 16px rgba(0,0,0,0.5); animation: af-floor 18s ease-in-out infinite;
}
.scn-aftermath .shadow-tip {
  position: absolute; bottom: 20%; left: 35%; width: 20%; height: 4%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.5) 100%); border-radius: 50%; filter: blur(4px); animation: af-shadow 10s ease-in-out infinite alternate;
}
@keyframes af-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes af-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } }
@keyframes af-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-8px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(-16px) translateY(0) rotate(0deg) } }
@keyframes af-window { 0% { opacity: 0.3; transform: scale(1) } 50% { opacity: 0.6; transform: scale(1.05) } 100% { opacity: 0.4; transform: scale(0.95) } }
@keyframes af-floor { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes af-shadow { 0% { opacity: 0.3; transform: translateX(0) } 50% { opacity: 0.6; transform: translateX(10px) } 100% { opacity: 0.4; transform: translateX(5px) } }

/* ==================== RUMOR INTRODUCTION (tense, dawn) ==================== */
.scn-rumor-introduction {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #3a2a4e 30%, #6a5a5e 60%, #bfa070 80%, #e8c090 100%),
    radial-gradient(ellipse at 50% 100%, #e8c090 0%, transparent 60%);
}
.scn-rumor-introduction .sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, rgba(35,30,60,0.8) 0%, transparent 100%);
  animation: ri-sky 12s ease-in-out infinite alternate;
}
.scn-rumor-introduction .horizon {
  position: absolute; left: 0; right: 0; bottom: 45%; height: 2px;
  background: linear-gradient(90deg, transparent, #cfa060, transparent);
  box-shadow: 0 0 20px 4px #cfa060;
  animation: ri-horizon 8s ease-in-out infinite alternate;
}
.scn-rumor-introduction .building-left {
  position: absolute; left: 5%; bottom: 45%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #2a2030 0%, #1a1020 100%);
  border-radius: 4% 4% 0 0;
  transform: skewX(-2deg);
  animation: ri-build 20s ease-in-out infinite alternate;
}
.scn-rumor-introduction .building-right {
  position: absolute; right: 8%; bottom: 45%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #2a2030 0%, #1a1020 100%);
  border-radius: 4% 4% 0 0;
  transform: skewX(1deg);
  animation: ri-build 25s ease-in-out infinite alternate-reverse;
}
.scn-rumor-introduction .figure-center {
  position: absolute; left: 40%; bottom: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1020 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ri-fig1 4s ease-in-out infinite;
}
.scn-rumor-introduction .figure-second {
  position: absolute; left: 52%; bottom: 40%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #1a1020 0%, #0a0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ri-fig2 5s ease-in-out infinite;
}
.scn-rumor-introduction .glow {
  position: absolute; left: 50%; bottom: 45%; width: 200px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(232,192,144,0.4) 0%, transparent 70%);
  animation: ri-glow 4s ease-in-out infinite alternate;
}
@keyframes ri-sky {
  0% { opacity: 0.75; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ri-horizon {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.3); }
  100% { opacity: 0.7; transform: scaleY(1); }
}
@keyframes ri-build {
  0% { transform: skewX(-2deg) scaleY(1); }
  50% { transform: skewX(1deg) scaleY(1.02); }
  100% { transform: skewX(-1deg) scaleY(1); }
}
@keyframes ri-fig1 {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(1deg); }
  50% { transform: translateX(8px) rotate(-1deg); }
  75% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes ri-fig2 {
  0% { transform: translateX(0) rotate(2deg) scaleY(1); }
  33% { transform: translateX(-3px) rotate(-1deg) scaleY(1.01); }
  66% { transform: translateX(3px) rotate(0deg) scaleY(0.99); }
  100% { transform: translateX(0) rotate(2deg) scaleY(1); }
}
@keyframes ri-glow {
  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); }
}

/* ==================== STONE BACKGROUND (calm, bright interior) ==================== */
.scn-stone-background {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e8dcc8 40%, #d0c0a8 100%),
    radial-gradient(ellipse at 30% 50%, #f0e8d0 0%, transparent 60%);
}
.scn-stone-background .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c0a8 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.1);
  animation: sb-wall 20s ease-in-out infinite alternate;
}
.scn-stone-background .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 30%;
  background: linear-gradient(180deg, #b09070 0%, #8a7050 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
  animation: sb-floor 15s ease-in-out infinite alternate;
}
.scn-stone-background .desk {
  position: absolute; left: 25%; bottom: 20%; width: 50%; height: 12%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: sb-desk 8s ease-in-out infinite alternate;
}
.scn-stone-background .books {
  position: absolute; left: 30%; bottom: 30%; width: 8%; height: 15%;
  background: linear-gradient(180deg, #4a3a5a 0%, #2a1a3a 100%);
  border-radius: 2px;
  box-shadow: 2px 0 4px rgba(0,0,0,0.2);
  animation: sb-books 11s ease-in-out infinite alternate;
}
.scn-stone-background .lamp {
  position: absolute; left: 60%; bottom: 25%; width: 12px; height: 25px;
  background: radial-gradient(ellipse at 50% 0%, #ffe090 0%, #c09050 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(255,224,144,0.5);
  animation: sb-lamp 6s ease-in-out infinite alternate;
}
.scn-stone-background .figure {
  position: absolute; left: 40%; bottom: 12%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sb-figure 9s ease-in-out infinite;
}
@keyframes sb-wall {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes sb-floor {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.005); }
  100% { transform: scaleY(1); }
}
@keyframes sb-desk {
  0% { transform: rotateX(0deg) translateY(0); }
  50% { transform: rotateX(2deg) translateY(-1px); }
  100% { transform: rotateX(0deg) translateY(0); }
}
@keyframes sb-books {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(2px) rotate(1deg); }
  66% { transform: translateX(-1px) rotate(-0.5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes sb-lamp {
  0% { box-shadow: 0 0 30px 10px rgba(255,224,144,0.4); opacity: 0.9; }
  50% { box-shadow: 0 0 50px 20px rgba(255,224,144,0.7); opacity: 1; }
  100% { box-shadow: 0 0 35px 12px rgba(255,224,144,0.45); opacity: 0.92; }
}
@keyframes sb-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

/* ==================== STONE STUDY NIGHT (tense, firelit) ==================== */
.scn-stone-study-night {
  background:
    linear-gradient(180deg, #1a1020 0%, #2a1a2a 30%, #1a0a10 60%, #0a0508 100%),
    radial-gradient(ellipse at 50% 70%, #e06030 0%, transparent 70%);
}
.scn-stone-study-night .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, rgba(30,20,30,0.9) 0%, rgba(10,5,10,0.8) 100%);
  animation: ssn-wall 10s ease-in-out infinite alternate;
}
.scn-stone-study-night .fireplace {
  position: absolute; left: 40%; bottom: 18%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 0 20px rgba(200,70,30,0.3);
  animation: ssn-fireplace 15s ease-in-out infinite alternate;
}
.scn-stone-study-night .fire-base {
  position: absolute; left: 45%; bottom: 20%; width: 10%; height: 15%;
  background: radial-gradient(ellipse at 50% 100%, #ff8030 0%, #c04000 60%, transparent 80%);
  border-radius: 50% 50% 30% 30% / 100% 100% 50% 50%;
  animation: ssn-fire1 0.4s ease-in-out infinite alternate;
}
.scn-stone-study-night .fire-tip {
  position: absolute; left: 48%; bottom: 32%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #ffd060 0%, #ff8030 50%, transparent 100%);
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
  animation: ssn-fire2 0.6s ease-in-out infinite alternate;
}
.scn-stone-study-night .figure {
  position: absolute; left: 35%; bottom: 10%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #0a0508 0%, #000000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ssn-figure 5s ease-in-out infinite;
}
.scn-stone-study-night .shadow {
  position: absolute; left: 42%; bottom: 0; width: 25%; height: 40%;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 100%);
  transform: skewX(-10deg);
  animation: ssn-shadow 4s ease-in-out infinite alternate;
}
.scn-stone-study-night .door {
  position: absolute; right: 15%; bottom: 0; width: 12%; height: 70%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0508 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 4px 0 10px rgba(0,0,0,0.6);
  animation: ssn-door 12s ease-in-out infinite alternate;
}
@keyframes ssn-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ssn-fireplace {
  0% { box-shadow: inset 0 0 20px rgba(200,70,30,0.3); }
  50% { box-shadow: inset 0 0 40px rgba(255,80,20,0.5); }
  100% { box-shadow: inset 0 0 20px rgba(200,70,30,0.3); }
}
@keyframes ssn-fire1 {
  0% { transform: scale(1) translateY(0); opacity: 0.9; }
  50% { transform: scale(1.05) translateY(-3px); opacity: 1; }
  100% { transform: scale(0.98) translateY(0); opacity: 0.85; }
}
@keyframes ssn-fire2 {
  0% { transform: scale(1) rotate(-2deg); opacity: 0.7; }
  50% { transform: scale(1.1) rotate(2deg); opacity: 1; }
  100% { transform: scale(0.95) rotate(-1deg); opacity: 0.6; }
}
@keyframes ssn-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-3px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ssn-shadow {
  0% { transform: skewX(-10deg) scaleX(1); opacity: 0.5; }
  50% { transform: skewX(-8deg) scaleX(1.05); opacity: 0.7; }
  100% { transform: skewX(-12deg) scaleX(1); opacity: 0.4; }
}
@keyframes ssn-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}

/* ==================== ITEM DAGGER (tense, firelit) ==================== */
.scn-item-dagger {
  background:
    linear-gradient(180deg, #1a1010 0%, #2a1810 30%, #1a0a08 100%),
    radial-gradient(ellipse at 40% 60%, #d05020 0%, transparent 60%);
}
.scn-item-dagger .table {
  position: absolute; left: 10%; right: 10%; bottom: 0; height: 40%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
  animation: id-table 20s ease-in-out infinite alternate;
}
.scn-item-dagger .dagger {
  position: absolute; left: 45%; bottom: 30%; width: 10%; height: 20%;
  background: linear-gradient(135deg, #6a5a5a 0%, #3a2a2a 40%, #1a1010 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  transform: rotate(-15deg);
  box-shadow: 0 0 30px 8px rgba(200,60,20,0.4);
  animation: id-dagger 6s ease-in-out infinite alternate;
}
.scn-item-dagger .glow {
  position: absolute; left: 45%; bottom: 28%; width: 60px; height: 60px;
  transform: translate(-50%, 0);
  background: radial-gradient(circle, rgba(255,120,40,0.3) 0%, transparent 70%);
  animation: id-glow 3s ease-in-out infinite alternate;
}
.scn-item-dagger .shadow {
  position: absolute; left: 40%; bottom: 15%; width: 20%; height: 20%;
  background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  transform: skewX(20deg);
  animation: id-shadow 7s ease-in-out infinite alternate;
}
.scn-item-dagger .hand {
  position: absolute; left: 38%; bottom: 28%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #1a1010 0%, #0a0508 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: id-hand 8s ease-in-out infinite;
}
@keyframes id-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.002); }
  100% { transform: scaleY(1); }
}
@keyframes id-dagger {
  0% { transform: rotate(-15deg) scale(1); opacity: 0.9; }
  50% { transform: rotate(-12deg) scale(1.03); opacity: 1; box-shadow: 0 0 40px 12px rgba(200,60,20,0.5); }
  100% { transform: rotate(-18deg) scale(0.98); opacity: 0.85; }
}
@keyframes id-glow {
  0% { opacity: 0.2; transform: translate(-50%, 0) scale(1); }
  50% { opacity: 0.5; transform: translate(-50%, -2px) scale(1.1); }
  100% { opacity: 0.25; transform: translate(-50%, 0) scale(0.95); }
}
@keyframes id-shadow {
  0% { transform: skewX(20deg) scaleX(1); opacity: 0.3; }
  50% { transform: skewX(18deg) scaleX(1.1); opacity: 0.5; }
  100% { transform: skewX(22deg) scaleX(1); opacity: 0.35; }
}
@keyframes id-hand {
  0% { transform: rotate(10deg) translateX(0); }
  33% { transform: rotate(8deg) translateX(2px); }
  66% { transform: rotate(12deg) translateX(-1px); }
  100% { transform: rotate(10deg) translateX(0); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.motes { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-item-bistoury-lamp { background: linear-gradient(180deg, #2a1a0e 0%, #3d2816 40%, #4a3220 100%), radial-gradient(ellipse at 50% 0%, #6b4a2a 0%, transparent 70%); }

.scn-item-bistoury-lamp .bg-wall { position: absolute; inset: 0; background: linear-gradient(180deg, #3d2816 0%, #2a1a0e 100%); animation: bi-wall 20s ease-in-out infinite alternate; }
.scn-item-bistoury-lamp .cabinet { position: absolute; bottom: 10%; left: 5%; width: 30%; height: 50%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%); border-radius: 4% 4% 0 0; box-shadow: inset -8px 0 20px rgba(0,0,0,.6); animation: bi-cabinet 30s ease-in-out infinite alternate; }
.scn-item-bistoury-lamp .couch   { position: absolute; bottom: 8%; left: 30%; width: 40%; height: 35%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a10 100%); border-radius: 12% 12% 4% 4% / 60% 60% 20% 20%; box-shadow: 0 6px 20px rgba(0,0,0,.7); animation: bi-couch 12s ease-in-out infinite; }
.scn-item-bistoury-lamp .woman   { position: absolute; bottom: 33%; left: 38%; width: 14%; height: 28%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bi-woman 5s ease-in-out infinite; }
.scn-item-bistoury-lamp .lamp    { position: absolute; bottom: 65%; right: 10%; width: 8%; height: 12%; background: radial-gradient(circle at 50% 30%, #f0c070 0%, #b08030 70%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.4); animation: bi-lamp 2s ease-in-out infinite alternate; }
.scn-item-bistoury-lamp .weapon  { position: absolute; top: 20%; left: 55%; width: 10%; height: 30%; background: linear-gradient(180deg, #8a6a4a 0%, #5a4020 100%); border-radius: 8% 8% 40% 40% / 20% 20% 60% 60%; transform: rotate(15deg); box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: bi-weapon 6s ease-in-out infinite; }
.scn-item-bistoury-lamp .husband { position: absolute; bottom: 8%; right: 8%; width: 12%; height: 40%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; animation: bi-husband 3s ease-in-out infinite; }
.scn-item-bistoury-lamp .rug     { position: absolute; bottom: 0; left: 20%; width: 60%; height: 8%; background: linear-gradient(180deg, #4a2a18 0%, #2a1408 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; filter: blur(2px); animation: bi-rug 18s ease-in-out infinite alternate; }

@keyframes bi-wall    { 0% { opacity: .85; } 50% { opacity: .95; } 100% { opacity: .8; } }
@keyframes bi-cabinet { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes bi-couch   { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes bi-woman   { 0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes bi-lamp    { 0% { box-shadow: 0 0 20px 8px #c08040, 0 0 40px 12px rgba(192,128,64,.3); opacity: .9; } 50% { box-shadow: 0 0 40px 14px #e0a060, 0 0 80px 24px rgba(224,160,96,.5); opacity: 1; } 100% { box-shadow: 0 0 24px 10px #c08040, 0 0 48px 16px rgba(192,128,64,.35); opacity: .85; } }
@keyframes bi-weapon  { 0% { transform: rotate(12deg); } 50% { transform: rotate(18deg); } 100% { transform: rotate(12deg); } }
@keyframes bi-husband { 0%, 100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes bi-rug     { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }

.scn-identity-revealed { background: linear-gradient(180deg, #1a0e08 0%, #2a1a10 40%, #1a0e08 100%), radial-gradient(ellipse at 50% 20%, #4a3018 0%, transparent 70%); }

.scn-identity-revealed .bg-glow         { position: absolute; inset: 0; background: radial-gradient(circle at 60% 30%, #6b4020 0%, #1a0e08 80%); animation: id-bg 15s ease-in-out infinite alternate; }
.scn-identity-revealed .woman-silhouette{ position: absolute; bottom: 20%; left: 30%; width: 30%; height: 60%; background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: id-woman 4s ease-in-out infinite; }
.scn-identity-revealed .torn-covering   { position: absolute; top: 15%; left: 35%; width: 20%; height: 30%; background: linear-gradient(180deg, #5a3a20 0%, #3a2010 100%); clip-path: polygon(0% 0%, 100% 0%, 90% 60%, 60% 70%, 40% 50%, 20% 80%, 0% 60%); animation: id-covering 2s ease-in-out infinite alternate; }
.scn-identity-revealed .forceps         { position: absolute; top: 35%; left: 45%; width: 8%; height: 20%; background: linear-gradient(180deg, #b09070 0%, #8a6a50 100%); border-radius: 20% 20% 10% 10% / 10% 10% 40% 40%; transform-origin: 50% 0%; animation: id-forceps 0.8s ease-in-out infinite alternate; }
.scn-identity-revealed .blood-drop      { position: absolute; top: 40%; left: 48%; width: 3%; height: 3%; background: radial-gradient(circle, #702243 0%, #4a1220 100%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(112,34,67,.5); animation: id-blood 1.5s ease-in infinite; }
.scn-identity-revealed .stone-hand      { position: absolute; bottom: 35%; left: 55%; width: 10%; height: 15%; background: linear-gradient(180deg, #8a6a50 0%, #5a4020 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform: rotate(-20deg); animation: id-hand 3s ease-in-out infinite; }

@keyframes id-bg       { 0% { opacity: .8; } 50% { opacity: .95; } 100% { opacity: .75; } }
@keyframes id-woman    { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-6px) rotate(4deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(4px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes id-covering { 0% { clip-path: polygon(0% 0%, 100% 0%, 90% 60%, 60% 70%, 40% 50%, 20% 80%, 0% 60%); } 50% { clip-path: polygon(10% 0%, 90% 0%, 85% 50%, 50% 80%, 30% 40%, 10% 70%, 0% 50%); } 100% { clip-path: polygon(0% 0%, 100% 0%, 90% 60%, 60% 70%, 40% 50%, 20% 80%, 0% 60%); } }
@keyframes id-forceps  { 0% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-15deg); } }
@keyframes id-blood    { 0% { transform: translateY(0) scale(1); opacity: 1; } 80% { transform: translateY(20px) scale(0.6); opacity: .7; } 100% { transform: translateY(30px) scale(0.3); opacity: 0; } }
@keyframes id-hand     { 0% { transform: rotate(-20deg); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(-20deg); } }

.scn-sannox-laughter { background: linear-gradient(180deg, #1a0e08 0%, #2a1a10 40%, #1a0e08 100%), radial-gradient(ellipse at 50% 0%, #3a2010 0%, transparent 70%); }

.scn-sannox-laughter .bg-room         { position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); animation: sl-bg 20s ease-in-out infinite alternate; }
.scn-sannox-laughter .door            { position: absolute; bottom: 10%; right: 8%; width: 18%; height: 55%; background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%); border-left: 4px solid #4a3020; border-radius: 4% 4% 0 0; transform-origin: right center; animation: sl-door 10s ease-in-out infinite; }
.scn-sannox-laughter .stone-figure   { position: absolute; bottom: 15%; left: 20%; width: 16%; height: 40%; background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%); border-radius: 50% 50% 30% 30% / 70% 70% 40% 40%; transform-origin: bottom center; animation: sl-stone 2s ease-in-out infinite; }
.scn-sannox-laughter .sannox-silhouette{ position: absolute; bottom: 15%; right: 25%; width: 14%; height: 38%; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sl-sannox 5s ease-in-out infinite; }
.scn-sannox-laughter .lamp           { position: absolute; top: 10%; left: 45%; width: 8%; height: 12%; background: radial-gradient(circle at 50% 30%, #e0a060 0%, #b08030 70%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; box-shadow: 0 0 25px 8px #c08040, 0 0 50px 16px rgba(192,128,64,.4); animation: sl-lamp 3s ease-in-out infinite alternate; }
.scn-sannox-laughter .chair          { position: absolute; bottom: 12%; left: 5%; width: 15%; height: 30%; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 10% 10% 4% 4% / 20% 20% 10% 10%; box-shadow: inset 0 4px 10px rgba(0,0,0,.5); animation: sl-chair 18s ease-in-out infinite; }

@keyframes sl-bg      { 0% { opacity: .85; } 50% { opacity: .95; } 100% { opacity: .8; } }
@keyframes sl-door    { 0% { transform: rotateY(0deg); } 25% { transform: rotateY(10deg); } 50% { transform: rotateY(0deg); } 75% { transform: rotateY(-5deg); } 100% { transform: rotateY(0deg); } }
@keyframes sl-stone   { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 25% { transform: translateY(-3px) rotate(-5deg) scaleY(1.05); } 50% { transform: translateY(0) rotate(0deg) scaleY(1); } 75% { transform: translateY(-2px) rotate(5deg) scaleY(1.02); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes sl-sannox  { 0% { transform: translateX(0); } 30% { transform: translateX(-10px); } 60% { transform: translateX(-20px); } 100% { transform: translateX(-30px); opacity: .3; } }
@keyframes sl-lamp    { 0% { box-shadow: 0 0 20px 8px #c08040, 0 0 40px 12px rgba(192,128,64,.3); opacity: .9; } 50% { box-shadow: 0 0 35px 12px #e0a060, 0 0 70px 20px rgba(224,160,96,.5); opacity: 1; } 100% { box-shadow: 0 0 22px 10px #c08040, 0 0 44px 14px rgba(192,128,64,.35); opacity: .85; } }
@keyframes sl-chair   { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* item-poisoned-dagger: tense, dim interior */
.scn-item-poisoned-dagger {
  background: 
    linear-gradient(135deg, #1a1410 0%, #2b1f15 40%, #1a1410 100%),
    radial-gradient(ellipse at 70% 60%, #3a2a1a 0%, transparent 80%);
}
.scn-item-poisoned-dagger .bg-shadow {
  position: absolute; inset: 0; 
  background: radial-gradient(ellipse at 50% 80%, #0d0a08 30%, transparent 100%);
  animation: dg-pulse 8s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .table {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f150e 100%);
  border-radius: 20% 20% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.6);
  transform: perspective(800px) rotateX(15deg);
}
.scn-item-poisoned-dagger .dagger-blade {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #8a7a70 0%, #5a4a40 100%);
  border-radius: 2% 10% 10% 2%;
  transform: rotate(-15deg) skewX(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 2px 4px #b0a098;
  animation: dg-gleam 4s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .dagger-hilt {
  position: absolute; bottom: 30%; left: 18%; width: 14%; height: 10%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a10 100%);
  border-radius: 20% 20% 5% 5% / 40% 40% 20% 20%;
  transform: rotate(-15deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-item-poisoned-dagger .poison-drop {
  position: absolute; bottom: 38%; left: 50%; width: 6px; height: 8px;
  background: radial-gradient(circle, #6a7a3a 0%, #3a4a1a 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 6px 2px rgba(90,110,40,0.5);
  animation: dg-drip 3s ease-in-out infinite;
}
.scn-item-poisoned-dagger .glow-lamp {
  position: absolute; top: 15%; right: 20%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffc080 0%, #b06030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(192,96,48,0.4);
  animation: dg-flicker 2s ease-in-out infinite alternate;
}
.scn-item-poisoned-dagger .shadow-figure {
  position: absolute; top: 40%; left: 75%; width: 12%; height: 35%;
  background: linear-gradient(180deg, rgba(15,10,8,0.8) 0%, #0a0705 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  filter: blur(2px);
  opacity: 0.7;
  animation: dg-shift 6s ease-in-out infinite;
}
@keyframes dg-pulse { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes dg-gleam { 0% { filter:brightness(0.8); } 50% { filter:brightness(1.2); } 100% { filter:brightness(0.9); } }
@keyframes dg-drip { 0% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(1.1); opacity:0.9; } 100% { transform:translateY(0) scale(1); opacity:1; } }
@keyframes dg-flicker { 0% { opacity:0.6; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.7; transform:scale(0.98); } }
@keyframes dg-shift { 0% { transform:translateX(0) translateY(0); } 50% { transform:translateX(-5px) translateY(3px); } 100% { transform:translateX(0) translateY(0); } }

/* knife-excision-plan: tense, dim interior */
.scn-knife-excision-plan {
  background: 
    linear-gradient(135deg, #1f1510 0%, #2d2018 50%, #1a100a 100%),
    radial-gradient(ellipse at 40% 70%, #3a2a1a 0%, transparent 80%);
}
.scn-knife-excision-plan .bg-dark {
  position: absolute; inset:0; 
  background: radial-gradient(ellipse at 20% 80%, #0d0805, transparent 70%);
}
.scn-knife-excision-plan .desk {
  position: absolute; bottom:5%; left:5%; right:5%; height:35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f150e 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 -15px 25px rgba(0,0,0,0.7);
  transform: perspective(600px) rotateX(20deg);
}
.scn-knife-excision-plan .knife-blade {
  position: absolute; bottom:22%; left:48%; width:20%; height:6%;
  background: linear-gradient(180deg, #9a8a80 0%, #6a5a50 100%);
  border-radius: 2% 30% 30% 2%;
  transform: rotate(5deg) skewX(-3deg);
  box-shadow: 0 3px 6px rgba(0,0,0,0.5), inset 0 1px 3px #b0a098;
  animation: kn-gleam 3s ease-in-out infinite alternate;
}
.scn-knife-excision-plan .knife-handle {
  position: absolute; bottom:22%; left:28%; width:18%; height:7%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1a10 100%);
  border-radius: 10% 10% 5% 5%;
  transform: rotate(5deg);
  box-shadow: 0 3px 6px rgba(0,0,0,0.6);
}
.scn-knife-excision-plan .hand-silhouette {
  position: absolute; bottom:18%; left:22%; width:20%; height:25%;
  background: linear-gradient(180deg, #0d0a08 0%, #050403 100%);
  border-radius: 40% 50% 30% 30% / 60% 70% 20% 20%;
  transform: rotate(10deg);
  filter: blur(1px);
  animation: kn-reach 5s ease-in-out infinite alternate;
}
.scn-knife-excision-plan .glint {
  position: absolute; bottom:24%; left:50%; width:8px; height:8px;
  background: radial-gradient(circle, #ffe0c0 0%, #c09070 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(192,144,112,0.6);
  animation: kn-glimmer 2s ease-in-out infinite alternate;
}
.scn-knife-excision-plan .candle {
  position: absolute; top:20%; right:20%; width:6%; height:20%;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b098 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 20px 10px rgba(200,176,152,0.3);
  animation: kn-wax 7s ease-in-out infinite;
}
.scn-knife-excision-plan .candle-flame {
  position: absolute; top:18%; right:20.5%; width:4%; height:6%;
  background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 25px 12px rgba(255,160,64,0.5);
  animation: kn-flicker 1.5s ease-in-out infinite alternate;
}
@keyframes kn-gleam { 0% { filter:brightness(0.7); } 50% { filter:brightness(1.3); } 100% { filter:brightness(0.9); } }
@keyframes kn-reach { 0% { transform:rotate(8deg) translateX(0); } 50% { transform:rotate(12deg) translateX(3px); } 100% { transform:rotate(8deg) translateX(0); } }
@keyframes kn-glimmer { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes kn-wax { 0% { filter:brightness(0.9); } 50% { filter:brightness(1.1); } 100% { filter:brightness(0.95); } }
@keyframes kn-flicker { 0% { transform:scale(0.95); opacity:0.8; } 50% { transform:scale(1.1); opacity:1; } 100% { transform:scale(1); opacity:0.9; } }

/* item-chloroform-bottle: tense, dim interior */
.scn-item-chloroform-bottle {
  background: 
    linear-gradient(135deg, #1a1a14 0%, #2a2a1f 40%, #12120e 100%),
    radial-gradient(ellipse at 60% 70%, #2a3a2a 0%, transparent 80%);
}
.scn-item-chloroform-bottle .bg-murky {
  position: absolute; inset:0; 
  background: radial-gradient(ellipse at 50% 80%, #0f0f0c 30%, transparent 100%);
  animation: ch-pulse 8s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .shelf {
  position: absolute; bottom:15%; left:10%; right:10%; height:6%;
  background: linear-gradient(180deg, #3a3020 0%, #1a140e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-item-chloroform-bottle .bottle-body {
  position: absolute; bottom:22%; left:38%; width:24%; height:40%;
  background: linear-gradient(180deg, rgba(40,60,40,0.7) 0%, rgba(20,40,20,0.9) 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5), inset 0 4px 8px rgba(80,120,80,0.3);
  transform: perspective(500px) rotateY(-5deg);
  animation: ch-sway 5s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .bottle-neck {
  position: absolute; bottom:62%; left:44%; width:12%; height:12%;
  background: linear-gradient(180deg, rgba(50,70,50,0.6) 0%, rgba(25,45,25,0.8) 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: inset 0 2px 4px rgba(80,120,80,0.2);
}
.scn-item-chloroform-bottle .bottle-cork {
  position: absolute; bottom:72%; left:46%; width:8%; height:4%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-item-chloroform-bottle .label {
  position: absolute; bottom:35%; left:39%; width:22%; height:12%;
  background: linear-gradient(180deg, #c8b898 0%, #a09070 100%);
  border-radius: 5%;
  box-shadow: inset 0 1px 2px rgba(255,255,200,0.2);
  opacity: 0.9;
}
.scn-item-chloroform-bottle .shadow-bottle {
  position: absolute; bottom:14%; left:36%; width:28%; height:8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  border-radius: 50%;
  animation: ch-shadow 5s ease-in-out infinite alternate;
}
.scn-item-chloroform-bottle .dust-particle {
  position: absolute; top:25%; left:30%; width:4px; height:4px;
  background: rgba(200,200,180,0.3);
  border-radius: 50%;
  filter: blur(1px);
  animation: ch-dust 12s linear infinite;
}
@keyframes ch-pulse { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes ch-sway { 0% { transform:perspective(500px) rotateY(-4deg); } 50% { transform:perspective(500px) rotateY(0deg); } 100% { transform:perspective(500px) rotateY(-6deg); } }
@keyframes ch-shadow { 0% { transform:scaleX(1); opacity:0.6; } 50% { transform:scaleX(0.9); opacity:0.8; } 100% { transform:scaleX(1.05); opacity:0.5; } }
@keyframes ch-dust { 0% { transform:translateY(0) translateX(0); opacity:0; } 20% { opacity:0.5; } 80% { opacity:0.3; } 100% { transform:translateY(-50px) translateX(30px); opacity:0; } }

/* cab-ride-darkness: dark, rain */
.scn-cab-ride-darkness {
  background: 
    linear-gradient(180deg, #0a0a12 0%, #141420 40%, #1a1a28 100%),
    radial-gradient(ellipse at 50% 100%, #1a1a28 0%, transparent 70%);
}
.scn-cab-ride-darkness .sky-dark {
  position: absolute; inset:0 0 50% 0; 
  background: linear-gradient(180deg, #05050a 0%, #0f0f1a 100%);
  animation: cb-sky 10s ease-in-out infinite alternate;
}
.scn-cab-ride-darkness .rain-streaks {
  position: absolute; inset:0; 
  background: repeating-linear-gradient(45deg, rgba(180,200,220,0.08) 0px, rgba(180,200,220,0.08) 2px, transparent 2px, transparent 8px);
  animation: cb-rain 0.5s linear infinite;
  pointer-events: none;
}
.scn-cab-ride-darkness .cab-body {
  position: absolute; bottom:30%; left:10%; width:45%; height:25%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0d0d1a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.8), inset 0 2px 4px rgba(100,100,140,0.1);
  animation: cb-drift 8s ease-in-out infinite alternate;
}
.scn-cab-ride-darkness .cab-wheel {
  position: absolute; bottom:23%; left:18%; width:10%; height:10%;
  background: radial-gradient(circle, #2a2a3a 0%, #0a0a12 100%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.7);
  animation: cb-spin 2s linear infinite;
}
.scn-cab-ride-darkness .house-wall {
  position: absolute; bottom:30%; right:5%; width:35%; height:60%;
  background: linear-gradient(180deg, #1a1a22 0%, #12121a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-cab-ride-darkness .window-glow {
  position: absolute; bottom:55%; right:18%; width:10%; height:14%;
  background: radial-gradient(circle, #f0c050 0%, #b08030 60%, transparent 100%);
  border-radius: 10%;
  box-shadow: 0 0 30px 10px rgba(176,128,48,0.4);
  animation: cb-glow 3s ease-in-out infinite alternate;
}
.scn-cab-ride-darkness .cobblestone {
  position: absolute; bottom:0; left:0; right:0; height:25%;
  background: 
    radial-gradient(ellipse 30% 40% at 20% 50%, #2a2a35 20%, transparent 20%),
    radial-gradient(ellipse 30% 40% at 60% 50%, #22222e 20%, transparent 20%),
    radial-gradient(ellipse 30% 40% at 85% 50%, #2a2a35 20%, transparent 20%);
  background-color: #1a1a22;
  animation: cb-puddle 12s ease-in-out infinite alternate;
}
.scn-cab-ride-darkness .street-lamp {
  position: absolute; bottom:40%; left:55%; width:4%; height:25%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 10%;
}
.scn-cab-ride-darkness .lamp-glow {
  position: absolute; bottom:42%; left:53%; width:8%; height:8%;
  background: radial-gradient(circle, #ffe0a0 0%, #c08040 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(192,128,64,0.3);
  animation: cb-flicker 2s ease-in-out infinite alternate;
}
@keyframes cb-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes cb-rain { 0% { background-position:0 0; } 100% { background-position:-20px 20px; } }
@keyframes cb-drift { 0% { transform:translateX(0); } 50% { transform:translateX(5px); } 100% { transform:translateX(-3px); } }
@keyframes cb-spin { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
@keyframes cb-glow { 0% { opacity:0.6; box-shadow:0 0 20px 5px rgba(176,128,48,0.3); } 50% { opacity:1; box-shadow:0 0 40px 15px rgba(176,128,48,0.6); } 100% { opacity:0.7; box-shadow:0 0 25px 8px rgba(176,128,48,0.4); } }
@keyframes cb-puddle { 0% { filter:brightness(0.8); } 50% { filter:brightness(1.1); } 100% { filter:brightness(0.9); } }
@keyframes cb-flicker { 0% { opacity:0.7; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:0.8; transform:scale(1); } }

/* surgeon-stone-introduction – calm, dim interior */
.scn-surgeon-stone-introduction {
  background:
    linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 50%, #0e0e1e 100%),
    radial-gradient(ellipse at 30% 80%, #3a3a5e 0%, transparent 70%);
}
.scn-surgeon-stone-introduction .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2e2e44 0%, #1a1a2a 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
  animation: ssi-wall 20s ease-in-out infinite alternate;
}
.scn-surgeon-stone-introduction .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2c2c3c 0%, #1a1a28 100%);
  border-radius: 30% 30% 0 0 / 60% 60% 0 0;
}
.scn-surgeon-stone-introduction .window {
  position: absolute;
  top: 12%; left: 15%; width: 80px; height: 110px;
  background: radial-gradient(circle at 50% 50%, #a8b0c8 0%, #4a4e6e 80%);
  border-radius: 4px;
  box-shadow: 0 0 30px 6px rgba(168,176,200,0.15), inset 0 0 20px rgba(0,0,0,0.3);
  animation: ssi-window 14s ease-in-out infinite alternate;
}
.scn-surgeon-stone-introduction .chair {
  position: absolute;
  bottom: 28%; left: 35%;
  width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2e2218 100%);
  border-radius: 10% 10% 30% 30% / 10% 10% 40% 40%;
  transform: perspective(300px) rotateX(5deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: ssi-chair 8s ease-in-out infinite;
}
.scn-surgeon-stone-introduction .figure {
  position: absolute;
  bottom: 28%; left: 37%;
  width: 22px; height: 48px;
  background: linear-gradient(180deg, #1e1e2e 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: ssi-figure 6s ease-in-out infinite alternate;
}
.scn-surgeon-stone-introduction .lamp {
  position: absolute;
  top: 30%; right: 20%;
  width: 12px; height: 8px;
  background: radial-gradient(circle, #d4a868 0%, #b08040 70%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 20px 6px rgba(180,128,64,0.4), 0 0 40px 12px rgba(180,128,64,0.2);
  animation: ssi-lamp 4s ease-in-out infinite alternate;
}
.scn-surgeon-stone-introduction .dust {
  position: absolute;
  top: 20%; left: 50%;
  width: 2px; height: 2px;
  background: rgba(200,200,220,0.3);
  border-radius: 50%;
  animation: ssi-dust 30s linear infinite;
}
@keyframes ssi-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ssi-window {
  0% { box-shadow: 0 0 20px 4px rgba(168,176,200,0.1), inset 0 0 10px rgba(0,0,0,0.3); }
  50% { box-shadow: 0 0 40px 10px rgba(168,176,200,0.25), inset 0 0 30px rgba(0,0,0,0.3); }
  100% { box-shadow: 0 0 25px 5px rgba(168,176,200,0.15), inset 0 0 15px rgba(0,0,0,0.3); }
}
@keyframes ssi-chair {
  0%,100% { transform: perspective(300px) rotateX(5deg) translateY(0); }
  50% { transform: perspective(300px) rotateX(3deg) translateY(-1px); }
}
@keyframes ssi-figure {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.01); }
  100% { transform: rotate(-1deg) scale(0.99); }
}
@keyframes ssi-lamp {
  0% { opacity: 0.6; box-shadow: 0 0 12px 3px rgba(180,128,64,0.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(180,128,64,0.6); }
  100% { opacity: 0.7; box-shadow: 0 0 18px 5px rgba(180,128,64,0.4); }
}
@keyframes ssi-dust {
  0% { transform: translate(0,0); opacity: 0.3; }
  25% { transform: translate(15px,-20px); opacity: 0.5; }
  50% { transform: translate(30px,-10px); opacity: 0.2; }
  75% { transform: translate(45px,-30px); opacity: 0.4; }
  100% { transform: translate(60px,-15px); opacity: 0.3; }
}

/* lord-sannox-character – calm, dim interior */
.scn-lord-sannox-character {
  background:
    linear-gradient(180deg, #2c2a3a 0%, #1e1c2a 50%, #12101c 100%),
    radial-gradient(ellipse at 70% 60%, #3a3850 0%, transparent 70%);
}
.scn-lord-sannox-character .wall {
  position: absolute;
  inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2e2c40 0%, #1c1a28 100%);
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.4);
  animation: lsc-wall 18s ease-in-out infinite alternate;
}
.scn-lord-sannox-character .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2836 0%, #181624 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
}
.scn-lord-sannox-character .portrait {
  position: absolute;
  top: 15%; left: 20%;
  width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 50%, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  border: 4px solid #5a4a3a;
  box-shadow: 0 0 15px 3px rgba(0,0,0,0.4);
  animation: lsc-portrait 22s ease-in-out infinite alternate;
}
.scn-lord-sannox-character .mask {
  position: absolute;
  top: 32%; right: 25%;
  width: 30px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2e2218 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: lsc-mask 10s ease-in-out infinite;
}
.scn-lord-sannox-character .figure {
  position: absolute;
  bottom: 22%; left: 45%;
  width: 24px; height: 52px;
  background: linear-gradient(180deg, #1c1a2a 0%, #0a0816 100%);
  border-radius: 45% 45% 35% 35% / 75% 75% 35% 35%;
  transform-origin: bottom center;
  animation: lsc-figure 7s ease-in-out infinite alternate;
}
.scn-lord-sannox-character .chair {
  position: absolute;
  bottom: 22%; left: 55%;
  width: 36px; height: 50px;
  background: linear-gradient(180deg, #3a3028 0%, #221a14 100%);
  border-radius: 8% 8% 30% 30% / 8% 8% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: lsc-chair 12s ease-in-out infinite;
}
.scn-lord-sannox-character .shadow {
  position: absolute;
  bottom: 0; left: 40%;
  width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: lsc-shadow 9s ease-in-out infinite alternate;
}
@keyframes lsc-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes lsc-portrait {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
  100% { transform: rotate(-1deg) scale(0.98); }
}
@keyframes lsc-mask {
  0%,100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
}
@keyframes lsc-figure {
  0% { transform: rotate(-1deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
  100% { transform: rotate(0deg) scale(0.99); }
}
@keyframes lsc-chair {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes lsc-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.5; transform: scaleX(1.05); }
  100% { opacity: 0.4; transform: scaleX(0.95); }
}

/* item-patient-card – tense, firelit */
.scn-item-patient-card {
  background:
    linear-gradient(180deg, #1a1210 0%, #2e1a12 30%, #3a2018 60%, #1a0e0a 100%),
    radial-gradient(ellipse at 50% 70%, #4a2a1a 0%, transparent 60%);
}
.scn-item-patient-card .wall {
  position: absolute;
  inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  box-shadow: inset 0 -15px 30px rgba(0,0,0,0.6);
  animation: ipc-wall 16s ease-in-out infinite alternate;
}
.scn-item-patient-card .fireplace {
  position: absolute;
  bottom: 30%; left: 50%;
  width: 120px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5), 0 0 30px 5px rgba(200,80,20,0.3);
}
.scn-item-patient-card .fire {
  position: absolute;
  bottom: 30%; left: 50%;
  width: 60px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ff6a20 0%, #ff3a0a 40%, transparent 70%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: 0 -10px 40px 10px rgba(255,60,10,0.5), 0 0 60px 20px rgba(255,80,20,0.3);
  animation: ipc-fire 2s ease-in-out infinite alternate;
}
.scn-item-patient-card .mantel {
  position: absolute;
  bottom: 38%; left: 50%;
  width: 140px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}
.scn-item-patient-card .table {
  position: absolute;
  bottom: 20%; right: 25%;
  width: 80px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  transform: perspective(200px) rotateX(10deg);
  animation: ipc-table 18s ease-in-out infinite;
}
.scn-item-patient-card .card {
  position: absolute;
  bottom: 28%; right: 28%;
  width: 30px; height: 20px;
  background: linear-gradient(180deg, #d0c0a0 0%, #b8a888 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ipc-card 5s ease-in-out infinite alternate;
}
.scn-item-patient-card .stone-figure {
  position: absolute;
  bottom: 20%; left: 30%;
  width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0806 100%);
  border-radius: 40% 40% 30% 30% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: ipc-stone 8s ease-in-out infinite alternate;
}
.scn-item-patient-card .ember-1,
.scn-item-patient-card .ember-2 {
  position: absolute;
  bottom: 35%;
  width: 3px; height: 3px;
  background: #ff8a30;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,138,48,0.6);
  animation: ipc-ember 4s ease-in-out infinite;
}
.scn-item-patient-card .ember-1 { left: 42%; animation-delay: 0s; }
.scn-item-patient-card .ember-2 { left: 58%; animation-delay: 1.5s; }
@keyframes ipc-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes ipc-fire {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scaleY(1.15) scaleX(0.9); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.95); opacity: 0.85; }
}
@keyframes ipc-table {
  0%,100% { transform: perspective(200px) rotateX(10deg) translateY(0); }
  50% { transform: perspective(200px) rotateX(8deg) translateY(-1px); }
}
@keyframes ipc-card {
  0% { opacity: 0.7; transform: rotate(-2deg); }
  50% { opacity: 1; transform: rotate(3deg); }
  100% { opacity: 0.75; transform: rotate(-1deg); }
}
@keyframes ipc-stone {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.02); }
  100% { transform: rotate(-1deg) scale(0.98); }
}
@keyframes ipc-ember {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-10px) scale(1.5); opacity: 0.4; }
  100% { transform: translateY(0) scale(1); opacity: 0.8; }
}

/* item-gold-hundred-pounds – tense, firelit */
.scn-item-gold-hundred-pounds {
  background:
    linear-gradient(180deg, #1a1210 0%, #2e1a12 30%, #3a2018 60%, #1a0e0a 100%),
    radial-gradient(ellipse at 50% 70%, #4a2a1a 0%, transparent 60%);
}
.scn-item-gold-hundred-pounds .wall {
  position: absolute;
  inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  box-shadow: inset 0 -15px 30px rgba(0,0,0,0.6);
  animation: igh-wall 16s ease-in-out infinite alternate;
}
.scn-item-gold-hundred-pounds .fireplace {
  position: absolute;
  bottom: 30%; left: 50%;
  width: 120px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5), 0 0 30px 5px rgba(200,80,20,0.3);
}
.scn-item-gold-hundred-pounds .fire {
  position: absolute;
  bottom: 30%; left: 50%;
  width: 60px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #ff6a20 0%, #ff3a0a 40%, transparent 70%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: 0 -10px 40px 10px rgba(255,60,10,0.5), 0 0 60px 20px rgba(255,80,20,0.3);
  animation: igh-fire 2s ease-in-out infinite alternate;
}
.scn-item-gold-hundred-pounds .table {
  position: absolute;
  bottom: 20%; right: 25%;
  width: 80px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  transform: perspective(200px) rotateX(10deg);
  animation: igh-table 18s ease-in-out infinite;
}
.scn-item-gold-hundred-pounds .pile-gold {
  position: absolute;
  bottom: 25%; right: 26%;
  width: 50px; height: 20px;
  background:
    radial-gradient(circle at 30% 40%, #ffd700 0%, #b8860b 100%),
    radial-gradient(circle at 70% 60%, #ffd700 0%, #b8860b 100%);
  background-size: 50% 50%, 50% 50%;
  background-position: 0 0, 10px 5px;
  background-blend-mode: normal;
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 0 20px 5px rgba(255,215,0,0.3), 0 0 40px 10px rgba(255,215,0,0.1);
  animation: igh-gold 6s ease-in-out infinite alternate;
}
.scn-item-gold-hundred-pounds .turk-figure {
  position: absolute;
  bottom: 18%; left: 35%;
  width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0806 100%);
  border-radius: 45% 45% 30% 30% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: igh-turk 9s ease-in-out infinite alternate;
}
.scn-item-gold-hundred-pounds .coin-glint-1,
.scn-item-gold-hundred-pounds .coin-glint-2 {
  position: absolute;
  bottom: 28%; right: 28%;
  width: 4px; height: 4px;
  background: radial-gradient(circle, #ffd700 0%, transparent 70%);
  border-radius: 50%;
  animation: igh-glint 3s ease-in-out infinite alternate;
}
.scn-item-gold-hundred-pounds .coin-glint-1 { left: 62%; animation-delay: 0s; }
.scn-item-gold-hundred-pounds .coin-glint-2 { left: 68%; animation-delay: 1s; }
.scn-item-gold-hundred-pounds .shadow {
  position: absolute;
  bottom: 0; left: 30%;
  width: 100px; height: 15px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: igh-shadow 10s ease-in-out infinite alternate;
}
@keyframes igh-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes igh-fire {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.9; }
  50% { transform: translateX(-50%) scaleY(1.15) scaleX(0.9); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.95); opacity: 0.85; }
}
@keyframes igh-table {
  0%,100% { transform: perspective(200px) rotateX(10deg) translateY(0); }
  50% { transform: perspective(200px) rotateX(8deg) translateY(-1px); }
}
@keyframes igh-gold {
  0% { box-shadow: 0 0 15px 3px rgba(255,215,0,0.2); opacity: 0.8; transform: scaleY(1); }
  50% { box-shadow: 0 0 30px 10px rgba(255,215,0,0.5); opacity: 1; transform: scaleY(1.05); }
  100% { box-shadow: 0 0 20px 5px rgba(255,215,0,0.3); opacity: 0.85; transform: scaleY(0.98); }
}
@keyframes igh-turk {
  0% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.02); }
  100% { transform: rotate(-1deg) scale(0.98); }
}
@keyframes igh-glint {
  0% { opacity: 0.2; transform: scale(0.5); }
  50% { opacity: 1; transform: scale(2); }
  100% { opacity: 0.3; transform: scale(0.8); }
}
@keyframes igh-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.5; transform: scaleX(0.95); }
}
/* end per-scene blocks */
