/* 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 ============ */
/* auto-stub: parent tag-classes flagged by CSS audit */
.col { position: absolute; pointer-events: none; }
.guard { position: absolute; pointer-events: none; }
.mist { position: absolute; pointer-events: none; }
.scn { position: absolute; pointer-events: none; }

/* per-scene blocks (EXP step_scenes) */
.scn-countess-seven-lords-destiny {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a2a 50%, #1a0a1a 100%),
    radial-gradient(ellipse at 60% 50%, #3a2a3a 0%, transparent 70%);
}
.scn-countess-seven-lords-destiny .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%);
  border-bottom: 2px solid #3a3a4a;
}
.scn-countess-seven-lords-destiny .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
}
.scn-countess-seven-lords-destiny .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a2a2a, #3a1a1a, #4a2a2a);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-countess-seven-lords-destiny .orbs {
  position: absolute; width: 14px; height: 14px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #c8a070, #6a4030);
  box-shadow: 0 0 10px 2px rgba(200,160,112,0.4);
  animation: csl-orb 8s ease-in-out infinite alternate;
}
.scn-countess-seven-lords-destiny .orbs-1 { bottom: 32%; left: 38%; }
.scn-countess-seven-lords-destiny .orbs-2 { bottom: 32%; left: 50%; animation-delay: -2.7s; }
.scn-countess-seven-lords-destiny .orbs-3 { bottom: 32%; left: 58%; animation-delay: -5.3s; }
.scn-countess-seven-lords-destiny .candle {
  position: absolute; bottom: 25%; left: 50%; width: 6px; height: 30px;
  transform: translateX(-50%) translateY(-30px);
  background: linear-gradient(180deg, #d0a070, #8a6030);
  border-radius: 2px 2px 0 0;
}
.scn-countess-seven-lords-destiny .candle::after {
  content: ''; position: absolute; top: -10px; left: -4px; width: 14px; height: 14px;
  background: radial-gradient(circle, #ffd080 0%, #d09040 40%, transparent 100%);
  border-radius: 50%;
  animation: csl-flame 3s ease-in-out infinite alternate;
}
.scn-countess-seven-lords-destiny .figure {
  position: absolute; bottom: 28%; left: 40%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: csl-turn 12s ease-in-out infinite;
}
@keyframes csl-orb {
  0% { transform: translateY(0) scale(1); opacity: 0.7; }
  50% { transform: translateY(-6px) scale(1.1); opacity: 1; }
  100% { transform: translateY(2px) scale(0.95); opacity: 0.8; }
}
@keyframes csl-flame {
  0% { transform: scale(1) rotate(-2deg); opacity: 1; }
  50% { transform: scale(1.15) rotate(3deg); opacity: 0.9; }
  100% { transform: scale(0.95) rotate(-1deg); opacity: 1; }
}
@keyframes csl-turn {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(10px) rotate(3deg); }
  50% { transform: translateX(20px) rotate(-2deg); }
  75% { transform: translateX(10px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

.scn-illo-god-praised {
  background:
    linear-gradient(180deg, #2a2a1a 0%, #3a2a1a 50%, #1a1a0a 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a1a 0%, transparent 60%);
}
.scn-illo-god-praised .ceiling {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1a0a, #2a1a0a);
}
.scn-illo-god-praised .wall {
  position: absolute; inset: 20% 0 25% 0;
  background: linear-gradient(180deg, #3a2a1a, #2a1a0a);
}
.scn-illo-god-praised .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a0a, #1a1a0a);
}
.scn-illo-god-praised .window {
  position: absolute; top: 25%; left: 35%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #5a4a2a, #3a2a1a);
  border: 3px solid #4a3a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-illo-god-praised .window::after {
  content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 100%;
  background: #4a3a2a;
}
.scn-illo-god-praised .light {
  position: absolute; top: 28%; left: 38%; width: 24%; height: 28%;
  background: radial-gradient(ellipse, #d0b070 0%, transparent 70%);
  opacity: 0.5;
  animation: igp-light 5s ease-in-out infinite alternate;
}
.scn-illo-god-praised .cross {
  position: absolute; top: 30%; left: 48%; width: 4px; height: 40px;
  background: #6a5030;
  transform: translateX(-50%);
}
.scn-illo-god-praised .cross::before {
  content: ''; position: absolute; top: 8px; left: -15px; width: 34px; height: 4px;
  background: #6a5030;
}
.scn-illo-god-praised .figure {
  position: absolute; bottom: 10%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a, #0a0a12);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: igp-bow 4s ease-in-out infinite alternate;
}
.scn-illo-god-praised .figure-left { left: 25%; animation-delay: -2s; }
.scn-illo-god-praised .figure-right { right: 25%; }
@keyframes igp-light {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(0.98); }
}
@keyframes igp-bow {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}

.scn-wallenstein-ominous-sinking {
  background:
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 50%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 70%);
}
.scn-wallenstein-ominous-sinking .vault {
  position: absolute; top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #1a1a2a, #2a2a3e);
  border-radius: 40% 40% 0 0 / 30% 30% 0 0;
}
.scn-wallenstein-ominous-sinking .column {
  position: absolute; bottom: 10%; width: 16px; height: 70%;
  background: linear-gradient(180deg, #3a3a4a, #1a1a2a);
  border-radius: 4px;
}
.scn-wallenstein-ominous-sinking .column-left { left: 15%; }
.scn-wallenstein-ominous-sinking .column-right { right: 15%; }
.scn-wallenstein-ominous-sinking .shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.6));
  animation: wos-shadow 10s ease-in-out infinite alternate;
}
.scn-wallenstein-ominous-sinking .figure {
  position: absolute; bottom: 2%; left: 45%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #0a0a12, #1a1a2a);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: wos-sink 15s ease-in-out infinite;
}
.scn-wallenstein-ominous-sinking .candle {
  position: absolute; bottom: 18%; width: 6px; height: 25px;
  background: linear-gradient(180deg, #d0a070, #806030);
  border-radius: 2px 2px 0 0;
  animation: wos-flicker 3s ease-in-out infinite alternate;
}
.scn-wallenstein-ominous-sinking .candle-a { left: 30%; }
.scn-wallenstein-ominous-sinking .candle-b { right: 30%; animation-delay: -1.5s; }
.scn-wallenstein-ominous-sinking .candle::after {
  content: ''; position: absolute; top: -8px; left: -3px; width: 12px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #d09040 40%, transparent 100%);
  border-radius: 50%;
  animation: wos-flame 2s ease-in-out infinite alternate;
}
@keyframes wos-shadow {
  0% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.1); }
  100% { opacity: 0.6; transform: scaleY(0.9); }
}
@keyframes wos-sink {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(8px) rotate(2deg); opacity: 0.7; }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wos-flicker {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}
@keyframes wos-flame {
  0% { transform: scale(1) rotate(-3deg); }
  50% { transform: scale(1.2) rotate(4deg); }
  100% { transform: scale(0.95) rotate(-2deg); }
}

.scn-wallenstein-jealous-destiny {
  background:
    linear-gradient(180deg, #1a0a1a 0%, #2a1a2a 50%, #1a0a1a 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a3a 0%, transparent 70%);
}
.scn-wallenstein-jealous-destiny .curtain {
  position: absolute; top: 0; bottom: 0; width: 20%;
  background: linear-gradient(180deg, #4a2a2a, #3a1a1a);
  border: 1px solid #5a3a3a;
  animation: wjd-sway 7s ease-in-out infinite alternate;
}
.scn-wallenstein-jealous-destiny .curtain-left { left: 0; }
.scn-wallenstein-jealous-destiny .curtain-right { right: 0; animation-delay: -3.5s; }
.scn-wallenstein-jealous-destiny .stage {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 90%;
  background: linear-gradient(180deg, #2a1a2a, #1a0a1a);
}
.scn-wallenstein-jealous-destiny .desk {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 15%;
  background: linear-gradient(90deg, #4a2a2a, #3a1a1a, #4a2a2a);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-jealous-destiny .light {
  position: absolute; bottom: 30%; left: 40%; right: 40%; height: 20%;
  background: radial-gradient(ellipse, #d0a070 0%, transparent 80%);
  opacity: 0.3;
  animation: wjd-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-jealous-destiny .figure {
  position: absolute; bottom: 5%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a, #0a0a12);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
}
.scn-wallenstein-jealous-destiny .figure-a { left: 35%; animation: wjd-figure-a 10s ease-in-out infinite; }
.scn-wallenstein-jealous-destiny .figure-b { right: 35%; animation: wjd-figure-b 12s ease-in-out infinite; }
.scn-wallenstein-jealous-destiny .orb {
  position: absolute; bottom: 40%; left: 48%; width: 10px; height: 10px;
  background: radial-gradient(circle at 30% 30%, #c8a070, #6a4030);
  border-radius: 50%;
  box-shadow: 0 0 12px 3px rgba(200,160,112,0.5);
  animation: wjd-orb 6s ease-in-out infinite alternate;
}
@keyframes wjd-sway {
  0% { transform: translateX(0) skewX(0deg); }
  50% { transform: translateX(5px) skewX(1deg); }
  100% { transform: translateX(-5px) skewX(-1deg); }
}
@keyframes wjd-glow {
  0% { opacity: 0.2; transform: scale(0.95); }
  50% { opacity: 0.4; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(1); }
}
@keyframes wjd-figure-a {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(10px) rotate(5deg); }
  50% { transform: translateX(20px) rotate(-3deg); }
  75% { transform: translateX(10px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wjd-figure-b {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-10px) rotate(-4deg); }
  50% { transform: translateX(-20px) rotate(3deg); }
  75% { transform: translateX(-10px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wjd-orb {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-8px) scale(1.15); opacity: 1; }
  100% { transform: translateY(4px) scale(0.9); opacity: 0.7; }
}

.scn-wallenstein-slipped-backdoor {
  background: linear-gradient(180deg, #2a1f1a 0%, #3a2a1f 40%, #1f1510 100%),
              radial-gradient(ellipse at 50% 70%, #4a3525 0%, transparent 80%);
}
.scn-wallenstein-slipped-backdoor .wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #3a2a1f 0%, #2a1f1a 50%, #1f1510 100%);
}
.scn-wallenstein-slipped-backdoor .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #1a1210 0%, #2a1f1a 100%); box-shadow: inset 0 10px 15px rgba(0,0,0,.5);
}
.scn-wallenstein-slipped-backdoor .door-frame {
  position:absolute; bottom:25%; left:35%; width:30%; height:55%; background: #2a1f1a; border: 4px solid #4a3525; border-radius: 4px; box-shadow: 0 0 20px rgba(0,0,0,.7);
}
.scn-wallenstein-slipped-backdoor .door-slit {
  position:absolute; bottom:25%; left:50%; width:8%; height:50%; background: linear-gradient(180deg, #5a4a3a 0%, #7a6a5a 50%, #5a4a3a 100%); border-radius: 0 4px 4px 0; transform-origin: left center; animation: sbd-door 4s ease-in-out infinite;
}
.scn-wallenstein-slipped-backdoor .figure-slipping {
  position:absolute; bottom:25%; left:52%; width:14px; height:40px; background: linear-gradient(180deg, #2a2010 0%, #1a1208 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: sbd-figure 4s ease-in-out infinite;
}
.scn-wallenstein-slipped-backdoor .candle {
  position:absolute; bottom:52%; left:62%; width:4px; height:10px; background: #8a7050; border-radius: 2px;
}
.scn-wallenstein-slipped-backdoor .candle-glow {
  position:absolute; bottom:54%; left:62%; width:20px; height:20px; margin: -10px 0 0 -10px; background: radial-gradient(circle, #d0a060 0%, #b08040 40%, transparent 100%); border-radius: 50%; animation: sbd-glow 2s ease-in-out infinite alternate;
}
@keyframes sbd-door   { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(0.8); } }
@keyframes sbd-figure { 0%,100% { transform: translateX(0) translateY(0); } 30% { transform: translateX(6px) translateY(-2px); } 60% { transform: translateX(12px) translateY(0); } 80% { transform: translateX(18px) translateY(-1px); } }
@keyframes sbd-glow   { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:0.8; transform: scale(1); } }

.scn-wallenstein-chancellor-distrust {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a2a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 90%);
}
.scn-wallenstein-chancellor-distrust .room-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #12121a 100%);
}
.scn-wallenstein-chancellor-distrust .floor-dark {
  position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0a12 0%, #1a1a2a 100%);
}
.scn-wallenstein-chancellor-distrust .table {
  position:absolute; bottom:20%; left:30%; width:40%; height:6%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,.6);
}
.scn-wallenstein-chancellor-distrust .chair-left {
  position:absolute; bottom:20%; left:22%; width:20px; height:30px; background: #2a1a1a; border-radius: 4px; transform: rotate(5deg); animation: wcd-chair 6s ease-in-out infinite;
}
.scn-wallenstein-chancellor-distrust .chair-right {
  position:absolute; bottom:20%; right:22%; width:20px; height:30px; background: #2a1a1a; border-radius: 4px; transform: rotate(-5deg); animation: wcd-chair 6s ease-in-out infinite reverse;
}
.scn-wallenstein-chancellor-distrust .figure-left {
  position:absolute; bottom:30%; left:26%; width:16px; height:40px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wcd-figure 4s ease-in-out infinite;
}
.scn-wallenstein-chancellor-distrust .figure-right {
  position:absolute; bottom:30%; right:26%; width:16px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wcd-figure 4s ease-in-out infinite reverse;
}
.scn-wallenstein-chancellor-distrust .candle-pair {
  position:absolute; bottom:28%; left:50%; width:4px; height:8px; background: #8a7050; margin-left: -2px; box-shadow: 12px 0 0 #8a7050; animation: wcd-candle 3s ease-in-out infinite alternate;
}
@keyframes wcd-chair   { 0%,100% { transform: rotate(5deg); } 50% { transform: rotate(-3deg); } }
@keyframes wcd-figure  { 0%,100% { transform: translateY(0); } 25% { transform: translateY(-3px); } 50% { transform: translateY(0); } 75% { transform: translateY(-5px); } }
@keyframes wcd-candle  { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }

.scn-wallenstein-self-defence {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #12121a 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a3a 0%, transparent 70%);
}
.scn-wallenstein-self-defence .dark-wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2a 0%, #2a2a3a 50%, #0a0a12 100%);
}
.scn-wallenstein-self-defence .cold-floor {
  position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0a12 0%, #1a1a2a 100%);
}
.scn-wallenstein-self-defence .figure-standing {
  position:absolute; bottom:20%; left:50%; width:18px; height:50px; transform: translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wsd-stand 5s ease-in-out infinite;
}
.scn-wallenstein-self-defence .arm-raised {
  position:absolute; bottom:55%; left:55%; width:10px; height:30px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 20%; transform-origin: bottom center; animation: wsd-arm 3s ease-in-out infinite alternate;
}
.scn-wallenstein-self-defence .shadow-stretch {
  position:absolute; bottom:20%; left:50%; width:40px; height:10px; transform: translateX(-50%) scaleX(0.8); background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%); border-radius: 50%; animation: wsd-shadow 5s ease-in-out infinite;
}
.scn-wallenstein-self-defence .candle-single {
  position:absolute; bottom:22%; left:70%; width:4px; height:8px; background: #8a7050;
}
.scn-wallenstein-self-defence .candle-flare {
  position:absolute; bottom:30%; left:70%; width:20px; height:20px; margin: -10px 0 0 -10px; background: radial-gradient(circle, #d0a060 0%, #b08040 40%, transparent 100%); border-radius: 50%; animation: wsd-flare 2s ease-in-out infinite alternate;
}
@keyframes wsd-stand  { 0%,100% { transform: translateX(-50%) translateY(0); } 25% { transform: translateX(-50%) translateY(-4px); } 50% { transform: translateX(-50%) translateY(0); } 75% { transform: translateX(-50%) translateY(-2px); } }
@keyframes wsd-arm    { 0% { transform: rotate(20deg); } 50% { transform: rotate(50deg); } 100% { transform: rotate(30deg); } }
@keyframes wsd-shadow { 0%,100% { opacity:0.6; } 50% { opacity:0.3; } }
@keyframes wsd-flare  { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.3); } 100% { opacity:0.8; transform: scale(1); } }

.scn-wrangel-swedish-cause {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #12121a 100%),
              radial-gradient(ellipse at 50% 75%, #2a2a3a 0%, transparent 80%);
}
.scn-wrangel-swedish-cause .deep-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #0a0a12 100%);
}
.scn-wrangel-swedish-cause .table-mid {
  position:absolute; bottom:22%; left:20%; width:60%; height:5%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-wrangel-swedish-cause .map-unrolled {
  position:absolute; bottom:27%; left:30%; width:40%; height:14%; background: linear-gradient(135deg, #5a4a3a 0%, #7a6a5a 50%, #5a4a3a 100%); border-radius: 4px; animation: wsc-map 8s ease-in-out infinite;
}
.scn-wrangel-swedish-cause .sword-hilt {
  position:absolute; bottom:30%; left:25%; width:6px; height:18px; background: linear-gradient(180deg, #8a7050 0%, #6a5040 100%); border-radius: 2px; transform: rotate(-30deg); box-shadow: 0 0 4px rgba(0,0,0,.5); animation: wsc-sword 6s ease-in-out infinite alternate;
}
.scn-wrangel-swedish-cause .figure-wrangel {
  position:absolute; bottom:24%; left:55%; width:18px; height:45px; transform: translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wsc-figure 5s ease-in-out infinite;
}
.scn-wrangel-swedish-cause .candle-guttering {
  position:absolute; bottom:28%; left:72%; width:4px; height:8px; background: #8a7050; animation: wsc-candle 3s ease-in-out infinite alternate;
}
.scn-wrangel-swedish-cause .smoke-wisp {
  position:absolute; bottom:36%; left:72%; width:20px; height:30px; background: radial-gradient(ellipse, rgba(200,200,200,0.3) 0%, transparent 100%); border-radius: 50%; filter: blur(3px); animation: wsc-smoke 10s linear infinite;
}
@keyframes wsc-map   { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.1); } }
@keyframes wsc-sword { 0% { transform: rotate(-30deg); } 50% { transform: rotate(-15deg); } 100% { transform: rotate(-30deg); } }
@keyframes wsc-figure { 0%,100% { transform: translateX(-50%) translateY(0); } 25% { transform: translateX(-50%) translateY(-3px); } 50% { transform: translateX(-50%) translateY(0); } 75% { transform: translateX(-50%) translateY(-5px); } }
@keyframes wsc-candle { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes wsc-smoke { 0% { transform: translateY(0) scale(1); opacity:0.4; } 50% { transform: translateY(-20px) scale(1.5); opacity:0.1; } 100% { transform: translateY(-40px) scale(0.5); opacity:0; } }

.scn-countess-poison { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #3a2820 100%), radial-gradient(ellipse at 50% 60%, #3a2820 0%, transparent 60%); }
.scn-countess-poison .bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a1410 0%, #2a1e14 50%, #1a1410 100%); }
.scn-countess-poison .table { position:absolute; bottom:10%; left:15%; right:15%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-countess-poison .goblet { position:absolute; bottom:20%; left:45%; width:30px; height:40px; background: linear-gradient(180deg, #6a5040 0%, #4a3a2a 100%); border-radius: 0 0 20% 20% / 0 0 40% 40%; box-shadow: 0 0 12px 4px rgba(180,120,60,.3); animation: cp-goblet 8s ease-in-out infinite alternate; }
.scn-countess-poison .hand { position:absolute; bottom:22%; left:40%; width:40px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 40% / 60% 60% 30% 30%; transform-origin: 50% 100%; animation: cp-hand 3s ease-in-out infinite; }
.scn-countess-poison .vial { position:absolute; bottom:28%; left:42%; width:14px; height:24px; background: linear-gradient(180deg, #8a7050 0%, #5a4a3a 100%); border-radius: 30% 30% 20% 20%; box-shadow: inset 0 0 4px rgba(200,160,80,.2); animation: cp-vial 4s ease-in-out infinite alternate; }
.scn-countess-poison .drop { position:absolute; bottom:22%; left:46%; width:6px; height:8px; background: radial-gradient(circle, #c0a06a 0%, #8a7050 80%); border-radius: 50%; box-shadow: 0 0 6px 2px rgba(192,160,106,.4); animation: cp-drop 2.5s ease-in infinite; }
.scn-countess-poison .shadow { position:absolute; bottom:10%; left:28%; right:28%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); }
@keyframes cp-goblet { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes cp-hand { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(1px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cp-vial { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cp-drop { 0% { opacity:0; transform: translateY(-10px); } 30% { opacity:1; } 100% { opacity:0; transform: translateY(20px); } }

.scn-countess-keys { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #3a2820 100%), radial-gradient(ellipse at 50% 70%, #3a2820 0%, transparent 60%); }
.scn-countess-keys .bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a1410 0%, #2a1e14 50%, #1a1410 100%); }
.scn-countess-keys .table { position:absolute; bottom:10%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-countess-keys .keyring { position:absolute; bottom:20%; left:45%; width:20px; height:20px; background: radial-gradient(circle, #8a7050 0%, #5a4a3a 80%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(180,120,60,.2); animation: ck-ring 6s ease-in-out infinite alternate; }
.scn-countess-keys .key { position:absolute; bottom:20%; width:10px; height:30px; background: linear-gradient(180deg, #8a7050 0%, #5a4a3a 100%); border-radius: 2px 2px 4px 4px; transform-origin: top center; }
.scn-countess-keys .key1 { left:42%; animation: ck-key1 8s ease-in-out infinite; }
.scn-countess-keys .key2 { left:44%; animation: ck-key2 8s ease-in-out infinite 0.5s; }
.scn-countess-keys .key3 { left:46%; animation: ck-key3 8s ease-in-out infinite 1s; }
.scn-countess-keys .shadow { position:absolute; bottom:10%; left:30%; right:30%; height:6%; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); }
@keyframes ck-ring { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }
@keyframes ck-key1 { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(8deg) translateX(2px); } }
@keyframes ck-key2 { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(-6deg) translateX(-1px); } }
@keyframes ck-key3 { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(10deg) translateX(3px); } }

.scn-countess-resigns { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 50%, #3a2820 100%), radial-gradient(ellipse at 50% 40%, #3a2820 0%, transparent 60%); }
.scn-countess-resigns .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1410 0%, #2a1e14 70%, #1a1410 100%); }
.scn-countess-resigns .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #2a1e14 0%, #3a2820 100%); }
.scn-countess-resigns .window { position:absolute; top:20%; left:30%; width:120px; height:160px; border: 4px solid #4a3a2a; background: radial-gradient(ellipse at 40% 30%, #6a5040 0%, #2a1e14 80%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
.scn-countess-resigns .figure { position:absolute; bottom:28%; left:40%; width:40px; height:70px; background: linear-gradient(180deg, #1a1410 0%, #0a0808 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: cr-bow 12s ease-in-out infinite alternate; }
.scn-countess-resigns .lightbeam { position:absolute; top:22%; left:34%; width:80px; height:140px; background: linear-gradient(180deg, rgba(180,120,60,0.15) 0%, transparent 100%); transform: skewX(-10deg); filter: blur(2px); animation: cr-beam 8s ease-in-out infinite alternate; }
.scn-countess-resigns .shadow { position:absolute; bottom:25%; left:38%; right:38%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 80%); }
@keyframes cr-bow { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cr-beam { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

.scn-countess-last-request { background: linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #3a2820 100%), radial-gradient(ellipse at 50% 50%, #3a2820 0%, transparent 60%); }
.scn-countess-last-request .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #2a1e14 0%, #1a1410 80%); }
.scn-countess-last-request .altar { position:absolute; bottom:5%; left:20%; right:20%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 8px; box-shadow: inset 0 4px 12px rgba(0,0,0,.7); }
.scn-countess-last-request .coffin { position:absolute; bottom:12%; left:35%; right:35%; height:18%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%; box-shadow: 0 4px 16px rgba(0,0,0,.5); animation: clr-coffin 20s ease-in-out infinite alternate; }
.scn-countess-last-request .candle { position:absolute; bottom:22%; left:42%; width:12px; height:40px; background: linear-gradient(180deg, #c0a06a 0%, #8a7050 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 8px 2px rgba(192,160,106,.3); }
.scn-countess-last-request .flame { position:absolute; bottom:27%; left:43%; width:10px; height:14px; background: radial-gradient(circle at bottom, #ffd680 0%, #c0a06a 60%, transparent 80%); border-radius: 50%; filter: blur(2px); box-shadow: 0 0 20px 8px rgba(255,214,128,0.4); animation: clr-flame 2s ease-in-out infinite alternate; }
.scn-countess-last-request .shadow { position:absolute; bottom:8%; left:30%; right:30%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 70%); }
.scn-countess-last-request .cross { position:absolute; bottom:40%; left:48%; width:6px; height:40px; background: linear-gradient(180deg, #8a7050 0%, #5a4a3a 100%); border-radius: 10%; transform: translateX(-50%); box-shadow: 0 0 4px rgba(180,120,60,.2); }
@keyframes clr-coffin { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes clr-flame { 0% { transform: scaleY(1) scaleX(1); opacity:0.8; } 50% { transform: scaleY(1.3) scaleX(0.8); opacity:1; } 100% { transform: scaleY(0.9) scaleX(1.1); opacity:0.7; } }

.scn-anspessade-ultimatum { background: linear-gradient(180deg, #e8dcc0 0%, #c8b086 40%, #a68c5e 100%), radial-gradient(ellipse at 50% 30%, #f0e6d0 0%, transparent 60%); }
.scn-anspessade-ultimatum .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d8c8a8 0%, #c0ae88 100%); }
.scn-anspessade-ultimatum .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); }
.scn-anspessade-ultimatum .table { position:absolute; bottom:22%; left:30%; width:120px; height:40px; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 4px; transform: perspective(600px) rotateX(10deg); box-shadow: 0 8px 12px rgba(0,0,0,.3); }
.scn-anspessade-ultimatum .letter { position:absolute; bottom:38%; left:36%; width:30px; height:20px; background: #e8dcc0; border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.2); transform: rotate(-8deg); animation: ans-letter 4s ease-in-out infinite alternate; }
.scn-anspessade-ultimatum .soldier { position:absolute; bottom:16%; left:20%; width:24px; height:60px; background: linear-gradient(180deg, #b87878 0%, #5e1a1d 100%); border-radius: 50% 50% 30% 30%/ 60% 60% 40% 40%; transform-origin: bottom; animation: ans-soldier 6s ease-in-out infinite; }
.scn-anspessade-ultimatum .general { position:absolute; bottom:18%; right:20%; width:30px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40%/ 60% 60% 40% 40%; transform-origin: bottom; animation: ans-general 5s ease-in-out infinite; }
.scn-anspessade-ultimatum .lamp { position:absolute; top:20%; left:50%; width:20px; height:30px; background: radial-gradient(circle, #ffd080 0%, #d09840 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 40px 12px #ffd080, 0 0 80px 20px rgba(255,208,128,.4); animation: ans-lamp 3s ease-in-out infinite alternate; }
.scn-anspessade-ultimatum .shadow { position:absolute; bottom:10%; left:10%; width:80px; height:20px; background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(8px); animation: ans-shadow 6s ease-in-out infinite; }
@keyframes ans-letter { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-6deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes ans-soldier { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ans-general { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-3px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes ans-lamp { 0% { opacity: .8; box-shadow: 0 0 30px 8px #ffd080, 0 0 60px 15px rgba(255,208,128,.3); } 50% { opacity: 1; box-shadow: 0 0 50px 16px #ffd080, 0 0 90px 25px rgba(255,208,128,.5); } 100% { opacity: .85; box-shadow: 0 0 35px 10px #ffd080, 0 0 70px 18px rgba(255,208,128,.35); } }
@keyframes ans-shadow { 0% { transform: scaleX(1) opacity(.3); } 50% { transform: scaleX(1.2) opacity(.4); } 100% { transform: scaleX(1) opacity(.3); } }

.scn-wallenstein-praises-regiment { background: linear-gradient(180deg, #f0e6d0 0%, #d8c8a8 60%, #b8a888 100%), radial-gradient(ellipse at 60% 40%, #fff5e0 0%, transparent 70%); }
.scn-wallenstein-praises-regiment .bg-warm { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,245,224,.3) 0%, transparent 100%); }
.scn-wallenstein-praises-regiment .podium { position:absolute; bottom:12%; left:40%; width:100px; height:50px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 6px; transform: perspective(400px) rotateX(15deg); }
.scn-wallenstein-praises-regiment .general-fig { position:absolute; bottom:20%; left:42%; width:28px; height:75px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 35% 35%/ 60% 60% 40% 40%; transform-origin: bottom; animation: wal-general 8s ease-in-out infinite alternate; }
.scn-wallenstein-praises-regiment .troop-fig { position:absolute; bottom:14%; left:60%; width:20px; height:55px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30%/ 55% 55% 45% 45%; transform-origin: bottom; animation: wal-troop 10s ease-in-out infinite; }
.scn-wallenstein-praises-regiment .troop-fig2 { position:absolute; bottom:14%; right:20%; width:20px; height:55px; background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30%/ 55% 55% 45% 45%; transform-origin: bottom; animation: wal-troop2 10s ease-in-out infinite 2s; }
.scn-wallenstein-praises-regiment .flag { position:absolute; top:18%; left:50%; width:4px; height:60px; background: #5a4a2a; transform-origin: bottom; animation: wal-flag 5s ease-in-out infinite alternate; }
.scn-wallenstein-praises-regiment .flag::after { content:''; position:absolute; top:0; left:4px; width:30px; height:24px; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius: 0 20% 20% 0; }
.scn-wallenstein-praises-regiment .light-ray { position:absolute; top:10%; left:30%; width:200px; height:300px; background: linear-gradient(135deg, rgba(255,245,224,.3) 0%, transparent 80%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: wal-ray 12s ease-in-out infinite alternate; }
@keyframes wal-general { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes wal-troop { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wal-troop2 { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wal-flag { 0% { transform: rotate(-5deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-5deg); } }
@keyframes wal-ray { 0% { opacity: .4; transform: scaleX(1); } 50% { opacity: .6; transform: scaleX(1.05); } 100% { opacity: .4; transform: scaleX(1); } }

.scn-wallenstein-accuses-emperor { background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 50%, #988868 100%), radial-gradient(ellipse at 30% 40%, #f0e6d0 0%, transparent 60%); }
.scn-wallenstein-accuses-emperor .chamber { position:absolute; inset:0; background: linear-gradient(180deg, rgba(200,180,140,.2) 0%, transparent 100%); }
.scn-wallenstein-accuses-emperor .column { position:absolute; bottom:0; left:15%; width:20px; height:100%; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: inset 2px 0 4px rgba(0,0,0,.3); }
.scn-wallenstein-accuses-emperor .column:nth-child(2) { left:85%; }
.scn-wallenstein-accuses-emperor .emperor-fig { position:absolute; bottom:16%; left:67%; width:26px; height:65px; background: linear-gradient(180deg, #702243 0%, #4a152a 100%); border-radius: 50% 50% 30% 30%/ 60% 60% 40% 40%; transform-origin: bottom; animation: acce-emperor 6s ease-in-out infinite alternate; }
.scn-wallenstein-accuses-emperor .accuser-fig { position:absolute; bottom:18%; left:30%; width:28px; height:70px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius: 50% 50% 35% 35%/ 60% 60% 40% 40%; transform-origin: bottom; animation: acce-accuse 4s ease-in-out infinite; }
.scn-wallenstein-accuses-emperor .scroll { position:absolute; bottom:42%; left:44%; width:20px; height:30px; background: #e8dcc0; border-radius: 2px; transform: rotate(15deg); animation: acce-scroll 5s ease-in-out infinite; }
.scn-wallenstein-accuses-emperor .candle { position:absolute; bottom:30%; left:50%; width:8px; height:30px; background: #c8a868; border-radius: 2px; }
.scn-wallenstein-accuses-emperor .glow { position:absolute; bottom:30%; left:50%; width:30px; height:30px; background: radial-gradient(circle, #ffd080 0%, transparent 70%); transform: translate(-50%, -50%); animation: acce-glow 3s ease-in-out infinite alternate; }
@keyframes acce-emperor { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(-3px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes acce-accuse { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(4deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes acce-scroll { 0% { transform: rotate(10deg) translateX(0); } 50% { transform: rotate(20deg) translateX(2px); } 100% { transform: rotate(10deg) translateX(0); } }
@keyframes acce-glow { 0% { opacity: .6; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.3); } 100% { opacity: .7; transform: translate(-50%, -50%) scale(1); } }

.scn-wallenstein-recounts-hardships { background: linear-gradient(180deg, #c8bc9a 0%, #a89878 50%, #887868 100%), radial-gradient(ellipse at 50% 100%, #a89878 0%, transparent 70%); }
.scn-wallenstein-recounts-hardships .sky-overcast { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #b0a888 0%, #988878 100%); }
.scn-wallenstein-recounts-hardships .ground { position:absolute; bottom:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); }
.scn-wallenstein-recounts-hardships .marching-fig { position:absolute; bottom:20%; left:45%; width:24px; height:65px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0a0a 100%); border-radius: 50% 50% 35% 35%/ 60% 60% 40% 40%; transform-origin: bottom; animation: har-march 6s linear infinite; }
.scn-wallenstein-recounts-hardships .pack { position:absolute; bottom:32%; left:48%; width:16px; height:20px; background: #6a5a3a; border-radius: 20% 20% 10% 10%; box-shadow: inset 2px 2px 4px rgba(0,0,0,.3); animation: har-pack 6s linear infinite; }
.scn-wallenstein-recounts-hardships .staff { position:absolute; bottom:24%; left:44%; width:4px; height:50px; background: #5a4a2a; transform: rotate(20deg); transform-origin: bottom; animation: har-staff 6s linear infinite; }
.scn-wallenstein-recounts-hardships .dust-cloud { position:absolute; bottom:15%; left:10%; width:60px; height:20px; background: rgba(150,130,110,.3); border-radius: 50%; filter: blur(6px); animation: har-dust1 12s linear infinite; }
.scn-wallenstein-recounts-hardships .dust-cloud2 { position:absolute; bottom:12%; right:15%; width:80px; height:25px; background: rgba(150,130,110,.25); border-radius: 50%; filter: blur(8px); animation: har-dust2 15s linear infinite 3s; }
@keyframes har-march { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(15px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(30px) translateY(0) rotate(-1deg); } 75% { transform: translateX(45px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(60px) translateY(0) rotate(0); } }
@keyframes har-pack { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(15px) translateY(-2px); } 50% { transform: translateX(30px) translateY(0); } 75% { transform: translateX(45px) translateY(-2px); } 100% { transform: translateX(60px) translateY(0); } }
@keyframes har-staff { 0% { transform: rotate(18deg) translateX(0); } 25% { transform: rotate(22deg) translateX(15px); } 50% { transform: rotate(18deg) translateX(30px); } 75% { transform: rotate(22deg) translateX(45px); } 100% { transform: rotate(18deg) translateX(60px); } }
@keyframes har-dust1 { 0% { transform: translateX(0) scaleX(1); opacity: .3; } 50% { transform: translateX(200px) scaleX(1.5); opacity: .1; } 100% { transform: translateX(400px) scaleX(1); opacity: .3; } }
@keyframes har-dust2 { 0% { transform: translateX(0) scaleX(1); opacity: .25; } 50% { transform: translateX(-150px) scaleX(1.4); opacity: .1; } 100% { transform: translateX(-300px) scaleX(1); opacity: .25; } }

.scn-countess-begs-to-let-max-go {
  background: linear-gradient(180deg, #3a2a2a 0%, #5a4a3a 40%, #7a6a5a 80%) , radial-gradient(ellipse at 30% 20%, #b09060 0%, transparent 60%);
}
.scn-countess-begs-to-let-max-go .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3a2a 0%, #6a5a4a 50%, #3a2a1a 100%);
}
.scn-countess-begs-to-let-max-go .window-frame {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 60%; background: #3a2a1a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  animation: cb-window-frame 6s ease-in-out infinite alternate;
}
.scn-countess-begs-to-let-max-go .window-pane {
  position: absolute; top: 12%; left: 22%; width: 56%; height: 56%; background: linear-gradient(180deg, #b0a080 0%, #908060 40%, #706050 100%); border-radius: 2px; opacity: .7;
  box-shadow: 0 0 30px rgba(200,180,120,.4); animation: cb-window-pane 4s ease-in-out infinite;
}
.scn-countess-begs-to-let-max-go .countess {
  position: absolute; bottom: 12%; left: 28%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #8a7060 0%, #4a3a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: cb-countess 3s ease-in-out infinite alternate;
}
.scn-countess-begs-to-let-max-go .illo {
  position: absolute; bottom: 8%; right: 20%; width: 34px; height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 20% 20%;
  animation: cb-illo 5s ease-in-out infinite;
}
.scn-countess-begs-to-let-max-go .cannon {
  position: absolute; bottom: 0; left: 10%; width: 60px; height: 20px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #2a1a1a 100%);
  border-radius: 10px; transform-origin: 20% bottom;
  animation: cb-cannon 8s ease-in-out infinite;
}
.scn-countess-begs-to-let-max-go .dust-particles {
  position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(200,190,170,.3) 0%, transparent 60%);
  animation: cb-dust 12s linear infinite;
}
@keyframes cb-window-frame {
  0% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.02); opacity: .8; }
  100% { transform: scale(.98); opacity: 1; }
}
@keyframes cb-window-pane {
  0% { opacity: .6; filter: brightness(1); }
  50% { opacity: .9; filter: brightness(1.1); }
  100% { opacity: .7; filter: brightness(.95); }
}
@keyframes cb-countess {
  0% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes cb-illo {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
  100% { transform: translateY(0) scale(.98); }
}
@keyframes cb-cannon {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes cb-dust {
  0% { background-position: 0% 0%; opacity: .3; }
  50% { background-position: 50% 50%; opacity: .5; }
  100% { background-position: 100% 100%; opacity: .2; }
}

.scn-wallenstein-refuses {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 40%, #7a6a5a 80%), radial-gradient(ellipse at 50% 30%, #b09060 0%, transparent 60%);
}
.scn-wallenstein-refuses .chamber-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
}
.scn-wallenstein-refuses .chamber-wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
}
.scn-wallenstein-refuses .table {
  position: absolute; bottom: 28%; left: 30%; width: 40%; height: 10px; background: #6a4a2a; border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: wr-table 4s ease-in-out infinite alternate;
}
.scn-wallenstein-refuses .map-roll {
  position: absolute; bottom: 30%; left: 45%; width: 40px; height: 8px; background: #8a7a5a; border-radius: 4px;
  transform-origin: left center; animation: wr-map 6s ease-in-out infinite;
}
.scn-wallenstein-refuses .wallenstein-figure {
  position: absolute; bottom: 10%; left: 50%; width: 45px; height: 75px; transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 20% 20%;
  animation: wr-wall 3s ease-in-out infinite alternate;
}
.scn-wallenstein-refuses .max-figure {
  position: absolute; bottom: 12%; left: 25%; width: 38px; height: 65px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%);
  border-radius: 25% 25% 35% 35% / 45% 45% 20% 20%;
  animation: wr-max 4s ease-in-out infinite;
}
.scn-wallenstein-refuses .tertsky {
  position: absolute; bottom: 8%; right: 15%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 35% 35% 20% 20%;
  animation: wr-ter 5s ease-in-out infinite alternate;
}
.scn-wallenstein-refuses .candle-glow {
  position: absolute; top: 10%; left: 20%; width: 30px; height: 40px;
  background: radial-gradient(circle, #e0b070 0%, #c08040 40%, transparent 70%);
  border-radius: 50%; opacity: .6; animation: wr-candle 2s ease-in-out infinite;
}
@keyframes wr-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(.98); }
}
@keyframes wr-map {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes wr-wall {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(-1deg); }
}
@keyframes wr-max {
  0% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(3px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wr-ter {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.01); }
  100% { transform: translateY(0) scale(.99); }
}
@keyframes wr-candle {
  0% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.3); opacity: .9; }
  100% { transform: scale(.9); opacity: .5; }
}

.scn-illo-urges-attack {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a3a2a 40%, #6a5a4a 80%), radial-gradient(ellipse at 50% 20%, #c08040 0%, transparent 60%);
}
.scn-illo-urges-attack .camp-sky {
  position: absolute; top: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  animation: iu-sky 15s linear infinite alternate;
}
.scn-illo-urges-attack .tent-roof {
  position: absolute; top: 25%; left: 10%; width: 80%; height: 30%;
  background: linear-gradient(135deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 40% 40% 0 0 / 80% 80% 0 0;
  box-shadow: 0 10px 20px rgba(0,0,0,.6);
  animation: iu-tent 8s ease-in-out infinite;
}
.scn-illo-urges-attack .tent-pole {
  position: absolute; top: 20%; left: 50%; width: 6px; height: 40%;
  background: linear-gradient(180deg, #8a6a4a 0%, #4a3a2a 100%);
  transform: translateX(-50%); border-radius: 2px;
}
.scn-illo-urges-attack .illo-arm {
  position: absolute; bottom: 18%; left: 35%; width: 60px; height: 20px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 100%);
  border-radius: 10px; transform-origin: left center;
  animation: iu-arm 3s ease-in-out infinite alternate;
}
.scn-illo-urges-attack .soldiers-left {
  position: absolute; bottom: 5%; left: 5%; width: 80px; height: 40px;
  background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 8px, #6a5a4a 8px, #6a5a4a 16px);
  clip-path: polygon(0 100%, 10% 50%, 20% 100%, 30% 50%, 40% 100%, 50% 50%, 60% 100%, 70% 50%, 80% 100%, 90% 50%, 100% 100%);
  animation: iu-soldiers 5s ease-in-out infinite;
}
.scn-illo-urges-attack .soldiers-right {
  position: absolute; bottom: 5%; right: 5%; width: 80px; height: 40px;
  background: repeating-linear-gradient(90deg, #5a3a2a 0px, #5a3a2a 8px, #7a5a3a 8px, #7a5a3a 16px);
  clip-path: polygon(0 100%, 10% 50%, 20% 100%, 30% 50%, 40% 100%, 50% 50%, 60% 100%, 70% 50%, 80% 100%, 90% 50%, 100% 100%);
  animation: iu-soldiers 6s ease-in-out infinite reverse;
}
.scn-illo-urges-attack .battle-sign {
  position: absolute; top: 15%; left: 20%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #8a4a3a 0%, #5a2a1a 100%);
  border-radius: 5px; box-shadow: 0 0 15px rgba(200,80,50,.4);
  animation: iu-sign 4s ease-in-out infinite alternate;
}
.scn-illo-urges-attack .spark-burst {
  position: absolute; top: 10%; left: 60%; width: 100px; height: 100px;
  background: radial-gradient(circle at 30% 40%, #e0a060 0%, #c08040 20%, transparent 60%);
  opacity: .4; animation: iu-spark 2s ease-in-out infinite;
}
@keyframes iu-sky {
  0% { opacity: .7; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes iu-tent {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(.98); }
}
@keyframes iu-arm {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-5deg); }
}
@keyframes iu-soldiers {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes iu-sign {
  0% { transform: rotate(-3deg); opacity: .8; }
  50% { transform: rotate(3deg); opacity: 1; }
  100% { transform: rotate(-2deg); opacity: .9; }
}
@keyframes iu-spark {
  0% { transform: scale(.8); opacity: .3; }
  50% { transform: scale(1.2); opacity: .6; }
  100% { transform: scale(.9); opacity: .2; }
}

.scn-wallenstein-challenges-max {
  background: linear-gradient(180deg, #2a1a1a 0%, #4a3a2a 40%, #6a5a4a 80%), radial-gradient(ellipse at 60% 30%, #b09070 0%, transparent 60%);
}
.scn-wallenstein-challenges-max .hall-shadow {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.4) 0%, transparent 50%, rgba(0,0,0,.2) 100%);
  animation: wc-shadow 10s ease-in-out infinite alternate;
}
.scn-wallenstein-challenges-max .wallenstein-body {
  position: absolute; bottom: 8%; left: 45%; width: 50px; height: 80px; transform: translateX(-60%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 20% 20%;
  animation: wc-wall 3s ease-in-out infinite alternate;
}
.scn-wallenstein-challenges-max .max-silhouette {
  position: absolute; bottom: 10%; left: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a00 100%);
  border-radius: 25% 25% 35% 35% / 45% 45% 20% 20%;
  animation: wc-max 4s ease-in-out infinite;
}
.scn-wallenstein-challenges-max .sword-point {
  position: absolute; bottom: 50%; left: 30%; width: 50px; height: 4px;
  background: linear-gradient(90deg, #a08060 0%, #c0a080 100%);
  transform-origin: left center;
  box-shadow: 0 0 10px rgba(200,180,140,.5);
  animation: wc-sword 2s ease-in-out infinite alternate;
}
.scn-wallenstein-challenges-max .light-ray {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 10px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,230,180,.3) 50%, transparent 100%);
  transform: rotate(15deg);
  animation: wc-ray 6s linear infinite;
}
.scn-wallenstein-challenges-max .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(255,220,180,.2) 0%, transparent 50%);
  animation: wc-dust 15s ease-in-out infinite;
}
.scn-wallenstein-challenges-max .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 20px, #6a5a4a 20px, #6a5a4a 40px);
  opacity: .6;
  animation: wc-floor 8s linear infinite alternate;
}
@keyframes wc-shadow {
  0% { opacity: .4; }
  50% { opacity: .6; }
  100% { opacity: .3; }
}
@keyframes wc-wall {
  0% { transform: translateX(-60%) rotate(0deg); }
  50% { transform: translateX(-60%) rotate(2deg); }
  100% { transform: translateX(-60%) rotate(-1deg); }
}
@keyframes wc-max {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes wc-sword {
  0% { transform: rotate(-10deg); opacity: .7; }
  50% { transform: rotate(5deg); opacity: 1; }
  100% { transform: rotate(-8deg); opacity: .8; }
}
@keyframes wc-ray {
  0% { transform: rotate(15deg) translateX(-30%); opacity: .2; }
  50% { transform: rotate(15deg) translateX(10%); opacity: .4; }
  100% { transform: rotate(15deg) translateX(50%); opacity: .1; }
}
@keyframes wc-dust {
  0% { background-position: 0% 0%; opacity: .3; }
  50% { background-position: 30% 20%; opacity: .5; }
  100% { background-position: 60% 40%; opacity: .2; }
}
@keyframes wc-floor {
  0% { background-position: 0 0; }
  100% { background-position: 40px 0; }
}

.scn-astrological-tower-scene {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 60%, #0d0807 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-astrological-tower-scene .wall-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #3a2a22 0%, #1a1210 100%);
}
.scn-astrological-tower-scene .window {
  position: absolute; top: 20%; left: 30%; width: 120px; height: 160px; background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%); border: 6px solid #5a3e2a; border-radius: 8px; box-shadow: inset 0 0 20px #0008;
}
.scn-astrological-tower-scene .star {
  position: absolute; top: 30%; left: 38%; width: 4px; height: 4px; background: #f0e6b0; border-radius: 50%; box-shadow: 0 0 12px 4px #f0e6b0; animation: ast-star 3s ease-in-out infinite alternate;
}
.scn-astrological-tower-scene .telescope {
  position: absolute; bottom: 30%; left: 50%; width: 100px; height: 20px; transform: translateX(-50%) rotate(-10deg); background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 20% 20% / 100% 100% 60% 60%; box-shadow: 0 4px 8px #0006; animation: ast-telescope 14s ease-in-out infinite;
}
.scn-astrological-tower-scene .candle {
  position: absolute; bottom: 20%; left: 60%; width: 8px; height: 28px; background: linear-gradient(180deg, #c8a060 0%, #b08840 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 0 10px 2px #c8a06066;
}
.scn-astrological-tower-scene .glow {
  position: absolute; bottom: 20%; left: 60%; width: 40px; height: 40px; background: radial-gradient(circle, #f0c86866 0%, transparent 70%); border-radius: 50%; transform: translate(-50%, -50%); animation: ast-glow 4s ease-in-out infinite alternate;
}
@keyframes ast-star {
  0% { opacity: 0.6; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(0.9); }
}
@keyframes ast-telescope {
  0% { transform: translateX(-50%) rotate(-12deg) scale(1); }
  50% { transform: translateX(-50%) rotate(-8deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(-14deg) scale(0.98); }
}
@keyframes ast-glow {
  0% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
  100% { opacity: 0.8; transform: translate(-50%, -50%) scale(0.95); }
}

.scn-setting-sun-comparison {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 60%, #0d0807 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-setting-sun-comparison .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2e221c 0%, #110c0a 100%);
}
.scn-setting-sun-comparison .window-frame {
  position: absolute; top: 15%; left: 25%; width: 200px; height: 260px; background: transparent; border: 10px solid #4a3222; border-radius: 12px;
}
.scn-setting-sun-comparison .sky {
  position: absolute; top: 15%; left: 25%; width: 200px; height: 260px; background: linear-gradient(180deg, #1a1a3e 0%, #6a3a2a 50%, #c86a2a 80%, #f0a040 100%); border-radius: 6px; animation: sun-sky 20s ease-in-out infinite alternate;
}
.scn-setting-sun-comparison .sun {
  position: absolute; bottom: 30%; left: 45%; width: 40px; height: 40px; background: radial-gradient(circle, #f0c868 0%, #c86a2a 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #f0a04088; animation: sun-disk 20s ease-in-out infinite alternate;
}
.scn-setting-sun-comparison .figure {
  position: absolute; bottom: 18%; left: 42%; width: 24px; height: 60px; background: linear-gradient(180deg, #0d0807 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sun-figure 6s ease-in-out infinite alternate;
}
.scn-setting-sun-comparison .curtain {
  position: absolute; top: 15%; left: 25%; width: 100px; height: 260px; background: linear-gradient(180deg, #5a3a2a 0%, #3a1e12 100%); border-radius: 0 40% 40% 0 / 0 20% 20% 0; transform-origin: left; animation: sun-curtain 12s ease-in-out infinite alternate;
}
@keyframes sun-sky {
  0% { background: linear-gradient(180deg, #1a1a3e 0%, #6a3a2a 30%, #c86a2a 60%, #f0a040 100%); }
  50% { background: linear-gradient(180deg, #2a2a4e 0%, #8a4a2a 40%, #d87a3a 70%, #f0b050 100%); }
  100% { background: linear-gradient(180deg, #0a0a1e 0%, #4a2a1a 20%, #a05828 50%, #e09030 100%); }
}
@keyframes sun-disk {
  0% { bottom: 35%; left: 40%; transform: scale(1); opacity: 0.9; }
  50% { bottom: 30%; left: 45%; transform: scale(1.1); opacity: 1; }
  100% { bottom: 25%; left: 50%; transform: scale(0.95); opacity: 0.7; }
}
@keyframes sun-figure {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(4px) scale(1.02); }
  100% { transform: translateX(-2px) scale(0.98); }
}
@keyframes sun-curtain {
  0% { transform: scaleX(0.8); opacity: 0.9; }
  50% { transform: scaleX(0.9); opacity: 1; }
  100% { transform: scaleX(0.85); opacity: 0.95; }
}

.scn-perusal-difficulty {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 60%, #0d0807 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-perusal-difficulty .desk {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 30%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2216 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 -4px 12px #0008;
}
.scn-perusal-difficulty .book-left {
  position: absolute; bottom: 24%; left: 30%; width: 80px; height: 50px; background: linear-gradient(135deg, #6a4a32 0%, #4a2e1e 100%); border-radius: 2px 8px 8px 2px; box-shadow: 2px 0 6px #0006; transform: rotate(-2deg); animation: per-book 10s ease-in-out infinite alternate;
}
.scn-perusal-difficulty .book-right {
  position: absolute; bottom: 24%; left: 48%; width: 80px; height: 50px; background: linear-gradient(135deg, #7a5a3a 0%, #5a3a22 100%); border-radius: 8px 2px 2px 8px; box-shadow: -2px 0 6px #0006; transform: rotate(2deg); animation: per-book 10s ease-in-out infinite alternate-reverse;
}
.scn-perusal-difficulty .candle {
  position: absolute; bottom: 34%; left: 44%; width: 10px; height: 40px; background: linear-gradient(180deg, #c8a060 0%, #b08840 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 0 10px 2px #c8a06088;
}
.scn-perusal-difficulty .flame {
  position: absolute; bottom: 48%; left: 44%; width: 14px; height: 18px; background: radial-gradient(ellipse, #f0e080 0%, #d0a030 50%, transparent 100%); border-radius: 50% 50% 30% 30%; animation: per-flame 1.5s ease-in-out infinite alternate;
}
.scn-perusal-difficulty .shadow {
  position: absolute; bottom: 10%; left: 30%; width: 200px; height: 100px; background: radial-gradient(ellipse at 50% 0%, #0006 0%, transparent 70%); animation: per-shadow 8s ease-in-out infinite alternate;
}
@keyframes per-book {
  0% { transform: rotate(-3deg) scale(1); }
  50% { transform: rotate(1deg) scale(1.02); }
  100% { transform: rotate(-2deg) scale(0.98); }
}
@keyframes per-flame {
  0% { transform: scaleY(1) scaleX(0.9); opacity: 0.9; }
  50% { transform: scaleY(1.2) scaleX(1); opacity: 1; }
  100% { transform: scaleY(0.95) scaleX(0.85); opacity: 0.85; }
}
@keyframes per-shadow {
  0% { transform: translateX(0) scale(1); opacity: 0.6; }
  50% { transform: translateX(5px) scale(1.05); opacity: 0.8; }
  100% { transform: translateX(-3px) scale(0.95); opacity: 0.5; }
}

.scn-translator-compensation {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 60%, #0d0807 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-translator-compensation .stand {
  position: absolute; bottom: 10%; left: 50%; width: 10px; height: 60%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2216 100%); transform: translateX(-50%); border-radius: 2px;
}
.scn-translator-compensation .beam {
  position: absolute; bottom: 50%; left: 20%; width: 60%; height: 8px; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a22 100%); transform-origin: 50% 50%; border-radius: 2px; animation: com-beam 6s ease-in-out infinite alternate;
}
.scn-translator-compensation .pan-left {
  position: absolute; bottom: 45%; left: 20%; width: 40px; height: 20px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a32 100%); border-radius: 50% 50% 10% 10% / 100% 100% 40% 40%; transform-origin: center top; animation: com-pan 6s ease-in-out infinite alternate;
}
.scn-translator-compensation .pan-right {
  position: absolute; bottom: 45%; right: 20%; width: 40px; height: 20px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a32 100%); border-radius: 50% 50% 10% 10% / 100% 100% 40% 40%; transform-origin: center top; animation: com-pan 6s ease-in-out infinite alternate-reverse;
}
.scn-translator-compensation .lantern {
  position: absolute; bottom: 25%; left: 48%; width: 16px; height: 24px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 4px 4px 8px 8px; box-shadow: 0 0 20px 6px #c8a06066; animation: com-lantern 4s ease-in-out infinite alternate;
}
.scn-translator-compensation .glow {
  position: absolute; bottom: 25%; left: 50%; width: 60px; height: 60px; background: radial-gradient(circle, #f0c86844 0%, transparent 70%); border-radius: 50%; transform: translate(-50%, -50%); animation: com-glow 4s ease-in-out infinite alternate;
}
@keyframes com-beam {
  0% { transform: rotate(3deg); }
  50% { transform: rotate(-2deg); }
  100% { transform: rotate(4deg); }
}
@keyframes com-pan {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.03); }
  100% { transform: scaleY(0.97); }
}
@keyframes com-lantern {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(1px) rotate(-1deg); }
}
@keyframes com-glow {
  0% { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); }
  100% { opacity: 0.8; transform: translate(-50%, -50%) scale(0.95); }
}

.scn-max-bids-mother-farewell {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1a 40%, #3a2a1e 70%, #1a1410 100%),
              radial-gradient(ellipse at 50% 30%, #3a2a1e 0%, transparent 60%);
}
.scn-max-bids-mother-farewell .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); }
.scn-max-bids-mother-farewell .window { position:absolute; top:10%; right:15%; width:20%; height:30%; background: linear-gradient(135deg, #4a3a2e 0%, #2a1e1a 100%); border:4px solid #3a2a1e; border-radius:2px; box-shadow: inset 0 0 20px rgba(0,0,0,.5); animation: mbmf-window 12s ease-in-out infinite alternate; }
.scn-max-bids-mother-farewell .candle { position:absolute; bottom:35%; left:45%; width:8px; height:40px; background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 6px #d8b070; }
.scn-max-bids-mother-farewell .flame { position:absolute; bottom:65%; left:46.5%; width:6px; height:12px; background: radial-gradient(circle at 50% 100%, #ffd060 20%, #ff8020 60%, transparent 80%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; animation: mbmf-flame 1.2s ease-in-out infinite alternate; }
.scn-max-bids-mother-farewell .figure-max { position:absolute; bottom:20%; left:40%; width:20px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: mbmf-figure-r 6s ease-in-out infinite; }
.scn-max-bids-mother-farewell .figure-mother { position:absolute; bottom:20%; right:40%; width:22px; height:48px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: mbmf-figure-l 7s ease-in-out infinite; }
.scn-max-bids-mother-farewell .shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(10,10,6,.6) 100%); animation: mbmf-shadow 8s ease-in-out infinite alternate; }
@keyframes mbmf-window { 0% { opacity:.6; box-shadow: inset 0 0 20px rgba(0,0,0,.5); } 50% { opacity:.8; box-shadow: inset 0 0 30px rgba(0,0,0,.3); } 100% { opacity:.5; box-shadow: inset 0 0 20px rgba(0,0,0,.6); } }
@keyframes mbmf-flame { 0% { transform: scaleY(1) translateY(0); opacity:.9; } 50% { transform: scaleY(1.3) translateY(-2px); opacity:1; } 100% { transform: scaleY(.9) translateY(0); opacity:.8; } }
@keyframes mbmf-figure-r { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(2px) rotate(2deg); } 60% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mbmf-figure-l { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(-2px) rotate(-2deg); } 60% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mbmf-shadow { 0% { opacity:.4; } 50% { opacity:.6; } 100% { opacity:.3; } }

.scn-max-asks-butler-protection {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a1e 30%, #2a1e1a 60%, #1a1410 100%),
              radial-gradient(ellipse at 30% 40%, #4a3a2e 0%, transparent 70%);
}
.scn-max-asks-butler-protection .bg { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1e 0%, #1a1410 100%); }
.scn-max-asks-butler-protection .doorway { position:absolute; left:20%; top:20%; width:18%; height:60%; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:10% 10% 0 0; border:3px solid #4a3a2e; box-shadow: inset 0 0 30px rgba(0,0,0,.7); animation: mabp-door 10s ease-in-out infinite alternate; }
.scn-max-asks-butler-protection .lantern { position:absolute; top:30%; left:24%; width:10px; height:14px; background: radial-gradient(circle at 50% 50%, #ffd060 40%, #c88030 70%, transparent); border-radius:30% 30% 20% 20%; box-shadow: 0 0 20px 4px #c88030; animation: mabp-lantern 2.5s ease-in-out infinite alternate; }
.scn-max-asks-butler-protection .figure-butler { position:absolute; bottom:15%; left:25%; width:24px; height:52px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: mabp-butler 6s ease-in-out infinite; }
.scn-max-asks-butler-protection .figure-max { position:absolute; bottom:15%; right:35%; width:20px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: mabp-max 5s ease-in-out infinite; }
.scn-max-asks-butler-protection .floor { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e1a 100%); box-shadow: 0 -4px 8px rgba(0,0,0,.3); animation: mabp-floor 9s ease-in-out infinite alternate; }
@keyframes mabp-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes mabp-lantern { 0% { box-shadow: 0 0 15px 2px #c88030; } 50% { box-shadow: 0 0 25px 6px #ffa040; } 100% { box-shadow: 0 0 18px 3px #c88030; } }
@keyframes mabp-butler { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mabp-max { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(-2deg); } 60% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mabp-floor { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }

.scn-wallenstein-forces-max-out {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1a 40%, #3a2a1e 70%, #1a1410 100%),
              radial-gradient(ellipse at 70% 30%, #3a2a1e 0%, transparent 60%);
}
.scn-wallenstein-forces-max-out .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); }
.scn-wallenstein-forces-max-out .column { position:absolute; left:10%; top:10%; width:8%; height:80%; background: linear-gradient(90deg, #4a3a2e 0%, #2a1e1a 50%, #4a3a2e 100%); border-radius:4px; box-shadow: 2px 0 8px rgba(0,0,0,.5); animation: wfmo-column 14s ease-in-out infinite alternate; }
.scn-wallenstein-forces-max-out .figure-wallenstein { position:absolute; bottom:20%; left:30%; width:28px; height:60px; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: wfmo-wallenstein 5s ease-in-out infinite; }
.scn-wallenstein-forces-max-out .figure-thekla { position:absolute; bottom:22%; left:45%; width:18px; height:40px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: wfmo-thekla 6s ease-in-out infinite; }
.scn-wallenstein-forces-max-out .figure-max { position:absolute; bottom:20%; right:30%; width:22px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: wfmo-max 4s ease-in-out infinite alternate; }
.scn-wallenstein-forces-max-out .soldiers { position:absolute; bottom:10%; left:5%; width:90%; height:30%; background: repeating-linear-gradient(90deg, #1a1410 0px, #1a1410 12px, transparent 12px, transparent 20px); opacity:.4; animation: wfmo-soldiers 20s linear infinite; }
.scn-wallenstein-forces-max-out .floor { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e1a 100%); }
@keyframes wfmo-column { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes wfmo-wallenstein { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wfmo-thekla { 0% { transform: translateY(0) rotate(-1deg); } 30% { transform: translateY(-1px) rotate(1deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wfmo-max { 0% { transform: translateX(0) rotate(0) scale(1); } 30% { transform: translateX(-2px) rotate(-3deg) scale(1.02); } 60% { transform: translateX(2px) rotate(2deg) scale(.98); } 100% { transform: translateX(0) rotate(0) scale(1); } }
@keyframes wfmo-soldiers { 0% { background-position: 0 0; } 100% { background-position: 100px 0; } }

.scn-max-leads-cuirassiers {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e1a 30%, #3a2a1e 60%, #1a1410 100%),
              radial-gradient(ellipse at 50% 40%, #4a3a2e 0%, transparent 70%);
}
.scn-max-leads-cuirassiers .bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1410 100%); }
.scn-max-leads-cuirassiers .brazier { position:absolute; bottom:40%; left:20%; width:40px; height:30px; background: radial-gradient(ellipse at 50% 100%, #ff8030 30%, #c85020 60%, transparent 80%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 30px 10px #c85020; animation: mlc-brazier 2s ease-in-out infinite alternate; }
.scn-max-leads-cuirassiers .flame { position:absolute; bottom:70%; left:21.5%; width:8px; height:20px; background: linear-gradient(180deg, #ffd060 0%, #ff8020 50%, transparent 100%); border-radius:50% 50% 10% 10%; animation: mlc-flame 0.8s ease-in-out infinite alternate; }
.scn-max-leads-cuirassiers .figure-max { position:absolute; bottom:15%; left:45%; width:24px; height:55px; background: linear-gradient(180deg, #1a1410 0%, #0a0a06 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin:bottom center; animation: mlc-max 3s ease-in-out infinite; }
.scn-max-leads-cuirassiers .soldiers { position:absolute; bottom:10%; left:10%; width:80%; height:45%; background: repeating-linear-gradient(90deg, #1a1410 0px, #1a1410 14px, transparent 14px, transparent 22px); opacity:.5; animation: mlc-soldiers 15s linear infinite; }
.scn-max-leads-cuirassiers .ground { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e1a 100%); }
.scn-max-leads-cuirassiers .flag { position:absolute; top:20%; right:20%; width:6px; height:40px; background: linear-gradient(180deg, #5a3a2e 0%, #3a2a1e 100%); border-radius:2px; transform-origin:bottom center; animation: mlc-flag 4s ease-in-out infinite alternate; }
.scn-max-leads-cuirassiers .flag::before { content:''; position:absolute; top:0; left:6px; width:24px; height:14px; background: linear-gradient(180deg, #6a4a3a 0%, #4a3a2e 100%); border-radius:0 50% 50% 0; }
@keyframes mlc-brazier { 0% { transform: scaleY(1); opacity:.9; } 50% { transform: scaleY(1.1); opacity:1; } 100% { transform: scaleY(1); opacity:.8; } }
@keyframes mlc-flame { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.4) translateY(-3px); } 100% { transform: scaleY(.8) translateY(0); } }
@keyframes mlc-max { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(-2deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mlc-soldiers { 0% { background-position: 0 0; } 100% { background-position: 80px 0; } }
@keyframes mlc-flag { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }

.scn-illo-promises-rewards {
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 40%, #2a1a0a 100%),
              radial-gradient(ellipse at 50% 30%, #6a5a3a 0%, transparent 60%);
}
.scn-illo-promises-rewards .wall-l  { position:absolute; left:0; top:0; width:35%; height:100%; background: linear-gradient(90deg, #5a4a3a 0%, transparent 100%); }
.scn-illo-promises-rewards .wall-r  { position:absolute; right:0; top:0; width:35%; height:100%; background: linear-gradient(270deg, #5a4a3a 0%, transparent 100%); }
.scn-illo-promises-rewards .floor  { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 20% 20% 0 0; }
.scn-illo-promises-rewards .throne { position:absolute; bottom:25%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 8px 20px rgba(0,0,0,0.6); }
.scn-illo-promises-rewards .king   { position:absolute; bottom:30%; left:50%; width:40px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pro-king 6s ease-in-out infinite; }
.scn-illo-promises-rewards .kneeler{ position:absolute; bottom:22%; left:38%; width:30px; height:50px; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pro-kneel 4s ease-in-out infinite alternate; }
.scn-illo-promises-rewards .torch  { position:absolute; bottom:35%; left:30%; width:8px; height:40px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 10px #c08040; animation: pro-torch 3s ease-in-out infinite alternate; }
.scn-illo-promises-rewards .glow   { position:absolute; inset:0; background: radial-gradient(circle at 30% 40%, rgba(192,128,64,0.15) 0%, transparent 60%); animation: pro-glow 8s ease-in-out infinite alternate; }
.scn-illo-promises-rewards .curtain{ position:absolute; left:0; right:0; top:0; height:100%; background: linear-gradient(180deg, rgba(90,50,30,0.6) 0%, transparent 40%); pointer-events: none; }
@keyframes pro-king   { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); } }
@keyframes pro-kneel  { 0% { transform: translateX(0) rotate(-2deg); } 100% { transform: translateX(5px) rotate(2deg); } }
@keyframes pro-torch  { 0% { opacity:0.7; box-shadow: 0 0 10px 5px #c08040; } 50% { opacity:1; box-shadow: 0 0 30px 15px #e0a050; } 100% { opacity:0.8; box-shadow: 0 0 15px 8px #c08040; } }
@keyframes pro-glow   { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

.scn-illo-wants-illumination {
  background: linear-gradient(180deg, #5a5a4a 0%, #3a3a2a 50%, #2a2a1a 100%),
              radial-gradient(ellipse at 70% 30%, #7a7a5a 0%, transparent 70%);
}
.scn-illo-wants-illumination .bg-wall  { position:absolute; inset:0; background: linear-gradient(90deg, #4a4a3a 0%, #3a3a2a 50%, #4a4a3a 100%); }
.scn-illo-wants-illumination .window   { position:absolute; top:15%; left:55%; width:80px; height:100px; background: linear-gradient(180deg, #2a4a5a 0%, #4a6a8a 100%); border: 6px solid #5a4a3a; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,255,200,0.3); }
.scn-illo-wants-illumination .moonlight{ position:absolute; top:15%; left:55%; width:80px; height:100px; background: radial-gradient(circle at 50% 30%, rgba(255,255,200,0.2) 0%, transparent 80%); animation: ill-beam 12s ease-in-out infinite alternate; }
.scn-illo-wants-illumination .guard-1  { position:absolute; bottom:20%; left:25%; width:28px; height:60px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ill-guard 5s ease-in-out infinite alternate; }
.scn-illo-wants-illumination .guard-2  { position:absolute; bottom:20%; right:25%; width:28px; height:60px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: ill-guard 5s ease-in-out infinite alternate-reverse; }
.scn-illo-wants-illumination .lamp     { position:absolute; bottom:25%; left:50%; width:10px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius:50%; box-shadow: 0 0 25px 10px #c0a060; animation: ill-lamp 4s ease-in-out infinite alternate; }
.scn-illo-wants-illumination .keys     { position:absolute; bottom:28%; left:48%; width:12px; height:20px; background: #6a5a4a; border-radius: 50% 50% 0 0; box-shadow: 0 4px 6px #2a2a1a; animation: ill-keys 8s ease-in-out infinite; }
.scn-illo-wants-illumination .shadow   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%); }
@keyframes ill-beam   { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.05); } 100% { opacity:0.4; transform: scaleY(0.95); } }
@keyframes ill-guard  { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ill-lamp   { 0% { opacity:0.6; box-shadow: 0 0 15px 5px #c0a060; } 50% { opacity:1; box-shadow: 0 0 35px 15px #e0c080; } 100% { opacity:0.7; box-shadow: 0 0 20px 8px #c0a060; } }
@keyframes ill-keys   { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(3px) rotate(2deg); } }

.scn-tersky-invites-butler {
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 40%, #2a1a0a 100%),
              radial-gradient(ellipse at 30% 40%, #6a5a3a 0%, transparent 60%);
}
.scn-tersky-invites-butler .corridor-bg{ position:absolute; inset:0; background: linear-gradient(90deg, #4a3a2a 0%, #3a2a1a 50%, #4a3a2a 100%); }
.scn-tersky-invites-butler .arch-l     { position:absolute; left:10%; top:5%; width:30%; height:95%; background: linear-gradient(180deg, #5a4a3a 0%, transparent 100%); border-radius: 0 50% 0 0; }
.scn-tersky-invites-butler .arch-r     { position:absolute; right:10%; top:5%; width:30%; height:95%; background: linear-gradient(180deg, #5a4a3a 0%, transparent 100%); border-radius: 50% 0 0 0; }
.scn-tersky-invites-butler .tert       { position:absolute; bottom:20%; left:35%; width:30px; height:55px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tbu-tert 6s ease-in-out infinite alternate; }
.scn-tersky-invites-butler .butler     { position:absolute; bottom:20%; right:35%; width:32px; height:58px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tbu-butler 6s ease-in-out infinite alternate-reverse; }
.scn-tersky-invites-butler .candle     { position:absolute; bottom:30%; left:50%; width:6px; height:18px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 50%; box-shadow: 0 0 20px 8px #c08040; animation: tbu-candle 3s ease-in-out infinite alternate; }
.scn-tersky-invites-butler .glow-arch  { position:absolute; top:5%; left:10%; right:10%; height:40%; background: radial-gradient(ellipse at 50% 30%, rgba(200,150,80,0.15) 0%, transparent 70%); animation: tbu-glow 8s ease-in-out infinite alternate; }
.scn-tersky-invites-butler .door       { position:absolute; bottom:15%; left:45%; width:10%; height:50%; background: linear-gradient(90deg, #5a4a3a 0%, #6a5a4a 50%, #5a4a3a 100%); border:2px solid #3a2a1a; border-radius:4px; animation: tbu-door 12s ease-in-out infinite; }
@keyframes tbu-tert    { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes tbu-butler  { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes tbu-candle  { 0% { opacity:0.7; box-shadow: 0 0 10px 4px #c08040; } 50% { opacity:1; box-shadow: 0 0 25px 10px #e0a050; } 100% { opacity:0.8; box-shadow: 0 0 15px 6px #c08040; } }
@keyframes tbu-glow    { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.2; } }
@keyframes tbu-door    { 0%,100% { transform: rotateY(0deg); } 50% { transform: rotateY(20deg); } }

.scn-butler-gives-final-orders {
  background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 50%, #050505 100%),
              radial-gradient(ellipse at 50% 60%, #1a1a2a 0%, transparent 70%);
}
.scn-butler-gives-final-orders .wall-dark { position:absolute; inset:0; background: linear-gradient(90deg, #1a1a1a 0%, #0a0a0a 50%, #1a1a1a 100%); }
.scn-butler-gives-final-orders .floor-dark{ position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #0a0a0a 0%, #000 100%); }
.scn-butler-gives-final-orders .butler-fig{ position:absolute; bottom:25%; left:35%; width:34px; height:60px; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: but-butler 8s ease-in-out infinite alternate; }
.scn-butler-gives-final-orders .gordon-fig{ position:absolute; bottom:25%; right:35%; width:30px; height:56px; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: but-gordon 8s ease-in-out infinite alternate-reverse; }
.scn-butler-gives-final-orders .lamp-dull { position:absolute; bottom:30%; left:50%; width:8px; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50%; box-shadow: 0 0 8px 3px #6a5a3a; animation: but-lamp 5s ease-in-out infinite alternate; }
.scn-butler-gives-final-orders .glow-dim  { position:absolute; inset:0; background: radial-gradient(circle at 50% 35%, rgba(100,80,50,0.08) 0%, transparent 60%); animation: but-glow 10s ease-in-out infinite alternate; }
.scn-butler-gives-final-orders .map       { position:absolute; bottom:20%; left:20%; width:60px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; transform: rotate(-5deg); box-shadow: 0 2px 6px #000; animation: but-map 15s ease-in-out infinite; }
.scn-butler-gives-final-orders .sword     { position:absolute; bottom:28%; left:22%; width:6px; height:50px; background: linear-gradient(180deg, #8a8a8a 0%, #4a4a4a 100%); border-radius: 50% 50% 10% 10%; transform: rotate(15deg); box-shadow: 0 0 4px #888; animation: but-sword 12s ease-in-out infinite; }
@keyframes but-butler { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes but-gordon { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes but-lamp   { 0% { opacity:0.4; box-shadow: 0 0 5px 2px #6a5a3a; } 50% { opacity:0.7; box-shadow: 0 0 12px 4px #6a5a3a; } 100% { opacity:0.5; box-shadow: 0 0 6px 2px #6a5a3a; } }
@keyframes but-glow   { 0% { opacity:0.1; } 50% { opacity:0.2; } 100% { opacity:0.05; } }
@keyframes but-map    { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }
@keyframes but-sword  { 0% { transform: rotate(15deg) scaleY(1); } 50% { transform: rotate(12deg) scaleY(0.95); } 100% { transform: rotate(15deg) scaleY(1); } }

.scn-countess-thekla-enter { background: linear-gradient(180deg, #d4a373 0%, #c28b5e 30%, #9e6645 70%, #6b3a2a 100%), radial-gradient(ellipse at 50% 10%, rgba(255,215,0,0.25) 0%, transparent 70%); }

.scn-countess-thekla-enter .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b07d4a 0%, #8a6038 100%); border-radius: 40% 0 0 0 / 20% 0 0 0; }
.scn-countess-thekla-enter .wall { position:absolute; top:0; left:0; right:0; bottom:30%; background: linear-gradient(180deg, #e6cba0 0%, #d4a373 60%, #c28b5e 100%); }
.scn-countess-thekla-enter .arch { position:absolute; top:10%; left:40%; width:20%; height:40%; background: linear-gradient(180deg, transparent 0%, #8a6038 50%, transparent 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; filter: blur(2px); transform: scaleX(1.2); }
.scn-countess-thekla-enter .figure-leader { position:absolute; bottom:20%; left:40%; width:20px; height:50px; background: linear-gradient(180deg, #7a4a2a 0%, #5a3020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cte-leader 6s ease-in-out infinite; }
.scn-countess-thekla-enter .figure-follow { position:absolute; bottom:20%; left:50%; width:18px; height:48px; background: linear-gradient(180deg, #b08050 20%, #8a6038 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cte-follow 6s ease-in-out infinite 0.3s; }
.scn-countess-thekla-enter .jewel-glow { position:absolute; bottom:45%; left:52%; width:8px; height:8px; background: radial-gradient(circle, #ffd700 0%, #ffa500 50%, #ff8c00 100%); border-radius:50%; box-shadow: 0 0 30px 12px rgba(255,215,0,0.6); animation: cte-jewel 2s ease-in-out infinite alternate; }
.scn-countess-thekla-enter .light-shaft { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 80%); transform: skewX(-10deg); animation: cte-shaft 10s ease-in-out infinite; }

@keyframes cte-leader { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(2deg); } 50% { transform: translateX(10px) rotate(0); } 75% { transform: translateX(5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cte-follow { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-5px) rotate(-1deg); } 50% { transform: translateX(-10px) rotate(0); } 75% { transform: translateX(-5px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cte-jewel { 0% { opacity: 0.7; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes cte-shaft { 0% { opacity: 0.2; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

.scn-wall enstein-embraces-future { background: linear-gradient(180deg, #c28b5e 0%, #a66d44 40%, #7a4a2a 100%), radial-gradient(ellipse at 50% 60%, rgba(255,200,100,0.2) 0%, transparent 60%); }

.scn-wall enstein-embraces-future .bg-amber { position:absolute; inset:0; background: linear-gradient(180deg, #d4a373 0%, #b07d4a 100%); }
.scn-wall enstein-embraces-future .figure-duke { position:absolute; bottom:20%; left:45%; width:24px; height:60px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wef-duke 5s ease-in-out infinite; }
.scn-wall enstein-embraces-future .figure-child { position:absolute; bottom:20%; left:55%; width:16px; height:30px; background: linear-gradient(180deg, #8a6038 20%, #6b3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wef-child 5s ease-in-out infinite 0.2s; }
.scn-wall enstein-embraces-future .crown-glow { position:absolute; bottom:50%; left:48%; width:20px; height:20px; background: radial-gradient(circle, #ffd700 0%, #ffa500 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,215,0,0.5); animation: wef-crown 7s ease-in-out infinite; }
.scn-wall enstein-embraces-future .star-field { position:absolute; top:5%; left:0; right:0; height:40%; background: radial-gradient(1px 1px at 10% 20%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 30% 40%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 60% 10%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 80% 30%, #fff 0%, transparent 100%); animation: wef-stars 20s linear infinite; }
.scn-wall enstein-embraces-future .beam { position:absolute; top:0; left:45%; width:10%; height:100%; background: linear-gradient(180deg, rgba(255,230,180,0.4) 0%, transparent 90%); transform: skewX(-5deg); animation: wef-beam 12s ease-in-out infinite; }

@keyframes wef-duke { 0% { transform: translateX(0) rotate(0) scaleY(1); } 25% { transform: translateX(3px) rotate(2deg) scaleY(1.02); } 50% { transform: translateX(6px) rotate(0) scaleY(1); } 75% { transform: translateX(3px) rotate(-2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0) scaleY(1); } }
@keyframes wef-child { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(-4px) rotate(0); } 75% { transform: translateX(-2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wef-crown { 0% { opacity: 0.6; transform: scale(0.8) rotate(0deg); } 50% { opacity: 1; transform: scale(1.2) rotate(5deg); } 100% { opacity: 0.7; transform: scale(0.9) rotate(-5deg); } }
@keyframes wef-stars { 0% { opacity: 0.3; transform: translateY(0); } 50% { opacity: 0.7; transform: translateY(-5px); } 100% { opacity: 0.3; transform: translateY(0); } }
@keyframes wef-beam { 0% { opacity: 0.2; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

.scn-max-paladin-arrives { background: linear-gradient(180deg, #d4a373 0%, #b07d4a 50%, #8a6038 100%), radial-gradient(ellipse at 70% 30%, rgba(255,200,100,0.3) 0%, transparent 60%); }

.scn-max-paladin-arrives .hall-bg { position:absolute; inset:0; background: linear-gradient(180deg, #c28b5e 0%, #a66d44 100%); }
.scn-max-paladin-arrives .archway { position:absolute; top:5%; left:60%; width:30%; height:50%; background: linear-gradient(180deg, #6b3a2a 0%, #4a2a1a 100%); border-radius: 50% 50% 0 0 / 100% 100% 0 0; transform: scaleX(0.8); }
.scn-max-paladin-arrives .figure-wall { position:absolute; bottom:15%; left:35%; width:22px; height:55px; background: linear-gradient(180deg, #3a2010 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpa-wall 6s ease-in-out infinite; }
.scn-max-paladin-arrives .figure-max { position:absolute; bottom:15%; left:55%; width:20px; height:52px; background: linear-gradient(180deg, #7a4a2a 20%, #5a3020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mpa-max 6s ease-in-out infinite 0.3s; }
.scn-max-paladin-arrives .torch-glow { position:absolute; bottom:40%; left:62%; width:16px; height:16px; background: radial-gradient(circle, #ffa500 0%, #ff8c00 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 50px 25px rgba(255,165,0,0.7); animation: mpa-torch 3s ease-in-out infinite alternate; }
.scn-max-paladin-arrives .armor-shine { position:absolute; bottom:20%; left:55%; width:8px; height:20px; background: linear-gradient(180deg, rgba(255,255,255,0.6) 0%, transparent 100%); border-radius: 30%; transform: skewX(-5deg); animation: mpa-shine 2s ease-in-out infinite alternate; }

@keyframes mpa-wall { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(4px) rotate(0); } 75% { transform: translateX(2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mpa-max { 0% { transform: translateX(0) rotate(0) scaleY(1); } 25% { transform: translateX(-3px) rotate(-1deg) scaleY(1.01); } 50% { transform: translateX(-6px) rotate(0) scaleY(1); } 75% { transform: translateX(-3px) rotate(1deg) scaleY(1.01); } 100% { transform: translateX(0) rotate(0) scaleY(1); } }
@keyframes mpa-torch { 0% { opacity: 0.7; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes mpa-shine { 0% { opacity: 0.2; } 50% { opacity: 0.8; } 100% { opacity: 0.3; } }

.scn-tertsky-delivers-letters { background: linear-gradient(180deg, #c28b5e 0%, #a66d44 40%, #7a4a2a 100%), radial-gradient(ellipse at 50% 80%, rgba(255,200,100,0.25) 0%, transparent 70%); }

.scn-tertsky-delivers-letters .chamber-bg { position:absolute; inset:0; background: linear-gradient(180deg, #d4a373 0%, #b07d4a 100%); }
.scn-tertsky-delivers-letters .desk { position:absolute; bottom:20%; left:30%; width:40%; height:15%; background: linear-gradient(180deg, #6b3a2a 0%, #4a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform: skewX(-3deg); }
.scn-tertsky-delivers-letters .figure-tertsky { position:absolute; bottom:15%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #5a3020 20%, #3a2010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tdl-tertsky 5s ease-in-out infinite; }
.scn-tertsky-delivers-letters .figure-duke { position:absolute; bottom:15%; left:55%; width:22px; height:55px; background: linear-gradient(180deg, #3a2010 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tdl-duke 5s ease-in-out infinite 0.4s; }
.scn-tertsky-delivers-letters .letter-glow { position:absolute; bottom:35%; left:50%; width:12px; height:8px; background: radial-gradient(circle, #ffd700 0%, #ffa500 50%, transparent 80%); border-radius: 20%; box-shadow: 0 0 40px 15px rgba(255,215,0,0.5); animation: tdl-letter 4s ease-in-out infinite alternate; }
.scn-tertsky-delivers-letters .candle-glow { position:absolute; bottom:30%; left:30%; width:10px; height:10px; background: radial-gradient(circle, #ffa500 0%, #ff8c00 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,165,0,0.6); animation: tdl-candle 3s ease-in-out infinite alternate; }

@keyframes tdl-tertsky { 0% { transform: translateX(0) rotate(0) scaleY(1); } 25% { transform: translateX(5px) rotate(3deg) scaleY(1.02); } 50% { transform: translateX(10px) rotate(0) scaleY(1); } 75% { transform: translateX(5px) rotate(-3deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0) scaleY(1); } }
@keyframes tdl-duke { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(-6px) rotate(0); } 75% { transform: translateX(-3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tdl-letter { 0% { opacity: 0.5; transform: scale(0.8) rotate(-5deg) translateY(0); } 50% { opacity: 1; transform: scale(1.2) rotate(0deg) translateY(-3px); } 100% { opacity: 0.6; transform: scale(0.9) rotate(5deg) translateY(0); } }
@keyframes tdl-candle { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(1); } }

/* wallenstein-look-forward */

.scn-wall-look-forward { background: linear-gradient(180deg, #1a1018 0%, #2d1e28 40%, #3a2a34 100%), radial-gradient(ellipse at 60% 40%, #4a3a44 0%, transparent 70%); }
.scn-wall-look-forward .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0d080c 0%, #1a1118 50%, #2a1e28 100%); }
.scn-wall-look-forward .table { position:absolute; bottom:10%; left:30%; right:30%; height:8%; background: linear-gradient(180deg, #5a4038 0%, #3a2824 100%); border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); transform: perspective(600px) rotateX(30deg); transform-origin: bottom center; }
.scn-wall-look-forward .candle { position:absolute; bottom:30%; left:48%; width:6px; height:24px; background: linear-gradient(180deg, #e8d0a0 0%, #b89a70 100%); border-radius: 2px; box-shadow: 0 0 8px 2px #b89a70; }
.scn-wall-look-forward .candle-glow { position:absolute; bottom:38%; left:48%; width:40px; height:40px; transform: translate(-50%, -50%); background: radial-gradient(circle, #ffd060 0%, #b87a30 40%, transparent 70%); border-radius:50%; animation: wlf-gl 4s ease-in-out infinite alternate; }
.scn-wall-look-forward .figure-main { position:absolute; bottom:15%; left:45%; width:30px; height:70px; background: linear-gradient(180deg, #0d0a0e 0%, #181218 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px 4px rgba(0,0,0,0.8); animation: wlf-fig 6s ease-in-out infinite; }
.scn-wall-look-forward .figure-shadow { position:absolute; bottom:15%; left:52%; width:40px; height:20px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px); transform: skewX(-20deg); }
.scn-wall-look-forward .paper { position:absolute; bottom:18%; left:30%; width:40px; height:30px; background: linear-gradient(180deg, #d4c8a0 0%, #c0b090 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
@keyframes wlf-gl { 0% { opacity:0.7; transform: translate(-50%,-50%) scale(1); } 50% { opacity:1; transform: translate(-50%,-50%) scale(1.15); } 100% { opacity:0.8; transform: translate(-50%,-50%) scale(0.95); } }
@keyframes wlf-fig { 0%,100% { transform: translateY(0) rotate(0); } 30% { transform: translateY(–2px) rotate(1deg); } 60% { transform: translateY(–1px) rotate(–1deg); } }

/* wallenstein-retires-stage */

.scn-wall-retires-stage { background: linear-gradient(180deg, #120e16 0%, #1e1822 40%, #2a2230 100%), radial-gradient(ellipse at 40% 50%, #2a2230 0%, transparent 60%); }
.scn-wall-retires-stage .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #08060c 0%, #16101e 50%, #221a2c 100%); }
.scn-wall-retires-stage .column { position:absolute; top:10%; bottom:0; left:15%; width:12px; background: linear-gradient(90deg, #3a2e3e 0%, #2a1e2e 100%); border-radius: 4px; box-shadow: 0 0 12px rgba(0,0,0,0.7); }
.scn-wall-retires-stage .figure-w { position:absolute; bottom:12%; left:40%; width:28px; height:68px; background: linear-gradient(180deg, #161018 0%, #1e1420 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wst-walk 8s ease-in-out infinite; }
.scn-wall-retires-stage .figure-m { position:absolute; bottom:15%; left:55%; width:30px; height:70px; background: linear-gradient(180deg, #0a080e 0%, #14101a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wst-still 4s ease-in-out infinite alternate; }
.scn-wall-retires-stage .floor { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(180deg, #2a1e2e 0%, #1a1220 100%); }
.scn-wall-retires-stage .doorway-shadow { position:absolute; top:10%; right:10%; width:60px; height:80%; background: linear-gradient(180deg, #0a0810 60%, transparent 100%); border-radius: 20px 20px 0 0; opacity:0.5; }
@keyframes wst-walk { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(15px) rotate(2deg); } 50% { transform: translateX(30px) rotate(-1deg); } 75% { transform: translateX(15px) rotate(1deg); } }
@keyframes wst-still { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }

/* max-implicit-faith */

.scn-max-implicit-faith { background: linear-gradient(180deg, #1a121c 0%, #281e2e 50%, #342838 100%), radial-gradient(ellipse at 70% 60%, #342838 0%, transparent 60%); }
.scn-max-implicit-faith .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0e0a12 0%, #1a1420 50%, #261e30 100%); }
.scn-max-implicit-faith .table { position:absolute; bottom:8%; left:20%; right:30%; height:10%; background: linear-gradient(180deg, #4a3838 0%, #302424 100%); border-radius: 4px; transform: perspective(400px) rotateX(35deg); transform-origin: bottom center; }
.scn-max-implicit-faith .candle { position:absolute; bottom:30%; left:35%; width:5px; height:22px; background: linear-gradient(180deg, #e0c890 0%, #b09870 100%); border-radius:1px; box-shadow: 0 0 6px #b09870; }
.scn-max-implicit-faith .candle { position:absolute; bottom:38%; left:35%; width:30px; height:30px; transform: translate(-50%, -50%); background: radial-gradient(circle, #ffd060 0%, #b87a30 40%, transparent 70%); border-radius:50%; animation: mif-gl 5s ease-in-out infinite alternate; }
.scn-max-implicit-faith .figure-max { position:absolute; bottom:15%; left:35%; width:26px; height:66px; background: linear-gradient(180deg, #0c0a0e 0%, #18141c 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mif-fig 7s ease-in-out infinite; }
.scn-max-implicit-faith .figure-wall { position:absolute; bottom:18%; left:55%; width:28px; height:64px; background: linear-gradient(180deg, #08060c 0%, #12101a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mif-other 10s ease-in-out infinite alternate; }
.scn-max-implicit-faith .hand { position:absolute; bottom:28%; left:42%; width:10px; height:14px; background: #0a080e; border-radius: 40% 40% 20% 20%; transform: rotate(15deg); animation: mif-hand 3s ease-in-out infinite; }
.scn-max-implicit-faith .bible { position:absolute; bottom:16%; left:48%; width:18px; height:24px; background: linear-gradient(180deg, #3a2a2a 0%, #1e1414 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.7); }
@keyframes mif-gl { 0% { opacity:0.7; transform: translate(-50%,-50%) scale(1); } 50% { opacity:1; transform: translate(-50%,-50%) scale(1.2); } 100% { opacity:0.8; transform: translate(-50%,-50%) scale(0.9); } }
@keyframes mif-fig { 0%,100% { transform: translateY(0) rotate(0); } 33% { transform: translateY(–2px) rotate(2deg); } 66% { transform: translateY(–1px) rotate(–1deg); } }
@keyframes mif-other { 0% { opacity:0.5; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes mif-hand { 0%,100% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(20deg) scale(1.1); } }

/* wallenstein-duties-strive */

.scn-wall-duties-strive { background: linear-gradient(180deg, #1c1420 0%, #2a1e30 50%, #382a40 100%), radial-gradient(ellipse at 50% 40%, #382a40 0%, transparent 70%); }
.scn-wall-duties-strive .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0f0a14 0%, #1c1424 50%, #2a1e34 100%); }
.scn-wall-duties-strive .figure-left { position:absolute; bottom:20%; left:20%; width:28px; height:72px; background: linear-gradient(180deg, #14101a 0%, #1c1622 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wds-left 5s ease-in-out infinite; }
.scn-wall-duties-strive .figure-right { position:absolute; bottom:20%; right:20%; width:30px; height:70px; background: linear-gradient(180deg, #0c0a10 0%, #16121c 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wds-right 7s ease-in-out infinite alternate; }
.scn-wall-duties-strive .sword-left { position:absolute; bottom:35%; left:28%; width:3px; height:40px; background: linear-gradient(180deg, #807070 0%, #605050 100%); border-radius:1px; transform: rotate(20deg); transform-origin: bottom center; box-shadow: 0 0 4px rgba(0,0,0,0.5); animation: wds-sword 2s ease-in-out infinite; }
.scn-wall-duties-strive .sword-right { position:absolute; bottom:35%; right:28%; width:3px; height:42px; background: linear-gradient(180deg, #807070 0%, #605050 100%); border-radius:1px; transform: rotate(-15deg); transform-origin: bottom center; box-shadow: 0 0 4px rgba(0,0,0,0.5); animation: wds-sword 2.5s ease-in-out infinite reverse; }
.scn-wall-duties-strive .spark { position:absolute; bottom:45%; left:50%; width:8px; height:8px; background: radial-gradient(circle, #ffd060 0%, transparent 70%); border-radius:50%; transform: translate(-50%, -50%); animation: wds-spark 1s ease-in-out infinite; }
@keyframes wds-left { 0%,100% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(–2px) rotate(–1deg); } }
@keyframes wds-right { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(–3px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wds-sword { 0%,100% { transform: rotate(20deg) scaleY(1); } 50% { transform: rotate(25deg) scaleY(1.02); } }
@keyframes wds-spark { 0%,100% { opacity:0; } 50% { opacity:1; } }

.scn-translator-notes-3 {
  background: linear-gradient(180deg, #f5e6d0 0%, #e0c9a6 60%, #d4b896 100%), radial-gradient(ellipse at 70% 45%, rgba(255, 230, 150, 0.3) 0%, transparent 70%);
}
.scn-translator-notes-3 .desk {
  position: absolute;
  bottom: 0;
  left: 5%;
  right: 5%;
  height: 30%;
  background: linear-gradient(180deg, #8b6f4a 0%, #6b4f3a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
  animation: tn3-desk 8s ease-in-out infinite alternate;
}
.scn-translator-notes-3 .lamp {
  position: absolute;
  bottom: 30%;
  left: 22%;
  width: 16px;
  height: 12px;
  background: #5a4a3a;
  border-radius: 4px;
  animation: tn3-lamp 10s ease-in-out infinite alternate;
}
.scn-translator-notes-3 .glow {
  position: absolute;
  bottom: 40%;
  left: 22%;
  width: 120px;
  height: 120px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,230,180,0.6) 0%, transparent 70%);
  animation: tn3-glow 6s ease-in-out infinite alternate;
}
.scn-translator-notes-3 .books {
  position: absolute;
  bottom: 30%;
  right: 25%;
  width: 60px;
  height: 30px;
  background: linear-gradient(180deg, #7a4a3a 0%, #5a2a1a 15%, #3a1a0a 30%, #6a4a3a 45%, #4a2a1a 60%, #8a6a4a 75%, #5a4a3a 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: tn3-books 12s ease-in-out infinite alternate;
}
.scn-translator-notes-3 .paper {
  position: absolute;
  bottom: 35%;
  left: 45%;
  width: 80px;
  height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #f5f0e0 0%, #f5f0e0 48%, #4a3a2a 48%, #4a3a2a 52%, #faf5e8 52%, #faf5e8 100%);
  border-radius: 2px;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.15);
  animation: tn3-paper 7s ease-in-out infinite alternate;
}
.scn-translator-notes-3 .figure {
  position: absolute;
  bottom: 30%;
  left: 30%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tn3-figure 5s ease-in-out infinite alternate;
}
@keyframes tn3-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes tn3-lamp {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes tn3-glow {
  0% { opacity: 0.7; transform: scale(0.95) translate(-50%, -50%); }
  50% { opacity: 1; transform: scale(1.05) translate(-50%, -50%); }
  100% { opacity: 0.8; transform: scale(1) translate(-50%, -50%); }
}
@keyframes tn3-books {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(1deg) translateY(-1px); }
  100% { transform: rotate(0deg); }
}
@keyframes tn3-paper {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tn3-figure {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.02) translateY(-1px); }
  100% { transform: scaleY(1) translateY(0); }
}

.scn-wrangel-prague-pledge {
  background: linear-gradient(180deg, #1e1820 0%, #2a1f28 40%, #3a2a30 100%), radial-gradient(ellipse at 50% 70%, #4a3530 0%, transparent 70%);
}
.scn-wrangel-prague-pledge .bg-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1f28 0%, #1e1820 100%); opacity: .6;
}
.scn-wrangel-prague-pledge .table {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 8%; background: linear-gradient(180deg, #5a3e30 0%, #3a2518 100%); border-radius: 6%; box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-wrangel-prague-pledge .candle {
  position: absolute; bottom: 30%; left: 48%; width: 6px; height: 12px; background: linear-gradient(180deg, #c08040 0%, #8a5a30 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: wr1-candle 3s ease-in-out infinite alternate;
}
.scn-wrangel-prague-pledge .pledge {
  position: absolute; bottom: 24%; left: 40%; width: 20%; height: 4%; background: #d4b88a; border-radius: 4%; opacity: .8; animation: wr1-pledge 8s ease-in-out infinite;
}
.scn-wrangel-prague-pledge .figure-sit {
  position: absolute; bottom: 22%; left: 35%; width: 10%; height: 30%; background: linear-gradient(180deg, #2a1f28 0%, #18101a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wr1-sit 6s ease-in-out infinite;
}
.scn-wrangel-prague-pledge .figure-stand {
  position: absolute; bottom: 22%; right: 30%; width: 10%; height: 40%; background: linear-gradient(180deg, #3a2a30 0%, #1e1820 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wr1-stand 7s ease-in-out infinite;
}
.scn-wrangel-prague-pledge .window {
  position: absolute; top: 12%; right: 15%; width: 18%; height: 30%; background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4a 100%); border: 3px solid #4a3a2a; border-radius: 4%; opacity: .7; box-shadow: inset 0 0 20px rgba(100,100,180,.3);
}
@keyframes wr1-candle {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.05) translateY(-1px); }
  100% { transform: scaleY(.95) translateY(1px); }
}
@keyframes wr1-pledge {
  0% { opacity: .8; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.02); }
  100% { opacity: .8; transform: scale(1); }
}
@keyframes wr1-sit {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes wr1-stand {
  0% { transform: translateX(0) rotate(0); }
  33% { transform: translateX(-3px) rotate(-2deg); }
  66% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}

.scn-wrangel-benefaction-lost {
  background: linear-gradient(180deg, #1a1218 0%, #2a1f25 50%, #1a1218 100%), radial-gradient(ellipse at 40% 60%, #3a2a30 0%, transparent 70%);
}
.scn-wrangel-benefaction-lost .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e1820 0%, #140e14 100%); opacity: .7;
}
.scn-wrangel-benefaction-lost .figure {
  position: absolute; bottom: 20%; left: 50%; width: 16%; height: 50%; background: linear-gradient(180deg, #2a1f28 0%, #0e0810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform: translateX(-50%); transform-origin: bottom center; animation: wr2-figure 10s ease-in-out infinite;
}
.scn-wrangel-benefaction-lost .scale {
  position: absolute; bottom: 22%; left: 30%; width: 8%; height: 20%; background: linear-gradient(180deg, #6a5040 0%, #4a3528 100%); border-radius: 10% 10% 60% 60%; box-shadow: 0 2px 6px rgba(0,0,0,.5); transform-origin: bottom center; animation: wr2-scale 6s ease-in-out infinite;
}
.scn-wrangel-benefaction-lost .coin {
  position: absolute; bottom: 50%; left: 28%; width: 4%; height: 4%; background: radial-gradient(circle, #c8a050 0%, #a08040 100%); border-radius: 50%; box-shadow: 0 0 6px 2px rgba(200,160,80,.4); animation: wr2-coin 4s ease-in-out infinite alternate;
}
.scn-wrangel-benefaction-lost .shadow {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 2%; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.4), transparent); filter: blur(4px);
}
@keyframes wr2-figure {
  0% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(3deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0); }
}
@keyframes wr2-scale {
  0% { transform: rotate(0); }
  30% { transform: rotate(-10deg); }
  60% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}
@keyframes wr2-coin {
  0% { transform: translateY(0) rotate(0); opacity: .7; }
  50% { transform: translateY(8px) rotate(180deg); opacity: .5; }
  100% { transform: translateY(0) rotate(360deg); opacity: .7; }
}

.scn-wrangel-swedish-nobles-bleed {
  background: linear-gradient(135deg, #1a1420 0%, #2a1f2a 40%, #1a1420 100%), radial-gradient(ellipse at 50% 30%, #4a2a2a 0%, transparent 60%);
}
.scn-wrangel-swedish-nobles-bleed .bg-tent {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1f2a 0%, #140e14 100%); opacity: .6;
}
.scn-wrangel-swedish-nobles-bleed .banner {
  position: absolute; top: 8%; left: 20%; width: 30%; height: 40%; background: linear-gradient(180deg, #702243 0%, #4a1528 100%); clip-path: polygon(0% 0%, 100% 0%, 85% 50%, 100% 100%, 0% 100%, 15% 50%); animation: wr3-banner 5s ease-in-out infinite alternate;
}
.scn-wrangel-swedish-nobles-bleed .sword {
  position: absolute; bottom: 30%; left: 40%; width: 6%; height: 40%; background: linear-gradient(90deg, #8a7a6a 0%, #b0a090 50%, #8a7a6a 100%); border-radius: 10% 10% 0 0; transform-origin: bottom center; animation: wr3-sword 4s ease-in-out infinite;
}
.scn-wrangel-swedish-nobles-bleed .kneeling {
  position: absolute; bottom: 10%; left: 50%; width: 14%; height: 40%; background: linear-gradient(180deg, #2a1f2a 0%, #0a060a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%; transform: translateX(-50%); clip-path: polygon(0% 20%, 100% 20%, 100% 100%, 0% 100%); animation: wr3-kneel 8s ease-in-out infinite;
}
.scn-wrangel-swedish-nobles-bleed .blood-pool {
  position: absolute; bottom: 8%; left: 45%; width: 20%; height: 6%; background: radial-gradient(ellipse at 50% 50%, #5e1a1d 0%, transparent 80%); filter: blur(6px); animation: wr3-pool 12s ease-in-out infinite alternate;
}
.scn-wrangel-swedish-nobles-bleed .candle {
  position: absolute; bottom: 28%; right: 30%; width: 4px; height: 10px; background: linear-gradient(180deg, #c08040 0%, #8a5a30 100%); border-radius: 30% 30% 10% 10%; animation: wr3-candle 3s ease-in-out infinite alternate;
}
@keyframes wr3-banner {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.03); }
  100% { transform: scaleY(.97); }
}
@keyframes wr3-sword {
  0% { transform: rotate(-2deg); }
  33% { transform: rotate(2deg); }
  66% { transform: rotate(-1deg); }
  100% { transform: rotate(0); }
}
@keyframes wr3-kneel {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes wr3-pool {
  0% { opacity: .5; transform: scaleX(1); }
  50% { opacity: .7; transform: scaleX(1.1); }
  100% { opacity: .5; transform: scaleX(1); }
}
@keyframes wr3-candle {
  0% { transform: scaleY(1) ; }
  50% { transform: scaleY(1.06); }
  100% { transform: scaleY(.94); }
}

.scn-wrangel-saxon-negotiations {
  background: linear-gradient(180deg, #1a1220 0%, #2a1f2a 50%, #1a1220 100%), radial-gradient(ellipse at 50% 80%, #3a2020 0%, transparent 60%);
}
.scn-wrangel-saxon-negotiations .bg-chamber {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1f2a 0%, #140e14 100%); opacity: .5;
}
.scn-wrangel-saxon-negotiations .curtain-l {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%; background: linear-gradient(135deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 0 30% 30% 0; filter: drop-shadow(4px 0 6px rgba(0,0,0,.7)); animation: wr4-curtain 7s ease-in-out infinite alternate;
}
.scn-wrangel-saxon-negotiations .curtain-r {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%; background: linear-gradient(225deg, #4a2a3a 0%, #2a1a2a 100%); border-radius: 30% 0 0 30%; filter: drop-shadow(-4px 0 6px rgba(0,0,0,.7)); animation: wr4-curtain 9s ease-in-out infinite alternate-reverse;
}
.scn-wrangel-saxon-negotiations .table-map {
  position: absolute; bottom: 18%; left: 25%; right: 25%; height: 12%; background: linear-gradient(180deg, #3a2518 0%, #2a1a10 100%); border-radius: 8%; box-shadow: 0 4px 12px rgba(0,0,0,.6); display: flex; justify-content: center; align-items: center;
}
.scn-wrangel-saxon-negotiations .table-map::after {
  content: ''; position: absolute; width: 60%; height: 60%; background: radial-gradient(ellipse, #c8b88a 0%, #b0a070 100%); border-radius: 10%; opacity: .6; animation: wr4-map 12s ease-in-out infinite;
}
.scn-wrangel-saxon-negotiations .figure-a {
  position: absolute; bottom: 22%; left: 30%; width: 12%; height: 45%; background: linear-gradient(180deg, #3a2a30 0%, #1a1218 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wr4-figa 6s ease-in-out infinite;
}
.scn-wrangel-saxon-negotiations .figure-b {
  position: absolute; bottom: 22%; right: 30%; width: 12%; height: 45%; background: linear-gradient(180deg, #2a2028 0%, #120c10 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wr4-figb 8s ease-in-out infinite;
}
@keyframes wr4-curtain {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.04); }
  100% { transform: scaleX(1); }
}
@keyframes wr4-map {
  0% { opacity: .5; transform: scale(1); }
  50% { opacity: .8; transform: scale(1.02); }
  100% { opacity: .5; transform: scale(1); }
}
@keyframes wr4-figa {
  0% { transform: rotate(0); }
  33% { transform: rotate(2deg) translateX(2px); }
  66% { transform: rotate(-1deg) translateX(-1px); }
  100% { transform: rotate(0); }
}
@keyframes wr4-figb {
  0% { transform: rotate(0); }
  50% { transform: rotate(-3deg) translateX(-3px); }
  100% { transform: rotate(0); }
}

.scn-wallenstein-alone-with-tertsky {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 40%, #4a3a5e 100%), radial-gradient(ellipse at 50% 100%, #4a3a5e 0%, transparent 70%);
}
.scn-wallenstein-alone-with-tertsky .wall    { position:absolute; inset:0 0 40% 0; background: linear-gradient(135deg, #2e2a3e 0%, #1a1a2e 100%); animation: wa1-wall 15s ease-in-out infinite alternate; }
.scn-wallenstein-alone-with-tertsky .floor   { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%); }
.scn-wallenstein-alone-with-tertsky .table   { position:absolute; bottom:22%; left:50%; width:120px; height:18px; transform:translateX(-50%); background: linear-gradient(90deg, #4a3a3a, #5a4a3a, #4a3a3a); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: wa1-table 20s ease-in-out infinite; }
.scn-wallenstein-alone-with-tertsky .map     { position:absolute; bottom:28%; left:50%; width:80px; height:60px; transform:translateX(-50%); background: linear-gradient(135deg, #8a7a6a, #6a5a4a, #8a7a6a); border-radius:2px; box-shadow: inset 0 0 0 2px #5a4a3a; animation: wa1-map 25s ease-in-out infinite alternate; }
.scn-wallenstein-alone-with-tertsky .candle  { position:absolute; bottom:30%; left:30%; width:8px; height:30px; background: linear-gradient(180deg, #e0c0a0, #b09070); border-radius:4px 4px 2px 2px; animation: wa1-candle 4s ease-in-out infinite; }
.scn-wallenstein-alone-with-tertsky .flame   { position:absolute; bottom:45%; left:30%; width:10px; height:18px; transform:translateX(-1px); background: radial-gradient(circle, #ffdd88 20%, #ffaa44 60%, transparent 80%); border-radius:50%; box-shadow: 0 0 24px 12px rgba(255,170,68,.4); animation: wa1-flame .8s ease-in-out infinite alternate; }
.scn-wallenstein-alone-with-tertsky .figure-left  { position:absolute; bottom:16%; left:15%; width:30px; height:70px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius:45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wa1-sway 5s ease-in-out infinite; }
.scn-wallenstein-alone-with-tertsky .figure-right { position:absolute; bottom:16%; right:15%; width:28px; height:65px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius:45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wa1-sway 6s ease-in-out infinite reverse; }
.scn-wallenstein-alone-with-tertsky .shadow  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, rgba(0,0,0,.6), transparent); }

@keyframes wa1-wall   { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wa1-table  { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes wa1-map    { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes wa1-candle { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } }
@keyframes wa1-flame  { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.2) translateY(-2px) } 100% { transform: scaleY(.9) translateY(1px) } }
@keyframes wa1-sway   { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(4px) rotate(-1deg) } 75% { transform: translateX(6px) rotate(1deg) } 100% { transform: translateX(8px) rotate(0deg) } }

.scn-ertsky-warns-deception {
  background: linear-gradient(180deg, #1e1e32 0%, #2a2a48 40%, #3a2e4a 100%), radial-gradient(ellipse at 50% 100%, #3a2e4a 0%, transparent 70%);
}
.scn-ertsky-warns-deception .tent-wall        { position:absolute; inset:0 0 35% 0; background: linear-gradient(135deg, #2e2a3a, #1a1a2a); border-radius:0 0 40% 40% / 0 0 30% 30%; animation: td2-tent 12s ease-in-out infinite alternate; }
.scn-ertsky-warns-deception .ground           { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a2a, #1a1212); }
.scn-ertsky-warns-deception .desk             { position:absolute; bottom:20%; left:50%; width:140px; height:16px; transform:translateX(-50%); background: linear-gradient(90deg, #5a4a3a, #6a5a4a, #5a4a3a); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-ertsky-warns-deception .letter           { position:absolute; bottom:26%; left:55%; width:30px; height:22px; background: linear-gradient(135deg, #8a7a6a, #6a5a4a); border-radius:2px; transform:rotate(-10deg); animation: td2-letter 9s ease-in-out infinite; }
.scn-ertsky-warns-deception .inkwell          { position:absolute; bottom:28%; left:50%; width:8px; height:12px; background: #1a1a1a; border-radius:0 0 50% 50%; transform:translateX(30px); animation: td2-ink 7s ease-in-out infinite alternate; }
.scn-ertsky-warns-deception .lamp             { position:absolute; bottom:32%; left:25%; width:14px; height:20px; background: radial-gradient(circle at 50% 60%, #ffdd88 20%, #cc8844 70%, transparent 90%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 30px 15px rgba(204,136,68,.5); animation: td2-lamp 3s ease-in-out infinite alternate; }
.scn-ertsky-warns-deception .figure-standing  { position:absolute; bottom:12%; left:18%; width:28px; height:80px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius:45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: td2-stand 5s ease-in-out infinite; }
.scn-ertsky-warns-deception .figure-seated    { position:absolute; bottom:12%; right:20%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 80%); border-radius:45% 45% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: td2-seat 6s ease-in-out infinite alternate; }

@keyframes td2-tent  { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes td2-letter { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2px) } 100% { transform: rotate(-12deg) translateY(1px) } }
@keyframes td2-ink   { 0% { transform: translateX(30px) scaleY(1) } 50% { transform: translateX(32px) scaleY(1.05) } 100% { transform: translateX(28px) scaleY(.95) } }
@keyframes td2-lamp  { 0% { opacity:.7; box-shadow: 0 0 20px 10px rgba(204,136,68,.4) } 50% { opacity:1; box-shadow: 0 0 40px 20px rgba(204,136,68,.6) } 100% { opacity:.8; box-shadow: 0 0 25px 12px rgba(204,136,68,.45) } }
@keyframes td2-stand { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(6px) rotate(-1deg) } 75% { transform: translateX(9px) rotate(1deg) } 100% { transform: translateX(12px) rotate(0deg) } }
@keyframes td2-seat  { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }

.scn-ertsky-questions-earnestness {
  background: linear-gradient(180deg, #1e1e36 0%, #2a2a48 40%, #3a2e4a 100%), radial-gradient(ellipse at 50% 50%, #3a2e4a 0%, transparent 80%);
}
.scn-ertsky-questions-earnestness .panel       { position:absolute; top:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #2e2a3a 0%, #1a1a2e 100%); border-radius:0 0 30% 30%; animation: te3-panel 18s ease-in-out infinite alternate; }
.scn-ertsky-questions-earnestness .bench       { position:absolute; bottom:20%; left:20%; right:20%; height:14px; background: linear-gradient(90deg, #4a3a3a, #5a4a3a, #4a3a3a); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-ertsky-questions-earnestness .papers      { position:absolute; bottom:28%; left:40%; width:50px; height:30px; background: linear-gradient(135deg, #8a7a6a, #6a5a4a); border-radius:2px; transform:rotate(5deg); animation: te3-papers 7s ease-in-out infinite alternate; }
.scn-ertsky-questions-earnestness .goblet      { position:absolute; bottom:28%; right:30%; width:12px; height:18px; background: linear-gradient(180deg, #8a7a6a, #6a5a4a); border-radius:0 0 50% 50%; animation: te3-goblet 5s ease-in-out infinite; }
.scn-ertsky-questions-earnestness .hands       { position:absolute; bottom:16%; left:48%; width:20px; height:14px; background: linear-gradient(180deg, #1a1a2e, #0e0e1a); border-radius:40% 40% 30% 30%; transform:rotate(-15deg); animation: te3-hands 4s ease-in-out infinite alternate; }
.scn-ertsky-questions-earnestness .face-profile{ position:absolute; bottom:20%; right:25%; width:16px; height:20px; background: linear-gradient(180deg, #1a1a2e, #0e0e1a); border-radius:50% 50% 40% 40%; clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 80% 100%, 0% 100%); animation: te3-face 6s ease-in-out infinite; }
.scn-ertsky-questions-earnestness .candle-stub { position:absolute; bottom:26%; left:25%; width:6px; height:14px; background: linear-gradient(180deg, #e0c0a0, #b09070); border-radius:3px; animation: te3-candle 8s ease-in-out infinite alternate; }
.scn-ertsky-questions-earnestness .spark       { position:absolute; bottom:34%; left:25%; width:4px; height:4px; background: radial-gradient(circle, #ffdd88, transparent); border-radius:50%; box-shadow: 0 0 12px 6px rgba(255,221,136,.5); animation: te3-spark .6s ease-in-out infinite alternate; }

@keyframes te3-panel   { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes te3-papers  { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(7deg) translateY(1px) } }
@keyframes te3-goblet  { 0%,100% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes te3-hands   { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-1px) } 100% { transform: rotate(-20deg) translateY(0) } }
@keyframes te3-face    { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes te3-candle  { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.08) } 100% { transform: scaleY(.95) } }
@keyframes te3-spark   { 0% { opacity:.4; transform: scale(.8) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.5; transform: scale(.9) } }

.scn-illo-joins-conference {
  background: linear-gradient(180deg, #1e1e32 0%, #2a2e42 40%, #3a3a5a 100%), radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%);
}
.scn-illo-joins-conference .back-wall    { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #2a2a42, #1a1a32); border-radius:0 0 30% 30%; animation: ij4-wall 20s ease-in-out infinite alternate; }
.scn-illo-joins-conference .carpet       { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a3a, #1a1a2a); border-radius:50% 50% 0 0 / 30% 30% 0 0; animation: ij4-carpet 15s ease-in-out infinite; }
.scn-illo-joins-conference .table-round  { position:absolute; bottom:20%; left:50%; width:100px; height:20px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 50%, #5a4a4a, #4a3a3a); border-radius:50%; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: ij4-table 12s ease-in-out infinite alternate; }
.scn-illo-joins-conference .candelabra   { position:absolute; bottom:28%; left:50%; width:4px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8a7a6a, #6a5a4a); border-radius:2px; animation: ij4-candle 6s ease-in-out infinite; }
.scn-illo-joins-conference .glow         { position:absolute; bottom:32%; left:50%; width:60px; height:60px; transform:translateX(-50%); background: radial-gradient(circle, rgba(255,221,136,.3) 0%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,221,136,.2); animation: ij4-glow 3s ease-in-out infinite alternate; }
.scn-illo-joins-conference .figure-illo  { position:absolute; bottom:14%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #1a1a32 0%, #0e0e22 100%); border-radius:45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ij4-walk 7s ease-in-out infinite; }
.scn-illo-joins-conference .figure-wall  { position:absolute; bottom:14%; right:20%; width:26px; height:65px; background: linear-gradient(180deg, #1a1a32 0%, #0e0e22 100%); border-radius:45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ij4-walk 9s ease-in-out infinite reverse; }
.scn-illo-joins-conference .shadow-slow  { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, rgba(0,0,0,.5), transparent); animation: ij4-shadow 10s ease-in-out infinite alternate; }

@keyframes ij4-wall   { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ij4-carpet { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(.98) } }
@keyframes ij4-table  { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.02) } 100% { transform: translateX(-50%) scale(.98) } }
@keyframes ij4-candle { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.05) } }
@keyframes ij4-glow   { 0% { opacity:.6; transform: translateX(-50%) scale(.95) } 50% { opacity:1; transform: translateX(-50%) scale(1.1) } 100% { opacity:.7; transform: translateX(-50%) scale(1) } }
@keyframes ij4-walk   { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(12px) rotate(1deg) } 100% { transform: translateX(16px) rotate(0deg) } }
@keyframes ij4-shadow { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.4 } }

.scn-octavio-leaves-pappenheimers {
  background: linear-gradient(180deg, #1c1a2e 0%, #2a253f 50%, #3b314f 100%),
              radial-gradient(ellipse at 60% 40%, #4a3a5e 0%, transparent 70%);
}
.scn-octavio-leaves-pappenheimers .room-back { position:absolute; inset:0; background: linear-gradient(90deg, #2a253f 0%, #3b314f 50%, #2a253f 100%); animation: olp-room 15s ease-in-out infinite alternate; }
.scn-octavio-leaves-pappenheimers .doorway  { position:absolute; bottom:20%; left:50%; width:60px; height:120px; transform:translateX(-50%); background: #14121e; border-radius:8% 8% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: olp-door 8s ease-in-out infinite; }
.scn-octavio-leaves-pappenheimers .figure-octavio { position:absolute; bottom:22%; left:38%; width:24px; height:50px; background: linear-gradient(180deg, #2d2d3a 0%, #1a1a28 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: olp-walk 5s ease-in-out infinite; }
.scn-octavio-leaves-pappenheimers .figure-max { position:absolute; bottom:22%; right:38%; width:22px; height:48px; background: linear-gradient(180deg, #2d2d3a 0%, #1a1a28 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: olp-stand 7s ease-in-out infinite; }
.scn-octavio-leaves-pappenheimers .lantern-glow { position:absolute; bottom:35%; left:42%; width:10px; height:10px; background: radial-gradient(circle, #e8c06a 0%, #b88540 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(232,192,106,.5), 0 0 60px 30px rgba(232,192,106,.2); animation: olp-lantern 4s ease-in-out infinite alternate; }
.scn-octavio-leaves-pappenheimers .shadow-floor { position:absolute; bottom:0; left:0; right:0; height:22%; background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.2) 100%); border-radius:20% 20% 0 0; filter: blur(4px); animation: olp-shadow 10s ease-in-out infinite alternate; }
@keyframes olp-room { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:.75 } }
@keyframes olp-door { 0% { transform: translateX(-50%) scaleX(1) } 50% { transform: translateX(-50%) scaleX(1.02) } 100% { transform: translateX(-50%) scaleX(0.98) } }
@keyframes olp-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(24px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(32px) translateY(0) rotate(0) } }
@keyframes olp-stand { 0% { transform: rotate(-1deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(-1deg) } }
@keyframes olp-lantern { 0% { box-shadow: 0 0 20px 10px rgba(232,192,106,.4); opacity:.8 } 50% { box-shadow: 0 0 40px 20px rgba(232,192,106,.6); opacity:1 } 100% { box-shadow: 0 0 25px 12px rgba(232,192,106,.45); opacity:.9 } }
@keyframes olp-shadow { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.35 } }

.scn-octavio-bloody-war {
  background: linear-gradient(180deg, #1a0e0e 0%, #2c1414 50%, #3a1a1a 100%),
              radial-gradient(ellipse at 50% 40%, #4a2020 0%, transparent 70%);
}
.scn-octavio-bloody-war .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a0e0e 0%, #2c1414 100%); animation: obw-wall 12s ease-in-out infinite alternate; }
.scn-octavio-bloody-war .table { position:absolute; bottom:25%; left:50%; width:120px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.7); animation: obw-table 9s ease-in-out infinite; }
.scn-octavio-bloody-war .candle { position:absolute; bottom:40%; left:50%; width:4px; height:18px; transform:translateX(-50%); background: linear-gradient(180deg, #d4a060 0%, #b08040 100%); border-radius:2px; box-shadow: 0 0 12px 6px rgba(200,150,80,.5); animation: obw-candle 4s ease-in-out infinite alternate; }
.scn-octavio-bloody-war .figure-max-mad { position:absolute; bottom:22%; left:35%; width:26px; height:54px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: obw-mad 3s ease-in-out infinite; }
.scn-octavio-bloody-war .shatter-glass { position:absolute; top:30%; left:60%; width:30px; height:30px; background: radial-gradient(circle at 30% 40%, rgba(255,255,255,.3) 0%, transparent 60%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); transform: rotate(15deg); animation: obw-shatter 6s ease-in-out infinite; }
.scn-octavio-bloody-war .blood-stain { position:absolute; bottom:28%; left:45%; width:40px; height:15px; background: radial-gradient(ellipse, #7a2020 0%, #4a1010 100%); border-radius:50%; filter: blur(2px); animation: obw-blood 10s ease-in-out infinite alternate; }
@keyframes obw-wall { 0% { opacity:.8 } 50% { opacity:.95 } 100% { opacity:.85 } }
@keyframes obw-table { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes obw-candle { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); box-shadow: 0 0 10px 4px rgba(200,150,80,.4) } 50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg); box-shadow: 0 0 18px 8px rgba(200,150,80,.6) } 100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg); box-shadow: 0 0 12px 5px rgba(200,150,80,.45) } }
@keyframes obw-mad { 0% { transform: rotate(-3deg) translateY(0) } 25% { transform: rotate(4deg) translateY(-3px) } 50% { transform: rotate(-2deg) translateY(0) } 75% { transform: rotate(5deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes obw-shatter { 0% { opacity:.2; transform: rotate(15deg) scale(1) } 50% { opacity:.6; transform: rotate(-10deg) scale(1.2) } 100% { opacity:.3; transform: rotate(20deg) scale(0.9) } }
@keyframes obw-blood { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.5) } 100% { opacity:.4; transform: scaleX(0.8) } }

.scn-max-resolved-father-or-friend {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 50%, #3a3a54 100%),
              radial-gradient(ellipse at 70% 30%, #4a4a6e 0%, transparent 70%);
}
.scn-max-resolved-father-or-friend .corridor { position:absolute; inset:0; background: linear-gradient(90deg, #1a1a2e 0%, #2a2a44 50%, #1a1a2e 100%); animation: mrf-corridor 20s ease-in-out infinite alternate; }
.scn-max-resolved-father-or-friend .door-frame { position:absolute; bottom:18%; left:50%; width:70px; height:130px; transform:translateX(-50%); background: transparent; border: 4px solid #4a3a5a; box-shadow: inset 0 0 30px rgba(0,0,0,.5); border-radius:10% 10% 0 0; animation: mrf-door 12s ease-in-out infinite; }
.scn-max-resolved-father-or-friend .figure-max-door { position:absolute; bottom:22%; left:50%; width:24px; height:52px; transform:translateX(-50%); background: linear-gradient(180deg, #2d2d3a 0%, #1a1a28 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: mrf-max 4s ease-in-out infinite; }
.scn-max-resolved-father-or-friend .figure-octavio-shadow { position:absolute; bottom:22%; left:8%; width:22px; height:48px; background: linear-gradient(180deg, rgba(40,40,55,.5) 0%, rgba(20,20,30,.5) 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: mrf-shadow 8s ease-in-out infinite; }
.scn-max-resolved-father-or-friend .light-shaft { position:absolute; top:0; left:45%; width:10%; height:100%; background: linear-gradient(180deg, rgba(255,255,200,.15) 0%, transparent 100%); transform: skewX(-5deg); animation: mrf-light 6s ease-in-out infinite alternate; }
.scn-max-resolved-father-or-friend .path-split { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, #1a1a2e 100%); clip-path: polygon(0 100%, 40% 0, 60% 0, 100% 100%); animation: mrf-path 10s ease-in-out infinite; }
@keyframes mrf-corridor { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:.75 } }
@keyframes mrf-door { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes mrf-max { 0% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-50%) rotate(2deg) } 50% { transform: translateX(-50%) rotate(-1deg) } 75% { transform: translateX(-50%) rotate(3deg) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes mrf-shadow { 0% { opacity:.3; transform: scaleX(-1) translateY(0) } 50% { opacity:.5; transform: scaleX(-1) translateY(-2px) } 100% { opacity:.35; transform: scaleX(-1) translateY(0) } }
@keyframes mrf-light { 0% { opacity:.1; transform: skewX(-5deg) } 50% { opacity:.4; transform: skewX(0deg) } 100% { opacity:.15; transform: skewX(-8deg) } }
@keyframes mrf-path { 0% { clip-path: polygon(0 100%, 40% 0, 60% 0, 100% 100%); } 50% { clip-path: polygon(0 100%, 35% 5%, 65% 5%, 100% 100%); } 100% { clip-path: polygon(0 100%, 45% 0, 55% 0, 100% 100%); } }

.scn-translator-preface-notes {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4e 50%, #2e2e40 100%),
              radial-gradient(ellipse at 50% 60%, #4a4a5e 0%, transparent 70%);
}
.scn-translator-preface-notes .study-wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3a 0%, #3a3a4e 100%); animation: tpn-wall 25s ease-in-out infinite alternate; }
.scn-translator-preface-notes .desk { position:absolute; bottom:20%; left:50%; width:160px; height:32px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius:6px; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: tpn-desk 10s ease-in-out infinite; }
.scn-translator-preface-notes .papers { position:absolute; bottom:38%; left:45%; width:40px; height:30px; background: #e8dcc0; border-radius:2px; transform:rotate(-5deg); box-shadow: 2px 2px 6px rgba(0,0,0,.3); animation: tpn-papers 15s ease-in-out infinite; }
.scn-translator-preface-notes .lamp { position:absolute; bottom:50%; left:40%; width:8px; height:40px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius:4px; transform-origin: bottom center; animation: tpn-lamp 5s ease-in-out infinite alternate; }
.scn-translator-preface-notes .lamp::after { content:''; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%); width:20px; height:12px; background: radial-gradient(ellipse, #f0d060 0%, #c8a040 100%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 20px 10px rgba(240,208,96,.4); animation: tpn-lampglow 4s ease-in-out infinite alternate; }
.scn-translator-preface-notes .chair-silhouette { position:absolute; bottom:20%; right:12%; width:28px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tpn-chair 8s ease-in-out infinite; }
.scn-translator-preface-notes .inkwell { position:absolute; bottom:32%; left:55%; width:12px; height:14px; background: #1a1a2a; border-radius:50% 50% 30% 30% / 70% 70% 30% 30%; box-shadow: 0 0 6px rgba(0,0,0,.5); animation: tpn-ink 12s ease-in-out infinite; }
@keyframes tpn-wall { 0% { opacity:.8 } 50% { opacity:.95 } 100% { opacity:.85 } }
@keyframes tpn-desk { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes tpn-papers { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-3px) } 100% { transform: rotate(-8deg) translateY(0) } }
@keyframes tpn-lamp { 0% { transform: rotate(-2deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-1deg) } }
@keyframes tpn-lampglow { 0% { box-shadow: 0 0 15px 5px rgba(240,208,96,.3); opacity:.8 } 50% { box-shadow: 0 0 30px 15px rgba(240,208,96,.5); opacity:1 } 100% { box-shadow: 0 0 18px 8px rgba(240,208,96,.35); opacity:.9 } }
@keyframes tpn-chair { 0% { transform: rotate(0) } 50% { transform: rotate(-1deg) } 100% { transform: rotate(1deg) } }
@keyframes tpn-ink { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2px) scaleY(1.05) } 100% { transform: translateY(0) scaleY(0.98) } }

.scn-generals-murmur {
  background: 
    linear-gradient(180deg, #1f1f2e 0%, #2a2a3e 40%, #3a2e2a 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%);
}
.scn-generals-murmur .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-generals-murmur .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); box-shadow: inset 0 8px 15px rgba(0,0,0,0.6); }
.scn-generals-murmur .table { position:absolute; bottom:20%; left:50%; width:120px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-generals-murmur .candle { position:absolute; bottom:30%; left:50%; width:6px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: 0 0 20px 8px rgba(200,160,96,0.4); animation: gm-candle 3s ease-in-out infinite alternate; }
.scn-generals-murmur .general { position:absolute; bottom:20%; width:40px; height:70px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-generals-murmur .silhouette-a { left:15%; animation: gm-murmur 5s ease-in-out infinite; }
.scn-generals-murmur .silhouette-b { left:35%; animation: gm-murmur 6s ease-in-out infinite 1s; }
.scn-generals-murmur .silhouette-c { left:65%; animation: gm-murmur 4.5s ease-in-out infinite 0.5s; }
.scn-generals-murmur .shadow-flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(0,0,0,0.15) 0%, transparent 70%); animation: gm-flicker 2s ease-in-out infinite alternate; }
.scn-generals-murmur .paper { position:absolute; bottom:23%; left:42%; width:24px; height:16px; background: linear-gradient(180deg, #d8c8a0 0%, #b8a080 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: gm-paper 8s ease-in-out infinite; }
@keyframes gm-candle { 0% { box-shadow: 0 0 15px 5px rgba(200,160,96,0.3); } 50% { box-shadow: 0 0 25px 10px rgba(200,160,96,0.6); } 100% { box-shadow: 0 0 18px 6px rgba(200,160,96,0.4); } }
@keyframes gm-murmur { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(-8px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes gm-flicker { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes gm-paper { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }

.scn-max-calms-generals {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2e2a3a 40%, #3a302a 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%);
}
.scn-max-calms-generals .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-max-calms-generals .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); box-shadow: inset 0 8px 15px rgba(0,0,0,0.6); }
.scn-max-calms-generals .table { position:absolute; bottom:20%; left:50%; width:120px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-max-calms-generals .candle { position:absolute; bottom:30%; left:50%; width:6px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: 0 0 20px 8px rgba(200,160,96,0.4); animation: mcg-candle 3s ease-in-out infinite alternate; }
.scn-max-calms-generals .max-figure { position:absolute; bottom:20%; left:50%; width:40px; height:75px; transform:translateX(-50%); background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 10px 2px rgba(200,160,96,0.3); animation: mcg-max 4s ease-in-out infinite; }
.scn-max-calms-generals .general { position:absolute; bottom:20%; width:35px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-max-calms-generals .silhouette-d { left:20%; animation: mcg-generals 5s ease-in-out infinite; }
.scn-max-calms-generals .silhouette-e { left:70%; animation: mcg-generals 5.5s ease-in-out infinite 0.8s; }
.scn-max-calms-generals .shadow-flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(0,0,0,0.15) 0%, transparent 70%); animation: mcg-flicker 2.5s ease-in-out infinite alternate; }
.scn-max-calms-generals .arm-reach { position:absolute; bottom:28%; left:50%; width:50px; height:12px; transform:translateX(-50%) rotate(-15deg); transform-origin: left center; background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 8px; animation: mcg-arm 4s ease-in-out infinite; }
@keyframes mcg-candle { 0%,100% { box-shadow: 0 0 18px 6px rgba(200,160,96,0.3); } 50% { box-shadow: 0 0 28px 12px rgba(200,160,96,0.6); } }
@keyframes mcg-max { 0% { transform: translateX(-50%) translateY(0) rotate(0); } 25% { transform: translateX(-50%) translateY(-3px) rotate(2deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0); } 75% { transform: translateX(-50%) translateY(-2px) rotate(-2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0); } }
@keyframes mcg-generals { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(6px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(-6px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes mcg-flicker { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes mcg-arm { 0% { transform: translateX(-50%) rotate(-15deg) scaleX(1); } 50% { transform: translateX(-50%) rotate(-5deg) scaleX(1.2); } 100% { transform: translateX(-50%) rotate(-15deg) scaleX(1); } }

.scn-generals-rally-to-duke {
  background: 
    linear-gradient(180deg, #1f1f2e 0%, #2a2a3e 40%, #3a2e2a 100%),
    radial-gradient(ellipse at 50% 40%, #4a3a2a 0%, transparent 70%);
}
.scn-generals-rally-to-duke .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-generals-rally-to-duke .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); box-shadow: inset 0 8px 15px rgba(0,0,0,0.6); }
.scn-generals-rally-to-duke .table { position:absolute; bottom:20%; left:50%; width:120px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-generals-rally-to-duke .candle { position:absolute; bottom:30%; left:50%; width:6px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: 0 0 20px 8px rgba(200,160,96,0.4); animation: grd-candle 3s ease-in-out infinite alternate; }
.scn-generals-rally-to-duke .duke-silhouette { position:absolute; bottom:20%; left:50%; width:50px; height:80px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: grd-duke 4s ease-in-out infinite; }
.scn-generals-rally-to-duke .general { position:absolute; bottom:20%; width:35px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-generals-rally-to-duke .silhouette-f { left:10%; animation: grd-rally 3s ease-in-out infinite; }
.scn-generals-rally-to-duke .silhouette-g { left:25%; animation: grd-rally 3.5s ease-in-out infinite 0.5s; }
.scn-generals-rally-to-duke .silhouette-h { left:70%; animation: grd-rally 4s ease-in-out infinite 1s; }
.scn-generals-rally-to-duke .shadow-flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(0,0,0,0.15) 0%, transparent 70%); animation: grd-flicker 2s ease-in-out infinite alternate; }
@keyframes grd-candle { 0% { box-shadow: 0 0 15px 5px rgba(200,160,96,0.3); } 50% { box-shadow: 0 0 25px 10px rgba(200,160,96,0.6); } 100% { box-shadow: 0 0 18px 6px rgba(200,160,96,0.4); } }
@keyframes grd-duke { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 25% { transform: translateX(-50%) translateY(-3px) rotate(2deg); } 50% { transform: translateX(-50%) translateY(0) rotate(0); } 75% { transform: translateX(-50%) translateY(-2px) rotate(-2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(1deg); } }
@keyframes grd-rally { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(10px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(-10px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes grd-flicker { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }

.scn-small-chamber-plot {
  background: 
    linear-gradient(180deg, #12121a 0%, #1e1e2a 40%, #2a221e 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, transparent 70%);
}
.scn-small-chamber-plot .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); }
.scn-small-chamber-plot .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); box-shadow: inset 0 8px 15px rgba(0,0,0,0.6); }
.scn-small-chamber-plot .small-table { position:absolute; bottom:20%; left:50%; width:80px; height:25px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-small-chamber-plot .candle { position:absolute; bottom:30%; left:50%; width:6px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c8a060 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: 0 0 20px 8px rgba(200,160,96,0.4); animation: scp-candle 3s ease-in-out infinite alternate; }
.scn-small-chamber-plot .plotter { position:absolute; bottom:20%; width:30px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-small-chamber-plot .conspiracy-a { left:20%; animation: scp-plot 5s ease-in-out infinite; }
.scn-small-chamber-plot .conspiracy-b { left:45%; animation: scp-plot 5.5s ease-in-out infinite 0.7s; }
.scn-small-chamber-plot .conspiracy-c { left:70%; animation: scp-plot 4.5s ease-in-out infinite 1.2s; }
.scn-small-chamber-plot .shadow-flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(0,0,0,0.2) 0%, transparent 70%); animation: scp-flicker 2.5s ease-in-out infinite alternate; }
.scn-small-chamber-plot .document { position:absolute; bottom:23%; left:50%; width:30px; height:20px; transform:translateX(-50%) rotate(2deg); background: linear-gradient(180deg, #d8c8a0 0%, #b8a080 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: scp-doc 6s ease-in-out infinite; }
@keyframes scp-candle { 0%,100% { box-shadow: 0 0 15px 5px rgba(200,160,96,0.3); } 50% { box-shadow: 0 0 28px 10px rgba(200,160,96,0.5); } }
@keyframes scp-plot { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(5px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(-5px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes scp-flicker { 0% { opacity:0.5; } 50% { opacity:0.9; } 100% { opacity:0.6; } }
@keyframes scp-doc { 0% { transform: translateX(-50%) rotate(2deg) translateY(0); } 50% { transform: translateX(-50%) rotate(5deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(2deg) translateY(0); } }

.scn-octavio-looms-event {
  background:
    radial-gradient(ellipse at 50% 60%, #4a2e1a 0%, #1c0e08 60%, #0a0502 100%),
    linear-gradient(180deg, #1a0d06 0%, #2b170a 40%, #1c0e08 100%);
}
.scn-octavio-looms-event .bg-room { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 80%, rgba(80,50,20,.3) 0%, transparent 70%); }
.scn-octavio-looms-event .wall-shadow { position:absolute; inset:0; background: linear-gradient(90deg, transparent 40%, rgba(0,0,0,.6) 60%); animation: ole-shadow 12s ease-in-out infinite alternate; }
.scn-octavio-looms-event .desk { position:absolute; bottom:20%; left:25%; right:25%; height:10%; background: linear-gradient(180deg, #4a2e1a 0%, #2a180e 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-octavio-looms-event .candle { position:absolute; bottom:30%; left:45%; width:8px; height:24px; background: linear-gradient(180deg, #e8d0a0 0%, #c8a060 100%); border-radius: 2px 2px 0 0; }
.scn-octavio-looms-event .flame { position:absolute; bottom:52%; left:44.6%; width:12px; height:20px; background: radial-gradient(circle, #ffcc60 0%, #e08030 60%, transparent 100%); border-radius:50%; animation: ole-flame 2s ease-in-out infinite alternate; }
.scn-octavio-looms-event .figure-octavio { position:absolute; bottom:30%; left:20%; width:28px; height:60px; background: linear-gradient(180deg, #1a0d06 0%, #0d0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ole-figure 6s ease-in-out infinite; }
.scn-octavio-looms-event .figure-shadow { position:absolute; bottom:28%; left:18%; width:40px; height:50px; background: rgba(0,0,0,.5); border-radius: 30% 70% 50% 50% / 40% 50% 50% 60%; filter: blur(6px); animation: ole-shad 6s ease-in-out infinite; }
.scn-octavio-looms-event .document { position:absolute; bottom:24%; left:37%; width:20px; height:14px; background: linear-gradient(180deg, #d4c4a0 0%, #b8a880 100%); border-radius: 2px; transform: rotate(-10deg); animation: ole-doc 8s ease-in-out infinite alternate; }
@keyframes ole-shadow { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.4 } }
@keyframes ole-flame { 0% { transform: scaleY(1) translateY(0); opacity:0.9 } 50% { transform: scaleY(1.2) translateY(-2px); opacity:1 } 100% { transform: scaleY(0.9) translateY(1px); opacity:0.8 } }
@keyframes ole-figure { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(3px) rotate(2deg) } 60% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ole-shad { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(4px) scale(1.1) } 100% { transform: translateX(0) scale(1) } }
@keyframes ole-doc { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-2px) } 100% { transform: rotate(-12deg) translateY(0) } }

.scn-octavio-all-will-be-clear {
  background:
    radial-gradient(ellipse at 30% 50%, #3a2215 0%, #150a05 60%, #0a0301 100%),
    linear-gradient(180deg, #0d0603 0%, #1c0e08 50%, #0d0603 100%);
}
.scn-octavio-all-will-be-clear .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,.8) 0%, transparent 70%); }
.scn-octavio-all-will-be-clear .doorway { position:absolute; bottom:20%; left:10%; width:60%; height:80%; background: linear-gradient(180deg, #2a1a0e 0%, #0d0603 100%); border-radius: 8px 8px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
.scn-octavio-all-will-be-clear .lamp-body { position:absolute; bottom:50%; left:70%; width:14px; height:30px; background: linear-gradient(180deg, #806040 0%, #4a2e1a 100%); border-radius: 4px 4px 2px 2px; }
.scn-octavio-all-will-be-clear .lamp-glow { position:absolute; bottom:55%; left:68%; width:30px; height:30px; background: radial-gradient(circle, #e8b860 0%, #b08030 40%, transparent 80%); border-radius:50%; animation: oac-glow 3s ease-in-out infinite alternate; }
.scn-octavio-all-will-be-clear .figure-octavio { position:absolute; bottom:30%; left:15%; width:26px; height:58px; background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oac-fig1 8s ease-in-out infinite; }
.scn-octavio-all-will-be-clear .figure-max { position:absolute; bottom:30%; left:35%; width:24px; height:56px; background: linear-gradient(180deg, #150e06 0%, #080402 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oac-fig2 9s ease-in-out infinite alternate; }
.scn-octavio-all-will-be-clear .letters { position:absolute; bottom:22%; left:40%; width:25px; height:18px; background: linear-gradient(180deg, #d4c4a0 0%, #b8a880 100%); border-radius: 2px; transform: rotate(5deg); animation: oac-letters 12s ease-in-out infinite alternate; }
@keyframes oac-glow { 0% { opacity:0.6; transform: scale(0.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:0.7; transform: scale(0.95) } }
@keyframes oac-fig1 { 0% { transform: translateX(0) rotate(0) } 40% { transform: translateX(4px) rotate(1deg) } 80% { transform: translateX(-3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes oac-fig2 { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(2px) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes oac-letters { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(8deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(0) } }

.scn-max-rejects-false-play {
  background:
    radial-gradient(ellipse at 50% 70%, #2a1a0e 0%, #0d0603 60%, #050201 100%),
    linear-gradient(180deg, #0f0804 0%, #1c0e08 50%, #0f0804 100%);
}
.scn-max-rejects-false-play .bg-cell { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,.6) 0%, transparent 50%, rgba(0,0,0,.4) 100%); }
.scn-max-rejects-false-play .wall { position:absolute; inset:10% 5%; background: linear-gradient(180deg, #2a1a0e 0%, #1a0d06 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,.7); }
.scn-max-rejects-false-play .table { position:absolute; bottom:22%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #4a2e1a 0%, #2a180e 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-max-rejects-false-play .chair { position:absolute; bottom:22%; left:50%; width:20px; height:30px; background: linear-gradient(180deg, #3a2215 0%, #1a0d06 100%); border-radius: 4px 4px 0 0; transform: translateX(-50%); }
.scn-max-rejects-false-play .figure-max { position:absolute; bottom:30%; left:38%; width:26px; height:60px; background: linear-gradient(180deg, #1a0d06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrf-figure 5s ease-in-out infinite; }
.scn-max-rejects-false-play .shadow-arm { position:absolute; bottom:40%; left:35%; width:20px; height:30px; background: rgba(0,0,0,.4); border-radius: 50% 50% 30% 70% / 40% 40% 60% 60%; transform: rotate(-30deg); filter: blur(4px); animation: mrf-arm 5s ease-in-out infinite alternate; }
.scn-max-rejects-false-play .barred-window { position:absolute; top:15%; right:10%; width:50px; height:40px; background: linear-gradient(180deg, rgba(60,40,20,.4) 0%, rgba(30,20,10,.8) 100%); border: 2px solid #3a2215; border-radius: 4px; overflow:hidden; }
.scn-max-rejects-false-play .barred-window::after { content:''; position:absolute; inset:0; background: repeating-linear-gradient(90deg, #2a180e 0px, #2a180e 2px, transparent 2px, transparent 8px); }
@keyframes mrf-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(4px) rotate(3deg) } 75% { transform: translateX(-4px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mrf-arm { 0% { transform: rotate(-30deg) translateX(0) } 50% { transform: rotate(-10deg) translateX(5px) } 100% { transform: rotate(-35deg) translateX(0) } }

.scn-max-demands-truth-duke {
  background:
    radial-gradient(ellipse at 40% 60%, #3a2215 0%, #1a0d06 60%, #0a0502 100%),
    linear-gradient(180deg, #0d0603 0%, #1c0e08 50%, #0d0603 100%);
}
.scn-max-demands-truth-duke .bg-chamber { position:absolute; inset:0; background: linear-gradient(135deg, rgba(0,0,0,.7) 0%, transparent 40%, rgba(0,0,0,.5) 100%); }
.scn-max-demands-truth-duke .desk { position:absolute; bottom:18%; left:30%; right:30%; height:12%; background: linear-gradient(180deg, #4a2e1a 0%, #2a180e 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-max-demands-truth-duke .chair-duke { position:absolute; bottom:28%; left:55%; width:24px; height:40px; background: linear-gradient(180deg, #3a2215 0%, #1a0d06 100%); border-radius: 6px 6px 0 0; transform: translateX(-50%); }
.scn-max-demands-truth-duke .figure-max { position:absolute; bottom:30%; left:25%; width:28px; height:62px; background: linear-gradient(180deg, #1a0d06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mdt-max 7s ease-in-out infinite; }
.scn-max-demands-truth-duke .figure-duke { position:absolute; bottom:30%; left:55%; width:30px; height:64px; background: linear-gradient(180deg, #2a180e 0%, #0d0603 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mdt-duke 7s ease-in-out infinite alternate; }
.scn-max-demands-truth-duke .letter-seal { position:absolute; bottom:22%; left:43%; width:16px; height:12px; background: linear-gradient(180deg, #d4c4a0 0%, #b8a880 100%); border-radius: 2px; box-shadow: 0 0 6px rgba(200,160,80,.3); animation: mdt-seal 10s ease-in-out infinite; }
.scn-max-demands-truth-duke .inkwell { position:absolute; bottom:20%; left:48%; width:10px; height:10px; background: radial-gradient(circle, #1a0d06 0%, #0a0502 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.6); animation: mdt-ink 3s ease-in-out infinite alternate; }
@keyframes mdt-max { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(5px) rotate(2deg) } 70% { transform: translateX(-3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mdt-duke { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(-2px) scaleY(1.03) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes mdt-seal { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes mdt-ink { 0% { transform: scale(0.9); opacity:0.7 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(0.9); opacity:0.7 } }

/* isolani-remember-me - warm, dim interior */

.scn-isolani-remember-me {
  background: linear-gradient(180deg, #2a1e12 0%, #1f1710 40%, #2a1e12 100%), radial-gradient(ellipse at 50% 80%, #bc6c30 0%, transparent 60%);
}
.scn-isolani-remember-me .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3f2d1e 0%, #291f15 100%);
  border-bottom: 4px solid #1f1710;
}
.scn-isolani-remember-me .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3d2b1a 0%, #23190f 100%);
}
.scn-isolani-remember-me .fireplace {
  position: absolute; bottom: 28%; left: 50%; width: 120px; height: 90px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #4a3524 0%, #2a1e12 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6);
}
.scn-isolani-remember-me .fire-glow {
  position: absolute; bottom: 33%; left: 50%; width: 60px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #f09c40 0%, #d06c20 40%, transparent 70%);
  border-radius: 50%;
  animation: rm-fire-glow 3s ease-in-out infinite alternate;
  filter: blur(4px);
}
.scn-isolani-remember-me .figure-isolani {
  position: absolute; bottom: 30%; left: 38%; width: 24px; height: 70px;
  background: linear-gradient(135deg, #1f1710 0%, #0f0b07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rm-walk 8s ease-in-out infinite;
  box-shadow: 4px 0 10px rgba(0,0,0,0.4);
}
.scn-isolani-remember-me .servant-silhouette {
  position: absolute; bottom: 30%; right: 32%; width: 20px; height: 60px;
  background: linear-gradient(90deg, #18100a 0%, #0d0804 100%);
  border-radius: 40% 60% 35% 45% / 55% 50% 50% 45%;
  transform-origin: bottom center;
  animation: rm-bow 12s ease-in-out infinite;
}
.scn-isolani-remember-me .hearth-stone {
  position: absolute; bottom: 26%; left: 50%; width: 140px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #3c2a1a 0%, #5a3f28 50%, #3c2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.5);
}

@keyframes rm-fire-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.15); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95); opacity: 0.9; }
}
@keyframes rm-walk {
  0% { transform: rotate(-2deg) translateY(0); }
  25% { transform: rotate(1deg) translateY(-2px); }
  50% { transform: rotate(-1deg) translateY(0); }
  75% { transform: rotate(2deg) translateY(-1px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes rm-bow {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(15deg); }
  40% { transform: rotate(0deg); }
  100% { transform: rotate(0deg); }
}

/* isolani-merry-lad - funny, dim interior */

.scn-isolani-merry-lad {
  background: linear-gradient(135deg, #3a2a1e 0%, #2a1f15 50%, #3a2a1e 100%), radial-gradient(ellipse at 60% 20%, #e8b060 0%, transparent 60%);
}
.scn-isolani-merry-lad .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4e3826 0%, #382b1c 100%);
}
.scn-isolani-merry-lad .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #4a3624 0%, #2c1e10 100%);
}
.scn-isolani-merry-lad .table {
  position: absolute; bottom: 32%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #5a452a 0%, #7a5c3a 50%, #5a452a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-isolani-merry-lad .wine-cup {
  position: absolute; bottom: 38%; left: 50%; width: 16px; height: 24px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0a050 0%, #a08040 100%);
  border-radius: 30% 30% 20% 20%;
  animation: ml-cup 2s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(255,200,100,0.3);
}
.scn-isolani-merry-lad .lantern {
  position: absolute; top: 20%; left: 30%; width: 14px; height: 20px;
  background: radial-gradient(circle, #ffd060 0%, #b09030 100%);
  border-radius: 50%;
  animation: ml-lantern 3s ease-in-out infinite alternate;
  box-shadow: 0 0 20px 6px #ffd060;
}
.scn-isolani-merry-lad .figure-isolani {
  position: absolute; bottom: 38%; left: 35%; width: 28px; height: 65px;
  background: linear-gradient(135deg, #1a130e 0%, #0d0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ml-dance 4s ease-in-out infinite;
}
.scn-isolani-merry-lad .shadow {
  position: absolute; bottom: 34%; left: 35%; width: 40px; height: 10px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  animation: ml-shadow 4s ease-in-out infinite;
  filter: blur(3px);
}

@keyframes ml-cup {
  0% { transform: translateX(-50%) rotate(0deg) scale(1); }
  25% { transform: translateX(-50%) rotate(15deg) scale(1.1); }
  50% { transform: translateX(-50%) rotate(-10deg) scale(1); }
  75% { transform: translateX(-50%) rotate(20deg) scale(1.05); }
  100% { transform: translateX(-50%) rotate(0deg) scale(1); }
}
@keyframes ml-lantern {
  0% { transform: rotate(-5deg) translateY(0); opacity: 0.8; }
  50% { transform: rotate(5deg) translateY(-4px); opacity: 1; }
  100% { transform: rotate(-5deg) translateY(0); opacity: 0.8; }
}
@keyframes ml-dance {
  0% { transform: rotate(-3deg) translateY(0); }
  20% { transform: rotate(4deg) translateY(-3px); }
  40% { transform: rotate(-2deg) translateY(-1px); }
  60% { transform: rotate(5deg) translateY(-5px); }
  80% { transform: rotate(-4deg) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes ml-shadow {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(1.2); opacity: 0.5; }
  100% { transform: scale(1); opacity: 0.3; }
}

/* butler-enters-to-octavio - tense, dim interior */

.scn-butler-enters-to-octavio {
  background: linear-gradient(135deg, #2a2220 0%, #1d1816 50%, #2a2220 100%), radial-gradient(ellipse at 70% 30%, #a08050 0%, transparent 50%);
}
.scn-butler-enters-to-octavio .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3d302b 0%, #2a211d 100%);
  border-bottom: 3px solid #1a1512;
}
.scn-butler-enters-to-octavio .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #362924 0%, #1d1512 100%);
}
.scn-butler-enters-to-octavio .table {
  position: absolute; bottom: 34%; left: 50%; width: 80px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #4a362c 0%, #6a5040 50%, #4a362c 100%);
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}
.scn-butler-enters-to-octavio .candle {
  position: absolute; bottom: 40%; left: 53%; width: 6px; height: 10px;
  background: linear-gradient(180deg, #ffe0a0 0%, #d09040 100%);
  border-radius: 20%;
  animation: bo-candle 2s ease-in-out infinite alternate;
  box-shadow: 0 0 12px 4px rgba(255,200,100,0.4);
}
.scn-butler-enters-to-octavio .figure-octavio {
  position: absolute; bottom: 38%; left: 38%; width: 22px; height: 60px;
  background: linear-gradient(135deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bo-sit 3s ease-in-out infinite;
}
.scn-butler-enters-to-octavio .figure-butler {
  position: absolute; bottom: 38%; right: 36%; width: 24px; height: 68px;
  background: linear-gradient(135deg, #201815 0%, #100b08 100%);
  border-radius: 40% 60% 35% 45% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: bo-enter 6s ease-in-out infinite;
}
.scn-butler-enters-to-octavio .doorway {
  position: absolute; top: 10%; right: 20%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a1512 0%, #0f0b09 100%);
  border-radius: 0 0 10px 10px;
  box-shadow: inset 2px 0 6px rgba(0,0,0,0.5);
}

@keyframes bo-candle {
  0% { transform: scale(1) translateY(0); opacity: 0.9; }
  50% { transform: scale(1.1) translateY(-2px); opacity: 1; }
  100% { transform: scale(0.95) translateY(0); opacity: 0.7; }
}
@keyframes bo-sit {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(1deg) translateY(-1px); }
  50% { transform: rotate(-1deg) translateY(0); }
  75% { transform: rotate(0deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes bo-enter {
  0% { transform: translateX(10px) rotate(2deg); opacity: 0.3; }
  25% { transform: translateX(5px) rotate(1deg); opacity: 0.7; }
  50% { transform: translateX(0px) rotate(0deg); opacity: 1; }
  75% { transform: translateX(-3px) rotate(-1deg); opacity: 0.9; }
  100% { transform: translateX(10px) rotate(2deg); opacity: 0.3; }
}

/* butler-like-minded - tense, dim interior */

.scn-butler-like-minded {
  background: linear-gradient(135deg, #2e2522 0%, #1f1916 50%, #2e2522 100%), radial-gradient(ellipse at 30% 60%, #907050 0%, transparent 60%);
}
.scn-butler-like-minded .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3b2f2a 0%, #281f1b 100%);
}
.scn-butler-like-minded .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #352822 0%, #1c1410 100%);
}
.scn-butler-like-minded .window {
  position: absolute; top: 8%; left: 10%; width: 50px; height: 70px;
  background: radial-gradient(ellipse at center, #3a4a5a 0%, #1a2a3a 100%);
  border: 4px solid #2a1f1a;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.6);
}
.scn-butler-like-minded .chair-left {
  position: absolute; bottom: 34%; left: 30%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #3c2a20 0%, #1d1510 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bl-creak 5s ease-in-out infinite;
}
.scn-butler-like-minded .chair-right {
  position: absolute; bottom: 34%; right: 30%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #3c2a20 0%, #1d1510 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bl-creak 5s ease-in-out infinite reverse;
}
.scn-butler-like-minded .figure-octavio {
  position: absolute; bottom: 38%; left: 32%; width: 20px; height: 55px;
  background: linear-gradient(135deg, #1a1512 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bl-lean 4s ease-in-out infinite;
}
.scn-butler-like-minded .figure-butler {
  position: absolute; bottom: 38%; right: 32%; width: 22px; height: 58px;
  background: linear-gradient(135deg, #1f1815 0%, #100b08 100%);
  border-radius: 40% 60% 35% 45% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: bl-lean 4s ease-in-out infinite 2s;
}

@keyframes bl-creak {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(1deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-1deg); }
  100% { transform: rotate(0deg); }
}
@keyframes bl-lean {
  0% { transform: rotate(0deg) translateY(0); }
  20% { transform: rotate(2deg) translateY(-2px); }
  40% { transform: rotate(-1deg) translateY(0); }
  60% { transform: rotate(3deg) translateY(-3px); }
  80% { transform: rotate(-2deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}

.scn-wallenstein-fantastic-sceptres {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1e 40%, #2a1a2a 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a3a 0%, transparent 70%);
}
.scn-wallenstein-fantastic-sceptres .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
  animation: wa-wall-s 12s ease-in-out infinite alternate;
}
.scn-wallenstein-fantastic-sceptres .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-wallenstein-fantastic-sceptres .light {
  position: absolute; top: 20%; left: 40%; width: 80px; height: 80px;
  background: radial-gradient(circle, #b08040 0%, transparent 70%);
  border-radius: 50%;
  animation: wa-light-s 4s ease-in-out infinite alternate;
}
.scn-wallenstein-fantastic-sceptres .figure {
  position: absolute; bottom: 25%; left: 45%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-fig-s 8s ease-in-out infinite;
}
.scn-wallenstein-fantastic-sceptres .sceptre1 {
  position: absolute; bottom: 50%; left: 20%; width: 8px; height: 60px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: bottom center;
  animation: wa-scep1-s 5s ease-in-out infinite;
}
.scn-wallenstein-fantastic-sceptres .sceptre2 {
  position: absolute; bottom: 55%; right: 25%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #b87878 0%, #702243 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: bottom center;
  animation: wa-scep2-s 6s ease-in-out infinite;
}
.scn-wallenstein-fantastic-sceptres .shadow {
  position: absolute; bottom: 28%; left: 35%; width: 100px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 80%);
  filter: blur(4px);
  animation: wa-shadow-s 8s ease-in-out infinite alternate;
}
@keyframes wa-wall-s { 0% { opacity: .8; transform: scale(1) } 50% { opacity: .95; transform: scale(1.02) } 100% { opacity: .7; transform: scale(.98) } }
@keyframes wa-light-s { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.15) } 100% { opacity: .7; transform: scale(.9) } }
@keyframes wa-fig-s { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(5px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(10px) translateY(0) rotate(-1deg) } 75% { transform: translateX(15px) translateY(-1px) rotate(2deg) } 100% { transform: translateX(20px) translateY(0) rotate(0) } }
@keyframes wa-scep1-s { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(15deg) translateY(-5px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes wa-scep2-s { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-8px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes wa-shadow-s { 0% { opacity: .3; scale: 1 } 50% { opacity: .6; scale: 1.2 } 100% { opacity: .2; scale: .9 } }

.scn-wallenstein-punishable-man {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1e 50%, #1e1e2a 100%),
              radial-gradient(ellipse at 50% 70%, #2a2a3a 0%, transparent 80%);
}
.scn-wallenstein-punishable-man .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1a2a 0%, #0f0f1a 100%);
  animation: wa-bg-p 20s ease-in-out infinite alternate;
}
.scn-wallenstein-punishable-man .bars {
  position: absolute; top: 10%; left: 30%; right: 30%; bottom: 10%;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 20px, #3a2a2a 20px, #3a2a2a 24px);
  background-size: 100% 100%;
  animation: wa-bars-p 12s ease-in-out infinite;
}
.scn-wallenstein-punishable-man .figure {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-fig-p 6s ease-in-out infinite;
}
.scn-wallenstein-punishable-man .chain1 {
  position: absolute; bottom: 40%; left: 30%; width: 4px; height: 30px;
  background: #5e5e5e;
  border-radius: 2px;
  animation: wa-chain1-p 4s ease-in-out infinite alternate;
}
.scn-wallenstein-punishable-man .chain2 {
  position: absolute; bottom: 40%; right: 30%; width: 4px; height: 30px;
  background: #5e5e5e;
  border-radius: 2px;
  animation: wa-chain2-p 4s ease-in-out infinite alternate;
}
.scn-wallenstein-punishable-man .shadow {
  position: absolute; bottom: 15%; left: 40%; width: 80px; height: 40px;
  background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: wa-shadow-p 8s ease-in-out infinite alternate;
}
.scn-wallenstein-punishable-man .glow {
  position: absolute; top: 30%; left: 45%; width: 60px; height: 60px;
  background: radial-gradient(circle, #b08040 0%, transparent 70%);
  border-radius: 50%;
  animation: wa-glow-p 5s ease-in-out infinite alternate;
}
@keyframes wa-bg-p { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes wa-bars-p { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(1) } }
@keyframes wa-fig-p { 0% { transform: translateX(0) rotate(0) scaleY(1) } 25% { transform: translateX(-3px) rotate(-2deg) scaleY(1.02) } 50% { transform: translateX(0) rotate(0) scaleY(1) } 75% { transform: translateX(3px) rotate(2deg) scaleY(1.02) } 100% { transform: translateX(0) rotate(0) scaleY(1) } }
@keyframes wa-chain1-p { 0% { transform: rotate(5deg) } 50% { transform: rotate(-5deg) } 100% { transform: rotate(3deg) } }
@keyframes wa-chain2-p { 0% { transform: rotate(-5deg) } 50% { transform: rotate(8deg) } 100% { transform: rotate(-3deg) } }
@keyframes wa-shadow-p { 0% { opacity: .4; scale: 1 } 50% { opacity: .7; scale: 1.1 } 100% { opacity: .3; scale: .9 } }
@keyframes wa-glow-p { 0% { opacity: .5; transform: scale(1) } 50% { opacity: .8; transform: scale(1.2) } 100% { opacity: .4; transform: scale(.9) } }

.scn-wallenstein-gave-way-humours {
  background: linear-gradient(180deg, #1e1e2a 0%, #0f0f1a 40%, #2a1a2a 100%),
              radial-gradient(ellipse at 50% 60%, #3a2a3a 0%, transparent 80%);
}
.scn-wallenstein-gave-way-humours .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1a2a 0%, #0f0f1a 100%);
  animation: wa-bg-h 18s ease-in-out infinite alternate;
}
.scn-wallenstein-gave-way-humours .figure {
  position: absolute; bottom: 20%; left: 35%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-fig-h 6s ease-in-out infinite;
}
.scn-wallenstein-gave-way-humours .mask1 {
  position: absolute; top: 30%; left: 20%; width: 30px; height: 30px;
  background: radial-gradient(circle, #8a5a3a 0%, #5a3a2a 100%);
  border-radius: 50%;
  animation: wa-mask1-h 8s ease-in-out infinite;
}
.scn-wallenstein-gave-way-humours .mask2 {
  position: absolute; top: 25%; right: 25%; width: 28px; height: 28px;
  background: radial-gradient(circle, #a0461a 0%, #6a2a1a 100%);
  border-radius: 50%;
  animation: wa-mask2-h 9s ease-in-out infinite;
}
.scn-wallenstein-gave-way-humours .mask3 {
  position: absolute; top: 40%; left: 60%; width: 24px; height: 24px;
  background: radial-gradient(circle, #b87878 0%, #702243 100%);
  border-radius: 50%;
  animation: wa-mask3-h 7s ease-in-out infinite;
}
.scn-wallenstein-gave-way-humours .streamer1 {
  position: absolute; top: 15%; left: 10%; width: 60px; height: 6px;
  background: linear-gradient(90deg, #a0461a 0%, #c8553d 100%);
  border-radius: 3px;
  transform-origin: left center;
  animation: wa-stream1-h 10s ease-in-out infinite;
}
.scn-wallenstein-gave-way-humours .streamer2 {
  position: absolute; top: 20%; right: 15%; width: 50px; height: 5px;
  background: linear-gradient(90deg, #b87878 0%, #702243 100%);
  border-radius: 2px;
  transform-origin: right center;
  animation: wa-stream2-h 11s ease-in-out infinite;
}
@keyframes wa-bg-h { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .75 } }
@keyframes wa-fig-h { 0% { transform: translateX(0) rotate(-2deg) } 20% { transform: translateX(8px) rotate(3deg) } 40% { transform: translateX(-5px) rotate(-4deg) } 60% { transform: translateX(12px) rotate(2deg) } 80% { transform: translateX(-8px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wa-mask1-h { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(10px,-5px) rotate(15deg) } 50% { transform: translate(-5px,10px) rotate(-10deg) } 75% { transform: translate(15px,5px) rotate(20deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wa-mask2-h { 0% { transform: translate(0,0) rotate(0) scale(1) } 33% { transform: translate(-5px,8px) rotate(-12deg) scale(1.1) } 66% { transform: translate(12px,-3px) rotate(8deg) scale(.95) } 100% { transform: translate(0,0) rotate(0) scale(1) } }
@keyframes wa-mask3-h { 0% { transform: translate(0,0) rotate(0) } 50% { transform: translate(-10px,-10px) rotate(-20deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wa-stream1-h { 0% { transform: rotate(0) scaleX(1) } 50% { transform: rotate(15deg) scaleX(1.3) } 100% { transform: rotate(0) scaleX(1) } }
@keyframes wa-stream2-h { 0% { transform: rotate(0) scaleX(1) } 50% { transform: rotate(-20deg) scaleX(1.2) } 100% { transform: rotate(0) scaleX(1) } }

.scn-wallenstein-caught-net {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1e 40%, #1e1e2a 100%),
              radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 80%);
}
.scn-wallenstein-caught-net .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0f0f1a 0%, #1a1a2a 100%);
  animation: wa-bg-n 20s ease-in-out infinite alternate;
}
.scn-wallenstein-caught-net .net1 {
  position: absolute; top: 30%; left: 20%; width: 60%; height: 60%;
  background: radial-gradient(circle at 30% 30%, transparent 4px, #3a3a3a 4px, #3a3a3a 5px, transparent 5px);
  background-size: 30px 30px;
  animation: wa-net1-n 8s linear infinite;
}
.scn-wallenstein-caught-net .net2 {
  position: absolute; top: 35%; left: 25%; width: 50%; height: 50%;
  background: radial-gradient(circle at 70% 70%, transparent 3px, #4a4a4a 3px, #4a4a4a 4px, transparent 4px);
  background-size: 25px 25px;
  animation: wa-net2-n 10s linear infinite;
}
.scn-wallenstein-caught-net .net3 {
  position: absolute; top: 40%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(circle at 50% 50%, transparent 2px, #5a5a5a 2px, #5a5a5a 3px, transparent 3px);
  background-size: 20px 20px;
  animation: wa-net3-n 12s linear infinite;
}
.scn-wallenstein-caught-net .figure {
  position: absolute; bottom: 20%; left: 45%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-fig-n 6s ease-in-out infinite;
}
.scn-wallenstein-caught-net .shadow {
  position: absolute; bottom: 15%; left: 35%; width: 100px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%);
  filter: blur(6px);
  animation: wa-shadow-n 8s ease-in-out infinite alternate;
}
.scn-wallenstein-caught-net .light {
  position: absolute; top: 25%; left: 45%; width: 50px; height: 50px;
  background: radial-gradient(circle, #b08040 0%, transparent 70%);
  border-radius: 50%;
  animation: wa-light-n 5s ease-in-out infinite alternate;
}
@keyframes wa-bg-n { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .75 } }
@keyframes wa-net1-n { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(2px,-1px) rotate(1deg) } 50% { transform: translate(0,0) rotate(0) } 75% { transform: translate(-2px,1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wa-net2-n { 0% { transform: translate(0,0) rotate(0) } 50% { transform: translate(-2px,2px) rotate(-2deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wa-net3-n { 0% { transform: translate(0,0) rotate(0) } 33% { transform: translate(1px,-1px) rotate(1deg) } 66% { transform: translate(-1px,1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wa-fig-n { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(-5px) rotate(-3deg) } 50% { transform: translateX(8px) rotate(2deg) } 75% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wa-shadow-n { 0% { opacity: .3; scale: 1 } 50% { opacity: .6; scale: 1.1 } 100% { opacity: .2; scale: .9 } }
@keyframes wa-light-n { 0% { opacity: .5; transform: scale(1) } 50% { opacity: .9; transform: scale(1.25) } 100% { opacity: .4; transform: scale(.9) } }

.scn-octavio-grieves-sorely {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e16 40%, #1e1510 100%),
    radial-gradient(ellipse at 50% 80%, #3a2618 0%, transparent 70%);
}
.scn-octavio-grieves-sorely .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #120c08 0%, #1a1410 100%);
  animation: ogg-bg 8s ease-in-out infinite alternate;
}
.scn-octavio-grieves-sorely .candle {
  position: absolute; bottom: 38%; left: 60%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f0c060 0%, #c08030 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 30px 12px #b07020, 0 0 60px 24px rgba(176,112,32,0.3);
  animation: ogg-candle 3s ease-in-out infinite alternate;
}
.scn-octavio-grieves-sorely .table {
  position: absolute; bottom: 24%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a100a 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 6px rgba(0,0,0,0.6);
  animation: ogg-table 12s ease-in-out infinite alternate;
}
.scn-octavio-grieves-sorely .figure {
  position: absolute; bottom: 30%; left: 28%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ogg-figure 6s ease-in-out infinite;
}
.scn-octavio-grieves-sorely .letter {
  position: absolute; bottom: 30%; left: 55%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #c8b898 0%, #a88868 100%);
  border-radius: 1px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: ogg-letter 10s ease-in-out infinite alternate;
}
.scn-octavio-grieves-sorely .shadow {
  position: absolute; bottom: 24%; left: 20%; right: 20%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: ogg-shadow 8s ease-in-out infinite alternate;
}
@keyframes ogg-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ogg-candle { 0%,100% { transform: scaleY(1); filter: brightness(1) } 50% { transform: scaleY(1.05); filter: brightness(1.2) } }
@keyframes ogg-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ogg-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(0) } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(-2deg) } }
@keyframes ogg-letter { 0%,100% { transform: translateX(-2px) rotate(-5deg) } 50% { transform: translateX(2px) rotate(-3deg) } }
@keyframes ogg-shadow { 0%,100% { opacity: 0.6; transform: scaleX(1) } 50% { opacity: 0.8; transform: scaleX(1.05) } }

.scn-octavio-reveals-covenant {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e16 40%, #1e1510 100%),
    radial-gradient(ellipse at 60% 70%, #3a2618 0%, transparent 70%);
}
.scn-octavio-reveals-covenant .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #120c08 0%, #1a1410 100%);
  animation: orc-bg 10s ease-in-out infinite alternate;
}
.scn-octavio-reveals-covenant .candle {
  position: absolute; bottom: 36%; left: 55%; width: 8px; height: 22px;
  background: linear-gradient(180deg, #f0c060 0%, #c08030 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 28px 10px #b07020, 0 0 56px 20px rgba(176,112,32,0.3);
  animation: orc-candle 2.5s ease-in-out infinite alternate;
}
.scn-octavio-reveals-covenant .scroll {
  position: absolute; bottom: 28%; left: 35%; width: 80px; height: 14px;
  background: linear-gradient(180deg, #c8b898 0%, #a88868 100%);
  border-radius: 4px;
  transform: rotate(-3deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: orc-scroll 15s ease-in-out infinite alternate;
}
.scn-octavio-reveals-covenant .seal {
  position: absolute; bottom: 30%; left: 40%; width: 10px; height: 10px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #a0461a;
  animation: orc-seal 6s ease-in-out infinite;
}
.scn-octavio-reveals-covenant .hand-left {
  position: absolute; bottom: 28%; left: 25%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(10deg);
  transform-origin: 50% 100%;
  animation: orc-hand 8s ease-in-out infinite alternate;
}
.scn-octavio-reveals-covenant .hand-right {
  position: absolute; bottom: 28%; left: 60%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-10deg);
  transform-origin: 50% 100%;
  animation: orc-hand 8s ease-in-out infinite alternate-reverse;
}
.scn-octavio-reveals-covenant .ember {
  position: absolute; bottom: 42%; left: 58%; width: 4px; height: 4px;
  background: #ffd060;
  border-radius: 50%;
  box-shadow: 0 0 8px 4px #ffc040;
  animation: orc-ember 4s ease-in-out infinite;
}
@keyframes orc-bg { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes orc-candle { 0%,100% { transform: scaleY(1); filter: brightness(1) } 50% { transform: scaleY(1.08); filter: brightness(1.3) } }
@keyframes orc-scroll { 0%,100% { transform: translateY(0) rotate(-3deg) } 50% { transform: translateY(-1px) rotate(-4deg) } }
@keyframes orc-seal { 0%,100% { transform: scale(1) } 50% { transform: scale(1.08) } }
@keyframes orc-hand { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-2px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes orc-ember { 0%,100% { opacity: 0.6; transform: translateY(0) scale(1) } 50% { opacity: 1; transform: translateY(-6px) scale(1.2) } }

.scn-octavio-choose-side {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e16 40%, #1e1510 100%),
    radial-gradient(ellipse at 50% 70%, #3a2618 0%, transparent 70%);
}
.scn-octavio-choose-side .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #120c08 0%, #1a1410 100%);
  animation: ocs-bg 9s ease-in-out infinite alternate;
}
.scn-octavio-choose-side .table {
  position: absolute; bottom: 22%; left: 15%; right: 15%; height: 14%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a100a 100%);
  border-radius: 4px;
  box-shadow: inset 0 4px 6px rgba(0,0,0,0.7);
  animation: ocs-table 14s ease-in-out infinite alternate;
}
.scn-octavio-choose-side .candle {
  position: absolute; bottom: 34%; left: 50%; width: 8px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0c060 0%, #c08030 100%);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 30px 12px #b07020, 0 0 60px 24px rgba(176,112,32,0.3);
  animation: ocs-candle 3s ease-in-out infinite alternate;
}
.scn-octavio-choose-side .figure-left {
  position: absolute; bottom: 30%; left: 22%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ocs-figure-left 7s ease-in-out infinite;
}
.scn-octavio-choose-side .figure-right {
  position: absolute; bottom: 30%; right: 22%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #201612 0%, #120c0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ocs-figure-right 7s ease-in-out infinite reverse;
}
.scn-octavio-choose-side .sword {
  position: absolute; bottom: 26%; left: 40%; width: 60px; height: 4px;
  background: linear-gradient(90deg, #5a4a3a 0%, #c8b898 100%);
  border-radius: 2px;
  transform: rotate(25deg);
  box-shadow: 0 1px 2px rgba(0,0,0,0.5);
  animation: ocs-sword 5s ease-in-out infinite;
}
.scn-octavio-choose-side .chain {
  position: absolute; bottom: 28%; right: 45%; width: 12px; height: 8px;
  background: radial-gradient(circle, #c8b898 30%, transparent 30%);
  background-size: 4px 4px;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.4));
  animation: ocs-chain 12s linear infinite;
}
@keyframes ocs-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ocs-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ocs-candle { 0%,100% { transform: translateX(-50%) scaleY(1); filter: brightness(1) } 50% { transform: translateX(-50%) scaleY(1.05); filter: brightness(1.15) } }
@keyframes ocs-figure-left { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes ocs-figure-right { 0% { transform: translateX(0) rotate(1deg) } 25% { transform: translateX(-2px) rotate(-1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes ocs-sword { 0%,100% { transform: rotate(25deg) translateY(0) } 50% { transform: rotate(22deg) translateY(-1px) } }
@keyframes ocs-chain { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

.scn-octavio-see-white-hairs {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e16 40%, #1e1510 100%),
    radial-gradient(ellipse at 40% 50%, #3a2618 0%, transparent 70%);
}
.scn-octavio-see-white-hairs .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #120c08 0%, #1a1410 100%);
  animation: ows-bg 7s ease-in-out infinite alternate;
}
.scn-octavio-see-white-hairs .figure-body {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ows-body 10s ease-in-out infinite;
}
.scn-octavio-see-white-hairs .head {
  position: absolute; bottom: 55%; left: 33%; width: 28px; height: 28px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 50%;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,0.6);
  animation: ows-head 8s ease-in-out infinite alternate;
}
.scn-octavio-see-white-hairs .hair {
  position: absolute; bottom: 70%; left: 30%; width: 50px; height: 20px;
  background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  filter: blur(1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ows-hair 12s ease-in-out infinite alternate;
}
.scn-octavio-see-white-hairs .hand-reach {
  position: absolute; bottom: 38%; left: 60%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-15deg);
  transform-origin: 50% 100%;
  animation: ows-hand 5s ease-in-out infinite alternate;
}
.scn-octavio-see-white-hairs .candleglow {
  position: absolute; bottom: 40%; right: 20%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(240,192,96,0.15) 0%, transparent 100%);
  filter: blur(10px);
  animation: ows-glow 4s ease-in-out infinite alternate;
}
@keyframes ows-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes ows-body { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ows-head { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-2px) rotate(0) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes ows-hair { 0%,100% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-1px) scaleX(1.02) } }
@keyframes ows-hand { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-3px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes ows-glow { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 0.8; transform: scale(1.1) } 100% { opacity: 0.6; transform: scale(0.95) } }

.scn-wallenstein-offers-eighteen-thousand {
  background: linear-gradient(180deg, #1a1210 0%, #2a1e1a 40%, #1f1512 100%),
              radial-gradient(ellipse at 60% 50%, #3a2010 0%, transparent 70%);
}
.scn-wallenstein-offers-eighteen-thousand .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2c221e 0%, #1a1210 100%); opacity: 0.6;
}
.scn-wallenstein-offers-eighteen-thousand .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #4a3020 0%, #2e1a10 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 6px 20px rgba(0,0,0,0.8);
}
.scn-wallenstein-offers-eighteen-thousand .map {
  position: absolute; bottom: 22%; left: 25%; right: 25%; height: 14%;
  background: linear-gradient(135deg, #8a7a5a, #6a5a3a);
  border-radius: 2px; transform: perspective(400px) rotateX(12deg); box-shadow: 0 0 30px rgba(0,0,0,0.5);
  animation: map-ms 6s ease-in-out infinite alternate;
}
.scn-wallenstein-offers-eighteen-thousand .candle {
  position: absolute; bottom: 30%; left: 38%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #f0c080 15%, #a06030 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-wallenstein-offers-eighteen-thousand .flame {
  width: 16px; height: 20px; left: 37.2%; bottom: 38%;
  background: radial-gradient(circle, #ffe080 0%, #f0a030 60%, transparent 80%);
  box-shadow: 0 0 30px 10px #f0a030; border-radius: 60% 60% 20% 20%;
  animation: flame-ms 0.8s ease-in-out infinite alternate;
}
.scn-wallenstein-offers-eighteen-thousand .wallenstein {
  position: absolute; bottom: 16%; left: 45%; width: 60px; height: 110px;
  background: linear-gradient(180deg, #2a1a10 0%, #0e0804 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: figure-ms 3s ease-in-out infinite;
}
.scn-wallenstein-offers-eighteen-thousand .fig-shadow {
  position: absolute; bottom: 16%; left: 46%; width: 50px; height: 20px;
  background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px);
  animation: shadow-ms 3s ease-in-out infinite;
}
.scn-wallenstein-offers-eighteen-thousand .papers {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 30px;
  background: linear-gradient(135deg, #c0b090, #a09070);
  border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 8px rgba(0,0,0,0.5);
  animation: papers-ms 5s ease-in-out infinite;
}
@keyframes map-ms {
  0% { transform: perspective(400px) rotateX(12deg) translateY(0); }
  50% { transform: perspective(400px) rotateX(10deg) translateY(-2px); }
  100% { transform: perspective(400px) rotateX(12deg) translateY(0); }
}
@keyframes flame-ms {
  0% { transform: scale(1) rotate(-2deg); opacity: 0.9; }
  50% { transform: scale(1.15) rotate(1deg); opacity: 1; }
  100% { transform: scale(1.05) rotate(-1deg); opacity: 0.95; }
}
@keyframes figure-ms {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(2px) rotate(1deg); }
  60% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes shadow-ms {
  0% { transform: translateX(0) scale(1); opacity: 0.6; }
  30% { transform: translateX(2px) scale(0.95); opacity: 0.5; }
  60% { transform: translateX(-1px) scale(1.05); opacity: 0.65; }
  100% { transform: translateX(0) scale(1); opacity: 0.6; }
}
@keyframes papers-ms {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}

.scn-wrangel-doubts-oaths {
  background: linear-gradient(180deg, #14100c 0%, #261c14 50%, #1a120c 100%),
              radial-gradient(ellipse at 40% 50%, #2a1c10 0%, transparent 60%);
}
.scn-wrangel-doubts-oaths .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1612, #0c0806); opacity: 0.5;
}
.scn-wrangel-doubts-oaths .chair {
  position: absolute; bottom: 12%; left: 30%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1008 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform: skewY(5deg); box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-wrangel-doubts-oaths .wrangel {
  position: absolute; bottom: 10%; left: 32%; width: 50px; height: 100px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0604 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: figure-wr 3.5s ease-in-out infinite;
}
.scn-wrangel-doubts-oaths .oath-scroll {
  position: absolute; bottom: 22%; left: 38%; width: 60px; height: 12px;
  background: linear-gradient(135deg, #b0a080, #907c60);
  border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: scroll-wr 6s ease-in-out infinite;
}
.scn-wrangel-doubts-oaths .candle {
  position: absolute; bottom: 28%; left: 25%; width: 8px; height: 36px;
  background: linear-gradient(180deg, #e8c080 15%, #905830 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-wrangel-doubts-oaths .flame {
  width: 14px; height: 18px; left: 24.2%; bottom: 36%;
  background: radial-gradient(circle, #ffd060 0%, #e09020 60%, transparent 80%);
  box-shadow: 0 0 25px 8px #e09020; border-radius: 60% 60% 20% 20%;
  animation: flame-wr 0.7s ease-in-out infinite alternate;
}
.scn-wrangel-doubts-oaths .fig-shadow {
  position: absolute; bottom: 12%; left: 33%; width: 40px; height: 16px;
  background: rgba(0,0,0,0.7); border-radius: 50%; filter: blur(5px);
  animation: shadow-wr 3.5s ease-in-out infinite;
}
@keyframes figure-wr {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(2deg); }
  50% { transform: translateX(1px) rotate(-1deg); }
  75% { transform: translateX(-1px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes scroll-wr {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-3px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes flame-wr {
  0% { transform: scale(1) rotate(-3deg); opacity: 0.9; }
  50% { transform: scale(1.1) rotate(2deg); opacity: 1; }
  100% { transform: scale(1.03) rotate(-1deg); opacity: 0.95; }
}
@keyframes shadow-wr {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.05); opacity: 0.6; }
  100% { transform: scale(1); opacity: 0.7; }
}

.scn-wrangel-god-heaven {
  background: linear-gradient(180deg, #12100e 0%, #221a14 40%, #1a1410 100%),
              radial-gradient(ellipse at 50% 40%, #2a1c12 0%, transparent 70%);
}
.scn-wrangel-god-heaven .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1410, #0e0a08); opacity: 0.6;
}
.scn-wrangel-god-heaven .crucifix {
  position: absolute; top: 10%; left: 50%; transform: translateX(-50%);
  width: 12px; height: 50px; background: #4a3a2a; border-radius: 30%;
  box-shadow: 0 0 15px rgba(200,180,140,0.3);
}
.scn-wrangel-god-heaven .crucifix::before {
  content: ''; position: absolute; top: 18px; left: -12px; width: 36px; height: 6px;
  background: #4a3a2a; border-radius: 30%;
}
.scn-wrangel-god-heaven .wrangel {
  position: absolute; bottom: 14%; left: 40%; width: 50px; height: 95px;
  background: linear-gradient(180deg, #1a1410 0%, #080604 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: figure-wg 4s ease-in-out infinite;
}
.scn-wrangel-god-heaven .candle {
  position: absolute; bottom: 32%; left: 36%; width: 8px; height: 38px;
  background: linear-gradient(180deg, #f0c080 15%, #905830 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-wrangel-god-heaven .flame {
  width: 16px; height: 20px; left: 35.2%; bottom: 40%;
  background: radial-gradient(circle, #ffe070 0%, #e09020 60%, transparent 80%);
  box-shadow: 0 0 35px 12px #e09020; border-radius: 60% 60% 20% 20%;
  animation: flame-wg 0.9s ease-in-out infinite alternate;
}
.scn-wrangel-god-heaven .fig-shadow {
  position: absolute; bottom: 14%; left: 42%; width: 44px; height: 18px;
  background: rgba(0,0,0,0.65); border-radius: 50%; filter: blur(6px);
  animation: shadow-wg 4s ease-in-out infinite;
}
.scn-wrangel-god-heaven .halo {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 30px; background: radial-gradient(ellipse, rgba(240,200,100,0.3) 0%, transparent 70%);
  border-radius: 50%; filter: blur(10px); animation: halo-wg 5s ease-in-out infinite alternate;
}
@keyframes figure-wg {
  0%,100% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(3px) rotate(1.5deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes flame-wg {
  0% { transform: scaleY(1) rotate(-2deg); opacity: 0.9; }
  50% { transform: scaleY(1.2) rotate(1deg); opacity: 1; }
  100% { transform: scaleY(1.05) rotate(-1deg); opacity: 0.95; }
}
@keyframes shadow-wg {
  0% { transform: scale(1); opacity: 0.65; }
  50% { transform: scale(1.03); opacity: 0.55; }
  100% { transform: scale(1); opacity: 0.65; }
}
@keyframes halo-wg {
  0% { opacity: 0.3; transform: translateX(-50%) scale(1); }
  50% { opacity: 0.6; transform: translateX(-50%) scale(1.1); }
  100% { opacity: 0.3; transform: translateX(-50%) scale(1); }
}

.scn-wallenstein-no-country {
  background: linear-gradient(180deg, #18120c 0%, #2a1c12 50%, #1e1410 100%),
              radial-gradient(ellipse at 70% 30%, #3a2010 0%, transparent 70%);
}
.scn-wallenstein-no-country .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1610, #100c08); opacity: 0.5;
}
.scn-wallenstein-no-country .map-table {
  position: absolute; bottom: 15%; left: 15%; right: 15%; height: 10%;
  background: linear-gradient(180deg, #3a2818 0%, #1e1208 100%);
  border-radius: 4px; box-shadow: 0 8px 30px rgba(0,0,0,0.8);
}
.scn-wallenstein-no-country .wallenstein {
  position: absolute; bottom: 12%; left: 50%; transform: translateX(-50%);
  width: 65px; height: 120px;
  background: linear-gradient(180deg, #221810 0%, #0c0604 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: figure-wn 4.5s ease-in-out infinite;
}
.scn-wallenstein-no-country .flag-staff {
  position: absolute; bottom: 30%; left: 65%; width: 4px; height: 70px;
  background: #3a2a1a; transform: rotate(5deg);
}
.scn-wallenstein-no-country .flag-staff::before {
  content: ''; position: absolute; top: 0; left: 4px; width: 30px; height: 20px;
  background: linear-gradient(135deg, #5e1a1d, #3a0e10); border-radius: 2px;
  animation: flag-wn 8s ease-in-out infinite alternate;
}
.scn-wallenstein-no-country .candle {
  position: absolute; bottom: 26%; left: 35%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #f0c080 15%, #a06030 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-wallenstein-no-country .flame {
  width: 18px; height: 22px; left: 34.2%; bottom: 34%;
  background: radial-gradient(circle, #ffe080 0%, #f0a030 60%, transparent 80%);
  box-shadow: 0 0 40px 15px #f0a030; border-radius: 60% 60% 20% 20%;
  animation: flame-wn 1s ease-in-out infinite alternate;
}
.scn-wallenstein-no-country .fig-shadow {
  position: absolute; bottom: 12%; left: 51%; width: 50px; height: 20px;
  background: rgba(0,0,0,0.7); border-radius: 50%; filter: blur(8px);
  animation: shadow-wn 4.5s ease-in-out infinite;
}
.scn-wallenstein-no-country .papers {
  position: absolute; bottom: 18%; left: 28%; width: 30px; height: 22px;
  background: linear-gradient(135deg, #b8a88a, #9a8a6a);
  border-radius: 2px; transform: rotate(8deg); box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: papers-wn 7s ease-in-out infinite;
}
@keyframes figure-wn {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-48%) rotate(1deg); }
  50% { transform: translateX(-52%) rotate(-1deg); }
  75% { transform: translateX(-49%) rotate(0.5deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes flag-wn {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes flame-wn {
  0% { transform: scale(1) rotate(-3deg); opacity: 0.85; }
  50% { transform: scale(1.2) rotate(2deg); opacity: 1; }
  100% { transform: scale(1.05) rotate(-2deg); opacity: 0.9; }
}
@keyframes shadow-wn {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.04); opacity: 0.6; }
  100% { transform: scale(1); opacity: 0.7; }
}
@keyframes papers-wn {
  0% { transform: rotate(8deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-3px); }
  100% { transform: rotate(8deg) translateY(0); }
}

.scn-butler-shows-manifesto { background: linear-gradient(180deg, #1a1a28 0%, #2a1e1e 40%, #1a1014 100%), radial-gradient(ellipse at 50% 30%, #3a2a2a 0%, transparent 70%); }
.scn-butler-shows-manifesto .wall-deep { position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,16,20,0.9) 0%, rgba(10,8,12,0.95) 100%); }
.scn-butler-shows-manifesto .wall-light { position:absolute; inset:10% 5% 20% 5%; background: linear-gradient(135deg, rgba(60,40,30,0.3) 0%, transparent 60%); filter: blur(8px); animation: bsm-ambient 6s ease-in-out infinite alternate; }
.scn-butler-shows-manifesto .table { position:absolute; bottom:18%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 4% 4% 0 0 / 30% 30% 0 0; box-shadow: 0 -2px 8px rgba(0,0,0,0.7); }
.scn-butler-shows-manifesto .candle-glow { position:absolute; bottom:28%; left:48%; width:20px; height:20px; background: radial-gradient(circle, #f0c060 0%, #c08030 40%, transparent 70%); transform: translate(-50%, 0); animation: bsm-candle 3s ease-in-out infinite alternate; }
.scn-butler-shows-manifesto .candle-flame { position:absolute; bottom:32%; left:48%; width:8px; height:16px; background: linear-gradient(180deg, #ffd080 0%, #e08030 80%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; transform: translate(-50%, 0) scaleY(1.2); box-shadow: 0 0 20px 6px #f0a030; animation: bsm-flicker 0.5s ease-in-out infinite alternate; }
.scn-butler-shows-manifesto .butler-figure { position:absolute; bottom:10%; left:38%; width:40px; height:80px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 60%, #0a0a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: bsm-figure 8s ease-in-out infinite; }
.scn-butler-shows-manifesto .gordon-figure { position:absolute; bottom:10%; right:35%; width:38px; height:78px; background: linear-gradient(180deg, #141414 0%, #202020 60%, #0a0a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: bsm-figure 12s ease-in-out infinite; }
.scn-butler-shows-manifesto .paper { position:absolute; bottom:24%; left:44%; width:30px; height:20px; background: linear-gradient(135deg, #d8c8a0 0%, #b8a880 100%); transform: rotate(-15deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.6); animation: bsm-paper 4s ease-in-out infinite; }
.scn-butler-shows-manifesto .shadow-floor { position:absolute; bottom:0; left:10%; right:10%; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.9) 100%); border-radius: 50% 50% 0 0; filter: blur(4px); }
@keyframes bsm-ambient { 0% { opacity:0.6; filter: blur(10px); } 100% { opacity:1; filter: blur(6px); } }
@keyframes bsm-candle { 0% { transform: translate(-50%, 0) scale(1); } 100% { transform: translate(-50%, -6px) scale(1.2); } }
@keyframes bsm-flicker { 0% { transform: translate(-50%, 0) scaleY(1.2) rotate(-5deg); } 100% { transform: translate(-50%, 0) scaleY(1.5) rotate(5deg); } }
@keyframes bsm-figure { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes bsm-paper { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-15deg) translateY(0); } }

.scn-gordon-relents-under-pressure { background: linear-gradient(180deg, #101a24 0%, #1a212e 40%, #0e1420 100%), radial-gradient(ellipse at 50% 20%, #2a3a4a 0%, transparent 70%); }
.scn-gordon-relents-under-pressure .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a202c 0%, #0e121c 100%); }
.scn-gordon-relents-under-pressure .window-frame { position:absolute; top:15%; left:20%; width:30%; height:40%; border: 6px solid #2a2a2a; border-radius: 4% 4% 2% 2%; background: #0a1a2a; box-shadow: inset 0 0 30px rgba(0,0,0,0.8); animation: grp-window 15s ease-in-out infinite; }
.scn-gordon-relents-under-pressure .moonlight-beam { position:absolute; top:15%; left:22%; width:26%; height:40%; background: linear-gradient(180deg, rgba(200,220,255,0.15) 0%, transparent 100%); clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%); animation: grp-beam 10s ease-in-out infinite alternate; }
.scn-gordon-relents-under-pressure .gordon-silhouette { position:absolute; bottom:15%; left:45%; width:50px; height:90px; background: linear-gradient(180deg, #080a0e 0%, #0e1016 60%, #06080a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: grp-figure 6s ease-in-out infinite; }
.scn-gordon-relents-under-pressure .chair-back { position:absolute; bottom:15%; left:50%; width:30px; height:50px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; transform: translateX(-50%); }
.scn-gordon-relents-under-pressure .floor-shadow { position:absolute; bottom:0; left:10%; right:10%; height:12%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.9) 100%); border-radius: 30% 30% 0 0; filter: blur(5px); }
.scn-gordon-relents-under-pressure .dripping-sweat { position:absolute; top:30%; left:48%; width:6px; height:20px; background: linear-gradient(180deg, rgba(200,220,255,0.4), transparent); border-radius: 50%; animation: grp-drip 3s ease-in-out infinite; transform: translateX(-50%); }
@keyframes grp-window { 0% { box-shadow: inset 0 0 30px rgba(0,0,0,0.8); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,0.6); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,0.8); } }
@keyframes grp-beam { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.2; } }
@keyframes grp-figure { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(0) translateY(-4px) rotate(0); } 75% { transform: translateX(-4px) translateY(-2px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes grp-drip { 0% { transform: translate(-50%, 0); opacity:1; } 100% { transform: translate(-50%, 40px); opacity:0; } }

.scn-gordon-condemns-accomplices { background: linear-gradient(180deg, #0e0a12 0%, #1a121a 40%, #06040a 100%), radial-gradient(ellipse at 50% 80%, #2a1a2a 0%, transparent 70%); }
.scn-gordon-condemns-accomplices .bg-cell { position:absolute; inset:0; background: linear-gradient(180deg, #12101a 0%, #060408 100%); }
.scn-gordon-condemns-accomplices .cell-bars { position:absolute; left:15%; right:15%; top:10%; bottom:20%; border: 4px solid #2a1a1a; background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, transparent 30%); box-shadow: inset 0 0 20px rgba(0,0,0,0.9); animation: gca-bars 10s ease-in-out infinite alternate; }
.scn-gordon-condemns-accomplices .butler-silhouette { position:absolute; bottom:15%; left:30%; width:40px; height:80px; background: linear-gradient(180deg, #0a0808 0%, #1a1212 60%, #060408 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: gca-figure 7s ease-in-out infinite; }
.scn-gordon-condemns-accomplices .gordon-silhouette { position:absolute; bottom:15%; right:30%; width:38px; height:78px; background: linear-gradient(180deg, #080606 0%, #141010 60%, #040202 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: gca-figure 9s ease-in-out infinite; }
.scn-gordon-condemns-accomplices .document { position:absolute; bottom:25%; left:45%; width:28px; height:18px; background: linear-gradient(135deg, #c8b8a0 0%, #a89880 100%); transform: rotate(-10deg); box-shadow: 1px 1px 4px rgba(0,0,0,0.5); animation: gca-doc 5s ease-in-out infinite; }
.scn-gordon-condemns-accomplices .inkwell { position:absolute; bottom:22%; left:48%; width:10px; height:14px; background: linear-gradient(180deg, #2a1a1a 0%, #0e0606 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; }
.scn-gordon-condemns-accomplices .candle-melt { position:absolute; bottom:18%; left:50%; width:12px; height:30px; background: linear-gradient(180deg, #f0d8b0 0%, #c8a880 40%, #a08060 100%); border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; transform: translateX(-50%); animation: gca-melt 4s ease-in-out infinite; }
.scn-gordon-condemns-accomplices .shadow-pool { position:absolute; bottom:0; left:5%; right:5%; height:10%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.9) 0%, transparent 70%); filter: blur(6px); }
@keyframes gca-bars { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); } }
@keyframes gca-figure { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(4px) translateY(-3px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(-4px) translateY(-3px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes gca-doc { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes gca-melt { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.85); } 100% { transform: translateX(-50%) scaleY(1); } }

.scn-illo-and-tertsky-plan-feast { background: linear-gradient(180deg, #f0d8a0 0%, #d8b880 40%, #c8a070 100%), radial-gradient(ellipse at 50% 30%, #ffe0b0 0%, transparent 60%); }
.scn-illo-and-tertsky-plan-feast .sunbeam-bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, rgba(255,220,170,0.2) 100%); animation: itf-sun 12s ease-in-out infinite alternate; }
.scn-illo-and-tertsky-plan-feast .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:40%; background: repeating-linear-gradient(90deg, #a08060 0px, #a08060 40px, #c0a080 40px, #c0a080 80px); background-size: 80px 100%; opacity:0.6; border-radius: 0; }
.scn-illo-and-tertsky-plan-feast .feast-table { position:absolute; bottom:20%; left:25%; width:50%; height:12%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 6% 6% 4% 4% / 30% 30% 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,0.4); }
.scn-illo-and-tertsky-plan-feast .illo-figure { position:absolute; bottom:12%; left:30%; width:44px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 60%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: itf-figure 6s ease-in-out infinite; }
.scn-illo-and-tertsky-plan-feast .tertsky-figure { position:absolute; bottom:12%; right:30%; width:44px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: itf-figure 8s ease-in-out infinite; animation-delay: 1s; }
.scn-illo-and-tertsky-plan-feast .wine-goblet { position:absolute; bottom:24%; left:45%; width:12px; height:18px; background: linear-gradient(180deg, #c0a080 0%, #a08060 100%); border-radius: 50% 50% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: itf-goblet 4s ease-in-out infinite; }
.scn-illo-and-tertsky-plan-feast .bread-basket { position:absolute; bottom:22%; left:52%; width:30px; height:20px; background: linear-gradient(135deg, #d8b880 0%, #b89868 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.scn-illo-and-tertsky-plan-feast .candelabra { position:absolute; bottom:30%; left:50%; width:40px; height:40px; background: radial-gradient(ellipse at 50% 20%, #f0d8a0 0%, #c8a070 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform: translateX(-50%); box-shadow: 0 0 30px 10px rgba(255,200,100,0.4); animation: itf-candle 3s ease-in-out infinite alternate; }
@keyframes itf-sun { 0% { opacity:0.6; } 100% { opacity:1; } }
@keyframes itf-figure { 0% { transform: translateY(0); } 50% { transform: translateY(-6px); } 100% { transform: translateY(0); } }
@keyframes itf-goblet { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(5deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes itf-candle { 0% { transform: translateX(-50%) scale(1); box-shadow: 0 0 30px 10px rgba(255,200,100,0.4); } 50% { transform: translateX(-50%) scale(1.1); box-shadow: 0 0 40px 15px rgba(255,220,120,0.6); } 100% { transform: translateX(-50%) scale(1); box-shadow: 0 0 30px 10px rgba(255,200,100,0.4); } }

.scn-octavio-wallenstein-traitor {
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1210 50%, #0e0a08 100%),
              radial-gradient(ellipse at 50% 100%, #3a2a22 0%, transparent 70%);
}
.scn-octavio-wallenstein-traitor .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #4a3528 0%, transparent 100%);
  animation: owt-wall 20s ease-in-out infinite alternate;
}
.scn-octavio-wallenstein-traitor .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(0deg, #2a2018 0%, #3a2818 50%, #4a3422 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-octavio-wallenstein-traitor .table {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 4px;
  transform: perspective(500px) rotateX(20deg);
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.scn-octavio-wallenstein-traitor .candle {
  position: absolute; bottom: 30%; left: 45%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #e8d0a0 0%, #b89870 100%);
  border-radius: 3px;
  transform-origin: bottom center;
  animation: owt-candle 8s ease-in-out infinite;
}
.scn-octavio-wallenstein-traitor .flame {
  position: absolute; bottom: 60%; left: 46%; width: 8px; height: 18px;
  background: radial-gradient(circle at 50% 100%, #ffd080 0%, #ffa030 40%, transparent 70%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(1px);
  box-shadow: 0 0 30px 12px rgba(255,160,48,.5);
  animation: owt-flame 2s ease-in-out infinite alternate;
}
.scn-octavio-wallenstein-traitor .octavio {
  position: absolute; bottom: 16%; left: 30%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: owt-octavio 6s ease-in-out infinite;
}
.scn-octavio-wallenstein-traitor .max {
  position: absolute; bottom: 16%; right: 25%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #1a1512 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: owt-max 12s ease-in-out infinite;
}
@keyframes owt-wall { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .6 } }
@keyframes owt-candle { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes owt-flame { 0% { transform: scaleY(1) scaleX(1); opacity: .8 } 50% { transform: scaleY(1.2) scaleX(.8); opacity: 1 } 100% { transform: scaleY(.9) scaleX(1.1); opacity: .9 } }
@keyframes owt-octavio { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(-4px) rotate(2deg) } }
@keyframes owt-max { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(5px) rotate(-1deg) } }

.scn-max-defends-duke {
  background: linear-gradient(180deg, #2a221e 0%, #1a1410 50%, #0e0a08 100%),
              radial-gradient(ellipse at 40% 60%, #3a2a1a 0%, transparent 60%);
}
.scn-max-defends-duke .bg {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #3a2a22 0%, transparent 100%);
  animation: mdd-bg 25s ease-in-out infinite alternate;
}
.scn-max-defends-duke .desk {
  position: absolute; bottom: 20%; left: 15%; right: 35%; height: 10%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3828 100%);
  border-radius: 6px;
  transform: perspective(600px) rotateX(15deg);
  box-shadow: 0 6px 16px rgba(0,0,0,.6);
}
.scn-max-defends-duke .map {
  position: absolute; bottom: 25%; left: 20%; width: 40%; height: 15%;
  background: linear-gradient(135deg, #c8b090 0%, #a08060 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 8px rgba(0,0,0,.3);
  transform: rotate(-5deg);
  animation: mdd-map 5s ease-in-out infinite;
}
.scn-max-defends-duke .max-sil {
  position: absolute; bottom: 15%; left: 10%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 45% 40% 35% 35% / 65% 55% 35% 35%;
  transform-origin: bottom center;
  animation: mdd-max 4s ease-in-out infinite;
}
.scn-max-defends-duke .hand {
  position: absolute; bottom: 40%; left: 25%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%;
  transform: rotate(-20deg);
  animation: mdd-hand 3s ease-in-out infinite;
}
.scn-max-defends-duke .lamp-glow {
  position: absolute; bottom: 55%; right: 20%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffd080 0%, #ffa030 60%, transparent 100%);
  box-shadow: 0 0 60px 30px rgba(255,160,48,.4);
  animation: mdd-glow 2s ease-in-out infinite alternate;
}
.scn-max-defends-duke .lamp-base {
  position: absolute; bottom: 45%; right: 22%; width: 12px; height: 25px;
  background: linear-gradient(180deg, #b89870 0%, #8a7050 100%);
  border-radius: 4px;
  transform-origin: bottom center;
}
@keyframes mdd-bg { 0% { opacity: .6 } 50% { opacity: .9 } 100% { opacity: .5 } }
@keyframes mdd-map { 0%,100% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(-3deg) scale(1.02) } }
@keyframes mdd-max { 0%,100% { transform: translateX(0) rotate(-3deg) } 50% { transform: translateX(8px) rotate(3deg) } }
@keyframes mdd-hand { 0%,100% { transform: rotate(-20deg) scale(1) } 50% { transform: rotate(-10deg) scale(1.1) } }
@keyframes mdd-glow { 0% { opacity: .7; filter: blur(3px) } 50% { opacity: 1; filter: blur(2px) } 100% { opacity: .8; filter: blur(4px) } }

.scn-octavio-explains-appearance {
  background: linear-gradient(180deg, #2a1e18 0%, #1a1410 50%, #0e0a08 100%),
              radial-gradient(ellipse at 60% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-octavio-explains-appearance .bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a22 0%, transparent 100%);
  animation: oea-bg 30s ease-in-out infinite alternate;
}
.scn-octavio-explains-appearance .desk {
  position: absolute; bottom: 18%; left: 10%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 4px;
  transform: perspective(500px) rotateX(10deg);
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
.scn-octavio-explains-appearance .document {
  position: absolute; bottom: 25%; left: 30%; width: 30%; height: 10%;
  background: linear-gradient(135deg, #d4c0a8 0%, #b09878 100%);
  border-radius: 2px;
  transform: rotate(2deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: oea-doc 8s ease-in-out infinite;
}
.scn-octavio-explains-appearance .lamp-glow {
  position: absolute; bottom: 45%; right: 15%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffe0a0 0%, #f0b060 40%, transparent 80%);
  box-shadow: 0 0 80px 40px rgba(240,176,96,.4);
  animation: oea-lamp-glow 3s ease-in-out infinite alternate;
}
.scn-octavio-explains-appearance .lamp-base {
  position: absolute; bottom: 38%; right: 18%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #a08060 0%, #7a6050 100%);
  border-radius: 5px;
  transform-origin: bottom center;
}
.scn-octavio-explains-appearance .octavio-sil {
  position: absolute; bottom: 12%; left: 15%; width: 32px; height: 65px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 45% 40% 30% 30% / 65% 55% 30% 30%;
  transform-origin: bottom center;
  animation: oea-oct 5s ease-in-out infinite;
}
.scn-octavio-explains-appearance .chair {
  position: absolute; bottom: 12%; left: 18%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 4px 4px 10px 10px;
  transform: rotate(-10deg);
}
@keyframes oea-bg { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .6 } }
@keyframes oea-doc { 0%,100% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(4deg) translateY(-2px) } }
@keyframes oea-lamp-glow { 0% { opacity: .6; filter: blur(4px) } 50% { opacity: 1; filter: blur(2px) } 100% { opacity: .8; filter: blur(5px) } }
@keyframes oea-oct { 0%,100% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(-3px) rotate(2deg) } }

.scn-max-asks-merit {
  background: linear-gradient(180deg, #2a1e18 0%, #1a1410 50%, #0e0a08 100%),
              radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 80%);
}
.scn-max-asks-merit .bg {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #3a2a22 0%, transparent 100%);
  animation: mqm-bg 18s ease-in-out infinite alternate;
}
.scn-max-asks-merit .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 55%;
  background: linear-gradient(0deg, #1a1210 0%, #2a1e18 50%, #3a2a22 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
}
.scn-max-asks-merit .curtain {
  position: absolute; left: 0; top: 0; bottom: 0; width: 20%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 0 30% 30% 0;
  filter: blur(2px);
  animation: mqm-curtain 20s ease-in-out infinite;
}
.scn-max-asks-merit .max-fig {
  position: absolute; bottom: 15%; left: 30%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 45% 40% 30% 30% / 65% 55% 30% 30%;
  transform-origin: bottom center;
  animation: mqm-max 4s ease-in-out infinite;
}
.scn-max-asks-merit .octavio-fig {
  position: absolute; bottom: 15%; right: 25%; width: 32px; height: 63px;
  background: linear-gradient(180deg, #1a1512 0%, #0e0a08 100%);
  border-radius: 40% 45% 30% 30% / 55% 65% 30% 30%;
  transform-origin: bottom center;
  animation: mqm-oct 5s ease-in-out infinite;
}
.scn-max-asks-merit .table {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 6%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
.scn-max-asks-merit .candle {
  position: absolute; bottom: 26%; left: 48%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #d8c090 0%, #a08060 100%);
  border-radius: 3px;
  transform-origin: bottom center;
  animation: mqm-candle 7s ease-in-out infinite;
}
@keyframes mqm-bg { 0% { opacity: .6 } 50% { opacity: .9 } 100% { opacity: .5 } }
@keyframes mqm-curtain { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-5px) rotate(-2deg) } }
@keyframes mqm-max { 0%,100% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(6px) rotate(2deg) } }
@keyframes mqm-oct { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(-4px) rotate(-1deg) } }
@keyframes mqm-candle { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-1px) rotate(1deg) } }

/* Scene: countess-necessity-sanctifies (dark, dim-interior) */

.scn-countess-necessity-sanctifies {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%),
              radial-gradient(ellipse at 50% 70%, #3a3a4e 0%, transparent 70%);
}
.scn-countess-necessity-sanctifies .wall { position:absolute; top:0; bottom:0; width:25%; background: linear-gradient(180deg, #2e2e40 0%, #1a1a2e 100%); z-index:0; }
.scn-countess-necessity-sanctifies .wall.left { left:0; }
.scn-countess-necessity-sanctifies .wall.right { right:0; }
.scn-countess-necessity-sanctifies .desk { position:absolute; bottom:10%; left:25%; right:25%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); z-index:1; }
.scn-countess-necessity-sanctifies .candle { position:absolute; bottom:18%; left:47%; width:6px; height:18px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 40% 40% 10% 10%; transform-origin: bottom center; animation: cns-candle 3s ease-in-out infinite; z-index:2; }
.scn-countess-necessity-sanctifies .candle-glow { position:absolute; bottom:20%; left:45%; width:30px; height:30px; background: radial-gradient(circle, rgba(255,180,80,0.6) 0%, transparent 100%); border-radius:50%; animation: cns-glow 2s ease-in-out infinite alternate; z-index:2; }
.scn-countess-necessity-sanctifies .figure { position:absolute; bottom:10%; left:40%; width:20px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cns-figure 6s ease-in-out infinite; z-index:3; }
.scn-countess-necessity-sanctifies .document { position:absolute; bottom:12%; left:50%; width:30px; height:6px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius:2px; transform:rotate(5deg); animation: cns-document 8s ease-in-out infinite; z-index:4; }
.scn-countess-necessity-sanctifies .shadow-figure { position:absolute; bottom:8%; left:35%; width:30px; height:40px; background: rgba(0,0,0,0.5); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(4px); animation: cns-shadow 6s ease-in-out infinite; z-index:0; }
@keyframes cns-candle { 0% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }
@keyframes cns-glow { 0% { opacity:0.6; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.7; transform:scale(0.98); } }
@keyframes cns-figure { 0% { transform:translateX(0) translateY(0) rotate(-2deg); } 50% { transform:translateX(5px) translateY(-2px) rotate(2deg); } 100% { transform:translateX(0) translateY(0) rotate(-2deg); } }
@keyframes cns-document { 0% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(-3deg) translateY(-1px); } 100% { transform:rotate(5deg) translateY(0); } }
@keyframes cns-shadow { 0% { transform:translateX(0) scale(1); opacity:0.5; } 50% { transform:translateX(8px) scale(1.1); opacity:0.7; } 100% { transform:translateX(0) scale(1); opacity:0.5; } }

/* Scene: wallenstein-fond-memories (warm, dim-interior) */

.scn-wallenstein-fond-memories {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 60%, #5a4a2a 0%, transparent 70%);
}
.scn-wallenstein-fond-memories .table { position:absolute; bottom:10%; left:20%; right:20%; height:6%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.5); z-index:1; }
.scn-wallenstein-fond-memories .goblet-left { position:absolute; bottom:16%; left:30%; width:8px; height:20px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: wfm-goblet 5s ease-in-out infinite; z-index:2; }
.scn-wallenstein-fond-memories .goblet-right { position:absolute; bottom:16%; right:30%; width:8px; height:20px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 30% 30% 10% 10%; transform-origin: bottom center; animation: wfm-goblet 5s ease-in-out infinite reverse; z-index:2; }
.scn-wallenstein-fond-memories .figure-left { position:absolute; bottom:10%; left:28%; width:18px; height:45px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wfm-figure 7s ease-in-out infinite; z-index:3; }
.scn-wallenstein-fond-memories .figure-right { position:absolute; bottom:10%; right:28%; width:18px; height:45px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wfm-figure 7s ease-in-out infinite 2s; z-index:3; }
.scn-wallenstein-fond-memories .warm-glow { position:absolute; bottom:18%; left:40%; right:40%; height:40px; background: radial-gradient(ellipse at center, rgba(255,200,100,0.4) 0%, transparent 100%); animation: wfm-glow 4s ease-in-out infinite alternate; z-index:2; }
.scn-wallenstein-fond-memories .candle { position:absolute; bottom:20%; left:48%; width:6px; height:15px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 40% 40% 10% 10%; animation: wfm-candle 3s ease-in-out infinite; z-index:4; }
.scn-wallenstein-fond-memories .shadow-left { position:absolute; bottom:8%; left:25%; width:20px; height:35px; background: rgba(0,0,0,0.4); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(5px); animation: wfm-shadow 7s ease-in-out infinite; z-index:0; }
.scn-wallenstein-fond-memories .shadow-right { position:absolute; bottom:8%; right:25%; width:20px; height:35px; background: rgba(0,0,0,0.4); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(5px); animation: wfm-shadow 7s ease-in-out infinite 2s; z-index:0; }
@keyframes wfm-goblet { 0% { transform:rotate(-3deg) translateY(0); } 50% { transform:rotate(3deg) translateY(-2px); } 100% { transform:rotate(-3deg) translateY(0); } }
@keyframes wfm-figure { 0% { transform:translateX(0) rotate(-2deg); } 50% { transform:translateX(3px) rotate(2deg); } 100% { transform:translateX(0) rotate(-2deg); } }
@keyframes wfm-glow { 0% { opacity:0.4; transform:scale(0.9); } 50% { opacity:0.8; transform:scale(1.1); } 100% { opacity:0.5; transform:scale(0.95); } }
@keyframes wfm-candle { 0% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }
@keyframes wfm-shadow { 0% { opacity:0.4; transform:translateX(0) scaleY(1); } 50% { opacity:0.6; transform:translateX(5px) scaleY(1.05); } 100% { opacity:0.4; transform:translateX(0) scaleY(1); } }

/* Scene: countess-regenspurg-betrayal (dark, dim-interior, storm) */

.scn-countess-regenspurg-betrayal {
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 50%, #1a1a2e 100%),
              radial-gradient(ellipse at 50% 30%, #2a2a3e 0%, transparent 70%);
}
.scn-countess-regenspurg-betrayal .window { position:absolute; top:5%; left:35%; right:35%; bottom:50%; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border: 3px solid #2a1a0a; border-radius: 5% 5% 10% 10%; overflow:hidden; z-index:1; }
.scn-countess-regenspurg-betrayal .rain { position:absolute; top:0; left:0; right:0; bottom:0; background: repeating-linear-gradient(0deg, rgba(200,220,255,0.2) 0px, rgba(200,220,255,0.2) 1px, transparent 1px, transparent 6px); animation: crb-rain 0.5s linear infinite; z-index:2; }
.scn-countess-regenspurg-betrayal .figure { position:absolute; bottom:10%; left:45%; width:20px; height:55px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crb-figure 8s ease-in-out infinite; z-index:3; }
.scn-countess-regenspurg-betrayal .candle { position:absolute; bottom:15%; left:40%; width:6px; height:15px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 40% 40% 10% 10%; animation: crb-candle 3s ease-in-out infinite; z-index:4; }
.scn-countess-regenspurg-betrayal .candle-glow { position:absolute; bottom:17%; left:38%; width:20px; height:20px; background: radial-gradient(circle, rgba(255,180,80,0.5) 0%, transparent 100%); border-radius:50%; animation: crb-glow 2s ease-in-out infinite alternate; z-index:4; }
.scn-countess-regenspurg-betrayal .shadow { position:absolute; bottom:8%; left:42%; width:35px; height:45px; background: rgba(0,0,0,0.5); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(6px); animation: crb-shadow 8s ease-in-out infinite; z-index:0; }
.scn-countess-regenspurg-betrayal .storm-light { position:absolute; top:0; left:0; right:0; bottom:0; background: rgba(200,220,255,0.1); animation: crb-flash 5s ease-in-out infinite; z-index:5; pointer-events:none; }
@keyframes crb-rain { 0% { transform:translateY(0); } 100% { transform:translateY(12px); } }
@keyframes crb-figure { 0% { transform:translateX(0) translateY(0) rotate(-1deg); } 50% { transform:translateX(4px) translateY(-2px) rotate(2deg); } 100% { transform:translateX(0) translateY(0) rotate(-1deg); } }
@keyframes crb-candle { 0% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-1px); } 100% { transform:rotate(-2deg) translateY(0); } }
@keyframes crb-glow { 0% { opacity:0.5; transform:scale(0.9); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:0.6; transform:scale(0.95); } }
@keyframes crb-shadow { 0% { opacity:0.5; transform:translateX(0) scaleY(1); } 50% { opacity:0.7; transform:translateX(6px) scaleY(1.1); } 100% { opacity:0.5; transform:translateX(0) scaleY(1); } }
@keyframes crb-flash { 0% { opacity:0; } 20% { opacity:0.3; } 30% { opacity:0; } 100% { opacity:0; } }

/* Scene: countess-dropped-obscurity (dark, vertical shaft) */

.scn-countess-dropped-obscurity {
  background: linear-gradient(180deg, #0e0e1a 0%, #1a1a2e 50%, #0e0e1a 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a3e 0%, transparent 70%);
}
.scn-countess-dropped-obscurity .pillar { position:absolute; top:0; left:45%; right:45%; bottom:0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); z-index:1; }
.scn-countess-dropped-obscurity .figure-falling { position:absolute; top:10%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: center center; animation: cdo-fall 12s ease-in-out infinite; z-index:3; }
.scn-countess-dropped-obscurity .shadow { position:absolute; bottom:0; left:40%; right:40%; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); z-index:2; }
.scn-countess-dropped-obscurity .ground { position:absolute; bottom:0; left:0; right:0; height:5%; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); z-index:0; }
.scn-countess-dropped-obscurity .particle { position:absolute; width:4px; height:4px; background: rgba(200,200,255,0.3); border-radius:50%; filter: blur(2px); animation: cdo-particle 10s linear infinite; }
.scn-countess-dropped-obscurity .particle.a { top:20%; left:30%; animation-delay:0s; }
.scn-countess-dropped-obscurity .particle.b { top:30%; left:60%; animation-delay:3s; }
.scn-countess-dropped-obscurity .particle.c { top:15%; left:50%; animation-delay:6s; }
@keyframes cdo-fall { 0% { transform:translateY(0) rotate(0deg); opacity:1; } 50% { transform:translateY(200px) rotate(10deg); opacity:0.6; } 100% { transform:translateY(400px) rotate(20deg); opacity:0; } }
@keyframes cdo-particle { 0% { transform:translateY(0) translateX(0); opacity:0.3; } 50% { transform:translateY(150px) translateX(-20px); opacity:0.6; } 100% { transform:translateY(300px) translateX(20px); opacity:0; } }

/* countess-dreams */

.scn-countess-dreams {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a24 30%, #1e1410 70%, #0e0a08 100%), radial-gradient(ellipse at 40% 20%, #4a3a32 0%, transparent 60%);
  animation: cd-bg 12s ease-in-out infinite alternate;
}
.scn-countess-dreams .wall { position: absolute; inset: 0 0 25% 0; background: linear-gradient(180deg, #4a3a32 0%, #2a1e1a 100%); }
.scn-countess-dreams .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #1e1410 0%, #0e0a08 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-countess-dreams .arch-left { position: absolute; bottom: 30%; left: 5%; width: 30%; height: 40%; background: radial-gradient(ellipse at 50% 100%, #2a1e1a 0%, transparent 70%); border-radius: 50% 50% 0 0; opacity: .6; animation: cd-arch 14s ease-in-out infinite; }
.scn-countess-dreams .arch-right { position: absolute; bottom: 30%; right: 5%; width: 30%; height: 40%; background: radial-gradient(ellipse at 50% 100%, #2a1e1a 0%, transparent 70%); border-radius: 50% 50% 0 0; opacity: .6; animation: cd-arch 14s ease-in-out infinite reverse; }
.scn-countess-dreams .candle { position: absolute; bottom: 28%; left: 48%; width: 6px; height: 24px; background: linear-gradient(180deg, #8a7a5a 0%, #4a3a2a 100%); border-radius: 2px 2px 30% 30%; transform-origin: bottom center; animation: cd-candle 4s ease-in-out infinite alternate; }
.scn-countess-dreams .flame { position: absolute; bottom: 50%; left: 48.5%; width: 8px; height: 16px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #f09040 40%, #c06020 70%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 20px 6px #f09040, 0 0 40px 12px rgba(240,144,64,.4); animation: cd-flame 1.5s ease-in-out infinite alternate; }
.scn-countess-dreams .countess { position: absolute; bottom: 22%; left: 42%; width: 24px; height: 50px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cd-figure 8s ease-in-out infinite; }
.scn-countess-dreams .dream-veil { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 30%, rgba(80,50,40,.15) 0%, transparent 60%); filter: blur(10px); animation: cd-veil 20s ease-in-out infinite alternate; }
.scn-countess-dreams .dream-shape { position: absolute; top: 15%; left: 30%; width: 40%; height: 30%; background: radial-gradient(ellipse, rgba(160,100,60,.1) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: cd-shape 15s ease-in-out infinite alternate; }

@keyframes cd-bg { 0% { opacity: .8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: .85; transform: scale(1); } }
@keyframes cd-arch { 0% { opacity: .4; transform: scale(1); } 50% { opacity: .8; transform: scale(1.05); } 100% { opacity: .4; transform: scale(1); } }
@keyframes cd-candle { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(0); } }
@keyframes cd-flame { 0% { transform: scaleY(1); opacity: .9; } 50% { transform: scaleY(1.3) scaleX(.8); opacity: 1; } 100% { transform: scaleY(1.1); opacity: .95; } }
@keyframes cd-figure { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(4px) rotate(2deg); } 60% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cd-veil { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .6; transform: scale(1.1); } 100% { opacity: .4; transform: scale(.95); } }
@keyframes cd-shape { 0% { transform: translate(0, 0) scale(1); opacity: .1; } 50% { transform: translate(10px, -5px) scale(1.2); opacity: .3; } 100% { transform: translate(-5px, 5px) scale(.9); opacity: .15; } }

/* wallenstein-prophecy */

.scn-wallenstein-prophecy {
  background: linear-gradient(180deg, #1a1412 0%, #2a2018 40%, #1a1412 70%, #0e0a08 100%), radial-gradient(ellipse at 50% 30%, #4a3a32 0%, transparent 60%);
  animation: wp-bg 15s ease-in-out infinite alternate;
}
.scn-wallenstein-prophecy .bg-wall { position: absolute; inset: 0 0 20% 0; background: linear-gradient(90deg, #2a2018 0%, #3a2e24 30%, #2a2018 70%, #1a1412 100%); }
.scn-wallenstein-prophecy .shadow-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,.7); }
.scn-wallenstein-prophecy .column-left { position: absolute; bottom: 15%; left: 10%; width: 8%; height: 60%; background: linear-gradient(180deg, #4a3a32 0%, #3a2a22 100%); border-radius: 6px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: wp-column 20s ease-in-out infinite; }
.scn-wallenstein-prophecy .column-right { position: absolute; bottom: 15%; right: 10%; width: 8%; height: 60%; background: linear-gradient(180deg, #4a3a32 0%, #3a2a22 100%); border-radius: 6px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: wp-column 20s ease-in-out infinite reverse; }
.scn-wallenstein-prophecy .table { position: absolute; bottom: 12%; left: 35%; width: 30%; height: 10%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: wp-table 5s ease-in-out infinite; }
.scn-wallenstein-prophecy .map-scroll { position: absolute; bottom: 20%; left: 42%; width: 16%; height: 6%; background: linear-gradient(180deg, #b8a888 0%, #9a8870 100%); border-radius: 2px; transform: rotate(5deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: wp-scroll 10s ease-in-out infinite; }
.scn-wallenstein-prophecy .wallenstein { position: absolute; bottom: 16%; left: 45%; width: 28px; height: 56px; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wp-figure 7s ease-in-out infinite; }
.scn-wallenstein-prophecy .phantom-knife { position: absolute; top: 20%; left: 50%; width: 4px; height: 30px; background: linear-gradient(180deg, rgba(200,200,200,.8) 0%, transparent 100%); transform: rotate(15deg); border-radius: 2px; box-shadow: 0 0 8px 2px rgba(200,200,200,.3); animation: wp-knife 6s ease-in-out infinite; }
.scn-wallenstein-prophecy .glow-orb { position: absolute; top: 10%; left: 20%; width: 12px; height: 12px; background: radial-gradient(circle, rgba(200,180,160,.3) 0%, transparent 70%); border-radius: 50%; filter: blur(4px); animation: wp-orb 12s ease-in-out infinite alternate; }

@keyframes wp-bg { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes wp-column { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(1); } }
@keyframes wp-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wp-scroll { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(3px); } 100% { transform: rotate(5deg) translateX(0); } }
@keyframes wp-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(2deg); } 75% { transform: translateX(-5px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wp-knife { 0% { opacity: .2; transform: rotate(15deg) scale(1); } 50% { opacity: .8; transform: rotate(20deg) scale(1.1); } 100% { opacity: .3; transform: rotate(10deg) scale(.9); } }
@keyframes wp-orb { 0% { transform: translate(0, 0) scale(1); opacity: .1; } 50% { transform: translate(20px, -10px) scale(1.5); opacity: .4; } 100% { transform: translate(-10px, 5px) scale(1); opacity: .2; } }

/* countess-boding */

.scn-countess-boding {
  background: linear-gradient(180deg, #1e1814 0%, #2e221e 30%, #1e1814 70%, #0e0a08 100%), radial-gradient(ellipse at 30% 50%, #4a3a32 0%, transparent 60%);
  animation: cb-bg 18s ease-in-out infinite alternate;
}
.scn-countess-boding .bg-chamber { position: absolute; inset: 0 0 22% 0; background: linear-gradient(180deg, #3a2a22 0%, #1e1814 100%); }
.scn-countess-boding .floor-planks { position: absolute; bottom: 0; left: 0; right: 0; height: 22%; background: linear-gradient(90deg, #2a1e18 0%, #1a1210 50%, #2a1e18 100%); box-shadow: inset 0 6px 20px rgba(0,0,0,.5); }
.scn-countess-boding .doorway { position: absolute; bottom: 20%; left: 30%; width: 40%; height: 50%; background: #0e0a08; border-radius: 10% 10% 0 0; border: 2px solid #3a2a22; box-shadow: inset 0 0 20px rgba(0,0,0,.8); animation: cb-door 16s ease-in-out infinite; }
.scn-countess-boding .countess-figure { position: absolute; bottom: 18%; left: 44%; width: 22px; height: 48px; background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cb-countess 8s ease-in-out infinite; }
.scn-countess-boding .hands { position: absolute; bottom: 24%; left: 46%; width: 16px; height: 10px; background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%); border-radius: 50%; animation: cb-hands 4s ease-in-out infinite alternate; }
.scn-countess-boding .shadow-feet { position: absolute; bottom: 8%; left: 42%; width: 16%; height: 8%; background: rgba(0,0,0,.4); filter: blur(4px); border-radius: 50%; animation: cb-feet 3s ease-in-out infinite; }
.scn-countess-boding .boding-shape { position: absolute; top: 25%; left: 40%; width: 20%; height: 25%; background: radial-gradient(ellipse, rgba(120,80,60,.15) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: cb-shape 14s ease-in-out infinite alternate; }
.scn-countess-boding .glint { position: absolute; top: 45%; left: 48%; width: 3px; height: 3px; background: rgba(200,180,160,.6); border-radius: 50%; box-shadow: 0 0 6px 2px rgba(200,180,160,.3); animation: cb-glint 5s ease-in-out infinite alternate; }

@keyframes cb-bg { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes cb-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }
@keyframes cb-countess { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(3px) rotate(1deg); } 60% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cb-hands { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(2px, -2px) scale(1.1); } 100% { transform: translate(0, 0) scale(1); } }
@keyframes cb-feet { 0% { transform: scale(1); opacity: .6; } 50% { transform: scale(1.2); opacity: .8; } 100% { transform: scale(1); opacity: .6; } }
@keyframes cb-shape { 0% { transform: translate(0, 0) scale(1); opacity: .1; } 50% { transform: translate(-8px, 5px) scale(1.2); opacity: .3; } 100% { transform: translate(5px, -5px) scale(.9); opacity: .15; } }
@keyframes cb-glint { 0% { opacity: .2; } 50% { opacity: .8; } 100% { opacity: .3; } }

/* countess-last-dream */

.scn-countess-last-dream {
  background: linear-gradient(180deg, #1a1412 0%, #2a1e1a 30%, #1a1412 70%, #0e0a08 100%), radial-gradient(ellipse at 50% 40%, #3a2a22 0%, transparent 60%);
  animation: ld-bg 20s ease-in-out infinite alternate;
}
.scn-countess-last-dream .bg-deep { position: absolute; inset: 0 0 18% 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1412 100%); }
.scn-countess-last-dream .floor-dark { position: absolute; bottom: 0; left: 0; right: 0; height: 18%; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.7); }
.scn-countess-last-dream .wallenstein-figure { position: absolute; bottom: 18%; left: 40%; width: 28px; height: 54px; background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ld-figure 10s ease-in-out infinite; }
.scn-countess-last-dream .countess-embrace { position: absolute; bottom: 22%; left: 46%; width: 22px; height: 44px; background: linear-gradient(180deg, #3a2a22 0%, #1e1612 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ld-embrace 7s ease-in-out infinite; }
.scn-countess-last-dream .crimson-veil { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at 50% 30%, rgba(100,40,30,.15) 0%, transparent 60%); filter: blur(8px); animation: ld-veil 15s ease-in-out infinite alternate; }
.scn-countess-last-dream .tear-drop { position: absolute; bottom: 30%; left: 48%; width: 4px; height: 8px; background: radial-gradient(circle, rgba(180,160,140,.6) 0%, transparent 70%); border-radius: 40% 40% 60% 60%; animation: ld-tear 5s ease-in-out infinite; }
.scn-countess-last-dream .light-stripe { position: absolute; top: 10%; left: 20%; width: 3%; height: 70%; background: linear-gradient(180deg, rgba(180,160,140,.1) 0%, rgba(180,160,140,.05) 100%); filter: blur(4px); animation: ld-stripe 12s ease-in-out infinite; }
.scn-countess-last-dream .shadow-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, rgba(0,0,0,.3) 0%, transparent 70%); pointer-events: none; animation: ld-shadow 8s ease-in-out infinite alternate; }

@keyframes ld-bg { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes ld-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(2deg); } 75% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ld-embrace { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(3px, -2px) scale(1.02); } 100% { transform: translate(0, 0) scale(1); } }
@keyframes ld-veil { 0% { opacity: .2; transform: scale(1); } 50% { opacity: .5; transform: scale(1.1); } 100% { opacity: .3; transform: scale(.95); } }
@keyframes ld-tear { 0% { transform: translateY(0) scaleY(1); opacity: .6; } 50% { transform: translateY(4px) scaleY(1.3); opacity: .9; } 100% { transform: translateY(0) scaleY(1); opacity: .6; } }
@keyframes ld-stripe { 0% { opacity: .1; transform: translateX(0); } 50% { opacity: .3; transform: translateX(5px); } 100% { opacity: .15; transform: translateX(-5px); } }
@keyframes ld-shadow { 0% { opacity: .4; } 50% { opacity: .6; } 100% { opacity: .3; } }

/* ---------- duchess-enters ---------- */

.scn-duchess-enters {
  background: linear-gradient(180deg, #4a2a1a 0%, #3a2010 40%, #5a3a2a 70%, #2a1a0e 100%),
              radial-gradient(ellipse at 30% 60%, #8a5a3a 0%, transparent 50%);
}
.scn-duchess-enters .room-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #5a3a2a, #4a2a1a, #3a2010);
  animation: d1-wall 12s ease-in-out infinite alternate;
}
.scn-duchess-enters .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
}
.scn-duchess-enters .door-arch {
  position: absolute; bottom: 35%; left: 55%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  transform: translateX(-50%);
  box-shadow: inset 0 0 30px rgba(200,150,80,0.3);
}
.scn-duchess-enters .candle-flame {
  position: absolute; bottom: 42%; left: 38%; width: 10px; height: 18px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #ff9020 40%, #ff6020 70%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,150,50,0.6), 0 0 50px 20px rgba(255,120,20,0.3);
  animation: d1-candle 2s ease-in-out infinite alternate;
}
.scn-duchess-enters .table-dark {
  position: absolute; bottom: 30%; left: 30%; width: 100px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a, #2a1a0e);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.5);
}
.scn-duchess-enters .figure-duchess {
  position: absolute; bottom: 35%; left: 48%; width: 28px; height: 90px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 30%, #1a0e06 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: d1-walk 6s ease-in-out infinite;
}
.scn-duchess-enters .figure-countess {
  position: absolute; bottom: 35%; left: 62%; width: 24px; height: 80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 50%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: d1-turn 5s ease-in-out infinite alternate;
}
.scn-duchess-enters .shadow-pool {
  position: absolute; bottom: 18%; left: 40%; width: 120px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4), transparent);
  filter: blur(6px);
  animation: d1-shift 8s ease-in-out infinite alternate;
}
@keyframes d1-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes d1-candle { 0% { transform: scaleY(1) translateY(0); opacity: 0.9; } 50% { transform: scaleY(1.1) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.95) translateY(1px); opacity: 0.85; } }
@keyframes d1-walk { 0% { transform: translateX(0) rotate(-1deg); } 30% { transform: translateX(8px) rotate(1deg); } 60% { transform: translateX(16px) rotate(-0.5deg); } 100% { transform: translateX(24px) rotate(0); } }
@keyframes d1-turn { 0% { transform: scaleX(1); } 50% { transform: scaleX(-1); } 100% { transform: scaleX(1); } }
@keyframes d1-shift { 0% { transform: translateX(-10px) scale(1); } 100% { transform: translateX(10px) scale(1.2); } }

/* ---------- duchess-fears-deposition ---------- */

.scn-duchess-fears-deposition {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 30%, #1e1e28 60%, #0e0e18 100%),
              radial-gradient(ellipse at 40% 60%, #4a4a5e 0%, transparent 60%);
}
.scn-duchess-fears-deposition .study-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a2a3e, #1a1a2e, #0e0e18);
}
.scn-duchess-fears-deposition .study-desk {
  position: absolute; bottom: 30%; left: 20%; width: 160px; height: 50px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
}
.scn-duchess-fears-deposition .paper-scroll {
  position: absolute; bottom: 40%; left: 25%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #d0c8b0, #b0a890);
  border-radius: 2% 2% 20% 20%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: d2-tremble 3s ease-in-out infinite;
}
.scn-duchess-fears-deposition .candle-wax {
  position: absolute; bottom: 38%; left: 22%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffd070, #d0a050);
  border-radius: 4% 4% 10% 10%;
  box-shadow: 0 0 16px 4px rgba(255,200,80,0.5);
  animation: d2-flicker 2.5s ease-in-out infinite alternate;
}
.scn-duchess-fears-deposition .figure-duchess-2 {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 100px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 30%, #0e0e18 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: translateX(-50%);
  animation: d2-clutch 4s ease-in-out infinite;
}
.scn-duchess-fears-deposition .figure-countess-2 {
  position: absolute; bottom: 30%; left: 65%; width: 25px; height: 90px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 50%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: d2-reach 5s ease-in-out infinite alternate;
}
.scn-duchess-fears-deposition .ink-drop {
  position: absolute; bottom: 42%; left: 30%; width: 6px; height: 6px;
  background: #1a1a2e;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: d2-fall 6s linear infinite;
}
.scn-duchess-fears-deposition .loom-shadow {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.6));
  filter: blur(10px);
  animation: d2-creep 10s ease-in-out infinite alternate;
}
@keyframes d2-tremble { 0% { transform: rotate(-10deg) translateX(0); } 30% { transform: rotate(-8deg) translateX(2px); } 60% { transform: rotate(-12deg) translateX(-1px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes d2-flicker { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.7; transform: scaleY(0.95); } }
@keyframes d2-clutch { 0% { transform: translateX(-50%) rotate(0); } 25% { transform: translateX(-45%) rotate(2deg); } 75% { transform: translateX(-55%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes d2-reach { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.1) translateX(8px); } 100% { transform: scaleX(1) translateX(0); } }
@keyframes d2-fall { 0% { opacity: 0; transform: translateY(-20px); } 20% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateY(40px); } }
@keyframes d2-creep { 0% { opacity: 0.3; transform: scaleY(1); } 100% { opacity: 0.7; transform: scaleY(1.5); } }

/* ---------- duchess-laments-marriage ---------- */

.scn-duchess-laments-marriage {
  background: linear-gradient(180deg, #1a1a3e 0%, #2a2a4e 20%, #1a1a2e 50%, #0e0e1e 100%),
              radial-gradient(ellipse at 60% 40%, #4a4a6e 0%, transparent 60%);
}
.scn-duchess-laments-marriage .chamber-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #2a2a4e, #1a1a3e, #0e0e1e);
}
.scn-duchess-laments-marriage .bed-frame {
  position: absolute; bottom: 25%; left: 10%; width: 120px; height: 120px;
  background: linear-gradient(180deg, #3a3a5e, #2a2a4e);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-duchess-laments-marriage .window-barred {
  position: absolute; top: 15%; right: 15%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #4a4a6e, #2a2a4e);
  border: 2px solid #4a4a6e;
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 10px rgba(100,100,180,0.3);
  animation: d3-blind 20s ease-in-out infinite alternate;
}
.scn-duchess-laments-marriage .moonlight-beam {
  position: absolute; top: 15%; right: 15%; width: 60px; height: 200px;
  background: linear-gradient(180deg, rgba(180,180,255,0.1) 0%, rgba(180,180,255,0.05) 50%, transparent 100%);
  transform: rotate(20deg);
  transform-origin: top center;
  filter: blur(8px);
  animation: d3-beam 12s ease-in-out infinite alternate;
}
.scn-duchess-laments-marriage .figure-duchess-3 {
  position: absolute; bottom: 25%; left: 30%; width: 28px; height: 90px;
  background: linear-gradient(180deg, #2a2a4e 0%, #1a1a3e 30%, #0e0e1e 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-5deg);
  animation: d3-lament 7s ease-in-out infinite;
}
.scn-duchess-laments-marriage .figure-thekla {
  position: absolute; bottom: 25%; left: 45%; width: 22px; height: 70px;
  background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 50%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(3deg);
  animation: d3-hold 5s ease-in-out infinite alternate;
}
.scn-duchess-laments-marriage .tear-drop {
  position: absolute; bottom: 32%; left: 38%; width: 4px; height: 6px;
  background: radial-gradient(circle, #8080b0, #5050a0);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: d3-drop 4s linear infinite;
}
@keyframes d3-blind { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.3; } }
@keyframes d3-beam { 0% { transform: rotate(15deg) scaleX(1); } 50% { transform: rotate(25deg) scaleX(1.2); } 100% { transform: rotate(15deg) scaleX(1); } }
@keyframes d3-lament { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(-7deg) translateY(-2px); } 50% { transform: rotate(-3deg) translateY(0); } 75% { transform: rotate(-6deg) translateY(2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes d3-hold { 0% { transform: rotate(3deg) scaleX(1); } 50% { transform: rotate(1deg) scaleX(0.95); } 100% { transform: rotate(3deg) scaleX(1); } }
@keyframes d3-drop { 0% { opacity: 0; transform: translateY(-10px) scale(0.5); } 20% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateY(20px) scale(1); } }

/* ---------- thekla-pleads-with-mother ---------- */

.scn-thekla-pleads-with-mother {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 20%, #1e1e28 60%, #0e0e18 100%),
              radial-gradient(ellipse at 30% 50%, #4a4a5e 0%, transparent 60%);
}
.scn-thekla-pleads-with-mother .corridor-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a2a3e, #1a1a2e, #0e0e18);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.4);
}
.scn-thekla-pleads-with-mother .door-open {
  position: absolute; bottom: 30%; left: 20%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #1a1a2e, #0e0e18);
  border-radius: 0 10% 0 0;
  transform: skewY(5deg);
  box-shadow: 8px 0 20px rgba(0,0,0,0.6);
  animation: d4-door 10s ease-in-out infinite alternate;
}
.scn-thekla-pleads-with-mother .figure-thekla-2 {
  position: absolute; bottom: 30%; left: 30%; width: 22px; height: 75px;
  background: linear-gradient(180deg, #3a3a4e 0%, #2a2a3e 40%, #1a1a2e 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(5deg);
  animation: d4-plead 4s ease-in-out infinite;
}
.scn-thekla-pleads-with-mother .figure-duchess-4 {
  position: absolute; bottom: 30%; left: 48%; width: 28px; height: 90px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 30%, #0e0e18 70%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-2deg);
  animation: d4-recoil 6s ease-in-out infinite alternate;
}
.scn-thekla-pleads-with-mother .flicker-light {
  position: absolute; bottom: 40%; left: 55%; width: 8px; height: 16px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #ff9020 40%, #ff6020 70%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(255,150,50,0.5), 0 0 50px 20px rgba(255,120,20,0.2);
  animation: d4-lamp 2s ease-in-out infinite alternate;
}
.scn-thekla-pleads-with-mother .shadow-ribbon {
  position: absolute; bottom: 15%; left: 10%; width: 120px; height: 4px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.3), transparent);
  filter: blur(3px);
  animation: d4-ribbon 8s ease-in-out infinite alternate;
}
.scn-thekla-pleads-with-mother .tremble-line {
  position: absolute; bottom: 35%; left: 38%; width: 30px; height: 2px;
  background: rgba(200,150,80,0.2);
  border-radius: 50%;
  filter: blur(2px);
  animation: d4-tremble 3s ease-in-out infinite;
}
@keyframes d4-door { 0% { transform: skewY(5deg) translateX(0); } 50% { transform: skewY(3deg) translateX(-5px); } 100% { transform: skewY(5deg) translateX(0); } }
@keyframes d4-plead { 0% { transform: rotate(5deg) translateY(0); } 25% { transform: rotate(8deg) translateY(-3px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(6deg) translateY(2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes d4-recoil { 0% { transform: rotate(-2deg) scaleX(1); } 50% { transform: rotate(-4deg) scaleX(0.95); } 100% { transform: rotate(-2deg) scaleX(1); } }
@keyframes d4-lamp { 0% { opacity: 0.8; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.15) translateY(-2px); } 100% { opacity: 0.7; transform: scaleY(0.9); } }
@keyframes d4-ribbon { 0% { transform: translateX(-20px) scaleX(1); } 100% { transform: translateX(20px) scaleX(1.3); } }
@keyframes d4-tremble { 0% { opacity: 0.2; transform: translateX(0); } 50% { opacity: 0.4; transform: translateX(3px); } 100% { opacity: 0.2; transform: translateX(-2px); } }

/* goetz-swede-no-season */

.scn-goetz-swede-no-season { background: linear-gradient(135deg, #2a1a0e 0%, #3a2214 40%, #4a2a1a 100%), radial-gradient(ellipse at 30% 50%, #4a2a1a 0%, transparent 60%); }
.scn-goetz-swede-no-season .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%); border-radius: 0 0 10% 10%; animation: gsn-wall 20s ease-in-out infinite; }
.scn-goetz-swede-no-season .table { position:absolute; bottom:20%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2214 100%); border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 -6px 20px rgba(0,0,0,.6); }
.scn-goetz-swede-no-season .goetz { position:absolute; bottom:28%; left:15%; width:20px; height:40px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gsn-goetz 6s ease-in-out infinite alternate; }
.scn-goetz-swede-no-season .swede { position:absolute; bottom:28%; left:40%; width:22px; height:42px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gsn-swede 7s ease-in-out infinite alternate; }
.scn-goetz-swede-no-season .hand { position:absolute; bottom:32%; left:35%; width:12px; height:6px; background: #2a1a0e; border-radius: 50% 50% 20% 20%; transform-origin: left center; animation: gsn-hand 1.5s ease-in-out infinite; }
.scn-goetz-swede-no-season .paper { position:absolute; bottom:28%; left:55%; width:30px; height:20px; background: linear-gradient(135deg, #c8a87a 0%, #a08860 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.5); transform: rotate(2deg); animation: gsn-paper 12s ease-in-out infinite; }
.scn-goetz-swede-no-season .candle { position:absolute; bottom:30%; left:65%; width:8px; height:20px; background: linear-gradient(180deg, #f0d080 60%, #6a4a2a 100%); border-radius: 20% 20% 10% 10%; animation: gsn-candle 4s ease-in-out infinite; }
.scn-goetz-swede-no-season .glow { position:absolute; bottom:30%; left:65%; width:40px; height:40px; background: radial-gradient(circle, rgba(240,208,128,.6) 0%, transparent 70%); transform: translate(-50%, -50%); animation: gsn-glow 3s ease-in-out infinite alternate; }
@keyframes gsn-wall { 0%,100% { opacity: .8; } 50% { opacity: 1; } }
@keyframes gsn-goetz { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(0); } }
@keyframes gsn-swede { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(1px) rotate(0); } }
@keyframes gsn-hand { 0%,100% { transform: rotate(0deg) scaleX(1); } 25% { transform: rotate(10deg) scaleX(.9); } 50% { transform: rotate(-5deg) scaleX(1.1); } 75% { transform: rotate(15deg) scaleX(.95); } }
@keyframes gsn-paper { 0%,100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } }
@keyframes gsn-candle { 0%,100% { transform: scaleY(1); opacity: .9; } 50% { transform: scaleY(1.05); opacity: 1; } }
@keyframes gsn-glow { 0% { transform: translate(-50%, -50%) scale(.8); opacity: .5; } 100% { transform: translate(-50%, -50%) scale(1.2); opacity: .8; } }

/* octavio-advances-butler */

.scn-octavio-advances-butler { background: linear-gradient(180deg, #1a120e 0%, #2a1a0e 40%, #3a2214 100%), radial-gradient(ellipse at 70% 30%, #3a2214 0%, transparent 50%); }
.scn-octavio-advances-butler .bg-floor { position:absolute; inset:60% 0 0 0; background: linear-gradient(180deg, #2a1a0e 0%, #1a100a 100%); border-radius: 30% 30% 0 0; animation: oab-floor 30s linear infinite; }
.scn-octavio-advances-butler .table { position:absolute; bottom:30%; left:40%; width:30%; height:12%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2214 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-octavio-advances-butler .octavio { position:absolute; bottom:32%; left:18%; width:22px; height:44px; background: linear-gradient(180deg, #0a0806 0%, #1a120e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oab-octavio 5s ease-in-out infinite alternate; }
.scn-octavio-advances-butler .butler { position:absolute; bottom:32%; left:60%; width:24px; height:46px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oab-butler 7s ease-in-out infinite alternate; }
.scn-octavio-advances-butler .wineglass { position:absolute; bottom:35%; left:48%; width:8px; height:16px; background: linear-gradient(180deg, rgba(180,120,60,.8) 0%, transparent 100%); border-radius: 0 0 30% 30%; box-shadow: 0 0 6px 2px rgba(180,120,60,.4); animation: oab-glass 10s ease-in-out infinite; }
.scn-octavio-advances-butler .bottle { position:absolute; bottom:34%; left:55%; width:10px; height:24px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-octavio-advances-butler .shadow { position:absolute; bottom:24%; left:15%; width:70%; height:10%; background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%); border-radius: 50%; filter: blur(8px); animation: oab-shadow 12s ease-in-out infinite alternate; }
@keyframes oab-floor { 0%,100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes oab-octavio { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes oab-butler { 0% { transform: translateX(0) rotate(0) scaleY(1); } 50% { transform: translateX(-4px) rotate(-2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0) scaleY(1); } }
@keyframes oab-glass { 0%,100% { transform: rotate(0) translateY(0); opacity: .7; } 50% { transform: rotate(2deg) translateY(-2px); opacity: 1; } }
@keyframes oab-shadow { 0%,100% { transform: scaleX(1); opacity: .6; } 50% { transform: scaleX(1.1); opacity: .8; } }

/* octavio-truth-wine-talk */

.scn-octavio-truth-wine-talk { background: linear-gradient(135deg, #3a2214 0%, #2a1a0e 50%, #1a120e 100%), radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, transparent 70%); }
.scn-octavio-truth-wine-talk .bg-room { position:absolute; inset:0 0 0 0; background: linear-gradient(180deg, #3a2214 0%, #1a120e 100%); border-radius: 20% 20% 0 0; }
.scn-octavio-truth-wine-talk .table-round { position:absolute; bottom:25%; left:25%; width:50%; height:25%; background: radial-gradient(ellipse at 50% 60%, #6a4a2a 0%, #3a2214 100%); border-radius: 50%; box-shadow: 0 -8px 20px rgba(0,0,0,.5); }
.scn-octavio-truth-wine-talk .glass-center { position:absolute; bottom:35%; left:50%; width:10px; height:20px; transform: translateX(-50%); background: linear-gradient(180deg, rgba(200,140,80,.8) 0%, transparent 100%); border-radius: 0 0 30% 30%; box-shadow: 0 0 12px 4px rgba(200,140,80,.5); animation: otw-glass 4s ease-in-out infinite alternate; }
.scn-octavio-truth-wine-talk .octavio-left { position:absolute; bottom:30%; left:12%; width:22px; height:44px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: otw-octavio 8s ease-in-out infinite alternate; }
.scn-octavio-truth-wine-talk .butler-right { position:absolute; bottom:30%; right:12%; width:24px; height:46px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: otw-butler 9s ease-in-out infinite alternate; }
.scn-octavio-truth-wine-talk .wine-splash { position:absolute; bottom:40%; left:50%; width:6px; height:6px; transform: translateX(-50%); background: radial-gradient(circle, #c08040 0%, transparent 80%); border-radius: 50%; animation: otw-splash 2s ease-in-out infinite; }
.scn-octavio-truth-wine-talk .candle-glow { position:absolute; bottom:45%; left:45%; width:30px; height:30px; background: radial-gradient(circle, rgba(240,200,120,.5) 0%, transparent 70%); animation: otw-candleglow 5s ease-in-out infinite alternate; }
@keyframes otw-glass { 0% { transform: translateX(-50%) rotate(-2deg); opacity: .8; } 100% { transform: translateX(-50%) rotate(2deg); opacity: 1; } }
@keyframes otw-octavio { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes otw-butler { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes otw-splash { 0%,100% { transform: translateX(-50%) scale(1); opacity: .6; } 50% { transform: translateX(-50%) scale(1.5); opacity: .3; } }
@keyframes otw-candleglow { 0% { transform: scale(.8); opacity: .4; } 100% { transform: scale(1.2); opacity: .7; } }

/* octavio-introduces-maradas */

.scn-octavio-introduces-maradas { background: linear-gradient(180deg, #2a1a0e 0%, #3a2214 40%, #1a120e 100%), radial-gradient(ellipse at 30% 60%, #3a2214 0%, transparent 60%); }
.scn-octavio-introduces-maradas .bg-tapestry { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; animation: oim-tapestry 25s ease-in-out infinite; }
.scn-octavio-introduces-maradas .table { position:absolute; bottom:20%; left:20%; width:60%; height:14%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2214 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 -4px 16px rgba(0,0,0,.5); }
.scn-octavio-introduces-maradas .octavio { position:absolute; bottom:28%; left:20%; width:22px; height:44px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oim-octavio 5s ease-in-out infinite alternate; }
.scn-octavio-introduces-maradas .butler { position:absolute; bottom:28%; left:50%; width:24px; height:46px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oim-butler 6s ease-in-out infinite alternate; }
.scn-octavio-introduces-maradas .maradas { position:absolute; bottom:28%; left:72%; width:20px; height:40px; background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oim-maradas 8s ease-in-out infinite alternate; }
.scn-octavio-introduces-maradas .paper { position:absolute; bottom:24%; left:45%; width:30px; height:18px; background: linear-gradient(135deg, #c8a87a 0%, #a08860 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.4); transform: rotate(-3deg); animation: oim-paper 14s ease-in-out infinite; }
.scn-octavio-introduces-maradas .inkwell { position:absolute; bottom:24%; left:55%; width:12px; height:12px; background: radial-gradient(circle, #1a120e 0%, #0a0806 100%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.6); }
.scn-octavio-introduces-maradas .hand-maradas { position:absolute; bottom:28%; left:68%; width:10px; height:4px; background: #2a1a0e; border-radius: 50% 50% 20% 20%; transform-origin: left center; animation: oim-hand 3s ease-in-out infinite; }
@keyframes oim-tapestry { 0%,100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes oim-octavio { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes oim-butler { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes oim-maradas { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes oim-paper { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } }
@keyframes oim-hand { 0%,100% { transform: rotate(0) scaleX(1); } 25% { transform: rotate(8deg) scaleX(.9); } 50% { transform: rotate(-4deg) scaleX(1.1); } 75% { transform: rotate(12deg) scaleX(.95); } }

.scn-max-pledges-to-emperor { background: linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #4a2a1a 70%, #1a0a0a 100%), radial-gradient(ellipse at 50% 20%, #c08040 0%, transparent 60%); }
.scn-max-pledges-to-emperor .room-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:0 0 30% 30% / 0 0 10% 10%; }
.scn-max-pledges-to-emperor .room-floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-max-pledges-to-emperor .desk { position:absolute; bottom:35%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius:4% 4% 8% 8%; box-shadow: 0 -4px 8px rgba(0,0,0,.4); z-index:2; }
.scn-max-pledges-to-emperor .banner { position:absolute; top:12%; right:10%; width:12%; height:30%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 50%, #5e1a1d 100%); border-radius:0 0 20% 20%; transform-origin: top center; animation: mp-banner 6s ease-in-out infinite; }
.scn-max-pledges-to-emperor .soldier-1 { position:absolute; bottom:38%; left:15%; width:8%; height:25%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: mp-soldiers 4s ease-in-out infinite; }
.scn-max-pledges-to-emperor .soldier-2 { position:absolute; bottom:38%; right:15%; width:8%; height:25%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mp-soldiers 5s ease-in-out infinite .5s; }
.scn-max-pledges-to-emperor .candle-glow { position:absolute; bottom:38%; left:48%; width:4%; height:8%; background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 40px 20px rgba(255,208,128,.6), 0 0 80px 40px rgba(255,208,128,.3); animation: mp-candle 2s ease-in-out infinite alternate; z-index:3; }
.scn-max-pledges-to-emperor .figure-max { position:absolute; bottom:40%; left:42%; width:10%; height:28%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mp-figure 3s ease-in-out infinite; z-index:3; }
@keyframes mp-banner { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } }
@keyframes mp-soldiers { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mp-candle { 0% { opacity:0.7; box-shadow:0 0 30px 15px rgba(255,208,128,.5); } 100% { opacity:1; box-shadow:0 0 50px 25px rgba(255,208,128,.8); } }
@keyframes mp-figure { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } }

.scn-wallenstein-loses-temper { background: linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 40%, #1a0a0a 100%), radial-gradient(ellipse at 60% 30%, #c07030 0%, transparent 60%); }
.scn-wallenstein-loses-temper .int-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); }
.scn-wallenstein-loses-temper .int-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); }
.scn-wallenstein-loses-temper .chair { position:absolute; bottom:22%; left:30%; width:20%; height:18%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 30% 30%; transform: rotate(-5deg); transform-origin: bottom center; animation: wlt-chair 4s ease-in-out infinite alternate; z-index:2; }
.scn-wallenstein-loses-temper .figure-wall { position:absolute; bottom:25%; left:50%; width:12%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); transform-origin: bottom center; animation: wlt-figure 3s ease-in-out infinite; z-index:3; }
.scn-wallenstein-loses-temper .lamp-glow { position:absolute; top:15%; right:20%; width:8%; height:12%; background: radial-gradient(circle, #ffd080 0%, #b07030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 60px 30px rgba(255,208,128,.4), 0 0 120px 60px rgba(255,208,128,.2); animation: wlt-lamp 2s ease-in-out infinite alternate; z-index:1; }
.scn-wallenstein-loses-temper .shadow-arm { position:absolute; bottom:35%; left:45%; width:20%; height:8%; background: #1a0a0a; border-radius: 0 50% 50% 0; transform: rotate(-20deg); transform-origin: left center; opacity:0.5; animation: wlt-arm 2s ease-in-out infinite alternate; z-index:2; }
.scn-wallenstein-loses-temper .shadow-body { position:absolute; bottom:20%; left:55%; width:18%; height:30%; background: #0a0a0a; border-radius: 50% 0 0 50%; opacity:0.4; transform: rotate(10deg); animation: wlt-body 3s ease-in-out infinite; z-index:1; }
@keyframes wlt-chair { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(-12deg); } }
@keyframes wlt-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0); } 30% { transform: translateX(-50%) translateY(-4px) rotate(-3deg); } 60% { transform: translateX(-50%) translateY(-2px) rotate(4deg); } }
@keyframes wlt-lamp { 0% { opacity:0.6; box-shadow:0 0 40px 20px rgba(255,208,128,.3); } 100% { opacity:1; box-shadow:0 0 80px 40px rgba(255,208,128,.6); } }
@keyframes wlt-arm { 0%,100% { transform: rotate(-20deg); } 50% { transform: rotate(-35deg); } }
@keyframes wlt-body { 0%,100% { transform: rotate(10deg); } 50% { transform: rotate(15deg); } }

.scn-wallenstein-goes-to-balcony { background: linear-gradient(180deg, #1a1a3a 0%, #2a1a2a 30%, #3a2a1a 70%, #1a0a0a 100%), radial-gradient(ellipse at 50% 30%, #c07030 0%, transparent 60%); }
.scn-wallenstein-goes-to-balcony .balcony-arch { position:absolute; top:10%; left:20%; width:60%; height:50%; border: 4px solid #5a3a2a; border-radius: 50% 50% 0 0; border-bottom: none; background: transparent; box-shadow: inset 0 0 30px rgba(0,0,0,.5); z-index:2; }
.scn-wallenstein-goes-to-balcony .balcony-rail { position:absolute; top:55%; left:18%; width:64%; height:4%; background: #5a3a2a; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.4); z-index:3; }
.scn-wallenstein-goes-to-balcony .figure-wgb { position:absolute; bottom:40%; left:40%; width:12%; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: wgb-figure 3s ease-in-out infinite; z-index:4; }
.scn-wallenstein-goes-to-balcony .night-sky { position:absolute; top:0; left:20%; width:60%; height:50%; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 50%, #2a1a2a 100%); border-radius: 50% 50% 0 0; z-index:1; }
.scn-wallenstein-goes-to-balcony .interior-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); clip-path: inset(0 20% 0 20%); z-index:0; }
.scn-wallenstein-goes-to-balcony .lantern { position:absolute; top:20%; right:25%; width:6%; height:10%; background: radial-gradient(circle, #ffd080 0%, #c07030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 15px rgba(255,208,128,.5); animation: wgb-lantern 2s ease-in-out infinite alternate; z-index:5; }
.scn-wallenstein-goes-to-balcony .banner-wgb { position:absolute; top:12%; left:15%; width:8%; height:20%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 50%, #5e1a1d 100%); border-radius:0 0 30% 30%; transform-origin: top center; animation: wgb-banner 5s ease-in-out infinite; z-index:6; }
@keyframes wgb-figure { 0%,100% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(-2deg); } 60% { transform: translateY(-4px) rotate(2deg); } }
@keyframes wgb-lantern { 0% { opacity:0.7; box-shadow:0 0 20px 10px rgba(255,208,128,.4); } 100% { opacity:1; box-shadow:0 0 40px 20px rgba(255,208,128,.7); } }
@keyframes wgb-banner { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } }

.scn-max-struggles { background: linear-gradient(180deg, #1a1a2a 0%, #2a1a2a 40%, #1a0a0a 100%), radial-gradient(ellipse at 50% 40%, #b08040 0%, transparent 60%); }
.scn-max-struggles .room-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a1a 100%); }
.scn-max-struggles .table { position:absolute; bottom:25%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8% 8% 20% 20%; box-shadow: 0 -4px 8px rgba(0,0,0,.5); z-index:2; }
.scn-max-struggles .candle-1 { position:absolute; bottom:30%; left:30%; width:3%; height:6%; background: radial-gradient(circle, #ffd080 0%, #c08040 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 10px rgba(255,208,128,.4); animation: mst-candle1 3s ease-in-out infinite alternate; z-index:3; }
.scn-max-struggles .candle-2 { position:absolute; bottom:30%; right:30%; width:3%; height:6%; background: radial-gradient(circle, #ffd080 0%, #c08040 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 10px rgba(255,208,128,.4); animation: mst-candle2 4s ease-in-out infinite alternate; z-index:3; }
.scn-max-struggles .figure-max-struggle { position:absolute; bottom:30%; left:35%; width:12%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); animation: mst-max 4s ease-in-out infinite; z-index:4; }
.scn-max-struggles .figure-duchess { position:absolute; bottom:30%; right:20%; width:10%; height:28%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.8; animation: mst-duchess 5s ease-in-out infinite; z-index:4; }
.scn-max-struggles .figure-countess { position:absolute; bottom:30%; right:5%; width:10%; height:28%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; opacity:0.7; animation: mst-countess 5s ease-in-out infinite .5s; z-index:4; }
.scn-max-struggles .shadow-struggle { position:absolute; bottom:20%; left:10%; width:80%; height:15%; background: #0a0a0a; opacity:0.3; border-radius: 50%; filter: blur(8px); animation: mst-shadow 6s ease-in-out infinite; z-index:1; }
@keyframes mst-candle1 { 0%,100% { opacity:0.6; box-shadow:0 0 15px 8px rgba(255,208,128,.3); } 50% { opacity:1; box-shadow:0 0 30px 15px rgba(255,208,128,.6); } }
@keyframes mst-candle2 { 0%,100% { opacity:0.5; box-shadow:0 0 20px 10px rgba(255,208,128,.3); } 50% { opacity:0.9; box-shadow:0 0 40px 20px rgba(255,208,128,.5); } }
@keyframes mst-max { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0); } 30% { transform: translateX(-50%) translateY(-3px) rotate(-2deg); } 60% { transform: translateX(-50%) translateY(-1px) rotate(3deg); } }
@keyframes mst-duchess { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mst-countess { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes mst-shadow { 0%,100% { transform: scaleX(1); opacity:0.3; } 50% { transform: scaleX(0.9); opacity:0.5; } }

.scn-theklas-desperation {
  background: radial-gradient(ellipse at 30% 70%, #1a1a2e 0%, #0f0f1a 60%, #08080f 100%), linear-gradient(180deg, #1e1a30 0%, #0a0914 100%);
}
.scn-theklas-desperation .wall-bg {
  position: absolute; inset: 0; background: linear-gradient(90deg, #0b0a12 0%, #141129 40%, #0b0a12 100%);
  animation: ds-wall 12s ease-in-out infinite alternate;
}
.scn-theklas-desperation .window-glow {
  position: absolute; top: 15%; left: 12%; width: 40px; height: 50px;
  background: radial-gradient(circle, #d4a050 0%, #8a6a30 60%, transparent 100%);
  border-radius: 4px; box-shadow: 0 0 30px 10px rgba(180,140,70,0.3), 0 0 60px 20px rgba(120,80,40,0.1);
  animation: ds-window 5s ease-in-out infinite alternate;
}
.scn-theklas-desperation .coffin {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 50px; transform: translateX(-50%);
  background: linear-gradient(180deg, #4a2e1a 0%, #2c1a0a 100%); border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: inset 0 -8px 10px rgba(0,0,0,0.6), 0 8px 15px rgba(0,0,0,0.5);
  animation: ds-coffin 8s ease-in-out infinite;
}
.scn-theklas-desperation .figure-thekla {
  position: absolute; bottom: 22%; left: 45%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #2a2a3a 0%, #111120 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ds-thekla-reach 4s ease-in-out infinite;
}
.scn-theklas-desperation .figure-neubrunn {
  position: absolute; bottom: 22%; left: 58%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1e1e30 0%, #0e0e1a 100%);
  border-radius: 35% 35% 30% 30% / 45% 45% 30% 30%;
  transform-origin: bottom center;
  animation: ds-neubrunn-hold 4s ease-in-out infinite;
}
.scn-theklas-desperation .arm-restraint {
  position: absolute; bottom: 48%; left: 52%; width: 30px; height: 6px;
  background: #2a1a1a; border-radius: 20% 80% 80% 20% / 50% 50%;
  transform-origin: left center;
  animation: ds-arm 4s ease-in-out infinite;
}
.scn-theklas-desperation .candle {
  position: absolute; bottom: 10%; right: 20%; width: 6px; height: 40px;
  background: linear-gradient(180deg, #e0d0a0 0%, #8a7a5a 30%, #4a3a2a 100%);
  border-radius: 2px;
  animation: ds-candle 3s ease-in-out infinite alternate;
}
.scn-theklas-desperation .shadow-veil {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, transparent 30%, rgba(0,0,0,0.7) 100%);
  pointer-events: none;
}
@keyframes ds-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ds-window { 0% { opacity:0.6; box-shadow:0 0 20px 5px rgba(180,140,70,0.2) } 100% { opacity:0.9; box-shadow:0 0 40px 15px rgba(180,140,70,0.4) } }
@keyframes ds-coffin { 0%,100% { transform:translateX(-50%) } 50% { transform:translateX(-50%) translateY(-3px) } }
@keyframes ds-thekla-reach { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(8px) rotate(5deg); } 100% { transform: translateX(0) rotate(-5deg); } }
@keyframes ds-neubrunn-hold { 0% { transform: translateX(0) rotate(3deg); } 50% { transform: translateX(-5px) rotate(-3deg); } 100% { transform: translateX(0) rotate(3deg); } }
@keyframes ds-arm { 0%,100% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(15deg) scaleX(0.8); } }
@keyframes ds-candle { 0% { background:linear-gradient(180deg, #e0d0a0 0%, #8a7a5a 30%, #4a3a2a 100%); } 100% { background:linear-gradient(180deg, #f0e0b0 0%, #a09a7a 30%, #5a4a3a 100%); } }

.scn-theklas-defiance {
  background: linear-gradient(180deg, #12101e 0%, #1a1628 40%, #0c0a14 100%), radial-gradient(ellipse at 30% 60%, #2a1a2a 0%, transparent 70%);
}
.scn-theklas-defiance .wall-dark {
  position: absolute; inset: 0; background: linear-gradient(90deg, #08060e 0%, #141120 50%, #0a0812 100%);
  animation: df-wall 15s ease-in-out infinite alternate;
}
.scn-theklas-defiance .floor-slab {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a1620 0%, #0c0a10 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
}
.scn-theklas-defiance .figure-defiant {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 70px; transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a36 0%, #12121a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: df-figure 5s ease-in-out infinite;
}
.scn-theklas-defiance .door-light {
  position: absolute; top: 20%; left: 50%; width: 60px; height: 100px; transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #d4a050 0%, #6a3a0a 60%, transparent 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 0 30px 15px rgba(180,140,70,0.2);
  animation: df-door 7s ease-in-out infinite alternate;
}
.scn-theklas-defiance .chair-tilted {
  position: absolute; bottom: 18%; right: 25%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%;
  transform: rotate(-10deg);
  animation: df-chair 6s ease-in-out infinite;
}
.scn-theklas-defiance .candle-flame {
  position: absolute; bottom: 30%; left: 20%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffd080 0%, #c08030 60%, transparent 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 5px rgba(200,140,60,0.4);
  animation: df-candle 2s ease-in-out infinite alternate;
}
.scn-theklas-defiance .dust-motes {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 30% 40%, rgba(200,180,120,0.03) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(200,180,120,0.02) 0%, transparent 50%);
  animation: df-dust 20s linear infinite;
}
@keyframes df-wall { 0% { opacity:0.85 } 100% { opacity:1 } }
@keyframes df-figure { 0%,100% { transform:translateX(-50%) rotate(0deg) } 50% { transform:translateX(-50%) rotate(5deg) scaleY(1.05) } }
@keyframes df-door { 0% { opacity:0.5; transform:translateX(-50%) scaleX(0.95) } 100% { opacity:0.9; transform:translateX(-50%) scaleX(1.05) } }
@keyframes df-chair { 0%,100% { transform:rotate(-10deg) } 50% { transform:rotate(-5deg) translateY(-2px) } }
@keyframes df-candle { 0% { transform:scaleY(1); opacity:0.8 } 100% { transform:scaleY(1.3); opacity:1 } }
@keyframes df-dust { 0% { background-position:0% 0% } 100% { background-position:100% 100% } }

.scn-theklas-hallucination {
  background: linear-gradient(180deg, #0a0812 0%, #0c0a16 30%, #06040a 100%), radial-gradient(ellipse at 50% 80%, #1a1a2a 0%, transparent 80%);
}
.scn-theklas-hallucination .void-bg {
  position: absolute; inset: 0; background: radial-gradient(circle at 30% 50%, #141028 0%, transparent 60%);
  animation: hl-void 25s ease-in-out infinite alternate;
}
.scn-theklas-hallucination .horse-legs {
  position: absolute; bottom: 30%; left: 30%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #1a141e 0%, #0e0a14 100%);
  clip-path: polygon(10% 0%, 30% 0%, 50% 80%, 60% 100%, 40% 100%, 20% 60%, 10% 100%, 0% 100%);
  animation: hl-legs 4s ease-in-out infinite;
}
.scn-theklas-hallucination .hoof-shadow {
  position: absolute; bottom: 18%; left: 35%; width: 20px; height: 10px;
  background: rgba(0,0,0,0.4); border-radius: 50%;
  animation: hl-hoof 4s ease-in-out infinite;
}
.scn-theklas-hallucination .ghost-coffin {
  position: absolute; top: 20%; left: 50%; width: 100px; height: 40px; transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(80,60,40,0.3) 0%, rgba(40,30,20,0.2) 100%);
  border-radius: 10% 10% 5% 5%; filter: blur(8px);
  animation: hl-coffin 10s ease-in-out infinite alternate;
}
.scn-theklas-hallucination .figure-silhouette {
  position: absolute; bottom: 25%; left: 60%; width: 18px; height: 50px;
  background: #0a0812; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: hl-figure 6s ease-in-out infinite;
}
.scn-theklas-hallucination .distortion-ring {
  position: absolute; top: 50%; left: 50%; width: 120px; height: 120px; transform: translate(-50%,-50%);
  border: 2px solid rgba(100,80,120,0.05); border-radius: 50%;
  animation: hl-ring 8s linear infinite;
}
.scn-theklas-hallucination .particle-swarm {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 20% 30%, rgba(150,130,180,0.02) 0%, transparent 40%),
              radial-gradient(circle at 80% 70%, rgba(150,130,180,0.01) 0%, transparent 40%);
  animation: hl-particles 12s linear infinite;
}
@keyframes hl-void { 0% { opacity:0.6 } 100% { opacity:1 } }
@keyframes hl-legs { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-5px) rotate(2deg) } }
@keyframes hl-hoof { 0%,100% { transform: scale(1) } 50% { transform: scale(1.1) } }
@keyframes hl-coffin { 0% { opacity:0.2; transform: translateX(-50%) scaleY(0.9) } 100% { opacity:0.5; transform: translateX(-50%) scaleY(1.1) } }
@keyframes hl-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hl-ring { 0% { transform: translate(-50%,-50%) rotate(0deg); border-color: rgba(100,80,120,0.05) } 50% { border-color: rgba(130,110,150,0.1); } 100% { transform: translate(-50%,-50%) rotate(360deg); border-color: rgba(100,80,120,0.05) } }
@keyframes hl-particles { 0% { background-position:0% 0%,100% 100% } 100% { background-position:100% 100%,0% 0% } }

.scn-theklas-resolve {
  background: linear-gradient(180deg, #0d0b16 0%, #161224 40%, #0a0812 100%), radial-gradient(ellipse at 60% 50%, #2a1a2e 0%, transparent 70%);
}
.scn-theklas-resolve .chamber-wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #0a0810 0%, #141120 50%, #0c0a14 100%);
  animation: rs-wall 18s ease-in-out infinite alternate;
}
.scn-theklas-resolve .arch-way {
  position: absolute; bottom: 0; left: 50%; width: 80px; height: 120px; transform: translateX(-50%);
  background: linear-gradient(180deg, #1e1a2a 0%, #0e0a18 100%);
  border-radius: 40% 40% 0 0 / 30% 30% 0 0;
  animation: rs-arch 12s ease-in-out infinite;
}
.scn-theklas-resolve .door-crack {
  position: absolute; bottom: 20%; left: 50%; width: 40px; height: 80px; transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 60%, #d4a050 0%, #6a3a0a 70%, transparent 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 30px 10px rgba(180,140,70,0.2);
  animation: rs-door 7s ease-in-out infinite alternate;
}
.scn-theklas-resolve .figure-marching {
  position: absolute; bottom: 22%; left: 40%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #2a2a36 0%, #12121a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: rs-figure 4s ease-in-out infinite;
}
.scn-theklas-resolve .lantern-swing {
  position: absolute; top: 25%; left: 45%; width: 10px; height: 10px;
  background: radial-gradient(circle, #ffd080 0%, #c08030 70%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 25px 8px rgba(200,140,60,0.5);
  animation: rs-lantern 3s ease-in-out infinite;
}
.scn-theklas-resolve .drape-shadow {
  position: absolute; top: 0; right: 10%; width: 40px; height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 60%);
  animation: rs-drape 15s ease-in-out infinite alternate;
}
.scn-theklas-resolve .floor-flagstone {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: repeating-linear-gradient(90deg, #1a1620 0px, #1a1620 40px, #0c0a10 40px, #0c0a10 80px);
  border-radius: 20% 20% 0 0;
  opacity: 0.8;
}
@keyframes rs-wall { 0% { opacity:0.85 } 100% { opacity:1 } }
@keyframes rs-arch { 0%,100% { transform:translateX(-50%) scaleY(1) } 50% { transform:translateX(-50%) scaleY(1.03) } }
@keyframes rs-door { 0% { opacity:0.4; transform:translateX(-50%) scaleX(0.9) } 100% { opacity:0.9; transform:translateX(-50%) scaleX(1.1) } }
@keyframes rs-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-2deg) } 75% { transform: translateX(24px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0deg) } }
@keyframes rs-lantern { 0%,100% { transform: rotate(-10deg) } 50% { transform: rotate(10deg) } }
@keyframes rs-drape { 0% { transform: translateX(0) } 100% { transform: translateX(10px) } }

/* wrangel-commission-ends - two figures, dim interior */

.scn-wrangel-commission-ends {
  background:
    radial-gradient(ellipse at 50% 30%, #3a2a20 0%, transparent 60%),
    linear-gradient(180deg, #1e1410 0%, #2a1e18 40%, #1a1210 100%);
}
.scn-wrangel-commission-ends .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  animation: wce-wall 12s ease-in-out infinite alternate;
}
.scn-wrangel-commission-ends .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
}
.scn-wrangel-commission-ends .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: wce-table 8s ease-in-out infinite;
}
.scn-wrangel-commission-ends .figure-left {
  position: absolute; bottom: 25%; left: 28%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wce-figure-left 6s ease-in-out infinite;
}
.scn-wrangel-commission-ends .figure-right {
  position: absolute; bottom: 25%; right: 28%; width: 28px; height: 62px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wce-figure-right 6s ease-in-out infinite;
}
.scn-wrangel-commission-ends .candle {
  position: absolute; bottom: 24%; left: 50%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  transform: translateX(-50%);
  border-radius: 2px 2px 0 0;
  animation: wce-candle 3s ease-in-out infinite alternate;
}
.scn-wrangel-commission-ends .candle-glow {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(200,160,80,0.6) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  animation: wce-glow 2s ease-in-out infinite alternate;
}
.scn-wrangel-commission-ends .shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: wce-shadow 8s ease-in-out infinite alternate;
}
@keyframes wce-wall {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; }
}
@keyframes wce-table {
  0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); }
}
@keyframes wce-figure-left {
  0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wce-figure-right {
  0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-1px) rotate(-1deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wce-candle {
  0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(1deg); }
}
@keyframes wce-glow {
  0% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.95); }
}
@keyframes wce-shadow {
  0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; }
}

/* wrangel-yesterday-certainty - close-up on document */

.scn-wrangel-yesterday-certainty {
  background:
    radial-gradient(ellipse at 50% 50%, #2a1e14 0%, transparent 50%),
    linear-gradient(180deg, #1a1210 0%, #2a1e18 40%, #1a1210 100%);
}
.scn-wrangel-yesterday-certainty .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  animation: wyc-wall 15s ease-in-out infinite alternate;
}
.scn-wrangel-yesterday-certainty .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 6px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
  animation: wyc-desk 10s ease-in-out infinite;
}
.scn-wrangel-yesterday-certainty .document {
  position: absolute; bottom: 22%; left: 40%; right: 40%; height: 14%;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%);
  border: 1px solid #4a3a1a;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: wyc-document 12s ease-in-out infinite;
}
.scn-wrangel-yesterday-certainty .hand {
  position: absolute; bottom: 28%; left: 36%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #6a4a30 0%, #4a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: 50% 100%;
  animation: wyc-hand 5s ease-in-out infinite alternate;
}
.scn-wrangel-yesterday-certainty .candle {
  position: absolute; bottom: 22%; left: 52%; width: 4px; height: 14px;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  transform: translateX(-50%);
  border-radius: 2px 2px 0 0;
  animation: wyc-candle 3s ease-in-out infinite alternate;
}
.scn-wrangel-yesterday-certainty .candle-glow {
  position: absolute; bottom: 26%; left: 52%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(200,160,80,0.5) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  animation: wyc-glow 2s ease-in-out infinite alternate;
}
.scn-wrangel-yesterday-certainty .inkwell {
  position: absolute; bottom: 22%; left: 34%; width: 8px; height: 10px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: wyc-inkwell 8s ease-in-out infinite;
}
@keyframes wyc-wall {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; }
}
@keyframes wyc-desk {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wyc-document {
  0% { box-shadow: 0 2px 6px rgba(0,0,0,0.5); } 50% { box-shadow: 0 2px 10px rgba(0,0,0,0.7); } 100% { box-shadow: 0 2px 6px rgba(0,0,0,0.5); }
}
@keyframes wyc-hand {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wyc-candle {
  0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(1deg); }
}
@keyframes wyc-glow {
  0% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.15); } 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.9); }
}
@keyframes wyc-inkwell {
  0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); }
}

/* wallenstein-will-consider - figure at desk with window */

.scn-wallenstein-will-consider {
  background:
    radial-gradient(ellipse at 50% 50%, #2a1e14 0%, transparent 60%),
    linear-gradient(180deg, #1a1210 0%, #2a1e18 40%, #1a1210 100%);
}
.scn-wallenstein-will-consider .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  animation: wwc-wall 12s ease-in-out infinite alternate;
}
.scn-wallenstein-will-consider .desk {
  position: absolute; bottom: 15%; left: 15%; right: 35%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: wwc-desk 10s ease-in-out infinite;
}
.scn-wallenstein-will-consider .figure {
  position: absolute; bottom: 22%; left: 22%; width: 30px; height: 64px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wwc-figure 6s ease-in-out infinite alternate;
}
.scn-wallenstein-will-consider .candle {
  position: absolute; bottom: 24%; left: 50%; width: 5px; height: 16px;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  transform: translateX(-50%);
  border-radius: 2px 2px 0 0;
  animation: wwc-candle 3s ease-in-out infinite alternate;
}
.scn-wallenstein-will-consider .candle-glow {
  position: absolute; bottom: 28%; left: 50%; width: 36px; height: 36px;
  background: radial-gradient(circle, rgba(200,160,80,0.5) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  animation: wwc-glow 2s ease-in-out infinite alternate;
}
.scn-wallenstein-will-consider .window {
  position: absolute; bottom: 40%; right: 10%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%);
  border: 3px solid #3a2a1a;
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
  animation: wwc-window 20s ease-in-out infinite alternate;
}
.scn-wallenstein-will-consider .window-bar {
  position: absolute; bottom: 67%; right: 10%; width: 40px; height: 2px;
  background: #3a2a1a;
  transform: translateY(0);
  animation: wwc-window-bar 6s ease-in-out infinite;
}
.scn-wallenstein-will-consider .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: wwc-shadow 8s ease-in-out infinite alternate;
}
@keyframes wwc-wall {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; }
}
@keyframes wwc-desk {
  0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); }
}
@keyframes wwc-figure {
  0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(0deg) translateX(2px); } 100% { transform: rotate(2deg) translateX(0); }
}
@keyframes wwc-candle {
  0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(1deg); }
}
@keyframes wwc-glow {
  0% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.95); }
}
@keyframes wwc-window {
  0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; }
}
@keyframes wwc-window-bar {
  0% { transform: translateY(0); } 50% { transform: translateY(2px); } 100% { transform: translateY(0); }
}
@keyframes wwc-shadow {
  0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; }
}

/* wrangel-think-success - room with stone, figure exiting */

.scn-wrangel-think-success {
  background:
    radial-gradient(ellipse at 50% 30%, #2a1e14 0%, transparent 50%),
    linear-gradient(180deg, #1a1210 0%, #2a1e18 40%, #1a1210 100%);
}
.scn-wrangel-think-success .wall-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  animation: wts-wall 14s ease-in-out infinite alternate;
}
.scn-wrangel-think-success .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
  border-radius: 40% 60% 0 0 / 20% 30% 0 0;
}
.scn-wrangel-think-success .table {
  position: absolute; bottom: 12%; left: 30%; right: 30%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: wts-table 10s ease-in-out infinite;
}
.scn-wrangel-think-success .stone {
  position: absolute; bottom: 18%; left: 38%; width: 20px; height: 16px;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: wts-stone 15s ease-in-out infinite;
}
.scn-wrangel-think-success .candle {
  position: absolute; bottom: 18%; left: 50%; width: 5px; height: 16px;
  background: linear-gradient(180deg, #8a6030 0%, #5a3a1a 100%);
  transform: translateX(-50%);
  border-radius: 2px 2px 0 0;
  animation: wts-candle 3s ease-in-out infinite alternate;
}
.scn-wrangel-think-success .candle-glow {
  position: absolute; bottom: 22%; left: 50%; width: 34px; height: 34px;
  background: radial-gradient(circle, rgba(200,160,80,0.5) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  animation: wts-glow 2s ease-in-out infinite alternate;
}
.scn-wrangel-think-success .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: wts-shadow 8s ease-in-out infinite alternate;
}
.scn-wrangel-think-success .figure-exit {
  position: absolute; bottom: 18%; right: 12%; width: 12px; height: 50px;
  background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wts-figure-exit 8s ease-in-out infinite alternate;
}
@keyframes wts-wall {
  0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; }
}
@keyframes wts-table {
  0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); }
}
@keyframes wts-stone {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wts-candle {
  0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(1deg); }
}
@keyframes wts-glow {
  0% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.95); }
}
@keyframes wts-shadow {
  0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; }
}
@keyframes wts-figure-exit {
  0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(-5deg); } 100% { transform: translateX(16px) rotate(-10deg); opacity: 0.5; }
}

.scn-wallenstein-sends-for-courier { background: linear-gradient(180deg, #2b2b3a 0%, #1f1f2a 70%), radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 80%); }
.scn-wallenstein-sends-for-courier .wall-shadow { position:absolute; inset:10% 10% 20% 15%; background: linear-gradient(135deg, #13131a 0%, transparent 80%); opacity:0.6; animation: ws1-shadow 16s ease-in-out infinite alternate; }
.scn-wallenstein-sends-for-courier .wall-desk { position:absolute; bottom:8%; left:10%; width:70%; height:40%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.7); animation: ws1-desk 12s ease-in-out infinite; }
.scn-wallenstein-sends-for-courier .wall-papers { position:absolute; bottom:20%; left:30%; width:20%; height:12%; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: ws1-papers 9s ease-in-out infinite; }
.scn-wallenstein-sends-for-courier .wall-candle { position:absolute; bottom:22%; left:55%; width:6px; height:18px; background: linear-gradient(180deg, #ffd080 0%, #b07830 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px rgba(255,208,128,0.5); animation: ws1-candle 5s ease-in-out infinite alternate; }
.scn-wallenstein-sends-for-courier .wall-globe { position:absolute; bottom:32%; left:50%; width:12px; height:12px; background: radial-gradient(circle, #d0b060 0%, #a08040 100%); border-radius: 50%; box-shadow: 0 0 24px 6px rgba(200,180,100,0.4); animation: ws1-globe 13s ease-in-out infinite; }
.scn-wallenstein-sends-for-courier .wall-figure { position:absolute; bottom:15%; left:25%; width:24px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws1-figure 6s ease-in-out infinite; }
.scn-wallenstein-sends-for-courier .wall-courier { position:absolute; bottom:15%; right:15%; width:20px; height:50px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ws1-courier 8s ease-in-out infinite; }
@keyframes ws1-shadow { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.02); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes ws1-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ws1-papers { 0% { transform: rotate(-3deg) translate(0,0); } 50% { transform: rotate(1deg) translate(1px,-1px); } 100% { transform: rotate(-3deg) translate(0,0); } }
@keyframes ws1-candle { 0% { box-shadow: 0 0 15px 5px rgba(255,208,128,0.4); height:18px; } 50% { box-shadow: 0 0 25px 10px rgba(255,208,128,0.7); height:20px; } 100% { box-shadow: 0 0 18px 6px rgba(255,208,128,0.5); height:18px; } }
@keyframes ws1-globe { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(15deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes ws1-figure { 0% { transform: translateX(0) rotate(-1deg); } 30% { transform: translateX(4px) rotate(2deg); } 60% { transform: translateX(0) rotate(-1deg); } 100% { transform: translateX(-3px) rotate(0deg); } }
@keyframes ws1-courier { 0% { transform: translateX(0) translateY(0); opacity:0.8; } 25% { transform: translateX(-6px) translateY(-2px); opacity:1; } 50% { transform: translateX(-12px) translateY(0); opacity:0.9; } 75% { transform: translateX(-18px) translateY(-1px); opacity:1; } 100% { transform: translateX(-24px) translateY(0); opacity:0.7; } }

.scn-wallenstein-leaves-thekla { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 50%, #3a3a4e 100%), radial-gradient(ellipse at 50% 30%, #4a4a5a 0%, transparent 70%); }
.scn-wallenstein-leaves-thekla .wlt-drape { position:absolute; top:0; left:0; width:40%; height:100%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 0 40% 40% 0; box-shadow: inset -10px 0 30px rgba(0,0,0,0.8); animation: ws2-drape 20s ease-in-out infinite; }
.scn-wallenstein-leaves-thekla .wlt-floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 0 0 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,0.6); }
.scn-wallenstein-leaves-thekla .wlt-door { position:absolute; bottom:15%; right:10%; width:60px; height:80px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); animation: ws2-door 14s ease-in-out infinite alternate; }
.scn-wallenstein-leaves-thekla .wlt-father { position:absolute; bottom:15%; left:35%; width:28px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws2-father 7s ease-in-out infinite; }
.scn-wallenstein-leaves-thekla .wlt-daughter { position:absolute; bottom:15%; left:55%; width:22px; height:58px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws2-daughter 9s ease-in-out infinite; }
.scn-wallenstein-leaves-thekla .wlt-tear { position:absolute; bottom:30%; left:60%; width:4px; height:8px; background: radial-gradient(circle, #b0b0d0 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 10px 3px rgba(100,100,180,0.3); animation: ws2-tear 4s ease-in-out infinite; }
.scn-wallenstein-leaves-thekla .wlt-wisp { position:absolute; top:20%; right:20%; width:14px; height:14px; background: radial-gradient(circle, rgba(255,220,180,0.3) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: ws2-wisp 30s linear infinite; }
@keyframes ws2-drape { 0% { transform: translateX(0); } 50% { transform: translateX(-10px); } 100% { transform: translateX(0); } }
@keyframes ws2-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes ws2-father { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(8px) rotate(-2deg); } 60% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(-5px) rotate(1deg); } }
@keyframes ws2-daughter { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-3px) translateY(-2px); } 50% { transform: translateX(0) translateY(0); } 75% { transform: translateX(4px) translateY(-1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes ws2-tear { 0% { transform: translateY(0) scale(1); opacity:0.8; } 50% { transform: translateY(-12px) scale(0.8); opacity:0.3; } 100% { transform: translateY(0) scale(1); opacity:0.8; } }
@keyframes ws2-wisp { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-30px) translateY(-20px); } 100% { transform: translateX(0) translateY(0); } }

.scn-countess-persuades { background: linear-gradient(180deg, #1e1e2e 0%, #2a2a3a 50%, #1a1a2a 100%), radial-gradient(ellipse at 30% 60%, #3a3a4a 0%, transparent 70%); }
.scn-countess-persuades .cps-wall { position:absolute; inset:0; background: linear-gradient(90deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a2a 100%); animation: ws3-wall 25s ease-in-out infinite; }
.scn-countess-persuades .cps-shadow { position:absolute; inset:5% 10% 15% 5%; background: linear-gradient(135deg, #0a0a1a 0%, transparent 60%); opacity:0.7; animation: ws3-shadow 18s ease-in-out infinite; }
.scn-countess-persuades .cps-countess { position:absolute; bottom:15%; left:25%; width:24px; height:60px; background: linear-gradient(180deg, #4a3a4a 0%, #1a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws3-countess 5s ease-in-out infinite; }
.scn-countess-persuades .cps-brother { position:absolute; bottom:15%; right:20%; width:28px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws3-brother 7s ease-in-out infinite; }
.scn-countess-persuades .cps-hands { position:absolute; bottom:30%; left:30%; width:18px; height:8px; background: linear-gradient(180deg, #5a4a4a 0%, #3a2a2a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 10px rgba(0,0,0,0.4); animation: ws3-hands 4s ease-in-out infinite; }
.scn-countess-persuades .cps-glow { position:absolute; top:30%; left:50%; width:30px; height:30px; background: radial-gradient(circle, rgba(200,180,160,0.15) 0%, transparent 100%); filter: blur(8px); animation: ws3-glow 12s ease-in-out infinite alternate; }
@keyframes ws3-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes ws3-shadow { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(5px) scaleY(0.9); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes ws3-countess { 0% { transform: translateX(0) rotate(0deg) translateY(0); } 25% { transform: translateX(-6px) rotate(-4deg) translateY(-2px); } 50% { transform: translateX(0) rotate(0deg) translateY(0); } 75% { transform: translateX(6px) rotate(4deg) translateY(-2px); } 100% { transform: translateX(0) rotate(0deg) translateY(0); } }
@keyframes ws3-brother { 0% { transform: translateX(0) rotate(1deg); } 40% { transform: translateX(-4px) rotate(-2deg); } 80% { transform: translateX(0) rotate(1deg); } 100% { transform: translateX(3px) rotate(0deg); } }
@keyframes ws3-hands { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes ws3-glow { 0% { opacity:0.3; transform: scale(1); } 100% { opacity:0.7; transform: scale(1.5); } }

.scn-thekla-and-swedish-captain { background: linear-gradient(180deg, #15152a 0%, #1a1a3a 60%), radial-gradient(ellipse at 30% 20%, #2a2a4a 0%, transparent 70%); }
.scn-thekla-and-swedish-captain .tss-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0f0f1f 0%, #1a1a2f 100%); animation: ws4-bg 20s ease-in-out infinite; }
.scn-thekla-and-swedish-captain .tss-window { position:absolute; top:10%; left:10%; width:80%; height:50%; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%); border: 2px solid #2a2a4a; border-radius: 2% 2% 0 0; box-shadow: inset 0 0 40px rgba(0,0,0,0.8); animation: ws4-window 15s ease-in-out infinite alternate; }
.scn-thekla-and-swedish-captain .tss-moon { position:absolute; top:15%; left:65%; width:12px; height:12px; background: radial-gradient(circle, #d0d0e0 0%, #8080a0 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(180,180,220,0.3); animation: ws4-moon 30s linear infinite; }
.scn-thekla-and-swedish-captain .tss-thekla { position:absolute; bottom:15%; left:30%; width:22px; height:58px; background: linear-gradient(180deg, #2a2a4a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws4-thekla 8s ease-in-out infinite; }
.scn-thekla-and-swedish-captain .tss-captain { position:absolute; bottom:15%; right:25%; width:26px; height:62px; background: linear-gradient(180deg, #1a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ws4-captain 9s ease-in-out infinite; }
.scn-thekla-and-swedish-captain .tss-hand { position:absolute; bottom:30%; left:40%; width:10px; height:6px; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius: 50% 50% 0 0; transform: rotate(20deg); animation: ws4-hand 4s ease-in-out infinite; }
.scn-thekla-and-swedish-captain .tss-sparkle { position:absolute; top:25%; left:50%; width:6px; height:6px; background: radial-gradient(circle, #e0e0ff 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 12px 3px rgba(200,200,255,0.4); animation: ws4-sparkle 7s ease-in-out infinite; }
@keyframes ws4-bg { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes ws4-window { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes ws4-moon { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(5px) translateY(-8px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes ws4-thekla { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(4px) rotate(-2deg); } 60% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(-4px) rotate(2deg); } }
@keyframes ws4-captain { 0% { transform: translateX(0) rotate(1deg); } 40% { transform: translateX(-3px) rotate(-1deg); } 80% { transform: translateX(0) rotate(1deg); } 100% { transform: translateX(2px) rotate(0deg); } }
@keyframes ws4-hand { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-2px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes ws4-sparkle { 0% { opacity:0; transform: scale(0.5); } 50% { opacity:1; transform: scale(1.5); } 100% { opacity:0; transform: scale(0.5); } }

.scn-max-agonizes-over-death {
  background:
    linear-gradient(180deg, #1c1828 0%, #2a2238 30%, #3c2a4a 70%, #1a1220 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a5a 0%, transparent 60%);
  position:relative; overflow:hidden;
}
.scn-max-agonizes-over-death .room-walls {
  position:absolute; inset:0 0 30% 0;
  background:linear-gradient(90deg, #2a2040 0%, #3c3054 50%, #2a2040 100%);
  animation: mad-walls 12s ease-in-out infinite alternate;
}
.scn-max-agonizes-over-death .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background:linear-gradient(0deg, #12101a 0%, #221a30 100%);
  box-shadow:inset 0 12px 30px rgba(0,0,0,.6);
}
.scn-max-agonizes-over-death .figure-max {
  position:absolute; bottom:20%; left:32%; width:40px; height:70px;
  background:linear-gradient(180deg, #3a2a4a 0%, #1a0a20 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin:bottom center;
  animation: mad-figure 5s ease-in-out infinite;
}
.scn-max-agonizes-over-death .malice-spirit {
  position:absolute; bottom:45%; left:55%; width:30px; height:50px;
  background:radial-gradient(circle at 40% 30%, #6a4a7a 0%, #3a1a4a 70%, transparent 100%);
  border-radius:70% 30% 50% 50% / 60% 40% 60% 40%;
  filter:blur(2px);
  animation: mad-malice 4s ease-in-out infinite alternate;
}
.scn-max-agonizes-over-death .shadow-arm {
  position:absolute; bottom:22%; left:50%; width:50px; height:14px;
  background:linear-gradient(90deg, transparent 0%, #1a0a20 40%, #2a1a3a 100%);
  border-radius:60% 20% 40% 40%;
  transform-origin:left center;
  animation: mad-arm 6s ease-in-out infinite alternate;
}
.scn-max-agonizes-over-death .window-light {
  position:absolute; top:12%; right:10%; width:50px; height:70px;
  background:radial-gradient(ellipse at center, #e0c8a0 0%, #b08850 40%, transparent 80%);
  border-radius:4px;
  box-shadow:0 0 40px 20px rgba(200,160,100,.3), 0 0 80px 40px rgba(200,160,100,.1);
  animation: mad-window 8s ease-in-out infinite alternate;
}
.scn-max-agonizes-over-death .dust-mote {
  position:absolute; top:25%; left:45%; width:4px; height:4px;
  background:rgba(220,200,170,.4);
  border-radius:50%;
  filter:blur(1px);
  animation: mad-dust 15s linear infinite;
}
.scn-max-agonizes-over-death .dust-mote.sm {
  left:70%; width:2px; height:2px;
  animation-delay:-5s; animation-duration:20s;
}
@keyframes mad-walls { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes mad-figure { 0% { transform:translateY(0) rotate(-2deg) } 25% { transform:translateY(-4px) rotate(1deg) } 50% { transform:translateY(0) rotate(-1deg) } 75% { transform:translateY(-2px) rotate(2deg) } 100% { transform:translateY(0) rotate(-2deg) } }
@keyframes mad-malice { 0% { transform:translate(0,0) scale(1) rotate(-3deg); opacity:.6 } 50% { transform:translate(6px,-8px) scale(1.1) rotate(5deg); opacity:.9 } 100% { transform:translate(-2px,2px) scale(.95) rotate(-2deg); opacity:.7 } }
@keyframes mad-arm { 0% { transform:rotate(10deg) scaleX(1) } 50% { transform:rotate(-15deg) scaleX(1.1) } 100% { transform:rotate(8deg) scaleX(.9) } }
@keyframes mad-window { 0% { opacity:.6; box-shadow:0 0 20px 10px rgba(200,160,100,.2) } 50% { opacity:1; box-shadow:0 0 50px 25px rgba(200,160,100,.4) } 100% { opacity:.7; box-shadow:0 0 30px 15px rgba(200,160,100,.25) } }
@keyframes mad-dust { 0% { transform:translate(0,0); opacity:.4 } 25% { transform:translate(10px,-8px); opacity:.7 } 50% { transform:translate(-5px,-15px); opacity:.2 } 75% { transform:translate(8px,-6px); opacity:.6 } 100% { transform:translate(2px,2px); opacity:.4 } }

.scn-max-ponders-loyalty {
  background:
    linear-gradient(180deg, #1e1a2e 0%, #2a2640 40%, #3c3050 70%, #1e1a2e 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a5a 0%, transparent 60%);
  position:relative; overflow:hidden;
}
.scn-max-ponders-loyalty .bg-chamber {
  position:absolute; inset:0;
  background:linear-gradient(90deg, #1a1628 0%, #2e2a44 50%, #1a1628 100%);
  animation: mpl-bg 14s ease-in-out infinite alternate;
}
.scn-max-ponders-loyalty .pillar-left {
  position:absolute; bottom:0; left:10%; width:16px; height:100%;
  background:linear-gradient(90deg, #3a3050 0%, #4a3a5a 50%, #3a3050 100%);
  border-radius:4px 4px 0 0;
  box-shadow:2px 0 8px rgba(0,0,0,.4);
}
.scn-max-ponders-loyalty .pillar-right {
  position:absolute; bottom:0; right:10%; width:16px; height:100%;
  background:linear-gradient(90deg, #3a3050 0%, #4a3a5a 50%, #3a3050 100%);
  border-radius:4px 4px 0 0;
  box-shadow:-2px 0 8px rgba(0,0,0,.4);
}
.scn-max-ponders-loyalty .figure-max-profile {
  position:absolute; bottom:20%; left:38%; width:36px; height:68px;
  background:linear-gradient(180deg, #3a2a4a 0%, #1a0a20 100%);
  border-radius:40% 60% 40% 40% / 50% 60% 40% 50%;
  transform:rotate(5deg);
  animation: mpl-profile 7s ease-in-out infinite alternate;
}
.scn-max-ponders-loyalty .heart-glow {
  position:absolute; bottom:45%; left:48%; width:20px; height:24px;
  background:radial-gradient(circle at 50% 40%, #ffb0a0 0%, #c04a3a 60%, transparent 100%);
  border-radius:50% 50% 20% 20%;
  box-shadow:0 0 30px 10px rgba(192,74,58,.4), 0 0 60px 20px rgba(192,74,58,.1);
  animation: mpl-heart 4s ease-in-out infinite alternate;
}
.scn-max-ponders-loyalty .shadow-barbarian {
  position:absolute; bottom:18%; right:12%; width:50px; height:80px;
  background:linear-gradient(180deg, #0a0a12 0%, #1a1220 60%, transparent 100%);
  border-radius:30% 50% 40% 40% / 40% 60% 50% 40%;
  opacity:.5;
  animation: mpl-barb 8s ease-in-out infinite alternate;
}
.scn-max-ponders-loyalty .arch-top {
  position:absolute; top:0; left:5%; right:5%; height:15%;
  background:radial-gradient(ellipse at 50% 0%, #4a3a5a 0%, transparent 70%);
  border-radius:0 0 60% 60% / 0 0 100% 100%;
  opacity:.4;
}
@keyframes mpl-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes mpl-profile { 0% { transform:rotate(3deg) translateY(0) } 50% { transform:rotate(6deg) translateY(-3px) } 100% { transform:rotate(4deg) translateY(0) } }
@keyframes mpl-heart { 0% { transform:scale(1); opacity:.7; box-shadow:0 0 20px 8px rgba(192,74,58,.3) } 50% { transform:scale(1.15); opacity:1; box-shadow:0 0 40px 15px rgba(192,74,58,.5) } 100% { transform:scale(.95); opacity:.8; box-shadow:0 0 25px 10px rgba(192,74,58,.35) } }
@keyframes mpl-barb { 0% { transform:translateX(0) scaleY(1); opacity:.4 } 50% { transform:translateX(-4px) scaleY(1.05); opacity:.6 } 100% { transform:translateX(2px) scaleY(.95); opacity:.45 } }

.scn-thekla-advises-max {
  background:
    linear-gradient(180deg, #2a2030 0%, #3c3050 40%, #4a3a5a 70%, #2a2030 100%),
    radial-gradient(ellipse at 50% 100%, #5a4a6a 0%, transparent 60%);
  position:relative; overflow:hidden;
}
.scn-thekla-advises-max .interior-bg {
  position:absolute; inset:0;
  background:linear-gradient(180deg, #2e2840 0%, #423858 50%, #2e2840 100%);
  animation: tad-bg 10s ease-in-out infinite alternate;
}
.scn-thekla-advises-max .archway {
  position:absolute; bottom:20%; left:25%; right:25%; height:60%;
  border:3px solid #5a4a6a;
  border-radius:60% 60% 0 0 / 80% 80% 0 0;
  background:transparent;
  box-shadow:inset 0 0 40px rgba(0,0,0,.3);
  opacity:.5;
}
.scn-thekla-advises-max .figure-thekla {
  position:absolute; bottom:25%; left:35%; width:34px; height:66px;
  background:linear-gradient(180deg, #4a3a5a 0%, #2a1a3a 100%);
  border-radius:50% 45% 40% 40% / 55% 50% 40% 45%;
  transform:rotate(-4deg);
  animation: tad-thekla 6s ease-in-out infinite alternate;
}
.scn-thekla-advises-max .figure-max-parting {
  position:absolute; bottom:25%; left:52%; width:38px; height:68px;
  background:linear-gradient(180deg, #3a2a4a 0%, #1a0a20 100%);
  border-radius:45% 50% 40% 40% / 50% 55% 40% 45%;
  transform:rotate(4deg);
  animation: tad-max 6s ease-in-out infinite alternate-reverse;
}
.scn-thekla-advises-max .window-warm {
  position:absolute; top:8%; right:12%; width:40px; height:60px;
  background:radial-gradient(ellipse at center, #e0c090 0%, #b08850 40%, transparent 80%);
  border-radius:2px;
  box-shadow:0 0 30px 15px rgba(200,160,100,.2);
  animation: tad-window 9s ease-in-out infinite alternate;
}
.scn-thekla-advises-max .ground {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background:linear-gradient(0deg, #1a1220 0%, #2a2030 100%);
  box-shadow:inset 0 6px 20px rgba(0,0,0,.5);
}
.scn-thekla-advises-max .veil-mist {
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 60%, rgba(200,180,220,.08) 0%, transparent 60%);
  animation: tad-mist 12s ease-in-out infinite alternate;
}
@keyframes tad-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes tad-thekla { 0% { transform:rotate(-3deg) translateY(0) } 50% { transform:rotate(-5deg) translateY(-2px) } 100% { transform:rotate(-3deg) translateY(0) } }
@keyframes tad-max { 0% { transform:rotate(3deg) translateY(0) } 50% { transform:rotate(5deg) translateY(-2px) } 100% { transform:rotate(3deg) translateY(0) } }
@keyframes tad-window { 0% { opacity:.6; box-shadow:0 0 20px 10px rgba(200,160,100,.15) } 50% { opacity:1; box-shadow:0 0 40px 20px rgba(200,160,100,.3) } 100% { opacity:.7; box-shadow:0 0 25px 12px rgba(200,160,100,.2) } }
@keyframes tad-mist { 0% { opacity:.2 } 50% { opacity:.5 } 100% { opacity:.3 } }

.scn-thekla-foretells-doom {
  background:
    linear-gradient(180deg, #12101a 0%, #1e1a2e 30%, #2a203a 60%, #12101a 100%),
    radial-gradient(ellipse at 50% 100%, #2a203a 0%, transparent 70%);
  position:relative; overflow:hidden;
}
.scn-thekla-foretells-doom .doom-hall {
  position:absolute; inset:0;
  background:linear-gradient(90deg, #0e0c16 0%, #1c1828 50%, #0e0c16 100%);
  animation: tfd-hall 10s ease-in-out infinite alternate;
}
.scn-thekla-foretells-doom .figure-thekla-doom {
  position:absolute; bottom:25%; left:30%; width:34px; height:66px;
  background:linear-gradient(180deg, #3a2a4a 0%, #1a0a20 100%);
  border-radius:50% 45% 40% 40% / 55% 50% 40% 45%;
  transform:rotate(-6deg);
  animation: tfd-thekla 7s ease-in-out infinite alternate;
}
.scn-thekla-foretells-doom .figure-max-doom {
  position:absolute; bottom:22%; left:55%; width:38px; height:68px;
  background:linear-gradient(180deg, #2a1a3a 0%, #0a0010 100%);
  border-radius:45% 50% 40% 40% / 50% 55% 40% 45%;
  transform:rotate(6deg);
  animation: tfd-max 7s ease-in-out infinite alternate-reverse;
}
.scn-thekla-foretells-doom .curse-hand {
  position:absolute; top:10%; left:45%; width:30px; height:40px;
  background:radial-gradient(circle at 60% 40%, #4a2a3a 0%, #1a0a12 60%, transparent 100%);
  border-radius:50% 40% 30% 50% / 60% 50% 40% 50%;
  filter:blur(3px);
  animation: tfd-curse 5s ease-in-out infinite alternate;
}
.scn-thekla-foretells-doom .light-shaft {
  position:absolute; top:0; left:40%; right:40%; bottom:0;
  background:linear-gradient(180deg, rgba(200,180,220,.12) 0%, transparent 60%);
  animation: tfd-shaft 8s ease-in-out infinite alternate;
}
.scn-thekla-foretells-doom .particle-fate {
  position:absolute; top:20%; left:35%; width:3px; height:3px;
  background:rgba(200,180,220,.3);
  border-radius:50%;
  animation: tfd-particle 12s linear infinite;
}
.scn-thekla-foretells-doom .particle-fate.lt {
  left:60%; width:2px; height:2px;
  animation-delay:-4s; animation-duration:16s;
}
@keyframes tfd-hall { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.65 } }
@keyframes tfd-thekla { 0% { transform:rotate(-5deg) translateY(0) } 50% { transform:rotate(-7deg) translateY(-3px) } 100% { transform:rotate(-5deg) translateY(0) } }
@keyframes tfd-max { 0% { transform:rotate(5deg) translateY(0) } 50% { transform:rotate(7deg) translateY(-3px) } 100% { transform:rotate(5deg) translateY(0) } }
@keyframes tfd-curse { 0% { transform:translate(0,0) scale(1); opacity:.5 } 50% { transform:translate(2px,-5px) scale(1.1); opacity:.8 } 100% { transform:translate(-1px,2px) scale(.95); opacity:.6 } }
@keyframes tfd-shaft { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.4 } }
@keyframes tfd-particle { 0% { transform:translate(0,0); opacity:.4 } 25% { transform:translate(10px,-20px); opacity:.7 } 50% { transform:translate(-5px,-40px); opacity:.2 } 75% { transform:translate(8px,-60px); opacity:.5 } 100% { transform:translate(2px,-80px); opacity:.3 } }

.scn-preface-variant-notes { background: linear-gradient(180deg, #1a1a1a 0%, #2a2a1e 30%, #1e1e18 70%, #151510 100%), radial-gradient(ellipse at 30% 60%, #3a3a2a 0%, transparent 70%); }
.scn-preface-variant-notes .desk-surface { position:absolute; bottom:0; left:5%; right:5%; height:40%; background: linear-gradient(180deg, #4a3e32 0%, #3a2e22 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-preface-variant-notes .paper-stack { position:absolute; bottom:30%; left:35%; width:30%; height:18%; background: linear-gradient(135deg, #e8dcc8 0%, #d4c8b4 50%, #c0b4a0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.3), inset 0 0 20px rgba(200,180,140,.2); transform: rotate(-2deg); animation: pvn-paper 12s ease-in-out infinite alternate; }
.scn-preface-variant-notes .candle { position:absolute; bottom:44%; left:25%; width:8px; height:28px; background: linear-gradient(180deg, #f0e6d0 0%, #d8c8a8 50%, #c0b090 100%); border-radius: 3px 3px 1px 1px; box-shadow: 0 0 8px rgba(220,200,160,.3); transform: rotate(1deg); }
.scn-preface-variant-notes .candle-flame { position:absolute; bottom:70%; left:25.5%; width:6px; height:14px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #f0a040 40%, #c06020 70%, transparent 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 20px 6px #f0a040, 0 0 40px 12px rgba(240,160,64,.4); animation: pvn-flame 3s ease-in-out infinite alternate; }
.scn-preface-variant-notes .inkwell { position:absolute; bottom:34%; left:60%; width:14px; height:16px; background: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 4px rgba(0,0,0,.5), inset 0 4px 6px rgba(255,255,255,.05); }
.scn-preface-variant-notes .quill { position:absolute; bottom:40%; left:68%; width:4px; height:36px; background: linear-gradient(180deg, #e8ddd0 30%, #d0c0a8 60%, #8a7a6a 100%); border-radius: 50% 50% 40% 40% / 80% 80% 20% 20%; transform: rotate(-15deg); transform-origin: 50% 100%; animation: pvn-quill 8s ease-in-out infinite; }
.scn-preface-variant-notes .shadow-edge { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 80%, transparent 0%, rgba(0,0,0,.4) 100%); pointer-events: none; animation: pvn-shadow 9s ease-in-out infinite alternate; }
@keyframes pvn-paper { 0% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes pvn-flame { 0% { transform: scaleY(1) scaleX(1) translateY(0) } 25% { transform: scaleY(1.15) scaleX(.85) translateY(-2px) } 50% { transform: scaleY(.9) scaleX(1.1) translateY(0) } 75% { transform: scaleY(1.2) scaleX(.8) translateY(-3px) } 100% { transform: scaleY(1) scaleX(1) translateY(0) } }
@keyframes pvn-quill { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-12deg) } 100% { transform: rotate(-18deg) } }
@keyframes pvn-shadow { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.5 } }

.scn-scene-setting-duchess-chamber { background: linear-gradient(180deg, #c8b8a0 0%, #e0d0b8 30%, #d8c8b0 60%, #b8a890 100%), radial-gradient(ellipse at 50% 40%, #e8dcc8 0%, transparent 70%); }
.scn-scene-setting-duchess-chamber .wall-back { position:absolute; top:0; left:0; right:0; bottom:35%; background: linear-gradient(180deg, #d8c8b0 0%, #c0b098 100%); border-bottom: 4px solid #8a7a6a; }
.scn-scene-setting-duchess-chamber .window { position:absolute; top:10%; left:50%; width:30%; height:40%; transform:translateX(-50%); background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%); border: 6px solid #6a5a4a; border-radius: 4px; box-shadow: inset 0 0 40px rgba(255,255,240,.2); }
.scn-scene-setting-duchess-chamber .window-light { position:absolute; top:12%; left:52%; width:26%; height:36%; background: radial-gradient(ellipse at 50% 50%, rgba(255,248,230,.6) 0%, transparent 100%); animation: dch-light 6s ease-in-out infinite alternate; }
.scn-scene-setting-duchess-chamber .countess-standing { position:absolute; bottom:30%; left:15%; width:20px; height:48px; background: linear-gradient(180deg, #4a3a6a 0%, #3a2a5a 40%, #2a1a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: -4px 0 8px rgba(0,0,0,.2); animation: dch-countess 8s ease-in-out infinite alternate; }
.scn-scene-setting-duchess-chamber .thekla-seated { position:absolute; bottom:25%; left:55%; width:18px; height:34px; background: linear-gradient(180deg, #c8b8a0 0%, #b8a890 40%, #a89880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleY(.85); animation: dch-thekla 10s ease-in-out infinite alternate; }
.scn-scene-setting-duchess-chamber .lady-neubrunn { position:absolute; bottom:25%; left:70%; width:16px; height:32px; background: linear-gradient(180deg, #b0a090 0%, #a09080 40%, #908070 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleY(.85); animation: dch-lady 12s ease-in-out infinite alternate; }
.scn-scene-setting-duchess-chamber .work-table { position:absolute; bottom:20%; left:48%; width:34%; height:12%; background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.scn-scene-setting-duchess-chamber .embroidery { position:absolute; bottom:28%; left:58%; width:10%; height:6%; background: radial-gradient(circle at 50% 50%, #b87878 0%, #905858 60%, transparent 100%); border-radius: 4px; animation: dch-stitch 4s ease-in-out infinite; }
@keyframes dch-light { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes dch-countess { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes dch-thekla { 0% { transform: scaleY(.85) translateY(0) } 50% { transform: scaleY(.85) translateY(-2px) } 100% { transform: scaleY(.85) translateY(0) } }
@keyframes dch-lady { 0% { transform: scaleY(.85) } 50% { transform: scaleY(.85) translateX(2px) } 100% { transform: scaleY(.85) } }
@keyframes dch-stitch { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(1) } }

.scn-countess-questioning-thekla { background: linear-gradient(180deg, #c0b098 0%, #d8c8b0 30%, #c8b8a0 70%, #a89880 100%), radial-gradient(ellipse at 50% 60%, #d0c0a8 0%, transparent 60%); }
.scn-countess-questioning-thekla .floor-dark { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); }
.scn-countess-questioning-thekla .wall-panel { position:absolute; top:0; left:5%; right:5%; bottom:30%; background: linear-gradient(180deg, #d0c0a8 0%, #b8a890 100%); border-bottom: 3px solid #8a7a6a; border-radius: 0 0 30% 30% / 0 0 10% 10%; }
.scn-countess-questioning-thekla .countess-advancing { position:absolute; bottom:32%; left:25%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a5a 0%, #2a1a4a 40%, #1a0a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); box-shadow: -6px 0 10px rgba(0,0,0,.25); animation: cnt-advance 6s ease-in-out infinite alternate; }
.scn-countess-questioning-thekla .thekla-seated { position:absolute; bottom:28%; left:58%; width:18px; height:34px; background: linear-gradient(180deg, #c8b8a0 0%, #b8a890 40%, #a89880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleY(.85) rotate(-3deg); animation: cnt-thekla 8s ease-in-out infinite alternate; }
.scn-countess-questioning-thekla .chair-back { position:absolute; bottom:40%; left:56%; width:22px; height:14px; background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%); border-radius: 4px 4px 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-countess-questioning-thekla .candle-sconce { position:absolute; top:20%; left:45%; width:6px; height:10px; background: #5a4a3a; border-radius: 2px; box-shadow: 0 0 0 4px #6a5a4a; }
.scn-countess-questioning-thekla .candle-sconce::after { content:''; position:absolute; top:-6px; left:-2px; width:10px; height:12px; background: radial-gradient(circle at 50% 40%, #ffd080 0%, #f0a040 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px #f0a040, 0 0 40px 12px rgba(240,160,64,.3); animation: cnt-candle 3s ease-in-out infinite alternate; }
.scn-countess-questioning-thekla .shadow-streak { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, transparent 40%, rgba(0,0,0,.15) 100%); pointer-events: none; animation: cnt-shadow 5s ease-in-out infinite alternate; }
@keyframes cnt-advance { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(3deg) translateX(8px) } 100% { transform: rotate(5deg) translateX(0) } }
@keyframes cnt-thekla { 0% { transform: scaleY(.85) rotate(-3deg) translateY(0) } 50% { transform: scaleY(.85) rotate(-1deg) translateY(-2px) } 100% { transform: scaleY(.85) rotate(-3deg) translateY(0) } }
@keyframes cnt-candle { 0% { transform: scaleY(1) scaleX(1) } 50% { transform: scaleY(1.2) scaleX(.8) } 100% { transform: scaleY(1) scaleX(1) } }
@keyframes cnt-shadow { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }

.scn-thekla-denial { background: linear-gradient(180deg, #b8a890 0%, #d0c0a8 30%, #c0b098 70%, #a09080 100%), radial-gradient(ellipse at 50% 50%, #c8b8a0 0%, transparent 70%); }
.scn-thekla-denial .room-recess { position:absolute; top:0; left:0; right:0; bottom:25%; background: linear-gradient(180deg, #c8b8a0 0%, #b0a090 100%); border-bottom: 3px solid #8a7a6a; }
.scn-thekla-denial .doorway { position:absolute; top:10%; right:12%; width:8%; height:50%; background: linear-gradient(180deg, #5a4a3a 0%, #4a3a2a 100%); border: 4px solid #6a5a4a; border-radius: 2px; box-shadow: inset 0 0 30px rgba(0,0,0,.4); }
.scn-thekla-denial .countess-still { position:absolute; bottom:30%; left:20%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a5a 0%, #2a1a4a 40%, #1a0a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: -6px 0 10px rgba(0,0,0,.2); animation: thk-countess 12s ease-in-out infinite alternate; }
.scn-thekla-denial .thekla-silent { position:absolute; bottom:28%; left:55%; width:18px; height:34px; background: linear-gradient(180deg, #c8b8a0 0%, #b8a890 40%, #a89880 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleY(.85) rotate(-5deg); animation: thk-silent 10s ease-in-out infinite alternate; }
.scn-thekla-denial .drapery { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, #6a4a3a 0%, #5a3a2a 50%, #4a2a1a 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; opacity:.4; animation: thk-drape 15s ease-in-out infinite alternate; }
.scn-thekla-denial .floor-line { position:absolute; bottom:20%; left:0; right:0; height:5%; background: linear-gradient(180deg, #7a6a5a 0%, #6a5a4a 100%); border-radius: 40% 60% 0 0 / 80% 80% 0 0; }
.scn-thekla-denial .lamp-glow { position:absolute; top:15%; left:30%; width:20%; height:30%; background: radial-gradient(ellipse at 50% 50%, rgba(255,220,160,.2) 0%, transparent 100%); animation: thk-lamp 8s ease-in-out infinite alternate; }
@keyframes thk-countess { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes thk-silent { 0% { transform: scaleY(.85) rotate(-5deg) translateY(0) } 50% { transform: scaleY(.85) rotate(-3deg) translateY(-2px) } 100% { transform: scaleY(.85) rotate(-5deg) translateY(0) } }
@keyframes thk-drape { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.4 } }
@keyframes thk-lamp { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.5 } }

.scn-wallenstein-paper-remonstrance {
  background: linear-gradient(180deg, #1a1a1e 0%, #2c241c 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #4a3520 0%, transparent 60%);
}
.scn-wallenstein-paper-remonstrance .room-deep {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #2a2218 0%, #16120e 100%);
  animation: wr-room-pluse 12s ease-in-out infinite alternate;
}
.scn-wallenstein-paper-remonstrance .wall-tapestry {
  position: absolute; top: 5%; left: 15%; width: 70%; height: 60%;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0e 40%, #3a2a1a 100%);
  border-radius: 2px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-wallenstein-paper-remonstrance .table {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 40px;
  transform: translateX(-50%) perspective(400px) rotateX(10deg);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: 0 10px 20px rgba(0,0,0,0.7);
}
.scn-wallenstein-paper-remonstrance .paper {
  position: absolute; bottom: 38%; left: 50%; width: 50px; height: 35px;
  transform: translateX(-50%) rotate(2deg);
  background: linear-gradient(135deg, #e8dcc8 0%, #c4b69c 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: wr-paper-tremble 3s ease-in-out infinite;
}
.scn-wallenstein-paper-remonstrance .candle {
  position: absolute; bottom: 44%; left: 35%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #e8dcc0 0%, #9a7a4a 100%);
  border-radius: 2px 2px 4px 4px;
}
.scn-wallenstein-paper-remonstrance .flame {
  position: absolute; bottom: 64%; left: 35.3%; width: 8px; height: 16px;
  background: radial-gradient(ellipse at 50% 60%, #ffd080 0%, #ff8c40 40%, transparent 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 10px rgba(255,200,80,0.5);
  animation: wr-flame-flicker 2s ease-in-out infinite alternate;
}
.scn-wallenstein-paper-remonstrance .figure-silhouette {
  position: absolute; bottom: 25%; left: 38%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #16120e 0%, #0a0806 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wr-figure-gesture 4s ease-in-out infinite;
}
.scn-wallenstein-paper-remonstrance .shadow-arc {
  position: absolute; bottom: 23%; left: 30%; width: 40px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 80%);
  transform: skewX(-20deg);
  animation: wr-shadow-sway 5s ease-in-out infinite alternate;
}
@keyframes wr-room-pluse {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wr-paper-tremble {
  0% { transform: translateX(-50%) rotate(2deg) translateY(0); }
  30% { transform: translateX(-50%) rotate(4deg) translateY(-1px); }
  60% { transform: translateX(-50%) rotate(1deg) translateY(0); }
  100% { transform: translateX(-50%) rotate(2deg) translateY(0); }
}
@keyframes wr-flame-flicker {
  0% { transform: scale(1,1) rotate(0deg); opacity: 0.9; }
  50% { transform: scale(1.1,1.2) rotate(5deg); opacity: 1; }
  100% { transform: scale(0.95,0.9) rotate(-3deg); opacity: 0.8; }
}
@keyframes wr-figure-gesture {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-3px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wr-shadow-sway {
  0% { transform: skewX(-20deg) translateX(0); }
  50% { transform: skewX(-15deg) translateX(5px); }
  100% { transform: skewX(-20deg) translateX(0); }
}

.scn-wallenstein-will-hear-swedes {
  background: linear-gradient(180deg, #1e1a16 0%, #2c221a 50%, #3a2a1a 100%), radial-gradient(ellipse at 70% 50%, #3a2a1a 0%, transparent 60%);
}
.scn-wallenstein-will-hear-swedes .room-dark {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #1a1612 0%, #2a2018 100%);
  animation: ws-room-dim 15s ease-in-out infinite alternate;
}
.scn-wallenstein-will-hear-swedes .door-frame {
  position: absolute; bottom: 20%; right: 20%; width: 80px; height: 120px;
  border: 3px solid #3a2a1a;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 2px;
}
.scn-wallenstein-will-hear-swedes .door-panel {
  position: absolute; bottom: 20%; right: 21%; width: 74px; height: 114px;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a120e 100%);
  border-radius: 1px;
  animation: ws-door-tremble 6s ease-in-out infinite;
}
.scn-wallenstein-will-hear-swedes .figure-door {
  position: absolute; bottom: 30%; right: 28%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #16120e 0%, #0a0806 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ws-figure-wait 4s ease-in-out infinite alternate;
}
.scn-wallenstein-will-hear-swedes .candle-left {
  position: absolute; bottom: 38%; left: 30%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #e8dcc0 0%, #9a7a4a 100%);
  border-radius: 2px;
}
.scn-wallenstein-will-hear-swedes .light-slice {
  position: absolute; bottom: 22%; right: 15%; width: 12px; height: 60px;
  background: linear-gradient(180deg, rgba(255,200,80,0.3) 0%, transparent 100%);
  transform: skewX(-10deg);
  filter: blur(4px);
  animation: ws-light-pulse 3s ease-in-out infinite alternate;
}
.scn-wallenstein-will-hear-swedes .floor-shadow {
  position: absolute; bottom: 18%; right: 18%; width: 70px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 80%);
  animation: ws-shadow-sway 7s ease-in-out infinite alternate;
}
@keyframes ws-room-dim {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ws-door-tremble {
  0% { transform: translateX(0); }
  30% { transform: translateX(1px); }
  60% { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}
@keyframes ws-figure-wait {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ws-light-pulse {
  0% { opacity: 0.3; transform: skewX(-10deg) scaleY(1); }
  50% { opacity: 0.6; transform: skewX(-10deg) scaleY(1.2); }
  100% { opacity: 0.2; transform: skewX(-10deg) scaleY(1); }
}
@keyframes ws-shadow-sway {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(5px) scale(1.1); }
  100% { transform: translateX(0) scale(1); }
}

.scn-wallenstein-soliloquy-dallied {
  background: linear-gradient(180deg, #121010 0%, #1a1614 40%, #2a1e1a 100%), radial-gradient(ellipse at 50% 100%, #1e1412 0%, transparent 70%);
}
.scn-wallenstein-soliloquy-dallied .room-gloom {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #1a1412 0%, #120e0c 100%);
  animation: wd-gloom-shift 20s ease-in-out infinite alternate;
}
.scn-wallenstein-soliloquy-dallied .window-slit {
  position: absolute; top: 20%; left: 15%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #4a6a7a 0%, #2a4a5a 100%);
  filter: blur(2px);
  box-shadow: 0 0 10px 4px rgba(74,106,122,0.3);
  animation: wd-moonlight 8s ease-in-out infinite alternate;
}
.scn-wallenstein-soliloquy-dallied .desk {
  position: absolute; bottom: 30%; left: 50%; width: 100px; height: 30px;
  transform: translateX(-50%) perspective(300px) rotateX(15deg);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120c 100%);
  border-radius: 2px;
}
.scn-wallenstein-soliloquy-dallied .candle-desk {
  position: absolute; bottom: 44%; left: 42%; width: 5px; height: 16px;
  background: linear-gradient(180deg, #e8dcc0 0%, #8a6a3a 100%);
  border-radius: 2px;
}
.scn-wallenstein-soliloquy-dallied .figure-pacing {
  position: absolute; bottom: 25%; left: 20%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #16120e 0%, #0a0806 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wd-pace 5s ease-in-out infinite;
}
.scn-wallenstein-soliloquy-dallied .fast-shadow {
  position: absolute; bottom: 23%; left: 18%; width: 30px; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.8) 0%, transparent 80%);
  animation: wd-shadow-run 5s ease-in-out infinite;
}
.scn-wallenstein-soliloquy-dallied .drapery {
  position: absolute; top: 0; right: 10%; width: 40px; height: 100%;
  background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%);
  border-radius: 2px;
  filter: blur(1px);
  animation: wd-drape-sway 10s ease-in-out infinite alternate;
}
@keyframes wd-gloom-shift {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wd-moonlight {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(1.1); }
  100% { opacity: 0.2; transform: scaleY(1); }
}
@keyframes wd-pace {
  0% { transform: translateX(0) rotate(0deg); }
  20% { transform: translateX(20px) rotate(2deg); }
  40% { transform: translateX(40px) rotate(-1deg); }
  60% { transform: translateX(20px) rotate(1deg); }
  80% { transform: translateX(0) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wd-shadow-run {
  0% { transform: translateX(0) scaleX(1); }
  20% { transform: translateX(20px) scaleX(1.2); }
  40% { transform: translateX(40px) scaleX(0.9); }
  60% { transform: translateX(20px) scaleX(1.1); }
  80% { transform: translateX(0) scaleX(0.8); }
  100% { transform: translateX(0) scaleX(1); }
}
@keyframes wd-drape-sway {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.scn-wallenstein-amused-with-thought {
  background: linear-gradient(180deg, #141210 0%, #1c1814 40%, #2a221a 100%), radial-gradient(ellipse at 30% 50%, #2a1e14 0%, transparent 60%);
}
.scn-wallenstein-amused-with-thought .room-murky {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(135deg, #161210 0%, #1e1814 100%);
  animation: wa-murk 20s ease-in-out infinite alternate;
}
.scn-wallenstein-amused-with-thought .armchair {
  position: absolute; bottom: 25%; left: 50%; width: 60px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #2a1e16 0%, #1a120c 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 5px 15px rgba(0,0,0,0.8);
}
.scn-wallenstein-amused-with-thought .figure-seated {
  position: absolute; bottom: 30%; left: 50%; width: 22px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #16120e 0%, #0a0806 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wa-seated-think 6s ease-in-out infinite;
}
.scn-wallenstein-amused-with-thought .lamp-side {
  position: absolute; bottom: 38%; left: 30%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8dcc0 0%, #8a6a3a 100%);
  border-radius: 2px;
}
.scn-wallenstein-amused-with-thought .papers-scattered {
  position: absolute; bottom: 46%; left: 40%; width: 30px; height: 22px;
  background: linear-gradient(135deg, #e0d4bc 0%, #c8b498 100%);
  border-radius: 2px;
  transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: wa-paper-flutter 4s ease-in-out infinite alternate;
}
.scn-wallenstein-amused-with-thought .candle-stub {
  position: absolute; bottom: 42%; left: 55%; width: 4px; height: 10px;
  background: linear-gradient(180deg, #e0d0b0 0%, #8a6a3a 100%);
  border-radius: 2px;
}
.scn-wallenstein-amused-with-thought .thought-ripple {
  position: absolute; top: 20%; left: 60%; width: 12px; height: 12px;
  background: radial-gradient(circle, rgba(200,180,140,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: wa-ripple 5s ease-in-out infinite;
}
@keyframes wa-murk {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wa-seated-think {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(3deg) translateY(-1px); }
  50% { transform: translateX(-50%) rotate(0deg); }
  75% { transform: translateX(-50%) rotate(-3deg) translateY(1px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes wa-paper-flutter {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-2px); }
  100% { transform: rotate(2deg) translateY(0); }
}
@keyframes wa-ripple {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(2); opacity: 0.1; }
  100% { transform: scale(1); opacity: 0.3; }
}

.scn-wallenstein-plots-coup {
  background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 50%, #a89878 100%), radial-gradient(ellipse at 30% 60%, #d8c8a8 0%, transparent 60%);
}
.scn-wallenstein-plots-coup .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,248,230,0.6) 0%, rgba(200,180,140,0.4) 100%); animation: wpc-bg 20s ease-in-out infinite alternate;
}
.scn-wallenstein-plots-coup .window {
  position: absolute; top: 15%; left: 8%; width: 25%; height: 40%; background: linear-gradient(180deg, #b0d0e0 0%, #89b8d0 70%); border-radius: 4% 4% 2% 2%; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); animation: wpc-window 12s ease-in-out infinite alternate;
}
.scn-wallenstein-plots-coup .table {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 12%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius: 4%; box-shadow: 0 4px 12px rgba(0,0,0,0.3); transform: perspective(400px) rotateX(5deg); animation: wpc-table 8s ease-in-out infinite alternate;
}
.scn-wallenstein-plots-coup .documents {
  position: absolute; bottom: 17%; left: 35%; width: 15%; height: 8%; background: #f0e0c8; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transform: rotate(-3deg); animation: wpc-docs 6s ease-in-out infinite alternate;
}
.scn-wallenstein-plots-coup .figure-wpc.left {
  position: absolute; bottom: 10%; left: 25%; width: 12%; height: 30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wpc-figure-l 5s ease-in-out infinite;
}
.scn-wallenstein-plots-coup .figure-wpc.right {
  position: absolute; bottom: 10%; right: 25%; width: 12%; height: 30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wpc-figure-r 5s ease-in-out infinite 1s;
}
.scn-wallenstein-plots-coup .lamp-wpc {
  position: absolute; top: 20%; left: 50%; width: 4%; height: 6%; background: radial-gradient(circle, #ffe080 0%, #c8a030 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,224,128,0.5), 0 0 60px 20px rgba(255,224,128,0.2); animation: wpc-lamp 3s ease-in-out infinite alternate;
}
@keyframes wpc-bg { 0%{opacity:0.8} 50%{opacity:1} 100%{opacity:0.9} }
@keyframes wpc-window { 0%{opacity:0.7; transform:translateY(0)} 50%{opacity:1; transform:translateY(-2px)} 100%{opacity:0.8; transform:translateY(0)} }
@keyframes wpc-table { 0%{transform:perspective(400px) rotateX(5deg) translateY(0)} 50%{transform:perspective(400px) rotateX(4deg) translateY(-1px)} 100%{transform:perspective(400px) rotateX(5deg) translateY(0)} }
@keyframes wpc-docs { 0%{transform:rotate(-3deg) translateX(0)} 50%{transform:rotate(-1deg) translateX(2px)} 100%{transform:rotate(-3deg) translateX(0)} }
@keyframes wpc-figure-l { 0%{transform:translateX(0) translateY(0) rotate(-2deg)} 25%{transform:translateX(2px) translateY(-2px) rotate(1deg)} 50%{transform:translateX(0) translateY(0) rotate(-1deg)} 75%{transform:translateX(-2px) translateY(-1px) rotate(2deg)} 100%{transform:translateX(0) translateY(0) rotate(-2deg)} }
@keyframes wpc-figure-r { 0%{transform:translateX(0) translateY(0) rotate(2deg)} 25%{transform:translateX(-2px) translateY(-2px) rotate(-1deg)} 50%{transform:translateX(0) translateY(0) rotate(1deg)} 75%{transform:translateX(2px) translateY(-1px) rotate(-2deg)} 100%{transform:translateX(0) translateY(0) rotate(2deg)} }
@keyframes wpc-lamp { 0%{box-shadow:0 0 20px 8px rgba(255,224,128,0.4),0 0 40px 15px rgba(255,224,128,0.15); opacity:0.9} 50%{box-shadow:0 0 40px 15px rgba(255,224,128,0.7),0 0 80px 30px rgba(255,224,128,0.3); opacity:1} 100%{box-shadow:0 0 25px 10px rgba(255,224,128,0.5),0 0 50px 20px rgba(255,224,128,0.2); opacity:0.95} }

.scn-wallenstein-doubts-butler {
  background: linear-gradient(180deg, #b0a090 0%, #807060 50%, #504030 100%), radial-gradient(ellipse at 60% 20%, #d0b8a0 0%, transparent 60%);
}
.scn-wallenstein-doubts-butler .dark-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(40,30,20,0.7) 0%, rgba(20,15,10,0.5) 100%); animation: wdb-dark 25s ease-in-out infinite alternate;
}
.scn-wallenstein-doubts-butler .candle {
  position: absolute; bottom: 40%; left: 50%; width: 4%; height: 20%; background: linear-gradient(180deg, #e0c8a0 0%, #8a6a4a 100%); border-radius: 10% 10% 5% 5%; transform: translateX(-50%); animation: wdb-candle 4s ease-in-out infinite alternate;
}
.scn-wallenstein-doubts-butler .flame {
  position: absolute; bottom: 58%; left: 50%; width: 3%; height: 6%; background: radial-gradient(circle, #ffe080 0%, #ffa030 40%, transparent 100%); border-radius: 50%; transform: translateX(-50%); box-shadow: 0 0 20px 8px rgba(255,160,48,0.6), 0 0 40px 15px rgba(255,160,48,0.3); animation: wdb-flame 0.8s ease-in-out infinite alternate;
}
.scn-wallenstein-doubts-butler .shadow-figure {
  position: absolute; bottom: 0%; left: 70%; width: 20%; height: 70%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; transform-origin: bottom center; animation: wdb-shadow 6s ease-in-out infinite alternate;
}
.scn-wallenstein-doubts-butler .hand-wdb {
  position: absolute; bottom: 45%; left: 45%; width: 6%; height: 10%; background: linear-gradient(180deg, #c8a080 0%, #a08060 100%); border-radius: 40% 40% 20% 20%; transform: rotate(15deg); animation: wdb-hand 5s ease-in-out infinite;
}
@keyframes wdb-dark { 0%{opacity:0.8} 50%{opacity:1} 100%{opacity:0.9} }
@keyframes wdb-candle { 0%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-2px)} 100%{transform:translateX(-50%) translateY(0)} }
@keyframes wdb-flame { 0%{transform:translateX(-50%) scale(1) rotate(-2deg); opacity:0.9} 50%{transform:translateX(-50%) scale(1.2) rotate(0deg); opacity:1} 100%{transform:translateX(-50%) scale(0.95) rotate(2deg); opacity:0.85} }
@keyframes wdb-shadow { 0%{transform:translateX(0) translateY(0) scale(1)} 50%{transform:translateX(-5px) translateY(3px) scale(1.02)} 100%{transform:translateX(0) translateY(0) scale(1)} }
@keyframes wdb-hand { 0%{transform:rotate(15deg) translateX(0)} 25%{transform:rotate(10deg) translateX(2px)} 50%{transform:rotate(15deg) translateX(0)} 75%{transform:rotate(20deg) translateX(-2px)} 100%{transform:rotate(15deg) translateX(0)} }

.scn-illo-assures-wall {
  background: linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 50%, #b8a888 100%), radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 60%);
}
.scn-illo-assures-wall .sunny-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,240,0.5) 0%, rgba(220,200,170,0.3) 100%); animation: iaw-sun 18s ease-in-out infinite alternate;
}
.scn-illo-assures-wall .pillar-left {
  position: absolute; top: 0%; left: 10%; width: 6%; height: 100%; background: linear-gradient(90deg, #a89878 0%, #c8b898 50%, #a89878 100%); border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,0.1); animation: iaw-pillar 12s ease-in-out infinite alternate;
}
.scn-illo-assures-wall .pillar-right {
  position: absolute; top: 0%; right: 10%; width: 6%; height: 100%; background: linear-gradient(90deg, #a89878 0%, #c8b898 50%, #a89878 100%); border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,0.1); animation: iaw-pillar 12s ease-in-out infinite alternate-reverse;
}
.scn-illo-assures-wall .figure-iaw.illo {
  position: absolute; bottom: 15%; left: 30%; width: 12%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iaw-illo 7s ease-in-out infinite;
}
.scn-illo-assures-wall .figure-iaw.wall {
  position: absolute; bottom: 15%; right: 30%; width: 12%; height: 40%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iaw-wall 7s ease-in-out infinite 1s;
}
.scn-illo-assures-wall .floor-line {
  position: absolute; bottom: 8%; left: 0%; right: 0%; height: 2%; background: linear-gradient(90deg, transparent 0%, #8a7a6a 20%, #8a7a6a 80%, transparent 100%); animation: iaw-floor 15s ease-in-out infinite alternate;
}
@keyframes iaw-sun { 0%{opacity:0.75} 50%{opacity:1} 100%{opacity:0.8} }
@keyframes iaw-pillar { 0%{transform:scaleY(1) translateY(0)} 50%{transform:scaleY(1.01) translateY(-2px)} 100%{transform:scaleY(1) translateY(0)} }
@keyframes iaw-illo { 0%{transform:translateX(0) translateY(0) rotate(1deg)} 25%{transform:translateX(3px) translateY(-2px) rotate(0deg)} 50%{transform:translateX(0) translateY(0) rotate(-1deg)} 75%{transform:translateX(-3px) translateY(-1px) rotate(0deg)} 100%{transform:translateX(0) translateY(0) rotate(1deg)} }
@keyframes iaw-wall { 0%{transform:translateX(0) translateY(0) rotate(-1deg)} 25%{transform:translateX(-3px) translateY(-2px) rotate(0deg)} 50%{transform:translateX(0) translateY(0) rotate(1deg)} 75%{transform:translateX(3px) translateY(-1px) rotate(0deg)} 100%{transform:translateX(0) translateY(0) rotate(-1deg)} }
@keyframes iaw-floor { 0%{opacity:0.6} 50%{opacity:1} 100%{opacity:0.7} }

.scn-wallenstein-addresses-family {
  background: linear-gradient(180deg, #e8d0b0 0%, #c8a880 50%, #a88868 100%), radial-gradient(ellipse at 50% 80%, #d0a070 0%, transparent 60%);
}
.scn-wallenstein-addresses-family .hearth {
  position: absolute; bottom: 0%; left: 50%; width: 30%; height: 30%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 0 0; transform: translateX(-50%); box-shadow: 0 0 40px 15px rgba(200,120,40,0.4); animation: waf-hearth 14s ease-in-out infinite alternate;
}
.scn-wallenstein-addresses-family .fire-glow {
  position: absolute; bottom: 15%; left: 50%; width: 15%; height: 20%; background: radial-gradient(ellipse at 50% 100%, #ffa040 0%, #ff6020 30%, transparent 70%); transform: translateX(-50%); animation: waf-fire 4s ease-in-out infinite alternate;
}
.scn-wallenstein-addresses-family .couch {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 20%; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 12px rgba(0,0,0,0.3); animation: waf-couch 9s ease-in-out infinite alternate;
}
.scn-wallenstein-addresses-family .figure-waf.mother {
  position: absolute; bottom: 12%; left: 28%; width: 12%; height: 35%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: waf-mother 6s ease-in-out infinite;
}
.scn-wallenstein-addresses-family .figure-waf.daughter {
  position: absolute; bottom: 12%; left: 42%; width: 10%; height: 30%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: waf-daughter 7s ease-in-out infinite 0.5s;
}
.scn-wallenstein-addresses-family .figure-waf.wallenstein {
  position: absolute; bottom: 12%; right: 30%; width: 14%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: waf-wall 5s ease-in-out infinite;
}
@keyframes waf-hearth { 0%{box-shadow:0 0 30px 10px rgba(200,120,40,0.3); opacity:0.8} 50%{box-shadow:0 0 60px 20px rgba(200,120,40,0.6); opacity:1} 100%{box-shadow:0 0 40px 15px rgba(200,120,40,0.4); opacity:0.9} }
@keyframes waf-fire { 0%{transform:translateX(-50%) scale(1); opacity:0.8} 50%{transform:translateX(-50%) scale(1.15); opacity:1} 100%{transform:translateX(-50%) scale(0.9); opacity:0.7} }
@keyframes waf-couch { 0%{transform:translateY(0)} 50%{transform:translateY(-3px)} 100%{transform:translateY(0)} }
@keyframes waf-mother { 0%{transform:translateX(0) translateY(0) rotate(2deg)} 33%{transform:translateX(3px) translateY(-1px) rotate(0deg)} 66%{transform:translateX(-2px) translateY(-2px) rotate(1deg)} 100%{transform:translateX(0) translateY(0) rotate(2deg)} }
@keyframes waf-daughter { 0%{transform:translateX(0) translateY(0) rotate(-1deg)} 50%{transform:translateX(-2px) translateY(-2px) rotate(2deg)} 100%{transform:translateX(0) translateY(0) rotate(-1deg)} }
@keyframes waf-wall { 0%{transform:translateX(0) translateY(0) rotate(-2deg)} 25%{transform:translateX(-2px) translateY(-1px) rotate(0deg)} 50%{transform:translateX(0) translateY(0) rotate(1deg)} 75%{transform:translateX(2px) translateY(-1px) rotate(0deg)} 100%{transform:translateX(0) translateY(0) rotate(-2deg)} }

.scn-wallenstein-great-destiny-sign {
  background: linear-gradient(180deg, #1a0e08 0%, #2c1a10 40%, #4a2a18 100%),
              radial-gradient(ellipse at 50% 30%, #8a4a2a 0%, transparent 70%);
}
.scn-wallenstein-great-destiny-sign .tent-dark {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(135deg, #1e100a 0%, #2c1a10 50%, #1a0e08 100%);
  border-radius: 60% 40% 0 0 / 80% 60% 0 0;
  animation: wgd1-tent 12s ease-in-out infinite alternate;
}
.scn-wallenstein-great-destiny-sign .ground {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-wallenstein-great-destiny-sign .figure-waiting {
  position:absolute; bottom:28%; left:45%; width:24px; height:50px;
  background: linear-gradient(180deg, #0a0604 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wgd1-figure 6s ease-in-out infinite;
}
.scn-wallenstein-great-destiny-sign .horse-shadow {
  position:absolute; bottom:30%; left:60%; width:50px; height:30px;
  background: #0a0604;
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  filter: blur(4px);
  animation: wgd1-horse 10s ease-in-out infinite alternate;
}
.scn-wallenstein-great-destiny-sign .sign-glow {
  position:absolute; bottom:50%; left:30%; width:40px; height:20px;
  background: radial-gradient(circle, #ffcc80 0%, #e08040 60%, transparent 100%);
  border-radius: 20% 20% 50% 50% / 10% 10% 30% 30%;
  box-shadow: 0 0 30px 10px #e08040, 0 0 60px 20px rgba(224,128,64,.4);
  animation: wgd1-sign 3s ease-in-out infinite alternate;
}
.scn-wallenstein-great-destiny-sign .fire-glow {
  position:absolute; bottom:20%; left:20%; width:30px; height:40px;
  background: radial-gradient(circle, #ffa060 0%, #e06020 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px #e06020;
  animation: wgd1-fire 2s ease-in-out infinite alternate;
}
.scn-wallenstein-great-destiny-sign .drift-smoke-a {
  position:absolute; top:10%; left:20%; width:60px; height:20px;
  background: linear-gradient(180deg, rgba(200,150,80,.3) 0%, transparent 100%);
  border-radius: 50%; filter: blur(8px);
  animation: wgd1-smoke 30s linear infinite;
}
.scn-wallenstein-great-destiny-sign .drift-smoke-b {
  position:absolute; top:15%; right:10%; width:40px; height:15px;
  background: linear-gradient(180deg, rgba(200,150,80,.2) 0%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: wgd1-smoke 40s linear infinite reverse;
}
@keyframes wgd1-tent { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes wgd1-figure { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes wgd1-horse { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-10px) scale(.95) } 100% { transform: translateX(5px) scale(1.05) } }
@keyframes wgd1-sign { 0% { box-shadow: 0 0 20px 5px #e08040; opacity:.6 } 50% { box-shadow: 0 0 40px 15px #ffcc80; opacity:1 } 100% { box-shadow: 0 0 25px 8px #e08040; opacity:.8 } }
@keyframes wgd1-fire { 0% { transform: scale(.9); opacity:.7 } 50% { transform: scale(1.1); opacity:1 } 100% { transform: scale(.95); opacity:.8 } }
@keyframes wgd1-smoke { 0% { transform: translateX(0) translateY(0) scale(1) } 50% { transform: translateX(30px) translateY(-10px) scale(1.2) } 100% { transform: translateX(60px) translateY(-20px) scale(1.1) } }

.scn-wallenstein-saviour-arm-octavio {
  background: linear-gradient(180deg, #1a0e08 0%, #2c1a10 40%, #4a2a18 100%),
              radial-gradient(ellipse at 70% 50%, #8a4a2a 0%, transparent 70%);
}
.scn-wallenstein-saviour-arm-octavio .tent-interior {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(90deg, #0e0804 0%, #2c1a10 40%, #1a0e08 100%);
  border-radius: 30% 70% 0 0 / 50% 80% 0 0;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
}
.scn-wallenstein-saviour-arm-octavio .light-beam {
  position:absolute; top:0; left:40%; width:20%; height:60%;
  background: linear-gradient(180deg, rgba(255,200,150,.4) 0%, transparent 100%);
  filter: blur(4px);
  animation: wso1-beam 8s ease-in-out infinite alternate;
}
.scn-wallenstein-saviour-arm-octavio .figure-w {
  position:absolute; bottom:30%; left:35%; width:22px; height:48px;
  background: linear-gradient(180deg, #0a0604 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wso1-figure 5s ease-in-out infinite;
}
.scn-wallenstein-saviour-arm-octavio .figure-o {
  position:absolute; bottom:30%; left:50%; width:22px; height:48px;
  background: linear-gradient(180deg, #1a0e08 0%, #2c1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wso1-figure 6s ease-in-out infinite 0.5s;
}
.scn-wallenstein-saviour-arm-octavio .horse-silhouette {
  position:absolute; bottom:30%; left:65%; width:45px; height:28px;
  background: #0a0604;
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  filter: blur(3px);
  animation: wso1-horse 12s ease-in-out infinite alternate;
}
.scn-wallenstein-saviour-arm-octavio .ground-shadow {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  box-shadow: inset 0 8px 15px rgba(0,0,0,.5);
}
@keyframes wso1-beam { 0% { opacity:.4; transform: skewY(-2deg) } 50% { opacity:.7; transform: skewY(0deg) } 100% { opacity:.5; transform: skewY(2deg) } }
@keyframes wso1-figure { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-1px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wso1-horse { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-8px) scale(.97) } 100% { transform: translateX(6px) scale(1.03) } }

.scn-wallenstein-no-chance {
  background: linear-gradient(180deg, #1a0e08 0%, #2c1a10 50%, #3a2214 100%),
              radial-gradient(ellipse at 50% 60%, #8a4a2a 0%, transparent 70%);
}
.scn-wallenstein-no-chance .table-dark {
  position:absolute; bottom:0; left:10%; right:10%; height:40%;
  background: linear-gradient(180deg, #2c1a10 0%, #0e0804 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,.7);
}
.scn-wallenstein-no-chance .hand-letter {
  position:absolute; bottom:35%; left:40%; width:30px; height:20px;
  background: linear-gradient(180deg, #a07050 0%, #6a3a20 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  transform-origin: center;
  animation: wnc1-hand 4s ease-in-out infinite;
}
.scn-wallenstein-no-chance .letter-seal {
  position:absolute; bottom:38%; left:48%; width:12px; height:12px;
  background: radial-gradient(circle, #c87a50 0%, #8a4a2a 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px #c87a50;
  animation: wnc1-seal 3s ease-in-out infinite alternate;
}
.scn-wallenstein-no-chance .candle-flame {
  position:absolute; bottom:40%; left:25%; width:8px; height:14px;
  background: radial-gradient(circle at 50% 30%, #ffcc80 0%, #e08040 50%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 0 20px 8px #e08040, 0 0 40px 16px rgba(224,128,64,.4);
  animation: wnc1-candle 1.5s ease-in-out infinite alternate;
}
.scn-wallenstein-no-chance .shadow-figure {
  position:absolute; bottom:30%; right:20%; width:20px; height:40px;
  background: #0a0604;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(4px);
  animation: wnc1-shadow 8s ease-in-out infinite;
}
.scn-wallenstein-no-chance .candle-base {
  position:absolute; bottom:38%; left:24%; width:12px; height:4px;
  background: linear-gradient(180deg, #a07050 0%, #6a3a20 100%);
  border-radius: 10% 10% 0 0;
}
@keyframes wnc1-hand { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-1px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes wnc1-seal { 0% { box-shadow: 0 0 6px 1px #c87a50; opacity:.8 } 50% { box-shadow: 0 0 14px 4px #ffaa60; opacity:1 } 100% { box-shadow: 0 0 8px 2px #c87a50; opacity:.9 } }
@keyframes wnc1-candle { 0% { transform: scaleY(.9) scaleX(1); opacity:.8 } 50% { transform: scaleY(1.15) scaleX(.85); opacity:1 } 100% { transform: scaleY(1) scaleX(.95); opacity:.9 } }
@keyframes wnc1-shadow { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-5px) scale(.95) } 100% { transform: translateX(3px) scale(1.02) } }

.scn-wallenstein-microcosmus {
  background: linear-gradient(180deg, #0e0804 0%, #1a0e08 30%, #2c1a10 70%, #1a0e08 100%),
              radial-gradient(ellipse at 50% 60%, #4a2a18 0%, transparent 80%);
}
.scn-wallenstein-microcosmus .shaft-dark {
  position:absolute; inset:0 0 0 0;
  background: linear-gradient(90deg, #0e0804 0%, #1a0e08 30%, #2c1a10 50%, #1a0e08 70%, #0e0804 100%);
  clip-path: polygon(40% 0%, 60% 0%, 55% 100%, 45% 100%);
  animation: wm1-shaft 15s ease-in-out infinite alternate;
}
.scn-wallenstein-microcosmus .rings {
  position:absolute; top:10%; left:30%; right:30%; bottom:20%;
  border: 2px solid rgba(200,150,80,.3);
  border-radius: 50%;
  box-shadow: inset 0 0 30px rgba(200,150,80,.2);
  animation: wm1-rings 20s linear infinite;
}
.scn-wallenstein-microcosmus .figure-peering {
  position:absolute; bottom:20%; left:46%; width:18px; height:30px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%) rotate(-10deg);
  animation: wm1-peering 6s ease-in-out infinite;
}
.scn-wallenstein-microcosmus .light-core {
  position:absolute; top:15%; left:45%; width:10%; height:10%;
  background: radial-gradient(circle, #ffcc80 0%, #e08040 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px #e08040, 0 0 80px 30px rgba(224,128,64,.3);
  animation: wm1-core 4s ease-in-out infinite alternate;
}
.scn-wallenstein-microcosmus .particle-a {
  position:absolute; top:20%; left:48%; width:4px; height:4px;
  background: #ffaa60;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #ffaa60;
  animation: wm1-particle 12s linear infinite;
}
.scn-wallenstein-microcosmus .particle-b {
  position:absolute; top:25%; left:50%; width:3px; height:3px;
  background: #ffcc80;
  border-radius: 50%;
  box-shadow: 0 0 5px 1px #ffcc80;
  animation: wm1-particle 15s linear infinite 2s;
}
.scn-wallenstein-microcosmus .particle-c {
  position:absolute; top:18%; left:45%; width:5px; height:5px;
  background: #e08040;
  border-radius: 50%;
  box-shadow: 0 0 8px 3px #e08040;
  animation: wm1-particle 18s linear infinite 4s;
}
@keyframes wm1-shaft { 0% { clip-path: polygon(40% 0%, 60% 0%, 55% 100%, 45% 100%); } 50% { clip-path: polygon(38% 0%, 62% 0%, 58% 100%, 42% 100%); } 100% { clip-path: polygon(42% 0%, 58% 0%, 53% 100%, 47% 100%); } }
@keyframes wm1-rings { 0% { transform: rotate(0deg) scale(1); opacity:.6 } 50% { transform: rotate(180deg) scale(1.1); opacity:.8 } 100% { transform: rotate(360deg) scale(1); opacity:.6 } }
@keyframes wm1-peering { 0% { transform: translateX(-50%) rotate(-10deg) } 50% { transform: translateX(-50%) rotate(5deg) } 100% { transform: translateX(-50%) rotate(-5deg) } }
@keyframes wm1-core { 0% { transform: scale(.9); opacity:.7 } 50% { transform: scale(1.2); opacity:1 } 100% { transform: scale(1); opacity:.8 } }
@keyframes wm1-particle { 0% { transform: translateY(0) translateX(0) scale(1); opacity:.5 } 25% { transform: translateY(-20px) translateX(10px) scale(1.3); opacity:1 } 50% { transform: translateY(-40px) translateX(-5px) scale(.8); opacity:.7 } 75% { transform: translateY(-60px) translateX(15px) scale(1.1); opacity:.9 } 100% { transform: translateY(-80px) translateX(0) scale(1); opacity:0 } }

.scn-prelude-humour-character {
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1310 50%, #0f0a08 100%),
              radial-gradient(ellipse at 50% 40%, #4a3525 0%, transparent 70%);
}

.scn-prelude-humour-character .floor {
  position: absolute;
  bottom: 0;
  left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
}

.scn-prelude-humour-character .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
}

.scn-prelude-humour-character .table {
  position: absolute;
  bottom: 30%;
  left: 30%;
  width: 40%;
  height: 8%;
  background: linear-gradient(90deg, #5a3a1a 0%, #7a5a3a 50%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

.scn-prelude-humour-character .lamp {
  position: absolute;
  bottom: 38%;
  left: 35%;
  width: 20px;
  height: 30px;
  background: radial-gradient(circle at 50% 100%, #d09050 0%, #a06030 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 20px 8px rgba(200,140,80,0.5), 0 0 40px 15px rgba(200,140,80,0.2);
  animation: pi1-lamp-glow 4s ease-in-out infinite alternate;
}

.scn-prelude-humour-character .figure {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 40px;
  height: 60px;
  background: linear-gradient(180deg, #2a2015 0%, #1a130a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pi1-figure-speak 5s ease-in-out infinite;
}

.scn-prelude-humour-character .shadow {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 50px;
  height: 70px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(10px);
  transform: translateX(-30px) skewX(-10deg);
  animation: pi1-shadow-dance 5s ease-in-out infinite;
}

.scn-prelude-humour-character .chair {
  position: absolute;
  bottom: 30%;
  left: 38%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #4a3018 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 30% 30%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
}

@keyframes pi1-lamp-glow {
  0% { box-shadow: 0 0 20px 8px rgba(200,140,80,0.5), 0 0 40px 15px rgba(200,140,80,0.2); }
  50% { box-shadow: 0 0 30px 12px rgba(220,160,100,0.6), 0 0 60px 20px rgba(220,160,100,0.3); }
  100% { box-shadow: 0 0 20px 8px rgba(200,140,80,0.5), 0 0 40px 15px rgba(200,140,80,0.2); }
}

@keyframes pi1-figure-speak {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(4px) translateY(-2px) rotate(2deg); }
  50% { transform: translateX(0) translateY(0) rotate(0deg); }
  75% { transform: translateX(-4px) translateY(-1px) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}

@keyframes pi1-shadow-dance {
  0% { transform: translateX(-30px) skewX(-10deg) scale(1); }
  50% { transform: translateX(-20px) skewX(-5deg) scale(1.05); }
  100% { transform: translateX(-30px) skewX(-10deg) scale(1); }
}

/* -------- Scene 2 -------- */

.scn-prelude-not-necessary {
  background: linear-gradient(180deg, #1e1814 0%, #14100c 50%, #0a0806 100%),
              radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 60%);
}

.scn-prelude-not-necessary .desk {
  position: absolute;
  bottom: 20%;
  left: 10%;
  right: 10%;
  height: 12%;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

.scn-prelude-not-necessary .scroll {
  position: absolute;
  bottom: 32%;
  left: 25%;
  width: 30%;
  height: 6%;
  background: linear-gradient(180deg, #c8b890 0%, #a89070 100%);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  transform-origin: bottom left;
  animation: pi2-scroll-breathe 8s ease-in-out infinite alternate;
}

.scn-prelude-not-necessary .candle {
  position: absolute;
  bottom: 32%;
  left: 60%;
  width: 12px;
  height: 40px;
  background: linear-gradient(180deg, #f0e0b0 0%, #d0b080 50%, #a08050 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: pi2-candle-flicker 3s ease-in-out infinite;
}

.scn-prelude-not-necessary .quill {
  position: absolute;
  bottom: 35%;
  left: 55%;
  width: 6px;
  height: 30px;
  background: linear-gradient(180deg, #c0a890 0%, #8a6a50 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 40% 40%;
  transform-origin: bottom center;
  animation: pi2-quill-tilt 5s ease-in-out infinite;
}

.scn-prelude-not-necessary .inkwell {
  position: absolute;
  bottom: 34%;
  left: 50%;
  width: 20px;
  height: 16px;
  background: linear-gradient(180deg, #3a2a20 0%, #1a1008 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.5);
}

.scn-prelude-not-necessary .chair {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 40px;
  height: 50px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 30% 30%;
}

.scn-prelude-not-necessary .window {
  position: absolute;
  top: 10%;
  right: 10%;
  width: 80px;
  height: 120px;
  background: rgba(60,50,40,0.3);
  border: 2px solid #4a3a2a;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  border-radius: 4px;
}

@keyframes pi2-scroll-breathe {
  0% { transform: scaleX(1) scaleY(1); }
  50% { transform: scaleX(1.02) scaleY(1.01); }
  100% { transform: scaleX(1) scaleY(1); }
}

@keyframes pi2-candle-flicker {
  0% { height: 40px; opacity: 1; box-shadow: 0 0 8px 2px rgba(240,200,120,0.5); }
  50% { height: 36px; opacity: 0.9; box-shadow: 0 0 12px 4px rgba(255,220,140,0.6); }
  100% { height: 40px; opacity: 1; box-shadow: 0 0 8px 2px rgba(240,200,120,0.5); }
}

@keyframes pi2-quill-tilt {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-5deg); }
}

/* -------- Scene 3 -------- */

.scn-admirers-schiller-discourse {
  background: linear-gradient(180deg, #1f1815 0%, #15100d 50%, #0b0806 100%),
              radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 50%);
}

.scn-admirers-schiller-discourse .shelf {
  position: absolute;
  top: 30%;
  left: 5%;
  right: 5%;
  height: 4px;
  background: #4a3a2a;
  box-shadow: 0 40px 0 #4a3a2a, 0 80px 0 #4a3a2a;
}

.scn-admirers-schiller-discourse .book {
  position: absolute;
  width: 20px;
  height: 35px;
  background: linear-gradient(180deg, #7a5a40 0%, #5a3a20 100%);
  border-radius: 2px;
  box-shadow: 1px 0 2px rgba(0,0,0,0.3);
}

.scn-admirers-schiller-discourse .book-1 {
  top: 32%;
  left: 15%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  animation: pi3-book-1-sway 10s ease-in-out infinite;
}

.scn-admirers-schiller-discourse .book-2 {
  top: 72%;
  left: 25%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  animation: pi3-book-2-sway 12s ease-in-out infinite;
}

.scn-admirers-schiller-discourse .book-3 {
  top: 32%;
  left: 40%;
  background: linear-gradient(180deg, #9a7a5a 0%, #7a5a3a 100%);
  animation: pi3-book-3-sway 8s ease-in-out infinite;
}

.scn-admirers-schiller-discourse .reader {
  position: absolute;
  bottom: 5%;
  left: 50%;
  width: 50px;
  height: 80px;
  background: linear-gradient(180deg, #2a2018 0%, #1a120c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pi3-reader-read 6s ease-in-out infinite;
}

.scn-admirers-schiller-discourse .lamp {
  position: absolute;
  bottom: 40%;
  right: 15%;
  width: 18px;
  height: 25px;
  background: radial-gradient(circle at 50% 100%, #c89860 0%, #a07040 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 50% 50%;
  box-shadow: 0 0 16px 6px rgba(200,150,100,0.4), 0 0 32px 12px rgba(200,150,100,0.15);
  animation: pi3-lamp-glow 4s ease-in-out infinite alternate;
}

.scn-admirers-schiller-discourse .glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 60%, rgba(200,150,100,0.08) 0%, transparent 60%);
  pointer-events: none;
}

@keyframes pi3-book-1-sway {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pi3-book-2-sway {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pi3-book-3-sway {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes pi3-reader-read {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}

@keyframes pi3-lamp-glow {
  0% { box-shadow: 0 0 16px 6px rgba(200,150,100,0.4), 0 0 32px 12px rgba(200,150,100,0.15); }
  50% { box-shadow: 0 0 24px 10px rgba(220,170,120,0.5), 0 0 48px 18px rgba(220,170,120,0.2); }
  100% { box-shadow: 0 0 16px 6px rgba(200,150,100,0.4), 0 0 32px 12px rgba(200,150,100,0.15); }
}

/* -------- Scene 4 -------- */

.scn-judging-historical-drama {
  background: linear-gradient(180deg, #1a1613 0%, #120e0b 50%, #0a0806 100%),
              radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 60%);
}

.scn-judging-historical-drama .stage {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}

.scn-judging-historical-drama .bench {
  position: absolute;
  bottom: 20%;
  left: 15%;
  right: 15%;
  height: 10%;
  background: linear-gradient(90deg, #5a3a2a 0%, #7a5a3a 50%, #5a3a2a 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.4);
}

.scn-judging-historical-drama .judge {
  position: absolute;
  bottom: 30%;
  left: 30%;
  width: 50px;
  height: 70px;
  background: linear-gradient(180deg, #2a2018 0%, #1a120c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pi4-judge-gesture 8s ease-in-out infinite;
}

.scn-judging-historical-drama .gavel {
  position: absolute;
  bottom: 38%;
  left: 40%;
  width: 8px;
  height: 30px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 10%;
  transform-origin: bottom center;
  animation: pi4-gavel-strike 4s ease-in-out infinite;
}

.scn-judging-historical-drama .accused {
  position: absolute;
  bottom: 20%;
  left: 65%;
  width: 40px;
  height: 60px;
  background: linear-gradient(180deg, #1e1814 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
}

.scn-judging-historical-drama .spectator {
  position: absolute;
  bottom: 20%;
  left: 10%;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #2a2218 0%, #1a120a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  opacity: 0.8;
}

.scn-judging-historical-drama .candle {
  position: absolute;
  bottom: 30%;
  left: 50%;
  width: 10px;
  height: 30px;
  background: linear-gradient(180deg, #e8d8b0 0%, #c8a880 50%, #a08050 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 0 12px 4px rgba(240,200,120,0.4);
  animation: pi4-candle-flicker 3s ease-in-out infinite;
}

@keyframes pi4-judge-gesture {
  0% { transform: translateX(0) rotate(-3deg); }
  50% { transform: translateX(-5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(-3deg); }
}

@keyframes pi4-gavel-strike {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(20deg) translateY(-10px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(-20deg) translateY(-5px); }
  100% { transform: rotate(0deg) translateY(0); }
}

@keyframes pi4-candle-flicker {
  0% { height: 30px; opacity: 1; box-shadow: 0 0 12px 4px rgba(240,200,120,0.4); }
  50% { height: 27px; opacity: 0.9; box-shadow: 0 0 16px 6px rgba(255,220,140,0.5); }
  100% { height: 30px; opacity: 1; box-shadow: 0 0 12px 4px rgba(240,200,120,0.4); }
}

/* max-hope-knit-closer */

.scn-max-hope-knit-closer {
  background: 
    linear-gradient(180deg, #2a1f1a 0%, #1a1410 40%, #0d0a08 100%),
    radial-gradient(ellipse at 40% 60%, #3a2a20 0%, transparent 70%);
}
.scn-max-hope-knit-closer .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1f1a 100%);
  animation: mk1-wall 10s ease-in-out infinite alternate;
}
.scn-max-hope-knit-closer .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1410 100%);
  border-radius: 20% 30% 0 0 / 10% 15% 0 0;
}
.scn-max-hope-knit-closer .desk {
  position: absolute; bottom: 25%; left: 50%; width: 120px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-max-hope-knit-closer .candle {
  position: absolute; bottom: 34%; left: 50%; width: 10px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a060 0%, #8a6a40 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px #d4a060, 0 0 40px 12px rgba(212,160,96,0.4);
  animation: mk1-candle 4s ease-in-out infinite alternate;
}
.scn-max-hope-knit-closer .figure-left {
  position: absolute; bottom: 28%; left: 30%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk1-figleft 6s ease-in-out infinite;
}
.scn-max-hope-knit-closer .figure-right {
  position: absolute; bottom: 28%; right: 30%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk1-figright 7s ease-in-out infinite;
}
.scn-max-hope-knit-closer .shadow-1 {
  position: absolute; bottom: 25%; left: 28%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: mk1-shad1 5s ease-in-out infinite alternate;
}
.scn-max-hope-knit-closer .shadow-2 {
  position: absolute; bottom: 25%; right: 28%; width: 40px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: mk1-shad2 6s ease-in-out infinite alternate;
}
@keyframes mk1-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes mk1-candle { 0% { transform: translateX(-50%) scaleY(1); box-shadow: 0 0 20px 6px #d4a060; } 50% { transform: translateX(-50%) scaleY(1.1); box-shadow: 0 0 30px 10px #e0b070; } 100% { transform: translateX(-50%) scaleY(0.95); box-shadow: 0 0 15px 4px #c89050; } }
@keyframes mk1-figleft { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(2px) rotate(2deg); } }
@keyframes mk1-figright { 0%,100% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(1px) rotate(1deg); } 66% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes mk1-shad1 { 0%,100% { transform: scaleX(1); opacity: 0.6; } 50% { transform: scaleX(1.1); opacity: 0.8; } }
@keyframes mk1-shad2 { 0%,100% { transform: scaleX(1); opacity: 0.5; } 30% { transform: scaleX(0.9); opacity: 0.7; } 70% { transform: scaleX(1.2); opacity: 0.4; } }

/* max-trust-father */

.scn-max-trust-father {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #2a1f14 40%, #1a1410 100%),
    radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, transparent 60%);
}
.scn-max-trust-father .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1f14 100%);
  animation: mk2-wall 12s ease-in-out infinite alternate;
}
.scn-max-trust-father .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1f14 0%, #1a1410 100%);
  border-radius: 15% 25% 0 0 / 8% 12% 0 0;
}
.scn-max-trust-father .desk {
  position: absolute; bottom: 24%; left: 50%; width: 130px; height: 45px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 3% 3% 2% 2%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-max-trust-father .candle {
  position: absolute; bottom: 34%; left: 55%; width: 10px; height: 32px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4b060 0%, #a08040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 25px 8px #e0b870, 0 0 50px 16px rgba(224,184,112,0.3);
  animation: mk2-candle 3.5s ease-in-out infinite alternate;
}
.scn-max-trust-father .figure-left {
  position: absolute; bottom: 27%; left: 32%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk2-figleft 5s ease-in-out infinite;
}
.scn-max-trust-father .figure-right {
  position: absolute; bottom: 28%; right: 28%; width: 24px; height: 64px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk2-figright 6s ease-in-out infinite;
}
.scn-max-trust-father .paper {
  position: absolute; bottom: 32%; left: 48%; width: 24px; height: 16px;
  background: #c0a060;
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mk2-paper 8s ease-in-out infinite alternate;
}
.scn-max-trust-father .glow {
  position: absolute; bottom: 32%; left: 50%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(224,184,112,0.15) 0%, transparent 100%);
  animation: mk2-glow 4s ease-in-out infinite alternate;
}
@keyframes mk2-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes mk2-candle { 0% { transform: translateX(-50%) scaleY(1); box-shadow: 0 0 25px 8px #e0b870; } 50% { transform: translateX(-50%) scaleY(1.12); box-shadow: 0 0 35px 12px #f0c880; } 100% { transform: translateX(-50%) scaleY(0.95); box-shadow: 0 0 20px 6px #d0a860; } }
@keyframes mk2-figleft { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-1px) rotate(-1deg); } 60% { transform: translateX(1px) rotate(1deg); } }
@keyframes mk2-figright { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 75% { transform: translateX(1px) rotate(1deg); } }
@keyframes mk2-paper { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-7deg) translateY(2px); } }
@keyframes mk2-glow { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(1); } }

/* max-shocked-patent */

.scn-max-shocked-patent {
  background: 
    linear-gradient(180deg, #1f1a1a 0%, #121010 40%, #0a0808 100%),
    radial-gradient(ellipse at 60% 50%, #2a1f1a 0%, transparent 70%);
}
.scn-max-shocked-patent .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a1210 100%);
  animation: mk3-wall 8s ease-in-out infinite alternate;
}
.scn-max-shocked-patent .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%);
  border-radius: 30% 20% 0 0 / 12% 8% 0 0;
}
.scn-max-shocked-patent .desk {
  position: absolute; bottom: 22%; left: 50%; width: 110px; height: 38px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.7);
}
.scn-max-shocked-patent .candle {
  position: absolute; bottom: 30%; left: 52%; width: 8px; height: 28px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b09050 0%, #806840 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 18px 4px #c8a860, 0 0 36px 8px rgba(200,168,96,0.3);
  animation: mk3-candle 4.5s ease-in-out infinite alternate;
}
.scn-max-shocked-patent .figure-left {
  position: absolute; bottom: 25%; left: 34%; width: 22px; height: 56px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk3-figleft 6s ease-in-out infinite;
}
.scn-max-shocked-patent .figure-right {
  position: absolute; bottom: 26%; right: 28%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk3-figright 7s ease-in-out infinite;
  transform: rotate(10deg) translateX(-2px); /* shock posture */
}
.scn-max-shocked-patent .paper-falling {
  position: absolute; bottom: 20%; left: 45%; width: 20px; height: 14px;
  background: #b09050;
  border-radius: 1px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: mk3-paper 4s ease-in infinite;
}
.scn-max-shocked-patent .shock-lines {
  position: absolute; bottom: 30%; left: 55%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,160,100,0.08) 0%, transparent 100%);
  animation: mk3-shocklines 2s ease-in-out infinite alternate;
}
@keyframes mk3-wall { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes mk3-candle { 0% { transform: translateX(-50%) scaleY(1); box-shadow: 0 0 18px 4px #c8a860; } 50% { transform: translateX(-50%) scaleY(1.08); box-shadow: 0 0 28px 8px #d8b860; } 100% { transform: translateX(-50%) scaleY(0.92); box-shadow: 0 0 12px 2px #b89050; } }
@keyframes mk3-figleft { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(3px) rotate(1deg); } }
@keyframes mk3-figright { 0%,100% { transform: translateX(0) rotate(10deg); } 20% { transform: translateX(3px) rotate(15deg); } 40% { transform: translateX(-2px) rotate(5deg); } 60% { transform: translateX(2px) rotate(12deg); } 80% { transform: translateX(-1px) rotate(8deg); } }
@keyframes mk3-paper { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 10% { transform: translateY(10px) rotate(30deg); } 30% { transform: translateY(30px) rotate(60deg); opacity: 0.8; } 50% { transform: translateY(50px) rotate(90deg); opacity: 0.5; } 100% { transform: translateY(80px) rotate(120deg); opacity: 0; } }
@keyframes mk3-shocklines { 0% { opacity: 0; transform: scale(0.5); } 50% { opacity: 0.4; transform: scale(1.2); } 100% { opacity: 0; transform: scale(0.8); } }

/* max-warns-inauspicious */

.scn-max-warns-inauspicious {
  background: 
    linear-gradient(180deg, #1a1a1a 0%, #121212 40%, #0a0a0a 100%),
    radial-gradient(ellipse at 30% 50%, #2a2020 0%, transparent 70%);
}
.scn-max-warns-inauspicious .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2020 0%, #1a1414 100%);
  animation: mk4-wall 11s ease-in-out infinite alternate;
}
.scn-max-warns-inauspicious .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a1414 0%, #0a0808 100%);
  border-radius: 25% 20% 0 0 / 10% 8% 0 0;
}
.scn-max-warns-inauspicious .desk {
  position: absolute; bottom: 26%; left: 50%; width: 120px; height: 42px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a22 0%, #1a1410 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-max-warns-inauspicious .candle {
  position: absolute; bottom: 34%; left: 48%; width: 9px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c09850 0%, #907040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 22px 6px #d0a860, 0 0 44px 12px rgba(208,168,96,0.3);
  animation: mk4-candle 4s ease-in-out infinite alternate;
}
.scn-max-warns-inauspicious .figure-left {
  position: absolute; bottom: 28%; left: 32%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk4-figleft 6s ease-in-out infinite;
}
.scn-max-warns-inauspicious .figure-right {
  position: absolute; bottom: 28%; right: 26%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mk4-figright 7s ease-in-out infinite;
}
.scn-max-warns-inauspicious .arm-raise {
  position: absolute; bottom: 40%; left: 42%; width: 4px; height: 20px;
  background: #1a1410;
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  transform: rotate(-30deg);
  animation: mk4-arm 3s ease-in-out infinite alternate;
}
.scn-max-warns-inauspicious .shadow-loom {
  position: absolute; bottom: 25%; left: 20%; width: 80px; height: 60px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 100%);
  animation: mk4-shadow 8s ease-in-out infinite alternate;
}
@keyframes mk4-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes mk4-candle { 0% { transform: translateX(-50%) scaleY(1); box-shadow: 0 0 22px 6px #d0a860; } 50% { transform: translateX(-50%) scaleY(1.1); box-shadow: 0 0 32px 10px #e0b870; } 100% { transform: translateX(-50%) scaleY(0.95); box-shadow: 0 0 18px 4px #c09850; } }
@keyframes mk4-figleft { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-2px) rotate(-2deg); } 60% { transform: translateX(2px) rotate(1deg); } }
@keyframes mk4-figright { 0%,100% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(1px) rotate(1deg); } 40% { transform: translateX(-1px) rotate(-1deg); } 60% { transform: translateX(3px) rotate(2deg); } 80% { transform: translateX(-2px) rotate(0deg); } }
@keyframes mk4-arm { 0% { transform: rotate(-30deg); } 50% { transform: rotate(-50deg); } 100% { transform: rotate(-20deg); } }
@keyframes mk4-shadow { 0% { opacity: 0.3; transform: scaleX(0.8); } 50% { opacity: 0.6; transform: scaleX(1.2); } 100% { opacity: 0.4; transform: scaleX(0.9); } }

.scn-anspessade-begins-address {
  background: linear-gradient(180deg, #8b7355 0%, #6b4f3a 40%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 0%, #e0c090 0%, transparent 60%);
}
.scn-anspessade-begins-address .bg-wall { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #a08060 0%, #8b7355 60%, #5a4030 100%); }
.scn-anspessade-begins-address .bg-floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-top: 2px solid #6b4f3a; }
.scn-anspessade-begins-address .column-left { position:absolute; left:10%; top:0; width:4%; height:90%; background: linear-gradient(90deg, #9a7a5a 0%, #7a5a3a 50%, #5a3a2a 100%); border-right: 2px solid #5a3a2a; }
.scn-anspessade-begins-address .column-right { position:absolute; right:10%; top:0; width:4%; height:90%; background: linear-gradient(90deg, #5a3a2a 0%, #7a5a3a 50%, #9a7a5a 100%); border-left: 2px solid #5a3a2a; }
.scn-anspessade-begins-address .window { position:absolute; top:10%; left:50%; width:30%; height:40%; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ffe8c0 0%, #c0a070 60%, transparent 80%); border: 4px solid #6b4f3a; border-radius: 4px; animation: ab-window-glow 8s ease-in-out infinite alternate; }
.scn-anspessade-begins-address .light-beam { position:absolute; top:0; left:35%; right:35%; height:100%; background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 90%); filter: blur(20px); animation: ab-lightflicker 4s ease-in-out infinite alternate; }
.scn-anspessade-begins-address .figure-anspessade { position:absolute; bottom:14%; left:35%; width:8%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ab-figstep 6s ease-in-out infinite; }
.scn-anspessade-begins-address .figure-wallenstein { position:absolute; bottom:14%; left:60%; width:7%; height:38%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ab-figstep 6s ease-in-out infinite reverse; }
.scn-anspessade-begins-address .shadow { position:absolute; bottom:14%; left:30%; right:30%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); filter: blur(8px); animation: ab-shadowmove 6s ease-in-out infinite; }

@keyframes ab-window-glow { 0% { opacity:0.7; box-shadow:0 0 30px 10px #ffe8c0; } 50% { opacity:1; box-shadow:0 0 60px 20px #fff0d0; } 100% { opacity:0.8; box-shadow:0 0 40px 15px #ffe0b0; } }
@keyframes ab-lightflicker { 0% { opacity:0.2; } 50% { opacity:0.5; } 100% { opacity:0.3; } }
@keyframes ab-figstep { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(0deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ab-shadowmove { 0% { transform: scaleX(1); opacity:0.6; } 50% { transform: scaleX(1.1); opacity:0.4; } 100% { transform: scaleX(1); opacity:0.6; } }

.scn-anspessade-reads-letter {
  background: linear-gradient(180deg, #8b6f50 0%, #6b4f3a 40%, #4a3020 100%),
              radial-gradient(ellipse at 60% 70%, #e0c090 0%, transparent 50%);
}
.scn-anspessade-reads-letter .bg-bookshelf { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #6b4f3a 0%, #4a3020 40%, #2a1a0a 100%); border-bottom: 4px solid #3a2a1a; }
.scn-anspessade-reads-letter .bg-bookshelf::before { content:''; position:absolute; top:10%; left:10%; width:80%; height:5%; background: #4a3a2a; border-radius: 2px; box-shadow: 0 30px 0 #4a3a2a, 0 60px 0 #4a3a2a; }
.scn-anspessade-reads-letter .desk { position:absolute; bottom:10%; left:20%; right:20%; height:45%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2010 100%); border-radius: 4px 4px 0 0; border-top: 3px solid #7a5a3a; }
.scn-anspessade-reads-letter .letter { position:absolute; bottom:28%; left:40%; width:18%; height:20%; background: linear-gradient(135deg, #f5e6d0 0%, #d4c4a0 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); animation: ar-letterflutter 5s ease-in-out infinite; }
.scn-anspessade-reads-letter .hand { position:absolute; bottom:26%; left:36%; width:6%; height:12%; background: linear-gradient(180deg, #8b6f50 0%, #5a4030 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: ar-handturn 3s ease-in-out infinite alternate; }
.scn-anspessade-reads-letter .candle { position:absolute; bottom:12%; left:22%; width:3%; height:18%; background: linear-gradient(180deg, #e0c090 0%, #c0a070 50%, #8b7355 100%); border-radius: 1px 1px 3px 3px; }
.scn-anspessade-reads-letter .flame { position:absolute; bottom:30%; left:22.5%; width:2%; height:5%; background: radial-gradient(circle, #ffe8c0 0%, #ffa050 50%, transparent 70%); border-radius: 50%; animation: ar-flameflicker 1.5s ease-in-out infinite alternate; }
.scn-anspessade-reads-letter .wax-drop { position:absolute; bottom:12%; left:21.5%; width:1.5%; height:3%; background: linear-gradient(180deg, #e0c090 0%, #c0a070 100%); border-radius: 50% 50% 40% 40%; animation: ar-waxdrip 6s ease-in-out infinite; }
.scn-anspessade-reads-letter .ink-bottle { position:absolute; bottom:10%; left:55%; width:4%; height:7%; background: linear-gradient(180deg, #1a0e05 0%, #0a0500 100%); border-radius: 30% 30% 20% 20%; border: 1px solid #3a2a1a; }

@keyframes ar-letterflutter { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes ar-handturn { 0% { transform: rotate(0deg); } 100% { transform: rotate(-8deg); } }
@keyframes ar-flameflicker { 0% { opacity:0.7; transform: scaleY(0.9); } 50% { opacity:1; transform: scaleY(1.1); } 100% { opacity:0.8; transform: scaleY(1); } }
@keyframes ar-waxdrip { 0% { transform: translateY(0) scaleY(1); } 30% { transform: translateY(2px) scaleY(0.8); } 60% { transform: translateY(4px) scaleY(0.6); } 100% { transform: translateY(0) scaleY(1); } }

.scn-cuirassiers-pledge-loyalty {
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 40%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 30%, #d0b090 0%, transparent 60%);
}
.scn-cuirassiers-pledge-loyalty .bg-hall { position:absolute; inset:0 0 10% 0; background: linear-gradient(90deg, #5a4a3a 0%, #7a6a5a 50%, #5a4a3a 100%); }
.scn-cuirassiers-pledge-loyalty .floor-flagstone { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-cuirassiers-pledge-loyalty .figure-left { position:absolute; bottom:10%; left:20%; width:8%; height:35%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: cl-figuresway 5s ease-in-out infinite; }
.scn-cuirassiers-pledge-loyalty .figure-center { position:absolute; bottom:10%; left:46%; width:8%; height:38%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: cl-figuresway 5s ease-in-out infinite 0.5s; }
.scn-cuirassiers-pledge-loyalty .figure-right { position:absolute; bottom:10%; right:20%; width:8%; height:35%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: cl-figuresway 5s ease-in-out infinite 1s; }
.scn-cuirassiers-pledge-loyalty .banner { position:absolute; bottom:30%; left:50%; width:12%; height:25%; transform:translateX(-50%); background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius: 2px; border-left: 2px solid #8b4513; animation: cl-bannerwave 6s ease-in-out infinite; }
.scn-cuirassiers-pledge-loyalty .spear-1 { position:absolute; bottom:30%; left:22%; width:1.5%; height:40%; background: linear-gradient(180deg, #a08060 0%, #6b4f3a 100%); transform: rotate(-5deg); transform-origin: bottom; animation: cl-spearsway 8s ease-in-out infinite; }
.scn-cuirassiers-pledge-loyalty .spear-2 { position:absolute; bottom:30%; left:72%; width:1.5%; height:40%; background: linear-gradient(180deg, #a08060 0%, #6b4f3a 100%); transform: rotate(5deg); transform-origin: bottom; animation: cl-spearsway 8s ease-in-out infinite 1s; }

@keyframes cl-figuresway { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes cl-bannerwave { 0% { transform: translateX(-50%) rotate(-2deg); } 30% { transform: translateX(-50%) rotate(0deg) scaleY(1.02); } 60% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes cl-spearsway { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }

.scn-anspessade-proposes-pledge {
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 50%, #3a2a1a 100%),
              radial-gradient(ellipse at 50% 60%, #d0b090 0%, transparent 70%);
}
.scn-anspessade-proposes-pledge .bg-tent { position:absolute; inset:0; background: linear-gradient(135deg, #8b7355 0%, #6b4f3a 40%, #4a3020 100%); }
.scn-anspessade-proposes-pledge .table-map { position:absolute; bottom:15%; left:25%; right:25%; height:30%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2010 100%); border-radius: 4px; border-top: 2px solid #7a5a3a; }
.scn-anspessade-proposes-pledge .figure-anspessade { position:absolute; bottom:15%; left:30%; width:8%; height:38%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: ap-gesture 4s ease-in-out infinite; }
.scn-anspessade-proposes-pledge .figure-wallenstein { position:absolute; bottom:15%; right:30%; width:8%; height:40%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: ap-bow 6s ease-in-out infinite; }
.scn-anspessade-proposes-pledge .candlestick { position:absolute; bottom:20%; left:46%; width:2%; height:14%; background: linear-gradient(180deg, #c0a070 0%, #8b7355 100%); border-radius: 2px; }
.scn-anspessade-proposes-pledge .flame-glow { position:absolute; bottom:33%; left:45.5%; width:3%; height:6%; background: radial-gradient(circle, #ffe8c0 0%, #ffa050 50%, transparent 70%); border-radius: 50%; animation: ap-flame 2s ease-in-out infinite alternate; }
.scn-anspessade-proposes-pledge .paper-scroll { position:absolute; bottom:22%; left:25%; width:10%; height:8%; background: linear-gradient(135deg, #f5e6d0 0%, #d4c4a0 100%); border-radius: 2px; transform: rotate(10deg); animation: ap-paperrustle 7s ease-in-out infinite; }
.scn-anspessade-proposes-pledge .inkwell { position:absolute; bottom:16%; left:38%; width:3%; height:5%; background: linear-gradient(180deg, #0a0500 0%, #1a0e05 100%); border-radius: 30% 30% 20% 20%; border: 1px solid #3a2a1a; }

@keyframes ap-gesture { 0% { transform: rotate(-3deg) translateY(0); } 30% { transform: rotate(5deg) translateY(-2px); } 60% { transform: rotate(-1deg) translateY(0); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes ap-bow { 0% { transform: rotate(0deg); } 40% { transform: rotate(-8deg); } 70% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes ap-flame { 0% { opacity:0.8; transform: scaleY(0.9); } 50% { opacity:1; transform: scaleY(1.2); } 100% { opacity:0.9; transform: scaleY(1); } }
@keyframes ap-paperrustle { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-1px); } 100% { transform: rotate(10deg) translateY(0); } }

/* Scene: wallenstein-strategem-inertia */

.scn-wallenstein-strategem-inertia {
  background: 
    linear-gradient(180deg, #1a1c2e 0%, #2a2d40 30%, #1f2230 70%, #151725 100%),
    radial-gradient(ellipse at 70% 60%, #2a3d55 0%, transparent 60%);
}
.scn-wallenstein-strategem-inertia .bg-wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #2c3140 0%, #1a1c28 100%);
  animation: sti-wall 12s ease-in-out infinite alternate;
}
.scn-wallenstein-strategem-inertia .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1c1a 0%, #0f100e 100%);
  border-radius: 10% 10% 0 0;
}
.scn-wallenstein-strategem-inertia .desk {
  position: absolute; bottom: 25%; left: 25%; width: 50%; height: 20%;
  background: linear-gradient(135deg, #3a3028 0%, #251c14 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  animation: sti-desk 8s ease-in-out infinite;
}
.scn-wallenstein-strategem-inertia .map {
  position: absolute; bottom: 28%; left: 32%; width: 30%; height: 12%;
  background: linear-gradient(135deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 2px; opacity: 0.6; transform: rotate(3deg);
  animation: sti-map 15s ease-in-out infinite alternate;
}
.scn-wallenstein-strategem-inertia .candle {
  position: absolute; bottom: 36%; left: 42%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #e8c878 0%, #8a6a2a 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 12px 2px #b09040;
  animation: sti-candle 4s ease-in-out infinite;
}
.scn-wallenstein-strategem-inertia .candle-glow {
  position: absolute; bottom: 36%; left: 42%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(200,160,80,0.25) 0%, transparent 70%);
  transform: translate(-26px, -18px);
  animation: sti-glow 3s ease-in-out infinite alternate;
}
.scn-wallenstein-strategem-inertia .figure-seated {
  position: absolute; bottom: 24%; left: 40%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #282828 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sti-figure 9s ease-in-out infinite;
}
.scn-wallenstein-strategem-inertia .figure-shadow {
  position: absolute; bottom: 20%; left: 42%; width: 16%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: sti-shadow 10s ease-in-out infinite alternate;
}
@keyframes sti-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes sti-desk { 0% { transform: translateY(0) } 50% { transform: translateY(1px) } 100% { transform: translateY(0) } }
@keyframes sti-map { 0% { transform: rotate(3deg) translateY(0) } 50% { transform: rotate(4deg) translateY(-1px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes sti-candle { 0% { height:24px; } 50% { height:26px; } 100% { height:24px; } }
@keyframes sti-glow { 0% { opacity:0.5; transform: scale(1) translate(-26px, -18px) } 100% { opacity:0.9; transform: scale(1.2) translate(-26px, -18px) } }
@keyframes sti-figure { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes sti-shadow { 0% { opacity:0.4 } 50% { opacity:0.6 } 100% { opacity:0.4 } }

/* Scene: wallenstein-trusts-octavio */

.scn-wallenstein-trusts-octavio {
  background: 
    linear-gradient(180deg, #2a1a10 0%, #3a2518 30%, #4a3020 60%, #2a1a10 100%),
    radial-gradient(ellipse at 40% 70%, #8a5030 0%, transparent 50%);
}
.scn-wallenstein-trusts-octavio .bg-room {
  position: absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #2a1a12 0%, #3a2518 60%, #1f1008 100%);
  animation: wto-bg 10s ease-in-out infinite alternate;
}
.scn-wallenstein-trusts-octavio .fireplace {
  position: absolute; bottom:30%; left:15%; width:30%; height:40%;
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 0 40px rgba(180,80,20,0.3);
}
.scn-wallenstein-trusts-octavio .fire-glow {
  position: absolute; bottom:25%; left:18%; width:100px; height:100px;
  background: radial-gradient(circle, rgba(220,120,40,0.3) 0%, transparent 70%);
  animation: wto-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-trusts-octavio .figure-left {
  position: absolute; bottom:12%; left:30%; width:18%; height:48%;
  background: linear-gradient(180deg, #1e1e2a 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wto-left 6s ease-in-out infinite;
}
.scn-wallenstein-trusts-octavio .figure-right {
  position: absolute; bottom:12%; right:30%; width:18%; height:48%;
  background: linear-gradient(180deg, #2a2a30 0%, #101018 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wto-right 6s ease-in-out infinite reverse;
}
.scn-wallenstein-trusts-octavio .handshake {
  position: absolute; bottom:38%; left:48%; width:12%; height:12%;
  background: linear-gradient(135deg, #3a3028 0%, #1a1410 100%);
  border-radius: 30% 30% 30% 30% / 50% 50% 50% 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: wto-hand 5s ease-in-out infinite;
}
.scn-wallenstein-trusts-octavio .table {
  position: absolute; bottom:8%; left:35%; width:30%; height:8%;
  background: linear-gradient(135deg, #3a2a20 0%, #2a1a10 100%);
  border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-trusts-octavio .wine-glasses {
  position: absolute; bottom:14%; left:44%; width:12px; height:16px;
  background: linear-gradient(180deg, #c8a878 0%, #8a6a3a 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: -20px 0 0 0 #c8a878, -40px 0 0 0 #b89868;
  animation: wto-wine 8s ease-in-out infinite alternate;
}
@keyframes wto-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes wto-glow { 0% { opacity:0.3; transform: scale(1) } 50% { opacity:0.6; transform: scale(1.1) } 100% { opacity:0.4; transform: scale(0.95) } }
@keyframes wto-left { 0% { transform: rotate(0) } 25% { transform: rotate(2deg) } 50% { transform: rotate(0) } 75% { transform: rotate(-2deg) } 100% { transform: rotate(0) } }
@keyframes wto-right { 0% { transform: rotate(0) } 25% { transform: rotate(-2deg) } 50% { transform: rotate(0) } 75% { transform: rotate(2deg) } 100% { transform: rotate(0) } }
@keyframes wto-hand { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.05) } 100% { transform: translateX(-50%) scaleY(1) } }
@keyframes wto-wine { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }

/* Scene: wallenstein-max-arrives */

.scn-wallenstein-max-arrives {
  background: 
    linear-gradient(180deg, #101218 0%, #1a1c2a 40%, #222438 70%, #151620 100%),
    radial-gradient(ellipse at 50% 80%, #2a3a50 0%, transparent 60%);
}
.scn-wallenstein-max-arrives .bg-dark {
  position: absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #1a1c2a 0%, #101218 100%);
  animation: wma-bg 14s ease-in-out infinite alternate;
}
.scn-wallenstein-max-arrives .door-frame {
  position: absolute; bottom:20%; left:30%; width:40%; height:60%;
  background: linear-gradient(90deg, #2a2a3a 0%, #1a1a2a 50%, #2a2a3a 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}
.scn-wallenstein-max-arrives .figure-wall {
  position: absolute; bottom:15%; left:35%; width:14%; height:50%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: wma-wall 8s ease-in-out infinite;
}
.scn-wallenstein-max-arrives .figure-max {
  position: absolute; bottom:15%; right:35%; width:14%; height:50%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wma-max 7s ease-in-out infinite;
}
.scn-wallenstein-max-arrives .floor-shadow {
  position: absolute; bottom:12%; left:20%; width:60%; height:8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: wma-shadow 10s ease-in-out infinite alternate;
}
.scn-wallenstein-max-arrives .light-streak {
  position: absolute; top:10%; left:48%; width:4%; height:50%;
  background: linear-gradient(180deg, rgba(200,200,255,0.1) 0%, transparent 100%);
  filter: blur(3px);
  animation: wma-streak 6s ease-in-out infinite;
}
.scn-wallenstein-max-arrives .tension-line {
  position: absolute; bottom:35%; left:40%; width:20%; height:2px;
  background: linear-gradient(90deg, transparent, rgba(200,100,100,0.3), transparent);
  animation: wma-tension 3s ease-in-out infinite alternate;
}
@keyframes wma-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes wma-wall { 0% { transform: scaleX(-1) translateX(0) } 50% { transform: scaleX(-1) translateX(5px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes wma-max { 0% { transform: translateX(0) } 50% { transform: translateX(-5px) } 100% { transform: translateX(0) } }
@keyframes wma-shadow { 0% { opacity:0.5 } 50% { opacity:0.7 } 100% { opacity:0.5 } }
@keyframes wma-streak { 0% { opacity:0 } 50% { opacity:0.5 } 100% { opacity:0 } }
@keyframes wma-tension { 0% { transform: scaleX(1); opacity:0.2 } 50% { transform: scaleX(1.3); opacity:0.6 } 100% { transform: scaleX(1); opacity:0.2 } }

/* Scene: wallenstein-opens-to-max */

.scn-wallenstein-opens-to-max {
  background: 
    linear-gradient(180deg, #2a1a0e 0%, #3a2514 30%, #2a1a0e 70%, #1a0e06 100%),
    radial-gradient(ellipse at 60% 50%, #7a5030 0%, transparent 50%);
}
.scn-wallenstein-opens-to-max .bg-warm {
  position: absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #3a2012 0%, #2a180a 100%);
  animation: wom-bg 12s ease-in-out infinite alternate;
}
.scn-wallenstein-opens-to-max .candle-glow-large {
  position: absolute; bottom:40%; left:20%; width:120px; height:120px;
  background: radial-gradient(circle, rgba(220,160,80,0.2) 0%, transparent 70%);
  animation: wom-glow 5s ease-in-out infinite alternate;
}
.scn-wallenstein-opens-to-max .backdrop-curtain {
  position: absolute; bottom:15%; left:5%; width:90%; height:50%;
  background: linear-gradient(90deg, #2a1a10 0%, #3a2a18 50%, #2a1a10 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 20% 20%;
  opacity:0.6;
}
.scn-wallenstein-opens-to-max .figure-wallenstein {
  position: absolute; bottom:8%; left:25%; width:18%; height:55%;
  background: linear-gradient(180deg, #1a141a 0%, #0a0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wom-wall 7s ease-in-out infinite;
}
.scn-wallenstein-opens-to-max .figure-max {
  position: absolute; bottom:8%; right:25%; width:18%; height:55%;
  background: linear-gradient(180deg, #2a2028 0%, #10101a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wom-max 7s ease-in-out infinite reverse;
}
.scn-wallenstein-opens-to-max .document {
  position: absolute; bottom:45%; left:48%; width:12%; height:16%;
  background: linear-gradient(135deg, #c8a060 0%, #a0803a 100%);
  border-radius: 2px;
  transform: translateX(-50%) rotate(-15deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: wom-doc 9s ease-in-out infinite;
}
.scn-wallenstein-opens-to-max .hand-extended {
  position: absolute; bottom:38%; left:35%; width:8%; height:10%;
  background: linear-gradient(180deg, #2a2020 0%, #1a1418 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(-30deg);
  animation: wom-hand 5s ease-in-out infinite;
}
.scn-wallenstein-opens-to-max .floor-flag {
  position: absolute; bottom:5%; left:30%; width:40%; height:6%;
  background: linear-gradient(135deg, #2a1a10 0%, #1a0e06 100%);
  border-radius: 4px;
}
@keyframes wom-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes wom-glow { 0% { opacity:0.2; transform: scale(1) } 50% { opacity:0.5; transform: scale(1.1) } 100% { opacity:0.3; transform: scale(0.95) } }
@keyframes wom-wall { 0% { transform: rotate(0) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0) } }
@keyframes wom-max { 0% { transform: rotate(0) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(0) } }
@keyframes wom-doc { 0% { transform: translateX(-50%) rotate(-15deg) translateY(0) } 50% { transform: translateX(-50%) rotate(-13deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(-15deg) translateY(0) } }
@keyframes wom-hand { 0% { transform: rotate(-30deg) translateX(0) } 50% { transform: rotate(-25deg) translateX(3px) } 100% { transform: rotate(-30deg) translateX(0) } }

/* Scene 1: octavio-rhinegrave-route */

.scn-octavio-rhinegrave-route {
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
}
.scn-octavio-rhinegrave-route .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #3a2a1a 100%); animation: orr-breathe 12s ease-in-out infinite alternate;
}
.scn-octavio-rhinegrave-route .table {
  position: absolute; bottom: 12%; left: 10%; width: 80%; height: 18%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 -4px 8px rgba(0,0,0,.6);
}
.scn-octavio-rhinegrave-route .map {
  position: absolute; bottom: 20%; left: 25%; width: 40%; height: 14%;
  background: linear-gradient(135deg, #b8a87a 0%, #8a7a5a 60%, #6a5a3a 100%); border-radius: 2px; transform: rotate(-4deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: orr-map 20s ease-in-out infinite alternate;
}
.scn-octavio-rhinegrave-route .letter {
  position: absolute; bottom: 26%; left: 50%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #d8c8a0 0%, #b8a88a 100%); border-radius: 2px; box-shadow: 0 0 8px rgba(180,160,120,.3); transform: translateX(-50%); animation: orr-letter 3s ease-in-out infinite alternate;
}
.scn-octavio-rhinegrave-route .candle {
  position: absolute; bottom: 28%; left: 44%; width: 4%; height: 16%;
  background: linear-gradient(180deg, #ffd080 0%, #ccb060 40%, #8a6a30 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: 0 0 20px 8px rgba(255,208,128,.3); animation: orr-candle 2s ease-in-out infinite alternate;
}
.scn-octavio-rhinegrave-route .figure {
  position: absolute; bottom: 14%; left: 15%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: orr-figure 5s ease-in-out infinite;
}
@keyframes orr-breathe { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes orr-map { 0% { transform: rotate(-4deg) scale(1) } 50% { transform: rotate(-2deg) scale(1.02) } 100% { transform: rotate(-5deg) scale(.98) } }
@keyframes orr-letter { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes orr-candle { 0% { opacity: .8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.04) } 100% { opacity: .85; transform: scaleY(.96) } }
@keyframes orr-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2%) rotate(1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2%) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }

/* Scene 2: octavio-still-believe */

.scn-octavio-still-believe {
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #3a2a2a 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 80%);
}
.scn-octavio-still-believe .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #3a2a2a 100%); animation: ost-breathe 15s ease-in-out infinite alternate;
}
.scn-octavio-still-believe .chair {
  position: absolute; bottom: 10%; right: 20%; width: 18%; height: 24%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-radius: 6% 6% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,.5);
}
.scn-octavio-still-believe .figure-oc {
  position: absolute; bottom: 10%; right: 22%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ost-figure-oc 6s ease-in-out infinite;
}
.scn-octavio-still-believe .figure-max {
  position: absolute; bottom: 12%; left: 28%; width: 10%; height: 36%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ost-figure-max 7s ease-in-out infinite;
}
.scn-octavio-still-believe .lantern {
  position: absolute; bottom: 34%; left: 10%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #ccb060 40%, #8a6a30 100%); border-radius: 0 0 20% 20% / 0 0 40% 40%; box-shadow: 0 0 30px 10px rgba(255,208,128,.2); animation: ost-lantern 3s ease-in-out infinite alternate;
}
@keyframes ost-breathe { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes ost-figure-oc { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(2%) rotate(2deg) } 66% { transform: translateX(-1%) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ost-figure-max { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3%) rotate(3deg) } 50% { transform: translateX(-2%) rotate(-2deg) } 75% { transform: translateX(1%) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ost-lantern { 0% { opacity: .7; box-shadow: 0 0 20px 5px rgba(255,208,128,.15) } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,208,128,.3) } 100% { opacity: .8; box-shadow: 0 0 25px 8px rgba(255,208,128,.2) } }

/* Scene 3: max-storm-cloud-brighten */

.scn-max-storm-cloud-brighten {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #4a3a2a 50%, #6a4a2a 70%, #8a6a3a 100%),
    radial-gradient(ellipse at 70% 20%, #d8a040 0%, transparent 60%);
}
.scn-max-storm-cloud-brighten .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #4a3a2a 50%, #6a4a2a 70%, #8a6a3a 100%); animation: msb-glow 10s ease-in-out infinite alternate;
}
.scn-max-storm-cloud-brighten .window-frame {
  position: absolute; top: 5%; left: 5%; width: 40%; height: 50%;
  border: 8px solid #3a2a1a; border-radius: 8px; background: transparent; box-shadow: 0 0 20px rgba(0,0,0,.5);
}
.scn-max-storm-cloud-brighten .storm-cloud {
  position: absolute; top: 8%; left: 8%; width: 34%; height: 30%;
  background: radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, #1a1a2a 70%, transparent 100%); border-radius: 50%; filter: blur(6px); animation: msb-cloud 20s ease-in-out infinite alternate;
}
.scn-max-storm-cloud-brighten .bright-edge {
  position: absolute; top: 10%; left: 10%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 0% 50%, #ffd080 0%, #ffa030 40%, transparent 100%); filter: blur(8px); animation: msb-bright 4s ease-in-out infinite alternate;
}
.scn-max-storm-cloud-brighten .fire-glow {
  position: absolute; bottom: 10%; right: 10%; width: 20%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, #ffa030 0%, #8a4a20 60%, transparent 100%); filter: blur(15px); animation: msb-fire 3s ease-in-out infinite alternate;
}
.scn-max-storm-cloud-brighten .figure {
  position: absolute; bottom: 14%; left: 30%; width: 8%; height: 26%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: msb-figure 6s ease-in-out infinite;
}
@keyframes msb-glow { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes msb-cloud { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-5%) scale(1.05) } 100% { transform: translateX(5%) scale(.95) } }
@keyframes msb-bright { 0% { opacity: .4; transform: scaleX(1) } 50% { opacity: 1; transform: scaleX(1.4) } 100% { opacity: .5; transform: scaleX(.9) } }
@keyframes msb-fire { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .7; transform: scale(.95) } }
@keyframes msb-figure { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(2%) rotate(2deg) } 66% { transform: translateX(-2%) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }

/* Scene 4: cornet-message */

.scn-cornet-message {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #4a3a2a 100%),
    radial-gradient(ellipse at 30% 50%, #3a2a1a 0%, transparent 70%);
}
.scn-cornet-message .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 50%, #4a3a2a 100%); animation: cm-breathe 18s ease-in-out infinite alternate;
}
.scn-cornet-message .door {
  position: absolute; left: 0; top: 20%; width: 15%; height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%); border-right: 4px solid #5a4a3a; box-shadow: 4px 0 8px rgba(0,0,0,.5);
}
.scn-cornet-message .figure-oct {
  position: absolute; bottom: 14%; left: 20%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-figure-oct 5s ease-in-out infinite;
}
.scn-cornet-message .figure-cor {
  position: absolute; bottom: 12%; left: 5%; width: 10%; height: 32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cm-figure-cor 6s ease-in-out infinite;
}
.scn-cornet-message .letter {
  position: absolute; bottom: 28%; left: 14%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #d8c8a0 0%, #b8a88a 100%); border-radius: 2px; box-shadow: 0 0 6px rgba(180,160,120,.3); animation: cm-letter 2s ease-in-out infinite alternate;
}
.scn-cornet-message .shadow {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, transparent 0%, #000 100%); opacity: .3; animation: cm-shadow 8s ease-in-out infinite alternate;
}
@keyframes cm-breathe { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes cm-figure-oct { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(1%) rotate(1deg) } 66% { transform: translateX(-1%) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cm-figure-cor { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2%) rotate(2deg) } 50% { transform: translateX(-1%) rotate(-1deg) } 75% { transform: translateX(1%) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cm-letter { 0% { transform: rotate(0) scale(1) } 50% { transform: rotate(3deg) scale(1.02) } 100% { transform: rotate(-2deg) scale(.98) } }
@keyframes cm-shadow { 0% { opacity: .25 } 50% { opacity: .4 } 100% { opacity: .3 } }

.scn-countess-kneel-emperor {
  background: linear-gradient(135deg, #1a1210 0%, #2a1a14 40%, #1e1412 100%),
              radial-gradient(ellipse at 50% 80%, #3a2218 0%, transparent 70%);
}
.scn-countess-kneel-emperor .bg-shadow { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, #0f0a08 0%, transparent 60%); animation: cke-shadow 6s ease-in-out infinite alternate; }
.scn-countess-kneel-emperor .throne { position:absolute; bottom:30%; left:50%; width:90px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; box-shadow: 0 10px 20px rgba(0,0,0,.6); }
.scn-countess-kneel-emperor .candle { position:absolute; bottom:38%; left:58%; width:8px; height:20px; background: linear-gradient(180deg, #f0d088 0%, #c08040 80%); border-radius: 2px; box-shadow: 0 0 16px 8px rgba(192,128,64,.5); animation: cke-candle 2s ease-in-out infinite; }
.scn-countess-kneel-emperor .figure-kneel { position:absolute; bottom:25%; left:42%; width:30px; height:60px; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cke-kneel 4s ease-in-out infinite; }
.scn-countess-kneel-emperor .glow-floor { position:absolute; bottom:20%; left:35%; width:120px; height:30px; background: radial-gradient(ellipse, rgba(192,128,64,.15) 0%, transparent 70%); animation: cke-floor 5s ease-in-out infinite alternate; }
.scn-countess-kneel-emperor .curtain-l { position:absolute; top:0; left:0; bottom:0; width:25%; background: linear-gradient(90deg, #2a1814 0%, #1a0e0a 100%); border-radius: 0 40% 40% 0 / 0 20% 20% 0; transform-origin: left center; animation: cke-curtain-l 12s ease-in-out infinite alternate; }
.scn-countess-kneel-emperor .curtain-r { position:absolute; top:0; right:0; bottom:0; width:25%; background: linear-gradient(270deg, #2a1814 0%, #1a0e0a 100%); border-radius: 40% 0 0 40% / 20% 0 0 20%; transform-origin: right center; animation: cke-curtain-r 12s ease-in-out infinite alternate; }
@keyframes cke-shadow { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes cke-candle { 0% { transform: scaleY(1) rotate(-1deg); opacity:.9 } 50% { transform: scaleY(1.05) rotate(1deg); opacity:1 } 100% { transform: scaleY(.95) rotate(-.5deg); opacity:.85 } }
@keyframes cke-kneel { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes cke-floor { 0% { opacity:.4; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.05) } 100% { opacity:.5; transform: scaleX(.95) } }
@keyframes cke-curtain-l { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(.98) } }
@keyframes cke-curtain-r { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(.98) } }

.scn-countess-king-hungary {
  background: linear-gradient(180deg, #1c1512 0%, #2a1e18 30%, #1a1210 100%),
              radial-gradient(ellipse at 50% 70%, #3a2a1e 0%, transparent 80%);
}
.scn-countess-king-hungary .bg-arch { position:absolute; top:0; left:10%; right:10%; bottom:40%; background: linear-gradient(180deg, #2a1e18 0%, #1a1210 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.4); animation: ckh-arch 15s ease-in-out infinite alternate; }
.scn-countess-king-hungary .king { position:absolute; bottom:30%; left:45%; width:40px; height:80px; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e18 100%); border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%; transform-origin: bottom center; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: ckh-king 6s ease-in-out infinite; }
.scn-countess-king-hungary .army-line { position:absolute; bottom:28%; left:0; right:0; height:30px; background: repeating-linear-gradient(90deg, #1a1210 0px, #1a1210 12px, transparent 12px, transparent 20px); transform-origin: bottom left; animation: ckh-army 8s ease-in-out infinite alternate; }
.scn-countess-king-hungary .banner { position:absolute; bottom:30%; left:55%; width:20px; height:50px; background: linear-gradient(180deg, #a0461a 0%, #5e1a1d 100%); border-radius: 2px; transform-origin: bottom center; box-shadow: 0 0 8px 2px rgba(160,70,26,.3); animation: ckh-banner 4s ease-in-out infinite; }
.scn-countess-king-hungary .floor-tile { position:absolute; bottom:20%; left:20%; right:20%; height:15%; background: repeating-linear-gradient(90deg, #2a1e18 0px, #2a1e18 20px, #1c1512 20px, #1c1512 30px); opacity:.6; animation: ckh-floor 10s linear infinite; }
.scn-countess-king-hungary .torch { position:absolute; bottom:25%; left:15%; width:6px; height:24px; background: linear-gradient(180deg, #f0d088 0%, #c08040 60%, #4a3020 100%); border-radius: 2px; box-shadow: 0 0 20px 10px rgba(192,128,64,.5); animation: ckh-torch 3s ease-in-out infinite; }
@keyframes ckh-arch { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:.85; transform: scaleY(1.02) } 100% { opacity:.75; transform: scaleY(.98) } }
@keyframes ckh-king { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ckh-army { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.01) } 100% { transform: scaleX(.99) } }
@keyframes ckh-banner { 0% { transform: rotate(-3deg) scaleY(1) } 50% { transform: rotate(3deg) scaleY(1.02) } 100% { transform: rotate(-2deg) scaleY(.98) } }
@keyframes ckh-floor { 0% { background-position: 0 0 } 100% { background-position: 30px 0 } }
@keyframes ckh-torch { 0% { transform: scaleY(1) rotate(-2deg); opacity:.9 } 50% { transform: scaleY(1.08) rotate(2deg); opacity:1 } 100% { transform: scaleY(.95) rotate(-1deg); opacity:.85 } }

.scn-countess-hunt-build {
  background: linear-gradient(180deg, #2a1e14 0%, #3a2a1a 40%, #1e1410 100%),
              radial-gradient(ellipse at 50% 90%, #4a3a1e 0%, transparent 70%);
}
.scn-countess-hunt-build .bg-panel { position:absolute; top:0; left:0; right:0; bottom:30%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1e14 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; animation: chb-panel 12s ease-in-out infinite alternate; }
.scn-countess-hunt-build .desk { position:absolute; bottom:20%; left:30%; right:30%; height:40%; background: linear-gradient(180deg, #6a4a2e 0%, #4a3020 100%); border-radius: 4% 4% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-countess-hunt-build .figure-desk { position:absolute; bottom:22%; left:40%; width:28px; height:60px; background: linear-gradient(180deg, #4a3a2e 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: chb-figure 5s ease-in-out infinite; }
.scn-countess-hunt-build .paper { position:absolute; bottom:35%; left:45%; width:40px; height:30px; background: linear-gradient(135deg, #d0b898 0%, #b8a080 100%); border-radius: 2px; transform: rotate(5deg); box-shadow: 0 3px 6px rgba(0,0,0,.3); animation: chb-paper 8s ease-in-out infinite; }
.scn-countess-hunt-build .candle-small { position:absolute; bottom:38%; left:55%; width:6px; height:18px; background: linear-gradient(180deg, #f0d088 0%, #c08040 70%); border-radius: 1px; box-shadow: 0 0 12px 6px rgba(192,128,64,.4); animation: chb-candle 3s ease-in-out infinite; }
.scn-countess-hunt-build .inkwell { position:absolute; bottom:32%; left:52%; width:12px; height:14px; background: radial-gradient(circle, #2a1e14 30%, #1a1210 100%); border-radius: 40% 40% 20% 20%; animation: chb-ink 6s ease-in-out infinite; }
@keyframes chb-panel { 0% { opacity:.8; transform: scaleY(1) } 50% { opacity:.9; transform: scaleY(1.01) } 100% { opacity:.85; transform: scaleY(.99) } }
@keyframes chb-figure { 0% { transform: translateY(0) rotate(-2deg) } 30% { transform: translateY(-2px) rotate(1deg) } 60% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes chb-paper { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(7deg) translateY(-2px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes chb-candle { 0% { transform: scaleY(1) rotate(-1deg); opacity:.9 } 50% { transform: scaleY(1.06) rotate(1deg); opacity:1 } 100% { transform: scaleY(.95) rotate(-.5deg); opacity:.85 } }
@keyframes chb-ink { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(.98) } }

.scn-countess-fire-new-noble {
  background: linear-gradient(180deg, #1a0e0a 0%, #2a1a12 40%, #1a0e08 100%),
              radial-gradient(ellipse at 50% 70%, #4a2a1a 0%, transparent 80%);
}
.scn-countess-fire-new-noble .bg-fire { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 80%, #5e3a1e 0%, transparent 60%); animation: cfn-fire 5s ease-in-out infinite alternate; }
.scn-countess-fire-new-noble .figure-armor { position:absolute; bottom:20%; left:40%; width:40px; height:100px; background: linear-gradient(180deg, #5e4a3a 0%, #2a1a12 100%); border-radius: 50% 50% 35% 35% / 60% 60% 35% 35%; box-shadow: 0 0 20px 8px rgba(90,50,20,.3); transform-origin: bottom center; animation: cfn-armor 6s ease-in-out infinite; }
.scn-countess-fire-new-noble .flame-core { position:absolute; bottom:55%; left:50%; width:20px; height:30px; margin-left:-10px; background: radial-gradient(ellipse at 50% 100%, #ffb060 0%, #c06020 60%, transparent 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; animation: cfn-flame 1.5s ease-in-out infinite; }
.scn-countess-fire-new-noble .flame-glow { position:absolute; bottom:50%; left:40%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,176,96,.3) 0%, transparent 70%); animation: cfn-glow 2s ease-in-out infinite alternate; }
.scn-countess-fire-new-noble .sword { position:absolute; bottom:30%; left:30%; width:6px; height:80px; background: linear-gradient(180deg, #b8a898 0%, #8a7a6a 100%); border-radius: 2px; transform: rotate(-15deg); transform-origin: bottom center; box-shadow: 0 0 10px 4px rgba(200,160,120,.3); animation: cfn-sword 8s ease-in-out infinite; }
.scn-countess-fire-new-noble .spark { position:absolute; bottom:60%; left:55%; width:4px; height:4px; background: radial-gradient(circle, #ffd4a0 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 6px 2px #ffd4a0; animation: cfn-spark 3s ease-in-out infinite; }
@keyframes cfn-fire { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.8 } }
@keyframes cfn-armor { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes cfn-flame { 0% { transform: scaleY(1) translateY(0); opacity:.8 } 25% { transform: scaleY(1.1) translateY(-2px); opacity:1 } 50% { transform: scaleY(.95) translateY(1px); opacity:.9 } 75% { transform: scaleY(1.05) translateY(-1px); opacity:1 } 100% { transform: scaleY(1) translateY(0); opacity:.85 } }
@keyframes cfn-glow { 0% { opacity:.4; transform: scale(1) } 50% { opacity:.6; transform: scale(1.1) } 100% { opacity:.5; transform: scale(.95) } }
@keyframes cfn-sword { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-10deg) } 100% { transform: rotate(-15deg) } }
@keyframes cfn-spark { 0% { transform: translate(0,0); opacity:1 } 50% { transform: translate(10px,-8px); opacity:.6 } 100% { transform: translate(-5px,5px); opacity:0 } }

/* wallenstein-hears-cannon */

.scn-wallenstein-hears-cannon {
  background: linear-gradient(180deg, #f2e4c2 0%, #d4b884 100%), radial-gradient(ellipse at 50% 80%, #e8d4a8 0%, transparent 70%);
}
.scn-wallenstein-hears-cannon .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8d4a8 0%, #c4a26e 100%); animation: whc-breath 6s ease-in-out infinite alternate;
}
.scn-wallenstein-hears-cannon .wall-left {
  position: absolute; left: 0; top: 0; width: 20%; height: 100%; background: linear-gradient(180deg, #b8945a 0%, #8a6e42 100%); border-right: 2px solid #7a5e32;
}
.scn-wallenstein-hears-cannon .wall-right {
  position: absolute; right: 0; top: 0; width: 20%; height: 100%; background: linear-gradient(180deg, #b8945a 0%, #8a6e42 100%); border-left: 2px solid #7a5e32;
}
.scn-wallenstein-hears-cannon .window {
  position: absolute; top: 12%; left: 35%; width: 30%; height: 40%; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1e 100%); border: 3px solid #7a5e32; border-radius: 2px;
}
.scn-wallenstein-hears-cannon .cannon-flash {
  position: absolute; top: 20%; left: 45%; width: 8%; height: 12%; background: radial-gradient(circle, #ffd080 0%, #ffb040 40%, transparent 70%); border-radius: 50%; opacity: 0; animation: whc-flash 3s ease-in-out infinite;
}
.scn-wallenstein-hears-cannon .figure-wallenstein {
  position: absolute; bottom: 18%; left: 30%; width: 12%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: whc-walk 5s ease-in-out infinite;
}
.scn-wallenstein-hears-cannon .figure-gordon {
  position: absolute; bottom: 18%; right: 25%; width: 10%; height: 36%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: whc-walk 5s ease-in-out infinite reverse;
}
.scn-wallenstein-hears-cannon .table {
  position: absolute; bottom: 10%; left: 25%; width: 50%; height: 12%; background: linear-gradient(180deg, #8a6e42 0%, #5a3e1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
@keyframes whc-breath { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes whc-flash { 0%, 100% { opacity: 0; transform: scale(1); } 30% { opacity: 0.7; transform: scale(1.3); } 50% { opacity: 0; transform: scale(1.5); } }
@keyframes whc-walk { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }

/* wallenstein-inspects-garrison */

.scn-wallenstein-inspects-garrison {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%), radial-gradient(ellipse at 50% 60%, #e0c8a0 0%, transparent 60%);
}
.scn-wallenstein-inspects-garrison .garrison-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d8c4a0 0%, #b89c74 100%);
}
.scn-wallenstein-inspects-garrison .wall {
  position: absolute; left: 5%; top: 5%; width: 90%; height: 90%; background: linear-gradient(180deg, #c8b088 0%, #a88860 100%); border-radius: 2px; border: 2px solid #88704a;
}
.scn-wallenstein-inspects-garrison .map {
  position: absolute; top: 12%; left: 12%; width: 30%; height: 35%; background: linear-gradient(135deg, #e0d0b0 0%, #c8b090 100%); border-radius: 2px; border: 1px solid #7a5e32; box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: wig-map 8s ease-in-out infinite alternate;
}
.scn-wallenstein-inspects-garrison .shelf {
  position: absolute; top: 15%; right: 10%; width: 20%; height: 60%; background: linear-gradient(180deg, #8a6e42 0%, #5a3e1a 100%); border-radius: 2px;
}
.scn-wallenstein-inspects-garrison .figure-wallenstein {
  position: absolute; bottom: 12%; left: 20%; width: 10%; height: 38%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wig-stand 7s ease-in-out infinite;
}
.scn-wallenstein-inspects-garrison .figure-gordon {
  position: absolute; bottom: 12%; left: 38%; width: 9%; height: 34%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wig-stand 7s ease-in-out infinite reverse;
}
.scn-wallenstein-inspects-garrison .table {
  position: absolute; bottom: 8%; left: 22%; width: 30%; height: 8%; background: linear-gradient(180deg, #7a5e32 0%, #4a2e0a 100%); border-radius: 2px; box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}
@keyframes wig-map { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(0.5deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes wig-stand { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }

/* wallenstein-announces-departure */

.scn-wallenstein-announces-departure {
  background: linear-gradient(180deg, #f5e8d0 0%, #d8c4a0 100%), radial-gradient(ellipse at 50% 70%, #e8d4b0 0%, transparent 70%);
}
.scn-wallenstein-announces-departure .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8d4a8 0%, #c8b088 100%); animation: wad-pulse 9s ease-in-out infinite alternate;
}
.scn-wallenstein-announces-departure .wall {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(180deg, #c8b088 0%, #a88860 100%); clip-path: polygon(0 0, 100% 0, 100% 85%, 0 85%);
}
.scn-wallenstein-announces-departure .door {
  position: absolute; bottom: 0; right: 8%; width: 15%; height: 70%; background: linear-gradient(180deg, #6a4e2a 0%, #3a2a0a 100%); border: 2px solid #4a2e0a; border-radius: 2px 2px 0 0; animation: wad-door 8s ease-in-out infinite;
}
.scn-wallenstein-announces-departure .figure-wallenstein {
  position: absolute; bottom: 12%; left: 25%; width: 12%; height: 42%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wad-turn 6s ease-in-out infinite;
}
.scn-wallenstein-announces-departure .figure-gordon {
  position: absolute; bottom: 12%; left: 45%; width: 10%; height: 36%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wad-turn 6s ease-in-out infinite reverse;
}
.scn-wallenstein-announces-departure .figure-tertsky {
  position: absolute; bottom: 12%; right: 20%; width: 9%; height: 34%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wad-enter 10s ease-in-out infinite;
}
.scn-wallenstein-announces-departure .table {
  position: absolute; bottom: 8%; left: 30%; width: 40%; height: 8%; background: linear-gradient(180deg, #8a6e42 0%, #5a3e1a 100%); border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
.scn-wallenstein-announces-departure .papers {
  position: absolute; bottom: 11%; left: 40%; width: 8%; height: 3%; background: linear-gradient(135deg, #f0e0c0 0%, #d0b890 100%); border-radius: 1px; animation: wad-flicker 4s ease-in-out infinite;
}
@keyframes wad-pulse { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes wad-door { 0% { transform: translateY(0); } 25% { transform: translateY(-5px); } 50% { transform: translateY(0); } 75% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes wad-turn { 0% { transform: rotate(0deg); } 25% { transform: rotate(3deg); } 75% { transform: rotate(-3deg); } 100% { transform: rotate(0deg); } }
@keyframes wad-enter { 0%, 100% { opacity: 0.8; transform: translateX(20px) scale(0.9); } 30% { opacity: 1; transform: translateX(0) scale(1); } 70% { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes wad-flicker { 0% { opacity: 0.5; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-1px); } 100% { opacity: 0.6; transform: translateY(0); } }

/* tertsky-reports-victory */

.scn-tertsky-reports-victory {
  background: linear-gradient(180deg, #f5d8a0 0%, #e0b870 100%), radial-gradient(ellipse at 50% 40%, #f0c880 0%, transparent 60%);
}
.scn-tertsky-reports-victory .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e8c878 0%, #c8a050 100%); animation: trv-warmth 5s ease-in-out infinite alternate;
}
.scn-tertsky-reports-victory .fireplace {
  position: absolute; bottom: 0; left: 5%; width: 25%; height: 60%; background: linear-gradient(180deg, #6a4e2a 0%, #3a2a0a 100%); border-radius: 8% 8% 0 0; box-shadow: inset 0 -20px 30px #2a1a0a;
}
.scn-tertsky-reports-victory .glow {
  position: absolute; bottom: 25%; left: 10%; width: 15%; height: 20%; background: radial-gradient(circle, #ffcc66 0%, #ffaa33 30%, transparent 70%); border-radius: 50%; opacity: 0.6; animation: trv-glowing 3s ease-in-out infinite alternate;
}
.scn-tertsky-reports-victory .figure-tertsky {
  position: absolute; bottom: 12%; right: 30%; width: 10%; height: 38%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: trv-report 7s ease-in-out infinite;
}
.scn-tertsky-reports-victory .figure-wallenstein {
  position: absolute; bottom: 12%; left: 30%; width: 12%; height: 42%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: trv-listen 7s ease-in-out infinite reverse;
}
.scn-tertsky-reports-victory .flags {
  position: absolute; top: 8%; left: 50%; width: 20%; height: 30%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); animation: trv-flutter 4s ease-in-out infinite;
}
.scn-tertsky-reports-victory .table-map {
  position: absolute; bottom: 5%; left: 20%; width: 60%; height: 10%; background: linear-gradient(180deg, #8a6e42 0%, #5a3e1a 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
@keyframes trv-warmth { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes trv-glowing { 0% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.5; transform: scale(1); } }
@keyframes trv-report { 0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-3px) rotate(0deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes trv-listen { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes trv-flutter { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }

.scn-wallenstein-makes-motion {
  background: linear-gradient(180deg, #1e1820 0%, #2a1e24 40%, #1a1218 100%), radial-gradient(ellipse at 50% 70%, #3a2a2a 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-wallenstein-makes-motion .bg-walls { position:absolute; inset:0 0 40% 0; background: linear-gradient(135deg, #2a1e1e 0%, #1a1010 100%); box-shadow: inset 0 0 60px rgba(0,0,0,0.6); }
.scn-wallenstein-makes-motion .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #1a1010 0%, #2a1a1a 50%, #1e1414 100%); }
.scn-wallenstein-makes-motion .table { position:absolute; bottom:20%; left:40%; width:30%; height:12%; background: linear-gradient(180deg, #3a2828 0%, #1e1212 100%); border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.7); }
.scn-wallenstein-makes-motion .candle-glow { position:absolute; bottom:30%; left:48%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,180,80,0.3) 0%, transparent 70%); animation: wm-candle-pulse 4s ease-in-out infinite alternate; }
.scn-wallenstein-makes-motion .candle-flame { position:absolute; bottom:32%; left:50%; width:8px; height:16px; margin-left:-4px; background: radial-gradient(circle at 50% 30%, #ffd080 0%, #ffa040 40%, transparent 70%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 6px #ffa040; animation: wm-flame 2s ease-in-out infinite alternate; }
.scn-wallenstein-makes-motion .figure-wallenstein { position:absolute; bottom:16%; left:38%; width:60px; height:120px; background: linear-gradient(180deg, #2a1e1e 0%, #1a1010 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: wm-figure-stand 6s ease-in-out infinite; }
.scn-wallenstein-makes-motion .hand-motion { position:absolute; bottom:40%; left:45%; width:30px; height:40px; background: radial-gradient(circle at 50% 30%, #3a2a2a 0%, #1a1212 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom left; animation: wm-hand 3s ease-in-out infinite; }
.scn-wallenstein-makes-motion .shadow-wallenstein { position:absolute; bottom:12%; left:35%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); filter: blur(4px); animation: wm-shadow 6s ease-in-out infinite; }
@keyframes wm-candle-pulse { 0% { opacity:0.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:0.7; transform: scale(0.95) } }
@keyframes wm-flame { 0% { transform: translateY(0) scaleY(1) rotate(-2deg) } 50% { transform: translateY(-4px) scaleY(1.2) rotate(2deg) } 100% { transform: translateY(0) scaleY(1) rotate(0) } }
@keyframes wm-figure-stand { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(0.5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wm-hand { 0% { transform: translate(0,0) rotate(0) } 25% { transform: translate(8px,-6px) rotate(15deg) } 50% { transform: translate(12px,-10px) rotate(25deg) } 75% { transform: translate(6px,-4px) rotate(10deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes wm-shadow { 0% { transform: scaleX(1); opacity:0.5 } 50% { transform: scaleX(1.2); opacity:0.4 } 100% { transform: scaleX(0.9); opacity:0.6 } }

.scn-tersky-how-what {
  background: linear-gradient(180deg, #1a1418 0%, #2a1e22 50%, #120e10 100%), radial-gradient(ellipse at 40% 60%, #3a2828 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-tersky-how-what .bg-deep { position:absolute; inset:0 0 50% 0; background: linear-gradient(135deg, #1a1214 0%, #2a1e1e 100%); box-shadow: inset 0 0 80px rgba(0,0,0,0.7); }
.scn-tersky-how-what .bg-mid { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(0deg, #0e0a0c 0%, #1a1214 100%); }
.scn-tersky-how-what .table-docs { position:absolute; bottom:22%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #3a2a28 0%, #1e1412 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); }
.scn-tersky-how-what .figure-tersky { position:absolute; bottom:15%; left:45%; width:55px; height:110px; background: linear-gradient(180deg, #2a1e1e 0%, #1a0e0e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: th-figure 8s ease-in-out infinite; }
.scn-tersky-how-what .hand-gesture { position:absolute; bottom:35%; left:50%; width:25px; height:35px; background: radial-gradient(circle at 50% 30%, #3a2a2a 0%, #1a1212 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom left; animation: th-hand 2.5s ease-in-out infinite; }
.scn-tersky-how-what .candle-right { position:absolute; bottom:30%; right:25%; width:6px; height:15px; background: linear-gradient(180deg, #ffd080 0%, #ffa040 40%, transparent 100%); border-radius: 4px; box-shadow: 0 0 20px 4px #ffa040; animation: th-candle 3s ease-in-out infinite alternate; }
.scn-tersky-how-what .candle-left { position:absolute; bottom:30%; left:28%; width:6px; height:12px; background: linear-gradient(180deg, #ffc060 0%, #d08020 50%, transparent 100%); border-radius: 4px; box-shadow: 0 0 12px 2px #d08020; animation: th-candle 3.5s ease-in-out infinite alternate; animation-delay: 1.5s; }
@keyframes th-figure { 0% { transform: translateX(0) rotate(0) } 20% { transform: translateX(-3px) rotate(-1deg) } 40% { transform: translateX(0) rotate(0) } 60% { transform: translateX(2px) rotate(1deg) } 80% { transform: translateX(-1px) rotate(-0.5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes th-hand { 0% { transform: translate(0,0) rotate(0) } 30% { transform: translate(10px,-8px) rotate(20deg) } 60% { transform: translate(5px,-4px) rotate(10deg) } 100% { transform: translate(0,0) rotate(0) } }
@keyframes th-candle { 0% { opacity:0.7; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.1) } 100% { opacity:0.8; transform: scaleY(0.95) } }

.scn-countess-enters {
  background: linear-gradient(180deg, #1a1418 0%, #2a1c1c 50%, #0e0a0c 100%), radial-gradient(ellipse at 60% 50%, #3a2a2a 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-countess-enters .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #2a1c1c 0%, #1a1010 100%); box-shadow: inset 0 0 100px rgba(0,0,0,0.8); }
.scn-countess-enters .door-frame { position:absolute; bottom:10%; left:30%; width:40%; height:80%; background: linear-gradient(180deg, #3a2828 0%, #1e1414 100%); border-radius: 4px; box-shadow: 0 0 30px rgba(0,0,0,0.5); }
.scn-countess-enters .door-open { position:absolute; bottom:10%; left:32%; width:36%; height:78%; background: linear-gradient(180deg, #1a1212 0%, #0e0a0a 100%); border-radius: 2px; transform-origin: left; animation: ce-door 6s ease-in-out infinite; }
.scn-countess-enters .countess-silhouette { position:absolute; bottom:12%; left:40%; width:40px; height:130px; background: linear-gradient(180deg, #121010 0%, #0a0808 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform-origin: bottom center; animation: ce-figure 8s ease-in-out infinite; }
.scn-countess-enters .light-spill { position:absolute; bottom:10%; left:35%; width:30%; height:70%; background: radial-gradient(ellipse at 50% 30%, rgba(255,180,80,0.15) 0%, transparent 70%); animation: ce-light 10s ease-in-out infinite alternate; }
.scn-countess-enters .chandelier-glow { position:absolute; top:5%; left:38%; width:24%; height:20%; background: radial-gradient(ellipse, rgba(255,200,120,0.2) 0%, transparent 60%); animation: ce-chandelier 7s ease-in-out infinite; }
.scn-countess-enters .shadow-arch { position:absolute; bottom:0; left:25%; width:50%; height:60%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 70%); filter: blur(8px); animation: ce-shadow 8s ease-in-out infinite; }
@keyframes ce-door { 0% { transform: rotateY(0deg) } 30% { transform: rotateY(-30deg) } 50% { transform: rotateY(-20deg) } 100% { transform: rotateY(0deg) } }
@keyframes ce-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(4px) rotate(2deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ce-light { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }
@keyframes ce-chandelier { 0% { transform: translateY(0) scale(1); opacity:0.3 } 50% { transform: translateY(-5px) scale(1.05); opacity:0.5 } 100% { transform: translateY(0) scale(0.95); opacity:0.4 } }
@keyframes ce-shadow { 0% { transform: scale(1); opacity:0.4 } 50% { transform: scale(1.1); opacity:0.6 } 100% { transform: scale(0.9); opacity:0.3 } }

.scn-countess-weapon-destroys {
  background: linear-gradient(180deg, #2a1a14 0%, #3a2a20 50%, #1a0e0a 100%), radial-gradient(ellipse at 50% 40%, #4a3020 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-countess-weapon-destroys .bg-warm { position:absolute; inset:0; background: linear-gradient(135deg, #3a2820 0%, #1e1410 100%); box-shadow: inset 0 0 60px rgba(0,0,0,0.5); }
.scn-countess-weapon-destroys .pedestal { position:absolute; bottom:25%; left:50%; width:80px; height:60px; margin-left:-40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); border-radius: 8px; box-shadow: 0 8px 30px rgba(0,0,0,0.7); }
.scn-countess-weapon-destroys .sword-blade { position:absolute; bottom:50%; left:50%; width:8px; height:120px; margin-left:-4px; background: linear-gradient(180deg, #a08060 0%, #705040 60%, #a08060 100%); border-radius: 2px; transform-origin: bottom center; animation: cw-blade 5s ease-in-out infinite; }
.scn-countess-weapon-destroys .sword-guard { position:absolute; bottom:42%; left:50%; width:30px; height:8px; margin-left:-15px; background: linear-gradient(90deg, #8a6a4a 0%, #b09070 50%, #8a6a4a 100%); border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); }
.scn-countess-weapon-destroys .spark { position:absolute; bottom:55%; left:50%; width:10px; height:10px; margin-left:-5px; background: radial-gradient(circle, #ffd080 0%, #ffa040 40%, transparent 80%); border-radius: 50%; animation: cw-spark 2s ease-in-out infinite; }
.scn-countess-weapon-destroys .glow-burst { position:absolute; bottom:45%; left:50%; width:150px; height:150px; margin-left:-75px; background: radial-gradient(circle, rgba(255,180,80,0.2) 0%, transparent 70%); animation: cw-glow 4s ease-in-out infinite alternate; }
.scn-countess-weapon-destroys .shadow-cross { position:absolute; bottom:20%; left:42%; width:90px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%); filter: blur(6px); animation: cw-shadow 6s ease-in-out infinite; }
.scn-countess-weapon-destroys .ember { position:absolute; bottom:40%; left:47%; width:6px; height:6px; background: #ffaa40; border-radius: 50%; box-shadow: 0 0 10px 2px #ffaa40; animation: cw-ember 1.5s linear infinite; }
@keyframes cw-blade { 0% { transform: rotate(0) translateY(0) } 25% { transform: rotate(3deg) translateY(-2px) } 50% { transform: rotate(0) translateY(0) } 75% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes cw-spark { 0% { transform: translate(0,0) scale(1); opacity:0.8 } 50% { transform: translate(4px,-6px) scale(1.3); opacity:1 } 100% { transform: translate(-2px,-2px) scale(0.7); opacity:0.6 } }
@keyframes cw-glow { 0% { opacity:0.3; transform: scale(0.9) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.4; transform: scale(0.95) } }
@keyframes cw-shadow { 0% { transform: scaleX(1); opacity:0.3 } 50% { transform: scaleX(1.3); opacity:0.5 } 100% { transform: scaleX(0.8); opacity:0.4 } }
@keyframes cw-ember { 0% { transform: translate(0,0); opacity:1 } 100% { transform: translate(10px,-20px); opacity:0 } }

/* wallenstein-praise-dead */

.scn-wallenstein-praise-dead {
  background: linear-gradient(180deg, #10142b 0%, #1c2240 40%, #2a3050 100%), radial-gradient(ellipse at 50% 30%, #2a3a6a 0%, transparent 80%);
}
.scn-wallenstein-praise-dead .moon {
  position: absolute; top: 8%; left: 72%; width: 60px; height: 60px; background: radial-gradient(circle, #e8ecff 0%, #c8d0f0 70%, #a0b0d0 100%); border-radius: 50%; box-shadow: 0 0 40px 12px rgba(200,210,240,0.4), 0 0 80px 24px rgba(200,210,240,0.2); animation: wpd-moon-glow 6s ease-in-out infinite alternate;
}
.scn-wallenstein-praise-dead .sky-glow {
  position: absolute; inset: 0 0 70% 0; background: radial-gradient(ellipse at 30% 20%, rgba(180,200,255,0.15) 0%, transparent 70%); animation: wpd-sky-breathe 12s ease-in-out infinite alternate;
}
.scn-wallenstein-praise-dead .grave-mound {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 30%; background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%); border-radius: 60% 60% 0 0 / 100% 100% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: wpd-grave-sway 14s ease-in-out infinite;
}
.scn-wallenstein-praise-dead .obelisk {
  position: absolute; bottom: 25%; left: 50%; width: 20px; height: 60px; transform: translateX(-50%); background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: wpd-obelisk-pulse 8s ease-in-out infinite;
}
.scn-wallenstein-praise-dead .figure-silhouette {
  position: absolute; bottom: 20%; left: 38%; width: 24px; height: 48px; background: linear-gradient(180deg, #0a0a1a 0%, #000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wpd-figure-bow 5s ease-in-out infinite;
}
.scn-wallenstein-praise-dead .moonlight-beam {
  position: absolute; top: 12%; left: 70%; width: 80px; height: 120px; background: linear-gradient(180deg, rgba(200,210,240,0.25) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 60% 100%, 40% 100%); filter: blur(4px); animation: wpd-beam-fade 10s ease-in-out infinite alternate;
}
.scn-wallenstein-praise-dead .ground-mist {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: radial-gradient(ellipse at 50% 0%, rgba(200,210,240,0.1) 0%, transparent 80%); filter: blur(8px); animation: wpd-mist-drift 20s ease-in-out infinite alternate;
}
@keyframes wpd-moon-glow { 0% { box-shadow: 0 0 30px 8px rgba(200,210,240,0.3), 0 0 60px 16px rgba(200,210,240,0.15); } 50% { box-shadow: 0 0 50px 16px rgba(200,210,240,0.5), 0 0 100px 32px rgba(200,210,240,0.25); } 100% { box-shadow: 0 0 35px 10px rgba(200,210,240,0.35), 0 0 70px 20px rgba(200,210,240,0.18); } }
@keyframes wpd-sky-breathe { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wpd-grave-sway { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(0.5deg); } }
@keyframes wpd-obelisk-pulse { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes wpd-figure-bow { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wpd-beam-fade { 0% { opacity: 0.3; transform: rotate(-2deg); } 50% { opacity: 0.7; transform: rotate(2deg); } 100% { opacity: 0.4; transform: rotate(-1deg); } }
@keyframes wpd-mist-drift { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(15px) scale(1.05); } 100% { transform: translateX(-15px) scale(0.95); } }

/* countess-consoles */

.scn-countess-consoles {
  background: linear-gradient(180deg, #1a1810 0%, #2a2418 40%, #3a3020 100%), radial-gradient(ellipse at 60% 50%, #3a3020 0%, transparent 70%);
}
.scn-countess-consoles .room-wall {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(90deg, #2a2418 0%, #3a3020 50%, #2a2418 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.5); animation: cc-wall-stretch 20s ease-in-out infinite alternate;
}
.scn-countess-consoles .candle-glow {
  position: absolute; top: 35%; left: 35%; width: 120px; height: 120px; background: radial-gradient(circle, rgba(255,200,100,0.5) 0%, rgba(200,150,60,0.2) 40%, transparent 100%); border-radius: 50%; filter: blur(10px); animation: cc-glow-flicker 2s ease-in-out infinite alternate;
}
.scn-countess-consoles .candle {
  position: absolute; top: 50%; left: 38%; width: 8px; height: 28px; background: linear-gradient(180deg, #302820 0%, #201810 100%); border-radius: 4px; animation: cc-candle-tilt 3s ease-in-out infinite;
}
.scn-countess-consoles .candle::after {
  content: ''; position: absolute; top: -6px; left: 2px; width: 4px; height: 10px; background: radial-gradient(circle, #ffd080 0%, #ffa030 100%); border-radius: 50%; box-shadow: 0 0 8px 3px #ffa030; animation: cc-flame 1s ease-in-out infinite alternate;
}
.scn-countess-consoles .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: cc-table-settle 7s ease-in-out infinite;
}
.scn-countess-consoles .countess-figure {
  position: absolute; bottom: 26%; left: 35%; width: 30px; height: 60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cc-figure-soothe 5s ease-in-out infinite;
}
.scn-countess-consoles .warm-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, transparent 0%, rgba(20,10,5,0.8) 100%); animation: cc-shadow-grow 9s ease-in-out infinite alternate;
}
.scn-countess-consoles .lamp {
  position: absolute; top: 45%; left: 60%; width: 12px; height: 16px; background: linear-gradient(180deg, #8a6a30 0%, #5a4020 100%); border-radius: 4px; box-shadow: 0 0 20px 6px rgba(200,150,60,0.4); animation: cc-lamp-glint 4s ease-in-out infinite alternate;
}
@keyframes cc-wall-stretch { 0% { background-position: 0 0; } 50% { background-position: 5px 0; } 100% { background-position: -5px 0; } }
@keyframes cc-glow-flicker { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(0.98); } }
@keyframes cc-candle-tilt { 0%,100% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } }
@keyframes cc-flame { 0% { transform: scale(1) translateY(0); } 50% { transform: scale(1.2) translateY(-2px); } 100% { transform: scale(0.9) translateY(1px); } }
@keyframes cc-table-settle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes cc-figure-soothe { 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 cc-shadow-grow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes cc-lamp-glint { 0% { box-shadow: 0 0 15px 4px rgba(200,150,60,0.3); } 50% { box-shadow: 0 0 25px 8px rgba(200,150,60,0.6); } 100% { box-shadow: 0 0 18px 5px rgba(200,150,60,0.35); } }

/* wallenstein-lament */

.scn-wallenstein-lament {
  background: linear-gradient(180deg, #121218 0%, #1a1a24 40%, #242430 100%), radial-gradient(ellipse at 40% 50%, #1a1a24 0%, transparent 80%);
}
.scn-wallenstein-lament .wall-panel {
  position: absolute; inset: 0 0 20% 0; background: linear-gradient(90deg, #1a1a24 0%, #22222e 50%, #1a1a24 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.4); animation: wl-panel-shift 15s ease-in-out infinite alternate;
}
.scn-wallenstein-lament .chair {
  position: absolute; bottom: 20%; left: 40%; width: 40px; height: 50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 12% 12% 8% 8%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); animation: wl-chair-creak 9s ease-in-out infinite;
}
.scn-wallenstein-lament .figure-grief {
  position: absolute; bottom: 34%; left: 42%; width: 22px; height: 44px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wl-figure-grieve 6s ease-in-out infinite;
}
.scn-wallenstein-lament .fading-light {
  position: absolute; top: 30%; left: 30%; width: 80px; height: 80px; background: radial-gradient(circle, rgba(180,160,120,0.15) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: wl-light-fade 8s ease-in-out infinite alternate;
}
.scn-wallenstein-lament .shadow-pool {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 25%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: wl-pool-breathe 5s ease-in-out infinite alternate;
}
.scn-wallenstein-lament .dust-mote {
  position: absolute; top: 25%; left: 20%; width: 4px; height: 4px; background: rgba(200,190,170,0.4); border-radius: 50%; filter: blur(1px); animation: wl-mote-drift 12s linear infinite, wl-mote-blink 4s ease-in-out infinite; animation-delay: 0s, 0s;
}
@keyframes wl-panel-shift { 0% { background-position: 0 0; } 50% { background-position: 3px 0; } 100% { background-position: -3px 0; } }
@keyframes wl-chair-creak { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } }
@keyframes wl-figure-grieve { 0% { transform: translateX(0) rotate(0deg) scale(1); } 20% { transform: translateX(-2px) rotate(-4deg) scale(0.98); } 40% { transform: translateX(2px) rotate(4deg) scale(1); } 60% { transform: translateX(-1px) rotate(-2deg) scale(0.99); } 80% { transform: translateX(1px) rotate(2deg) scale(1); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes wl-light-fade { 0% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.2; transform: scale(1.2); } 100% { opacity: 0.6; transform: scale(0.9); } }
@keyframes wl-pool-breathe { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.05); opacity: 0.8; } 100% { transform: scale(0.95); opacity: 0.6; } }
@keyframes wl-mote-drift { 0% { transform: translate(0, 0); } 25% { transform: translate(10px, -5px); } 50% { transform: translate(20px, 10px); } 75% { transform: translate(5px, -10px); } 100% { transform: translate(0, 0); } }
@keyframes wl-mote-blink { 0%,100% { opacity: 0.3; } 50% { opacity: 0.8; } }

/* governor-keys */

.scn-governor-keys {
  background: linear-gradient(180deg, #141016 0%, #1a141c 30%, #221a24 60%, #1c1420 100%), radial-gradient(ellipse at 30% 40%, #2a1e30 0%, transparent 80%);
}
.scn-governor-keys .door-frame {
  position: absolute; inset: 10% 20% 10% 20%; border: 3px solid #2a2030; background: rgba(20,16,24,0.8); box-shadow: inset 0 0 20px rgba(0,0,0,0.6); animation: gk-frame-pulse 5s ease-in-out infinite alternate;
}
.scn-governor-keys .door-panel {
  position: absolute; inset: 12% 22% 12% 22%; background: linear-gradient(180deg, #2a2030 0%, #1a1420 100%); border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,0.4); animation: gk-door-vibe 7s ease-in-out infinite;
}
.scn-governor-keys .key-hand {
  position: absolute; bottom: 30%; left: 45%; width: 18px; height: 30px; background: linear-gradient(180deg, #3a2a3a 0%, #1a101a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gk-hand-tremble 2s ease-in-out infinite;
}
.scn-governor-keys .keys {
  position: absolute; bottom: 32%; left: 48%; width: 12px; height: 22px; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: gk-keys-shake 3s ease-in-out infinite;
}
.scn-governor-keys .fear-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, transparent 0%, rgba(10,5,15,0.8) 100%); animation: gk-shadow-creep 10s ease-in-out infinite alternate;
}
.scn-governor-keys .light-slice {
  position: absolute; top: 20%; left: 25%; width: 8px; height: 50%; background: linear-gradient(180deg, rgba(200,180,160,0.1) 0%, transparent 100%); transform: rotate(10deg); filter: blur(3px); animation: gk-light-sweep 12s ease-in-out infinite alternate;
}
@keyframes gk-frame-pulse { 0% { border-color: #2a2030; box-shadow: inset 0 0 15px rgba(0,0,0,0.5); } 50% { border-color: #3a2a40; box-shadow: inset 0 0 25px rgba(0,0,0,0.7); } 100% { border-color: #1a1420; box-shadow: inset 0 0 10px rgba(0,0,0,0.4); } }
@keyframes gk-door-vibe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.002) rotate(0.2deg); } }
@keyframes gk-hand-tremble { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(-3deg); } 50% { transform: translateX(-1px) rotate(2deg); } 75% { transform: translateX(2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes gk-keys-shake { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(10deg); } 60% { transform: translateX(-2px) rotate(-8deg); } }
@keyframes gk-shadow-creep { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes gk-light-sweep { 0% { transform: rotate(8deg) translateX(0); opacity: 0.2; } 50% { transform: rotate(12deg) translateX(5px); opacity: 0.5; } 100% { transform: rotate(6deg) translateX(-3px); opacity: 0.3; } }

.scn-wallenstein-recalls-dismissal {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 40%, #3a2a1a 70%, #1a1a1a 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-recalls-dismissal .shadow { position:absolute; inset: 20% 0 0 0; background: radial-gradient(ellipse at 50% 80%, rgba(0,0,0,0.6) 0%, transparent 80%); animation: wr1-shadow 12s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-dismissal .wall-left { position:absolute; inset: 0 60% 30% 0; background: linear-gradient(90deg, #2a1a1a 0%, #3a2a1a 100%); border-right: 2px solid #5a3a2a; animation: wr1-wall 8s ease-in-out infinite; }
.scn-wallenstein-recalls-dismissal .wall-right { position:absolute; inset: 0 0 30% 40%; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a1a 100%); border-left: 2px solid #5a3a2a; animation: wr1-wall 8s ease-in-out infinite reverse; }
.scn-wallenstein-recalls-dismissal .table { position:absolute; bottom:12%; left:25%; width:50%; height:8%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 4px 4px 10px 10px; box-shadow: 0 -4px 8px rgba(0,0,0,0.5); animation: wr1-table 6s ease-in-out infinite; }
.scn-wallenstein-recalls-dismissal .candle { position:absolute; bottom:20%; left:48%; width:8px; height:30px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 2px 2px 4px 4px; transform-origin: bottom center; animation: wr1-candle 4s ease-in-out infinite; }
.scn-wallenstein-recalls-dismissal .flame { position:absolute; bottom:44%; left:48%; width:12px; height:18px; background: radial-gradient(ellipse at 50% 100%, #ffd080 0%, #ffa040 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: wr1-flame 0.8s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-dismissal .figure-silhouette { position:absolute; bottom:10%; left:40%; width:40px; height:70px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr1-figure 5s ease-in-out infinite; }
.scn-wallenstein-recalls-dismissal .document { position:absolute; bottom:12%; left:46%; width:30px; height:22px; background: linear-gradient(135deg, #c8a870 0%, #a08050 100%); border-radius: 2px; transform: rotate(-5deg); animation: wr1-doc 9s ease-in-out infinite; }
@keyframes wr1-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }
@keyframes wr1-wall { 0% { filter: brightness(0.8); } 50% { filter: brightness(1); } 100% { filter: brightness(0.9); } }
@keyframes wr1-table { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02) translateY(-1px); } 100% { transform: scaleY(1); } }
@keyframes wr1-candle { 0% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 75% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes wr1-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.9; } 100% { transform: scaleY(1.3) translateY(-2px); opacity: 1; } }
@keyframes wr1-figure { 0% { transform: translateX(0); } 25% { transform: translateX(2px) rotate(0.5deg); } 75% { transform: translateX(-2px) rotate(-0.5deg); } 100% { transform: translateX(0); } }
@keyframes wr1-doc { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-3deg) scale(1.05); } 100% { transform: rotate(-5deg) scale(1); } }

.scn-command-to-march {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 50%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-command-to-march .shadow { position:absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, rgba(0,0,0,0.7) 0%, transparent 70%); animation: wr2-shadow 15s ease-in-out infinite alternate; }
.scn-command-to-march .wall-back { position:absolute; inset: 0 10% 20% 10%; background: linear-gradient(180deg, #2a1a1a 0%, #3a2a1a 100%); border-radius: 8px 8px 0 0; animation: wr2-wall 10s ease-in-out infinite; }
.scn-command-to-march .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #1a0a0a 0%, #2a1a1a 100%); border-top: 2px solid #4a2a1a; }
.scn-command-to-march .desk { position:absolute; bottom:12%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%); border-radius: 4px; box-shadow: 0 -6px 12px rgba(0,0,0,0.6); animation: wr2-desk 7s ease-in-out infinite; }
.scn-command-to-march .candle-low { position:absolute; bottom:20%; left:46%; width:6px; height:22px; background: linear-gradient(180deg, #b89860 0%, #8a6a40 100%); border-radius: 2px; transform-origin: bottom center; animation: wr2-candle 5s ease-in-out infinite; }
.scn-command-to-march .flame-low { position:absolute; bottom:38%; left:46%; width:10px; height:14px; background: radial-gradient(ellipse at 50% 100%, #ffc060 0%, #ff8020 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: wr2-flame 0.7s ease-in-out infinite alternate; }
.scn-command-to-march .figure-tall { position:absolute; bottom:10%; left:20%; width:36px; height:80px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr2-figure-tall 6s ease-in-out infinite; }
.scn-command-to-march .figure-short { position:absolute; bottom:10%; left:65%; width:30px; height:60px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr2-figure-short 8s ease-in-out infinite reverse; }
@keyframes wr2-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes wr2-wall { 0% { filter: brightness(0.7); } 50% { filter: brightness(1); } 100% { filter: brightness(0.8); } }
@keyframes wr2-desk { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(1.03) translateY(-1px); } 100% { transform: scaleX(1) translateY(0); } }
@keyframes wr2-candle { 0% { transform: rotate(-1deg); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } 100% { transform: rotate(1deg); } }
@keyframes wr2-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.8; } 100% { transform: scaleY(1.4) translateY(-3px); opacity: 1; } }
@keyframes wr2-figure-tall { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(1px) rotate(1deg); } 75% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0); } }
@keyframes wr2-figure-short { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-1px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0); } }

.scn-wallenstein-asserts-authority {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 40%, #3a2a1a 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 80%);
}
.scn-wallenstein-asserts-authority .shadow-deep { position:absolute; inset: 10% 0 0 0; background: radial-gradient(ellipse at 50% 70%, rgba(0,0,0,0.8) 0%, transparent 70%); animation: wr3-shadow 14s ease-in-out infinite alternate; }
.scn-wallenstein-asserts-authority .paneling-left { position:absolute; inset: 0 60% 30% 0; background: linear-gradient(90deg, #2a1a1a 0%, #3a2a1a 100%); border-right: 3px solid #5a3a2a; animation: wr3-panel 9s ease-in-out infinite; }
.scn-wallenstein-asserts-authority .paneling-right { position:absolute; inset: 0 0 30% 40%; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a1a 100%); border-left: 3px solid #5a3a2a; animation: wr3-panel 9s ease-in-out infinite reverse; }
.scn-wallenstein-asserts-authority .chair { position:absolute; bottom:10%; left:42%; width:50px; height:60px; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; box-shadow: 0 -4px 8px rgba(0,0,0,0.5); transform-origin: bottom center; animation: wr3-chair 7s ease-in-out infinite; }
.scn-wallenstein-asserts-authority .candle-big { position:absolute; bottom:20%; left:48%; width:10px; height:36px; background: linear-gradient(180deg, #d0a860 0%, #a08040 100%); border-radius: 3px 3px 5px 5px; transform-origin: bottom center; animation: wr3-candle 6s ease-in-out infinite; }
.scn-wallenstein-asserts-authority .flame-big { position:absolute; bottom:48%; left:48%; width:14px; height:22px; background: radial-gradient(ellipse at 50% 100%, #ffc060 0%, #ff9020 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: wr3-flame 0.9s ease-in-out infinite alternate; }
.scn-wallenstein-asserts-authority .figure-standing { position:absolute; bottom:10%; left:30%; width:34px; height:78px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr3-figure 5s ease-in-out infinite; }
.scn-wallenstein-asserts-authority .glint-ring { position:absolute; bottom:36%; left:28%; width:10px; height:10px; background: radial-gradient(circle, #c8a040 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 12px 4px rgba(200,160,64,0.6); animation: wr3-glint 4s ease-in-out infinite alternate; }
.scn-wallenstein-asserts-authority .papers { position:absolute; bottom:10%; left:52%; width:30px; height:20px; background: linear-gradient(135deg, #c8a870 0%, #a08050 100%); border-radius: 2px; transform: rotate(5deg); animation: wr3-papers 11s ease-in-out infinite; }
@keyframes wr3-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.85; } 100% { opacity: 0.6; } }
@keyframes wr3-panel { 0% { filter: brightness(0.7); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.8); } }
@keyframes wr3-chair { 0% { transform: rotate(-1deg); } 25% { transform: rotate(2deg) translateY(-1px); } 75% { transform: rotate(-2deg) translateY(1px); } 100% { transform: rotate(0deg); } }
@keyframes wr3-candle { 0% { transform: rotate(-0.5deg); } 25% { transform: rotate(1.5deg); } 75% { transform: rotate(-1.5deg); } 100% { transform: rotate(0.5deg); } }
@keyframes wr3-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.85; } 100% { transform: scaleY(1.4) translateY(-3px); opacity: 1; } }
@keyframes wr3-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(0.5deg); } 75% { transform: translateX(-2px) rotate(-0.5deg); } 100% { transform: translateX(0); } }
@keyframes wr3-glint { 0% { box-shadow: 0 0 8px 2px rgba(200,160,64,0.4); } 50% { box-shadow: 0 0 20px 6px rgba(200,160,64,0.8); } 100% { box-shadow: 0 0 12px 4px rgba(200,160,64,0.5); } }
@keyframes wr3-papers { 0% { transform: rotate(5deg) scale(1); } 50% { transform: rotate(3deg) scale(1.04); } 100% { transform: rotate(5deg) scale(1); } }

.scn-wallenstein-refuses-spanish-aid {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 50%, #1a0a0a 100%),
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-wallenstein-refuses-spanish-aid .shadow { position:absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, rgba(0,0,0,0.75) 0%, transparent 70%); animation: wr4-shadow 16s ease-in-out infinite alternate; }
.scn-wallenstein-refuses-spanish-aid .archway { position:absolute; inset: 0 20% 30% 20%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 0 0 / 80% 80% 0 0; border: 2px solid #4a2a1a; animation: wr4-arch 10s ease-in-out infinite; }
.scn-wallenstein-refuses-spanish-aid .table-wide { position:absolute; bottom:12%; left:20%; width:60%; height:8%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 6px; box-shadow: 0 -5px 10px rgba(0,0,0,0.6); animation: wr4-table 8s ease-in-out infinite; }
.scn-wallenstein-refuses-spanish-aid .candle-pair { position:absolute; bottom:20%; left:44%; width:8px; height:28px; background: linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius: 2px; transform-origin: bottom center; animation: wr4-candle-pair 5s ease-in-out infinite; }
.scn-wallenstein-refuses-spanish-aid .flame-a { position:absolute; bottom:42%; left:44%; width:10px; height:16px; background: radial-gradient(ellipse at 50% 100%, #ffc060 0%, #ff8020 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: wr4-flame-a 0.8s ease-in-out infinite alternate; }
.scn-wallenstein-refuses-spanish-aid .flame-b { position:absolute; bottom:42%; left:52%; width:10px; height:16px; background: radial-gradient(ellipse at 50% 100%, #ffc060 0%, #ff8020 50%, transparent 100%); border-radius: 50%; filter: blur(2px); animation: wr4-flame-b 0.9s ease-in-out infinite alternate-reverse; }
.scn-wallenstein-refuses-spanish-aid .figure-crossed { position:absolute; bottom:10%; left:30%; width:36px; height:76px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wr4-figure 6s ease-in-out infinite; }
.scn-wallenstein-refuses-spanish-aid .scroll { position:absolute; bottom:12%; left:52%; width:40px; height:14px; background: linear-gradient(135deg, #c8a870 0%, #a08050 100%); border-radius: 20% 40% 40% 20%; transform: rotate(-8deg); animation: wr4-scroll 12s ease-in-out infinite; }
@keyframes wr4-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes wr4-arch { 0% { filter: brightness(0.7); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.8); } }
@keyframes wr4-table { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02) translateY(-1px); } 100% { transform: scaleX(1); } }
@keyframes wr4-candle-pair { 0% { transform: rotate(-0.5deg); } 25% { transform: rotate(1.5deg); } 75% { transform: rotate(-1.5deg); } 100% { transform: rotate(0.5deg); } }
@keyframes wr4-flame-a { 0% { transform: scaleY(1) translateY(0); opacity: 0.85; } 100% { transform: scaleY(1.35) translateY(-3px); opacity: 1; } }
@keyframes wr4-flame-b { 0% { transform: scaleY(1.35) translateY(-3px); opacity: 1; } 100% { transform: scaleY(1) translateY(0); opacity: 0.85; } }
@keyframes wr4-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(1px) rotate(0.5deg); } 75% { transform: translateX(-1px) rotate(-0.5deg); } 100% { transform: translateX(0); } }
@keyframes wr4-scroll { 0% { transform: rotate(-8deg) scale(1); } 50% { transform: rotate(-6deg) scale(1.05); } 100% { transform: rotate(-8deg) scale(1); } }

/* Scene: tertsky-where-wrangel */

.scn-tertsky-where-wrangel {
  background: radial-gradient(ellipse at 40% 60%, #2a1e16 0%, #0e0c0a 80%) , 
              linear-gradient(180deg, #1c1612 0%, #0e0c0a 100%);
}
.scn-tertsky-where-wrangel .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(200,160,120,0.05) 20%, transparent 100%);
  animation: tw-wall 15s ease-in-out infinite alternate;
}
.scn-tertsky-where-wrangel .door {
  position: absolute; bottom: 10%; left: 55%; width: 30%; height: 70%;
  background: linear-gradient(135deg, #2a2018 0%, #1a1410 60%, #0a0806 100%);
  border-radius: 4% 2% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 5px 5px 15px rgba(0,0,0,0.6);
  clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
  transform: perspective(600px) rotateY(10deg);
  animation: tw-door 10s ease-in-out infinite alternate;
}
.scn-tertsky-where-wrangel .figure-left {
  position: absolute; bottom: 8%; left: 30%; width: 15%; height: 55%;
  background: linear-gradient(180deg, #1e1410 0%, #0e0a08 100%);
  border-radius: 40% 50% 30% 40% / 60% 50% 40% 50%;
  filter: blur(1px);
  animation: tw-figure-left 6s ease-in-out infinite alternate;
}
.scn-tertsky-where-wrangel .figure-right {
  position: absolute; bottom: 5%; left: 50%; width: 18%; height: 60%;
  background: linear-gradient(180deg, #221816 0%, #100c0a 100%);
  border-radius: 45% 40% 35% 40% / 55% 50% 40% 50%;
  filter: blur(1.5px);
  opacity: 0.8;
  animation: tw-figure-right 8s ease-in-out infinite alternate;
}
.scn-tertsky-where-wrangel .candle {
  position: absolute; bottom: 22%; left: 44%; width: 2%; height: 8%;
  background: linear-gradient(180deg, #d4a060 0%, #b08040 50%, #805020 100%);
  border-radius: 30%;
  box-shadow: 0 0 4px 2px #ffd080;
  animation: tw-candle-flicker 1.5s ease-in-out infinite alternate;
}
.scn-tertsky-where-wrangel .glow {
  position: absolute; bottom: 10%; left: 38%; width: 24%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,200,120,0.15) 0%, transparent 70%);
  animation: tw-glow 3s ease-in-out infinite alternate;
}
@keyframes tw-wall {
  0% { opacity: 0.3; }
  100% { opacity: 0.6; }
}
@keyframes tw-door {
  0% { transform: perspective(600px) rotateY(10deg) translateX(0); }
  100% { transform: perspective(600px) rotateY(25deg) translateX(5px); }
}
@keyframes tw-figure-left {
  0% { transform: translateY(0) rotate(-2deg); }
  100% { transform: translateY(-8px) rotate(2deg); }
}
@keyframes tw-figure-right {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-5px) scale(0.95); }
}
@keyframes tw-candle-flicker {
  0% { opacity: 0.7; height: 8%; }
  50% { opacity: 1; height: 10%; }
  100% { opacity: 0.8; height: 7%; }
}
@keyframes tw-glow {
  0% { opacity: 0.2; transform: scale(1); }
  100% { opacity: 0.4; transform: scale(1.1); }
}

/* Scene: illo-questions-octavio */

.scn-illo-questions-octavio {
  background: radial-gradient(ellipse at 50% 60%, #201810 0%, #0c0a08 80%),
              linear-gradient(180deg, #160f0a 0%, #0d0a08 100%);
}
.scn-illo-questions-octavio .table {
  position: absolute; bottom: 8%; left: 20%; width: 60%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1810 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: iq-table 12s ease-in-out infinite alternate;
}
.scn-illo-questions-octavio .profile-left {
  position: absolute; bottom: 18%; left: 25%; width: 16%; height: 45%;
  background: linear-gradient(180deg, #2a1e16 0%, #120e0a 100%);
  border-radius: 40% 50% 30% 40% / 60% 50% 40% 50%;
  filter: blur(1px);
  animation: iq-profile-left 6s ease-in-out infinite alternate;
}
.scn-illo-questions-octavio .profile-right {
  position: absolute; bottom: 18%; right: 25%; width: 16%; height: 45%;
  background: linear-gradient(180deg, #2a1e16 0%, #120e0a 100%);
  border-radius: 50% 40% 40% 30% / 50% 60% 50% 40%;
  filter: blur(1px);
  animation: iq-profile-right 6s ease-in-out infinite alternate-reverse;
}
.scn-illo-questions-octavio .arm {
  position: absolute; bottom: 19%; left: 35%; width: 30%; height: 4%;
  background: linear-gradient(90deg, #1a120e 0%, #241a14 50%, #1a120e 100%);
  border-radius: 50%;
  transform-origin: left center;
  animation: iq-arm 8s ease-in-out infinite alternate;
}
.scn-illo-questions-octavio .candle {
  position: absolute; bottom: 24%; left: 48%; width: 2%; height: 10%;
  background: linear-gradient(180deg, #e0a060 0%, #b08040 50%, #704020 100%);
  border-radius: 30%;
  box-shadow: 0 0 6px 3px #ffc070;
  animation: iq-candle-flicker 2s ease-in-out infinite alternate;
}
.scn-illo-questions-octavio .glow {
  position: absolute; bottom: 12%; left: 40%; width: 20%; height: 25%;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,200,120,0.12) 0%, transparent 70%);
  animation: iq-glow 4s ease-in-out infinite alternate;
}
.scn-illo-questions-octavio .shadow-wall {
  position: absolute; top: 0; left: 5%; width: 90%; height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.3) 0%, transparent 40%);
  pointer-events: none;
  animation: iq-shadow-wall 15s ease-in-out infinite alternate;
}
@keyframes iq-table {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}
@keyframes iq-profile-left {
  0% { transform: translateX(0) rotate(-2deg); }
  100% { transform: translateX(5px) rotate(2deg); }
}
@keyframes iq-profile-right {
  0% { transform: translateX(0) rotate(2deg); }
  100% { transform: translateX(-5px) rotate(-2deg); }
}
@keyframes iq-arm {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(5deg); }
}
@keyframes iq-candle-flicker {
  0% { opacity: 0.8; height: 10%; }
  50% { opacity: 1; height: 12%; }
  100% { opacity: 0.7; height: 9%; }
}
@keyframes iq-glow {
  0% { opacity: 0.2; transform: scale(1); }
  100% { opacity: 0.35; transform: scale(1.1); }
}
@keyframes iq-shadow-wall {
  0% { opacity: 0.4; }
  100% { opacity: 0.7; }
}

/* Scene: wallenstein-whimsical */

.scn-wallenstein-whimsical {
  background: radial-gradient(ellipse at 30% 50%, #1e1612 0%, #0a0806 100%);
}
.scn-wallenstein-whimsical .desk {
  position: absolute; bottom: 6%; left: 15%; width: 70%; height: 10%;
  background: linear-gradient(180deg, #3a2818 0%, #1e1410 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 6px 15px rgba(0,0,0,0.8);
  animation: ww-desk 20s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .standing {
  position: absolute; bottom: 16%; left: 40%; width: 20%; height: 55%;
  background: linear-gradient(180deg, #241c16 0%, #120e0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  filter: blur(1.5px);
  animation: ww-standing 8s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .map {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 28%;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 40%, #4a3a2a 100%);
  border-radius: 8% 8% 4% 4%;
  transform: perspective(400px) rotateX(10deg);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: ww-map 14s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .candle {
  position: absolute; bottom: 20%; left: 48%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #e0a860 0%, #b08040 50%, #704028 100%);
  border-radius: 30%;
  box-shadow: 0 0 8px 4px #ffc070;
}
.scn-wallenstein-whimsical .double {
  left: 47%;
  animation: ww-candle-double 2s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .glow {
  position: absolute; bottom: 10%; left: 35%; width: 30%; height: 35%;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,200,120,0.1) 0%, transparent 70%);
  animation: ww-glow 5s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .shadow-floor {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  animation: ww-shadow-floor 12s ease-in-out infinite alternate;
}
.scn-wallenstein-whimsical .curtain {
  position: absolute; top: 0; right: 0; width: 25%; height: 100%;
  background: linear-gradient(90deg, transparent 0%, #1a1410 30%, #0e0c0a 100%);
  animation: ww-curtain 18s ease-in-out infinite alternate;
}
@keyframes ww-desk {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}
@keyframes ww-standing {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(3px) rotate(1deg); }
  100% { transform: translateX(-3px) rotate(-1deg); }
}
@keyframes ww-map {
  0% { transform: perspective(400px) rotateX(10deg) scale(1); }
  100% { transform: perspective(400px) rotateX(5deg) scale(0.97); }
}
@keyframes ww-candle-double {
  0% { opacity: 0.7; height: 12%; }
  50% { opacity: 1; height: 14%; }
  100% { opacity: 0.8; height: 10%; }
}
@keyframes ww-glow {
  0% { opacity: 0.1; transform: scale(1); }
  100% { opacity: 0.25; transform: scale(1.15); }
}
@keyframes ww-shadow-floor {
  0% { opacity: 0.5; }
  100% { opacity: 0.8; }
}
@keyframes ww-curtain {
  0% { width: 25%; }
  100% { width: 30%; }
}

/* Scene: tertsky-must-be-he */

.scn-tertsky-must-be-he {
  background: radial-gradient(ellipse at 60% 40%, #1a1410 0%, #0a0806 90%),
              linear-gradient(180deg, #120e0a 0%, #0c0a08 100%);
}
.scn-tertsky-must-be-he .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(180,140,100,0.05) 30%, transparent 100%);
  animation: th-wall 20s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .back {
  background: linear-gradient(135deg, #1e1814 0%, #100c0a 100%);
}
.scn-tertsky-must-be-he .group {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 60%;
  background: radial-gradient(ellipse at 50% 50%, rgba(30,20,16,0.8) 0%, transparent 70%);
  animation: th-group 14s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .shadows {
  filter: blur(3px);
}
.scn-tertsky-must-be-he .center {
  position: absolute; bottom: 15%; left: 35%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #2a1e18 0%, #140e0c 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  filter: blur(1px);
  animation: th-center 8s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .side {
  position: absolute; bottom: 10%; height: 45%;
  width: 16%;
  filter: blur(2px);
}
.scn-tertsky-must-be-he .left {
  left: 18%;
  background: linear-gradient(180deg, #221a14 0%, #120c0a 100%);
  border-radius: 50% 40% 40% 30% / 55% 45% 45% 50%;
  animation: th-side-left 6s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .right {
  right: 18%;
  background: linear-gradient(180deg, #221a14 0%, #120c0a 100%);
  border-radius: 40% 50% 30% 40% / 45% 55% 50% 45%;
  animation: th-side-right 6s ease-in-out infinite alternate-reverse;
}
.scn-tertsky-must-be-he .candle {
  position: absolute; bottom: 25%; left: 46%; width: 4%; height: 14%;
  background: linear-gradient(180deg, #e0b060 0%, #c09040 40%, #805028 100%);
  border-radius: 30%;
  box-shadow: 0 0 10px 5px #ffc070;
}
.scn-tertsky-must-be-he .cluster {
  display: block;
  animation: th-candle-cluster 1.8s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .glow {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(ellipse at 50% 60%, rgba(255,200,120,0.12) 0%, transparent 70%);
  animation: th-glow 4s ease-in-out infinite alternate;
}
.scn-tertsky-must-be-he .shelf {
  position: absolute; bottom: 30%; left: 0; width: 100%; height: 2%;
  background: linear-gradient(90deg, transparent 10%, #3a2a1a 30%, #2a1e14 50%, #3a2a1a 70%, transparent 90%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: th-shelf 30s ease-in-out infinite alternate;
}
@keyframes th-wall {
  0% { opacity: 0.2; }
  100% { opacity: 0.5; }
}
@keyframes th-group {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 0.9; transform: scale(0.98); }
}
@keyframes th-center {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(4px) rotate(1deg); }
  100% { transform: translateX(-4px) rotate(-1deg); }
}
@keyframes th-side-left {
  0% { transform: translateX(0) rotate(-3deg); }
  100% { transform: translateX(6px) rotate(3deg); }
}
@keyframes th-side-right {
  0% { transform: translateX(0) rotate(3deg); }
  100% { transform: translateX(-6px) rotate(-3deg); }
}
@keyframes th-candle-cluster {
  0% { opacity: 0.7; height: 14%; }
  50% { opacity: 1; height: 16%; }
  100% { opacity: 0.8; height: 12%; }
}
@keyframes th-glow {
  0% { opacity: 0.15; transform: scale(1); }
  100% { opacity: 0.3; transform: scale(1.2); }
}
@keyframes th-shelf {
  0% { height: 2%; }
  100% { height: 3%; }
}

.scn-butler-reminds-of-coat {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 40%, #0e0a08 100%),
              radial-gradient(ellipse at 30% 40%, #3d2a20 0%, transparent 70%);
}
.scn-butler-reminds-of-coat .bg {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 60px, rgba(0,0,0,0.1) 60px, rgba(0,0,0,0.1) 62px);
  animation: brc-bg 20s linear infinite;
}
.scn-butler-reminds-of-coat .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1e18 100%);
  border-bottom: 4px solid #1a100c;
}
.scn-butler-reminds-of-coat .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #4a3528 0%, #2a1e14 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -6px 10px rgba(0,0,0,0.6);
  transform: perspective(600px) rotateX(10deg);
}
.scn-butler-reminds-of-coat .candle {
  position: absolute; bottom: 26%; left: 35%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #c8a060 0%, #8a6840 100%);
  border-radius: 2px;
  animation: brc-candle 3s ease-in-out infinite alternate;
}
.scn-butler-reminds-of-coat .coat {
  position: absolute; bottom: 22%; left: 45%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%);
  border-radius: 20% 20% 40% 40% / 40% 40% 60% 60%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: brc-coat 6s ease-in-out infinite alternate;
}
.scn-butler-reminds-of-coat .butler {
  position: absolute; bottom: 18%; right: 25%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: brc-butler 4s ease-in-out infinite;
}
.scn-butler-reminds-of-coat .shadow {
  position: absolute; bottom: 18%; left: 10%; width: 80%; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 80%);
  animation: brc-shadow 6s ease-in-out infinite alternate;
}
.scn-butler-reminds-of-coat .glow {
  position: absolute; bottom: 24%; left: 33%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d4a86a 0%, transparent 70%);
  opacity: 0.3;
  animation: brc-glow 3s ease-in-out infinite alternate;
}
@keyframes brc-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes brc-candle { 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 12px 4px #c88840; } 50% { transform: scaleY(0.95) translateY(-1px); box-shadow: 0 0 18px 8px #e8a860; } 100% { transform: scaleY(1) translateY(0); box-shadow: 0 0 12px 4px #c88840; } }
@keyframes brc-coat { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(2px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes brc-butler { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes brc-shadow { 0% { transform: scaleX(1); opacity: 0.4; } 50% { transform: scaleX(1.1); opacity: 0.6; } 100% { transform: scaleX(1); opacity: 0.4; } }
@keyframes brc-glow { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.2); } 100% { opacity: 0.2; transform: scale(1); } }

.scn-devereux-removes-coat {
  background: linear-gradient(180deg, #1f1410 0%, #120a08 40%, #080402 100%),
              radial-gradient(ellipse at 60% 30%, #2a1c14 0%, transparent 80%);
}
.scn-devereux-removes-coat .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1010 0%, #0e0808 50%, #1a1010 100%);
  animation: drc-bg 15s ease-in-out infinite alternate;
}
.scn-devereux-removes-coat .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-top: 2px solid #3a2a1e;
}
.scn-devereux-removes-coat .figure {
  position: absolute; bottom: 20%; left: 45%; width: 26px; height: 65px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: drc-figure 5s ease-in-out infinite;
}
.scn-devereux-removes-coat .coat {
  position: absolute; bottom: 18%; left: 35%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #4a3224 0%, #2e1c12 100%);
  border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%;
  transform: rotate(15deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: drc-coat 4s ease-in-out infinite alternate;
}
.scn-devereux-removes-coat .chair {
  position: absolute; bottom: 22%; right: 20%; width: 30px; height: 45px;
  background: linear-gradient(180deg, #3a241a 0%, #2a1810 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: inset 0 4px 6px rgba(0,0,0,0.3);
  animation: drc-chair 8s ease-in-out infinite;
}
.scn-devereux-removes-coat .spotlight {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(ellipse, rgba(180,140,80,0.15) 0%, transparent 80%);
  animation: drc-spotlight 6s ease-in-out infinite alternate;
}
.scn-devereux-removes-coat .shadow {
  position: absolute; bottom: 18%; left: 30%; width: 50%; height: 15px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: drc-shadow 5s ease-in-out infinite alternate;
}
@keyframes drc-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes drc-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes drc-coat { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(4px); } 100% { transform: rotate(15deg) translateX(0); } }
@keyframes drc-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes drc-spotlight { 0% { opacity: 0.1; transform: scale(1); } 50% { opacity: 0.25; transform: scale(1.1); } 100% { opacity: 0.1; transform: scale(1); } }
@keyframes drc-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.2); opacity: 0.5; } 100% { transform: scaleX(1); opacity: 0.3; } }

.scn-macdonald-offers-holy-water {
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 40%, #080404 100%),
              radial-gradient(ellipse at 40% 20%, #2a1e18 0%, transparent 80%);
}
.scn-macdonald-offers-holy-water .bg {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 40px, rgba(255,255,255,0.02) 40px, rgba(255,255,255,0.02) 42px);
  animation: mhw-bg 25s linear infinite;
}
.scn-macdonald-offers-holy-water .arch {
  position: absolute; top: 5%; left: 15%; right: 15%; bottom: 30%;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1c14 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: mhw-arch 12s ease-in-out infinite alternate;
}
.scn-macdonald-offers-holy-water .figure {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mhw-figure 5s ease-in-out infinite;
}
.scn-macdonald-offers-holy-water .vial {
  position: absolute; bottom: 28%; left: 38%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #c0a87a 0%, #8a7048 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: mhw-vial 3s ease-in-out infinite alternate;
}
.scn-macdonald-offers-holy-water .hand {
  position: absolute; bottom: 30%; left: 36%; width: 16px; height: 12px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(10deg);
  animation: mhw-hand 4s ease-in-out infinite alternate;
}
.scn-macdonald-offers-holy-water .glow {
  position: absolute; bottom: 26%; left: 35%; width: 30px; height: 30px;
  background: radial-gradient(circle, #d4b080 0%, transparent 70%);
  opacity: 0.2;
  animation: mhw-glow 3s ease-in-out infinite alternate;
}
.scn-macdonald-offers-holy-water .shadow {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 15px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: mhw-shadow 6s ease-in-out infinite alternate;
}
.scn-macdonald-offers-holy-water .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
}
@keyframes mhw-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mhw-arch { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes mhw-figure { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mhw-vial { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes mhw-hand { 0% { transform: rotate(10deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(10deg); } }
@keyframes mhw-glow { 0% { opacity: 0.1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(1.2); } 100% { opacity: 0.1; transform: scale(1); } }
@keyframes mhw-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.1); opacity: 0.5; } 100% { transform: scaleX(1); opacity: 0.3; } }

.scn-butler-gives-final-instructions {
  background: linear-gradient(180deg, #1f1410 0%, #120a08 40%, #060404 100%),
              radial-gradient(ellipse at 50% 30%, #2a1c14 0%, transparent 80%);
}
.scn-butler-gives-final-instructions .bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #1a1210 0%, #0e0a08 50%, #1a1210 100%);
  animation: bfi-bg 20s ease-in-out infinite alternate;
}
.scn-butler-gives-final-instructions .butler {
  position: absolute; bottom: 20%; left: 30%; width: 28px; height: 68px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bfi-butler 4s ease-in-out infinite;
}
.scn-butler-gives-final-instructions .guard1 {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bfi-guard1 5s ease-in-out infinite;
}
.scn-butler-gives-final-instructions .guard2 {
  position: absolute; bottom: 20%; left: 55%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bfi-guard2 5s ease-in-out infinite 0.5s;
}
.scn-butler-gives-final-instructions .door {
  position: absolute; bottom: 18%; right: 15%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3a281e 0%, #2a1a12 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.4);
  transform: perspective(200px) rotateY(-5deg);
  animation: bfi-door 10s ease-in-out infinite alternate;
}
.scn-butler-gives-final-instructions .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-top: 2px solid #3a2a1e;
}
.scn-butler-gives-final-instructions .shadow {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 15px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: bfi-shadow 6s ease-in-out infinite alternate;
}
.scn-butler-gives-final-instructions .glow {
  position: absolute; top: 10%; left: 10%; width: 80%; height: 40%;
  background: radial-gradient(ellipse, rgba(160,120,80,0.1) 0%, transparent 70%);
  animation: bfi-glow 8s ease-in-out infinite alternate;
}
@keyframes bfi-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes bfi-butler { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bfi-guard1 { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(1px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-1px) rotate(0); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bfi-guard2 { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-1px) rotate(-1deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(1px) rotate(0); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bfi-door { 0% { transform: perspective(200px) rotateY(-5deg); } 50% { transform: perspective(200px) rotateY(0deg); } 100% { transform: perspective(200px) rotateY(-5deg); } }
@keyframes bfi-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.1); opacity: 0.5; } 100% { transform: scaleX(1); opacity: 0.3; } }
@keyframes bfi-glow { 0% { opacity: 0.05; transform: scale(1); } 50% { opacity: 0.15; transform: scale(1.05); } 100% { opacity: 0.05; transform: scale(1); } }

/* one block per scene id. Append to style.css. */

.scn-octavio-enumerates-intrigues { background: linear-gradient(180deg, #1a1015 0%, #2a1518 30%, #1a2025 100%), radial-gradient(ellipse at 50% 70%, #3a2020 0%, transparent 60%); }
.scn-octavio-enumerates-intrigues .table { position:absolute; bottom:10%; left:10%; width:80%; height:40%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.7); }
.scn-octavio-enumerates-intrigues .paper { position:absolute; bottom:18%; left:30%; width:30%; height:20%; background: linear-gradient(135deg, #d4c4a4 0%, #b8a888 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); transform: rotate(-2deg); animation: sc1-paper 6s ease-in-out infinite alternate; }
.scn-octavio-enumerates-intrigues .hand { position:absolute; bottom:16%; left:45%; width:20%; height:18%; background: linear-gradient(180deg, #8a6a5a 0%, #6a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: sc1-hand 4s ease-in-out infinite; }
.scn-octavio-enumerates-intrigues .candle { position:absolute; bottom:22%; left:20%; width:3%; height:15%; background: linear-gradient(180deg, #e8d8a0 0%, #b8a060 100%); border-radius: 2px; box-shadow: 0 0 8px 2px #f0c060; }
.scn-octavio-enumerates-intrigues .candle-glow { position:absolute; bottom:32%; left:18%; width:10%; height:20%; background: radial-gradient(circle, rgba(240,192,96,.6) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: sc1-glow 2.5s ease-in-out infinite alternate; }
.scn-octavio-enumerates-intrigues .letter { position:absolute; bottom:12%; left:55%; width:12%; height:8%; background: #c8b080; border-radius: 1px; transform: rotate(5deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: sc1-letter 8s ease-in-out infinite; }
.scn-octavio-enumerates-intrigues .shadow { position:absolute; bottom:10%; left:20%; width:40%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 60%); border-radius: 50%; filter: blur(6px); animation: sc1-shadow 5s ease-in-out infinite alternate; }
.scn-octavio-enumerates-intrigues .dust { position:absolute; top:20%; left:0; width:100%; height:100%; background: radial-gradient(circle at 30% 60%, rgba(255,255,200,.05) 0%, transparent 90%); filter: blur(4px); animation: sc1-dust 20s linear infinite; }
@keyframes sc1-paper { 0% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(0deg) scale(1.02); } 100% { transform: rotate(-4deg) scale(1); } }
@keyframes sc1-hand { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2%) rotate(-3deg); } 50% { transform: translateX(4%) rotate(2deg); } 75% { transform: translateX(2%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes sc1-glow { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(0.95); } }
@keyframes sc1-letter { 0%,100% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(2%); } }
@keyframes sc1-shadow { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes sc1-dust { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5%) scale(0.9); } 100% { transform: translateY(0) scale(1); } }

.scn-emperor-trembles { background: linear-gradient(180deg, #0f0f1a 0%, #1a101a 40%, #2a1a1a 100%), radial-gradient(ellipse at 50% 80%, #4a2a2a 0%, transparent 70%); }
.scn-emperor-trembles .floor { position:absolute; bottom:0; left:0; width:100%; height:20%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 0; }
.scn-emperor-trembles .throne { position:absolute; bottom:8%; left:30%; width:40%; height:40%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 8px 20px rgba(0,0,0,.8); }
.scn-emperor-trembles .emperor { position:absolute; bottom:12%; left:42%; width:16%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sc2-emperor 3s ease-in-out infinite alternate; }
.scn-emperor-trembles .crown { position:absolute; bottom:38%; left:46%; width:8%; height:6%; background: linear-gradient(180deg, #b8a040 0%, #8a7020 100%); border-radius: 20% 20% 0 0; box-shadow: 0 0 12px 4px rgba(200,180,60,.3); animation: sc2-crown 4s ease-in-out infinite; }
.scn-emperor-trembles .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(90deg, #3a1a1a 0%, #2a1010 100%); border-radius: 0 30% 30% 0; transform: skewX(-5deg); animation: sc2-curtain 8s ease-in-out infinite alternate; }
.scn-emperor-trembles .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(270deg, #3a1a1a 0%, #2a1010 100%); border-radius: 30% 0 0 30%; transform: skewX(5deg); animation: sc2-curtain 8s ease-in-out infinite alternate-reverse; }
.scn-emperor-trembles .window { position:absolute; top:10%; right:15%; width:15%; height:25%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 10% 10% 5% 5%; border: 2px solid #2a1a1a; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
.scn-emperor-trembles .moonlight { position:absolute; top:15%; right:20%; width:10%; height:20%; background: radial-gradient(ellipse, rgba(200,200,255,.15) 0%, transparent 70%); filter: blur(15px); animation: sc2-moon 12s ease-in-out infinite alternate; }
@keyframes sc2-emperor { 0% { transform: translateX(0) rotate(0) scale(1); } 25% { transform: translateX(2%) rotate(-1deg) scale(1.02); } 50% { transform: translateX(0) rotate(2deg) scale(0.98); } 75% { transform: translateX(-2%) rotate(-1deg) scale(1.01); } 100% { transform: translateX(0) rotate(0) scale(1); } }
@keyframes sc2-crown { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2%) rotate(3deg); } }
@keyframes sc2-curtain { 0% { transform: skewX(-5deg) scaleX(1); } 50% { transform: skewX(-3deg) scaleX(0.95); } 100% { transform: skewX(-5deg) scaleX(1); } }
@keyframes sc2-moon { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-octavio-warns-civil-war { background: linear-gradient(180deg, #0f0a0a 0%, #1a1010 40%, #2a1a1a 100%), radial-gradient(ellipse at 50% 50%, #4a2020 0%, transparent 70%); }
.scn-octavio-warns-civil-war .desk { position:absolute; bottom:5%; left:5%; width:90%; height:35%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.7); }
.scn-octavio-warns-civil-war .map { position:absolute; bottom:15%; left:15%; width:40%; height:30%; background: linear-gradient(135deg, #b8a888 0%, #9a8a6a 100%); border-radius: 3px; transform: rotate(-3deg); box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: sc3-map 10s ease-in-out infinite; }
.scn-octavio-warns-civil-war .flame-left { position:absolute; bottom:20%; left:10%; width:6%; height:15%; background: radial-gradient(ellipse at 50% 30%, #ff8040 0%, #ff4020 40%, transparent 70%); border-radius: 50%; filter: blur(2px); animation: sc3-flame 1.5s ease-in-out infinite alternate; }
.scn-octavio-warns-civil-war .flame-right { position:absolute; bottom:22%; left:75%; width:5%; height:12%; background: radial-gradient(ellipse at 50% 30%, #ff8030 0%, #ff3010 40%, transparent 70%); border-radius: 50%; filter: blur(2px); animation: sc3-flame 1.8s ease-in-out infinite alternate-reverse; }
.scn-octavio-warns-civil-war .inkwell { position:absolute; bottom:12%; left:60%; width:8%; height:10%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-octavio-warns-civil-war .quill { position:absolute; bottom:18%; left:66%; width:2%; height:20%; background: linear-gradient(180deg, #f0e8c0 0%, #b8a880 100%); transform: rotate(-20deg); transform-origin: bottom; border-radius: 50% 50% 0 0; animation: sc3-quill 5s ease-in-out infinite; }
.scn-octavio-warns-civil-war .blooddrop { position:absolute; bottom:10%; left:30%; width:2%; height:4%; background: radial-gradient(circle, #a04030 0%, #601a10 100%); border-radius: 50%; box-shadow: 0 0 6px 2px rgba(160,64,48,.5); animation: sc3-drop 7s ease-in-out infinite; }
@keyframes sc3-map { 0% { transform: rotate(-3deg) scale(1); } 50% { transform: rotate(0deg) scale(1.03); } 100% { transform: rotate(-6deg) scale(0.98); } }
@keyframes sc3-flame { 0% { transform: scaleY(0.8) scaleX(1); } 50% { transform: scaleY(1.1) scaleX(0.9); } 100% { transform: scaleY(0.85) scaleX(1.05); } }
@keyframes sc3-quill { 0% { transform: rotate(-20deg); } 50% { transform: rotate(-15deg); } 100% { transform: rotate(-22deg); } }
@keyframes sc3-drop { 0% { opacity: 0; transform: translateY(0) scale(0); } 20% { opacity: 1; transform: translateY(0) scale(1); } 40% { opacity: 1; transform: translateY(5%) scale(1.2); } 80% { opacity: 0.5; transform: translateY(10%) scale(0.8); } 100% { opacity: 0; transform: translateY(12%) scale(0); } }

.scn-octavio-foreign-holds { background: linear-gradient(180deg, #0f0f15 0%, #1a1520 40%, #252020 100%), radial-gradient(ellipse at 50% 90%, #3a2a3a 0%, transparent 70%); }
.scn-octavio-foreign-holds .table { position:absolute; bottom:2%; left:2%; width:96%; height:40%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 5% 5% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.7); }
.scn-octavio-foreign-holds .chessboard { position:absolute; bottom:15%; left:20%; width:60%; height:30%; background: linear-gradient(45deg, #3a2a1a 25%, #6a4a2a 25%, #6a4a2a 50%, #3a2a1a 50%, #3a2a1a 75%, #6a4a2a 75%); background-size: 15% 15%; border-radius: 3px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-octavio-foreign-holds .pawn-white { position:absolute; bottom:30%; left:30%; width:5%; height:10%; background: linear-gradient(180deg, #e0d8c0 0%, #b8a890 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: sc4-pawn 7s ease-in-out infinite; }
.scn-octavio-foreign-holds .pawn-black { position:absolute; bottom:28%; left:55%; width:5%; height:10%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,.6); animation: sc4-pawn 7s ease-in-out infinite 3.5s; }
.scn-octavio-foreign-holds .banner-white { position:absolute; bottom:32%; left:25%; width:3%; height:18%; background: linear-gradient(180deg, #e0d8c0 0%, #b8a890 100%); transform: skewX(-10deg); border-radius: 0; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sc4-banner 12s ease-in-out infinite; }
.scn-octavio-foreign-holds .banner-black { position:absolute; bottom:30%; right:25%; width:3%; height:18%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); transform: skewX(10deg); border-radius: 0; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sc4-banner 12s ease-in-out infinite 4s; }
.scn-octavio-foreign-holds .shadow { position:absolute; bottom:10%; left:15%; width:70%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: sc4-shadow 9s ease-in-out infinite alternate; }
.scn-octavio-foreign-holds .candle { position:absolute; bottom:10%; left:5%; width:3%; height:12%; background: linear-gradient(180deg, #e8d8a0 0%, #b8a060 100%); border-radius: 2px; box-shadow: 0 0 8px 2px #f0c060; }
.scn-octavio-foreign-holds .candle-glow { position:absolute; bottom:15%; left:2%; width:12%; height:18%; background: radial-gradient(circle, rgba(240,192,96,.5) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: sc4-glow 2.5s ease-in-out infinite alternate; }
@keyframes sc4-pawn { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3%) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes sc4-banner { 0% { transform: skewX(-10deg) rotate(0); } 50% { transform: skewX(-10deg) rotate(2deg); } 100% { transform: skewX(-10deg) rotate(-2deg); } }
@keyframes sc4-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }
@keyframes sc4-glow { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } 100% { opacity: 0.7; transform: scale(0.95); } }

.scn-staff-of-command-arrives { background: linear-gradient(180deg, #2a1f1a 0%, #3d2e24 40%, #4a3a2e 100%), radial-gradient(ellipse at 50% 80%, #5a4a3e 0%, transparent 70%); }
.scn-staff-of-command-arrives .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3a2e 0%, #2a1f1a 100%); }
.scn-staff-of-command-arrives .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1e1510 0%, #2a1f1a 50%, #3d2e24 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.5); }
.scn-staff-of-command-arrives .table { position:absolute; bottom:20%; left:30%; width:30%; height:12%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,.6); }
.scn-staff-of-command-arrives .cushion { position:absolute; bottom:20%; left:42%; width:10%; height:6%; background: radial-gradient(ellipse at 30% 40%, #a0461a 0%, #5e1a1d 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: inset 0 -2px 4px rgba(0,0,0,.4); }
.scn-staff-of-command-arrives .staff { position:absolute; bottom:20%; left:46%; width:2%; height:35%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 50%, #4a3a1a 100%); border-radius: 2px; transform-origin: bottom center; box-shadow: 0 0 6px rgba(200,180,140,.3); animation: soc-staff 6s ease-in-out infinite; }
.scn-staff-of-command-arrives .chair { position:absolute; bottom:20%; left:20%; width:12%; height:14%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-staff-of-command-arrives .door-wing { position:absolute; bottom:30%; width:12%; height:40%; background: linear-gradient(90deg, #4a3a2e 0%, #3a2a1e 70%, #2a1f1a 100%); border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,.3); }
.scn-staff-of-command-arrives .door-wing.left { left:5%; transform-origin: left center; animation: soc-door-left 3s ease-in-out infinite alternate; }
.scn-staff-of-command-arrives .door-wing.right { right:5%; transform-origin: right center; animation: soc-door-right 3s ease-in-out infinite alternate; }
.scn-staff-of-command-arrives .figure-seni { position:absolute; bottom:20%; left:55%; width:6%; height:20%; background: linear-gradient(180deg, #1a1510 0%, #0a0705 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: soc-figure 8s ease-in-out infinite; }
@keyframes soc-staff { 0%,100% { transform: rotate(0deg) scaleY(1); } 30% { transform: rotate(2deg) scaleY(1.02); } 60% { transform: rotate(-1deg) scaleY(1.01); } }
@keyframes soc-door-left { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(-60deg); } }
@keyframes soc-door-right { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(60deg); } }
@keyframes soc-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } }

.scn-duchess-reception-cold { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a2a3e 100%), radial-gradient(ellipse at 60% 30%, #3a3a5e 0%, transparent 70%); }
.scn-duchess-reception-cold .wall-cold { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); }
.scn-duchess-reception-cold .floor-cold { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #12121a 0%, #1a1a2e 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-duchess-reception-cold .table-cold { position:absolute; bottom:18%; left:35%; width:30%; height:10%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.7); }
.scn-duchess-reception-cold .duchess { position:absolute; bottom:15%; left:30%; width:10%; height:25%; background: linear-gradient(180deg, #2a2a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 10px rgba(100,100,140,.2); animation: drc-duchess 4s ease-in-out infinite; }
.scn-duchess-reception-cold .wallenstein { position:absolute; bottom:18%; right:25%; width:12%; height:28%; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: drc-wallenstein 5s ease-in-out infinite; }
.scn-duchess-reception-cold .shadow-crack { position:absolute; bottom:20%; left:50%; width:2%; height:35%; background: linear-gradient(180deg, transparent 0%, #0a0a12 30%, transparent 70%); transform: translateX(-50%) rotate(10deg); animation: drc-crack 3s ease-in-out infinite alternate; }
.scn-duchess-reception-cold .cold-light { position:absolute; top:10%; left:45%; width:10%; height:20%; background: radial-gradient(ellipse at 50% 50%, rgba(180,200,255,.15) 0%, transparent 60%); animation: drc-light 6s ease-in-out infinite alternate; }
.scn-duchess-reception-cold .cold-air { position:absolute; top:30%; right:20%; width:20%; height:15%; background: radial-gradient(ellipse at 50% 50%, rgba(200,220,255,.05) 0%, transparent 80%); filter: blur(8px); animation: drc-air 10s linear infinite; }
@keyframes drc-duchess { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(2deg); } 60% { transform: translateY(0) rotate(-2deg); } }
@keyframes drc-wallenstein { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 40% { transform: translateX(2px) translateY(-2px) rotate(1deg); } 80% { transform: translateX(-1px) translateY(0) rotate(-1deg); } }
@keyframes drc-crack { 0% { opacity: 0.2; transform: translateX(-50%) rotate(10deg) scaleY(1); } 100% { opacity: 0.6; transform: translateX(-50%) rotate(12deg) scaleY(1.05); } }
@keyframes drc-light { 0% { opacity: 0.3; transform: scale(1); } 100% { opacity: 0.6; transform: scale(1.2); } }
@keyframes drc-air { 0% { transform: translateX(0) translateY(0); opacity: 0; } 50% { opacity: 0.4; } 100% { transform: translateX(-30px) translateY(-10px); opacity: 0; } }

.scn-duchess-farewell-snub { background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 40%, #2a1a12 100%), radial-gradient(ellipse at 40% 50%, #2a1a12 0%, transparent 70%); }
.scn-duchess-farewell-snub .doorway { position:absolute; inset:10% 20% 20% 20%; border: 4px solid #3a2a1a; background: linear-gradient(180deg, #0a0a0a 0%, #1a0a0a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.8); }
.scn-duchess-farewell-snub .door-closing { position:absolute; bottom:20%; left:20%; width:40%; height:70%; background: linear-gradient(90deg, #2a1a0a 0%, #1a0a00 100%); transform-origin: left center; animation: dfs-door 5s ease-in-out infinite; }
.scn-duchess-farewell-snub .duchess-farewell { position:absolute; bottom:20%; right:15%; width:8%; height:30%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: dfs-figure 6s ease-in-out infinite; }
.scn-duchess-farewell-snub .floor-farewell { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0505 0%, #1a1410 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.7); }
.scn-duchess-farewell-snub .wall-farewell { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #1a1410 0%, #0a0a0a 100%); }
.scn-duchess-farewell-snub .shadow-snub { position:absolute; bottom:20%; right:10%; width:15%; height:40%; background: linear-gradient(180deg, transparent 0%, #000000 80%); animation: dfs-shadow 4s ease-in-out infinite alternate; }
.scn-duchess-farewell-snub .threshold { position:absolute; bottom:20%; left:20%; right:20%; height:2%; background: #2a1a0a; box-shadow: 0 0 10px rgba(0,0,0,.5); }
.scn-duchess-farewell-snub .hand-dismiss { position:absolute; bottom:35%; right:12%; width:4%; height:8%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 100%); border-radius: 20% 20% 50% 50% / 30% 30% 70% 70%; transform-origin: top center; animation: dfs-hand 3s ease-in-out infinite alternate; }
@keyframes dfs-door { 0%,100% { transform: rotateY(0deg) scaleX(1); } 30% { transform: rotateY(-30deg) scaleX(0.9); } 60% { transform: rotateY(0deg) scaleX(1); } }
@keyframes dfs-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0deg); } 20% { transform: translateX(-4px) translateY(-2px) rotate(3deg); } 60% { transform: translateX(2px) translateY(0) rotate(-2deg); } }
@keyframes dfs-shadow { 0% { opacity: 0.2; transform: scaleX(1); } 100% { opacity: 0.6; transform: scaleX(0.8); } }
@keyframes dfs-hand { 0% { transform: rotate(0deg) translateY(0); } 100% { transform: rotate(-20deg) translateY(-5px); } }

.scn-duchess-dread-dismission { background: linear-gradient(180deg, #050505 0%, #0a0505 30%, #120a0a 60%, #1a0a0a 100%), radial-gradient(ellipse at 50% 40%, #1a0a0a 0%, transparent 80%); }
.scn-duchess-dread-dismission .void-bg { position:absolute; inset:0; background: radial-gradient(circle at 50% 30%, rgba(20,10,10,.5) 0%, transparent 40%); animation: ddd-void 8s ease-in-out infinite alternate; }
.scn-duchess-dread-dismission .figure-dread { position:absolute; bottom:15%; left:45%; width:10%; height:35%; background: linear-gradient(180deg, #0a0505 0%, #000000 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: ddd-figure 6s ease-in-out infinite; }
.scn-duchess-dread-dismission .floor-dread { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(0deg, #000000 0%, #0a0505 100%); box-shadow: inset 0 15px 30px rgba(0,0,0,.9); }
.scn-duchess-dread-dismission .wall-dread { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #050505 0%, #0a0505 100%); }
.scn-duchess-dread-dismission .shadow-dread { position:absolute; bottom:15%; left:40%; width:30%; height:50%; background: linear-gradient(180deg, transparent 0%, #000000 100%); animation: ddd-shadow 5s ease-in-out infinite alternate; }
.scn-duchess-dread-dismission .crack-dread { position:absolute; top:10%; left:30%; width:1%; height:40%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 100%); transform: rotate(15deg); animation: ddd-crack 4s ease-in-out infinite alternate; }
.scn-duchess-dread-dismission .noose-shadow { position:absolute; top:0; left:45%; width:10%; height:20%; background: radial-gradient(ellipse at 50% 0%, rgba(30,10,10,.3) 0%, transparent 60%); transform-origin: top center; animation: ddd-noose 7s ease-in-out infinite; }
.scn-duchess-dread-dismission .dread-glow { position:absolute; bottom:30%; left:40%; width:20%; height:20%; background: radial-gradient(ellipse at 50% 50%, rgba(80,20,20,.1) 0%, transparent 70%); filter: blur(10px); animation: ddd-glow 6s ease-in-out infinite alternate; }
@keyframes ddd-void { 0% { opacity: 0.5; transform: scale(1); } 100% { opacity: 0.8; transform: scale(1.05); } }
@keyframes ddd-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-5px) rotate(3deg); } 60% { transform: translateY(0) rotate(-2deg); } }
@keyframes ddd-shadow { 0% { opacity: 0.3; transform: scaleX(0.8); } 100% { opacity: 0.7; transform: scaleX(1.2); } }
@keyframes ddd-crack { 0% { opacity: 0.2; transform: rotate(15deg) scaleY(1); } 100% { opacity: 0.6; transform: rotate(17deg) scaleY(1.1); } }
@keyframes ddd-noose { 0%,100% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-5px); } }
@keyframes ddd-glow { 0% { opacity: 0.1; transform: scale(0.8); } 100% { opacity: 0.4; transform: scale(1.3); } }

/* Scene 1: octavio-shows-letter-butler */

.scn-octavio-shows-letter-butler {
  background: linear-gradient(180deg, #1a1520 0%, #2a1f2c 40%, #1e1422 100%),
              radial-gradient(ellipse at 70% 50%, #3a2a3a 0%, transparent 60%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-octavio-shows-letter-butler .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a1f2c 0%, #1a1520 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.6);
}
.scn-octavio-shows-letter-butler .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1f20 0%, #1a1015 100%);
  border-radius: 60% 40% 0 0 / 30% 20% 0 0;
}
.scn-octavio-shows-letter-butler .table {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(90deg, #3a2a2a 0%, #4a3a3a 50%, #3a2a2a 100%);
  border-radius: 20% 20% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.5);
  animation: oct1-table 9s ease-in-out infinite;
}
.scn-octavio-shows-letter-butler .candle {
  position: absolute; bottom: 33%; left: 48%; width: 4px; height: 18px;
  background: linear-gradient(180deg, #c8a070 0%, #a08040 100%);
  border-radius: 2px; box-shadow: 0 0 6px 2px #c8a070;
}
.scn-octavio-shows-letter-butler .candle-glow {
  position: absolute; bottom: 38%; left: 49%; width: 20px; height: 20px;
  background: radial-gradient(circle, #f0c080 0%, #e0a060 40%, transparent 70%);
  border-radius: 50%; filter: blur(6px); opacity: .8;
  animation: oct1-glow 3s ease-in-out infinite alternate;
}
.scn-octavio-shows-letter-butler .figure-left {
  position: absolute; bottom: 30%; left: 20%; width: 16%; height: 35%;
  background: linear-gradient(180deg, #2a2028 0%, #1a1520 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oct1-figL 5s ease-in-out infinite;
}
.scn-octavio-shows-letter-butler .figure-right {
  position: absolute; bottom: 30%; right: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #2c202a 0%, #1c1522 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oct1-figR 6s ease-in-out infinite;
}
.scn-octavio-shows-letter-butler .letter-hand {
  position: absolute; bottom: 32%; left: 42%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #b0a080 0%, #a09070 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom center; animation: oct1-hand 7s ease-in-out infinite;
}
.scn-octavio-shows-letter-butler .letter-paper {
  position: absolute; bottom: 39%; left: 43%; width: 5%; height: 7%;
  background: linear-gradient(135deg, #f0e8d0 0%, #d0c8b0 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: oct1-paper 7s ease-in-out infinite;
}
@keyframes oct1-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes oct1-glow { 0% { opacity:.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); } 100% { opacity:.7; transform: scale(1.05); } }
@keyframes oct1-figL { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes oct1-figR { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(-2px) rotate(-0.5deg); } 66% { transform: translateX(1px) rotate(0.5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes oct1-hand { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(3deg) scale(1.05); } }
@keyframes oct1-paper { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } }

/* Scene 2: butler-knees-tremble */

.scn-butler-knees-tremble {
  background: linear-gradient(180deg, #14101a 0%, #1c1622 40%, #0e0a14 100%),
              radial-gradient(ellipse at 30% 40%, #2a1e30 0%, transparent 70%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-butler-knees-tremble .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1622 0%, #12101a 100%);
}
.scn-butler-knees-tremble .chair-back {
  position: absolute; bottom: 25%; left: 40%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #2a2020 0%, #1a1010 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 4px 0 12px rgba(0,0,0,.5);
  animation: but2-chair 8s ease-in-out infinite;
}
.scn-butler-knees-tremble .chair-seat {
  position: absolute; bottom: 19%; left: 42%; width: 20%; height: 8%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 30% 30% 0 0;
}
.scn-butler-knees-tremble .butler-figure {
  position: absolute; bottom: 20%; left: 38%; width: 18%; height: 30%;
  background: linear-gradient(180deg, #1a1620 0%, #0e0a14 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%;
  transform-origin: bottom center;
  animation: but2-fig 4s ease-in-out infinite;
}
.scn-butler-knees-tremble .trembling-foot {
  position: absolute; bottom: 10%; left: 35%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #2a2028 0%, #1a1518 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: top center;
  animation: but2-foot 2s ease-in-out infinite;
}
.scn-butler-knees-tremble .letter-floor {
  position: absolute; bottom: 5%; left: 48%; width: 6%; height: 4%;
  background: linear-gradient(135deg, #e0d8c0 0%, #c0b8a0 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: but2-letter 10s ease-in-out infinite;
}
.scn-butler-knees-tremble .lamp {
  position: absolute; bottom: 35%; right: 12%; width: 6%; height: 18%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-butler-knees-tremble .lamp-light {
  position: absolute; bottom: 38%; right: 15%; width: 15%; height: 15%;
  background: radial-gradient(circle, #f0c080 0%, #e0a060 30%, transparent 60%);
  border-radius: 50%; filter: blur(8px); opacity: .7;
  animation: but2-light 5s ease-in-out infinite alternate;
}
@keyframes but2-chair { 0%,100% { transform: scale(1); } 50% { transform: scale(0.98) rotate(-0.5deg); } }
@keyframes but2-fig { 0%,100% { transform: translateY(0) rotate(-1deg); } 33% { transform: translateY(-3px) rotate(1deg); } 66% { transform: translateY(-1px) rotate(0deg); } }
@keyframes but2-foot { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(1deg); } 100% { transform: rotate(0deg); } }
@keyframes but2-letter { 0% { opacity: .8; transform: translateY(0) rotate(0deg); } 50% { opacity: 1; transform: translateY(-1px) rotate(2deg); } 100% { opacity: .9; transform: translateY(0) rotate(0deg); } }
@keyframes but2-light { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .8; transform: scale(1.1); } 100% { opacity: .6; transform: scale(0.95); } }

/* Scene 3: octavio-means-abandoned */

.scn-octavio-means-abandoned {
  background: linear-gradient(180deg, #121018 0%, #1a1620 30%, #0e0c14 100%),
              radial-gradient(ellipse at 50% 60%, #1a1622 0%, transparent 70%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-octavio-means-abandoned .dark-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #1a1620 0%, #0e0c14 100%);
}
.scn-octavio-means-abandoned .arch {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 60%;
  background: linear-gradient(180deg, #2a2230 0%, #1a1620 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.7);
}
.scn-octavio-means-abandoned .butler-profile {
  position: absolute; bottom: 20%; left: 25%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #1a1620 0%, #0e0c14 100%);
  border-radius: 60% 40% 40% 60% / 70% 60% 40% 30%;
  transform-origin: bottom center;
  animation: oct3-prof 6s ease-in-out infinite;
}
.scn-octavio-means-abandoned .butler-hand {
  position: absolute; bottom: 18%; left: 30%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #b0a090 0%, #908070 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: oct3-hand 4s ease-in-out infinite;
}
.scn-octavio-means-abandoned .octavio-arm {
  position: absolute; bottom: 20%; right: 30%; width: 8%; height: 25%;
  background: linear-gradient(180deg, #2a2230 0%, #1a1620 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: bottom right;
  animation: oct3-arm 5s ease-in-out infinite;
}
.scn-octavio-means-abandoned .letter-table {
  position: absolute; bottom: 12%; left: 35%; width: 30%; height: 5%;
  background: linear-gradient(90deg, #3a2a2a 0%, #4a3a3a 50%, #3a2a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-octavio-means-abandoned .candle-small {
  position: absolute; bottom: 17%; left: 42%; width: 3px; height: 12px;
  background: linear-gradient(180deg, #c8a070 0%, #a08040 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px #c8a070;
}
.scn-octavio-means-abandoned .shadow-shape {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #0a0810 100%);
}
@keyframes oct3-prof { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } }
@keyframes oct3-hand { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(2deg); } }
@keyframes oct3-arm { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(2deg); } }
@keyframes oct3-candle { 0%,100% { opacity: .8; } 50% { opacity: 1; } }

/* Scene 4: butler-offers-sword */

.scn-butler-offers-sword {
  background: linear-gradient(180deg, #141020 0%, #1c1830 40%, #100c1a 100%),
              radial-gradient(ellipse at 60% 40%, #2a2040 0%, transparent 60%);
  position: relative; width: 100%; height: 100%; overflow: hidden;
}
.scn-butler-offers-sword .scene-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1630 0%, #120e20 100%);
}
.scn-butler-offers-sword .table-surface {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 6%;
  background: linear-gradient(90deg, #3a2a30 0%, #4a3a40 50%, #3a2a30 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.6);
}
.scn-butler-offers-sword .butler-torso {
  position: absolute; bottom: 18%; left: 30%; width: 18%; height: 40%;
  background: linear-gradient(180deg, #1a1628 0%, #120e20 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: but4-torso 7s ease-in-out infinite;
}
.scn-butler-offers-sword .butler-arm {
  position: absolute; bottom: 28%; left: 42%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a1e30 0%, #1a1220 100%);
  border-radius: 30% 30% 20% 20%;
  transform-origin: top left;
  animation: but4-arm 8s ease-in-out infinite;
}
.scn-butler-offers-sword .sword-blade {
  position: absolute; bottom: 30%; left: 44%; width: 2px; height: 25%;
  background: linear-gradient(180deg, #c0c0d0 0%, #9090a0 100%);
  border-radius: 1px;
  box-shadow: 0 0 6px rgba(200,200,220,.4);
  transform-origin: bottom center;
  animation: but4-blade 5s ease-in-out infinite;
}
.scn-butler-offers-sword .sword-hilt {
  position: absolute; bottom: 28%; left: 43%; width: 6%; height: 4%;
  background: linear-gradient(90deg, #5a4a40 0%, #6a5a50 50%, #5a4a40 100%);
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
}
.scn-butler-offers-sword .octavio-hand {
  position: absolute; bottom: 30%; right: 35%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #b0a098 0%, #908080 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: but4-hand 6s ease-in-out infinite;
}
.scn-butler-offers-sword .lamp-side {
  position: absolute; bottom: 35%; right: 8%; width: 5%; height: 15%;
  background: linear-gradient(180deg, #4a3a30 0%, #2a1a10 100%);
  border-radius: 10% 10% 5% 5%;
}
.scn-butler-offers-sword .glow-spot {
  position: absolute; bottom: 38%; right: 10%; width: 12%; height: 12%;
  background: radial-gradient(circle, #e0b080 0%, #c09060 30%, transparent 60%);
  border-radius: 50%; filter: blur(6px); opacity: .6;
  animation: but4-glow 4s ease-in-out infinite alternate;
}
@keyframes but4-torso { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes but4-arm { 0%,100% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(-5deg) scale(1.03); } }
@keyframes but4-blade { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(1deg) translateX(1px); } }
@keyframes but4-hand { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.05) rotate(2deg); } }
@keyframes but4-glow { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .8; transform: scale(1.2); } 100% { opacity: .6; transform: scale(0.95); } }

.scn-gordon-returns {
  background: radial-gradient(ellipse at 30% 40%, #3a2a1a 0%, #1a1010 60%, #0a0505 100%),
              linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
}
.scn-gordon-returns .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  animation: gr-wall 12s ease-in-out infinite alternate;
}
.scn-gordon-returns .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1010 0%, #2a1a15 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
}
.scn-gordon-returns .doorway {
  position: absolute; bottom: 20%; left: 12%; width: 28%; height: 70%;
  background: #0a0505; border-radius: 0 40% 0 60% / 0 20% 0 40%;
  box-shadow: inset 0 0 30px rgba(200,150,50,.1); animation: gr-shift 20s ease-in-out infinite;
}
.scn-gordon-returns .candle-glow {
  position: absolute; bottom: 40%; left: 35%; width: 12px; height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #b06020 60%, transparent 80%);
  border-radius: 50%; box-shadow: 0 0 40px 20px #b06020, 0 0 80px 40px rgba(176,96,32,.4);
  animation: gr-glow 3s ease-in-out infinite alternate;
}
.scn-gordon-returns .gordon-figure {
  position: absolute; bottom: 22%; left: 25%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a1a15 0%, #0a0505 100%);
  border-radius: 40% 60% 50% 50% / 50% 40% 40% 60%;
  transform-origin: bottom center; animation: gr-enter 4s ease-out infinite, gr-pant 1.5s ease-in-out infinite alternate;
}
.scn-gordon-returns .shadow {
  position: absolute; bottom: 18%; left: 22%; width: 30px; height: 12px;
  background: rgba(0,0,0,.6); border-radius: 50%; filter: blur(4px);
  animation: gr-shadow 4s ease-out infinite;
}
.scn-gordon-returns .dust {
  position: absolute; top: 30%; left: 20%; width: 6px; height: 6px;
  background: rgba(200,180,140,.3); border-radius: 50%; filter: blur(2px);
  animation: gr-dust 8s linear infinite;
}
@keyframes gr-wall { 0% { background: #4a3a2a; } 50% { background: #3a2a1a; } 100% { background: #4a3a2a; } }
@keyframes gr-shift { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } }
@keyframes gr-glow { 0% { opacity: .7; box-shadow: 0 0 30px 15px #b06020; } 50% { opacity: 1; box-shadow: 0 0 60px 30px #ffd080; } 100% { opacity: .8; box-shadow: 0 0 40px 20px #b06020; } }
@keyframes gr-enter { 0% { transform: translateX(-60px) translateY(20px) rotate(10deg); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateX(0) translateY(0) rotate(0); opacity: 1; } }
@keyframes gr-pant { 0% { transform: scaleY(1) translateX(0); } 100% { transform: scaleY(1.02) translateX(1px); } }
@keyframes gr-shadow { 0% { transform: scale(2); opacity: 0; } 30% { opacity: .6; } 100% { transform: scale(1); opacity: .4; } }
@keyframes gr-dust { 0% { transform: translate(0, 0) scale(1); opacity: .3; } 50% { transform: translate(20px, -20px) scale(0.5); opacity: .1; } 100% { transform: translate(40px, -40px) scale(0.2); opacity: 0; } }

.scn-butler-reveals {
  background: radial-gradient(ellipse at 50% 20%, #2a1a10 0%, #0a0505 80%, #000 100%),
              linear-gradient(180deg, #1a0a05 0%, #150a05 50%, #0a0505 100%);
}
.scn-butler-reveals .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0a 0%, #0a0505 100%);
  animation: br-fade 15s ease-in-out infinite alternate;
}
.scn-butler-reveals .archway {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 90%;
  background: #120a05; border-radius: 50% 50% 20% 20% / 80% 80% 10% 10%;
  box-shadow: inset 0 0 40px rgba(100,60,20,.3); animation: br-arch 18s ease-in-out infinite;
}
.scn-butler-reveals .stairs {
  position: absolute; bottom: 0; left: 25%; right: 25%; height: 50%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a05 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: br-steps 12s ease-in-out infinite alternate;
}
.scn-butler-reveals .butler-figure {
  position: absolute; bottom: 35%; left: 50%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #1a1010 0%, #0a0505 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  transform: translateX(-50%); animation: br-emerge 6s ease-out infinite, br-breathe 2s ease-in-out infinite alternate;
}
.scn-butler-reveals .lantern-glow {
  position: absolute; bottom: 40%; left: 40%; width: 16px; height: 20px;
  background: radial-gradient(circle, #ffc070 0%, #b07030 60%);
  border-radius: 30%; box-shadow: 0 0 50px 25px #b07030, 0 0 100px 50px rgba(176,112,48,.3);
  animation: br-lantern 3s ease-in-out infinite alternate;
}
.scn-butler-reveals .cast-shadow {
  position: absolute; bottom: 30%; left: 42%; width: 50px; height: 8px;
  background: rgba(0,0,0,.7); border-radius: 50%; filter: blur(4px);
  animation: br-shadow 6s ease-out infinite;
}
.scn-butler-reveals .crack {
  position: absolute; top: 10%; left: 30%; width: 2px; height: 40%;
  background: rgba(80,40,10,.5); animation: br-crack 20s linear infinite alternate;
}
@keyframes br-fade { 0% { opacity: .9; } 50% { opacity: .7; } 100% { opacity: .85; } }
@keyframes br-arch { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.97); } 100% { transform: scaleY(1.02); } }
@keyframes br-steps { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(-2px); } }
@keyframes br-emerge { 0% { transform: translateX(-50%) translateY(40px) scaleY(0.6); opacity: 0; } 40% { opacity: 1; } 100% { transform: translateX(-50%) translateY(0) scaleY(1); opacity: 1; } }
@keyframes br-breathe { 0% { transform: translateX(-50%) scaleY(1); } 100% { transform: translateX(-50%) scaleY(1.01); } }
@keyframes br-lantern { 0% { opacity: .6; box-shadow: 0 0 30px 15px #b07030; } 50% { opacity: 1; box-shadow: 0 0 60px 30px #ffc070; } 100% { opacity: .7; box-shadow: 0 0 40px 20px #b07030; } }
@keyframes br-shadow { 0% { transform: scale(2); opacity: 0; } 40% { opacity: .6; } 100% { transform: scale(1); opacity: .4; } }
@keyframes br-crack { 0% { transform: scaleY(0.5); opacity: .3; } 50% { transform: scaleY(1.2); opacity: .6; } 100% { transform: scaleY(0.8); opacity: .4; } }

.scn-discovery {
  background: radial-gradient(ellipse at 30% 60%, #3a1a0a 0%, #1a0505 70%, #000 100%),
              linear-gradient(180deg, #2a0a00 0%, #1a0500 100%);
}
.scn-discovery .bg-panic {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a0a05 0%, #0a0202 100%);
  animation: di-flash 8s ease-in-out infinite alternate;
}
.scn-discovery .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: repeating-linear-gradient(90deg, #1a0a05 0px, #1a0a05 8px, #2a1a0a 8px, #2a1a0a 16px);
  transform: perspective(300px) rotateX(40deg); transform-origin: bottom;
  animation: di-tilt 10s ease-in-out infinite alternate;
}
.scn-discovery .torch-a {
  position: absolute; bottom: 30%; left: 18%; width: 14px; height: 50px;
  background: linear-gradient(180deg, #b07030 0%, #3a1a0a 100%);
  border-radius: 4px; transform-origin: bottom; animation: di-torch-a 2s ease-in-out infinite alternate;
}
.scn-discovery .torch-b {
  position: absolute; bottom: 30%; right: 22%; width: 14px; height: 50px;
  background: linear-gradient(180deg, #b07030 0%, #3a1a0a 100%);
  border-radius: 4px; transform-origin: bottom; animation: di-torch-b 2.3s ease-in-out infinite alternate;
}
.scn-discovery .fig-run {
  position: absolute; bottom: 20%; left: 10%; width: 18px; height: 38px;
  background: linear-gradient(180deg, #1a0a05 0%, #050202 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: skewX(-15deg); animation: di-run 3s linear infinite;
}
.scn-discovery .fig-fall {
  position: absolute; bottom: 15%; left: 45%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #1a0a05 0%, #0a0202 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(-30deg) scaleX(0.8); transform-origin: bottom; animation: di-fall 4s ease-in-out infinite;
}
.scn-discovery .smoke {
  position: absolute; top: 10%; left: 20%; right: 20%; height: 30%;
  background: radial-gradient(ellipse at 30% 30%, rgba(150,100,50,.15) 0%, transparent 80%);
  filter: blur(8px); animation: di-smoke 12s linear infinite;
}
@keyframes di-flash { 0% { opacity: .8; } 20% { opacity: 1; } 50% { opacity: .7; } 80% { opacity: .9; } 100% { opacity: .75; } }
@keyframes di-tilt { 0% { transform: perspective(300px) rotateX(40deg) translateY(0); } 50% { transform: perspective(300px) rotateX(42deg) translateY(2px); } 100% { transform: perspective(300px) rotateX(38deg) translateY(-2px); } }
@keyframes di-torch-a { 0% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(3deg) scaleY(1.05); } 100% { transform: rotate(-2deg) scaleY(0.95); } }
@keyframes di-torch-b { 0% { transform: rotate(4deg) scaleY(0.95); } 50% { transform: rotate(-2deg) scaleY(1.05); } 100% { transform: rotate(1deg) scaleY(1); } }
@keyframes di-run { 0% { transform: translateX(0) skewX(-15deg); } 25% { transform: translateX(10px) skewX(-10deg) translateY(-1px); } 50% { transform: translateX(20px) skewX(-5deg); } 75% { transform: translateX(30px) skewX(0deg) translateY(-1px); } 100% { transform: translateX(40px) skewX(5deg); } }
@keyframes di-fall { 0% { transform: rotate(-30deg) scaleX(0.8); } 50% { transform: rotate(-60deg) scaleX(0.6); opacity: .8; } 100% { transform: rotate(-80deg) scaleX(0.4); opacity: .5; } }
@keyframes di-smoke { 0% { transform: translateY(0) scale(1); opacity: .2; } 50% { transform: translateY(-40px) scale(1.5); opacity: .3; } 100% { transform: translateY(0) scale(1); opacity: .15; } }

.scn-aftermath {
  background: radial-gradient(ellipse at 50% 50%, #2a1a0a 0%, #0a0505 70%, #000 100%),
              linear-gradient(180deg, #1a0a05 0%, #0a0202 100%);
}
.scn-aftermath .bg-still {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a0a05 0%, #0a0202 100%);
  animation: af-still 20s ease-in-out infinite alternate;
}
.scn-aftermath .floor-blood {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a0a05 0%, #2a0a05 100%);
  box-shadow: inset 0 10px 20px rgba(100,20,10,.3);
  animation: af-spread 15s ease-in-out infinite alternate;
}
.scn-aftermath .covered-body {
  position: absolute; bottom: 10%; left: 35%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a05 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 0 30px rgba(0,0,0,.8); animation: af-body 10s ease-in-out infinite;
}
.scn-aftermath .dagger {
  position: absolute; bottom: 12%; left: 48%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a1010 100%);
  border-radius: 0 0 40% 40% / 0 0 80% 80%;
  transform: rotate(-20deg); transform-origin: bottom; animation: af-dagger 3s ease-in-out infinite alternate;
}
.scn-aftermath .gordon-kneel {
  position: absolute; bottom: 8%; left: 15%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0505 100%);
  border-radius: 40% 40% 50% 50% / 50% 50% 40% 40%;
  transform: rotate(10deg); transform-origin: bottom center; animation: af-kneel 5s ease-in-out infinite;
}
.scn-aftermath .candle-flicker {
  position: absolute; bottom: 30%; left: 60%; width: 10px; height: 18px;
  background: radial-gradient(circle, #ffd080 0%, #b06020 60%, transparent 80%);
  border-radius: 30%; box-shadow: 0 0 30px 15px #b06020, 0 0 60px 30px rgba(176,96,32,.3);
  animation: af-candle 2s ease-in-out infinite alternate;
}
.scn-aftermath .shadow-pool {
  position: absolute; bottom: 2%; left: 10%; right: 10%; height: 15%;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.6) 0%, transparent 80%);
  filter: blur(8px); animation: af-pool 12s ease-in-out infinite alternate;
}
@keyframes af-still { 0% { opacity: .9; } 50% { opacity: .7; } 100% { opacity: .85; } }
@keyframes af-spread { 0% { background: #1a0a05; } 50% { background: #2a0a05; } 100% { background: #1a0a05; } }
@keyframes af-body { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(0.97) translateY(2px); } 100% { transform: scaleY(1.02) translateY(-1px); } }
@keyframes af-dagger { 0% { transform: rotate(-20deg); } 50% { transform: rotate(-15deg) translateY(2px); } 100% { transform: rotate(-25deg) translateY(-1px); } }
@keyframes af-kneel { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(12deg) scaleY(1.01); } 100% { transform: rotate(8deg) scaleY(0.99); } }
@keyframes af-candle { 0% { opacity: .6; box-shadow: 0 0 20px 10px #b06020; } 50% { opacity: 1; box-shadow: 0 0 40px 20px #ffd080; } 100% { opacity: .7; box-shadow: 0 0 25px 12px #b06020; } }
@keyframes af-pool { 0% { transform: scaleY(1); opacity: .5; } 50% { transform: scaleY(1.2); opacity: .6; } 100% { transform: scaleY(0.9); opacity: .4; } }

.scn-wallenstein-grasps-urn {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a0a 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 60%);
}
.scn-wallenstein-grasps-urn .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, #0a0505 0%, transparent 80%); opacity:0.6; animation: gr-bg 12s ease-in-out infinite alternate; }
.scn-wallenstein-grasps-urn .bg-mid { position:absolute; inset:10% 10% 20% 10%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a0a 100%); border-radius:10% / 5%; box-shadow: inset 0 0 40px rgba(0,0,0,0.8); }
.scn-wallenstein-grasps-urn .pedestal { position:absolute; bottom:25%; left:50%; width:120px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-wallenstein-grasps-urn .urn { position:absolute; bottom:30%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 50%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; box-shadow: 0 8px 20px rgba(0,0,0,0.7); animation: gr-urn 8s ease-in-out infinite; }
.scn-wallenstein-grasps-urn .hand { position:absolute; bottom:33%; left:45%; width:25px; height:35px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gr-hand 6s ease-in-out infinite; }
.scn-wallenstein-grasps-urn .glow { position:absolute; bottom:37%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #d0a060 0%, #c08040 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 15px #a06030; animation: gr-glow 4s ease-in-out infinite alternate; }
.scn-wallenstein-grasps-urn .shadow { position:absolute; bottom:20%; left:45%; width:100px; height:15px; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%); border-radius:50%; filter: blur(4px); animation: gr-shadow 8s ease-in-out infinite; }

@keyframes gr-bg { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }
@keyframes gr-urn { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02) rotate(1deg); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes gr-hand { 0% { transform: translate(0,0) rotate(-5deg); } 30% { transform: translate(5px,-2px) rotate(0deg); } 70% { transform: translate(12px,0) rotate(3deg); } 100% { transform: translate(20px,2px) rotate(0deg); } }
@keyframes gr-glow { 0% { opacity:0.7; transform: translateX(-50%) scale(0.9); } 50% { opacity:1; transform: translateX(-50%) scale(1.1); } 100% { opacity:0.8; transform: translateX(-50%) scale(0.95); } }
@keyframes gr-shadow { 0% { transform: scaleX(1); opacity:0.6; } 50% { transform: scaleX(1.1); opacity:0.8; } 100% { transform: scaleX(1); opacity:0.6; } }

/* wallenstein-power-throne */

.scn-wallenstein-power-throne {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a0a 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-power-throne .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, #0a0505 0%, transparent 70%); opacity:0.7; animation: th-bg 15s ease-in-out infinite alternate; }
.scn-wallenstein-power-throne .bg-mid { position:absolute; inset:5% 5% 15% 5%; background: linear-gradient(135deg, #2a1a0a 0%, #1a0a0a 100%); border-radius:5%; box-shadow: inset 0 0 60px rgba(0,0,0,0.8); }
.scn-wallenstein-power-throne .throne-back { position:absolute; bottom:25%; left:50%; width:160px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 60%, #2a1a0a 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 10px 25px rgba(0,0,0,0.7); animation: th-throne 12s ease-in-out infinite; }
.scn-wallenstein-power-throne .throne-seat { position:absolute; bottom:18%; left:50%; width:120px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5); }
.scn-wallenstein-power-throne .root-left { position:absolute; bottom:28%; left:35%; width:20px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%; transform-origin: bottom center; animation: th-root 20s ease-in-out infinite; }
.scn-wallenstein-power-throne .root-right { position:absolute; bottom:28%; right:35%; width:20px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%; transform-origin: bottom center; animation: th-root 20s ease-in-out infinite reverse; }
.scn-wallenstein-power-throne .figure { position:absolute; bottom:18%; left:50%; width:35px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #1a0a0a 0%, #0a0505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: th-figure 8s ease-in-out infinite; }

@keyframes th-bg { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.6; } }
@keyframes th-throne { 0% { transform: translateX(-50%) rotate(0deg) scale(1); } 50% { transform: translateX(-50%) rotate(1deg) scale(1.01); } 100% { transform: translateX(-50%) rotate(0deg) scale(1); } }
@keyframes th-root { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(2px); } 100% { transform: rotate(-2deg); } }
@keyframes th-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }

/* wallenstein-foe-invisible */

.scn-wallenstein-foe-invisible {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a0a0a 50%, #2a1a0a 100%), radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-wallenstein-foe-invisible .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #050505 0%, transparent 80%); opacity:0.8; animation: fi-bg 20s ease-in-out infinite alternate; }
.scn-wallenstein-foe-invisible .bg-mid { position:absolute; inset:10% 15% 20% 15%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0a0a 100%); border-radius:20% / 10%; box-shadow: inset 0 0 50px rgba(0,0,0,0.9); }
.scn-wallenstein-foe-invisible .figure { position:absolute; bottom:25%; left:50%; width:30px; height:55px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: fi-tremble 3s ease-in-out infinite; }
.scn-wallenstein-foe-invisible .shadow { position:absolute; bottom:22%; left:40%; width:120px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,0.8) 0%, transparent 70%); border-radius:50%; filter: blur(8px); animation: fi-shadow 8s ease-in-out infinite; }
.scn-wallenstein-foe-invisible .light { position:absolute; bottom:50%; left:55%; width:20px; height:20px; background: radial-gradient(circle, #c08040 0%, transparent 60%); border-radius:50%; filter: blur(6px); animation: fi-light 6s ease-in-out infinite alternate; }
.scn-wallenstein-foe-invisible .mirror { position:absolute; bottom:35%; left:30%; width:40px; height:60px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a0a 100%); border-radius:50% 50% 30% 30%; box-shadow: inset 0 0 10px #4a3a2a; animation: fi-mirror 15s ease-in-out infinite; }

@keyframes fi-bg { 0% { opacity:0.7; } 50% { opacity:0.9; } 100% { opacity:0.7; } }
@keyframes fi-tremble { 0% { transform: translateX(-50%) translateX(0); } 20% { transform: translateX(-50%) translateX(-2px) rotate(-2deg); } 40% { transform: translateX(-50%) translateX(1px) rotate(1deg); } 60% { transform: translateX(-50%) translateX(-1px) rotate(-1deg); } 80% { transform: translateX(-50%) translateX(2px) rotate(0deg); } 100% { transform: translateX(-50%) translateX(0); } }
@keyframes fi-shadow { 0% { transform: scaleX(1) translateX(0); opacity:0.6; } 50% { transform: scaleX(1.1) translateX(5px); opacity:0.9; } 100% { transform: scaleX(1) translateX(0); opacity:0.6; } }
@keyframes fi-light { 0% { opacity:0.3; transform: scale(0.8); } 50% { opacity:0.7; transform: scale(1.2); } 100% { opacity:0.4; transform: scale(0.9); } }
@keyframes fi-mirror { 0% { transform: rotate(0deg); } 50% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }

/* wallenstein-woe-irreverent-hands */

.scn-wallenstein-woe-irreverent-hands {
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1a0a 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, transparent 60%);
}
.scn-wallenstein-woe-irreverent-hands .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, #0a0505 0%, transparent 70%); opacity:0.6; animation: ir-bg 18s ease-in-out infinite alternate; }
.scn-wallenstein-woe-irreverent-hands .bg-mid { position:absolute; inset:10% 5% 20% 5%; background: linear-gradient(135deg, #2a1a0a 0%, #1a0a0a 100%); border-radius:3%; box-shadow: inset 0 0 50px rgba(0,0,0,0.8); }
.scn-wallenstein-woe-irreverent-hands .table { position:absolute; bottom:30%; left:50%; width:140px; height:15px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow: 0 4px 12px rgba(0,0,0,0.6); animation: ir-table 10s ease-in-out infinite; }
.scn-wallenstein-woe-irreverent-hands .hand { position:absolute; bottom:32%; left:55%; width:20px; height:30px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ir-hand 5s ease-in-out infinite; }
.scn-wallenstein-woe-irreverent-hands .page { position:absolute; bottom:30%; left:40%; width:15px; height:25px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: ir-page 7s ease-in-out infinite; }
.scn-wallenstein-woe-irreverent-hands .candle { position:absolute; bottom:35%; left:45%; width:8px; height:30px; background: linear-gradient(180deg, #d0a060 0%, #a08040 100%); border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%; animation: ir-candle 4s ease-in-out infinite; }
.scn-wallenstein-woe-irreverent-hands .candle-glow { position:absolute; bottom:38%; left:45%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #e0b080 0%, #c08040 30%, transparent 70%); border-radius:50%; filter: blur(6px); animation: ir-glow 3s ease-in-out infinite alternate; }

@keyframes ir-bg { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }
@keyframes ir-table { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(1.02) translateY(-1px); } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes ir-hand { 0% { transform: translate(0,0) rotate(0deg); } 40% { transform: translate(-5px,-2px) rotate(-5deg); } 80% { transform: translate(-10px,0) rotate(-8deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes ir-page { 0% { transform: translate(0,0); } 50% { transform: translate(3px,-2px); } 100% { transform: translate(-2px,0); } }
@keyframes ir-candle { 0% { transform: scaleY(1); opacity:0.8; } 50% { transform: scaleY(1.05); opacity:1; } 100% { transform: scaleY(1); opacity:0.8; } }
@keyframes ir-glow { 0% { opacity:0.5; transform: translateX(-50%) scale(0.9); } 50% { opacity:0.9; transform: translateX(-50%) scale(1.1); } 100% { opacity:0.6; transform: translateX(-50%) scale(0.95); } }

.scn-theklas-hysteria { background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 60%, #1a0e0e 100%), radial-gradient(ellipse at 50% 100%, #1a0e0e 0%, transparent 70%); }
.scn-theklas-hysteria .bg { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); }
.scn-theklas-hysteria .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a1212 0%, #0e0808 100%); }
.scn-theklas-hysteria .window { position:absolute; top:20%; left:15%; width:40px; height:60px; background: #1a2a3a; border:3px solid #3a2a2a; border-radius:4px; box-shadow: inset 0 0 20px #0a1a2a; animation: th-window 12s ease-in-out infinite alternate; }
.scn-theklas-hysteria .candle { position:absolute; bottom:40%; left:42%; width:4px; height:14px; background: linear-gradient(180deg, #c08040 0%, #603010 100%); border-radius:2px 2px 5% 5%; box-shadow: 0 -8px 20px 6px #ffa040, 0 -20px 40px 12px rgba(255,160,64,.3); animation: th-candle 2.5s ease-in-out infinite; }
.scn-theklas-hysteria .figure { position:absolute; bottom:32%; left:45%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius:50% 50% 45% 45% / 60% 60% 40% 40%; transform-origin: bottom center; animation: th-figure 6s ease-in-out infinite; }
.scn-theklas-hysteria .curtain-left { position:absolute; top:0; left:0; width:18%; height:65%; background: linear-gradient(90deg, #4a2a2a 0%, #2a1a1a 100%); border-radius:0 0 40% 0; filter: blur(2px); animation: th-curtain-left 8s ease-in-out infinite alternate; }
.scn-theklas-hysteria .curtain-right { position:absolute; top:0; right:0; width:18%; height:65%; background: linear-gradient(270deg, #4a2a2a 0%, #2a1a1a 100%); border-radius:0 0 0 40%; filter: blur(2px); animation: th-curtain-right 8s ease-in-out infinite alternate; }
.scn-theklas-hysteria .shadow { position:absolute; bottom:30%; left:40%; width:30px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); animation: th-shadow 6s ease-in-out infinite; }
@keyframes th-window { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.5 } }
@keyframes th-candle { 0% { transform: scaleY(1) scaleX(1); opacity:.9 } 25% { transform: scaleY(1.05) scaleX(.95); opacity:1 } 50% { transform: scaleY(.95) scaleX(1.02); opacity:.8 } 75% { transform: scaleY(1.03) scaleX(.97); opacity:1 } 100% { transform: scaleY(1) scaleX(1); opacity:.9 } }
@keyframes th-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(2deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(8px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes th-curtain-left { 0% { transform: translateX(0) rotate(0) } 100% { transform: translateX(-4px) rotate(2deg) } }
@keyframes th-curtain-right { 0% { transform: translateX(0) rotate(0) } 100% { transform: translateX(4px) rotate(-2deg) } }
@keyframes th-shadow { 0% { transform: scale(1) skewX(0) } 50% { transform: scale(1.2) skewX(-10deg) } 100% { transform: scale(.9) skewX(5deg) } }

.scn-neubrunn-frightened { background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 50%, #1a0e0e 100%), radial-gradient(ellipse at 50% 100%, #0e0e1a 0%, transparent 60%); }
.scn-neubrunn-frightened .bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-neubrunn-frightened .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1212 0%, #0e0808 100%); }
.scn-neubrunn-frightened .door { position:absolute; right:10%; bottom:25%; width:45px; height:70px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:4px; box-shadow: inset 0 0 10px #0a0a0a; transform: rotateY(20deg); animation: nf-door 4s ease-in-out infinite alternate; }
.scn-neubrunn-frightened .fig-neubrunn { position:absolute; bottom:28%; right:18%; width:18px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius:50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: nf-neubrunn 3s ease-in-out infinite; }
.scn-neubrunn-frightened .fig-thekla { position:absolute; bottom:30%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #3a2a3a 0%, #1a0e1a 100%); border-radius:50% 50% 45% 45% / 60% 60% 40% 40%; transform-origin: bottom center; animation: nf-thekla 5s ease-in-out infinite; }
.scn-neubrunn-frightened .lamp { position:absolute; top:20%; left:45%; width:8px; height:10px; background: radial-gradient(circle, #ffd080 0%, #c07030 70%); border-radius:50%; box-shadow: 0 0 24px 8px #c07030, 0 0 48px 16px rgba(192,112,48,.4); animation: nf-lamp 2s ease-in-out infinite; }
.scn-neubrunn-frightened .shadow-hand { position:absolute; bottom:30%; left:28%; width:20px; height:15px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 80%); transform: rotate(-10deg); animation: nf-hand 4s ease-in-out infinite; }
@keyframes nf-door { 0% { transform: rotateY(20deg) } 50% { transform: rotateY(15deg) } 100% { transform: rotateY(25deg) } }
@keyframes nf-neubrunn { 0% { transform: translateX(0) translateY(0) rotate(0) } 25% { transform: translateX(-6px) translateY(-3px) rotate(-3deg) } 50% { transform: translateX(-12px) translateY(0) rotate(0) } 75% { transform: translateX(-6px) translateY(-2px) rotate(3deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes nf-thekla { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(4px) rotate(2deg) } 60% { transform: translateX(8px) rotate(-1deg) } 100% { transform: translateX(4px) rotate(0) } }
@keyframes nf-lamp { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes nf-hand { 0% { transform: rotate(-10deg) scaleX(1) } 50% { transform: rotate(-5deg) scaleX(1.3) } 100% { transform: rotate(-15deg) scaleX(1) } }

.scn-theklas-soliloquy { background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 50%, #1a0e0e 100%), radial-gradient(ellipse at 50% 100%, #0e0e1a 0%, transparent 60%); }
.scn-theklas-soliloquy .bg { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-theklas-soliloquy .arch { position:absolute; top:5%; left:30%; width:50%; height:60%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 20px #0a0a1a; }
.scn-theklas-soliloquy .casket { position:absolute; bottom:15%; left:40%; width:80px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: ts-casket 9s ease-in-out infinite; }
.scn-theklas-soliloquy .garland { position:absolute; bottom:18%; left:40%; width:80px; height:6px; background: linear-gradient(90deg, #4a6a3a 0%, #6a8a4a 50%, #4a6a3a 100%); border-radius:50%; filter: blur(1px); animation: ts-garland 12s ease-in-out infinite; }
.scn-theklas-soliloquy .fig-thekla { position:absolute; bottom:30%; left:35%; width:24px; height:52px; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius:50% 50% 45% 45% / 65% 65% 35% 35%; transform-origin: bottom center; animation: ts-fig 5s ease-in-out infinite; }
.scn-theklas-soliloquy .candle { position:absolute; bottom:38%; left:45%; width:4px; height:12px; background: linear-gradient(180deg, #c08040 0%, #603010 100%); border-radius:2px; box-shadow: 0 -6px 18px 4px #ffa040, 0 -18px 36px 12px rgba(255,160,64,.3); animation: ts-candle 3s ease-in-out infinite; }
.scn-theklas-soliloquy .shadow { position:absolute; bottom:25%; left:30%; width:60px; height:25px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); animation: ts-shadow 7s ease-in-out infinite; }
@keyframes ts-casket { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ts-garland { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.5 } }
@keyframes ts-fig { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(1px) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ts-candle { 0% { transform: scaleY(1) scaleX(1) } 30% { transform: scaleY(1.04) scaleX(.95) } 60% { transform: scaleY(.96) scaleX(1.02) } 100% { transform: scaleY(1) scaleX(1) } }
@keyframes ts-shadow { 0% { transform: scale(1) } 50% { transform: scale(1.15) } 100% { transform: scale(.9) } }

.scn-editorial-note-continued { background: linear-gradient(180deg, #f0e8d0 0%, #d0c8b0 40%, #b8a890 100%), radial-gradient(ellipse at 50% 100%, #d0c8b0 0%, transparent 60%); }
.scn-editorial-note-continued .bg { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e8dcc0 0%, #c8b8a0 100%); }
.scn-editorial-note-continued .table { position:absolute; bottom:15%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius:4% 4% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.3); transform: perspective(300px) rotateX(10deg); animation: en-table 15s ease-in-out infinite; }
.scn-editorial-note-continued .fig-wall { position:absolute; bottom:20%; left:25%; width:22px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:50% 50% 45% 45% / 60% 60% 40% 40%; transform-origin: bottom center; animation: en-wall 4s ease-in-out infinite; }
.scn-editorial-note-continued .fig-captain { position:absolute; bottom:20%; left:55%; width:18px; height:52px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: en-captain 5s ease-in-out infinite; }
.scn-editorial-note-continued .window { position:absolute; top:10%; right:10%; width:35px; height:50px; background: #c8d0e0; border:4px solid #a09080; border-radius:4px; box-shadow: inset 0 0 30px #f0f8ff, 0 0 20px rgba(200,208,224,.5); animation: en-window 8s ease-in-out infinite alternate; }
.scn-editorial-note-continued .lamp { position:absolute; top:20%; left:40%; width:8px; height:8px; background: radial-gradient(circle, #fff8e0 0%, #ffd080 70%); border-radius:50%; box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,.4); animation: en-lamp 4s ease-in-out infinite; }
.scn-editorial-note-continued .paper { position:absolute; bottom:22%; left:38%; width:30px; height:18px; background: #f0e8d0; border-radius:4px; transform: rotate(5deg); box-shadow: 2px 2px 6px rgba(0,0,0,.2); animation: en-paper 6s ease-in-out infinite; }
@keyframes en-table { 0% { transform: perspective(300px) rotateX(10deg) translateY(0) } 50% { transform: perspective(300px) rotateX(8deg) translateY(-2px) } 100% { transform: perspective(300px) rotateX(10deg) translateY(0) } }
@keyframes en-wall { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(-2px) rotate(-2deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(2px) rotate(0) } 100% { transform: translateX(0) rotate(0) } }
@keyframes en-captain { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-2px) rotate(3deg) } 60% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes en-window { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes en-lamp { 0% { box-shadow: 0 0 20px 6px #ffd080, 0 0 40px 12px rgba(255,208,128,.4) } 50% { box-shadow: 0 0 30px 10px #ffe0a0, 0 0 60px 20px rgba(255,224,160,.6) } 100% { box-shadow: 0 0 20px 6px #ffd080, 0 0 40px 12px rgba(255,208,128,.4) } }
@keyframes en-paper { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(7deg) translateX(2px) } 100% { transform: rotate(3deg) translateX(-1px) } }

/* Scene: cup-second-quarter – firelit tense */

.scn-cup-second-quarter {
  background: 
    linear-gradient(180deg, #1a0e0a 0%, #2d1810 40%, #4a2418 100%),
    radial-gradient(ellipse at 50% 70%, #b85a2a 0%, #2d1810 60%, transparent 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.6);
}
.scn-cup-second-quarter .background {
  position: absolute; inset: 0; 
  background: radial-gradient(circle at 60% 50%, #3a2012 0%, transparent 60%);
  animation: cq-bg-pulse 8s ease-in-out infinite alternate;
}
.scn-cup-second-quarter .table {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #201810 100%);
  border-radius: 20% 20% 0 0 / 60% 60% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,.5);
  animation: cq-table 12s ease-in-out infinite;
}
.scn-cup-second-quarter .cup {
  position: absolute; bottom: 22%; left: 50%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b87a4a 0%, #7a4a2a 50%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%;
  box-shadow: 0 8px 16px rgba(0,0,0,.7), inset 0 2px 4px rgba(255,180,80,.3);
  animation: cq-cup 6s ease-in-out infinite;
}
.scn-cup-second-quarter .flame {
  position: absolute; bottom: 82%; left: 50%; width: 12px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, #ffd880 0%, #ff8030 50%, transparent 80%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 12px rgba(255,128,48,.6);
  animation: cq-flame 0.4s ease-in-out infinite alternate;
}
.scn-cup-second-quarter .shadow-hand {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 50px;
  background: radial-gradient(ellipse at 50% 30%, #0a0604 0%, transparent 60%);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(-15deg);
  animation: cq-hand 5s ease-in-out infinite;
}
.scn-cup-second-quarter .glow-rim {
  position: absolute; bottom: 30%; left: 48%; width: 20px; height: 4px;
  background: #ffb060;
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(255,176,96,.7);
  animation: cq-rim 3s ease-in-out infinite alternate;
}
@keyframes cq-bg-pulse {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes cq-table {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
}
@keyframes cq-cup {
  0%,100% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
  75% { transform: translateX(-50%) translateY(1px) rotate(-1deg); }
}
@keyframes cq-flame {
  0% { height: 28px; opacity: 0.9; }
  50% { height: 32px; opacity: 1; }
  100% { height: 26px; opacity: 0.85; }
}
@keyframes cq-hand {
  0%,100% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-18deg) translateY(-3px); }
}
@keyframes cq-rim {
  0% { box-shadow: 0 0 15px 4px rgba(255,176,96,.5); }
  100% { box-shadow: 0 0 25px 8px rgba(255,176,96,.8); }
}

/* Scene: day-may-23 – firelit dark */

.scn-day-may-23 {
  background:
    linear-gradient(180deg, #120c08 0%, #1e1410 50%, #2a1a12 100%),
    radial-gradient(ellipse at 70% 80%, #5a2a1a 0%, transparent 60%);
}
.scn-day-may-23 .wall {
  position: absolute; inset: 0; 
  background: repeating-linear-gradient(90deg, #1a120e 0px, #1a120e 2px, #221810 2px, #221810 4px);
  opacity: 0.3;
  animation: dm-wall 30s linear infinite;
}
.scn-day-may-23 .candle {
  position: absolute; bottom: 15%; left: 25%; width: 16px; height: 70px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 30%, #a08060 100%);
  border-radius: 4px;
  box-shadow: 2px 0 6px rgba(0,0,0,.5);
  animation: dm-candle 12s ease-in-out infinite;
}
.scn-day-may-23 .flame {
  position: absolute; bottom: 80%; left: 25%; width: 10px; height: 28px;
  transform: translateX(3px);
  background: radial-gradient(ellipse 50% 80%, #ffd060 0%, #ff8020 50%, transparent 80%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(255,128,32,.5);
  animation: dm-flame 0.6s ease-in-out infinite alternate;
}
.scn-day-may-23 .wax-drip {
  position: absolute; bottom: 15%; left: 26%; width: 4px; height: 20px;
  background: #b09878;
  border-radius: 2px;
  animation: dm-drip 8s ease-in-out infinite;
}
.scn-day-may-23 .shadow-text {
  position: absolute; top: 20%; right: 15%; width: 80px; height: 100px;
  background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 60%);
  border-radius: 30% 70% 50% 50%;
  filter: blur(4px);
  animation: dm-shadow 15s ease-in-out infinite alternate;
}
.scn-day-may-23 .ember {
  position: absolute; bottom: 30%; left: 60%; width: 6px; height: 6px;
  background: #ff6030;
  border-radius: 50%;
  box-shadow: 0 0 10px 4px #ff6030;
  animation: dm-ember 3s ease-in-out infinite;
}
@keyframes dm-wall {
  0% { transform: translateX(0); }
  100% { transform: translateX(-4px); }
}
@keyframes dm-candle {
  0%,100% { height: 70px; }
  50% { height: 68px; }
}
@keyframes dm-flame {
  0% { transform: translateX(3px) scaleY(1); }
  50% { transform: translateX(2px) scaleY(1.1); }
  100% { transform: translateX(4px) scaleY(0.9); }
}
@keyframes dm-drip {
  0%,100% { height: 18px; opacity: 0.7; }
  50% { height: 22px; opacity: 1; }
}
@keyframes dm-shadow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(0.95); }
}
@keyframes dm-ember {
  0%,100% { opacity: 0.5; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-10px); }
}

/* Scene: toast-prince-weimar – firelit warm */

.scn-toast-prince-weimar {
  background:
    linear-gradient(180deg, #2a1a0e 0%, #4a2e18 40%, #6a3e1e 100%),
    radial-gradient(ellipse at 30% 60%, #d08040 0%, transparent 70%);
}
.scn-toast-prince-weimar .bg-warm {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 30%, #8a4a22 0%, transparent 60%);
  animation: pw-warm 10s ease-in-out infinite alternate;
}
.scn-toast-prince-weimar .table-wide {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3422 0%, #2a1e12 100%);
  border-radius: 40% 40% 0 0;
  box-shadow: 0 -10px 30px rgba(0,0,0,.5);
  animation: pw-table 8s ease-in-out infinite;
}
.scn-toast-prince-weimar .tankard {
  position: absolute; bottom: 22%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #b88a5a 0%, #8a6030 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6), inset 0 -2px 4px rgba(0,0,0,.4);
  animation: pw-tankard 4s ease-in-out infinite;
}
.scn-toast-prince-weimar .tankard-two {
  position: absolute; bottom: 22%; right: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #b88a5a 0%, #8a6030 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%;
  box-shadow: 0 6px 12px rgba(0,0,0,.6), inset 0 -2px 4px rgba(0,0,0,.4);
  animation: pw-tankard2 4.5s ease-in-out infinite;
}
.scn-toast-prince-weimar .sparkle {
  position: absolute; top: 20%; left: 40%; width: 10px; height: 10px;
  background: #ffd880;
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(255,216,128,.5);
  animation: pw-sparkle 2s ease-in-out infinite;
}
.scn-toast-prince-weimar .music-line {
  position: absolute; top: 10%; left: 10%; width: 120px; height: 6px;
  background: linear-gradient(90deg, transparent 0%, #d0a060 20%, #d0a060 80%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: pw-music 20s linear infinite;
}
.scn-toast-prince-weimar .glow-burst {
  position: absolute; top: 15%; left: 50%; width: 100px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #ffb060 0%, #a06020 40%, transparent 70%);
  border-radius: 50%;
  animation: pw-glare 6s ease-in-out infinite alternate;
}
@keyframes pw-warm {
  0% { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes pw-table {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(0.97); }
}
@keyframes pw-tankard {
  0%,100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(4deg) translateY(-3px); }
  75% { transform: rotate(-4deg) translateY(1px); }
}
@keyframes pw-tankard2 {
  0%,100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(-3deg) translateY(-2px); }
  75% { transform: rotate(3deg) translateY(2px); }
}
@keyframes pw-sparkle {
  0%,100% { opacity: 0.4; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}
@keyframes pw-music {
  0% { transform: translateX(0) rotate(-2deg); }
  100% { transform: translateX(200px) rotate(2deg); }
}
@keyframes pw-glare {
  0% { opacity: 0.5; transform: translateX(-50%) scale(1); }
  100% { opacity: 1; transform: translateX(-50%) scale(1.1); }
}

/* Scene: servant-whisper-rivalry – firelit tense */

.scn-servant-whisper-rivalry {
  background:
    linear-gradient(180deg, #0e0a08 0%, #1c1410 60%, #2a1e18 100%),
    radial-gradient(ellipse at 50% 20%, #5a2e1a 0%, transparent 70%);
}
.scn-servant-whisper-rivalry .bg-tense {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 30%, #3a1e12 0%, transparent 50%);
  animation: sw-bg 12s ease-in-out infinite alternate;
}
.scn-servant-whisper-rivalry .figure-left {
  position: absolute; bottom: 15%; left: 25%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sw-left 4s ease-in-out infinite;
}
.scn-servant-whisper-rivalry .figure-right {
  position: absolute; bottom: 15%; right: 25%; width: 24px; height: 70px;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sw-right 4s ease-in-out infinite;
}
.scn-servant-whisper-rivalry .whisper-arc {
  position: absolute; top: 40%; left: 30%; width: 80px; height: 20px;
  background: radial-gradient(ellipse 40% 100%, rgba(180,100,40,.2) 0%, transparent 60%);
  transform: rotate(-10deg);
  animation: sw-whisper 3s ease-in-out infinite alternate;
}
.scn-servant-whisper-rivalry .flicker-glow {
  position: absolute; bottom: 50%; left: 50%; width: 60px; height: 60px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #ff8030 0%, #a04010 40%, transparent 70%);
  border-radius: 50%;
  animation: sw-glow 1s ease-in-out infinite alternate;
}
.scn-servant-whisper-rivalry .door-frame {
  position: absolute; top: 0; right: 10%; width: 40px; height: 100%;
  background: linear-gradient(90deg, #2a1e18 0%, #1a120e 50%, #2a1e18 100%);
  border-radius: 8px;
  box-shadow: -4px 0 10px rgba(0,0,0,.5);
}
.scn-servant-whisper-rivalry .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%);
  filter: blur(6px);
  animation: sw-floor 8s ease-in-out infinite;
}
@keyframes sw-bg {
  0% { opacity: 0.7; }
  100% { opacity: 1; }
}
@keyframes sw-left {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-4px) rotate(-5deg); }
  75% { transform: translateX(2px) rotate(3deg); }
}
@keyframes sw-right {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(5deg); }
  75% { transform: translateX(-2px) rotate(-3deg); }
}
@keyframes sw-whisper {
  0% { opacity: 0.2; transform: rotate(-10deg) scaleY(0.8); }
  50% { opacity: 0.5; transform: rotate(-8deg) scaleY(1.1); }
  100% { opacity: 0.3; transform: rotate(-12deg) scaleY(0.9); }
}
@keyframes sw-glow {
  0% { box-shadow: 0 0 20px 8px rgba(255,128,48,.4); opacity: 0.8; }
  50% { box-shadow: 0 0 30px 12px rgba(255,128,48,.7); opacity: 1; }
  100% { box-shadow: 0 0 15px 6px rgba(255,128,48,.3); opacity: 0.7; }
}
@keyframes sw-floor {
  0%,100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}

/* Scene 1 – calm, bright interior recitation */

.scn-questenberg-recites-emperor-wish {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #dac29e 40%, #b89a7a 100%),
    radial-gradient(ellipse at 30% 70%, #fff5e0 0%, transparent 60%);
}
.scn-questenberg-recites-emperor-wish .bg-walls {
  position:absolute; inset:0; background:linear-gradient(180deg, #e8dcc5 0%, #cbb294 100%); opacity:0.7;
}
.scn-questenberg-recites-emperor-wish .window-pane {
  position:absolute; top:8%; right:10%; width:30%; height:50%; background:linear-gradient(180deg, #fffae6, #ffedc0); border-radius:4px; opacity:0.6; animation: q1-light 10s ease-in-out infinite alternate;
}
.scn-questenberg-recites-emperor-wish .desk {
  position:absolute; bottom:24%; left:15%; right:25%; height:28%; background:linear-gradient(180deg, #9c7a5a 0%, #7a5a3a 100%); border-radius:2px; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-questenberg-recites-emperor-wish .figure-quest {
  position:absolute; bottom:32%; left:28%; width:40px; height:80px; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom center; animation: q1-bow 8s ease-in-out infinite;
}
.scn-questenberg-recites-emperor-wish .scroll {
  position:absolute; bottom:42%; left:35%; width:20px; height:30px; background:linear-gradient(180deg, #d4b896, #b69876); border-radius:2px; transform:rotate(5deg); animation: q1-scroll 6s ease-in-out infinite;
}
.scn-questenberg-recites-emperor-wish .candle {
  position:absolute; bottom:48%; left:18%; width:10px; height:35px; background:linear-gradient(180deg, #f0e0c0 0%, #d0b090 100%); border-radius:4px 4px 2px 2px; animation: q1-candle 4s ease-in-out infinite;
}
.scn-questenberg-recites-emperor-wish .candle-glow {
  position:absolute; bottom:52%; left:17%; width:20px; height:20px; background:radial-gradient(circle, #ffeedd 0%, #ffdcaa 30%, transparent 70%); border-radius:50%; animation: q1-glow 3s ease-in-out infinite alternate;
}
.scn-questenberg-recites-emperor-wish .shadow-drape {
  position:absolute; inset:0; background:radial-gradient(ellipse at 60% 30%, transparent 40%, rgba(0,0,0,0.15) 100%); pointer-events:none;
}
@keyframes q1-light {
  0% { opacity:0.5; transform:scaleY(1); }
  50% { opacity:0.8; transform:scaleY(1.02); }
  100% { opacity:0.6; transform:scaleY(0.98); }
}
@keyframes q1-bow {
  0%,100% { transform:translateX(0) rotate(0deg); }
  25% { transform:translateX(5px) rotate(-2deg); }
  75% { transform:translateX(-3px) rotate(2deg); }
}
@keyframes q1-scroll {
  0%,100% { transform:rotate(5deg) translateY(0); }
  50% { transform:rotate(8deg) translateY(-3px); }
}
@keyframes q1-candle {
  0%,100% { opacity:0.9; transform:scaleY(1) translateY(0); }
  50% { opacity:1; transform:scaleY(1.05) translateY(-2px); }
}
@keyframes q1-glow {
  0% { opacity:0.6; transform:scale(0.9); }
  50% { opacity:1; transform:scale(1.15); }
  100% { opacity:0.8; transform:scale(1); }
}

/* Scene 2 – tense, bright interior with retreat critique */

.scn-questenberg-criticizes-retreat {
  background:
    linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 50%, #3a2a1a 100%),
    radial-gradient(ellipse at 80% 50%, #ffd080 0%, transparent 70%);
}
.scn-questenberg-criticizes-retreat .bg-room {
  position:absolute; inset:0; background:linear-gradient(135deg, #6a5a4a 0%, #3a2a1a 100%); opacity:0.8;
}
.scn-questenberg-criticizes-retreat .window-rain {
  position:absolute; top:6%; left:5%; width:35%; height:50%; background:linear-gradient(180deg, #8a9aa8 0%, #4a5a6a 100%); border-radius:4px; opacity:0.5; animation: q2-rain 2s linear infinite;
}
.scn-questenberg-criticizes-retreat .map-table {
  position:absolute; bottom:20%; left:10%; right:15%; height:30%; background:linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:6px; box-shadow:0 8px 16px rgba(0,0,0,0.5);
}
.scn-questenberg-criticizes-retreat .figure-point {
  position:absolute; bottom:30%; left:25%; width:45px; height:85px; background:linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom; animation: q2-point 3s ease-in-out infinite;
}
.scn-questenberg-criticizes-retreat .chair {
  position:absolute; bottom:26%; right:12%; width:30px; height:50px; background:linear-gradient(180deg, #5a4a3a, #2a1a0a); border-radius:30% 30% 20% 20%; transform:rotate(-10deg); animation: q2-chair 5s ease-in-out infinite;
}
.scn-questenberg-criticizes-retreat .candle-flicker {
  position:absolute; bottom:42%; left:12%; width:8px; height:30px; background:linear-gradient(180deg, #e8c8a0, #a08060); border-radius:3px; animation: q2-candle 1.5s steps(3) infinite;
}
.scn-questenberg-criticizes-retreat .shadow-bar {
  position:absolute; bottom:15%; left:0; right:0; height:10%; background:linear-gradient(180deg, transparent, rgba(0,0,0,0.4)); pointer-events:none;
}
.scn-questenberg-criticizes-retreat .retreat-line {
  position:absolute; bottom:34%; left:30%; width:50%; height:4px; background:linear-gradient(90deg, #c04020, #802010); border-radius:2px; transform-origin:left; animation: q2-line 6s ease-in-out infinite;
}
@keyframes q2-rain {
  0% { background-position:0 0; opacity:0.4; }
  100% { background-position:0 30px; opacity:0.6; }
}
@keyframes q2-point {
  0% { transform:translateX(0) rotate(0deg); }
  30% { transform:translateX(10px) rotate(-3deg); }
  60% { transform:translateX(5px) rotate(2deg); }
  100% { transform:translateX(0) rotate(0deg); }
}
@keyframes q2-chair {
  0%,100% { transform:rotate(-10deg) translateY(0); }
  50% { transform:rotate(-6deg) translateY(4px); }
}
@keyframes q2-candle {
  0% { opacity:0.7; transform:scaleY(1); }
  33% { opacity:1; transform:scaleY(1.1); }
  66% { opacity:0.8; transform:scaleY(0.95); }
  100% { opacity:0.9; transform:scaleY(1.05); }
}
@keyframes q2-line {
  0% { transform:scaleX(0.4); opacity:0.3; }
  50% { transform:scaleX(1); opacity:0.8; }
  100% { transform:scaleX(0.6); opacity:0.5; }
}

/* Scene 3 – calm, bright interior victory */

.scn-questenberg-steinau-victory {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8b898 50%, #a89878 100%),
    radial-gradient(ellipse at 70% 20%, #fff5e0 0%, transparent 50%);
}
.scn-questenberg-steinau-victory .bg-hall {
  position:absolute; inset:0; background:linear-gradient(135deg, #d4c8b4 0%, #b8a888 100%); opacity:0.5;
}
.scn-questenberg-steinau-victory .column {
  position:absolute; bottom:10%; left:8%; width:30px; height:80%; background:linear-gradient(180deg, #a89880, #887868); border-radius:4px; box-shadow:2px 0 8px rgba(0,0,0,0.2); animation: q3-col 12s ease-in-out infinite alternate;
}
.scn-questenberg-steinau-victory .victory-banner {
  position:absolute; top:10%; right:12%; width:100px; height:40px; background:linear-gradient(90deg, #b85a3a 0%, #d07a5a 50%, #b85a3a 100%); border-radius:4px; transform:rotate(10deg); animation: q3-banner 8s ease-in-out infinite;
}
.scn-questenberg-steinau-victory .figure-helm {
  position:absolute; bottom:24%; left:40%; width:50px; height:90px; background:linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin:bottom; animation: q3-helm 10s ease-in-out infinite;
}
.scn-questenberg-steinau-victory .laurel-wreath {
  position:absolute; top:12%; left:30%; width:60px; height:20px; background:radial-gradient(circle at 30% 50%, #7a8a3a 30%, transparent 70%); border-radius:50%; filter:blur(2px); animation: q3-laurel 7s ease-in-out infinite alternate;
}
.scn-questenberg-steinau-victory .sunburst {
  position:absolute; top:5%; left:40%; width:80px; height:80px; background:radial-gradient(circle, #ffedc0 0%, #ffe8a0 20%, transparent 70%); opacity:0.4; animation: q3-sun 6s ease-in-out infinite alternate;
}
.scn-questenberg-steinau-victory .shadow-vic {
  position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, transparent, rgba(0,0,0,0.15)); pointer-events:none;
}
.scn-questenberg-steinau-victory .ground-step {
  position:absolute; bottom:12%; left:20%; right:20%; height:8%; background:linear-gradient(180deg, #a89878, #887868); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,0.3);
}
@keyframes q3-col {
  0% { transform:scaleY(1); opacity:0.9; }
  100% { transform:scaleY(1.02); opacity:1; }
}
@keyframes q3-banner {
  0% { transform:rotate(10deg) translateY(0); opacity:0.7; }
  50% { transform:rotate(14deg) translateY(-5px); opacity:1; }
  100% { transform:rotate(8deg) translateY(0); opacity:0.8; }
}
@keyframes q3-helm {
  0% { transform:translateY(0) rotate(0deg); }
  40% { transform:translateY(-4px) rotate(1deg); }
  80% { transform:translateY(2px) rotate(-2deg); }
  100% { transform:translateY(0) rotate(0deg); }
}
@keyframes q3-laurel {
  0% { opacity:0.3; transform:scale(0.95); }
  100% { opacity:0.7; transform:scale(1.05); }
}
@keyframes q3-sun {
  0% { opacity:0.3; transform:scale(0.8); }
  100% { opacity:0.6; transform:scale(1.2); }
}

/* Scene 4 – tense, bright interior delay blame */

.scn-questenberg-blames-delay {
  background:
    linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 40%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 30%, #ffd080 0%, transparent 60%);
}
.scn-questenberg-blames-delay .bg-study {
  position:absolute; inset:0; background:linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); opacity:0.7;
}
.scn-questenberg-blames-delay .clock {
  position:absolute; top:10%; left:5%; width:70px; height:70px; background:radial-gradient(circle, #c8b898 0%, #a08868 80%); border-radius:50%; box-shadow:0 4px 10px rgba(0,0,0,0.4); animation: q4-clock 20s linear infinite;
}
.scn-questenberg-blames-delay .pendulum {
  position:absolute; top:18%; left:5%; width:8px; height:60px; background:linear-gradient(180deg, #8a7060, #5a4a3a); border-radius:2px; transform-origin:center top; animation: q4-pend 2s ease-in-out infinite;
}
.scn-questenberg-blames-delay .map-path {
  position:absolute; bottom:25%; left:10%; right:10%; height:20%; background:linear-gradient(90deg, #7a6a5a 0%, #5a4a3a 50%, #7a6a5a 100%); border-radius:6px; box-shadow:0 4px 8px rgba(0,0,0,0.3);
}
.scn-questenberg-blames-delay .figure-stand {
  position:absolute; bottom:30%; left:35%; width:40px; height:90px; background:linear-gradient(180deg, #2a1a0a 0%, #1a1008 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin:bottom; animation: q4-stand 5s ease-in-out infinite;
}
.scn-questenberg-blames-delay .candle-drip {
  position:absolute; bottom:45%; left:20%; width:10px; height:25px; background:linear-gradient(180deg, #f0d0a0, #c09060); border-radius:3px; animation: q4-drip 3s steps(4) infinite;
}
.scn-questenberg-blames-delay .shadow-late {
  position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, transparent, rgba(0,0,0,0.5)); pointer-events:none;
}
.scn-questenberg-blames-delay .desk-edge {
  position:absolute; bottom:20%; left:0; right:0; height:8%; background:linear-gradient(180deg, #5a4a3a, #3a2a1a); box-shadow:0 -4px 8px rgba(0,0,0,0.4);
}
@keyframes q4-clock {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}
@keyframes q4-pend {
  0%,100% { transform:rotate(-10deg); }
  50% { transform:rotate(10deg); }
}
@keyframes q4-stand {
  0% { transform:translateY(0) rotate(0deg); }
  25% { transform:translateY(-3px) rotate(2deg); }
  50% { transform:translateY(0) rotate(-1deg); }
  75% { transform:translateY(2px) rotate(1deg); }
  100% { transform:translateY(0) rotate(0deg); }
}
@keyframes q4-drip {
  0% { opacity:0.8; height:25px; }
  25% { opacity:1; height:28px; }
  50% { opacity:0.7; height:23px; }
  75% { opacity:0.9; height:26px; }
  100% { opacity:0.8; height:25px; }
}

.scn-countess-new-scruple {
  background:
    radial-gradient(ellipse at 50% 30%, #4a3520 0%, #2a1a0e 40%, #1a1008 70%),
    linear-gradient(180deg, #3d2815 0%, #1a1008 100%);
}
.scn-countess-new-scruple .room-background {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0e 0%, #1a1008 100%);
  animation: cns-room 12s ease-in-out infinite alternate;
}
.scn-countess-new-scruple .fireplace {
  position: absolute; bottom: 15%; left: 15%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a220e 100%);
  border-radius: 40% 40% 8% 8%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6);
}
.scn-countess-new-scruple .candle {
  position: absolute; bottom: 35%; left: 50%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #f0c87a 0%, #b08040 60%, #4a2a0e 100%);
  border-radius: 2px; transform: translateX(-50%);
  animation: cns-candle 2s ease-in-out infinite alternate;
}
.scn-countess-new-scruple .shadow-figure-left {
  position: absolute; bottom: 18%; left: 10%; width: 50px; height: 110px;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, rgba(30,18,10,0.9) 0%, transparent 100%);
  border-radius: 40% 40% 20% 20%; filter: blur(3px);
  animation: cns-figure 8s ease-in-out infinite;
}
.scn-countess-new-scruple .shadow-figure-right {
  position: absolute; bottom: 18%; right: 12%; width: 45px; height: 100px;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, rgba(40,25,15,0.8) 0%, transparent 100%);
  border-radius: 40% 40% 20% 20%; filter: blur(2px);
  animation: cns-figure 9s ease-in-out infinite 1s;
}
.scn-countess-new-scruple .table {
  position: absolute; bottom: 10%; left: 35%; width: 150px; height: 12px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: perspective(300px) rotateX(5deg);
}
.scn-countess-new-scruple .glow-candle {
  position: absolute; bottom: 45%; left: 50%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(240,200,120,0.3) 0%, transparent 70%);
  border-radius: 50%; transform: translate(-50%, -50%);
  animation: cns-glow 3s ease-in-out infinite alternate;
}
@keyframes cns-room { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cns-candle { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes cns-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes cns-glow { 0% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); } 50% { opacity: 0.7; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } }

.scn-countess-dastard-now {
  background:
    radial-gradient(ellipse at 60% 50%, #2a1a0e 0%, #0d0805 60%, #050302 100%),
    linear-gradient(180deg, #1a0e06 0%, #0d0805 100%);
}
.scn-countess-dastard-now .wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1a0e 0%, #1a0e06 50%, #0d0805 100%);
  animation: cdn-wall 15s ease-in-out infinite alternate;
}
.scn-countess-dastard-now .archway {
  position: absolute; top: 5%; left: 50%; width: 120px; height: 200px;
  background: linear-gradient(180deg, #0d0805 0%, #1a0e06 20%, #2a1a0e 60%, #0d0805 100%);
  transform: translateX(-50%);
  clip-path: polygon(10% 0%, 90% 0%, 90% 80%, 70% 100%, 30% 100%, 10% 80%);
}
.scn-countess-dastard-now .door {
  position: absolute; top: 15%; left: 50%; width: 80px; height: 160px;
  background: linear-gradient(180deg, #3a2210 0%, #1a0e06 100%);
  transform: translateX(-50%);
  border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: cdn-door 6s ease-in-out infinite;
}
.scn-countess-dastard-now .countess-silhouette {
  position: absolute; bottom: 15%; left: 30%; width: 50px; height: 130px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #050302 0%, transparent 100%);
  border-radius: 40% 40% 20% 20%; filter: blur(2px);
  animation: cdn-figure 5s ease-in-out infinite alternate;
}
.scn-countess-dastard-now .wallenstein-shadow {
  position: absolute; bottom: 15%; right: 35%; width: 60px; height: 140px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #0a0502 0%, transparent 100%);
  border-radius: 30% 30% 20% 20%; filter: blur(4px);
  animation: cdn-figure 6s ease-in-out infinite alternate 0.5s;
}
.scn-countess-dastard-now .servant-figure {
  position: absolute; bottom: 12%; left: 65%; width: 40px; height: 100px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #1a0e06 0%, transparent 100%);
  border-radius: 30% 30% 20% 20%; filter: blur(2px);
  animation: cdn-servant 8s ease-in-out infinite;
}
.scn-countess-dastard-now .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #1a0e06 0%, #0d0805 100%);
}
.scn-countess-dastard-now .light-beam {
  position: absolute; top: 10%; left: 45%; width: 40px; height: 180px;
  background: linear-gradient(180deg, rgba(200,150,80,0.15) 0%, transparent 100%);
  transform: skewX(-5deg);
  animation: cdn-beam 4s ease-in-out infinite alternate;
}
@keyframes cdn-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cdn-door { 0% { transform: translateX(-50%) scaleX(1) } 25% { transform: translateX(-50%) scaleX(1.02) } 50% { transform: translateX(-50%) scaleX(0.98) } 75% { transform: translateX(-50%) scaleX(1.01) } 100% { transform: translateX(-50%) scaleX(1) } }
@keyframes cdn-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-5px) rotate(2deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes cdn-servant { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes cdn-beam { 0% { opacity: 0.3 } 50% { opacity: 0.6 } 100% { opacity: 0.2 } }

.scn-countess-must-wait {
  background:
    radial-gradient(ellipse at 30% 50%, #1a1008 0%, #0d0805 60%, #050302 100%),
    linear-gradient(180deg, #1a1008 0%, #0d0805 100%);
}
.scn-countess-must-wait .corridor-walls {
  position: absolute; inset: 0; background: linear-gradient(90deg, #0d0805 0%, #1a1008 30%, #2a1a0e 50%, #1a1008 70%, #0d0805 100%);
  animation: cmw-wall 20s ease-in-out infinite alternate;
}
.scn-countess-must-wait .far-door {
  position: absolute; top: 10%; left: 50%; width: 60px; height: 130px;
  background: linear-gradient(180deg, #0d0805 0%, #050302 100%);
  transform: translateX(-50%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.9);
  animation: cmw-door 10s ease-in-out infinite;
}
.scn-countess-must-wait .waiting-figure {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 110px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #1a0e06 0%, transparent 100%);
  border-radius: 30% 30% 20% 20%; filter: blur(3px);
  animation: cmw-wait 7s ease-in-out infinite alternate;
}
.scn-countess-must-wait .clock-shadow {
  position: absolute; top: 20%; right: 20%; width: 30px; height: 60px;
  background: radial-gradient(ellipse 50% 100% at 50% 0%, #0a0502 0%, transparent 100%);
  border-radius: 50% 50% 10% 10%; filter: blur(2px);
  animation: cmw-clock 12s linear infinite;
}
.scn-countess-must-wait .candle-sconce {
  position: absolute; top: 25%; left: 15%; width: 10px; height: 20px;
  background: linear-gradient(180deg, #f0c87a 0%, #b08040 50%, #4a2a0e 100%);
  border-radius: 2px;
  box-shadow: 0 0 12px 4px rgba(240,200,120,0.3);
  animation: cmw-candle 3s ease-in-out infinite alternate;
}
.scn-countess-must-wait .floor-reflection {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #1a1008 0%, #0d0805 100%);
  opacity: 0.6;
}
.scn-countess-must-wait .hanging-lamp {
  position: absolute; top: 5%; left: 50%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, rgba(240,200,120,0.2) 0%, transparent 100%);
  transform: translateX(-50%);
  animation: cmw-lamp 5s ease-in-out infinite alternate;
}
@keyframes cmw-wall { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cmw-door { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.03) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes cmw-wait { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes cmw-clock { 0% { opacity: 0.4 } 50% { opacity: 0.8 } 100% { opacity: 0.4 } }
@keyframes cmw-candle { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.05) } 100% { transform: scaleY(0.95) } }
@keyframes cmw-lamp { 0% { transform: translateX(-50%) rotate(-2deg) } 50% { transform: translateX(-50%) rotate(2deg) } 100% { transform: translateX(-50%) rotate(-1deg) } }

.scn-countess-if-choice {
  background:
    radial-gradient(ellipse at 50% 60%, #2a1a0e 0%, #1a1008 50%, #0d0805 100%),
    linear-gradient(180deg, #3a2210 0%, #1a1008 100%);
}
.scn-countess-if-choice .desk-top {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #4a3018 0%, #2a1a0e 100%);
  border-radius: 8px; box-shadow: inset 0 8px 16px rgba(0,0,0,0.7);
  transform: perspective(200px) rotateX(10deg);
}
.scn-countess-if-choice .paper-sheet {
  position: absolute; bottom: 15%; left: 35%; width: 120px; height: 80px;
  background: linear-gradient(135deg, #d4b47a 0%, #b89050 60%, #8a6a30 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: cic-paper 10s ease-in-out infinite alternate;
}
.scn-countess-if-choice .candleholder {
  position: absolute; bottom: 25%; left: 60%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #c0a060 0%, #8a6a30 100%);
  border-radius: 4px;
  box-shadow: 0 0 20px 6px rgba(240,200,120,0.2);
}
.scn-countess-if-choice .hand-right {
  position: absolute; bottom: 20%; left: 50%; width: 30px; height: 50px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #4a3018 0%, transparent 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(10deg);
  animation: cic-hand 6s ease-in-out infinite alternate;
}
.scn-countess-if-choice .hand-left {
  position: absolute; bottom: 20%; right: 40%; width: 30px; height: 50px;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #4a3018 0%, transparent 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(-10deg);
  animation: cic-hand 6s ease-in-out infinite alternate 1s;
}
.scn-countess-if-choice .inkwell {
  position: absolute; bottom: 18%; left: 25%; width: 20px; height: 24px;
  background: radial-gradient(circle at 50% 30%, #1a1008 0%, #0d0805 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.8);
}
.scn-countess-if-choice .quill {
  position: absolute; bottom: 22%; left: 28%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #e0c8a0 0%, #b09060 50%, #705030 100%);
  border-radius: 2px; transform: rotate(15deg);
  animation: cic-quill 4s ease-in-out infinite alternate;
}
.scn-countess-if-choice .amber-glow {
  position: absolute; top: 30%; left: 55%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(240,200,120,0.15) 0%, transparent 60%);
  border-radius: 50%; transform: translate(-50%, -50%);
  animation: cic-glow 5s ease-in-out infinite alternate;
}
@keyframes cic-paper { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes cic-hand { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(8deg) translateY(-3px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes cic-quill { 0% { transform: rotate(15deg) scaleY(1) } 50% { transform: rotate(12deg) scaleY(1.02) } 100% { transform: rotate(15deg) scaleY(0.98) } }
@keyframes cic-glow { 0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.9); } 50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); } }

.scn-countess-fears-failure {
  background: 
    linear-gradient(180deg, #2a1a1a 0%, #3a2222 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 30% 50%, #4a2a2a 0%, transparent 60%);
}
.scn-countess-fears-failure .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  animation: cff-wall-pulse 8s ease-in-out infinite alternate;
}
.scn-countess-fears-failure .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 30%;
  background: linear-gradient(180deg, #1e1410 0%, #0f0a08 100%);
  border-radius: 60% 40% 0 0 / 20% 10% 0 0;
}
.scn-countess-fears-failure .window {
  position: absolute; top: 10%; right: 15%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 50%, #5a4a3a 0%, #2a1a0a 70%);
  border: 3px solid #4a3a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(90,74,58,0.5);
  animation: cff-window 12s ease-in-out infinite alternate;
}
.scn-countess-fears-failure .candle {
  position: absolute; bottom: 30%; left: 45%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #d4b87a 0%, #9a7a4a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
}
.scn-countess-fears-failure .candle-flame {
  position: absolute; bottom: 42%; left: 45%; width: 10px; height: 14px;
  background: radial-gradient(circle, #ffe080 0%, #ff9040 50%, #802010 100%);
  border-radius: 50% 50% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px 8px #ff8040, 0 0 40px 16px rgba(255,128,64,0.4);
  animation: cff-flame 2s ease-in-out infinite alternate;
}
.scn-countess-fears-failure .figure-left {
  position: absolute; bottom: 30%; left: 20%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0f0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cff-fig-left 5s ease-in-out infinite;
}
.scn-countess-fears-failure .figure-right {
  position: absolute; bottom: 30%; right: 25%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cff-fig-right 7s ease-in-out infinite alternate;
}
.scn-countess-fears-failure .shadow {
  position: absolute; bottom: 28%; left: 15%; width: 70%; height: 20px;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(4px);
  animation: cff-shadow 10s ease-in-out infinite alternate;
}
@keyframes cff-wall-pulse { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cff-window { 0% { filter: brightness(0.6) } 50% { filter: brightness(1) } 100% { filter: brightness(0.7) } }
@keyframes cff-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg) } 50% { transform: translateX(-50%) scaleY(1.1) rotate(0deg) } 100% { transform: translateX(-50%) scaleY(0.95) rotate(2deg) } }
@keyframes cff-fig-left { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(0deg) } 50% { transform: translateX(8px) translateY(0) rotate(1deg) } 75% { transform: translateX(4px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes cff-fig-right { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) scaleX(0.98) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cff-shadow { 0% { opacity: 0.3; transform: scaleX(1) } 50% { opacity: 0.5; transform: scaleX(1.2) } 100% { opacity: 0.3; transform: scaleX(1) } }

/* --- scene: charlotte-demands-knowledge --- */

.scn-charlotte-demands-knowledge {
  background:
    linear-gradient(180deg, #2a1e1e 0%, #3a2828 40%, #1a1212 100%),
    radial-gradient(ellipse at 60% 40%, #4a3232 0%, transparent 60%);
}
.scn-charlotte-demands-knowledge .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2828 0%, #2a1e1e 100%);
  animation: cdk-wall 10s ease-in-out infinite alternate;
}
.scn-charlotte-demands-knowledge .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 35%;
  background: linear-gradient(180deg, #1e1410 0%, #0f0a08 100%);
  border-radius: 40% 60% 0 0 / 10% 20% 0 0;
}
.scn-charlotte-demands-knowledge .table {
  position: absolute; bottom: 35%; left: 25%; width: 60px; height: 12px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%);
  border-radius: 4px;
  transform: perspective(100px) rotateX(20deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-charlotte-demands-knowledge .chair {
  position: absolute; bottom: 35%; left: 35%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1808 100%);
  border-radius: 4px 4px 2px 2px;
  transform: translateX(-50%);
  animation: cdk-chair 6s ease-in-out infinite;
}
.scn-charlotte-demands-knowledge .figure-seated {
  position: absolute; bottom: 40%; left: 32%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #3a2828 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cdk-seated 8s ease-in-out infinite alternate;
}
.scn-charlotte-demands-knowledge .figure-standing {
  position: absolute; bottom: 35%; right: 20%; width: 20px; height: 56px;
  background: linear-gradient(180deg, #4a3232 0%, #2a2020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cdk-standing 12s ease-in-out infinite;
}
.scn-charlotte-demands-knowledge .lamp {
  position: absolute; bottom: 55%; right: 35%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #a08060 0%, #604030 100%);
  border-radius: 2px;
  transform: translateX(-50%);
}
.scn-charlotte-demands-knowledge .lamp-glow {
  position: absolute; bottom: 65%; right: 35%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffd080 0%, #ff9040 30%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 30px 15px #ff8040, 0 0 60px 30px rgba(255,128,64,0.3);
  animation: cdk-lamp 4s ease-in-out infinite alternate;
}
@keyframes cdk-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes cdk-chair { 0%,100% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(2deg) } }
@keyframes cdk-seated { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) scaleY(1.01) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes cdk-standing { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(1deg) } 50% { transform: translateY(-2px) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes cdk-lamp { 0% { opacity: 0.7; transform: translateX(-50%) scale(0.95) } 50% { opacity: 1; transform: translateX(-50%) scale(1.05) } 100% { opacity: 0.75; transform: translateX(-50%) scale(0.95) } }

/* --- scene: countess-reveals-truth --- */

.scn-countess-reveals-truth {
  background:
    linear-gradient(180deg, #1a1212 0%, #2a1e1e 40%, #0e0a0a 100%),
    radial-gradient(ellipse at 50% 30%, #3a2828 0%, transparent 70%);
}
.scn-countess-reveals-truth .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1e 0%, #1a1212 100%);
  animation: crt-wall 9s ease-in-out infinite alternate;
}
.scn-countess-reveals-truth .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 30%;
  background: linear-gradient(180deg, #181210 0%, #0c0a08 100%);
  border-radius: 50% 50% 0 0 / 15% 15% 0 0;
}
.scn-countess-reveals-truth .door {
  position: absolute; bottom: 30%; left: 70%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #4a3232 0%, #2a1a1a 100%);
  border: 2px solid #5a3a3a;
  border-radius: 2px;
  transform: perspective(200px) rotateY(10deg);
  box-shadow: -4px 0 8px rgba(0,0,0,0.6);
  animation: crt-door 20s ease-in-out infinite;
}
.scn-countess-reveals-truth .figure-centre {
  position: absolute; bottom: 30%; left: 40%; width: 22px; height: 54px;
  background: linear-gradient(180deg, #3a2828 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: crt-centre 4s ease-in-out infinite alternate;
}
.scn-countess-reveals-truth .figure-listener {
  position: absolute; bottom: 30%; right: 30%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #2a1e1e 0%, #120c0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: crt-listener 6s ease-in-out infinite;
}
.scn-countess-reveals-truth .candle {
  position: absolute; bottom: 30%; left: 45%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #d4b87a 0%, #9a7a4a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
}
.scn-countess-reveals-truth .candle-flame {
  position: absolute; bottom: 42%; left: 45%; width: 10px; height: 14px;
  background: radial-gradient(circle, #ffe080 0%, #ff9040 50%, #802010 100%);
  border-radius: 50% 50% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px 8px #ff8040, 0 0 40px 16px rgba(255,128,64,0.4);
  animation: crt-flame 3s ease-in-out infinite alternate;
}
.scn-countess-reveals-truth .letter {
  position: absolute; bottom: 36%; left: 42%; width: 14px; height: 10px;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a87a 100%);
  border-radius: 1px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: crt-letter 7s ease-in-out infinite alternate;
}
@keyframes crt-wall { 0% { opacity: 0.85 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes crt-door { 0%,100% { transform: perspective(200px) rotateY(10deg) } 50% { transform: perspective(200px) rotateY(8deg) } }
@keyframes crt-centre { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(2deg) scaleY(1.01) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes crt-listener { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(6px) translateY(0) rotate(0deg) } 75% { transform: translateX(3px) translateY(-1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes crt-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg) } 50% { transform: translateX(-50%) scaleY(1.15) rotate(1deg) } 100% { transform: translateX(-50%) scaleY(0.95) rotate(2deg) } }
@keyframes crt-letter { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-1px) } 100% { transform: rotate(-5deg) translateY(0) } }

/* --- scene: duchess-faints --- */

.scn-duchess-faints {
  background:
    linear-gradient(180deg, #1a0e0e 0%, #2a1a1a 30%, #0f0a0a 100%),
    radial-gradient(ellipse at 40% 30%, #4a2a2a 0%, transparent 70%);
}
.scn-duchess-faints .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  animation: df-wall 7s ease-in-out infinite alternate;
}
.scn-duchess-faints .floor {
  position: absolute; left: 0; right: 0; bottom: 0; height: 35%;
  background: linear-gradient(180deg, #1a1210 0%, #0c0808 100%);
  border-radius: 50% 50% 0 0 / 10% 15% 0 0;
}
.scn-duchess-faints .figure-collapsing {
  position: absolute; bottom: 35%; left: 30%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2828 0%, #1a1010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-collapse 3s ease-in-out infinite alternate;
}
.scn-duchess-faints .figure-catching {
  position: absolute; bottom: 35%; left: 38%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #2a1e1e 0%, #120c0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: df-catch 2s ease-in-out infinite;
}
.scn-duchess-faints .hearth {
  position: absolute; bottom: 35%; left: 60%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6);
}
.scn-duchess-faints .fire {
  position: absolute; bottom: 38%; left: 62%; width: 20px; height: 24px;
  background: radial-gradient(circle at 50% 80%, #ff8040 0%, #ff4020 40%, #801010 80%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform: translateX(-50%);
  animation: df-fire 1.5s ease-in-out infinite alternate;
}
.scn-duchess-faints .fire-glow {
  position: absolute; bottom: 30%; left: 55%; width: 60px; height: 50px;
  background: radial-gradient(circle, #ff8040 0%, rgba(255,128,64,0.3) 40%, transparent 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  filter: blur(8px);
  animation: df-glow 2s ease-in-out infinite alternate;
}
.scn-duchess-faints .curtain {
  position: absolute; top: 0; right: 0; width: 40px; height: 100%;
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 50%, #1a0e0e 100%);
  border-radius: 0 4px 4px 0;
  filter: drop-shadow(-4px 0 8px rgba(0,0,0,0.3));
  animation: df-curtain 15s ease-in-out infinite alternate;
}
@keyframes df-wall { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes df-collapse { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(10deg) scaleY(0.8) } 100% { transform: translateY(-8px) rotate(20deg) scaleY(0.6) } }
@keyframes df-catch { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(-8px) translateY(-2px) rotate(-5deg) } 100% { transform: translateX(-16px) translateY(-4px) rotate(-10deg) } }
@keyframes df-fire { 0% { transform: translateX(-50%) scaleY(1) rotate(-3deg) } 50% { transform: translateX(-50%) scaleY(1.2) rotate(0deg) } 100% { transform: translateX(-50%) scaleY(0.9) rotate(3deg) } }
@keyframes df-glow { 0% { opacity: 0.6; transform: translateX(-50%) scale(0.95) } 50% { opacity: 1; transform: translateX(-50%) scale(1.05) } 100% { opacity: 0.7; transform: translateX(-50%) scale(0.95) } }
@keyframes df-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(-4px) } 100% { transform: translateX(0) } }

/* max-questenberg-arrival */

.scn-max-questenberg-arrival {
  background:
    radial-gradient(ellipse at 50% 70%, #4a3b2c 0%, transparent 60%),
    linear-gradient(180deg, #2b221b 0%, #1f1914 40%, #15120e 100%);
}
.scn-max-questenberg-arrival .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3d3227 0%, #2a221b 100%);
  animation: mqa-wall 8s ease-in-out infinite alternate;
}
.scn-max-questenberg-arrival .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1510 0%, #2a221b 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-max-questenberg-arrival .doorway {
  position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%);
  width: 90px; height: 110px;
  background: radial-gradient(ellipse at 50% 40%, #5a4f3e 0%, #2a221b 70%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: inset 0 0 30px 10px #15120e;
}
.scn-max-questenberg-arrival .figure-left {
  position: absolute; bottom: 22%; left: 30%; width: 20px; height: 70px;
  background: linear-gradient(180deg, #3a2f23 0%, #1f1914 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mqa-figleft 6s ease-in-out infinite alternate;
}
.scn-max-questenberg-arrival .figure-right {
  position: absolute; bottom: 22%; right: 30%; width: 22px; height: 68px;
  background: linear-gradient(180deg, #4a3b2c 0%, #2a221b 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mqa-figright 6s ease-in-out infinite alternate-reverse;
}
.scn-max-questenberg-arrival .table {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 50px; height: 40px;
  background: linear-gradient(180deg, #4d3e2e 0%, #2f251c 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.5);
}
.scn-max-questenberg-arrival .candle-glow {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 10px; height: 14px;
  background: radial-gradient(circle, #ffd27a 0%, #b07840 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #ffd27a, 0 0 40px 12px rgba(255,210,122,0.4);
  animation: mqa-candle 3s ease-in-out infinite alternate;
}
.scn-max-questenberg-arrival .drapes {
  position: absolute; top: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #372d25 0%, transparent 100%);
  border-radius: 0 0 40% 40% / 0 0 50% 50%;
  filter: blur(3px);
  animation: mqa-drape 12s ease-in-out infinite;
}
@keyframes mqa-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mqa-figleft { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mqa-figright { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mqa-candle { 0% { opacity: 0.8; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes mqa-drape { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

/* max-defends-wallenstein */

.scn-max-defends-wallenstein {
  background:
    radial-gradient(ellipse at 30% 80%, #803a1a 0%, transparent 60%),
    linear-gradient(180deg, #2e231c 0%, #1b1611 100%);
}
.scn-max-defends-wallenstein .bg-deep {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3b2e24 0%, #221c17 100%);
  animation: mdw-deep 10s ease-in-out infinite alternate;
}
.scn-max-defends-wallenstein .wall-panel {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 50%;
  background: linear-gradient(135deg, #4d3a2a 0%, #2b221b 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 0 20px 5px #15120e;
  transform: scaleX(1.02);
}
.scn-max-defends-wallenstein .figure-main {
  position: absolute; bottom: 15%; left: 42%; width: 28px; height: 90px;
  background: linear-gradient(180deg, #c8553d 0%, #8a3a2a 50%, #421e12 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mdw-figure 4s ease-in-out infinite alternate;
  box-shadow: 0 0 15px 3px rgba(200,85,61,0.3);
}
.scn-max-defends-wallenstein .raised-arm {
  position: absolute; bottom: 55%; left: 48%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #c8553d 0%, #8a3a2a 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: mdw-arm 2s ease-in-out infinite alternate;
}
.scn-max-defends-wallenstein .shadow-bars {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 15px, rgba(0,0,0,0.3) 15px, rgba(0,0,0,0.3) 18px);
  animation: mdw-bars 8s linear infinite;
  pointer-events: none;
}
.scn-max-defends-wallenstein .ember-glow {
  position: absolute; bottom: 10%; left: 30%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, #ff9030 0%, #b04010 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: mdw-ember 3s ease-in-out infinite alternate;
}
.scn-max-defends-wallenstein .dust-motes {
  position: absolute; top: 30%; left: 20%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffcc80 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px 2px #ffcc80;
  animation: mdw-dust 12s linear infinite;
}
@keyframes mdw-deep { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mdw-figure { 0% { transform: translateX(0) rotate(-2deg) scaleY(1); } 50% { transform: translateX(3px) rotate(3deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0) scaleY(0.98); } }
@keyframes mdw-arm { 0% { transform: rotate(-30deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-20deg); } }
@keyframes mdw-bars { 0% { background-position: 0 0; } 100% { background-position: 36px 0; } }
@keyframes mdw-ember { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes mdw-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.6; } 25% { transform: translate(10px, -5px) scale(1.2); opacity: 0.9; } 50% { transform: translate(20px, 0) scale(0.8); opacity: 0.4; } 75% { transform: translate(30px, -10px) scale(1.1); opacity: 0.7; } 100% { transform: translate(40px, 0) scale(1); opacity: 0.6; } }

/* max-on-command-presence */

.scn-max-on-command-presence {
  background:
    radial-gradient(ellipse at 70% 50%, #b07030 0%, transparent 70%),
    linear-gradient(180deg, #2d241d 0%, #1b1611 100%);
}
.scn-max-on-command-presence .bg-shadow {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1f1914 0%, #2a221b 50%, #1f1914 100%);
  animation: mcp-shadow 15s ease-in-out infinite alternate;
}
.scn-max-on-command-presence .arch {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%);
  width: 140px; height: 60px;
  background: radial-gradient(ellipse at 50% 100%, #4d3a2a 0%, transparent 60%);
  border-radius: 50% 50% 0 0;
  box-shadow: inset 0 0 30px 10px #15120e;
}
.scn-max-on-command-presence .figure-silhouette {
  position: absolute; bottom: 18%; left: 45%; width: 30px; height: 100px;
  background: linear-gradient(180deg, #1a1510 0%, #0c0a07 100%);
  border-radius: 40% 40% 20% 20% / 80% 80% 20% 20%;
  transform-origin: bottom center;
  animation: mcp-figure 5s ease-in-out infinite alternate;
}
.scn-max-on-command-presence .behind-figure {
  position: absolute; bottom: 20%; left: 35%; width: 70px; height: 80px;
  background: radial-gradient(ellipse, #4a3b2c 0%, #1f1914 60%);
  border-radius: 50%;
  filter: blur(10px);
  animation: mcp-behind 8s ease-in-out infinite alternate;
}
.scn-max-on-command-presence .light-shaft {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,210,160,0.15) 0%, transparent 80%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: mcp-shaft 10s ease-in-out infinite alternate;
}
.scn-max-on-command-presence .spear-stand {
  position: absolute; bottom: 12%; left: 30%; width: 6px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a221b 100%);
  border-radius: 20% 20% 0 0;
  animation: mcp-spear 3s ease-in-out infinite;
}
.scn-max-on-command-presence .ribbon {
  position: absolute; bottom: 40%; left: 60%; width: 40px; height: 8px;
  background: linear-gradient(90deg, #a0461a 0%, #c8553d 50%, #a0461a 100%);
  border-radius: 20%;
  filter: blur(1px);
  animation: mcp-ribbon 6s ease-in-out infinite alternate;
}
@keyframes mcp-shadow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mcp-figure { 0% { transform: translateX(0) rotate(-1deg) scaleY(1); } 50% { transform: translateX(5px) rotate(2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0) scaleY(0.98); } }
@keyframes mcp-behind { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes mcp-shaft { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes mcp-spear { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }
@keyframes mcp-ribbon { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(1.2); } 100% { transform: translateX(0) scaleX(0.9); } }

/* octavio-on-peace */

.scn-octavio-on-peace {
  background:
    radial-gradient(ellipse at 50% 40%, #6a5a4a 0%, transparent 60%),
    linear-gradient(180deg, #3a322b 0%, #241f1a 100%);
}
.scn-octavio-on-peace .wall-warm {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #4d4035 0%, #2f2721 100%);
  animation: oop-wall 10s ease-in-out infinite alternate;
}
.scn-octavio-on-peace .window-glow {
  position: absolute; top: 20%; left: 50%; transform: translateX(-50%);
  width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 50%, #c8a070 0%, #8a6a4a 50%, transparent 80%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 30px 10px #c8a070, 0 0 60px 20px rgba(200,160,112,0.3);
  animation: oop-window 4s ease-in-out infinite alternate;
}
.scn-octavio-on-peace .figure-seated {
  position: absolute; bottom: 25%; left: 35%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #4a3b2c 0%, #241f1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: oop-seated 7s ease-in-out infinite alternate;
}
.scn-octavio-on-peace .figure-standing {
  position: absolute; bottom: 20%; left: 55%; width: 22px; height: 85px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a221b 100%);
  border-radius: 40% 40% 20% 20% / 70% 70% 20% 20%;
  transform-origin: bottom center;
  animation: oop-standing 6s ease-in-out infinite alternate-reverse;
}
.scn-octavio-on-peace .book {
  position: absolute; bottom: 28%; left: 38%; width: 14px; height: 10px;
  background: linear-gradient(135deg, #8a6a4a 0%, #5a4a3a 100%);
  border-radius: 10%;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: oop-book 5s ease-in-out infinite;
}
.scn-octavio-on-peace .lamp-glow {
  position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%);
  width: 20px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px #ffd080, 0 0 60px 16px rgba(255,208,128,0.3);
  animation: oop-lamp 3s ease-in-out infinite alternate;
}
.scn-octavio-on-peace .wreath {
  position: absolute; bottom: 30%; left: 42%; width: 30px; height: 10px;
  background: repeating-linear-gradient(90deg, #3a6a3a 0px, #5a8a5a 4px, #3a6a3a 8px);
  border-radius: 50%;
  filter: blur(2px);
  opacity: 0.6;
  animation: oop-wreath 10s linear infinite;
}
@keyframes oop-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes oop-window { 0% { opacity: 0.7; transform: scale(0.98); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.8; transform: scale(0.99); } }
@keyframes oop-seated { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes oop-standing { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes oop-book { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }
@keyframes oop-lamp { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes oop-wreath { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-butler-arrives { background: linear-gradient(135deg, #1a1a2e 0%, #2a1f33 50%, #3a2a4a 100%), radial-gradient(ellipse at 50% 70%, rgba(200,160,100,.25) 0%, transparent 60%); }
.scn-butler-arrives .wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1f33 0%, #1a1a2e 100%); }
.scn-butler-arrives .door-frame { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:80px; height:140px; background: linear-gradient(135deg, #4a3a2a, #3a2a1a); border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: ba-frame 12s ease-in-out infinite alternate; }
.scn-butler-arrives .post-left { position:absolute; bottom:20%; left:calc(50% - 42px); width:6px; height:140px; background: linear-gradient(90deg, #5a4a3a, #3a2a1a); box-shadow: -2px 0 6px rgba(0,0,0,.5); }
.scn-butler-arrives .post-right { position:absolute; bottom:20%; right:calc(50% - 42px); width:6px; height:140px; background: linear-gradient(90deg, #3a2a1a, #5a4a3a); box-shadow: 2px 0 6px rgba(0,0,0,.5); }
.scn-butler-arrives .figure-butler { position:absolute; bottom:20%; left:30%; width:16px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom; animation: ba-walk 6s ease-in-out infinite; }
.scn-butler-arrives .lantern { position:absolute; bottom:45%; left:27%; width:8px; height:12px; background: radial-gradient(circle, #f0c060 0%, #c08030 60%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 20px 4px #d09040, 0 0 40px 10px rgba(208,144,64,.3); animation: ba-glow 2s ease-in-out infinite alternate; }
.scn-butler-arrives .shadow { position:absolute; bottom:20%; left:28%; width:40px; height:4px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(2px); animation: ba-shadow 6s ease-in-out infinite; }
@keyframes ba-frame { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes ba-walk { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(8px) rotate(2deg); } 50% { transform: translateX(16px) rotate(-1deg); } 75% { transform: translateX(24px) rotate(1deg); } 100% { transform: translateX(32px) rotate(0); } }
@keyframes ba-glow { 0% { opacity:.7; box-shadow: 0 0 12px 2px #b08030; } 50% { opacity:1; box-shadow: 0 0 28px 6px #f0c060, 0 0 50px 12px rgba(240,192,96,.4); } 100% { opacity:.8; box-shadow: 0 0 16px 3px #c08030; } }
@keyframes ba-shadow { 0%,100% { transform: scaleX(1); opacity:.3; } 50% { transform: scaleX(1.4); opacity:.5; } }

.scn-gordon-internal-conflict { background: linear-gradient(180deg, #1a1a2e 0%, #2a1f33 40%, #3a2a4a 100%), radial-gradient(ellipse at 60% 50%, rgba(180,140,80,.2) 0%, transparent 70%); }
.scn-gordon-internal-conflict .wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%); }
.scn-gordon-internal-conflict .table { position:absolute; bottom:18%; left:50%; transform:translateX(-50%); width:120px; height:14px; background: linear-gradient(180deg, #4a3a2a, #2a1a0a); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-gordon-internal-conflict .candle { position:absolute; bottom:30%; left:40%; width:8px; height:30px; background: linear-gradient(180deg, #e0c080, #c09050); border-radius: 2px; box-shadow: 0 0 6px rgba(200,160,80,.3); }
.scn-gordon-internal-conflict .flame { position:absolute; bottom:58%; left:40.5%; width:6px; height:12px; background: radial-gradient(circle, #ffdd80 0%, #d09040 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px #e0a050, 0 0 40px 12px rgba(224,160,80,.3); animation: gic-flame 1.5s ease-in-out infinite alternate; }
.scn-gordon-internal-conflict .figure-gordon { position:absolute; bottom:18%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: gic-think 8s ease-in-out infinite; }
.scn-gordon-internal-conflict .shadow-candle { position:absolute; bottom:18%; left:36%; width:50px; height:3px; background: rgba(0,0,0,.5); border-radius:50%; filter: blur(3px); animation: gic-shade 3s ease-in-out infinite alternate; }
@keyframes gic-flame { 0% { transform: scaleY(1) rotate(-5deg); } 50% { transform: scaleY(1.3) rotate(3deg); } 100% { transform: scaleY(0.9) rotate(-2deg); } }
@keyframes gic-think { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(3deg); } }
@keyframes gic-shade { 0% { transform: scaleX(1); opacity:.3; } 100% { transform: scaleX(1.3); opacity:.6; } }

.scn-butler-wounded { background: linear-gradient(180deg, #1a1020 0%, #2a1a30 40%, #1a0a10 100%), radial-gradient(ellipse at 50% 80%, rgba(100,40,40,.3) 0%, transparent 60%); }
.scn-butler-wounded .wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a30 0%, #1a0a10 100%); }
.scn-butler-wounded .figure-wounded { position:absolute; bottom:10%; left:40%; width:24px; height:70px; background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom; transform: rotate(15deg); animation: bw-slump 10s ease-in-out infinite alternate; }
.scn-butler-wounded .pool { position:absolute; bottom:4%; left:38%; width:40px; height:6px; background: radial-gradient(ellipse, #5e1a1d 0%, #3a0a0a 70%, transparent 100%); border-radius:50%; filter: blur(2px); animation: bw-pool 6s ease-in-out infinite; }
.scn-butler-wounded .weapon { position:absolute; bottom:6%; right:35%; width:30px; height:4px; background: linear-gradient(90deg, #5a4a3a, #3a2a1a); border-radius:2px; transform: rotate(-20deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: bw-weapon 12s ease-in-out infinite; }
.scn-butler-wounded .shadow-wound { position:absolute; bottom:8%; left:30%; width:60px; height:8px; background: rgba(0,0,0,.5); border-radius:50%; filter: blur(4px); animation: bw-shade 8s ease-in-out infinite alternate; }
@keyframes bw-slump { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-2px); } 100% { transform: rotate(12deg) translateY(0); } }
@keyframes bw-pool { 0%,100% { transform: scaleX(1); opacity:.7; } 50% { transform: scaleX(1.2); opacity:1; } }
@keyframes bw-weapon { 0%,100% { transform: rotate(-20deg); } 50% { transform: rotate(-15deg) translateY(2px); } }
@keyframes bw-shade { 0% { transform: scaleX(1); } 100% { transform: scaleX(1.3); } }

.scn-butler-relentless { background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 50%, #2a1f33 100%), radial-gradient(ellipse at 60% 40%, rgba(180,140,80,.15) 0%, transparent 80%); }
.scn-butler-relentless .hourglass { position:absolute; top:20%; left:50%; transform:translateX(-50%); width:40px; height:80px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 30% 30% / 40% 40% 40% 40%; box-shadow: 0 0 10px rgba(0,0,0,.6); }
.scn-butler-relentless .sand-upper { position:absolute; top:22%; left:calc(50% - 10px); width:20px; height:30px; background: linear-gradient(180deg, #c0a060, #a08040); border-radius: 40% 40% 0 0 / 60% 60% 0 0; clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: br-sand-fall 4s ease-in-out infinite alternate; }
.scn-butler-relentless .sand-lower { position:absolute; bottom:30%; left:calc(50% - 10px); width:20px; height:40px; background: linear-gradient(180deg, #a08040, #806030); border-radius: 0 0 40% 40% / 0 0 60% 60%; clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%); animation: br-sand-rise 4s ease-in-out infinite alternate; }
.scn-butler-relentless .figure-br { position:absolute; bottom:5%; right:25%; width:18px; height:55px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom; animation: br-stand 12s ease-in-out infinite; }
.scn-butler-relentless .shadow-br { position:absolute; bottom:2%; right:22%; width:40px; height:4px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(2px); animation: br-stand-shadow 12s ease-in-out infinite; }
@keyframes br-sand-fall { 0% { height:30px; opacity:.8; } 50% { height:20px; opacity:1; } 100% { height:30px; opacity:.9; } }
@keyframes br-sand-rise { 0% { height:40px; opacity:.8; } 50% { height:50px; opacity:1; } 100% { height:40px; opacity:.9; } }
@keyframes br-stand { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes br-stand-shadow { 0%,100% { transform: scaleX(1); opacity:.3; } 50% { transform: scaleX(1.2); opacity:.5; } }

.scn-servant-eyes-feet {
  background:
    linear-gradient(180deg, #3a1a0a 0%, #5a2a1a 40%, #7a3a2a 70%, #2a0a00 100%),
    radial-gradient(ellipse at 60% 30%, #c06030 0%, transparent 60%);
}
.scn-servant-eyes-feet .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #4a2a1a, #2a0a00);
  border-radius: 0 0 20% 20%;
  box-shadow: inset 0 0 30px #1a0500;
}
.scn-servant-eyes-feet .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a2010, #1a0a00);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
}
.scn-servant-eyes-feet .figure {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #1a0a00, #0a0500);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: sef-figure 3s ease-in-out infinite alternate;
}
.scn-servant-eyes-feet .eyes {
  position: absolute; bottom: 55%; left: 36%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffa040 0%, #c06020 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ffa040;
  animation: sef-glare 2s ease-in-out infinite alternate;
}
.scn-servant-eyes-feet .feet {
  position: absolute; bottom: 5%; left: 28%; width: 20px; height: 18px;
  background: #2a1a0a;
  border-radius: 40% 40% 20% 20%;
  animation: sef-feet 3s ease-in-out infinite alternate;
}
.scn-servant-eyes-feet .lantern {
  position: absolute; bottom: 40%; right: 20%; width: 12px; height: 18px;
  background: radial-gradient(circle, #ffd080 0%, #c07030 70%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px #c07030, 0 0 60px 20px rgba(192,112,48,.3);
  animation: sef-lantern 4s ease-in-out infinite alternate;
}
.scn-servant-eyes-feet .flask {
  position: absolute; bottom: 30%; left: 45%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #b08050, #705030);
  border-radius: 30% 30% 20% 20%;
  box-shadow: inset 0 0 6px #2a1a0a;
  animation: sef-flask 3s ease-in-out infinite alternate;
}
.scn-servant-eyes-feet .shadow {
  position: absolute; bottom: 0; left: 20%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, #1a0500 0%, transparent 70%);
  filter: blur(4px);
  animation: sef-shadow 3s ease-in-out infinite alternate;
}
@keyframes sef-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sef-glare { 0% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } 100% { opacity: .8; transform: scale(1); } }
@keyframes sef-feet { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(0) rotate(5deg); } }
@keyframes sef-lantern { 0% { box-shadow: 0 0 20px 5px #c07030; } 50% { box-shadow: 0 0 40px 10px #ffd080, 0 0 80px 20px rgba(255,208,128,.3); } 100% { box-shadow: 0 0 25px 6px #c07030; } }
@keyframes sef-flask { 0% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }
@keyframes sef-shadow { 0% { transform: scaleX(1.2); opacity: .7; } 50% { transform: scaleX(1); opacity: .9; } 100% { transform: scaleX(1.2); opacity: .7; } }

.scn-servant-snapped-wine {
  background:
    linear-gradient(180deg, #3a1a0a 0%, #6a2a1a 40%, #9a3a2a 70%, #2a0a00 100%),
    radial-gradient(ellipse at 40% 60%, #c06030 0%, transparent 50%);
}
.scn-servant-snapped-wine .bg-fire {
  position: absolute; inset: 40% 0 0 0;
  background: linear-gradient(0deg, #7a3020, transparent);
  animation: ssw-fire 2s ease-in-out infinite alternate;
}
.scn-servant-snapped-wine .table {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #8a5030, #4a2810);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 6px 12px #1a0500;
}
.scn-servant-snapped-wine .hand {
  position: absolute; bottom: 30%; left: 40%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #5a3020, #3a1a0a);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: ssw-hand 2s ease-in-out infinite alternate;
}
.scn-servant-snapped-wine .flask {
  position: absolute; bottom: 35%; left: 45%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #b08050, #705030);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 0 8px #2a1a0a;
  animation: ssw-flask 1.5s ease-in-out infinite alternate;
}
.scn-servant-snapped-wine .pocket {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 30px;
  background: linear-gradient(180deg, #2a1a0a, #1a0a00);
  border-radius: 20% 20% 30% 30%;
  box-shadow: inset 0 4px 6px #0a0500;
  animation: ssw-pocket 2s ease-in-out infinite alternate;
}
.scn-servant-snapped-wine .wine-splash {
  position: absolute; bottom: 40%; left: 48%; width: 8px; height: 12px;
  background: radial-gradient(circle, #c8553d 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ssw-splash 1.5s ease-in-out infinite alternate;
}
.scn-servant-snapped-wine .shadow-hand {
  position: absolute; bottom: 10%; left: 30%; width: 60px; height: 30px;
  background: radial-gradient(ellipse, #1a0500 0%, transparent 60%);
  filter: blur(5px);
  animation: ssw-shadow 2s ease-in-out infinite alternate;
}
@keyframes ssw-fire { 0% { opacity: .7; } 50% { opacity: 1; } 100% { opacity: .8; } }
@keyframes ssw-hand { 0% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-4px) rotate(-3deg); } 100% { transform: translateY(0) rotate(8deg); } }
@keyframes ssw-flask { 0% { transform: translateY(0) rotate(-15deg); } 50% { transform: translateY(-2px) rotate(10deg); } 100% { transform: translateY(0) rotate(-15deg); } }
@keyframes ssw-pocket { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.1); } 100% { transform: scaleY(1); } }
@keyframes ssw-splash { 0% { opacity: 0; transform: scale(0.5); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0; transform: scale(0.5); } }
@keyframes ssw-shadow { 0% { transform: scaleX(1); opacity: .6; } 50% { transform: scaleX(1.4); opacity: .9; } 100% { transform: scaleX(1); opacity: .6; } }

.scn-illo-speeches-stare {
  background:
    linear-gradient(180deg, #5a2a1a 0%, #7a3a2a 30%, #4a2010 70%, #2a0a00 100%),
    radial-gradient(ellipse at 50% 50%, #c07030 0%, transparent 70%);
}
.scn-illo-speeches-stare .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a2810, #2a1000);
  border-radius: 0 0 40% 40%;
  box-shadow: inset 0 0 40px #1a0500;
}
.scn-illo-speeches-stare .chair {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #6a3a20, #3a1a0a);
  border-radius: 10% 10% 5% 5% / 60% 60% 10% 10%;
  box-shadow: 0 8px 16px #1a0500;
  animation: iss-chair 6s ease-in-out infinite alternate;
}
.scn-illo-speeches-stare .figure-seated {
  position: absolute; bottom: 30%; left: 47%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a, #1a0a00);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: iss-seated 6s ease-in-out infinite alternate;
}
.scn-illo-speeches-stare .figure-behind {
  position: absolute; bottom: 30%; left: 38%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a0a00, #0a0500);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: iss-behind 8s ease-in-out infinite alternate;
}
.scn-illo-speeches-stare .cross {
  position: absolute; bottom: 55%; left: 52%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #a06030, #804020);
  border-radius: 20%;
  box-shadow: 0 0 8px #c07030;
  animation: iss-cross 4s ease-in-out infinite alternate;
}
.scn-illo-speeches-stare .candle {
  position: absolute; bottom: 15%; left: 30%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffd080, #c07030);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 6px #ffc060, 0 0 40px 12px rgba(255,192,96,.3);
  animation: iss-candle 3s ease-in-out infinite alternate;
}
.scn-illo-speeches-stare .table {
  position: absolute; bottom: 5%; left: 25%; right: 25%; height: 15%;
  background: linear-gradient(180deg, #8a5030, #4a2810);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 4px 8px #1a0500;
}
.scn-illo-speeches-stare .warm-glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, rgba(255,192,96,.15) 0%, transparent 70%);
  pointer-events: none;
  animation: iss-glow 6s ease-in-out infinite alternate;
}
@keyframes iss-chair { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes iss-seated { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes iss-behind { 0% { transform: translateX(0) translateY(0) rotate(-5deg); } 50% { transform: translateX(2px) translateY(-2px) rotate(3deg); } 100% { transform: translateX(0) translateY(0) rotate(-5deg); } }
@keyframes iss-cross { 0% { opacity: .7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: .7; transform: scaleY(1); } }
@keyframes iss-candle { 0% { box-shadow: 0 0 15px 4px #ffc060; } 50% { box-shadow: 0 0 30px 8px #ffd080; } 100% { box-shadow: 0 0 15px 4px #ffc060; } }
@keyframes iss-glow { 0% { opacity: .6; } 50% { opacity: 1; } 100% { opacity: .6; } }

.scn-maradas-spaniard {
  background:
    linear-gradient(180deg, #2a0a00 0%, #4a1a0a 30%, #6a2a1a 60%, #1a0500 100%),
    radial-gradient(ellipse at 30% 50%, #c06030 0%, transparent 60%);
}
.scn-maradas-spaniard .bg-cellar {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #3a1a0a, #1a0500);
  border-radius: 0 0 30% 30%;
  box-shadow: inset 0 0 50px #0a0200;
}
.scn-maradas-spaniard .barrel {
  position: absolute; bottom: 15%; left: 60%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #8a5030, #4a2810);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 6px 12px #1a0500;
  animation: msp-barrel 8s ease-in-out infinite alternate;
}
.scn-maradas-spaniard .figure-maradas {
  position: absolute; bottom: 25%; left: 25%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a0a00, #0a0500);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: msp-figure1 4s ease-in-out infinite alternate;
}
.scn-maradas-spaniard .figure-master {
  position: absolute; bottom: 25%; left: 45%; width: 34px; height: 85px;
  background: linear-gradient(180deg, #2a1a0a, #1a0a00);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: msp-figure2 5s ease-in-out infinite alternate;
}
.scn-maradas-spaniard .figure-neumann {
  position: absolute; bottom: 25%; left: 65%; width: 28px; height: 75px;
  background: linear-gradient(180deg, #1a0a00, #0a0500);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: msp-figure3 6s ease-in-out infinite alternate;
}
.scn-maradas-spaniard .lantern {
  position: absolute; bottom: 50%; left: 50%; width: 14px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #c07030 70%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 8px #c07030, 0 0 60px 16px rgba(192,112,48,.4);
  animation: msp-lantern 3s ease-in-out infinite alternate;
}
.scn-maradas-spaniard .shadow-group {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 25%;
  background: radial-gradient(ellipse, #1a0500 0%, transparent 70%);
  filter: blur(8px);
  animation: msp-shadow 8s ease-in-out infinite alternate;
}
@keyframes msp-barrel { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes msp-figure1 { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes msp-figure2 { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes msp-figure3 { 0% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-4deg); } }
@keyframes msp-lantern { 0% { box-shadow: 0 0 20px 5px #c07030; } 50% { box-shadow: 0 0 40px 10px #ffd080, 0 0 80px 20px rgba(255,208,128,.4); } 100% { box-shadow: 0 0 20px 5px #c07030; } }
@keyframes msp-shadow { 0% { transform: scaleX(1.2); opacity: .7; } 50% { transform: scaleX(1); opacity: .9; } 100% { transform: scaleX(1.2); opacity: .7; } }

.scn-mohrbrand-captures-sesina { 
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1f2e 50%, #1e141e 100%), 
              radial-gradient(ellipse at 60% 80%, #3a2030 0%, transparent 70%);
}
.scn-mohrbrand-captures-sesina .dim-bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2e 0%, #2a1f2e 50%, #1e141e 100%); animation: mcs-pulse 12s ease-in-out infinite alternate; }
.scn-mohrbrand-captures-sesina .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #1a121a 0%, #2a1a24 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-mohrbrand-captures-sesina .window { position:absolute; top:15%; right:15%; width:16%; height:30%; background: radial-gradient(ellipse at center, #4a4a6a 0%, #2a2a4a 70%); border: 3px solid #1a1a2e; border-radius: 10% 10% 20% 20%; box-shadow: 0 0 24px 8px rgba(74,74,106,.4); animation: mcs-window 6s ease-in-out infinite alternate; }
.scn-mohrbrand-captures-sesina .table { position:absolute; bottom:22%; left:10%; width:40%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 5% 5% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.7); }
.scn-mohrbrand-captures-sesina .captor { position:absolute; bottom:24%; left:20%; width:12%; height:45%; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mcs-captor 5s ease-in-out infinite; }
.scn-mohrbrand-captures-sesina .prisoner { position:absolute; bottom:22%; left:55%; width:10%; height:35%; background: linear-gradient(180deg, #2a1a14 0%, #1a0e0a 100%); border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%; transform: skewX(10deg); animation: mcs-prisoner 6s ease-in-out infinite; }
.scn-mohrbrand-captures-sesina .papers { position:absolute; bottom:30%; left:18%; width:8%; height:4%; background: #d4c8a0; border-radius: 5%; box-shadow: 0 2px 6px rgba(0,0,0,.5), 0 0 12px 2px rgba(200,180,120,.3); animation: mcs-papers 8s ease-in-out infinite alternate; }

@keyframes mcs-pulse { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes mcs-window { 0% { transform: scaleY(1); opacity:.5 } 50% { transform: scaleY(1.05); opacity:.8 } 100% { transform: scaleY(.95); opacity:.6 } }
@keyframes mcs-captor { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mcs-prisoner { 0% { transform: skewX(10deg) translateY(0); } 50% { transform: skewX(12deg) translateY(-3px); } 100% { transform: skewX(10deg) translateY(0); } }
@keyframes mcs-papers { 0% { transform: rotate(0deg) translateX(0); opacity:.6; } 50% { transform: rotate(5deg) translateX(2px); opacity:1; } 100% { transform: rotate(-3deg) translateX(-1px); opacity:.7; } }

.scn-octavio-precious-casket {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2430 50%, #1e1a28 100%), 
              radial-gradient(ellipse at 50% 70%, #3a2a44 0%, transparent 60%);
}
.scn-octavio-precious-casket .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2e 0%, #2a2430 50%, #1e1a28 100%); animation: opc-pulse 15s ease-in-out infinite alternate; }
.scn-octavio-precious-casket .table { position:absolute; bottom:20%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,.7); }
.scn-octavio-precious-casket .casket { position:absolute; bottom:25%; left:40%; width:15%; height:12%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 12px rgba(0,0,0,.8), inset 0 2px 4px rgba(255,200,150,.2); animation: opc-casket 6s ease-in-out infinite; }
.scn-octavio-precious-casket .glow { position:absolute; bottom:25%; left:40%; width:15%; height:12%; background: radial-gradient(ellipse at 50% 50%, #d0a060 0%, transparent 80%); filter: blur(8px); animation: opc-glow 4s ease-in-out infinite alternate; }
.scn-octavio-precious-casket .figure { position:absolute; bottom:22%; left:55%; width:12%; height:50%; background: linear-gradient(180deg, #0a0a1a 0%, #1a1020 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: opc-figure 7s ease-in-out infinite; }
.scn-octavio-precious-casket .scrolls { position:absolute; bottom:30%; left:32%; width:6%; height:3%; background: #d4c8a0; border-radius: 5%; box-shadow: 0 2px 4px rgba(0,0,0,.4), 0 0 8px 1px rgba(200,180,120,.3); animation: opc-scrolls 9s ease-in-out infinite alternate; }

@keyframes opc-pulse { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes opc-casket { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes opc-glow { 0% { opacity:.3; transform: scale(1); } 50% { opacity:.8; transform: scale(1.2); } 100% { opacity:.5; transform: scale(1.1); } }
@keyframes opc-figure { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(3px) rotate(2deg); } 66% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes opc-scrolls { 0% { transform: rotate(0deg); opacity:.6; } 50% { transform: rotate(10deg); opacity:1; } 100% { transform: rotate(-5deg); opacity:.8; } }

.scn-altringer-bids-heart {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 50%, #1a0e04 100%), 
              radial-gradient(ellipse at 50% 30%, #5a3a1a 0%, transparent 70%);
}
.scn-altringer-bids-heart .warm-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 50%, #1a0e04 100%); animation: abh-pulse 14s ease-in-out infinite alternate; }
.scn-altringer-bids-heart .window { position:absolute; top:15%; left:20%; width:20%; height:35%; background: radial-gradient(ellipse at center, #d0a060 0%, #8a6030 70%); border: 3px solid #1a0e04; border-radius: 20% 20% 30% 30%; box-shadow: 0 0 30px 10px rgba(200,150,60,.5); animation: abh-window 8s ease-in-out infinite alternate; }
.scn-altringer-bids-heart .light-beam { position:absolute; top:15%; left:20%; width:20%; height:35%; background: linear-gradient(135deg, rgba(200,150,60,.4) 0%, transparent 100%); filter: blur(12px); animation: abh-beam 6s ease-in-out infinite; }
.scn-altringer-bids-heart .heart-orb { position:absolute; bottom:45%; left:45%; width:10%; height:10%; background: radial-gradient(circle, #b06030 0%, #7a3a1a 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(180,80,30,.6); animation: abh-heart 5s ease-in-out infinite alternate; }
.scn-altringer-bids-heart .figure-left { position:absolute; bottom:30%; left:30%; width:12%; height:45%; background: linear-gradient(180deg, #1a0e04 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: abh-figure 7s ease-in-out infinite; }
.scn-altringer-bids-heart .figure-right { position:absolute; bottom:30%; right:25%; width:12%; height:50%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0602 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: abh-figure 7s ease-in-out infinite 3.5s; }

@keyframes abh-pulse { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes abh-window { 0% { transform: scaleX(1); opacity:.6; } 50% { transform: scaleX(1.1); opacity:1; } 100% { transform: scaleX(.95); opacity:.7; } }
@keyframes abh-beam { 0% { transform: rotate(0deg); opacity:.3; } 50% { transform: rotate(5deg); opacity:.6; } 100% { transform: rotate(-3deg); opacity:.4; } }
@keyframes abh-heart { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.3) rotate(10deg); } 100% { transform: scale(.9) rotate(-5deg); } }
@keyframes abh-figure { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-3px) rotate(2deg); } 66% { transform: translateY(2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }

.scn-octavio-commands-stay {
  background: linear-gradient(180deg, #1a141a 0%, #2a1c24 50%, #1a1018 100%), 
              radial-gradient(ellipse at 30% 50%, #3a2030 0%, transparent 60%);
}
.scn-octavio-commands-stay .hall-bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a141a 0%, #2a1c24 50%, #1a1018 100%); animation: ocs-pulse 13s ease-in-out infinite alternate; }
.scn-octavio-commands-stay .arch-door { position:absolute; left:10%; bottom:0; width:80%; height:85%; border-radius: 50% 50% 0 0 / 80% 80% 0 0; border: 4px solid #1a0e10; background: #1a1018; box-shadow: inset 0 0 20px rgba(0,0,0,.8); animation: ocs-door 10s ease-in-out infinite alternate; }
.scn-octavio-commands-stay .wicket { position:absolute; left:35%; bottom:15%; width:30%; height:25%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 0 12px rgba(0,0,0,.6), inset 0 2px 6px rgba(200,150,100,.2); animation: ocs-wicket 7s ease-in-out infinite; }
.scn-octavio-commands-stay .figure-octavio { position:absolute; bottom:18%; left:25%; width:12%; height:55%; background: linear-gradient(180deg, #0a060a 0%, #1a141e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ocs-figure 6s ease-in-out infinite; }
.scn-octavio-commands-stay .figure-cornet { position:absolute; bottom:20%; right:20%; width:11%; height:50%; background: linear-gradient(180deg, #1a101a 0%, #0a060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1); animation: ocs-figure 6s ease-in-out infinite 2s; }
.scn-octavio-commands-stay .lantern { position:absolute; bottom:35%; left:48%; width:8%; height:12%; background: radial-gradient(ellipse at 50% 50%, #d0a060 0%, #8a6030 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 10px rgba(200,150,60,.4); animation: ocs-lantern 4s ease-in-out infinite alternate; }
.scn-octavio-commands-stay .light-cone { position:absolute; bottom:0; left:40%; width:20%; height:40%; background: linear-gradient(0deg, rgba(200,150,60,.4) 0%, transparent 100%); filter: blur(10px); animation: ocs-cone 5s ease-in-out infinite; }

@keyframes ocs-pulse { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes ocs-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(.98); } }
@keyframes ocs-wicket { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ocs-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ocs-lantern { 0% { opacity:.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.8; transform: scale(.95); } }
@keyframes ocs-cone { 0% { opacity:.3; transform: skewX(0deg); } 50% { opacity:.6; transform: skewX(5deg); } 100% { opacity:.4; transform: skewX(-3deg); } }

/* Scene 1: wallenstein-swedish-captain */

.scn-wallenstein-swedish-captain {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0e05 100%), radial-gradient(ellipse at 30% 80%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-swedish-captain .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-bottom: 2px solid #3a2a1a;
  animation: wsc-wall 20s ease-in-out infinite alternate;
}
.scn-wallenstein-swedish-captain .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a120e 0%, #0f0a07 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-wallenstein-swedish-captain .table {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 90px; height: 12px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: wsc-table 8s ease-in-out infinite;
}
.scn-wallenstein-swedish-captain .candle-glow {
  position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%);
  width: 12px; height: 18px;
  background: radial-gradient(ellipse at 50% 0%, #ffe080 0%, #cc8844 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(204,136,68,0.4), 0 0 60px 20px rgba(204,136,68,0.2);
  animation: wsc-candle 3s ease-in-out infinite alternate;
}
.scn-wallenstein-swedish-captain .figure-seated {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 32px; height: 48px;
  background: linear-gradient(180deg, #1a1815 0%, #0d0b09 100%);
  border-radius: 60% 60% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 2px 0 10px rgba(0,0,0,0.5);
  animation: wsc-figure 6s ease-in-out infinite alternate;
}
.scn-wallenstein-swedish-captain .arm-rest {
  position: absolute; bottom: 27%; left: 42%;
  width: 20px; height: 8px;
  background: #2a1a10;
  border-radius: 40% 40% 20% 20%;
  transform: rotate(-15deg);
  animation: wsc-arm 7s ease-in-out infinite;
}
.scn-wallenstein-swedish-captain .shadow-pool {
  position: absolute; bottom: 12%; left: 40%; right: 40%; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(4px);
  animation: wsc-shadow 8s ease-in-out infinite alternate;
}
@keyframes wsc-wall {
  0%,100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes wsc-table {
  0%,100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(0.98) translateY(1px); }
}
@keyframes wsc-candle {
  0% { box-shadow: 0 0 20px 6px rgba(204,136,68,0.4), 0 0 40px 12px rgba(204,136,68,0.2); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 14px rgba(255,224,128,0.6), 0 0 70px 24px rgba(255,224,128,0.3); opacity: 1; }
  100% { box-shadow: 0 0 25px 8px rgba(204,136,68,0.4), 0 0 50px 16px rgba(204,136,68,0.2); opacity: 0.95; }
}
@keyframes wsc-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(-1deg); }
}
@keyframes wsc-arm {
  0%,100% { transform: rotate(-15deg) translateX(0); }
  50% { transform: rotate(-12deg) translateX(2px); }
}
@keyframes wsc-shadow {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.5; }
}

/* Scene 2: wallenstein-mourning */

.scn-wallenstein-mourning {
  background: linear-gradient(180deg, #1a1210 0%, #0f0a08 60%, #0a0605 100%), radial-gradient(ellipse at 50% 70%, #2a1a14 0%, transparent 60%);
}
.scn-wallenstein-mourning .bg-dark {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1e1310 0%, #120b08 100%);
  animation: wm-bg 15s ease-in-out infinite alternate;
}
.scn-wallenstein-mourning .bed-frame {
  position: absolute; bottom: 12%; left: 30%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a160e 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.5);
  animation: wm-bed 12s ease-in-out infinite;
}
.scn-wallenstein-mourning .figure-countess {
  position: absolute; bottom: 35%; left: 40%;
  width: 28px; height: 44px;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom;
  animation: wm-figure-c 8s ease-in-out infinite alternate;
}
.scn-wallenstein-mourning .figure-wallenstein {
  position: absolute; bottom: 30%; left: 52%;
  width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a1a12 0%, #120a08 100%);
  border-radius: 60% 60% 30% 30% / 75% 75% 25% 25%;
  animation: wm-figure-w 10s ease-in-out infinite;
}
.scn-wallenstein-mourning .fabric-drape {
  position: absolute; bottom: 32%; left: 48%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a120a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: wm-drape 7s ease-in-out infinite alternate;
}
.scn-wallenstein-mourning .lamp-glow {
  position: absolute; bottom: 48%; left: 50%; transform: translateX(-50%);
  width: 20px; height: 20px;
  background: radial-gradient(circle, #8a6a4a 0%, #5a3820 60%, transparent 100%);
  box-shadow: 0 0 30px 15px rgba(138,106,74,0.3);
  animation: wm-lamp 4s ease-in-out infinite alternate;
}
.scn-wallenstein-mourning .tear-shine {
  position: absolute; bottom: 38%; left: 36%; width: 4px; height: 4px;
  background: radial-gradient(circle, #a08870 0%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 3px rgba(160,136,112,0.6);
  animation: wm-tear 3s ease-in-out infinite;
}
@keyframes wm-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wm-bed {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes wm-figure-c {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(2deg) translateY(-1px); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wm-figure-w {
  0% { transform: translateX(0) scaleY(1); }
  50% { transform: translateX(-2px) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes wm-drape {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(3deg); }
}
@keyframes wm-lamp {
  0% { box-shadow: 0 0 20px 10px rgba(138,106,74,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 20px rgba(138,106,74,0.4); opacity: 1; }
  100% { box-shadow: 0 0 25px 12px rgba(138,106,74,0.25); opacity: 0.85; }
}
@keyframes wm-tear {
  0%,100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 0.9; transform: scale(1.2); }
}

/* Scene 3: wallenstein-window-gazing */

.scn-wallenstein-window-gazing {
  background: linear-gradient(180deg, #0c1428 0%, #182040 40%, #101830 80%), radial-gradient(ellipse at 60% 20%, #283050 0%, transparent 70%);
}
.scn-wallenstein-window-gazing .night-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #0a1228 0%, #162040 100%);
  animation: wwg-sky 25s ease-in-out infinite alternate;
}
.scn-wallenstein-window-gazing .moon {
  position: absolute; top: 10%; left: 70%;
  width: 40px; height: 40px;
  background: radial-gradient(circle at 40% 40%, #d8e0f0 0%, #8898b0 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(216,224,240,0.3), 0 0 80px 40px rgba(216,224,240,0.1);
  animation: wwg-moon 15s ease-in-out infinite alternate;
}
.scn-wallenstein-window-gazing .stars {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 40%;
  background: radial-gradient(2px 2px at 20% 30%, #ffffff 0%, transparent 100%);
  background-size: 50px 50px;
  animation: wwg-stars 30s linear infinite;
}
.scn-wallenstein-window-gazing .tower-flag {
  position: absolute; top: 15%; left: 20%;
  width: 16px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform: rotate(5deg);
  animation: wwg-flag 8s ease-in-out infinite;
}
.scn-wallenstein-window-gazing .window-frame {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 60%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border: 4px solid #3a3a4a;
  border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: wwg-frame 20s ease-in-out infinite alternate;
}
.scn-wallenstein-window-gazing .figure-profile {
  position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%);
  width: 24px; height: 40px;
  background: linear-gradient(180deg, #0a0a12 0%, #05050a 100%);
  border-radius: 40% 60% 30% 30% / 60% 70% 30% 30%;
  animation: wwg-figure 10s ease-in-out infinite alternate;
}
.scn-wallenstein-window-gazing .cassiopeia {
  position: absolute; top: 8%; left: 50%;
  width: 30px; height: 30px;
  background: radial-gradient(circle at 50% 50%, #c0d0ff 0%, transparent 100%);
  clip-path: polygon(50% 0%, 65% 35%, 100% 35%, 75% 60%, 85% 100%, 50% 75%, 15% 100%, 25% 60%, 0% 35%, 35% 35%);
  animation: wwg-cassiopeia 12s ease-in-out infinite;
}
.scn-wallenstein-window-gazing .sill-shadow {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 10px;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(3px);
  animation: wwg-sill 9s ease-in-out infinite alternate;
}
@keyframes wwg-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wwg-moon {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.02); box-shadow: 0 0 50px 25px rgba(216,224,240,0.4); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes wwg-stars {
  0% { background-position: 0 0; opacity: 0.7; }
  100% { background-position: 100px 100px; opacity: 1; }
}
@keyframes wwg-flag {
  0%,100% { transform: rotate(5deg); }
  50% { transform: rotate(8deg) translateY(-2px); }
}
@keyframes wwg-frame {
  0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.4); }
  50% { box-shadow: inset 0 0 40px rgba(0,0,0,0.6); }
  100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.4); }
}
@keyframes wwg-figure {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-1px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes wwg-cassiopeia {
  0%,100% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
}
@keyframes wwg-sill {
  0% { opacity: 0.4; }
  100% { opacity: 0.8; }
}

/* Scene 4: wallenstein-brooding */

.scn-wallenstein-brooding {
  background: linear-gradient(180deg, #0e0a1a 0%, #1a1428 50%, #0f0a18 100%), radial-gradient(ellipse at 70% 60%, #1a1428 0%, transparent 60%);
}
.scn-wallenstein-brooding .deep-shadows {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.5) 0%, transparent 50%, rgba(0,0,0,0.3) 100%);
  animation: wb-shadows 15s ease-in-out infinite alternate;
}
.scn-wallenstein-brooding .wall-texture {
  position: absolute; inset: 0 0 30% 0;
  background: repeating-linear-gradient(0deg, #2a1e3a 0px, #2a1e3a 2px, #1a1028 2px, #1a1028 4px);
  opacity: 0.15;
  animation: wb-texture 20s linear infinite;
}
.scn-wallenstein-brooding .figure-wallenstein-brooding {
  position: absolute; bottom: 20%; left: 55%;
  width: 30px; height: 48px;
  background: linear-gradient(180deg, #0e0a16 0%, #06040a 100%);
  border-radius: 50% 50% 30% 30% / 65% 65% 35% 35%;
  animation: wb-fig-w 12s ease-in-out infinite alternate;
}
.scn-wallenstein-brooding .figure-countess-brooding {
  position: absolute; bottom: 24%; left: 30%;
  width: 26px; height: 42px;
  background: linear-gradient(180deg, #1a122a 0%, #0c0820 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  animation: wb-fig-c 10s ease-in-out infinite;
}
.scn-wallenstein-brooding .clasped-hands {
  position: absolute; bottom: 28%; left: 45%;
  width: 16px; height: 10px;
  background: radial-gradient(ellipse at 50% 50%, #1a1220 0%, #0c0820 100%);
  border-radius: 40%;
  animation: wb-hands 8s ease-in-out infinite;
}
.scn-wallenstein-brooding .moonlight-beam {
  position: absolute; top: 5%; left: 20%; right: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(200,200,255,0.08) 0%, rgba(200,200,255,0.02) 100%);
  clip-path: polygon(40% 0%, 70% 0%, 80% 100%, 30% 100%);
  animation: wb-beam 20s ease-in-out infinite alternate;
}
.scn-wallenstein-brooding .dust-motes {
  position: absolute; top: 20%; left: 10%; right: 10%; height: 30%;
  background: radial-gradient(2px 2px at 30% 40%, rgba(220,220,255,0.4) 0%, transparent 100%);
  background-size: 60px 60px;
  animation: wb-dust 30s linear infinite;
}
@keyframes wb-shadows {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes wb-texture {
  0% { background-position: 0 0; }
  100% { background-position: 0 50px; }
}
@keyframes wb-fig-w {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-3px) rotate(2deg) translateY(-2px); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wb-fig-c {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(2px) scale(0.98); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes wb-hands {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.05) translateY(1px); }
}
@keyframes wb-beam {
  0% { opacity: 0.3; transform: rotate(-1deg); }
  50% { opacity: 0.6; transform: rotate(0deg); }
  100% { opacity: 0.3; transform: rotate(1deg); }
}
@keyframes wb-dust {
  0% { background-position: 0 0; opacity: 0.5; }
  100% { background-position: 80px 80px; opacity: 0.8; }
}

.scn-max-laments-falsehood {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e18 40%, #1a1410 100%),
    radial-gradient(ellipse at 80% 60%, #3a2a1e 0%, transparent 60%);
}
.scn-max-laments-falsehood .mlf-bg { position:absolute; inset:0; background:#1a1410; }
.scn-max-laments-falsehood .mlf-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1e18 0%, #1a1410 100%); border-radius: 10% 10% 0 0; }
.scn-max-laments-falsehood .mlf-wall-left { position:absolute; top:0; left:0; bottom:30%; width:30%; background:#2a1e18; box-shadow: inset -8px 0 12px rgba(0,0,0,.5); }
.scn-max-laments-falsehood .mlf-window { position:absolute; top:15%; left:60%; width:80px; height:100px; background: linear-gradient(135deg, #3a2a1e 0%, #2a1e18 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.8); animation: mlf-window 8s ease-in-out infinite alternate; }
.scn-max-laments-falsehood .mlf-figure { position:absolute; bottom:30%; left:35%; width:24px; height:60px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mlf-figure 4s ease-in-out infinite; }
.scn-max-laments-falsehood .mlf-chair { position:absolute; bottom:30%; left:55%; width:40px; height:50px; background: #1a1410; border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,.6); animation: mlf-chair 6s ease-in-out infinite; }
.scn-max-laments-falsehood .mlf-candle { position:absolute; bottom:30%; left:50%; width:6px; height:16px; background: #4a3a2a; border-radius: 2px; }
.scn-max-laments-falsehood .mlf-candle::before { content:''; position:absolute; top:-8px; left:-4px; width:14px; height:14px; background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(192,128,64,.4); animation: mlf-candle-glow 3s ease-in-out infinite alternate; }
.scn-max-laments-falsehood .mlf-dust { position:absolute; top:40%; left:20%; width:6px; height:6px; background: rgba(255,240,200,.3); border-radius:50%; filter: blur(2px); animation: mlf-dust 20s linear infinite; }
@keyframes mlf-window { 0% { opacity:.5; transform: scaleY(1); } 50% { opacity:.8; transform: scaleY(1.02); } 100% { opacity:.6; transform: scaleY(.98); } }
@keyframes mlf-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg) scale(1.01); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes mlf-chair { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mlf-candle-glow { 0% { opacity:.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.7; transform: scale(.95); } }
@keyframes mlf-dust { 0% { transform: translate(0,0) scale(1); opacity:0; } 20% { opacity:.6; } 80% { opacity:.4; } 100% { transform: translate(80px, -40px) scale(2); opacity:0; } }

.scn-max-deceived-by-all {
  background:
    linear-gradient(180deg, #201810 0%, #2a1e14 50%, #1a1000 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 60%);
}
.scn-max-deceived-by-all .mda-bg { position:absolute; inset:0; background:#1a1000; }
.scn-max-deceived-by-all .mda-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a1e14 0%, #1a1000 100%); border-radius: 30% 20% 0 0; }
.scn-max-deceived-by-all .mda-table { position:absolute; bottom:35%; left:60%; width:100px; height:12px; background: #3a2a1a; border-radius:4px; transform: perspective(200px) rotateX(10deg); }
.scn-max-deceived-by-all .mda-candle { position:absolute; bottom:45%; left:60%; width:6px; height:20px; background: #4a3a2a; border-radius:2px; transform:translateX(30px); }
.scn-max-deceived-by-all .mda-candle::before { content:''; position:absolute; top:-8px; left:-5px; width:16px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(192,128,64,.4); animation: mda-candle-glow 3s ease-in-out infinite alternate; }
.scn-max-deceived-by-all .mda-figure { position:absolute; bottom:35%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mda-figure 5s ease-in-out infinite; }
.scn-max-deceived-by-all .mda-shadow { position:absolute; bottom:35%; left:15%; width:80px; height:20px; background: rgba(0,0,0,.4); border-radius:50%; filter: blur(6px); animation: mda-shadow 5s ease-in-out infinite; }
.scn-max-deceived-by-all .mda-door { position:absolute; top:0; right:10%; bottom:35%; width:60px; background:#3a2a1a; border-radius: 4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.8); animation: mda-door 12s ease-in-out infinite; }
@keyframes mda-candle-glow { 0% { opacity:.5; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:.6; transform: scale(.95); } }
@keyframes mda-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(8px) rotate(2deg); } 50% { transform: translateX(12px) rotate(-1deg); } 75% { transform: translateX(8px) rotate(3deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes mda-shadow { 0%,100% { transform: scaleX(1) translateX(0); opacity:.4; } 50% { transform: scaleX(.8) translateX(10px); opacity:.6; } }
@keyframes mda-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(.95); } 100% { transform: scaleX(1); } }

.scn-octavio-god-heaven {
  background:
    linear-gradient(180deg, #1a1a20 0%, #2a2a3a 50%, #1a1a20 100%),
    radial-gradient(ellipse at 50% 120%, #3a3a4a 0%, transparent 60%);
}
.scn-octavio-god-heaven .ogh-bg { position:absolute; inset:0; background:#1a1a20; }
.scn-octavio-god-heaven .ogh-column-left { position:absolute; top:0; left:10%; bottom:20%; width:20px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a20 100%); border-radius: 2px; box-shadow: 4px 0 8px rgba(0,0,0,.6); }
.scn-octavio-god-heaven .ogh-column-right { position:absolute; top:0; right:10%; bottom:20%; width:20px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a20 100%); border-radius: 2px; box-shadow: -4px 0 8px rgba(0,0,0,.6); }
.scn-octavio-god-heaven .ogh-figure-left { position:absolute; bottom:20%; left:25%; width:25px; height:65px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a20 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ogh-figure-left 6s ease-in-out infinite; }
.scn-octavio-god-heaven .ogh-figure-right { position:absolute; bottom:20%; right:25%; width:28px; height:68px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a20 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ogh-figure-right 7s ease-in-out infinite; }
.scn-octavio-god-heaven .ogh-light { position:absolute; bottom:25%; left:50%; width:12px; height:12px; transform:translateX(-50%); background: radial-gradient(circle, #a0b0ff 0%, #7080d0 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 12px rgba(112,128,208,.4); animation: ogh-light 4s ease-in-out infinite alternate; }
.scn-octavio-god-heaven .ogh-floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a20 100%); border-radius: 20% 20% 0 0; }
.scn-octavio-god-heaven .ogh-mote { position:absolute; top:30%; left:40%; width:4px; height:4px; background: rgba(160,176,255,.3); border-radius:50%; filter: blur(1px); animation: ogh-mote 25s linear infinite; }
@keyframes ogh-figure-left { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ogh-figure-right { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ogh-light { 0% { opacity:.5; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.3); } 100% { opacity:.7; transform: translateX(-50%) scale(.9); } }
@keyframes ogh-mote { 0% { transform: translate(0,0) scale(1); opacity:0; } 20% { opacity:.5; } 80% { opacity:.3; } 100% { transform: translate(80px, -60px) scale(2); opacity:0; } }

.scn-max-spare-parting {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e18 40%, #1a1410 100%),
    radial-gradient(ellipse at 60% 80%, #3a2a1e 0%, transparent 60%);
}
.scn-max-spare-parting .msp-bg { position:absolute; inset:0; background:#1a1410; }
.scn-max-spare-parting .msp-door-frame { position:absolute; top:0; left:50%; bottom:25%; width:80px; transform:translateX(-50%); background:#2a1e18; border-radius: 4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.8); animation: msp-door-frame 6s ease-in-out infinite; }
.scn-max-spare-parting .msp-figure-max { position:absolute; bottom:25%; left:35%; width:28px; height:65px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: msp-figure-max 5s ease-in-out infinite; }
.scn-max-spare-parting .msp-figure-oct { position:absolute; bottom:25%; right:35%; width:30px; height:68px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: msp-figure-oct 5s ease-in-out infinite; animation-delay: -2s; }
.scn-max-spare-parting .msp-floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a1e18 0%, #1a1410 100%); border-radius: 30% 20% 0 0; }
.scn-max-spare-parting .msp-lamp { position:absolute; bottom:35%; left:60%; width:8px; height:20px; background: #3a2a1a; border-radius:2px; transform:rotate(5deg); transform-origin: bottom center; animation: msp-lamp 3s ease-in-out infinite; }
.scn-max-spare-parting .msp-lamp::before { content:''; position:absolute; top:-8px; left:-4px; width:16px; height:16px; background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(192,128,64,.4); animation: msp-lamp-glow 3s ease-in-out infinite alternate; }
.scn-max-spare-parting .msp-shadow { position:absolute; bottom:25%; left:25%; right:25%; height:10px; background: rgba(0,0,0,.5); border-radius:50%; filter: blur(6px); animation: msp-shadow 5s ease-in-out infinite; }
@keyframes msp-door-frame { 0% { transform: translateX(-50%) scaleX(1); } 50% { transform: translateX(-50%) scaleX(.98); } 100% { transform: translateX(-50%) scaleX(1); } }
@keyframes msp-figure-max { 0% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(-8px) rotate(-1deg); } 50% { transform: translateX(-12px) rotate(3deg); } 75% { transform: translateX(-6px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes msp-figure-oct { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(8px) rotate(1deg); } 50% { transform: translateX(12px) rotate(-3deg); } 75% { transform: translateX(6px) rotate(0deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes msp-lamp { 0%,100% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } }
@keyframes msp-lamp-glow { 0% { opacity:.5; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:.6; transform: scale(.95); } }
@keyframes msp-shadow { 0%,100% { opacity:.5; transform: scaleX(1); } 50% { opacity:.7; transform: scaleX(.8); } }

.scn-butler-rejects-appeal {
  background: linear-gradient(180deg, #1a1410 0%, #2c221a 40%, #3d2e22 100%),
              radial-gradient(ellipse at 45% 30%, #4a3520 0%, transparent 60%);
}
.scn-butler-rejects-appeal .bg-depth { position:absolute; inset:0; background: linear-gradient(135deg, #0f0b08 0%, transparent 50%, #1a1410 100%); animation: br-depth 20s ease-in-out infinite; }
.scn-butler-rejects-appeal .wall-left { position:absolute; bottom:0; left:0; width:35%; top:0; background: linear-gradient(90deg, #1e1612 0%, #2a1f18 100%); box-shadow: inset -4px 0 12px #000; }
.scn-butler-rejects-appeal .wall-right { position:absolute; bottom:0; right:0; width:35%; top:0; background: linear-gradient(270deg, #1e1612 0%, #2a1f18 100%); box-shadow: inset 4px 0 12px #000; }
.scn-butler-rejects-appeal .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a1210 0%, #2a2018 100%); border-top: 2px solid #3a2a1e; box-shadow: inset 0 10px 20px rgba(0,0,0,.6); }
.scn-butler-rejects-appeal .table { position:absolute; bottom:20%; left:30%; width:40%; height:8%; background: linear-gradient(180deg, #4a3420 0%, #2a1e12 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.8); }
.scn-butler-rejects-appeal .candle { position:absolute; bottom:28%; left:38%; width:4px; height:20px; background: linear-gradient(0deg, #b08050 0%, #a07040 100%); border-radius: 2px 2px 0 0; }
.scn-butler-rejects-appeal .candle::after { content:''; position:absolute; top:-6px; left:-2px; width:8px; height:8px; background: radial-gradient(circle, #ffd080 0%, #ffa040 60%, transparent 100%); border-radius: 50%; animation: br-flame 2s ease-in-out infinite alternate; }
.scn-butler-rejects-appeal .butler-silhouette { position:absolute; bottom:22%; left:50%; width:18px; height:48px; transform:translateX(-50%); background: linear-gradient(180deg, #0a0808 0%, #1a1410 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: -2px 0 6px rgba(0,0,0,.5); animation: br-figure 6s ease-in-out infinite; }
.scn-butler-rejects-appeal .shadow-on-wall { position:absolute; bottom:22%; left:55%; width:40px; height:60px; background: rgba(0,0,0,.4); filter: blur(8px); border-radius: 50%; opacity:.5; animation: br-shadow 8s ease-in-out infinite; }
.scn-butler-rejects-appeal .dust-mote { position:absolute; top:15%; left:20%; width:2px; height:2px; background: rgba(255,200,150,.3); border-radius:50%; box-shadow: 0 0 2px 0 #ffd080; animation: br-dust 12s linear infinite; }

@keyframes br-depth { 0%,100% { opacity:.7 } 50% { opacity:.9 } }
@keyframes br-flame { 0% { transform: scaleY(1) scaleX(1); opacity:.8; box-shadow: 0 0 8px #ffa040, 0 0 16px #ff8020; } 50% { transform: scaleY(1.1) scaleX(.9); opacity:1; box-shadow: 0 0 12px #ffb060, 0 0 24px #ff9030; } 100% { transform: scaleY(.95) scaleX(1.05); opacity:.85; box-shadow: 0 0 6px #ffa040, 0 0 12px #ff8020; } }
@keyframes br-figure { 0%,100% { transform: translateX(-50%) rotate(-.5deg); } 25% { transform: translateX(-48%) rotate(.5deg); } 50% { transform: translateX(-50%) rotate(-.5deg); } 75% { transform: translateX(-52%) rotate(.5deg); } }
@keyframes br-shadow { 0%,100% { transform: translateX(0) scale(1); } 50% { transform: translateX(5px) scale(1.1); } }
@keyframes br-dust { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:.6; } 90% { opacity:.6; } 100% { transform: translate(30px, -20px); opacity:0; } }

.scn-gordon-exits {
  background: linear-gradient(180deg, #1e1814 0%, #2a2018 50%, #1a1410 100%),
              radial-gradient(ellipse at 50% 60%, #5a3a28 0%, transparent 70%);
}
.scn-gordon-exits .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, #1a1210 70%); }
.scn-gordon-exits .doorway { position:absolute; bottom:10%; left:60%; width:60px; height:120px; background: #0d0806; border: 3px solid #3a2a1e; box-shadow: inset 0 0 20px #000; border-radius: 4px; }
.scn-gordon-exits .door-ajar { position:absolute; bottom:10%; left:60%; width:30px; height:120px; background: linear-gradient(90deg, #2a1e14 0%, #3a2a1e 100%); transform-origin: left; transform: skewY(5deg); border: 2px solid #4a3420; box-shadow: -4px 0 8px rgba(0,0,0,.6); animation: ge-door 10s ease-in-out infinite; }
.scn-gordon-exits .gordon-shadow { position:absolute; bottom:11%; left:67%; width:16px; height:40px; background: rgba(0,0,0,.5); border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%; filter: blur(3px); animation: ge-shadow 8s ease-in-out infinite; }
.scn-gordon-exits .butler-figure { position:absolute; bottom:12%; left:30%; width:20px; height:50px; background: linear-gradient(180deg, #0a0808 0%, #1a1410 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: 2px 0 6px rgba(0,0,0,.4); animation: ge-butler 5s ease-in-out infinite; }
.scn-gordon-exits .chair { position:absolute; bottom:8%; left:40%; width:16px; height:24px; background: linear-gradient(180deg, #4a3420 0%, #2a1e12 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-gordon-exits .candle-flame { position:absolute; bottom:14%; left:25%; width:6px; height:6px; background: radial-gradient(circle, #ffe0a0 0%, #ffa040 80%); border-radius:50%; box-shadow: 0 0 12px #ffa040, 0 0 24px rgba(255,160,64,.3); animation: ge-flame 2s ease-in-out infinite alternate; }
.scn-gordon-exits .candle-flame::after { content:''; position:absolute; top:-10px; left:0; width:2px; height:12px; background: linear-gradient(0deg, #ff8020 0%, transparent 100%); border-radius: 50%; filter: blur(1px); }
.scn-gordon-exits .smoke-wisp { position:absolute; top:5%; left:70%; width:20px; height:20px; background: radial-gradient(ellipse, rgba(100,80,60,.15) 0%, transparent 100%); filter: blur(6px); animation: ge-smoke 20s linear infinite; }

@keyframes ge-door { 0%,100% { transform: skewY(5deg); } 50% { transform: skewY(2deg); } }
@keyframes ge-shadow { 0%,100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-5px) scaleX(.8); } }
@keyframes ge-butler { 0%,100% { transform: rotate(-1deg); } 30% { transform: rotate(1deg) translateX(2px); } 70% { transform: rotate(-1deg) translateX(-2px); } }
@keyframes ge-flame { 0% { transform: scaleY(1); opacity:.8; } 50% { transform: scaleY(1.2); opacity:1; } 100% { transform: scaleY(.9); opacity:.7; } }
@keyframes ge-smoke { 0% { transform: translate(0,0) scale(1); opacity:.3; } 100% { transform: translate(-20px, -40px) scale(1.5); opacity:0; } }

.scn-butler-resolves {
  background: linear-gradient(180deg, #1c1612 0%, #2e221a 40%, #1a1210 100%),
              radial-gradient(ellipse at 40% 50%, #3a2a1e 0%, transparent 70%);
}
.scn-butler-resolves .bg-chamber { position:absolute; inset:0; background: linear-gradient(180deg, #14100c 0%, transparent 50%); }
.scn-butler-resolves .desk { position:absolute; bottom:10%; left:20%; width:60%; height:12%; background: linear-gradient(180deg, #4a3420 0%, #2a1e12 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.7); }
.scn-butler-resolves .document { position:absolute; bottom:16%; left:35%; width:40px; height:28px; background: #f0e0c0; border-radius: 2px; transform: rotate(2deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: bu-doc 8s ease-in-out infinite; }
.scn-butler-resolves .inkwell { position:absolute; bottom:18%; left:32%; width:10px; height:8px; background: #1a1410; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.6); }
.scn-butler-resolves .butler-hand { position:absolute; bottom:16%; left:45%; width:14px; height:10px; background: linear-gradient(180deg, #3a2a1e 0%, #2a2018 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform: rotate(15deg); animation: bu-hand 3s ease-in-out infinite; }
.scn-butler-resolves .dagger-blade { position:absolute; bottom:10%; left:50%; width:4px; height:40px; background: linear-gradient(180deg, #b0b0b0 0%, #808080 100%); border-radius: 0 0 4px 4px; transform: rotate(5deg); box-shadow: 0 0 4px rgba(255,255,255,.2); animation: bu-dagger 5s ease-in-out infinite; }
.scn-butler-resolves .candle-spark { position:absolute; bottom:24%; left:28%; width:3px; height:3px; background: radial-gradient(circle, #ffd080 0%, #ffa040 100%); border-radius:50%; box-shadow: 0 0 6px #ffa040, 0 0 12px rgba(255,160,64,.3); animation: bu-spark 2s ease-in-out infinite alternate; }
.scn-butler-resolves .pane-of-glass { position:absolute; top:5%; right:5%; width:30px; height:40px; background: rgba(200,220,255,.05); border: 2px solid rgba(200,220,255,.15); border-radius: 2px; box-shadow: inset 0 0 10px rgba(200,220,255,.1); animation: bu-glass 15s ease-in-out infinite; }

@keyframes bu-doc { 0%,100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } }
@keyframes bu-hand { 0%,100% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(20deg) scale(1.1); } }
@keyframes bu-dagger { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-3px); } }
@keyframes bu-spark { 0% { transform: scale(.8); opacity:.7; } 50% { transform: scale(1.2); opacity:1; } 100% { transform: scale(.9); opacity:.8; } }
@keyframes bu-glass { 0%,100% { opacity:.05; } 50% { opacity:.15; } }

.scn-butler-plans-assassination {
  background: linear-gradient(180deg, #0f0c0a 0%, #1e1612 50%, #2a2018 100%),
              radial-gradient(ellipse at 50% 70%, #4a2e20 0%, transparent 80%);
}
.scn-butler-plans-assassination .bg-vault { position:absolute; inset:0; background: linear-gradient(180deg, #0a0806 0%, #1a1210 100%); }
.scn-butler-plans-assassination .banquet-table { position:absolute; bottom:10%; left:10%; width:80%; height:10%; background: linear-gradient(180deg, #3a2a1e 0%, #2a1e12 100%); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-butler-plans-assassination .goblet-left { position:absolute; bottom:16%; left:20%; width:8px; height:16px; background: linear-gradient(180deg, #808080 0%, #505050 100%); border-radius: 0 0 4px 4px; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-butler-plans-assassination .goblet-left::after { content:''; position:absolute; top:-4px; left:-2px; width:12px; height:6px; background: linear-gradient(180deg, #909090 0%, #606060 100%); border-radius: 4px 4px 0 0; }
.scn-butler-plans-assassination .goblet-right { position:absolute; bottom:16%; right:20%; width:8px; height:16px; background: linear-gradient(180deg, #808080 0%, #505050 100%); border-radius: 0 0 4px 4px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: bp-goblet 4s ease-in-out infinite; }
.scn-butler-plans-assassination .goblet-right::after { content:''; position:absolute; top:-4px; left:-2px; width:12px; height:6px; background: linear-gradient(180deg, #909090 0%, #606060 100%); border-radius: 4px 4px 0 0; }
.scn-butler-plans-assassination .butler-dark { position:absolute; bottom:8%; left:35%; width:22px; height:55px; background: linear-gradient(180deg, #0a0808 0%, #1a1410 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; box-shadow: -2px 0 6px rgba(0,0,0,.5); animation: bp-butler 6s ease-in-out infinite; }
.scn-butler-plans-assassination .geraldin-figure { position:absolute; bottom:10%; right:35%; width:18px; height:48px; background: linear-gradient(180deg, #14100c 0%, #2a2018 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: scaleX(-1); box-shadow: 2px 0 6px rgba(0,0,0,.4); animation: bp-geraldin 8s ease-in-out infinite; }
.scn-butler-plans-assassination .pike-propped { position:absolute; bottom:8%; left:25%; width:3px; height:60px; background: linear-gradient(180deg, #808080 0%, #505050 100%); transform: rotate(-15deg); border-radius: 0 0 4px 4px; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-butler-plans-assassination .pike-propped::after { content:''; position:absolute; top:-6px; left:-2px; width:7px; height:10px; background: #808080; clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.scn-butler-plans-assassination .candelabra { position:absolute; bottom:20%; left:50%; width:14px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #606060 0%, #303030 100%); border-radius: 4px 4px 0 0; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-butler-plans-assassination .candelabra::before { content:''; position:absolute; top:-8px; left:-4px; width:6px; height:10px; background: linear-gradient(180deg, #808080 0%, #505050 100%); border-radius: 2px; transform: rotate(-20deg); }
.scn-butler-plans-assassination .candelabra::after { content:''; position:absolute; top:-8px; right:-4px; width:6px; height:10px; background: linear-gradient(180deg, #808080 0%, #505050 100%); border-radius: 2px; transform: rotate(20deg); }
.scn-butler-plans-assassination .flicker-light { position:absolute; top:8%; left:45%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,180,80,.3) 0%, transparent 100%); filter: blur(12px); animation: bp-flicker 3s ease-in-out infinite alternate; }

@keyframes bp-goblet { 0%,100% { transform: rotate(0); } 50% { transform: rotate(5deg); } }
@keyframes bp-butler { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(1deg); } }
@keyframes bp-geraldin { 0%,100% { transform: scaleX(-1) translateX(0); } 50% { transform: scaleX(-1) translateX(-3px); } }
@keyframes bp-flicker { 0% { opacity:.2; transform: scale(.95); } 50% { opacity:.5; transform: scale(1.1); } 100% { opacity:.3; transform: scale(1); } }

.scn-wallenstein-enters-with-burgomaster {
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b89a 40%, #a08870 100%), radial-gradient(ellipse at 30% 60%, #d4c4a8 0%, transparent 60%);
}
.scn-wallenstein-enters-with-burgomaster .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #8a7a5a, #b0a080); border-radius: 0; }
.scn-wallenstein-enters-with-burgomaster .wall-bg { position:absolute; bottom:30%; left:0; right:0; top:0; background: linear-gradient(180deg, #f0e6d6 0%, #d4c4a8 100%); }
.scn-wallenstein-enters-with-burgomaster .column-left { position:absolute; bottom:20%; left:15%; width:18px; height:70%; background: linear-gradient(90deg, #c0b090, #e0d0b8); border-radius: 4px; box-shadow: 2px 0 6px rgba(0,0,0,0.15); }
.scn-wallenstein-enters-with-burgomaster .column-right { position:absolute; bottom:20%; right:15%; width:18px; height:70%; background: linear-gradient(270deg, #c0b090, #e0d0b8); border-radius: 4px; box-shadow: -2px 0 6px rgba(0,0,0,0.15); }
.scn-wallenstein-enters-with-burgomaster .eagle-shield { position:absolute; bottom:55%; left:50%; width:40px; height:50px; transform:translateX(-50%); background: radial-gradient(circle at 50% 40%, #d4a050 0%, #b08030 60%, #8a6020 100%); border-radius: 4px 4px 12px 12px; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.3); animation: wa1-shield 8s ease-in-out infinite alternate; }
.scn-wallenstein-enters-with-burgomaster .wallenstein { position:absolute; bottom:25%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: wa1-walk 6s ease-in-out infinite; }
.scn-wallenstein-enters-with-burgomaster .burgomaster { position:absolute; bottom:22%; left:55%; width:20px; height:40px; background: linear-gradient(180deg, #4a3e34 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa1-bow 4s ease-in-out infinite; }
.scn-wallenstein-enters-with-burgomaster .table { position:absolute; bottom:28%; left:44%; width:50px; height:6px; background: linear-gradient(90deg, #7a6a4a, #5a4a2a); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.scn-wallenstein-enters-with-burgomaster .candle-glow { position:absolute; bottom:40%; right:20%; width:6px; height:10px; background: radial-gradient(circle, #ffe890 0%, #d4a040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 18px 6px rgba(255,232,144,0.4), 0 0 36px 12px rgba(212,160,64,0.2); animation: wa1-candle 2s ease-in-out infinite alternate; }
@keyframes wa1-shield { 0% { transform: translateX(-50%) scale(1); opacity:0.9; } 50% { transform: translateX(-50%) scale(1.02); opacity:1; } 100% { transform: translateX(-50%) scale(0.98); opacity:0.85; } }
@keyframes wa1-walk { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(4px) rotate(-1deg); } 75% { transform: translateX(6px) rotate(2deg); } 100% { transform: translateX(8px) rotate(0deg); } }
@keyframes wa1-bow { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(5deg); } 60% { transform: translateY(0) rotate(-3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wa1-candle { 0% { transform: scaleY(1); opacity:0.8; } 50% { transform: scaleY(1.1) scaleX(0.95); opacity:1; } 100% { transform: scaleY(0.95); opacity:0.7; } }

.scn-wallenstein-encourages-citizens {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b88a 50%, #a08860 100%), radial-gradient(ellipse at 60% 30%, #f0d8a8 0%, transparent 60%);
}
.scn-wallenstein-encourages-citizens .room-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f5e6c8 0%, #e0c8a0 100%); }
.scn-wallenstein-encourages-citizens .sunbeam { position:absolute; top:10%; left:20%; width:80px; height:100%; background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, transparent 100%); transform: rotate(15deg); filter: blur(8px); animation: wa2-sun 30s ease-in-out infinite alternate; }
.scn-wallenstein-encourages-citizens .pulpit { position:absolute; bottom:30%; left:32%; width:30px; height:40px; background: linear-gradient(180deg, #6a5a4a, #4a3a2a); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-wallenstein-encourages-citizens .wallenstein { position:absolute; bottom:30%; left:30%; width:20px; height:45px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: wa2-speak 5s ease-in-out infinite; }
.scn-wallenstein-encourages-citizens .citizen-a { position:absolute; bottom:25%; left:60%; width:18px; height:35px; background: linear-gradient(180deg, #5a4e44, #3a2e24); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa2-listen 7s ease-in-out infinite; }
.scn-wallenstein-encourages-citizens .citizen-b { position:absolute; bottom:24%; left:68%; width:16px; height:32px; background: linear-gradient(180deg, #4a3e34, #2a1e14); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa2-listen 9s ease-in-out infinite 1s; }
.scn-wallenstein-encourages-citizens .citizen-c { position:absolute; bottom:26%; left:52%; width:14px; height:30px; background: linear-gradient(180deg, #6a5e54, #4a3e34); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa2-listen 8s ease-in-out infinite 0.5s; }
.scn-wallenstein-encourages-citizens .window-light { position:absolute; top:5%; left:10%; width:20px; height:30px; background: radial-gradient(circle, #ffe8b0 0%, transparent 100%); box-shadow: 0 0 30px 10px rgba(255,232,176,0.3); animation: wa2-glow 4s ease-in-out infinite alternate; }
@keyframes wa2-sun { 0% { transform: rotate(10deg) translateX(0); opacity:0.5; } 50% { transform: rotate(15deg) translateX(5px); opacity:0.8; } 100% { transform: rotate(20deg) translateX(-3px); opacity:0.6; } }
@keyframes wa2-speak { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-3px) rotate(0deg); } 60% { transform: translateY(0) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes wa2-listen { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-1px) rotate(3deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wa2-glow { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.7; transform: scale(0.95); } }

.scn-wallenstein-opposes-jesuits {
  background: linear-gradient(180deg, #d8d0c0 0%, #b0a898 40%, #888070 100%), radial-gradient(ellipse at 50% 70%, #c8c0b0 0%, transparent 70%);
}
.scn-wallenstein-opposes-jesuits .church-arch { position:absolute; bottom:20%; left:10%; right:10%; top:0; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.2); }
.scn-wallenstein-opposes-jesuits .altar { position:absolute; bottom:22%; left:50%; width:60px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #7a6a5a, #5a4a3a); border-radius: 4px; box-shadow: 0 0 10px rgba(0,0,0,0.3); }
.scn-wallenstein-opposes-jesuits .pew-left { position:absolute; bottom:25%; left:15%; width:50px; height:20px; background: linear-gradient(180deg, #8a7a6a, #6a5a4a); border-radius: 4px; transform: skewY(-5deg); }
.scn-wallenstein-opposes-jesuits .pew-right { position:absolute; bottom:25%; right:15%; width:50px; height:20px; background: linear-gradient(180deg, #8a7a6a, #6a5a4a); border-radius: 4px; transform: skewY(5deg); }
.scn-wallenstein-opposes-jesuits .wallenstein { position:absolute; bottom:22%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: wa3-turn 6s ease-in-out infinite; }
.scn-wallenstein-opposes-jesuits .burgomaster { position:absolute; bottom:20%; left:55%; width:18px; height:38px; background: linear-gradient(180deg, #4a3e34, #2a1e14); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa3-nod 8s ease-in-out infinite; }
.scn-wallenstein-opposes-jesuits .stained-glass { position:absolute; top:5%; left:40%; width:30px; height:50px; background: radial-gradient(circle at 30% 40%, #4070a0 0%, #205080 50%, #102040 100%); border-radius: 2px; box-shadow: inset 0 0 8px rgba(255,255,255,0.2); animation: wa3-color 12s ease-in-out infinite alternate; }
.scn-wallenstein-opposes-jesuits .light-shaft { position:absolute; top:0; left:40%; width:30px; height:80%; background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 100%); filter: blur(6px); transform: rotate(-10deg); animation: wa3-light 20s ease-in-out infinite alternate; }
@keyframes wa3-turn { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(-3deg); } 50% { transform: translateX(6px) rotate(0deg); } 75% { transform: translateX(3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wa3-nod { 0% { transform: translateY(0) rotate(0); } 20% { transform: translateY(-2px) rotate(2deg); } 40% { transform: translateY(0) rotate(-1deg); } 60% { transform: translateY(-1px) rotate(0); } 80% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wa3-color { 0% { opacity:0.7; filter: hue-rotate(0deg); } 50% { opacity:1; filter: hue-rotate(15deg); } 100% { opacity:0.8; filter: hue-rotate(-10deg); } }
@keyframes wa3-light { 0% { transform: rotate(-12deg) translateX(0); opacity:0.3; } 50% { transform: rotate(-8deg) translateX(5px); opacity:0.6; } 100% { transform: rotate(-15deg) translateX(-3px); opacity:0.4; } }

.scn-wallenstein-prophesies-change {
  background: linear-gradient(180deg, #3a3a5e 0%, #2a2a4e 40%, #1a1a3e 100%), radial-gradient(ellipse at 50% 80%, #4a4a6e 0%, transparent 70%);
}
.scn-wallenstein-prophesies-change .night-window { position:absolute; top:5%; left:20%; right:20%; bottom:40%; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3e 100%); border: 4px solid #5a4a3a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-wallenstein-prophesies-change .moon-a { position:absolute; top:12%; left:28%; width:20px; height:20px; background: radial-gradient(circle, #e0d8c0 0%, #c0b8a0 100%); border-radius: 50%; box-shadow: 0 0 16px 4px rgba(192,184,160,0.3); animation: wa4-moon 30s linear infinite; }
.scn-wallenstein-prophesies-change .moon-b { position:absolute; top:14%; left:45%; width:18px; height:18px; background: radial-gradient(circle, #d0c8b0 0%, #b0a890 100%); border-radius: 50%; box-shadow: 0 0 14px 3px rgba(176,168,144,0.25); animation: wa4-moon 35s linear infinite 5s; }
.scn-wallenstein-prophesies-change .moon-c { position:absolute; top:10%; left:62%; width:22px; height:22px; background: radial-gradient(circle, #e8e0c8 0%, #c8c0a8 100%); border-radius: 50%; box-shadow: 0 0 18px 5px rgba(200,192,168,0.35); animation: wa4-moon 40s linear infinite 10s; }
.scn-wallenstein-prophesies-change .wallenstein { position:absolute; bottom:22%; left:30%; width:22px; height:50px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: wa4-gesture 8s ease-in-out infinite; }
.scn-wallenstein-prophesies-change .burgomaster { position:absolute; bottom:20%; left:55%; width:18px; height:40px; background: linear-gradient(180deg, #4a3e34, #2a1e14); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wa4-look-up 6s ease-in-out infinite; }
.scn-wallenstein-prophesies-change .table { position:absolute; bottom:28%; left:40%; width:60px; height:6px; background: linear-gradient(90deg, #5a4a3a, #3a2a1a); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.4); }
.scn-wallenstein-prophesies-change .candle-flicker { position:absolute; bottom:35%; left:45%; width:4px; height:10px; background: radial-gradient(circle, #ffe890 0%, #d4a040 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 12px 4px rgba(255,232,144,0.4), 0 0 24px 8px rgba(212,160,64,0.2); animation: wa4-candle 2s ease-in-out infinite alternate; }
@keyframes wa4-moon { 0% { transform: translateY(0); } 25% { transform: translateY(8px); } 50% { transform: translateY(0); } 75% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes wa4-gesture { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-4px) rotate(3deg) scale(1.02); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes wa4-look-up { 0% { transform: translateY(0) rotate(0); } 20% { transform: translateY(-2px) rotate(5deg); } 60% { transform: translateY(0) rotate(-3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes wa4-candle { 0% { transform: scaleY(1); opacity:0.8; } 50% { transform: scaleY(1.2) scaleX(0.9); opacity:1; } 100% { transform: scaleY(0.9); opacity:0.6; } }

.scn-max-only-his-mouth-convict {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2d2d44 40%, #3a2a2a 100%),
    radial-gradient(ellipse at 50% 50%, #2d2d44 0%, transparent 70%);
}
.scn-max-only-his-mouth-convict .bg-deep {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #161622 0%, #1f1f30 50%, #2a1a1a 100%);
  animation: mc-bg 12s ease-in-out infinite alternate;
}
.scn-max-only-his-mouth-convict .wall {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 60%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
  transform: scaleX(0.95) perspective(500px) rotateX(5deg);
}
.scn-max-only-his-mouth-convict .chains {
  position: absolute; top: 20%; left: 30%; right: 30%; height: 40%;
  background: repeating-linear-gradient(
    0deg, 
    #7a6a5a 0px, #7a6a5a 4px, 
    transparent 4px, transparent 8px
  );
  opacity: 0.6;
  animation: mc-chains 3s ease-in-out infinite alternate;
}
.scn-max-only-his-mouth-convict .figure {
  position: absolute; bottom: 18%; left: 50%; width: 80px; height: 120px;
  background: radial-gradient(ellipse at 50% 30%, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: mc-figure 4s ease-in-out infinite;
}
.scn-max-only-his-mouth-convict .mouth {
  position: absolute; bottom: 35%; left: 50%; width: 30px; height: 18px;
  background: radial-gradient(circle, #d08040 0%, #a06030 60%, #2a1a1a 100%);
  border-radius: 50% 50% 40% 40%;
  transform: translate(-50%, -30%);
  box-shadow: 0 0 25px 8px #d08040, 0 0 50px 15px rgba(200,100,40,0.4);
  animation: mc-mouth 2.5s ease-in-out infinite alternate;
}
.scn-max-only-his-mouth-convict .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, transparent 0%, #0a0a0a 100%);
  animation: mc-shadow 6s ease-in-out infinite alternate;
}
@keyframes mc-bg { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mc-chains { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(4px) rotate(2deg); } 100% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes mc-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-6px); } 100% { transform: translateX(-50%) translateY(2px); } }
@keyframes mc-mouth { 0% { transform: translate(-50%, -30%) scale(1) rotate(0deg); opacity: 0.7; } 50% { transform: translate(-50%, -30%) scale(1.15) rotate(3deg); opacity: 1; } 100% { transform: translate(-50%, -30%) scale(0.9) rotate(-3deg); opacity: 0.6; } }
@keyframes mc-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }

.scn-octavio-laments-blindness {
  background: 
    linear-gradient(180deg, #121224 0%, #1a1a30 50%, #252040 100%),
    radial-gradient(ellipse at 50% 60%, #1a1a30 0%, transparent 70%);
}
.scn-octavio-laments-blindness .bg-deep {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #0e0e1e 0%, #181828 50%, #201030 100%);
  animation: ob-bg 15s ease-in-out infinite alternate;
}
.scn-octavio-laments-blindness .bg-mid {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #2a2040 0%, #151025 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-octavio-laments-blindness .figure {
  position: absolute; bottom: 20%; left: 40%; width: 70px; height: 100px;
  background: radial-gradient(ellipse at 50% 40%, #1e1a2e 0%, #0a0815 100%);
  border-radius: 40% 40% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 30px rgba(0,0,0,0.6);
  animation: ob-figure 8s ease-in-out infinite;
}
.scn-octavio-laments-blindness .eyes {
  position: absolute; bottom: 45%; left: 38%; width: 40px; height: 12px;
  background: radial-gradient(circle, #4a6060 0%, #1a1a2e 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px rgba(70,100,100,0.3);
  animation: ob-eyes 6s ease-in-out infinite alternate;
}
.scn-octavio-laments-blindness .hand {
  position: absolute; bottom: 40%; left: 45%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #1e1a2e 0%, #0a0815 100%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(20deg);
  animation: ob-hand 4s ease-in-out infinite alternate;
}
.scn-octavio-laments-blindness .silhouette {
  position: absolute; bottom: 18%; right: 15%; width: 50px; height: 80px;
  background: #0a0815;
  border-radius: 30% 30% 10% 10%;
  opacity: 0.4;
  animation: ob-sil 10s ease-in-out infinite alternate;
}
.scn-octavio-laments-blindness .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #060610 100%);
  animation: ob-shadow 12s ease-in-out infinite alternate;
}
@keyframes ob-bg { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes ob-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-10px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes ob-eyes { 0% { transform: scale(1); opacity: 0.4; } 50% { transform: scale(1.2); opacity: 0.9; } 100% { transform: scale(0.9); opacity: 0.3; } }
@keyframes ob-hand { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-5px); } 100% { transform: rotate(15deg) translateY(2px); } }
@keyframes ob-sil { 0% { transform: translateX(0) scale(1); opacity: 0.2; } 50% { transform: translateX(-10px) scale(1.05); opacity: 0.5; } 100% { transform: translateX(0) scale(0.95); opacity: 0.3; } }
@keyframes ob-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }

.scn-octavio-son-annihilates {
  background: 
    linear-gradient(180deg, #1a1020 0%, #2a1a30 50%, #3a2030 100%),
    radial-gradient(ellipse at 50% 30%, #2a1a30 0%, transparent 70%);
}
.scn-octavio-son-annihilates .bg-deep {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #150e1e 0%, #1a1225 50%, #251530 100%);
  animation: os-bg 10s ease-in-out infinite alternate;
}
.scn-octavio-son-annihilates .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a30 0%, #100a15 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  border-radius: 0 0 5% 5%;
}
.scn-octavio-son-annihilates .figure-father {
  position: absolute; bottom: 25%; left: 35%; width: 65px; height: 110px;
  background: radial-gradient(ellipse at 50% 30%, #2a1a30 0%, #150a20 100%);
  border-radius: 40% 35% 20% 25%;
  transform: translateX(-50%) rotate(5deg);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: os-fater 6s ease-in-out infinite alternate;
}
.scn-octavio-son-annihilates .figure-son {
  position: absolute; bottom: 25%; left: 60%; width: 60px; height: 100px;
  background: radial-gradient(ellipse at 50% 40%, #3a2030 0%, #1a1020 100%);
  border-radius: 35% 40% 25% 20%;
  transform: translateX(-50%) rotate(-10deg);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: os-son 5s ease-in-out infinite;
}
.scn-octavio-son-annihilates .weapon {
  position: absolute; bottom: 35%; left: 48%; width: 8px; height: 40px;
  background: linear-gradient(180deg, #a08060 0%, #604040 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(30deg);
  box-shadow: 0 0 10px rgba(160,128,96,0.3);
  animation: os-weapon 3s ease-in-out infinite alternate;
}
.scn-octavio-son-annihilates .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, transparent 0%, #080410 100%);
  animation: os-shadow 8s ease-in-out infinite alternate;
}
@keyframes os-bg { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes os-fater { 0% { transform: translateX(-50%) rotate(5deg) translateY(0); } 50% { transform: translateX(-50%) rotate(8deg) translateY(-8px); } 100% { transform: translateX(-50%) rotate(2deg) translateY(0); } }
@keyframes os-son { 0% { transform: translateX(-50%) rotate(-10deg) translateY(0); } 50% { transform: translateX(-50%) rotate(-15deg) translateY(5px); } 100% { transform: translateX(-50%) rotate(-5deg) translateY(0); } }
@keyframes os-weapon { 0% { transform: rotate(30deg) translateY(0); } 50% { transform: rotate(25deg) translateY(-5px); } 100% { transform: rotate(35deg) translateY(0); } }
@keyframes os-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }

.scn-max-predicts-catastrophe {
  background: 
    linear-gradient(180deg, #1a1420 0%, #2a1a2e 50%, #3a2030 100%),
    radial-gradient(ellipse at 50% 70%, #2a1a2e 0%, transparent 60%);
}
.scn-max-predicts-catastrophe .bg-deep {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #14101a 0%, #1e1425 50%, #281530 100%);
  animation: mp-bg 14s ease-in-out infinite alternate;
}
.scn-max-predicts-catastrophe .wall {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 70%;
  background: linear-gradient(180deg, #3a2030 0%, #1a0e1a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.7);
  transform: perspective(600px) rotateX(3deg);
}
.scn-max-predicts-catastrophe .window {
  position: absolute; top: 25%; left: 50%; width: 50px; height: 60px;
  background: radial-gradient(circle, #806040 0%, #201520 100%);
  border: 8px solid #2a1a2e;
  border-radius: 10%;
  transform: translateX(-50%);
  box-shadow: inset 0 0 30px rgba(128,96,64,0.3);
  animation: mp-window 9s ease-in-out infinite alternate;
}
.scn-max-predicts-catastrophe .figure {
  position: absolute; bottom: 20%; left: 50%; width: 70px; height: 110px;
  background: radial-gradient(ellipse at 50% 30%, #2a1a30 0%, #0a0510 100%);
  border-radius: 35% 40% 25% 30%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: mp-figure 5s ease-in-out infinite;
}
.scn-max-predicts-catastrophe .chains {
  position: absolute; top: 20%; left: 35%; right: 35%; height: 10%;
  background: repeating-linear-gradient(
    90deg, 
    #7a6a5a 0px, #7a6a5a 4px, 
    transparent 4px, transparent 10px
  );
  opacity: 0.5;
  animation: mp-chains 4s ease-in-out infinite alternate;
}
.scn-max-predicts-catastrophe .glow {
  position: absolute; top: 30%; left: 48%; width: 30px; height: 30px;
  background: radial-gradient(circle, #d08040 0%, #a06030 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(200,100,40,0.5);
  animation: mp-glow 3s ease-in-out infinite alternate;
}
.scn-max-predicts-catastrophe .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #060410 100%);
  animation: mp-shadow 7s ease-in-out infinite alternate;
}
@keyframes mp-bg { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes mp-window { 0% { transform: translateX(-50%) scale(1); box-shadow: inset 0 0 20px rgba(128,96,64,0.2); } 50% { transform: translateX(-50%) scale(1.05); box-shadow: inset 0 0 40px rgba(128,96,64,0.4); } 100% { transform: translateX(-50%) scale(0.95); box-shadow: inset 0 0 30px rgba(128,96,64,0.3); } }
@keyframes mp-figure { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-12px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes mp-chains { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(-5px); } }
@keyframes mp-glow { 0% { transform: scale(1); opacity: 0.6; box-shadow: 0 0 30px 8px rgba(200,100,40,0.4); } 50% { transform: scale(1.3); opacity: 1; box-shadow: 0 0 60px 15px rgba(200,100,40,0.6); } 100% { transform: scale(0.9); opacity: 0.4; box-shadow: 0 0 20px 5px rgba(200,100,40,0.3); } }
@keyframes mp-shadow { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

/* Scene 1: max-pleads-not-lose-father */

.scn-max-pleads-not-lose-father {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 30%, #4a3a2a 60%, #3a2a1a 100%),
    radial-gradient(ellipse at 50% 80%, #8a5a2a 0%, transparent 60%);
}
.scn-max-pleads-not-lose-father .bg-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
  animation: mp1-wall 20s ease-in-out infinite alternate;
}
.scn-max-pleads-not-lose-father .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  animation: mp1-floor 15s ease-in-out infinite alternate;
}
.scn-max-pleads-not-lose-father .figure-left {
  position: absolute;
  bottom: 20%;
  left: 18%;
  width: 36px;
  height: 70px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mp1-left 6s ease-in-out infinite;
}
.scn-max-pleads-not-lose-father .figure-right {
  position: absolute;
  bottom: 18%;
  right: 22%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mp1-right 8s ease-in-out infinite;
}
.scn-max-pleads-not-lose-father .candle-glow {
  position: absolute;
  bottom: 32%;
  right: 38%;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle at 50% 50%, rgba(255,180,80,0.6) 0%, transparent 70%);
  filter: blur(12px);
  animation: mp1-glow 3s ease-in-out infinite alternate;
}
.scn-max-pleads-not-lose-father .candle {
  position: absolute;
  bottom: 34%;
  right: 42%;
  width: 6px;
  height: 18px;
  background: linear-gradient(180deg, #f0a040 0%, #c07020 100%);
  border-radius: 20% 20% 10% 10%;
  animation: mp1-candle 2s ease-in-out infinite alternate;
}
@keyframes mp1-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mp1-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes mp1-left { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mp1-right { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 33% { transform: translateX(-3px) translateY(-2px) rotate(-2deg); } 66% { transform: translateX(0) translateY(-1px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes mp1-glow { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 0.8; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(1); } }
@keyframes mp1-candle { 0% { transform: scaleY(1) rotate(-2deg); } 50% { transform: scaleY(1.05) rotate(2deg); } 100% { transform: scaleY(1) rotate(-2deg); } }

/* Scene 2: octavio-reveals-imperial-patent */

.scn-octavio-reveals-imperial-patent {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a2020 40%, #3a2a2a 100%),
    radial-gradient(ellipse at 60% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-octavio-reveals-imperial-patent .bg-deep {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #1a1010 0%, #0a0808 100%);
  animation: or2-bg 25s ease-in-out infinite alternate;
}
.scn-octavio-reveals-imperial-patent .table {
  position: absolute;
  bottom: 15%;
  left: 10%;
  right: 10%;
  height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.5);
  animation: or2-table 10s ease-in-out infinite alternate;
}
.scn-octavio-reveals-imperial-patent .scroll {
  position: absolute;
  bottom: 25%;
  left: 50%;
  width: 80px;
  height: 14px;
  background: linear-gradient(180deg, #d0c8a0 0%, #a09070 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: or2-scroll 4s ease-in-out infinite;
}
.scn-octavio-reveals-imperial-patent .hand-octavio {
  position: absolute;
  bottom: 22%;
  left: 42%;
  width: 20px;
  height: 30px;
  background: linear-gradient(180deg, #b09070 0%, #806050 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom left;
  animation: or2-hand-left 6s ease-in-out infinite;
}
.scn-octavio-reveals-imperial-patent .hand-max {
  position: absolute;
  bottom: 22%;
  right: 38%;
  width: 18px;
  height: 28px;
  background: linear-gradient(180deg, #c0a080 0%, #907060 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom right;
  animation: or2-hand-right 7s ease-in-out infinite;
}
.scn-octavio-reveals-imperial-patent .candle {
  position: absolute;
  bottom: 30%;
  right: 22%;
  width: 6px;
  height: 16px;
  background: linear-gradient(180deg, #e0a040 0%, #c08020 100%);
  border-radius: 10% 10% 5% 5%;
  animation: or2-candle 3s ease-in-out infinite alternate;
}
.scn-octavio-reveals-imperial-patent .shadow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 40% 60%, transparent 30%, rgba(0,0,0,0.6) 80%);
  animation: or2-shadow 12s ease-in-out infinite alternate;
}
@keyframes or2-bg { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes or2-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes or2-scroll { 0% { transform: translateX(-50%) rotate(0deg); } 33% { transform: translateX(-50%) rotate(3deg); } 66% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes or2-hand-left { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(12deg) translateX(2px); } 50% { transform: rotate(0deg) translateX(0); } 75% { transform: rotate(-6deg) translateX(-1px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes or2-hand-right { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(-10deg) translateX(-2px); } 50% { transform: rotate(0deg) translateX(0); } 75% { transform: rotate(5deg) translateX(1px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes or2-candle { 0% { transform: scaleY(1) rotate(-3deg); } 50% { transform: scaleY(1.08) rotate(3deg); } 100% { transform: scaleY(1) rotate(-3deg); } }
@keyframes or2-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.55; } }

/* Scene 3: octavio-stole-on-evil-way */

.scn-octavio-stole-on-evil-way {
  background:
    linear-gradient(180deg, #0a0a0a 0%, #1a1010 40%, #0a0808 100%),
    radial-gradient(ellipse at 30% 70%, #1a1a2a 0%, transparent 60%);
}
.scn-octavio-stole-on-evil-way .bg-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #050505 0%, #101010 100%);
  animation: os3-bg 30s ease-in-out infinite alternate;
}
.scn-octavio-stole-on-evil-way .door-frame {
  position: absolute;
  left: 20%;
  right: 60%;
  top: 10%;
  bottom: 20%;
  border: 4px solid #0a0a0a;
  background: #1a1a1a;
  border-radius: 2% 2% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.9);
  animation: os3-door 20s ease-in-out infinite alternate;
}
.scn-octavio-stole-on-evil-way .light-beam {
  position: absolute;
  left: 22%;
  top: 12%;
  width: 60px;
  height: 200px;
  background: linear-gradient(135deg, rgba(200,160,120,0.15) 0%, transparent 100%);
  filter: blur(10px);
  transform: skewX(-10deg);
  animation: os3-beam 8s ease-in-out infinite alternate;
}
.scn-octavio-stole-on-evil-way .figure-octavio {
  position: absolute;
  bottom: 22%;
  left: 35%;
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: os3-figure 10s ease-in-out infinite;
}
.scn-octavio-stole-on-evil-way .shadow-stretch {
  position: absolute;
  bottom: 10%;
  left: 38%;
  width: 80px;
  height: 10px;
  background: rgba(0,0,0,0.6);
  filter: blur(4px);
  border-radius: 50%;
  animation: os3-shadow 12s ease-in-out infinite alternate;
}
@keyframes os3-bg { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.65; } }
@keyframes os3-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02) translateX(-3px); } 100% { transform: scaleX(1); } }
@keyframes os3-beam { 0% { opacity: 0.2; transform: skewX(-10deg) translateX(0); } 50% { opacity: 0.4; transform: skewX(-10deg) translateX(8px); } 100% { opacity: 0.25; transform: skewX(-10deg) translateX(0); } }
@keyframes os3-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes os3-shadow { 0% { transform: scaleX(1) translateX(0); opacity: 0.5; } 50% { transform: scaleX(1.3) translateX(8px); opacity: 0.7; } 100% { transform: scaleX(1) translateX(0); opacity: 0.5; } }

/* Scene 4: octavio-gives-patent */

.scn-octavio-gives-patent {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 50%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-octavio-gives-patent .bg-interior {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1a1210 0%, #2a1a10 100%);
  animation: og4-bg 22s ease-in-out infinite alternate;
}
.scn-octavio-gives-patent .figure-left {
  position: absolute;
  bottom: 20%;
  left: 15%;
  width: 32px;
  height: 66px;
  background: linear-gradient(180deg, #1a1614 0%, #0a0a08 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: og4-left 7s ease-in-out infinite;
}
.scn-octavio-gives-patent .figure-right {
  position: absolute;
  bottom: 18%;
  right: 18%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #1a1614 0%, #0a0a08 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: og4-right 8s ease-in-out infinite;
}
.scn-octavio-gives-patent .scroll {
  position: absolute;
  bottom: 28%;
  left: 50%;
  width: 70px;
  height: 12px;
  background: linear-gradient(180deg, #d0c8a0 0%, #a09070 100%);
  border-radius: 10% 10% 5% 5%;
  transform: translateX(-50%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: og4-scroll 5s ease-in-out infinite alternate;
}
.scn-octavio-gives-patent .candle {
  position: absolute;
  bottom: 32%;
  left: 40%;
  width: 6px;
  height: 16px;
  background: linear-gradient(180deg, #e0a040 0%, #c08020 100%);
  border-radius: 10% 10% 5% 5%;
  animation: og4-candle 3s ease-in-out infinite alternate;
}
.scn-octavio-gives-patent .hand-giver {
  position: absolute;
  bottom: 24%;
  left: 38%;
  width: 18px;
  height: 26px;
  background: linear-gradient(180deg, #b09070 0%, #806050 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom right;
  animation: og4-hand-left 6s ease-in-out infinite;
}
.scn-octavio-gives-patent .hand-receiver {
  position: absolute;
  bottom: 24%;
  right: 36%;
  width: 16px;
  height: 24px;
  background: linear-gradient(180deg, #c0a080 0%, #907060 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom left;
  animation: og4-hand-right 7s ease-in-out infinite;
}
@keyframes og4-bg { 0% { opacity: 0.75; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes og4-left { 0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-2px) rotate(-1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(3deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes og4-right { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-3deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes og4-scroll { 0% { transform: translateX(-50%) rotate(-5deg); } 50% { transform: translateX(-50%) rotate(5deg); } 100% { transform: translateX(-50%) rotate(-5deg); } }
@keyframes og4-candle { 0% { transform: scaleY(1) rotate(2deg); } 50% { transform: scaleY(1.06) rotate(-2deg); } 100% { transform: scaleY(1) rotate(2deg); } }
@keyframes og4-hand-left { 0% { transform: rotate(10deg) translateX(0); } 25% { transform: rotate(5deg) translateX(3px); } 50% { transform: rotate(10deg) translateX(0); } 75% { transform: rotate(15deg) translateX(-2px); } 100% { transform: rotate(10deg) translateX(0); } }
@keyframes og4-hand-right { 0% { transform: rotate(-8deg) translateX(0); } 25% { transform: rotate(-3deg) translateX(-3px); } 50% { transform: rotate(-8deg) translateX(0); } 75% { transform: rotate(-12deg) translateX(2px); } 100% { transform: rotate(-8deg) translateX(0); } }

.scn-duchess-expected {
  background: linear-gradient(180deg, #2c2b3a 0%, #1e1d2a 60%, #14131d 100%),
              radial-gradient(ellipse at 50% 80%, #3a3a50 0%, transparent 70%);
}
.scn-duchess-expected .wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a2938 0%, #1c1b26 100%); animation: dce-wall 30s ease-in-out infinite alternate; }
.scn-duchess-expected .window { position:absolute; bottom:45%; left:30%; width:100px; height:120px; background: linear-gradient(135deg, #6a7a8a 0%, #3a4a5a 100%); border: 4px solid #2a2a3a; border-radius: 4px; animation: dce-window 8s ease-in-out infinite; }
.scn-duchess-expected .curtain-l { position:absolute; bottom:45%; left:30%; width:100px; height:120px; background: linear-gradient(90deg, #4a3a3a 0%, #3a2a2a 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); animation: dce-curtain 12s ease-in-out infinite alternate; }
.scn-duchess-expected .curtain-r { position:absolute; bottom:45%; left:30%; width:100px; height:120px; background: linear-gradient(90deg, #3a2a2a 0%, #4a3a3a 100%); clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); animation: dce-curtain 12s ease-in-out infinite alternate-reverse; }
.scn-duchess-expected .chair { position:absolute; bottom:20%; left:48%; width:50px; height:60px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%); animation: dce-chair 20s ease-in-out infinite; }
.scn-duchess-expected .figure-waiting { position:absolute; bottom:18%; left:55%; width:30px; height:70px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: dce-figure 6s ease-in-out infinite alternate; }
.scn-duchess-expected .candle { position:absolute; bottom:28%; left:36%; width:6px; height:14px; background: linear-gradient(180deg, #e0c080 0%, #b08040 100%); border-radius: 2px; animation: dce-candle-tip 0.6s ease-in-out infinite alternate; }
.scn-duchess-expected .glow { position:absolute; bottom:28%; left:36%; width:40px; height:40px; background: radial-gradient(circle, rgba(224,192,128,0.6) 0%, transparent 70%); transform: translate(-50%, -50%); animation: dce-glow 3s ease-in-out infinite alternate; }

@keyframes dce-wall { 0% { opacity:0.8 } 100% { opacity:0.95 } }
@keyframes dce-window { 0% { opacity:0.7; background: linear-gradient(135deg, #6a7a8a 0%, #3a4a5a 100%); } 50% { opacity:1; background: linear-gradient(135deg, #8a9aaa 0%, #5a6a7a 100%); } 100% { opacity:0.8; background: linear-gradient(135deg, #6a7a8a 0%, #3a4a5a 100%); } }
@keyframes dce-curtain { 0% { transform: translateX(0); } 100% { transform: translateX(8px); } }
@keyframes dce-chair { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes dce-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 100% { transform: translateX(2px) translateY(-1px) rotate(1deg); } }
@keyframes dce-candle-tip { 0% { height:12px; } 100% { height:16px; } }
@keyframes dce-glow { 0% { opacity:0.5; transform: translate(-50%, -50%) scale(0.8); } 100% { opacity:0.9; transform: translate(-50%, -50%) scale(1.2); } }

.scn-butler-promotion-joy {
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 60%, #1a0e08 100%),
              radial-gradient(ellipse at 50% 60%, #6a4a2a 0%, transparent 70%);
}
.scn-butler-promotion-joy .wall { position:absolute; inset:0; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); animation: bpj-wall 25s ease-in-out infinite alternate; }
.scn-butler-promotion-joy .table { position:absolute; bottom:18%; left:30%; right:30%; height:20px; background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%); border-radius: 4px; }
.scn-butler-promotion-joy .bottle { position:absolute; bottom:27%; left:42%; width:12px; height:30px; background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%); border-radius: 30% 30% 10% 10%; transform: rotate(8deg); animation: bpj-bottle 8s ease-in-out infinite; }
.scn-butler-promotion-joy .glass { position:absolute; bottom:25%; left:50%; width:14px; height:20px; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border-radius: 0 0 30% 30%; clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%); animation: bpj-glass 5s ease-in-out infinite; }
.scn-butler-promotion-joy .butler { position:absolute; bottom:12%; left:48%; width:28px; height:65px; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: bpj-butler 3s ease-in-out infinite alternate; }
.scn-butler-promotion-joy .fire { position:absolute; bottom:10%; left:20%; width:40px; height:50px; background: radial-gradient(ellipse at 50% 100%, #ff8020 0%, #ff4000 40%, transparent 80%); animation: bpj-fire 0.4s ease-in-out infinite alternate; }
.scn-butler-promotion-joy .glow { position:absolute; bottom:10%; left:20%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,128,32,0.3) 0%, transparent 70%); animation: bpj-glow 4s ease-in-out infinite alternate; }

@keyframes bpj-wall { 0% { opacity:0.85 } 100% { opacity:1 } }
@keyframes bpj-bottle { 0% { transform: rotate(5deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(5deg); } }
@keyframes bpj-glass { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bpj-butler { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 50% { transform: translateX(3px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes bpj-fire { 0% { transform: scaleY(0.8); opacity:0.8; } 100% { transform: scaleY(1.2); opacity:1; } }
@keyframes bpj-glow { 0% { opacity:0.4; transform: scale(0.9); } 100% { opacity:0.7; transform: scale(1.1); } }

.scn-isolani-debt-satisfied {
  background: linear-gradient(180deg, #3a3028 0%, #2a2018 60%, #1a140e 100%),
              radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-isolani-debt-satisfied .wall { position:absolute; inset:0; background: linear-gradient(180deg, #3a3028 0%, #2a2018 100%); animation: ids-wall 20s ease-in-out infinite alternate; }
.scn-isolani-debt-satisfied .floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); }
.scn-isolani-debt-satisfied .chair-tipped { position:absolute; bottom:8%; left:40%; width:40px; height:50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 40% 40%; transform: rotate(-20deg); animation: ids-chair 4s ease-in-out infinite; }
.scn-isolani-debt-satisfied .coin { position:absolute; bottom:14%; left:55%; width:20px; height:20px; background: radial-gradient(circle, #e0c080 0%, #b09050 100%); border-radius: 50%; animation: ids-coin 2s ease-in-out infinite; }
.scn-isolani-debt-satisfied .lantern-wild { position:absolute; top:10%; left:60%; width:20px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 30% 30% 10% 10%; animation: ids-lantern 0.8s ease-in-out infinite alternate; }
.scn-isolani-debt-satisfied .figure-dance { position:absolute; bottom:10%; left:45%; width:35px; height:70px; background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ids-figure 1.5s ease-in-out infinite; }
.scn-isolani-debt-satisfied .shadow { position:absolute; bottom:0; left:40%; width:80px; height:30px; background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%); animation: ids-shadow 3s ease-in-out infinite alternate; }

@keyframes ids-wall { 0% { opacity:0.9 } 100% { opacity:1 } }
@keyframes ids-chair { 0% { transform: rotate(-18deg) translateX(0); } 50% { transform: rotate(-22deg) translateX(5px); } 100% { transform: rotate(-18deg) translateX(0); } }
@keyframes ids-coin { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-15px) rotate(90deg); } 50% { transform: translateY(0) rotate(180deg); } 75% { transform: translateY(-8px) rotate(270deg); } 100% { transform: translateY(0) rotate(360deg); } }
@keyframes ids-lantern { 0% { transform: rotate(-15deg); } 100% { transform: rotate(25deg); } }
@keyframes ids-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(8deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-10px) rotate(-8deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ids-shadow { 0% { transform: scaleX(0.8); opacity:0.3; } 100% { transform: scaleX(1.2); opacity:0.5; } }

.scn-questenberg-rumor {
  background: linear-gradient(180deg, #1a1a2a 0%, #10101e 50%, #080812 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a40 0%, transparent 70%);
}
.scn-questenberg-rumor .wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #10101e 100%); animation: qbr-wall 15s ease-in-out infinite alternate; }
.scn-questenberg-rumor .shadow-left { position:absolute; bottom:0; left:0; width:40%; height:60%; background: radial-gradient(ellipse at 30% 100%, rgba(0,0,0,0.5) 0%, transparent 70%); animation: qbr-shadow-l 5s ease-in-out infinite alternate; }
.scn-questenberg-rumor .shadow-right { position:absolute; bottom:0; right:0; width:40%; height:60%; background: radial-gradient(ellipse at 70% 100%, rgba(0,0,0,0.5) 0%, transparent 70%); animation: qbr-shadow-r 5s ease-in-out infinite alternate-reverse; }
.scn-questenberg-rumor .figure-left { position:absolute; bottom:18%; left:15%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: qbr-figure-l 6s ease-in-out infinite; }
.scn-questenberg-rumor .figure-right { position:absolute; bottom:18%; right:15%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: qbr-figure-r 6s ease-in-out infinite; }
.scn-questenberg-rumor .candle { position:absolute; bottom:32%; left:48%; width:6px; height:14px; background: linear-gradient(180deg, #c0a060 0%, #a08040 100%); border-radius: 2px; animation: qbr-candle 0.5s ease-in-out infinite alternate; }
.scn-questenberg-rumor .map { position:absolute; bottom:22%; left:35%; width:60px; height:40px; background: linear-gradient(135deg, #4a4a5a 0%, #2a2a3a 100%); border: 1px solid #3a3a4a; border-radius: 2px; animation: qbr-map 20s ease-in-out infinite; }
.scn-questenberg-rumor .whisper-lines { position:absolute; bottom:42%; left:42%; width:50px; height:20px; background: radial-gradient(ellipse, rgba(200,200,220,0.1) 0%, transparent 70%); animation: qbr-whisper 2s ease-in-out infinite alternate; }

@keyframes qbr-wall { 0% { opacity:0.8 } 100% { opacity:0.95 } }
@keyframes qbr-shadow-l { 0% { opacity:0.4; transform: scaleX(1); } 100% { opacity:0.7; transform: scaleX(1.1); } }
@keyframes qbr-shadow-r { 0% { opacity:0.4; transform: scaleX(1); } 100% { opacity:0.7; transform: scaleX(1.1); } }
@keyframes qbr-figure-l { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes qbr-figure-r { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes qbr-candle { 0% { height:12px; opacity:0.7; } 100% { height:16px; opacity:1; } }
@keyframes qbr-map { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes qbr-whisper { 0% { opacity:0.1; transform: scaleY(0.8); } 100% { opacity:0.3; transform: scaleY(1.2); } }

.scn-max-revelation-journey {
  background: linear-gradient(135deg, #f5e6c8 0%, #d4a76a 40%, #b8844a 100%), radial-gradient(ellipse at 30% 40%, #f5d6a8 0%, transparent 60%);
}
.scn-max-revelation-journey .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #e8d4b0 0%, #c9a675 100%); opacity:0.8; }
.scn-max-revelation-journey .window-frame { position:absolute; top:12%; left:38%; width:120px; height:160px; background: #6b4f2e; border-radius:8px 8px 4px 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.4); border:4px solid #5a3f22; }
.scn-max-revelation-journey .light-beam { position:absolute; top:12%; left:38%; width:120px; height:160px; background: linear-gradient(135deg, rgba(255,235,180,0.5) 0%, rgba(255,220,150,0.2) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); filter: blur(2px); animation: mrj-beam 8s ease-in-out infinite alternate; }
.scn-max-revelation-journey .desk { position:absolute; bottom:28%; left:30%; width:160px; height:40px; background: linear-gradient(180deg, #8b6b4a 0%, #6a4f32 100%); border-radius:6px 6px 2px 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); transform: perspective(400px) rotateX(5deg); }
.scn-max-revelation-journey .figure { position:absolute; bottom:32%; left:46%; width:30px; height:70px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mrj-figure 6s ease-in-out infinite; }
.scn-max-revelation-journey .chair { position:absolute; bottom:28%; left:44%; width:40px; height:60px; background: #5a4028; border-radius:10% 10% 20% 20% / 30% 30% 40% 40%; transform: perspective(400px) rotateX(10deg); }
.scn-max-revelation-journey .candle { position:absolute; bottom:38%; left:34%; width:10px; height:30px; background: linear-gradient(180deg, #e0c080 0%, #b09060 100%); border-radius:4px; }
.scn-max-revelation-journey .flame-glow { position:absolute; bottom:50%; left:34%; width:20px; height:30px; background: radial-gradient(ellipse 50% 60%, #ffd060 0%, #ffa030 40%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px #ffb040; animation: mrj-flame 3s ease-in-out infinite alternate; }
@keyframes mrj-beam { 0% { opacity:0.6; filter: blur(3px); } 50% { opacity:1; filter: blur(1px); } 100% { opacity:0.7; filter: blur(2px); } }
@keyframes mrj-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(3px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(6px) translateY(0) rotate(-1deg); } 75% { transform: translateX(3px) translateY(-1px) rotate(0deg); } }
@keyframes mrj-flame { 0% { transform: scaleY(0.8) scaleX(0.9); opacity:0.7; } 50% { transform: scaleY(1.2) scaleX(1); opacity:1; } 100% { transform: scaleY(0.9) scaleX(0.95); opacity:0.8; } }

.scn-max-accuses-vienna {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 60%, #2a2a3e 0%, transparent 70%);
}
.scn-max-accuses-vienna .bg-dark { position:absolute; inset:0; background: linear-gradient(160deg, #121220 0%, #1e1e30 100%); }
.scn-max-accuses-vienna .table { position:absolute; bottom:20%; left:15%; right:15%; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:10% 10% 30% 30% / 40% 40% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.7); transform: perspective(600px) rotateX(8deg); }
.scn-max-accuses-vienna .figure-left { position:absolute; bottom:22%; left:18%; width:28px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: mav-figure-l 7s ease-in-out infinite; }
.scn-max-accuses-vienna .figure-right { position:absolute; bottom:22%; right:18%; width:30px; height:85px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0e0e 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: mav-figure-r 9s ease-in-out infinite; }
.scn-max-accuses-vienna .document { position:absolute; bottom:28%; left:40%; width:50px; height:35px; background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%); border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); transform: rotate(-3deg); animation: mav-doc 12s ease-in-out infinite; }
.scn-max-accuses-vienna .candle-faint { position:absolute; bottom:35%; left:48%; width:6px; height:20px; background: #b09060; border-radius:3px; opacity:0.4; box-shadow: 0 0 12px 4px rgba(200,160,80,0.3); }
@keyframes mav-figure-l { 0%,100% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(-2px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(2px) rotate(1deg); } }
@keyframes mav-figure-r { 0%,100% { transform: translateX(0) rotate(2deg); } 25% { transform: translateX(2px) rotate(-1deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-2px) rotate(-2deg); } }
@keyframes mav-doc { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } }

.scn-questenberg-alarm {
  background: linear-gradient(180deg, #0a0a14 0%, #1a1a2a 30%, #151520 100%), radial-gradient(ellipse at 70% 20%, #2a2a3e 0%, transparent 60%);
}
.scn-questenberg-alarm .bg-corridor { position:absolute; inset:0; background: linear-gradient(90deg, #0e0e18 0%, #1a1a28 40%, #0e0e18 100%); }
.scn-questenberg-alarm .door-arch { position:absolute; top:10%; left:35%; width:120px; height:160px; background: #2a1e1a; border-radius:50% 50% 10% 10% / 60% 60% 10% 10%; box-shadow: inset 0 0 30px rgba(0,0,0,0.8); border: 4px solid #1a1210; }
.scn-questenberg-alarm .figure1 { position:absolute; bottom:25%; left:30%; width:30px; height:85px; background: linear-gradient(180deg, #3a2a2a 0%, #1a0e0e 100%); border-radius:20% 20% 10% 10% / 50% 50% 30% 30%; transform-origin: bottom center; animation: qa-fig1 4s ease-in-out infinite; }
.scn-questenberg-alarm .figure2 { position:absolute; bottom:25%; right:30%; width:28px; height:80px; background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%); border-radius:20% 20% 10% 10% / 50% 50% 30% 30%; transform-origin: bottom center; animation: qa-fig2 3.5s ease-in-out infinite; }
.scn-questenberg-alarm .floor-shadow { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); }
.scn-questenberg-alarm .wall-torch { position:absolute; top:40%; left:15%; width:8px; height:30px; background: #8a6a3a; border-radius:4px; box-shadow: 0 0 20px 6px #b08040; animation: qa-torch 5s ease-in-out infinite; }
@keyframes qa-fig1 { 0%,100% { transform: translateX(0) rotate(0deg) scaleY(1); } 20% { transform: translateX(4px) rotate(3deg) scaleY(1.02); } 40% { transform: translateX(-2px) rotate(-2deg) scaleY(0.98); } 60% { transform: translateX(6px) rotate(1deg) scaleY(1); } 80% { transform: translateX(-4px) rotate(-1deg) scaleY(0.99); } }
@keyframes qa-fig2 { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 75% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes qa-torch { 0% { opacity:0.6; box-shadow: 0 0 10px 3px #b08040; } 50% { opacity:1; box-shadow: 0 0 30px 10px #d09050; } 100% { opacity:0.7; box-shadow: 0 0 15px 5px #b08040; } }

.scn-seni-astrology-chairs {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1e1e30 100%), radial-gradient(ellipse at 50% 30%, #2a2a4e 0%, transparent 70%);
}
.scn-seni-astrology-chairs .bg-chamber { position:absolute; inset:0; background: linear-gradient(160deg, #12121e 0%, #1e1e2a 100%); }
.scn-seni-astrology-chairs .circular-table { position:absolute; bottom:25%; left:30%; right:30%; height:30px; background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1a0a 100%); border-radius:50%; box-shadow: 0 4px 20px rgba(0,0,0,0.6); }
.scn-seni-astrology-chairs .chair-a { position:absolute; bottom:28%; left:25%; width:30px; height:40px; background: #3a2a1a; border-radius:20% 20% 30% 30% / 40% 40% 20% 20%; transform: rotate(-10deg); animation: sac-chair 10s ease-in-out infinite; }
.scn-seni-astrology-chairs .chair-b { position:absolute; bottom:28%; right:25%; width:30px; height:40px; background: #3a2a1a; border-radius:20% 20% 30% 30% / 40% 40% 20% 20%; transform: rotate(10deg); animation: sac-chair 10s ease-in-out infinite reverse; }
.scn-seni-astrology-chairs .chair-c { position:absolute; bottom:40%; left:45%; width:25px; height:35px; background: #2a1a10; border-radius:20% 20% 30% 30% / 40% 40% 20% 20%; transform: rotate(15deg); animation: sac-chair 12s ease-in-out infinite; }
.scn-seni-astrology-chairs .seni-figure { position:absolute; bottom:30%; left:48%; width:28px; height:75px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: sac-seni 8s ease-in-out infinite; }
.scn-seni-astrology-chairs .staff { position:absolute; bottom:35%; left:52%; width:4px; height:50px; background: #4a3a2a; border-radius:2px; transform: rotate(-20deg); transform-origin: bottom; animation: sac-staff 6s ease-in-out infinite; }
.scn-seni-astrology-chairs .star-orb { position:absolute; bottom:48%; left:46%; width:24px; height:24px; background: radial-gradient(circle, #d0c080 0%, #b0a060 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(180,160,80,0.4); animation: sac-orb 5s ease-in-out infinite alternate; }
@keyframes sac-chair { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes sac-seni { 0%,100% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-4px) rotate(1deg); } }
@keyframes sac-staff { 0% { transform: rotate(-20deg) scaleY(1); } 50% { transform: rotate(-25deg) scaleY(1.05); } 100% { transform: rotate(-20deg) scaleY(1); } }
@keyframes sac-orb { 0% { transform: scale(0.8) rotate(0deg); opacity:0.6; } 100% { transform: scale(1.2) rotate(180deg); opacity:1; } }

.scn-max-rich-glorious-heart {
  background:
    radial-gradient(ellipse at 50% 60%, #6a3a1a 0%, transparent 50%),
    linear-gradient(180deg, #2a1a0a 0%, #4a2a12 40%, #3a1a08 100%);
}

.scn-max-rich-glorious-heart .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a2a12 0%, #2a1a0a 60%);
  animation: mrg-bg 8s ease-in-out infinite alternate;
}

.scn-max-rich-glorious-heart .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a1a08 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0;
}

.scn-max-rich-glorious-heart .table {
  position: absolute; bottom: 20%; left: 50%;
  width: 60px; height: 12px; transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3018 0%, #3a1a08 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: mrg-table 6s ease-in-out infinite;
}

.scn-max-rich-glorious-heart .candle {
  position: absolute; bottom: 36%; left: 50%;
  width: 6px; height: 20px; transform: translateX(-50%);
  background: linear-gradient(180deg, #e8c080 0%, #b06020 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 0 16px 6px rgba(200,130,50,0.6);
  animation: mrg-candle 3s ease-in-out infinite alternate;
}

.scn-max-rich-glorious-heart .figure-max {
  position: absolute; bottom: 18%; left: 40%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: mrg-figure 5s ease-in-out infinite;
}

.scn-max-rich-glorious-heart .heart {
  position: absolute; bottom: 30%; left: 52%;
  width: 14px; height: 14px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 70%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 5px #a0461a, 0 0 40px 10px rgba(160,70,26,0.4);
  animation: mrg-heart 2s ease-in-out infinite alternate;
}

.scn-max-rich-glorious-heart .shadow {
  position: absolute; bottom: 15%; left: 35%; width: 80px; height: 6px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: mrg-shadow 6s ease-in-out infinite;
}

@keyframes mrg-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes mrg-table { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes mrg-candle { 0% { transform: translateX(-50%) scaleY(1); opacity:0.9 } 50% { transform: translateX(-50%) scaleY(1.05); opacity:1 } 100% { transform: translateX(-50%) scaleY(0.95); opacity:0.8 } }
@keyframes mrg-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mrg-heart { 0% { transform: scale(1) } 50% { transform: scale(1.15) } 100% { transform: scale(0.9) } }
@keyframes mrg-shadow { 0%,100% { opacity:0.3 } 50% { opacity:0.5 } }

/* ------------------------------------------------------------ */

.scn-wallenstein-ascend-together {
  background:
    radial-gradient(ellipse at 50% 20%, #4a2a12 0%, transparent 60%),
    linear-gradient(180deg, #1a0a00 0%, #3a1a08 50%, #2a1a0a 100%);
}

.scn-wallenstein-ascend-together .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  animation: wa-bg 10s ease-in-out infinite alternate;
}

.scn-wallenstein-ascend-together .stairs {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 60%;
  background: repeating-linear-gradient(0deg, #3a1a08 0px, #3a1a08 12px, #2a0a00 12px, #2a0a00 14px);
  transform: perspective(400px) rotateX(5deg);
  transform-origin: bottom center;
  animation: wa-stairs 12s ease-in-out infinite;
}

.scn-wallenstein-ascend-together .figure-lead {
  position: absolute; bottom: 22%; left: 30%;
  width: 22px; height: 55px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: wa-figure-lead 6s ease-in-out infinite;
}

.scn-wallenstein-ascend-together .figure-follow {
  position: absolute; bottom: 10%; left: 42%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: wa-figure-follow 6s ease-in-out infinite 1s;
}

.scn-wallenstein-ascend-together .lamp {
  position: absolute; top: 8%; left: 50%;
  width: 14px; height: 20px;
  background: radial-gradient(circle, #f0c080 0%, #b06020 60%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 8px rgba(200,130,50,0.7);
  animation: wa-lamp 4s ease-in-out infinite alternate;
}

.scn-wallenstein-ascend-together .railing {
  position: absolute; bottom: 30%; left: 18%; right: 18%; height: 4px;
  background: #4a2a12;
  box-shadow: 0 8px 0 #4a2a12, 0 16px 0 #4a2a12, 0 24px 0 #4a2a12;
  animation: wa-rail 8s linear infinite;
}

@keyframes wa-bg { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes wa-stairs { 0% { transform: perspective(400px) rotateX(5deg) translateY(0) } 50% { transform: perspective(400px) rotateX(7deg) translateY(-2px) } 100% { transform: perspective(400px) rotateX(5deg) translateY(0) } }
@keyframes wa-figure-lead { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(4px) rotate(3deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-4px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wa-figure-follow { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes wa-lamp { 0% { opacity:0.8; box-shadow: 0 0 20px 5px rgba(200,130,50,0.5) } 50% { opacity:1; box-shadow: 0 0 40px 12px rgba(200,130,50,0.8) } 100% { opacity:0.9; box-shadow: 0 0 25px 6px rgba(200,130,50,0.6) } }
@keyframes wa-rail { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.6 } }

/* ------------------------------------------------------------ */

.scn-wallenstein-in-eternal-realm {
  background:
    radial-gradient(circle at 30% 70%, #3a1a08 0%, transparent 50%),
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 40%, #2a1a0a 100%);
}

.scn-wallenstein-in-eternal-realm .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: we-bg 12s ease-in-out infinite alternate;
}

.scn-wallenstein-in-eternal-realm .window {
  position: absolute; top: 10%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: #0a0a1a;
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: inset 0 0 20px rgba(200,130,50,0.3);
  overflow: hidden;
}

.scn-wallenstein-in-eternal-realm .sky {
  position: absolute; top: 10%; left: 50%; width: 80px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 30%, #a08020 5%, #1a1a2a 50%);
  border-radius: 30% 30% 0 0;
  animation: we-sky 15s ease-in-out infinite alternate;
}

.scn-wallenstein-in-eternal-realm .figure {
  position: absolute; bottom: 18%; left: 50%;
  width: 18px; height: 48px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: we-figure 7s ease-in-out infinite;
}

.scn-wallenstein-in-eternal-realm .desk {
  position: absolute; bottom: 12%; left: 50%;
  width: 40px; height: 6px; transform: translateX(-50%);
  background: linear-gradient(180deg, #4a2a12 0%, #2a0a00 100%);
  border-radius: 2px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: we-desk 5s ease-in-out infinite;
}

.scn-wallenstein-in-eternal-realm .candle {
  position: absolute; bottom: 22%; left: 54%;
  width: 5px; height: 18px;
  background: linear-gradient(180deg, #f0c080 0%, #b06020 100%);
  border-radius: 2px;
  box-shadow: 0 0 14px 4px rgba(200,130,50,0.5);
  animation: we-candle 3s ease-in-out infinite alternate;
}

@keyframes we-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes we-sky { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(0.95) } }
@keyframes we-figure { 0% { transform: translateX(-50%) rotate(0) } 25% { transform: translateX(-45%) rotate(3deg) } 50% { transform: translateX(-50%) rotate(0) } 75% { transform: translateX(-55%) rotate(-3deg) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes we-desk { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes we-candle { 0% { transform: scaleY(1); opacity:0.9 } 50% { transform: scaleY(1.08); opacity:1 } 100% { transform: scaleY(0.92); opacity:0.8 } }

/* ------------------------------------------------------------ */

.scn-max-forgives-much {
  background:
    radial-gradient(ellipse at 50% 50%, #3a1a08 0%, transparent 60%),
    linear-gradient(180deg, #2a1a0a 0%, #4a2a12 40%, #2a1a0a 100%);
}

.scn-max-forgives-much .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3a1a08 0%, #1a0a00 100%);
  animation: mf-bg 9s ease-in-out infinite alternate;
}

.scn-max-forgives-much .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a0a00 0%, #0a0000 100%);
  border-radius: 20% 20% 0 0;
}

.scn-max-forgives-much .table {
  position: absolute; bottom: 15%; left: 50%;
  width: 80px; height: 8px; transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3018 0%, #3a1a08 100%);
  border-radius: 2px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.5);
  animation: mf-table 4s ease-in-out infinite;
}

.scn-max-forgives-much .figure-left {
  position: absolute; bottom: 18%; left: 28%;
  width: 18px; height: 50px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: mf-figure-left 6s ease-in-out infinite;
}

.scn-max-forgives-much .figure-right {
  position: absolute; bottom: 18%; right: 28%;
  width: 18px; height: 52px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0500 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: mf-figure-right 6s ease-in-out infinite 0.5s;
}

.scn-max-forgives-much .lamp {
  position: absolute; top: 12%; left: 50%;
  width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0c080 0%, #b06020 60%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 8px rgba(200,130,50,0.6);
  animation: mf-lamp 3s ease-in-out infinite alternate;
}

.scn-max-forgives-much .shadow {
  position: absolute; bottom: 12%; left: 30%; width: 100px; height: 8px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(4px);
  animation: mf-shadow 8s ease-in-out infinite;
}

@keyframes mf-bg { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes mf-table { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes mf-figure-left { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(3deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mf-figure-right { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(-2px) rotate(-3deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(2px) rotate(3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mf-lamp { 0% { opacity:0.8; box-shadow: 0 0 20px 5px rgba(200,130,50,0.5) } 50% { opacity:1; box-shadow: 0 0 40px 12px rgba(200,130,50,0.8) } 100% { opacity:0.9; box-shadow: 0 0 25px 6px rgba(200,130,50,0.6) } }
@keyframes mf-shadow { 0%,100% { opacity:0.3 } 50% { opacity:0.5 } }

/* wallenstein-sends-family-to-holland */

.scn-wallenstein-sends-family-to-holland {
  background: linear-gradient(135deg, #2b2b3a 0%, #3a3a50 60%, #4a4a66 100%),
              linear-gradient(180deg, #5a4a3a 0%, transparent 40%, #2a2a3a 100%);
}
.scn-wallenstein-sends-family-to-holland .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a2a3a 100%);
  animation: we-roombg 12s ease-in-out infinite alternate;
}
.scn-wallenstein-sends-family-to-holland .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a2a 100%);
  border-radius: 30% 70% 0 0 / 60% 40% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-wallenstein-sends-family-to-holland .wall-panel {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 50%;
  background: linear-gradient(135deg, #4a3a2a, #2a2a3a); border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(255,255,255,0.05);
}
.scn-wallenstein-sends-family-to-holland .window-light {
  position: absolute; top: 8%; left: 40%; width: 20%; height: 35%;
  background: radial-gradient(circle at 50% 50%, rgba(255,230,180,0.3) 0%, transparent 70%);
  box-shadow: 0 0 40px 10px rgba(255,230,180,0.15);
  animation: we-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-sends-family-to-holland .table {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 10%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 10% 10% / 80% 80% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-wallenstein-sends-family-to-holland .candle {
  position: absolute; bottom: 35%; left: 48%; width: 4px; height: 14px;
  background: linear-gradient(180deg, #ffd080 0%, #ffb040 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px rgba(255,180,60,0.4);
  animation: we-candle 3s ease-in-out infinite;
}
.scn-wallenstein-sends-family-to-holland .figure-wall {
  position: absolute; bottom: 28%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: we-figure-wall 5s ease-in-out infinite;
}
.scn-wallenstein-sends-family-to-holland .figure-duchess {
  position: absolute; bottom: 28%; left: 55%; width: 18px; height: 38px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: we-figure-duchess 5s ease-in-out infinite alternate;
}
.scn-wallenstein-sends-family-to-holland .shadow-duchess {
  position: absolute; bottom: 28%; left: 55%; width: 18px; height: 38px;
  background: rgba(0,0,0,0.3); border-radius: 50%; filter: blur(6px);
  animation: we-shadow 5s ease-in-out infinite alternate;
}
@keyframes we-roombg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes we-glow { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes we-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.2); } 100% { transform: scaleY(0.9); } }
@keyframes we-figure-wall { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes we-figure-duchess { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes we-shadow { 0% { transform: scale(1) } 50% { transform: scale(1.2) } 100% { transform: scale(0.9) } }

/* duchess-realizes-deposition */

.scn-duchess-realizes-deposition {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a50 50%, #4a4a66 100%),
              radial-gradient(ellipse at 60% 40%, rgba(200,170,140,0.1) 0%, transparent 60%);
}
.scn-duchess-realizes-deposition .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  animation: dr-bg 14s ease-in-out infinite alternate;
}
.scn-duchess-realizes-deposition .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 60% 0 0 / 70% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-duchess-realizes-deposition .desk {
  position: absolute; bottom: 25%; left: 25%; width: 50%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
}
.scn-duchess-realizes-deposition .letter {
  position: absolute; bottom: 30%; left: 43%; width: 14%; height: 8%;
  background: linear-gradient(135deg, #d4c4a0 0%, #b4a48a 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-5deg); animation: dr-letter 8s ease-in-out infinite;
}
.scn-duchess-realizes-deposition .candle {
  position: absolute; bottom: 30%; left: 50%; width: 4px; height: 16px;
  background: linear-gradient(180deg, #ffd080 0%, #ffa040 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 24px 10px rgba(255,160,60,0.5);
  animation: dr-candle 3.5s ease-in-out infinite alternate;
}
.scn-duchess-realizes-deposition .figure-duchess {
  position: absolute; bottom: 22%; left: 48%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: dr-duchess 6s ease-in-out infinite;
}
.scn-duchess-realizes-deposition .shadow-wall {
  position: absolute; bottom: 22%; left: 28%; width: 30px; height: 50px;
  background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(10px);
  animation: dr-shadow 6s ease-in-out infinite alternate;
}
.scn-duchess-realizes-deposition .figure-wall {
  position: absolute; bottom: 22%; left: 30%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: dr-wall 6s ease-in-out infinite alternate;
}
@keyframes dr-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes dr-letter { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-3px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes dr-candle { 0% { transform: scaleY(1); box-shadow: 0 0 20px 8px rgba(255,160,60,0.4); } 50% { transform: scaleY(1.3); box-shadow: 0 0 30px 12px rgba(255,160,60,0.6); } 100% { transform: scaleY(0.9); box-shadow: 0 0 25px 10px rgba(255,160,60,0.5); } }
@keyframes dr-duchess { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-4px) rotate(-5deg) scaleY(1.05) } 66% { transform: translateX(2px) rotate(3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes dr-shadow { 0% { transform: scale(1) } 50% { transform: scale(1.3) } 100% { transform: scale(0.9) } }
@keyframes dr-wall { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* tertsky-brings-bad-news */

.scn-tertsky-brings-bad-news {
  background: linear-gradient(180deg, #2a2a3e 0%, #3a3a52 40%, #4a4a66 100%),
              radial-gradient(ellipse at 70% 30%, rgba(180,150,120,0.1) 0%, transparent 70%);
}
.scn-tertsky-brings-bad-news .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  animation: tb-bg 10s ease-in-out infinite alternate;
}
.scn-tertsky-brings-bad-news .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 32%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-tertsky-brings-bad-news .door {
  position: absolute; bottom: 20%; left: 15%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,0.5), 0 4px 8px rgba(0,0,0,0.4);
  animation: tb-door 12s ease-in-out infinite alternate;
}
.scn-tertsky-brings-bad-news .figure-tertsky {
  position: absolute; bottom: 22%; left: 25%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: tb-tertsky 4s ease-in-out infinite;
}
.scn-tertsky-brings-bad-news .figure-wall {
  position: absolute; bottom: 22%; left: 55%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: tb-wall 6s ease-in-out infinite;
}
.scn-tertsky-brings-bad-news .candle {
  position: absolute; bottom: 32%; left: 70%; width: 4px; height: 14px;
  background: linear-gradient(180deg, #ffd080 0%, #ffa040 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px rgba(255,160,60,0.4);
  animation: tb-candle 3s ease-in-out infinite alternate;
}
.scn-tertsky-brings-bad-news .shadow-tertsky {
  position: absolute; bottom: 22%; left: 22%; width: 24px; height: 40px;
  background: rgba(0,0,0,0.3); border-radius: 50%; filter: blur(8px);
  animation: tb-shadow 4s ease-in-out infinite alternate;
}
.scn-tertsky-brings-bad-news .shadow-wall {
  position: absolute; bottom: 22%; left: 52%; width: 28px; height: 44px;
  background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(12px);
  animation: tb-shadow-wall 6s ease-in-out infinite;
}
@keyframes tb-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes tb-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.95) translateY(-2px); } 100% { transform: scaleX(1); } }
@keyframes tb-tertsky { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-5px) rotate(-10deg) scaleY(1.1); } 60% { transform: translateX(3px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tb-wall { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tb-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.4); } 100% { transform: scaleY(0.9); } }
@keyframes tb-shadow { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(0.8); } }
@keyframes tb-shadow-wall { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(0.9); } }

/* isolani-and-some-generals-desert */

.scn-isolani-and-some-generals-desert {
  background: linear-gradient(180deg, #2a2a3a 0%, #3a3a50 40%, #4a4a66 100%),
              radial-gradient(ellipse at 30% 50%, rgba(200,170,140,0.08) 0%, transparent 70%);
}
.scn-isolani-and-some-generals-desert .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  animation: ig-bg 15s ease-in-out infinite alternate;
}
.scn-isolani-and-some-generals-desert .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-isolani-and-some-generals-desert .desk {
  position: absolute; bottom: 22%; left: 20%; width: 60%; height: 14%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
}
.scn-isolani-and-some-generals-desert .map {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(135deg, #d4c4a0 0%, #b4a48a 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(3deg); animation: ig-map 10s ease-in-out infinite;
}
.scn-isolani-and-some-generals-desert .candle {
  position: absolute; bottom: 28%; left: 55%; width: 4px; height: 16px;
  background: linear-gradient(180deg, #ffd080 0%, #ffa040 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 24px 10px rgba(255,160,60,0.5);
  animation: ig-candle 4s ease-in-out infinite alternate;
}
.scn-isolani-and-some-generals-desert .figure-wall {
  position: absolute; bottom: 18%; left: 25%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: ig-wall 5s ease-in-out infinite;
}
.scn-isolani-and-some-generals-desert .figure-illo {
  position: absolute; bottom: 18%; left: 55%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: ig-illo 7s ease-in-out infinite alternate;
}
.scn-isolani-and-some-generals-desert .shadow-illo {
  position: absolute; bottom: 18%; left: 52%; width: 24px; height: 40px;
  background: rgba(0,0,0,0.35); border-radius: 50%; filter: blur(10px);
  animation: ig-shadow 7s ease-in-out infinite alternate;
}
@keyframes ig-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes ig-map { 0% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-4px) scale(1.02); } 100% { transform: rotate(3deg) translateY(0); } }
@keyframes ig-candle { 0% { transform: scaleY(1); box-shadow: 0 0 20px 8px rgba(255,160,60,0.4); } 50% { transform: scaleY(1.3); box-shadow: 0 0 30px 12px rgba(255,160,60,0.6); } 100% { transform: scaleY(0.9); box-shadow: 0 0 25px 10px rgba(255,160,60,0.5); } }
@keyframes ig-wall { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(3deg) scaleY(1.05); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ig-illo { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(4px) rotate(-4deg); } 66% { transform: translateX(-2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ig-shadow { 0% { transform: scale(1); } 50% { transform: scale(1.4); } 100% { transform: scale(0.9); } }

/* unconditional-signatures-proposed */

.scn-unconditional-signatures-proposed {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e16 40%, #3a2a1e 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a1e 0%, #0f0a08 70%);
}
.scn-unconditional-signatures-proposed .wall-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #1e1814 0%, #2a2018 100%); }
.scn-unconditional-signatures-proposed .desk { position:absolute; bottom:0; left:10%; right:10%; height:40%; background: linear-gradient(180deg, #3c2c20 0%, #1a120c 100%); border-radius: 4% 4% 0 0 / 8% 8% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,0.6), 0 -2px 6px rgba(0,0,0,0.3); }
.scn-unconditional-signatures-proposed .document { position:absolute; bottom:28%; width:28%; height:14%; background: linear-gradient(135deg, #d9c49a 0%, #b89f70 60%, #a0895a 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.5); transform: rotate(-2deg); }
.scn-unconditional-signatures-proposed .doc-1 { left:20%; transform: rotate(-3deg); animation: us-doc-shift 6s ease-in-out infinite alternate; }
.scn-unconditional-signatures-proposed .doc-2 { left:50%; width:22%; transform: rotate(1deg); animation: us-doc-shift2 8s ease-in-out infinite alternate; }
.scn-unconditional-signatures-proposed .candle { position:absolute; bottom:42%; left:15%; width:8px; height:28px; background: linear-gradient(180deg, #e8d4b0 0%, #c4a882 60%, #8a6a4a 100%); border-radius: 2px / 40% 40% 20% 20%; box-shadow: 0 0 4px rgba(0,0,0,0.3); transform: rotate(2deg); }
.scn-unconditional-signatures-proposed .flame { position:absolute; bottom:62%; left:15.5%; width:6px; height:18px; background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #ffa030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px #ffa030, 0 0 40px 12px rgba(255,160,48,0.3); animation: us-flame 3s ease-in-out infinite alternate; }
.scn-unconditional-signatures-proposed .hand { position:absolute; bottom:20%; width:20px; height:30px; background: radial-gradient(ellipse at 50% 30%, #c48b5a 0%, #7a4e2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4); }
.scn-unconditional-signatures-proposed .hand-sig { left:30%; transform: rotate(15deg); animation: us-hand-sig 2s ease-in-out infinite; }
.scn-unconditional-signatures-proposed .hand-rest { left:65%; transform: scale(0.9) rotate(-10deg); }
.scn-unconditional-signatures-proposed .shadow-figure { position:absolute; bottom:15%; right:10%; width:40px; height:70px; background: radial-gradient(ellipse at 50% 50%, #0a0806 0%, #1a1410 80%); border-radius: 30% 30% 40% 40% / 70% 70% 40% 40%; opacity:0.5; filter: blur(2px); animation: us-shadow 7s ease-in-out infinite alternate; }
@keyframes us-doc-shift { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-4deg) translateY(1px); } }
@keyframes us-doc-shift2 { 0% { transform: rotate(1deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(2px); } }
@keyframes us-flame { 0% { transform: scaleY(1) scaleX(0.8); opacity:0.9; } 50% { transform: scaleY(1.2) scaleX(1); opacity:1; } 100% { transform: scaleY(0.9) scaleX(0.9); opacity:0.85; } }
@keyframes us-hand-sig { 0% { transform: rotate(15deg) translate(0,0); } 25% { transform: rotate(10deg) translate(2px,-1px); } 50% { transform: rotate(18deg) translate(0,0); } 75% { transform: rotate(12deg) translate(-1px,-1px); } 100% { transform: rotate(15deg) translate(0,0); } }
@keyframes us-shadow { 0% { opacity:0.4; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.05); } 100% { opacity:0.45; transform: scaleY(0.95); } }

/* illo-urges-action */

.scn-illo-urges-action {
  background:
    linear-gradient(180deg, #0f0d1a 0%, #1a1628 50%, #2a2038 100%),
    radial-gradient(ellipse at 30% 50%, #2a2038 0%, #0a0712 70%);
}
.scn-illo-urges-action .bg-deep { position:absolute; inset:0; background: radial-gradient(ellipse at 70% 30%, #1e1a2a 0%, transparent 70%); animation: ia-bg-pulse 8s ease-in-out infinite alternate; }
.scn-illo-urges-action .wall-shadow { position:absolute; top:0; left:40%; width:60%; height:100%; background: linear-gradient(90deg, transparent 0%, #0a0712 100%); }
.scn-illo-urges-action .table-prop { position:absolute; bottom:0; left:5%; right:5%; height:15%; background: linear-gradient(180deg, #2a2a3a 0%, #12121a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5); }
.scn-illo-urges-action .figure-illo { position:absolute; bottom:15%; left:20%; width:40px; height:70px; background: radial-gradient(ellipse at 50% 40%, #2a284a 0%, #0f0d1a 100%); border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ia-illo 3s ease-in-out infinite; }
.scn-illo-urges-action .figure-wall { position:absolute; bottom:15%; right:15%; width:38px; height:72px; background: radial-gradient(ellipse at 50% 40%, #1c1830 0%, #0a0812 100%); border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%; opacity:0.8; transform: scaleX(-1); animation: ia-wall 5s ease-in-out infinite alternate; }
.scn-illo-urges-action .arm-gesture { position:absolute; bottom:45%; left:28%; width:30px; height:8px; background: linear-gradient(90deg, #2a284a 0%, #3a3460 100%); border-radius: 40% 20% 20% 40%; transform-origin: left center; animation: ia-arm 2s ease-in-out infinite; }
.scn-illo-urges-action .light-pool { position:absolute; bottom:10%; left:15%; width:25%; height:30%; background: radial-gradient(ellipse at 50% 50%, rgba(255,200,100,0.15) 0%, transparent 100%); border-radius: 50%; animation: ia-light 6s ease-in-out infinite alternate; }
@keyframes ia-bg-pulse { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes ia-illo { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(3deg) translateY(-2px); } 50% { transform: rotate(-2deg) translateY(0); } 75% { transform: rotate(2deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ia-wall { 0% { transform: scaleX(-1) translateY(0); } 50% { transform: scaleX(-1) translateY(-3px); } 100% { transform: scaleX(-1) translateY(1px); } }
@keyframes ia-arm { 0% { transform: rotate(-10deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-10deg); } }
@keyframes ia-light { 0% { opacity:0.3; transform: scale(0.9); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.4; transform: scale(0.95); } }

/* wallenstein-astrology-defense */

.scn-wallestein-astrology-defense {
  background:
    linear-gradient(180deg, #12101a 0%, #1c1830 40%, #2a1c28 100%),
    radial-gradient(ellipse at 50% 20%, #2a1c28 0%, #080612 80%);
}
.scn-wallestein-astrology-defense .room-dark { position:absolute; inset:0; background: linear-gradient(135deg, #1a1420 0%, transparent 60%); }
.scn-wallestein-astrology-defense .astrolabe { position:absolute; top:20%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, #4a3a2a 0%, #2a1e14 100%); border-radius: 50%; border: 2px solid #5a4a3a; box-shadow: 0 0 12px rgba(90,74,58,0.4); animation: wd-astro 12s linear infinite; }
.scn-wallestein-astrology-defense .scroll-chart { position:absolute; bottom:20%; left:20%; width:50%; height:20%; background: linear-gradient(135deg, #b8a080 0%, #8a705a 60%, #6a5240 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 4px 10px rgba(0,0,0,0.5); animation: wd-scroll 10s ease-in-out infinite alternate; }
.scn-wallestein-astrology-defense .candle-stick { position:absolute; bottom:25%; right:20%; width:6px; height:20px; background: linear-gradient(180deg, #e0c8a0 0%, #b09070 100%); border-radius: 2px; box-shadow: 0 0 4px rgba(0,0,0,0.3); }
.scn-wallestein-astrology-defense .light-halo { position:absolute; bottom:32%; right:20%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 100%); border-radius: 50%; animation: wd-halo 4s ease-in-out infinite alternate; }
.scn-wallestein-astrology-defense .figure-profile { position:absolute; bottom:10%; left:10%; width:45px; height:80px; background: radial-gradient(ellipse at 50% 20%, #2a2030 0%, #100a12 100%); border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%; transform: rotate(5deg); box-shadow: -4px 0 8px rgba(0,0,0,0.5); }
.scn-wallestein-astrology-defense .star-map { position:absolute; top:10%; right:10%; width:30%; height:30%; background: radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px), radial-gradient(circle at 60% 40%, #fff 1px, transparent 1px), radial-gradient(circle at 80% 70%, #fff 1px, transparent 1px), radial-gradient(circle at 10% 80%, #fff 1px, transparent 1px); background-size: 20px 20px; opacity:0.4; animation: wd-stars 20s linear infinite; }
.scn-wallestein-astrology-defense .dust-particle { position:absolute; bottom:40%; left:30%; width:4px; height:4px; background: rgba(255,220,150,0.6); border-radius: 50%; box-shadow: 0 0 6px rgba(255,220,150,0.3); animation: wd-dust 5s ease-in-out infinite; }
@keyframes wd-astro { 0% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(360deg); } }
@keyframes wd-scroll { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-3px); } 100% { transform: rotate(-6deg) translateY(2px); } }
@keyframes wd-halo { 0% { opacity:0.5; transform: scale(0.9); } 50% { opacity:0.8; transform: scale(1.2); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes wd-stars { 0% { background-position: 0 0; } 100% { background-position: 20px 20px; } }
@keyframes wd-dust { 0% { transform: translate(0,0) scale(1); opacity:0.3; } 50% { transform: translate(10px,-5px) scale(1.5); opacity:0.8; } 100% { transform: translate(20px,5px) scale(0.5); opacity:0; } }

/* council-of-war-begins */

.scn-council-of-war-begins {
  background:
    linear-gradient(180deg, #e8e0d0 0%, #d4c8b0 40%, #c0b098 100%),
    radial-gradient(ellipse at 50% 30%, #f0e8d8 0%, #d0c0a8 70%);
}
.scn-council-of-war-begins .window-bright { position:absolute; top:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #f8f4e8 0%, #e0d8c8 100%); box-shadow: inset 0 0 30px rgba(255,255,240,0.3); }
.scn-council-of-war-begins .table-long { position:absolute; bottom:10%; left:10%; right:10%; height:15%; background: linear-gradient(180deg, #c8b898 0%, #a89878 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.scn-council-of-war-begins .chair { position:absolute; bottom:10%; width:12%; height:25%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: inset 0 -4px 6px rgba(0,0,0,0.3); }
.scn-council-of-war-begins .chair-left { left:22%; transform: rotate(-3deg); animation: cw-chair 7s ease-in-out infinite alternate; }
.scn-council-of-war-begins .chair-right { right:22%; transform: rotate(2deg); transform-origin: bottom center; }
.scn-council-of-war-begins .figure-commander { position:absolute; bottom:18%; left:48%; width:30px; height:50px; background: radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, #1a120a 100%); border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%; transform: translateX(-50%); }
.scn-council-of-war-begins .figure-attendee { position:absolute; bottom:15%; left:30%; width:28px; height:48px; background: radial-gradient(ellipse at 50% 40%, #4a3a2a 0%, #2a1e12 100%); border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%; opacity:0.8; transform: scaleX(-1); }
.scn-council-of-war-begins .map-scroll { position:absolute; bottom:22%; left:40%; width:20%; height:8%; background: linear-gradient(135deg, #d4c4a0 0%, #b8a888 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transform: rotate(-2deg); animation: cw-map 12s ease-in-out infinite alternate; }
.scn-council-of-war-begins .light-beam { position:absolute; top:0; left:30%; width:40%; height:60%; background: linear-gradient(180deg, rgba(255,255,240,0.4) 0%, transparent 100%); transform: rotate(-5deg); filter: blur(8px); animation: cw-beam 10s ease-in-out infinite alternate; }
.scn-council-of-war-begins .shadow-floor { position:absolute; bottom:0; left:0; right:0; height:10%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.1) 100%); }
@keyframes cw-chair { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-4deg) translateY(1px); } }
@keyframes cw-map { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(1px); } }
@keyframes cw-beam { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }

.scn-countess-eight-years-ago {
  background: linear-gradient(180deg, #1f1a14 0%, #2a2218 40%, #3d2f1f 100%), radial-gradient(ellipse at 80% 90%, #4a3520 0%, transparent 60%);
}
.scn-countess-eight-years-ago .walls { position:absolute; inset:0; background: linear-gradient(135deg, #1a1510 0%, #231e16 50%, #2b2218 100%); }
.scn-countess-eight-years-ago .window { position:absolute; top:15%; left:10%; width:35%; height:50%; background: #2a3828; border: 6px solid #3d2f1f; border-radius: 4px; box-shadow: inset 0 0 30px rgba(200,100,20,0.3); animation: cea-windowglow 6s ease-in-out infinite alternate; }
.scn-countess-eight-years-ago .desk { position:absolute; bottom:12%; left:20%; width:60%; height:20%; background: linear-gradient(180deg, #4a3520 0%, #2f2015 100%); border-radius: 4px; box-shadow: 0 -6px 12px rgba(0,0,0,0.6); }
.scn-countess-eight-years-ago .candle { position:absolute; bottom:28%; left:45%; width:8px; height:30px; background: linear-gradient(180deg, #e8c080 0%, #a07040 100%); border-radius: 2px 2px 0 0; box-shadow: 0 0 12px 6px #e8c080, 0 0 24px 12px rgba(200,100,20,0.4); animation: cea-candle 4s ease-in-out infinite alternate; }
.scn-countess-eight-years-ago .figure { position:absolute; bottom:18%; left:35%; width:30px; height:60px; background: linear-gradient(180deg, #1a1510 0%, #0f0b08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cea-figure 8s ease-in-out infinite; }
.scn-countess-eight-years-ago .sword { position:absolute; bottom:20%; left:40%; width:4px; height:50px; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); transform: rotate(25deg); transform-origin: bottom; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: cea-sword 10s ease-in-out infinite; }
.scn-countess-eight-years-ago .glow-window { position:absolute; top:15%; left:10%; width:35%; height:50%; background: radial-gradient(ellipse at 50% 60%, rgba(200,100,20,0.15) 0%, transparent 70%); animation: cea-glw 6s ease-in-out infinite alternate; }
@keyframes cea-windowglow { 0% { box-shadow: inset 0 0 20px rgba(200,100,20,0.2); } 50% { box-shadow: inset 0 0 40px rgba(200,100,20,0.5); } 100% { box-shadow: inset 0 0 20px rgba(200,100,20,0.3); } }
@keyframes cea-candle { 0% { transform: scaleY(1) translateY(0); } 25% { transform: scaleY(1.05) translateY(-1px); } 50% { transform: scaleY(0.95) translateY(1px); } 75% { transform: scaleY(1.02) translateY(-0.5px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes cea-figure { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(3px) rotate(1deg); } 66% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cea-sword { 0% { transform: rotate(25deg) scale(1); } 50% { transform: rotate(28deg) scale(1.02); } 100% { transform: rotate(25deg) scale(1); } }
@keyframes cea-glw { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }

.scn-countess-what-served-him {
  background: linear-gradient(180deg, #1a1614 0%, #221c18 40%, #2f261e 100%), radial-gradient(ellipse at 50% 80%, #3d2f1f 0%, transparent 60%);
}
.scn-countess-what-served-him .desk-close { position:absolute; bottom:0; left:10%; width:80%; height:45%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1f15 100%); border-radius: 8px; box-shadow: 0 -8px 16px rgba(0,0,0,0.7); }
.scn-countess-what-served-him .paper { position:absolute; bottom:30%; left:35%; width:30%; height:20%; background: linear-gradient(135deg, #e0d0b0 0%, #c0a880 100%); transform: rotate(-2deg); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); }
.scn-countess-what-served-him .seal { position:absolute; bottom:32%; left:55%; width:16px; height:16px; background: radial-gradient(circle, #a0461a 0%, #6a2e0e 70%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.5); transform: scale(1); animation: cwh-seal 12s ease-in-out infinite; }
.scn-countess-what-served-him .candle-close { position:absolute; bottom:40%; left:20%; width:8px; height:26px; background: linear-gradient(180deg, #e8c080 0%, #a07040 100%); border-radius: 2px; box-shadow: 0 0 12px 4px #e8c080, 0 0 24px 10px rgba(200,100,20,0.3); animation: cwh-candle 3s ease-in-out infinite alternate; }
.scn-countess-what-served-him .hand { position:absolute; bottom:30%; left:42%; width:24px; height:28px; background: linear-gradient(180deg, #3a2a1f 0%, #1a1510 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: cwh-hand 5s ease-in-out infinite; }
.scn-countess-what-served-him .inkwell { position:absolute; bottom:32%; left:28%; width:14px; height:18px; background: linear-gradient(180deg, #2a1f15 0%, #0f0b07 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.6); }
.scn-countess-what-served-him .shadow-hand { position:absolute; bottom:30%; left:42%; width:24px; height:28px; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 70%); transform: translate(4px, 4px); filter: blur(4px); animation: cwh-shad 5s ease-in-out infinite; }
@keyframes cwh-seal { 0% { transform: scale(1); } 50% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes cwh-candle { 0% { transform: scaleY(1) translateY(0); opacity: 0.9; } 50% { transform: scaleY(1.08) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.95) translateY(1px); opacity: 0.85; } }
@keyframes cwh-hand { 0% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(2px) rotate(2deg) translateY(-1px); } 40% { transform: translateX(-1px) rotate(-1deg) translateY(1px); } 60% { transform: translateX(1px) rotate(1deg) translateY(0); } 80% { transform: translateX(-2px) rotate(-2deg) translateY(-1px); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cwh-shad { 0% { transform: translate(4px, 4px) scale(1); opacity: 0.4; } 50% { transform: translate(2px, 2px) scale(1.05); opacity: 0.6; } 100% { transform: translate(4px, 4px) scale(1); opacity: 0.4; } }

.scn-wallenstein-services-misdemeanours {
  background: linear-gradient(180deg, #1c1814 0%, #241e18 40%, #352a1f 100%), radial-gradient(ellipse at 70% 80%, #4a3520 0%, transparent 70%);
}
.scn-wallenstein-services-misdemeanours .walls-2 { position:absolute; inset:0; background: linear-gradient(135deg, #1a1510 0%, #231e16 50%, #2b2218 100%); }
.scn-wallenstein-services-misdemeanours .window-large { position:absolute; top:10%; right:5%; width:45%; height:60%; background: linear-gradient(180deg, #2a3028 0%, #1a2018 100%); border: 8px solid #3d2f1f; border-radius: 6px; box-shadow: inset 0 0 40px rgba(0,0,0,0.5); }
.scn-wallenstein-services-misdemeanours .horse-silhouette { position:absolute; top:25%; right:15%; width:60px; height:40px; background: linear-gradient(135deg, #0f0b07 0%, #1a1510 100%); border-radius: 30% 50% 40% 40% / 50% 40% 50% 50%; filter: blur(1px); animation: wsm-horse 12s ease-in-out infinite; }
.scn-wallenstein-services-misdemeanours .figure-2 { position:absolute; bottom:15%; left:15%; width:28px; height:55px; background: linear-gradient(180deg, #1a1510 0%, #0f0b07 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wsm-figure 10s ease-in-out infinite; }
.scn-wallenstein-services-misdemeanours .lantern-2 { position:absolute; bottom:30%; left:28%; width:8px; height:8px; background: radial-gradient(circle, #e8c080 0%, transparent 70%); box-shadow: 0 0 16px 6px #e8c080; animation: wsm-lantern 4s ease-in-out infinite; }
.scn-wallenstein-services-misdemeanours .shadow-column { position:absolute; left:60%; bottom:0; width:40%; height:100%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 50%, transparent 100%); animation: wsm-shadow 8s ease-in-out infinite alternate; }
@keyframes wsm-horse { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-5px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes wsm-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-3px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wsm-lantern { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(0.95); } }
@keyframes wsm-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

.scn-countess-seize-chariot {
  background: linear-gradient(180deg, #1a1614 0%, #221c18 40%, #2f261e 100%), radial-gradient(ellipse at 50% 20%, #3d2f1f 0%, transparent 80%);
}
.scn-countess-seize-chariot .walls-3 { position:absolute; inset:0; background: linear-gradient(135deg, #1a1510 0%, #231e16 50%, #2b2218 100%); }
.scn-countess-seize-chariot .desk-write { position:absolute; bottom:8%; left:15%; width:70%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1f15 100%); border-radius: 6px; box-shadow: 0 -8px 16px rgba(0,0,0,0.6); }
.scn-countess-seize-chariot .hand-quill { position:absolute; bottom:35%; left:45%; width:20px; height:30px; background: linear-gradient(180deg, #3a2a1f 0%, #1a1510 100%); border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%; transform-origin: bottom; animation: csc-hand 0.8s ease-in-out infinite alternate; }
.scn-countess-seize-chariot .candle-fast { position:absolute; bottom:38%; left:30%; width:10px; height:32px; background: linear-gradient(180deg, #e8c080 0%, #a07040 100%); border-radius: 2px; box-shadow: 0 0 14px 6px #e8c080, 0 0 28px 12px rgba(200,100,20,0.4); animation: csc-candle 0.6s ease-in-out infinite alternate; }
.scn-countess-seize-chariot .inkwell-2 { position:absolute; bottom:32%; left:26%; width:18px; height:22px; background: linear-gradient(180deg, #2a1f15 0%, #0f0b07 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.6); animation: csc-ink 1.2s ease-in-out infinite; }
.scn-countess-seize-chariot .stars-window { position:absolute; top:10%; right:15%; width:30%; height:40%; background: #1a2018; border: 6px solid #3d2f1f; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-countess-seize-chariot .stars-window::after { content:''; position:absolute; top:10%; left:20%; width:4px; height:4px; background:#e0d0b0; border-radius:50%; box-shadow: 20px 30px #e0d0b0, 40px 10px #e0d0b0, 10px 50px #e0d0b0, 50px 40px #e0d0b0, 30px 20px #e0d0b0; animation: csc-stars 8s linear infinite; }
.scn-countess-seize-chariot .glow-fast { position:absolute; bottom:38%; left:30%; width:10px; height:32px; background: radial-gradient(ellipse, rgba(200,100,20,0.3) 0%, transparent 80%); filter: blur(5px); animation: csc-glow 0.6s ease-in-out infinite alternate; }
@keyframes csc-hand { 0% { transform: rotate(-5deg) translateY(0); } 100% { transform: rotate(5deg) translateY(-2px); } }
@keyframes csc-candle { 0% { transform: scaleY(0.9) translateY(1px); opacity: 0.8; } 50% { transform: scaleY(1.1) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.9) translateY(1px); opacity: 0.8; } }
@keyframes csc-ink { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes csc-stars { 0% { transform: translateY(0); } 100% { transform: translateY(-10px); } }
@keyframes csc-glow { 0% { opacity: 0.5; } 100% { opacity: 0.9; } }

.scn-max-describes-walls-heart {
  background:
    linear-gradient(180deg, #1a1a3e 0%, #2c2234 40%, #3a2a32 100%),
    radial-gradient(ellipse at 50% 70%, #4a3a4a 0%, transparent 70%);
}
.scn-max-describes-walls-heart .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #3a2a22 0%, #2a1a12 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
}
.scn-max-describes-walls-heart .wall {
  position:absolute; top:0; left:0; right:0; bottom:20%;
  background: linear-gradient(180deg, #2a2240 0%, #1a1230 60%, #121020 100%);
  box-shadow: inset 0 -40px 40px rgba(0,0,0,.6);
}
.scn-max-describes-walls-heart .window-bars {
  position:absolute; top:10%; left:30%; width:40%; height:50%;
  border: 4px solid #5a4a3a; border-radius: 6px;
  background: linear-gradient(180deg, rgba(74,58,42,0.3) 0%, transparent 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,.4);
}
.scn-max-describes-walls-heart .figure {
  position:absolute; bottom:20%; left:38%; width:22px; height:80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mdwh-figure 6s ease-in-out infinite;
}
.scn-max-describes-walls-heart .heart-glow {
  position:absolute; bottom:30%; left:55%; width:30px; height:28px;
  background: radial-gradient(circle at 50% 50%, #c08040 0%, #8a6030 60%, transparent 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  filter: blur(2px);
  box-shadow: 0 0 24px 8px #b07030, 0 0 48px 16px rgba(192,128,64,0.3);
  animation: mdwh-heart 3s ease-in-out infinite alternate;
}
.scn-max-describes-walls-heart .shadow-arch {
  position:absolute; bottom:20%; left:20%; width:60%; height:60%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(8px);
  animation: mdwh-shadow 12s ease-in-out infinite alternate;
}
.scn-max-describes-walls-heart .candle-glow {
  position:absolute; bottom:25%; left:20%; width:4px; height:8px;
  background: radial-gradient(circle, #e0a060 0%, #c08040 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 16px 6px #e0a060, 0 0 32px 12px rgba(224,160,96,0.3);
  animation: mdwh-candle 4s ease-in-out infinite;
}

@keyframes mdwh-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mdwh-heart {
  0% { opacity: 0.7; box-shadow: 0 0 16px 4px #b07030, 0 0 32px 8px rgba(176,112,48,0.3); }
  50% { opacity: 1; box-shadow: 0 0 32px 10px #e0a060, 0 0 64px 20px rgba(224,160,96,0.5); }
  100% { opacity: 0.8; box-shadow: 0 0 20px 6px #b07030, 0 0 40px 12px rgba(176,112,48,0.3); }
}
@keyframes mdwh-shadow {
  0% { transform: scaleY(0.95); opacity: 0.6; }
  50% { transform: scaleY(1); opacity: 0.8; }
  100% { transform: scaleY(0.9); opacity: 0.7; }
}
@keyframes mdwh-candle {
  0%,100% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-1px) scaleY(1.1); }
  50% { transform: translateY(0) scale(1); }
  75% { transform: translateY(1px) scaleY(0.9); }
}

.scn-wallenstein-condemns-octavio-again {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2034 40%, #3a2840 100%),
    radial-gradient(ellipse at 50% 60%, #4a384a 0%, transparent 70%);
}
.scn-wallenstein-condemns-octavio-again .bg-deep {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #2a2240 0%, #1a1230 100%);
}
.scn-wallenstein-condemns-octavio-again .table {
  position:absolute; bottom:18%; left:25%; right:25%; height:12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-wallenstein-condemns-octavio-again .figure-left {
  position:absolute; bottom:18%; left:28%; width:28px; height:80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wcoa-left-fig 5s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio-again .figure-right {
  position:absolute; bottom:18%; right:28%; width:28px; height:80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wcoa-right-fig 5s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio-again .hand-pointing {
  position:absolute; bottom:42%; left:44%; width:6px; height:16px;
  background: #0a0a1a;
  border-radius: 20% 20% 40% 40%;
  transform-origin: bottom center;
  animation: wcoa-point 4s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio-again .candle-flame {
  position:absolute; bottom:28%; left:48%; width:4px; height:10px;
  background: radial-gradient(circle, #e0a060 0%, #c08040 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 16px 6px #e0a060, 0 0 32px 12px rgba(224,160,96,0.3);
  animation: wcoa-flame 2s ease-in-out infinite alternate;
}
.scn-wallenstein-condemns-octavio-again .shadow-pool {
  position:absolute; bottom:0; left:20%; width:60%; height:20%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(8px);
  animation: wcoa-shadow 8s ease-in-out infinite alternate;
}

@keyframes wcoa-left-fig {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(2px) rotate(3deg); }
}
@keyframes wcoa-right-fig {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-2px) rotate(-3deg); }
}
@keyframes wcoa-point {
  0% { transform: rotate(-10deg) translateY(0); }
  25% { transform: rotate(0deg) translateY(-2px); }
  50% { transform: rotate(10deg) translateY(0); }
  75% { transform: rotate(0deg) translateY(-1px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes wcoa-flame {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.3); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.9; }
}
@keyframes wcoa-shadow {
  0% { transform: scaleX(0.95); opacity: 0.6; }
  50% { transform: scaleX(1.05); opacity: 0.8; }
  100% { transform: scaleX(0.9); opacity: 0.5; }
}

.scn-max-laments-fate {
  background:
    linear-gradient(180deg, #0d0d2b 0%, #1a1a3e 40%, #2a2a4e 100%),
    radial-gradient(ellipse at 50% 80%, #1a1a3e 0%, transparent 70%);
}
.scn-max-laments-fate .night-sky {
  position:absolute; inset:0 0 25% 0;
  background: linear-gradient(180deg, #0d0d2b 0%, #1a1a3e 100%);
}
.scn-max-laments-fate .ground {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #2a2a22 0%, #1a1a12 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-max-laments-fate .figure {
  position:absolute; bottom:20%; left:45%; width:24px; height:70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mlf-figure 7s ease-in-out infinite;
}
.scn-max-laments-fate .kneeling {
  /* additional class, but we can style as .figure.kneeling */
  transform-origin: bottom center;
}
.scn-max-laments-fate .tear-drop {
  position:absolute; bottom:35%; left:48%; width:6px; height:6px;
  background: radial-gradient(circle, #8090c0 0%, #4060a0 100%);
  border-radius: 50%;
  opacity: 0.6;
  box-shadow: 0 0 8px 2px rgba(64,96,160,0.4);
  animation: mlf-tear 3s ease-in-out infinite;
}
.scn-max-laments-fate .star {
  position:absolute;
  width:4px; height:4px;
  background: radial-gradient(circle, #e0e0e0 0%, #a0a0c0 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 1px rgba(224,224,224,0.5);
}
.scn-max-laments-fate .star-a {
  top:15%; left:20%;
  animation: mlf-starA 6s ease-in-out infinite alternate;
}
.scn-max-laments-fate .star-b {
  top:25%; right:15%;
  animation: mlf-starB 8s ease-in-out infinite alternate;
}
.scn-max-laments-fate .grieving-hand {
  position:absolute; bottom:28%; left:42%; width:8px; height:12px;
  background: #0a0a1a;
  border-radius: 30% 30% 40% 40%;
  transform-origin: bottom center;
  animation: mlf-hand 5s ease-in-out infinite;
}

@keyframes mlf-figure {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(2px) rotate(-2deg); }
}
@keyframes mlf-tear {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-6px) scale(0.8); opacity: 0.3; }
  100% { transform: translateY(0) scale(1); opacity: 0.8; }
}
@keyframes mlf-starA {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes mlf-starB {
  0% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.3; transform: scale(0.7); }
}
@keyframes mlf-hand {
  0%,100% { transform: rotate(-5deg) translateY(0); }
  25% { transform: rotate(0deg) translateY(-2px); }
  50% { transform: rotate(5deg) translateY(0); }
  75% { transform: rotate(0deg) translateY(-1px); }
}

.scn-wallenstein-recalls-nurturing-max {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 30%, #7a4a3a 70%, #5a3a2a 100%),
    radial-gradient(ellipse at 50% 80%, #9a6a4a 0%, transparent 80%);
}
.scn-wallenstein-recalls-nurturing-max .warm-bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
}
.scn-wallenstein-recalls-nurturing-max .figure-large {
  position:absolute; bottom:15%; left:30%; width:40px; height:100px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wrnm-large 8s ease-in-out infinite;
}
.scn-wallenstein-recalls-nurturing-max .figure-small {
  position:absolute; bottom:15%; left:38%; width:20px; height:60px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wrnm-small 6s ease-in-out infinite;
}
.scn-wallenstein-recalls-nurturing-max .cloak-wrap {
  position:absolute; bottom:20%; left:28%; width:50px; height:70px;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 40% 20% 20% 60%;
  filter: blur(2px);
  opacity: 0.9;
  animation: wrnm-cloak 10s ease-in-out infinite;
}
.scn-wallenstein-recalls-nurturing-max .hearth-glow {
  position:absolute; bottom:10%; left:50%; width:60px; height:20px;
  background: radial-gradient(ellipse, #e08040 0%, #c06030 40%, transparent 100%);
  filter: blur(4px);
  animation: wrnm-hearth 4s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-nurturing-max .warm-light {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 70%, rgba(224,160,96,0.2) 0%, transparent 60%);
  animation: wrnm-light 7s ease-in-out infinite alternate;
}

@keyframes wrnm-large {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(2px) rotate(2deg); }
}
@keyframes wrnm-small {
  0%,100% { transform: translateX(0) scale(1); }
  25% { transform: translateX(2px) scale(1.05); }
  50% { transform: translateX(0) scale(1); }
  75% { transform: translateX(-2px) scale(0.95); }
}
@keyframes wrnm-cloak {
  0% { transform: scaleY(0.95) rotate(-2deg); }
  50% { transform: scaleY(1.05) rotate(2deg); }
  100% { transform: scaleY(0.95) rotate(-2deg); }
}
@keyframes wrnm-hearth {
  0% { opacity: 0.6; box-shadow: 0 0 20px 10px #e08040; }
  50% { opacity: 1; box-shadow: 0 0 40px 20px #e08040; }
  100% { opacity: 0.7; box-shadow: 0 0 30px 15px #e08040; }
}
@keyframes wrnm-light {
  0% { opacity: 0.7; background: radial-gradient(ellipse at 50% 70%, rgba(224,160,96,0.15) 0%, transparent 60%); }
  50% { opacity: 1; background: radial-gradient(ellipse at 50% 70%, rgba(224,160,96,0.3) 0%, transparent 60%); }
  100% { opacity: 0.8; background: radial-gradient(ellipse at 50% 70%, rgba(224,160,96,0.2) 0%, transparent 60%); }
}

/* scene: countess-reveals-plot */

.scn-countess-reveals-plot {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 80%, #7a5a3a20 0%, transparent 70%);
  overflow: hidden;
}
.scn-countess-reveals-plot .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%); }
.scn-countess-reveals-plot .window { position:absolute; top:12%; left:60%; width:30%; height:45%; background: linear-gradient(180deg, #d0c0a0 0%, #b0a090 100%); box-shadow: inset 0 0 20px #a09070; border-radius: 4% 4% 8% 8%; animation: crp-light 6s ease-in-out infinite alternate; }
.scn-countess-reveals-plot .table { position:absolute; bottom:18%; left:15%; width:55%; height:20%; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 30% 30% 8% 8% / 50% 50% 20% 20%; box-shadow: 0 6px 20px rgba(0,0,0,.5); }
.scn-countess-reveals-plot .map { position:absolute; bottom:30%; left:20%; width:40%; height:16%; background: linear-gradient(135deg, #b8a070 0%, #a09060 100%); border-radius: 2%; transform: rotate(-5deg); animation: crp-rustle 10s ease-in-out infinite; }
.scn-countess-reveals-plot .candle { position:absolute; bottom:40%; left:28%; width:1.5%; height:8%; background: linear-gradient(180deg, #f0d0a0 0%, #c0a070 100%); border-radius: 20%; animation: crp-flicker 0.5s ease-in-out infinite; }
.scn-countess-reveals-plot .glow { position:absolute; bottom:38%; left:25%; width:10%; height:15%; background: radial-gradient(ellipse, #f0e0c0 0%, transparent 70%); animation: crp-flicker 0.5s ease-in-out infinite; }
.scn-countess-reveals-plot .figure-left { position:absolute; bottom:15%; left:30%; width:6%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crp-breathe 4s ease-in-out infinite; }
.scn-countess-reveals-plot .figure-right { position:absolute; bottom:15%; right:25%; width:6%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crp-breathe 4s ease-in-out infinite reverse; }
@keyframes crp-flicker { 0% { opacity:.9; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:.8; transform: scaleY(.95); } }
@keyframes crp-light { 0% { opacity:.6; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes crp-rustle { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-6deg) translateY(0); } }
@keyframes crp-breathe { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }

/* scene: thekla-mother-concern */

.scn-thekla-mother-concern {
  background: linear-gradient(180deg, #2a2a3e 0%, #3a3a5a 50%, #1a1a2e 100%), radial-gradient(ellipse at 50% 30%, #4a4a7e20 0%, transparent 70%);
  overflow: hidden;
}
.scn-thekla-mother-concern .bg-window { position:absolute; top:5%; left:10%; width:80%; height:50%; background: linear-gradient(180deg, #c0c0d0 0%, #a0a0b0 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 40px #8080a0; }
.scn-thekla-mother-concern .curtains { position:absolute; top:5%; left:10%; width:80%; height:50%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); clip-path: polygon(10% 0%, 35% 10%, 50% 0%, 65% 10%, 90% 0%, 100% 100%, 0% 100%); animation: tmc-curtain 8s ease-in-out infinite; }
.scn-thekla-mother-concern .sofa { position:absolute; bottom:18%; left:5%; width:50%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 -4px 20px rgba(0,0,0,.4); }
.scn-thekla-mother-concern .figure1 { position:absolute; bottom:20%; left:15%; width:5%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tmc-fig1 5s ease-in-out infinite; }
.scn-thekla-mother-concern .figure2 { position:absolute; bottom:20%; left:35%; width:5%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tmc-fig2 4s ease-in-out infinite; }
.scn-thekla-mother-concern .lamp { position:absolute; bottom:30%; left:55%; width:2%; height:10%; background: linear-gradient(180deg, #f0e0c0 0%, #c0a070 100%); border-radius: 10%; box-shadow: 0 0 20px 6px #f0d0a0; animation: tmc-lamp 1s ease-in-out infinite; }
.scn-thekla-mother-concern .shadow { position:absolute; bottom:10%; left:5%; width:60%; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%); animation: tmc-shadow 6s ease-in-out infinite; }
@keyframes tmc-curtain { 0% { clip-path: polygon(10% 0%, 35% 10%, 50% 0%, 65% 10%, 90% 0%, 100% 100%, 0% 100%); } 50% { clip-path: polygon(8% 0%, 33% 12%, 48% 0%, 63% 8%, 88% 0%, 100% 100%, 0% 100%); } 100% { clip-path: polygon(12% 0%, 37% 8%, 52% 0%, 67% 12%, 92% 0%, 100% 100%, 0% 100%); } }
@keyframes tmc-lamp { 0% { opacity:.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.9; transform: scale(.95); } }
@keyframes tmc-fig1 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes tmc-fig2 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes tmc-shadow { 0% { opacity:.2; } 50% { opacity:.4; } 100% { opacity:.3; } }

/* scene: thekla-lamenting */

.scn-thekla-lamenting {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #0a0a1e 100%), radial-gradient(ellipse at 50% 90%, #3a3a5e20 0%, transparent 70%);
  overflow: hidden;
}
.scn-thekla-lamenting .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%); }
.scn-thekla-lamenting .window { position:absolute; top:8%; right:8%; width:30%; height:40%; background: linear-gradient(180deg, #c0c0d0 0%, #a0a0b0 100%); box-shadow: inset 0 0 20px #8080a0; border-radius: 4% 4% 8% 8%; opacity:.6; animation: tkl-window 6s ease-in-out infinite alternate; }
.scn-thekla-lamenting .chair { position:absolute; bottom:20%; left:10%; width:30%; height:25%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: 0 4px 15px rgba(0,0,0,.5); }
.scn-thekla-lamenting .figure { position:absolute; bottom:20%; left:17%; width:6%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tkl-sob 2s ease-in-out infinite; }
.scn-thekla-lamenting .candle { position:absolute; bottom:35%; left:45%; width:1.5%; height:8%; background: linear-gradient(180deg, #f0d0a0 0%, #c0a070 100%); border-radius: 20%; animation: tkl-candle 0.8s ease-in-out infinite; }
.scn-thekla-lamenting .tears { position:absolute; bottom:40%; left:20%; width:2%; height:2%; background: radial-gradient(circle, #80a0c0 0%, transparent 100%); border-radius: 50%; animation: tkl-tear 1.5s linear infinite; }
@keyframes tkl-sob { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(3deg); } 50% { transform: translateY(1px) rotate(-2deg); } 75% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tkl-candle { 0% { opacity:.9; transform: scaleY(1) scaleX(1); } 50% { opacity:1; transform: scaleY(1.05) scaleX(1.1); } 100% { opacity:.8; transform: scaleY(.95) scaleX(.9); } }
@keyframes tkl-window { 0% { opacity:.4; } 50% { opacity:.6; } 100% { opacity:.5; } }
@keyframes tkl-tear { 0% { transform: translateY(0) translateX(0); opacity:1; } 100% { transform: translateY(20px) translateX(5px); opacity:0; } }

/* scene: countess-reassuring */

.scn-countess-reassuring {
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 70%, #7a5a3a30 0%, transparent 70%);
  overflow: hidden;
}
.scn-countess-reassuring .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #5a4a3a 0%, #4a3a2a 100%); }
.scn-countess-reassuring .table { position:absolute; bottom:15%; left:20%; width:40%; height:15%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 8% 8% / 50% 50% 20% 20%; box-shadow: 0 4px 15px rgba(0,0,0,.5); }
.scn-countess-reassuring .candle { position:absolute; bottom:28%; left:35%; width:1.5%; height:8%; background: linear-gradient(180deg, #f0d0a0 0%, #c0a070 100%); border-radius: 20%; animation: cre-candle 0.6s ease-in-out infinite; }
.scn-countess-reassuring .hand { position:absolute; bottom:25%; left:28%; width:4%; height:2%; background: linear-gradient(180deg, #b0a080 0%, #a09070 100%); border-radius: 50%; transform: rotate(-10deg); animation: cre-pat 3s ease-in-out infinite; }
.scn-countess-reassuring .figure1 { position:absolute; bottom:12%; left:25%; width:6%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cre-fig1 5s ease-in-out infinite; }
.scn-countess-reassuring .figure2 { position:absolute; bottom:12%; right:25%; width:6%; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cre-fig2 4s ease-in-out infinite; }
.scn-countess-reassuring .shadow { position:absolute; bottom:5%; left:20%; width:50%; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 100%); animation: cre-shadow 6s ease-in-out infinite; }
@keyframes cre-candle { 0% { opacity:.9; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:.85; transform: scaleY(.95); } }
@keyframes cre-pat { 0% { transform: rotate(-10deg) translateX(-2px); } 50% { transform: rotate(-5deg) translateX(5px); } 100% { transform: rotate(-10deg) translateX(-2px); } }
@keyframes cre-fig1 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes cre-fig2 { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cre-shadow { 0% { opacity:.2; } 50% { opacity:.35; } 100% { opacity:.25; } }

.scn-wallestein-unrobe { background: linear-gradient(180deg, #2b1e12 0%, #1c130b 40%, #0f0a06 70%), radial-gradient(ellipse at 50% 60%, #3a2816 0%, transparent 70%); }
.scn-wallestein-unrobe .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #3a2a1a 0%, #4d3826 50%, #3a2a1a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.6); }
.scn-wallestein-unrobe .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1c10 0%, #1c1108 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.7); }
.scn-wallestein-unrobe .window { position:absolute; top:8%; left:50%; width:140px; height:180px; transform:translateX(-50%); background: linear-gradient(180deg, #0d2030 0%, #1a3a5a 50%, #2a4a6a 100%); border: 4px solid #4d3826; border-radius: 2px; box-shadow: inset 0 0 60px rgba(255,255,200,.1), 0 0 30px rgba(255,200,150,.15); animation: wu-window 10s ease-in-out infinite alternate; }
.scn-wallestein-unrobe .figure-unrobe { position:absolute; bottom:25%; left:45%; width:50px; height:110px; background: linear-gradient(180deg, #1a1510 0%, #0e0b08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: wu-figure 6s ease-in-out infinite; box-shadow: -2px 0 6px rgba(0,0,0,.5); }
.scn-wallestein-unrobe .gown { position:absolute; bottom:20%; left:43%; width:60px; height:80px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1c10 100%); border-radius: 50% 50% 10% 10% / 30% 30% 10% 10%; transform-origin: 50% 100%; animation: wu-gown 6s ease-in-out infinite; opacity: 0.9; }
.scn-wallestein-unrobe .candle { position:absolute; bottom:30%; left:62%; width:8px; height:30px; background: linear-gradient(180deg, #ece0c0 0%, #b89a6a 100%); border-radius: 2px 2px 0 0; box-shadow: 0 0 20px 6px rgba(255,200,100,.6), 0 0 40px 12px rgba(255,200,100,.3); animation: wu-candle 3s ease-in-out infinite alternate; }
.scn-wallestein-unrobe .halo { position:absolute; bottom:30%; left:62%; width:60px; height:50px; background: radial-gradient(circle, rgba(255,200,100,.5) 0%, rgba(255,180,80,.2) 40%, transparent 70%); transform:translate(-50%,-50%); animation: wu-halo 3s ease-in-out infinite alternate; }
.scn-wallestein-unrobe .keys { position:absolute; bottom:22%; left:52%; width:12px; height:8px; background: #d4b070; border-radius: 2px; box-shadow: 0 0 8px 2px rgba(200,160,80,.5); animation: wu-keys 6s ease-in-out infinite; }

@keyframes wu-window { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.7; } }
@keyframes wu-figure { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(1deg) translateX(5px) translateY(-2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes wu-gown { 0% { transform: rotate(2deg) translateX(0); } 50% { transform: rotate(-1deg) translateX(-4px) translateY(-1px); } 100% { transform: rotate(1deg) translateX(0); } }
@keyframes wu-candle { 0% { opacity:0.8; box-shadow: 0 0 15px 4px rgba(255,200,100,.5); } 50% { opacity:1; box-shadow: 0 0 30px 10px rgba(255,220,130,.7); } 100% { opacity:0.9; box-shadow: 0 0 20px 6px rgba(255,200,100,.4); } }
@keyframes wu-halo { 0% { opacity:0.5; transform: translate(-50%,-50%) scale(0.9); } 50% { opacity:0.8; transform: translate(-50%,-50%) scale(1.2); } 100% { opacity:0.6; transform: translate(-50%,-50%) scale(1); } }
@keyframes wu-keys { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-2px) rotate(5deg); } 100% { transform: translateY(0) rotate(-3deg); } }

.scn-item-golden-chain { background: linear-gradient(180deg, #1c140e 0%, #2a1e16 40%, #0f0a06 80%), radial-gradient(ellipse at 50% 70%, #3a2518 0%, transparent 60%); }
.scn-item-golden-chain .bg-velvet { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2e1e1a 0%, #1c100c 100%); border-radius: 0 0 40% 40%; box-shadow: inset 0 0 60px rgba(0,0,0,.5); }
.scn-item-golden-chain .hand { position:absolute; bottom:30%; left:40%; width:70px; height:100px; background: linear-gradient(180deg, #d4a87a 0%, #b8885a 50%, #8a6040 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: 50% 100%; animation: gc-hand 4s ease-in-out infinite; box-shadow: inset 0 0 20px rgba(0,0,0,.3); }
.scn-item-golden-chain .chain { position:absolute; bottom:42%; left:48%; width:60px; height:20px; background: linear-gradient(90deg, #d4a850, #f0d080, #c8a040); border-radius: 10px; transform: rotate(15deg); box-shadow: 0 0 15px 3px rgba(240,208,128,.7); animation: gc-chain 3s ease-in-out infinite alternate; }
.scn-item-golden-chain .chain-glow { position:absolute; bottom:40%; left:46%; width:80px; height:40px; background: radial-gradient(circle, rgba(240,208,128,.4) 0%, rgba(200,160,64,.1) 60%, transparent 100%); transform: translate(-10%, -10%); animation: gc-glow 3s ease-in-out infinite alternate; }
.scn-item-golden-chain .table-edge { position:absolute; bottom:22%; left:0; right:0; height:12px; background: linear-gradient(180deg, #4a352a 0%, #2e1e16 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-item-golden-chain .shadow-cast { position:absolute; bottom:20%; left:30%; width:100px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); transform: rotate(-10deg); animation: gc-shadow 4s ease-in-out infinite; }

@keyframes gc-hand { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(2deg) translateX(4px) translateY(-2px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes gc-chain { 0% { transform: rotate(15deg) scaleX(1); opacity:0.8; } 50% { transform: rotate(18deg) scaleX(1.05); opacity:1; } 100% { transform: rotate(14deg) scaleX(0.98); opacity:0.9; } }
@keyframes gc-glow { 0% { opacity:0.5; transform: translate(-10%,-10%) scale(0.9); } 50% { opacity:0.8; transform: translate(-10%,-10%) scale(1.1); } 100% { opacity:0.6; transform: translate(-10%,-10%) scale(0.95); } }
@keyframes gc-shadow { 0% { opacity:0.6; transform: rotate(-10deg) scaleX(1); } 50% { opacity:0.9; transform: rotate(-8deg) scaleX(1.2); } 100% { opacity:0.7; transform: rotate(-10deg) scaleX(0.95); } }

.scn-wallestein-reminisce { background: linear-gradient(180deg, #2a1e14 0%, #1c140e 40%, #0f0a06 80%), radial-gradient(ellipse at 50% 40%, #4a3422 0%, transparent 70%); }
.scn-wallestein-reminisce .wall-panel { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #4a352a 0%, #5a4030 50%, #4a352a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.5); }
.scn-wallestein-reminisce .floor-planks { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2e1e16 0%, #1c100c 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.6); }
.scn-wallestein-reminisce .window-arch { position:absolute; top:6%; left:50%; width:160px; height:200px; transform:translateX(-50%); background: linear-gradient(180deg, #0a1a2a 0%, #1c3040 100%); border: 6px solid #5a4030; border-radius: 50% 50% 0 0 / 40% 40% 0 0; box-shadow: inset 0 0 80px rgba(255,200,150,.1), 0 0 40px rgba(200,160,100,.2); animation: wr-window 12s ease-in-out infinite alternate; }
.scn-wallestein-reminisce .figure-wall { position:absolute; bottom:30%; left:30%; width:55px; height:130px; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: wr-figure-wall 8s ease-in-out infinite; }
.scn-wallestein-reminisce .figure-gordon { position:absolute; bottom:30%; right:30%; width:50px; height:120px; background: linear-gradient(180deg, #2a1e16 0%, #1c100c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: wr-figure-gordon 10s ease-in-out infinite; }
.scn-wallestein-reminisce .chair-ornate { position:absolute; bottom:20%; left:52%; width:60px; height:80px; background: linear-gradient(180deg, #5a4030 0%, #4a352a 100%); border-radius: 10% 10% 20% 20% / 10% 10% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,.5); animation: wr-chair 12s ease-in-out infinite; }
.scn-wallestein-reminisce .candle-stand { position:absolute; bottom:32%; left:60%; width:12px; height:60px; background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%); border-radius: 2px; box-shadow: 0 0 20px 6px rgba(255,200,100,.4); animation: wr-candle 4s ease-in-out infinite alternate; }
.scn-wallestein-reminisce .glow-warm { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, rgba(255,200,100,.15) 0%, transparent 70%); animation: wr-glow 8s ease-in-out infinite alternate; }

@keyframes wr-window { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.6; } }
@keyframes wr-figure-wall { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(1deg) translateX(3px) translateY(-2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes wr-figure-gordon { 0% { transform: rotate(1deg) translateX(0); } 50% { transform: rotate(-1deg) translateX(-2px) translateY(-1px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes wr-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wr-candle { 0% { opacity:0.7; box-shadow: 0 0 15px 4px rgba(255,200,100,.4); } 50% { opacity:1; box-shadow: 0 0 30px 10px rgba(255,220,130,.6); } 100% { opacity:0.8; box-shadow: 0 0 20px 6px rgba(255,200,100,.4); } }
@keyframes wr-glow { 0% { opacity:0.4; } 50% { opacity:0.7; } 100% { opacity:0.5; } }

.scn-gordon-wisdom { background: linear-gradient(180deg, #1a1410 0%, #0f0a06 40%, #080504 80%), radial-gradient(ellipse at 50% 70%, #2a1e14 0%, transparent 60%); }
.scn-gordon-wisdom .bg-shadow { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #1c100c 0%, #0f0806 100%); border-radius: 0 0 30% 30%; box-shadow: inset 0 0 40px rgba(0,0,0,.5); }
.scn-gordon-wisdom .floor-dark { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a0e0a 0%, #0c0604 100%); }
.scn-gordon-wisdom .window-night { position:absolute; top:5%; left:50%; width:160px; height:200px; transform:translateX(-50%); background: linear-gradient(180deg, #0a1420 0%, #1c2a3a 100%); border: 4px solid #2e1e16; border-radius: 2px; box-shadow: inset 0 0 60px rgba(0,0,0,.4); animation: gw-window 15s ease-in-out infinite alternate; }
.scn-gordon-wisdom .figure-gordon-silhouette { position:absolute; bottom:20%; left:25%; width:45px; height:110px; background: linear-gradient(180deg, #0c0806 0%, #060404 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: gw-figure 6s ease-in-out infinite; }
.scn-gordon-wisdom .lamp { position:absolute; bottom:28%; left:45%; width:20px; height:30px; background: linear-gradient(180deg, #ece0b0 0%, #c8a870 100%); border-radius: 50% 50% 10% 10% / 40% 40% 10% 10%; box-shadow: 0 0 40px 12px rgba(255,200,100,.5), 0 0 80px 20px rgba(255,200,100,.2); animation: gw-lamp 4s ease-in-out infinite alternate; }
.scn-gordon-wisdom .boat-model { position:absolute; bottom:22%; left:68%; width:50px; height:20px; background: linear-gradient(180deg, #3a2a1a 0%, #1c100c 100%); border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: gw-boat 8s ease-in-out infinite; }
.scn-gordon-wisdom .map-scroll { position:absolute; bottom:15%; left:60%; width:30px; height:40px; background: linear-gradient(180deg, #d4b890 0%, #b89a70 100%); border-radius: 2px; transform: rotate(10deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: gw-map 12s ease-in-out infinite; }
.scn-gordon-wisdom .desk { position:absolute; bottom:10%; left:10%; right:10%; height:12px; background: linear-gradient(180deg, #3a2a1a 0%, #1c100c 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }

@keyframes gw-window { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.6; } }
@keyframes gw-figure { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(1deg) translateX(2px) translateY(-1px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes gw-lamp { 0% { opacity:0.7; box-shadow: 0 0 30px 8px rgba(255,200,100,.4); } 50% { opacity:1; box-shadow: 0 0 60px 16px rgba(255,220,130,.6); } 100% { opacity:0.8; box-shadow: 0 0 40px 10px rgba(255,200,100,.4); } }
@keyframes gw-boat { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(3px) translateY(-1px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes gw-map { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }

/* Scene: illo-slow-power-time */

.scn-illo-slow-power-time {
  background: radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a1210 90%), linear-gradient(180deg, #1e1412 0%, #0f0a08 100%);
}
.scn-illo-slow-power-time .bg-room {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, #1a1210 0%, #0f0a08 100%); animation: t1-bg 12s ease-in-out infinite alternate;
}
.scn-illo-slow-power-time .wall-shadow {
  position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, #1e1412 0%, transparent 100%); opacity: 0.6;
}
.scn-illo-slow-power-time .table {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 12px; transform: translateX(-50%); background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%); border-radius: 4px; box-shadow: 0 4px 15px rgba(0,0,0,0.6);
}
.scn-illo-slow-power-time .hourglass {
  position: absolute; bottom: 26%; left: 42%; width: 14px; height: 22px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 20% 20% 10% 10%; transform: rotate(-5deg); animation: t1-sand 6s ease-in-out infinite;
}
.scn-illo-slow-power-time .candle {
  position: absolute; bottom: 26%; left: 55%; width: 8px; height: 28px; background: linear-gradient(180deg, #e0c060 0%, #8a6a2a 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%); box-shadow: 0 0 8px 2px #ffc040; animation: t1-candle 3s ease-in-out infinite alternate;
}
.scn-illo-slow-power-time .candle-glow {
  position: absolute; bottom: 22%; left: 55%; width: 40px; height: 40px; transform: translateX(-50%); background: radial-gradient(circle, rgba(255,192,64,0.4) 0%, transparent 70%); border-radius: 50%; animation: t1-glow 3s ease-in-out infinite alternate;
}
.scn-illo-slow-power-time .figure {
  position: absolute; bottom: 18%; left: 48%; width: 20px; height: 40px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: t1-figure 8s ease-in-out infinite;
}
.scn-illo-slow-power-time .figure-shadow {
  position: absolute; bottom: 8%; left: 42%; width: 50px; height: 10px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); transform: rotate(10deg); animation: t1-shadow 8s ease-in-out infinite;
}
@keyframes t1-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes t1-sand { 0% { transform: translateY(0) rotate(-5deg) scaleY(1); } 50% { transform: translateY(2px) rotate(-4deg) scaleY(0.95); } 100% { transform: translateY(0) rotate(-5deg) scaleY(1); } }
@keyframes t1-candle { 0% { transform: translateX(-50%) scaleY(1) rotate(0deg); box-shadow: 0 0 6px 1px #ffc040; } 50% { transform: translateX(-50%) scaleY(1.05) rotate(1deg); box-shadow: 0 0 10px 3px #ffc040; } 100% { transform: translateX(-50%) scaleY(0.98) rotate(-1deg); box-shadow: 0 0 6px 1px #ffc040; } }
@keyframes t1-glow { 0% { opacity: 0.5; transform: translateX(-50%) scale(0.9); } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.6; transform: translateX(-50%) scale(0.95); } }
@keyframes t1-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(0deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes t1-shadow { 0% { transform: scaleX(1) rotate(10deg); opacity: 0.6; } 50% { transform: scaleX(1.1) rotate(12deg); opacity: 0.8; } 100% { transform: scaleX(0.95) rotate(8deg); opacity: 0.6; } }

/* Scene: tertsky-sesina-rebel */

.scn-tertsky-sesina-rebel {
  background: radial-gradient(ellipse at 50% 50%, #1a1a2e 0%, #0a0a14 90%), linear-gradient(180deg, #141422 0%, #08080f 100%);
}
.scn-tertsky-sesina-rebel .bg-cell {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e1e32 0%, #0a0a14 100%); animation: t2-bg 8s ease-in-out infinite alternate;
}
.scn-tertsky-sesina-rebel .bars-left {
  position: absolute; top: 10%; left: 15%; width: 4px; height: 80%; background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%); border-radius: 2px; box-shadow: 8px 0 0 #3a3a5a, 16px 0 0 #4a4a6a; animation: t2-bars 4s ease-in-out infinite alternate;
}
.scn-tertsky-sesina-rebel .bars-right {
  position: absolute; top: 10%; right: 15%; width: 4px; height: 80%; background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%); border-radius: 2px; box-shadow: -8px 0 0 #3a3a5a, -16px 0 0 #4a4a6a; animation: t2-bars 4s ease-in-out infinite alternate-reverse;
}
.scn-tertsky-sesina-rebel .figure-chained {
  position: absolute; bottom: 15%; left: 45%; width: 22px; height: 42px; background: linear-gradient(180deg, #1e1a2e 0%, #0c0a18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: t2-figure 1.5s ease-in-out infinite;
}
.scn-tertsky-sesina-rebel .chain {
  position: absolute; bottom: 44%; left: 40%; width: 30px; height: 4px; background: linear-gradient(180deg, #6a6a8a 0%, #4a4a6a 100%); border-radius: 2px; transform: rotate(30deg); animation: t2-chain 2s ease-in-out infinite alternate;
}
.scn-tertsky-sesina-rebel .lantern {
  position: absolute; top: 15%; left: 48%; width: 16px; height: 24px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 12px 4px #8a6a3a; transform: translateX(-50%); animation: t2-lantern 2.5s ease-in-out infinite alternate;
}
.scn-tertsky-sesina-rebel .lantern-glow {
  position: absolute; top: 10%; left: 48%; width: 50px; height: 50px; transform: translateX(-50%); background: radial-gradient(circle, rgba(138,106,58,0.4) 0%, transparent 70%); border-radius: 50%; animation: t2-glow 2.5s ease-in-out infinite alternate;
}
.scn-tertsky-sesina-rebel .floor-shadow {
  position: absolute; bottom: 5%; left: 30%; width: 80px; height: 12px; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%); transform: rotate(-5deg); animation: t2-shadow 1.5s ease-in-out infinite;
}
@keyframes t2-bg { 0% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes t2-bars { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(1px) scaleY(0.98); } 100% { transform: translateX(-1px) scaleY(1); } }
@keyframes t2-figure { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes t2-chain { 0% { transform: rotate(25deg) translateY(0); } 100% { transform: rotate(35deg) translateY(-1px); } }
@keyframes t2-lantern { 0% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes t2-glow { 0% { opacity: 0.4; transform: translateX(-50%) scale(0.9); } 50% { opacity: 0.8; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.5; transform: translateX(-50%) scale(0.95); } }
@keyframes t2-shadow { 0% { transform: scaleX(1) rotate(-5deg); opacity: 0.5; } 50% { transform: scaleX(1.2) rotate(-3deg); opacity: 0.8; } 100% { transform: scaleX(0.9) rotate(-6deg); opacity: 0.5; } }

/* Scene: wallenstein-must-realize */

.scn-wallenstein-must-realize {
  background: radial-gradient(ellipse at 50% 20%, #3a2a1a 0%, #1a1210 90%), linear-gradient(180deg, #221a14 0%, #0f0a08 100%);
}
.scn-wallenstein-must-realize .bg-study {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1e14 0%, #1a1210 100%); animation: t3-bg 10s ease-in-out infinite alternate;
}
.scn-wallenstein-must-realize .desk {
  position: absolute; bottom: 18%; left: 35%; width: 120px; height: 10px; background: linear-gradient(180deg, #4a321a 0%, #2a1a0e 100%); border-radius: 4px; box-shadow: 0 3px 10px rgba(0,0,0,0.5); transform: translateX(-50%);
}
.scn-wallenstein-must-realize .papers {
  position: absolute; bottom: 24%; left: 28%; width: 30px; height: 20px; background: linear-gradient(180deg, #e0d0b0 0%, #b0a080 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.3); animation: t3-papers 5s ease-in-out infinite alternate;
}
.scn-wallenstein-must-realize .lamp {
  position: absolute; bottom: 28%; left: 65%; width: 10px; height: 30px; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%) rotate(-5deg); box-shadow: 0 0 6px 2px #c0a060;
}
.scn-wallenstein-must-realize .lamp-glow {
  position: absolute; bottom: 22%; left: 65%; width: 50px; height: 50px; transform: translateX(-50%); background: radial-gradient(circle, rgba(192,160,96,0.3) 0%, transparent 70%); border-radius: 50%; animation: t3-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-must-realize .figure-despair {
  position: absolute; bottom: 14%; left: 45%; width: 24px; height: 45px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: t3-figure 7s ease-in-out infinite;
}
.scn-wallenstein-must-realize .chair {
  position: absolute; bottom: 12%; left: 38%; width: 30px; height: 8px; background: linear-gradient(180deg, #4a321a 0%, #2a1a0e 100%); border-radius: 2px; transform: rotate(-3deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: t3-chair 7s ease-in-out infinite;
}
@keyframes t3-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes t3-papers { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-1px); } 100% { transform: rotate(-12deg) translateY(1px); } }
@keyframes t3-glow { 0% { opacity: 0.4; transform: translateX(-50%) scale(0.9); } 100% { opacity: 0.7; transform: translateX(-50%) scale(1.1); } }
@keyframes t3-figure { 0% { transform: translateY(0) rotate(-3deg) scaleY(1); } 50% { transform: translateY(2px) rotate(0deg) scaleY(0.98); } 100% { transform: translateY(0) rotate(3deg) scaleY(1); } }
@keyframes t3-chair { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(1px); } 100% { transform: rotate(-5deg) translateY(-1px); } }

/* Scene: illo-now-before-ward */

.scn-illo-now-before-ward {
  background: radial-gradient(ellipse at 40% 50%, #2a2a1e 0%, #0f0f0a 90%), linear-gradient(180deg, #1e1e14 0%, #0a0a05 100%);
}
.scn-illo-now-before-ward .bg-chamber {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a0e 0%, #0f0f0a 100%); animation: t4-bg 6s ease-in-out infinite alternate;
}
.scn-illo-now-before-ward .desk {
  position: absolute; bottom: 15%; left: 30%; width: 130px; height: 10px; background: linear-gradient(180deg, #3a321a 0%, #1a120a 100%); border-radius: 4px; box-shadow: 0 3px 12px rgba(0,0,0,0.5); transform: translateX(-50%);
}
.scn-illo-now-before-ward .document {
  position: absolute; bottom: 22%; left: 28%; width: 40px; height: 26px; background: linear-gradient(180deg, #e8d8b8 0%, #b8a888 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.3); animation: t4-doc 3s ease-in-out infinite alternate;
}
.scn-illo-now-before-ward .candle-flare {
  position: absolute; bottom: 28%; left: 55%; width: 8px; height: 30px; background: linear-gradient(180deg, #e8c060 0%, #8a6a2a 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%) rotate(3deg); box-shadow: 0 0 10px 3px #ffc040; animation: t4-candle 1.5s ease-in-out infinite alternate;
}
.scn-illo-now-before-ward .candle-glow {
  position: absolute; bottom: 22%; left: 55%; width: 60px; height: 60px; transform: translateX(-50%); background: radial-gradient(circle, rgba(255,192,64,0.3) 0%, transparent 70%); border-radius: 50%; animation: t4-glow 1.5s ease-in-out infinite alternate;
}
.scn-illo-now-before-ward .hand-reaching {
  position: absolute; bottom: 24%; left: 22%; width: 20px; height: 30px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(20deg); transform-origin: bottom right; animation: t4-hand 2.5s ease-in-out infinite;
}
.scn-illo-now-before-ward .hand-shadow {
  position: absolute; bottom: 10%; left: 15%; width: 60px; height: 8px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); transform: rotate(15deg); animation: t4-shadow 2.5s ease-in-out infinite;
}
@keyframes t4-bg { 0% { opacity: 0.9; } 50% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes t4-doc { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(1px); } 100% { transform: rotate(-8deg) translateY(-1px); } }
@keyframes t4-candle { 0% { transform: translateX(-50%) rotate(3deg) scaleY(1); box-shadow: 0 0 8px 2px #ffc040; } 50% { transform: translateX(-50%) rotate(5deg) scaleY(1.1); box-shadow: 0 0 14px 4px #ffc040; } 100% { transform: translateX(-50%) rotate(1deg) scaleY(0.95); box-shadow: 0 0 6px 1px #ffc040; } }
@keyframes t4-glow { 0% { opacity: 0.4; transform: translateX(-50%) scale(0.9); } 50% { opacity: 0.9; transform: translateX(-50%) scale(1.2); } 100% { opacity: 0.5; transform: translateX(-50%) scale(0.95); } }
@keyframes t4-hand { 0% { transform: rotate(20deg) translateX(0); } 30% { transform: rotate(15deg) translateX(10px); } 60% { transform: rotate(10deg) translateX(20px); } 100% { transform: rotate(20deg) translateX(0); } }
@keyframes t4-shadow { 0% { transform: rotate(15deg) scaleX(1); opacity: 0.4; } 30% { transform: rotate(10deg) scaleX(1.3); opacity: 0.7; } 60% { transform: rotate(5deg) scaleX(1.5); opacity: 0.8; } 100% { transform: rotate(15deg) scaleX(1); opacity: 0.4; } }

/* butler-bribes-with-reward */

.scn-butler-bribes-with-reward {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 40%, #1a0a0a 100%),
    radial-gradient(ellipse at 30% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-butler-bribes-with-reward .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  animation: bw-wall 20s ease-in-out infinite alternate;
}
.scn-butler-bribes-with-reward .table {
  position: absolute; bottom: 20%; left: 30%; right: 20%; height: 5%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: 0 4px 12px #00000066;
  border-radius: 2px;
}
.scn-butler-bribes-with-reward .candle {
  position: absolute; bottom: 25%; left: 42%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #e0c080 0%, #a08050 100%);
  border-radius: 50% 50% 10% 10%;
  animation: bw-candle 2s ease-in-out infinite alternate;
}
.scn-butler-bribes-with-reward .candle-glow {
  position: absolute; bottom: 25%; left: 42%; width: 80px; height: 80px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at center, #c08040 0%, #a06030 30%, transparent 70%);
  animation: bw-glow 3s ease-in-out infinite alternate;
}
.scn-butler-bribes-with-reward .reward-pouch {
  position: absolute; bottom: 24%; left: 42%; width: 30px; height: 20px;
  transform: translateX(20px);
  background: linear-gradient(180deg, #5e3a1a 0%, #3a2a0a 100%);
  border-radius: 30% 30% 50% 50%;
  box-shadow: 0 2px 8px #00000099;
  animation: bw-pouch 4s ease-in-out infinite;
}
.scn-butler-bribes-with-reward .figure-butler {
  position: absolute; bottom: 18%; left: 40%; width: 40px; height: 80px;
  transform: translateX(-20%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  box-shadow: -4px 0 8px #00000044;
  animation: bw-butler 6s ease-in-out infinite;
}
.scn-butler-bribes-with-reward .figure-devereux {
  position: absolute; bottom: 18%; right: 30%; width: 38px; height: 76px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 35% 35% 20% 20% / 45% 45% 25% 25%;
  box-shadow: 4px 0 8px #00000044;
  animation: bw-devereux 8s ease-in-out infinite;
}
@keyframes bw-wall { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes bw-candle { 0% { height: 30px; opacity: 0.9; } 50% { height: 32px; opacity: 1; } 100% { height: 30px; opacity: 0.95; } }
@keyframes bw-glow { 0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.6; } 50% { transform: translate(-50%, -50%) scale(1.1); opacity: 0.8; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; } }
@keyframes bw-pouch { 0% { transform: translateX(20px) rotate(0deg); } 50% { transform: translateX(22px) rotate(3deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes bw-butler { 0% { transform: translateX(-20%) translateY(0); } 33% { transform: translateX(-18%) translateY(-2px); } 66% { transform: translateX(-22%) translateY(0); } 100% { transform: translateX(-20%) translateY(0); } }
@keyframes bw-devereux { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(-1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }

/* butler-tells-of-walls-ruin */

.scn-butler-tells-of-walls-ruin {
  background:
    linear-gradient(180deg, #0d0d1a 0%, #1a0d0d 40%, #0a0505 100%),
    radial-gradient(ellipse at 70% 60%, #1a1a2e 0%, transparent 50%);
}
.scn-butler-tells-of-walls-ruin .bg-dark {
  position: absolute; inset: 0;
  background: #0a0a14;
  opacity: 0.6;
}
.scn-butler-tells-of-walls-ruin .wall-ruin {
  position: absolute; bottom: 25%; left: 10%; right: 20%; height: 40%;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 0 20% 0 0;
  clip-path: polygon(0 0, 80% 5%, 100% 100%, 0% 100%);
  box-shadow: inset 0 0 20px #00000088;
  animation: wr-wall 15s ease-in-out infinite alternate;
}
.scn-butler-tells-of-walls-ruin .rubble {
  position: absolute; bottom: 20%; left: 15%; right: 25%; height: 8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 30% 50% 20% 40% / 60% 40% 30% 50%;
  filter: blur(2px);
  animation: wr-rubble 25s linear infinite;
}
.scn-butler-tells-of-walls-ruin .lantern {
  position: absolute; bottom: 40%; left: 25%; width: 14px; height: 24px;
  background: linear-gradient(180deg, #c08050 0%, #a06030 100%);
  border-radius: 20%;
  box-shadow: 0 0 12px 4px #c08040;
  animation: wr-lantern 4s ease-in-out infinite alternate;
}
.scn-butler-tells-of-walls-ruin .lantern-glow {
  position: absolute; bottom: 38%; left: 25%; width: 100px; height: 100px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #c08040 0%, #a06030 30%, transparent 70%);
  opacity: 0.5;
  animation: wr-glow 3s ease-in-out infinite alternate;
}
.scn-butler-tells-of-walls-ruin .figure-butler {
  position: absolute; bottom: 20%; left: 30%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 30% 30% 15% 15% / 40% 40% 30% 30%;
  transform: translateX(-50%) rotate(10deg);
  animation: wr-figure-b 7s ease-in-out infinite;
}
.scn-butler-tells-of-walls-ruin .figure-macdonald {
  position: absolute; bottom: 20%; left: 50%; width: 34px; height: 68px;
  background: linear-gradient(180deg, #0a0a1a 0%, #050510 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: translateX(-50%) rotate(-5deg);
  animation: wr-figure-m 10s ease-in-out infinite;
}
@keyframes wr-wall { 0% { transform: scale(1); opacity: 0.7; } 50% { transform: scale(1.02); opacity: 0.9; } 100% { transform: scale(1); opacity: 0.8; } }
@keyframes wr-rubble { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(0.98); } 100% { transform: translateY(0) scale(1); } }
@keyframes wr-lantern { 0% { filter: brightness(0.7); } 50% { filter: brightness(1.2); } 100% { filter: brightness(0.9); } }
@keyframes wr-glow { 0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.8); } 50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.2); } 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); } }
@keyframes wr-figure-b { 0% { transform: translateX(-50%) rotate(10deg) translateY(0); } 50% { transform: translateX(-50%) rotate(8deg) translateY(-3px); } 100% { transform: translateX(-50%) rotate(10deg) translateY(0); } }
@keyframes wr-figure-m { 0% { transform: translateX(-50%) rotate(-5deg) translateY(0); } 50% { transform: translateX(-50%) rotate(-3deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(-5deg) translateY(0); } }

/* devereux-hesitates */

.scn-devereux-hesitates {
  background:
    linear-gradient(180deg, #12101e 0%, #1a0e0e 30%, #0a0505 100%),
    radial-gradient(ellipse at 30% 40%, #2a1a2a 0%, transparent 50%);
}
.scn-devereux-hesitates .bg-shadow {
  position: absolute; inset: 0;
  background: #08080e;
  opacity: 0.4;
  animation: dh-shade 12s ease-in-out infinite alternate;
}
.scn-devereux-hesitates .candle {
  position: absolute; bottom: 30%; left: 20%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #e0c080 0%, #a08050 100%);
  border-radius: 50% 50% 10% 10%;
  animation: dh-candle 2.5s ease-in-out infinite alternate;
}
.scn-devereux-hesitates .candle-glow {
  position: absolute; bottom: 28%; left: 20%; width: 100px; height: 100px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #b08040 0%, #804020 30%, transparent 70%);
  animation: dh-glow 3s ease-in-out infinite alternate;
}
.scn-devereux-hesitates .figure-devereux {
  position: absolute; bottom: 20%; left: 40%; width: 42px; height: 84px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform: translateX(-50%) rotate(-5deg);
  animation: dh-devereux 6s ease-in-out infinite;
}
.scn-devereux-hesitates .figure-butler {
  position: absolute; bottom: 20%; left: 25%; width: 36px; height: 72px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: translateX(-50%) rotate(12deg);
  animation: dh-butler 8s ease-in-out infinite;
}
.scn-devereux-hesitates .figure-macdonald {
  position: absolute; bottom: 20%; left: 60%; width: 34px; height: 68px;
  background: linear-gradient(180deg, #0a0a1a 0%, #050510 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: translateX(-50%) rotate(-8deg);
  animation: dh-macdonald 10s ease-in-out infinite;
}
.scn-devereux-hesitates .shadow {
  position: absolute; bottom: 18%; left: 30%; right: 20%; height: 10%;
  background: #00000044;
  border-radius: 40%;
  filter: blur(8px);
  animation: dh-shadow 5s ease-in-out infinite alternate;
}
@keyframes dh-shade { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.35; } }
@keyframes dh-candle { 0% { height: 30px; transform: scaleY(1); } 50% { height: 32px; transform: scaleY(1.05); } 100% { height: 30px; transform: scaleY(1); } }
@keyframes dh-glow { 0% { transform: translate(-50%, -50%) scale(0.85); opacity: 0.5; } 50% { transform: translate(-50%, -50%) scale(1.15); opacity: 0.8; } 100% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.6; } }
@keyframes dh-devereux { 0% { transform: translateX(-50%) rotate(-5deg) translateY(0); } 33% { transform: translateX(-50%) rotate(-7deg) translateY(-3px); } 66% { transform: translateX(-50%) rotate(-3deg) translateY(0); } 100% { transform: translateX(-50%) rotate(-5deg) translateY(0); } }
@keyframes dh-butler { 0% { transform: translateX(-50%) rotate(12deg) translateY(0); } 50% { transform: translateX(-50%) rotate(10deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(12deg) translateY(0); } }
@keyframes dh-macdonald { 0% { transform: translateX(-50%) rotate(-8deg) translateY(0); } 50% { transform: translateX(-50%) rotate(-6deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(-8deg) translateY(0); } }
@keyframes dh-shadow { 0% { transform: scaleY(1); opacity: 0.4; } 50% { transform: scaleY(1.2); opacity: 0.6; } 100% { transform: scaleY(1); opacity: 0.45; } }

/* devereux-considers-duty */

.scn-devereux-considers-duty {
  background:
    linear-gradient(180deg, #0f0f1a 0%, #1a0a0a 30%, #0a0505 100%),
    radial-gradient(ellipse at 50% 30%, #2a1a2a 0%, transparent 50%);
}
.scn-devereux-considers-duty .bg-dark {
  position: absolute; inset: 0;
  background: #08080f;
  opacity: 0.5;
}
.scn-devereux-considers-duty .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  box-shadow: inset 0 8px 12px #00000044;
  animation: dc-floor 20s ease-in-out infinite alternate;
}
.scn-devereux-considers-duty .altar {
  position: absolute; bottom: 25%; left: 40%; right: 30%; height: 40%;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 10px #00000088;
  animation: dc-altar 15s ease-in-out infinite alternate;
}
.scn-devereux-considers-duty .figure-kneeling {
  position: absolute; bottom: 25%; left: 45%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 15% 15% / 40% 40% 25% 25%;
  transform: translateX(-50%) rotate(0deg);
  animation: dc-kneeling 7s ease-in-out infinite;
}
.scn-devereux-considers-duty .figure-standing {
  position: absolute; bottom: 30%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: translateX(-50%) rotate(8deg);
  animation: dc-standing 9s ease-in-out infinite;
}
.scn-devereux-considers-duty .light-beam {
  position: absolute; top: 0; left: 30%; right: 30%; bottom: 30%;
  background: linear-gradient(180deg, rgba(192, 160, 80, 0.3) 0%, rgba(192, 160, 80, 0) 100%);
  clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%);
  animation: dc-beam 6s ease-in-out infinite alternate;
}
.scn-devereux-considers-duty .candle {
  position: absolute; bottom: 40%; left: 50%; width: 6px; height: 28px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #e0c080 0%, #a08050 100%);
  border-radius: 50% 50% 10% 10%;
  animation: dc-candle 2.8s ease-in-out infinite alternate;
}
@keyframes dc-floor { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.7; } }
@keyframes dc-altar { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes dc-kneeling { 0% { transform: translateX(-50%) rotate(0deg) translateY(0); } 33% { transform: translateX(-50%) rotate(-2deg) translateY(-2px); } 66% { transform: translateX(-50%) rotate(1deg) translateY(0); } 100% { transform: translateX(-50%) rotate(0deg) translateY(0); } }
@keyframes dc-standing { 0% { transform: translateX(-50%) rotate(8deg) translateY(0); } 50% { transform: translateX(-50%) rotate(6deg) translateY(-3px); } 100% { transform: translateX(-50%) rotate(8deg) translateY(0); } }
@keyframes dc-beam { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }
@keyframes dc-candle { 0% { height: 28px; opacity: 0.8; } 50% { height: 30px; opacity: 1; } 100% { height: 28px; opacity: 0.9; } }

/* isolani-teases-max — funny dim‑interior */

.scn-isolani-teases-max {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 60%, #1a0e04 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 80%);
}
.scn-isolani-teases-max .bg-dim { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a3e2e 0%, transparent 100%); }
.scn-isolani-teases-max .desk { position:absolute; bottom:18%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6% 6% 2% 2%; box-shadow: 0 -4px 10px rgba(0,0,0,.6); }
.scn-isolani-teases-max .paper-tilt { position:absolute; bottom:28%; left:38%; width:22%; height:10%; background: linear-gradient(160deg, #e8dcc8 0%, #c8b8a0 100%); border-radius: 4%; transform: rotate(-4deg); box-shadow: 1px 2px 6px rgba(0,0,0,.4); animation: iso-paper 5s ease-in-out infinite alternate; }
.scn-isolani-teases-max .figure-max { position:absolute; bottom:20%; left:44%; width:22px; height:48px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: iso-max 6s ease-in-out infinite; }
.scn-isolani-teases-max .figure-isolani { position:absolute; bottom:22%; left:62%; width:26px; height:52px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 45% 55% 40% 40% / 55% 65% 35% 35%; transform-origin: bottom center; animation: iso-isolani 4s ease-in-out infinite; }
.scn-isolani-teases-max .lantern-glow { position:absolute; bottom:40%; left:20%; width:8px; height:8px; background: radial-gradient(circle, #ffc060 0%, #b08030 70%); border-radius:50%; box-shadow: 0 0 20px 6px #b08030, 0 0 40px 14px rgba(176,128,48,.4); animation: iso-glow 2s ease-in-out infinite alternate; }
.scn-isolani-teases-max .candle-flicker { position:absolute; bottom:42%; left:70%; width:4px; height:12px; background: linear-gradient(180deg, #ffd080 0%, #c08030 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 12px 4px rgba(192,128,48,.6); animation: iso-candle 1.5s ease-in-out infinite; }
.scn-isolani-teases-max .drift-shadow { position:absolute; bottom:15%; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%); animation: iso-shadow 8s ease-in-out infinite alternate; }
@keyframes iso-paper { 0% { transform: rotate(-4deg) translateX(0); } 50% { transform: rotate(2deg) translateX(3px); } 100% { transform: rotate(-6deg) translateX(-2px); } }
@keyframes iso-max { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-2px) rotate(-2deg); } 70% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(-1px) rotate(0); } }
@keyframes iso-isolani { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(3deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 75% { transform: translateX(8px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes iso-glow { 0% { box-shadow: 0 0 16px 4px #b08030, 0 0 32px 10px rgba(176,128,48,.3); opacity:.9; } 50% { box-shadow: 0 0 24px 8px #d09040, 0 0 48px 16px rgba(208,144,64,.5); opacity:1; } 100% { box-shadow: 0 0 20px 5px #b08030, 0 0 38px 12px rgba(176,128,48,.35); opacity:.85; } }
@keyframes iso-candle { 0% { height:12px; opacity:.8; } 25% { height:14px; opacity:1; } 50% { height:10px; opacity:.7; } 75% { height:13px; opacity:1; } 100% { height:12px; opacity:.85; } }
@keyframes iso-shadow { 0% { opacity:.3; } 50% { opacity:.5; } 100% { opacity:.2; } }

/* max-declines-sign — tense dim‑interior */

.scn-max-declines-sign {
  background:
    linear-gradient(180deg, #2a1a10 0%, #1a0e04 50%, #0a0400 100%),
    radial-gradient(ellipse at 40% 50%, #3a2a1a 0%, transparent 70%);
}
.scn-max-declines-sign .bg-close { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, transparent 100%); }
.scn-max-declines-sign .table { position:absolute; bottom:18%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 8% 8% 2% 2%; box-shadow: 0 -6px 12px rgba(0,0,0,.7); }
.scn-max-declines-sign .document { position:absolute; bottom:24%; left:40%; width:20%; height:8%; background: linear-gradient(160deg, #d8c8b0 0%, #b8a888 100%); border-radius: 2%; transform: rotate(-2deg); box-shadow: 1px 1px 4px rgba(0,0,0,.5); animation: mds-doc 3s ease-in-out infinite alternate; }
.scn-max-declines-sign .figure-max { position:absolute; bottom:20%; left:42%; width:20px; height:46px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mds-max 4s ease-in-out infinite; }
.scn-max-declines-sign .figure-tertsky { position:absolute; bottom:22%; left:28%; width:24px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e04 100%); border-radius: 48% 52% 38% 42% / 58% 62% 38% 42%; transform-origin: bottom center; animation: mds-tertsky 5s ease-in-out infinite; }
.scn-max-declines-sign .figure-isolani { position:absolute; bottom:23%; left:58%; width:22px; height:48px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mds-isolani 6s ease-in-out infinite; }
.scn-max-declines-sign .candle-stand { position:absolute; bottom:26%; left:70%; width:6px; height:20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10%; }
.scn-max-declines-sign .inkwell { position:absolute; bottom:22%; left:36%; width:12px; height:10px; background: radial-gradient(circle, #1a1a2a 0%, #0a0a1a 100%); border-radius: 30%; box-shadow: 0 2px 4px rgba(0,0,0,.6); animation: mds-ink 8s ease-in-out infinite alternate; }
@keyframes mds-doc { 0% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(0deg) scale(1.02); } 100% { transform: rotate(-4deg) scale(0.98); } }
@keyframes mds-max { 0% { transform: translateY(0) rotate(0); } 20% { transform: translateY(-1px) rotate(2deg); } 60% { transform: translateY(1px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mds-tertsky { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(4px) rotate(2deg); } 70% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mds-isolani { 0% { transform: translateY(0) rotate(-1deg); } 40% { transform: translateY(-2px) rotate(1deg); } 80% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes mds-ink { 0% { transform: translateY(0); opacity:.7; } 50% { transform: translateY(-3px); opacity:1; } 100% { transform: translateY(0); opacity:.8; } }

/* octavio-discretion — tense dim‑interior (older figure, calm deliberation) */

.scn-octavio-discretion {
  background:
    linear-gradient(180deg, #2e1e12 0%, #1a0e06 50%, #0a0400 100%),
    radial-gradient(ellipse at 60% 40%, #3a2a1c 0%, transparent 70%);
}
.scn-octavio-discretion .bg-murky { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3e2e1e 0%, transparent 100%); }
.scn-octavio-discretion .sideboard { position:absolute; bottom:15%; left:10%; right:60%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 6% 6% 2% 2%; box-shadow: 0 -6px 14px rgba(0,0,0,.7); }
.scn-octavio-discretion .service-cup { position:absolute; bottom:28%; left:15%; width:10%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: oct-cup 9s ease-in-out infinite alternate; }
.scn-octavio-discretion .figure-octavio { position:absolute; bottom:20%; left:35%; width:24px; height:52px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oct-oct 7s ease-in-out infinite; }
.scn-octavio-discretion .figure-tertsky { position:absolute; bottom:22%; left:48%; width:22px; height:46px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e04 100%); border-radius: 48% 52% 38% 42% / 58% 62% 38% 42%; transform-origin: bottom center; animation: oct-ter 5s ease-in-out infinite; }
.scn-octavio-discretion .figure-illo { position:absolute; bottom:21%; left:60%; width:26px; height:50px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0400 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oct-illo 4s ease-in-out infinite; }
.scn-octavio-discretion .parchment-roll { position:absolute; bottom:26%; left:42%; width:14%; height:6%; background: radial-gradient(ellipse, #d8c8b0 0%, #b8a888 80%); border-radius: 20%; box-shadow: 0 1px 3px rgba(0,0,0,.4); animation: oct-roll 12s ease-in-out infinite alternate; }
.scn-octavio-discretion .wall-torch { position:absolute; bottom:55%; left:80%; width:8px; height:16px; background: linear-gradient(180deg, #ffc060 0%, #b08030 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 6px #b08030; animation: oct-torch 3s ease-in-out infinite alternate; }
@keyframes oct-cup { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes oct-oct { 0% { transform: translateY(0) rotate(0); } 33% { transform: translateY(-1px) rotate(1deg); } 66% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes oct-ter { 0% { transform: translateX(0) rotate(0); } 40% { transform: translateX(3px) rotate(2deg); } 80% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes oct-illo { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-2px) rotate(1deg); } 70% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes oct-roll { 0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.05) translateX(2px); } 100% { transform: scaleX(0.95) translateX(-2px); } }
@keyframes oct-torch { 0% { opacity:.7; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.1); } 100% { opacity:.8; transform: scaleY(0.9); } }

/* illo-forces-max — tense, crowded dim‑interior */

.scn-illo-forces-max {
  background:
    linear-gradient(180deg, #1a0e04 0%, #0a0400 50%, #000000 100%),
    radial-gradient(ellipse at 50% 30%, #2a1a0a 0%, transparent 70%);
}
.scn-illo-forces-max .bg-crowded { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a1a0e 0%, transparent 100%); }
.scn-illo-forces-max .desk-slate { position:absolute; bottom:15%; left:20%; right:20%; height:14%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e04 100%); border-radius: 6% 6% 2% 2%; box-shadow: 0 -8px 16px rgba(0,0,0,.8); }
.scn-illo-forces-max .paper-thrust { position:absolute; bottom:22%; left:38%; width:24%; height:10%; background: linear-gradient(160deg, #d8c8b0 0%, #b8a888 100%); border-radius: 2%; transform: rotate(5deg); box-shadow: 2px 2px 6px rgba(0,0,0,.6); animation: ifm-paper 2s ease-in-out infinite alternate; }
.scn-illo-forces-max .figure-illo { position:absolute; bottom:18%; left:34%; width:28px; height:56px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0400 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ifm-illo 3s ease-in-out infinite; }
.scn-illo-forces-max .figure-max { position:absolute; bottom:20%; left:48%; width:20px; height:46px; background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ifm-max 2.5s ease-in-out infinite; }
.scn-illo-forces-max .figure-tertsky { position:absolute; bottom:19%; left:58%; width:24px; height:48px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e04 100%); border-radius: 48% 52% 38% 42% / 58% 62% 38% 42%; transform-origin: bottom center; animation: ifm-ter 4s ease-in-out infinite; }
.scn-illo-forces-max .figure-others { position:absolute; bottom:20%; left:68%; width:18px; height:42px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0400 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ifm-others 5s ease-in-out infinite; }
.scn-illo-forces-max .chandelier { position:absolute; top:10%; left:40%; right:40%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 60% 60% 20% 20%; box-shadow: 0 0 30px 8px rgba(176,128,48,.3); animation: ifm-chand 6s ease-in-out infinite alternate; }
@keyframes ifm-paper { 0% { transform: rotate(5deg) scale(1); } 50% { transform: rotate(-2deg) scale(1.05); } 100% { transform: rotate(8deg) scale(0.95); } }
@keyframes ifm-illo { 0% { transform: translateY(0) rotate(2deg); } 30% { transform: translateY(-4px) rotate(-3deg); } 70% { transform: translateY(2px) rotate(4deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes ifm-max { 0% { transform: translateY(0) rotate(-1deg); } 40% { transform: translateY(2px) rotate(3deg); } 80% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ifm-ter { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(5px) rotate(2deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ifm-others { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes ifm-chand { 0% { box-shadow: 0 0 20px 4px rgba(176,128,48,.2); } 50% { box-shadow: 0 0 40px 12px rgba(176,128,48,.5); } 100% { box-shadow: 0 0 25px 6px rgba(176,128,48,.3); } }

.scn-max-challenges-father {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 100%), radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 70%);
}
.scn-max-challenges-father .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 40%, #1a1a2e 0%, #0a0a1a 100%); animation: mcf-bg 6s ease-in-out infinite alternate;
}
.scn-max-challenges-father .wall {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 70%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); box-shadow: inset 0 0 30px #00000055; border-radius: 0 0 20% 20%;
}
.scn-max-challenges-father .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #2a1a0a 0%, #1a0a00 100%); box-shadow: inset 0 10px 20px #00000066;
}
.scn-max-challenges-father .lamp {
  position: absolute; bottom: 35%; left: 30%; width: 12px; height: 30px; background: linear-gradient(180deg, #c8a060 0%, #6a4a20 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 10px #80604077; transform: rotate(-5deg); animation: mcf-lamp 8s ease-in-out infinite alternate;
}
.scn-max-challenges-father .glow {
  position: absolute; bottom: 33%; left: 28%; width: 40px; height: 50px; background: radial-gradient(circle, #d0a05077 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #d0a05044; animation: mcf-glow 4s ease-in-out infinite alternate;
}
.scn-max-challenges-father .figure-father {
  position: absolute; bottom: 30%; left: 20%; width: 50px; height: 100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mcf-figf 5s ease-in-out infinite;
}
.scn-max-challenges-father .figure-max {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 90px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mcf-figm 5s ease-in-out infinite 1s;
}
.scn-max-challenges-father .table {
  position: absolute; bottom: 30%; left: 25%; width: 80px; height: 8px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 0 0; box-shadow: 0 2px 6px #00000044;
}
@keyframes mcf-bg {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.02); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes mcf-lamp {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(-3deg); }
  100% { transform: rotate(-7deg); }
}
@keyframes mcf-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes mcf-figf {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(2px) rotate(0deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes mcf-figm {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(-2px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}

.scn-octavio-defends-policy {
  background: linear-gradient(180deg, #1e1a2a 0%, #2a1e1e 100%), radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 60%);
}
.scn-octavio-defends-policy .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 20%, #1a1a2a 0%, #0a0a1a 100%); animation: odp-bg 10s ease-in-out infinite alternate;
}
.scn-octavio-defends-policy .wall {
  position: absolute; bottom: 25%; left: 0; right: 0; height: 75%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); box-shadow: inset 0 0 40px #00000055;
}
.scn-octavio-defends-policy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(0deg, #1a0a00 0%, #0a0000 100%);
}
.scn-octavio-defends-policy .desk {
  position: absolute; bottom: 20%; left: 30%; width: 100px; height: 12px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; transform: rotate(-1deg);
}
.scn-octavio-defends-policy .candle {
  position: absolute; bottom: 32%; left: 35%; width: 8px; height: 20px; background: linear-gradient(180deg, #d0a060 0%, #8a6a20 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 8px #c0804077; animation: odp-candle 3s ease-in-out infinite;
}
.scn-octavio-defends-policy .glow {
  position: absolute; bottom: 30%; left: 33%; width: 30px; height: 40px; background: radial-gradient(circle, #d0a05088 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 8px #d0a05044; animation: odp-glow 5s ease-in-out infinite alternate;
}
.scn-octavio-defends-policy .figure-octavio {
  position: absolute; bottom: 20%; left: 40%; width: 45px; height: 110px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: odp-fig 6s ease-in-out infinite;
}
.scn-octavio-defends-policy .papers {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 20px; background: linear-gradient(135deg, #c8b080 0%, #a08050 100%); border-radius: 2px; box-shadow: 0 1px 3px #00000066; animation: odp-papers 12s ease-in-out infinite;
}
@keyframes odp-bg {
  0% { opacity: 0.8; }
  50% { opacity: 0.85; }
  100% { opacity: 0.7; }
}
@keyframes odp-candle {
  0% { transform: translateY(0) scaleY(1); box-shadow: 0 0 8px #c0804077; }
  50% { transform: translateY(-1px) scaleY(1.05); box-shadow: 0 0 12px #d0a06099; }
  100% { transform: translateY(0) scaleY(1); box-shadow: 0 0 8px #c0804077; }
}
@keyframes odp-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.15); }
  100% { opacity: 0.4; transform: scale(0.9); }
}
@keyframes odp-fig {
  0% { transform: translateX(0) rotate(-1deg); }
  30% { transform: translateX(1px) rotate(0deg); }
  60% { transform: translateX(-1px) rotate(1deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes odp-papers {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.scn-octavio-curse-evil {
  background: linear-gradient(180deg, #0a0a1a 0%, #1a0a0a 100%), radial-gradient(ellipse at 50% 0%, #2a1a1a 0%, transparent 70%);
}
.scn-octavio-curse-evil .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 30%, #0a0a1a 0%, #050510 100%); animation: oce-bg 8s ease-in-out infinite alternate;
}
.scn-octavio-curse-evil .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(0deg, #0a0000 0%, #1a0a0a 100%); box-shadow: inset 0 8px 20px #00000088;
}
.scn-octavio-curse-evil .figure-octavio {
  position: absolute; bottom: 20%; left: 35%; width: 60px; height: 130px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px 10px #00000066; animation: oce-fig 5s ease-in-out infinite;
}
.scn-octavio-curse-evil .shadow-aura {
  position: absolute; bottom: 15%; left: 30%; width: 80px; height: 140px; background: radial-gradient(ellipse, #00000088 0%, transparent 100%); border-radius: 50%; filter: blur(8px); animation: oce-aura 7s ease-in-out infinite;
}
.scn-octavio-curse-evil .glow {
  position: absolute; bottom: 40%; left: 45%; width: 20px; height: 20px; background: radial-gradient(circle, #ff6600aa 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #ff660055; animation: oce-glow 4s ease-in-out infinite alternate;
}
.scn-octavio-curse-evil .debris {
  position: absolute; top: 20%; left: 60%; width: 8px; height: 8px; background: #2a2a2a; border-radius: 50%; filter: blur(2px); animation: oce-deb 12s linear infinite;
}
.scn-octavio-curse-evil .debris-2 {
  position: absolute; top: 40%; left: 20%; width: 6px; height: 6px; background: #3a3a3a; border-radius: 50%; filter: blur(1.5px); animation: oce-deb 15s linear infinite reverse;
}
@keyframes oce-bg {
  0% { opacity: 0.8; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes oce-fig {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(-2deg); }
  50% { transform: translateY(-1px) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes oce-aura {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(0.95); }
}
@keyframes oce-glow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.3); }
  100% { opacity: 0.2; transform: scale(0.8); }
}
@keyframes oce-deb {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(30px) rotate(180deg); }
  100% { transform: translateY(0) rotate(360deg); }
}

.scn-max-torn-father-friend {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 100%), radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 60%);
}
.scn-max-torn-father-friend .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, #0a0a1a 100%); animation: mtf-bg 9s ease-in-out infinite alternate;
}
.scn-max-torn-father-friend .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(0deg, #2a1a0a 0%, #1a0a00 100%);
}
.scn-max-torn-father-friend .shadow-left {
  position: absolute; bottom: 25%; left: 15%; width: 50px; height: 100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; opacity: 0.6; animation: mtf-shadow 6s ease-in-out infinite;
}
.scn-max-torn-father-friend .shadow-right {
  position: absolute; bottom: 25%; left: 55%; width: 50px; height: 100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; opacity: 0.6; animation: mtf-shadow 6s ease-in-out infinite 3s;
}
.scn-max-torn-father-friend .figure-max {
  position: absolute; bottom: 25%; left: 35%; width: 45px; height: 100px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mtf-max 5s ease-in-out infinite;
}
.scn-max-torn-father-friend .glow {
  position: absolute; bottom: 35%; left: 38%; width: 30px; height: 30px; background: radial-gradient(circle, #d0a050aa 0%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #d0a05055; animation: mtf-glow 4s ease-in-out infinite alternate;
}
.scn-max-torn-father-friend .tear {
  position: absolute; bottom: 30%; left: 40%; width: 4px; height: 10px; background: radial-gradient(ellipse at center, #c0b0a0aa 0%, transparent 100%); border-radius: 50%; filter: blur(1px); animation: mtf-tear 8s linear infinite;
}
@keyframes mtf-bg {
  0% { opacity: 0.8; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}
@keyframes mtf-shadow {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.5; }
  50% { transform: translateY(-3px) rotate(2deg); opacity: 0.7; }
}
@keyframes mtf-max {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-2px) rotate(0deg); }
  50% { transform: translateY(0) rotate(2deg); }
  75% { transform: translateY(-1px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes mtf-glow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.2); }
  100% { opacity: 0.3; transform: scale(0.9); }
}
@keyframes mtf-tear {
  0% { transform: translateY(0) scaleY(1); opacity: 0.7; }
  50% { transform: translateY(10px) scaleY(1.5); opacity: 1; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.5; }
}

/* one block per scene id. Append to style.css. */
/* butler-philosophises */

.scn-butler-philosophises {
  background: 
    linear-gradient(135deg, #1a1510 0%, #2a1a0a 30%, #1a1510 100%),
    radial-gradient(ellipse at 30% 70%, #3a2510 0%, transparent 60%);
}
.scn-butler-philosophises .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, transparent 0%, #0a0806 60%, #1a1208 100%);
  animation: bp-wall 12s ease-in-out infinite alternate;
}
.scn-butler-philosophises .candle-glow {
  position: absolute; bottom: 35%; left: 55%; width: 80px; height: 80px;
  background: radial-gradient(circle, #d49a4a 0%, #8a5a20 40%, transparent 70%);
  border-radius: 50%; filter: blur(10px);
  animation: bp-glow 3s ease-in-out infinite alternate;
}
.scn-butler-philosophises .candle {
  position: absolute; bottom: 30%; left: 58%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #f0c080 0%, #a06030 100%);
  border-radius: 2px; transform-origin: bottom center;
  animation: bp-candle 4s ease-in-out infinite;
}
.scn-butler-philosophises .figure {
  position: absolute; bottom: 25%; left: 15%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #1e1a16 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bp-figure 6s ease-in-out infinite;
  box-shadow: -10px 0 20px rgba(0,0,0,0.6);
}
.scn-butler-philosophises .chessboard {
  position: absolute; bottom: 10%; right: 10%; width: 70px; height: 55px;
  background: 
    linear-gradient(45deg, #2a1a0a 25%, #4a3a2a 25% 50%, #2a1a0a 50% 75%, #4a3a2a 75%),
    linear-gradient(45deg, #2a1a0a 25%, #4a3a2a 25% 50%, #2a1a0a 50% 75%, #4a3a2a 75%);
  background-size: 14px 14px, 14px 14px;
  background-position: 0 0, 7px 7px;
  transform: perspective(60px) rotateX(60deg);
  box-shadow: 0 4px 10px rgba(0,0,0,0.8);
  animation: bp-board 12s ease-in-out infinite;
}
.scn-butler-philosophises .dagger {
  position: absolute; bottom: 25%; left: 20%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 0 0 2px 2px; transform: rotate(-15deg);
  animation: bp-dagger 5s ease-in-out infinite alternate;
}
.scn-butler-philosophises .shadow {
  position: absolute; bottom: 0; left: 5%; width: 90%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(4px);
  animation: bp-shadow 8s ease-in-out infinite;
}
@keyframes bp-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes bp-glow { 0% { transform: scale(0.8) rotate(-2deg); opacity: 0.5; } 50% { transform: scale(1.1) rotate(2deg); opacity: 0.8; } 100% { transform: scale(0.9) rotate(-1deg); opacity: 0.6; } }
@keyframes bp-candle { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 75% { transform: translateY(-3px) rotate(2deg); } }
@keyframes bp-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes bp-board { 0% { transform: perspective(60px) rotateX(60deg) scale(1); } 50% { transform: perspective(60px) rotateX(58deg) scale(0.98); } 100% { transform: perspective(60px) rotateX(62deg) scale(1.02); } }
@keyframes bp-dagger { 0% { transform: rotate(-15deg) translateX(0); opacity: 0.7; } 50% { transform: rotate(-12deg) translateX(2px); opacity: 1; } 100% { transform: rotate(-18deg) translateX(-1px); opacity: 0.6; } }
@keyframes bp-shadow { 0% { transform: scaleY(1); opacity: 0.4; } 50% { transform: scaleY(1.1); opacity: 0.6; } 100% { transform: scaleY(0.9); opacity: 0.3; } }

/* gordon-begs-for-mercy */

.scn-gordon-begs-for-mercy {
  background:
    linear-gradient(180deg, #151012 0%, #2a1a1a 40%, #151012 100%),
    radial-gradient(ellipse at 50% 30%, #3a2020 0%, transparent 60%);
}
.scn-gordon-begs-for-mercy .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a1010 0%, #0a0808 100%);
  border-radius: 0 0 0 0;
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.5);
}
.scn-gordon-begs-for-mercy .arch {
  position: absolute; bottom: 30%; left: 50%; width: 180px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, transparent 0%, #0a0808 70%);
  border: 2px solid #2a1a1a;
  border-radius: 50% 50% 0 0;
  filter: blur(2px);
}
.scn-gordon-begs-for-mercy .butler-figure {
  position: absolute; bottom: 30%; left: 30%; width: 50px; height: 110px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gb-butler 5s ease-in-out infinite;
}
.scn-gordon-begs-for-mercy .gordon-figure {
  position: absolute; bottom: 30%; right: 25%; width: 45px; height: 90px;
  background: linear-gradient(180deg, #181010 0%, #0a0606 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gb-gordon 4s ease-in-out infinite alternate;
}
.scn-gordon-begs-for-mercy .sword {
  position: absolute; bottom: 35%; left: 33%; width: 4px; height: 80px;
  background: linear-gradient(180deg, #9a7a5a 0%, #5a3a2a 100%);
  transform: rotate(-20deg);
  transform-origin: bottom center;
  border-radius: 2px;
  animation: gb-sword 3s ease-in-out infinite;
}
.scn-gordon-begs-for-mercy .sword-glint {
  position: absolute; bottom: 70%; left: 33%; width: 6px; height: 6px;
  background: radial-gradient(circle, #d4a060 0%, transparent 70%);
  border-radius: 50%;
  animation: gb-glint 1.5s ease-in-out infinite alternate;
}
.scn-gordon-begs-for-mercy .shadow {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 15%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(5px);
  animation: gb-shadow 7s ease-in-out infinite;
}
@keyframes gb-butler { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(-1px) rotate(-2deg); } 75% { transform: translateX(1px) rotate(2deg); } }
@keyframes gb-gordon { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(-5px) translateY(-4px) rotate(4deg); } 100% { transform: translateX(2px) translateY(-2px) rotate(-1deg); } }
@keyframes gb-sword { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-18deg) translateX(3px); } 100% { transform: rotate(-22deg) translateX(-2px); } }
@keyframes gb-glint { 0% { opacity: 0.2; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.3; transform: scale(0.9); } }
@keyframes gb-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.2); opacity: 0.5; } 100% { transform: scaleX(0.9); opacity: 0.2; } }

/* butler-claims-fate */

.scn-butler-claims-fate {
  background:
    linear-gradient(180deg, #0e0e1a 0%, #1a141a 30%, #0e0e1a 100%),
    radial-gradient(ellipse at 50% 50%, #1a1a2a 0%, transparent 80%);
}
.scn-butler-claims-fate .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, #0a080a 60%);
}
.scn-butler-claims-fate .crossbar {
  position: absolute; top: 10%; left: 50%; width: 100px; height: 6px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #3a2a1a 0%, #5a3a2a 50%, #3a2a1a 100%);
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: bc-crossbar 6s ease-in-out infinite alternate;
}
.scn-butler-claims-fate .string-left {
  position: absolute; top: calc(10% + 6px); left: 40%; width: 2px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, transparent 100%);
  transform-origin: top center;
  animation: bc-string 4s ease-in-out infinite;
}
.scn-butler-claims-fate .string-right {
  position: absolute; top: calc(10% + 6px); right: 40%; width: 2px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, transparent 100%);
  transform-origin: top center;
  animation: bc-string 4s ease-in-out infinite reverse;
}
.scn-butler-claims-fate .puppet-figure {
  position: absolute; top: 25%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1816 0%, #0e0c0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bc-puppet 5s ease-in-out infinite;
}
.scn-butler-claims-fate .shadow {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 10%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(3px);
  animation: bc-shadow 8s ease-in-out infinite;
}
.scn-butler-claims-fate .light-beam {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(180,140,100,0.05) 0%, rgba(200,160,120,0.02) 50%, transparent 80%);
  transform: skewX(-10deg);
  filter: blur(2px);
  animation: bc-beam 9s ease-in-out infinite alternate;
}
@keyframes bc-crossbar { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-1deg); } }
@keyframes bc-string { 0% { transform: rotate(0deg) scaleY(1); } 25% { transform: rotate(3deg) scaleY(1.02); } 50% { transform: rotate(-2deg) scaleY(0.98); } 75% { transform: rotate(1deg) scaleY(1.01); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes bc-puppet { 0%,100% { transform: translateX(-50%) rotate(0deg); } 20% { transform: translateX(-50%) rotate(5deg) translateY(2px); } 40% { transform: translateX(-50%) rotate(-3deg) translateY(-1px); } 60% { transform: translateX(-50%) rotate(4deg) translateY(3px); } 80% { transform: translateX(-50%) rotate(-2deg) translateY(-2px); } }
@keyframes bc-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.2); opacity: 0.5; } 100% { transform: scaleX(0.8); opacity: 0.2; } }
@keyframes bc-beam { 0% { opacity: 0.2; transform: skewX(-10deg); } 50% { opacity: 0.4; transform: skewX(-8deg); } 100% { opacity: 0.1; transform: skewX(-12deg); } }

/* butler-fears-dishonour */

.scn-butler-fears-dishonour {
  background:
    linear-gradient(180deg, #12101a 0%, #1a1620 30%, #12101a 100%),
    radial-gradient(ellipse at 50% 80%, #2a2030 0%, transparent 60%);
}
.scn-butler-fears-dishonour .window {
  position: absolute; top: 10%; left: 50%; width: 120px; height: 160px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, #3a2a4a 0%, #1a1a2a 70%);
  border: 4px solid #2a1a1a;
  border-radius: 8px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 0 0 30px rgba(100,80,160,0.1);
  animation: bf-window 8s ease-in-out infinite alternate;
}
.scn-butler-fears-dishonour .moonlight {
  position: absolute; top: 10%; left: 0; width: 100%; height: 100%;
  background: linear-gradient(180deg, rgba(180,160,220,0.08) 0%, transparent 50%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  filter: blur(6px);
  animation: bf-moonlight 12s ease-in-out infinite;
}
.scn-butler-fears-dishonour .figure-butler {
  position: absolute; bottom: 20%; left: 25%; width: 55px; height: 130px;
  background: linear-gradient(180deg, #1a161a 0%, #0e0a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bf-butler 5s ease-in-out infinite;
}
.scn-butler-fears-dishonour .figure-gordon {
  position: absolute; bottom: 20%; right: 20%; width: 45px; height: 110px;
  background: linear-gradient(180deg, #16121a 0%, #0a080c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bf-gordon 6s ease-in-out infinite alternate;
}
.scn-butler-fears-dishonour .floor-board {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #1a1418 0%, #0e0a0c 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-butler-fears-dishonour .shadow {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 70%);
  filter: blur(8px);
  animation: bf-shadow 10s ease-in-out infinite;
}
@keyframes bf-window { 0% { transform: translateX(-50%) scale(1); opacity: 0.8; } 50% { transform: translateX(-50%) scale(1.02); opacity: 1; } 100% { transform: translateX(-50%) scale(0.98); opacity: 0.7; } }
@keyframes bf-moonlight { 0% { opacity: 0.2; transform: translateX(0); } 50% { opacity: 0.4; transform: translateX(5px); } 100% { opacity: 0.1; transform: translateX(-5px); } }
@keyframes bf-butler { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bf-gordon { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 50% { transform: translateX(-6px) translateY(-3px) rotate(5deg); } 100% { transform: translateX(3px) translateY(-1px) rotate(-2deg); } }
@keyframes bf-shadow { 0% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.3); opacity: 0.5; } 100% { transform: scaleX(0.8); opacity: 0.2; } }

/* Scene 1: octavio-reveals-treason */

.scn-octavio-reveals-treason {
  background: linear-gradient(180deg, #1a0f0a 0%, #0d0805 50%, #1a0f0a 100%), radial-gradient(ellipse at 50% 20%, #3a2015 0%, transparent 60%);
}
.scn-octavio-reveals-treason .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #2a1810 0%, #1a0f0a 30%, #1f130c 70%, #2a1810 100%);
  animation: otr-wall 20s ease-in-out infinite alternate;
}
.scn-octavio-reveals-treason .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a0f0a 0%, #0d0805 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.7);
}
.scn-octavio-reveals-treason .figure {
  position: absolute; bottom: 30%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3a2015 0%, #1a0f0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
}
.scn-octavio-reveals-treason .octavio {
  left: 25%;
  animation: otr-fig-o 6s ease-in-out infinite;
}
.scn-octavio-reveals-treason .max {
  right: 25%;
  animation: otr-fig-m 6s ease-in-out infinite;
  transform: scaleX(-1);
}
.scn-octavio-reveals-treason .candle {
  position: absolute; bottom: 40%; left: 50%; width: 6px; height: 20px;
  margin-left: -3px;
  background: linear-gradient(180deg, #d4a050 0%, #8a5a30 100%);
  border-radius: 2px 2px 1px 1px;
  box-shadow: 0 0 6px 2px #d4a050;
}
.scn-octavio-reveals-treason .glow {
  position: absolute; bottom: 38%; left: 50%; width: 50px; height: 50px;
  margin-left: -25px;
  background: radial-gradient(circle, rgba(212,160,80,0.6) 0%, rgba(212,160,80,0.2) 40%, transparent 70%);
  border-radius: 50%;
  animation: otr-glow 2s ease-in-out infinite alternate;
}
.scn-octavio-reveals-treason .shadow-divider {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 5%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
  filter: blur(3px);
}
@keyframes otr-wall { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes otr-fig-o { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } }
@keyframes otr-fig-m { 0%,100% { transform: scaleX(-1) translateY(0) rotate(0deg); } 50% { transform: scaleX(-1) translateY(-1px) rotate(-1deg); } }
@keyframes otr-glow { 0% { opacity: 0.5; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1.1); } }

/* Scene 2: octavio-black-web */

.scn-octavio-black-web {
  background: linear-gradient(180deg, #0a0505 0%, #150a0a 40%, #0a0505 100%), radial-gradient(ellipse at 50% 60%, #1a0a0a 0%, transparent 70%);
}
.scn-octavio-black-web .bg-abyss {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, #0d0606 0%, #050202 100%);
  animation: obw-abyss 30s ease-in-out infinite alternate;
}
.scn-octavio-black-web .web-strand {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 30% 40%, #2a1010 0%, transparent 50%),
              radial-gradient(ellipse at 70% 60%, #2a1010 0%, transparent 50%);
  background-size: 100% 100%;
  mix-blend-mode: screen;
  opacity: 0.3;
}
.scn-octavio-black-web .back { animation: obw-web-back 12s ease-in-out infinite; }
.scn-octavio-black-web .mid { animation: obw-web-mid 8s ease-in-out infinite; }
.scn-octavio-black-web .front { animation: obw-web-front 5s ease-in-out infinite; }
.scn-octavio-black-web .figure.octavio {
  position: absolute; bottom: 25%; left: 30%; width: 45px; height: 80px;
  background: linear-gradient(180deg, #2a1510 0%, #0a0505 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: obw-fig 8s ease-in-out infinite;
}
.scn-octavio-black-web .hand-pointing {
  position: absolute; bottom: 35%; left: 48%; width: 30px; height: 12px;
  background: #1a0f0a;
  border-radius: 0 60% 60% 0;
  transform: rotate(-20deg);
  transform-origin: left center;
  animation: obw-hand 4s ease-in-out infinite;
}
.scn-octavio-black-web .eye {
  position: absolute; top: 45%; left: 42%; width: 8px; height: 6px;
  background: radial-gradient(circle, #b08040 0%, #4a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px #b08040;
  animation: obw-eye 3s ease-in-out infinite;
}
@keyframes obw-abyss { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes obw-web-back { 0% { opacity: 0.2; transform: scale(0.95); } 50% { opacity: 0.4; transform: scale(1.05); } 100% { opacity: 0.2; transform: scale(0.95); } }
@keyframes obw-web-mid { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.1); } 100% { opacity: 0.3; transform: scale(1); } }
@keyframes obw-web-front { 0% { opacity: 0.4; transform: scale(1.05); } 50% { opacity: 0.6; transform: scale(0.95); } 100% { opacity: 0.4; transform: scale(1.05); } }
@keyframes obw-fig { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes obw-hand { 0%,100% { transform: rotate(-20deg); } 50% { transform: rotate(-10deg); } }
@keyframes obw-eye { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } }

/* Scene 3: max-pleads-pause */

.scn-max-pleads-pause {
  background: linear-gradient(180deg, #1a1110 0%, #0d0807 40%, #1a1110 100%), radial-gradient(ellipse at 50% 80%, #2a1a18 0%, transparent 50%);
}
.scn-max-pleads-pause .bg-dim {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, #2a1a15 0%, #0d0807 100%);
  animation: mpp-dim 25s ease-in-out infinite alternate;
}
.scn-max-pleads-pause .hand-raised {
  position: absolute; bottom: 20%; left: 35%; width: 35px; height: 50px;
  background: linear-gradient(180deg, #3a2018 0%, #1a0f0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: mpp-hand 4s ease-in-out infinite;
}
.scn-max-pleads-pause .arm {
  position: absolute; bottom: 10%; left: 30%; width: 20px; height: 60px;
  background: linear-gradient(180deg, #2a1810 0%, #1a0f0a 100%);
  border-radius: 40% 40% 20% 20% / 30% 30% 60% 60%;
  transform: rotate(-10deg);
  transform-origin: top left;
}
.scn-max-pleads-pause .figure.max-profile {
  position: absolute; bottom: 15%; right: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #2a1810 0%, #0d0805 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%;
  transform: scaleX(-1);
  animation: mpp-max 6s ease-in-out infinite;
}
.scn-max-pleads-pause .figure.octavio-far {
  position: absolute; bottom: 20%; left: 10%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a0f0a 0%, #0a0503 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  opacity: 0.5;
  animation: mpp-octavio 10s ease-in-out infinite;
}
.scn-max-pleads-pause .light-shaft {
  position: absolute; top: 0; left: 30%; width: 15px; height: 100%;
  background: linear-gradient(180deg, rgba(200,160,100,0.08) 0%, transparent 70%);
  transform: rotate(5deg);
  transform-origin: top center;
  filter: blur(4px);
  animation: mpp-shaft 8s ease-in-out infinite;
}
@keyframes mpp-dim { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mpp-hand { 0%,100% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } }
@keyframes mpp-max { 0%,100% { transform: scaleX(-1) translateY(0); } 50% { transform: scaleX(-1) translateY(-2px); } }
@keyframes mpp-octavio { 0%,100% { opacity: 0.4; } 50% { opacity: 0.6; } }
@keyframes mpp-shaft { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }

/* Scene 4: octavio-double-game */

.scn-octavio-double-game {
  background: linear-gradient(180deg, #0a0505 0%, #150a0a 40%, #0a0505 100%), radial-gradient(ellipse at 50% 30%, #1a0a0a 0%, transparent 60%);
}
.scn-octavio-double-game .bg-night {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, #0d0606 0%, #050202 100%);
  animation: odg-night 25s ease-in-out infinite alternate;
}
.scn-octavio-double-game .net-layer {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 40% 50%, #3a1515 0%, transparent 40%),
              radial-gradient(ellipse at 60% 40%, #3a1515 0%, transparent 40%);
  background-size: 100% 100%;
  mix-blend-mode: screen;
  opacity: 0.2;
}
.scn-octavio-double-game .back { animation: odg-net-back 15s ease-in-out infinite; }
.scn-octavio-double-game .mid { animation: odg-net-mid 10s ease-in-out infinite; }
.scn-octavio-double-game .front { animation: odg-net-front 6s ease-in-out infinite; }
.scn-octavio-double-game .figure.octavio {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 85px;
  background: linear-gradient(180deg, #2a1510 0%, #0a0505 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: odg-fig-o 8s ease-in-out infinite;
}
.scn-octavio-double-game .figure.shadow-max {
  position: absolute; bottom: 22%; right: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #1a0f0a 0%, #0a0505 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  opacity: 0.5;
  transform: scaleX(-1);
  animation: odg-shadow 12s ease-in-out infinite;
}
.scn-octavio-double-game .mask {
  position: absolute; top: 35%; left: 45%; width: 20px; height: 25px;
  background: radial-gradient(ellipse, #4a2a1a 0%, #1a0f0a 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 10px 2px #4a2a1a;
  animation: odg-mask 4s ease-in-out infinite;
}
@keyframes odg-night { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes odg-net-back { 0% { opacity: 0.15; transform: scale(0.95) rotate(0deg); } 50% { opacity: 0.3; transform: scale(1.05) rotate(2deg); } 100% { opacity: 0.15; transform: scale(0.95) rotate(0deg); } }
@keyframes odg-net-mid { 0% { opacity: 0.2; transform: scale(1) rotate(0deg); } 50% { opacity: 0.4; transform: scale(1.1) rotate(-2deg); } 100% { opacity: 0.2; transform: scale(1) rotate(0deg); } }
@keyframes odg-net-front { 0% { opacity: 0.25; transform: scale(1.05) rotate(0deg); } 50% { opacity: 0.5; transform: scale(0.95) rotate(1deg); } 100% { opacity: 0.25; transform: scale(1.05) rotate(0deg); } }
@keyframes odg-fig-o { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes odg-shadow { 0%,100% { opacity: 0.3; } 50% { opacity: 0.6; } }
@keyframes odg-mask { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(1); } }

/* butler-at-egra */

.scn-butler-at-egra {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a0e 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-butler-at-egra .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #1a120e 0%, #2a1a12 50%, #1a0e0a 100%);
  animation: be-bg 20s ease-in-out infinite alternate;
}
.scn-butler-at-egra .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-butler-at-egra .wall {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
}
.scn-butler-at-egra .fireplace {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5);
}
.scn-butler-at-egra .fire {
  position: absolute; bottom: 40%; left: 50%; width: 40px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 80%, #ff8c40 0%, #c06020 40%, transparent 70%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 30px 10px rgba(255,140,64,0.6), 0 0 60px 20px rgba(192,96,32,0.3);
  animation: be-fire 3s ease-in-out infinite alternate;
}
.scn-butler-at-egra .butler {
  position: absolute; bottom: 33%; left: 35%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: be-butler 8s ease-in-out infinite;
}
.scn-butler-at-egra .chair {
  position: absolute; bottom: 30%; left: 65%; width: 50px; height: 60px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e0a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: be-chair 6s ease-in-out infinite alternate;
}
.scn-butler-at-egra .candle {
  position: absolute; bottom: 35%; left: 20%; width: 8px; height: 14px;
  background: linear-gradient(180deg, #c08040 0%, #a06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(192,128,64,0.6);
  animation: be-candle 4s ease-in-out infinite alternate;
}
@keyframes be-bg {
  0% { opacity: 0.8 }
  50% { opacity: 1 }
  100% { opacity: 0.85 }
}
@keyframes be-fire {
  0% { transform: translateX(-50%) scaleY(1) rotate(-2deg) }
  50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg) }
  100% { transform: translateX(-50%) scaleY(0.95) rotate(-1deg) }
}
@keyframes be-butler {
  0% { transform: translateX(0) translateY(0) rotate(-2deg) }
  25% { transform: translateX(2px) translateY(-1px) rotate(2deg) }
  50% { transform: translateX(0) translateY(0) rotate(-1deg) }
  75% { transform: translateX(-2px) translateY(-1px) rotate(1deg) }
  100% { transform: translateX(0) translateY(0) rotate(0) }
}
@keyframes be-chair {
  0% { transform: scaleY(1) }
  50% { transform: scaleY(1.02) }
  100% { transform: scaleY(0.98) }
}
@keyframes be-candle {
  0% { transform: scaleX(1) scaleY(1); box-shadow: 0 0 15px 4px rgba(192,128,64,0.5) }
  50% { transform: scaleX(1.1) scaleY(1.05); box-shadow: 0 0 25px 8px rgba(192,128,64,0.7) }
  100% { transform: scaleX(0.95) scaleY(0.95); box-shadow: 0 0 18px 5px rgba(192,128,64,0.6) }
}

/* gordon-laments */

.scn-gordon-laments {
  background: linear-gradient(180deg, #121018 0%, #1a1420 40%, #0e0c14 100%),
    radial-gradient(ellipse at 30% 50%, #2a1a30 0%, transparent 70%);
}
.scn-gordon-laments .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #141018 0%, #1a1420 50%, #0e0c14 100%);
  animation: gl-bg 25s ease-in-out infinite alternate;
}
.scn-gordon-laments .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2030 0%, #0e0c14 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-gordon-laments .desk {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-gordon-laments .gordon {
  position: absolute; bottom: 25%; left: 20%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #2a1a30 0%, #1a0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gl-gordon 8s ease-in-out infinite;
}
.scn-gordon-laments .butler {
  position: absolute; bottom: 25%; left: 55%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gl-butler 7s ease-in-out infinite reverse;
}
.scn-gordon-laments .letter {
  position: absolute; bottom: 28%; left: 42%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #d4c4a0 0%, #b8a888 100%);
  border-radius: 5%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  transform: rotate(-10deg);
  animation: gl-letter 12s ease-in-out infinite alternate;
}
.scn-gordon-laments .candle {
  position: absolute; bottom: 32%; left: 40%; width: 8px; height: 14px;
  background: linear-gradient(180deg, #c08040 0%, #a06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(192,128,64,0.6);
  animation: gl-candle 5s ease-in-out infinite alternate;
}
.scn-gordon-laments .shadow {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  animation: gl-shadow 18s ease-in-out infinite alternate;
}
@keyframes gl-bg {
  0% { opacity: 0.7 }
  50% { opacity: 0.9 }
  100% { opacity: 0.8 }
}
@keyframes gl-gordon {
  0% { transform: translateX(0) translateY(0) rotate(-2deg) }
  25% { transform: translateX(2px) translateY(-1px) rotate(2deg) }
  50% { transform: translateX(0) translateY(0) rotate(-1deg) }
  75% { transform: translateX(-2px) translateY(-1px) rotate(1deg) }
  100% { transform: translateX(0) translateY(0) rotate(0) }
}
@keyframes gl-butler {
  0% { transform: translateX(0) translateY(0) rotate(2deg) }
  25% { transform: translateX(-2px) translateY(-1px) rotate(-2deg) }
  50% { transform: translateX(0) translateY(0) rotate(1deg) }
  75% { transform: translateX(2px) translateY(-1px) rotate(-1deg) }
  100% { transform: translateX(0) translateY(0) rotate(0) }
}
@keyframes gl-letter {
  0% { transform: rotate(-10deg) }
  50% { transform: rotate(-5deg) }
  100% { transform: rotate(-12deg) }
}
@keyframes gl-candle {
  0% { transform: scaleY(1); box-shadow: 0 0 15px 4px rgba(192,128,64,0.5) }
  50% { transform: scaleY(1.05); box-shadow: 0 0 25px 8px rgba(192,128,64,0.7) }
  100% { transform: scaleY(0.95); box-shadow: 0 0 18px 5px rgba(192,128,64,0.6) }
}
@keyframes gl-shadow {
  0% { opacity: 0.3 }
  50% { opacity: 0.5 }
  100% { opacity: 0.4 }
}

/* wallensteins-majesty */

.scn-wallensteins-majesty {
  background: linear-gradient(180deg, #1a2018 0%, #2a2a1e 50%, #1a1812 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, transparent 60%);
}
.scn-wallensteins-majesty .bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #1a1e18 0%, #2a2e20 50%, #1a1a12 100%);
  animation: wm-bg 30s ease-in-out infinite alternate;
}
.scn-wallensteins-majesty .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a12 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-wallensteins-majesty .dais {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 15%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1e 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-wallensteins-majesty .throne {
  position: absolute; bottom: 25%; left: 50%; width: 80px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: inset 0 4px 8px rgba(255,255,200,0.1), 0 6px 12px rgba(0,0,0,0.6);
}
.scn-wallensteins-majesty .wallenstein {
  position: absolute; bottom: 28%; left: 50%; width: 28px; height: 55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a1e 0%, #1a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wm-wallenstein 12s ease-in-out infinite;
}
.scn-wallensteins-majesty .attendant-l {
  position: absolute; bottom: 22%; left: 25%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #1a1e18 0%, #0e100e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wm-attendant-l 10s ease-in-out infinite alternate;
}
.scn-wallensteins-majesty .attendant-r {
  position: absolute; bottom: 22%; right: 25%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #1a1e18 0%, #0e100e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wm-attendant-r 10s ease-in-out infinite alternate;
  animation-delay: -5s;
}
.scn-wallensteins-majesty .torch {
  position: absolute; bottom: 35%; left: 50%; width: 10px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(192,160,96,0.5), 0 0 60px 20px rgba(192,160,96,0.2);
  animation: wm-torch 4s ease-in-out infinite alternate;
}
@keyframes wm-bg {
  0% { opacity: 0.85 }
  50% { opacity: 1 }
  100% { opacity: 0.9 }
}
@keyframes wm-wallenstein {
  0% { transform: translateX(-50%) translateY(0) rotate(-1deg) }
  25% { transform: translateX(-50%) translateY(-2px) rotate(1deg) }
  50% { transform: translateX(-50%) translateY(0) rotate(-1deg) }
  75% { transform: translateX(-50%) translateY(-2px) rotate(1deg) }
  100% { transform: translateX(-50%) translateY(0) rotate(0) }
}
@keyframes wm-attendant-l {
  0% { transform: translateX(0) translateY(0) rotate(-2deg) }
  50% { transform: translateX(2px) translateY(-1px) rotate(2deg) }
  100% { transform: translateX(0) translateY(0) rotate(-2deg) }
}
@keyframes wm-attendant-r {
  0% { transform: translateX(0) translateY(0) rotate(2deg) }
  50% { transform: translateX(-2px) translateY(-1px) rotate(-2deg) }
  100% { transform: translateX(0) translateY(0) rotate(2deg) }
}
@keyframes wm-torch {
  0% { transform: translateX(-50%) scaleY(1) rotate(-3deg); box-shadow: 0 0 25px 8px rgba(192,160,96,0.5) }
  50% { transform: translateX(-50%) scaleY(1.05) rotate(3deg); box-shadow: 0 0 35px 12px rgba(192,160,96,0.7) }
  100% { transform: translateX(-50%) scaleY(0.95) rotate(-2deg); box-shadow: 0 0 28px 9px rgba(192,160,96,0.6) }
}

/* butler-reveals-plot */

.scn-butler-reveals-plot {
  background: linear-gradient(180deg, #0e0c1a 0%, #1a1420 50%, #0a0812 100%),
    radial-gradient(ellipse at 50% 60%, #2a1a2a 0%, transparent 70%);
}
.scn-butler-reveals-plot .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #0e0c1a 0%, #1a1422 40%, #0a0812 100%);
  animation: brp-bg 20s ease-in-out infinite alternate;
}
.scn-butler-reveals-plot .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a1420 0%, #0a0812 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
}
.scn-butler-reveals-plot .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.7);
}
.scn-butler-reveals-plot .map {
  position: absolute; bottom: 24%; left: 30%; width: 60px; height: 30px;
  background: linear-gradient(135deg, #c8b898 0%, #a89878 100%);
  border-radius: 5%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  transform: rotate(5deg);
  animation: brp-map 15s ease-in-out infinite alternate;
}
.scn-butler-reveals-plot .butler {
  position: absolute; bottom: 20%; left: 30%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brp-butler 9s ease-in-out infinite;
}
.scn-butler-reveals-plot .gordon {
  position: absolute; bottom: 20%; right: 30%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #2a1a30 0%, #1a0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brp-gordon 10s ease-in-out infinite reverse;
}
.scn-butler-reveals-plot .candle {
  position: absolute; bottom: 26%; left: 50%; width: 8px; height: 14px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c08040 0%, #a06020 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 25px 8px rgba(192,128,64,0.7);
  animation: brp-candle 4s ease-in-out infinite alternate;
}
.scn-butler-reveals-plot .glow {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(192,128,64,0.2) 0%, transparent 70%);
  animation: brp-glow 5s ease-in-out infinite alternate;
}
@keyframes brp-bg {
  0% { opacity: 0.7 }
  50% { opacity: 0.9 }
  100% { opacity: 0.75 }
}
@keyframes brp-map {
  0% { transform: rotate(5deg) scaleX(1) }
  50% { transform: rotate(8deg) scaleX(1.02) }
  100% { transform: rotate(3deg) scaleX(0.98) }
}
@keyframes brp-butler {
  0% { transform: translateX(0) translateY(0) rotate(-2deg) }
  25% { transform: translateX(2px) translateY(-1px) rotate(2deg) }
  50% { transform: translateX(0) translateY(0) rotate(-1deg) }
  75% { transform: translateX(-2px) translateY(-1px) rotate(1deg) }
  100% { transform: translateX(0) translateY(0) rotate(0) }
}
@keyframes brp-gordon {
  0% { transform: translateX(0) translateY(0) rotate(2deg) }
  25% { transform: translateX(-2px) translateY(-1px) rotate(-2deg) }
  50% { transform: translateX(0) translateY(0) rotate(1deg) }
  75% { transform: translateX(2px) translateY(-1px) rotate(-1deg) }
  100% { transform: translateX(0) translateY(0) rotate(0) }
}
@keyframes brp-candle {
  0% { transform: translateX(-50%) scaleY(1); box-shadow: 0 0 20px 6px rgba(192,128,64,0.6) }
  50% { transform: translateX(-50%) scaleY(1.05); box-shadow: 0 0 30px 10px rgba(192,128,64,0.8) }
  100% { transform: translateX(-50%) scaleY(0.95); box-shadow: 0 0 22px 7px rgba(192,128,64,0.7) }
}
@keyframes brp-glow {
  0% { opacity: 0.3 }
  50% { opacity: 0.6 }
  100% { opacity: 0.4 }
}

/* Scene 1: gordon-pleads-hour */

.scn-gordon-pleads-hour {
  background:
    linear-gradient(180deg, #2a1e12 0%, #1a100a 60%),
    radial-gradient(ellipse at 50% 70%, #6b4226 0%, transparent 70%);
}
.scn-gordon-pleads-hour .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3b281a 0%, #1f140c 100%);
  box-shadow: inset 0 12px 30px rgba(0,0,0,.6);
  animation: gph-wall 20s ease-in-out infinite alternate;
}
.scn-gordon-pleads-hour .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a3320 0%, #2a1a0e 100%);
  border-top: 2px solid #5c3e25;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
}
.scn-gordon-pleads-hour .figure {
  position: absolute; bottom: 28%; left: 35%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #12100e 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: gph-figure 4s ease-in-out infinite;
}
.scn-gordon-pleads-hour .hourglass {
  position: absolute; bottom: 34%; left: 55%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c8a87a 0%, #a08050 50%, #806030 100%);
  clip-path: polygon(50% 0%, 10% 30%, 30% 50%, 20% 70%, 50% 100%, 80% 70%, 70% 50%, 90% 30%);
  animation: gph-sand 6s ease-in-out infinite;
}
.scn-gordon-pleads-hour .table {
  position: absolute; bottom: 25%; left: 45%; width: 80px; height: 16px;
  background: linear-gradient(180deg, #5a3a22 0%, #3a2212 100%);
  border-radius: 4px;
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
  animation: gph-table 12s ease-in-out infinite alternate;
}
.scn-gordon-pleads-hour .lamp {
  position: absolute; bottom: 34%; left: 52%; width: 10px; height: 14px;
  background: radial-gradient(circle at 50% 30%, #ffdd99 0%, #cc8844 50%, #804422 100%);
  border-radius: 30% 30% 50% 50%;
  box-shadow: 0 0 20px 6px #cc8844, 0 0 40px 12px rgba(204,136,68,.3);
  animation: gph-lamp 3s ease-in-out infinite alternate;
}
@keyframes gph-wall { 0% { opacity: .9; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes gph-figure { 0% { transform: translate(0,0) rotate(-2deg); } 25% { transform: translate(4px,-2px) rotate(2deg); } 50% { transform: translate(8px,0) rotate(-1deg); } 75% { transform: translate(4px,-1px) rotate(1deg); } 100% { transform: translate(0,0) rotate(-2deg); } }
@keyframes gph-sand { 0% { clip-path: polygon(50% 0%, 10% 30%, 30% 50%, 20% 70%, 50% 100%, 80% 70%, 70% 50%, 90% 30%); } 50% { clip-path: polygon(50% 0%, 10% 30%, 30% 50%, 25% 60%, 50% 90%, 75% 60%, 70% 50%, 90% 30%); } 100% { clip-path: polygon(50% 0%, 10% 30%, 30% 50%, 20% 70%, 50% 100%, 80% 70%, 70% 50%, 90% 30%); } }
@keyframes gph-table { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes gph-lamp { 0% { box-shadow: 0 0 12px 4px #cc8844, 0 0 24px 8px rgba(204,136,68,.2); } 50% { box-shadow: 0 0 28px 8px #eeaa66, 0 0 48px 16px rgba(238,170,102,.4); } 100% { box-shadow: 0 0 16px 5px #cc8844, 0 0 32px 10px rgba(204,136,68,.25); } }

/* Scene 2: murderers-enter */

.scn-murderers-enter {
  background:
    linear-gradient(180deg, #1a1412 0%, #0f0a08 70%),
    radial-gradient(ellipse at 30% 80%, #3a2a1e 0%, transparent 80%);
}
.scn-murderers-enter .doorway {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 80%;
  background: linear-gradient(180deg, #2a1e18 0%, #0f0a08 100%);
  border-radius: 40% 40% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,.8);
  animation: men-door 30s ease-in-out infinite;
}
.scn-murderers-enter .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1a120c 100%);
  border-top: 1px solid #4a3a2a;
}
.scn-murderers-enter .gordon-figure {
  position: absolute; bottom: 22%; left: 35%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: men-arm 3s ease-in-out infinite;
}
.scn-murderers-enter .halberdier1 {
  position: absolute; bottom: 20%; left: 50%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #2a201c 0%, #12100e 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: men-walk1 5s ease-in-out infinite alternate;
}
.scn-murderers-enter .halberdier2 {
  position: absolute; bottom: 20%; left: 58%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #2a201c 0%, #12100e 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: men-walk2 5s ease-in-out infinite alternate;
  animation-delay: 0.5s;
}
.scn-murderers-enter .torch {
  position: absolute; bottom: 30%; left: 32%; width: 8px; height: 12px;
  background: radial-gradient(circle, #ffcc66 0%, #cc6622 60%, transparent 100%);
  box-shadow: 0 0 24px 8px #cc6622, 0 0 48px 16px rgba(204,102,34,.3);
  animation: men-torch 2s ease-in-out infinite alternate;
}
@keyframes men-door { 0% { filter: brightness(0.7); } 50% { filter: brightness(0.9); } 100% { filter: brightness(0.7); } }
@keyframes men-arm { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(3px,-2px) rotate(10deg); } 50% { transform: translate(6px,0) rotate(0deg); } 75% { transform: translate(3px,-1px) rotate(-10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes men-walk1 { 0% { transform: translate(0,0) rotate(-2deg); } 50% { transform: translate(10px,-1px) rotate(2deg); } 100% { transform: translate(20px,0) rotate(-2deg); } }
@keyframes men-walk2 { 0% { transform: translate(0,0) rotate(2deg); } 50% { transform: translate(-10px,-1px) rotate(-2deg); } 100% { transform: translate(-20px,0) rotate(2deg); } }
@keyframes men-torch { 0% { box-shadow: 0 0 12px 3px #cc6622, 0 0 24px 6px rgba(204,102,34,.2); } 100% { box-shadow: 0 0 32px 10px #ee8833, 0 0 48px 18px rgba(238,136,51,.4); } }

/* Scene 3: murder */

.scn-murder {
  background:
    linear-gradient(180deg, #1a1210 0%, #0c0806 100%),
    radial-gradient(ellipse at 60% 50%, #2a1a14 0%, transparent 70%);
}
.scn-murder .bed {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #3a2820 0%, #1a100c 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 40% 40%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
  animation: mur-bed 15s ease-in-out infinite alternate;
}
.scn-murder .curtain {
  position: absolute; bottom: 20%; left: 15%; width: 30%; height: 60%;
  background: linear-gradient(180deg, #4a3028 0%, #2a1a14 100%);
  border-radius: 0 30% 30% 0;
  filter: drop-shadow(2px 0 4px rgba(0,0,0,.5));
  animation: mur-curtain 8s ease-in-out infinite alternate;
}
.scn-murder .sleeping-figure {
  position: absolute; bottom: 18%; left: 35%; width: 30px; height: 18px;
  background: linear-gradient(180deg, #1a1210 0%, #0c0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scale(1.4);
  animation: mur-sleep 6s ease-in-out infinite;
}
.scn-murder .dagger {
  position: absolute; bottom: 30%; left: 60%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #b0a090 0%, #605040 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: mur-dagger 4s ease-in-out infinite alternate;
}
.scn-murder .candle {
  position: absolute; bottom: 26%; left: 25%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffdd99 0%, #cc8844 50%, #804422 100%);
  border-radius: 2px;
  box-shadow: 0 0 16px 4px #cc8844, 0 0 32px 8px rgba(204,136,68,.3);
  animation: mur-candle 2.5s ease-in-out infinite alternate;
}
@keyframes mur-bed { 0% { filter: brightness(0.8); } 50% { filter: brightness(0.9); } 100% { filter: brightness(0.8); } }
@keyframes mur-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-4px); } 100% { transform: translateX(0); } }
@keyframes mur-sleep { 0% { transform: scale(1.4) translateY(0); } 50% { transform: scale(1.42) translateY(-1px); } 100% { transform: scale(1.4) translateY(0); } }
@keyframes mur-dagger { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes mur-candle { 0% { box-shadow: 0 0 8px 2px #cc8844, 0 0 16px 4px rgba(204,136,68,.2); opacity: 0.9; } 100% { box-shadow: 0 0 20px 6px #eeaa66, 0 0 36px 12px rgba(238,170,102,.4); opacity: 1; } }

/* Scene 4: countess-searches */

.scn-countess-searches {
  background:
    linear-gradient(180deg, #1e1814 0%, #0e0a08 80%),
    radial-gradient(ellipse at 40% 60%, #3a2a1e 0%, transparent 70%);
}
.scn-countess-searches .room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e18 0%, transparent 60%);
  border-radius: 30% 30% 0 0;
  animation: cse-room 30s ease-in-out infinite alternate;
}
.scn-countess-searches .countess-figure {
  position: absolute; bottom: 20%; left: 45%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cse-walk 5s ease-in-out infinite alternate;
}
.scn-countess-searches .lantern {
  position: absolute; bottom: 32%; left: 40%; width: 12px; height: 16px;
  background: radial-gradient(circle at 50% 40%, #ffdd99 0%, #cc8844 50%, #804422 100%);
  border-radius: 30% 30% 50% 50%;
  box-shadow: 0 0 24px 8px #cc8844, 0 0 48px 16px rgba(204,136,68,.3);
  animation: cse-lantern 3s ease-in-out infinite alternate;
}
.scn-countess-searches .bed {
  position: absolute; bottom: 10%; left: 20%; width: 40%; height: 25%;
  background: linear-gradient(180deg, #3a2820 0%, #1a100c 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
}
.scn-countess-searches .door {
  position: absolute; bottom: 20%; right: 15%; width: 15%; height: 60%;
  background: linear-gradient(180deg, #2a1e18 0%, #0e0a08 100%);
  border-radius: 10% 10% 0 0;
  animation: cse-door 12s ease-in-out infinite alternate;
}
@keyframes cse-room { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes cse-walk { 0% { transform: translate(0,0) rotate(-1deg); } 25% { transform: translate(8px,-1px) rotate(2deg); } 50% { transform: translate(16px,0) rotate(-1deg); } 75% { transform: translate(24px,-1px) rotate(2deg); } 100% { transform: translate(32px,0) rotate(-1deg); } }
@keyframes cse-lantern { 0% { box-shadow: 0 0 12px 4px #cc8844, 0 0 24px 8px rgba(204,136,68,.2); transform: rotate(-5deg); } 50% { box-shadow: 0 0 28px 10px #eeaa66, 0 0 48px 20px rgba(238,170,102,.4); transform: rotate(5deg); } 100% { box-shadow: 0 0 16px 6px #cc8844, 0 0 32px 12px rgba(204,136,68,.25); transform: rotate(-5deg); } }
@keyframes cse-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }

/* Scene 1: octavio-how-was-count */

.scn-octavio-how-was-count {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a24 40%, #1a1210 100%), radial-gradient(ellipse at 50% 30%, #3a2a24 0%, transparent 70%);
}
.scn-octavio-how-was-count .room-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2e2220 0%, #1a1210 100%); }
.scn-octavio-how-was-count .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1412 0%, #0e0a08 100%); }
.scn-octavio-how-was-count .table { position:absolute; bottom:22%; left:50%; width:80px; height:20px; transform:translateX(-50%); background: linear-gradient(90deg, #4a2a1a 0%, #5a3a2a 50%, #3a1a0e 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-octavio-how-was-count .candle { position:absolute; bottom:30%; left:50%; width:6px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #e8c860 0%, #c89840 60%, #6a3a1a 100%); border-radius:2px; box-shadow: 0 0 20px 8px rgba(200,152,64,.5), 0 0 40px 16px rgba(200,152,64,.2); animation: oc-candle 0.6s ease-in-out infinite alternate; }
.scn-octavio-how-was-count .figure-left { position:absolute; bottom:22%; left:35%; width:24px; height:60px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oc-figure-left 2.4s ease-in-out infinite alternate; }
.scn-octavio-how-was-count .figure-right { position:absolute; bottom:22%; right:35%; width:24px; height:60px; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oc-figure-right 2.0s ease-in-out infinite alternate; }
.scn-octavio-how-was-count .shadow-left { position:absolute; bottom:0; left:28%; width:40px; height:10px; background: rgba(0,0,0,.35); border-radius:50%; animation: oc-shadow 2.4s ease-in-out infinite alternate; }
.scn-octavio-how-was-count .shadow-right { position:absolute; bottom:0; right:28%; width:40px; height:10px; background: rgba(0,0,0,.35); border-radius:50%; animation: oc-shadow 2.0s ease-in-out infinite alternate; }

@keyframes oc-candle { 
  0% { box-shadow: 0 0 18px 6px rgba(200,152,64,.4), 0 0 36px 12px rgba(200,152,64,.15); }
  50% { box-shadow: 0 0 28px 10px rgba(200,152,64,.6), 0 0 50px 20px rgba(200,152,64,.3); }
  100% { box-shadow: 0 0 20px 7px rgba(200,152,64,.45), 0 0 38px 14px rgba(200,152,64,.18); }
}
@keyframes oc-figure-left {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes oc-figure-right {
  0% { transform: translateX(0) rotate(2deg); }
  50% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(2deg); }
}
@keyframes oc-shadow {
  0% { transform: scale(1); opacity: .35; }
  50% { transform: scale(1.1) translateX(2px); opacity: .5; }
  100% { transform: scale(1); opacity: .35; }
}

/* Scene 2: butler-ambition-stung */

.scn-butler-ambition-stung {
  background: linear-gradient(180deg, #1a1418 0%, #2a1e24 50%, #120e10 100%), radial-gradient(ellipse at 50% 20%, #3a2a30 0%, transparent 60%);
}
.scn-butler-ambition-stung .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1418 0%, #120e10 100%); }
.scn-butler-ambition-stung .mirror { position:absolute; top:20%; left:50%; width:80px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #2a1e24 0%, #1a1418 100%); border:4px solid #3a2a30; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 0 30px rgba(0,0,0,.3); animation: as-mirror 8s ease-in-out infinite; }
.scn-butler-ambition-stung .frame { position:absolute; top:19%; left:49.2%; width:90px; height:108px; transform:translateX(-50%); border:3px solid #4a383a; border-radius: 6px; box-shadow: 0 0 12px rgba(0,0,0,.4); }
.scn-butler-ambition-stung .figure { position:absolute; bottom:22%; left:50%; width:26px; height:56px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a30 0%, #1a1418 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: as-figure 4s ease-in-out infinite alternate; }
.scn-butler-ambition-stung .reflection { position:absolute; top:20%; left:50.5%; width:78px; height:98px; transform:translateX(-50%) scaleX(-1); background: linear-gradient(180deg, rgba(58,42,48,.25) 0%, rgba(26,20,24,.15) 100%); border-radius:4px; animation: as-reflection 8s ease-in-out infinite; }
.scn-butler-ambition-stung .candle { position:absolute; bottom:34%; left:60%; width:5px; height:30px; background: linear-gradient(180deg, #e8c860 0%, #c89840 60%, #6a3a1a 100%); border-radius:2px; box-shadow: 0 0 20px 8px rgba(200,152,64,.3), 0 0 40px 16px rgba(200,152,64,.1); animation: as-candle 3s ease-in-out infinite alternate; }

@keyframes as-mirror {
  0% { opacity: .6; }
  50% { opacity: .8; box-shadow: inset 0 0 30px rgba(0,0,0,.6); }
  100% { opacity: .6; }
}
@keyframes as-figure {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.02) translateY(1px); }
  100% { transform: translateX(-50%) scale(1); }
}
@keyframes as-reflection {
  0% { opacity: .15; }
  50% { opacity: .25; }
  100% { opacity: .15; }
}
@keyframes as-candle {
  0% { box-shadow: 0 0 18px 6px rgba(200,152,64,.2), 0 0 36px 12px rgba(200,152,64,.08); }
  50% { box-shadow: 0 0 24px 8px rgba(200,152,64,.35), 0 0 44px 16px rgba(200,152,64,.15); }
  100% { box-shadow: 0 0 18px 6px rgba(200,152,64,.2), 0 0 36px 12px rgba(200,152,64,.08); }
}

/* Scene 3: butler-contempt-barbed */

.scn-butler-contempt-barbed {
  background: linear-gradient(180deg, #1a1210 0%, #2a1a18 40%, #0e0a08 100%), radial-gradient(ellipse at 50% 50%, #2a1a18 0%, transparent 70%);
}
.scn-butler-contempt-barbed .bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); }
.scn-butler-contempt-barbed .fist { position:absolute; bottom:30%; left:45%; width:40px; height:50px; background: linear-gradient(180deg, #3a2a24 0%, #1a1210 100%); border-radius: 60% 40% 30% 30% / 50% 50% 40% 40%; transform: rotate(10deg); animation: cb-fist 0.8s ease-in-out infinite alternate; }
.scn-butler-contempt-barbed .table { position:absolute; bottom:20%; left:30%; width:120px; height:18px; background: linear-gradient(90deg, #3a2a24 0%, #4a3832 50%, #2a1e1a 100%); border-radius:2px; box-shadow: 0 4px 10px rgba(0,0,0,.5); }
.scn-butler-contempt-barbed .candle { position:absolute; bottom:28%; left:40%; width:5px; height:35px; background: linear-gradient(180deg, #e8c860 0%, #c89840 60%, #6a3a1a 100%); border-radius:2px; box-shadow: 0 0 18px 6px rgba(200,152,64,.4), 0 0 36px 12px rgba(200,152,64,.15); animation: cb-candle 0.5s ease-in-out infinite alternate; }
.scn-butler-contempt-barbed .shadow-wall { position:absolute; bottom:10%; right:20%; width:80px; height:120px; background: rgba(0,0,0,.3); filter: blur(8px); border-radius:10%; animation: cb-shadow 1.2s ease-in-out infinite alternate; }

@keyframes cb-fist {
  0% { transform: rotate(10deg) scale(1); }
  50% { transform: rotate(6deg) scale(1.05); }
  100% { transform: rotate(10deg) scale(1); }
}
@keyframes cb-candle {
  0% { box-shadow: 0 0 16px 5px rgba(200,152,64,.3), 0 0 32px 10px rgba(200,152,64,.12); }
  50% { box-shadow: 0 0 24px 8px rgba(200,152,64,.5), 0 0 44px 16px rgba(200,152,64,.2); }
  100% { box-shadow: 0 0 18px 6px rgba(200,152,64,.35), 0 0 36px 12px rgba(200,152,64,.13); }
}
@keyframes cb-shadow {
  0% { transform: scale(1) translateX(0); opacity: .3; }
  50% { transform: scale(1.08) translateX(-5px); opacity: .45; }
  100% { transform: scale(1) translateX(0); opacity: .3; }
}

/* Scene 4: butler-vile-court-minion */

.scn-butler-vile-court-minion {
  background: linear-gradient(180deg, #1a1412 0%, #2a1e1a 50%, #0e0a08 100%), radial-gradient(ellipse at 50% 20%, #3a2a24 0%, transparent 60%);
}
.scn-butler-vile-court-minion .bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); }
.scn-butler-vile-court-minion .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1412 0%, #0a0608 100%); }
.scn-butler-vile-court-minion .butler { position:absolute; bottom:22%; left:30%; width:28px; height:62px; background: linear-gradient(180deg, #3a2a24 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vc-butler 4s ease-in-out infinite alternate; }
.scn-butler-vile-court-minion .minion { position:absolute; bottom:22%; right:28%; width:22px; height:50px; background: linear-gradient(180deg, #2a1e1a 0%, #120e0c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vc-minion 6s ease-in-out infinite alternate; }
.scn-butler-vile-court-minion .lamp { position:absolute; top:15%; left:50%; width:8px; height:36px; transform:translateX(-50%); background: linear-gradient(180deg, #e8c860 0%, #c89840 60%, #6a3a1a 100%); border-radius:4px; box-shadow: 0 0 30px 12px rgba(200,152,64,.4), 0 0 60px 24px rgba(200,152,64,.15); animation: vc-lamp 4s ease-in-out infinite alternate; }
.scn-butler-vile-court-minion .shadow-butler { position:absolute; bottom:0; left:22%; width:50px; height:12px; background: rgba(0,0,0,.4); border-radius:50%; animation: vc-shadow-b 4s ease-in-out infinite alternate; }
.scn-butler-vile-court-minion .shadow-minion { position:absolute; bottom:0; right:22%; width:38px; height:8px; background: rgba(0,0,0,.3); border-radius:50%; animation: vc-shadow-m 6s ease-in-out infinite alternate; }

@keyframes vc-butler {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes vc-minion {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-3px) scale(0.98); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes vc-lamp {
  0% { box-shadow: 0 0 28px 10px rgba(200,152,64,.3), 0 0 50px 20px rgba(200,152,64,.12); }
  50% { box-shadow: 0 0 36px 14px rgba(200,152,64,.5), 0 0 70px 28px rgba(200,152,64,.2); }
  100% { box-shadow: 0 0 30px 12px rgba(200,152,64,.35), 0 0 55px 22px rgba(200,152,64,.14); }
}
@keyframes vc-shadow-b {
  0% { transform: scale(1); opacity: .4; }
  50% { transform: scale(1.15) translateX(3px); opacity: .55; }
  100% { transform: scale(1); opacity: .4; }
}
@keyframes vc-shadow-m {
  0% { transform: scale(1); opacity: .3; }
  50% { transform: scale(0.9) translateX(-2px); opacity: .2; }
  100% { transform: scale(1); opacity: .3; }
}

.scn-wallenstein-armored-resolve { background: linear-gradient(180deg, #4a3a2a 0%, #6a5a3a 40%, #8a7a5a 60%, #6a5a3a 80%, #3a2a1a 100%), radial-gradient(ellipse at 50% 30%, #c0a060 0%, transparent 70%); }
.scn-wallenstein-armored-resolve .floor { position:absolute; bottom:0; left:0; right:0; height:28%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); box-shadow: inset 0 6px 12px rgba(0,0,0,.5); }
.scn-wallenstein-armored-resolve .back-wall { position:absolute; bottom:28%; left:0; right:0; top:0; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a3a 100%); box-shadow: inset 0 0 60px rgba(0,0,0,.3); }
.scn-wallenstein-armored-resolve .window-arch { position:absolute; top:10%; left:50%; width:120px; height:160px; transform:translateX(-50%); background: linear-gradient(180deg, #b0a080 0%, #8a7a5a 100%); border-radius:50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 40px rgba(0,0,0,.4), 0 0 30px rgba(192,168,96,.3); }
.scn-wallenstein-armored-resolve .armor-figure { position:absolute; bottom:24%; left:50%; width:48px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #a09880 0%, #787060 40%, #585048 70%, #383028 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; box-shadow: 2px 0 8px rgba(0,0,0,.5), -2px 0 4px rgba(192,176,128,.2); animation: wsr-armor 8s ease-in-out infinite; }
.scn-wallenstein-armored-resolve .armor-shadow { position:absolute; bottom:22%; left:50%; width:60px; height:14px; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); border-radius:50%; animation: wsr-shadow 8s ease-in-out infinite; }
.scn-wallenstein-armored-resolve .candle-flame { position:absolute; bottom:38%; left:56%; width:8px; height:12px; background: radial-gradient(ellipse at 50% 30%, #ffe8a0 0%, #d09040 50%, #a05020 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 20px 6px rgba(208,144,64,.6), 0 0 40px 12px rgba(208,144,64,.3); animation: wsr-candle 2s ease-in-out infinite alternate; }
.scn-wallenstein-armored-resolve .emblem-shield { position:absolute; bottom:52%; left:44%; width:30px; height:34px; background: linear-gradient(180deg, #4a3828 0%, #2a1a0a 100%); border-radius:0 0 40% 40% / 0 0 30% 30%; border:2px solid #8a7050; box-shadow: 0 2px 6px rgba(0,0,0,.5); transform:rotate(-4deg); animation: wsr-emblem 12s ease-in-out infinite; }
.scn-wallenstein-armored-resolve .dust-mote { position:absolute; top:25%; left:30%; width:20px; height:12px; background: radial-gradient(ellipse, rgba(240,224,192,.4) 0%, transparent 70%); border-radius:50%; filter:blur(3px); animation: wsr-dust 20s linear infinite; }
@keyframes wsr-armor { 0% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-3px); } 100% { transform:translateX(-50%) translateY(0); } }
@keyframes wsr-shadow { 0% { width:60px; opacity:.6; } 50% { width:54px; opacity:.4; } 100% { width:60px; opacity:.6; } }
@keyframes wsr-candle { 0% { transform:scaleY(1) scaleX(1); opacity:.85; } 25% { transform:scaleY(1.15) scaleX(.9); opacity:1; } 50% { transform:scaleY(.95) scaleX(1.05); opacity:.9; } 75% { transform:scaleY(1.1) scaleX(.92); opacity:1; } 100% { transform:scaleY(1) scaleX(1); opacity:.85; } }
@keyframes wsr-emblem { 0% { transform:rotate(-4deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(-4deg); } }
@keyframes wsr-dust { 0% { transform:translate(0,0) scale(1); opacity:.4; } 50% { transform:translate(40px,-20px) scale(.6); opacity:.1; } 100% { transform:translate(80px,-40px) scale(.3); opacity:0; } }

.scn-wallenstein-recalls-tilly-defeat { background: linear-gradient(180deg, #3a4a5a 0%, #5a6a7a 30%, #7a8a9a 50%, #5a6a7a 70%, #3a4a5a 100%), radial-gradient(ellipse at 50% 80%, #8a9aaa 0%, transparent 60%); }
.scn-wallenstein-recalls-tilly-defeat .storm-sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #4a5a6a 0%, #6a7a8a 40%, #8a9aaa 70%, #aababa 100%); animation: wtr-sky 15s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-tilly-defeat .mountain-peak { position:absolute; bottom:40%; left:15%; width:45%; height:35%; background: linear-gradient(180deg, #6a7a6a 0%, #4a5a4a 60%, #3a4a3a 100%); border-radius:60% 40% 0 0 / 80% 60% 0 0; clip-path:polygon(0% 100%, 30% 30%, 50% 60%, 70% 20%, 100% 100%); animation: wtr-mountain 20s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-tilly-defeat .torrent-fall { position:absolute; bottom:35%; left:40%; width:25%; height:45%; background: linear-gradient(180deg, rgba(180,200,220,.5) 0%, rgba(140,170,200,.6) 40%, rgba(100,140,180,.5) 80%, rgba(80,120,160,.4) 100%); border-radius:0 0 40% 40% / 0 0 30% 30%; filter:blur(2px); animation: wtr-torrent 4s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-tilly-defeat .figure-falling { position:absolute; bottom:50%; left:48%; width:20px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin:center center; animation: wtr-fall 3s ease-in-out infinite; }
.scn-wallenstein-recalls-tilly-defeat .spray-mist { position:absolute; bottom:32%; left:42%; width:80px; height:40px; background: radial-gradient(ellipse at 50% 100%, rgba(200,220,240,.3) 0%, transparent 70%); border-radius:50%; filter:blur(6px); animation: wtr-spray 5s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-tilly-defeat .distant-palace { position:absolute; bottom:42%; right:12%; width:70px; height:50px; background: linear-gradient(180deg, #7a8a7a 0%, #5a6a5a 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 4px 8px rgba(0,0,0,.3); transform:scale(.85); animation: wtr-palace 18s ease-in-out infinite alternate; }
.scn-wallenstein-recalls-tilly-defeat .splash-wave { position:absolute; bottom:30%; left:38%; width:100px; height:24px; background: linear-gradient(180deg, rgba(160,190,220,.6) 0%, rgba(120,160,200,.4) 60%, transparent 100%); border-radius:50%; filter:blur(3px); animation: wtr-splash 3s ease-in-out infinite; }
.scn-wallenstein-recalls-tilly-defeat .debris-bit { position:absolute; bottom:36%; left:44%; width:6px; height:6px; background:#8a7a5a; border-radius:50%; animation: wtr-debris 4s ease-in-out infinite; }
@keyframes wtr-sky { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.75; } }
@keyframes wtr-mountain { 0% { transform:scaleY(1) translateX(0); } 50% { transform:scaleY(1.02) translateX(-3px); } 100% { transform:scaleY(1) translateX(0); } }
@keyframes wtr-torrent { 0% { transform:translateY(0) scaleY(1); opacity:.7; } 50% { transform:translateY(8px) scaleY(1.05); opacity:1; } 100% { transform:translateY(0) scaleY(1); opacity:.7; } }
@keyframes wtr-fall { 0% { transform:translate(0,0) rotate(0deg); } 25% { transform:translate(8px,20px) rotate(15deg); } 50% { transform:translate(-4px,40px) rotate(-10deg); } 75% { transform:translate(6px,60px) rotate(8deg); } 100% { transform:translate(0,80px) rotate(0deg); opacity:0; } }
@keyframes wtr-spray { 0% { transform:scaleX(1) scaleY(1); opacity:.4; } 50% { transform:scaleX(1.3) scaleY(1.1); opacity:.7; } 100% { transform:scaleX(1) scaleY(1); opacity:.4; } }
@keyframes wtr-palace { 0% { transform:scale(.85) translateY(0); } 50% { transform:scale(.87) translateY(-2px); } 100% { transform:scale(.85) translateY(0); } }
@keyframes wtr-splash { 0% { transform:scaleX(1) translateY(0); opacity:.5; } 50% { transform:scaleX(1.2) translateY(3px); opacity:1; } 100% { transform:scaleX(1) translateY(0); opacity:.5; } }
@keyframes wtr-debris { 0% { transform:translate(0,0) rotate(0deg); opacity:.8; } 50% { transform:translate(12px,-8px) rotate(180deg); opacity:.4; } 100% { transform:translate(24px,4px) rotate(360deg); opacity:0; } }

.scn-wallenstein-marshals-forces { background: linear-gradient(180deg, #6a5a3a 0%, #8a7a5a 30%, #b0a080 50%, #8a7a5a 70%, #5a4a2a 100%), radial-gradient(ellipse at 50% 20%, #d0c0a0 0%, transparent 60%); }
.scn-wallenstein-marshals-forces .dawn-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #7a6a4a 0%, #a09070 40%, #c0b090 70%, #d0c0a0 100%); animation: wmf-sky 20s ease-in-out infinite alternate; }
.scn-wallenstein-marshals-forces .eagle-standard { position:absolute; bottom:45%; left:30%; width:50px; height:70px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius:50% 50% 30% 30% / 60% 60% 35% 35%; transform-origin:bottom center; box-shadow: 0 0 20px rgba(192,168,96,.4); animation: wmf-eagle 6s ease-in-out infinite; }
.scn-wallenstein-marshals-forces .troop-mass { position:absolute; bottom:32%; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 40%, #2a1a0a 100%); border-radius:40% 40% 0 0 / 60% 60% 0 0; box-shadow: inset 0 -8px 20px rgba(0,0,0,.5); animation: wmf-troops 10s ease-in-out infinite alternate; }
.scn-wallenstein-marshals-forces .banner-line { position:absolute; bottom:48%; left:38%; width:20px; height:60px; background: linear-gradient(180deg, #8a5a4a 0%, #6a3a2a 100%); border-radius:2px; transform-origin:top center; box-shadow: 0 0 8px rgba(138,90,74,.3); animation: wmf-banner 7s ease-in-out infinite; }
.scn-wallenstein-marshals-forces .magic-swirl { position:absolute; bottom:38%; left:50%; width:80px; height:80px; background: radial-gradient(circle, rgba(208,192,128,.3) 0%, transparent 70%); border-radius:50%; filter:blur(4px); animation: wmf-swirl 12s linear infinite; }
.scn-wallenstein-marshals-forces .drum-beat { position:absolute; bottom:28%; left:55%; width:30px; height:20px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius:30% 30% 20% 20% / 40% 40% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: wmf-drum 1.5s ease-in-out infinite alternate; }
.scn-wallenstein-marshals-forces .arm-branch { position:absolute; bottom:40%; left:48%; width:8px; height:28px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:40% 40% 20% 20%; transform-origin:bottom center; transform:rotate(-20deg); animation: wmf-arm 4s ease-in-out infinite; }
@keyframes wmf-sky { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.85; } }
@keyframes wmf-eagle { 0% { transform:rotate(-5deg) scaleY(1); } 50% { transform:rotate(5deg) scaleY(1.03); } 100% { transform:rotate(-5deg) scaleY(1); } }
@keyframes wmf-troops { 0% { transform:translateY(0); } 50% { transform:translateY(-4px); } 100% { transform:translateY(0); } }
@keyframes wmf-banner { 0% { transform:rotate(-3deg); } 25% { transform:rotate(0deg); } 50% { transform:rotate(4deg); } 75% { transform:rotate(1deg); } 100% { transform:rotate(-3deg); } }
@keyframes wmf-swirl { 0% { transform:rotate(0deg) scale(1); opacity:.4; } 50% { transform:rotate(180deg) scale(1.2); opacity:.6; } 100% { transform:rotate(360deg) scale(1); opacity:.4; } }
@keyframes wmf-drum { 0% { transform:scaleY(1); } 50% { transform:scaleY(.85); } 100% { transform:scaleY(1); } }
@keyframes wmf-arm { 0% { transform:rotate(-20deg); } 50% { transform:rotate(-10deg); } 100% { transform:rotate(-20deg); } }

.scn-wallenstein-calls-courage { background: linear-gradient(180deg, #5a4a3a 0%, #7a6a4a 30%, #9a8a6a 50%, #7a6a4a 70%, #4a3a2a 100%), radial-gradient(ellipse at 50% 50%, #c0b090 0%, transparent 50%); }
.scn-wallenstein-calls-courage .great-hall-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 40%, #3a2a1a 100%); box-shadow: inset 0 10px 30px rgba(0,0,0,.5); }
.scn-wallenstein-calls-courage .pillar-left { position:absolute; bottom:30%; left:12%; width:28px; height:60%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%); border-radius:6px; box-shadow: 4px 0 12px rgba(0,0,0,.3); }
.scn-wallenstein-calls-courage .pillar-right { position:absolute; bottom:30%; right:12%; width:28px; height:60%; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%); border-radius:6px; box-shadow: -4px 0 12px rgba(0,0,0,.3); }
.scn-wallenstein-calls-courage .central-figure { position:absolute; bottom:24%; left:50%; width:44px; height:90px; transform:translateX(-50%); background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 40%, #3a2a1a 80%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; box-shadow: 0 4px 10px rgba(0,0,0,.5); animation: wcc-central 6s ease-in-out infinite; }
.scn-wallenstein-calls-courage .illo-figure { position:absolute; bottom:24%; left:38%; width:36px; height:76px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin:bottom center; animation: wcc-illo 8s ease-in-out infinite; }
.scn-wallenstein-calls-courage .tertsky-figure { position:absolute; bottom:24%; right:38%; width:36px; height:76px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin:bottom center; animation: wcc-tertsky 8s ease-in-out infinite 2s; }
.scn-wallenstein-calls-courage .torch-glow { position:absolute; bottom:45%; left:50%; width:60px; height:100px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 60%, rgba(208,144,64,.5) 0%, rgba(208,144,64,.2) 40%, transparent 80%); border-radius:50%; filter:blur(8px); animation: wcc-torch 3s ease-in-out infinite alternate; }
.scn-wallenstein-calls-courage .banner-drape { position:absolute; bottom:50%; left:48%; width:50px; height:70px; background: linear-gradient(180deg, #7a3a2a 0%, #5a2a1a 100%); border-radius:4px 4px 20% 20% / 4px 4px 30% 30%; transform-origin:top center; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: wcc-banner 7s ease-in-out infinite; }
@keyframes wcc-central { 0% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-4px); } 100% { transform:translateX(-50%) translateY(0); } }
@keyframes wcc-illo { 0% { transform:translateX(0) translateY(0); } 50% { transform:translateX(3px) translateY(-3px); } 100% { transform:translateX(0) translateY(0); } }
@keyframes wcc-tertsky { 0% { transform:translateX(0) translateY(0); } 50% { transform:translateX(-3px) translateY(-3px); } 100% { transform:translateX(0) translateY(0); } }
@keyframes wcc-torch { 0% { transform:translateX(-50%) scaleY(1) scaleX(1); opacity:.7; } 50% { transform:translateX(-50%) scaleY(1.1) scaleX(.95); opacity:1; } 100% { transform:translateX(-50%) scaleY(1) scaleX(1); opacity:.7; } }
@keyframes wcc-banner { 0% { transform:rotate(-2deg); } 25% { transform:rotate(3deg); } 50% { transform:rotate(-1deg); } 75% { transform:rotate(4deg); } 100% { transform:rotate(-2deg); } }

.scn-geraldin-confirms {
  background:
    radial-gradient(ellipse at 30% 60%, rgba(120,70,40,0.4) 0%, transparent 70%),
    linear-gradient(180deg, #2a1f16 0%, #1a110c 100%);
}
.scn-geraldin-confirms .room-wall {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #3e2e22 0%, #281d14 100%);
  border-bottom: 2px solid #1a0f0a;
  animation: gc-wall 20s ease-in-out infinite;
}
.scn-geraldin-confirms .room-floor {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #1e160f 0%, #120c08 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-geraldin-confirms .table {
  position:absolute; bottom:25%; left:35%; width:30%; height:12%;
  background: linear-gradient(135deg, #4a3528 0%, #2d1f17 100%);
  border-radius: 2% 2% 0 0;
  transform: perspective(200px) rotateX(15deg);
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: gc-table 8s ease-in-out infinite;
}
.scn-geraldin-confirms .chair {
  position:absolute; bottom:27%; left:67%; width:8%; height:18%;
  background: linear-gradient(180deg, #37281e 0%, #1e140f 100%);
  border-radius: 10% 10% 20% 20%;
  transform: rotate(5deg);
  box-shadow: inset -2px 0 8px rgba(0,0,0,0.3);
}
.scn-geraldin-confirms .figure {
  position:absolute; bottom:28%; left:50%; width:12%; height:35%;
  background: linear-gradient(180deg, #1a1410 0%, #0e0a07 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: gc-figure 6s ease-in-out infinite;
}
.scn-geraldin-confirms .lamp-glow {
  position:absolute; bottom:38%; left:40%; width:15%; height:15%;
  background: radial-gradient(circle, #d49a5e 0%, #8a6030 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 20px rgba(212,154,94,0.3), 0 0 60px 40px rgba(212,154,94,0.1);
  animation: gc-lamp 3s ease-in-out infinite alternate;
}
.scn-geraldin-confirms .shadow {
  position:absolute; bottom:25%; left:45%; width:20%; height:4%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(4px);
  animation: gc-shadow 8s ease-in-out infinite;
}
@keyframes gc-wall { 0%,100% { opacity:0.85 } 50% { opacity:0.95 } }
@keyframes gc-table { 0%,100% { transform: perspective(200px) rotateX(15deg) translateY(0) } 50% { transform: perspective(200px) rotateX(15deg) translateY(-2px) } }
@keyframes gc-figure { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(2px,-1px) rotate(1deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-2px,-1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes gc-lamp { 0% { transform: scale(1); opacity:0.8; box-shadow: 0 0 20px 10px rgba(212,154,94,0.2), 0 0 40px 20px rgba(212,154,94,0.1) } 100% { transform: scale(1.05); opacity:1; box-shadow: 0 0 40px 20px rgba(212,154,94,0.4), 0 0 80px 40px rgba(212,154,94,0.2) } }
@keyframes gc-shadow { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.9) } }

.scn-devereux-and-macdonald-arrive {
  background:
    radial-gradient(ellipse at 50% 80%, rgba(100,60,40,0.3) 0%, transparent 60%),
    linear-gradient(180deg, #2d221a 0%, #18120e 100%);
}
.scn-devereux-and-macdonald-arrive .door-frame {
  position:absolute; top:5%; left:15%; right:15%; bottom:60%;
  background: linear-gradient(135deg, #3b2b20 0%, #241a12 100%);
  border: 3px solid #4a3628;
  border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
  animation: da-door 15s ease-in-out infinite;
}
.scn-devereux-and-macdonald-arrive .floor {
  position:absolute; bottom:0; left:0; right:0; height:60%;
  background: linear-gradient(180deg, #1a130d 0%, #0f0a07 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-devereux-and-macdonald-arrive .figure-left {
  position:absolute; bottom:30%; left:15%; width:10%; height:40%;
  background: linear-gradient(180deg, #1f1611 0%, #0f0a07 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: da-figL 5s ease-in-out infinite;
}
.scn-devereux-and-macdonald-arrive .figure-center {
  position:absolute; bottom:30%; left:45%; width:10%; height:40%;
  background: linear-gradient(180deg, #1f1611 0%, #0f0a07 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: da-figC 6s ease-in-out infinite 1s;
}
.scn-devereux-and-macdonald-arrive .figure-right {
  position:absolute; bottom:30%; right:15%; width:10%; height:40%;
  background: linear-gradient(180deg, #1f1611 0%, #0f0a07 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: da-figR 5.5s ease-in-out infinite 0.5s;
}
.scn-devereux-and-macdonald-arrive .lamp-light {
  position:absolute; bottom:45%; left:48%; width:20%; height:20%;
  background: radial-gradient(circle, #cfa063 0%, #7a5228 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(207,160,99,0.3);
  animation: da-lamp 4s ease-in-out infinite alternate;
}
.scn-devereux-and-macdonald-arrive .carpet {
  position:absolute; bottom:5%; left:25%; right:25%; height:10%;
  background: linear-gradient(135deg, #5e3a2a 0%, #402618 100%);
  border-radius: 20% 20% 0 0;
  opacity:0.5;
  filter: blur(3px);
  animation: da-carpet 12s ease-in-out infinite;
}
@keyframes da-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes da-figL { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(3px,-2px) rotate(0.5deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-3px,-2px) rotate(-0.5deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes da-figC { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(2px,-1px) rotate(1deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-2px,-1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes da-figR { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(-3px,-2px) rotate(-0.5deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(3px,-2px) rotate(0.5deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes da-lamp { 0% { opacity:0.7; transform: scale(1); box-shadow: 0 0 20px 10px rgba(207,160,99,0.2) } 100% { opacity:1; transform: scale(1.08); box-shadow: 0 0 50px 25px rgba(207,160,99,0.4) } }
@keyframes da-carpet { 0%,100% { opacity:0.4 } 50% { opacity:0.6 } }

.scn-butler-reveals-true-purpose {
  background:
    radial-gradient(ellipse at 50% 50%, rgba(80,50,30,0.3) 0%, transparent 60%),
    linear-gradient(180deg, #1f1510 0%, #120b07 100%);
}
.scn-butler-reveals-true-purpose .dark-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #261b14 0%, #1a100a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
}
.scn-butler-reveals-true-purpose .table-top {
  position:absolute; bottom:20%; left:20%; right:20%; height:10%;
  background: linear-gradient(180deg, #4a3528 0%, #2e1f17 100%);
  border-radius: 4%;
  transform: perspective(300px) rotateX(20deg);
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: br-table 9s ease-in-out infinite;
}
.scn-butler-reveals-true-purpose .candle-base {
  position:absolute; bottom:28%; left:50%; width:4%; height:12%;
  background: linear-gradient(180deg, #e8d0b0 0%, #a08060 100%);
  border-radius: 10%;
  transform: translateX(-50%);
  animation: br-candle 4s ease-in-out infinite alternate;
}
.scn-butler-reveals-true-purpose .candle-flame {
  position:absolute; bottom:38%; left:50%; width:3%; height:8%;
  background: radial-gradient(ellipse at 50% 30%, #ffd680 0%, #c08040 50%, transparent 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 15px 8px rgba(255,214,128,0.4);
  animation: br-flame 2s ease-in-out infinite alternate;
}
.scn-butler-reveals-true-purpose .figure-butler {
  position:absolute; bottom:25%; left:30%; width:12%; height:40%;
  background: linear-gradient(180deg, #1a110d 0%, #0c0705 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: br-figB 7s ease-in-out infinite;
}
.scn-butler-reveals-true-purpose .figure-other {
  position:absolute; bottom:25%; right:30%; width:12%; height:40%;
  background: linear-gradient(180deg, #1a110d 0%, #0c0705 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: br-figO 7s ease-in-out infinite 1s;
}
.scn-butler-reveals-true-purpose .hand-gesture {
  position:absolute; bottom:30%; left:38%; width:6%; height:8%;
  background: linear-gradient(180deg, #2a1a12 0%, #170e09 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform: rotate(20deg);
  animation: br-hand 3s ease-in-out infinite;
}
.scn-butler-reveals-true-purpose .shadow-pool {
  position:absolute; bottom:15%; left:25%; right:25%; height:8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(5px);
  animation: br-shadow 10s ease-in-out infinite;
}
@keyframes br-table { 0%,100% { transform: perspective(300px) rotateX(20deg) translateY(0) } 50% { transform: perspective(300px) rotateX(20deg) translateY(-2px) } }
@keyframes br-candle { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.05) } }
@keyframes br-flame { 0% { transform: translateX(-50%) scale(1); opacity:0.8 } 50% { transform: translateX(-50%) scale(1.2) translateY(-3px); opacity:1 } 100% { transform: translateX(-50%) scale(0.9); opacity:0.9 } }
@keyframes br-figB { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(-2px,-1px) rotate(-1deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(2px,-1px) rotate(1deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes br-figO { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(2px,-1px) rotate(1deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-2px,-1px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes br-hand { 0%,100% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(25deg) translateY(-3px) } }
@keyframes br-shadow { 0%,100% { opacity:0.4 } 50% { opacity:0.7 } }

.scn-soldiers-of-fortune {
  background:
    radial-gradient(ellipse at 50% 70%, rgba(90,55,35,0.3) 0%, transparent 50%),
    linear-gradient(180deg, #241b14 0%, #140e0a 100%);
}
.scn-soldiers-of-fortune .banner {
  position:absolute; top:10%; left:35%; right:35%; bottom:50%;
  background: linear-gradient(135deg, #b87878 0%, #8a4a4a 100%);
  border-radius: 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: sf-banner 12s ease-in-out infinite;
}
.scn-soldiers-of-fortune .flagpole {
  position:absolute; top:0; bottom:50%; left:50%; width:2%;
  background: linear-gradient(180deg, #4a3a28 0%, #2a1e14 100%);
  transform: translateX(-50%);
  animation: sf-pole 8s ease-in-out infinite;
}
.scn-soldiers-of-fortune .soldier-one {
  position:absolute; bottom:25%; left:20%; width:10%; height:35%;
  background: linear-gradient(180deg, #1a110d 0%, #0c0705 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: sf-s1 6s ease-in-out infinite;
}
.scn-soldiers-of-fortune .soldier-two {
  position:absolute; bottom:25%; left:45%; width:10%; height:35%;
  background: linear-gradient(180deg, #1a110d 0%, #0c0705 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: sf-s2 6s ease-in-out infinite 1s;
}
.scn-soldiers-of-fortune .soldier-three {
  position:absolute; bottom:25%; left:70%; width:10%; height:35%;
  background: linear-gradient(180deg, #1a110d 0%, #0c0705 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%;
  transform-origin: bottom;
  animation: sf-s3 6s ease-in-out infinite 0.5s;
}
.scn-soldiers-of-fortune .coin-pile {
  position:absolute; bottom:20%; left:48%; width:8%; height:5%;
  background: radial-gradient(ellipse, #d4a060 0%, #a07030 100%);
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: sf-coins 4s ease-in-out infinite alternate;
}
.scn-soldiers-of-fortune .floor-shadow {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 100%);
  filter: blur(6px);
}
@keyframes sf-banner { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.03) } }
@keyframes sf-pole { 0%,100% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } }
@keyframes sf-s1 { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(-2px,-1px) rotate(-0.5deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(2px,-1px) rotate(0.5deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes sf-s2 { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(3px,-2px) rotate(0.8deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(-3px,-2px) rotate(-0.8deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes sf-s3 { 0% { transform: translate(0,0) rotate(0deg) } 25% { transform: translate(-3px,-1px) rotate(-0.6deg) } 50% { transform: translate(0,0) rotate(0deg) } 75% { transform: translate(3px,-1px) rotate(0.6deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes sf-coins { 0% { transform: scale(1); opacity:0.8 } 100% { transform: scale(1.2); opacity:1 } }

/* wallenstein-perigee-influence */

.scn-wallenstein-perigee-influence { background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1e 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #4a2a1a 0%, transparent 60%); }
.scn-wallenstein-perigee-influence .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a12 0%, #1a1218 100%); }
.scn-wallenstein-perigee-influence .window-frame { position:absolute; top:8%; left:35%; width:30%; height:40%; border:4px solid #3a2a1a; border-radius:8% 8% 4% 4%; background: linear-gradient(180deg, #1a222e 0%, #2a2e3a 100%); box-shadow: inset 0 0 20px rgba(0,0,0,0.8); }
.scn-wallenstein-perigee-influence .moon-perigee { position:absolute; top:15%; left:45%; width:20px; height:20px; background: radial-gradient(circle, #e0d0a0 0%, #c0b080 100%); border-radius:50%; box-shadow: 0 0 30px 6px #a08860, 0 0 60px 12px rgba(160,136,96,0.3); animation: wpi-moon 8s ease-in-out infinite alternate; }
.scn-wallenstein-perigee-influence .table-shelf { position:absolute; bottom:20%; left:20%; width:60%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.6); }
.scn-wallenstein-perigee-influence .chart-scroll { position:absolute; bottom:22%; left:38%; width:24%; height:14%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; transform:rotate(-2deg); box-shadow: 0 0 12px rgba(0,0,0,0.5); animation: wpi-chart 6s ease-in-out infinite; }
.scn-wallenstein-perigee-influence .figure-silhouette { position:absolute; bottom:10%; left:40%; width:16%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wpi-figure 4s ease-in-out infinite alternate; }
.scn-wallenstein-perigee-influence .candle-flame { position:absolute; bottom:28%; left:52%; width:4px; height:12px; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 16px 4px #c08040; animation: wpi-candle 2s ease-in-out infinite; }
.scn-wallenstein-perigee-influence .flicker-glow { position:absolute; bottom:25%; left:48%; width:12%; height:20%; background: radial-gradient(ellipse, rgba(192,128,64,0.3) 0%, transparent 70%); animation: wpi-flicker 1.5s ease-in-out infinite alternate; }
@keyframes wpi-moon { 0% { transform: scale(0.9) translateY(0); opacity:0.8; } 50% { transform: scale(1.1) translateY(-2px); opacity:1; } 100% { transform: scale(0.95) translateY(1px); opacity:0.7; } }
@keyframes wpi-chart { 0% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(1); } }
@keyframes wpi-figure { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes wpi-candle { 0% { transform: scaleY(0.9) translateY(0); } 50% { transform: scaleY(1.2) translateY(-2px); } 100% { transform: scaleY(0.9) translateY(0); } }
@keyframes wpi-flicker { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(0.9); } }

/* wallenstein-mars-captive */

.scn-wallenstein-mars-captive { background: linear-gradient(180deg, #2a1a0e 0%, #3a2a1a 50%, #1a120a 100%), radial-gradient(ellipse at 40% 60%, #4a3a2a 0%, transparent 70%); }
.scn-wallenstein-mars-captive .bg-deep { position:absolute; inset:0; background: linear-gradient(135deg, #0e0a08 0%, #1a1410 100%); }
.scn-wallenstein-mars-captive .window-arch { position:absolute; top:5%; left:25%; width:50%; height:45%; border:3px solid #2a1a0a; border-radius:50% 50% 10% 10% / 60% 60% 20% 20%; background: linear-gradient(180deg, #1a1814 0%, #0e0c0a 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.9); }
.scn-wallenstein-mars-captive .mars-star { position:absolute; top:12%; left:45%; width:14px; height:14px; background: radial-gradient(circle, #c8553d 0%, #a0461a 100%); border-radius:50%; box-shadow: 0 0 20px 4px #a0461a, 0 0 40px 8px rgba(160,70,26,0.4); animation: wmc-mars 6s ease-in-out infinite alternate; }
.scn-wallenstein-mars-captive .cage-lines { position:absolute; top:10%; left:42%; width:20%; height:20%; border:2px solid #3a2a1a; border-radius:4px; transform:rotate(15deg); box-shadow: 0 0 6px rgba(0,0,0,0.5); animation: wmc-cage 12s linear infinite; }
.scn-wallenstein-mars-captive .telescope { position:absolute; bottom:30%; left:30%; width:8%; height:30%; background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #3a2a1a 100%); border-radius:10% 10% 40% 40% / 50% 50% 30% 30%; transform:rotate(-15deg); transform-origin: bottom left; animation: wmc-telescope 10s ease-in-out infinite; }
.scn-wallenstein-mars-captive .figure-observing { position:absolute; bottom:10%; left:25%; width:14%; height:40%; background: linear-gradient(180deg, #1a1612 0%, #0e0c08 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wmc-figure 5s ease-in-out infinite alternate; }
.scn-wallenstein-mars-captive .candle-warm { position:absolute; bottom:25%; left:55%; width:4px; height:12px; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 16px 4px #c08040; animation: wmc-candle 3s ease-in-out infinite; }
.scn-wallenstein-mars-captive .shadow-ray { position:absolute; top:5%; left:0; width:100%; height:20%; background: linear-gradient(180deg, rgba(200,85,61,0.15) 0%, transparent 100%); animation: wmc-ray 8s ease-in-out infinite alternate; }
@keyframes wmc-mars { 0% { transform: scale(0.9); opacity:0.7; } 50% { transform: scale(1.2); opacity:1; } 100% { transform: scale(0.8); opacity:0.6; } }
@keyframes wmc-cage { 0% { transform: rotate(15deg) scale(1); } 50% { transform: rotate(-5deg) scale(1.05); } 100% { transform: rotate(15deg) scale(1); } }
@keyframes wmc-telescope { 0% { transform: rotate(-15deg); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(-15deg); } }
@keyframes wmc-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wmc-candle { 0% { transform: scaleY(0.9); } 50% { transform: scaleY(1.3); } 100% { transform: scaleY(0.9); } }
@keyframes wmc-ray { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.2; } }

/* wallenstein-sextile-aspect */

.scn-wallenstein-sextile-aspect { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a2a1a 100%), radial-gradient(ellipse at 60% 70%, #4a3a2a 0%, transparent 50%); }
.scn-wallenstein-sextile-aspect .bg-velvet { position:absolute; inset:0; background: linear-gradient(135deg, #0e0e18 0%, #1a1614 100%); }
.scn-wallenstein-sextile-aspect .window-large { position:absolute; top:6%; left:20%; width:60%; height:40%; border:4px solid #3a2a1a; border-radius:12% 12% 6% 6%; background: linear-gradient(180deg, #1a2230 0%, #0e1218 100%); box-shadow: inset 0 0 30px rgba(0,0,0,0.8); }
.scn-wallenstein-sextile-aspect .sun-sextile { position:absolute; top:12%; left:30%; width:24px; height:24px; background: radial-gradient(circle, #ffd080 0%, #c08040 100%); border-radius:50%; box-shadow: 0 0 40px 8px #c08040, 0 0 80px 16px rgba(192,128,64,0.3); animation: wsa-sun 10s ease-in-out infinite alternate; }
.scn-wallenstein-sextile-aspect .moon-sextile { position:absolute; top:16%; left:55%; width:18px; height:18px; background: radial-gradient(circle, #e0e0e8 0%, #b0b0c0 100%); border-radius:50%; box-shadow: 0 0 30px 6px #9090a0, 0 0 60px 12px rgba(144,144,160,0.2); animation: wsa-moon 12s ease-in-out infinite alternate; }
.scn-wallenstein-sextile-aspect .astrolabe { position:absolute; bottom:28%; left:40%; width:20%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50%; border:2px solid #5a4a3a; box-shadow: 0 0 12px rgba(0,0,0,0.4); animation: wsa-astro 18s linear infinite; transform-origin: center; }
.scn-wallenstein-sextile-aspect .table-bound { position:absolute; bottom:18%; left:30%; width:40%; height:6%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-wallenstein-sextile-aspect .figure-standing { position:absolute; bottom:10%; left:35%; width:12%; height:35%; background: linear-gradient(180deg, #1a1614 0%, #0e0c0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wsa-figure 6s ease-in-out infinite alternate; }
.scn-wallenstein-sextile-aspect .candle-pair { position:absolute; bottom:24%; left:48%; width:6px; height:14px; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 16px 4px #c08040; animation: wsa-candle 2.5s ease-in-out infinite; }
@keyframes wsa-sun { 0% { transform: scale(0.9); opacity:0.8; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(0.95); opacity:0.7; } }
@keyframes wsa-moon { 0% { transform: scale(0.95) translateX(-2px); opacity:0.7; } 50% { transform: scale(1.05) translateX(2px); opacity:1; } 100% { transform: scale(0.95) translateX(0); opacity:0.8; } }
@keyframes wsa-astro { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.02); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes wsa-figure { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wsa-candle { 0% { transform: scaleY(0.9); } 50% { transform: scaleY(1.2); } 100% { transform: scaleY(0.9); } }

/* wallenstein-jupiter-lustrous */

.scn-wallenstein-jupiter-lustrous { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 40%, #c0a060 0%, transparent 80%); }
.scn-wallenstein-jupiter-lustrous .bg-chamber { position:absolute; inset:0; background: linear-gradient(135deg, #0e0e18 0%, #1a1614 100%); }
.scn-wallenstein-jupiter-lustrous .window-bay { position:absolute; top:4%; left:30%; width:40%; height:50%; border:4px solid #4a3a2a; border-radius:10% 10% 6% 6%; background: linear-gradient(180deg, #1a2030 0%, #0e1418 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.9); }
.scn-wallenstein-jupiter-lustrous .jupiter-orb { position:absolute; top:12%; left:44%; width:28px; height:28px; background: radial-gradient(circle, #f0d080 0%, #c0a060 40%, #806040 100%); border-radius:50%; box-shadow: 0 0 50px 12px #c0a060, 0 0 100px 24px rgba(192,160,96,0.4); animation: wjl-jupiter 8s ease-in-out infinite alternate; }
.scn-wallenstein-jupiter-lustrous .radiance-halo { position:absolute; top:8%; left:38%; width:24%; height:40%; background: radial-gradient(ellipse, rgba(240,208,128,0.2) 0%, transparent 60%); animation: wjl-halo 10s ease-in-out infinite alternate; }
.scn-wallenstein-jupiter-lustrous .table-altar { position:absolute; bottom:20%; left:25%; width:50%; height:10%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 6px 12px rgba(0,0,0,0.6); }
.scn-wallenstein-jupiter-lustrous .scroll-open { position:absolute; bottom:25%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:2px; transform:rotate(-3deg); box-shadow: 0 0 10px rgba(0,0,0,0.4); animation: wjl-scroll 14s ease-in-out infinite; }
.scn-wallenstein-jupiter-lustrous .figure-kneeling { position:absolute; bottom:14%; left:42%; width:14%; height:30%; background: linear-gradient(180deg, #1a1614 0%, #0e0c0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wjl-kneel 5s ease-in-out infinite alternate; }
.scn-wallenstein-jupiter-lustrous .candle-tall { position:absolute; bottom:30%; left:50%; width:4px; height:18px; background: linear-gradient(180deg, #ffd080 0%, #c08040 100%); border-radius:50% 50% 10% 10%; box-shadow: 0 0 20px 6px #c08040; animation: wjl-candle 4s ease-in-out infinite; }
@keyframes wjl-jupiter { 0% { transform: scale(0.9) translateY(0); opacity:0.9; } 50% { transform: scale(1.15) translateY(-3px); opacity:1; } 100% { transform: scale(1) translateY(1px); opacity:0.8; } }
@keyframes wjl-halo { 0% { opacity:0.3; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.4; transform: scale(0.95); } }
@keyframes wjl-scroll { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(3deg) translateX(5px); } 100% { transform: rotate(-3deg) translateX(0); } }
@keyframes wjl-kneel { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wjl-candle { 0% { transform: scaleY(0.9); } 50% { transform: scaleY(1.3); } 100% { transform: scaleY(0.9); } }

/* scene: wallenstein-crime-yet-pure */

.scn-wcp {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1a1a1e 100%), radial-gradient(ellipse at 50% 30%, #3a3a4e 0%, transparent 70%);
}
.scn-wcp .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2e2e3a 0%, #1a1a1a 100%); }
.scn-wcp .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #12121a 0%, #1e1e2a 100%); }
.scn-wcp .door { position:absolute; bottom:25%; right:15%; width:80px; height:120px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: wcp-door 10s ease-in-out infinite; }
.scn-wcp .figure { position:absolute; bottom:25%; left:50%; width:40px; height:100px; transform:translateX(-50%); background: linear-gradient(180deg, #0e0e16 0%, #06060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wcp-figure 6s ease-in-out infinite; }
.scn-wcp .desk { position:absolute; bottom:25%; left:30%; width:140px; height:20px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:2px; box-shadow: 0 8px 16px rgba(0,0,0,.5); animation: wcp-desk 12s ease-in-out infinite; }
.scn-wcp .candle { position:absolute; bottom:45%; left:35%; width:12px; height:30px; background: linear-gradient(180deg, #f0d090 0%, #d0b070 100%); border-radius:4px 4px 2px 2px; box-shadow: 0 0 12px 4px rgba(240,208,144,.6); animation: wcp-candle 3s ease-in-out infinite alternate; }
.scn-wcp .glow { position:absolute; bottom:48%; left:33%; width:80px; height:80px; background: radial-gradient(circle, rgba(240,208,144,.35) 0%, transparent 70%); border-radius:50%; filter: blur(20px); animation: wcp-glow 4s ease-in-out infinite alternate; }
@keyframes wcp-door { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes wcp-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(0deg); } 50% { transform: translateX(-50%) translateY(0) rotate(2deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(0deg); } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } }
@keyframes wcp-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes wcp-candle { 0% { opacity:.85; box-shadow: 0 0 8px 2px rgba(240,208,144,.5); } 100% { opacity:1; box-shadow: 0 0 20px 6px rgba(240,208,144,.8); } }
@keyframes wcp-glow { 0% { opacity:.4; transform: scale(1); } 100% { opacity:.7; transform: scale(1.1); } }

/* scene: wrangel-introduction */

.scn-wi {
  background: linear-gradient(180deg, #14141e 0%, #1e1e2a 40%, #0e0e18 100%), radial-gradient(ellipse at 50% 20%, #2a2a3e 0%, transparent 70%);
}
.scn-wi .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #252530 0%, #16161c 100%); }
.scn-wi .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #0e0e16 0%, #1c1c28 100%); }
.scn-wi .fig-left { position:absolute; bottom:20%; left:25%; width:35px; height:100px; background: linear-gradient(180deg, #0c0c14 0%, #040408 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: wi-fig-left 4s ease-in-out infinite; }
.scn-wi .fig-right { position:absolute; bottom:20%; right:25%; width:35px; height:105px; background: linear-gradient(180deg, #0e0e18 0%, #06060c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wi-fig-right 4.5s ease-in-out infinite; }
.scn-wi .table { position:absolute; bottom:18%; left:25%; right:25%; height:12px; background: linear-gradient(180deg, #2e2e40 0%, #1e1e2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: wi-table 10s ease-in-out infinite; }
.scn-wi .lamp { position:absolute; top:15%; left:50%; width:10px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #d0b070 0%, #a09060 100%); border-radius:3px 3px 1px 1px; box-shadow: 0 0 15px 5px rgba(208,176,112,.4); animation: wi-lamp 2s ease-in-out infinite alternate; }
.scn-wi .lightcone { position:absolute; top:18%; left:45%; width:90px; height:60px; background: linear-gradient(180deg, rgba(208,176,112,.15) 0%, transparent 100%); clip-path: polygon(50% 0%, 0% 100%, 100% 100%); filter: blur(8px); animation: wi-cone 5s ease-in-out infinite alternate; }
@keyframes wi-fig-left { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(0deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wi-fig-right { 0% { transform: translateY(0) rotate(1deg); } 25% { transform: translateY(-1px) rotate(0deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes wi-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes wi-lamp { 0% { opacity:.85; box-shadow: 0 0 10px 3px rgba(208,176,112,.3); } 100% { opacity:1; box-shadow: 0 0 25px 8px rgba(208,176,112,.6); } }
@keyframes wi-cone { 0% { opacity:.3; transform: scale(1); } 100% { opacity:.5; transform: scale(1.05); } }

/* scene: wrangel-full-powers */

.scn-wfp {
  background: linear-gradient(180deg, #161622 0%, #20202e 40%, #0e0e18 100%), radial-gradient(ellipse at 50% 30%, #2e2e40 0%, transparent 70%);
}
.scn-wfp .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #282838 0%, #181822 100%); }
.scn-wfp .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #10101a 0%, #1a1a26 100%); }
.scn-wfp .fig-left { position:absolute; bottom:20%; left:28%; width:35px; height:105px; background: linear-gradient(180deg, #0c0c14 0%, #040408 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: wfp-fig-left 5s ease-in-out infinite; }
.scn-wfp .fig-right { position:absolute; bottom:20%; right:28%; width:35px; height:100px; background: linear-gradient(180deg, #0e0e18 0%, #06060c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wfp-fig-right 4s ease-in-out infinite; }
.scn-wfp .table { position:absolute; bottom:18%; left:28%; right:28%; height:12px; background: linear-gradient(180deg, #2e2e40 0%, #1e1e2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: wfp-table 8s ease-in-out infinite; }
.scn-wfp .document { position:absolute; bottom:19%; left:40%; width:50px; height:8px; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius:1px; transform:rotate(2deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: wfp-doc 6s ease-in-out infinite; }
.scn-wfp .lamp { position:absolute; top:18%; left:50%; width:10px; height:22px; transform:translateX(-50%); background: linear-gradient(180deg, #d0b070 0%, #a09060 100%); border-radius:3px 3px 1px 1px; box-shadow: 0 0 15px 5px rgba(208,176,112,.4); animation: wfp-lamp 2.5s ease-in-out infinite alternate; }
.scn-wfp .lightcone { position:absolute; top:21%; left:42%; width:100px; height:70px; background: linear-gradient(180deg, rgba(208,176,112,.12) 0%, transparent 100%); clip-path: polygon(50% 0%, 0% 100%, 100% 100%); filter: blur(8px); animation: wfp-cone 6s ease-in-out infinite alternate; }
@keyframes wfp-fig-left { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-2px) rotate(0deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wfp-fig-right { 0% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-1px) rotate(0deg); } 50% { transform: translateY(0) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes wfp-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes wfp-doc { 0%,100% { opacity:.9; transform: rotate(2deg) scale(1); } 50% { opacity:1; transform: rotate(3deg) scale(1.02); } }
@keyframes wfp-lamp { 0% { opacity:.85; box-shadow: 0 0 8px 2px rgba(208,176,112,.3); } 100% { opacity:1; box-shadow: 0 0 22px 8px rgba(208,176,112,.6); } }
@keyframes wfp-cone { 0% { opacity:.25; transform: scale(1); } 100% { opacity:.45; transform: scale(1.1); } }

/* scene: wrangel-king-in-heaven */

.scn-wkh {
  background: linear-gradient(180deg, #2a1a12 0%, #3a2a1a 40%, #1a0e08 100%), radial-gradient(ellipse at 50% 30%, #5a3a2a 0%, transparent 70%);
}
.scn-wkh .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%); }
.scn-wkh .wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #1a0e08 0%, #2a1a12 100%); }
.scn-wkh .fig-left { position:absolute; bottom:20%; left:30%; width:35px; height:100px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin: bottom center; animation: wkh-fig-left 5s ease-in-out infinite; }
.scn-wkh .fig-right { position:absolute; bottom:20%; right:30%; width:35px; height:100px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wkh-fig-right 5.5s ease-in-out infinite; }
.scn-wkh .hands { position:absolute; bottom:23%; left:48%; width:30px; height:15px; background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: wkh-hands 4s ease-in-out infinite; }
.scn-wkh .halo { position:absolute; top:12%; left:40%; width:120px; height:120px; background: radial-gradient(circle, rgba(208,160,100,.25) 0%, rgba(208,160,100,.05) 50%, transparent 70%); border-radius:50%; filter: blur(30px); animation: wkh-halo 8s ease-in-out infinite alternate; }
.scn-wkh .warmglow { position:absolute; top:10%; left:30%; width:160px; height:160px; background: radial-gradient(circle, rgba(240,200,140,.15) 0%, transparent 70%); border-radius:50%; filter: blur(40px); animation: wkh-warmglow 12s ease-in-out infinite alternate; }
@keyframes wkh-fig-left { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(0deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes wkh-fig-right { 0% { transform: translateY(0) rotate(1deg); } 25% { transform: translateY(-2px) rotate(0deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes wkh-hands { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } }
@keyframes wkh-halo { 0% { opacity:.4; transform: scale(1); } 100% { opacity:.7; transform: scale(1.2); } }
@keyframes wkh-warmglow { 0% { opacity:.3; transform: scale(1); } 100% { opacity:.6; transform: scale(1.15); } }

.scn-wallenstein-hope { background: linear-gradient(180deg, #1a1814 0%, #2e241c 30%, #4a3828 60%, #2a1e14 100%), radial-gradient(ellipse at 50% 30%, #6b4d33 0%, transparent 70%); }
.scn-wallenstein-hope .wall-hope-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a221a 0%, #1c1610 100%); animation: wh-bg 20s ease-in-out infinite alternate; }
.scn-wallenstein-hope .wall-hope-arch { position:absolute; top:5%; left:20%; right:20%; height:50%; background: linear-gradient(135deg, #4a3a28 0%, #6b5338 50%, #3a2a1c 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); animation: wh-arch 15s ease-in-out infinite; }
.scn-wallenstein-hope .wall-hope-pillar-left { position:absolute; top:30%; left:18%; width:4%; height:70%; background: linear-gradient(90deg, #3a2a1c 0%, #6b5338 40%, #4a3a28 100%); border-radius: 4px; box-shadow: 2px 0 8px rgba(0,0,0,.6); animation: wh-pillar 12s ease-in-out infinite alternate; }
.scn-wallenstein-hope .wall-hope-pillar-right { position:absolute; top:30%; right:18%; width:4%; height:70%; background: linear-gradient(270deg, #3a2a1c 0%, #6b5338 40%, #4a3a28 100%); border-radius: 4px; box-shadow: -2px 0 8px rgba(0,0,0,.6); animation: wh-pillar 12s ease-in-out infinite alternate-reverse; }
.scn-wallenstein-hope .wall-hope-figure { position:absolute; bottom:18%; left:50%; width:70px; height:120px; transform:translateX(-50%); background: linear-gradient(180deg, #2a221a 0%, #1a1410 60%, #0a0806 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.7); animation: wh-figure 8s ease-in-out infinite; }
.scn-wallenstein-hope .wall-hope-candle { position:absolute; bottom:30%; left:48%; width:6px; height:18px; background: linear-gradient(180deg, #f0d080 0%, #a08040 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 8px 2px rgba(240,208,128,.6); animation: wh-candle 4s ease-in-out infinite alternate; }
.scn-wallenstein-hope .wall-hope-glow { position:absolute; bottom:28%; left:46%; width:80px; height:80px; background: radial-gradient(circle, rgba(240,208,128,.3) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: wh-glow 6s ease-in-out infinite alternate; }
.scn-wallenstein-hope .wall-hope-orb { position:absolute; top:12%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #f0e0a0 0%, #d0b060 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(240,224,160,.5); animation: wh-orb 9s ease-in-out infinite; }
@keyframes wh-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wh-arch { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes wh-pillar { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes wh-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 50% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 75% { transform: translateX(-50%) translateY(-2px) rotate(1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes wh-candle { 0% { opacity:.8; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:.85; transform: scaleY(.95) } }
@keyframes wh-glow { 0% { opacity:.5; transform: scale(1) } 50% { opacity:.8; transform: scale(1.1) } 100% { opacity:.6; transform: scale(.95) } }
@keyframes wh-orb { 0% { opacity:.6; transform: translateX(-50%) translateY(0) } 50% { opacity:.9; transform: translateX(-50%) translateY(-5px) } 100% { opacity:.7; transform: translateX(-50%) translateY(0) } }

.scn-wallenstein-defiance { background: linear-gradient(180deg, #1e1a12 0%, #2e2418 40%, #4a3824 70%, #2a1e12 100%), radial-gradient(ellipse at 50% 20%, #6b4d2e 0%, transparent 70%); }
.scn-wallenstein-defiance .wall-defy-bg { position:absolute; inset:0; background: linear-gradient(180deg, #2a2218 0%, #1c1610 100%); animation: wd-bg 18s ease-in-out infinite alternate; }
.scn-wallenstein-defiance .wall-defy-floor { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, #4a3a28 0%, #2a1e14 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: wd-floor 14s ease-in-out infinite; }
.scn-wallenstein-defiance .wall-defy-figure { position:absolute; bottom:12%; left:50%; width:65px; height:115px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2218 0%, #1a1410 60%, #0a0806 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.7); animation: wd-figure 6s ease-in-out infinite; }
.scn-wallenstein-defiance .wall-defy-cape { position:absolute; bottom:10%; left:42%; width:90px; height:80px; background: linear-gradient(180deg, #5e381a 0%, #3a2210 100%); border-radius: 0 50% 50% 50% / 0 60% 40% 40%; transform-origin: top left; animation: wd-cape 8s ease-in-out infinite; }
.scn-wallenstein-defiance .wall-defy-sword { position:absolute; bottom:20%; left:53%; width:4px; height:70px; background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%); border-radius: 0 0 20% 20%; box-shadow: 0 0 6px 1px rgba(160,160,160,.4); transform-origin: bottom center; animation: wd-sword 5s ease-in-out infinite; }
.scn-wallenstein-defiance .wall-defy-shadow { position:absolute; bottom:14%; left:45%; width:100px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 80%); border-radius: 50%; animation: wd-shadow 6s ease-in-out infinite alternate; }
.scn-wallenstein-defiance .wall-defy-dust { position:absolute; top:30%; left:30%; width:60px; height:60px; background: radial-gradient(circle, rgba(180,160,120,.15) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: wd-dust 30s linear infinite; }
@keyframes wd-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes wd-floor { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes wd-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-2deg) } 25% { transform: translateX(-50%) translateY(-3px) rotate(1deg) } 50% { transform: translateX(-50%) translateY(0) rotate(-2deg) } 75% { transform: translateX(-50%) translateY(-3px) rotate(2deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes wd-cape { 0% { transform: rotate(0deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(-3deg) } 75% { transform: rotate(4deg) } 100% { transform: rotate(0deg) } }
@keyframes wd-sword { 0% { transform: rotate(-5deg) } 25% { transform: rotate(2deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes wd-shadow { 0% { transform: scaleX(1); opacity:.5 } 50% { transform: scaleX(1.1); opacity:.6 } 100% { transform: scaleX(.95); opacity:.45 } }
@keyframes wd-dust { 0% { transform: translate(0,0) scale(1) } 33% { transform: translate(20px,-10px) scale(1.1) } 66% { transform: translate(-15px,5px) scale(.95) } 100% { transform: translate(0,0) scale(1) } }

.scn-gordon-warning { background: linear-gradient(180deg, #1a1a2a 0%, #282840 40%, #1e1e3a 70%, #121224 100%), radial-gradient(ellipse at 50% 20%, #3a3a5e 0%, transparent 70%); }
.scn-gordon-warning .gord-warn-bg { position:absolute; inset:0; background: linear-gradient(180deg, #202040 0%, #14142e 100%); animation: gw-bg 12s ease-in-out infinite alternate; }
.scn-gordon-warning .gord-warn-panel { position:absolute; top:10%; left:25%; right:25%; height:80%; background: linear-gradient(180deg, #2a2a4e 0%, #1a1a38 100%); border: 2px solid rgba(180,180,200,.1); border-radius:4px; box-shadow: inset 0 0 30px rgba(0,0,0,.5); animation: gw-panel 16s ease-in-out infinite; }
.scn-gordon-warning .gord-warn-figure { position:absolute; bottom:18%; left:45%; width:50px; height:100px; background: linear-gradient(180deg, #2e2e4a 0%, #1a1a34 60%, #0e0e22 100%); border-radius: 35% 35% 30% 30% / 45% 45% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,.6); animation: gw-figure 4s ease-in-out infinite; }
.scn-gordon-warning .gord-warn-arm { position:absolute; bottom:35%; left:48%; width:6px; height:40px; background: linear-gradient(180deg, #2e2e4a 0%, #1a1a34 100%); border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; transform-origin: top center; animation: gw-arm 3s ease-in-out infinite; }
.scn-gordon-warning .gord-warn-clock { position:absolute; top:25%; left:50%; width:50px; height:50px; transform:translateX(-50%); background: radial-gradient(circle, #4a4a6e 0%, #2a2a4e 70%, #1a1a3a 100%); border-radius: 50%; box-shadow: 0 0 12px rgba(180,180,220,.2); animation: gw-clock 10s linear infinite; }
.scn-gordon-warning .gord-warn-pendulum { position:absolute; top:45%; left:50%; width:4px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #b0b0c0 0%, #808090 100%); border-radius: 0 0 50% 50%; transform-origin: top center; animation: gw-pendulum 2s ease-in-out infinite alternate; }
.scn-gordon-warning .gord-warn-torch { position:absolute; bottom:12%; left:30%; width:8px; height:16px; background: linear-gradient(180deg, #d0a060 0%, #805020 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 12px 3px rgba(208,160,96,.5); animation: gw-torch 3s ease-in-out infinite alternate; }
@keyframes gw-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes gw-panel { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.01) } }
@keyframes gw-figure { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes gw-arm { 0% { transform: rotate(10deg) } 25% { transform: rotate(-5deg) } 50% { transform: rotate(15deg) } 75% { transform: rotate(-10deg) } 100% { transform: rotate(5deg) } }
@keyframes gw-clock { 0% { transform: translateX(-50%) rotate(0deg) } 100% { transform: translateX(-50%) rotate(360deg) } }
@keyframes gw-pendulum { 0% { transform: translateX(-50%) rotate(-20deg) } 50% { transform: translateX(-50%) rotate(0deg) } 100% { transform: translateX(-50%) rotate(20deg) } }
@keyframes gw-torch { 0% { opacity:.7; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.08) } 100% { opacity:.8; transform: scaleY(.95) } }

.scn-wallenstein-sacrifice { background: linear-gradient(180deg, #120e0c 0%, #1e1814 30%, #2e221a 60%, #1a1410 100%), radial-gradient(ellipse at 50% 40%, #3a2a1c 0%, transparent 80%); }
.scn-wallenstein-sacrifice .wall-sac-bg { position:absolute; inset:0; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); animation: ws-bg 25s ease-in-out infinite alternate; }
.scn-wallenstein-sacrifice .wall-sac-altar { position:absolute; bottom:20%; left:38%; right:38%; height:25%; background: linear-gradient(180deg, #3a2a1c 0%, #1a100c 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 16px rgba(0,0,0,.8), inset 0 4px 8px rgba(100,70,40,.1); animation: ws-altar 14s ease-in-out infinite; }
.scn-wallenstein-sacrifice .wall-sac-flame { position:absolute; bottom:38%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 100%, #ffb060 0%, #d07030 50%, #802010 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; box-shadow: 0 0 30px 8px #d07030, 0 0 60px 16px rgba(208,112,48,.3); animation: ws-flame 2s ease-in-out infinite alternate; }
.scn-wallenstein-sacrifice .wall-sac-figure { position:absolute; bottom:15%; left:50%; width:60px; height:110px; transform:translateX(-50%); background: linear-gradient(180deg, #1e1814 0%, #120e0c 60%, #080604 100%); border-radius: 35% 35% 30% 30% / 45% 45% 30% 30%; box-shadow: 0 4px 10px rgba(0,0,0,.6); animation: ws-figure 9s ease-in-out infinite; }
.scn-wallenstein-sacrifice .wall-sac-head { position:absolute; bottom:50%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #1e1814 0%, #120e0c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: ws-head 7s ease-in-out infinite; }
.scn-wallenstein-sacrifice .wall-sac-veil { position:absolute; bottom:25%; left:44%; width:70px; height:50px; background: linear-gradient(180deg, rgba(80,50,40,.6) 0%, rgba(40,20,10,.8) 100%); border-radius: 0 60% 50% 50% / 0 50% 40% 50%; filter: blur(2px); animation: ws-veil 10s ease-in-out infinite; }
.scn-wallenstein-sacrifice .wall-sac-drip { position:absolute; bottom:40%; left:52%; width:3px; height:12px; background: linear-gradient(180deg, #5e1a1d 0%, #a0461a 100%); border-radius: 20% 20% 50% 50% / 20% 20% 60% 60%; animation: ws-drip 4s ease-in-out infinite; }
@keyframes ws-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes ws-altar { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ws-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg) } 25% { transform: translateX(-50%) scaleY(1.08) rotate(2deg) } 50% { transform: translateX(-50%) scaleY(.95) rotate(-1deg) } 75% { transform: translateX(-50%) scaleY(1.05) rotate(3deg) } 100% { transform: translateX(-50%) scaleY(1) rotate(0deg) } }
@keyframes ws-figure { 0% { transform: translateX(-50%) translateY(0) } 25% { transform: translateX(-50%) translateY(-2px) } 50% { transform: translateX(-50%) translateY(0) } 75% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes ws-head { 0%,100% { transform: translateX(-50%) rotate(0deg) } 25% { transform: translateX(-50%) rotate(5deg) } 50% { transform: translateX(-50%) rotate(-3deg) } 75% { transform: translateX(-50%) rotate(4deg) } }
@keyframes ws-veil { 0% { opacity:.6; transform: rotate(0deg) } 50% { opacity:.8; transform: rotate(3deg) } 100% { opacity:.5; transform: rotate(-2deg) } }
@keyframes ws-drip { 0% { opacity:0; transform: translateY(0) } 20% { opacity:1 } 80% { opacity:1 } 100% { opacity:0; transform: translateY(15px) } }

/* Scene: octavio-shatters-illusion */

.scn-octavio-shatters-illusion {
  background: 
    linear-gradient(180deg, #1a1826 0%, #2c2636 40%, #3a2e3e 70%, #2a222e 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a4a 0%, transparent 60%);
}

.scn-octavio-shatters-illusion .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #2a2636 0%, #1e1a28 100%);
  animation: oi1-wall 20s ease-in-out infinite alternate;
}

.scn-octavio-shatters-illusion .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2228 0%, #1a141a 100%);
  border-radius: 30% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}

.scn-octavio-shatters-illusion .candle-left {
  position: absolute; bottom: 30%; left: 20%; width: 8px; height: 28px;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.3);
  animation: oi1-candle 5s ease-in-out infinite alternate;
}

.scn-octavio-shatters-illusion .candle-right {
  position: absolute; bottom: 28%; right: 18%; width: 8px; height: 28px;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.3);
  animation: oi1-candle 5s ease-in-out infinite alternate-reverse;
  transform: scaleY(0.9);
}

.scn-octavio-shatters-illusion .figure-octavio {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2e2632 0%, #1e1824 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oi1-figure1 6s ease-in-out infinite;
}

.scn-octavio-shatters-illusion .figure-max {
  position: absolute; bottom: 20%; left: 55%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #342e3a 0%, #221e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oi1-figure2 8s ease-in-out infinite;
}

.scn-octavio-shatters-illusion .shattered-vase {
  position: absolute; bottom: 22%; left: 48%; width: 20px; height: 30px;
  background: 
    linear-gradient(135deg, #8a7a6a 20%, #b09880 50%, #7a6a5a 80%);
  clip-path: polygon(20% 0%, 80% 0%, 90% 40%, 70% 50%, 80% 90%, 40% 100%, 30% 60%, 10% 50%);
  animation: oi1-vase 3s ease-in-out infinite;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.3);
}

.scn-octavio-shatters-illusion .shadow-shard {
  position: absolute; bottom: 20%; left: 46%; width: 10px; height: 6px;
  background: rgba(0,0,0,0.4);
  border-radius: 50% 0 50% 0;
  filter: blur(2px);
  animation: oi1-shard 4s ease-in-out infinite alternate;
}

.scn-octavio-shatters-illusion .dust-motes {
  position: absolute; top: 40%; left: 10%; width: 80%; height: 40%;
  background: radial-gradient(circle at 30% 50%, rgba(200,180,150,0.08) 0%, transparent 50%),
              radial-gradient(circle at 70% 30%, rgba(200,180,150,0.05) 0%, transparent 40%);
  filter: blur(8px);
  animation: oi1-dust 30s linear infinite;
}

@keyframes oi1-wall {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.75; }
}

@keyframes oi1-candle {
  0% { transform: scaleY(1); opacity: 0.85; box-shadow: 0 0 15px 4px rgba(200,160,80,0.2); }
  50% { transform: scaleY(1.05); opacity: 1; box-shadow: 0 0 25px 8px rgba(200,160,80,0.4); }
  100% { transform: scaleY(0.95); opacity: 0.9; box-shadow: 0 0 18px 5px rgba(200,160,80,0.3); }
}

@keyframes oi1-figure1 {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  33% { transform: translateX(-3px) translateY(-1px) rotate(2deg); }
  66% { transform: translateX(2px) translateY(1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}

@keyframes oi1-figure2 {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  33% { transform: translateX(4px) translateY(-2px) rotate(3deg); }
  66% { transform: translateX(-2px) translateY(1px) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}

@keyframes oi1-vase {
  0% { transform: scale(1) rotate(-2deg); opacity: 0.9; }
  50% { transform: scale(1.05) rotate(3deg); opacity: 1; }
  100% { transform: scale(0.98) rotate(-1deg); opacity: 0.95; }
}

@keyframes oi1-shard {
  0% { transform: translate(0,0) rotate(0deg); }
  100% { transform: translate(2px,-4px) rotate(15deg); }
}

@keyframes oi1-dust {
  0% { transform: translateY(0); }
  100% { transform: translateY(-30px); }
}

/* Scene: octavio-confirms-swedes */

.scn-octavio-confirms-swedes {
  background: 
    linear-gradient(180deg, #1a1824 0%, #2a2432 40%, #3a2e3a 70%, #2a222a 100%),
    radial-gradient(ellipse at 40% 50%, #4a3a3a 0%, transparent 50%);
}

.scn-octavio-confirms-swedes .bg-panel {
  position: absolute; inset: 10% 5% 15% 5%;
  background: linear-gradient(135deg, #2e2a36 0%, #1e1a26 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: oc2-panel 15s ease-in-out infinite alternate;
}

.scn-octavio-confirms-swedes .table {
  position: absolute; bottom: 18%; left: 25%; right: 25%; height: 8%;
  background: linear-gradient(180deg, #4a3e32 0%, #2e241e 100%);
  border-radius: 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: oc2-table 10s ease-in-out infinite;
}

.scn-octavio-confirms-swedes .letter-pile {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 12px;
  background: linear-gradient(180deg, #c8b088 0%, #a89070 100%);
  border-radius: 1px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  transform: rotate(2deg);
  animation: oc2-letters 8s ease-in-out infinite;
}

.scn-octavio-confirms-swedes .candle-center {
  position: absolute; bottom: 26%; left: 50%; width: 10px; height: 32px;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  box-shadow: 0 0 25px 8px rgba(200,160,80,0.3);
  animation: oc2-candle 4s ease-in-out infinite alternate;
}

.scn-octavio-confirms-swedes .octavio-hand {
  position: absolute; bottom: 20%; left: 38%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom left;
  animation: oc2-hand 7s ease-in-out infinite;
}

.scn-octavio-confirms-swedes .max-shadow {
  position: absolute; bottom: 16%; right: 30%; width: 40px; height: 70px;
  background: rgba(0,0,0,0.3);
  border-radius: 50% 50% 40% 40%;
  filter: blur(8px);
  transform: scaleX(0.8);
  animation: oc2-shadow 12s ease-in-out infinite alternate;
}

.scn-octavio-confirms-swedes .inkwell {
  position: absolute; bottom: 24%; left: 40%; width: 12px; height: 14px;
  background: linear-gradient(180deg, #2e2a2a 0%, #1a1818 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

@keyframes oc2-panel {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}

@keyframes oc2-table {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}

@keyframes oc2-letters {
  0% { transform: rotate(2deg) translate(0,0); }
  50% { transform: rotate(5deg) translate(1px,-2px); }
  100% { transform: rotate(2deg) translate(0,0); }
}

@keyframes oc2-candle {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.8; box-shadow: 0 0 20px 4px rgba(200,160,80,0.2); }
  50% { transform: translateX(-50%) scaleY(1.05); opacity: 1; box-shadow: 0 0 30px 8px rgba(200,160,80,0.4); }
  100% { transform: translateX(-50%) scaleY(0.95); opacity: 0.85; box-shadow: 0 0 22px 5px rgba(200,160,80,0.3); }
}

@keyframes oc2-hand {
  0% { transform: rotate(-10deg) translate(0,0); }
  50% { transform: rotate(-5deg) translate(2px,-1px); }
  100% { transform: rotate(-10deg) translate(0,0); }
}

@keyframes oc2-shadow {
  0% { opacity: 0.2; transform: scaleX(0.8); }
  50% { opacity: 0.5; transform: scaleX(1); }
  100% { opacity: 0.3; transform: scaleX(0.85); }
}

/* Scene: octavio-letters-evidence */

.scn-octavio-letters-evidence {
  background: 
    linear-gradient(180deg, #1c1a28 0%, #2a2636 40%, #3a2e3e 70%, #2e2632 100%),
    radial-gradient(ellipse at 60% 40%, #3e3240 0%, transparent 50%);
}

.scn-octavio-letters-evidence .bg-desk {
  position: absolute; inset: 20% 10% 0 10%;
  background: linear-gradient(135deg, #2e2836 0%, #1e1826 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
  animation: ol3-desk 18s ease-in-out infinite alternate;
}

.scn-octavio-letters-evidence .documents {
  position: absolute; bottom: 25%; left: 30%; right: 30%; height: 10%;
  background: linear-gradient(180deg, #d4bc9c 0%, #b89c78 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  transform: rotate(-3deg);
  animation: ol3-docs 6s ease-in-out infinite;
}

.scn-octavio-letters-evidence .seal-wax {
  position: absolute; bottom: 30%; left: 48%; width: 10px; height: 10px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(200,80,50,0.5);
  animation: ol3-seal 5s ease-in-out infinite alternate;
}

.scn-octavio-letters-evidence .candle-flicker {
  position: absolute; bottom: 28%; left: 55%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 2px;
  box-shadow: 0 0 25px 6px rgba(200,160,80,0.3);
  animation: ol3-candle 3s ease-in-out infinite alternate;
}

.scn-octavio-letters-evidence .octavio-finger {
  position: absolute; bottom: 22%; left: 48%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  border-radius: 40% 40% 30% 30% / 30% 30% 20% 20%;
  transform-origin: bottom center;
  animation: ol3-finger 4s ease-in-out infinite;
}

.scn-octavio-letters-evidence .letter-texture {
  position: absolute; bottom: 28%; left: 32%; width: 35px; height: 5px;
  background: repeating-linear-gradient(90deg, #b09880 0px, #c8b098 2px, #b09880 4px);
  opacity: 0.3;
  border-radius: 1px;
  animation: ol3-texture 12s linear infinite;
}

.scn-octavio-letters-evidence .shadow-stack {
  position: absolute; bottom: 18%; left: 35%; width: 30px; height: 20px;
  background: rgba(0,0,0,0.25);
  border-radius: 20% 20% 10% 10%;
  filter: blur(4px);
  animation: ol3-stack 8s ease-in-out infinite alternate;
}

@keyframes ol3-desk {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.75; }
}

@keyframes ol3-docs {
  0% { transform: rotate(-3deg) translate(0,0); }
  50% { transform: rotate(-1deg) translate(2px,-1px); }
  100% { transform: rotate(-3deg) translate(0,0); }
}

@keyframes ol3-seal {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.85; }
}

@keyframes ol3-candle {
  0% { transform: scaleY(1); opacity: 0.85; box-shadow: 0 0 20px 4px rgba(200,160,80,0.2); }
  50% { transform: scaleY(1.06); opacity: 1; box-shadow: 0 0 30px 8px rgba(200,160,80,0.4); }
  100% { transform: scaleY(0.94); opacity: 0.9; box-shadow: 0 0 22px 5px rgba(200,160,80,0.3); }
}

@keyframes ol3-finger {
  0% { transform: translate(0,0) rotate(5deg); }
  50% { transform: translate(2px,-1px) rotate(8deg); }
  100% { transform: translate(0,0) rotate(5deg); }
}

@keyframes ol3-texture {
  0% { background-position: 0 0; }
  100% { background-position: -20px 0; }
}

@keyframes ol3-stack {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.1); }
  100% { opacity: 0.25; transform: scale(0.95); }
}

/* Scene: max-accuses-father-dissimulation */

.scn-max-accuses-father-dissimulation {
  background: 
    linear-gradient(180deg, #1e1a2a 0%, #2e2636 40%, #3a2e3e 70%, #2a222e 100%),
    radial-gradient(ellipse at 70% 30%, #4a363a 0%, transparent 50%);
}

.scn-max-accuses-father-dissimulation .bg-chamber {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #2a2636 0%, #1a1626 100%);
  animation: ma4-chamber 20s ease-in-out infinite alternate;
}

.scn-max-accuses-father-dissimulation .fireplace-glow {
  position: absolute; bottom: 20%; right: 15%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 100%, #d06030 0%, #a04020 40%, transparent 70%);
  border-radius: 50% 50% 0 0;
  filter: blur(10px);
  animation: ma4-fire 5s ease-in-out infinite alternate;
}

.scn-max-accuses-father-dissimulation .mantel {
  position: absolute; bottom: 26%; right: 16%; width: 70px; height: 8px;
  background: linear-gradient(180deg, #4a3e32 0%, #2e241e 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

.scn-max-accuses-father-dissimulation .max-figure {
  position: absolute; bottom: 18%; left: 25%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #342e3a 0%, #1e1824 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ma4-max 6s ease-in-out infinite;
}

.scn-max-accuses-father-dissimulation .octavio-silhouette {
  position: absolute; bottom: 16%; right: 40%; width: 30px; height: 68px;
  background: linear-gradient(180deg, #2a2430 0%, #1a1620 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: ma4-octavio 8s ease-in-out infinite;
}

.scn-max-accuses-father-dissimulation .accusing-hand {
  position: absolute; bottom: 38%; left: 32%; width: 16px; height: 22px;
  background: linear-gradient(180deg, #c8b098 0%, #a08870 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ma4-hand 4s ease-in-out infinite;
}

.scn-max-accuses-father-dissimulation .shadow-projection {
  position: absolute; bottom: 10%; left: 20%; width: 60px; height: 50px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(12px);
  transform: scaleX(1.5);
  animation: ma4-shadow 10s ease-in-out infinite alternate;
}

.scn-max-accuses-father-dissimulation .embers {
  position: absolute; bottom: 20%; right: 18%; width: 10px; height: 10px;
  background: radial-gradient(circle, #ff8040 0%, #b04020 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(255,128,64,0.4);
  animation: ma4-ember 3s ease-in-out infinite alternate;
}

@keyframes ma4-chamber {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.75; }
}

@keyframes ma4-fire {
  0% { transform: scaleY(0.9); opacity: 0.7; }
  50% { transform: scaleY(1.15); opacity: 1; }
  100% { transform: scaleY(0.95); opacity: 0.8; }
}

@keyframes ma4-max {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  33% { transform: translateX(-3px) translateY(-2px) rotate(2deg); }
  66% { transform: translateX(2px) translateY(1px) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(-1deg); }
}

@keyframes ma4-octavio {
  0% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(2px) translateY(-1px); }
  100% { transform: translateX(0) translateY(0); }
}

@keyframes ma4-hand {
  0% { transform: rotate(-20deg) translate(0,0); }
  50% { transform: rotate(-10deg) translate(3px,-2px); }
  100% { transform: rotate(-20deg) translate(0,0); }
}

@keyframes ma4-shadow {
  0% { opacity: 0.15; transform: scaleX(1.5); }
  50% { opacity: 0.4; transform: scaleX(1.8); }
  100% { opacity: 0.2; transform: scaleX(1.5); }
}

@keyframes ma4-ember {
  0% { transform: scale(1) rotate(0deg); opacity: 0.8; }
  50% { transform: scale(1.3) rotate(10deg); opacity: 1; }
  100% { transform: scale(0.9) rotate(-5deg); opacity: 0.7; }
}

.scn-anspessade-promises-support {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #6a4a2a 40%, #8a6a3a 70%, #5a3a1a 100%),
    radial-gradient(ellipse at 50% 80%, #c0a060 0%, transparent 60%);
}
.scn-anspessade-promises-support .tent-wall-left {
  position:absolute; left:0; top:0; width:30%; height:100%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
  animation: aps-tent-l 12s ease-in-out infinite alternate;
}
.scn-anspessade-promises-support .tent-wall-right {
  position:absolute; right:0; top:0; width:30%; height:100%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  animation: aps-tent-r 12s ease-in-out infinite alternate-reverse;
}
.scn-anspessade-promises-support .map-table {
  position:absolute; left:20%; right:20%; bottom:10%; height:35%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,.6);
  animation: aps-table 10s ease-in-out infinite;
}
.scn-anspessade-promises-support .figure-one {
  position:absolute; left:35%; bottom:30%; width:24px; height:44px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a02 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aps-fig1 5s ease-in-out infinite;
}
.scn-anspessade-promises-support .figure-two {
  position:absolute; left:55%; bottom:30%; width:22px; height:42px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aps-fig2 6s ease-in-out infinite 1s;
}
.scn-anspessade-promises-support .candle {
  position:absolute; left:48%; bottom:40%; width:8px; height:14px;
  background: linear-gradient(180deg, #e0c080 0%, #a08060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 6px #e0a040, 0 0 24px 12px rgba(224,160,64,.4);
  animation: aps-candle 3s ease-in-out infinite alternate;
}
.scn-anspessade-promises-support .scroll {
  position:absolute; left:40%; bottom:28%; width:40px; height:8px;
  background: linear-gradient(90deg, #d0b080 0%, #b09070 50%, #d0b080 100%);
  border-radius: 50%;
  transform: rotate(-10deg);
  animation: aps-scroll 8s ease-in-out infinite;
}
@keyframes aps-tent-l  { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes aps-tent-r  { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes aps-table   { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes aps-fig1    { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-1deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes aps-fig2    { 0% { transform: translateX(0) translateY(0) rotate(1deg); } 50% { transform: translateX(-4px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(1deg); } }
@keyframes aps-candle  { 0% { box-shadow: 0 0 10px 4px #e0a040; } 50% { box-shadow: 0 0 18px 8px #f0c060, 0 0 30px 12px rgba(240,192,96,.5); } 100% { box-shadow: 0 0 12px 6px #e0a040; } }
@keyframes aps-scroll  { 0% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(-8deg) scaleX(1.05); } 100% { transform: rotate(-10deg) scaleX(1); } }

.scn-wallenstein-warns-of-endless-war {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #4a4a5a 40%, #6a6a7a 70%, #3a3a4a 100%),
    radial-gradient(ellipse at 50% 70%, #8a8a9a 0%, transparent 60%);
}
.scn-wallenstein-warns-of-endless-war .bg-wall {
  position:absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  animation: wew-wall 15s ease-in-out infinite alternate;
}
.scn-wallenstein-warns-of-endless-war .brazier {
  position:absolute; left:50%; bottom:40%; width:40px; height:30px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 60% 40% at 50% 60%, #e08040 0%, #a06020 60%, #603010 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px #e08040, 0 0 60px 20px rgba(224,128,64,.5);
  animation: wew-fire 3s ease-in-out infinite;
}
.scn-wallenstein-warns-of-endless-war .table {
  position:absolute; left:20%; right:20%; bottom:5%; height:25%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -12px 16px rgba(0,0,0,.5);
  animation: wew-table 12s ease-in-out infinite;
}
.scn-wallenstein-warns-of-endless-war .commander {
  position:absolute; left:45%; bottom:20%; width:30px; height:60px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wew-cmd 8s ease-in-out infinite;
}
.scn-wallenstein-warns-of-endless-war .cuirassier-a {
  position:absolute; left:20%; bottom:20%; width:26px; height:58px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 35% 35%;
  transform: scale(0.9);
  animation: wew-soldier-a 10s ease-in-out infinite;
}
.scn-wallenstein-warns-of-endless-war .cuirassier-b {
  position:absolute; right:20%; bottom:20%; width:26px; height:58px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 35% 35%;
  transform: scale(0.9) scaleX(-1);
  animation: wew-soldier-b 12s ease-in-out infinite 2s;
}
.scn-wallenstein-warns-of-endless-war .map {
  position:absolute; left:35%; right:35%; bottom:16%; height:6px;
  background: linear-gradient(90deg, #b0a080 0%, #d0c0a0 50%, #b0a080 100%);
  border-radius: 30%;
  transform: rotate(5deg);
  animation: wew-map 15s ease-in-out infinite;
}
@keyframes wew-wall   { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.75 } }
@keyframes wew-fire   { 0% { transform: translateX(-50%) scale(1) rotate(0deg); } 50% { transform: translateX(-50%) scale(1.05) rotate(2deg); } 100% { transform: translateX(-50%) scale(1) rotate(0deg); } }
@keyframes wew-table  { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wew-cmd    { 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 wew-soldier-a { 0% { transform: scale(0.9) translateY(0); } 50% { transform: scale(0.9) translateY(-3px); } 100% { transform: scale(0.9) translateY(0); } }
@keyframes wew-soldier-b { 0% { transform: scaleX(-1) scale(0.9) translateY(0); } 50% { transform: scaleX(-1) scale(0.9) translateY(-3px); } 100% { transform: scaleX(-1) scale(0.9) translateY(0); } }
@keyframes wew-map    { 0% { transform: rotate(5deg) scaleX(1); } 50% { transform: rotate(3deg) scaleX(1.03); } 100% { transform: rotate(5deg) scaleX(1); } }

.scn-wallenstein-calls-for-caution {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #6a5a4a 40%, #8a7a6a 70%, #5a4a3a 100%),
    radial-gradient(ellipse at 50% 60%, #c0b0a0 0%, transparent 50%);
}
.scn-wallenstein-calls-for-caution .table-edge {
  position:absolute; left:10%; right:10%; bottom:0; height:55%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 -8px 16px rgba(0,0,0,.6);
  animation: wcf-edge 10s ease-in-out infinite;
}
.scn-wallenstein-calls-for-caution .hand {
  position:absolute; left:40%; bottom:40%; width:20px; height:28px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 100%);
  border-radius: 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wcf-hand 4s ease-in-out infinite;
}
.scn-wallenstein-calls-for-caution .document {
  position:absolute; left:50%; bottom:20%; width:60px; height:8px;
  background: linear-gradient(90deg, #d0c0a0 0%, #f0e0c0 50%, #d0c0a0 100%);
  border-radius: 10%;
  transform: translateX(-50%) rotate(-3deg);
  animation: wcf-doc 8s ease-in-out infinite;
}
.scn-wallenstein-calls-for-caution .candle {
  position:absolute; left:20%; bottom:45%; width:8px; height:16px;
  background: linear-gradient(180deg, #e0c080 0%, #c0a060 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 10px 4px #e0a040;
  animation: wcf-candle 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-calls-for-caution .inkwell {
  position:absolute; left:70%; bottom:38%; width:14px; height:12px;
  background: radial-gradient(circle at 50% 40%, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.5);
  animation: wcf-ink 6s ease-in-out infinite;
}
.scn-wallenstein-calls-for-caution .quill {
  position:absolute; left:72%; bottom:45%; width:4px; height:20px;
  background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: wcf-quill 3s ease-in-out infinite alternate;
}
.scn-wallenstein-calls-for-caution .chair-back {
  position:absolute; right:5%; top:10%; width:20px; height:50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 4px 6px rgba(0,0,0,.4);
  animation: wcf-chair 15s ease-in-out infinite;
}
@keyframes wcf-edge   { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes wcf-hand   { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(5deg); } 50% { transform: translateX(8px) rotate(10deg); } 75% { transform: translateX(4px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wcf-doc    { 0% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(-3deg); } }
@keyframes wcf-candle { 0% { box-shadow: 0 0 8px 2px #e0a040; opacity:.8; } 50% { box-shadow: 0 0 16px 6px #f0c060, 0 0 30px 10px rgba(240,192,96,.4); opacity:1; } 100% { box-shadow: 0 0 10px 4px #e0a040; opacity:.85; } }
@keyframes wcf-ink    { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes wcf-quill  { 0% { transform: rotate(15deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(15deg); } }
@keyframes wcf-chair  { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.8; } }

.scn-anspessade-demands-clarity {
  background:
    linear-gradient(180deg, #5a3a2a 0%, #7a5a3a 40%, #9a7a5a 70%, #6a4a2a 100%),
    radial-gradient(ellipse at 40% 60%, #c0a080 0%, transparent 60%);
}
.scn-anspessade-demands-clarity .figure-a {
  position:absolute; left:30%; bottom:25%; width:26px; height:52px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0a02 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: adc-figa 7s ease-in-out infinite;
}
.scn-anspessade-demands-clarity .figure-b {
  position:absolute; left:55%; bottom:25%; width:28px; height:54px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: adc-figb 8s ease-in-out infinite 1s;
}
.scn-anspessade-demands-clarity .banner {
  position:absolute; left:40%; right:40%; top:10%; height:30%;
  background: linear-gradient(180deg, #a04020 0%, #802818 40%, #601810 100%);
  clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,.4);
  animation: adc-banner 12s ease-in-out infinite;
}
.scn-anspessade-demands-clarity .window {
  position:absolute; right:10%; top:20%; width:20%; height:30%;
  background: radial-gradient(ellipse at 50% 50%, #c0d0e0 0%, #8090a0 70%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 20px rgba(200,200,220,.3);
  animation: adc-window 15s ease-in-out infinite alternate;
}
.scn-anspessade-demands-clarity .table {
  position:absolute; left:25%; right:25%; bottom:5%; height:20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 15% 15% 0 0;
  box-shadow: inset 0 -10px 14px rgba(0,0,0,.5);
  animation: adc-table 10s ease-in-out infinite;
}
.scn-anspessade-demands-clarity .lantern {
  position:absolute; left:50%; bottom:22%; width:12px; height:14px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 45%, #f0c040 0%, #c08020 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 18px 6px #e0a030, 0 0 36px 12px rgba(224,160,48,.5);
  animation: adc-lantern 3.5s ease-in-out infinite alternate;
}
@keyframes adc-figa  { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(-3deg); } 50% { transform: translateX(6px) rotate(0deg); } 75% { transform: translateX(3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes adc-figb  { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(2deg); } 50% { transform: translateX(-6px) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes adc-banner{ 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(1); } }
@keyframes adc-window{ 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes adc-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes adc-lantern{ 0% { box-shadow: 0 0 14px 4px #e0a030; opacity:.9; } 50% { box-shadow: 0 0 24px 8px #f0c050, 0 0 40px 14px rgba(240,192,80,.4); opacity:1; } 100% { box-shadow: 0 0 16px 6px #e0a030; opacity:.9; } }

/* Scene 1: butler-threatens-to-use-others */

.scn-butler-threatens-to-use-others {
  background: linear-gradient(180deg, #1e1a1a 0%, #2b2220 40%, #1c1412 100%),
              radial-gradient(ellipse at 30% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-butler-threatens-to-use-others .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(60,40,20,0.2) 0%, transparent 50%),
              radial-gradient(circle at 40% 80%, #2a1e16 0%, transparent 70%);
  animation: bt1-shadow 6s ease-in-out infinite alternate;
}
.scn-butler-threatens-to-use-others .panel-wall {
  position: absolute; left: 5%; top: 10%; width: 30%; height: 75%;
  background: linear-gradient(180deg, #3a2a22 0%, #1e1410 100%);
  border-radius: 2px; box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-butler-threatens-to-use-others .table {
  position: absolute; bottom: 20%; left: 25%; width: 55%; height: 8%;
  background: linear-gradient(0deg, #4a3222 0%, #6a4a3a 100%);
  border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: bt1-table 9s ease-in-out infinite;
}
.scn-butler-threatens-to-use-others .candle {
  position: absolute; bottom: 28%; left: 55%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #8a7060 0%, #4a3222 100%);
  border-radius: 2px;
}
.scn-butler-threatens-to-use-others .figure-butler {
  position: absolute; bottom: 0%; left: 30%; width: 60px; height: 120px;
  background: linear-gradient(180deg, #2a1e1a 60%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt1-butler 4s ease-in-out infinite;
}
.scn-butler-threatens-to-use-others .figure-devereux {
  position: absolute; bottom: 0%; left: 52%; width: 50px; height: 110px;
  background: linear-gradient(180deg, #221816 60%, #0c0806 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt1-devereux 5s ease-in-out infinite;
}
.scn-butler-threatens-to-use-others .shadow-both {
  position: absolute; bottom: 20%; left: 25%; width: 55%; height: 30%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 60%);
  filter: blur(8px);
  animation: bt1-shadow 12s ease-in-out infinite alternate;
}
.scn-butler-threatens-to-use-others .flame-glow {
  position: absolute; bottom: 32%; left: 55%; width: 40px; height: 40px;
  background: radial-gradient(circle, #d4864a 0%, #b8652a 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #b8652a, 0 0 60px 20px rgba(184,101,42,0.4);
  animation: bt1-flame 2s ease-in-out infinite alternate;
}
@keyframes bt1-shadow {
  0% { opacity: 0.6; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: 0.7; transform: scaleY(0.95); }
}
@keyframes bt1-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes bt1-butler {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-2deg); }
  50% { transform: translateX(1px) rotate(1deg); }
  75% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bt1-devereux {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(3px) rotate(1deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bt1-flame {
  0% { opacity: 0.8; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.85; transform: scale(0.95); }
}

/* Scene 2: butler-takes-full-responsibility */

.scn-butler-takes-full-responsibility {
  background: linear-gradient(180deg, #1a1614 0%, #2a1e1c 40%, #140e0c 100%),
              radial-gradient(ellipse at 50% 60%, #3a2a20 0%, transparent 60%);
}
.scn-butler-takes-full-responsibility .chamber-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(50,35,25,0.3) 0%, transparent 60%);
  animation: bt2-ambient 10s ease-in-out infinite alternate;
}
.scn-butler-takes-full-responsibility .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1e1410 0%, #2a1e18 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.3);
}
.scn-butler-takes-full-responsibility .document {
  position: absolute; bottom: 22%; left: 40%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #c8b094 0%, #a08870 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: bt2-doc 7s ease-in-out infinite alternate;
}
.scn-butler-takes-full-responsibility .hand-devereux {
  position: absolute; bottom: 22%; left: 42%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom left;
  animation: bt2-hand 5s ease-in-out infinite;
}
.scn-butler-takes-full-responsibility .figure-butler {
  position: absolute; bottom: 0%; left: 25%; width: 60px; height: 130px;
  background: linear-gradient(180deg, #2e221e 60%, #100c0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt2-butler 4s ease-in-out infinite;
}
.scn-butler-takes-full-responsibility .figure-macdonald {
  position: absolute; bottom: 0%; left: 55%; width: 55px; height: 125px;
  background: linear-gradient(180deg, #261c18 60%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt2-mac 5s ease-in-out infinite;
}
.scn-butler-takes-full-responsibility .candle-stand {
  position: absolute; bottom: 22%; left: 50%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #7a6050 0%, #3a2820 100%);
  border-radius: 2px;
}
.scn-butler-takes-full-responsibility .candle-light {
  position: absolute; bottom: 30%; left: 50%; width: 50px; height: 50px;
  background: radial-gradient(circle, #d48a4a 0%, #b86a2a 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #b86a2a, 0 0 80px 20px rgba(184,106,42,0.3);
  animation: bt2-candle 2.5s ease-in-out infinite alternate;
}
@keyframes bt2-ambient {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes bt2-doc {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes bt2-hand {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(8px, -2px) rotate(10deg); }
  50% { transform: translate(12px, -4px) rotate(15deg); }
  75% { transform: translate(8px, -2px) rotate(10deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes bt2-butler {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-3px) rotate(-2deg); }
  60% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bt2-mac {
  0% { transform: translateX(0) scaleY(1); }
  40% { transform: translateX(2px) scaleY(1.02); }
  80% { transform: translateX(-1px) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes bt2-candle {
  0% { opacity: 0.8; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.85; transform: scale(0.95); }
}

/* Scene 3: butler-outlines-plan */

.scn-butler-outlines-plan {
  background: linear-gradient(180deg, #14100e 0%, #221a16 40%, #0e0a08 100%),
              radial-gradient(ellipse at 50% 40%, #2a1e18 0%, transparent 60%);
}
.scn-butler-outlines-plan .table-top {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(0deg, #3a2a1e 0%, #5a4030 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  animation: bt3-table 8s ease-in-out infinite;
}
.scn-butler-outlines-plan .map-scroll {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #a89078 0%, #7a6048 100%);
  border-radius: 2px;
  transform: skewX(-5deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: bt3-map 12s ease-in-out infinite alternate;
}
.scn-butler-outlines-plan .hand-point {
  position: absolute; bottom: 20%; left: 45%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #1c1412 0%, #0c0806 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: bt3-point 3s ease-in-out infinite;
}
.scn-butler-outlines-plan .candle-big {
  position: absolute; bottom: 17%; left: 70%; width: 14px; height: 36px;
  background: linear-gradient(180deg, #8a6a5a 0%, #4a322a 100%);
  border-radius: 2px;
}
.scn-butler-outlines-plan .figure-butler-back {
  position: absolute; bottom: 0%; left: 30%; width: 70px; height: 140px;
  background: linear-gradient(180deg, #2e221e 60%, #100c0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt3-back 4.5s ease-in-out infinite;
}
.scn-butler-outlines-plan .figure-devereux-si {
  position: absolute; bottom: 0%; left: 55%; width: 55px; height: 120px;
  background: linear-gradient(180deg, #241a16 60%, #0e0a08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt3-side 5s ease-in-out infinite;
}
.scn-butler-outlines-plan .inkwell {
  position: absolute; bottom: 19%; left: 25%; width: 16px; height: 20px;
  background: radial-gradient(circle, #3a2a1e 0%, #1e1410 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-butler-outlines-plan .glow-center {
  position: absolute; bottom: 22%; left: 60%; width: 60px; height: 60px;
  background: radial-gradient(circle, #d48a4a 0%, #b86a2a 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px 15px #b86a2a, 0 0 100px 30px rgba(184,106,42,0.3);
  animation: bt3-glow 2.5s ease-in-out infinite alternate;
}
@keyframes bt3-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes bt3-map {
  0% { transform: skewX(-5deg) translateY(0); }
  50% { transform: skewX(-3deg) translateY(-2px); }
  100% { transform: skewX(-5deg) translateY(0); }
}
@keyframes bt3-point {
  0% { transform: translate(0,0) rotate(-10deg); }
  30% { transform: translate(4px, -2px) rotate(0deg); }
  60% { transform: translate(8px, -4px) rotate(10deg); }
  100% { transform: translate(0,0) rotate(-10deg); }
}
@keyframes bt3-back {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(-1deg); }
  50% { transform: translateX(1px) rotate(1deg); }
  75% { transform: translateX(-1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bt3-side {
  0% { transform: translateX(0) scaleY(1); }
  40% { transform: translateX(3px) scaleY(1.01); }
  80% { transform: translateX(-2px) scaleY(0.98); }
  100% { transform: translateX(0) scaleY(1); }
}
@keyframes bt3-glow {
  0% { opacity: 0.8; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.85; transform: scale(0.95); }
}

/* Scene 4: devereux-fears-walls-eye */

.scn-devereux-fears-walls-eye {
  background: linear-gradient(180deg, #0e0a0a 0%, #1a1412 40%, #0a0606 100%),
              radial-gradient(ellipse at 50% 50%, #1e1412 0%, transparent 60%);
}
.scn-devereux-fears-walls-eye .wall-dark {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(20,15,12,0.8) 0%, transparent 50%, rgba(20,15,12,0.8) 100%);
  animation: de1-wall 8s ease-in-out infinite alternate;
}
.scn-devereux-fears-walls-eye .eye-socket {
  position: absolute; top: 15%; right: 20%; width: 30px; height: 40px;
  background: radial-gradient(circle, #2a1e1a 0%, #0a0606 100%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
}
.scn-devereux-fears-walls-eye .eye-glow {
  position: absolute; top: 16%; right: 21%; width: 20px; height: 20px;
  background: radial-gradient(circle, #d4aa6a 0%, #b88a4a 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #b88a4a, 0 0 60px 20px rgba(184,138,74,0.4);
  animation: de1-eye 3s ease-in-out infinite alternate;
}
.scn-devereux-fears-walls-eye .figure-back {
  position: absolute; bottom: 0%; left: 15%; width: 100px; height: 160px;
  background: linear-gradient(180deg, #1e1412 60%, #0a0606 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: de1-fig 6s ease-in-out infinite;
}
.scn-devereux-fears-walls-eye .hand-tremble {
  position: absolute; bottom: 18%; left: 30%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #1a1412 0%, #0a0606 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: top left;
  animation: de1-hand 2s ease-in-out infinite;
}
.scn-devereux-fears-walls-eye .shadow-long {
  position: absolute; bottom: 0%; left: 5%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(10px);
  animation: de1-shadow 7s ease-in-out infinite alternate;
}
.scn-devereux-fears-walls-eye .edge-light {
  position: absolute; top: 0; left: 0; right: 0; height: 5%;
  background: linear-gradient(180deg, #3a2a1a 0%, transparent 100%);
  opacity: 0.3;
  animation: de1-edge 4s ease-in-out infinite alternate;
}
.scn-devereux-fears-walls-eye .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(200,180,160,0.1) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(200,180,160,0.08) 0%, transparent 50%);
  filter: blur(2px);
  animation: de1-dust 15s linear infinite;
}
@keyframes de1-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes de1-eye {
  0% { opacity: 0.6; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(0.9); }
}
@keyframes de1-fig {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-2px) rotate(-1deg); }
  60% { transform: translateX(1px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes de1-hand {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(3px, -2px) rotate(8deg); }
  50% { transform: translate(6px, -4px) rotate(12deg); }
  75% { transform: translate(3px, -2px) rotate(8deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes de1-shadow {
  0% { opacity: 0.7; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.1); }
  100% { opacity: 0.8; transform: scaleX(0.9); }
}
@keyframes de1-edge {
  0% { opacity: 0.2; }
  50% { opacity: 0.4; }
  100% { opacity: 0.25; }
}
@keyframes de1-dust {
  0% { background-position: 0% 0%, 100% 100%; }
  50% { background-position: 30% 20%, 70% 80%; }
  100% { background-position: 0% 0%, 100% 100%; }
}

/* ========== scene: octavio-offers-lodging ========== */

.scn-octavio-offers-lodging {
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 40%, #2a1e12 70%, #0e0a06 100%),
              radial-gradient(ellipse at 60% 20%, #8b5e3c 0%, transparent 60%);
}
.scn-octavio-offers-lodging .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #4a3522 0%, #3a2a1a 30%, #5a4030 60%, #2e1e12 100%);
  border-bottom: 2px solid #2a1e12;
  animation: ool-wall 20s ease-in-out infinite alternate;
}
.scn-octavio-offers-lodging .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2e1e12 0%, #1a1008 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,.6);
}
.scn-octavio-offers-lodging .fireplace {
  position: absolute; bottom: 28%; left: 50%; width: 100px; height: 70px; transform: translateX(-50%);
  background: linear-gradient(180deg, #5a3020 0%, #3a1e12 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: inset 0 -6px 12px rgba(0,0,0,.5), 0 0 20px 8px rgba(200,120,40,.3);
  animation: ool-fire-swell 4s ease-in-out infinite;
}
.scn-octavio-offers-lodging .fire-glow {
  position: absolute; bottom: 32%; left: 50%; width: 50px; height: 40px; transform: translateX(-50%);
  background: radial-gradient(circle, #ffa040 0%, #b06020 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: ool-glow-pulse 2.5s ease-in-out infinite alternate;
}
.scn-octavio-offers-lodging .table {
  position: absolute; bottom: 22%; left: 30%; width: 80px; height: 24px;
  background: linear-gradient(180deg, #6a4a32 0%, #3a281e 100%);
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
}
.scn-octavio-offers-lodging .candle {
  position: absolute; bottom: 28%; left: 35%; width: 8px; height: 14px;
  background: linear-gradient(180deg, #f0d8a0 0%, #c8a060 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 0 16px 4px #d09040;
  animation: ool-flicker 1.2s ease-in-out infinite alternate;
}
.scn-octavio-offers-lodging .host-figure {
  position: absolute; bottom: 22%; left: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #2a1a0e 0%, #140e08 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ool-bow 6s ease-in-out infinite;
}
.scn-octavio-offers-lodging .guest-figure {
  position: absolute; bottom: 22%; right: 20%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #1a1a0e 0%, #0e0e08 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: ool-listen 8s ease-in-out infinite;
}
@keyframes ool-wall { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes ool-fire-swell { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } }
@keyframes ool-glow-pulse { 0% { opacity:.6; transform: translateX(-50%) scale(1); } 100% { opacity:1; transform: translateX(-50%) scale(1.1); } }
@keyframes ool-flicker { 0% { opacity:.8; transform: translate(0,0) rotate(-2deg); } 50% { opacity:1; transform: translate(1px,-2px) rotate(2deg); } 100% { opacity:.9; transform: translate(0,0) rotate(0); } }
@keyframes ool-bow { 0%,100% { transform: translateY(0) rotate(-3deg); } 25% { transform: translateY(-1px) rotate(0); } 50% { transform: translateY(1px) rotate(4deg); } 75% { transform: translateY(-1px) rotate(0); } }
@keyframes ool-listen { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-1px) rotate(-1deg); } }

/* ========== scene: octavio-observes-son ========== */

.scn-octavio-observes-son {
  background: linear-gradient(130deg, #1a1a2e 0%, #0e0e1a 40%, #2a2a3e 70%, #12121e 100%),
              radial-gradient(ellipse at 70% 15%, #3a3a5e 0%, transparent 60%);
}
.scn-octavio-observes-son .room-dark {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #1e1e30 0%, #101020 100%);
  border-bottom: 1px solid #2a2a40;
  animation: oos-room 15s ease-in-out infinite alternate;
}
.scn-octavio-observes-son .desk {
  position: absolute; bottom: 30%; left: 25%; width: 120px; height: 30px;
  background: linear-gradient(180deg, #3a2a1e 0%, #1e120a 100%);
  border-radius: 4px;
  box-shadow: inset 0 -2px 4px rgba(0,0,0,.5);
}
.scn-octavio-observes-son .paper {
  position: absolute; bottom: 38%; left: 30%; width: 40px; height: 26px;
  background: linear-gradient(135deg, #e8dcc8 0%, #c8b8a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  transform: rotate(-3deg);
  animation: oos-paper 10s ease-in-out infinite alternate;
}
.scn-octavio-observes-son .candle-light {
  position: absolute; bottom: 42%; left: 28%; width: 6px; height: 12px;
  background: linear-gradient(180deg, #ffcc80 0%, #c08840 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(200,140,60,.4), 0 0 40px 15px rgba(200,140,60,.15);
  animation: oos-candle 2s ease-in-out infinite alternate;
}
.scn-octavio-observes-son .father-shadow {
  position: absolute; bottom: 28%; left: 12%; width: 24px; height: 54px;
  background: linear-gradient(180deg, #0e0e1a 0%, #060610 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  filter: blur(1px);
  animation: oos-watch 7s ease-in-out infinite;
}
.scn-octavio-observes-son .son-silhouette {
  position: absolute; bottom: 28%; right: 15%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #16162a 0%, #0a0a16 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: oos-stand 8s ease-in-out infinite alternate;
}
.scn-octavio-observes-son .curtain {
  position: absolute; top: 0; right: 5%; width: 30px; height: 100%;
  background: linear-gradient(180deg, #1e1a2a 0%, #0e0a16 100%);
  border-radius: 0 0 20% 20%;
  animation: oos-drape 12s ease-in-out infinite alternate;
}
@keyframes oos-room { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes oos-paper { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(0deg); } }
@keyframes oos-candle { 0% { opacity:.75; transform: translateY(0); } 50% { opacity:1; transform: translateY(-2px); } 100% { opacity:.85; transform: translateY(0); } }
@keyframes oos-watch { 0%,100% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes oos-stand { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes oos-drape { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1.02); } }

/* ========== scene: octavio-probes-max ========== */

.scn-octavio-probes-max {
  background: linear-gradient(180deg, #1e1e30 0%, #121220 30%, #2a2a3e 60%, #0a0a16 100%),
              radial-gradient(ellipse at 40% 10%, #3a3a5a 0%, transparent 70%);
}
.scn-octavio-probes-max .wall-panel {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #1a1a2a 0%, #282840 40%, #1a1a2a 100%);
  border-bottom: 2px solid #0e0e1a;
  animation: opm-wall 22s ease-in-out infinite alternate;
}
.scn-octavio-probes-max .window-shape {
  position: absolute; top: 8%; left: 60%; width: 40px; height: 70px;
  background: radial-gradient(circle at 50% 50%, #3a4a6e 0%, #1a1a3e 80%);
  border: 2px solid #2a2a4a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px #0e0e2a;
  animation: opm-moon 14s ease-in-out infinite alternate;
}
.scn-octavio-probes-max .table-oval {
  position: absolute; bottom: 22%; left: 25%; width: 140px; height: 40px;
  background: linear-gradient(180deg, #3a281e 0%, #1e140e 100%);
  border-radius: 50% / 60% 60% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.scn-octavio-probes-max .inkwell {
  position: absolute; bottom: 30%; left: 32%; width: 12px; height: 14px;
  background: radial-gradient(circle, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
}
.scn-octavio-probes-max .octavio-figure {
  position: absolute; bottom: 22%; left: 16%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: opm-lean 5s ease-in-out infinite;
}
.scn-octavio-probes-max .max-figure {
  position: absolute; bottom: 22%; right: 16%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #16162e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: opm-recoil 4.5s ease-in-out infinite;
}
.scn-octavio-probes-max .lamp {
  position: absolute; bottom: 32%; left: 28%; width: 10px; height: 18px;
  background: linear-gradient(180deg, #d0b080 0%, #a08050 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 0 24px 6px #b09060;
  animation: opm-lamp 3s ease-in-out infinite alternate;
}
@keyframes opm-wall { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes opm-moon { 0% { opacity:.6; transform: scale(.95); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:.7; transform: scale(.98); } }
@keyframes opm-lean { 0%,100% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-1px) rotate(3deg); } 60% { transform: translateY(0) rotate(0); } 80% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes opm-recoil { 0%,100% { transform: translateY(0) rotate(2deg); } 25% { transform: translateY(-2px) rotate(-2deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-1px) rotate(1deg); } }
@keyframes opm-lamp { 0% { opacity:.85; box-shadow: 0 0 20px 4px #b09060; } 100% { opacity:1; box-shadow: 0 0 30px 8px #c0a070; } }

/* ========== scene: tertsky-paper-signed ========== */

.scn-tertsky-paper-signed {
  background: linear-gradient(160deg, #2a1e12 0%, #1a120a 30%, #3a2a1e 60%, #0e0a06 100%),
              radial-gradient(ellipse at 50% 80%, #6a4a32 0%, transparent 60%);
}
.scn-tertsky-paper-signed .backdrop {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1e12 100%);
  border-bottom: 1px solid #1a120a;
  animation: tps-back 18s ease-in-out infinite alternate;
}
.scn-tertsky-paper-signed .table-wide {
  position: absolute; bottom: 22%; left: 10%; width: 80%; height: 40px;
  background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: 0 6px 16px rgba(0,0,0,.5);
}
.scn-tertsky-paper-signed .document {
  position: absolute; bottom: 32%; left: 35%; width: 60px; height: 30px;
  background: linear-gradient(135deg, #e8dcc8 0%, #c8b8a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  transform: rotate(2deg);
  animation: tps-doc 8s ease-in-out infinite alternate;
}
.scn-tertsky-paper-signed .quill {
  position: absolute; bottom: 36%; left: 42%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #d0b8a0 0%, #a08870 100%);
  border-radius: 50% 50% 10% 10% / 30% 30% 10% 10%;
  transform: rotate(-20deg);
  animation: tps-quill 2.5s ease-in-out infinite alternate;
}
.scn-tertsky-paper-signed .hand-signing {
  position: absolute; bottom: 32%; left: 40%; width: 14px; height: 18px;
  background: linear-gradient(180deg, #d0b8a0 0%, #b09880 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: tps-hand 1.8s ease-in-out infinite;
}
.scn-tertsky-paper-signed .group-figures {
  position: absolute; bottom: 24%; left: 20%; width: 60%; height: 40px;
  background: linear-gradient(180deg, rgba(20,16,10,.9) 0%, rgba(10,8,6,.9) 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  filter: blur(2px);
  animation: tps-group 12s ease-in-out infinite alternate;
}
.scn-tertsky-paper-signed .chandelier {
  position: absolute; top: 5%; left: 50%; width: 40px; height: 50px; transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 20%, #c09050 0%, #6a4020 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(200,140,60,.4);
  animation: tps-chandelier 6s ease-in-out infinite alternate;
}
.scn-tertsky-paper-signed .candle-glow2 {
  position: absolute; bottom: 24%; left: 48%; width: 8px; height: 12px;
  background: linear-gradient(180deg, #ffcc80 0%, #c08840 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 24px 8px rgba(200,140,60,.5);
  animation: tps-candle2 2s ease-in-out infinite alternate;
}
@keyframes tps-back { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes tps-doc { 0%,100% { transform: rotate(2deg); } 50% { transform: rotate(0deg); } }
@keyframes tps-quill { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-25deg) translateY(-2px); } 100% { transform: rotate(-18deg) translateY(0); } }
@keyframes tps-hand { 0%,100% { transform: translateY(0) rotate(5deg); } 33% { transform: translateY(-2px) rotate(-2deg); } 66% { transform: translateY(-1px) rotate(3deg); } }
@keyframes tps-group { 0% { opacity:.8; transform: scale(1); } 50% { opacity:.9; transform: scale(1.02); } 100% { opacity:.85; transform: scale(.98); } }
@keyframes tps-chandelier { 0% { opacity:.7; transform: translateX(-50%) scale(.95); } 100% { opacity:1; transform: translateX(-50%) scale(1.05); } }
@keyframes tps-candle2 { 0% { opacity:.8; box-shadow: 0 0 18px 4px rgba(200,140,60,.4); } 100% { opacity:1; box-shadow: 0 0 30px 10px rgba(200,140,60,.6); } }

.scn-isolani-niceties {
  background: linear-gradient(180deg, #2c2418 0%, #1a1510 50%, #0d0a06 100%),
              radial-gradient(ellipse at 50% 80%, #4a3a25 0%, transparent 70%);
}
.scn-isolani-niceties .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #3a2e1f 0%, #1c150e 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: isn-wall 12s ease-in-out infinite alternate;
}
.scn-isolani-niceties .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1f14 0%, #120d08 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,.5);
}
.scn-isolani-niceties .table {
  position: absolute; bottom: 22%; left: 50%; width: 160px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4228 0%, #3a2a15 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,.6);
  animation: isn-table 8s ease-in-out infinite;
}
.scn-isolani-niceties .figure-left {
  position: absolute; bottom: 18%; left: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: isn-figleft 6s ease-in-out infinite;
}
.scn-isolani-niceties .figure-right {
  position: absolute; bottom: 20%; right: 28%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  animation: isn-figright 5s ease-in-out infinite;
}
.scn-isolani-niceties .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 14px; height: 24px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #d4a84a 0%, #b08030 60%, #6a4a20 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 30px 8px #d4a84a, 0 0 60px 20px rgba(212,168,74,.3);
  animation: isn-lamp 2s ease-in-out infinite alternate;
}
.scn-isolani-niceties .curtain {
  position: absolute; top: 0; right: 0; width: 40%; height: 100%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 0 0 0 60% / 0 0 0 80%;
  opacity: .6;
  animation: isn-curtain 20s ease-in-out infinite alternate;
}
@keyframes isn-wall { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes isn-table { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } }
@keyframes isn-figleft { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes isn-figright { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes isn-lamp { 0% { box-shadow: 0 0 20px 4px #d4a84a, 0 0 40px 10px rgba(212,168,74,.2); opacity: .9 } 50% { box-shadow: 0 0 40px 12px #ffd060, 0 0 80px 30px rgba(255,208,96,.4); opacity: 1 } 100% { box-shadow: 0 0 25px 6px #d4a84a, 0 0 50px 15px rgba(212,168,74,.3); opacity: .85 } }
@keyframes isn-curtain { 0% { transform: translateX(0) } 50% { transform: translateX(-8px) } 100% { transform: translateX(0) } }

.scn-illo-challenges-duel {
  background: linear-gradient(180deg, #2a221c 0%, #1a1410 50%, #0a0805 100%),
              radial-gradient(ellipse at 30% 60%, #4a3a28 0%, transparent 80%);
}
.scn-illo-challenges-duel .bg-chamber {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #332822 0%, #1a120e 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
  animation: ill-bg 15s ease-in-out infinite alternate;
}
.scn-illo-challenges-duel .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #241e18 0%, #0f0b08 100%);
  border-radius: 20% 20% 0 0 / 8% 8% 0 0;
}
.scn-illo-challenges-duel .figure-illo {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ill-figillo 3s ease-in-out infinite;
}
.scn-illo-challenges-duel .sword {
  position: absolute; bottom: 50%; left: 55%; width: 4px; height: 50px;
  background: linear-gradient(180deg, #d4d4d4 0%, #a0a0a0 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  box-shadow: 0 0 6px 2px rgba(255,255,255,.3);
  animation: ill-sword 0.8s ease-in-out infinite alternate;
}
.scn-illo-challenges-duel .figure-tiefenbach {
  position: absolute; bottom: 18%; right: 30%; width: 26px; height: 55px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  animation: ill-figtief 4s ease-in-out infinite;
}
.scn-illo-challenges-duel .crowd-shadows {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 20%, rgba(0,0,0,.6) 50%, rgba(0,0,0,.4) 80%, transparent 100%);
  filter: blur(4px);
  animation: ill-crowd 6s ease-in-out infinite alternate;
}
.scn-illo-challenges-duel .chandelier {
  position: absolute; top: 8%; left: 50%; width: 40px; height: 30px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #c8a858 0%, #8a6a30 50%, #3a2a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 6px #c8a858;
  animation: ill-chandelier 5s ease-in-out infinite;
}
@keyframes ill-bg { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes ill-figillo { 0% { transform: translateX(0) rotate(-2deg) scaleY(1) } 30% { transform: translateX(4px) rotate(2deg) scaleY(1.02) } 100% { transform: translateX(0) rotate(-1deg) scaleY(1) } }
@keyframes ill-sword { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-3deg) } }
@keyframes ill-figtief { 0%,100% { transform: translateX(0) rotate(1deg) } 50% { transform: translateX(-6px) rotate(-2deg) } }
@keyframes ill-crowd { 0% { opacity: .4; filter: blur(4px) } 50% { opacity: .8; filter: blur(2px) } 100% { opacity: .5; filter: blur(5px) } }
@keyframes ill-chandelier { 0%,100% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-50%) rotate(2deg) } }

.scn-max-disarms-illo {
  background: linear-gradient(180deg, #1e1610 0%, #120c08 50%, #080503 100%),
              radial-gradient(ellipse at 60% 40%, #4a3525 0%, transparent 70%);
}
.scn-max-disarms-illo .bg-room {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(135deg, #2a1e15 0%, #140d08 100%);
  box-shadow: inset 0 8px 24px rgba(0,0,0,.8);
  animation: max-bg 10s ease-in-out infinite alternate;
}
.scn-max-disarms-illo .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #1a120e 0%, #0a0705 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
}
.scn-max-disarms-illo .figure-max {
  position: absolute; bottom: 20%; left: 30%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: max-figmax 0.6s ease-in-out infinite alternate;
}
.scn-max-disarms-illo .figure-illo-disarmed {
  position: absolute; bottom: 18%; right: 35%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom left;
  animation: max-figillo 1.2s ease-in-out infinite;
}
.scn-max-disarms-illo .sword-falling {
  position: absolute; bottom: 50%; left: 50%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #d0d0d0 0%, #909090 100%);
  border-radius: 2px;
  transform-origin: center;
  box-shadow: 0 0 6px 2px rgba(255,255,255,.3);
  animation: max-sword 0.9s ease-in-out infinite;
}
.scn-max-disarms-illo .chair {
  position: absolute; bottom: 12%; right: 20%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%);
  border-radius: 10% 10% 5% 5%;
  transform: rotate(-20deg);
  box-shadow: 0 4px 10px rgba(0,0,0,.6);
  animation: max-chair 3s ease-in-out infinite;
}
.scn-max-disarms-illo .shadow-burst {
  position: absolute; bottom: 10%; left: 40%; width: 80px; height: 80px;
  background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%);
  border-radius: 50%;
  animation: max-shadow 2s ease-in-out infinite alternate;
}
@keyframes max-bg { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes max-figmax { 0% { transform: translateX(0) rotate(-5deg) scaleX(1.1) } 50% { transform: translateX(8px) rotate(2deg) scaleX(1) } 100% { transform: translateX(0) rotate(-3deg) scaleX(1.05) } }
@keyframes max-figillo { 0%,100% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-20deg) translateY(-4px) } }
@keyframes max-sword { 0% { transform: rotate(30deg) translateX(0) } 50% { transform: rotate(-20deg) translateX(10px) } 100% { transform: rotate(40deg) translateX(5px) } }
@keyframes max-chair { 0% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-15deg) translateY(-3px) } 100% { transform: rotate(-20deg) translateY(0) } }
@keyframes max-shadow { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .8; transform: scale(1.2) } 100% { opacity: .4; transform: scale(1) } }

.scn-chamber-piccolomini-night {
  background: linear-gradient(180deg, #1e1814 0%, #14100c 50%, #0a0805 100%),
              radial-gradient(ellipse at 40% 70%, #3a2a1a 0%, transparent 75%);
}
.scn-chamber-piccolomini-night .bg-chamber-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #2a1e16 0%, #110c08 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
  animation: pic-bg 20s ease-in-out infinite alternate;
}
.scn-chamber-piccolomini-night .bg-floor-dark {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #1a120e 0%, #0a0705 100%);
  border-radius: 15% 15% 0 0 / 5% 5% 0 0;
}
.scn-chamber-piccolomini-night .desk {
  position: absolute; bottom: 24%; left: 50%; width: 140px; height: 18px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
  animation: pic-desk 6s ease-in-out infinite;
}
.scn-chamber-piccolomini-night .figure-octavio {
  position: absolute; bottom: 16%; left: 30%; width: 28px; height: 62px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: pic-oct 5s ease-in-out infinite;
}
.scn-chamber-piccolomini-night .figure-valet {
  position: absolute; bottom: 18%; right: 25%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1510 0%, #0d0905 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  animation: pic-valet 4s ease-in-out infinite;
}
.scn-chamber-piccolomini-night .candelabra {
  position: absolute; bottom: 42%; left: 50%; width: 20px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c8a858 0%, #8a6a30 50%, #3a2a10 100%);
  border-radius: 20% 20% 5% 5% / 40% 40% 10% 10%;
  box-shadow: 0 0 20px 6px #c8a858;
  animation: pic-candle 2s ease-in-out infinite alternate;
}
.scn-chamber-piccolomini-night .light-halo {
  position: absolute; bottom: 40%; left: 50%; width: 100px; height: 100px;
  transform: translate(-50%, 20%);
  background: radial-gradient(ellipse, rgba(200,168,88,.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: pic-halo 4s ease-in-out infinite alternate;
}
@keyframes pic-bg { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .75 } }
@keyframes pic-desk { 0%,100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes pic-oct { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes pic-valet { 0%,100% { transform: translateX(0) rotate(2deg) } 50% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes pic-candle { 0% { box-shadow: 0 0 15px 4px #c8a858, 0 0 30px 8px rgba(200,168,88,.2); opacity: .9 } 50% { box-shadow: 0 0 30px 8px #ffd060, 0 0 60px 20px rgba(255,208,96,.3); opacity: 1 } 100% { box-shadow: 0 0 20px 5px #c8a858, 0 0 40px 12px rgba(200,168,88,.25); opacity: .85 } }
@keyframes pic-halo { 0% { transform: translate(-50%, 20%) scale(1); opacity: .3 } 50% { transform: translate(-50%, 18%) scale(1.1); opacity: .6 } 100% { transform: translate(-50%, 20%) scale(1); opacity: .4 } }

/* ten-cuirassiers-request-audience */

.scn-ten-cuirassiers-request-audience {
  background: linear-gradient(180deg, #d4c9a8 0%, #b8a883 40%, #8a7a5a 100%), radial-gradient(ellipse at 30% 50%, #f0e0c0 0%, transparent 70%);
}
.scn-ten-cuirassiers-request-audience .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #d4c9a8 0%, #b8a883 100%);
  box-shadow: inset 0 -20px 30px rgba(0,0,0,0.15);
  animation: tcr-wall 12s ease-in-out infinite alternate;
}
.scn-ten-cuirassiers-request-audience .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: tcr-floor 10s ease-in-out infinite alternate;
}
.scn-ten-cuirassiers-request-audience .door {
  position: absolute; bottom: 35%; left: 25%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 6px 0 10px rgba(0,0,0,0.2);
  animation: tcr-door 15s ease-in-out infinite;
}
.scn-ten-cuirassiers-request-audience .table {
  position: absolute; bottom: 35%; left: 50%; width: 120px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: tcr-table 8s ease-in-out infinite alternate;
}
.scn-ten-cuirassiers-request-audience .candle {
  position: absolute; bottom: 48%; left: 50%; width: 8px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0e0c0 0%, #c8a060 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 20px 8px #e0b060, 0 0 40px 16px rgba(224,176,96,0.4);
  animation: tcr-flame 3s ease-in-out infinite alternate;
}
.scn-ten-cuirassiers-request-audience .figure-wallenstein {
  position: absolute; bottom: 40%; left: 45%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -4px 0 8px rgba(0,0,0,0.3);
  animation: tcr-walk 5s ease-in-out infinite;
}
.scn-ten-cuirassiers-request-audience .figure-tertsky {
  position: absolute; bottom: 40%; left: 52%; width: 20px; height: 55px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tcr-stay 6s ease-in-out infinite;
}
.scn-ten-cuirassiers-request-audience .figure-cuirassier-1 {
  position: absolute; bottom: 38%; left: 58%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tcr-bow 4s ease-in-out infinite;
}
.scn-ten-cuirassiers-request-audience .figure-cuirassier-2 {
  position: absolute; bottom: 38%; left: 63%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tcr-bow 4s ease-in-out infinite 0.5s;
}
@keyframes tcr-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tcr-floor { 0% { background-position: 0 0 } 50% { background-position: 0 5px } 100% { background-position: 0 0 } }
@keyframes tcr-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } }
@keyframes tcr-table { 0%,100% { box-shadow: 0 4px 8px rgba(0,0,0,0.3) } 50% { box-shadow: 0 6px 12px rgba(0,0,0,0.4) } }
@keyframes tcr-flame { 0% { height: 30px; box-shadow: 0 0 20px 8px #e0b060, 0 0 40px 16px rgba(224,176,96,0.4); } 50% { height: 34px; box-shadow: 0 0 24px 10px #f0c080, 0 0 48px 20px rgba(240,192,128,0.5); } 100% { height: 30px; box-shadow: 0 0 18px 6px #d0a050, 0 0 36px 12px rgba(208,160,80,0.3); } }
@keyframes tcr-walk { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tcr-stay { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes tcr-bow { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-10deg); } }

/* cuirassiers-march-in */

.scn-cuirassiers-march-in {
  background: linear-gradient(180deg, #c8b898 0%, #b0a080 50%, #8a7a5a 100%), radial-gradient(ellipse at 60% 30%, #e8d8b8 0%, transparent 70%);
}
.scn-cuirassiers-march-in .wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #c8b898 0%, #b0a080 100%); box-shadow: inset 0 -30px 40px rgba(0,0,0,0.1); animation: cmi-wall 14s ease-in-out infinite alternate; }
.scn-cuirassiers-march-in .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); box-shadow: inset 0 12px 24px rgba(0,0,0,0.3); animation: cmi-floor 10s ease-in-out infinite; }
.scn-cuirassiers-march-in .chandelier { position: absolute; top: 5%; left: 50%; width: 60px; height: 40px; transform: translateX(-50%); background: radial-gradient(circle, #e8c888 0%, #a88a5a 70%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 40px 20px #c8a868, 0 0 80px 40px rgba(200,168,104,0.3); animation: cmi-light 4s ease-in-out infinite alternate; }
.scn-cuirassiers-march-in .dais { position: absolute; bottom: 30%; left: 30%; width: 150px; height: 20px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: cmi-dais 12s ease-in-out infinite; }
.scn-cuirassiers-march-in .figure-wallenstein { position: absolute; bottom: 38%; left: 35%; width: 28px; height: 65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmi-stand 6s ease-in-out infinite; }
.scn-cuirassiers-march-in .figure-illo { position: absolute; bottom: 38%; left: 42%; width: 24px; height: 60px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cmi-stand 6s ease-in-out infinite 1s; }
.scn-cuirassiers-march-in .cuirassier-front { position: absolute; bottom: 37%; left: 52%; width: 26px; height: 62px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 2px 0 6px rgba(0,0,0,0.3); animation: cmi-march 4s ease-in-out infinite; }
.scn-cuirassiers-march-in .cuirassier-mid { position: absolute; bottom: 36%; left: 57%; width: 24px; height: 58px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 2px 0 6px rgba(0,0,0,0.2); animation: cmi-march 4s ease-in-out infinite 0.3s; }
.scn-cuirassiers-march-in .cuirassier-back { position: absolute; bottom: 35%; left: 62%; width: 22px; height: 54px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 2px 0 6px rgba(0,0,0,0.15); animation: cmi-march 4s ease-in-out infinite 0.6s; }
@keyframes cmi-wall { 0%,100% { opacity:0.9 } 50% { opacity:1 } }
@keyframes cmi-floor { 0% { background-position: 0 0 } 50% { background-position: 0 6px } 100% { background-position: 0 0 } }
@keyframes cmi-light { 0% { box-shadow: 0 0 30px 15px #c8a868, 0 0 60px 30px rgba(200,168,104,0.2); } 50% { box-shadow: 0 0 50px 25px #e8c888, 0 0 100px 50px rgba(232,200,136,0.4); } 100% { box-shadow: 0 0 35px 18px #c8a868, 0 0 70px 35px rgba(200,168,104,0.25); } }
@keyframes cmi-dais { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes cmi-stand { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes cmi-march { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-2deg); } 75% { transform: translateX(12px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(16px) translateY(0) rotate(0deg); } }

/* wallenstein-recognizes-mercy */

.scn-wallestein-recognizes-mercy {
  background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 50%, #a89878 100%), radial-gradient(ellipse at 50% 40%, #f0e0c8 0%, transparent 60%);
}
.scn-wallestein-recognizes-mercy .wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 100%); box-shadow: inset 0 -20px 30px rgba(0,0,0,0.08); animation: wrn-wall 15s ease-in-out infinite alternate; }
.scn-wallestein-recognizes-mercy .window { position: absolute; top: 15%; left: 20%; width: 60px; height: 80px; background: linear-gradient(180deg, #f0e8d8 0%, #d8c8a8 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,255,0.3), 0 0 30px 10px rgba(240,232,216,0.2); animation: wrn-window 9s ease-in-out infinite; }
.scn-wallestein-recognizes-mercy .table { position: absolute; bottom: 30%; left: 40%; width: 100px; height: 24px; background: linear-gradient(180deg, #a89878 0%, #887858 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: wrn-table 10s ease-in-out infinite; }
.scn-wallestein-recognizes-mercy .candle { position: absolute; bottom: 45%; left: 45%; width: 6px; height: 28px; background: linear-gradient(180deg, #f0e0c0 0%, #c8a060 100%); border-radius: 3px; box-shadow: 0 0 16px 6px #e0b060, 0 0 32px 12px rgba(224,176,96,0.4); animation: wrn-flame 3s ease-in-out infinite alternate; }
.scn-wallestein-recognizes-mercy .figure-wallenstein { position: absolute; bottom: 38%; left: 46%; width: 26px; height: 62px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wrn-turn 8s ease-in-out infinite; }
.scn-wallestein-recognizes-mercy .figure-mercy { position: absolute; bottom: 38%; left: 54%; width: 22px; height: 58px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wrn-bow 5s ease-in-out infinite; }
.scn-wallestein-recognizes-mercy .glow { position: absolute; bottom: 35%; left: 48%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(224,176,96,0.4) 0%, transparent 70%); border-radius: 50%; animation: wrn-glow 4s ease-in-out infinite alternate; }
@keyframes wrn-wall { 0%,100% { opacity:0.95 } 50% { opacity:1 } }
@keyframes wrn-window { 0%,100% { box-shadow: inset 0 0 20px rgba(255,255,255,0.3), 0 0 30px 10px rgba(240,232,216,0.2); } 50% { box-shadow: inset 0 0 30px rgba(255,255,255,0.5), 0 0 50px 20px rgba(240,232,216,0.4); } }
@keyframes wrn-table { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes wrn-flame { 0% { height: 28px; box-shadow: 0 0 16px 6px #e0b060, 0 0 32px 12px rgba(224,176,96,0.4); } 50% { height: 32px; box-shadow: 0 0 20px 8px #f0c080, 0 0 40px 16px rgba(240,192,128,0.5); } 100% { height: 28px; box-shadow: 0 0 14px 5px #d0a050, 0 0 28px 10px rgba(208,160,80,0.3); } }
@keyframes wrn-turn { 0% { transform: rotate(0deg); } 25% { transform: rotate(-5deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }
@keyframes wrn-bow { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(8deg) translateY(-2px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(-8deg) translateY(-2px); } }
@keyframes wrn-glow { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.2); } 100% { opacity:0.7; transform: scale(1); } }

/* wallenstein-recalls-risbeck */

.scn-wallestein-recalls-risbeck {
  background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 50%, #988878 100%), radial-gradient(ellipse at 60% 30%, #e8d8c0 0%, transparent 70%);
}
.scn-wallestein-recalls-risbeck .wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 100%); box-shadow: inset 0 -15px 25px rgba(0,0,0,0.08); animation: wrr-wall 18s ease-in-out infinite alternate; }
.scn-wallestein-recalls-risbeck .pillar { position: absolute; bottom: 30%; left: 20%; width: 20px; height: 100px; background: linear-gradient(180deg, #a89878 0%, #887858 100%); border-radius: 4px; box-shadow: 4px 0 8px rgba(0,0,0,0.2); animation: wrr-pillar 14s ease-in-out infinite; }
.scn-wallestein-recalls-risbeck .torch { position: absolute; bottom: 55%; left: 22%; width: 8px; height: 30px; background: linear-gradient(180deg, #e8c888 0%, #b09060 100%); border-radius: 4px; box-shadow: 0 0 20px 10px #c8a868, 0 0 40px 20px rgba(200,168,104,0.3); animation: wrr-torch 4s ease-in-out infinite alternate; }
.scn-wallestein-recalls-risbeck .figure-wallenstein { position: absolute; bottom: 38%; left: 42%; width: 26px; height: 62px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wrr-tilt 7s ease-in-out infinite; }
.scn-wallestein-recalls-risbeck .figure-risbeck { position: absolute; bottom: 38%; left: 52%; width: 22px; height: 58px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wrr-nod 7s ease-in-out infinite 1s; }
.scn-wallestein-recalls-risbeck .shadow { position: absolute; bottom: 30%; left: 40%; width: 80px; height: 20px; background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%); border-radius: 50%; animation: wrr-shadow 6s ease-in-out infinite; }
.scn-wallestein-recalls-risbeck .dust { position: absolute; top: 20%; left: 30%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: wrr-drift 30s linear infinite; }
@keyframes wrr-wall { 0%,100% { opacity:0.95 } 50% { opacity:1 } }
@keyframes wrr-pillar { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }
@keyframes wrr-torch { 0% { height: 30px; box-shadow: 0 0 20px 10px #c8a868, 0 0 40px 20px rgba(200,168,104,0.3); } 50% { height: 34px; box-shadow: 0 0 25px 12px #e0c080, 0 0 50px 25px rgba(224,192,128,0.4); } 100% { height: 30px; box-shadow: 0 0 18px 8px #b89060, 0 0 36px 18px rgba(184,144,96,0.25); } }
@keyframes wrr-tilt { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(-3deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(3deg); } }
@keyframes wrr-nod { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes wrr-shadow { 0%,100% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.1); } }
@keyframes wrr-drift { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(20px) translateY(-10px); } 100% { transform: translateX(40px) translateY(0); } }

/* seni-warning */

.scn-seni-warning {
  background:
    linear-gradient(180deg, #1c1410 0%, #3a2518 40%, #2b1a10 80%, #0e0806 100%),
    radial-gradient(ellipse at 50% 40%, #5a3a22 0%, transparent 60%);
}
.scn-seni-warning .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 30%, #4a2e1a 0%, transparent 70%); animation: sw-bg 10s ease-in-out infinite alternate;
}
.scn-seni-warning .glow {
  position: absolute; bottom: 30%; left: 48%; width: 200px; height: 300px;
  background: radial-gradient(ellipse at 50% 0%, #d48a42 0%, #8a4a1a 40%, transparent 70%);
  filter: blur(20px); opacity: 0.5; animation: sw-glow 4s ease-in-out infinite alternate;
}
.scn-seni-warning .table {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #4a2e1a 0%, #2b180b 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.7); animation: sw-table 8s ease-in-out infinite;
}
.scn-seni-warning .candle {
  position: absolute; bottom: 34%; left: 47%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8d4a0 0%, #b88a50 100%);
  border-radius: 2px; animation: sw-candle 6s ease-in-out infinite;
}
.scn-seni-warning .flame {
  position: absolute; bottom: 62%; left: 47.2%; width: 12px; height: 16px;
  background: radial-gradient(ellipse, #ffd080 0%, #e09030 60%, transparent 100%);
  border-radius: 50%; filter: blur(2px); animation: sw-flame 0.6s ease-in-out infinite alternate;
}
.scn-seni-warning .shadow {
  position: absolute; bottom: 22%; left: 35%; width: 30%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: sw-shadow 8s ease-in-out infinite;
}
.scn-seni-warning .seni {
  position: absolute; bottom: 24%; left: 38%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: sw-seni 4s ease-in-out infinite;
}
.scn-seni-warning .wallenstein {
  position: absolute; bottom: 26%; right: 30%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: sw-wallenstein 6s ease-in-out infinite;
}
@keyframes sw-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes sw-glow { 0% { opacity: 0.4; transform: scaleY(1) } 50% { opacity: 0.6; transform: scaleY(1.05) } 100% { opacity: 0.45; transform: scaleY(0.95) } }
@keyframes sw-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sw-candle { 0% { height: 30px; transform: scaleX(1) } 50% { height: 28px; transform: scaleX(1.02) } 100% { height: 30px; transform: scaleX(1) } }
@keyframes sw-flame { 0% { transform: scaleX(0.9) scaleY(1.1) translateY(0); opacity: 0.9 } 50% { transform: scaleX(1.05) scaleY(0.95) translateY(-1px); opacity: 1 } 100% { transform: scaleX(0.95) scaleY(1) translateY(0.5px); opacity: 0.85 } }
@keyframes sw-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) scaleY(0.9) } 100% { transform: scaleX(1) } }
@keyframes sw-seni { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(6px) translateY(0) rotate(-1deg) } 75% { transform: translateX(9px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(12px) translateY(0) rotate(0deg) } }
@keyframes sw-wallenstein { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-2px) translateY(1px) rotate(-1deg) } 66% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }

/* seni-omen */

.scn-seni-omen {
  background:
    linear-gradient(180deg, #1c1410 0%, #3a2518 40%, #2b1a10 80%, #0e0806 100%),
    radial-gradient(ellipse at 50% 45%, #4a2e1a 0%, transparent 50%);
}
.scn-seni-omen .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 20%, #3a2212 0%, transparent 80%); animation: so-bg 12s ease-in-out infinite alternate;
}
.scn-seni-omen .glow {
  position: absolute; bottom: 30%; left: 45%; width: 180px; height: 250px;
  background: radial-gradient(ellipse at 50% 0%, #d48a42 0%, #7a3e1a 40%, transparent 70%);
  filter: blur(15px); opacity: 0.4; animation: so-glow 5s ease-in-out infinite alternate;
}
.scn-seni-omen .desk {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #3e2512 0%, #1a0e06 100%);
  border-radius: 4px; box-shadow: 0 6px 18px rgba(0,0,0,0.7); animation: so-desk 10s ease-in-out infinite;
}
.scn-seni-omen .scroll {
  position: absolute; bottom: 25%; left: 38%; width: 60px; height: 16px;
  background: linear-gradient(180deg, #c8a87a 0%, #8a6a42 100%);
  border-radius: 4px; transform: rotate(5deg); animation: so-scroll 6s ease-in-out infinite;
}
.scn-seni-omen .hand {
  position: absolute; bottom: 28%; left: 45%; width: 14px; height: 20px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0602 100%);
  border-radius: 40% 40% 50% 50% / 60% 60% 40% 40%;
  transform: rotate(20deg); transform-origin: bottom; animation: so-hand 4s ease-in-out infinite;
}
.scn-seni-omen .candle {
  position: absolute; bottom: 30%; left: 35%; width: 8px; height: 28px;
  background: linear-gradient(180deg, #e8d4a0 0%, #b88a50 100%);
  border-radius: 2px; animation: so-candle 7s ease-in-out infinite;
}
.scn-seni-omen .flame {
  position: absolute; bottom: 56%; left: 35.2%; width: 10px; height: 14px;
  background: radial-gradient(ellipse, #ffd080 0%, #d08030 60%, transparent 100%);
  border-radius: 50%; filter: blur(2px); animation: so-flame 0.5s ease-in-out infinite alternate;
}
.scn-seni-omen .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 20%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: so-shadow 9s ease-in-out infinite;
}
@keyframes so-bg { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes so-glow { 0% { opacity: 0.3; transform: scaleY(1) } 50% { opacity: 0.5; transform: scaleY(1.1) } 100% { opacity: 0.35; transform: scaleY(0.9) } }
@keyframes so-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes so-scroll { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(7deg) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes so-hand { 0% { transform: rotate(20deg) translateX(0) } 33% { transform: rotate(22deg) translateX(2px) trangive .5px ) } 66% { transform: rotate(18deg) translateX(-1px) } 100% { transform: rotate(20deg) translateX(0) } }
@keyframes so-candle { 0% { height: 28px; transform: scaleX(1) } 50% { height: 26px; transform: scaleX(1.03) } 100% { height: 28px; transform: scaleX(1) } }
@keyframes so-flame { 0% { transform: scaleX(0.85) scaleY(1.2) translateY(0); opacity: 0.8 } 50% { transform: scaleX(1.1) scaleY(0.9) translateY(-2px); opacity: 1 } 100% { transform: scaleX(0.9) scaleY(1) translateY(1px); opacity: 0.75 } }
@keyframes so-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.3) scaleY(0.8) } 100% { transform: scaleX(1) } }

/* wallenstein-dismisses-seni */

.scn-wallenstein-dismisses-seni {
  background:
    linear-gradient(180deg, #1e1612 0%, #3c281a 40%, #2a1a0e 80%, #0e0804 100%),
    radial-gradient(ellipse at 50% 35%, #543822 0%, transparent 65%);
}
.scn-wallenstein-dismisses-seni .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 25%, #3e2414 0%, transparent 70%); animation: wd-bg 14s ease-in-out infinite alternate;
}
.scn-wallenstein-dismisses-seni .glow {
  position: absolute; bottom: 25%; left: 40%; width: 220px; height: 280px;
  background: radial-gradient(ellipse at 50% 0%, #d08038 0%, #7a3a1a 40%, transparent 70%);
  filter: blur(18px); opacity: 0.4; animation: wd-glow 6s ease-in-out infinite alternate;
}
.scn-wallenstein-dismisses-seni .chair {
  position: absolute; bottom: 24%; left: 45%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #4a2e1a 0%, #2b180b 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 60% 60%;
  box-shadow: 0 6px 14px rgba(0,0,0,0.6); animation: wd-chair 9s ease-in-out infinite;
}
.scn-wallenstein-dismisses-seni .wallenstein {
  position: absolute; bottom: 28%; left: 46%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: wd-wallenstein 7s ease-in-out infinite;
}
.scn-wallenstein-dismisses-seni .seni-leaving {
  position: absolute; bottom: 26%; right: 28%; width: 16px; height: 42px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: wd-seni-leaving 5s ease-in-out infinite;
}
.scn-wallenstein-dismisses-seni .candle {
  position: absolute; bottom: 34%; left: 42%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #e8d4a0 0%, #b88a50 100%);
  border-radius: 2px; animation: wd-candle 8s ease-in-out infinite;
}
.scn-wallenstein-dismisses-seni .shadow {
  position: absolute; bottom: 24%; left: 38%; width: 35%; height: 25%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: wd-shadow 10s ease-in-out infinite;
}
@keyframes wd-bg { 0% { opacity: 0.75 } 50% { opacity: 0.95 } 100% { opacity: 0.8 } }
@keyframes wd-glow { 0% { opacity: 0.35; transform: scaleY(1) } 50% { opacity: 0.5; transform: scaleY(1.08) } 100% { opacity: 0.4; transform: scaleY(0.92) } }
@keyframes wd-chair { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wd-wallenstein { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-2px) translateY(1px) rotate(-1deg) } 66% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes wd-seni-leaving { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg) } 50% { transform: translateX(8px) translateY(0) rotate(-1deg) } 75% { transform: translateX(12px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(16px) translateY(0) rotate(0deg) } }
@keyframes wd-candle { 0% { height: 30px; transform: scaleX(1) } 50% { height: 27px; transform: scaleX(1.02) } 100% { height: 30px; transform: scaleX(1) } }
@keyframes wd-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) scaleY(0.9) } 100% { transform: scaleX(1) } }

/* gordon-pleads */

.scn-gordon-pleads {
  background:
    linear-gradient(180deg, #1c1410 0%, #3a2518 40%, #2b1a10 80%, #0e0806 100%),
    radial-gradient(ellipse at 50% 40%, #4a2e1a 0%, transparent 60%);
}
.scn-gordon-pleads .bg {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 20%, #3a2212 0%, transparent 80%); animation: gp-bg 10s ease-in-out infinite alternate;
}
.scn-gordon-pleads .glow {
  position: absolute; bottom: 30%; left: 50%; width: 200px; height: 280px;
  background: radial-gradient(ellipse at 50% 0%, #d48a42 0%, #7a3e1a 40%, transparent 70%);
  filter: blur(20px); opacity: 0.45; animation: gp-glow 5s ease-in-out infinite alternate;
}
.scn-gordon-pleads .floor {
  position: absolute; bottom: 16%; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%; box-shadow: inset 0 6px 12px rgba(0,0,0,0.6); animation: gp-floor 8s ease-in-out infinite;
}
.scn-gordon-pleads .wallenstein {
  position: absolute; bottom: 22%; left: 48%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: gp-wallenstein 7s ease-in-out infinite;
}
.scn-gordon-pleads .gordon-kneeling {
  position: absolute; bottom: 16%; left: 38%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; transform: rotate(15deg); animation: gp-gordon 4s ease-in-out infinite;
}
.scn-gordon-pleads .candle {
  position: absolute; bottom: 32%; left: 44%; width: 8px; height: 28px;
  background: linear-gradient(180deg, #e8d4a0 0%, #b88a50 100%);
  border-radius: 2px; animation: gp-candle 6s ease-in-out infinite;
}
.scn-gordon-pleads .shadow {
  position: absolute; bottom: 16%; left: 30%; width: 40%; height: 25%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: gp-shadow 9s ease-in-out infinite;
}
.scn-gordon-pleads .tapestry {
  position: absolute; top: 8%; left: 10%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #5a3822 0%, #2a1a0e 100%);
  border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.5); filter: blur(2px); animation: gp-tapestry 12s ease-in-out infinite alternate;
}
@keyframes gp-bg { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes gp-glow { 0% { opacity: 0.4; transform: scaleY(1) } 50% { opacity: 0.6; transform: scaleY(1.1) } 100% { opacity: 0.45; transform: scaleY(0.9) } }
@keyframes gp-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes gp-wallenstein { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-2px) translateY(1px) rotate(-1deg) } 66% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes gp-gordon { 0% { transform: rotate(15deg) translateY(0) } 25% { transform: rotate(10deg) translateY(-3px) } 50% { transform: rotate(18deg) translateY(0) } 75% { transform: rotate(12deg) translateY(-2px) } 100% { transform: rotate(15deg) translateY(0) } }
@keyframes gp-candle { 0% { height: 28px; transform: scaleX(1) } 50% { height: 25px; transform: scaleX(1.03) } 100% { height: 28px; transform: scaleX(1) } }
@keyframes gp-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.2) scaleY(0.8) } 100% { transform: scaleX(1) } }
@keyframes gp-tapestry { 0% { opacity: 0.6 } 50% { opacity: 0.9 } 100% { opacity: 0.7 } }

.scn-max-internal-conflict {
  background: linear-gradient(180deg, #4a3b2c 0%, #2c1f14 40%, #1a1008 100%),
              radial-gradient(ellipse at 50% 100%, #c89a5a 0%, transparent 70%);
}
.scn-max-internal-conflict .wall-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #3a2a1c 0%, #1e130a 100%);
  animation: mic-wall 12s ease-in-out infinite alternate;
}
.scn-max-internal-conflict .window {
  position: absolute; top: 10%; left: 20%; width: 40%; height: 55%;
  background: linear-gradient(180deg, #f5e6d0 0%, #c8b090 80%);
  border-radius: 4% 4% 0 0; box-shadow: inset 0 0 40px rgba(255,220,160,0.3);
  animation: mic-window 8s ease-in-out infinite alternate;
}
.scn-max-internal-conflict .window-light {
  position: absolute; top: 2%; left: 15%; width: 50%; height: 70%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,210,150,0.6) 0%, transparent 70%);
  filter: blur(12px); animation: mic-glow 6s ease-in-out infinite;
}
.scn-max-internal-conflict .figure-inner {
  position: absolute; bottom: 8%; left: 35%; width: 18%; height: 45%;
  background: linear-gradient(180deg, #1a1008 0%, #0d0804 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mic-fig 10s ease-in-out infinite alternate;
}
.scn-max-internal-conflict .candle {
  position: absolute; bottom: 12%; left: 52%; width: 2%; height: 12%;
  background: linear-gradient(180deg, #d4a060 0%, #8a5a2a 100%);
  border-radius: 20% 20% 15% 15%;
  box-shadow: 0 0 20px 6px rgba(200,130,60,0.7);
  animation: mic-candle 4s ease-in-out infinite;
}
.scn-max-internal-conflict .shadow-a {
  position: absolute; bottom: 5%; left: 10%; width: 40%; height: 25%;
  background: rgba(10,5,2,0.5); border-radius: 50%; filter: blur(15px);
  animation: mic-shad1 15s ease-in-out infinite alternate;
}
.scn-max-internal-conflict .shadow-b {
  position: absolute; bottom: 0; left: 50%; width: 30%; height: 20%;
  background: rgba(10,5,2,0.4); border-radius: 40% 60% 0 0; filter: blur(10px);
  animation: mic-shad2 20s ease-in-out infinite alternate;
}
.scn-max-internal-conflict .shadow-c {
  position: absolute; top: 50%; right: 5%; width: 25%; height: 40%;
  background: rgba(20,12,5,0.3); border-radius: 30% 70% 50% 50% / 40% 60% 60% 40%;
  filter: blur(12px); animation: mic-shad3 18s ease-in-out infinite;
}
@keyframes mic-wall {
  0% { opacity: 0.85; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.9; transform: scale(1.01); }
}
@keyframes mic-window {
  0% { filter: brightness(0.9); }
  50% { filter: brightness(1.1); }
  100% { filter: brightness(1.0); }
}
@keyframes mic-glow {
  0% { opacity: 0.5; transform: translateX(-5px); }
  50% { opacity: 0.8; transform: translateX(5px); }
  100% { opacity: 0.6; transform: translateX(-2px); }
}
@keyframes mic-fig {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-5px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes mic-candle {
  0% { transform: scaleY(1); opacity: 0.9; box-shadow: 0 0 20px 6px rgba(200,130,60,0.7); }
  50% { transform: scaleY(1.05); opacity: 1; box-shadow: 0 0 30px 10px rgba(220,150,60,0.8); }
  100% { transform: scaleY(0.98); opacity: 0.95; box-shadow: 0 0 20px 6px rgba(200,130,60,0.7); }
}
@keyframes mic-shad1 {
  0% { transform: translateX(0) scale(1); opacity: 0.4; }
  50% { transform: translateX(10px) scale(1.1); opacity: 0.6; }
  100% { transform: translateX(-5px) scale(0.95); opacity: 0.3; }
}
@keyframes mic-shad2 {
  0% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(3px); }
}
@keyframes mic-shad3 {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.15); }
  100% { transform: rotate(-3deg) scale(0.9); }
}

.scn-countess-pressure-max {
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%),
              radial-gradient(ellipse at 50% 70%, #1a1a3e 0%, transparent 70%);
}
.scn-countess-pressure-max .bg-deep {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #0a0a1a 0%, transparent 80%);
  animation: cpm-bg 12s ease-in-out infinite alternate;
}
.scn-countess-pressure-max .wall-left {
  position: absolute; top: 0; left: 0; width: 25%; height: 85%;
  background: linear-gradient(90deg, #2a2a4a 0%, #1a1a3a 100%);
  border-right: 2px solid #3a3a5a;
  transform-origin: left center;
  animation: cpm-wall-l 8s ease-in-out infinite alternate;
}
.scn-countess-pressure-max .wall-right {
  position: absolute; top: 0; right: 0; width: 25%; height: 85%;
  background: linear-gradient(90deg, #1a1a3a 0%, #2a2a4a 100%);
  border-left: 2px solid #3a3a5a;
  transform-origin: right center;
  animation: cpm-wall-r 8s ease-in-out infinite alternate;
}
.scn-countess-pressure-max .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,.5);
  border-radius: 0 0 4% 4%;
  transform: perspective(200px) rotateX(10deg);
  transform-origin: bottom center;
  animation: cpm-floor 6s ease-in-out infinite;
}
.scn-countess-pressure-max .figure {
  position: absolute; bottom: 12%; left: 50%; width: 16px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  animation: cpm-figure 4s ease-in-out infinite;
}
.scn-countess-pressure-max .shadow {
  position: absolute; bottom: 10%; left: 46%; width: 30px; height: 8px;
  background: rgba(0,0,0,.4);
  border-radius: 50%;
  filter: blur(3px);
  animation: cpm-shadow 4s ease-in-out infinite;
}
.scn-countess-pressure-max .glow {
  position: absolute; top: 30%; left: 50%; width: 10px; height: 10px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c0a060 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px rgba(192,160,96,.4), 0 0 60px 15px rgba(192,160,96,.2);
  animation: cpm-glow 3s ease-in-out infinite alternate;
}
.scn-countess-pressure-max .particles {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 20% 30%, rgba(200,180,140,.08) 0%, transparent 10%),
              radial-gradient(circle at 60% 70%, rgba(200,180,140,.05) 0%, transparent 8%),
              radial-gradient(circle at 80% 20%, rgba(200,180,140,.06) 0%, transparent 7%),
              radial-gradient(circle at 40% 80%, rgba(200,180,140,.04) 0%, transparent 9%);
  animation: cpm-particles 12s linear infinite;
}
@keyframes cpm-bg {
  0% { opacity: .7; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes cpm-wall-l {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(.95) translateX(2px); }
}
@keyframes cpm-wall-r {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(.95) translateX(-2px); }
}
@keyframes cpm-floor {
  0%, 100% { transform: perspective(200px) rotateX(10deg); }
  50% { transform: perspective(200px) rotateX(8deg) translateY(-1px); }
}
@keyframes cpm-figure {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-51%) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); }
  75% { transform: translateX(-49%) translateY(0) rotate(1deg); }
}
@keyframes cpm-shadow {
  0%, 100% { transform: scaleX(1); opacity: .4; }
  50% { transform: scaleX(.9); opacity: .6; }
}
@keyframes cpm-glow {
  0% { box-shadow: 0 0 20px 6px rgba(192,160,96,.3), 0 0 40px 12px rgba(192,160,96,.15); opacity: .8; }
  50% { box-shadow: 0 0 35px 12px rgba(192,160,96,.5), 0 0 70px 20px rgba(192,160,96,.3); opacity: 1; }
  100% { box-shadow: 0 0 25px 8px rgba(192,160,96,.35), 0 0 50px 15px rgba(192,160,96,.2); opacity: .9; }
}
@keyframes cpm-particles {
  0% { background-position: 0 0, 0 0, 0 0, 0 0; }
  100% { background-position: 100px 60px, -80px -40px, 120px -30px, -60px 80px; }
}

.scn-max-seeks-truth-from-thekla {
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1c 50%, #1a1008 100%),
              radial-gradient(ellipse at 30% 50%, #f0b080 0%, transparent 60%);
}
.scn-max-seeks-truth-from-thekla .bg-depth {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a1a12 0%, #1a0e06 100%);
  animation: mst-bg 20s ease-in-out infinite alternate;
}
.scn-max-seeks-truth-from-thekla .fireplace {
  position: absolute; bottom: 10%; left: 10%; width: 30%; height: 45%;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0e 100%);
  border-radius: 10% 10% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-max-seeks-truth-from-thekla .fire-glow {
  position: absolute; bottom: 15%; left: 15%; width: 20%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,180,60,0.7) 0%, transparent 60%);
  filter: blur(15px);
  animation: mst-fire 4s ease-in-out infinite alternate;
}
.scn-max-seeks-truth-from-thekla .thekla-silhouette {
  position: absolute; bottom: 8%; left: 45%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #2a1a0e 0%, #100804 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  box-shadow: 0 0 30px 8px rgba(200,130,60,0.3);
  animation: mst-thekla 9s ease-in-out infinite;
}
.scn-max-seeks-truth-from-thekla .max-silhouette {
  position: absolute; bottom: 12%; left: 62%; width: 16%; height: 42%;
  background: linear-gradient(180deg, #1a1008 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mst-max 11s ease-in-out infinite alternate;
}
.scn-max-seeks-truth-from-thekla .chair {
  position: absolute; bottom: 10%; left: 40%; width: 12%; height: 20%;
  background: linear-gradient(135deg, #4a2a12 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: mst-chair 15s ease-in-out infinite alternate;
}
.scn-max-seeks-truth-from-thekla .mantel-object {
  position: absolute; bottom: 48%; left: 18%; width: 6%; height: 6%;
  background: radial-gradient(circle, #d0a060 0%, #8a5a2a 100%);
  border-radius: 50%; box-shadow: 0 0 15px 3px rgba(200,130,60,0.5);
  animation: mst-object 7s ease-in-out infinite;
}
@keyframes mst-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes mst-fire {
  0% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1.0); opacity: 0.7; }
}
@keyframes mst-thekla {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(2deg); }
  100% { transform: translateX(2px) rotate(-1deg); }
}
@keyframes mst-max {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-6px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes mst-chair {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.02) translateY(-2px); }
  100% { transform: scale(0.98) translateY(1px); }
}
@keyframes mst-object {
  0% { box-shadow: 0 0 15px 3px rgba(200,130,60,0.5); }
  50% { box-shadow: 0 0 25px 8px rgba(220,150,60,0.8); }
  100% { box-shadow: 0 0 15px 3px rgba(200,130,60,0.5); }
}

.scn-max-questions-thekla {
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2818 50%, #1a1008 100%),
              radial-gradient(ellipse at 60% 40%, #e0c090 0%, transparent 60%);
}
.scn-max-questions-thekla .room-wall {
  position: absolute; top: 0; left: 0; right: 0; height: 65%;
  background: linear-gradient(135deg, #6a523a 0%, #4a3822 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.4);
  animation: mqt-wall 25s ease-in-out infinite alternate;
}
.scn-max-questions-thekla .lamp-light {
  position: absolute; top: 35%; left: 55%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,210,150,0.5) 0%, transparent 60%);
  filter: blur(25px);
  animation: mqt-glow 5s ease-in-out infinite;
}
.scn-max-questions-thekla .lamp-base {
  position: absolute; bottom: 35%; left: 58%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #c8a87a 0%, #8a6a4a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 15px 5px rgba(200,160,100,0.4);
  animation: mqt-lamp 7s ease-in-out infinite alternate;
}
.scn-max-questions-thekla .thekla-seated {
  position: absolute; bottom: 10%; left: 40%; width: 18%; height: 45%;
  background: linear-gradient(180deg, #2a1a0e 0%, #100804 100%);
  border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%;
  transform-origin: bottom center;
  animation: mqt-her 12s ease-in-out infinite alternate;
}
.scn-max-questions-thekla .max-standing {
  position: absolute; bottom: 5%; left: 58%; width: 16%; height: 55%;
  background: linear-gradient(180deg, #1c1008 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  animation: mqt-him 9s ease-in-out infinite alternate;
}
.scn-max-questions-thekla .table-surface {
  position: absolute; bottom: 8%; left: 35%; width: 30%; height: 6%;
  background: linear-gradient(135deg, #5a3a2a 0%, #3a2010 100%);
  border-radius: 20% 20% 0 0; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-max-questions-thekla .paper {
  position: absolute; bottom: 12%; left: 42%; width: 10%; height: 4%;
  background: linear-gradient(135deg, #f5e8d0 0%, #c8b090 100%);
  transform: rotate(10deg); border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: mqt-paper 8s ease-in-out infinite;
}
.scn-max-questions-thekla .shadow-drapes {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(10,5,2,0.7));
  filter: blur(8px);
  animation: mqt-drapes 14s ease-in-out infinite alternate;
}
@keyframes mqt-wall {
  0% { filter: brightness(0.85); }
  50% { filter: brightness(1.05); }
  100% { filter: brightness(0.95); }
}
@keyframes mqt-glow {
  0% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(0.95); }
}
@keyframes mqt-lamp {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes mqt-her {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(3deg); }
  100% { transform: translateX(3px) rotate(-1deg); }
}
@keyframes mqt-him {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(2deg); }
  100% { transform: translateY(2px) rotate(-2deg); }
}
@keyframes mqt-paper {
  0% { transform: rotate(10deg) scale(1); }
  50% { transform: rotate(15deg) scale(1.03); }
  100% { transform: rotate(8deg) scale(0.98); }
}
@keyframes mqt-drapes {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}

.scn-countess-teases-max {
  background: linear-gradient(180deg, #2a1f1a 0%, #1a140f 50%, #0f0a07 100%),
              radial-gradient(ellipse at 40% 60%, #4a3525 0%, transparent 70%);
}
.scn-countess-teases-max .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,31,26,0.8) 0%, transparent 60%);
  animation: ctm-wall 12s ease-in-out infinite alternate;
}
.scn-countess-teases-max .window {
  position: absolute; top: 15%; left: 55%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border: 4px solid #4a3a2a; border-radius: 4px;
  animation: ctm-window 8s ease-in-out infinite alternate;
}
.scn-countess-teases-max .candle {
  position: absolute; bottom: 35%; left: 50%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 20% 20% 40% 40%; transform: translateX(-50%);
  box-shadow: 0 0 20px 6px #ffa040;
  animation: ctm-candle 3s ease-in-out infinite alternate;
}
.scn-countess-teases-max .countess-silhouette {
  position: absolute; bottom: 20%; left: 30%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0f0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ctm-countess 4s ease-in-out infinite;
}
.scn-countess-teases-max .max-silhouette {
  position: absolute; bottom: 20%; left: 45%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1410 0%, #0f0a07 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ctm-max 5s ease-in-out infinite alternate;
}
.scn-countess-teases-max .gleam {
  position: absolute; bottom: 30%; left: 48%; width: 4px; height: 4px;
  background: radial-gradient(circle, #ffd080 0%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 12px 4px rgba(255,208,128,0.6);
  animation: ctm-gleam 2s ease-in-out infinite;
}
.scn-countess-teases-max .dust {
  position: absolute; top: 20%; left: 20%; width: 100px; height: 60px;
  background: radial-gradient(circle at 30% 40%, rgba(255,200,150,0.15) 0%, transparent 60%);
  filter: blur(8px); animation: ctm-dust 15s linear infinite;
}
@keyframes ctm-wall { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.7 } }
@keyframes ctm-window { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(1) } }
@keyframes ctm-candle { 0% { transform: translateX(-50%) translateY(0) scaleY(1); opacity: 0.8 } 50% { transform: translateX(-50%) translateY(-2px) scaleY(1.1); opacity: 1 } 100% { transform: translateX(-50%) translateY(0) scaleY(0.95); opacity: 0.9 } }
@keyframes ctm-countess { 0% { transform: translateX(0) rotate(0deg); opacity: 0.9 } 25% { transform: translateX(5px) rotate(3deg); opacity: 1 } 50% { transform: translateX(-3px) rotate(-2deg); opacity: 0.85 } 75% { transform: translateX(2px) rotate(2deg); opacity: 1 } 100% { transform: translateX(0) rotate(0deg); opacity: 0.9 } }
@keyframes ctm-max { 0% { transform: translateX(0) translateY(0); opacity: 0.8 } 50% { transform: translateX(-4px) translateY(-2px); opacity: 0.95 } 100% { transform: translateX(3px) translateY(0); opacity: 0.8 } }
@keyframes ctm-gleam { 0% { opacity: 0.5; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.2) } 100% { opacity: 0.5; transform: scale(0.8) } }
@keyframes ctm-dust { 0% { transform: translate(0, 0) scale(1); opacity: 0.4 } 50% { transform: translate(20px, -10px) scale(1.1); opacity: 0.7 } 100% { transform: translate(0, 0) scale(1); opacity: 0.4 } }

.scn-max-recounts-declaration {
  background: linear-gradient(180deg, #f4e8c0 0%, #d4c8a0 30%, #b0a080 70%, #8a7a60 100%),
              radial-gradient(ellipse at 50% 30%, #ffe8b0 0%, transparent 70%);
}
.scn-max-recounts-declaration .sky {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #c0e0f0 40%, transparent 100%);
  animation: mrd-sky 20s ease-in-out infinite alternate;
}
.scn-max-recounts-declaration .hills {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #6a7a4a 0%, #3a4a2a 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: mrd-hills 18s ease-in-out infinite alternate;
}
.scn-max-recounts-declaration .balcony {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 10px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 2px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
  animation: mrd-balcony 6s ease-in-out infinite alternate;
}
.scn-max-recounts-declaration .max-fore {
  position: absolute; bottom: 28%; left: 25%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mrd-max 4s ease-in-out infinite alternate;
}
.scn-max-recounts-declaration .listener {
  position: absolute; bottom: 28%; left: 40%; width: 26px; height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mrd-listener 5s ease-in-out infinite alternate;
}
.scn-max-recounts-declaration .dragoons {
  position: absolute; bottom: 45%; left: 55%; width: 40px; height: 20px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  filter: blur(2px);
  animation: mrd-dragoons 12s linear infinite alternate;
}
.scn-max-recounts-declaration .sunlight-shaft {
  position: absolute; top: 10%; left: 30%; width: 40px; height: 80%;
  background: linear-gradient(180deg, rgba(255,240,200,0.25) 0%, transparent 100%);
  transform: rotate(15deg); filter: blur(10px);
  animation: mrd-shaft 9s ease-in-out infinite alternate;
}
@keyframes mrd-sky { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes mrd-hills { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes mrd-balcony { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }
@keyframes mrd-max { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes mrd-listener { 0% { transform: translateX(0) translateY(0); opacity: 0.9 } 50% { transform: translateX(-2px) translateY(-1px); opacity: 1 } 100% { transform: translateX(1px) translateY(0); opacity: 0.9 } }
@keyframes mrd-dragoons { 0% { transform: translateX(0) scale(1); opacity: 0.5 } 50% { transform: translateX(10px) scale(1.1); opacity: 0.8 } 100% { transform: translateX(0) scale(1); opacity: 0.5 } }
@keyframes mrd-shaft { 0% { opacity: 0.3; transform: rotate(15deg) scaleY(1); } 50% { opacity: 0.6; transform: rotate(15deg) scaleY(1.2); } 100% { opacity: 0.3; transform: rotate(15deg) scaleY(1); } }

.scn-tersky-overture-plot {
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 40%, #050510 100%),
              radial-gradient(ellipse at 50% 70%, #2a2040 0%, transparent 60%);
}
.scn-tersky-overture-plot .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  animation: top-floor 10s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .wall-panel {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1a1220 0%, #0a0a15 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: top-wall 14s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .table {
  position: absolute; bottom: 22%; left: 35%; width: 120px; height: 20px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 4px;
  transform: perspective(400px) rotateX(30deg);
  animation: top-table 8s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .papers {
  position: absolute; bottom: 25%; left: 38%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #c8b080 0%, #a09070 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: top-papers 6s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .tertsky {
  position: absolute; bottom: 20%; left: 45%; width: 32px; height: 75px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: top-tertsky 4s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .shadow-figure {
  position: absolute; bottom: 20%; left: 25%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1a2e 0%, #050510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: top-shadow 6s ease-in-out infinite alternate;
  opacity: 0.7;
}
.scn-tersky-overture-plot .candle-glow {
  position: absolute; bottom: 30%; left: 42%; width: 12px; height: 12px;
  background: radial-gradient(circle, #ffa040 0%, #804020 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,160,64,0.4);
  animation: top-candle 3s ease-in-out infinite alternate;
}
.scn-tersky-overture-plot .flame-flicker {
  position: absolute; bottom: 35%; left: 42.5%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #ffd080 0%, #ff8c00 100%);
  border-radius: 40% 40% 20% 20%;
  transform: translateX(-50%);
  animation: top-flame 1.5s ease-in-out infinite;
}
@keyframes top-floor { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes top-wall { 0% { opacity: 0.7 } 50% { opacity: 0.9 } 100% { opacity: 0.75 } }
@keyframes top-table { 0% { transform: perspective(400px) rotateX(30deg) translateY(0); } 50% { transform: perspective(400px) rotateX(30deg) translateY(-2px); } 100% { transform: perspective(400px) rotateX(30deg) translateY(0); } }
@keyframes top-papers { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-2deg) scale(1.05); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes top-tertsky { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes top-shadow { 0% { transform: translateX(0) scale(1); opacity: 0.6 } 50% { transform: translateX(3px) scale(1.02); opacity: 0.8 } 100% { transform: translateX(0) scale(1); opacity: 0.6 } }
@keyframes top-candle { 0% { transform: scale(0.9); opacity: 0.7 } 50% { transform: scale(1.2); opacity: 1 } 100% { transform: scale(0.95); opacity: 0.75 } }
@keyframes top-flame { 0% { transform: translateX(-50%) translateY(0) scaleY(1); opacity: 0.9 } 50% { transform: translateX(-50%) translateY(-3px) scaleY(1.2); opacity: 1 } 100% { transform: translateX(-50%) translateY(0) scaleY(0.95); opacity: 0.85 } }

.scn-butler-pledge-fidelity {
  background: linear-gradient(180deg, #1a1a2a 0%, #10101a 40%, #08080f 100%),
              radial-gradient(ellipse at 60% 40%, #2a2a3a 0%, transparent 70%);
}
.scn-butler-pledge-fidelity .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,30,0.9) 0%, transparent 50%);
  animation: bpf-bg 15s ease-in-out infinite alternate;
}
.scn-butler-pledge-fidelity .arch {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 70%;
  background: linear-gradient(180deg, #2a2a3a 0%, #10101a 100%);
  border: 2px solid #3a3a4a; border-radius: 50% / 30% 30% 10% 10%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
  animation: bpf-arch 12s ease-in-out infinite alternate;
}
.scn-butler-pledge-fidelity .butler {
  position: absolute; bottom: 20%; left: 55%; width: 34px; height: 80px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0f0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bpf-butler 4s ease-in-out infinite alternate;
}
.scn-butler-pledge-fidelity .general-illo {
  position: absolute; bottom: 20%; left: 35%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a15 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bpf-illo 5s ease-in-out infinite alternate;
}
.scn-butler-pledge-fidelity .general-shadow1 {
  position: absolute; bottom: 20%; left: 20%; width: 26px; height: 65px;
  background: linear-gradient(180deg, #10101a 0%, #050510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bpf-shadow1 7s ease-in-out infinite alternate;
  opacity: 0.6;
}
.scn-butler-pledge-fidelity .general-shadow2 {
  position: absolute; bottom: 20%; left: 70%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #10101a 0%, #050510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bpf-shadow2 8s ease-in-out infinite alternate;
  opacity: 0.5;
}
.scn-butler-pledge-fidelity .light-source {
  position: absolute; bottom: 40%; left: 48%; width: 10px; height: 10px;
  background: radial-gradient(circle, #c0a070 0%, #605030 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(192,160,112,0.4);
  animation: bpf-light 3s ease-in-out infinite alternate;
}
@keyframes bpf-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes bpf-arch { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(1.02) rotate(1deg); } 100% { transform: scaleX(1) rotate(0deg); } }
@keyframes bpf-butler { 0% { transform: translateX(0) rotate(0deg); opacity: 0.9 } 50% { transform: translateX(2px) rotate(1deg); opacity: 1 } 100% { transform: translateX(-1px) rotate(-1deg); opacity: 0.9 } }
@keyframes bpf-illo { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(-3px) translateY(-2px); } 100% { transform: translateX(1px) translateY(0); } }
@keyframes bpf-shadow1 { 0% { transform: translateX(0) scale(1); opacity: 0.5 } 50% { transform: translateX(4px) scale(1.03); opacity: 0.7 } 100% { transform: translateX(0) scale(1); opacity: 0.5 } }
@keyframes bpf-shadow2 { 0% { transform: translateX(0) scale(1); opacity: 0.4 } 50% { transform: translateX(-3px) scale(1.02); opacity: 0.65 } 100% { transform: translateX(0) scale(1); opacity: 0.4 } }
@keyframes bpf-light { 0% { transform: scale(0.85); opacity: 0.7 } 50% { transform: scale(1.15); opacity: 1 } 100% { transform: scale(0.9); opacity: 0.75 } }

.scn-max-declares-farewell {
  background: 
    linear-gradient(180deg, #2a2010 0%, #3d2e1a 40%, #5a3d28 80%),
    radial-gradient(ellipse at 50% 100%, #4a321e 0%, transparent 60%);
}
.scn-max-declares-farewell .wall-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #3d2e1a 0%, #5a3d28 50%, #3d2e1a 100%);
  animation: mdf-wall 12s ease-in-out infinite alternate;
}
.scn-max-declares-farewell .window-glow {
  position: absolute; top: 12%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 50%, #f0b060 0%, #d08030 60%, transparent 80%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 30px 10px rgba(240,176,96,0.6), 0 0 60px 20px rgba(240,176,96,0.3);
  animation: mdf-glow 4s ease-in-out infinite alternate;
}
.scn-max-declares-farewell .curtain-left {
  position: absolute; top: 0; left: 0; width: 35%; height: 100%;
  background: linear-gradient(135deg, #2a1a0c 0%, #1a0e04 100%);
  border-radius: 0 60% 60% 0 / 0 30% 30% 0;
  filter: blur(2px);
  animation: mdf-curtain 8s ease-in-out infinite alternate;
}
.scn-max-declares-farewell .curtain-right {
  position: absolute; top: 0; right: 0; width: 35%; height: 100%;
  background: linear-gradient(225deg, #2a1a0c 0%, #1a0e04 100%);
  border-radius: 60% 0 0 60% / 30% 0 0 30%;
  filter: blur(2px);
  animation: mdf-curtain 8s ease-in-out infinite alternate-reverse;
}
.scn-max-declares-farewell .figure-max {
  position: absolute; bottom: 22%; left: 30%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1a120a 0%, #0d0802 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mdf-max 3s ease-in-out infinite;
}
.scn-max-declares-farewell .figure-thekla {
  position: absolute; bottom: 22%; left: 52%; width: 20px; height: 58px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 45% 45%;
  transform-origin: bottom center;
  animation: mdf-thekla 5s ease-in-out infinite;
}
.scn-max-declares-farewell .figure-countess {
  position: absolute; bottom: 20%; right: 18%; width: 18px; height: 54px;
  background: linear-gradient(180deg, #1e1410 0%, #0a0604 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: mdf-countess 6s ease-in-out infinite;
}
.scn-max-declares-farewell .floor-shadow {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 5%;
  background: linear-gradient(90deg, transparent 10%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.2) 70%, transparent 90%);
  animation: mdf-shadow 4s ease-in-out infinite alternate;
}
@keyframes mdf-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes mdf-glow { 0% { box-shadow: 0 0 20px 5px rgba(240,176,96,0.4); opacity:0.8; } 50% { box-shadow: 0 0 40px 15px rgba(240,176,96,0.7); opacity:1; } 100% { box-shadow: 0 0 25px 8px rgba(240,176,96,0.5); opacity:0.9; } }
@keyframes mdf-curtain { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(5px) scaleY(0.98); } 100% { transform: translateX(-3px) scaleY(1.01); } }
@keyframes mdf-max { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(-1px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mdf-thekla { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(-3deg); } 60% { transform: translateY(0) rotate(2deg); } 100% { transform: translateY(1px) rotate(0deg); } }
@keyframes mdf-countess { 0% { transform: translateX(0) scale(1); } 40% { transform: translateX(-2px) scale(1.02); } 70% { transform: translateX(1px) scale(0.98); } 100% { transform: translateX(0) scale(1); } }
@keyframes mdf-shadow { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }

.scn-max-turns-to-wall {
  background: 
    linear-gradient(180deg, #2a2218 0%, #3d3020 40%, #4a3828 80%),
    radial-gradient(ellipse at 30% 70%, #806040 0%, transparent 50%);
}
.scn-max-turns-to-wall .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(90deg, #3d3020 0%, #4a3828 50%, #3d3020 100%);
  animation: mtw-wall 10s ease-in-out infinite alternate;
}
.scn-max-turns-to-wall .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e08 100%);
  animation: mtw-floor 8s ease-in-out infinite alternate;
}
.scn-max-turns-to-wall .figure-max {
  position: absolute; bottom: 28%; left: 25%; width: 20px; height: 58px;
  background: linear-gradient(180deg, #1a120a 0%, #0d0802 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mtw-max 4s ease-in-out infinite;
}
.scn-max-turns-to-wall .figure-thekla {
  position: absolute; bottom: 28%; left: 48%; width: 18px; height: 56px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 45% 45%;
  transform-origin: bottom center;
  animation: mtw-thekla 5s ease-in-out infinite;
}
.scn-max-turns-to-wall .figure-duke {
  position: absolute; bottom: 26%; right: 20%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0604 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: mtw-duke 6s ease-in-out infinite;
}
.scn-max-turns-to-wall .light-beam {
  position: absolute; top: 10%; left: 40%; width: 20%; height: 60%;
  background: linear-gradient(180deg, rgba(240,200,120,0.15) 0%, transparent 100%);
  transform: skewX(-10deg);
  filter: blur(8px);
  animation: mtw-beam 7s ease-in-out infinite alternate;
}
.scn-max-turns-to-wall .shadow-arch {
  position: absolute; top: 0; left: 10%; width: 30%; height: 70%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.3) 0%, transparent 70%);
  filter: blur(4px);
  animation: mtw-arch 9s ease-in-out infinite alternate;
}
@keyframes mtw-wall { 0% { background-position: 0 0; } 50% { background-position: 10px 0; } 100% { background-position: -10px 0; } }
@keyframes mtw-floor { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes mtw-max { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(5px) rotate(-2deg); } 60% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mtw-thekla { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mtw-duke { 0% { transform: scale(1) translateY(0); } 40% { transform: scale(1.02) translateY(-2px); } 70% { transform: scale(0.98) translateY(1px); } 100% { transform: scale(1) translateY(0); } }
@keyframes mtw-beam { 0% { opacity:0.2; transform: skewX(-10deg) translateX(0); } 50% { opacity:0.5; transform: skewX(-8deg) translateX(10px); } 100% { opacity:0.3; transform: skewX(-12deg) translateX(-5px); } }
@keyframes mtw-arch { 0% { transform: scale(1) translateX(0); } 50% { transform: scale(1.05) translateX(5px); } 100% { transform: scale(0.95) translateX(-3px); } }

.scn-wallenstein-threatens-max {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a2018 40%, #3d2a1a 80%),
    radial-gradient(ellipse at 60% 50%, #604020 0%, transparent 60%);
}
.scn-wallenstein-threatens-max .chamber {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #2a2018 0%, #3d2a1a 50%, #2a2018 100%);
  animation: wth-chamber 14s ease-in-out infinite alternate;
}
.scn-wallenstein-threatens-max .firelight {
  position: absolute; top: 5%; left: 50%; width: 80px; height: 100px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #f0a040 0%, #d07020 40%, transparent 70%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 40px 20px rgba(240,160,64,0.5), 0 0 80px 30px rgba(240,160,64,0.2);
  animation: wth-fire 3s ease-in-out infinite alternate;
}
.scn-wallenstein-threatens-max .figure-wallenstein {
  position: absolute; bottom: 22%; left: 45%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #1a100a 0%, #0a0500 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: wth-wallen 4s ease-in-out infinite;
}
.scn-wallenstein-threatens-max .figure-max {
  position: absolute; bottom: 24%; left: 25%; width: 20px; height: 56px;
  background: linear-gradient(180deg, #1e1410 0%, #0d0802 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wth-max 5s ease-in-out infinite;
}
.scn-wallenstein-threatens-max .chair {
  position: absolute; bottom: 22%; right: 15%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0e04 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: wth-chair 8s ease-in-out infinite alternate;
}
.scn-wallenstein-threatens-max .drapes {
  position: absolute; top: 0; left: 0; right: 0; height: 8%;
  background: linear-gradient(90deg, #2a1a0c 0%, #3d2a1a 20%, #2a1a0c 40%, #3d2a1a 60%, #2a1a0c 80%);
  filter: blur(3px);
  animation: wth-drapes 6s ease-in-out infinite alternate;
}
@keyframes wth-chamber { 0% { background-position: 0 0; } 50% { background-position: 5px 0; } 100% { background-position: -5px 0; } }
@keyframes wth-fire { 0% { opacity:0.7; transform: scaleY(1) translateY(0); } 50% { opacity:1; transform: scaleY(1.05) translateY(-3px); } 100% { opacity:0.8; transform: scaleY(0.95) translateY(2px); } }
@keyframes wth-wallen { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg); } 60% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wth-max { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-2deg); } 50% { transform: translateY(1px) rotate(1deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wth-chair { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(0.98); } }
@keyframes wth-drapes { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(-3px); } }

.scn-max-stands-firm {
  background: 
    linear-gradient(180deg, #2a2218 0%, #3d3020 40%, #4a3828 80%),
    radial-gradient(ellipse at 50% 30%, #806040 0%, transparent 50%);
}
.scn-max-stands-firm .backdrop {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3d3020 0%, #4a3828 50%, #3d3020 100%);
  animation: msf-back 12s ease-in-out infinite alternate;
}
.scn-max-stands-firm .arch {
  position: absolute; top: 0; left: 20%; width: 60%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.2) 0%, transparent 60%);
  border-radius: 50% 50% 0 0;
  filter: blur(6px);
  animation: msf-arch 9s ease-in-out infinite alternate;
}
.scn-max-stands-firm .figure-max {
  position: absolute; bottom: 26%; left: 35%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1a120a 0%, #0d0802 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: msf-max 4s ease-in-out infinite;
}
.scn-max-stands-firm .figure-thekla {
  position: absolute; bottom: 26%; left: 52%; width: 20px; height: 58px;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 45% 45%;
  transform-origin: bottom center;
  animation: msf-thekla 6s ease-in-out infinite;
}
.scn-max-stands-firm .figure-duke {
  position: absolute; bottom: 24%; right: 20%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0604 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: msf-duke 7s ease-in-out infinite;
}
.scn-max-stands-firm .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: repeating-linear-gradient(90deg, #2a1a10 0px, #2a1a10 8px, #1a0e08 8px, #1a0e08 16px);
  opacity: 0.6;
  animation: msf-tile 10s linear infinite;
}
.scn-max-stands-firm .candle-glow {
  position: absolute; top: 15%; left: 50%; width: 30px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, #f0b060 0%, #d08030 40%, transparent 70%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 30px 10px rgba(240,176,96,0.5), 0 0 60px 20px rgba(240,176,96,0.2);
  animation: msf-candle 3s ease-in-out infinite alternate;
}
@keyframes msf-back { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes msf-arch { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.03); } 100% { transform: scaleX(0.97); } }
@keyframes msf-max { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(1deg); } 60% { transform: translateX(-1px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes msf-thekla { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-2px) rotate(2deg); } 40% { transform: translateY(0) rotate(-1deg); } 60% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes msf-duke { 0% { transform: scale(1) translateY(0); } 30% { transform: scale(1.01) translateY(-2px); } 60% { transform: scale(0.99) translateY(1px); } 100% { transform: scale(1) translateY(0); } }
@keyframes msf-tile { 0% { background-position: 0 0; } 100% { background-position: 16px 0; } }
@keyframes msf-candle { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.04); } 100% { opacity:0.9; transform: scaleY(0.96); } }

.scn-tertsky-confirms-loss {
  background:
    linear-gradient(180deg, #2c2c3e 0%, #1a1a2e 50%, #0e0e1a 100%),
    radial-gradient(ellipse at 60% 40%, #adaaa8 0%, transparent 40%);
}
.scn-tertsky-confirms-loss .room-bg {
  position:absolute; inset:0; background: linear-gradient(135deg, #3a2a1a 0%, #1e1e1e 100%); opacity:0.7; animation: tcl-bg 12s ease-in-out infinite alternate;
}
.scn-tertsky-confirms-loss .window {
  position:absolute; top:10%; left:5%; width:30%; height:40%; border-radius:4px; background: radial-gradient(circle at 50% 50%, #c8b088 0%, #8a7a5a 60%, #1a1a1a 100%); box-shadow: inset 0 0 20px 10px rgba(200,176,136,0.3); animation: tcl-window 8s ease-in-out infinite alternate;
}
.scn-tertsky-confirms-loss .table {
  position:absolute; bottom:18%; left:30%; width:25%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 6px 6px 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.6); transform: perspective(400px) rotateX(10deg);
}
.scn-tertsky-confirms-loss .figure-left {
  position:absolute; bottom:32%; left:18%; width:12%; height:40%; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tcl-fig-l 5s ease-in-out infinite;
}
.scn-tertsky-confirms-loss .figure-right {
  position:absolute; bottom:34%; right:15%; width:10%; height:38%; background: linear-gradient(180deg, #2e1a1a 0%, #1a0e0e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tcl-fig-r 6s ease-in-out infinite;
}
.scn-tertsky-confirms-loss .figure-child {
  position:absolute; bottom:30%; left:38%; width:8%; height:28%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tcl-fig-c 4s ease-in-out infinite alternate;
}
.scn-tertsky-confirms-loss .candle {
  position:absolute; bottom:28%; left:38%; width:2%; height:6%; background: linear-gradient(180deg, #ffe0a0 0%, #b08040 100%); border-radius: 2px; box-shadow: 0 0 12px 6px #ffcc60; animation: tcl-candle 2s ease-in-out infinite alternate;
}
@keyframes tcl-bg { 0% { opacity:0.6 } 50% { opacity:0.75 } 100% { opacity:0.65 } }
@keyframes tcl-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes tcl-fig-l { 0% { transform: translateY(0) rotate(2deg) } 50% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(1px) rotate(1deg) } }
@keyframes tcl-fig-r { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(2px) rotate(1deg) } 100% { transform: translateY(-2px) rotate(0deg) } }
@keyframes tcl-fig-c { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(4px) rotate(0deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes tcl-candle { 0% { transform: scaleY(1); box-shadow: 0 0 8px 3px #ffcc60; } 50% { transform: scaleY(1.1); box-shadow: 0 0 14px 6px #ffcc60; } 100% { transform: scaleY(0.95); box-shadow: 0 0 10px 4px #ffcc60; } }

.scn-wallenstein-orders-carriage {
  background:
    linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 50%, #1a1a2a 100%),
    radial-gradient(ellipse at 30% 60%, #6a7a8a 0%, transparent 50%);
}
.scn-wallenstein-orders-carriage .courtyard-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 80%, #2a3a4a 100%); animation: woc-bg 15s linear infinite alternate;
}
.scn-wallenstein-orders-carriage .archway {
  position:absolute; bottom:0; left:20%; width:30%; height:80%; border-radius: 50% 50% 0 0 / 60% 60% 0 0; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); box-shadow: inset 0 0 30px 10px rgba(0,0,0,0.5); animation: woc-arch 10s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-carriage .soldier-1 {
  position:absolute; bottom:20%; left:25%; width:8%; height:35%; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: woc-sold1 4s ease-in-out infinite;
}
.scn-wallenstein-orders-carriage .soldier-2 {
  position:absolute; bottom:22%; right:30%; width:8%; height:33%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: woc-sold2 5s ease-in-out infinite reverse;
}
.scn-wallenstein-orders-carriage .officer {
  position:absolute; bottom:18%; left:38%; width:10%; height:40%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: woc-off 3s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-carriage .carriage {
  position:absolute; bottom:12%; left:10%; width:20%; height:18%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 80%), radial-gradient(circle at 20% 30%, #8a7a5a 0%, transparent 70%); border-radius: 20% 20% 10% 10%; box-shadow: 0 10px 20px rgba(0,0,0,0.7); transform: perspective(300px) rotateY(-5deg); animation: woc-car 6s ease-in-out infinite;
}
.scn-wallenstein-orders-carriage .dust {
  position:absolute; bottom:15%; left:10%; width:30%; height:10%; background: radial-gradient(ellipse at 50% 50%, rgba(200,180,160,0.3) 0%, transparent 70%); filter: blur(8px); animation: woc-dust 12s linear infinite;
}
@keyframes woc-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes woc-arch { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-5px) scaleY(1.02) } 100% { transform: translateY(2px) scaleY(0.98) } }
@keyframes woc-sold1 { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(6px) rotate(-2deg) } 75% { transform: translateX(-4px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes woc-sold2 { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-5px) rotate(1deg) } 75% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes woc-off { 0% { transform: translateY(0) rotate(2deg) } 50% { transform: translateY(-4px) rotate(-1deg) } 100% { transform: translateY(2px) rotate(1deg) } }
@keyframes woc-car { 0% { transform: translateX(-2px) rotate(-1deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(-1px) rotate(0deg) } }
@keyframes woc-dust { 0% { opacity:0.3; transform: scale(1) } 50% { opacity:0.6; transform: scale(1.2) } 100% { opacity:0.2; transform: scale(0.9) } }

.scn-wallenstein-rejoices-max-present {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #2a1a1a 50%, #1a0e0a 100%),
    radial-gradient(ellipse at 40% 60%, #c89a5a 0%, transparent 50%);
}
.scn-wallenstein-rejoices-max-present .chamber-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); opacity:0.8; animation: wrj-bg 20s ease-in-out infinite alternate;
}
.scn-wallenstein-rejoices-max-present .fireplace {
  position:absolute; bottom:0; left:35%; width:30%; height:50%; background: linear-gradient(180deg, #6a5a4a 0%, #2a1a10 100%); border-radius: 30% 30% 0 0 / 40% 40% 0 0; box-shadow: inset 0 0 40px 10px #c87a3a; animation: wrj-fire 8s ease-in-out infinite alternate;
}
.scn-wallenstein-rejoices-max-present .embrace-group {
  position:absolute; bottom:35%; left:50%; width:20%; height:30%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 60%, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wrj-emb 6s ease-in-out infinite;
}
.scn-wallenstein-rejoices-max-present .arm-1 {
  position:absolute; bottom:40%; left:45%; width:12%; height:8%; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 40% 40% 40% 40% / 60% 60% 40% 40%; transform-origin: right center; transform: rotate(-30deg); animation: wrj-arm1 4s ease-in-out infinite alternate;
}
.scn-wallenstein-rejoices-max-present .arm-2 {
  position:absolute; bottom:38%; right:45%; width:12%; height:8%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 40% 40% 40% 40% / 60% 60% 40% 40%; transform-origin: left center; transform: rotate(30deg); animation: wrj-arm2 4.5s ease-in-out infinite alternate;
}
.scn-wallenstein-rejoices-max-present .glow {
  position:absolute; bottom:20%; left:20%; width:60%; height:30%; background: radial-gradient(ellipse at 50% 50%, #ffd060 0%, #c08030 40%, transparent 70%); opacity:0.3; filter: blur(15px); animation: wrj-glow 3s ease-in-out infinite alternate;
}
@keyframes wrj-bg { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.75 } }
@keyframes wrj-fire { 0% { box-shadow: inset 0 0 30px 5px #c87a3a } 50% { box-shadow: inset 0 0 50px 15px #e89a4a } 100% { box-shadow: inset 0 0 40px 10px #c87a3a } }
@keyframes wrj-emb { 0% { transform: translateX(-50%) scale(0.98) } 50% { transform: translateX(-50%) scale(1.02) } 100% { transform: translateX(-50%) scale(0.99) } }
@keyframes wrj-arm1 { 0% { transform: rotate(-28deg) } 50% { transform: rotate(-32deg) } 100% { transform: rotate(-29deg) } }
@keyframes wrj-arm2 { 0% { transform: rotate(28deg) } 50% { transform: rotate(32deg) } 100% { transform: rotate(29deg) } }
@keyframes wrj-glow { 0% { opacity:0.25; transform: scale(0.9) } 50% { opacity:0.4; transform: scale(1.1) } 100% { opacity:0.3; transform: scale(0.95) } }

.scn-max-enters {
  background:
    linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%),
    radial-gradient(ellipse at 50% 100%, #5a6a7a 0%, transparent 60%);
}
.scn-max-enters .doorway {
  position:absolute; bottom:0; left:35%; width:30%; height:70%; border-radius: 30% 30% 0 0 / 40% 40% 0 0; background: linear-gradient(180deg, #1a2a3a 0%, #0e1a2a 100%); box-shadow: inset 0 0 40px 20px rgba(0,0,0,0.5); animation: me-door 12s ease-in-out infinite alternate;
}
.scn-max-enters .figure-max {
  position:absolute; bottom:20%; left:38%; width:10%; height:45%; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 10px 20px rgba(0,0,0,0.6); animation: me-fig 4s ease-in-out infinite;
}
.scn-max-enters .shadow-on-floor {
  position:absolute; bottom:12%; left:38%; width:14%; height:4%; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.5) 0%, transparent 70%); transform-origin: center center; animation: me-shadow 4s ease-in-out infinite alternate;
}
.scn-max-enters .wall-left {
  position:absolute; inset:0 70% 0 0; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-right: 4px solid #1a2a3a; animation: me-wall-l 8s ease-in-out infinite alternate;
}
.scn-max-enters .wall-right {
  position:absolute; inset:0 0 0 70%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-left: 4px solid #1a2a3a; animation: me-wall-r 8s ease-in-out infinite alternate;
}
.scn-max-enters .light-beam {
  position:absolute; top:10%; left:35%; width:30%; height:20%; background: linear-gradient(180deg, rgba(200,200,180,0.3) 0%, rgba(255,255,230,0.1) 100%); clip-path: polygon(20% 0%, 80% 0%, 60% 100%, 40% 100%); filter: blur(5px); opacity:0.5; animation: me-beam 6s ease-in-out infinite alternate;
}
@keyframes me-door { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.02) } 100% { transform: translateY(0) scaleY(0.98) } }
@keyframes me-fig { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) rotate(-2deg) } 75% { transform: translateX(-3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes me-shadow { 0% { transform: scaleX(0.9); opacity:0.5 } 50% { transform: scaleX(1.1); opacity:0.7 } 100% { transform: scaleX(1); opacity:0.6 } }
@keyframes me-wall-l { 0% { opacity:1 } 50% { opacity:0.85 } 100% { opacity:0.95 } }
@keyframes me-wall-r { 0% { opacity:0.95 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes me-beam { 0% { opacity:0.3; transform: scaleY(1) } 50% { opacity:0.6; transform: scaleY(1.2) } 100% { opacity:0.4; transform: scaleY(0.9) } }

/* moon-sickle-note */

.scn-moon-sickle-note {
  background: linear-gradient(135deg, #f5e6c8 0%, #e8d5b0 50%, #d4c095 100%),
              radial-gradient(circle at 70% 30%, #fff9e6 0%, transparent 60%);
}
.scn-moon-sickle-note .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d9cba3 0%, #b8a880 100%);
  animation: mns-wall 12s ease-in-out infinite alternate;
}
.scn-moon-sickle-note .window-frame {
  position: absolute; top: 8%; left: 55%; width: 35%; height: 45%;
  background: linear-gradient(135deg, #7a6b4f 0%, #5a4b33 100%);
  border-radius: 4% 4% 6% 6% / 8% 8% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: mns-frame 8s ease-in-out infinite;
}
.scn-moon-sickle-note .moon-sickle {
  position: absolute; top: 18%; left: 68%; width: 12px; height: 16px;
  background: radial-gradient(ellipse at 30% 50%, #f0f8ff 0%, #b0d4f0 70%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 18px 6px rgba(176,212,240,0.4);
  transform: rotate(-15deg);
  animation: mns-sickle 10s ease-in-out infinite alternate;
}
.scn-moon-sickle-note .desk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8a7650 0%, #6a5a3a 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.3);
}
.scn-moon-sickle-note .paper {
  position: absolute; bottom: 22%; left: 20%; width: 40%; height: 18%;
  background: linear-gradient(135deg, #fcf5e0 0%, #f0e3c0 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  transform: rotate(1deg);
  animation: mns-paper 6s ease-in-out infinite;
}
.scn-moon-sickle-note .candle {
  position: absolute; bottom: 30%; left: 15%; width: 8px; height: 26px;
  background: linear-gradient(180deg, #f0e6d0 0%, #d4c4a0 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}
.scn-moon-sickle-note .flame {
  position: absolute; bottom: 57%; left: 15%; width: 10px; height: 14px;
  background: radial-gradient(ellipse at 50% 60%, #fff5d0 0%, #ffb84d 60%, #ff8c00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 0 20px 6px #ffb84d, 0 0 40px 12px rgba(255,184,77,0.3);
  animation: mns-flame 1.5s ease-in-out infinite alternate;
}
.scn-moon-sickle-note .inkwell {
  position: absolute; bottom: 28%; left: 12%; width: 12px; height: 14px;
  background: radial-gradient(ellipse at 50% 30%, #2b1e10 0%, #0d0805 100%);
  border-radius: 30% 30% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: mns-ink 7s ease-in-out infinite;
}
.scn-moon-sickle-note .glow {
  position: absolute; bottom: 30%; left: 10%; width: 40px; height: 40px;
  background: radial-gradient(ellipse, rgba(255,184,77,0.25) 0%, transparent 70%);
  border-radius: 50%;
  animation: mns-glow 3s ease-in-out infinite alternate;
}
@keyframes mns-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes mns-frame { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes mns-sickle { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-1px) } 100% { transform: rotate(-18deg) translateY(1px) } }
@keyframes mns-paper { 0%,100% { transform: rotate(1deg) scale(1) } 50% { transform: rotate(0.5deg) scale(1.005) } }
@keyframes mns-flame { 0% { transform: scaleY(1) scaleX(0.9) } 50% { transform: scaleY(1.1) scaleX(1) } 100% { transform: scaleY(0.95) scaleX(0.85) } }
@keyframes mns-ink { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes mns-glow { 0% { opacity: 0.3; transform: scale(0.9) } 100% { opacity: 0.6; transform: scale(1.1) } }

/* translation-notes */

.scn-translation-notes {
  background: linear-gradient(180deg, #fdf6e3 0%, #ede0c8 50%, #d8cbad 100%),
              radial-gradient(ellipse at 35% 20%, #fffbe8 0%, transparent 50%);
}
.scn-translation-notes .book {
  position: absolute; bottom: 15%; left: 25%; width: 40%; height: 40%;
  background: linear-gradient(135deg, #8b7355 0%, #6b553a 100%);
  border-radius: 4% 4% 6% 6% / 8% 8% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  transform: perspective(600px) rotateX(5deg);
  animation: trn-book 10s ease-in-out infinite alternate;
}
.scn-translation-notes .papers {
  position: absolute; bottom: 20%; left: 30%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #f5edd6 0%, #e8dbbf 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transform: rotate(2deg);
  animation: trn-papers 8s ease-in-out infinite;
}
.scn-translation-notes .lamp-base {
  position: absolute; bottom: 10%; left: 12%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #b8a080 0%, #7a6040 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}
.scn-translation-notes .lamp-shade {
  position: absolute; bottom: 30%; left: 8%; width: 30px; height: 22px;
  background: linear-gradient(180deg, #ffd699 0%, #e6b877 80%);
  clip-path: polygon(0% 100%, 30% 0%, 70% 0%, 100% 100%);
  box-shadow: 0 0 20px 8px rgba(255,214,153,0.3);
  animation: trn-lamp 4s ease-in-out infinite alternate;
}
.scn-translation-notes .quill {
  position: absolute; bottom: 28%; left: 22%; width: 4px; height: 30px;
  background: linear-gradient(180deg, #f2e8d0 0%, #c8b896 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: rotate(-20deg);
  animation: trn-quill 5s ease-in-out infinite;
}
.scn-translation-notes .ink-drop {
  position: absolute; bottom: 26%; left: 23%; width: 4px; height: 4px;
  background: #1a0f08;
  border-radius: 50%;
  animation: trn-drop 4s ease-in-out infinite;
}
.scn-translation-notes .desk-plane {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #8b7a5a 0%, #5a4a30 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
}
.scn-translation-notes .shadow-page {
  position: absolute; bottom: 22%; left: 33%; width: 20%; height: 10%;
  background: linear-gradient(135deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.1) 100%);
  border-radius: 4%;
  animation: trn-shadow 6s ease-in-out infinite alternate;
}
@keyframes trn-book { 0% { transform: perspective(600px) rotateX(5deg) translateY(0) } 50% { transform: perspective(600px) rotateX(6deg) translateY(-1px) } 100% { transform: perspective(600px) rotateX(4deg) translateY(0) } }
@keyframes trn-papers { 0%,100% { transform: rotate(2deg) scale(1) } 50% { transform: rotate(1deg) scale(1.01) } }
@keyframes trn-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(255,214,153,0.2) } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(255,214,153,0.4) } 100% { opacity: 0.9; box-shadow: 0 0 20px 6px rgba(255,214,153,0.3) } }
@keyframes trn-quill { 0% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-18deg) translateY(-2px) } 100% { transform: rotate(-21deg) translateY(0) } }
@keyframes trn-drop { 0%,100% { opacity: 0; transform: scale(0) } 50% { opacity: 0.8; transform: scale(1) } }
@keyframes trn-shadow { 0% { opacity: 0.1 } 50% { opacity: 0.2 } 100% { opacity: 0.15 } }

/* wallenstein-resolve */

.scn-wallenstein-resolve {
  background: linear-gradient(180deg, #2a1a0e 0%, #4a2a18 40%, #3a1a0a 100%),
              radial-gradient(ellipse at 50% 60%, #b85a2e 0%, transparent 70%);
}
.scn-wallenstein-resolve .room-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1008 0%, #2a1a0e 60%, #0d0805 100%);
  animation: wlr-room 20s ease-in-out infinite alternate;
}
.scn-wallenstein-resolve .table {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 35%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0e 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: wlr-table 6s ease-in-out infinite;
}
.scn-wallenstein-resolve .candle {
  position: absolute; bottom: 28%; left: 45%; width: 10px; height: 32px;
  background: linear-gradient(180deg, #f0d0a0 0%, #b08050 100%);
  border-radius: 15% 15% 10% 10%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
  animation: wlr-candle 8s ease-in-out infinite;
}
.scn-wallenstein-resolve .flame {
  position: absolute; bottom: 61%; left: 45%; width: 14px; height: 18px;
  background: radial-gradient(ellipse at 50% 60%, #ffebc0 0%, #ff9a30 50%, #c05010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 0 24px 8px #ff9a30, 0 0 48px 16px rgba(255,154,48,0.3);
  animation: wlr-flame 1.8s ease-in-out infinite alternate;
}
.scn-wallenstein-resolve .goblet {
  position: absolute; bottom: 18%; left: 55%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #8a7050 0%, #5a4020 100%);
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: wlr-goblet 5s ease-in-out infinite;
}
.scn-wallenstein-resolve .figure-silhouette {
  position: absolute; bottom: 10%; left: 30%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #0d0805 0%, #050302 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.5);
  animation: wlr-figure 4s ease-in-out infinite;
}
.scn-wallenstein-resolve .shadow-arm {
  position: absolute; bottom: 22%; left: 34%; width: 24px; height: 6px;
  background: rgba(0,0,0,0.4);
  border-radius: 40% 40% 30% 30%;
  transform: rotate(-10deg);
  animation: wlr-arm 6s ease-in-out infinite alternate;
}
.scn-wallenstein-resolve .light-pool {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,154,48,0.2) 0%, transparent 70%);
  animation: wlr-pool 3s ease-in-out infinite alternate;
}
@keyframes wlr-room { 0% { opacity: 0.7 } 50% { opacity: 0.85 } 100% { opacity: 0.75 } }
@keyframes wlr-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes wlr-candle { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } }
@keyframes wlr-flame { 0% { transform: scaleY(1) scaleX(0.85) } 50% { transform: scaleY(1.15) scaleX(1) } 100% { transform: scaleY(0.9) scaleX(0.8) } }
@keyframes wlr-goblet { 0%,100% { transform: rotate(0) } 50% { transform: rotate(2deg) } }
@keyframes wlr-figure { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes wlr-arm { 0% { transform: rotate(-10deg) translateX(0) } 100% { transform: rotate(-8deg) translateX(2px) } }
@keyframes wlr-pool { 0% { opacity: 0.2; transform: scale(0.95) } 100% { opacity: 0.35; transform: scale(1.05) } }

/* wallenstein-brave-face */

.scn-wallenstein-brave-face {
  background: linear-gradient(180deg, #1a0a08 0%, #2a1810 40%, #3a2018 100%),
              radial-gradient(ellipse at 70% 60%, #b85a2e 0%, transparent 60%);
}
.scn-wallenstein-brave-face .wall-dark {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a0e0a 0%, #2a1810 60%, #0d0605 100%);
  animation: wbf-wall 15s ease-in-out infinite alternate;
}
.scn-wallenstein-brave-face .window {
  position: absolute; top: 10%; left: 60%; width: 25%; height: 35%;
  background: linear-gradient(135deg, #2a1a12 0%, #1a0e0a 100%);
  border-radius: 6% 6% 8% 8% / 10% 10% 12% 12%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
  animation: wbf-window 8s ease-in-out infinite;
}
.scn-wallenstein-brave-face .street-lamp {
  position: absolute; top: 20%; left: 72%; width: 8px; height: 18px;
  background: #5a4a30;
  border-radius: 20% 20% 30% 30%;
  box-shadow: 0 0 12px 4px rgba(255,184,77,0.3);
}
.scn-wallenstein-brave-face .lamp-glow {
  position: absolute; top: 18%; left: 68%; width: 24px; height: 30px;
  background: radial-gradient(ellipse, rgba(255,184,77,0.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: wbf-glow 3s ease-in-out infinite alternate;
}
.scn-wallenstein-brave-face .figure-gordon {
  position: absolute; bottom: 18%; left: 20%; width: 16px; height: 36px;
  background: linear-gradient(180deg, #1a0e0a 0%, #0d0605 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: wbf-gordon 5s ease-in-out infinite;
}
.scn-wallenstein-brave-face .figure-wallenstein {
  position: absolute; bottom: 18%; left: 40%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #2a1810 0%, #0d0605 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.4);
  animation: wbf-wallstein 6s ease-in-out infinite;
}
.scn-wallenstein-brave-face .cloak {
  position: absolute; bottom: 18%; left: 42%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #3a2018 0%, #1a0e0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(10deg);
  animation: wbf-cloak 4s ease-in-out infinite alternate;
}
.scn-wallenstein-brave-face .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e0a 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: wbf-floor 10s ease-in-out infinite;
}
@keyframes wbf-wall { 0% { opacity: 0.7 } 50% { opacity: 0.8 } 100% { opacity: 0.75 } }
@keyframes wbf-window { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes wbf-glow { 0% { opacity: 0.2; transform: scale(0.9) } 100% { opacity: 0.4; transform: scale(1.1) } }
@keyframes wbf-gordon { 0% { transform: scaleX(-1) translateY(0) rotate(0) } 25% { transform: scaleX(-1) translateY(-1px) rotate(1deg) } 50% { transform: scaleX(-1) translateY(0) rotate(0) } 75% { transform: scaleX(-1) translateY(-1px) rotate(-1deg) } 100% { transform: scaleX(-1) translateY(0) rotate(0) } }
@keyframes wbf-wallstein { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-1px) rotate(0.5deg) } 60% { transform: translateY(0) rotate(0) } 100% { transform: translateY(-1px) rotate(-0.5deg) } }
@keyframes wbf-cloak { 0% { transform: rotate(10deg) scaleX(1) } 100% { transform: rotate(12deg) scaleX(1.05) } }
@keyframes wbf-floor { 0%,100% { opacity: 0.9 } 50% { opacity: 1 } }

.scn-countess-reports-collapse {
  background:
    radial-gradient(ellipse 80% 70% at 50% 30%, rgba(140,100,70,0.15) 0%, transparent 60%),
    linear-gradient(180deg, #2a2018 0%, #1a1410 40%, #0f0c0a 100%);
}
.scn-countess-reports-collapse .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(0deg, #3a2a1e 0%, #2a1e14 40%, #1a120c 100%); border-radius: 0 0 30% 30% / 0 0 20% 20%; }
.scn-countess-reports-collapse .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1610 0%, #0e0a08 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,0.6); }
.scn-countess-reports-collapse .window-glow { position:absolute; top:12%; left:40%; width:20%; height:35%; background: radial-gradient(ellipse at 50% 30%, rgba(200,160,120,0.3) 0%, transparent 70%); border-radius: 10% 10% 40% 40% / 20% 20% 30% 30%; animation: crc-glow 6s ease-in-out infinite alternate; }
.scn-countess-reports-collapse .drapes { position:absolute; top:5%; width:12%; height:65%; background: linear-gradient(180deg, #4a3520 0%, #2a1e0e 100%); border-radius: 0 0 40% 40% / 0 0 20% 20%; }
.scn-countess-reports-collapse .left { left:18%; }
.scn-countess-reports-collapse .right { right:18%; }
.scn-countess-reports-collapse .table { position:absolute; bottom:20%; left:35%; width:30%; height:8%; background: linear-gradient(180deg, #4a3420 0%, #2a1c0e 100%); border-radius: 10% 10% 40% 40% / 30% 30% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-countess-reports-collapse .figure-standing { position:absolute; bottom:25%; left:55%; width:10%; height:35%; background: linear-gradient(135deg, #1e1410 0%, #0c0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: crc-standing 4s ease-in-out infinite; }
.scn-countess-reports-collapse .figure-collapsed { position:absolute; bottom:10%; left:38%; width:14%; height:20%; background: linear-gradient(180deg, #1a0e0a 0%, #0a0604 100%); border-radius: 60% 60% 40% 40% / 50% 50% 30% 30%; animation: crc-collapsed 5s ease-in-out infinite; }
.scn-countess-reports-collapse .candle { position:absolute; bottom:27%; left:45%; width:1.5%; height:10%; background: linear-gradient(180deg, #b08050 0%, #6a4020 100%); border-radius: 20% 20% 10% 10%; transform: rotate(2deg); animation: crc-candle 3s ease-in-out infinite alternate; }
@keyframes crc-glow { 0% { opacity:0.5; filter:blur(8px); } 50% { opacity:0.9; filter:blur(4px); } 100% { opacity:0.6; filter:blur(6px); } }
@keyframes crc-standing { 0% { transform:translateX(0) rotate(0deg) scaleY(1); } 25% { transform:translateX(-2px) rotate(-1deg) scaleY(1.02); } 50% { transform:translateX(0) rotate(1deg) scaleY(0.98); } 75% { transform:translateX(2px) rotate(-0.5deg) scaleY(1.01); } 100% { transform:translateX(0) rotate(0deg) scaleY(1); } }
@keyframes crc-collapsed { 0% { transform:scale(1,1) translateY(0); } 50% { transform:scale(1.03,0.97) translateY(-1px); } 100% { transform:scale(1,1) translateY(0); } }
@keyframes crc-candle { 0% { transform:rotate(0deg) scaleY(0.9); opacity:0.7; } 50% { transform:rotate(2deg) scaleY(1); opacity:1; } 100% { transform:rotate(-1deg) scaleY(0.95); opacity:0.8; } }

.scn-thekla-asks-for-courier {
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(180,120,80,0.12) 0%, transparent 60%),
    linear-gradient(180deg, #1e1814 0%, #12100e 40%, #0a0808 100%);
}
.scn-thekla-asks-for-courier .wall-bg { position:absolute; inset:0 0 25% 0; background: linear-gradient(0deg, #3a2a1e 0%, #2a1e14 50%, #1a120c 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; }
.scn-thekla-asks-for-courier .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a1410 0%, #0c0a08 100%); }
.scn-thekla-asks-for-courier .door-closed { position:absolute; bottom:12%; left:25%; width:15%; height:55%; background: linear-gradient(180deg, #4a3420 0%, #2a1c0e 100%); border-radius: 5% 5% 10% 10% / 8% 8% 12% 12%; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); }
.scn-thekla-asks-for-courier .figure-thekla { position:absolute; bottom:18%; left:60%; width:12%; height:40%; background: linear-gradient(135deg, #1e1410 0%, #0c0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: taf-thekla 6s ease-in-out infinite; }
.scn-thekla-asks-for-courier .shadow-messenger { position:absolute; bottom:18%; left:42%; width:10%; height:30%; background: rgba(0,0,0,0.4); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; filter:blur(4px); animation: taf-shadow 8s ease-in-out infinite alternate; }
.scn-thekla-asks-for-courier .candle-flame { position:absolute; bottom:30%; left:35%; width:2%; height:6%; background: radial-gradient(circle, #ffd080 0%, #b08040 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 16px 6px rgba(200,140,60,0.4); animation: taf-flame 2s ease-in-out infinite alternate; }
@keyframes taf-thekla { 0% { transform:translateX(0) rotate(0deg); } 30% { transform:translateX(-3px) rotate(-1deg); } 60% { transform:translateX(0) rotate(1deg); } 100% { transform:translateX(2px) rotate(0deg); } }
@keyframes taf-shadow { 0% { opacity:0.3; transform:scale(1); } 50% { opacity:0.6; transform:scale(1.05); } 100% { opacity:0.4; transform:scale(0.95); } }
@keyframes taf-flame { 0% { transform:scaleY(0.8) rotate(-2deg); opacity:0.7; } 50% { transform:scaleY(1.1) rotate(2deg); opacity:1; } 100% { transform:scaleY(0.9) rotate(0deg); opacity:0.8; } }

.scn-thekla-demands-to-see-courier {
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(200,130,70,0.18) 0%, transparent 60%),
    linear-gradient(180deg, #2a1e18 0%, #18120e 50%, #0c0a08 100%);
}
.scn-thekla-demands-to-see-courier .wall-bg { position:absolute; inset:0 0 20% 0; background: linear-gradient(0deg, #3a2a1e 0%, #2a1e14 50%, #1a120c 100%); border-radius: 0 0 30% 30% / 0 0 15% 15%; }
.scn-thekla-demands-to-see-courier .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #1a1410 0%, #0c0a08 100%); }
.scn-thekla-demands-to-see-courier .door-ajar { position:absolute; bottom:10%; left:30%; width:14%; height:60%; background: linear-gradient(180deg, #4a3420 0%, #2a1c0e 100%); border-radius: 5% 5% 10% 10% / 8% 8% 12% 12%; transform: perspective(200px) rotateY(-15deg); box-shadow: inset 0 0 20px rgba(0,0,0,0.5); animation: tdc-door 8s ease-in-out infinite alternate; }
.scn-thekla-demands-to-see-courier .figure-demand { position:absolute; bottom:15%; left:55%; width:12%; height:45%; background: linear-gradient(135deg, #1e1410 0%, #0c0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform: rotate(5deg); transform-origin: bottom center; animation: tdc-demand 3s ease-in-out infinite; }
.scn-thekla-demands-to-see-courier .shadow { position:absolute; bottom:15%; left:60%; width:8%; height:40%; background: rgba(0,0,0,0.5); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; filter:blur(6px); animation: tdc-shadow 5s ease-in-out infinite alternate; }
.scn-thekla-demands-to-see-courier .candle-flare { position:absolute; bottom:28%; left:40%; width:2.5%; height:8%; background: radial-gradient(circle, #ffd080 0%, #b08040 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 24px 10px rgba(200,140,60,0.5); animation: tdc-flare 1.5s ease-in-out infinite alternate; }
.scn-thekla-demands-to-see-courier .spark { position:absolute; bottom:30%; left:38%; width:1%; height:1%; background: #ffd080; border-radius: 50%; box-shadow: 0 0 6px 2px #ffd080; animation: tdc-spark 2s ease-in-out infinite; }
@keyframes tdc-door { 0% { transform: perspective(200px) rotateY(-15deg); } 50% { transform: perspective(200px) rotateY(-10deg); } 100% { transform: perspective(200px) rotateY(-18deg); } }
@keyframes tdc-demand { 0% { transform:rotate(5deg) translateX(0); } 25% { transform:rotate(3deg) translateX(-4px); } 50% { transform:rotate(6deg) translateX(2px); } 75% { transform:rotate(4deg) translateX(-2px); } 100% { transform:rotate(5deg) translateX(0); } }
@keyframes tdc-shadow { 0% { opacity:0.4; transform:scale(1) translateX(0); } 50% { opacity:0.7; transform:scale(1.1) translateX(3px); } 100% { opacity:0.5; transform:scale(0.9) translateX(-2px); } }
@keyframes tdc-flare { 0% { transform:scaleY(0.8) rotate(3deg); opacity:0.8; filter:blur(0px); } 50% { transform:scaleY(1.2) rotate(-2deg); opacity:1; filter:blur(2px); } 100% { transform:scaleY(0.9) rotate(1deg); opacity:0.9; filter:blur(1px); } }
@keyframes tdc-spark { 0%,100% { opacity:0; transform:translate(0,0) scale(0.5); } 50% { opacity:1; transform:translate(4px,-8px) scale(1.2); } }

.scn-wallenstein-grants-request {
  background:
    radial-gradient(ellipse 50% 40% at 50% 60%, rgba(180,130,90,0.1) 0%, transparent 60%),
    linear-gradient(180deg, #1e1a14 0%, #141210 50%, #0a0a08 100%);
}
.scn-wallenstein-grants-request .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(0deg, #3a2e22 0%, #2a2018 40%, #1a1410 100%); border-radius: 0 0 25% 25% / 0 0 15% 15%; }
.scn-wallenstein-grants-request .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a1612 0%, #0c0a08 100%); }
.scn-wallenstein-grants-request .throne { position:absolute; bottom:18%; left:30%; width:18%; height:50%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,0.5); animation: wgr-throne 10s ease-in-out infinite alternate; }
.scn-wallenstein-grants-request .figure-grantor { position:absolute; bottom:20%; left:32%; width:12%; height:35%; background: linear-gradient(135deg, #1e1410 0%, #0c0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wgr-grantor 5s ease-in-out infinite; }
.scn-wallenstein-grants-request .figure-grantee { position:absolute; bottom:18%; left:55%; width:10%; height:30%; background: linear-gradient(135deg, #1a1210 0%, #080604 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: wgr-grantee 7s ease-in-out infinite; }
.scn-wallenstein-grants-request .table-in { position:absolute; bottom:20%; left:45%; width:20%; height:6%; background: linear-gradient(180deg, #4a3420 0%, #2a1c0e 100%); border-radius: 10% 10% 30% 30% / 40% 40% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: wgr-table 9s ease-in-out infinite alternate; }
.scn-wallenstein-grants-request .candle-steady { position:absolute; bottom:28%; left:46%; width:1.5%; height:8%; background: linear-gradient(180deg, #b08050 0%, #6a4020 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 12px 4px rgba(200,140,60,0.3); animation: wgr-candle 4s ease-in-out infinite alternate; }
@keyframes wgr-throne { 0% { transform:scale(1,1) translateY(0); } 50% { transform:scale(1.02,0.98) translateY(-1px); } 100% { transform:scale(0.98,1.02) translateY(1px); } }
@keyframes wgr-grantor { 0% { transform:translateX(0) rotate(0deg); } 30% { transform:translateX(-2px) rotate(-0.5deg); } 60% { transform:translateX(1px) rotate(0.5deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes wgr-grantee { 0% { transform:translateY(0) rotate(0deg); } 25% { transform:translateY(-1px) rotate(-1deg); } 50% { transform:translateY(0) rotate(0deg); } 75% { transform:translateY(-1px) rotate(1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes wgr-table { 0% { transform:scaleX(1) scaleY(1); } 50% { transform:scaleX(1.03) scaleY(0.97); } 100% { transform:scaleX(0.98) scaleY(1.02); } }
@keyframes wgr-candle { 0% { transform:rotate(0deg) scaleY(0.95); opacity:0.85; } 50% { transform:rotate(1deg) scaleY(1.05); opacity:1; } 100% { transform:rotate(-1deg) scaleY(0.98); opacity:0.9; } }

.scn-isolani-comes-to-octavio {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 40%, #120a08 100%),
              radial-gradient(ellipse at 40% 60%, #4a3020 0%, transparent 60%);
}
.scn-isolani-comes-to-octavio .wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #3a2a1e 0%, #1e1410 100%); }
.scn-isolani-comes-to-octavio .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1a12 0%, #0e0806 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,0.6); }
.scn-isolani-comes-to-octavio .window { position: absolute; top: 15%; right: 10%; width: 50px; height: 70px; background: radial-gradient(circle at 50% 40%, #604830 0%, #2a1a10 70%); border-radius: 4px; box-shadow: inset 0 0 20px #1a0e0a; animation: sio1-win 6s ease-in-out infinite; }
.scn-isolani-comes-to-octavio .candle { position: absolute; bottom: 35%; left: 40%; width: 8px; height: 20px; background: #6a4a30; border-radius: 2px; box-shadow: 0 0 18px 6px #d08040; animation: sio1-candle 2s ease-in-out infinite alternate; }
.scn-isolani-comes-to-octavio .table { position: absolute; bottom: 30%; left: 30%; width: 80px; height: 10px; background: linear-gradient(90deg, #3a2a1a, #2a1a0e); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-isolani-comes-to-octavio .figure-octavio { position: absolute; bottom: 30%; left: 25%; width: 20px; height: 50px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio1-oct 8s ease-in-out infinite; }
.scn-isolani-comes-to-octavio .figure-isolani-enter { position: absolute; bottom: 30%; left: 60%; width: 22px; height: 52px; background: linear-gradient(180deg, #1e1612 0%, #0c0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio1-iso 4s ease-in-out infinite; }
.scn-isolani-comes-to-octavio .doorway { position: absolute; bottom: 30%; left: 65%; width: 40px; height: 70px; background: #0e0806; border-radius: 0 0 4px 4px; box-shadow: inset 0 0 20px #000; animation: sio1-door 12s ease-in-out infinite alternate; }
@keyframes sio1-win { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes sio1-candle { 0% { transform: scaleY(1) scaleX(1); box-shadow: 0 0 12px 4px #c07030; } 50% { transform: scaleY(1.05) scaleX(0.95); box-shadow: 0 0 20px 8px #e08040; } 100% { transform: scaleY(0.98) scaleX(1.02); box-shadow: 0 0 14px 5px #c07030; } }
@keyframes sio1-oct { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sio1-iso { 0% { transform: translateX(0) translateY(0) rotate(-3deg); } 25% { transform: translateX(8px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(0deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(32px) translateY(0) rotate(0deg); } }
@keyframes sio1-door { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.7 } }

.scn-isolani-pledges-fidelity {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 40%, #120a08 100%),
              radial-gradient(ellipse at 50% 60%, #3a2218 0%, transparent 70%);
}
.scn-isolani-pledges-fidelity .wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #3a2a1e 0%, #1e1410 100%); }
.scn-isolani-pledges-fidelity .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1a12 0%, #0e0806 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,0.6); }
.scn-isolani-pledges-fidelity .candle-pledge { position: absolute; bottom: 35%; left: 45%; width: 8px; height: 20px; background: #6a4a30; border-radius: 2px; box-shadow: 0 0 18px 6px #d08040; animation: sio2-candle 2s ease-in-out infinite alternate; }
.scn-isolani-pledges-fidelity .table-pledge { position: absolute; bottom: 30%; left: 35%; width: 60px; height: 8px; background: linear-gradient(90deg, #3a2a1a, #2a1a0e); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-isolani-pledges-fidelity .figure-octavio-pledge { position: absolute; bottom: 30%; left: 30%; width: 20px; height: 50px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio2-oct 6s ease-in-out infinite; }
.scn-isolani-pledges-fidelity .figure-isolani-pledge { position: absolute; bottom: 30%; left: 55%; width: 22px; height: 52px; background: linear-gradient(180deg, #1e1612 0%, #0c0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio2-iso 5s ease-in-out infinite; }
.scn-isolani-pledges-fidelity .document { position: absolute; bottom: 38%; left: 42%; width: 14px; height: 18px; background: linear-gradient(135deg, #d0b080 0%, #a08050 100%); border-radius: 1px; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: sio2-doc 8s ease-in-out infinite; }
.scn-isolani-pledges-fidelity .glow-pledge { position: absolute; bottom: 35%; left: 40%; width: 30px; height: 30px; background: radial-gradient(circle, rgba(200,120,40,0.3) 0%, transparent 70%); border-radius: 50%; animation: sio2-glow 3s ease-in-out infinite alternate; }
@keyframes sio2-candle { 0% { transform: scaleY(1) scaleX(1); box-shadow: 0 0 12px 4px #c07030; } 50% { transform: scaleY(1.05) scaleX(0.95); box-shadow: 0 0 20px 8px #e08040; } 100% { transform: scaleY(0.98) scaleX(1.02); box-shadow: 0 0 14px 5px #c07030; } }
@keyframes sio2-oct { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes sio2-iso { 0% { transform: translateY(0) translateX(0) rotate(0deg); } 33% { transform: translateY(-3px) translateX(2px) rotate(5deg); } 66% { transform: translateY(0) translateX(-1px) rotate(-2deg); } 100% { transform: translateY(0) translateX(0) rotate(0deg); } }
@keyframes sio2-doc { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-12deg) translateY(0); } }
@keyframes sio2-glow { 0% { opacity:0.5; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.3); } 100% { opacity:0.5; transform:scale(1); } }

.scn-octavio-rejoiced-hear {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1e12 40%, #1a0e08 100%),
              radial-gradient(ellipse at 50% 60%, #6a4020 0%, transparent 70%);
}
.scn-octavio-rejoiced-hear .wall-warm { position: absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #4a3220 0%, #2a1a10 100%); }
.scn-octavio-rejoiced-hear .floor-warm { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,0.5); }
.scn-octavio-rejoiced-hear .fireplace { position: absolute; bottom: 30%; left: 50%; width: 80px; height: 60px; transform: translateX(-50%); background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%); border-radius: 8px 8px 0 0; box-shadow: inset 0 -8px 20px #0a0604; }
.scn-octavio-rejoiced-hear .fire { position: absolute; bottom: 30%; left: 50%; width: 40px; height: 40px; transform: translateX(-50%); background: radial-gradient(circle at 50% 80%, #e0a040 0%, #c07020 40%, #8a4010 70%, transparent 100%); border-radius: 50% 50% 20% 20%; animation: sio3-fire 3s ease-in-out infinite alternate; }
.scn-octavio-rejoiced-hear .chair-octavio { position: absolute; bottom: 30%; left: 25%; width: 30px; height: 40px; background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%); border-radius: 4px 4px 0 0; transform: rotate(-5deg); }
.scn-octavio-rejoiced-hear .chair-isolani { position: absolute; bottom: 30%; left: 60%; width: 30px; height: 40px; background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%); border-radius: 4px 4px 0 0; transform: rotate(5deg); }
.scn-octavio-rejoiced-hear .figure-octavio-seated { position: absolute; bottom: 30%; left: 28%; width: 20px; height: 40px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio3-oct 8s ease-in-out infinite; }
.scn-octavio-rejoiced-hear .figure-isolani-seated { position: absolute; bottom: 30%; left: 63%; width: 20px; height: 40px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio3-iso 8s ease-in-out infinite; }
.scn-octavio-rejoiced-hear .warm-glow { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, rgba(200,100,30,0.15) 0%, transparent 70%); pointer-events: none; animation: sio3-glow 4s ease-in-out infinite alternate; }
@keyframes sio3-fire { 0% { transform: translateX(-50%) scaleY(1) scaleX(1); opacity:0.8; } 50% { transform: translateX(-50%) scaleY(1.1) scaleX(0.95); opacity:1; } 100% { transform: translateX(-50%) scaleY(0.95) scaleX(1.05); opacity:0.9; } }
@keyframes sio3-oct { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sio3-iso { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sio3-glow { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

.scn-isolani-what-means-this {
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 40%, #120a08 100%),
              radial-gradient(ellipse at 50% 60%, #4a2a18 0%, transparent 70%);
}
.scn-isolani-what-means-this .wall-4 { position: absolute; inset: 0 0 30% 0; background: linear-gradient(135deg, #3a2a1e 0%, #1e1410 100%); }
.scn-isolani-what-means-this .floor-4 { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1a12 0%, #0e0806 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,0.6); }
.scn-isolani-what-means-this .candle-4 { position: absolute; bottom: 35%; left: 50%; width: 8px; height: 20px; background: #6a4a30; border-radius: 2px; box-shadow: 0 0 18px 6px #d08040; animation: sio4-candle 2s ease-in-out infinite alternate; }
.scn-isolani-what-means-this .table-4 { position: absolute; bottom: 30%; left: 35%; width: 70px; height: 8px; background: linear-gradient(90deg, #3a2a1a, #2a1a0e); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); }
.scn-isolani-what-means-this .chair-tipped { position: absolute; bottom: 28%; left: 60%; width: 25px; height: 35px; background: linear-gradient(180deg, #4a3220 0%, #2a1a0e 100%); border-radius: 4px 4px 0 0; transform: rotate(-40deg); transform-origin: bottom center; animation: sio4-chair 1.5s ease-in-out infinite; }
.scn-isolani-what-means-this .goblet-spilled { position: absolute; bottom: 30%; left: 45%; width: 10px; height: 14px; background: linear-gradient(180deg, #a08050 0%, #705030 100%); border-radius: 0 0 4px 4px; transform: rotate(60deg); transform-origin: bottom left; animation: sio4-goblet 2s ease-in-out infinite; }
.scn-isolani-what-means-this .figure-isolani-standing { position: absolute; bottom: 30%; left: 55%; width: 22px; height: 52px; background: linear-gradient(180deg, #1e1612 0%, #0c0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio4-iso 4s ease-in-out infinite; }
.scn-isolani-what-means-this .figure-octavio-seated-4 { position: absolute; bottom: 30%; left: 25%; width: 20px; height: 45px; background: linear-gradient(180deg, #1a1210 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sio4-oct 6s ease-in-out infinite; }
.scn-isolani-what-means-this .shadow-4 { position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%); pointer-events: none; animation: sio4-shadow 8s ease-in-out infinite alternate; }
@keyframes sio4-candle { 0% { transform: scaleY(1) scaleX(1); box-shadow: 0 0 12px 4px #c07030; } 50% { transform: scaleY(1.05) scaleX(0.95); box-shadow: 0 0 20px 8px #e08040; } 100% { transform: scaleY(0.98) scaleX(1.02); box-shadow: 0 0 14px 5px #c07030; } }
@keyframes sio4-chair { 0% { transform: rotate(-40deg) translateY(0); } 50% { transform: rotate(-45deg) translateY(-2px); } 100% { transform: rotate(-40deg) translateY(0); } }
@keyframes sio4-goblet { 0% { transform: rotate(60deg) translateY(0); } 50% { transform: rotate(70deg) translateY(-1px); } 100% { transform: rotate(60deg) translateY(0); } }
@keyframes sio4-iso { 0% { transform: translateY(0) translateX(0) rotate(0deg); } 25% { transform: translateY(-3px) translateX(4px) rotate(3deg); } 50% { transform: translateY(1px) translateX(8px) rotate(-2deg); } 75% { transform: translateY(-2px) translateX(12px) rotate(1deg); } 100% { transform: translateY(0) translateX(16px) rotate(0deg); } }
@keyframes sio4-oct { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes sio4-shadow { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }

.scn-countess-dies {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e2e 40%, #1a0e1a 100%), radial-gradient(ellipse at 50% 20%, #3a2a4a 0%, transparent 60%);
}
.scn-countess-dies .bg-dark { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a14 0%, #1a0e14 50%, #0a0a14 100%); animation: cd-bg 20s ease-in-out infinite alternate; }
.scn-countess-dies .window-high { position:absolute; top:5%; left:35%; width:30%; height:20%; background: radial-gradient(ellipse at 50% 50%, #b0a8c0 0%, #3a2a4a 60%, transparent 80%); border-radius: 20%; box-shadow: 0 0 40px 10px rgba(180,160,200,0.3); animation: cd-window 6s ease-in-out infinite alternate; }
.scn-countess-dies .figure-octavio { position:absolute; bottom:15%; left:30%; width:20%; height:45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cd-figure 4s ease-in-out infinite; }
.scn-countess-dies .letter { position:absolute; bottom:25%; left:52%; width:12%; height:8%; background: linear-gradient(135deg, #d4c4a0 0%, #b0a080 100%); border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.5); transform: rotate(-10deg); animation: cd-letter 8s ease-in-out infinite alternate; }
.scn-countess-dies .seal { position:absolute; bottom:27%; left:58%; width:5%; height:5%; background: radial-gradient(circle, #b08040 0%, #604020 100%); border-radius: 50%; box-shadow: 0 0 10px 2px #b08040; animation: cd-seal 3s ease-in-out infinite; }
.scn-countess-dies .shadow-dark { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #0a0a14 0%, transparent 100%); animation: cd-shadow 5s ease-in-out infinite alternate; }
.scn-countess-dies .particle { position:absolute; top:30%; left:20%; width:2%; height:2%; background: radial-gradient(circle, rgba(200,180,220,0.8) 0%, transparent 100%); border-radius: 50%; animation: cd-particle 10s linear infinite; animation-delay: -3s; }
@keyframes cd-bg { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.6 } }
@keyframes cd-window { 0% { transform: scaleX(1) scaleY(1); opacity:0.6; box-shadow: 0 0 30px 5px rgba(180,160,200,0.2); } 50% { transform: scaleX(1.05) scaleY(0.95); opacity:0.9; box-shadow: 0 0 50px 15px rgba(180,160,200,0.4); } 100% { transform: scaleX(0.95) scaleY(1.05); opacity:0.7; box-shadow: 0 0 35px 8px rgba(180,160,200,0.3); } }
@keyframes cd-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2%) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1%) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cd-letter { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-8deg) translateX(3%); } 100% { transform: rotate(-12deg) translateX(-2%); } }
@keyframes cd-seal { 0% { transform: scale(1); opacity:0.8; } 50% { transform: scale(1.15); opacity:1; box-shadow: 0 0 15px 4px #b08040; } 100% { transform: scale(0.95); opacity:0.9; } }
@keyframes cd-shadow { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes cd-particle { 0% { transform: translateY(0) translateX(0); opacity:1; } 50% { transform: translateY(-50%) translateX(30%); opacity:0.6; } 100% { transform: translateY(-100%) translateX(-20%); opacity:0; } }

.scn-octavio-anguish {
  background: linear-gradient(180deg, #1e161e 0%, #2a1a22 40%, #1a0e12 100%), radial-gradient(ellipse at 70% 30%, #3a2a2a 0%, transparent 70%);
}
.scn-octavio-anguish .bg-deep { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a10 0%, #1a1018 50%, #0a0a10 100%); animation: oa-bg 25s ease-in-out infinite alternate; }
.scn-octavio-anguish .candle { position:absolute; bottom:35%; left:20%; width:3%; height:12%; background: linear-gradient(180deg, #f0d0a0 0%, #c8a070 100%); border-radius: 10% 10% 20% 20%; box-shadow: 0 0 15px 5px rgba(200,160,112,0.4); animation: oa-candle 4s ease-in-out infinite alternate; }
.scn-octavio-anguish .flame { position:absolute; bottom:46%; left:20%; width:2%; height:4%; background: radial-gradient(circle, #ffe080 0%, #ffa040 50%, transparent 100%); border-radius: 50%; transform: translateX(-50%); animation: oa-flame 0.8s ease-in-out infinite alternate; }
.scn-octavio-anguish .figure-anguish { position:absolute; bottom:20%; left:45%; width:18%; height:40%; background: linear-gradient(180deg, #1a1a24 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oa-figure 3s ease-in-out infinite; }
.scn-octavio-anguish .desk { position:absolute; bottom:12%; left:30%; width:40%; height:6%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.scn-octavio-anguish .shadow { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #0a0a12 0%, transparent 100%); animation: oa-shadow 6s ease-in-out infinite alternate; }
.scn-octavio-anguish .memories { position:absolute; top:20%; right:15%; width:8%; height:8%; background: radial-gradient(circle, rgba(200,180,160,0.3) 0%, transparent 100%); border-radius: 50%; animation: oa-memories 12s linear infinite; animation-delay: -4s; }
@keyframes oa-bg { 0% { opacity:0.8 } 50% { opacity:0.95 } 100% { opacity:0.7 } }
@keyframes oa-candle { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-5%) scaleX(0.95); box-shadow: 0 0 20px 8px rgba(200,160,112,0.5); } 100% { transform: translateY(2%) scaleX(1.05); } }
@keyframes oa-flame { 0% { transform: translateX(-50%) scaleY(0.9) rotate(-3deg); opacity:0.8; } 50% { transform: translateX(-50%) scaleY(1.2) rotate(2deg); opacity:1; } 100% { transform: translateX(-50%) scaleY(1) rotate(-1deg); opacity:0.9; } }
@keyframes oa-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2%) rotate(-3deg); } 60% { transform: translateY(1%) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes oa-shadow { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.6 } }
@keyframes oa-memories { 0% { transform: translateY(0) scale(1); opacity:0.5; } 25% { transform: translateY(-20%) scale(1.2); opacity:0.7; } 50% { transform: translateY(10%) scale(0.8); opacity:0.4; } 75% { transform: translateY(-30%) scale(1.1); opacity:0.6; } 100% { transform: translateY(0) scale(1); opacity:0.5; } }

.scn-translator-notes-1 {
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b0 40%, #c0b8a0 100%), radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 60%);
}
.scn-translator-notes-1 .bg-study { position:absolute; inset:0; background: linear-gradient(135deg, #e0d8c8 0%, #d0c8b8 50%, #e8e0d0 100%); animation: tn1-bg 15s ease-in-out infinite alternate; }
.scn-translator-notes-1 .window-bright { position:absolute; top:10%; left:60%; width:25%; height:30%; background: radial-gradient(ellipse at 50% 30%, #b0c8e0 0%, #8090b0 60%, transparent 80%); border-radius: 20%; box-shadow: inset 0 0 20px rgba(255,255,255,0.3); animation: tn1-window 8s ease-in-out infinite alternate; }
.scn-translator-notes-1 .desk { position:absolute; bottom:15%; left:20%; width:60%; height:8%; background: linear-gradient(180deg, #c8b898 0%, #a09070 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.scn-translator-notes-1 .paper { position:absolute; bottom:25%; left:30%; width:20%; height:12%; background: linear-gradient(135deg, #f5f0e0 0%, #e8e0d0 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.1); transform: rotate(2deg); animation: tn1-paper 6s ease-in-out infinite alternate; }
.scn-translator-notes-1 .inkwell { position:absolute; bottom:28%; left:25%; width:4%; height:6%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: tn1-inkwell 10s ease-in-out infinite alternate; }
.scn-translator-notes-1 .quill { position:absolute; bottom:32%; left:23%; width:2%; height:12%; background: linear-gradient(180deg, #e8d0b0 0%, #c0a880 100%); border-radius: 50% 50% 10% 10%; transform: rotate(-20deg); transform-origin: bottom right; animation: tn1-quill 2s ease-in-out infinite alternate; }
.scn-translator-notes-1 .book { position:absolute; bottom:20%; left:50%; width:15%; height:10%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.2); transform: rotate(-5deg); animation: tn1-book 12s ease-in-out infinite alternate; }
@keyframes tn1-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.95 } }
@keyframes tn1-window { 0% { transform: translateY(0) scaleX(1); opacity:0.7; box-shadow: inset 0 0 20px rgba(255,255,255,0.2); } 50% { transform: translateY(-3%) scaleX(1.02); opacity:0.9; box-shadow: inset 0 0 40px rgba(255,255,255,0.4); } 100% { transform: translateY(2%) scaleX(0.98); opacity:0.8; } }
@keyframes tn1-paper { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-5%); } 100% { transform: rotate(1deg) translateY(3%); } }
@keyframes tn1-inkwell { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1.02); } }
@keyframes tn1-quill { 0% { transform: rotate(-20deg) scaleY(1); } 50% { transform: rotate(-15deg) scaleY(1.1); } 100% { transform: rotate(-22deg) scaleY(0.95); } }
@keyframes tn1-book { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(5%); } 100% { transform: rotate(-7deg) translateX(-3%); } }

.scn-translator-notes-2 {
  background: linear-gradient(180deg, #c8b8a0 0%, #b0a088 40%, #a09078 100%), radial-gradient(ellipse at 50% 0%, #d8c8b0 0%, transparent 60%);
}
.scn-translator-notes-2 .bg-church { position:absolute; inset:0; background: linear-gradient(135deg, #b8a890 0%, #a89880 50%, #c0b0a0 100%); animation: tn2-bg 20s ease-in-out infinite alternate; }
.scn-translator-notes-2 .window-rose { position:absolute; top:10%; left:50%; width:20%; height:20%; background: radial-gradient(circle, #c03040 0%, #a02030 30%, #702030 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 5px rgba(180,60,60,0.3); animation: tn2-rose 10s ease-in-out infinite alternate; }
.scn-translator-notes-2 .altar { position:absolute; bottom:15%; left:30%; width:40%; height:15%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 10% 10% 4% 4%; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.scn-translator-notes-2 .cross { position:absolute; bottom:25%; left:48%; width:4%; height:25%; background: linear-gradient(180deg, #b09880 0%, #806850 100%); border-radius: 2px; box-shadow: 0 0 10px rgba(0,0,0,0.2); animation: tn2-cross 7s ease-in-out infinite alternate; }
.scn-translator-notes-2 .cross::before { content:''; position:absolute; top:-20%; left:-30%; width:160%; height:30%; background: inherit; border-radius: 2px; }
.scn-translator-notes-2 .book-open { position:absolute; bottom:18%; left:35%; width:12%; height:8%; background: linear-gradient(135deg, #e8d8c0 0%, #c0b098 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.1); transform: rotate(-3deg); animation: tn2-book 9s ease-in-out infinite alternate; }
.scn-translator-notes-2 .candle-church { position:absolute; bottom:30%; left:55%; width:2%; height:10%; background: linear-gradient(180deg, #f0d0a0 0%, #c8a070 100%); border-radius: 10% 10% 20% 20%; animation: tn2-candle 5s ease-in-out infinite alternate; }
.scn-translator-notes-2 .ray-light { position:absolute; top:5%; left:20%; width:60%; height:60%; background: linear-gradient(180deg, rgba(255,240,200,0.15) 0%, transparent 100%); clip-path: polygon(30% 0%, 70% 0%, 60% 100%, 40% 100%); animation: tn2-ray 6s ease-in-out infinite alternate; }
@keyframes tn2-bg { 0% { opacity:0.85 } 50% { opacity:0.95 } 100% { opacity:0.9 } }
@keyframes tn2-rose { 0% { transform: scale(1) rotate(0deg); opacity:0.7; } 50% { transform: scale(1.05) rotate(5deg); opacity:0.9; box-shadow: 0 0 40px 10px rgba(180,60,60,0.4); } 100% { transform: scale(0.95) rotate(-3deg); opacity:0.8; } }
@keyframes tn2-cross { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(0.97); } }
@keyframes tn2-book { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-5%); } 100% { transform: rotate(-5deg) translateY(3%); } }
@keyframes tn2-candle { 0% { transform: scaleY(1); box-shadow: 0 0 10px 2px rgba(200,160,112,0.3); } 50% { transform: scaleY(1.1); box-shadow: 0 0 20px 6px rgba(200,160,112,0.5); } 100% { transform: scaleY(0.95); } }
@keyframes tn2-ray { 0% { opacity:0.3; transform: scaleY(1) translateY(0); } 50% { opacity:0.6; transform: scaleY(1.2) translateY(-5%); } 100% { opacity:0.4; transform: scaleY(0.9) translateY(3%); } }

.scn-cup-freedom-church {
  background: linear-gradient(180deg, #2a1a0e 0%, #4a2a1a 40%, #2a1a0e 100%), radial-gradient(ellipse at 50% 60%, #6a3a1a 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-cup-freedom-church .banner {
  position: absolute; top: 12%; left: 38%; width: 24%; height: 60%;
  background: linear-gradient(180deg, #a0461a 0%, #6a2a0a 100%);
  border-radius: 2px; box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  animation: cfc-banner 6s ease-in-out infinite alternate;
}
.scn-cup-freedom-church .cup-symbol {
  position: absolute; top: 30%; left: 49%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 40%, #c8553d 0%, #5e1a1d 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%); box-shadow: 0 0 20px 6px #c8553d;
  animation: cfc-cupglow 3s ease-in-out infinite alternate;
}
.scn-cup-freedom-church .flame-1 {
  position: absolute; bottom: 25%; left: 30%; width: 4%; height: 12%;
  background: radial-gradient(ellipse at 50% 80%, #ffd060 0%, #a0461a 80%);
  border-radius: 50%; filter: blur(2px);
  animation: cfc-flame 1.5s ease-in-out infinite;
}
.scn-cup-freedom-church .flame-2 {
  position: absolute; bottom: 22%; left: 66%; width: 3.5%; height: 10%;
  background: radial-gradient(ellipse at 50% 80%, #ffd060 0%, #a0461a 80%);
  border-radius: 50%; filter: blur(2px);
  animation: cfc-flame 2s ease-in-out infinite reverse;
}
.scn-cup-freedom-church .arch {
  position: absolute; top: 0; left: 20%; width: 60%; height: 35%;
  background: radial-gradient(ellipse at 50% 100%, transparent 50%, #2a1a0e 60%);
  border-radius: 50% 50% 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,.5);
}
.scn-cup-freedom-church .window-glow {
  position: absolute; top: 8%; left: 60%; width: 15%; height: 22%;
  background: radial-gradient(circle at 50% 50%, #ffd060 0%, transparent 70%);
  opacity: 0.5; animation: cfc-window 8s ease-in-out infinite alternate;
}
.scn-cup-freedom-church .pew {
  position: absolute; bottom: 18%; left: 28%; width: 44%; height: 6%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.4);
}
@keyframes cfc-banner {
  0% { transform: rotate(0deg); opacity: 0.9; }
  50% { transform: rotate(2deg) scale(1.02); opacity: 0.85; }
  100% { transform: rotate(-1deg); opacity: 0.95; }
}
@keyframes cfc-cupglow {
  0% { box-shadow: 0 0 15px 4px #c8553d; opacity: 0.8; }
  50% { box-shadow: 0 0 30px 10px #c8553d, 0 0 50px 15px rgba(200,85,61,0.4); opacity: 1; }
  100% { box-shadow: 0 0 20px 6px #a0461a; opacity: 0.85; }
}
@keyframes cfc-flame {
  0% { transform: translateY(0) scaleY(1); opacity: 0.9; }
  50% { transform: translateY(-3px) scaleY(1.1) rotate(2deg); opacity: 1; }
  100% { transform: translateY(1px) scaleY(0.95); opacity: 0.8; }
}
@keyframes cfc-window {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.05); }
  100% { opacity: 0.5; transform: scaleX(0.98); }
}

.scn-cup-letter-royal {
  background: linear-gradient(180deg, #3a1a0a 0%, #5a2a1a 50%, #2a1a0e 100%), radial-gradient(ellipse at 40% 70%, #6a3a1a 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-cup-letter-royal .chalice {
  position: absolute; bottom: 35%; left: 45%; width: 8%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #c8553d 0%, #5e1a1d 80%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px #c8553d; animation: clr-chalice 4s ease-in-out infinite alternate;
}
.scn-cup-letter-royal .scroll {
  position: absolute; bottom: 28%; left: 55%; width: 20%; height: 14%;
  background: linear-gradient(180deg, #d4a86a 0%, #b08040 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  transform: rotate(-5deg); box-shadow: 2px 2px 10px rgba(0,0,0,.4);
  animation: clr-scroll 10s ease-in-out infinite;
}
.scn-cup-letter-royal .candle {
  position: absolute; bottom: 20%; left: 35%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #f0d8a8 0%, #d4a86a 100%);
  border-radius: 4px; box-shadow: inset 0 0 8px rgba(0,0,0,.2);
}
.scn-cup-letter-royal .flame-candle {
  position: absolute; bottom: 40%; left: 36.5%; width: 2%; height: 6%;
  background: radial-gradient(circle at 50% 80%, #ffd060 0%, #a0461a 80%);
  border-radius: 50%; filter: blur(1px);
  animation: clr-flame 1.2s ease-in-out infinite alternate;
}
.scn-cup-letter-royal .table {
  position: absolute; bottom: 12%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
.scn-cup-letter-royal .flag {
  position: absolute; top: 10%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #702243 0%, #4a1a2e 100%);
  border-radius: 0 2px 2px 0; box-shadow: inset 0 0 15px rgba(0,0,0,.4);
}
.scn-cup-letter-royal .flag-left { left: 10%; animation: clr-flag 7s ease-in-out infinite; }
.scn-cup-letter-royal .flag-right { right: 10%; animation: clr-flag 7s ease-in-out infinite reverse; }
@keyframes clr-chalice {
  0% { transform: translateY(0) rotate(-2deg); box-shadow: 0 0 20px 6px #c8553d; }
  50% { transform: translateY(-2px) rotate(0deg); box-shadow: 0 0 40px 12px #c8553d, 0 0 60px 15px rgba(200,85,61,0.3); }
  100% { transform: translateY(1px) rotate(1deg); box-shadow: 0 0 25px 8px #a0461a; }
}
@keyframes clr-scroll {
  0% { transform: rotate(-5deg) scaleX(1); }
  50% { transform: rotate(-3deg) scaleX(1.05); }
  100% { transform: rotate(-6deg) scaleX(0.98); }
}
@keyframes clr-flame {
  0% { transform: translateY(0) scaleY(1); opacity: 0.9; }
  50% { transform: translateY(-2px) scaleY(1.15); opacity: 1; }
  100% { transform: translateY(1px) scaleY(0.9); opacity: 0.8; }
}
@keyframes clr-flag {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(4deg) skewX(1deg); }
  100% { transform: rotate(-2deg); }
}

.scn-cup-end-faith {
  background: linear-gradient(180deg, #0e0806 0%, #1e1008 50%, #0e0806 100%), radial-gradient(ellipse at 50% 60%, #4a1a0a 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-cup-end-faith .pulpit {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 45%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 10% 10% 4% 4%; box-shadow: inset 0 0 30px rgba(0,0,0,.8);
  transform: perspective(800px) rotateX(5deg);
}
.scn-cup-end-faith .altar {
  position: absolute; bottom: 15%; left: 25%; width: 50%; height: 12%;
  background: linear-gradient(180deg, #3a1a0a 0%, #1a0e06 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.6);
}
.scn-cup-end-faith .cup-broken-1 {
  position: absolute; bottom: 18%; left: 38%; width: 5%; height: 10%;
  background: radial-gradient(ellipse at 50% 30%, #a0461a 0%, #5e1a1d 80%);
  border-radius: 50% 50% 30% 30%; transform: rotate(-30deg);
  animation: cef-broken 5s ease-in-out infinite;
}
.scn-cup-end-faith .cup-broken-2 {
  position: absolute; bottom: 20%; left: 50%; width: 4%; height: 8%;
  background: radial-gradient(ellipse at 50% 30%, #a0461a 0%, #5e1a1d 80%);
  border-radius: 30% 30% 50% 50%; transform: rotate(45deg);
  animation: cef-broken2 5s ease-in-out infinite;
}
.scn-cup-end-faith .scissors {
  position: absolute; bottom: 25%; left: 55%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 20% 20% 40% 40%; transform: rotate(20deg);
  animation: cef-scissors 8s ease-in-out infinite alternate;
}
.scn-cup-end-faith .flame-end {
  position: absolute; bottom: 10%; left: 48%; width: 3%; height: 10%;
  background: radial-gradient(ellipse at 50% 80%, #ffd060 0%, #a0461a 80%);
  border-radius: 50%; filter: blur(2px);
  animation: cef-flame 2s ease-in-out infinite alternate;
}
@keyframes cef-broken {
  0% { transform: rotate(-30deg) translateY(0); }
  50% { transform: rotate(-35deg) translateY(2px); }
  100% { transform: rotate(-28deg) translateY(0); }
}
@keyframes cef-broken2 {
  0% { transform: rotate(45deg) translateY(0); }
  50% { transform: rotate(50deg) translateY(-2px); }
  100% { transform: rotate(42deg) translateY(0); }
}
@keyframes cef-scissors {
  0% { transform: rotate(20deg) scaleX(1); }
  50% { transform: rotate(25deg) scaleX(1.1); }
  100% { transform: rotate(18deg) scaleX(0.95); }
}
@keyframes cef-flame {
  0% { transform: translateY(0) scaleY(1); opacity: 0.5; }
  50% { transform: translateY(-4px) scaleY(1.2); opacity: 1; }
  100% { transform: translateY(2px) scaleY(0.9); opacity: 0.6; }
}

.scn-cup-chronicles-country {
  background: linear-gradient(180deg, #2a1a0e 0%, #3a2a1a 50%, #2a1a0e 100%), radial-gradient(ellipse at 50% 60%, #6a3a1a 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-cup-chronicles-country .book-large {
  position: absolute; bottom: 20%; left: 30%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 4px; box-shadow: 4px 4px 20px rgba(0,0,0,.6);
  transform: perspective(800px) rotateY(5deg);
  animation: ccr-book 12s ease-in-out infinite;
}
.scn-cup-chronicles-country .cup-cr {
  position: absolute; bottom: 30%; left: 55%; width: 6%; height: 14%;
  background: radial-gradient(ellipse at 50% 30%, #c8553d 0%, #5e1a1d 80%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 0 20px 6px #c8553d; animation: ccr-cup 4s ease-in-out infinite alternate;
}
.scn-cup-chronicles-country .candle-cr {
  position: absolute; bottom: 35%; left: 25%; width: 3%; height: 20%;
  background: linear-gradient(180deg, #f0d8a8 0%, #d4a86a 100%);
  border-radius: 4px; box-shadow: inset 0 0 8px rgba(0,0,0,.2);
}
.scn-cup-chronicles-country .flame-cr {
  position: absolute; bottom: 54%; left: 25.5%; width: 2%; height: 6%;
  background: radial-gradient(circle at 50% 80%, #ffd060 0%, #a0461a 80%);
  border-radius: 50%; filter: blur(1px);
  animation: ccr-flame 1.5s ease-in-out infinite alternate;
}
.scn-cup-chronicles-country .ashes {
  position: absolute; bottom: 10%; left: 60%; width: 12%; height: 8%;
  background: radial-gradient(circle, #5a4a3a 0%, transparent 80%);
  border-radius: 50%; filter: blur(3px);
  animation: ccr-ashes 10s linear infinite;
}
.scn-cup-chronicles-country .figure-profile {
  position: absolute; bottom: 18%; left: 15%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg); animation: ccr-figure 8s ease-in-out infinite alternate;
}
.scn-cup-chronicles-country .table-cr {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 6%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0e 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5);
}
@keyframes ccr-book {
  0% { transform: perspective(800px) rotateY(5deg) translateY(0); }
  50% { transform: perspective(800px) rotateY(3deg) translateY(-2px); }
  100% { transform: perspective(800px) rotateY(6deg) translateY(0); }
}
@keyframes ccr-cup {
  0% { transform: translateY(0) rotate(-1deg); box-shadow: 0 0 15px 4px #c8553d; }
  50% { transform: translateY(-2px) rotate(0deg); box-shadow: 0 0 30px 8px #c8553d; }
  100% { transform: translateY(1px) rotate(1deg); box-shadow: 0 0 20px 6px #a0461a; }
}
@keyframes ccr-flame {
  0% { transform: translateY(0) scaleY(1); opacity: 0.9; }
  50% { transform: translateY(-2px) scaleY(1.1) rotate(3deg); opacity: 1; }
  100% { transform: translateY(1px) scaleY(0.95); opacity: 0.8; }
}
@keyframes ccr-ashes {
  0% { transform: translate(0, 0) scale(1); opacity: 0.6; }
  50% { transform: translate(10px, -10px) scale(0.8); opacity: 0.3; }
  100% { transform: translate(-10px, 5px) scale(1.2); opacity: 0.5; }
}
@keyframes ccr-figure {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(-6deg) translateY(0); }
}

.scn-octavio-masks-talk { background: linear-gradient(180deg, #1e1820 0%, #2a1e28 40%, #331f35 100%), radial-gradient(ellipse at 20% 40%, #4a2a3a 0%, transparent 70%); }
.scn-octavio-masks-talk .bg-deep  { position:absolute; inset:0; background: linear-gradient(180deg, #11090f 0%, #1e1420 70%, #2a1e28 100%); animation: omt-pulse 8s ease-in-out infinite alternate; }
.scn-octavio-masks-talk .table    { position:absolute; bottom:15%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-octavio-masks-talk .lantern  { position:absolute; bottom:30%; left:45%; width:20px; height:30px; background: radial-gradient(circle, #f0c868 0%, #b08840 70%); border-radius: 40% 40% 30% 30%; box-shadow: 0 0 30px 8px rgba(240,200,104,.4), 0 0 60px 20px rgba(240,200,104,.15); animation: omt-lantern 2s ease-in-out infinite alternate; }
.scn-octavio-masks-talk .figure-left { position:absolute; bottom:20%; left:20%; width:25px; height:70px; background: linear-gradient(180deg, #1a1018 0%, #0e080c 100%); border-radius: 45% 45% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: omt-fig-left 4s ease-in-out infinite alternate; }
.scn-octavio-masks-talk .figure-right{ position:absolute; bottom:20%; right:20%; width:28px; height:68px; background: linear-gradient(180deg, #1a1018 0%, #0e080c 100%); border-radius: 45% 45% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: omt-fig-right 3.5s ease-in-out infinite alternate; }
.scn-octavio-masks-talk .mask     { position:absolute; bottom:40%; left:48%; width:22px; height:18px; background: linear-gradient(180deg, #6a4030 0%, #3a2018 100%); border-radius: 50% 50% 40% 40%; transform: rotate(15deg); box-shadow: 0 0 6px rgba(0,0,0,.5); animation: omt-mask 5s ease-in-out infinite alternate; }
.scn-octavio-masks-talk .paper    { position:absolute; bottom:17%; left:37%; width:40px; height:30px; background: linear-gradient(135deg, #f0e8d0 0%, #d0c0a0 100%); border-radius: 2px; transform: rotate(-5deg); opacity:.7; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: omt-paper 6s ease-in-out infinite; }
@keyframes omt-pulse   { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.5 } }
@keyframes omt-lantern { 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 20px 6px rgba(240,200,104,.3), 0 0 40px 12px rgba(240,200,104,.1); } 50% { transform: scaleY(1.05) translateY(-2px); box-shadow: 0 0 35px 10px rgba(240,200,104,.5), 0 0 70px 20px rgba(240,200,104,.2); } 100% { transform: scaleY(0.98) translateY(1px); box-shadow: 0 0 25px 8px rgba(240,200,104,.35), 0 0 50px 15px rgba(240,200,104,.12); } }
@keyframes omt-fig-left{ 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes omt-fig-right{ 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes omt-mask   { 0% { transform: rotate(10deg) scale(1); } 50% { transform: rotate(25deg) scale(1.08); } 100% { transform: rotate(10deg) scale(1); } }
@keyframes omt-paper   { 0% { transform: rotate(-5deg) translateY(0); opacity:.6; } 50% { transform: rotate(-8deg) translateY(-3px); opacity:.8; } 100% { transform: rotate(-5deg) translateY(0); opacity:.6; } }

.scn-isolani-reluctant-subscribe { background: linear-gradient(180deg, #1a1520 0%, #2a2030 40%, #1e1828 100%), radial-gradient(ellipse at 60% 50%, #3a2a4a 0%, transparent 60%); }
.scn-isolani-reluctant-subscribe .bg-mid   { position:absolute; inset:0; background: linear-gradient(180deg, #120d1a 0%, #1e1830 70%, #2a2038 100%); animation: irs-dim 10s ease-in-out infinite alternate; }
.scn-isolani-reluctant-subscribe .table    { position:absolute; bottom:20%; left:25%; right:20%; height:6%; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,.7); }
.scn-isolani-reluctant-subscribe .paper    { position:absolute; bottom:22%; left:38%; width:50px; height:35px; background: linear-gradient(135deg, #f0e8d0 0%, #d0c0a0 100%); border-radius: 2px; transform: rotate(-10deg); opacity:.7; box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: irs-paper 4s ease-in-out infinite; }
.scn-isolani-reluctant-subscribe .hand     { position:absolute; bottom:22%; left:45%; width:14px; height:20px; background: linear-gradient(180deg, #d0b090 0%, #a08060 100%); border-radius: 40% 40% 30% 30%; transform-origin: bottom center; animation: irs-hand 2.5s ease-in-out infinite alternate; }
.scn-isolani-reluctant-subscribe .candle   { position:absolute; bottom:28%; left:25%; width:8px; height:20px; background: linear-gradient(180deg, #f0d8a0 0%, #b09060 70%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 8px rgba(240,216,160,.3); animation: irs-candle 3s ease-in-out infinite alternate; }
.scn-isolani-reluctant-subscribe .shadow   { position:absolute; bottom:20%; left:30%; width:80px; height:40px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 70%); filter: blur(6px); animation: irs-shadow 5s ease-in-out infinite alternate; }
.scn-isolani-reluctant-subscribe .inkwell  { position:absolute; bottom:22%; left:30%; width:12px; height:14px; background: radial-gradient(circle, #2a1a0a 0%, #0e0802 100%); border-radius: 50% 50% 40% 40%; box-shadow: 0 0 4px rgba(0,0,0,.6); animation: irs-inkwell 6s ease-in-out infinite; }
@keyframes irs-dim   { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes irs-paper { 0% { transform: rotate(-10deg) translateX(0); } 50% { transform: rotate(-12deg) translateX(2px); } 100% { transform: rotate(-10deg) translateX(0); } }
@keyframes irs-hand  { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes irs-candle{ 0% { transform: scaleY(1) translateY(0); box-shadow: 0 0 18px 6px rgba(240,216,160,.3); } 50% { transform: scaleY(1.1) translateY(-2px); box-shadow: 0 0 30px 10px rgba(240,216,160,.5); } 100% { transform: scaleY(0.95) translateY(1px); box-shadow: 0 0 20px 8px rgba(240,216,160,.35); } }
@keyframes irs-shadow{ 0% { transform: scaleX(1) translateX(0); opacity:.3; } 50% { transform: scaleX(1.1) translateX(-5px); opacity:.5; } 100% { transform: scaleX(1) translateX(0); opacity:.3; } }
@keyframes irs-inkwell{ 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-goetz-excuses-walk { background: linear-gradient(180deg, #1a1a1e 0%, #26202a 40%, #191520 100%), radial-gradient(ellipse at 30% 80%, #3a2a30 0%, transparent 60%); }
.scn-goetz-excuses-walk .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #0e0a10 0%, #1a141e 70%, #2a2028 100%); animation: gew-pulse 12s ease-in-out infinite alternate; }
.scn-goetz-excuses-walk .floor   { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a2018 0%, #1a120e 100%); border-radius: 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-goetz-excuses-walk .door    { position:absolute; bottom:20%; left:60%; width:40px; height:70px; background: linear-gradient(180deg, #3a2a20 0%, #1e140e 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 0 12px rgba(0,0,0,.5); animation: gew-door 8s ease-in-out infinite alternate; }
.scn-goetz-excuses-walk .figure  { position:absolute; bottom:20%; left:10%; width:30px; height:80px; background: linear-gradient(180deg, #1a1418 0%, #0c080c 100%); border-radius: 45% 45% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: gew-figure 2s ease-in-out infinite; }
.scn-goetz-excuses-walk .hat     { position:absolute; bottom:78%; left:12%; width:24px; height:10px; background: linear-gradient(180deg, #1a1a1e 0%, #0e0e12 100%); border-radius: 50% 50% 40% 40% / 80% 80% 60% 60%; transform: rotate(-5deg); animation: gew-hat 1.8s ease-in-out infinite alternate; }
.scn-goetz-excuses-walk .cane    { position:absolute; bottom:20%; left:5%; width:4px; height:50px; background: linear-gradient(180deg, #6a5040 0%, #3a2820 100%); border-radius: 20% 20% 10% 10%; transform: rotate(15deg); transform-origin: bottom center; animation: gew-cane 2s ease-in-out infinite; }
.scn-goetz-excuses-walk .shadow  { position:absolute; bottom:0; left:10%; width:30px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 70%); filter: blur(8px); animation: gew-shadow 2s ease-in-out infinite; }
@keyframes gew-pulse   { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes gew-door    { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes gew-figure  { 0% { transform: translateX(0) rotate(2deg) translateY(0); } 25% { transform: translateX(8px) rotate(-2deg) translateY(-3px); } 50% { transform: translateX(16px) rotate(3deg) translateY(0); } 75% { transform: translateX(24px) rotate(-1deg) translateY(-2px); } 100% { transform: translateX(32px) rotate(2deg) translateY(0); } }
@keyframes gew-hat     { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes gew-cane    { 0% { transform: rotate(10deg) translateX(0); } 25% { transform: rotate(20deg) translateX(2px); } 50% { transform: rotate(10deg) translateX(0); } 75% { transform: rotate(0deg) translateX(-2px); } 100% { transform: rotate(10deg) translateX(0); } }
@keyframes gew-shadow  { 0% { transform: scaleX(1) translateX(0); } 25% { transform: scaleX(1.2) translateX(5px); } 50% { transform: scaleX(1) translateX(10px); } 75% { transform: scaleX(1.1) translateX(15px); } 100% { transform: scaleX(1) translateX(20px); } }

.scn-isolani-legs-fail { background: linear-gradient(180deg, #1a1820 0%, #28222e 40%, #1c1628 100%), radial-gradient(ellipse at 50% 30%, #3a2a3e 0%, transparent 70%); }
.scn-isolani-legs-fail .bg-mid   { position:absolute; inset:0; background: linear-gradient(180deg, #120e16 0%, #1e1830 70%, #2a2038 100%); animation: ilf-pulse 7s ease-in-out infinite alternate; }
.scn-isolani-legs-fail .chair    { position:absolute; bottom:15%; left:35%; width:40px; height:50px; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-isolani-legs-fail .figure-torso { position:absolute; bottom:50%; left:37%; width:30px; height:40px; background: linear-gradient(180deg, #1a1418 0%, #0c080c 100%); border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ilf-torso 3s ease-in-out infinite alternate; }
.scn-isolani-legs-fail .legs     { position:absolute; bottom:10%; left:38%; width:14px; height:45px; background: linear-gradient(180deg, #1a1418 0%, #0c080c 100%); border-radius: 40% 40% 20% 20%; transform-origin: top center; animation: ilf-legs 1.5s ease-in-out infinite alternate; }
.scn-isolani-legs-fail .table    { position:absolute; bottom:25%; left:50%; width:35px; height:5px; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius: 4px; transform: rotate(3deg); }
.scn-isolani-legs-fail .glass    { position:absolute; bottom:30%; left:52%; width:8px; height:12px; background: linear-gradient(180deg, #d0c080 0%, #a09060 100%); border-radius: 2px 2px 4px 4px; opacity:.6; transform: rotate(10deg); animation: ilf-glass 2s ease-in-out infinite alternate; }
.scn-isolani-legs-fail .candle   { position:absolute; bottom:23%; left:55%; width:6px; height:18px; background: linear-gradient(180deg, #f0c868 0%, #b08840 70%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 12px 4px rgba(240,200,104,.3); animation: ilf-candle 3s ease-in-out infinite alternate; }
@keyframes ilf-pulse   { 0% { opacity:.5 } 50% { opacity:.9 } 100% { opacity:.5 } }
@keyframes ilf-torso   { 0% { transform: rotate(2deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(2deg) translateX(0); } }
@keyframes ilf-legs    { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes ilf-glass   { 0% { transform: rotate(8deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-2px); } 100% { transform: rotate(8deg) translateY(0); } }
@keyframes ilf-candle  { 0% { transform: scaleY(1); box-shadow: 0 0 12px 4px rgba(240,200,104,.3); } 50% { transform: scaleY(1.1); box-shadow: 0 0 20px 8px rgba(240,200,104,.5); } 100% { transform: scaleY(0.95); box-shadow: 0 0 14px 5px rgba(240,200,104,.35); } }

.scn-tertsky-reports-movements { background: linear-gradient(180deg, #f5e6c8 0%, #d9c49a 30%, #b8976a 100%), radial-gradient(circle at 60% 20%, #ffe088 0%, transparent 50%); }
.scn-tertsky-reports-movements .bg-interior { position:absolute; inset:0; background: linear-gradient(90deg, #b8976a 0%, #d9c49a 40%, #f5e6c8 100%); opacity:.7; animation: t1-bg 24s ease-in-out infinite alternate; }
.scn-tertsky-reports-movements .table { position:absolute; bottom:12%; left:5%; right:5%; height:16%; background: linear-gradient(180deg, #8b6a4a 0%, #5a3e2a 100%); border-radius:6% 6% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.3); }
.scn-tertsky-reports-movements .map { position:absolute; bottom:22%; left:15%; width:55%; height:10%; background: radial-gradient(ellipse, #e8dcc8 0%, #b8a88a 100%); border:2px solid #8a7a5a; transform:rotate(-4deg); border-radius:4px; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: t1-map 8s ease-in-out infinite; }
.scn-tertsky-reports-movements .candle { position:absolute; bottom:26%; left:55%; width:8px; height:20px; background: linear-gradient(180deg, #f0d090 0%, #c89860 100%); border-radius:4px; }
.scn-tertsky-reports-movements .glow { position:absolute; bottom:28%; left:52%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,200,80,.6) 0%, rgba(255,200,80,.2) 40%, transparent 70%); border-radius:50%; pointer-events:none; animation: t1-flicker 0.3s ease-in-out infinite; }
.scn-tertsky-reports-movements .figure-left { position:absolute; bottom:16%; left:8%; width:22px; height:55px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: t1-figure-l 3s ease-in-out infinite; }
.scn-tertsky-reports-movements .figure-right { position:absolute; bottom:14%; right:12%; width:24px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: t1-figure-r 4s ease-in-out infinite; }
.scn-tertsky-reports-movements .shadow { position:absolute; bottom:12%; left:25%; width:120px; height:20px; background: linear-gradient(90deg, rgba(0,0,0,.4) 0%, transparent 100%); border-radius:50%; filter:blur(3px); animation: t1-shadow 2s ease-in-out infinite alternate; }
@keyframes t1-bg { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.65 } }
@keyframes t1-map { 0% { transform:rotate(-4deg) translateX(0) } 50% { transform:rotate(-3deg) translateX(2px) } 100% { transform:rotate(-5deg) translateX(0) } }
@keyframes t1-flicker { 0% { opacity:.7; transform:scale(1) } 50% { opacity:1; transform:scale(1.05) } 100% { opacity:.75; transform:scale(1) } }
@keyframes t1-figure-l { 0% { transform:translateX(0) rotate(-1deg) } 30% { transform:translateX(-4px) rotate(1deg) } 60% { transform:translateX(2px) rotate(-2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes t1-figure-r { 0% { transform:translateX(0) rotate(1deg) } 40% { transform:translateX(3px) rotate(-1deg) } 80% { transform:translateX(-2px) rotate(2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes t1-shadow { 0% { transform:skewX(5deg) scaleX(1) } 100% { transform:skewX(-5deg) scaleX(1.1) } }

.scn-wall-enstein-regrets-secrecy { background: linear-gradient(180deg, #e8dcc0 0%, #c8b49a 40%, #a08070 100%), radial-gradient(ellipse at 80% 30%, #ffe0a0 0%, transparent 60%); }
.scn-wall-enstein-regrets-secrecy .window { position:absolute; top:8%; right:10%; width:90px; height:120px; background: linear-gradient(180deg, #e8f4ff 0%, #b0c8e0 100%); border:8px solid #6a5a4a; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,255,200,.3); animation: w2-window 12s ease-in-out infinite; }
.scn-wall-enstein-regrets-secrecy .light-beam { position:absolute; top:8%; right:12%; width:70px; height:200px; background: linear-gradient(180deg, rgba(255,240,200,.4) 0%, transparent 100%); transform:rotate(-15deg); transform-origin:top; filter:blur(5px); animation: w2-beam 10s ease-in-out infinite alternate; }
.scn-wall-enstein-regrets-secrecy .desk { position:absolute; bottom:15%; left:10%; right:25%; height:18%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4); }
.scn-wall-enstein-regrets-secrecy .chair { position:absolute; bottom:20%; right:22%; width:30px; height:40px; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:20% 20% 10% 10%; }
.scn-wall-enstein-regrets-secrecy .figure-stand { position:absolute; bottom:18%; left:18%; width:20px; height:50px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: w2-fig1 3s ease-in-out infinite; }
.scn-wall-enstein-regrets-secrecy .figure-sit { position:absolute; bottom:23%; right:28%; width:24px; height:38px; background: linear-gradient(180deg, #2a1e12 0%, #0e0804 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: w2-fig2 4s ease-in-out infinite; }
.scn-wall-enstein-regrets-secrecy .shadow-wall { position:absolute; top:8%; right:15%; width:80px; height:130px; background: linear-gradient(135deg, rgba(0,0,0,.3) 0%, transparent 70%); filter:blur(6px); animation: w2-shadow 5s ease-in-out infinite; }
.scn-wall-enstein-regrets-secrecy .curtain { position:absolute; top:0; right:8%; width:20px; height:100%; background: linear-gradient(180deg, #a04030 0%, #5e1a1d 100%); border-radius:4px; transform:skewX(10deg); animation: w2-curtain 2s ease-in-out infinite alternate; }
@keyframes w2-window { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes w2-beam { 0% { transform:rotate(-15deg) scaleY(1) } 50% { transform:rotate(-12deg) scaleY(1.1) } 100% { transform:rotate(-18deg) scaleY(0.95) } }
@keyframes w2-fig1 { 0% { transform:translateX(0) rotate(-2deg) } 30% { transform:translateX(3px) rotate(2deg) } 60% { transform:translateX(-2px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes w2-fig2 { 0% { transform:translateX(0) rotate(1deg) } 50% { transform:translateX(-2px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes w2-shadow { 0% { transform:scaleX(1) } 50% { transform:scaleX(1.08) } 100% { transform:scaleX(0.95) } }
@keyframes w2-curtain { 0% { transform:skewX(10deg) } 100% { transform:skewX(8deg) } }

.scn-wall-enstein-justifies-isolani-desertion { background: linear-gradient(180deg, #f2ead0 0%, #d8c8a8 40%, #b09878 100%), radial-gradient(circle at 40% 60%, #ffe8b0 0%, transparent 70%); }
.scn-wall-enstein-justifies-isolani-desertion .armchair { position:absolute; bottom:12%; left:25%; width:80px; height:70px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius:40% 40% 20% 20% / 50% 50% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.scn-wall-enstein-justifies-isolani-desertion .figure-sit { position:absolute; bottom:18%; left:32%; width:24px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: w3-fig 6s ease-in-out infinite; }
.scn-wall-enstein-justifies-isolani-desertion .book { position:absolute; bottom:24%; left:28%; width:16px; height:24px; background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius:2px; transform:rotate(-10deg); animation: w3-book 10s ease-in-out infinite; }
.scn-wall-enstein-justifies-isolani-desertion .lamp { position:absolute; bottom:32%; left:65%; width:10px; height:30px; background: linear-gradient(180deg, #d0a060 0%, #9a7a4a 100%); border-radius:4px; }
.scn-wall-enstein-justifies-isolani-desertion .rug { position:absolute; bottom:8%; left:15%; right:15%; height:6%; background: linear-gradient(90deg, #a07858 0%, #7a5a3a 50%, #a07858 100%); border-radius:20px; opacity:.5; }
.scn-wall-enstein-justifies-isolani-desertion .window { position:absolute; top:12%; left:8%; width:70px; height:90px; background: linear-gradient(180deg, #f0f8ff 0%, #c8d8e8 100%); border:6px solid #6a5a4a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,.2); animation: w3-window 20s ease-in-out infinite alternate; }
.scn-wall-enstein-justifies-isolani-desertion .curtain-slow { position:absolute; top:10%; left:5%; width:18px; height:110%; background: linear-gradient(180deg, #b87878 0%, #702243 100%); border-radius:4px; transform:skewX(5deg); animation: w3-curtain 15s ease-in-out infinite alternate; }
@keyframes w3-fig { 0% { transform:translateX(0) rotate(0) } 50% { transform:translateX(2px) rotate(1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes w3-book { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-1px) } 100% { transform:rotate(-10deg) translateY(0) } }
@keyframes w3-window { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes w3-curtain { 0% { transform:skewX(5deg) } 100% { transform:skewX(3deg) } }

.scn-wall-enstein-philosophical-on-friendship { background: linear-gradient(180deg, #f5efe0 0%, #d8cfc0 40%, #b0a898 100%), radial-gradient(ellipse at 30% 40%, #ffe8c0 0%, transparent 70%); }
.scn-wall-enstein-philosophical-on-friendship .window-bird { position:absolute; top:10%; left:20%; width:100px; height:130px; background: linear-gradient(180deg, #e0ecf8 0%, #a8bccc 100%); border:8px solid #5a4a3a; border-radius:4px; box-shadow: inset 0 0 30px rgba(255,240,200,.3); }
.scn-wall-enstein-philosophical-on-friendship .bird { position:absolute; top:20%; left:35%; width:30px; height:12px; background: linear-gradient(90deg, #4a3a2a 0%, #2a1e12 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; transform:rotate(-10deg); animation: w4-bird 8s ease-in-out infinite; }
.scn-wall-enstein-philosophical-on-friendship .light-glow { position:absolute; top:5%; left:15%; width:200px; height:200px; background: radial-gradient(circle, rgba(255,230,180,.4) 0%, transparent 60%); border-radius:50%; pointer-events:none; animation: w4-glow 12s ease-in-out infinite; }
.scn-wall-enstein-philosophical-on-friendship .water-shadows { position:absolute; bottom:20%; left:0; right:0; height:30%; background: repeating-linear-gradient(90deg, rgba(100,130,160,.15) 0px, transparent 20px, rgba(100,130,160,.05) 40px); filter:blur(2px); animation: w4-water 30s linear infinite; }
.scn-wall-enstein-philosophical-on-friendship .figure-profile { position:absolute; bottom:15%; right:15%; width:22px; height:55px; background: linear-gradient(180deg, #2a1e12 0%, #0e0804 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom; animation: w4-fig 10s ease-in-out infinite; }
.scn-wall-enstein-philosophical-on-friendship .pillar { position:absolute; bottom:0; right:10%; width:20px; height:80%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius:4px; box-shadow: 0 0 10px rgba(0,0,0,.2); }
.scn-wall-enstein-philosophical-on-friendship .curtain-soft { position:absolute; top:0; right:12%; width:16px; height:100%; background: linear-gradient(180deg, #b87878 0%, #5e1a1d 100%); border-radius:4px; transform:skewX(6deg); animation: w4-curtain 20s ease-in-out infinite alternate; }
@keyframes w4-bird { 0% { transform:rotate(-10deg) translateX(0) } 30% { transform:rotate(-8deg) translateX(3px) translateY(-1px) } 60% { transform:rotate(-12deg) translateX(-2px) translateY(1px) } 100% { transform:rotate(-10deg) translateX(0) } }
@keyframes w4-glow { 0% { transform:scale(1) } 50% { transform:scale(1.08) } 100% { transform:scale(0.95) } }
@keyframes w4-water { 0% { background-position:0 0 } 100% { background-position:-200px 0 } }
@keyframes w4-fig { 0% { transform:translateX(0) rotate(0) } 50% { transform:translateX(2px) rotate(1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes w4-curtain { 0% { transform:skewX(6deg) } 100% { transform:skewX(4deg) } }

.scn-butler-perjure-sovereign { background: linear-gradient(180deg, #1a1a1a 0%, #2c2c1a 40%, #3a2a1a 100%), radial-gradient(ellipse at 30% 70%, #2c2c1a 0%, transparent 80%); }
.scn-butler-perjure-sovereign .bg { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(30,20,10,.5) 50%, rgba(0,0,0,.6) 100%); animation: bps-bg 10s ease-in-out infinite alternate; }
.scn-butler-perjure-sovereign .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 0 0 0 0; box-shadow: inset 0 20px 30px rgba(0,0,0,.6); }
.scn-butler-perjure-sovereign .table { position:absolute; bottom:32%; left:60%; width:80px; height:15px; background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: bps-table 8s ease-in-out infinite; }
.scn-butler-perjure-sovereign .candle { position:absolute; bottom:38%; left:63%; width:8px; height:25px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 0 10px rgba(200,150,80,.3); }
.scn-butler-perjure-sovereign .flame { position:absolute; bottom:55%; left:63%; width:10px; height:14px; background: radial-gradient(circle, #ffd080 0%, #ffa040 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 8px rgba(255,160,64,.6), 0 0 60px 16px rgba(255,160,64,.3); animation: bps-flame 1.5s ease-in-out infinite alternate; }
.scn-butler-perjure-sovereign .butler { position:absolute; bottom:35%; left:30%; width:50px; height:90px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: -10px 0 20px rgba(0,0,0,.8); animation: bps-butler 6s ease-in-out infinite; }
.scn-butler-perjure-sovereign .octavio { position:absolute; bottom:35%; left:55%; width:45px; height:85px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 35% 45% 35% 45% / 55% 65% 35% 45%; transform-origin: bottom center; box-shadow: 10px 0 15px rgba(0,0,0,.7); animation: bps-octavio 8s ease-in-out infinite; }
@keyframes bps-bg { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.6 } }
@keyframes bps-table { 0%,100% { transform: translateX(0) } 50% { transform: translateX(-2px) } }
@keyframes bps-flame { 0% { transform: scaleY(1) scaleX(1); opacity:.8 } 50% { transform: scaleY(1.2) scaleX(.9); opacity:1 } 100% { transform: scaleY(.9) scaleX(1.1); opacity:.7 } }
@keyframes bps-butler { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2px) rotate(1deg) } 50% { transform: translateX(0) rotate(0) } 75% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bps-octavio { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(-1px) rotate(-.5deg) } 66% { transform: translateX(1px) rotate(.5deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-butler-dare-honour { background: linear-gradient(180deg, #1a1a1a 0%, #2c2020 40%, #3a2020 100%), radial-gradient(ellipse at 50% 60%, #3a2020 0%, transparent 90%); }
.scn-butler-dare-honour .bg { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(20,10,10,.6) 50%, rgba(0,0,0,.7) 100%); animation: bdh-bg 8s ease-in-out infinite alternate; }
.scn-butler-dare-honour .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1010 0%, #1a0000 100%); border-radius: 0; box-shadow: inset 0 15px 25px rgba(0,0,0,.7); }
.scn-butler-dare-honour .butler { position:absolute; bottom:30%; left:25%; width:55px; height:100px; background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%); border-radius: 45% 45% 35% 35% / 65% 65% 35% 35%; transform-origin: bottom center; box-shadow: -8px 0 12px rgba(0,0,0,.8); animation: bdh-butler 4s ease-in-out infinite; }
.scn-butler-dare-honour .octavio { position:absolute; bottom:30%; left:60%; width:50px; height:95px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 50% 35% 45% / 60% 70% 30% 40%; transform-origin: bottom center; box-shadow: 8px 0 15px rgba(0,0,0,.7); animation: bdh-octavio 5s ease-in-out infinite; }
.scn-butler-dare-honour .shadow-b { position:absolute; bottom:30%; left:20%; width:60px; height:40px; background: rgba(0,0,0,.6); border-radius: 50%; filter: blur(8px); transform: scaleX(1.5); animation: bdh-shadow 4s ease-in-out infinite; }
.scn-butler-dare-honour .shadow-o { position:absolute; bottom:30%; left:65%; width:55px; height:35px; background: rgba(0,0,0,.5); border-radius: 50%; filter: blur(7px); transform: scaleX(1.4); animation: bdh-shadow 5s ease-in-out infinite; }
.scn-butler-dare-honour .ground-line { position:absolute; bottom:30%; left:30%; right:30%; height:2px; background: rgba(80,30,30,.3); border-radius: 2px; animation: bdh-line 7s ease-in-out infinite; }
@keyframes bdh-bg { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:.7 } }
@keyframes bdh-butler { 0% { transform: translateX(0) rotate(0) } 40% { transform: translateX(3px) rotate(2deg) } 80% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bdh-octavio { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-2px) rotate(-1deg) } 70% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bdh-shadow { 0% { transform: scaleX(1.5) scaleY(1) } 50% { transform: scaleX(1.6) scaleY(1.05) } 100% { transform: scaleX(1.5) scaleY(1) } }
@keyframes bdh-line { 0% { opacity:.2 } 50% { opacity:.5 } 100% { opacity:.3 } }

.scn-servant-billet-isolani { background: linear-gradient(180deg, #1a1a1a 0%, #2a1a1a 40%, #3a2020 100%), radial-gradient(ellipse at 40% 80%, #3a2020 0%, transparent 80%); }
.scn-servant-billet-isolani .bg { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(20,10,10,.5) 50%, rgba(0,0,0,.8) 100%); animation: sbi-bg 9s ease-in-out infinite alternate; }
.scn-servant-billet-isolani .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1010 0%, #1a0000 100%); border-radius: 0; box-shadow: inset 0 20px 25px rgba(0,0,0,.6); }
.scn-servant-billet-isolani .door { position:absolute; right:12%; bottom:30%; width:50px; height:90px; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 4px 4px 0 0; box-shadow: -5px 0 10px rgba(0,0,0,.5); animation: sbi-door 6s ease-in-out infinite; }
.scn-servant-billet-isolani .servant { position:absolute; bottom:30%; left:20%; width:45px; height:85px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 50% 30% 40% / 60% 70% 30% 40%; transform: scaleX(-1); box-shadow: 0 0 8px rgba(0,0,0,.5); animation: sbi-servant 4s ease-in-out infinite; }
.scn-servant-billet-isolani .octavio { position:absolute; bottom:30%; left:50%; width:50px; height:90px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 45% 45% 35% 35% / 65% 65% 35% 35%; box-shadow: 0 0 10px rgba(0,0,0,.6); animation: sbi-octavio 8s ease-in-out infinite; }
.scn-servant-billet-isolani .billet { position:absolute; bottom:35%; left:48%; width:12px; height:16px; background: linear-gradient(180deg, #c8b090 0%, #a08060 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: sbi-billet 3s ease-in-out infinite; }
.scn-servant-billet-isolani .shadow { position:absolute; bottom:30%; left:45%; width:100px; height:20px; background: rgba(0,0,0,.4); border-radius: 50%; filter: blur(6px); transform: scaleX(2); animation: sbi-shadow 7s ease-in-out infinite; }
@keyframes sbi-bg { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.6 } }
@keyframes sbi-door { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-1px) rotate(-1deg) } }
@keyframes sbi-servant { 0% { transform: scaleX(-1) translateX(0) } 30% { transform: scaleX(-1) translateX(-2px) } 70% { transform: scaleX(-1) translateX(2px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes sbi-octavio { 0% { transform: translateX(0) rotate(0) } 40% { transform: translateX(1px) rotate(1deg) } 80% { transform: translateX(-1px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes sbi-billet { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sbi-shadow { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.3 } }

.scn-octavio-max-farewell { background: linear-gradient(180deg, #1a1a1a 0%, #2a2020 40%, #3a2020 100%), radial-gradient(ellipse at 50% 70%, #3a2020 0%, transparent 80%); }
.scn-octavio-max-farewell .bg { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(10,10,10,.6) 50%, rgba(0,0,0,.7) 100%); animation: omf-bg 12s ease-in-out infinite alternate; }
.scn-octavio-max-farewell .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1010 0%, #1a0000 100%); border-radius: 0; box-shadow: inset 0 25px 30px rgba(0,0,0,.7); }
.scn-octavio-max-farewell .octavio { position:absolute; bottom:30%; left:55%; width:50px; height:95px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 45% 45% 35% 35% / 65% 65% 35% 35%; transform-origin: bottom center; box-shadow: 8px 0 15px rgba(0,0,0,.7); animation: omf-octavio 5s ease-in-out infinite; }
.scn-octavio-max-farewell .max { position:absolute; bottom:30%; left:25%; width:45px; height:90px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 45% 35% 40% / 60% 70% 30% 40%; transform-origin: bottom center; box-shadow: -8px 0 12px rgba(0,0,0,.8); animation: omf-max 7s ease-in-out infinite; }
.scn-octavio-max-farewell .arm { position:absolute; bottom:35%; left:48%; width:25px; height:8px; background: linear-gradient(90deg, #2a1a1a 0%, #3a2020 100%); border-radius: 4px; transform-origin: left center; animation: omf-arm 4s ease-in-out infinite; }
.scn-octavio-max-farewell .shadow { position:absolute; bottom:30%; left:35%; width:70px; height:25px; background: rgba(0,0,0,.5); border-radius: 50%; filter: blur(10px); transform: scaleX(2); animation: omf-shadow 6s ease-in-out infinite; }
.scn-octavio-max-farewell .light-ray { position:absolute; top:20%; right:30%; width:4px; height:60%; background: linear-gradient(180deg, rgba(200,150,80,.15) 0%, transparent 100%); transform: rotate(-20deg); animation: omf-ray 8s ease-in-out infinite; }
@keyframes omf-bg { 0% { opacity:.4 } 50% { opacity:.6 } 100% { opacity:.5 } }
@keyframes omf-octavio { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-2px) rotate(-1deg) } 70% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes omf-max { 0% { transform: translateX(0) rotate(0) } 40% { transform: translateX(1px) rotate(1deg) } 80% { transform: translateX(-1px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes omf-arm { 0% { transform: rotate(-20deg) scaleX(1) } 50% { transform: rotate(-10deg) scaleX(1.1) } 100% { transform: rotate(-20deg) scaleX(1) } }
@keyframes omf-shadow { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.3 } }
@keyframes omf-ray { 0% { opacity:.1 } 50% { opacity:.2 } 100% { opacity:.1 } }

.scn-max-monarch-spirit-fall { background: linear-gradient(180deg, #0a0a1e 0%, #1a1a3e 40%, #2a1a1a 100%), radial-gradient(ellipse at 50% 20%, #4a2a1a 0%, transparent 70%); }
.scn-max-monarch-spirit-fall .msf-sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3e 60%, #2a1a2a 100%); animation: msf-sky 15s ease-in-out infinite alternate; }
.scn-max-monarch-spirit-fall .msf-sea { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 30% 70% 0 0 / 50% 60% 0 0; animation: msf-sea 6s ease-in-out infinite alternate; }
.scn-max-monarch-spirit-fall .msf-ship-hull { position:absolute; bottom:32%; left:50%; width:120px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%; animation: msf-ship 2s ease-in-out infinite alternate; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-max-monarch-spirit-fall .msf-ship-fire { position:absolute; bottom:42%; left:50%; width:60px; height:40px; transform:translateX(-50%) scaleY(1); background: radial-gradient(ellipse at 50% 100%, #c8553d 0%, #8a3a1a 50%, #3a1a0a 100%); border-radius: 50% 50% 10% 10%; animation: msf-fire 0.5s ease-in-out infinite alternate; box-shadow: 0 0 40px 20px rgba(200,85,61,.4); }
.scn-max-monarch-spirit-fall .msf-smoke-a { position:absolute; bottom:44%; left:44%; width:80px; height:60px; background: radial-gradient(ellipse, rgba(60,50,40,.6) 0%, transparent 70%); filter: blur(8px); animation: msf-smoke-a 10s linear infinite; }
.scn-max-monarch-spirit-fall .msf-smoke-b { position:absolute; bottom:46%; left:56%; width:100px; height:70px; background: radial-gradient(ellipse, rgba(80,70,60,.5) 0%, transparent 70%); filter: blur(10px); animation: msf-smoke-b 12s linear infinite reverse; }
.scn-max-monarch-spirit-fall .msf-falling-fig-a { position:absolute; bottom:50%; left:30%; width:12px; height:28px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: msf-fall-a 3s ease-in infinite; }
.scn-max-monarch-spirit-fall .msf-falling-fig-b { position:absolute; bottom:55%; right:35%; width:10px; height:24px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: msf-fall-b 4s ease-in infinite 0.5s; }
.scn-max-monarch-spirit-fall .msf-debris { position:absolute; bottom:34%; left:42%; width:8px; height:8px; background: #3a2a1a; border-radius: 2px; animation: msf-debris 1.5s linear infinite; box-shadow: 0 0 4px rgba(58,42,26,.5); }
@keyframes msf-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes msf-sea { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes msf-ship { 0% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(1px) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes msf-fire { 0% { transform: translateX(-50%) scaleY(1) scaleX(1) } 50% { transform: translateX(-50%) scaleY(1.3) scaleX(1.1) } 100% { transform: translateX(-50%) scaleY(0.9) scaleX(0.95) } }
@keyframes msf-smoke-a { 0% { transform: translate(0,0) scale(1); opacity:.6 } 50% { transform: translate(30px,-20px) scale(1.5); opacity:.3 } 100% { transform: translate(60px,-40px) scale(2); opacity:0 } }
@keyframes msf-smoke-b { 0% { transform: translate(0,0) scale(1); opacity:.5 } 50% { transform: translate(-20px,-30px) scale(1.8); opacity:.2 } 100% { transform: translate(-40px,-60px) scale(2.5); opacity:0 } }
@keyframes msf-fall-a { 0% { transform: translateY(0) rotate(0deg); opacity:1 } 50% { transform: translateY(30px) rotate(180deg); opacity:.7 } 100% { transform: translateY(60px) rotate(360deg); opacity:0 } }
@keyframes msf-fall-b { 0% { transform: translateY(0) rotate(0deg); opacity:1 } 50% { transform: translateY(40px) rotate(-200deg); opacity:.6 } 100% { transform: translateY(80px) rotate(-400deg); opacity:0 } }
@keyframes msf-debris { 0% { transform: translate(0,0) rotate(0deg); opacity:1 } 50% { transform: translate(20px,10px) rotate(180deg); opacity:.5 } 100% { transform: translate(40px,20px) rotate(360deg); opacity:0 } }

.scn-max-must-lose-father-or-friend { background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a1a 100%), radial-gradient(ellipse at 50% 0%, #3a2a3a 0%, transparent 80%); }
.scn-max-must-lose-father-or-friend .mlf-wall-l { position:absolute; left:0; top:0; width:25%; height:100%; background: linear-gradient(90deg, #2a2a3a 0%, #1a1a2a 100%); box-shadow: inset -4px 0 8px rgba(0,0,0,.4); }
.scn-max-must-lose-father-or-friend .mlf-wall-r { position:absolute; right:0; top:0; width:25%; height:100%; background: linear-gradient(90deg, #1a1a2a 0%, #2a2a3a 100%); box-shadow: inset 4px 0 8px rgba(0,0,0,.4); }
.scn-max-must-lose-father-or-friend .mlf-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; }
.scn-max-must-lose-father-or-friend .mlf-window { position:absolute; top:18%; left:50%; width:60px; height:80px; transform:translateX(-50%); background: radial-gradient(ellipse, #3a4a5a 0%, #1a2a3a 70%); border: 4px solid #3a2a2a; border-radius: 4px; box-shadow: 0 0 30px 10px rgba(58,74,90,.3); animation: mlf-window 6s ease-in-out infinite alternate; }
.scn-max-must-lose-father-or-friend .mlf-curtain { position:absolute; top:16%; left:46%; width:80px; height:100px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius: 20% 20% 0 0; transform-origin: top center; animation: mlf-curtain 8s ease-in-out infinite; }
.scn-max-must-lose-father-or-friend .mlf-figure-a { position:absolute; bottom:22%; left:35%; width:20px; height:50px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mlf-fig-a 5s ease-in-out infinite; }
.scn-max-must-lose-father-or-friend .mlf-figure-b { position:absolute; bottom:22%; right:35%; width:22px; height:54px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mlf-fig-b 5s ease-in-out infinite 1s; }
.scn-max-must-lose-father-or-friend .mlf-shadow { position:absolute; bottom:5%; left:30%; width:40%; height:20%; background: radial-gradient(ellipse, rgba(0,0,0,.4) 0%, transparent 70%); animation: mlf-shadow 5s ease-in-out infinite alternate; }
@keyframes mlf-window { 0% { box-shadow: 0 0 20px 5px rgba(58,74,90,.2) } 50% { box-shadow: 0 0 40px 15px rgba(58,74,90,.5) } 100% { box-shadow: 0 0 25px 8px rgba(58,74,90,.3) } }
@keyframes mlf-curtain { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) translateY(2px) } 100% { transform: rotate(-1deg) translateY(-1px) } }
@keyframes mlf-fig-a { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(3px) rotate(2deg) } 66% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mlf-fig-b { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(-4px) rotate(-2deg) } 66% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mlf-shadow { 0% { opacity:.3; transform: scale(1) } 50% { opacity:.6; transform: scale(1.05) } 100% { opacity:.4; transform: scale(0.95) } }

.scn-astrological-lab-setup { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #2a1a2e 100%), radial-gradient(ellipse at 50% 50%, #2a1a3a 0%, transparent 80%); }
.scn-astrological-lab-setup .als-bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 60%, #2a1a2e 100%); animation: als-bg 20s ease-in-out infinite alternate; }
.scn-astrological-lab-setup .als-bg-mid { position:absolute; inset:10% 5% 10% 5%; background: radial-gradient(ellipse at 50% 0%, rgba(30,20,50,.3) 0%, transparent 70%); animation: als-bg-mid 25s ease-in-out infinite alternate; }
.scn-astrological-lab-setup .als-globe { position:absolute; top:15%; right:18%; width:40px; height:40px; background: radial-gradient(circle at 40% 35%, #4a6a8a 0%, #2a3a5a 100%); border-radius: 50%; box-shadow: 0 0 20px 5px rgba(74,106,138,.3), inset -4px -4px 8px rgba(0,0,0,.3); animation: als-globe 15s linear infinite; }
.scn-astrological-lab-setup .als-chart { position:absolute; bottom:10%; left:10%; width:120px; height:90px; background: linear-gradient(135deg, #2a2a3a 0%, #3a3a4a 50%, #2a2a3a 100%); border-radius: 4px; transform: rotate(-5deg); box-shadow: 0 4px 12px rgba(0,0,0,.4); animation: als-chart 8s ease-in-out infinite alternate; }
.scn-astrological-lab-setup .als-figure-a { position:absolute; top:10%; left:15%; width:24px; height:60px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: als-fig-a 6s ease-in-out infinite; }
.scn-astrological-lab-setup .als-figure-b { position:absolute; top:14%; right:20%; width:22px; height:56px; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: als-fig-b 7s ease-in-out infinite 1s; }
.scn-astrological-lab-setup .als-star-a { position:absolute; top:6%; left:22%; width:8px; height:8px; background: radial-gradient(circle, #ffd060 0%, #c08040 70%); border-radius: 50%; box-shadow: 0 0 16px 4px rgba(255,208,96,.6); animation: als-star-a 3s ease-in-out infinite alternate; }
.scn-astrological-lab-setup .als-star-b { position:absolute; top:8%; right:28%; width:6px; height:6px; background: radial-gradient(circle, #80a0c0 0%, #406080 70%); border-radius: 50%; box-shadow: 0 0 12px 3px rgba(128,160,192,.5); animation: als-star-b 4s ease-in-out infinite alternate-reverse; }
.scn-astrological-lab-setup .als-telescope { position:absolute; bottom:20%; left:25%; width:80px; height:12px; background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 50% 50% / 40% 40% 40% 40%; transform: rotate(-30deg); transform-origin: 0% 50%; animation: als-telescope 12s ease-in-out infinite; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
@keyframes als-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes als-bg-mid { 0% { opacity:.5 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes als-globe { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
@keyframes als-chart { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-4deg) translateY(-2px) } 100% { transform: rotate(-6deg) translateY(0) } }
@keyframes als-fig-a { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-2px) rotate(1deg) } 66% { transform: translateY(2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes als-fig-b { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-3px) rotate(-1deg) } 66% { transform: translateY(1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes als-star-a { 0% { box-shadow: 0 0 12px 3px rgba(255,208,96,.4); opacity:.7 } 50% { box-shadow: 0 0 24px 8px rgba(255,208,96,.8); opacity:1 } 100% { box-shadow: 0 0 16px 5px rgba(255,208,96,.5); opacity:.8 } }
@keyframes als-star-b { 0% { box-shadow: 0 0 8px 2px rgba(128,160,192,.3); opacity:.6 } 50% { box-shadow: 0 0 20px 6px rgba(128,160,192,.7); opacity:1 } 100% { box-shadow: 0 0 12px 4px rgba(128,160,192,.4); opacity:.7 } }
@keyframes als-telescope { 0% { transform: rotate(-30deg) } 50% { transform: rotate(-28deg) translateY(2px) } 100% { transform: rotate(-32deg) translateY(-2px) } }

.scn-wallenstein-seni-observation { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 30%, #2a1a2e 100%), radial-gradient(ellipse at 80% 20%, #4a2a1a 0%, transparent 70%); }
.scn-wallenstein-seni-observation .wso-bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #2a1a2e 100%); animation: wso-bg 12s ease-in-out infinite alternate; }
.scn-wallenstein-seni-observation .wso-floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 30% 70% 0 0 / 20% 30% 0 0; }
.scn-wallenstein-seni-observation .wso-table { position:absolute; bottom:15%; left:50%; width:100px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-wallenstein-seni-observation .wso-speculum { position:absolute; bottom:24%; left:50%; width:30px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50%; border: 2px solid #4a3a2a; box-shadow: 0 0 20px 5px rgba(74,58,42,.3); animation: wso-speculum 8s ease-in-out infinite alternate; }
.scn-wallenstein-seni-observation .wso-window { position:absolute; top:10%; right:8%; width:50px; height:70px; background: radial-gradient(ellipse, #2a3a4a 0%, #0a1a2a 80%); border: 3px solid #3a2a2a; border-radius: 4px; box-shadow: 0 0 30px 10px rgba(42,58,74,.2); animation: wso-window 6s ease-in-out infinite alternate; }
.scn-wallenstein-seni-observation .wso-figure-seni { position:absolute; top:14%; right:12%; width:16px; height:40px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wso-seni 5s ease-in-out infinite; }
.scn-wallenstein-seni-observation .wso-figure-wall { position:absolute; bottom:20%; left:42%; width:20px; height:50px; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wso-wall-fig 6s ease-in-out infinite 0.5s; }
.scn-wallenstein-seni-observation .wso-mars-glow { position:absolute; top:8%; left:50%; width:12px; height:12px; background: radial-gradient(circle, #c8553d 0%, #a0461a 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(200,85,61,.4), 0 0 60px 20px rgba(200,85,61,.2); animation: wso-mars 4s ease-in-out infinite alternate; }
@keyframes wso-bg { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes wso-speculum { 0% { box-shadow: 0 0 15px 3px rgba(74,58,42,.2); transform: translateX(-50%) rotate(0deg) } 50% { box-shadow: 0 0 30px 8px rgba(74,58,42,.5); transform: translateX(-50%) rotate(5deg) } 100% { box-shadow: 0 0 20px 5px rgba(74,58,42,.3); transform: translateX(-50%) rotate(0deg) } }
@keyframes wso-window { 0% { box-shadow: 0 0 20px 5px rgba(42,58,74,.15) } 50% { box-shadow: 0 0 40px 15px rgba(42,58,74,.4) } 100% { box-shadow: 0 0 25px 8px rgba(42,58,74,.2) } }
@keyframes wso-seni { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(-2px) rotate(2deg) } 66% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wso-wall-fig { 0% { transform: translateY(0) rotate(0deg) } 33% { transform: translateY(2px) rotate(-2deg) } 66% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wso-mars { 0% { box-shadow: 0 0 20px 5px rgba(200,85,61,.3); opacity:.8 } 50% { box-shadow: 0 0 40px 15px rgba(200,85,61,.6); opacity:1 } 100% { box-shadow: 0 0 25px 8px rgba(200,85,61,.4); opacity:.9 } }

.scn-octavio-emperor-bids {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a44 50%, #1a1a2e 100%),
    radial-gradient(ellipse at 30% 60%, #3a2a1a 0%, transparent 70%);
}
.scn-octavio-emperor-bids .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #2a2a44 0%, #3a3a54 20%, #2a2a44 40%, #3a3a54 60%, #2a2a44 80%, #3a3a54 100%); box-shadow: inset 0 0 30px rgba(0,0,0,.6); animation: oeb-wall 12s ease-in-out infinite alternate; }
.scn-octavio-emperor-bids .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a1a2e 0%, #2a2a3a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: oeb-floor 6s ease-in-out infinite; }
.scn-octavio-emperor-bids .table { position:absolute; bottom:16%; left:38%; width:80px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 8px 15px rgba(0,0,0,.6); }
.scn-octavio-emperor-bids .candle { position:absolute; bottom:22%; left:42%; width:8px; height:20px; background: linear-gradient(180deg, #e0c080 0%, #c08040 100%); border-radius: 20% 20% 0 0; box-shadow: 0 0 20px 8px rgba(255,180,80,.5), 0 0 40px 15px rgba(255,180,80,.3); animation: oeb-candle 3s ease-in-out infinite; }
.scn-octavio-emperor-bids .octavio { position:absolute; bottom:10%; left:20%; width:30px; height:70px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oeb-figure 4s ease-in-out infinite; }
.scn-octavio-emperor-bids .max { position:absolute; bottom:10%; right:20%; width:30px; height:72px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: oeb-figure 4s ease-in-out infinite reverse; }
.scn-octavio-emperor-bids .glow { position:absolute; bottom:18%; left:40%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,120,.5) 0%, rgba(255,180,80,.2) 50%, transparent 100%); border-radius: 50%; filter: blur(8px); animation: oeb-glow 3s ease-in-out infinite alternate; }

@keyframes oeb-wall { 0% { opacity:.8; } 50% { opacity:1; } 100% { opacity:.7; } }
@keyframes oeb-floor { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes oeb-candle { 0% { transform: scaleY(1) rotate(-1deg); opacity:.9; box-shadow: 0 0 16px 5px rgba(255,180,80,.4), 0 0 30px 10px rgba(255,180,80,.2); } 50% { transform: scaleY(1.05) rotate(1deg); opacity:1; box-shadow: 0 0 24px 8px rgba(255,200,100,.6), 0 0 50px 18px rgba(255,200,100,.3); } 100% { transform: scaleY(1) rotate(0); opacity:.85; box-shadow: 0 0 18px 5px rgba(255,180,80,.4), 0 0 35px 12px rgba(255,180,80,.2); } }
@keyframes oeb-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(-1deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(1deg); } }
@keyframes oeb-glow { 0% { transform: scale(1); opacity:.5; } 100% { transform: scale(1.3); opacity:.8; } }

.scn-max-she-is-angel {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #3a2a1a 50%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 30%, #c08040 0%, transparent 70%);
}
.scn-max-she-is-angel .room { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a0a 0%, transparent 50%, #1a0a00 100%); animation: msa-room 20s ease-in-out infinite; }
.scn-max-she-is-angel .window { position:absolute; top:10%; left:35%; width:80px; height:100px; background: linear-gradient(180deg, #806040 0%, #604020 100%); border-radius: 5% 5% 10% 10%; box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 0 30px 10px rgba(200,150,80,.2); animation: msa-window 8s ease-in-out infinite; }
.scn-max-she-is-angel .max { position:absolute; bottom:10%; left:15%; width:35px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: msa-max 5s ease-in-out infinite; }
.scn-max-she-is-angel .angel { position:absolute; bottom:25%; right:20%; width:50px; height:100px; background: radial-gradient(ellipse at 50% 30%, #ffe0b0 0%, #c08040 60%, transparent 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; filter: blur(4px); animation: msa-angel 6s ease-in-out infinite alternate; }
.scn-max-she-is-angel .light { position:absolute; top:20%; left:30%; width:200px; height:200px; background: radial-gradient(circle, rgba(255,220,150,.4) 0%, rgba(255,200,100,.1) 40%, transparent 100%); border-radius: 50%; filter: blur(15px); animation: msa-light 12s ease-in-out infinite; }
.scn-max-she-is-angel .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0a00 0%, transparent 100%); opacity:.6; animation: msa-shadow 6s ease-in-out infinite alternate; }
.scn-max-she-is-angel .rays { position:absolute; top:15%; left:20%; width:300px; height:150px; background: linear-gradient(135deg, rgba(255,220,150,.2) 0%, transparent 50%, rgba(255,220,150,.1) 100%); transform: rotate(20deg); filter: blur(10px); animation: msa-rays 15s linear infinite; }

@keyframes msa-room { 0%,100% { opacity:.8; } 50% { opacity:1; } }
@keyframes msa-window { 0% { box-shadow: inset 0 0 15px rgba(0,0,0,.5), 0 0 20px 5px rgba(200,150,80,.1); } 50% { box-shadow: inset 0 0 25px rgba(0,0,0,.5), 0 0 40px 15px rgba(200,150,80,.3); } 100% { box-shadow: inset 0 0 15px rgba(0,0,0,.5), 0 0 25px 8px rgba(200,150,80,.15); } }
@keyframes msa-max { 0%,100% { transform: translateX(0) translateY(0) rotate(-2deg); } 50% { transform: translateX(3px) translateY(-2px) rotate(2deg); } }
@keyframes msa-angel { 0% { transform: scale(1) translateY(0); opacity:.7; } 100% { transform: scale(1.1) translateY(-5px); opacity:1; } }
@keyframes msa-light { 0% { transform: scale(1) translate(0,0); opacity:.3; } 50% { transform: scale(1.2) translate(10px,-10px); opacity:.5; } 100% { transform: scale(1) translate(0,0); opacity:.3; } }
@keyframes msa-shadow { 0% { opacity:.4; } 100% { opacity:.8; } }
@keyframes msa-rays { 0% { transform: rotate(20deg) translateX(-50px); } 100% { transform: rotate(20deg) translateX(50px); } }

.scn-octavio-threatens-combat {
  background: 
    linear-gradient(180deg, #0a0a1a 0%, #1a0a0a 50%, #0a0000 100%),
    radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, transparent 80%);
}
.scn-octavio-threatens-combat .bg { position:absolute; inset:0; background: repeating-linear-gradient(0deg, rgba(0,0,0,.3) 0%, transparent 5%, rgba(0,0,0,.3) 10%); animation: otc-bg 8s ease-in-out infinite; }
.scn-octavio-threatens-combat .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #0a0a00 0%, #1a0a00 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.8); }
.scn-octavio-threatens-combat .torch { position:absolute; top:15%; left:10%; width:12px; height:30px; background: linear-gradient(180deg, #ffa040 0%, #c06020 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 30px 15px rgba(255,160,64,.6), 0 0 60px 30px rgba(255,160,64,.3); animation: otc-torch 2s ease-in-out infinite; }
.scn-octavio-threatens-combat .octavio { position:absolute; bottom:10%; left:20%; width:35px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: otc-figure 3s ease-in-out infinite; }
.scn-octavio-threatens-combat .max { position:absolute; bottom:10%; right:20%; width:35px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: otc-figure 3s ease-in-out infinite reverse; }
.scn-octavio-threatens-combat .sword-o { position:absolute; bottom:30%; left:25%; width:4px; height:60px; background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%); transform: rotate(-30deg); transform-origin: bottom; border-radius: 10% 10% 0 0; animation: otc-sword 4s ease-in-out infinite; }
.scn-octavio-threatens-combat .sword-m { position:absolute; bottom:30%; right:25%; width:4px; height:60px; background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%); transform: rotate(30deg); transform-origin: bottom; border-radius: 10% 10% 0 0; animation: otc-sword 4s ease-in-out infinite reverse; }
.scn-octavio-threatens-combat .sparks { position:absolute; top:40%; left:40%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,200,100,.4) 0%, transparent 70%); filter: blur(6px); animation: otc-sparks 3s ease-in-out infinite; }

@keyframes otc-bg { 0%,100% { opacity:.6; } 50% { opacity:.8; } }
@keyframes otc-torch { 0% { transform: scaleY(1) rotate(-2deg); box-shadow: 0 0 20px 10px rgba(255,160,64,.5), 0 0 40px 20px rgba(255,160,64,.2); } 50% { transform: scaleY(1.1) rotate(2deg); box-shadow: 0 0 30px 15px rgba(255,180,80,.7), 0 0 60px 30px rgba(255,180,80,.3); } 100% { transform: scaleY(1) rotate(-2deg); box-shadow: 0 0 20px 10px rgba(255,160,64,.5), 0 0 40px 20px rgba(255,160,64,.2); } }
@keyframes otc-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); } }
@keyframes otc-sword { 0%,100% { transform: rotate(-30deg) translateY(0); } 50% { transform: rotate(-25deg) translateY(-3px); } }
@keyframes otc-sparks { 0% { transform: scale(.8); opacity:.3; } 50% { transform: scale(1.2); opacity:.6; } 100% { transform: scale(.8); opacity:.3; } }

.scn-max-faith-needed {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a1a2e 50%, #1a0a1a 100%),
    radial-gradient(ellipse at 50% 40%, #3a2a3a 0%, transparent 70%);
}
.scn-max-faith-needed .bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 50%, rgba(0,0,0,.2) 100%); animation: mfn-bg 10s ease-in-out infinite; }
.scn-max-faith-needed .wall { position:absolute; top:0; left:50%; width:200px; height:100%; transform: translateX(-50%); background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); box-shadow: inset 0 0 40px rgba(0,0,0,.6); animation: mfn-wall 12s ease-in-out infinite alternate; }
.scn-max-faith-needed .octavio { position:absolute; bottom:10%; left:25%; width:35px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mfn-figure 5s ease-in-out infinite; }
.scn-max-faith-needed .max { position:absolute; bottom:10%; right:25%; width:35px; height:80px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mfn-figure 5s ease-in-out infinite reverse; }
.scn-max-faith-needed .hand { position:absolute; bottom:35%; left:40%; width:20px; height:30px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: rotate(-10deg); animation: mfn-hand 4s ease-in-out infinite; }
.scn-max-faith-needed .light { position:absolute; top:15%; left:45%; width:100px; height:100px; background: radial-gradient(circle, rgba(200,180,220,.3) 0%, rgba(150,130,180,.1) 50%, transparent 100%); border-radius: 50%; filter: blur(10px); animation: mfn-light 8s ease-in-out infinite; }
.scn-max-faith-needed .shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #0a0a1a 0%, transparent 100%); opacity:.5; animation: mfn-shadow 5s ease-in-out infinite alternate; }

@keyframes mfn-bg { 0%,100% { opacity:.7; } 50% { opacity:.9; } }
@keyframes mfn-wall { 0% { transform: translateX(-50%) scaleY(1); } 100% { transform: translateX(-50%) scaleY(1.02); } }
@keyframes mfn-figure { 0%,100% { transform: translateX(0) translateY(0) rotate(0); } 50% { transform: translateX(2px) translateY(-2px) rotate(1deg); } }
@keyframes mfn-hand { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-3px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes mfn-light { 0% { transform: scale(.9); opacity:.2; } 50% { transform: scale(1.1); opacity:.5; } 100% { transform: scale(.9); opacity:.2; } }
@keyframes mfn-shadow { 0% { opacity:.4; } 100% { opacity:.7; } }

/* Scene: countess-urging-declaration (tense bright interior) */

.scn-countess-urging-declaration {
  background: linear-gradient(180deg, #f5e6d3 0%, #e6d2b8 40%, #d4b896 70%, #c4a67a 100%),
              radial-gradient(ellipse at 50% 80%, #f0d8b0 0%, transparent 60%);
}
.scn-countess-urging-declaration .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, rgba(255,240,220,0.9) 0%, rgba(200,170,140,0.9) 100%);
  animation: cud-bg 18s ease-in-out infinite alternate;
}
.scn-countess-urging-declaration .window {
  position: absolute; top: 10%; right: 12%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #fef8e8 0%, #f0e0c0 100%);
  border-radius: 2% 2% 8% 8% / 4% 4% 10% 10%;
  box-shadow: inset 0 0 40px rgba(255,200,100,0.3);
  animation: cud-window 12s ease-in-out infinite;
}
.scn-countess-urging-declaration .window-glow {
  position: absolute; top: 8%; right: 10%; width: 32%; height: 52%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,220,140,0.4) 0%, transparent 70%);
  filter: blur(15px);
  animation: cud-glow 8s ease-in-out infinite alternate;
}
.scn-countess-urging-declaration .figure-countess {
  position: absolute; bottom: 25%; left: 32%; width: 16%; height: 45%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cud-figure1 6s ease-in-out infinite;
}
.scn-countess-urging-declaration .figure-thekla {
  position: absolute; bottom: 22%; right: 40%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: cud-figure2 8s ease-in-out infinite;
}
.scn-countess-urging-declaration .table {
  position: absolute; bottom: 18%; left: 50%; transform: translateX(-50%); width: 28%; height: 8%;
  background: linear-gradient(180deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  animation: cud-table 20s linear infinite;
}
.scn-countess-urging-declaration .candle {
  position: absolute; bottom: 26%; left: 50%; transform: translateX(-50%); width: 2%; height: 12%;
  background: linear-gradient(180deg, #f0d080 0%, #c8a060 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(255,200,80,0.5), 0 0 40px 12px rgba(255,200,80,0.2);
  animation: cud-candle 4s ease-in-out infinite alternate;
}
.scn-countess-urging-declaration .shadow {
  position: absolute; bottom: 16%; left: 30%; width: 40%; height: 30%;
  background: linear-gradient(180deg, rgba(40,30,20,0.6) 0%, transparent 100%);
  clip-path: polygon(20% 0, 80% 0, 90% 100%, 10% 100%);
  filter: blur(8px);
  animation: cud-shadow 10s ease-in-out infinite;
}
@keyframes cud-bg { 0% { opacity:1 } 50% { opacity:0.85 } 100% { opacity:0.9 } }
@keyframes cud-window { 0%,100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3px) scaleY(1.02) } }
@keyframes cud-glow { 0% { opacity:0.5; transform: scale(0.95) } 50% { opacity:0.8; transform: scale(1.05) } 100% { opacity:0.6; transform: scale(1) } }
@keyframes cud-figure1 { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(0deg) } 50% { transform: translateX(5px) rotate(1deg) } 75% { transform: translateX(2px) rotate(0deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes cud-figure2 { 0% { transform: translateX(0) scaleY(1) } 33% { transform: translateX(-3px) scaleY(0.98) } 66% { transform: translateX(3px) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes cud-table { 0%,100% { transform: translateX(-50%) } 50% { transform: translateX(-50%) translateY(-1px) } }
@keyframes cud-candle { 0% { box-shadow: 0 0 15px 4px rgba(255,200,80,0.4); transform: scaleY(1) rotate(-2deg) } 50% { box-shadow: 0 0 30px 10px rgba(255,200,80,0.7); transform: scaleY(1.05) rotate(0deg) } 100% { box-shadow: 0 0 20px 6px rgba(255,200,80,0.5); transform: scaleY(1) rotate(2deg) } }
@keyframes cud-shadow { 0% { opacity:0.6; transform: translateX(0) } 50% { opacity:0.4; transform: translateX(10px) } 100% { opacity:0.7; transform: translateX(-5px) } }

/* Scene: thekla-demanding-truth (tense bright interior) */

.scn-thekla-demanding-truth {
  background: linear-gradient(135deg, #f0e0d0 0%, #dcc8b0 50%, #c0a888 100%),
              radial-gradient(ellipse at 30% 70%, #f5e8d8 0%, transparent 60%);
}
.scn-thekla-demanding-truth .bg-wall {
  position: absolute; inset: 0 0 30% 0; 
  background: linear-gradient(180deg, #f2e4d4 0%, #e8d6c0 100%);
  animation: tdt-wall 20s ease-in-out infinite alternate;
}
.scn-thekla-demanding-truth .bg-shadow {
  position: absolute; inset: 30% 0 0 0;
  background: linear-gradient(180deg, #b89a80 0%, #8a7058 100%);
  border-radius: 60% 40% 0 0 / 30% 30% 0 0;
  animation: tdt-shadow 15s ease-in-out infinite;
}
.scn-thekla-demanding-truth .figure-thekla {
  position: absolute; bottom: 20%; left: 40%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: tdt-figure 5s ease-in-out infinite;
}
.scn-thekla-demanding-truth .hand-pointing {
  position: absolute; bottom: 38%; left: 46%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: 50% 100%;
  animation: tdt-hand 3s ease-in-out infinite;
}
.scn-thekla-demanding-truth .chair {
  position: absolute; bottom: 15%; right: 25%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3828 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: tdt-chair 25s linear infinite;
}
.scn-thekla-demanding-truth .light-source {
  position: absolute; top: 10%; left: 20%; width: 5%; height: 8%;
  background: radial-gradient(circle, #fff8e0 0%, #f0d8a0 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px rgba(255,240,200,0.4);
  animation: tdt-light 7s ease-in-out infinite alternate;
}
.scn-thekla-demanding-truth .dust-motes {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.08) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,255,255,0.05) 0%, transparent 40%);
  filter: blur(2px);
  animation: tdt-dust 60s linear infinite;
}
@keyframes tdt-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tdt-shadow { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes tdt-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(2deg) } 50% { transform: translateX(-1px) rotate(-1deg) } 75% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes tdt-hand { 0% { transform: rotate(-15deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(-15deg) } }
@keyframes tdt-chair { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes tdt-light { 0% { opacity:0.6; transform: scale(0.9) } 50% { opacity:0.9; transform: scale(1.2) } 100% { opacity:0.7; transform: scale(1) } }
@keyframes tdt-dust { 0% { background-position: 0 0, 0 0 } 100% { background-position: 100px 200px, -80px 150px } }

/* Scene: thekla-surprise-connection (tense bright interior) */

.scn-thekla-surprise-connection {
  background: linear-gradient(180deg, #f8ede0 0%, #e6d4be 40%, #d0b898 70%, #b89a7a 100%),
              radial-gradient(ellipse at 60% 70%, #faf0e0 0%, transparent 50%);
}
.scn-thekla-surprise-connection .bg-hall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #e8d6c0 0%, #f0e2d0 50%, #e0ccb4 100%);
  animation: tsc-hall 30s ease-in-out infinite alternate;
}
.scn-thekla-surprise-connection .halo-back {
  position: absolute; top: 20%; left: 50%; transform: translateX(-50%); width: 40%; height: 60%;
  background: radial-gradient(ellipse, rgba(255,240,200,0.35) 0%, transparent 70%);
  filter: blur(20px);
  animation: tsc-halo 6s ease-in-out infinite alternate;
}
.scn-thekla-surprise-connection .figure-thekla {
  position: absolute; bottom: 22%; left: 30%; width: 18%; height: 48%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: tsc-figA 7s ease-in-out infinite;
}
.scn-thekla-surprise-connection .figure-countess {
  position: absolute; bottom: 25%; right: 30%; width: 16%; height: 44%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tsc-figB 9s ease-in-out infinite;
}
.scn-thekla-surprise-connection .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8a7058 0%, #6a5040 100%);
  border-radius: 30% 70% 0 0 / 20% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: tsc-floor 22s linear infinite;
}
.scn-thekla-surprise-connection .pillar {
  position: absolute; bottom: 10%; left: 15%; width: 6%; height: 70%;
  background: linear-gradient(90deg, #c0a888 0%, #e0ccb4 50%, #b89a80 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
  animation: tsc-pillar 40s ease-in-out infinite;
}
.scn-thekla-surprise-connection .light-beam {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,245,220,0.2) 20%, rgba(255,245,220,0.4) 50%, transparent 80%);
  filter: blur(10px);
  animation: tsc-beam 14s ease-in-out infinite alternate;
}
@keyframes tsc-hall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tsc-halo { 0% { opacity:0.4; transform: scale(0.9) } 50% { opacity:0.7; transform: scale(1.1) } 100% { opacity:0.5; transform: scale(1) } }
@keyframes tsc-figA { 0% { transform: translateX(0) rotate(-2deg) scaleY(1) } 25% { transform: translateX(-4px) rotate(0deg) scaleY(0.98) } 50% { transform: translateX(2px) rotate(1deg) scaleY(1.02) } 75% { transform: translateX(-1px) rotate(-1deg) scaleY(1) } 100% { transform: translateX(0) rotate(-2deg) scaleY(1) } }
@keyframes tsc-figB { 0% { transform: translateX(0) rotate(0deg) } 33% { transform: translateX(3px) rotate(-1deg) } 66% { transform: translateX(-2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes tsc-floor { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes tsc-pillar { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.005) } 100% { transform: scaleY(1) } }
@keyframes tsc-beam { 0% { opacity:0.3; transform: translateX(-10px) } 50% { opacity:0.6; transform: translateX(10px) } 100% { opacity:0.4; transform: translateX(-5px) } }

/* Scene: countess-demanding-renunciation (tense bright interior) */

.scn-countess-demanding-renunciation {
  background: linear-gradient(180deg, #f0dfc8 0%, #dccaae 40%, #c4ae92 70%, #ac9476 100%),
              radial-gradient(ellipse at 40% 60%, #f5e6d4 0%, transparent 55%);
}
.scn-countess-demanding-renunciation .bg-interior {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d4b8 0%, #d8c2a4 100%);
  animation: cdr-bg 18s ease-in-out infinite alternate;
}
.scn-countess-demanding-renunciation .column {
  position: absolute; top: 0; left: 25%; width: 4%; height: 100%;
  background: linear-gradient(90deg, #b09880 0%, #d0bca0 50%, #a08870 100%);
  border-radius: 8%;
  box-shadow: 2px 0 10px rgba(0,0,0,0.1);
  animation: cdr-column 45s linear infinite;
}
.scn-countess-demanding-renunciation .figure-countess {
  position: absolute; bottom: 20%; left: 28%; width: 15%; height: 45%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  border-radius: 40% 40% 45% 45% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: cdr-figCountess 6s ease-in-out infinite;
}
.scn-countess-demanding-renunciation .figure-thekla {
  position: absolute; bottom: 22%; right: 32%; width: 14%; height: 42%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: cdr-figThekla 8s ease-in-out infinite;
}
.scn-countess-demanding-renunciation .shadow-action {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, rgba(40,30,20,0.4) 0%, transparent 100%);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0% 100%);
  filter: blur(12px);
  animation: cdr-shadow 12s ease-in-out infinite;
}
.scn-countess-demanding-renunciation .light-shaft {
  position: absolute; top: 5%; left: 35%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(255,245,220,0.15) 0%, transparent 60%);
  clip-path: polygon(20% 0, 80% 0, 70% 100%, 30% 100%);
  filter: blur(10px);
  animation: cdr-shaft 16s ease-in-out infinite alternate;
}
.scn-countess-demanding-renunciation .curtain {
  position: absolute; top: 0; right: 5%; width: 10%; height: 100%;
  background: linear-gradient(180deg, #8a7058 0%, #6a5040 50%, #4a3828 100%);
  border-radius: 0 0 20% 20% / 0 0 30% 30%;
  box-shadow: -4px 0 12px rgba(0,0,0,0.2);
  animation: cdr-curtain 25s ease-in-out infinite;
}
@keyframes cdr-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes cdr-column { 0% { transform: scaleY(1) translateY(0) } 50% { transform: scaleY(1.002) translateY(-1px) } 100% { transform: scaleY(1) translateY(0) } }
@keyframes cdr-figCountess { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(-2px) rotate(2deg) } 75% { transform: translateX(3px) rotate(-1deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes cdr-figThekla { 0% { transform: translateX(0) scaleY(1) } 33% { transform: translateX(-3px) scaleY(0.97) } 66% { transform: translateX(3px) scaleY(1.03) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes cdr-shadow { 0% { opacity:0.5; transform: translateX(0) } 50% { opacity:0.3; transform: translateX(15px) } 100% { opacity:0.6; transform: translateX(-10px) } }
@keyframes cdr-shaft { 0% { opacity:0.3; transform: translateX(-5px) rotate(1deg) } 50% { opacity:0.5; transform: translateX(5px) rotate(-1deg) } 100% { opacity:0.4; transform: translateX(-2px) rotate(0deg) } }
@keyframes cdr-curtain { 0%,100% { transform: translateX(0) } 50% { transform: translateX(-3px) } }

.scn-illo-gloats-over-maxs-death {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2040 30%, #3a2a4a 60%, #2a1a2e 100%), radial-gradient(ellipse at 30% 60%, rgba(200,180,160,0.15) 0%, transparent 60%);
}
.scn-illo-gloats-over-maxs-death .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #2c2440 0%, #1e1830 50%, #14101e 100%); }
.scn-illo-gloats-over-maxs-death .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a2a2a 0%, #1e1414 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,0.6); }
.scn-illo-gloats-over-maxs-death .window-arch { position:absolute; top:8%; left:20%; width:35%; height:50%; background: linear-gradient(180deg, #4a3a5a 0%, #2a203a 100%); border-radius: 50% 50% 0 0 / 60% 60% 0 0; box-shadow: inset 0 0 40px rgba(0,0,0,0.7); }
.scn-illo-gloats-over-maxs-death .moonbeam { position:absolute; top:12%; left:25%; width:25%; height:60%; background: linear-gradient(180deg, rgba(220,210,200,0.12) 0%, transparent 100%); transform: skewX(-8deg); animation: imd-beam 10s ease-in-out infinite alternate; }
.scn-illo-gloats-over-maxs-death .figure-illo { position:absolute; bottom:28%; left:48%; width:15%; height:42%; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: -8px 0 20px rgba(0,0,0,0.5); animation: imd-figure 6s ease-in-out infinite; }
.scn-illo-gloats-over-maxs-death .candle-glow { position:absolute; bottom:38%; left:62%; width:3%; height:4%; background: radial-gradient(circle, #f0c060 0%, #c08030 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 30px 10px rgba(240,192,96,0.5), 0 0 60px 20px rgba(240,192,96,0.2); animation: imd-candle 3s ease-in-out infinite alternate; }
.scn-illo-gloats-over-maxs-death .coffin-shadow { position:absolute; bottom:16%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, rgba(20,10,10,0.8) 0%, transparent 100%); border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; filter: blur(4px); animation: imd-coffin 8s ease-in-out infinite; }
.scn-illo-gloats-over-maxs-death .drapes { position:absolute; top:0; left:0; width:100%; height:50%; background: linear-gradient(180deg, rgba(40,20,30,0.6) 0%, transparent 100%), linear-gradient(90deg, transparent 15%, rgba(60,30,40,0.4) 30%, transparent 50%, rgba(60,30,40,0.4) 70%, transparent 85%); }
@keyframes imd-beam { 0% { opacity:0.6; transform: skewX(-8deg) translateX(0); } 50% { opacity:0.9; transform: skewX(-5deg) translateX(2%); } 100% { opacity:0.5; transform: skewX(-10deg) translateX(-1%); } }
@keyframes imd-figure { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-1%) rotate(-1deg); } 60% { transform: translateX(1%) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes imd-candle { 0% { opacity:0.7; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes imd-coffin { 0% { opacity:0.6; transform: translateY(0) scaleY(1); } 50% { opacity:0.9; transform: translateY(-2%) scaleY(0.95); } 100% { opacity:0.5; transform: translateY(0) scaleY(1); } }

.scn-illo-criticizes-wallsten {
  background: linear-gradient(180deg, #1e1a2e 0%, #2a2240 30%, #3a2a4a 60%, #22182a 100%), radial-gradient(ellipse at 70% 50%, rgba(220,180,120,0.1) 0%, transparent 50%);
}
.scn-illo-criticizes-wallsten .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e30 0%, #1a1220 100%); }
.scn-illo-criticizes-wallsten .table-long { position:absolute; bottom:20%; left:10%; width:80%; height:8%; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.6); }
.scn-illo-criticizes-wallsten .figure-illo-stand { position:absolute; bottom:26%; left:30%; width:12%; height:40%; background: linear-gradient(180deg, #1a1a30 0%, #0a0a18 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: -4px 0 15px rgba(0,0,0,0.4); animation: icw-illo 5s ease-in-out infinite; }
.scn-illo-criticizes-wallsten .figure-wallsten { position:absolute; bottom:26%; left:55%; width:12%; height:38%; background: linear-gradient(180deg, #2a1a30 0%, #120a18 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 4px 0 15px rgba(0,0,0,0.4); animation: icw-wallsten 7s ease-in-out infinite; }
.scn-illo-criticizes-wallsten .candle-row { position:absolute; bottom:26%; left:20%; width:60%; height:2%; background: repeating-linear-gradient(90deg, #f0c060 0%, #f0c060 1%, transparent 2%, transparent 8%); border-radius: 50%; box-shadow: 0 0 20px 8px rgba(240,192,96,0.3); animation: icw-candles 4s ease-in-out infinite alternate; }
.scn-illo-criticizes-wallsten .carnival-mask { position:absolute; top:20%; left:45%; width:10%; height:8%; background: radial-gradient(ellipse, #6a3a4a 0%, #4a2030 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 16px 4px rgba(106,58,74,0.4); animation: icw-mask 9s ease-in-out infinite; }
.scn-illo-criticizes-wallsten .wine-glass { position:absolute; bottom:24%; left:50%; width:2%; height:8%; background: linear-gradient(180deg, transparent 0%, rgba(120,40,40,0.6) 30%, rgba(120,40,40,0.3) 60%, transparent 100%); border-radius: 0 0 30% 30%; transform: rotate(-5deg); animation: icw-glass 6s ease-in-out infinite; }
.scn-illo-criticizes-wallsten .shadow-pool { position:absolute; bottom:15%; left:25%; width:50%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); filter: blur(6px); animation: icw-shadow 8s ease-in-out infinite alternate; }
@keyframes icw-illo { 0% { transform: translateX(0) rotate(-1deg); } 30% { transform: translateX(2%) rotate(1deg); } 60% { transform: translateX(-1%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes icw-wallsten { 0% { transform: translateX(0) rotate(0deg); } 35% { transform: translateX(-1%) rotate(-2deg); } 70% { transform: translateX(1%) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes icw-candles { 0% { opacity:0.7; filter: blur(0px); } 50% { opacity:1; filter: blur(1px); } 100% { opacity:0.6; filter: blur(0px); } }
@keyframes icw-mask { 0% { transform: translateY(0) rotate(0deg); opacity:0.6; } 50% { transform: translateY(-5%) rotate(5deg); opacity:0.9; } 100% { transform: translateY(0) rotate(-3deg); opacity:0.5; } }
@keyframes icw-glass { 0% { transform: rotate(-5deg) translateY(0); } 40% { transform: rotate(-2deg) translateY(-2%); } 80% { transform: rotate(-7deg) translateY(0); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes icw-shadow { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.8; transform: scaleX(1.1); } 100% { opacity:0.4; transform: scaleX(0.9); } }

.scn-gordon-warns-against-excess {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2038 30%, #3a2a40 60%, #22182a 100%), radial-gradient(ellipse at 50% 30%, rgba(220,200,180,0.12) 0%, transparent 60%);
}
.scn-gordon-warns-against-excess .chamber-wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(135deg, #2a2030 0%, #1a1222 50%, #0e0a16 100%); }
.scn-gordon-warns-against-excess .archway { position:absolute; top:5%; left:15%; width:70%; height:55%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1222 100%); border-radius: 40% 40% 0 0 / 50% 50% 0 0; box-shadow: inset 0 0 60px rgba(0,0,0,0.6); }
.scn-gordon-warns-against-excess .gordon-figure { position:absolute; bottom:24%; left:25%; width:13%; height:44%; background: linear-gradient(180deg, #1e1a3a 0%, #0e0a1e 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 4px 0 18px rgba(0,0,0,0.5); animation: gwe-gordon 5s ease-in-out infinite; }
.scn-gordon-warns-against-excess .illo-figure-angry { position:absolute; bottom:24%; left:52%; width:14%; height:46%; background: linear-gradient(180deg, #1a1a30 0%, #0a0a18 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: -4px 0 18px rgba(0,0,0,0.5); animation: gwe-illo-angry 4s ease-in-out infinite; }
.scn-gordon-warns-against-excess .table-slate { position:absolute; bottom:18%; left:10%; width:80%; height:5%; background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%); border-radius: 6px; box-shadow: 0 6px 20px rgba(0,0,0,0.5); }
.scn-gordon-warns-against-excess .wheel-of-fortune { position:absolute; top:12%; left:38%; width:24%; height:28%; background: conic-gradient(from 0deg, #4a3a4a 0deg, #6a4a5a 45deg, #3a2a3a 90deg, #5a3a4a 135deg, #4a3a4a 180deg, #6a4a5a 225deg, #3a2a3a 270deg, #5a3a4a 315deg, #4a3a4a 360deg); border-radius: 50%; box-shadow: 0 0 30px 8px rgba(0,0,0,0.4), inset 0 0 40px rgba(0,0,0,0.5); animation: gwe-wheel 20s linear infinite; }
.scn-gordon-warns-against-excess .candle-flare { position:absolute; bottom:20%; left:15%; width:3%; height:5%; background: radial-gradient(circle, #f0c060 0%, #c08030 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 25px 8px rgba(240,192,96,0.4); animation: gwe-flare 3s ease-in-out infinite alternate; }
.scn-gordon-warns-against-excess .shadow-stripe { position:absolute; bottom:15%; left:30%; width:40%; height:15%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.4) 30%, transparent 70%); filter: blur(5px); animation: gwe-stripe 7s ease-in-out infinite; }
@keyframes gwe-gordon { 0% { transform: translateX(0) rotate(0deg); } 35% { transform: translateX(2%) rotate(1deg); } 70% { transform: translateX(-1%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes gwe-illo-angry { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 25% { transform: translateX(-2%) rotate(-2deg) scaleY(1.02); } 50% { transform: translateX(1%) rotate(1deg) scaleY(1); } 75% { transform: translateX(-1%) rotate(-1deg) scaleY(0.98); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }
@keyframes gwe-wheel { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes gwe-flare { 0% { opacity:0.6; transform: scale(0.9); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:0.7; transform: scale(0.95); } }
@keyframes gwe-stripe { 0% { opacity:0.3; transform: translateX(0); } 50% { opacity:0.7; transform: translateX(5%); } 100% { opacity:0.2; transform: translateX(-3%); } }

.scn-tertsky-predicts-success {
  background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 30%, #5a4a3a 60%, #3a2a1a 100%), radial-gradient(ellipse at 50% 30%, rgba(240,200,150,0.2) 0%, transparent 60%);
}
.scn-tertsky-predicts-success .hall-glow { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, rgba(240,200,150,0.15) 0%, transparent 70%), linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); }
.scn-tertsky-predicts-success .banner-left { position:absolute; top:5%; left:5%; width:15%; height:55%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 50%, #4a2a1a 100%); border-radius: 4px 4px 20% 20%; box-shadow: 2px 0 15px rgba(0,0,0,0.4); transform: rotate(-3deg); animation: tps-banner-l 12s ease-in-out infinite alternate; }
.scn-tertsky-predicts-success .banner-right { position:absolute; top:5%; right:5%; width:15%; height:55%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 50%, #4a2a1a 100%); border-radius: 4px 4px 20% 20%; box-shadow: -2px 0 15px rgba(0,0,0,0.4); transform: rotate(3deg); animation: tps-banner-r 12s ease-in-out infinite alternate; }
.scn-tertsky-predicts-success .tertsky-figure { position:absolute; bottom:22%; left:38%; width:14%; height:44%; background: linear-gradient(180deg, #3a2a1e 0%, #1e140e 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px 4px rgba(240,200,150,0.2); animation: tps-tertsky 6s ease-in-out infinite; }
.scn-tertsky-predicts-success .illo-figure { position:absolute; bottom:22%; left:52%; width:13%; height:42%; background: linear-gradient(180deg, #3a2a1e 0%, #1e140e 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 0 20px 4px rgba(240,200,150,0.15); animation: tps-illo 7s ease-in-out infinite; }
.scn-tertsky-predicts-success .table-round { position:absolute; bottom:14%; left:30%; width:40%; height:10%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 30% 30% / 80% 80% 30% 30%; box-shadow: 0 8px 25px rgba(0,0,0,0.5); }
.scn-tertsky-predicts-success .candelabra { position:absolute; bottom:22%; left:45%; width:10%; height:20%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%); border-radius: 10% 10% 30% 30%; box-shadow: 0 0 30px 10px rgba(240,200,150,0.4); animation: tps-candelabra 4s ease-in-out infinite alternate; }
.scn-tertsky-predicts-success .fortune-ray { position:absolute; top:5%; left:30%; width:40%; height:60%; background: linear-gradient(180deg, rgba(255,220,160,0.15) 0%, transparent 100%); transform: skewX(-5deg); animation: tps-ray 9s ease-in-out infinite alternate; }
@keyframes tps-banner-l { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(-1deg) translateX(2%); } 100% { transform: rotate(-4deg) translateX(-1%); } }
@keyframes tps-banner-r { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(1deg) translateX(-2%); } 100% { transform: rotate(4deg) translateX(1%); } }
@keyframes tps-tertsky { 0% { transform: translateX(0) rotate(1deg); } 30% { transform: translateX(-1%) rotate(-1deg); } 60% { transform: translateX(2%) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tps-illo { 0% { transform: translateX(0) rotate(0deg); } 40% { transform: translateX(1%) rotate(1deg); } 80% { transform: translateX(-1%) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tps-candelabra { 0% { opacity:0.7; transform: scaleY(1) translateY(0); } 50% { opacity:1; transform: scaleY(1.05) translateY(-2%); } 100% { opacity:0.8; transform: scaleY(0.98) translateY(0); } }
@keyframes tps-ray { 0% { opacity:0.4; transform: skewX(-5deg) translateX(0); } 50% { opacity:0.8; transform: skewX(-2deg) translateX(3%); } 100% { opacity:0.3; transform: skewX(-7deg) translateX(-2%); } }

.scn-octavio-princedoms-bait {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a44 60%, #3a3a5e 100%),
    radial-gradient(ellipse at 50% 80%, #2a2a44 0%, transparent 70%);
}
.scn-octavio-princedoms-bait .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1e1e32 0%, #2e2e4a 100%);
  animation: opb-wall 12s ease-in-out infinite alternate;
}
.scn-octavio-princedoms-bait .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-octavio-princedoms-bait .window-grate {
  position: absolute; top: 10%; left: 60%; width: 25%; height: 45%;
  background: linear-gradient(180deg, rgba(200,200,255,0.15) 0%, rgba(100,100,150,0.25) 100%);
  border: 4px solid #3a2a1a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,30,.5);
  animation: opb-window 18s ease-in-out infinite;
}
.scn-octavio-princedoms-bait .table {
  position: absolute; bottom: 28%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-octavio-princedoms-bait .figure-left {
  position: absolute; bottom: 20%; left: 20%; width: 12%; height: 45%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: opb-fig-l 4s ease-in-out infinite;
}
.scn-octavio-princedoms-bait .figure-right {
  position: absolute; bottom: 20%; right: 15%; width: 10%; height: 40%;
  background: linear-gradient(180deg, #222240 0%, #12122a 100%);
  border-radius: 40% 40% 35% 35% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: opb-fig-r 5s ease-in-out infinite;
}
.scn-octavio-princedoms-bait .lantern {
  position: absolute; bottom: 38%; left: 42%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 50%, #f0c068 0%, #b08040 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,.6);
  animation: opb-lantern-glow 3s ease-in-out infinite alternate;
}
.scn-octavio-princedoms-bait .dust {
  position: absolute; width: 2%; height: 2%;
  background: rgba(255,255,240,0.3);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-octavio-princedoms-bait .mote-1 {
  top: 40%; left: 30%;
  animation: opb-dust 8s ease-in-out infinite;
}
.scn-octavio-princedoms-bait .mote-2 {
  top: 60%; left: 50%;
  animation: opb-dust 10s ease-in-out infinite 2s;
}
@keyframes opb-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes opb-window {
  0% { filter: brightness(1) contrast(1); }
  50% { filter: brightness(1.2) contrast(0.9); }
  100% { filter: brightness(0.9) contrast(1.1); }
}
@keyframes opb-fig-l {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
}
@keyframes opb-fig-r {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-1px) rotate(-1deg); }
}
@keyframes opb-lantern-glow {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(192,128,64,.4); }
  50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,200,100,.7); }
  100% { opacity: 0.9; box-shadow: 0 0 25px 8px rgba(192,128,64,.5); }
}
@keyframes opb-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0.3; }
  50% { transform: translate(10px, -5px) scale(1.2); opacity: 0.5; }
  100% { transform: translate(20px, -10px) scale(0.8); opacity: 0.2; }
}

.scn-octavio-friend-galas {
  background: 
    linear-gradient(180deg, #1a1a30 0%, #2a2a48 50%, #3a3a5a 100%),
    radial-gradient(ellipse at 50% 90%, #2e2e50 0%, transparent 60%);
}
.scn-octavio-friend-galas .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1c1c34 0%, #2c2c4c 100%);
  animation: ofg-wall 15s ease-in-out infinite alternate;
}
.scn-octavio-friend-galas .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,.6);
}
.scn-octavio-friend-galas .door {
  position: absolute; top: 20%; right: 8%; width: 18%; height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,.4);
  animation: ofg-door 20s ease-in-out infinite;
}
.scn-octavio-friend-galas .figure-left {
  position: absolute; bottom: 18%; left: 15%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%;
  transform-origin: bottom center;
  animation: ofg-fig-l 3.5s ease-in-out infinite;
}
.scn-octavio-friend-galas .figure-center {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 48%;
  background: linear-gradient(180deg, #222240 0%, #12122a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: ofg-fig-c 4s ease-in-out infinite;
}
.scn-octavio-friend-galas .figure-right {
  position: absolute; bottom: 15%; right: 25%; width: 10%; height: 42%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 40% 40% 35% 35% / 45% 45% 40% 40%;
  transform-origin: bottom center;
  animation: ofg-fig-r 5s ease-in-out infinite;
}
.scn-octavio-friend-galas .candle {
  position: absolute; bottom: 32%; left: 50%; width: 4%; height: 14%;
  background: radial-gradient(circle at 50% 20%, #f0d080 0%, #b09040 80%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(200,160,80,.5);
  animation: ofg-candle 2s ease-in-out infinite alternate;
}
.scn-octavio-friend-galas .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%);
  animation: ofg-shadow 6s ease-in-out infinite;
}
@keyframes ofg-wall {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes ofg-door {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.02); opacity: 1; }
  100% { transform: scaleY(0.98); opacity: 0.9; }
}
@keyframes ofg-fig-l {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(1.5deg); }
}
@keyframes ofg-fig-c {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(-0.5deg); }
}
@keyframes ofg-fig-r {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(1px) rotate(2deg); }
}
@keyframes ofg-candle {
  0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(200,160,80,.3); }
  50% { opacity: 1; box-shadow: 0 0 30px 12px rgba(255,200,100,.6); }
  100% { opacity: 0.9; box-shadow: 0 0 20px 6px rgba(200,160,80,.4); }
}
@keyframes ofg-shadow {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.9; }
}

.scn-max-obligation-duke {
  background: 
    linear-gradient(180deg, #2a1a10 0%, #3a2a1a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
}
.scn-max-obligation-duke .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1a12 0%, #3a2a1e 100%);
  animation: mod-wall 14s ease-in-out infinite alternate;
}
.scn-max-obligation-duke .hearth {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 40%;
  background: linear-gradient(180deg, #1a0e08 0%, #2a1a0e 100%);
  border-radius: 0 0 20% 20% / 0 0 50% 50%;
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-max-obligation-duke .fire {
  position: absolute; bottom: 28%; left: 35%; width: 30%; height: 25%;
  background: radial-gradient(ellipse at 50% 100%, #ff8020 0%, #cc4000 40%, #4a1a00 100%);
  border-radius: 50% 50% 30% 30%;
  filter: blur(3px);
  animation: mod-fire 2s ease-in-out infinite alternate;
}
.scn-max-obligation-duke .mantel {
  position: absolute; bottom: 38%; left: 25%; width: 50%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-max-obligation-duke .figure-left {
  position: absolute; bottom: 18%; left: 10%; width: 14%; height: 45%;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0e 100%);
  border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%;
  transform-origin: bottom center;
  animation: mod-fig-l 4s ease-in-out infinite;
}
.scn-max-obligation-duke .figure-right {
  position: absolute; bottom: 18%; right: 10%; width: 14%; height: 45%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0e 100%);
  border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%;
  transform-origin: bottom center;
  animation: mod-fig-r 3.8s ease-in-out infinite;
}
.scn-max-obligation-duke .glow {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 60%;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,150,50,0.15) 0%, transparent 60%);
  animation: mod-glow 3s ease-in-out infinite alternate;
}
.scn-max-obligation-duke .spark {
  position: absolute; width: 1.5%; height: 1.5%;
  background: radial-gradient(circle, #ffb040 0%, #ff6000 100%);
  border-radius: 50%;
  filter: blur(1px);
}
.scn-max-obligation-duke .s1 {
  bottom: 50%; left: 30%;
  animation: mod-spark 2s ease-out infinite;
}
.scn-max-obligation-duke .s2 {
  bottom: 55%; left: 45%;
  animation: mod-spark 2.5s ease-out infinite 1s;
}
@keyframes mod-wall {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 1; }
}
@keyframes mod-fire {
  0% { transform: scaleY(1) scaleX(1); opacity: 0.8; }
  50% { transform: scaleY(1.1) scaleX(1.05); opacity: 1; }
  100% { transform: scaleY(0.95) scaleX(0.95); opacity: 0.9; }
}
@keyframes mod-fig-l {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(1deg); }
}
@keyframes mod-fig-r {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes mod-glow {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}
@keyframes mod-spark {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  100% { transform: translateY(-40px) scale(0.3); opacity: 0; }
}

.scn-max-blames-illo {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a44 50%, #1e1e32 100%),
    radial-gradient(ellipse at 50% 80%, #2a2a44 0%, transparent 60%);
}
.scn-max-blames-illo .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1c1c30 0%, #2c2c48 100%);
  animation: mbi-wall 16s ease-in-out infinite alternate;
}
.scn-max-blames-illo .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,.5);
}
.scn-max-blames-illo .table {
  position: absolute; bottom: 25%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-max-blames-illo .paper {
  position: absolute; bottom: 30%; left: 40%; width: 10%; height: 8%;
  background: linear-gradient(135deg, #f0e0c0 0%, #c0a080 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: mbi-paper 6s ease-in-out infinite alternate;
}
.scn-max-blames-illo .figure-left {
  position: absolute; bottom: 18%; left: 12%; width: 13%; height: 48%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%;
  transform-origin: bottom center;
  animation: mbi-fig-l 4.5s ease-in-out infinite;
}
.scn-max-blames-illo .figure-center {
  position: absolute; bottom: 18%; left: 38%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #222240 0%, #12122a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: mbi-fig-c 3.5s ease-in-out infinite;
}
.scn-max-blames-illo .figure-right {
  position: absolute; bottom: 12%; right: 15%; width: 12%; height: 46%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 40% 40% 35% 35% / 45% 45% 40% 40%;
  transform-origin: bottom center;
  animation: mbi-fig-r 5s ease-in-out infinite;
}
.scn-max-blames-illo .shadow-illo {
  position: absolute; bottom: 0; right: 10%; width: 20%; height: 60%;
  background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(4px);
  animation: mbi-shadow 8s ease-in-out infinite;
}
@keyframes mbi-wall {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes mbi-paper {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(2px) rotate(3deg); }
  100% { transform: translateY(-1px) rotate(-2deg); }
}
@keyframes mbi-fig-l {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(1px) rotate(0.5deg); }
}
@keyframes mbi-fig-c {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-3px) rotate(1deg); }
}
@keyframes mbi-fig-r {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(-1deg); }
}
@keyframes mbi-shadow {
  0%, 100% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.8; transform: scaleY(1.05); }
}

/* Scene: butler-proposes-assassination */

.scn-butler-proposes-assassination {
  background: linear-gradient(180deg, #1a1614 0%, #2b221f 50%, #3d2f29 100%), radial-gradient(ellipse at 50% 30%, #3d2f29 0%, transparent 70%);
}
.scn-butler-proposes-assassination .bg-wall {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #2b221f 0%, #1a1614 100%);
  animation: bpa-wall 12s ease-in-out infinite alternate;
}
.scn-butler-proposes-assassination .bg-floor {
  position: absolute; inset: 50% 0 0 0;
  background: linear-gradient(180deg, #1a1614 0%, #0d0a08 100%);
  animation: bpa-floor 14s ease-in-out infinite alternate;
}
.scn-butler-proposes-assassination .table {
  position: absolute; bottom: 30%; left: 50%;
  width: 120px; height: 40px; transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3b33 0%, #2f221c 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.7);
  animation: bpa-table 8s ease-in-out infinite;
}
.scn-butler-proposes-assassination .candle {
  position: absolute; bottom: 38%; left: 50%;
  width: 8px; height: 20px; transform: translateX(-50%);
  background: linear-gradient(180deg, #ffe7a0 0%, #d4a050 70%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 20px 6px rgba(212,160,80,0.6), 0 0 40px 12px rgba(212,160,80,0.3);
  animation: bpa-candle 3s ease-in-out infinite alternate;
}
.scn-butler-proposes-assassination .figure-left {
  position: absolute; bottom: 30%; left: 35%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bpa-figure-left 10s ease-in-out infinite;
}
.scn-butler-proposes-assassination .figure-right {
  position: absolute; bottom: 30%; right: 35%;
  width: 30px; height: 60px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bpa-figure-right 12s ease-in-out infinite;
}
.scn-butler-proposes-assassination .shadow-wall {
  position: absolute; inset: 0 0 50% 0;
  background: radial-gradient(ellipse at 40% 60%, rgba(0,0,0,0.4) 0%, transparent 60%);
  animation: bpa-shadow 15s ease-in-out infinite alternate;
}
@keyframes bpa-wall {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes bpa-floor {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes bpa-table {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px); }
}
@keyframes bpa-candle {
  0% { box-shadow: 0 0 20px 6px rgba(212,160,80,0.5), 0 0 40px 12px rgba(212,160,80,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 30px 10px rgba(212,160,80,0.7), 0 0 50px 18px rgba(212,160,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 22px 7px rgba(212,160,80,0.55), 0 0 42px 13px rgba(212,160,80,0.25); opacity: 0.9; }
}
@keyframes bpa-figure-left {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(5px) rotate(2deg); }
  50% { transform: translateX(10px) rotate(-1deg); }
  75% { transform: translateX(5px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bpa-figure-right {
  0% { transform: translateX(0) rotate(1deg); }
  25% { transform: translateX(-5px) rotate(-2deg); }
  50% { transform: translateX(-10px) rotate(1deg); }
  75% { transform: translateX(-5px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bpa-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(0.95); }
}

/* Scene: butler-justifies-murder */

.scn-butler-justifies-murder {
  background: linear-gradient(180deg, #1c1816 0%, #2e2621 50%, #3f342d 100%), radial-gradient(ellipse at 50% 40%, #3f342d 0%, transparent 70%);
}
.scn-butler-justifies-murder .bg-wall {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #2e2621 0%, #1c1816 100%);
  animation: bjm-wall 14s ease-in-out infinite alternate;
}
.scn-butler-justifies-murder .bg-floor {
  position: absolute; inset: 55% 0 0 0;
  background: linear-gradient(180deg, #1c1816 0%, #0f0c0a 100%);
  animation: bjm-floor 12s ease-in-out infinite alternate;
}
.scn-butler-justifies-murder .fireplace {
  position: absolute; bottom: 35%; left: 20%;
  width: 80px; height: 90px;
  background: linear-gradient(180deg, #2a1f19 0%, #140f0c 100%);
  border-radius: 10px 10px 30px 30px;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.8);
  animation: bjm-fireplace 20s ease-in-out infinite;
}
.scn-butler-justifies-murder .candle {
  position: absolute; bottom: 40%; left: 50%;
  width: 8px; height: 24px; transform: translateX(-50%);
  background: linear-gradient(180deg, #ffd78c 0%, #c99450 70%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 24px 8px rgba(201,148,80,0.6), 0 0 48px 16px rgba(201,148,80,0.3);
  animation: bjm-candle 4s ease-in-out infinite alternate;
}
.scn-butler-justifies-murder .figure-foreground {
  position: absolute; bottom: 30%; left: 45%;
  width: 35px; height: 70px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: bjm-figure-fore 8s ease-in-out infinite;
}
.scn-butler-justifies-murder .figure-background {
  position: absolute; bottom: 30%; right: 30%;
  width: 28px; height: 58px;
  background: linear-gradient(180deg, #2a221f 0%, #140f0c 100%);
  border-radius: 50% 50% 35% 35% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  opacity: 0.7;
  animation: bjm-figure-back 10s ease-in-out infinite;
}
.scn-butler-justifies-murder .shadow-floor {
  position: absolute; bottom: 0; left: 20%; right: 20%;
  height: 30%;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 100%);
  animation: bjm-shadow 18s ease-in-out infinite alternate;
}
@keyframes bjm-wall {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}
@keyframes bjm-floor {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes bjm-fireplace {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}
@keyframes bjm-candle {
  0% { box-shadow: 0 0 22px 6px rgba(201,148,80,0.5), 0 0 44px 14px rgba(201,148,80,0.25); opacity: 0.85; }
  50% { box-shadow: 0 0 32px 10px rgba(201,148,80,0.7), 0 0 56px 18px rgba(201,148,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 25px 7px rgba(201,148,80,0.55), 0 0 46px 15px rgba(201,148,80,0.3); opacity: 0.9; }
}
@keyframes bjm-figure-fore {
  0% { transform: translateX(0) rotate(-1deg) scaleX(1); }
  25% { transform: translateX(8px) rotate(2deg) scaleX(0.95); }
  50% { transform: translateX(16px) rotate(-1deg) scaleX(1); }
  75% { transform: translateX(8px) rotate(1deg) scaleX(0.95); }
  100% { transform: translateX(0) rotate(0deg) scaleX(1); }
}
@keyframes bjm-figure-back {
  0% { transform: translateX(0) rotate(2deg); }
  25% { transform: translateX(-5px) rotate(-1deg); }
  50% { transform: translateX(-12px) rotate(2deg); }
  75% { transform: translateX(-5px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bjm-shadow {
  0% { opacity: 0.4; transform: scaleY(1); }
  50% { opacity: 0.7; transform: scaleY(1.1); }
  100% { opacity: 0.5; transform: scaleY(0.95); }
}

/* Scene: gordon-objects */

.scn-gordon-objects {
  background: linear-gradient(180deg, #1e1a17 0%, #2f2823 50%, #40352e 100%), radial-gradient(ellipse at 50% 20%, #40352e 0%, transparent 70%);
}
.scn-gordon-objects .bg-wall {
  position: absolute; inset: 0 0 60% 0;
  background: linear-gradient(180deg, #2f2823 0%, #1e1a17 100%);
  animation: go-wall 16s ease-in-out infinite alternate;
}
.scn-gordon-objects .bg-floor {
  position: absolute; inset: 60% 0 0 0;
  background: linear-gradient(180deg, #1e1a17 0%, #100c0a 100%);
  animation: go-floor 14s ease-in-out infinite alternate;
}
.scn-gordon-objects .table-edge {
  position: absolute; bottom: 35%; left: 30%; right: 30%;
  height: 8px;
  background: linear-gradient(180deg, #4a3a33 0%, #2f221c 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: go-table 10s ease-in-out infinite;
}
.scn-gordon-objects .hand-left {
  position: absolute; bottom: 40%; left: 35%;
  width: 20px; height: 35px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: go-hand-left 5s ease-in-out infinite;
}
.scn-gordon-objects .hand-right {
  position: absolute; bottom: 40%; right: 35%;
  width: 22px; height: 38px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: go-hand-right 6s ease-in-out infinite;
}
.scn-gordon-objects .candle {
  position: absolute; bottom: 42%; left: 50%;
  width: 10px; height: 28px; transform: translateX(-50%);
  background: linear-gradient(180deg, #ffd78c 0%, #c99450 70%);
  border-radius: 5px 5px 2px 2px;
  box-shadow: 0 0 30px 10px rgba(201,148,80,0.6), 0 0 50px 18px rgba(201,148,80,0.3);
  animation: go-candle 3s ease-in-out infinite alternate;
}
.scn-gordon-objects .shadow-table {
  position: absolute; bottom: 30%; left: 30%; right: 30%;
  height: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: go-shadow 12s ease-in-out infinite alternate;
}
@keyframes go-wall {
  0% { opacity: 0.65; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes go-floor {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.75; }
}
@keyframes go-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes go-hand-left {
  0% { transform: translateX(0) rotate(-5deg) scale(1); }
  25% { transform: translateX(6px) rotate(5deg) scale(0.9); }
  50% { transform: translateX(12px) rotate(-2deg) scale(1.05); }
  75% { transform: translateX(6px) rotate(3deg) scale(0.95); }
  100% { transform: translateX(0) rotate(0deg) scale(1); }
}
@keyframes go-hand-right {
  0% { transform: translateX(0) rotate(3deg) scale(1); }
  25% { transform: translateX(-8px) rotate(-4deg) scale(0.9); }
  50% { transform: translateX(-16px) rotate(2deg) scale(1.05); }
  75% { transform: translateX(-8px) rotate(-1deg) scale(0.95); }
  100% { transform: translateX(0) rotate(0deg) scale(1); }
}
@keyframes go-candle {
  0% { box-shadow: 0 0 24px 8px rgba(201,148,80,0.5), 0 0 48px 15px rgba(201,148,80,0.25); opacity: 0.9; }
  50% { box-shadow: 0 0 36px 12px rgba(201,148,80,0.7), 0 0 64px 22px rgba(201,148,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 28px 9px rgba(201,148,80,0.55), 0 0 52px 17px rgba(201,148,80,0.3); opacity: 0.85; }
}
@keyframes go-shadow {
  0% { opacity: 0.3; transform: scaleX(0.9); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(1); }
}

/* Scene: gordon-proposes-imprisonment */

.scn-gordon-proposes-imprisonment {
  background: linear-gradient(180deg, #201b18 0%, #302824 50%, #423630 100%), radial-gradient(ellipse at 60% 40%, #423630 0%, transparent 70%);
}
.scn-gordon-proposes-imprisonment .bg-wall {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #302824 0%, #201b18 100%);
  animation: gpi-wall 15s ease-in-out infinite alternate;
}
.scn-gordon-proposes-imprisonment .bg-floor {
  position: absolute; inset: 50% 0 0 0;
  background: linear-gradient(180deg, #201b18 0%, #110d0b 100%);
  animation: gpi-floor 13s ease-in-out infinite alternate;
}
.scn-gordon-proposes-imprisonment .door {
  position: absolute; bottom: 30%; left: 15%;
  width: 60px; height: 100px;
  background: linear-gradient(180deg, #3a2a22 0%, #1f1611 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 4px 15px rgba(0,0,0,0.7);
  animation: gpi-door 18s ease-in-out infinite;
}
.scn-gordon-proposes-imprisonment .column {
  position: absolute; bottom: 20%; left: 60%;
  width: 30px; height: 120px;
  background: linear-gradient(180deg, #2a221c 0%, #15100d 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.6);
  animation: gpi-column 20s ease-in-out infinite;
}
.scn-gordon-proposes-imprisonment .figure-left {
  position: absolute; bottom: 25%; left: 35%;
  width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: gpi-figure-left 9s ease-in-out infinite;
}
.scn-gordon-proposes-imprisonment .figure-right {
  position: absolute; bottom: 25%; right: 25%;
  width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: gpi-figure-right 11s ease-in-out infinite;
}
.scn-gordon-proposes-imprisonment .candle {
  position: absolute; bottom: 32%; left: 50%;
  width: 8px; height: 22px; transform: translateX(-50%);
  background: linear-gradient(180deg, #ffd78c 0%, #c99450 70%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 25px 8px rgba(201,148,80,0.6), 0 0 45px 14px rgba(201,148,80,0.3);
  animation: gpi-candle 3.5s ease-in-out infinite alternate;
}
.scn-gordon-proposes-imprisonment .shadow-column {
  position: absolute; bottom: 10%; left: 55%; right: 10%;
  height: 40px;
  background: linear-gradient(180deg, rgba(0,0,0,0.7) 0%, transparent 100%);
  animation: gpi-shadow 14s ease-in-out infinite alternate;
}
@keyframes gpi-wall {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes gpi-floor {
  0% { opacity: 0.75; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes gpi-door {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(1.02); }
}
@keyframes gpi-column {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.03); }
}
@keyframes gpi-figure-left {
  0% { transform: translateX(0) rotate(-1deg); }
  25% { transform: translateX(6px) rotate(2deg); }
  50% { transform: translateX(12px) rotate(-1deg); }
  75% { transform: translateX(6px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes gpi-figure-right {
  0% { transform: translateX(0) rotate(1deg); }
  25% { transform: translateX(-6px) rotate(-2deg); }
  50% { transform: translateX(-12px) rotate(1deg); }
  75% { transform: translateX(-6px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes gpi-candle {
  0% { box-shadow: 0 0 22px 7px rgba(201,148,80,0.5), 0 0 44px 14px rgba(201,148,80,0.25); opacity: 0.85; }
  50% { box-shadow: 0 0 34px 11px rgba(201,148,80,0.7), 0 0 60px 20px rgba(201,148,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 26px 8px rgba(201,148,80,0.55), 0 0 48px 16px rgba(201,148,80,0.3); opacity: 0.9; }
}
@keyframes gpi-shadow {
  0% { opacity: 0.4; transform: scaleX(0.8); }
  50% { opacity: 0.7; transform: scaleX(1.2); }
  100% { opacity: 0.5; transform: scaleX(0.9); }
}

/* wallenstein-rejects-marriage */

.scn-wallenstein-rejects-marriage {
  background: linear-gradient(180deg, #f2dbb8 0%, #d9c099 40%, #b08a6a 100%), radial-gradient(ellipse at 50% 100%, #6a4a3a 0%, transparent 70%);
}
.scn-wallenstein-rejects-marriage .wr-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e8cfa0 0%, #bfa080 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.25);
  animation: wr-wall 20s ease-in-out infinite;
}
.scn-wallenstein-rejects-marriage .wr-floor {
  position: absolute; bottom: 0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
}
.scn-wallenstein-rejects-marriage .wr-table {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: wr-table 5s ease-in-out infinite;
}
.scn-wallenstein-rejects-marriage .wr-wallenstein {
  position: absolute; bottom: 25%; left: 38%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-figures 4s ease-in-out infinite;
}
.scn-wallenstein-rejects-marriage .wr-duchess {
  position: absolute; bottom: 25%; left: 56%; width: 26px; height: 66px;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-figures 4.2s ease-in-out infinite reverse;
}
.scn-wallenstein-rejects-marriage .wr-candle {
  position: absolute; bottom: 26%; left: 49%; width: 6px; height: 24px;
  background: linear-gradient(180deg, #f0d080 0%, #c08040 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 0 20px 8px #d09050, 0 0 40px 12px rgba(200,120,60,0.3);
  animation: wr-candle 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-rejects-marriage .wr-shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 100%);
  animation: wr-shadow 6s ease-in-out infinite;
}
.scn-wallenstein-rejects-marriage .wr-document {
  position: absolute; bottom: 23%; left: 48%; width: 24px; height: 10px;
  background: linear-gradient(180deg, #d4b88a 0%, #b09060 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: wr-document 8s ease-in-out infinite;
}
@keyframes wr-wall {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes wr-table {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px); }
}
@keyframes wr-figures {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-1px) rotate(0deg); }
  50% { transform: translateY(0) rotate(1deg); }
  75% { transform: translateY(-1px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes wr-candle {
  0% { box-shadow: 0 0 15px 6px #d09050, 0 0 30px 10px rgba(200,120,60,0.2); }
  50% { box-shadow: 0 0 25px 10px #f0b070, 0 0 50px 18px rgba(220,140,80,0.4); }
  100% { box-shadow: 0 0 18px 7px #d09050, 0 0 35px 12px rgba(200,120,60,0.3); }
}
@keyframes wr-shadow {
  0%, 100% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.1); opacity: 0.7; }
}
@keyframes wr-document {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
}

/* duchess-warns-ambition */

.scn-duchess-warns-ambition {
  background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 35%, #2a3a4a 100%), radial-gradient(ellipse at 50% 30%, #7a8a9a 0%, transparent 70%);
}
.scn-duchess-warns-ambition .dw-back {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
  animation: dw-back 30s ease-in-out infinite;
}
.scn-duchess-warns-ambition .dw-stairs {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 20%;
  background: repeating-linear-gradient(0deg, #4a5a6a 0px, #4a5a6a 8px, #3a4a5a 8px, #3a4a5a 16px);
  transform: perspective(400px) rotateX(20deg);
  box-shadow: 0 -10px 40px rgba(0,0,0,0.3);
  animation: dw-stairs 15s linear infinite;
}
.scn-duchess-warns-ambition .dw-lightbeam {
  position: absolute; top: 5%; left: 35%; width: 30%; height: 80%;
  background: linear-gradient(180deg, rgba(200,210,220,0.15) 0%, rgba(200,210,220,0) 100%);
  transform: skewX(-10deg);
  animation: dw-beam 8s ease-in-out infinite alternate;
}
.scn-duchess-warns-ambition .dw-duchess {
  position: absolute; bottom: 30%; left: 40%; width: 28px; height: 72px;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dw-figure 6s ease-in-out infinite;
}
.scn-duchess-warns-ambition .dw-wallenstein {
  position: absolute; bottom: 28%; left: 55%; width: 32px; height: 74px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dw-figure 6.3s ease-in-out infinite reverse;
}
.scn-duchess-warns-ambition .dw-shadow-fall {
  position: absolute; bottom: 20%; left: 45%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.2) 0%, transparent 100%);
  animation: dw-shadow-fall 10s ease-in-out infinite;
}
.scn-duchess-warns-ambition .dw-dust {
  position: absolute; top: 10%; left: 20%; width: 8px; height: 8px;
  background: rgba(220,230,240,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: dw-dust 25s linear infinite;
}
@keyframes dw-back {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes dw-stairs {
  0% { transform: perspective(400px) rotateX(20deg) translateY(0); }
  50% { transform: perspective(400px) rotateX(20deg) translateY(-2px); }
  100% { transform: perspective(400px) rotateX(20deg) translateY(0); }
}
@keyframes dw-beam {
  0% { opacity: 0.6; transform: skewX(-10deg) translateX(-5px); }
  100% { opacity: 1; transform: skewX(-10deg) translateX(5px); }
}
@keyframes dw-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(0deg); }
  50% { transform: translateY(0) rotate(1deg); }
  75% { transform: translateY(-2px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes dw-shadow-fall {
  0%, 100% { transform: scaleY(1); opacity: 0.3; }
  50% { transform: scaleY(1.2); opacity: 0.5; }
}
@keyframes dw-dust {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 0.8; }
  90% { opacity: 0.8; }
  100% { transform: translate(100px, -50px) scale(0.5); opacity: 0; }
}

/* wallenstein-ambition-speech */

.scn-wallenstein-ambition-speech {
  background: linear-gradient(180deg, #e8d4b0 0%, #c8a880 40%, #9a7a5a 100%), radial-gradient(ellipse at 30% 80%, #a08060 0%, transparent 60%);
}
.scn-wallenstein-ambition-speech .was-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8c4a0 0%, #b09870 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.15);
  animation: was-bg 25s ease-in-out infinite;
}
.scn-wallenstein-ambition-speech .was-wall {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 50%;
  background: linear-gradient(135deg, #c8b090 0%, #a08060 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
}
.scn-wallenstein-ambition-speech .was-wallenstein {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: was-figure 3.5s ease-in-out infinite;
}
.scn-wallenstein-ambition-speech .was-arm {
  position: absolute; bottom: 55%; left: 53%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 40% 40% / 20% 20% 60% 60%;
  transform-origin: bottom left;
  animation: was-arm 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-ambition-speech .was-table {
  position: absolute; bottom: 18%; left: 30%; width: 100px; height: 10px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 3px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: was-table 6s ease-in-out infinite;
}
.scn-wallenstein-ambition-speech .was-wreath {
  position: absolute; bottom: 28%; left: 52%; width: 16px; height: 16px;
  background: radial-gradient(circle, #c08050 0%, #a06030 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(160,96,48,0.3);
  animation: was-wreath 4s ease-in-out infinite;
}
.scn-wallenstein-ambition-speech .was-countess {
  position: absolute; bottom: 22%; left: 20%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: was-figure 4s ease-in-out infinite reverse;
}
.scn-wallenstein-ambition-speech .was-duchess-small {
  position: absolute; bottom: 24%; left: 68%; width: 22px; height: 58px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: was-figure 4.2s ease-in-out infinite;
}
@keyframes was-bg {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes was-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(0deg); }
  50% { transform: translateY(0) rotate(1deg); }
  75% { transform: translateY(-2px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes was-arm {
  0% { transform: rotate(-30deg); }
  100% { transform: rotate(10deg); }
}
@keyframes was-table {
  0%, 100% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(0) translateY(-1px); }
}
@keyframes was-wreath {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.1) rotate(10deg); }
}

/* duchess-criticizes-building */

.scn-duchess-criticizes-building {
  background: linear-gradient(180deg, #6a7a7a 0%, #4a5a5a 40%, #2a3a3a 100%), radial-gradient(ellipse at 50% 100%, #3a4a4a 0%, transparent 70%);
}
.scn-duchess-criticizes-building .dcb-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #5a6a6a 0%, #3a4a4a 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.4);
  animation: dcb-wall 30s ease-in-out infinite;
}
.scn-duchess-criticizes-building .dcb-columns {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 40%;
  background: repeating-linear-gradient(90deg, #7a8a8a 0px, #7a8a8a 12px, transparent 12px, transparent 18px);
  mask-image: linear-gradient(180deg, #000 0%, #000 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 80%, transparent 100%);
  animation: dcb-columns 20s linear infinite;
}
.scn-duchess-criticizes-building .dcb-floor {
  position: absolute; bottom: 0; left:0; right:0; height:40%;
  background: repeating-conic-gradient(from 45deg, #4a5a5a 0deg 90deg, #3a4a4a 90deg 180deg) 0 0 / 20px 20px;
  opacity: 0.5;
  animation: dcb-floor 15s linear infinite;
}
.scn-duchess-criticizes-building .dcb-table {
  position: absolute; bottom: 25%; left: 50%; width: 100px; height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6a7a5a 0%, #4a5a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: dcb-table 7s ease-in-out infinite;
}
.scn-duchess-criticizes-building .dcb-model {
  position: absolute; bottom: 30%; left: 47%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #8a9a7a 0%, #5a6a4a 100%);
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  transform: perspective(200px) rotateX(10deg);
  animation: dcb-model 5s ease-in-out infinite alternate;
}
.scn-duchess-criticizes-building .dcb-duchess {
  position: absolute; bottom: 28%; left: 35%; width: 26px; height: 70px;
  background: linear-gradient(180deg, #4a5a5a 0%, #2a3a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dcb-figure 5.5s ease-in-out infinite;
}
.scn-duchess-criticizes-building .dcb-wallenstein {
  position: absolute; bottom: 26%; left: 58%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #3a4a4a 0%, #1a2a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dcb-figure 5.8s ease-in-out infinite reverse;
}
.scn-duchess-criticizes-building .dcb-lamp {
  position: absolute; bottom: 30%; left: 65%; width: 10px; height: 14px;
  background: radial-gradient(circle, #d0b090 0%, #a08060 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #b09070, 0 0 40px 12px rgba(160,120,80,0.3);
  animation: dcb-lamp 3s ease-in-out infinite alternate;
}
@keyframes dcb-wall {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes dcb-columns {
  0% { transform: translateX(0); }
  100% { transform: translateX(-20px); }
}
@keyframes dcb-floor {
  0% { transform: translateX(0); }
  100% { transform: translateX(-20px); }
}
@keyframes dcb-table {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-1px); }
}
@keyframes dcb-model {
  0% { transform: perspective(200px) rotateX(10deg) scale(1); }
  100% { transform: perspective(200px) rotateX(15deg) scale(1.02); }
}
@keyframes dcb-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(0deg); }
  50% { transform: translateY(0) rotate(1deg); }
  75% { transform: translateY(-2px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes dcb-lamp {
  0% { box-shadow: 0 0 15px 4px #b09070, 0 0 30px 8px rgba(160,120,80,0.2); opacity: 0.8; }
  50% { box-shadow: 0 0 25px 8px #d0b090, 0 0 50px 16px rgba(180,140,100,0.4); opacity: 1; }
  100% { box-shadow: 0 0 18px 5px #b09070, 0 0 35px 10px rgba(160,120,80,0.3); opacity: 0.9; }
}

/* wallenstein-professes-love-for-max */

.scn-wallenstein-professes-love-for-max {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c8a0 60%, #c8a66a 100%), radial-gradient(circle at 70% 20%, #ffe0a0 0%, transparent 60%);
}
.scn-wallenstein-professes-love-for-max .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #ecdcc0 0%, #d4bc90 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
  animation: wplm-wall 12s ease-in-out infinite alternate;
}
.scn-wallenstein-professes-love-for-max .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
}
.scn-wallenstein-professes-love-for-max .window {
  position: absolute; top: 12%; left: 15%; width: 120px; height: 160px;
  background: linear-gradient(180deg, #fff4e0 0%, #f0d8b0 100%);
  border: 6px solid #a08060;
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255,220,140,0.3);
  animation: wplm-window 8s ease-in-out infinite alternate;
}
.scn-wallenstein-professes-love-for-max .warm-glow {
  position: absolute; top: 30%; left: 50%; width: 40px; height: 20px;
  background: radial-gradient(ellipse at center, #ffe080 0%, transparent 70%);
  transform: translateX(-50%);
  animation: wplm-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-professes-love-for-max .figure-left {
  position: absolute; bottom: 28%; left: 20%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wplm-figureL 6s ease-in-out infinite;
}
.scn-wallenstein-professes-love-for-max .figure-right {
  position: absolute; bottom: 28%; right: 20%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wplm-figureR 7s ease-in-out infinite reverse;
}
.scn-wallenstein-professes-love-for-max .table {
  position: absolute; bottom: 25%; left: 35%; right: 35%; height: 14px;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: wplm-table 10s ease-in-out infinite;
}
@keyframes wplm-wall {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes wplm-window {
  0% { transform: scaleX(1); box-shadow: inset 0 0 40px rgba(255,220,140,0.3); }
  50% { transform: scaleX(1.02); box-shadow: inset 0 0 60px rgba(255,220,140,0.5); }
  100% { transform: scaleX(0.98); box-shadow: inset 0 0 30px rgba(255,220,140,0.2); }
}
@keyframes wplm-glow {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.3); }
  100% { opacity: 0.7; transform: translateX(-50%) scale(0.9); }
}
@keyframes wplm-figureL {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wplm-figureR {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-1px) rotate(-1deg); }
  66% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wplm-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

/* wallenstein-accuses-max-of-ingratitude */

.scn-wallenstein-accuses-max-of-ingratitude {
  background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 40%, #a09078 100%), radial-gradient(ellipse at 80% 30%, #f0e0c0 0%, transparent 70%);
}
.scn-wallenstein-accuses-max-of-ingratitude .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #d0c0a8 0%, #b8a890 100%);
  box-shadow: inset 0 -20px 60px rgba(0,0,0,0.2);
}
.scn-wallenstein-accuses-max-of-ingratitude .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #9a8a70 0%, #706040 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 15px 30px rgba(0,0,0,0.4);
}
.scn-wallenstein-accuses-max-of-ingratitude .window {
  position: absolute; top: 8%; left: 50%; width: 180px; height: 200px;
  background: linear-gradient(180deg, #fff8f0 0%, #f0e0c0 100%);
  border: 8px solid #7a6a50;
  border-radius: 6px;
  transform: translateX(-50%);
  box-shadow: 0 0 60px 20px rgba(255,240,200,0.3);
  animation: waim-window 6s ease-in-out infinite alternate;
}
.scn-wallenstein-accuses-max-of-ingratitude .shadow-cast {
  position: absolute; top: 10%; left: 55%; width: 100px; height: 250px;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%);
  transform: skewX(-10deg) translateX(-30px);
  filter: blur(4px);
  animation: waim-shadow 8s ease-in-out infinite alternate;
}
.scn-wallenstein-accuses-max-of-ingratitude .figure-accuser {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: waim-accuser 4s ease-in-out infinite;
}
.scn-wallenstein-accuses-max-of-ingratitude .figure-accused {
  position: absolute; bottom: 22%; right: 30%; width: 26px; height: 58px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: waim-accused 6s ease-in-out infinite reverse;
}
.scn-wallenstein-accuses-max-of-ingratitude .chair {
  position: absolute; bottom: 22%; right: 28%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-accuses-max-of-ingratitude .flicker-light {
  position: absolute; top: 20%; left: 60%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, #ffe060 0%, transparent 70%);
  animation: waim-flicker 4s steps(3) infinite;
}
@keyframes waim-window {
  0% { opacity: 0.8; transform: translateX(-50%) scaleX(1); }
  50% { opacity: 1; transform: translateX(-50%) scaleX(1.05); }
  100% { opacity: 0.85; transform: translateX(-50%) scaleX(0.95); }
}
@keyframes waim-shadow {
  0% { transform: skewX(-10deg) translateX(-30px) scaleY(1); }
  50% { transform: skewX(-8deg) translateX(-20px) scaleY(1.1); }
  100% { transform: skewX(-12deg) translateX(-40px) scaleY(0.9); }
}
@keyframes waim-accuser {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(8px) rotate(5deg); }
  50% { transform: translateX(16px) rotate(-2deg); }
  75% { transform: translateX(8px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes waim-accused {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(2px) rotate(-3deg); }
  66% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes waim-flicker {
  0% { opacity: 0.4; }
  50% { opacity: 1; }
  100% { opacity: 0.2; }
}

/* wallenstein-asserts-authority-over-max */

.scn-wallenstein-asserts-authority-over-max {
  background: linear-gradient(180deg, #d4c0a8 0%, #b8a088 40%, #9a8068 100%), radial-gradient(ellipse at 50% 20%, #e0c8b0 0%, transparent 60%);
}
.scn-wallenstein-asserts-authority-over-max .bg-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #c8b098 0%, #a88870 100%);
  box-shadow: inset 0 30px 60px rgba(0,0,0,0.25);
}
.scn-wallenstein-asserts-authority-over-max .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #806850 0%, #5a4530 100%);
  border-radius: 40% 40% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.5);
}
.scn-wallenstein-asserts-authority-over-max .desk {
  position: absolute; bottom: 18%; left: 10%; right: 50%; height: 20px;
  background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: waam-desk 8s ease-in-out infinite;
}
.scn-wallenstein-asserts-authority-over-max .chair {
  position: absolute; bottom: 18%; right: 20%; width: 24px; height: 36px;
  background: linear-gradient(180deg, #6a5540 0%, #4a3520 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: waam-chair 6s ease-in-out infinite alternate;
}
.scn-wallenstein-asserts-authority-over-max .figure-standing {
  position: absolute; bottom: 15%; left: 25%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: waam-stand 5s ease-in-out infinite;
}
.scn-wallenstein-asserts-authority-over-max .figure-seated {
  position: absolute; bottom: 15%; right: 18%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: waam-seated 7s ease-in-out infinite alternate;
}
.scn-wallenstein-asserts-authority-over-max .map {
  position: absolute; bottom: 30%; left: 8%; width: 60px; height: 40px;
  background: linear-gradient(135deg, #c8b090 0%, #a08870 100%);
  border-radius: 4px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: waam-map 10s ease-in-out infinite;
}
.scn-wallenstein-asserts-authority-over-max .lamp {
  position: absolute; top: 15%; left: 60%; width: 30px; height: 50px;
  background: radial-gradient(circle at 50% 20%, #ffd060 0%, #b08030 70%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.4);
  animation: waam-lamp 4s ease-in-out infinite alternate;
}
.scn-wallenstein-asserts-authority-over-max .paper {
  position: absolute; bottom: 25%; left: 15%; width: 20px; height: 26px;
  background: #f0e0c8;
  border-radius: 2px;
  transform: rotate(10deg);
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  animation: waam-paper 12s ease-in-out infinite;
}
@keyframes waam-desk {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes waam-chair {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes waam-stand {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes waam-seated {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(1px) rotate(-2deg); }
  66% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes waam-map {
  0% { transform: rotate(-5deg) scaleX(1); }
  50% { transform: rotate(3deg) scaleX(1.02); }
  100% { transform: rotate(-7deg) scaleX(0.98); }
}
@keyframes waam-lamp {
  0% { box-shadow: 0 0 40px 20px rgba(255,200,80,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 60px 30px rgba(255,200,80,0.6); opacity: 1; }
  100% { box-shadow: 0 0 30px 15px rgba(255,200,80,0.3); opacity: 0.7; }
}
@keyframes waam-paper {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(15deg) translateY(1px); }
}

/* wallenstein-justifies-loyalty */

.scn-wallenstein-justifies-loyalty {
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 40%, #b8a898 100%), radial-gradient(circle at 30% 20%, #f0e8d8 0%, transparent 70%);
}
.scn-wallenstein-justifies-loyalty .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #e0d0b8 0%, #c0b098 100%);
}
.scn-wallenstein-justifies-loyalty .window-open {
  position: absolute; top: 10%; left: 60%; width: 160px; height: 220px;
  background: linear-gradient(180deg, #d0e0f0 0%, #b0c0d0 100%);
  border: 10px solid #a09078;
  border-radius: 8px;
  box-shadow: inset 0 0 40px rgba(255,255,255,0.3);
  transform: rotate(2deg);
  animation: wjl-window 20s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-loyalty .sky {
  position: absolute; top: 8%; left: 62%; width: 140px; height: 200px;
  background: linear-gradient(180deg, #b8d8f0 0%, #8ab0d0 100%);
  border-radius: 6px;
  filter: blur(2px);
  animation: wjl-sky 30s linear infinite;
}
.scn-wallenstein-justifies-loyalty .table {
  position: absolute; bottom: 20%; left: 30%; right: 20%; height: 12px;
  background: linear-gradient(180deg, #a09078 0%, #807058 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  animation: wjl-table 15s ease-in-out infinite;
}
.scn-wallenstein-justifies-loyalty .figure {
  position: absolute; bottom: 18%; left: 35%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wjl-figure 9s ease-in-out infinite;
}
.scn-wallenstein-justifies-loyalty .flower {
  position: absolute; bottom: 25%; left: 70%; width: 10px; height: 14px;
  background: linear-gradient(180deg, #80a070 0%, #507040 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(-10deg);
  animation: wjl-flower 7s ease-in-out infinite alternate;
}
@keyframes wjl-window {
  0% { transform: rotate(2deg) scaleX(1); opacity: 0.9; }
  50% { transform: rotate(0deg) scaleX(1.02); opacity: 1; }
  100% { transform: rotate(4deg) scaleX(0.98); opacity: 0.85; }
}
@keyframes wjl-sky {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}
@keyframes wjl-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes wjl-figure {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-2px) rotate(1deg); }
  66% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wjl-flower {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(0deg) scale(1.1); }
  100% { transform: rotate(10deg) scale(0.9); }
}

/* Scene: illo-reports-mutiny */

.scn-illo-reports-mutiny {
  background: 
    linear-gradient(180deg, #3a2010 0%, #6a3a1a 40%, #4a2810 70%, #2a1008 100%),
    radial-gradient(ellipse at 30% 60%, #d08840 0%, transparent 60%);
}
.scn-illo-reports-mutiny .bg-wall {
  position:absolute; inset:0;
  background: linear-gradient(135deg, #4a2810, #2a1008 60%);
  filter: blur(4px);
}
.scn-illo-reports-mutiny .table {
  position:absolute; bottom:10%; left:15%; width:70%; height:8%;
  background: linear-gradient(180deg, #8a5a3a, #5a3020);
  border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,0.7);
}
.scn-illo-reports-mutiny .candle {
  position:absolute; bottom:22%; left:50%; transform:translateX(-50%);
  width:12px; height:40px;
  background: linear-gradient(180deg, #e0b070, #a06030);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 0 20px 10px #d0a050, 0 0 40px 20px #b08030;
  animation: mut-candle-flicker 2s ease-in-out infinite alternate;
}
.scn-illo-reports-mutiny .figure-illo {
  position:absolute; bottom:10%; left:25%; width:45px; height:90px;
  background: linear-gradient(180deg, #3a2a1a, #1a0e08);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mut-illo 4s ease-in-out infinite;
}
.scn-illo-reports-mutiny .figure-tertsky {
  position:absolute; bottom:10%; right:25%; width:42px; height:88px;
  background: linear-gradient(180deg, #2a1a10, #120804);
  border-radius: 40% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mut-tertsky 3.5s ease-in-out infinite;
}
.scn-illo-reports-mutiny .figure-wallenstein {
  position:absolute; bottom:10%; left:45%; width:50px; height:95px;
  background: linear-gradient(180deg, #2a1a12, #0e0804);
  border-radius: 50% 50% 35% 35% / 65% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mut-wallenstein 5s ease-in-out infinite;
}
.scn-illo-reports-mutiny .shadow-pool {
  position:absolute; bottom:0; left:20%; width:60%; height:20%;
  background: radial-gradient(ellipse at 50% 0%, #1a0a04 0%, transparent 70%);
  filter: blur(6px);
  animation: mut-shadow 6s ease-in-out infinite alternate;
}
.scn-illo-reports-mutiny .glow-orb {
  position:absolute; bottom:30%; left:48%; width:20px; height:20px;
  background: radial-gradient(circle, #ffd080, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px #f0c060;
  animation: mut-glow 3s ease-in-out infinite alternate;
}
.scn-illo-reports-mutiny .particle {
  position:absolute; bottom:30%; left:46%; width:4px; height:4px;
  background: #ffd080; border-radius: 50%;
  box-shadow: 0 0 8px 2px #f0c060;
  animation: mut-particle 1.5s ease-out infinite;
  animation-delay: -0.5s;
}
@keyframes mut-candle-flicker {
  0% { transform: translateX(-50%) scaleY(1) scaleX(1); opacity:0.9; }
  50% { transform: translateX(-50%) scaleY(1.05) scaleX(0.95); opacity:1; }
  100% { transform: translateX(-50%) scaleY(0.98) scaleX(1.02); opacity:0.85; }
}
@keyframes mut-illo {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(-2px) rotate(-1deg); }
  75% { transform: translateX(5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mut-tertsky {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-3px) rotate(-2deg); }
  66% { transform: translateX(5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mut-wallenstein {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(2px) translateY(-2px) rotate(1deg); }
  60% { transform: translateX(-2px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes mut-shadow {
  0% { opacity:0.5; transform: scaleX(1); }
  50% { opacity:0.8; transform: scaleX(1.1); }
  100% { opacity:0.4; transform: scaleX(0.95); }
}
@keyframes mut-glow {
  0% { opacity:0.6; transform: scale(1); }
  50% { opacity:1; transform: scale(1.2); }
  100% { opacity:0.7; transform: scale(0.9); }
}
@keyframes mut-particle {
  0% { transform: translateY(0) scale(1); opacity:1; }
  100% { transform: translateY(-40px) scale(0.3); opacity:0; }
}

/* Scene: illo-accuses-piccolomini */

.scn-illo-accuses-piccolomini {
  background:
    linear-gradient(180deg, #4a2810 0%, #7a4a2a 30%, #3a1a08 70%, #1a0804 100%),
    radial-gradient(ellipse at 50% 40%, #d09050 0%, transparent 50%);
}
.scn-illo-accuses-piccolomini .bg-panel {
  position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, transparent, transparent 30px, #2a1008 30px, #2a1008 32px);
  opacity:0.15;
}
.scn-illo-accuses-piccolomini .desk {
  position:absolute; bottom:12%; left:20%; width:60%; height:6%;
  background: linear-gradient(180deg, #7a4a2a, #4a2810);
  border-radius: 4px; box-shadow: 0 3px 10px rgba(0,0,0,0.6);
}
.scn-illo-accuses-piccolomini .map-scroll {
  position:absolute; bottom:20%; left:35%; width:60px; height:15px;
  background: linear-gradient(180deg, #c8a060, #a07840);
  border-radius: 8px; transform-origin: left center;
  animation: acc-scroll 8s ease-in-out infinite alternate;
}
.scn-illo-accuses-piccolomini .figure-piccolomini {
  position:absolute; bottom:8%; left:35%; width:40px; height:95px;
  background: linear-gradient(180deg, #3a2a1a, #0e0804);
  border-radius: 45% 50% 30% 30% / 65% 60% 30% 30%;
  transform-origin: bottom center;
  animation: acc-picco 3s ease-in-out infinite;
}
.scn-illo-accuses-piccolomini .figure-illo2 {
  position:absolute; bottom:8%; left:55%; width:45px; height:90px;
  background: linear-gradient(180deg, #2a1a10, #0e0804);
  border-radius: 50% 45% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: acc-illo2 4.5s ease-in-out infinite;
}
.scn-illo-accuses-piccolomini .figure-tertsky2 {
  position:absolute; bottom:8%; left:15%; width:42px; height:92px;
  background: linear-gradient(180deg, #2a1a12, #0e0804);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: acc-tertsky2 5s ease-in-out infinite;
}
.scn-illo-accuses-piccolomini .lantern-hang {
  position:absolute; top:10%; left:50%; transform:translateX(-50%);
  width:8px; height:30px;
  background: linear-gradient(180deg, #b08040, #5a3020);
  border-radius: 4px 4px 0 0;
  animation: acc-lantern-sway 6s ease-in-out infinite;
}
.scn-illo-accuses-piccolomini .lamp-light {
  position:absolute; top:14%; left:50%; transform:translateX(-50%);
  width:40px; height:40px;
  background: radial-gradient(circle, #ffd080, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px #f0c060;
  animation: acc-lamp-pulse 2.5s ease-in-out infinite alternate;
}
@keyframes acc-scroll {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(2deg) scaleY(1.1); }
  100% { transform: rotate(-1deg) scaleY(0.95); }
}
@keyframes acc-picco {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  25% { transform: translateX(-5px) rotate(-3deg) scaleY(1.02); }
  50% { transform: translateX(3px) rotate(2deg) scaleY(0.98); }
  75% { transform: translateX(-2px) rotate(-1deg) scaleY(1.01); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
@keyframes acc-illo2 {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(6px) rotate(3deg); }
  66% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes acc-tertsky2 {
  0% { transform: translateY(0) rotate(0deg); }
  40% { transform: translateY(-3px) rotate(2deg); }
  80% { transform: translateY(2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes acc-lantern-sway {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(3deg); }
  75% { transform: translateX(-50%) rotate(-3deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes acc-lamp-pulse {
  0% { opacity:0.7; transform: translateX(-50%) scale(0.9); }
  50% { opacity:1; transform: translateX(-50%) scale(1.15); }
  100% { opacity:0.6; transform: translateX(-50%) scale(0.95); }
}

/* Scene: wallenstein-collapses */

.scn-wallenstein-collapses {
  background:
    linear-gradient(180deg, #2a1008 0%, #4a2010 40%, #1a0804 80%, #0e0402 100%),
    radial-gradient(ellipse at 50% 60%, #b08040 0%, transparent 80%);
}
.scn-wallenstein-collapses .bg-dark {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 40% 50%, #3a1a0a, transparent 70%);
  filter: blur(3px);
}
.scn-wallenstein-collapses .chair {
  position:absolute; bottom:12%; left:40%; width:40px; height:60px;
  background: linear-gradient(180deg, #5a3020, #2a1008);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.8);
  animation: col-chair 7s ease-in-out infinite alternate;
}
.scn-wallenstein-collapses .figure-collapse {
  position:absolute; bottom:20%; left:42%; width:44px; height:80px;
  background: linear-gradient(180deg, #1a0e08, #080402);
  border-radius: 55% 50% 30% 30% / 70% 65% 30% 30%;
  transform-origin: bottom center;
  animation: col-fig 4s ease-in-out infinite;
}
.scn-wallenstein-collapses .hand-cover {
  position:absolute; bottom:38%; left:48%; width:16px; height:20px;
  background: linear-gradient(180deg, #1a1008, #0e0804);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(10deg);
  animation: col-hand 3s ease-in-out infinite alternate;
}
.scn-wallenstein-collapses .figure-countess {
  position:absolute; bottom:10%; right:20%; width:38px; height:85px;
  background: linear-gradient(180deg, #3a2a1a, #1a0e08);
  border-radius: 45% 50% 35% 35% / 65% 60% 30% 30%;
  transform-origin: bottom center;
  animation: col-countess 5s ease-in-out infinite;
}
.scn-wallenstein-collapses .doorway {
  position:absolute; bottom:0; right:12%; width:40px; height:100%;
  background: linear-gradient(180deg, #2a1008, #0e0402);
  border-radius: 0 0 4px 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.9);
}
.scn-wallenstein-collapses .tear-drip {
  position:absolute; bottom:30%; left:46%; width:4px; height:6px;
  background: radial-gradient(circle, #c8a070, transparent);
  border-radius: 50%;
  animation: col-tear 2s ease-in-out infinite;
  opacity:0.6;
}
.scn-wallenstein-collapses .shadow-spread {
  position:absolute; bottom:0; left:30%; width:40%; height:10%;
  background: linear-gradient(180deg, transparent, #0a0402);
  filter: blur(5px);
  animation: col-shadow 8s ease-in-out infinite alternate;
}
.scn-wallenstein-collapses .floor-line {
  position:absolute; bottom:10%; left:20%; width:60%; height:2px;
  background: linear-gradient(90deg, transparent, #5a3020, transparent);
}
@keyframes col-chair {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(1px) rotate(1deg); }
}
@keyframes col-fig {
  0% { transform: translateY(0) rotate(0deg) scaleY(1); }
  20% { transform: translateY(-3px) rotate(2deg) scaleY(1.02); }
  60% { transform: translateY(2px) rotate(-1deg) scaleY(0.98); }
  100% { transform: translateY(0) rotate(0deg) scaleY(1); }
}
@keyframes col-hand {
  0% { transform: rotate(10deg) translateX(0); }
  50% { transform: rotate(15deg) translateX(2px); }
  100% { transform: rotate(5deg) translateX(-1px); }
}
@keyframes col-countess {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes col-tear {
  0% { transform: translateY(0) scale(1); opacity:0.7; }
  50% { transform: translateY(10px) scale(0.8); opacity:0.3; }
  100% { transform: translateY(20px) scale(0.5); opacity:0; }
}
@keyframes col-shadow {
  0% { opacity:0.3; transform: scaleX(1); }
  50% { opacity:0.7; transform: scaleX(1.2); }
  100% { opacity:0.2; transform: scaleX(0.9); }
}

/* Scene: tertsky-blames-stars */

.scn-tertsky-blames-stars {
  background:
    linear-gradient(180deg, #1a0a08 0%, #0e0604 40%, #040202 100%),
    radial-gradient(ellipse at 50% 30%, #805030 0%, transparent 70%);
}
.scn-tertsky-blames-stars .bg-night {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 60% 30%, #1a1008, transparent 60%);
}
.scn-tertsky-blames-stars .window-arch {
  position:absolute; top:10%; left:45%; width:60px; height:90px;
  background: linear-gradient(180deg, #2a1a0a, #1a0e04);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.9);
  overflow: hidden;
}
.scn-tertsky-blames-stars .stars-glow {
  position:absolute; top:5%; left:42%; width:70px; height:60px;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 6px,
    rgba(255,220,150,0.8) 6px,
    rgba(255,220,150,0.2) 7px
  );
  filter: blur(2px);
  animation: sta-stars 12s ease-in-out infinite alternate;
}
.scn-tertsky-blames-stars .figure-tertsky3 {
  position:absolute; bottom:10%; left:55%; width:45px; height:95px;
  background: linear-gradient(180deg, #1a0e08, #080402);
  border-radius: 50% 45% 30% 30% / 65% 60% 30% 30%;
  transform-origin: bottom center;
  animation: sta-fig-ts 4.5s ease-in-out infinite;
}
.scn-tertsky-blames-stars .figure-wallenstein2 {
  position:absolute; bottom:10%; left:30%; width:48px; height:100px;
  background: linear-gradient(180deg, #2a1a0e, #0a0604);
  border-radius: 50% 50% 35% 35% / 65% 65% 30% 30%;
  transform-origin: bottom center;
  animation: sta-fig-ws 5s ease-in-out infinite;
}
.scn-tertsky-blames-stars .astrolabe {
  position:absolute; bottom:20%; left:38%; width:30px; height:30px;
  background: radial-gradient(circle, #8a6030, #4a2810);
  border-radius: 50%;
  border: 2px solid #6a4018;
  box-shadow: 0 0 15px #8a6030;
  animation: sta-astro 8s linear infinite;
}
.scn-tertsky-blames-stars .chart-scroll {
  position:absolute; bottom:12%; left:25%; width:50px; height:12px;
  background: linear-gradient(90deg, #b08850, #8a6030);
  border-radius: 4px;
  transform: rotate(-10deg);
  animation: sta-chart 6s ease-in-out infinite alternate;
}
.scn-tertsky-blames-stars .eye-socket {
  position:absolute; bottom:35%; left:36%; width:8px; height:8px;
  background: radial-gradient(circle, #d0a060, #4a2810);
  border-radius: 50%;
  box-shadow: 0 0 12px #d0a060;
  animation: sta-eye 3s ease-in-out infinite alternate;
}
.scn-tertsky-blames-stars .dust-mote {
  position:absolute; top:20%; left:40%; width:3px; height:3px;
  background: #d0a060;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #d0a060;
  animation: sta-dust 15s linear infinite;
  animation-delay: -3s;
}
@keyframes sta-stars {
  0% { opacity:0.4; transform: scale(1); }
  50% { opacity:0.8; transform: scale(1.1); }
  100% { opacity:0.5; transform: scale(0.95); }
}
@keyframes sta-fig-ts {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(4px) rotate(3deg) scaleY(1.01); }
  60% { transform: translateX(-3px) rotate(-2deg) scaleY(0.99); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes sta-fig-ws {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  75% { transform: translateY(1px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sta-astro {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.05); }
  100% { transform: rotate(360deg) scale(0.95); }
}
@keyframes sta-chart {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes sta-eye {
  0% { opacity:0.6; transform: scale(1); }
  50% { opacity:1; transform: scale(1.3); }
  100% { opacity:0.7; transform: scale(0.9); }
}
@keyframes sta-dust {
  0% { transform: translate(0,0) scale(1); opacity:0.6; }
  25% { transform: translate(10px,-20px) scale(0.8); opacity:0.3; }
  50% { transform: translate(20px,-40px) scale(0.5); opacity:0.1; }
  75% { transform: translate(30px,-60px) scale(0.3); opacity:0.05; }
  100% { transform: translate(40px,-80px) scale(0.1); opacity:0; }
}

/* countess-necessity-placed-thee */

.scn-countess-necessity-placed-thee {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2035 40%, #1a1520 100%), radial-gradient(ellipse at 70% 50%, #2a2040 0%, transparent 70%);
}
.scn-countess-necessity-placed-thee .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2e2535 0%, #1a1520 100%); animation: cnt1-fade 10s ease-in-out infinite alternate;
}
.scn-countess-necessity-placed-thee .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #251f2a 0%, #0e0a10 100%); border-radius: 0 0 20% 20%;
}
.scn-countess-necessity-placed-thee .wheel {
  position: absolute; bottom: 25%; right: 20%; width: 70px; height: 70px; border-radius: 50%; background: radial-gradient(circle, #6a5040 0%, #3a2a1a 60%, #1a120a 100%); box-shadow: 0 4px 20px rgba(0,0,0,0.7); animation: cnt1-wheel 6s ease-in-out infinite alternate;
}
.scn-countess-necessity-placed-thee .figure {
  position: absolute; bottom: 25%; left: 25%; width: 20px; height: 50px; background: linear-gradient(180deg, #2a2020 0%, #0e0808 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cnt1-figure 4s ease-in-out infinite;
}
.scn-countess-necessity-placed-thee .lantern {
  position: absolute; bottom: 35%; left: 30%; width: 12px; height: 16px; background: radial-gradient(circle, #f0c060 0%, #c08030 70%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 30px 8px #c08030, 0 0 60px 20px rgba(192,128,48,0.4); animation: cnt1-glow 3s ease-in-out infinite alternate;
}
.scn-countess-necessity-placed-thee .shadow {
  position: absolute; bottom: 25%; right: 20%; width: 60px; height: 20px; background: rgba(0,0,0,0.5); border-radius: 50%; transform: translateX(-10px); animation: cnt1-shadow 6s ease-in-out infinite alternate;
}
@keyframes cnt1-fade { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes cnt1-wheel { 0% { transform: rotate(0deg); } 50% { transform: rotate(3deg) scale(1.01); } 100% { transform: rotate(-3deg); } }
@keyframes cnt1-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(4px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(8px) translateY(0) rotate(-2deg); } 75% { transform: translateX(4px) translateY(-1px) rotate(2deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes cnt1-glow { 0% { box-shadow: 0 0 20px 5px #c08030, 0 0 40px 10px rgba(192,128,48,0.3); opacity: 0.8; } 50% { box-shadow: 0 0 40px 12px #f0c060, 0 0 70px 20px rgba(240,192,96,0.5); opacity: 1; } 100% { box-shadow: 0 0 25px 6px #c08030, 0 0 50px 12px rgba(192,128,48,0.35); opacity: 0.9; } }
@keyframes cnt1-shadow { 0% { opacity: 0.4; transform: translateX(-10px); } 50% { opacity: 0.7; transform: translateX(-5px); } 100% { opacity: 0.4; transform: translateX(-10px); } }

/* countess-letters-patent */

.scn-countess-letters-patent {
  background: linear-gradient(180deg, #1c1a28 0%, #2a2435 40%, #12101a 100%), radial-gradient(ellipse at 50% 30%, #2a2440 0%, transparent 70%);
}
.scn-countess-letters-patent .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1e1c2a 0%, #14121e 100%); animation: cnt2-wall 12s ease-in-out infinite alternate;
}
.scn-countess-letters-patent .desk {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 8% 8% 0 0; box-shadow: 0 -10px 20px rgba(0,0,0,0.6);
}
.scn-countess-letters-patent .papers {
  position: absolute; bottom: 20%; left: 25%; width: 50px; height: 35px; background: linear-gradient(180deg, #e8ddd0 0%, #c8b8a0 100%); border-radius: 4%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); transform: rotate(2deg); animation: cnt2-paper 5s ease-in-out infinite alternate;
}
.scn-countess-letters-patent .quill {
  position: absolute; bottom: 25%; left: 30%; width: 4px; height: 25px; background: linear-gradient(180deg, #d4c8b0 0%, #8a7a60 100%); border-radius: 40% 40% 10% 10%; transform: rotate(15deg); transform-origin: bottom center; animation: cnt2-quill 4s ease-in-out infinite alternate;
}
.scn-countess-letters-patent .puppet {
  position: absolute; bottom: 15%; right: 20%; width: 16px; height: 40px; background: linear-gradient(180deg, #2a2020 0%, #0e0808 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; transform-origin: top center; animation: cnt2-puppet 3s ease-in-out infinite;
}
.scn-countess-letters-patent .lamp {
  position: absolute; bottom: 32%; left: 20%; width: 14px; height: 18px; background: radial-gradient(circle, #f0d080 0%, #c0a050 70%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 25px 6px #c0a050, 0 0 50px 12px rgba(192,160,80,0.3); animation: cnt2-lamp 3s ease-in-out infinite alternate;
}
.scn-countess-letters-patent .shadow {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 8%; background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(4px); animation: cnt2-shadow 5s ease-in-out infinite alternate;
}
@keyframes cnt2-wall { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes cnt2-paper { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes cnt2-quill { 0% { transform: rotate(12deg); } 50% { transform: rotate(18deg) scaleY(1.02); } 100% { transform: rotate(14deg); } }
@keyframes cnt2-puppet { 0% { transform: rotate(0deg); } 25% { transform: rotate(5deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }
@keyframes cnt2-lamp { 0% { box-shadow: 0 0 20px 4px #c0a050, 0 0 40px 8px rgba(192,160,80,0.3); opacity: 0.85; } 50% { box-shadow: 0 0 35px 10px #f0d080, 0 0 60px 16px rgba(240,208,128,0.5); opacity: 1; } 100% { box-shadow: 0 0 25px 5px #c0a050, 0 0 45px 10px rgba(192,160,80,0.35); opacity: 0.9; } }
@keyframes cnt2-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* countess-fire-unmastered */

.scn-countess-fire-unmastered {
  background: linear-gradient(180deg, #0e0a10 0%, #1a0e0a 40%, #0a0402 100%), radial-gradient(ellipse at 50% 80%, #2a1208 0%, transparent 60%);
}
.scn-countess-fire-unmastered .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #120a0e 0%, #080408 100%); animation: cnt3-dark 15s ease-in-out infinite alternate;
}
.scn-countess-fire-unmastered .fireplace {
  position: absolute; bottom: 25%; left: 30%; right: 30%; height: 40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 -20px 40px rgba(0,0,0,0.8);
}
.scn-countess-fire-unmastered .flame-1 {
  position: absolute; bottom: 35%; left: 38%; width: 24%; height: 35%; background: radial-gradient(ellipse at 50% 100%, #f0943a 0%, #d45c2a 40%, #6a1a08 70%, transparent 100%); border-radius: 50% 50% 20% 20%; animation: cnt3-flame1 2s ease-in-out infinite alternate;
}
.scn-countess-fire-unmastered .flame-2 {
  position: absolute; bottom: 35%; left: 42%; width: 16%; height: 30%; background: radial-gradient(ellipse at 50% 100%, #f0c060 0%, #d47a30 50%, #8a2e10 80%, transparent 100%); border-radius: 50% 50% 20% 20%; animation: cnt3-flame2 2.5s ease-in-out infinite alternate;
}
.scn-countess-fire-unmastered .logs {
  position: absolute; bottom: 25%; left: 35%; right: 35%; height: 10%; background: linear-gradient(180deg, #3a2818 0%, #1a0e06 100%); border-radius: 30% 30% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.6);
}
.scn-countess-fire-unmastered .figure {
  position: absolute; bottom: 15%; left: 15%; width: 22px; height: 55px; background: linear-gradient(180deg, #1a1412 0%, #0a0604 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cnt3-figure 6s ease-in-out infinite;
}
.scn-countess-fire-unmastered .glow-floor {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 30%; background: linear-gradient(180deg, rgba(240,140,60,0.15) 0%, transparent 100%); border-radius: 50%; filter: blur(20px); animation: cnt3-glow 4s ease-in-out infinite alternate;
}
@keyframes cnt3-dark { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes cnt3-flame1 { 0% { transform: scaleY(1) translateY(0); opacity: 0.8; } 50% { transform: scaleY(1.15) translateY(-5px); opacity: 1; } 100% { transform: scaleY(0.9) translateY(2px); opacity: 0.7; } }
@keyframes cnt3-flame2 { 0% { transform: scaleY(1) translateY(0); opacity: 0.6; } 50% { transform: scaleY(1.2) translateY(-6px); opacity: 1; } 100% { transform: scaleY(0.85) translateY(3px); opacity: 0.5; } }
@keyframes cnt3-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cnt3-glow { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.2; } }

/* countess-consistent-soul */

.scn-countess-consistent-soul {
  background: linear-gradient(180deg, #3a2820 0%, #4a342a 40%, #2a1c16 100%), radial-gradient(ellipse at 50% 20%, #6a4840 0%, transparent 70%);
}
.scn-countess-consistent-soul .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a342a 0%, #2a1c16 100%); animation: cnt4-warm 14s ease-in-out infinite alternate;
}
.scn-countess-consistent-soul .pillar {
  position: absolute; bottom: 20%; left: 35%; right: 35%; height: 60%; background: linear-gradient(180deg, #6a5040 0%, #3a2a1e 100%); border-radius: 10% 10% 0 0; box-shadow: inset -4px 0 12px rgba(0,0,0,0.4); transform: scaleX(0.8); animation: cnt4-pillar 8s ease-in-out infinite;
}
.scn-countess-consistent-soul .figure {
  position: absolute; bottom: 20%; left: 45%; width: 18px; height: 45px; background: linear-gradient(180deg, #1a1212 0%, #0a0606 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cnt4-figure 5s ease-in-out infinite;
}
.scn-countess-consistent-soul .candle {
  position: absolute; bottom: 25%; left: 35%; width: 6px; height: 20px; background: linear-gradient(180deg, #f0d080 0%, #c8a050 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 10px 2px #c8a050; animation: cnt4-candle 4s ease-in-out infinite alternate;
}
.scn-countess-consistent-soul .candle-glow {
  position: absolute; bottom: 25%; left: 30%; width: 50px; height: 50px; background: radial-gradient(circle, rgba(240,208,128,0.4) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: cnt4-glow 3s ease-in-out infinite alternate;
}
.scn-countess-consistent-soul .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(180deg, #2a1e18 0%, #1a100c 100%); border-radius: 0 0 20% 20%;
}
@keyframes cnt4-warm { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes cnt4-pillar { 0%, 100% { transform: scaleX(0.8) translateY(0); } 50% { transform: scaleX(0.82) translateY(-2px); } }
@keyframes cnt4-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cnt4-candle { 0% { transform: scaleY(1) scaleX(1); opacity: 0.9; } 50% { transform: scaleY(1.1) scaleX(0.95); opacity: 1; box-shadow: 0 0 15px 4px #e8c060; } 100% { transform: scaleY(0.95) scaleX(1); opacity: 0.8; } }
@keyframes cnt4-glow { 0% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } 100% { opacity: 0.3; transform: scale(0.9); } }

/* butler-reveals-courier-arrived */

.scn-butler-reveals-courier-arrived {
  background:
    linear-gradient(135deg, #2a1a0e 0%, #4a2e1a 40%, #3a2212 100%),
    radial-gradient(ellipse at 50% 20%, #6a3a20 0%, transparent 70%);
}
.scn-butler-reveals-courier-arrived .br-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  animation: br-depth 20s ease-in-out infinite alternate;
}
.scn-butler-reveals-courier-arrived .br-window {
  position: absolute; top: 15%; right: 20%; width: 60px; height: 80px;
  background: radial-gradient(circle at 50% 50%, #e8b060 0%, #b08040 60%, transparent 100%);
  border-radius: 4px; box-shadow: 0 0 30px 10px rgba(200,150,60,.3);
  animation: br-window-glow 4s ease-in-out infinite alternate;
}
.scn-butler-reveals-courier-arrived .br-door {
  position: absolute; bottom: 0; left: 15%; width: 90px; height: 130px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 20px 20px 0 0; box-shadow: -4px 0 12px rgba(0,0,0,.5);
  animation: br-door-swing 6s ease-in-out infinite;
}
.scn-butler-reveals-courier-arrived .br-butler {
  position: absolute; bottom: 8%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: br-butler-bow 5s ease-in-out infinite;
}
.scn-butler-reveals-courier-arrived .br-courier {
  position: absolute; bottom: 8%; left: 55%; width: 28px; height: 68px;
  background: linear-gradient(180deg, #2a1a2a 0%, #120a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: br-courier-step 6s ease-in-out infinite;
}
.scn-butler-reveals-courier-arrived .br-letter {
  position: absolute; bottom: 30%; left: 48%; width: 20px; height: 14px;
  background: linear-gradient(135deg, #f0d090 0%, #c8a060 100%);
  border-radius: 2px; box-shadow: 0 0 12px 4px rgba(200,160,80,.4);
  animation: br-letter-glow 3s ease-in-out infinite alternate;
}
.scn-butler-reveals-courier-arrived .br-candle {
  position: absolute; bottom: 20%; left: 40%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px 6px rgba(255,200,80,.5);
  animation: br-candle-flicker 2s ease-in-out infinite alternate;
}
@keyframes br-depth { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes br-window-glow { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: .7; transform: scale(.98) } }
@keyframes br-door-swing { 0% { transform: rotateY(0deg) } 25% { transform: rotateY(-15deg) } 50% { transform: rotateY(0deg) } 75% { transform: rotateY(10deg) } 100% { transform: rotateY(0deg) } }
@keyframes br-butler-bow { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(5deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes br-courier-step { 0% { transform: translateX(0) } 30% { transform: translateX(10px) } 60% { transform: translateX(0) } 100% { transform: translateX(-5px) } }
@keyframes br-letter-glow { 0% { box-shadow: 0 0 8px 2px rgba(200,160,80,.3); opacity: .8 } 50% { box-shadow: 0 0 20px 8px rgba(200,160,80,.6); opacity: 1 } 100% { box-shadow: 0 0 12px 4px rgba(200,160,80,.4); opacity: .85 } }
@keyframes br-candle-flicker { 0% { transform: scaleY(1) translateY(0); opacity: .9 } 50% { transform: scaleY(1.1) translateY(-2px); opacity: 1 } 100% { transform: scaleY(.95) translateY(1px); opacity: .8 } }

/* courier-intercepted */

.scn-courier-intercepted {
  background:
    linear-gradient(180deg, #2a1a12 0%, #3a2a1a 40%, #1a0e08 100%),
    radial-gradient(ellipse at 50% 80%, #4a2a1a 0%, transparent 60%);
}
.scn-courier-intercepted .ci-room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1e12 0%, #1a1008 100%);
  animation: ci-ambient 15s ease-in-out infinite alternate;
}
.scn-courier-intercepted .ci-table {
  position: absolute; bottom: 5%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 20% 20% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5);
  animation: ci-table-bob 8s ease-in-out infinite;
}
.scn-courier-intercepted .ci-guard-l {
  position: absolute; bottom: 12%; left: 15%; width: 32px; height: 75px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ci-guard-l 5s ease-in-out infinite;
}
.scn-courier-intercepted .ci-guard-r {
  position: absolute; bottom: 12%; right: 15%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ci-guard-r 5.5s ease-in-out infinite;
}
.scn-courier-intercepted .ci-letter {
  position: absolute; bottom: 22%; left: 45%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #e8c080 0%, #b09050 100%);
  border-radius: 2px; transform: rotate(-15deg);
  box-shadow: 0 0 10px 2px rgba(200,160,80,.4);
  animation: ci-letter-tear 7s ease-in-out infinite;
}
.scn-courier-intercepted .ci-seal {
  position: absolute; bottom: 24%; left: 48%; width: 12px; height: 12px;
  background: radial-gradient(circle, #a04020 0%, #602010 100%);
  border-radius: 50%; box-shadow: 0 0 6px 2px rgba(160,64,32,.3);
  animation: ci-seal-glow 4s ease-in-out infinite alternate;
}
.scn-courier-intercepted .ci-lamp {
  position: absolute; bottom: 35%; right: 25%; width: 12px; height: 20px;
  background: radial-gradient(circle at 50% 50%, #ffd080 0%, #b08040 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 10px rgba(200,150,60,.5);
  animation: ci-lamp-swing 3s ease-in-out infinite alternate;
}
.scn-courier-intercepted .ci-shadow {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 8%;
  background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: ci-shadow-pulse 6s ease-in-out infinite alternate;
}
@keyframes ci-ambient { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .75 } }
@keyframes ci-table-bob { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ci-guard-l { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-2px) rotate(2deg) } 60% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(-1px) rotate(-1deg) } }
@keyframes ci-guard-r { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-1px) rotate(-2deg) } 60% { transform: translateY(0) rotate(0deg) } 100% { transform: translateY(-2px) rotate(1deg) } }
@keyframes ci-letter-tear { 0% { transform: rotate(-15deg) scale(1) } 50% { transform: rotate(-15deg) scale(1.1) translateY(-2px) } 100% { transform: rotate(-15deg) scale(1) } }
@keyframes ci-seal-glow { 0% { opacity: .7; box-shadow: 0 0 4px 1px rgba(160,64,32,.2) } 50% { opacity: 1; box-shadow: 0 0 12px 4px rgba(160,64,32,.5) } 100% { opacity: .8; box-shadow: 0 0 6px 2px rgba(160,64,32,.3) } }
@keyframes ci-lamp-swing { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(5deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes ci-shadow-pulse { 0% { opacity: .5; transform: scaleX(1) } 50% { opacity: .7; transform: scaleX(1.05) } 100% { opacity: .55; transform: scaleX(1) } }

/* prague-lost-sentencing */

.scn-prague-lost-sentencing {
  background:
    linear-gradient(135deg, #1a120e 0%, #2a1e14 50%, #3a281c 100%),
    radial-gradient(ellipse at 50% 30%, #5a3820 0%, transparent 70%);
}
.scn-prague-lost-sentencing .pl-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1e14 0%, #0e0a06 100%);
  animation: pl-ambient 18s ease-in-out infinite alternate;
}
.scn-prague-lost-sentencing .pl-throne {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 35%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 -8px 20px rgba(0,0,0,.6);
  animation: pl-throne-pulse 12s ease-in-out infinite alternate;
}
.scn-prague-lost-sentencing .pl-wallen {
  position: absolute; bottom: 8%; left: 50%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pl-wallen-stance 7s ease-in-out infinite;
}
.scn-prague-lost-sentencing .pl-tertsky {
  position: absolute; bottom: 8%; left: 30%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pl-alarm 4s ease-in-out infinite alternate;
}
.scn-prague-lost-sentencing .pl-illo {
  position: absolute; bottom: 8%; right: 30%; width: 28px; height: 68px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pl-alarm 4.5s ease-in-out infinite alternate-reverse;
}
.scn-prague-lost-sentencing .pl-paper {
  position: absolute; bottom: 25%; left: 45%; width: 40px; height: 28px;
  background: linear-gradient(135deg, #e0c090 0%, #a08060 100%);
  border-radius: 2px; transform: rotate(5deg);
  box-shadow: 0 0 8px 2px rgba(160,128,80,.3);
  animation: pl-paper-flutter 5s ease-in-out infinite;
}
.scn-prague-lost-sentencing .pl-candle {
  position: absolute; bottom: 15%; left: 20%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 24px 8px rgba(200,150,60,.5);
  animation: pl-candle 2s ease-in-out infinite alternate;
}
@keyframes pl-ambient { 0% { opacity: .65 } 50% { opacity: .85 } 100% { opacity: .7 } }
@keyframes pl-throne-pulse { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes pl-wallen-stance { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pl-alarm { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-4px) rotate(8deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(-6deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pl-paper-flutter { 0% { transform: rotate(5deg) translateY(0) } 25% { transform: rotate(8deg) translateY(-2px) } 50% { transform: rotate(3deg) translateY(0) } 75% { transform: rotate(6deg) translateY(2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes pl-candle { 0% { transform: scaleY(1) translateY(0); opacity: .9 } 50% { transform: scaleY(1.15) translateY(-2px); opacity: 1 } 100% { transform: scaleY(.9) translateY(1px); opacity: .85 } }

/* wallenstein-resolves-to-fight */

.scn-wallenstein-resolves-to-fight {
  background:
    linear-gradient(135deg, #2a1a0e 0%, #4a2e1a 30%, #2a1a0e 100%),
    radial-gradient(ellipse at 50% 70%, #5a3820 0%, transparent 60%);
}
.scn-wallenstein-resolves-to-fight .wr-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2a1a 0%, #120a06 100%);
  animation: wr-ambient 16s ease-in-out infinite alternate;
}
.scn-wallenstein-resolves-to-fight .wr-door {
  position: absolute; bottom: 0; left: 10%; width: 100px; height: 140px;
  background: linear-gradient(180deg, #4a2e1a 0%, #2a1a0e 100%);
  border-radius: 20px 20px 0 0; box-shadow: -6px 0 14px rgba(0,0,0,.6);
  animation: wr-door-swing 6s ease-in-out infinite;
}
.scn-wallenstein-resolves-to-fight .wr-wallen {
  position: absolute; bottom: 8%; left: 40%; width: 34px; height: 78px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-wallen-stride 8s ease-in-out infinite;
}
.scn-wallenstein-resolves-to-fight .wr-countess {
  position: absolute; bottom: 10%; right: 15%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #2a1a2a 0%, #0e0a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-countess-reach 5s ease-in-out infinite alternate;
}
.scn-wallenstein-resolves-to-fight .wr-candle {
  position: absolute; bottom: 20%; left: 20%; width: 10px; height: 22px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 28px 10px rgba(200,150,60,.5);
  animation: wr-candle 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-resolves-to-fight .wr-cape {
  position: absolute; bottom: 5%; left: 38%; width: 40px; height: 50px;
  background: linear-gradient(135deg, #3a2a2a 0%, #1a0e0e 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0; transform: rotate(-10deg);
  animation: wr-cape-sweep 7s ease-in-out infinite;
}
.scn-wallenstein-resolves-to-fight .wr-shadow {
  position: absolute; bottom: 0; left: 5%; width: 90%; height: 10%;
  background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: wr-shadow-lengthen 8s ease-in-out infinite alternate;
}
@keyframes wr-ambient { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes wr-door-swing { 0% { transform: rotateY(0deg) } 30% { transform: rotateY(-20deg) } 60% { transform: rotateY(0deg) } 100% { transform: rotateY(15deg) } }
@keyframes wr-wallen-stride { 0% { transform: translateX(0) rotate(0deg) } 20% { transform: translateX(12px) rotate(3deg) } 40% { transform: translateX(24px) rotate(0deg) } 60% { transform: translateX(36px) rotate(-2deg) } 80% { transform: translateX(48px) rotate(1deg) } 100% { transform: translateX(60px) rotate(0deg) } }
@keyframes wr-countess-reach { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-3px) rotate(5deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-1px) rotate(-3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wr-candle { 0% { transform: scaleY(1) translateY(0); opacity: .9 } 50% { transform: scaleY(1.12) translateY(-2px); opacity: 1 } 100% { transform: scaleY(.92) translateY(1px); opacity: .85 } }
@keyframes wr-cape-sweep { 0% { transform: rotate(-10deg) translateX(0) } 30% { transform: rotate(-10deg) translateX(-4px) } 60% { transform: rotate(-10deg) translateX(0) } 100% { transform: rotate(-10deg) translateX(4px) } }
@keyframes wr-shadow-lengthen { 0% { transform: scaleX(.8); opacity: .4 } 50% { transform: scaleX(1); opacity: .6 } 100% { transform: scaleX(.9); opacity: .5 } }

/* wallenstein-thorns-footpath */

.scn-wallenstein-thorns-footpath {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1e3a 30%, #3a2a4a 60%, #2a1e2e 100%),
              radial-gradient(ellipse at 50% 20%, #2a1e3a 0%, transparent 60%);
}
.scn-wallenstein-thorns-footpath .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e2a 0%, #1a0e1a 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.6);
}
.scn-wallenstein-thorns-footpath .wall-left {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(90deg, #1e1624 0%, #2a1e34 100%);
  box-shadow: 4px 0 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-thorns-footpath .wall-right {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(270deg, #1e1624 0%, #2a1e34 100%);
  box-shadow: -4px 0 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-thorns-footpath .window {
  position: absolute; top: 10%; left: 25%; right: 25%; height: 45%;
  background: linear-gradient(180deg, #2a2a4a 0%, #1e1e32 100%);
  border: 6px solid #3a2a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 0 4px 8px rgba(0,0,0,0.5);
  overflow: hidden;
}
.scn-wallenstein-thorns-footpath .thorn-left {
  position: absolute; top: 20%; left: 28%; width: 8px; height: 60%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 10% 10%;
  transform: rotate(15deg);
  box-shadow: 0 0 4px rgba(0,0,0,0.6);
  animation: th1-thorn 6s ease-in-out infinite;
}
.scn-wallenstein-thorns-footpath .thorn-right {
  position: absolute; top: 18%; right: 28%; width: 8px; height: 55%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 10% 10%;
  transform: rotate(-20deg);
  box-shadow: 0 0 4px rgba(0,0,0,0.6);
  animation: th1-thorn 7s ease-in-out infinite reverse;
}
.scn-wallenstein-thorns-footpath .figure-shadow {
  position: absolute; bottom: 10%; left: 38%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.8);
  animation: th1-figure 4s ease-in-out infinite;
}
.scn-wallenstein-thorns-footpath .candle {
  position: absolute; bottom: 15%; left: 15%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a3a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 16px 4px #b08040;
  animation: th1-candle 3s ease-in-out infinite alternate;
}
@keyframes th1-thorn {
  0% { transform: rotate(15deg) scaleY(1); }
  50% { transform: rotate(20deg) scaleY(1.05); }
  100% { transform: rotate(15deg) scaleY(1); }
}
@keyframes th1-figure {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(8px) translateY(0) rotate(2deg); }
  75% { transform: translateX(4px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-2deg); }
}
@keyframes th1-candle {
  0% { opacity: 0.8; box-shadow: 0 0 12px 2px #b08040; }
  50% { opacity: 1; box-shadow: 0 0 20px 6px #d0a050; }
  100% { opacity: 0.85; box-shadow: 0 0 14px 3px #b08040; }
}

/* illo-couriers-galas */

.scn-illo-couriers-galas {
  background: linear-gradient(180deg, #1c1822 0%, #2a1e2e 30%, #3a2a3e 60%, #2a1e2e 100%),
              radial-gradient(ellipse at 50% 50%, #3a2a3e 0%, transparent 70%);
}
.scn-illo-couriers-galas .tent-wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #2a2232 0%, #1a1222 100%);
  border: 2px solid #4a3a4a;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
}
.scn-illo-couriers-galas .tent-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a121a 0%, #0a0a12 100%);
}
.scn-illo-couriers-galas .map-table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
}
.scn-illo-couriers-galas .map {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 20%;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.4);
  animation: cg2-map 12s ease-in-out infinite;
}
.scn-illo-couriers-galas .figure-illo {
  position: absolute; bottom: 5%; left: 25%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cg2-figure-left 6s ease-in-out infinite;
}
.scn-illo-couriers-galas .figure-galas {
  position: absolute; bottom: 5%; right: 25%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cg2-figure-right 6s ease-in-out infinite 1s;
}
.scn-illo-couriers-galas .lamp {
  position: absolute; top: 15%; left: 48%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #b08040 0%, #6a4a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 16px 4px #c08040;
  animation: cg2-lamp 4s ease-in-out infinite alternate;
}
.scn-illo-couriers-galas .lamp-glow {
  position: absolute; top: 10%; left: 40%; width: 20%; height: 50%;
  background: radial-gradient(ellipse at center, rgba(192,160,80,0.2) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(15px);
  animation: cg2-glow 5s ease-in-out infinite alternate;
}
@keyframes cg2-map {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes cg2-figure-left {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cg2-figure-right {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(-3px) rotate(-2deg); }
  50% { transform: translateX(0) rotate(1deg); }
  75% { transform: translateX(3px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes cg2-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 12px 2px #c08040; }
  50% { opacity: 1; box-shadow: 0 0 24px 6px #d0a050; }
  100% { opacity: 0.8; box-shadow: 0 0 14px 3px #c08040; }
}
@keyframes cg2-glow {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(1); }
}

/* wallenstein-moments-mans-life */

.scn-wallenstein-moments-mans-life {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 30%, #2a1a0a 60%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-moments-mans-life .tent-interior {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%);
  clip-path: polygon(0 0, 100% 0, 80% 70%, 20% 70%);
}
.scn-wallenstein-moments-mans-life .tent-flap {
  position: absolute; top: 5%; left: 30%; right: 30%; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 50% 50% / 0 0 20% 20%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: mm3-flap 10s ease-in-out infinite alternate;
}
.scn-wallenstein-moments-mans-life .campfire {
  position: absolute; bottom: 20%; left: 45%; width: 24px; height: 18px;
  background: radial-gradient(ellipse at 50% 80%, #d08030 0%, #8a4a1a 60%, #3a1a00 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #c06020;
  animation: mm3-fire 2s ease-in-out infinite alternate;
}
.scn-wallenstein-moments-mans-life .campfire-glow {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,100,40,0.3) 0%, transparent 70%);
  filter: blur(20px);
  animation: mm3-fireglow 3s ease-in-out infinite alternate;
}
.scn-wallenstein-moments-mans-life .figure-wallenstein {
  position: absolute; bottom: 10%; left: 42%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -4px 0 8px rgba(0,0,0,0.6);
  animation: mm3-figure 8s ease-in-out infinite;
}
.scn-wallenstein-moments-mans-life .plain-horizon {
  position: absolute; top: 30%; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 40% 60% 0 0 / 80% 70% 0 0;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.5);
  animation: mm3-plain 20s ease-in-out infinite alternate;
}
.scn-wallenstein-moments-mans-life .stars {
  position: absolute; top: 5%; width: 40px; height: 40px;
  background: radial-gradient(ellipse at 30% 50%, rgba(255,230,180,0.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-wallenstein-moments-mans-life .sky-l {
  left: 25%;
  animation: mm3-stars 15s linear infinite;
}
.scn-wallenstein-moments-mans-life .sky-r {
  right: 25%;
  animation: mm3-stars 18s linear infinite reverse;
  animation-delay: -5s;
}
@keyframes mm3-flap {
  0% { transform: scaleX(1) translateY(0); }
  50% { transform: scaleX(1.05) translateY(-2px); }
  100% { transform: scaleX(1) translateY(0); }
}
@keyframes mm3-fire {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.15); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.85; }
}
@keyframes mm3-fireglow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(0.95); }
}
@keyframes mm3-figure {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(2px) rotate(1deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes mm3-plain {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes mm3-stars {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.2); }
  100% { opacity: 0.3; transform: scale(1); }
}

/* wallenstein-knit-futurity */

.scn-wallenstein-knit-futurity {
  background: linear-gradient(180deg, #1a0a00 0%, #2a1a0a 30%, #3a2a1a 60%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 50%, #2a1a0a 0%, transparent 60%);
}
.scn-wallenstein-knit-futurity .desk {
  position: absolute; bottom: 5%; left: 15%; right: 15%; height: 45%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
}
.scn-wallenstein-knit-futurity .paper {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 25%;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 50%, #5a4a2a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.4);
  animation: kf4-paper 14s ease-in-out infinite;
}
.scn-wallenstein-knit-futurity .thread-a {
  position: absolute; bottom: 25%; left: 32%; width: 2px; height: 30px;
  background: linear-gradient(180deg, #b08040 0%, #8a6a3a 100%);
  border-radius: 2px;
  transform-origin: top center;
  animation: kf4-thread-a 5s ease-in-out infinite;
}
.scn-wallenstein-knit-futurity .thread-b {
  position: absolute; bottom: 25%; left: 36%; width: 2px; height: 40px;
  background: linear-gradient(180deg, #a07030 0%, #6a4a1a 100%);
  border-radius: 2px;
  transform-origin: top center;
  animation: kf4-thread-b 6s ease-in-out infinite 1s;
}
.scn-wallenstein-knit-futurity .hand-left {
  position: absolute; bottom: 10%; left: 28%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 60% 40% 40%;
  transform-origin: bottom center;
  animation: kf4-hand-left 4s ease-in-out infinite;
}
.scn-wallenstein-knit-futurity .hand-right {
  position: absolute; bottom: 10%; right: 28%; width: 18px; height: 28px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 60% 30% 40% 40%;
  transform-origin: bottom center;
  animation: kf4-hand-right 4.5s ease-in-out infinite 0.5s;
}
.scn-wallenstein-knit-futurity .candle-desk {
  position: absolute; bottom: 30%; left: 48%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #b08040 0%, #6a4a2a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 16px 4px #d0a050;
  animation: kf4-candle 3s ease-in-out infinite alternate;
}
.scn-wallenstein-knit-futurity .candle-glow {
  position: absolute; bottom: 20%; left: 38%; right: 38%; height: 50%;
  background: radial-gradient(ellipse at center, rgba(200,160,80,0.25) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(20px);
  animation: kf4-glow 5s ease-in-out infinite alternate;
}
@keyframes kf4-paper {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes kf4-thread-a {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(8deg); }
  100% { transform: rotate(0deg); }
}
@keyframes kf4-thread-b {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}
@keyframes kf4-hand-left {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(2px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes kf4-hand-right {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes kf4-candle {
  0% { opacity: 0.8; box-shadow: 0 0 12px 2px #d0a050; }
  50% { opacity: 1; box-shadow: 0 0 24px 6px #e0b060; }
  100% { opacity: 0.85; box-shadow: 0 0 14px 3px #d0a050; }
}
@keyframes kf4-glow {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.15); }
  100% { opacity: 0.4; transform: scale(0.95); }
}

.scn-devereux-and-macdonald-agree { background: linear-gradient(180deg, #2b1f1a 0%, #1e1412 60%, #0d0807 100%), radial-gradient(ellipse at 40% 60%, #6b3a20 0%, transparent 60%); }
.scn-devereux-and-macdonald-agree .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #3a2c26 0%, #261c18 100%); animation: da-wall 10s ease-in-out infinite alternate; }
.scn-devereux-and-macdonald-agree .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1f1511 0%, #0f0a08 100%); border-top: 2px solid #4a342a; }
.scn-devereux-and-macdonald-agree .window { position:absolute; top:12%; left:65%; width:80px; height:120px; background: radial-gradient(ellipse at 50% 50%, #4a6b7a 0%, #1a2a33 80%); border: 6px solid #2a1f1a; border-radius:4% 4% 10% 10%; box-shadow:inset 0 0 20px rgba(74,107,122,.3); animation: da-window 18s ease-in-out infinite alternate; }
.scn-devereux-and-macdonald-agree .candle { position:absolute; bottom:30%; left:35%; width:4px; height:20px; background: linear-gradient(180deg, #d9a050 0%, #a07030 100%); border-radius:40% 40% 10% 10%; box-shadow:0 0 30px 10px #d08030, 0 0 60px 20px rgba(208,128,48,.4); animation: da-candle 2s ease-in-out infinite; }
.scn-devereux-and-macdonald-agree .table { position:absolute; bottom:20%; left:20%; width:160px; height:16px; background: linear-gradient(180deg, #4a352a 0%, #2a1f18 100%); border-radius:6px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-devereux-and-macdonald-agree .figure-1 { position:absolute; bottom:20%; left:30%; width:40px; height:70px; background: linear-gradient(180deg, #1e1412 0%, #0f0a08 100%); border-radius: 50% 45% 40% 40% / 60% 55% 40% 40%; transform-origin: bottom center; animation: da-fig1 4s ease-in-out infinite; }
.scn-devereux-and-macdonald-agree .figure-2 { position:absolute; bottom:20%; left:52%; width:42px; height:72px; background: linear-gradient(180deg, #1a1210 0%, #0d0807 100%); border-radius: 48% 50% 40% 40% / 58% 60% 40% 40%; transform-origin: bottom center; animation: da-fig2 5s ease-in-out infinite; }
@keyframes da-wall { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes da-window { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes da-candle { 0%,100% { transform: scaleY(1) rotate(-1deg); box-shadow:0 0 25px 8px #d08030, 0 0 50px 15px rgba(208,128,48,.3); } 50% { transform: scaleY(1.05) rotate(1deg); box-shadow:0 0 35px 12px #e09040, 0 0 60px 20px rgba(224,144,64,.4); } }
@keyframes da-fig1 { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(4px) rotate(-2deg) } 50% { transform: translateX(8px) rotate(1deg) } 75% { transform: translateX(4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes da-fig2 { 0% { transform: translateX(0) rotate(-1deg) } 33% { transform: translateX(-5px) rotate(2deg) } 66% { transform: translateX(3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-butler-encourages { background: linear-gradient(180deg, #2e221c 0%, #1d1410 60%, #0c0705 100%), radial-gradient(ellipse at 60% 70%, #7a4220 0%, transparent 70%); }
.scn-butler-encourages .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3d2c24 0%, #281a14 100%); animation: be-wall 14s ease-in-out infinite alternate; }
.scn-butler-encourages .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1f1410 0%, #0f0a07 100%); border-top: 2px solid #4a3024; }
.scn-butler-encourages .door { position:absolute; top:10%; right:8%; width:60px; height:140px; background: linear-gradient(180deg, #3a2a1e 0%, #1f1410 100%); border:5px solid #1f1410; border-radius:4% 4% 0 0; box-shadow:inset 0 0 10px rgba(0,0,0,.6); animation: be-door 20s ease-in-out infinite; }
.scn-butler-encourages .desk { position:absolute; bottom:18%; left:25%; width:140px; height:10px; background: linear-gradient(180deg, #4a3426 0%, #2a1a10 100%); border-radius:4px; box-shadow:0 6px 12px rgba(0,0,0,.5); }
.scn-butler-encourages .candle { position:absolute; bottom:22%; left:40%; width:4px; height:18px; background: linear-gradient(180deg, #d09040 0%, #a06828 100%); border-radius:40% 40% 10% 10%; box-shadow:0 0 25px 8px #c08030, 0 0 50px 15px rgba(192,128,48,.3); animation: be-candle 2.5s ease-in-out infinite; }
.scn-butler-encourages .figure-butler { position:absolute; bottom:15%; left:35%; width:44px; height:80px; background: linear-gradient(180deg, #1a1210 0%, #0c0705 100%); border-radius: 50% 45% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom center; animation: be-butler 3s ease-in-out infinite; }
.scn-butler-encourages .figure-devereux { position:absolute; bottom:15%; left:58%; width:38px; height:70px; background: linear-gradient(180deg, #1e1410 0%, #0e0806 100%); border-radius: 45% 50% 40% 40% / 55% 60% 40% 40%; transform-origin: bottom center; animation: be-dev 4.5s ease-in-out infinite; }
@keyframes be-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes be-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.95) translateX(2px) } }
@keyframes be-candle { 0%,100% { transform: scaleY(1) rotate(0) translateY(0); box-shadow:0 0 20px 6px #c08030, 0 0 40px 12px rgba(192,128,48,.25); } 50% { transform: scaleY(1.08) rotate(1.5deg) translateY(-1px); box-shadow:0 0 30px 10px #d09040, 0 0 55px 18px rgba(208,144,64,.4); } }
@keyframes be-butler { 0% { transform: translateX(0) rotate(3deg) } 30% { transform: translateX(10px) rotate(-2deg) } 60% { transform: translateX(5px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes be-dev { 0% { transform: translateX(0) rotate(-2deg) } 40% { transform: translateX(6px) rotate(1deg) } 80% { transform: translateX(-4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-butler-dismisses-them { background: linear-gradient(180deg, #1f1612 0%, #120c09 60%, #080504 100%), radial-gradient(ellipse at 50% 80%, #522a14 0%, transparent 70%); }
.scn-butler-dismisses-them .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #2a1f1a 0%, #1c1210 100%); animation: bd-wall 12s ease-in-out infinite alternate; }
.scn-butler-dismisses-them .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a0f0c 0%, #0a0605 100%); border-top: 2px solid #3a221a; }
.scn-butler-dismisses-them .door-left { position:absolute; top:8%; left:5%; width:50px; height:150px; background: linear-gradient(180deg, #2a1a12 0%, #140c0a 100%); border:4px solid #1a0e0a; border-radius:4% 4% 0 0; box-shadow:inset 0 0 8px rgba(0,0,0,.5); animation: bd-door 25s ease-in-out infinite; }
.scn-butler-dismisses-them .door-right { position:absolute; top:8%; right:5%; width:50px; height:150px; background: linear-gradient(180deg, #2a1a12 0%, #140c0a 100%); border:4px solid #1a0e0a; border-radius:4% 4% 0 0; box-shadow:inset 0 0 8px rgba(0,0,0,.5); animation: bd-door 27s ease-in-out infinite reverse; }
.scn-butler-dismisses-them .figure-macdonald { position:absolute; bottom:15%; left:15%; width:36px; height:65px; background: linear-gradient(180deg, #1a1210 0%, #0c0807 100%); border-radius: 50% 45% 40% 40% / 55% 50% 40% 40%; transform-origin: bottom center; animation: bd-macd 3.5s ease-in-out infinite; }
.scn-butler-dismisses-them .figure-devereux { position:absolute; bottom:15%; left:42%; width:38px; height:68px; background: linear-gradient(180deg, #1c1412 0%, #0e0a08 100%); border-radius: 47% 50% 40% 40% / 57% 60% 40% 40%; transform-origin: bottom center; animation: bd-dev 4s ease-in-out infinite; }
.scn-butler-dismisses-them .figure-butler { position:absolute; bottom:15%; left:68%; width:42px; height:75px; background: linear-gradient(180deg, #1a1210 0%, #0c0705 100%); border-radius: 50% 48% 40% 40% / 60% 52% 40% 40%; transform-origin: bottom center; animation: bd-butler 5s ease-in-out infinite; }
@keyframes bd-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes bd-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(.9) } }
@keyframes bd-macd { 0% { transform: translateX(0) rotate(2deg) translateY(0) } 25% { transform: translateX(-12px) rotate(-1deg) translateY(2px) } 50% { transform: translateX(-24px) rotate(0) translateY(0) } 75% { transform: translateX(-12px) rotate(1deg) translateY(-1px) } 100% { transform: translateX(0) rotate(0) translateY(0) } }
@keyframes bd-dev { 0% { transform: translateX(0) rotate(-1deg) } 33% { transform: translateX(8px) rotate(2deg) } 66% { transform: translateX(16px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bd-butler { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(6px) rotate(3deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-thekla-revives { background: linear-gradient(180deg, #1e1614 0%, #130c0a 60%, #080504 100%), radial-gradient(ellipse at 50% 30%, #523420 0%, transparent 60%); }
.scn-thekla-revives .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a1e1a 0%, #1a1210 100%); animation: tr-wall 15s ease-in-out infinite alternate; }
.scn-thekla-revives .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a0f0c 0%, #0a0605 100%); border-top: 2px solid #3a1e14; }
.scn-thekla-revives .window-gothic { position:absolute; top:5%; left:50%; width:100px; height:160px; transform:translateX(-50%); background: radial-gradient(ellipse at 50% 40%, #5a7a8a 0%, #1a2a33 70%); border:8px solid #2a1a12; border-radius:20% 20% 10% 10% / 30% 30% 10% 10%; box-shadow:inset 0 0 30px rgba(90,122,138,.3); animation: tr-window 22s ease-in-out infinite alternate; }
.scn-thekla-revives .figure-seated { position:absolute; bottom:20%; left:38%; width:50px; height:60px; background: linear-gradient(180deg, #261a16 0%, #100a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform-origin: bottom center; animation: tr-seat 6s ease-in-out infinite; }
.scn-thekla-revives .figure-tending-1 { position:absolute; bottom:22%; left:28%; width:32px; height:70px; background: linear-gradient(180deg, #1c1412 0%, #0e0a08 100%); border-radius: 45% 50% 40% 40% / 55% 60% 40% 40%; transform-origin: bottom center; animation: tr-tend1 4s ease-in-out infinite; }
.scn-thekla-revives .figure-tending-2 { position:absolute; bottom:22%; left:52%; width:32px; height:68px; background: linear-gradient(180deg, #1e1614 0%, #100c0a 100%); border-radius: 50% 45% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom center; animation: tr-tend2 4.5s ease-in-out infinite; animation-delay: .5s; }
.scn-thekla-revives .figure-standing-1 { position:absolute; bottom:18%; left:12%; width:36px; height:80px; background: linear-gradient(180deg, #1a1210 0%, #0c0807 100%); border-radius: 50% 45% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom center; animation: tr-stand1 8s ease-in-out infinite; }
.scn-thekla-revives .figure-standing-2 { position:absolute; bottom:18%; right:12%; width:36px; height:78px; background: linear-gradient(180deg, #1c1412 0%, #0e0a08 100%); border-radius: 48% 50% 40% 40% / 58% 60% 40% 40%; transform-origin: bottom center; animation: tr-stand2 7s ease-in-out infinite; }
@keyframes tr-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes tr-window { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes tr-seat { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1.5deg) } }
@keyframes tr-tend1 { 0% { transform: translateX(0) rotate(-2deg) } 30% { transform: translateX(4px) rotate(1deg) } 60% { transform: translateX(8px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes tr-tend2 { 0% { transform: translateX(0) rotate(1deg) } 30% { transform: translateX(-4px) rotate(-2deg) } 60% { transform: translateX(-8px) rotate(0) } 100% { transform: translateX(0) rotate(0) } }
@keyframes tr-stand1 { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes tr-stand2 { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }

/* wallenstein-doubts-news */

.scn-wallenstein-doubts-news {
  background: linear-gradient(180deg, #f5e6c8 0%, #c9a96e 60%, #8b6f47 100%), radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 60%);
}
.scn-wallenstein-doubts-news .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d4b88c 0%, #a58b63 100%); }
.scn-wallenstein-doubts-news .window-frame { position:absolute; top:8%; left:70%; width:22%; height:28%; background: #3a2a1a; border-radius:4px; box-shadow: inset 0 0 30px #ffe8b0; }
.scn-wallenstein-doubts-news .light-shaft { position:absolute; top:8%; left:70%; width:22%; height:70%; background: linear-gradient(135deg, rgba(255,240,200,0.4) 0%, transparent 70%); transform: skewX(-5deg); animation: wdn-light 3s ease-in-out infinite alternate; }
.scn-wallenstein-doubts-news .table { position:absolute; bottom:15%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #7a5c3a 0%, #4e3723 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-wallenstein-doubts-news .figure-left { position:absolute; bottom:22%; left:20%; width:12%; height:35%; background: radial-gradient(ellipse at 40% 20%, #3a2a1a 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wdn-fig1 6s ease-in-out infinite; }
.scn-wallenstein-doubts-news .figure-center { position:absolute; bottom:22%; left:44%; width:14%; height:38%; background: radial-gradient(ellipse at 50% 20%, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wdn-fig2 4s ease-in-out infinite alternate; }
.scn-wallenstein-doubts-news .figure-right { position:absolute; bottom:22%; right:18%; width:11%; height:32%; background: radial-gradient(ellipse at 30% 20%, #2a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wdn-fig3 5s ease-in-out infinite; }
.scn-wallenstein-doubts-news .dust-a { position:absolute; top:20%; left:40%; width:6px; height:6px; background: rgba(255,240,180,0.3); border-radius:50%; filter: blur(2px); animation: wdn-drift-a 12s linear infinite; }
.scn-wallenstein-doubts-news .dust-b { position:absolute; top:30%; left:60%; width:4px; height:4px; background: rgba(255,240,180,0.2); border-radius:50%; filter: blur(1px); animation: wdn-drift-b 18s linear infinite reverse; }
@keyframes wdn-light { 0% { opacity:0.7; transform: skewX(-5deg) scaleX(1); } 50% { opacity:1; transform: skewX(-3deg) scaleX(1.05); } 100% { opacity:0.8; transform: skewX(-5deg) scaleX(0.95); } }
@keyframes wdn-fig1 { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-1px); } 50% { transform: rotate(-1deg) translateY(0); } 75% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes wdn-fig2 { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(1deg) scaleY(1.02); } 100% { transform: rotate(-1deg) scaleY(0.98); } }
@keyframes wdn-fig3 { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(2px) rotate(2deg); } 66% { transform: translateX(-1px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wdn-drift-a { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:0.5; } 90% { opacity:0.5; } 100% { transform: translate(80px,-20px); opacity:0; } }
@keyframes wdn-drift-b { 0% { transform: translate(0,0); opacity:0; } 20% { opacity:0.3; } 80% { opacity:0.3; } 100% { transform: translate(-60px,10px); opacity:0; } }

/* illo-brings-bad-news */

.scn-illo-brings-bad-news {
  background: linear-gradient(180deg, #6b4e3e 0%, #3a2a1a 50%, #1a120a 100%), radial-gradient(ellipse at 50% 80%, #4e3723 0%, transparent 70%);
}
.scn-illo-brings-bad-news .wall-dark { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #4e3723 0%, #2a1a0a 100%); }
.scn-illo-brings-bad-news .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); }
.scn-illo-brings-bad-news .messenger { position:absolute; bottom:20%; left:25%; width:14%; height:40%; background: radial-gradient(ellipse at 50% 20%, #5a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: ibn-mess 5s ease-in-out infinite; }
.scn-illo-brings-bad-news .receiver { position:absolute; bottom:20%; right:30%; width:16%; height:42%; background: radial-gradient(ellipse at 40% 20%, #4a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: ibn-rec 7s ease-in-out infinite alternate; }
.scn-illo-brings-bad-news .scroll { position:absolute; bottom:32%; left:28%; width:8%; height:4%; background: #d4b88c; border-radius:2px; transform: rotate(10deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: ibn-scroll 3s ease-in-out infinite; }
.scn-illo-brings-bad-news .lamp { position:absolute; top:15%; right:15%; width:8%; height:10%; background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #b08040 60%, #4a2a1a 100%); border-radius:50% 50% 30% 30% / 80% 80% 20% 20%; box-shadow: 0 0 40px 10px #ffd080, 0 0 80px 20px rgba(255,208,128,0.3); animation: ibn-lamp 2s ease-in-out infinite alternate; }
.scn-illo-brings-bad-news .shadow { position:absolute; bottom:0; left:20%; width:60%; height:20%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: ibn-shadow 8s ease-in-out infinite; }
@keyframes ibn-mess { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(3deg) translateY(-3px); } 50% { transform: rotate(-2deg) translateY(0); } 75% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ibn-rec { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-2deg) scaleY(0.98); } 100% { transform: rotate(2deg) scaleY(1.02); } }
@keyframes ibn-scroll { 0% { transform: rotate(10deg) translateX(0); opacity:0.8; } 50% { transform: rotate(12deg) translateX(2px); opacity:1; } 100% { transform: rotate(10deg) translateX(0); opacity:0.8; } }
@keyframes ibn-lamp { 0% { box-shadow: 0 0 30px 5px #ffd080, 0 0 60px 15px rgba(255,208,128,0.2); opacity:0.9; } 50% { box-shadow: 0 0 50px 15px #ffd080, 0 0 100px 30px rgba(255,208,128,0.4); opacity:1; } 100% { box-shadow: 0 0 35px 8px #ffd080, 0 0 70px 20px rgba(255,208,128,0.25); opacity:0.9; } }
@keyframes ibn-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.1); } 100% { opacity:0.4; transform: scaleX(1); } }

/* thekla-faints-at-news */

.scn-thekla-faints-at-news {
  background: linear-gradient(180deg, #c9a96e 0%, #8b6f47 40%, #4e3723 100%), radial-gradient(ellipse at 50% 0%, #ffe8b0 0%, transparent 70%);
}
.scn-thekla-faints-at-news .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #a58b63 0%, #6b4e3e 100%); }
.scn-thekla-faints-at-news .window-drape { position:absolute; top:5%; right:5%; width:30%; height:50%; background: linear-gradient(180deg, #7a5c3a 0%, #4e3723 100%); border-radius: 0 0 20% 20%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5); animation: tfn-drape 6s ease-in-out infinite; }
.scn-thekla-faints-at-news .thekla { position:absolute; bottom:15%; left:35%; width:15%; height:50%; background: radial-gradient(ellipse at 50% 15%, #c8a882 0%, #8b6f47 60%, #4e3723 100%); border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%; transform-origin: top center; animation: tfn-fall 4s ease-in-out infinite; }
.scn-thekla-faints-at-news .neubrunn { position:absolute; bottom:15%; right:30%; width:12%; height:45%; background: radial-gradient(ellipse at 40% 20%, #6b4e3e 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: tfn-neu 5s ease-in-out infinite alternate; }
.scn-thekla-faints-at-news .carpet { position:absolute; bottom:0; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #7a5c3a 0%, #4e3723 100%); border-radius: 30% 30% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.3); }
.scn-thekla-faints-at-news .chair { position:absolute; bottom:12%; left:60%; width:10%; height:20%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 4px 4px 0 0; transform: rotate(5deg); animation: tfn-chair 8s ease-in-out infinite; }
.scn-thekla-faints-at-news .tear-a { position:absolute; bottom:40%; left:38%; width:4px; height:4px; background: rgba(180,200,255,0.6); border-radius:50%; animation: tfn-tear 2s ease-in infinite; }
.scn-thekla-faints-at-news .tear-b { position:absolute; bottom:45%; left:42%; width:3px; height:3px; background: rgba(180,200,255,0.5); border-radius:50%; animation: tfn-tear 2.5s ease-in infinite 1s; }
@keyframes tfn-drape { 0% { transform: translateY(0); } 50% { transform: translateY(5px); } 100% { transform: translateY(0); } }
@keyframes tfn-fall { 0% { transform: rotate(0deg) translateY(0); opacity:1; } 20% { transform: rotate(-8deg) translateY(20px); opacity:0.9; } 40% { transform: rotate(-15deg) translateY(40px); opacity:0.7; } 60% { transform: rotate(-20deg) translateY(60px); opacity:0.5; } 80% { transform: rotate(-25deg) translateY(80px); opacity:0.3; } 100% { transform: rotate(-30deg) translateY(100px); opacity:0; } }
@keyframes tfn-neu { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(5deg) translateX(5px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes tfn-chair { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes tfn-tear { 0% { transform: translateY(0); opacity:0.6; } 100% { transform: translateY(30px); opacity:0; } }

/* butler-plans-murder */

.scn-butler-plans-murder {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 40%, #0a0a1a 100%), radial-gradient(ellipse at 30% 60%, #3a3a5e 0%, transparent 60%);
}
.scn-butler-plans-murder .bg-dim { position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2e 0%, #0a0a1a 100%); }
.scn-butler-plans-murder .lamp-glow { position:absolute; top:20%; left:20%; width:20%; height:20%; background: radial-gradient(circle at 50% 50%, #5a4a3a 0%, #b08040 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 30px #b08040, 0 0 120px 60px rgba(176,128,64,0.3); animation: bpm-lamp 3s ease-in-out infinite alternate; }
.scn-butler-plans-murder .butler { position:absolute; bottom:10%; left:25%; width:15%; height:40%; background: radial-gradient(ellipse at 50% 20%, #2a2a3e 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: bpm-but 5s ease-in-out infinite; }
.scn-butler-plans-murder .gordon { position:absolute; bottom:10%; right:30%; width:14%; height:38%; background: radial-gradient(ellipse at 40% 20%, #3a3a4e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: bpm-gor 6s ease-in-out infinite alternate; }
.scn-butler-plans-murder .table-map { position:absolute; bottom:5%; left:30%; right:30%; height:6%; background: linear-gradient(180deg, #4e3a2a 0%, #2a1a0a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); transform: perspective(200px) rotateX(30deg); animation: bpm-map 10s ease-in-out infinite; }
.scn-butler-plans-murder .knife { position:absolute; bottom:8%; left:45%; width:8%; height:2%; background: #8a7a6a; border-radius: 1px; transform: rotate(30deg); box-shadow: 0 1px 2px rgba(0,0,0,0.5); animation: bpm-knife 4s ease-in-out infinite; }
.scn-butler-plans-murder .shadow-pool { position:absolute; bottom:0; left:10%; right:10%; height:15%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.7) 0%, transparent 100%); animation: bpm-pool 12s ease-in-out infinite; }
@keyframes bpm-lamp { 0% { opacity:0.7; transform: scale(0.95); box-shadow: 0 0 40px 20px #b08040, 0 0 80px 40px rgba(176,128,64,0.2); } 50% { opacity:1; transform: scale(1.05); box-shadow: 0 0 80px 40px #b08040, 0 0 160px 80px rgba(176,128,64,0.4); } 100% { opacity:0.8; transform: scale(0.95); box-shadow: 0 0 50px 25px #b08040, 0 0 100px 50px rgba(176,128,64,0.3); } }
@keyframes bpm-but { 0% { transform: rotate(0deg) translateY(0); } 33% { transform: rotate(2deg) translateY(-2px); } 66% { transform: rotate(-1deg) translateY(0); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes bpm-gor { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-3deg) scaleY(0.96); } 100% { transform: rotate(2deg) scaleY(1.04); } }
@keyframes bpm-map { 0% { transform: perspective(200px) rotateX(30deg) translateY(0); } 50% { transform: perspective(200px) rotateX(32deg) translateY(1px); } 100% { transform: perspective(200px) rotateX(30deg) translateY(0); } }
@keyframes bpm-knife { 0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(28deg) translateX(2px); } 100% { transform: rotate(30deg) translateX(0); } }
@keyframes bpm-pool { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.1); } 100% { opacity:0.5; transform: scaleX(1); } }

.scn-tertsky-returns-defeated {
  background: 
    linear-gradient(180deg, #2a1f1a 0%, #3d2b22 40%, #1e1410 100%),
    radial-gradient(ellipse at 30% 60%, #5a3e2e 0%, transparent 60%);
}
.scn-tertsky-returns-defeated .wall-bg {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3d2b22 0%, #1e1410 100%);
  animation: trd-wall 12s ease-in-out infinite alternate;
}
.scn-tertsky-returns-defeated .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a110e 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.6);
}
.scn-tertsky-returns-defeated .lamp-glow {
  position: absolute;
  bottom: 45%;
  left: 30%;
  width: 60px;
  height: 80px;
  background: radial-gradient(circle, #e8b86a 0%, #b87333 50%, transparent 70%);
  border-radius: 50%;
  animation: trd-lamp 4s ease-in-out infinite alternate;
}
.scn-tertsky-returns-defeated .lamp-post {
  position: absolute;
  bottom: 55%;
  left: calc(30% + 26px);
  width: 6px;
  height: 60px;
  background: linear-gradient(180deg, #4a3528, #2a1f1a);
  border-radius: 2px;
}
.scn-tertsky-returns-defeated .figure-tertsky {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #1c1410 0%, #0d0907 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: trd-tertsky 6s ease-in-out infinite;
}
.scn-tertsky-returns-defeated .figure-countess {
  position: absolute;
  bottom: 30%;
  left: 55%;
  width: 36px;
  height: 66px;
  background: linear-gradient(180deg, #2a1f1a 0%, #1a110e 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: trd-countess 8s ease-in-out infinite alternate;
}
.scn-tertsky-returns-defeated .shadow-arch {
  position: absolute;
  top: 5%;
  left: 20%;
  right: 20%;
  height: 25%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(8px);
  animation: trd-arch 15s linear infinite;
}
.scn-tertsky-returns-defeated .candle-drip {
  position: absolute;
  bottom: 45%;
  left: calc(30% - 4px);
  width: 8px;
  height: 14px;
  background: linear-gradient(180deg, #e8b86a 0%, #b87333 100%);
  border-radius: 4px 4px 2px 2px;
  animation: trd-drip 5s ease-in-out infinite alternate;
}
@keyframes trd-wall {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}
@keyframes trd-lamp {
  0% { transform: scale(1); opacity: 0.7; box-shadow: 0 0 30px 10px #e8b86a; }
  50% { transform: scale(1.1); opacity: 1; box-shadow: 0 0 50px 20px #fcd48a; }
  100% { transform: scale(0.95); opacity: 0.8; box-shadow: 0 0 40px 15px #d49a4a; }
}
@keyframes trd-tertsky {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-3px) rotate(1deg); }
  50% { transform: translateY(0) rotate(2deg); }
  75% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes trd-countess {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes trd-arch {
  0% { transform: translateY(0); opacity: 0.3; }
  50% { transform: translateY(-5px); opacity: 0.5; }
  100% { transform: translateY(0); opacity: 0.2; }
}
@keyframes trd-drip {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(4px) scaleY(1.2); }
  100% { transform: translateY(2px) scaleY(0.9); }
}

.scn-wallenstein-orders-march {
  background: 
    linear-gradient(180deg, #3a2e24 0%, #4c3a2c 40%, #261e16 100%),
    radial-gradient(ellipse at 50% 80%, #6b4f3a 0%, transparent 60%);
}
.scn-wallenstein-orders-march .map-table {
  position: absolute;
  bottom: 8%;
  left: 10%;
  right: 10%;
  height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%);
  border-radius: 60% 60% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 25px rgba(0,0,0,0.7);
}
.scn-wallenstein-orders-march .map-paper {
  position: absolute;
  bottom: 25%;
  left: 25%;
  width: 50%;
  height: 14%;
  background: linear-gradient(135deg, #b8a080 0%, #8a6e54 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: wom-map 20s linear infinite;
}
.scn-wallenstein-orders-march .figure-wallenstein {
  position: absolute;
  bottom: 20%;
  left: 45%;
  width: 44px;
  height: 80px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: wom-wallenstein 5s ease-in-out infinite;
}
.scn-wallenstein-orders-march .figure-illo {
  position: absolute;
  bottom: 22%;
  left: 30%;
  width: 32px;
  height: 64px;
  background: linear-gradient(180deg, #2a1e16 0%, #16100c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: wom-illo 7s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-march .figure-butler {
  position: absolute;
  bottom: 24%;
  left: 60%;
  width: 34px;
  height: 66px;
  background: linear-gradient(180deg, #2a1e16 0%, #16100c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: wom-butler 6s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-march .torch-glow {
  position: absolute;
  top: 18%;
  left: 48%;
  width: 70px;
  height: 90px;
  background: radial-gradient(circle, #f0c060 0%, #c08030 40%, transparent 70%);
  border-radius: 50%;
  animation: wom-torch 3s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-march .torch-flame {
  position: absolute;
  top: 22%;
  left: calc(48% + 30px);
  width: 8px;
  height: 16px;
  background: linear-gradient(180deg, #ffd080, #e0a040 60%);
  border-radius: 4px 4px 2px 2px;
  filter: blur(1px);
  animation: wom-flame 1.5s ease-in-out infinite;
}
.scn-wallenstein-orders-march .wall-shadow {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  animation: wom-shadow 10s ease-in-out infinite alternate;
}
@keyframes wom-map {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
  50% { transform: translateY(-2px) rotate(1deg); opacity: 1; }
  100% { transform: translateY(0) rotate(-1deg); opacity: 0.7; }
}
@keyframes wom-wallenstein {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  75% { transform: translateY(-3px) rotate(2deg); }
}
@keyframes wom-illo {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wom-butler {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(-2px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wom-torch {
  0% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}
@keyframes wom-flame {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-3px) scaleY(1.3); }
  100% { transform: translateY(2px) scaleY(0.8); }
}
@keyframes wom-shadow {
  0% { opacity: 0.3; }
  50% { opacity: 0.5; }
  100% { opacity: 0.2; }
}

.scn-wallenstein-gives-farewell-order {
  background: 
    linear-gradient(180deg, #1e1814 0%, #2c221e 40%, #14100c 100%),
    radial-gradient(ellipse at 50% 70%, #4a3a32 0%, transparent 70%);
}
.scn-wallenstein-gives-farewell-order .bg-arch {
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #2c221e 0%, #14100c 80%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  filter: blur(10px);
  animation: wfg-arch 20s ease-in-out infinite alternate;
}
.scn-wallenstein-gives-farewell-order .figure-wallenstein {
  position: absolute;
  bottom: 18%;
  left: 42%;
  width: 50px;
  height: 90px;
  background: linear-gradient(180deg, #1c1410 0%, #0a0806 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: wfg-wall 8s ease-in-out infinite;
}
.scn-wallenstein-gives-farewell-order .figure-max {
  position: absolute;
  bottom: 20%;
  left: 28%;
  width: 40px;
  height: 80px;
  background: linear-gradient(180deg, #2a1e16 0%, #16100c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: wfg-max 6s ease-in-out infinite;
}
.scn-wallenstein-gives-farewell-order .figure-thekla {
  position: absolute;
  bottom: 22%;
  left: 52%;
  width: 36px;
  height: 72px;
  background: linear-gradient(180deg, #2a1e16 0%, #16100c 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  animation: wfg-thekla 7s ease-in-out infinite alternate;
}
.scn-wallenstein-gives-farewell-order .cuirassiers {
  position: absolute;
  bottom: 20%;
  left: 12%;
  right: 12%;
  height: 40%;
  background: repeating-linear-gradient(90deg, 
    transparent 0px,
    transparent 20px,
    #1c1410 20px,
    #1c1410 26px,
    transparent 26px,
    transparent 50px
  );
  filter: blur(3px);
  opacity: 0.6;
  animation: wfg-cuir 15s linear infinite;
}
.scn-wallenstein-gives-farewell-order .sword-gleam {
  position: absolute;
  top: 25%;
  left: 48%;
  width: 4px;
  height: 40px;
  background: linear-gradient(180deg, #c0c0c0 0%, #f0f0f0 50%, #c0c0c0 100%);
  border-radius: 2px;
  filter: blur(1px);
  animation: wfg-sword 3s ease-in-out infinite alternate;
}
.scn-wallenstein-gives-farewell-order .light-oval {
  position: absolute;
  top: 10%;
  left: 35%;
  right: 35%;
  height: 20%;
  background: radial-gradient(ellipse at center, rgba(200,160,120,0.3) 0%, transparent 70%);
  animation: wfg-light 10s ease-in-out infinite alternate;
}
.scn-wallenstein-gives-farewell-order .floor-stripes {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 18%;
  background: repeating-linear-gradient(90deg, 
    #2a201a 0px,
    #2a201a 16px,
    #1a1410 16px,
    #1a1410 32px
  );
  opacity: 0.5;
  animation: wfg-floor 25s linear infinite;
}
@keyframes wfg-arch {
  0% { transform: scaleY(1); opacity: 0.4; }
  50% { transform: scaleY(1.05); opacity: 0.6; }
  100% { transform: scaleY(0.95); opacity: 0.3; }
}
@keyframes wfg-wall {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(-1deg); }
  50% { transform: translateY(0) rotate(2deg); }
  75% { transform: translateY(-3px) rotate(-2deg); }
}
@keyframes wfg-max {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes wfg-thekla {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-3px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wfg-cuir {
  0% { background-position: 0 0; }
  100% { background-position: -50px 0; }
}
@keyframes wfg-sword {
  0% { transform: translateY(0) rotate(-3deg); opacity: 0.6; }
  50% { transform: translateY(-4px) rotate(0deg); opacity: 1; }
  100% { transform: translateY(2px) rotate(3deg); opacity: 0.5; }
}
@keyframes wfg-light {
  0% { opacity: 0.2; }
  50% { opacity: 0.4; }
  100% { opacity: 0.1; }
}
@keyframes wfg-floor {
  0% { background-position: 0 0; }
  100% { background-position: 32px 0; }
}

.scn-max-takes-leave {
  background: 
    linear-gradient(180deg, #12100e 0%, #221c18 40%, #0e0c0a 100%),
    radial-gradient(ellipse at 50% 60%, #3a2e26 0%, transparent 60%);
}
.scn-max-takes-leave .bg-dark {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 40% 50%, #1a1410 0%, #0a0806 80%);
  animation: mtl-bg 20s ease-in-out infinite alternate;
}
.scn-max-takes-leave .figure-max {
  position: absolute;
  bottom: 22%;
  left: 25%;
  width: 42px;
  height: 78px;
  background: linear-gradient(180deg, #1c1410 0%, #0a0806 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: mtl-max 7s ease-in-out infinite;
}
.scn-max-takes-leave .figure-thekla {
  position: absolute;
  bottom: 24%;
  left: 50%;
  width: 36px;
  height: 72px;
  background: linear-gradient(180deg, #2a1e16 0%, #16100c 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  animation: mtl-thekla 8s ease-in-out infinite alternate;
}
.scn-max-takes-leave .figure-wallenstein {
  position: absolute;
  bottom: 18%;
  left: 60%;
  width: 46px;
  height: 84px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  animation: mtl-wall 9s ease-in-out infinite alternate;
}
.scn-max-takes-leave .barrier-shadow {
  position: absolute;
  bottom: 18%;
  left: 55%;
  width: 20px;
  height: 90px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.6), transparent);
  filter: blur(6px);
  animation: mtl-barrier 6s ease-in-out infinite;
}
.scn-max-takes-leave .doorway {
  position: absolute;
  top: 10%;
  left: 35%;
  right: 35%;
  height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #2a201a 0%, transparent 70%);
  border-radius: 0 0 40% 40% / 0 0 50% 50%;
  filter: blur(8px);
  animation: mtl-door 15s linear infinite;
}
.scn-max-takes-leave .faint-glow {
  position: absolute;
  top: 25%;
  left: 45%;
  width: 30px;
  height: 40px;
  background: radial-gradient(circle, rgba(180,140,100,0.2) 0%, transparent 60%);
  border-radius: 50%;
  animation: mtl-glow 5s ease-in-out infinite alternate;
}
.scn-max-takes-leave .dust-motes {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: radial-gradient(circle at 20% 30%, rgba(200,170,140,0.03) 0%, transparent 50%),
              radial-gradient(circle at 80% 70%, rgba(200,170,140,0.02) 0%, transparent 50%);
  animation: mtl-dust 30s linear infinite;
}
@keyframes mtl-bg {
  0% { opacity: 0.5; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}
@keyframes mtl-max {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(1deg); }
  50% { transform: translateX(0) rotate(2deg); }
  75% { transform: translateX(3px) rotate(-1deg); }
  100% { transform: translateX(8px) rotate(0deg); }
}
@keyframes mtl-thekla {
  0% { transform: translateX(0) translateY(0) rotate(1deg); }
  50% { transform: translateX(-4px) translateY(-3px) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes mtl-wall {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(0.98); }
}
@keyframes mtl-barrier {
  0% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.5); opacity: 0.8; }
  100% { transform: scaleX(0.8); opacity: 0.3; }
}
@keyframes mtl-door {
  0% { transform: translateY(0) scaleY(1); opacity: 0.3; }
  50% { transform: translateY(-4px) scaleY(1.1); opacity: 0.5; }
  100% { transform: translateY(0) scaleY(0.9); opacity: 0.2; }
}
@keyframes mtl-glow {
  0% { transform: scale(1); opacity: 0.1; }
  50% { transform: scale(1.3); opacity: 0.3; }
  100% { transform: scale(0.9); opacity: 0.05; }
}
@keyframes mtl-dust {
  0% { background-position: 0 0; }
  100% { background-position: 100px 50px; }
}

/* preface-coleridge-notes */

.scn-preface-coleridge-notes {
  background: linear-gradient(180deg, #f9f4e8 0%, #e3d6c0 40%, #d2c0a8 100%),
              radial-gradient(ellipse at 70% 20%, rgba(255,255,230,.6) 0%, transparent 60%);
}
.scn-preface-coleridge-notes .bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 50%, #c8b89a 100%); }
.scn-preface-coleridge-notes .window { position:absolute; top:8%; left:12%; width:28%; height:40%; background: linear-gradient(135deg, #fffae6 0%, #d9ceb0 100%); border-radius:4% 4% 12% 12% / 6% 6% 14% 14%; box-shadow: inset 0 0 30px rgba(255,255,200,.3); animation: pcn-window 12s ease-in-out infinite alternate; }
.scn-preface-coleridge-notes .desk { position:absolute; bottom:12%; left:25%; width:50%; height:10%; background: linear-gradient(180deg, #8b6f4e 0%, #6a5239 100%); border-radius:2% 2% 8% 8% / 10% 10% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.scn-preface-coleridge-notes .papers { position:absolute; bottom:18%; left:35%; width:12%; height:8%; background: linear-gradient(135deg, #f5ede0 0%, #e0d0b8 100%); border-radius:2px; transform: rotate(-4deg); box-shadow: 2px 2px 6px rgba(0,0,0,.15); animation: pcn-papers 9s ease-in-out infinite; }
.scn-preface-coleridge-notes .chair { position:absolute; bottom:2%; left:38%; width:24%; height:18%; background: linear-gradient(180deg, #7a5d3a 0%, #4f3922 100%); border-radius:30% 30% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: pcn-chair 14s ease-in-out infinite alternate; }
.scn-preface-coleridge-notes .quill { position:absolute; bottom:22%; left:50%; width:2%; height:16%; background: linear-gradient(180deg, #d4b896 0%, #a8855e 100%); border-radius:40% 40% 10% 10% / 50% 50% 20% 20%; transform: rotate(15deg); transform-origin: 50% 100%; animation: pcn-quill 5s ease-in-out infinite; }
.scn-preface-coleridge-notes .inkwell { position:absolute; bottom:20%; left:46%; width:3%; height:4%; background: #2a1f14; border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.scn-preface-coleridge-notes .sunbeam { position:absolute; top:5%; left:20%; width:15%; height:60%; background: linear-gradient(180deg, rgba(255,255,220,.4) 0%, transparent 100%); filter: blur(8px); transform: skewX(-5deg); animation: pcn-sunbeam 18s linear infinite alternate; }
@keyframes pcn-window { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes pcn-papers { 0% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } 100% { transform: rotate(-6deg) translateY(0); } }
@keyframes pcn-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes pcn-quill { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-3px); } 100% { transform: rotate(18deg) translateY(0); } }
@keyframes pcn-sunbeam { 0% { opacity: 0.3; transform: skewX(-5deg) translateX(0); } 50% { opacity: 0.8; transform: skewX(0deg) translateX(10px); } 100% { opacity: 0.2; transform: skewX(-8deg) translateX(-5px); } }

/* title-piccolomini */

.scn-title-piccolomini {
  background: linear-gradient(180deg, #1e1a1a 0%, #2a2420 40%, #1c1815 100%),
              radial-gradient(ellipse at 50% 80%, #3a2e24 0%, transparent 70%);
}
.scn-title-piccolomini .bg { position:absolute; inset:0; background: linear-gradient(135deg, #2c2520 0%, #161210 100%); }
.scn-title-piccolomini .banner { position:absolute; top:8%; left:20%; width:18%; height:55%; background: linear-gradient(180deg, #a0461a 0%, #6e2e0e 50%, #3a1a0a 100%); border-radius:4% 4% 2% 2% / 8% 8% 4% 4%; box-shadow: 0 0 20px rgba(160,70,26,.3); animation: tpc-banner 20s ease-in-out infinite; }
.scn-title-piccolomini .table { position:absolute; bottom:18%; left:30%; width:45%; height:10%; background: linear-gradient(180deg, #4a3a2a 0%, #2e2218 100%); border-radius:4% 4% 10% 10% / 12% 12% 30% 30%; box-shadow: 0 6px 18px rgba(0,0,0,.6); }
.scn-title-piccolomini .candle { position:absolute; bottom:28%; left:45%; width:2%; height:8%; background: linear-gradient(180deg, #ffe0b0 0%, #cca070 100%); border-radius:30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 0 20px 8px #ffcc80; animation: tpc-candle 3s ease-in-out infinite alternate; }
.scn-title-piccolomini .shield { position:absolute; top:30%; left:55%; width:16%; height:20%; background: linear-gradient(135deg, #5a3a2a 0%, #3a2218 100%); border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%; box-shadow: inset 0 0 10px #1a100a, 0 4px 12px rgba(0,0,0,.5); animation: tpc-shield 25s ease-in-out infinite alternate; }
.scn-title-piccolomini .armor { position:absolute; bottom:12%; left:12%; width:14%; height:28%; background: linear-gradient(180deg, #5a4e3e 0%, #3a3228 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; box-shadow: 2px 0 8px rgba(0,0,0,.5); }
.scn-title-piccolomini .dust { position:absolute; top:40%; left:30%; width:4%; height:4%; background: rgba(200,180,160,.4); border-radius:50%; filter: blur(3px); animation: tpc-dust 35s linear infinite; }
@keyframes tpc-banner { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes tpc-candle { 0% { transform: scaleY(1); opacity:0.9; } 50% { transform: scaleY(1.05); opacity:1; } 100% { transform: scaleY(0.95); opacity:0.85; } }
@keyframes tpc-shield { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(2deg) translateX(3px); } 100% { transform: rotate(-2deg) translateX(-3px); } }
@keyframes tpc-dust { 0% { transform: translateY(0) translateX(0) scale(1); opacity:0; } 30% { opacity:0.6; } 70% { opacity:0.2; } 100% { transform: translateY(-30vh) translateX(20px) scale(0.5); opacity:0; } }

/* gothic-chamber-arrival */

.scn-gothic-chamber-arrival {
  background: linear-gradient(180deg, #1a1412 0%, #241e1a 40%, #1a1412 100%),
              radial-gradient(ellipse at 30% 50%, #3a2a1e 0%, transparent 60%);
}
.scn-gothic-chamber-arrival .bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a221e 0%, #12100e 100%); }
.scn-gothic-chamber-arrival .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a3028 0%, #1e1814 100%); border-radius:20% 20% 0 0 / 40% 40% 0 0; }
.scn-gothic-chamber-arrival .arch { position:absolute; top:0; left:25%; width:50%; height:60%; border: 4px solid #2a1e16; border-bottom: none; border-radius: 50% 50% 0 0 / 80% 80% 0 0; background: transparent; box-shadow: inset 0 20px 40px rgba(0,0,0,.8); }
.scn-gothic-chamber-arrival .soldier1 { position:absolute; bottom:20%; left:30%; width:8%; height:35%; background: linear-gradient(180deg, #2a221e 0%, #161210 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: gca-soldier 6s ease-in-out infinite; }
.scn-gothic-chamber-arrival .soldier2 { position:absolute; bottom:22%; left:45%; width:8%; height:32%; background: linear-gradient(180deg, #3a2e26 0%, #1e1814 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: gca-soldier 7s ease-in-out infinite 0.5s; }
.scn-gothic-chamber-arrival .torch { position:absolute; bottom:50%; left:55%; width:3%; height:12%; background: linear-gradient(180deg, #ffb060 0%, #c07020 100%); border-radius:30% 30% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 0 40px 12px #ff8020; animation: gca-torch 2s ease-in-out infinite alternate; }
.scn-gothic-chamber-arrival .spear { position:absolute; bottom:28%; left:52%; width:1.5%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius:10%; transform: rotate(-10deg); transform-origin: bottom center; animation: gca-spear 4s ease-in-out infinite; }
@keyframes gca-soldier { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(-8px) rotate(-2deg); } }
@keyframes gca-torch { 0% { transform: scaleY(1) rotate(-2deg); opacity:0.8; } 50% { transform: scaleY(1.1) rotate(0deg); opacity:1; } 100% { transform: scaleY(0.9) rotate(3deg); opacity:0.7; } }
@keyframes gca-spear { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-15deg) translateY(0); } }

/* illo-reminisce-manfeld */

.scn-illo-reminisce-manfeld {
  background: linear-gradient(180deg, #1a120c 0%, #2a1e14 40%, #3a2818 100%),
              radial-gradient(ellipse at 40% 30%, #5a3820 0%, transparent 70%);
}
.scn-illo-reminisce-manfeld .bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e14 0%, #0e0a06 100%); }
.scn-illo-reminisce-manfeld .warmglow { position:absolute; bottom:40%; left:30%; width:40%; height:40%; background: radial-gradient(ellipse at 50% 50%, #c07030 0%, transparent 70%); border-radius:50%; filter: blur(20px); animation: irm-glow 8s ease-in-out infinite alternate; }
.scn-illo-reminisce-manfeld .figure { position:absolute; bottom:20%; left:15%; width:12%; height:28%; background: linear-gradient(180deg, #1a1410 0%, #0e0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: irm-figure 10s ease-in-out infinite; }
.scn-illo-reminisce-manfeld .horse { position:absolute; bottom:28%; left:42%; width:20%; height:14%; background: linear-gradient(180deg, #2a1e14 0%, #1a100a 100%); border-radius: 40% 10% 30% 50% / 50% 20% 30% 60%; transform: rotate(20deg); animation: irm-horse 6s ease-in-out infinite; }
.scn-illo-reminisce-manfeld .bridge { position:absolute; bottom:35%; left:35%; width:30%; height:4%; background: #4a3a2a; border-radius:20% 20% 0 0 / 50% 50% 0 0; box-shadow: 0 2px 8px rgba(0,0,0,.5); transform-origin: left center; animation: irm-bridge 14s ease-in-out infinite alternate; }
.scn-illo-reminisce-manfeld .river { position:absolute; bottom:30%; left:30%; width:40%; height:6%; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); border-radius:50% / 100%; animation: irm-river 20s linear infinite; }
.scn-illo-reminisce-manfeld .frame { position:absolute; top:5%; left:5%; width:90%; height:90%; border: 8px solid #3a2a1a; border-radius:4%; box-shadow: inset 0 0 60px rgba(0,0,0,.8); }
@keyframes irm-glow { 0% { opacity:0.6; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes irm-figure { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes irm-horse { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-4px); } 100% { transform: rotate(25deg) translateY(0); } }
@keyframes irm-bridge { 0% { transform: scaleX(1) rotate(0deg); } 50% { transform: scaleX(1.02) rotate(1deg); } 100% { transform: scaleX(0.98) rotate(-1deg); } }
@keyframes irm-river { 0% { background-position: 0 0; } 100% { background-position: 200% 0; } }

/* ===== max-that-is-black ===== */

.scn-max-that-is-black { background: linear-gradient(180deg, #0c0c1a 0%, #1a142a 40%, #2a1a2a 100%), radial-gradient(ellipse at 40% 80%, #2a1a2a 0%, transparent 70%); overflow: hidden; }
.scn-max-that-is-black .mtb-bg-void { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, #0a0612 0%, #000 70%); animation: mtb-void 20s ease-in-out infinite alternate; }
.scn-max-that-is-black .mtb-floor { position: absolute; bottom: 0; left: -10%; right: -10%; height: 30%; background: linear-gradient(0deg, #1a142a 0%, #0a0612 100%); border-radius: 30% 70% 0 0 / 50% 60% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.6); }
.scn-max-that-is-black .mtb-figure { position: absolute; bottom: 25%; left: 45%; width: 24px; height: 60px; background: linear-gradient(180deg, #1a142a 0%, #0c0c1a 70%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: mtb-fig 8s ease-in-out infinite; }
.scn-max-that-is-black .mtb-candle { position: absolute; bottom: 30%; left: 40%; width: 8px; height: 12px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1410 100%); border-radius: 20% 20% 0 0; }
.scn-max-that-is-black .mtb-light { position: absolute; bottom: 32%; left: 39.7%; width: 20px; height: 20px; background: radial-gradient(circle, #e8c060 0%, #b08040 40%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 10px #c09040, 0 0 80px 20px rgba(192,144,64,0.3); animation: mtb-glow 4s ease-in-out infinite alternate; }
.scn-max-that-is-black .mtb-dust { position: absolute; width: 3px; height: 3px; background: #d0b080; border-radius: 50%; opacity: 0; box-shadow: 0 0 6px 2px #b09060; }
.scn-max-that-is-black .mtb-dust-1 { top: 40%; left: 50%; animation: mtb-drift1 12s linear infinite; }
.scn-max-that-is-black .mtb-dust-2 { top: 30%; left: 70%; animation: mtb-drift2 16s linear infinite; animation-delay: -4s; }
@keyframes mtb-void {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.85; transform: scale(0.95); }
}
@keyframes mtb-fig {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(5px) rotate(2deg) translateY(-2px); }
  60% { transform: translateX(-5px) rotate(-2deg) translateY(-1px); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes mtb-glow {
  0% { opacity: 0.6; box-shadow: 0 0 30px 6px #c09040, 0 0 60px 12px rgba(192,144,64,0.2); }
  50% { opacity: 1; box-shadow: 0 0 50px 12px #e8c060, 0 0 100px 24px rgba(232,192,96,0.4); }
  100% { opacity: 0.7; box-shadow: 0 0 35px 8px #c09040, 0 0 70px 16px rgba(192,144,64,0.3); }
}
@keyframes mtb-drift1 {
  0% { transform: translate(-10px, 0) scale(1); opacity: 0; }
  20% { opacity: 0.6; }
  50% { transform: translate(20px, -30px) scale(1.5); opacity: 0.8; }
  80% { opacity: 0.4; }
  100% { transform: translate(40px, -50px) scale(0.5); opacity: 0; }
}
@keyframes mtb-drift2 {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  25% { opacity: 0.5; }
  50% { transform: translate(-30px, -40px) scale(1.8); opacity: 0.9; }
  75% { opacity: 0.3; }
  100% { transform: translate(-60px, -60px) scale(0.3); opacity: 0; }
}

/* ===== wallenstein-too-late ===== */

.scn-wallenstein-too-late { background: linear-gradient(180deg, #0e0e1e 0%, #1c1a30 50%, #242040 100%), radial-gradient(ellipse at 60% 40%, #2a2a4a 0%, transparent 60%); overflow: hidden; }
.scn-wallenstein-too-late .wtl-bg-shadow { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, #181630 0%, #0e0e1e 80%); animation: wtl-bg 25s ease-in-out infinite alternate; }
.scn-wallenstein-too-late .wtl-clock { position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); width: 100px; height: 100px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #2a2a3a 0%, #161625 100%); border: 4px solid #3a3a4a; box-shadow: 0 0 30px 10px rgba(60,60,80,0.5); animation: wtl-clock-pulse 10s ease-in-out infinite; }
.scn-wallenstein-too-late .wtl-hand-hour { position: absolute; bottom: 20%; left: 50%; transform-origin: 50% 100%; width: 4px; height: 30px; margin-left: -2px; background: #b0a080; border-radius: 2px; box-shadow: 0 -2px 6px #b0a080; animation: wtl-hour 12s linear infinite; }
.scn-wallenstein-too-late .wtl-hand-minute { position: absolute; bottom: 20%; left: 50%; transform-origin: 50% 100%; width: 3px; height: 40px; margin-left: -1.5px; background: #c0b090; border-radius: 2px; box-shadow: 0 -2px 6px #c0b090; animation: wtl-minute 1s linear infinite; }
.scn-wallenstein-too-late .wtl-figure { position: absolute; bottom: 18%; left: 30%; width: 22px; height: 50px; background: linear-gradient(180deg, #1a1a2a 0%, #0c0c1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wtl-fig 4s ease-in-out infinite; }
.scn-wallenstein-too-late .wtl-beam { position: absolute; top: 0; left: 40%; width: 40px; height: 80%; background: linear-gradient(180deg, rgba(200,170,120,0.15) 0%, transparent 70%); clip-path: polygon(40% 0, 60% 0, 70% 100%, 30% 100%); animation: wtl-beam 6s ease-in-out infinite alternate; }
@keyframes wtl-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wtl-clock-pulse {
  0% { box-shadow: 0 0 20px 5px rgba(60,60,80,0.4); transform: translateX(-50%) scale(1); }
  50% { box-shadow: 0 0 40px 12px rgba(60,60,80,0.7); transform: translateX(-50%) scale(1.02); }
  100% { box-shadow: 0 0 25px 6px rgba(60,60,80,0.5); transform: translateX(-50%) scale(1); }
}
@keyframes wtl-hour {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes wtl-minute {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes wtl-fig {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(-5px) rotate(-3deg) translateY(-2px); }
  50% { transform: translateX(0) rotate(2deg); }
  75% { transform: translateX(5px) rotate(-1deg) translateY(-1px); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes wtl-beam {
  0% { opacity: 0.2; transform: scaleY(0.5); }
  50% { opacity: 0.6; transform: scaleY(1); }
  100% { opacity: 0.3; transform: scaleY(0.7); }
}

/* ===== wallenstein-yield-thyself ===== */

.scn-wallenstein-yield-thyself { background: linear-gradient(180deg, #0e0e1a 0%, #1a1a30 50%, #2a223a 100%), radial-gradient(ellipse at 40% 70%, #2a223a 0%, transparent 60%); overflow: hidden; }
.scn-wallenstein-yield-thyself .wyt-bg-arch { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 120px; height: 80%; background: radial-gradient(ellipse at 50% 0%, #1e1e34 0%, #0e0e1a 70%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; box-shadow: inset 0 20px 40px rgba(0,0,0,0.6); animation: wyt-arch 15s ease-in-out infinite alternate; }
.scn-wallenstein-yield-thyself .wyt-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(0deg, #14142a 0%, #1a1a32 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); }
.scn-wallenstein-yield-thyself .wyt-figure-stand { position: absolute; bottom: 22%; left: 40%; width: 22px; height: 60px; background: linear-gradient(180deg, #1a1830 0%, #0c0c1a 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: wyt-stand 6s ease-in-out infinite; }
.scn-wallenstein-yield-thyself .wyt-figure-kneel { position: absolute; bottom: 18%; left: 50%; width: 20px; height: 40px; background: linear-gradient(180deg, #1c1a34 0%, #0e0e1e 100%); border-radius: 50% 50% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: wyt-kneel 8s ease-in-out infinite; }
.scn-wallenstein-yield-thyself .wyt-light { position: absolute; top: 10%; left: 45%; width: 30px; height: 30px; background: radial-gradient(circle, #e0c080 0%, #b09050 50%, transparent 80%); border-radius: 50%; box-shadow: 0 0 60px 20px #c0a060, 0 0 120px 40px rgba(192,160,96,0.3); animation: wyt-light 5s ease-in-out infinite alternate; }
.scn-wallenstein-yield-thyself .wyt-shadow { position: absolute; bottom: 22%; left: 35%; width: 80px; height: 30px; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%); border-radius: 50%; animation: wyt-shad 8s ease-in-out infinite alternate; }
.scn-wallenstein-yield-thyself .wyt-particles { position: absolute; width: 4px; height: 4px; background: #c0a070; border-radius: 50%; opacity: 0; box-shadow: 0 0 8px 2px #a08050; }
.scn-wallenstein-yield-thyself .wyt-p-1 { top: 50%; left: 30%; animation: wyt-spark1 14s linear infinite; }
.scn-wallenstein-yield-thyself .wyt-p-2 { top: 60%; left: 70%; animation: wyt-spark2 18s linear infinite; animation-delay: -7s; }
@keyframes wyt-arch {
  0% { transform: translateX(-50%) scaleY(0.9); opacity: 0.7; }
  50% { transform: translateX(-50%) scaleY(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.95); opacity: 0.8; }
}
@keyframes wyt-stand {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(3px) rotate(2deg) translateY(-1px); }
  60% { transform: translateX(-3px) rotate(-2deg) translateY(1px); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes wyt-kneel {
  0% { transform: translateX(0) rotate(-5deg); }
  25% { transform: translateX(4px) rotate(0) translateY(-2px); }
  50% { transform: translateX(-2px) rotate(-3deg) translateY(1px); }
  75% { transform: translateX(2px) rotate(2deg) translateY(-1px); }
  100% { transform: translateX(0) rotate(-5deg); }
}
@keyframes wyt-light {
  0% { opacity: 0.5; transform: scale(0.8); box-shadow: 0 0 40px 10px #c0a060, 0 0 80px 20px rgba(192,160,96,0.2); }
  50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 80px 30px #e0c080, 0 0 160px 50px rgba(224,192,128,0.4); }
  100% { opacity: 0.6; transform: scale(0.9); box-shadow: 0 0 50px 15px #c0a060, 0 0 100px 30px rgba(192,160,96,0.25); }
}
@keyframes wyt-shad {
  0% { transform: translateX(0) scaleX(1); opacity: 0.4; }
  50% { transform: translateX(10px) scaleX(1.2); opacity: 0.7; }
  100% { transform: translateX(-10px) scaleX(0.8); opacity: 0.5; }
}
@keyframes wyt-spark1 {
  0% { transform: translate(-10px, 0) scale(1); opacity: 0; }
  25% { opacity: 0.7; }
  50% { transform: translate(20px, -40px) scale(2); opacity: 0.9; }
  75% { opacity: 0.4; }
  100% { transform: translate(50px, -80px) scale(0.5); opacity: 0; }
}
@keyframes wyt-spark2 {
  0% { transform: translate(10px, 0) scale(1); opacity: 0; }
  30% { opacity: 0.6; }
  60% { transform: translate(-30px, -50px) scale(1.8); opacity: 0.8; }
  80% { opacity: 0.3; }
  100% { transform: translate(-70px, -100px) scale(0.3); opacity: 0; }
}

/* ===== wallenstein-caesar-rubicon ===== */

.scn-wallenstein-caesar-rubicon { background: linear-gradient(180deg, #2a1e14 0%, #3a2818 50%, #4a382a 100%), radial-gradient(ellipse at 60% 30%, #4a382a 0%, transparent 70%); overflow: hidden; }
.scn-wallenstein-caesar-rubicon .wcr-bg-warm { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, #1a120e 80%); animation: wcr-bg 20s ease-in-out infinite alternate; }
.scn-wallenstein-caesar-rubicon .wcr-desk { position: absolute; bottom: 10%; left: 5%; right: 5%; height: 30%; background: linear-gradient(0deg, #2a1e14 0%, #3a281a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.6), 0 -4px 10px rgba(0,0,0,0.4); }
.scn-wallenstein-caesar-rubicon .wcr-map { position: absolute; bottom: 20%; left: 15%; width: 120px; height: 80px; background: linear-gradient(180deg, #5a4a32 0%, #6a5a3e 100%); border-radius: 20% 10% 30% 10% / 30% 20% 40% 10%; transform: rotate(-5deg); box-shadow: inset 0 0 20px rgba(0,0,0,0.3), 0 4px 8px rgba(0,0,0,0.5); animation: wcr-map 15s ease-in-out infinite alternate; }
.scn-wallenstein-caesar-rubicon .wcr-candle { position: absolute; bottom: 28%; left: 30%; width: 10px; height: 14px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 20% 20% 0 0; }
.scn-wallenstein-caesar-rubicon .wcr-flame { position: absolute; bottom: 32%; left: 29.8%; width: 12px; height: 16px; background: radial-gradient(circle at 50% 80%, #ffd080 0%, #e0a060 50%, transparent 70%); border-radius: 50%; box-shadow: 0 0 40px 10px #e0a060, 0 0 80px 20px rgba(224,160,96,0.3); animation: wcr-flame 3s ease-in-out infinite alternate; }
.scn-wallenstein-caesar-rubicon .wcr-figure { position: absolute; bottom: 22%; left: 55%; width: 24px; height: 55px; background: linear-gradient(180deg, #3a2a1e 0%, #1a140e 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: wcr-fig 6s ease-in-out infinite; }
.scn-wallenstein-caesar-rubicon .wcr-sword { position: absolute; bottom: 24%; left: 50%; width: 3px; height: 40px; background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 100%); border-radius: 2px; transform: rotate(20deg) translateX(-20px); transform-origin: bottom center; box-shadow: 0 0 6px #8a8a8a; animation: wcr-sword 8s ease-in-out infinite alternate; }
.scn-wallenstein-caesar-rubicon .wcr-scroll { position: absolute; bottom: 18%; left: 70%; width: 40px; height: 20px; background: linear-gradient(180deg, #6a5a42 0%, #4a3a2a 100%); border-radius: 20% 20% 10% 10%; transform: rotate(15deg) scaleX(0.8); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: wcr-scroll 12s ease-in-out infinite alternate; }
@keyframes wcr-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wcr-map {
  0% { transform: rotate(-5deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.02); }
  100% { transform: rotate(-3deg) scale(0.98); }
}
@keyframes wcr-flame {
  0% { transform: scaleY(0.9) rotate(-2deg); box-shadow: 0 0 30px 6px #e0a060, 0 0 60px 12px rgba(224,160,96,0.2); }
  50% { transform: scaleY(1.1) rotate(2deg); box-shadow: 0 0 50px 15px #ffd080, 0 0 100px 30px rgba(255,208,128,0.4); }
  100% { transform: scaleY(0.95) rotate(-1deg); box-shadow: 0 0 35px 8px #e0a060, 0 0 70px 16px rgba(224,160,96,0.3); }
}
@keyframes wcr-fig {
  0% { transform: translateX(0) rotate(0); }
  30% { transform: translateX(4px) rotate(2deg) translateY(-2px); }
  60% { transform: translateX(-4px) rotate(-2deg) translateY(1px); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes wcr-sword {
  0% { transform: rotate(20deg) translateX(-20px); }
  50% { transform: rotate(15deg) translateX(-18px); }
  100% { transform: rotate(25deg) translateX(-22px); }
}
@keyframes wcr-scroll {
  0% { transform: rotate(15deg) scaleX(0.8); opacity: 0.6; }
  50% { transform: rotate(10deg) scaleX(1); opacity: 1; }
  100% { transform: rotate(12deg) scaleX(0.85); opacity: 0.7; }
}

/* octavio-gods-shield */

.scn-octavio-gods-shield {
  background:
    linear-gradient(180deg, #1f1a2e 0%, #2b2238 40%, #1a1420 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a4a 0%, transparent 70%);
}
.scn-octavio-gods-shield .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #1e1725 0%, #2e2438 50%, #1e1725 100%);
  border-bottom: 2px solid #3a2a4a;
  animation: ogswall 18s ease-in-out infinite alternate;
}
.scn-octavio-gods-shield .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2c1e30 0%, #1a101c 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.5);
}
.scn-octavio-gods-shield .pillar {
  position: absolute; bottom: 30%; left: 20%; width: 15%; height: 60%;
  background: linear-gradient(180deg, #3a3040 0%, #2a2030 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.6), 4px 0 8px rgba(0,0,0,0.3);
  animation: ogspillar 12s ease-in-out infinite;
}
.scn-octavio-gods-shield .figure {
  position: absolute; bottom: 30%; left: 50%; width: 16%; height: 40%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #1e1828 0%, #0f0a14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ogsfigure 4s ease-in-out infinite alternate;
}
.scn-octavio-gods-shield .shield {
  position: absolute; bottom: 38%; left: 50%; width: 12%; height: 18%;
  transform: translateX(-60%);
  background: radial-gradient(ellipse at 50% 50%, #5a4030 0%, #3a2820 100%);
  border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6), inset 0 -4px 8px rgba(255,200,150,0.2);
  animation: ogsshield 6s ease-in-out infinite;
}
.scn-octavio-gods-shield .glow {
  position: absolute; bottom: 55%; left: 50%; width: 20%; height: 20%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: ogsglow 3s ease-in-out infinite alternate;
}
.scn-octavio-gods-shield .halo {
  position: absolute; bottom: 60%; left: 50%; width: 12%; height: 12%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,220,150,0.3) 0%, transparent 60%);
  border-radius: 50%;
  animation: ogshalo 5s ease-in-out infinite alternate;
}
.scn-octavio-gods-shield .light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, rgba(255,200,100,0.08) 0%, transparent 50%);
  pointer-events: none;
  animation: ogslight 8s ease-in-out infinite alternate;
}
@keyframes ogswall    { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ogspillar  { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ogsfigure  { 0% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(1deg); } }
@keyframes ogsshield  { 0% { transform: translateX(-60%) scale(1); } 50% { transform: translateX(-58%) scale(1.02); } 100% { transform: translateX(-60%) scale(0.98); } }
@keyframes ogsglow    { 0% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.2); } 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } }
@keyframes ogshalo    { 0% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.8); } 50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.1); } 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes ogslight   { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }

/* octavio-exile-not-tyranny */

.scn-octavio-exile-not-tyranny {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #252238 50%, #1a1420 100%),
    radial-gradient(ellipse at 50% 70%, #2a2a40 0%, transparent 70%);
}
.scn-octavio-exile-not-tyranny .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #1c1720 0%, #2a2030 50%, #1c1720 100%);
  animation: oenwall 20s ease-in-out infinite alternate;
}
.scn-octavio-exile-not-tyranny .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e30 0%, #1a101c 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-octavio-exile-not-tyranny .table {
  position: absolute; bottom: 25%; left: 35%; width: 30%; height: 10%;
  background: linear-gradient(180deg, #4a3a3a 0%, #3a2a2a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: oentable 8s ease-in-out infinite;
}
.scn-octavio-exile-not-tyranny .figure {
  position: absolute; bottom: 28%; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  width: 14%; height: 38%; background: radial-gradient(ellipse at 50% 30%, #1e1828 0%, #0f0a14 100%);
  animation: oenfigure 5s ease-in-out infinite alternate;
}
.scn-octavio-exile-not-tyranny .seated {
  left: 30%; transform: translateX(-50%);
  height: 32%; bottom: 22%;
}
.scn-octavio-exile-not-tyranny .standing {
  left: 60%; transform: translateX(-50%);
  height: 42%;
}
.scn-octavio-exile-not-tyranny .candle {
  position: absolute; bottom: 32%; left: 48%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #d4a060 0%, #8a6030 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 16px 6px rgba(200,150,80,0.5), 0 0 32px 12px rgba(200,150,80,0.2);
  animation: oencandle 2s ease-in-out infinite alternate;
}
.scn-octavio-exile-not-tyranny .paper {
  position: absolute; bottom: 28%; left: 42%; width: 10%; height: 6%;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: oenpaper 9s ease-in-out infinite;
}
@keyframes oenwall    { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes oentable   { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes oenfigure  { 0% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes oencandle  { 0% { transform: scale(1); opacity: 0.8; box-shadow: 0 0 12px 4px rgba(200,150,80,0.4); } 50% { transform: scale(1.05); opacity: 1; box-shadow: 0 0 20px 8px rgba(200,150,80,0.6); } 100% { transform: scale(0.95); opacity: 0.7; box-shadow: 0 0 8px 2px rgba(200,150,80,0.3); } }
@keyframes oenpaper   { 0% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(-3deg) translateY(-2px); } 50% { transform: rotate(-5deg) translateY(0); } 75% { transform: rotate(-7deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }

/* max-misinterpret-danger */

.scn-max-misinterpret-danger {
  background:
    linear-gradient(180deg, #1a1622 0%, #2a1e32 50%, #1a1220 100%),
    radial-gradient(ellipse at 40% 60%, #3a2a40 0%, transparent 70%);
}
.scn-max-misinterpret-danger .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #1a1420 0%, #2a2030 50%, #1a1420 100%);
  animation: mmdwall 22s ease-in-out infinite alternate;
}
.scn-max-misinterpret-danger .window {
  position: absolute; top: 15%; right: 15%; width: 20%; height: 25%;
  background: radial-gradient(ellipse at 50% 50%, #2a3a4a 0%, #1a2a3a 100%);
  border: 4px solid #3a2a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: mmdwindow 10s ease-in-out infinite alternate;
}
.scn-max-misinterpret-danger .figure {
  position: absolute; bottom: 28%; width: 14%; height: 40%;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  background: radial-gradient(ellipse at 50% 30%, #1a1428 0%, #0a0614 100%);
  animation: mmdfigure 4s ease-in-out infinite alternate;
}
.scn-max-misinterpret-danger .left {
  left: 30%; transform: translateX(-50%);
  animation-delay: 0s;
}
.scn-max-misinterpret-danger .right {
  left: 60%; transform: translateX(-50%);
  animation-delay: -2s;
}
.scn-max-misinterpret-danger .hand {
  position: absolute; bottom: 40%; left: 48%; width: 6%; height: 12%;
  background: radial-gradient(ellipse at 50% 30%, #2a2030 0%, #1a1020 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mmdhand 3s ease-in-out infinite;
}
.scn-max-misinterpret-danger .gesture {
  width: 8%; height: 10%;
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
}
.scn-max-misinterpret-danger .paper {
  position: absolute; bottom: 30%; left: 45%; width: 8%; height: 5%;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%);
  border-radius: 2px;
  transform: rotate(8deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: mmdpaper 7s ease-in-out infinite;
}
.scn-max-misinterpret-danger .light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 45%, rgba(200,150,100,0.06) 0%, transparent 60%);
  pointer-events: none;
  animation: mmdlight 9s ease-in-out infinite alternate;
}
@keyframes mmdwall    { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mmdwindow  { 0% { opacity: 0.5; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.02); } 100% { opacity: 0.6; transform: scale(0.98); } }
@keyframes mmdfigure  { 0% { transform: translateX(-50%) rotate(-3deg); } 100% { transform: translateX(-50%) rotate(3deg); } }
@keyframes mmdhand    { 0% { transform: rotate(-10deg) scale(1); } 25% { transform: rotate(-5deg) scale(1.05); } 50% { transform: rotate(0deg) scale(1); } 75% { transform: rotate(5deg) scale(1.05); } 100% { transform: rotate(10deg) scale(1); } }
@keyframes mmdpaper   { 0% { transform: rotate(8deg) translateX(0); } 25% { transform: rotate(6deg) translateX(2px); } 50% { transform: rotate(8deg) translateX(0); } 75% { transform: rotate(10deg) translateX(-2px); } 100% { transform: rotate(8deg) translateX(0); } }
@keyframes mmdlight   { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.4; } }

/* octavio-leaves-to-max (warm) */

.scn-octavio-leaves-to-max {
  background:
    linear-gradient(180deg, #2a1a10 0%, #3a2818 50%, #2a1a10 100%),
    radial-gradient(ellipse at 50% 70%, #4a3828 0%, transparent 70%);
}
.scn-octavio-leaves-to-max .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(90deg, #2a1a12 0%, #3a281a 50%, #2a1a12 100%);
  animation: olmwall 20s ease-in-out infinite alternate;
}
.scn-octavio-leaves-to-max .hearth {
  position: absolute; bottom: 20%; left: 10%; width: 20%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #6a4a2a 0%, #3a2a1a 70%, #1a0e08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.6), 0 0 30px 10px rgba(200,120,60,0.3);
  animation: olmhearth 5s ease-in-out infinite alternate;
}
.scn-octavio-leaves-to-max .figure {
  position: absolute; bottom: 25%; width: 15%; height: 42%;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  background: radial-gradient(ellipse at 50% 30%, #3a2a20 0%, #1a1008 100%);
  animation: olmfigure 4s ease-in-out infinite alternate;
}
.scn-octavio-leaves-to-max .left {
  left: 38%; transform: translateX(-50%);
  animation-delay: 0s;
}
.scn-octavio-leaves-to-max .right {
  left: 55%; transform: translateX(-50%);
  animation-delay: -2s;
}
.scn-octavio-leaves-to-max .hands {
  position: absolute; bottom: 30%; left: 46%; width: 8%; height: 6%;
  background: radial-gradient(ellipse at 50% 50%, #4a3828 0%, #2a1a10 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: olmhands 3s ease-in-out infinite;
}
.scn-octavio-leaves-to-max .paper {
  position: absolute; bottom: 30%; left: 46%; width: 6%; height: 4%;
  background: linear-gradient(135deg, #d4c8a0 0%, #b8a880 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: olmpaper 6s ease-in-out infinite;
}
.scn-octavio-leaves-to-max .warm {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(200,120,60,0.08) 0%, transparent 60%);
  pointer-events: none;
  animation: olmwarm 8s ease-in-out infinite alternate;
}
@keyframes olmwall    { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes olmhearth  { 0% { transform: scale(1); opacity: 0.7; box-shadow: 0 0 20px 6px rgba(200,120,60,0.2); } 50% { transform: scale(1.03); opacity: 0.9; box-shadow: 0 0 40px 15px rgba(200,120,60,0.4); } 100% { transform: scale(0.98); opacity: 0.8; box-shadow: 0 0 25px 8px rgba(200,120,60,0.3); } }
@keyframes olmfigure  { 0% { transform: translateX(-50%) rotate(-2deg); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes olmhands   { 0% { transform: translateY(0) scale(1); } 25% { transform: translateY(-2px) scale(1.03); } 50% { transform: translateY(0) scale(1); } 75% { transform: translateY(-1px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes olmpaper   { 0% { transform: rotate(-10deg) translateY(0); } 25% { transform: rotate(-8deg) translateY(-1px); } 50% { transform: rotate(-10deg) translateY(0); } 75% { transform: rotate(-12deg) translateY(-1px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes olmwarm    { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

/* isolani-reads-imperial-order */

.scn-isolani-reads-imperial-order {
  background: 
    linear-gradient(180deg, #2a1a12 0%, #1e110c 30%, #130a06 70%, #0d0704 100%),
    radial-gradient(ellipse at 50% 60%, #3a2218 0%, transparent 70%);
}
.scn-isolani-reads-imperial-order .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a12 0%, transparent 40%);
  animation: si1-wall 12s ease-in-out infinite alternate;
}
.scn-isolani-reads-imperial-order .table {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a12 100%);
  border-radius: 8% 8% 0 0 / 12% 12% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.6);
}
.scn-isolani-reads-imperial-order .letter {
  position: absolute; bottom: 32%; left: 50%; width: 60%; height: 18%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #c8b088 0%, #a08858 50%, #c8b088 100%);
  border-radius: 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: si1-letter 4s ease-in-out infinite;
}
.scn-isolani-reads-imperial-order .seal {
  position: absolute; bottom: 38%; left: 50%; width: 10%; height: 8%;
  transform: translateX(-50%) rotate(-5deg);
  background: radial-gradient(circle, #c87850 0%, #a05030 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 4px #c87850;
  animation: si1-seal 6s ease-in-out infinite;
}
.scn-isolani-reads-imperial-order .figure-head {
  position: absolute; bottom: 50%; left: 30%; width: 14%; height: 16%;
  background: radial-gradient(ellipse 60% 70% at 50% 60%, #1a0e08 0%, #0a0502 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: si1-head 8s ease-in-out infinite alternate;
}
.scn-isolani-reads-imperial-order .figure-body {
  position: absolute; bottom: 15%; left: 28%; width: 18%; height: 40%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  animation: si1-body 6s ease-in-out infinite;
}
.scn-isolani-reads-imperial-order .hand {
  position: absolute; bottom: 35%; left: 35%; width: 8%; height: 10%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(10deg);
  animation: si1-hand 3s ease-in-out infinite alternate;
}
.scn-isolani-reads-imperial-order .candle {
  position: absolute; bottom: 30%; left: 18%; width: 4%; height: 16%;
  background: linear-gradient(180deg, #e8d8b0 0%, #d0b880 40%, #8a6a40 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-isolani-reads-imperial-order .candle-glow {
  position: absolute; bottom: 38%; left: 14%; width: 12%; height: 14%;
  background: radial-gradient(circle, #ffd080 0%, rgba(255,208,128,0.4) 40%, transparent 70%);
  border-radius: 50%;
  animation: si1-candle 2s ease-in-out infinite alternate;
}
@keyframes si1-wall { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes si1-letter { 0% { transform: translateX(-50%) rotate(-1deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(-0.5deg); } }
@keyframes si1-seal { 0% { box-shadow: 0 0 15px 3px #c87850; } 50% { box-shadow: 0 0 30px 6px #e09060; } 100% { box-shadow: 0 0 20px 4px #c87850; } }
@keyframes si1-head { 0% { transform: scale(1) rotate(-2deg); } 50% { transform: scale(1.02) rotate(1deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes si1-body { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes si1-hand { 0% { transform: rotate(8deg) scale(1); } 100% { transform: rotate(14deg) scale(1.05); } }
@keyframes si1-candle { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.95); } }

/* octavio-plain-simple */

.scn-octavio-plain-simple {
  background: 
    linear-gradient(180deg, #1e1410 0%, #140c08 50%, #0a0604 100%),
    radial-gradient(ellipse at 40% 50%, #2a1a12 0%, transparent 60%);
}
.scn-octavio-plain-simple .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1e1410 0%, transparent 50%);
}
.scn-octavio-plain-simple .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-octavio-plain-simple .desk {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 14%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a12 100%);
  border-radius: 6%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: si2-desk 5s ease-in-out infinite;
}
.scn-octavio-plain-simple .lamp {
  position: absolute; bottom: 30%; left: 45%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #d0b880 0%, #8a6a40 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-octavio-plain-simple .lamp-glow {
  position: absolute; bottom: 28%; left: 40%; width: 20%; height: 22%;
  background: radial-gradient(circle, #ffd080 0%, rgba(255,208,128,0.3) 30%, transparent 60%);
  border-radius: 50%;
  animation: si2-lamp 3s ease-in-out infinite alternate;
}
.scn-octavio-plain-simple .octavio {
  position: absolute; bottom: 10%; left: 10%; width: 20%; height: 55%;
  background: linear-gradient(90deg, #0f0a06 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 80% 0%, 100% 100%, 0% 100%);
  animation: si2-octavio 15s ease-in-out infinite alternate;
}
.scn-octavio-plain-simple .isolani {
  position: absolute; bottom: 10%; right: 10%; width: 20%; height: 55%;
  background: linear-gradient(270deg, #0f0a06 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
  animation: si2-isolani 12s ease-in-out infinite alternate;
}
@keyframes si2-desk { 0% { transform: scale(1); } 50% { transform: scale(1.01); } 100% { transform: scale(1); } }
@keyframes si2-lamp { 0% { opacity: 0.5; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.6; transform: scale(0.95); } }
@keyframes si2-octavio { 0% { transform: translateX(0); } 50% { transform: translateX(4px); } 100% { transform: translateX(0); } }
@keyframes si2-isolani { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* isolani-senile-dodder */

.scn-isolani-senile-dodder {
  background: 
    linear-gradient(180deg, #1a1412 0%, #120c0a 50%, #0a0604 100%),
    radial-gradient(ellipse at 30% 70%, #2a1a12 0%, transparent 60%);
}
.scn-isolani-senile-dodder .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1412 0%, transparent 30%);
}
.scn-isolani-senile-dodder .window {
  position: absolute; top: 10%; right: 10%; width: 30%; height: 40%;
  background: radial-gradient(ellipse, #2a3a4a 0%, #1a2a3a 100%);
  border: 4px solid #3a2a1a;
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
  animation: si3-window 20s ease-in-out infinite;
}
.scn-isolani-senile-dodder .chair {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%);
  border-radius: 10% 10% 5% 5% / 20% 20% 5% 5%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
}
.scn-isolani-senile-dodder .figure-isolani {
  position: absolute; bottom: 20%; left: 25%; width: 22%; height: 50%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(5deg);
  animation: si3-isolani 8s ease-in-out infinite;
}
.scn-isolani-senile-dodder .hand-head {
  position: absolute; bottom: 55%; left: 30%; width: 10%; height: 14%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: si3-hand 4s ease-in-out infinite alternate;
}
.scn-isolani-senile-dodder .figure-octavio {
  position: absolute; bottom: 10%; right: 10%; width: 20%; height: 60%;
  background: linear-gradient(270deg, #0f0a06 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
  opacity: 0.7;
  animation: si3-octavio 14s ease-in-out infinite;
}
.scn-isolani-senile-dodder .table {
  position: absolute; bottom: 5%; left: 30%; right: 30%; height: 12%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a12 100%);
  border-radius: 8%;
}
.scn-isolani-senile-dodder .documents {
  position: absolute; bottom: 12%; left: 35%; width: 15%; height: 6%;
  background: linear-gradient(135deg, #c8b088 0%, #a08858 100%);
  border-radius: 4%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: si3-docs 6s ease-in-out infinite;
}
@keyframes si3-window { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }
@keyframes si3-isolani { 0% { transform: rotate(4deg) scale(1); } 50% { transform: rotate(6deg) scale(1.02); } 100% { transform: rotate(5deg) scale(1); } }
@keyframes si3-hand { 0% { transform: translate(0, 0) rotate(-10deg); } 50% { transform: translate(2px, -2px) rotate(-5deg); } 100% { transform: translate(0, 0) rotate(-10deg); } }
@keyframes si3-octavio { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes si3-docs { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }

/* isolani-renounces-duke */

.scn-isolani-renounces-duke {
  background: 
    linear-gradient(180deg, #1a120e 0%, #100a06 50%, #080503 100%),
    radial-gradient(ellipse at 50% 40%, #2a1a12 0%, transparent 60%);
}
.scn-isolani-renounces-duke .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a120e 0%, transparent 40%);
}
.scn-isolani-renounces-duke .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a12 0%, #1a0e08 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
}
.scn-isolani-renounces-duke .figure-isolani {
  position: absolute; bottom: 12%; left: 30%; width: 25%; height: 55%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(-10deg);
  animation: si4-isolani 10s ease-in-out infinite;
}
.scn-isolani-renounces-duke .arm-raised {
  position: absolute; bottom: 50%; left: 35%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  transform: rotate(-30deg);
  transform-origin: bottom center;
  animation: si4-arm 2s ease-in-out infinite alternate;
}
.scn-isolani-renounces-duke .document-left {
  position: absolute; bottom: 38%; left: 38%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #c8b088 0%, #a08858 100%);
  border-radius: 4%;
  transform: rotate(-20deg);
  animation: si4-doc1 1.5s ease-in-out infinite alternate;
}
.scn-isolani-renounces-duke .document-right {
  position: absolute; bottom: 38%; left: 42%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #c8b088 0%, #a08858 100%);
  border-radius: 4%;
  transform: rotate(25deg);
  animation: si4-doc2 1.7s ease-in-out infinite alternate;
}
.scn-isolani-renounces-duke .seal-falling {
  position: absolute; bottom: 28%; left: 40%; width: 4%; height: 4%;
  background: radial-gradient(circle, #c87850 0%, #a05030 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px #c87850;
  animation: si4-seal 3s ease-in-out infinite;
}
.scn-isolani-renounces-duke .figure-octavio {
  position: absolute; bottom: 15%; right: 15%; width: 20%; height: 50%;
  background: linear-gradient(270deg, #0f0a06 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  opacity: 0.6;
  animation: si4-octavio 12s ease-in-out infinite;
}
@keyframes si4-isolani { 0% { transform: rotate(-12deg) scale(1); } 50% { transform: rotate(-8deg) scale(1.03); } 100% { transform: rotate(-10deg) scale(1); } }
@keyframes si4-arm { 0% { transform: rotate(-35deg); } 50% { transform: rotate(-25deg); } 100% { transform: rotate(-30deg); } }
@keyframes si4-doc1 { 0% { transform: rotate(-25deg) scale(1); } 50% { transform: rotate(-15deg) scale(1.1); } 100% { transform: rotate(-20deg) scale(1); } }
@keyframes si4-doc2 { 0% { transform: rotate(30deg) scale(1); } 50% { transform: rotate(20deg) scale(1.1); } 100% { transform: rotate(25deg) scale(1); } }
@keyframes si4-seal { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(10px) rotate(180deg); } 100% { transform: translateY(0) rotate(360deg); } }
@keyframes si4-octavio { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }

.scn-gordon-recalls-reception { background: linear-gradient(180deg, #2a2218 0%, #3d3022 40%, #1f1810 100%), radial-gradient(ellipse at 50% 80%, #4a3a2a 0%, transparent 70%); }
.scn-gordon-recalls-reception .room-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); }
.scn-gordon-recalls-reception .room-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1f1810 0%, #0e0a06 100%); }
.scn-gordon-recalls-reception .shelf-left { position:absolute; top:15%; left:5%; width:15%; height:50%; background: linear-gradient(90deg, #4a3a2a 0%, #2a1e12 100%); border-radius: 2px; box-shadow: inset 0 0 8px rgba(0,0,0,.5); animation: gr1-shelf 15s ease-in-out infinite alternate; }
.scn-gordon-recalls-reception .shelf-right { position:absolute; top:20%; right:5%; width:12%; height:40%; background: linear-gradient(90deg, #2a1e12 0%, #4a3a2a 100%); border-radius: 2px; box-shadow: inset 0 0 8px rgba(0,0,0,.5); animation: gr1-shelf 18s ease-in-out infinite alternate-reverse; }
.scn-gordon-recalls-reception .desk { position:absolute; bottom:20%; left:25%; width:50%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.6); }
.scn-gordon-recalls-reception .figure-sitting { position:absolute; bottom:28%; left:38%; width:10%; height:25%; background: linear-gradient(180deg, #1a1610 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gr1-figure 6s ease-in-out infinite; }
.scn-gordon-recalls-reception .candle { position:absolute; bottom:32%; left:50%; width:3%; height:8%; background: linear-gradient(180deg, #e8d8b0 0%, #b8a080 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 8px #d4b080, 0 0 40px 16px rgba(212,176,128,.3); animation: gr1-candle 2s ease-in-out infinite alternate; }
.scn-gordon-recalls-reception .window-pane { position:absolute; top:10%; left:75%; width:18%; height:30%; background: radial-gradient(ellipse at center, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%); border: 4px solid #2a1e12; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.5); animation: gr1-window 20s ease-in-out infinite alternate; }
.scn-gordon-recalls-reception .shadow-pool { position:absolute; bottom:0; left:20%; right:20%; height:20%; background: radial-gradient(ellipse at center, rgba(0,0,0,.6) 0%, transparent 100%); filter: blur(4px); animation: gr1-shadow 8s ease-in-out infinite alternate; }
@keyframes gr1-shelf { 0% { opacity: .8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.02) } 100% { opacity: .85; transform: scaleY(.98) } }
@keyframes gr1-figure { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(2%) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-2%) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes gr1-candle { 0% { transform: scaleY(1); box-shadow: 0 0 20px 8px #d4b080, 0 0 40px 16px rgba(212,176,128,.3) } 50% { transform: scaleY(1.05); box-shadow: 0 0 28px 12px #e8c8a0, 0 0 56px 24px rgba(232,200,160,.4) } 100% { transform: scaleY(.95); box-shadow: 0 0 16px 6px #c4a078, 0 0 32px 12px rgba(196,160,120,.25) } }
@keyframes gr1-window { 0% { opacity: .6; background: radial-gradient(ellipse at center, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%) } 50% { opacity: .8; background: radial-gradient(ellipse at center, #4a5a6a 0%, #2a3a4a 50%, #1a2a3a 100%) } 100% { opacity: .5; background: radial-gradient(ellipse at center, #2a3a4a 0%, #1a2a3a 50%, #0a1a2a 100%) } }
@keyframes gr1-shadow { 0% { opacity: .4; transform: scale(1) } 50% { opacity: .6; transform: scale(1.05) } 100% { opacity: .35; transform: scale(.95) } }

.scn-gordon-remembers-youth { background: linear-gradient(180deg, #1a1a22 0%, #2a2a3a 40%, #10101a 100%), radial-gradient(ellipse at 50% 70%, #3a3a4a 0%, transparent 70%); }
.scn-gordon-remembers-youth .corridor-bg { position:absolute; inset:0 0 0 0; background: linear-gradient(90deg, #1a1a22 0%, #2a2a3a 30%, #1a1a22 70%, #10101a 100%); }
.scn-gordon-remembers-youth .arch-left { position:absolute; top:10%; left:5%; width:20%; height:70%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a22 100%); border-radius: 50% 0 0 50% / 40% 0 0 40%; border: 2px solid #3a3a4a; border-right: none; box-shadow: inset 0 0 12px rgba(0,0,0,.5); animation: gr2-arch 12s ease-in-out infinite alternate; }
.scn-gordon-remembers-youth .arch-right { position:absolute; top:15%; right:5%; width:20%; height:65%; background: linear-gradient(180deg, #1a1a22 0%, #2a2a3a 100%); border-radius: 0 50% 50% 0 / 0 40% 40% 0; border: 2px solid #3a3a4a; border-left: none; box-shadow: inset 0 0 12px rgba(0,0,0,.5); animation: gr2-arch 14s ease-in-out infinite alternate-reverse; }
.scn-gordon-remembers-youth .floor-tiles { position:absolute; bottom:0; left:0; right:0; height:30%; background: repeating-linear-gradient(90deg, #2a2a3a 0%, #2a2a3a 8%, #1a1a22 8%, #1a1a22 16%); transform: perspective(300px) rotateX(30deg); transform-origin: bottom center; animation: gr2-floor 25s linear infinite; }
.scn-gordon-remembers-youth .figure-young { position:absolute; bottom:25%; left:40%; width:8%; height:30%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a22 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gr2-young 8s ease-in-out infinite; }
.scn-gordon-remembers-youth .figure-old { position:absolute; bottom:28%; left:55%; width:10%; height:28%; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gr2-old 10s ease-in-out infinite; }
.scn-gordon-remembers-youth .lamp-glow { position:absolute; top:30%; left:30%; width:10%; height:10%; background: radial-gradient(circle, #e8d8b0 0%, #a09880 50%, transparent 80%); border-radius: 50%; filter: blur(6px); animation: gr2-lamp 4s ease-in-out infinite alternate; }
.scn-gordon-remembers-youth .dust-motes { position:absolute; inset:0; background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.03) 0%, transparent 70%); animation: gr2-dust 30s linear infinite; }
@keyframes gr2-arch { 0% { opacity: .7; transform: scaleX(1) } 50% { opacity: .85; transform: scaleX(1.02) } 100% { opacity: .6; transform: scaleX(.98) } }
@keyframes gr2-floor { 0% { background-position: 0 0 } 100% { background-position: 16% 0 } }
@keyframes gr2-young { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(5%) rotate(3deg) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(-5%) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes gr2-old { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(-3%) rotate(-1deg) } 66% { transform: translateX(3%) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes gr2-lamp { 0% { box-shadow: 0 0 20px 10px #d4c8b0; opacity: .6 } 50% { box-shadow: 0 0 40px 20px #e8d8c0; opacity: .8 } 100% { box-shadow: 0 0 15px 8px #c0b8a0; opacity: .5 } }
@keyframes gr2-dust { 0% { opacity: .3; transform: translateY(0) } 50% { opacity: .5; transform: translateY(-2%) } 100% { opacity: .3; transform: translateY(0) } }

.scn-wallensteins-young-vision { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 30%, #2a2a3e 60%, #0a0a1a 100%), radial-gradient(ellipse at 50% 50%, #2a2a4e 0%, transparent 60%); }
.scn-wallensteins-young-vision .void-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #3a3a5a 0%, transparent 70%); animation: wyv-void 25s ease-in-out infinite alternate; }
.scn-wallensteins-young-vision .figure-vision { position:absolute; bottom:30%; left:50%; width:18%; height:40%; transform: translateX(-50%); background: linear-gradient(180deg, #2a2a4a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 30px 10px #4a4a6a; animation: wyv-figure 8s ease-in-out infinite; }
.scn-wallensteins-young-vision .aura-glow { position:absolute; bottom:35%; left:50%; width:25%; height:50%; transform: translateX(-50%); background: radial-gradient(circle, rgba(180,180,220,0.3) 0%, transparent 70%); border-radius: 50%; filter: blur(12px); animation: wyv-aura 4s ease-in-out infinite alternate; }
.scn-wallensteins-young-vision .spark-a { position:absolute; top:20%; left:30%; width:2%; height:2%; background: #c0c0e0; border-radius: 50%; box-shadow: 0 0 8px #a0a0d0; animation: wyv-spark-a 7s ease-in-out infinite; }
.scn-wallensteins-young-vision .spark-b { position:absolute; top:35%; right:20%; width:1.5%; height:1.5%; background: #d0d0f0; border-radius: 50%; box-shadow: 0 0 6px #b0b0e0; animation: wyv-spark-b 9s ease-in-out infinite; }
.scn-wallensteins-young-vision .spark-c { position:absolute; bottom:50%; left:15%; width:1%; height:1%; background: #e0e0ff; border-radius: 50%; box-shadow: 0 0 10px #c0c0f0; animation: wyv-spark-c 11s ease-in-out infinite; }
.scn-wallensteins-young-vision .shadow-ground { position:absolute; bottom:0; left:20%; right:20%; height:30%; background: radial-gradient(ellipse at center, rgba(0,0,0,.8) 0%, transparent 100%); filter: blur(8px); animation: wyv-shadow 6s ease-in-out infinite alternate; }
@keyframes wyv-void { 0% { opacity: .5; background: radial-gradient(ellipse at 50% 60%, #3a3a5a 0%, transparent 70%) } 50% { opacity: .8; background: radial-gradient(ellipse at 40% 50%, #4a4a6a 0%, transparent 70%) } 100% { opacity: .4; background: radial-gradient(ellipse at 60% 70%, #2a2a4a 0%, transparent 70%) } }
@keyframes wyv-figure { 0% { transform: translateX(-50%) translateY(0) scale(1) } 33% { transform: translateX(-50%) translateY(-2%) scale(1.02) } 66% { transform: translateX(-50%) translateY(1%) scale(.98) } 100% { transform: translateX(-50%) translateY(0) scale(1) } }
@keyframes wyv-aura { 0% { transform: translateX(-50%) scale(1); opacity: .5 } 50% { transform: translateX(-50%) scale(1.2); opacity: .9 } 100% { transform: translateX(-50%) scale(.9); opacity: .4 } }
@keyframes wyv-spark-a { 0%,100% { transform: translate(0,0) scale(1); opacity: .4 } 25% { transform: translate(5%, -10%) scale(1.5); opacity: .8 } 50% { transform: translate(10%, 5%) scale(1); opacity: .3 } 75% { transform: translate(-5%, -5%) scale(1.2); opacity: .6 } }
@keyframes wyv-spark-b { 0%,100% { transform: translate(0,0) scale(1); opacity: .3 } 33% { transform: translate(-8%, -15%) scale(1.8); opacity: .9 } 66% { transform: translate(4%, 8%) scale(.8); opacity: .2 } }
@keyframes wyv-spark-c { 0%,100% { transform: translate(0,0) scale(1); opacity: .2 } 20% { transform: translate(12%, -8%) scale(2); opacity: .7 } 60% { transform: translate(-6%, 12%) scale(1.2); opacity: .5 } }
@keyframes wyv-shadow { 0% { transform: scaleY(1); opacity: .6 } 50% { transform: scaleY(1.1); opacity: .8 } 100% { transform: scaleY(.9); opacity: .5 } }

.scn-wallensteins-transformation { background: linear-gradient(180deg, #0a0a12 0%, #1a1a2a 30%, #0a0a1a 70%, #020206 100%), radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 80%); }
.scn-wallensteins-transformation .darkness-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, transparent 100%); animation: wtf-bg 20s ease-in-out infinite alternate; }
.scn-wallensteins-transformation .figure-cloak { position:absolute; bottom:25%; left:50%; width:20%; height:45%; transform: translateX(-50%); background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 0 20px 5px #2a2a3a; animation: wtf-figure 10s ease-in-out infinite; }
.scn-wallensteins-transformation .cross-emblem { position:absolute; bottom:50%; left:50%; width:8%; height:15%; transform: translateX(-50%); background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%, 0 40%, 40% 40%); box-shadow: 0 0 12px 2px #5a5a6a; animation: wtf-cross 6s ease-in-out infinite alternate; }
.scn-wallensteins-transformation .shadow-veil { position:absolute; bottom:0; left:10%; right:10%; height:35%; background: linear-gradient(180deg, rgba(0,0,0,.7) 0%, transparent 100%); filter: blur(10px); animation: wtf-veil 15s ease-in-out infinite alternate; }
.scn-wallensteins-transformation .mote-gray { position:absolute; top:20%; left:15%; width:1.5%; height:1.5%; background: #5a5a6a; border-radius: 50%; animation: wtf-mote-a 12s linear infinite; }
.scn-wallensteins-transformation .mote-silver { position:absolute; top:40%; right:20%; width:1%; height:1%; background: #808090; border-radius: 50%; animation: wtf-mote-b 14s linear infinite; }
.scn-wallensteins-transformation .edge-glow { position:absolute; top:0; left:0; right:0; height:8%; background: linear-gradient(180deg, rgba(40,40,60,0.3) 0%, transparent 100%); animation: wtf-edge 8s ease-in-out infinite alternate; }
@keyframes wtf-bg { 0% { opacity: .7; background: radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, transparent 100%) } 50% { opacity: .9; background: radial-gradient(ellipse at 60% 50%, #2a2a3a 0%, transparent 100%) } 100% { opacity: .5; background: radial-gradient(ellipse at 40% 30%, #0a0a1a 0%, transparent 100%) } }
@keyframes wtf-figure { 0% { transform: translateX(-50%) translateY(0) scale(1); box-shadow: 0 0 20px 5px #2a2a3a } 33% { transform: translateX(-50%) translateY(-3%) scale(1.03); box-shadow: 0 0 30px 10px #3a3a4a } 66% { transform: translateX(-50%) translateY(1%) scale(.97); box-shadow: 0 0 15px 3px #1a1a2a } 100% { transform: translateX(-50%) translateY(0) scale(1); box-shadow: 0 0 20px 5px #2a2a3a } }
@keyframes wtf-cross { 0% { transform: translateX(-50%) rotate(-2deg); opacity: .6 } 50% { transform: translateX(-50%) rotate(2deg); opacity: .8 } 100% { transform: translateX(-50%) rotate(-2deg); opacity: .7 } }
@keyframes wtf-veil { 0% { opacity: .5; transform: scaleY(1) } 50% { opacity: .7; transform: scaleY(1.05) } 100% { opacity: .4; transform: scaleY(.95) } }
@keyframes wtf-mote-a { 0% { transform: translate(0, 0) scale(1); opacity: .3 } 25% { transform: translate(20%, -10%) scale(1.5); opacity: .6 } 50% { transform: translate(40%, 5%) scale(2); opacity: .2 } 75% { transform: translate(60%, -15%) scale(1.2); opacity: .5 } 100% { transform: translate(80%, 0) scale(1); opacity: .3 } }
@keyframes wtf-mote-b { 0% { transform: translate(0, 0) scale(1); opacity: .2 } 33% { transform: translate(-15%, -20%) scale(2); opacity: .5 } 66% { transform: translate(-30%, 10%) scale(1.5); opacity: .3 } 100% { transform: translate(-45%, 0) scale(1); opacity: .2 } }
@keyframes wtf-edge { 0% { opacity: .2 } 50% { opacity: .6 } 100% { opacity: .3 } }

/* Scene 1: duchess-recalls-regenspurg */

.scn-duchess-recalls-regenspurg {
  background: 
    linear-gradient(45deg, #2a1a1a 0%, #4a2a1a 40%, #6a3a2a 100%),
    radial-gradient(circle at 30% 60%, #3a1a1a 0%, transparent 70%);
}
.scn-duchess-recalls-regenspurg .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a1a 0%, #3a2a1a 40%, #2a1a1a 100%); border-radius: 0; animation: dr-room 12s ease-in-out infinite alternate;
}
.scn-duchess-recalls-regenspurg .window {
  position: absolute; top: 10%; left: 65%; width: 120px; height: 150px; background: linear-gradient(135deg, #4a3a5a 0%, #2a2a4a 60%, #1a1a3a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6); animation: dr-window-sky 20s ease-in-out infinite alternate;
}
.scn-duchess-recalls-regenspurg .window-frame {
  position: absolute; top: 9%; left: 64%; width: 130px; height: 160px; border: 6px solid #5a3a2a; border-radius: 6px; background: none; box-shadow: 0 0 12px rgba(0,0,0,.5); animation: dr-frame 10s ease-in-out infinite;
}
.scn-duchess-recalls-regenspurg .lamp {
  position: absolute; bottom: 30%; left: 25%; width: 20px; height: 30px; background: radial-gradient(circle, #e0b060 0%, #c08040 50%, #8a5a30 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 40px 10px #c08040, 0 0 80px 20px rgba(192,128,64,.4); animation: dr-lamp-glow 4s ease-in-out infinite alternate;
}
.scn-duchess-recalls-regenspurg .figure {
  position: absolute; bottom: 22%; left: 35%; width: 30px; height: 70px; background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; filter: blur(0.5px); animation: dr-figure-sway 8s ease-in-out infinite alternate;
}
.scn-duchess-recalls-regenspurg .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 20px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: dr-shadow 8s ease-in-out infinite alternate;
}
.scn-duchess-recalls-regenspurg .storm-cloud-1 {
  position: absolute; top: 8%; left: 70%; width: 100px; height: 30px; background: linear-gradient(90deg, #2a2a3e, #4a4a5e, #2a2a3e); border-radius: 50%; filter: blur(8px); animation: dr-cloud-drift 40s linear infinite;
}
.scn-duchess-recalls-regenspurg .storm-cloud-2 {
  position: absolute; top: 15%; left: 75%; width: 80px; height: 20px; background: linear-gradient(90deg, #1a1a2e, #3a3a4e, #1a1a2e); border-radius: 50%; filter: blur(6px); animation: dr-cloud-drift 50s linear infinite reverse;
}
@keyframes dr-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dr-window-sky { 0% { background-position: 0% 0%; } 50% { background-position: 50% 100%; } 100% { background-position: 100% 0%; } }
@keyframes dr-frame { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.01); } }
@keyframes dr-lamp-glow { 0% { box-shadow: 0 0 20px 5px #c08040, 0 0 40px 10px rgba(192,128,64,.3); opacity: 0.8; } 50% { box-shadow: 0 0 50px 15px #e0b060, 0 0 80px 20px rgba(224,176,96,.5); opacity: 1; } 100% { box-shadow: 0 0 30px 8px #c08040, 0 0 60px 12px rgba(192,128,64,.35); opacity: 0.9; } }
@keyframes dr-figure-sway { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes dr-shadow { 0% { transform: scaleX(1) opacity(0.5); } 50% { transform: scaleX(1.1) opacity(0.7); } 100% { transform: scaleX(0.9) opacity(0.4); } }
@keyframes dr-cloud-drift { 0% { transform: translateX(0); } 100% { transform: translateX(200px); } }

/* Scene 2: countess-warns-about-wall-incoming */

.scn-countess-warns-about-wall-incoming {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #2a1a0a 100%),
    radial-gradient(ellipse at 70% 50%, #6a4a2a 0%, transparent 60%);
}
.scn-countess-warns-about-wall-incoming .interior-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 50%, #3a2a1a 100%); border-radius: 0; animation: cw-wall 15s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #1a0a00 0%, #3a2a1a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: cw-floor 10s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .countess {
  position: absolute; bottom: 22%; left: 20%; width: 35px; height: 80px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; filter: blur(0.3px); animation: cw-figure-tense 2s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .duchess {
  position: absolute; bottom: 20%; left: 45%; width: 40px; height: 75px; background: linear-gradient(180deg, #4a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cw-duchess 4s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .child {
  position: absolute; bottom: 18%; left: 60%; width: 25px; height: 50px; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cw-child 3s ease-in-out infinite;
}
.scn-countess-warns-about-wall-incoming .door {
  position: absolute; top: 10%; right: 10%; width: 100px; height: 180px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 6px 6px 0 0; box-shadow: -8px 0 20px rgba(0,0,0,.6); animation: cw-door 5s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .drape {
  position: absolute; top: 5%; right: 8%; width: 30px; height: 200px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 4px; filter: blur(1px); transform-origin: top; animation: cw-drape-swing 3s ease-in-out infinite alternate;
}
.scn-countess-warns-about-wall-incoming .light-shaft {
  position: absolute; top: 0; left: 75%; width: 60px; height: 100%; background: linear-gradient(180deg, rgba(255,200,100,0.3) 0%, transparent 80%); filter: blur(10px); animation: cw-light 4s ease-in-out infinite alternate;
}
@keyframes cw-wall { 0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.9); } }
@keyframes cw-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes cw-figure-tense { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(-1deg); } 50% { transform: translateX(-3px) rotate(1deg); } 75% { transform: translateX(2px) rotate(-0.5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes cw-duchess { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cw-child { 0%, 100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(3deg); } }
@keyframes cw-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98); } 100% { transform: scaleX(1.02); } }
@keyframes cw-drape-swing { 0% { transform: rotate(-2deg); } 25% { transform: rotate(3deg); } 50% { transform: rotate(-4deg); } 75% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes cw-light { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.5; } }

/* Scene 3: thekla-flees */

.scn-thekla-flees {
  background: 
    linear-gradient(90deg, #2a1a1a 0%, #4a2a1a 30%, #2a1a1a 70%, #1a0a0a 100%),
    radial-gradient(ellipse at 30% 40%, #3a1a0a 0%, transparent 70%);
}
.scn-thekla-flees .corridor-bg {
  position: absolute; inset: 0; background: linear-gradient(0deg, #1a0a0a 0%, #3a2a1a 40%, #2a1a1a 100%); animation: tf-corridor 20s ease-in-out infinite alternate;
}
.scn-thekla-flees .doorway {
  position: absolute; top: 5%; left: 15%; width: 150px; height: 220px; background: #0a0a0a; border-radius: 60% 60% 10% 10% / 80% 80% 10% 10%; box-shadow: inset 0 0 30px rgba(0,0,0,.8); animation: tf-doorway 8s ease-in-out infinite alternate;
}
.scn-thekla-flees .thekla {
  position: absolute; bottom: 20%; left: 40%; width: 28px; height: 72px; background: linear-gradient(180deg, #4a2a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; filter: blur(0.5px); animation: tf-thekla-run 2s ease-in-out infinite;
}
.scn-thekla-flees .countess-arm {
  position: absolute; bottom: 30%; left: 55%; width: 50px; height: 12px; background: linear-gradient(90deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 0 0; transform-origin: left center; animation: tf-arm-reach 3s ease-in-out infinite alternate;
}
.scn-thekla-flees .duchess-figure {
  position: absolute; bottom: 22%; right: 10%; width: 40px; height: 78px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: tf-duchess 6s ease-in-out infinite alternate;
}
.scn-thekla-flees .shadow-cast {
  position: absolute; bottom: 18%; left: 30%; width: 120px; height: 30px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%); filter: blur(5px); animation: tf-shadow 3s ease-in-out infinite;
}
.scn-thekla-flees .light-beam {
  position: absolute; top: 0; left: 30%; width: 80px; height: 100%; background: linear-gradient(180deg, rgba(255,200,150,0.4) 0%, transparent 70%); filter: blur(8px); animation: tf-light-pulse 4s ease-in-out infinite alternate;
}
@keyframes tf-corridor { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes tf-doorway { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,.6); } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,.9); } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,.6); } }
@keyframes tf-thekla-run { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(12px) translateY(-3px) rotate(-2deg); } 50% { transform: translateX(24px) translateY(0) rotate(0deg); } 75% { transform: translateX(36px) translateY(-3px) rotate(2deg); } 100% { transform: translateX(48px) translateY(0) rotate(0deg); } }
@keyframes tf-arm-reach { 0% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(5deg) scaleX(1.1); } 100% { transform: rotate(-5deg) scaleX(1); } }
@keyframes tf-duchess { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes tf-shadow { 0% { transform: scaleX(1) opacity(0.4); } 50% { transform: scaleX(1.2) opacity(0.7); } 100% { transform: scaleX(0.9) opacity(0.5); } }
@keyframes tf-light-pulse { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.4; } }

/* Scene 4: wallenstein-enters-with-illo */

.scn-wallenstein-enters-with-illo {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #5a3a2a 40%, #2a1a0a 100%),
    radial-gradient(ellipse at 40% 30%, #6a4a2a 0%, transparent 60%);
}
.scn-wallenstein-enters-with-illo .tent-backdrop {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 50%, #3a2a1a 100%); border-radius: 0; animation: we-tent 30s ease-in-out infinite alternate;
}
.scn-wallenstein-enters-with-illo .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(0deg, #1a0a00 0%, #3a2a1a 100%); border-radius: 10% 30% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); animation: we-floor 20s ease-in-out infinite alternate;
}
.scn-wallenstein-enters-with-illo .door-entrance {
  position: absolute; top: 8%; left: 12%; width: 140px; height: 200px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 60% 60% 10% 10% / 80% 80% 10% 10%; box-shadow: 8px 0 30px rgba(0,0,0,.7); animation: we-door 15s ease-in-out infinite alternate;
}
.scn-wallenstein-enters-with-illo .wallenstein {
  position: absolute; bottom: 25%; left: 30%; width: 45px; height: 95px; background: linear-gradient(180deg, #4a2a1a 0%, #1a0a00 100%); border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; filter: blur(0.3px); animation: we-enter 10s ease-in-out infinite;
}
.scn-wallenstein-enters-with-illo .illo {
  position: absolute; bottom: 25%; left: 45%; width: 35px; height: 80px; background: linear-gradient(180deg, #3a2a1a 0%, #0a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: we-illo 12s ease-in-out infinite alternate;
}
.scn-wallenstein-enters-with-illo .table {
  position: absolute; bottom: 18%; left: 58%; width: 80px; height: 30px; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.4); animation: we-table 18s ease-in-out infinite alternate;
}
.scn-wallenstein-enters-with-illo .lamp-steady {
  position: absolute; bottom: 30%; left: 60%; width: 18px; height: 24px; background: radial-gradient(circle, #e0b060 0%, #c08040 60%, #8a5a30 100%); border-radius: 30% 30% 20% 20%; box-shadow: 0 0 30px 8px #c08040, 0 0 60px 16px rgba(192,128,64,.3); animation: we-lamp 6s ease-in-out infinite alternate;
}
@keyframes we-tent { 0% { filter: brightness(1); } 50% { filter: brightness(1.05); } 100% { filter: brightness(0.95); } }
@keyframes we-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(0.99); } }
@keyframes we-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.97); } 100% { transform: scaleX(1.03); } }
@keyframes we-enter { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(-1deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes we-illo { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes we-table { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes we-lamp { 0% { box-shadow: 0 0 20px 4px #c08040, 0 0 40px 8px rgba(192,128,64,.3); opacity: 0.9; } 50% { box-shadow: 0 0 40px 12px #e0b060, 0 0 60px 16px rgba(224,176,96,.5); opacity: 1; } 100% { box-shadow: 0 0 25px 6px #c08040, 0 0 50px 10px rgba(192,128,64,.35); opacity: 0.95; } }

.scn-wallensteins-german-rant { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a3a4e 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%); }
.scn-wallensteins-german-rant .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 40%, #3a3a4e 100%); }
.scn-wallensteins-german-rant .shadow-wall { position:absolute; left:0; top:0; width:30%; height:100%; background: rgba(10,10,20,.7); filter: blur(12px); animation: wgr-shadow 8s ease-in-out infinite alternate; }
.scn-wallensteins-german-rant .figure-orator { position:absolute; bottom:20%; left:50%; width:80px; height:110px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); animation: wgr-orator 7s ease-in-out infinite; }
.scn-wallensteins-german-rant .table { position:absolute; bottom:12%; left:50%; width:160px; height:20px; transform:translateX(-50%); background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-wallensteins-german-rant .papers { position:absolute; bottom:15%; left:45%; width:40px; height:30px; background: linear-gradient(135deg, #c8b088 0%, #a08060 100%); border-radius: 2px; transform: rotate(-8deg); box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: wgr-papers 11s ease-in-out infinite; }
.scn-wallensteins-german-rant .candle { position:absolute; bottom:16%; left:48%; width:6px; height:30px; background: linear-gradient(180deg, #e8d0a0 0%, #c08040 100%); border-radius: 2px; }
.scn-wallensteins-german-rant .candle-glow { position:absolute; bottom:20%; left:48%; width:30px; height:30px; background: radial-gradient(circle, #ffd060 0%, #c08040 40%, transparent 70%); border-radius:50%; animation: wgr-glint 3s ease-in-out infinite alternate; }
.scn-wallensteins-german-rant .shadow-shape { position:absolute; right:10%; bottom:0; width:100px; height:150px; background: rgba(10,10,20,.5); filter: blur(8px); animation: wgr-other-shadow 6s ease-in-out infinite alternate; }
@keyframes wgr-shadow { 0% { opacity:.5; transform: scaleX(1) } 50% { opacity:.8; transform: scaleX(1.1) } 100% { opacity:.6; transform: scaleX(1) } }
@keyframes wgr-orator { 0% { transform: translateX(-50%) rotate(-2deg) translateY(0) } 30% { transform: translateX(-50%) rotate(0) translateY(-3px) } 60% { transform: translateX(-50%) rotate(2deg) translateY(0) } 100% { transform: translateX(-50%) rotate(-1deg) translateY(-1px) } }
@keyframes wgr-papers { 0% { transform: rotate(-8deg) translateX(0) } 50% { transform: rotate(4deg) translateX(6px) } 100% { transform: rotate(-6deg) translateX(0) } }
@keyframes wgr-glint { 0% { opacity:.7; transform: scale(.9) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.8; transform: scale(1) } }
@keyframes wgr-other-shadow { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-5px) scaleY(1.1) } 100% { transform: translateY(0) scaleY(1) } }

.scn-translation-continued { background: linear-gradient(180deg, #2a2a3e 0%, #1e1e2e 40%, #3a3a4e 100%), radial-gradient(ellipse at 60% 20%, #4a3a2a 0%, transparent 60%); }
.scn-translation-continued .window { position:absolute; right:5%; top:10%; width:80px; height:100px; background: linear-gradient(135deg, #3a4a5a 0%, #2a3a4a 100%); border: 4px solid #4a4a5a; border-radius: 6px; box-shadow: inset 0 0 20px rgba(0,0,0,.4); }
.scn-translation-continued .storm-outside { position:absolute; right:5%; top:10%; width:80px; height:100px; background: repeating-linear-gradient(0deg, rgba(200,220,240,.3) 0px, rgba(200,220,240,.1) 4px, transparent 8px); animation: tc-storm 3s linear infinite; }
.scn-translation-continued .figure-gesturing { position:absolute; bottom:20%; left:30%; width:70px; height:100px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tc-gesture 8s ease-in-out infinite; }
.scn-translation-continued .desk { position:absolute; bottom:12%; left:25%; width:120px; height:18px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 3px; }
.scn-translation-continued .inkwell { position:absolute; bottom:15%; left:28%; width:16px; height:20px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 30% 30% 20% 20%; }
.scn-translation-continued .paper { position:absolute; bottom:13%; left:40%; width:30px; height:22px; background: linear-gradient(135deg, #c8b088 0%, #a08060 100%); border-radius: 2px; transform: rotate(5deg); box-shadow: 0 1px 3px rgba(0,0,0,.4); animation: tc-paper 15s ease-in-out infinite; }
.scn-translation-continued .candle-stand { position:absolute; bottom:14%; left:70%; width:8px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 2px; }
.scn-translation-continued .candle-stand::before { content:''; position:absolute; top:-10px; left:-2px; width:12px; height:12px; background: radial-gradient(circle, #ffd060 0%, #c08040 40%, transparent 70%); border-radius:50%; animation: tc-candle 3s ease-in-out infinite alternate; }
@keyframes tc-storm { 0% { background-position: 0 0; } 50% { background-position: 0 20px; } 100% { background-position: 0 0; } }
@keyframes tc-gesture { 0% { transform: rotate(-5deg) translateY(0) } 30% { transform: rotate(0) translateY(-2px) } 60% { transform: rotate(8deg) translateY(0) } 100% { transform: rotate(-3deg) translateY(-1px) } }
@keyframes tc-paper { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(-3deg) translateX(8px) } 100% { transform: rotate(5deg) translateX(0) } }
@keyframes tc-candle { 0% { opacity:.7; transform: scale(.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:.8; transform: scale(1) } }

.scn-wallensteins-speech-continued { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a3a4e 100%), radial-gradient(ellipse at 50% 40%, #3a2a1a 0%, transparent 80%); }
.scn-wallensteins-speech-continued .figure-close { position:absolute; bottom:15%; left:50%; width:140px; height:180px; transform:translateX(-50%) scale(1.2); background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: inset 0 -20px 40px rgba(0,0,0,.6); animation: wsc-breathe 5s ease-in-out infinite; }
.scn-wallensteins-speech-continued .chest { position:absolute; bottom:18%; left:50%; width:100px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%); border-radius: 20% 20% 10% 10%; }
.scn-wallensteins-speech-continued .shadow-basilisk { position:absolute; bottom:0; left:30%; width:60px; height:80px; background: rgba(10,10,20,.6); filter: blur(6px); border-radius: 50% 20% 40% 40%; animation: wsc-slither 12s ease-in-out infinite; }
.scn-wallensteins-speech-continued .heart-glow { position:absolute; bottom:25%; left:50%; width:24px; height:24px; transform:translateX(-50%); background: radial-gradient(circle, #ff6040 0%, #c82020 40%, transparent 70%); border-radius:50%; animation: wsc-heart 2s ease-in-out infinite; }
.scn-wallensteins-speech-continued .glow-particle-a { position:absolute; bottom:35%; left:40%; width:6px; height:6px; background: radial-gradient(circle, #ff8060 0%, transparent 70%); border-radius:50%; animation: wsc-float 8s ease-in-out infinite; }
.scn-wallensteins-speech-continued .glow-particle-b { position:absolute; bottom:30%; left:60%; width:8px; height:8px; background: radial-gradient(circle, #ffa080 0%, transparent 70%); border-radius:50%; animation: wsc-float 8s ease-in-out infinite 4s; }
@keyframes wsc-breathe { 0% { transform: translateX(-50%) scale(1.2) translateY(0) } 50% { transform: translateX(-50%) scale(1.22) translateY(-2px) } 100% { transform: translateX(-50%) scale(1.2) translateY(0) } }
@keyframes wsc-slither { 0% { transform: translateX(0) rotate(0) scaleX(1) } 50% { transform: translateX(15px) rotate(5deg) scaleX(1.1) } 100% { transform: translateX(0) rotate(0) scaleX(1) } }
@keyframes wsc-heart { 0% { opacity:.8; transform: translateX(-50%) scale(1) } 50% { opacity:1; transform: translateX(-50%) scale(1.3) } 100% { opacity:.8; transform: translateX(-50%) scale(1) } }
@keyframes wsc-float { 0% { transform: translateY(0) scale(1); opacity:0 } 30% { opacity:1 } 70% { opacity:1 } 100% { transform: translateY(-60px) scale(0); opacity:0 } }

.scn-neumann-reports-pappenheimers { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 50%, #3a3a4e 100%), radial-gradient(ellipse at 40% 80%, #3a2a1a 0%, transparent 60%); }
.scn-neumann-reports-pappenheimers .cannon { position:absolute; bottom:10%; left:10%; width:80px; height:30px; background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-15deg); box-shadow: 0 4px 8px rgba(0,0,0,.6); animation: nrp-recoil 6s ease-in-out infinite; }
.scn-neumann-reports-pappenheimers .figure-commander { position:absolute; bottom:15%; left:35%; width:60px; height:100px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.5); animation: nrp-stand 7s ease-in-out infinite; }
.scn-neumann-reports-pappenheimers .figure-neumann { position:absolute; bottom:15%; left:55%; width:50px; height:80px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 60%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: inset 0 -8px 16px rgba(0,0,0,.5); animation: nrp-approach 5s ease-in-out infinite; }
.scn-neumann-reports-pappenheimers .door { position:absolute; right:5%; bottom:0; width:70px; height:120px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 0 0; border: 2px solid #5a4a3a; }
.scn-neumann-reports-pappenheimers .wall { position:absolute; inset:0; background: linear-gradient(135deg, rgba(42,42,62,.8) 0%, rgba(26,26,46,.9) 100%); }
.scn-neumann-reports-pappenheimers .light-beam { position:absolute; top:0; left:20%; width:20%; height:100%; background: linear-gradient(180deg, rgba(255,200,100,.15) 0%, transparent 80%); filter: blur(10px); animation: nrp-flicker 3s ease-in-out infinite alternate; }
.scn-neumann-reports-pappenheimers .shadow-soldiers { position:absolute; bottom:0; left:0; width:100%; height:40%; background: linear-gradient(0deg, rgba(10,10,20,.6) 0%, transparent 100%); filter: blur(8px); animation: nrp-shadows 10s ease-in-out infinite; }
@keyframes nrp-recoil { 0% { transform: rotate(-15deg) translateX(0) } 25% { transform: rotate(-10deg) translateX(-5px) } 50% { transform: rotate(-15deg) translateX(0) } 75% { transform: rotate(-20deg) translateX(3px) } 100% { transform: rotate(-15deg) translateX(0) } }
@keyframes nrp-stand { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(3px) rotate(-1deg) } 60% { transform: translateX(-2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes nrp-approach { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(10px) scaleX(.95) } 100% { transform: translateX(0) scaleX(1) } }
@keyframes nrp-flicker { 0% { opacity:.6; transform: scaleY(1) } 50% { opacity:.9; transform: scaleY(1.05) } 100% { opacity:.7; transform: scaleY(1) } }
@keyframes nrp-shadows { 0% { opacity:.5; transform: translateY(0) scaleY(1) } 50% { opacity:.7; transform: translateY(-5px) scaleY(1.1) } 100% { opacity:.5; transform: translateY(0) scaleY(1) } }

.scn-wallenstein-proposes-cutting-knot {
  background: linear-gradient(135deg, #3a2a1a 0%, #5a4a2a 50%, #7a5a3a 100%),
              radial-gradient(ellipse at 50% 100%, #2a1a0a 0%, transparent 60%);
}
.scn-wallenstein-proposes-cutting-knot .pillar-left {
  position: absolute; left: 5%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 4px 0 8px rgba(0,0,0,0.4);
  animation: wpr-pillar 12s ease-in-out infinite alternate;
}
.scn-wallenstein-proposes-cutting-knot .pillar-right {
  position: absolute; right: 5%; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%);
  border-radius: 10% 10% 0 0; box-shadow: -4px 0 8px rgba(0,0,0,0.4);
  animation: wpr-pillar 12s ease-in-out infinite alternate-reverse;
}
.scn-wallenstein-proposes-cutting-knot .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
  transform: perspective(800px) rotateX(20deg);
}
.scn-wallenstein-proposes-cutting-knot .map {
  position: absolute; bottom: 30%; left: 30%; width: 30%; height: 10%;
  background: linear-gradient(135deg, #d4c8a0 0%, #c0b080 50%, #a89870 100%);
  border-radius: 4%; box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-3deg);
  animation: wpr-map 18s ease-in-out infinite alternate;
}
.scn-wallenstein-proposes-cutting-knot .torch {
  position: absolute; bottom: 35%; left: 48%; width: 6px; height: 8%;
  background: linear-gradient(180deg, #c0a060 0%, #8a6a3a 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 30px 10px #d4a050, 0 0 60px 20px rgba(212,160,80,0.5);
  animation: wpr-torch 3s ease-in-out infinite alternate;
}
.scn-wallenstein-proposes-cutting-knot .figure-wallenstein {
  position: absolute; bottom: 18%; left: 25%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wpr-figure 6s ease-in-out infinite alternate;
}
.scn-wallenstein-proposes-cutting-knot .figure-butler {
  position: absolute; bottom: 18%; right: 25%; width: 11%; height: 28%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wpr-figure 6s ease-in-out infinite alternate-reverse;
}
.scn-wallenstein-proposes-cutting-knot .candle {
  position: absolute; bottom: 35%; left: 38%; width: 4px; height: 6%;
  background: linear-gradient(180deg, #f0d8a0 0%, #d4b060 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 20px 6px #f0d8a0, 0 0 40px 12px rgba(240,216,160,0.4);
  animation: wpr-candle 4s ease-in-out infinite alternate;
}
.scn-wallenstein-proposes-cutting-knot .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: wpr-shadow 20s ease-in-out infinite alternate;
}
@keyframes wpr-pillar { 0% { opacity: 0.9; } 50% { opacity: 1; box-shadow: 2px 0 10px rgba(0,0,0,0.6); } 100% { opacity: 0.85; } }
@keyframes wpr-map { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes wpr-torch { 0% { box-shadow: 0 0 20px 6px #d4a050, 0 0 40px 12px rgba(212,160,80,0.3); opacity: 0.9; } 50% { box-shadow: 0 0 40px 14px #e0b060, 0 0 80px 24px rgba(224,176,96,0.5); opacity: 1; } 100% { box-shadow: 0 0 25px 8px #d4a050, 0 0 50px 16px rgba(212,160,80,0.4); opacity: 0.92; } }
@keyframes wpr-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wpr-candle { 0% { transform: scaleY(1); box-shadow: 0 0 15px 4px #f0d8a0; } 50% { transform: scaleY(1.1); box-shadow: 0 0 30px 10px #fce8b0; } 100% { transform: scaleY(0.95); box-shadow: 0 0 20px 6px #f0d8a0; } }
@keyframes wpr-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }

.scn-butler-interrupts {
  background: linear-gradient(135deg, #4a3a2a 0%, #6a5a3a 50%, #8a7a4a 100%),
              radial-gradient(ellipse at 30% 20%, #3a2a1a 0%, transparent 70%);
}
.scn-butler-interrupts .wall-back {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #5a4a30 0%, #3a2a18 100%);
  border-radius: 0 0 50% 50% / 0 0 20% 20%;
  opacity: 0.6;
  animation: bii-wall 20s ease-in-out infinite alternate;
}
.scn-butler-interrupts .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.5);
  transform: perspective(600px) rotateX(25deg);
  animation: bii-desk 14s ease-in-out infinite alternate;
}
.scn-butler-interrupts .lamp {
  position: absolute; bottom: 38%; left: 20%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #c0a050 0%, #8a6a30 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 30px 12px #d0b060, 0 0 60px 24px rgba(208,176,96,0.4);
  animation: bii-lamp 5s ease-in-out infinite alternate;
}
.scn-butler-interrupts .figure-wallenstein {
  position: absolute; bottom: 15%; left: 15%; width: 14%; height: 35%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #4a3a2a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bii-figure-w 4s ease-in-out infinite alternate;
}
.scn-butler-interrupts .figure-butler {
  position: absolute; bottom: 15%; right: 15%; width: 12%; height: 32%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a2a1a 0%, #1a1008 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bii-figure-b 3.5s ease-in-out infinite alternate;
}
.scn-butler-interrupts .scroll {
  position: absolute; bottom: 30%; left: 38%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #e0d0a0 0%, #c0b080 100%);
  border-radius: 20% 20% 20% 20%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  transform: rotate(15deg);
  animation: bii-scroll 6s ease-in-out infinite alternate;
}
.scn-butler-interrupts .chair {
  position: absolute; bottom: 10%; left: 35%; width: 16%; height: 20%;
  background: linear-gradient(180deg, #5a4a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0;
  transform: perspective(600px) rotateX(10deg);
  animation: bii-chair 8s ease-in-out infinite alternate;
}
.scn-butler-interrupts .glow {
  position: absolute; bottom: 40%; left: 35%; right: 35%; height: 10%;
  background: radial-gradient(ellipse, rgba(255,220,160,0.3) 0%, transparent 70%);
  animation: bii-glow 4s ease-in-out infinite alternate;
}
@keyframes bii-wall { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.6; } }
@keyframes bii-desk { 0% { transform: perspective(600px) rotateX(25deg) translateY(0); } 50% { transform: perspective(600px) rotateX(22deg) translateY(-2px); } 100% { transform: perspective(600px) rotateX(25deg) translateY(0); } }
@keyframes bii-lamp { 0% { box-shadow: 0 0 20px 8px #d0b060; opacity: 0.9; } 50% { box-shadow: 0 0 40px 16px #e0c070; opacity: 1; } 100% { box-shadow: 0 0 25px 10px #d0b060; opacity: 0.92; } }
@keyframes bii-figure-w { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bii-figure-b { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bii-scroll { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes bii-chair { 0% { transform: perspective(600px) rotateX(10deg) translateX(0); } 50% { transform: perspective(600px) rotateX(8deg) translateX(2px); } 100% { transform: perspective(600px) rotateX(10deg) translateX(0); } }
@keyframes bii-glow { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-wallenstein-curses-butlers-counsel {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a2a1a 50%, #3a1a0a 100%),
              radial-gradient(ellipse at 50% 30%, #5a2a10 0%, transparent 60%);
}
.scn-wallenstein-curses-butlers-counsel .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0;
  animation: wcb-floor 22s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .door {
  position: absolute; right: 5%; bottom: 25%; width: 14%; height: 50%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0; border-left: 4px solid #4a3a1a;
  box-shadow: -4px 0 8px rgba(0,0,0,0.6);
  animation: wcb-door 10s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .torch-left {
  position: absolute; bottom: 30%; left: 8%; width: 5px; height: 10%;
  background: linear-gradient(180deg, #b09050 0%, #705030 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 25px 8px #c0a060, 0 0 50px 16px rgba(192,160,96,0.4);
  animation: wcb-torch 4s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .figure-wallenstein {
  position: absolute; bottom: 22%; left: 15%; width: 15%; height: 35%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #4a2a1a 0%, #1a0800 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wcb-figure-w 3.5s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .figure-butler {
  position: absolute; bottom: 22%; left: 35%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a2a1a 0%, #1a0800 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wcb-figure-b 4s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .cuirassier-1 {
  position: absolute; bottom: 20%; right: 30%; width: 10%; height: 28%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 30% 30% 20% 20%;
  transform: scaleX(-1);
  animation: wcb-soldier 8s ease-in-out infinite alternate;
}
.scn-wallenstein-curses-butlers-counsel .cuirassier-2 {
  position: absolute; bottom: 20%; right: 15%; width: 10%; height: 28%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 30% 30% 20% 20%;
  transform: scaleX(-1);
  animation: wcb-soldier 8s ease-in-out infinite alternate-reverse;
}
.scn-wallenstein-curses-butlers-counsel .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
  animation: wcb-shadow 18s ease-in-out infinite alternate;
}
@keyframes wcb-floor { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes wcb-door { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-5px) scaleX(1.02); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes wcb-torch { 0% { box-shadow: 0 0 20px 6px #c0a060; opacity: 0.9; } 50% { box-shadow: 0 0 35px 12px #d0b070; opacity: 1; } 100% { box-shadow: 0 0 25px 8px #c0a060; opacity: 0.92; } }
@keyframes wcb-figure-w { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wcb-figure-b { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wcb-soldier { 0% { transform: scaleX(-1) translateX(0); } 50% { transform: scaleX(-1) translateX(4px); } 100% { transform: scaleX(-1) translateX(0); } }
@keyframes wcb-shadow { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }

.scn-duchess-and-thekla-burst-in {
  background: linear-gradient(135deg, #3a2a1a 0%, #5a3a1a 50%, #4a1a0a 100%),
              radial-gradient(ellipse at 60% 40%, #6a3a1a 0%, transparent 70%);
}
.scn-duchess-and-thekla-burst-in .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
  opacity: 0.5;
  animation: dtb-wall 25s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .doorway {
  position: absolute; right: 10%; bottom: 20%; width: 18%; height: 55%;
  background: #1a1008;
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 4px 0 8px rgba(0,0,0,0.5);
  animation: dtb-doorway 12s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .candle {
  position: absolute; bottom: 35%; left: 25%; width: 4px; height: 8%;
  background: linear-gradient(180deg, #f0d8a0 0%, #c0a060 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: 0 0 25px 8px #f0d8a0, 0 0 50px 16px rgba(240,216,160,0.5);
  animation: dtb-candle 4s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .figure-duchess {
  position: absolute; bottom: 18%; right: 28%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #4a2a1a 0%, #1a0800 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dtb-figure-d 5s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .figure-thekla {
  position: absolute; bottom: 18%; right: 44%; width: 11%; height: 28%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #3a2a1a 0%, #1a0800 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dtb-figure-t 4.5s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .figure-countess {
  position: absolute; bottom: 18%; right: 58%; width: 11%; height: 28%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dtb-figure-c 4.8s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .figure-wallenstein {
  position: absolute; bottom: 18%; left: 20%; width: 14%; height: 35%;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, #5a3a1a 0%, #2a1000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dtb-figure-w 3.5s ease-in-out infinite alternate;
}
.scn-duchess-and-thekla-burst-in .light-ray {
  position: absolute; right: 10%; bottom: 20%; width: 18%; height: 55%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,220,160,0.15) 0%, transparent 60%);
  animation: dtb-light 8s ease-in-out infinite alternate;
}
@keyframes dtb-wall { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.5; } }
@keyframes dtb-doorway { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }
@keyframes dtb-candle { 0% { box-shadow: 0 0 20px 6px #f0d8a0; opacity: 0.9; } 50% { box-shadow: 0 0 35px 12px #fce8b0; opacity: 1; } 100% { box-shadow: 0 0 25px 8px #f0d8a0; opacity: 0.92; } }
@keyframes dtb-figure-d { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dtb-figure-t { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dtb-figure-c { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dtb-figure-w { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dtb-light { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; } }

.scn-max-blames-self {
  background: linear-gradient(180deg, #141a2a 0%, #1c2232 40%, #2a3040 70%, #1a1e2e 100%), radial-gradient(ellipse at 60% 50%, #2a3848 0%, transparent 60%);
}
.scn-max-blames-self .bg { position:absolute; inset:0; background: linear-gradient(135deg, #0e121e 0%, #1a1e2a 50%, #121624 100%); animation: mbs1-bg 10s ease-in-out infinite alternate; }
.scn-max-blames-self .wall { position:absolute; top:0; left:0; right:0; bottom:35%; background: linear-gradient(180deg, #1e2634 0%, #252d3e 50%, #1a2230 100%); border-bottom: 2px solid #2a3244; box-shadow: inset 0 0 80px rgba(0,0,0,0.5); animation: mbs1-wall 8s ease-in-out infinite alternate; }
.scn-max-blames-self .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #1a1a22 0%, #12121a 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: mbs1-floor 6s ease-in-out infinite; }
.scn-max-blames-self .lamp { position:absolute; bottom:42%; left:28%; width:12px; height:18px; background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%); border-radius: 2px 2px 6px 6px; transform: skewX(-5deg); animation: mbs1-lamp 4s ease-in-out infinite; }
.scn-max-blames-self .glow { position:absolute; bottom:40%; left:28%; width:60px; height:60px; background: radial-gradient(circle, #e8b060 0%, #c07030 40%, transparent 70%); border-radius: 50%; transform: translate(-50%,50%) scale(1.2); animation: mbs1-glow 3s ease-in-out infinite alternate; }
.scn-max-blames-self .figure { position:absolute; bottom:32%; left:55%; width:22px; height:48px; background: linear-gradient(180deg, #1a1a2a 0%, #242436 40%, #1a1a28 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-2deg); animation: mbs1-figure 7s ease-in-out infinite; }
.scn-max-blames-self .table { position:absolute; bottom:35%; left:38%; width:50px; height:6px; background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); transform: rotate(2deg); animation: mbs1-table 12s ease-in-out infinite alternate; }
.scn-max-blames-self .letter { position:absolute; bottom:44%; left:42%; width:14px; height:10px; background: #d4c4a0; border-radius: 1px; box-shadow: 0 1px 2px rgba(0,0,0,0.4); transform: rotate(-10deg); animation: mbs1-letter 9s ease-in-out infinite; }
@keyframes mbs1-bg { 0% { opacity:0.9 } 50% { opacity:0.95 } 100% { opacity:0.85 } }
@keyframes mbs1-wall { 0% { background:#1e2634 } 50% { background:#242c3c } 100% { background:#1a2230 } }
@keyframes mbs1-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes mbs1-lamp { 0% { transform: skewX(-5deg) scaleY(1) } 50% { transform: skewX(-4deg) scaleY(1.02) } 100% { transform: skewX(-6deg) scaleY(0.98) } }
@keyframes mbs1-glow { 0% { opacity:0.7; transform:translate(-50%,50%) scale(1.1) } 50% { opacity:1; transform:translate(-50%,50%) scale(1.3) } 100% { opacity:0.8; transform:translate(-50%,50%) scale(1.15) } }
@keyframes mbs1-figure { 0% { transform: rotate(-2deg) translateX(0) } 50% { transform: rotate(-1deg) translateX(1px) } 100% { transform: rotate(-3deg) translateX(0) } }
@keyframes mbs1-table { 0% { transform: rotate(2deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-1px) } 100% { transform: rotate(3deg) translateY(0) } }
@keyframes mbs1-letter { 0% { transform: rotate(-10deg) translateY(0) } 25% { transform: rotate(-8deg) translateY(-2px) } 50% { transform: rotate(-12deg) translateY(0) } 75% { transform: rotate(-9deg) translateY(-1px) } 100% { transform: rotate(-10deg) translateY(0) } }

.scn-octavio-praises-inner-light {
  background: linear-gradient(180deg, #1a1410 0%, #2a1a14 40%, #3a2a1e 70%, #1e1612 100%), radial-gradient(ellipse at 50% 40%, #4a3020 0%, transparent 60%);
}
.scn-octavio-praises-inner-light .bg { position:absolute; inset:0; background: linear-gradient(135deg, #1a1210 0%, #2a1a16 50%, #1e1410 100%); animation: opi2-bg 14s ease-in-out infinite alternate; }
.scn-octavio-praises-inner-light .wall { position:absolute; top:0; left:0; right:0; bottom:40%; background: linear-gradient(180deg, #2a1e18 0%, #352822 50%, #2a1c16 100%); box-shadow: inset 0 0 80px rgba(0,0,0,0.4); animation: opi2-wall 10s ease-in-out infinite; }
.scn-octavio-praises-inner-light .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1e1612 0%, #16100c 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.5); animation: opi2-floor 8s ease-in-out infinite alternate; }
.scn-octavio-praises-inner-light .candle { position:absolute; bottom:56%; left:50%; width:8px; height:20px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a14 100%); border-radius: 2px; transform: translateX(-50%); animation: opi2-candle 5s ease-in-out infinite; }
.scn-octavio-praises-inner-light .glow { position:absolute; bottom:54%; left:50%; width:80px; height:80px; background: radial-gradient(circle, #f0b060 0%, #c08030 30%, transparent 70%); border-radius: 50%; transform: translate(-50%,50%) scale(1.3); animation: opi2-glow 4s ease-in-out infinite alternate; }
.scn-octavio-praises-inner-light .figure-left { position:absolute; bottom:36%; left:35%; width:24px; height:50px; background: linear-gradient(180deg, #1a1a22 0%, #2a2428 40%, #1e1e26 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(2deg) scale(1); animation: opi2-fig-l 9s ease-in-out infinite; }
.scn-octavio-praises-inner-light .figure-right { position:absolute; bottom:36%; right:35%; width:24px; height:50px; background: linear-gradient(180deg, #1a1a22 0%, #2a2428 40%, #1e1e26 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-2deg) scale(1); animation: opi2-fig-r 9s ease-in-out infinite 0.3s; }
.scn-octavio-praises-inner-light .table { position:absolute; bottom:38%; left:30%; right:30%; height:8px; background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius: 3px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: opi2-table 12s ease-in-out infinite alternate; }
@keyframes opi2-bg { 0% { opacity:0.85 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes opi2-wall { 0% { background:#2a1e18 } 50% { background:#30221c } 100% { background:#2a1e18 } }
@keyframes opi2-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes opi2-candle { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.04) } 100% { transform: translateX(-50%) scaleY(0.96) } }
@keyframes opi2-glow { 0% { opacity:0.8; transform:translate(-50%,50%) scale(1.2) } 50% { opacity:1; transform:translate(-50%,50%) scale(1.4) } 100% { opacity:0.85; transform:translate(-50%,50%) scale(1.25) } }
@keyframes opi2-fig-l { 0% { transform: rotate(2deg) translateX(0) } 50% { transform: rotate(1deg) translateX(1px) } 100% { transform: rotate(2deg) translateX(0) } }
@keyframes opi2-fig-r { 0% { transform: rotate(-2deg) translateX(0) } 50% { transform: rotate(-1deg) translateX(-1px) } 100% { transform: rotate(-2deg) translateX(0) } }
@keyframes opi2-table { 0% { transform: rotate(0deg) } 50% { transform: rotate(1deg) } 100% { transform: rotate(0deg) } }

.scn-octavio-reveals-plot {
  background: linear-gradient(180deg, #121a1e 0%, #1a2228 40%, #2a303a 70%, #161c22 100%), radial-gradient(ellipse at 40% 50%, #2a3240 0%, transparent 60%);
}
.scn-octavio-reveals-plot .bg { position:absolute; inset:0; background: linear-gradient(135deg, #0e1418 0%, #1a2024 50%, #12181c 100%); animation: orp3-bg 12s ease-in-out infinite alternate; }
.scn-octavio-reveals-plot .wall { position:absolute; top:0; left:0; right:0; bottom:38%; background: linear-gradient(180deg, #1c242e 0%, #242c36 50%, #1a222a 100%); box-shadow: inset 0 0 80px rgba(0,0,0,0.5); animation: orp3-wall 9s ease-in-out infinite; }
.scn-octavio-reveals-plot .floor { position:absolute; bottom:0; left:0; right:0; height:38%; background: linear-gradient(180deg, #141a1c 0%, #0e1214 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: orp3-floor 7s ease-in-out infinite alternate; }
.scn-octavio-reveals-plot .lamp { position:absolute; bottom:44%; left:32%; width:10px; height:16px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 1px 1px 4px 4px; transform: skewX(-3deg); animation: orp3-lamp 5s ease-in-out infinite; }
.scn-octavio-reveals-plot .glow { position:absolute; bottom:42%; left:32%; width:50px; height:50px; background: radial-gradient(circle, #d09050 0%, #a06020 40%, transparent 70%); border-radius: 50%; transform: translate(-50%,50%) scale(1.1); animation: orp3-glow 4s ease-in-out infinite alternate; }
.scn-octavio-reveals-plot .figure-left { position:absolute; bottom:34%; left:50%; width:22px; height:46px; background: linear-gradient(180deg, #1a1e26 0%, #262c34 40%, #1e222a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(1deg); animation: orp3-fig-l 8s ease-in-out infinite; }
.scn-octavio-reveals-plot .figure-right { position:absolute; bottom:34%; left:30%; width:22px; height:46px; background: linear-gradient(180deg, #1a1e26 0%, #262c34 40%, #1e222a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-3deg) scaleX(1.05); animation: orp3-fig-r 8s ease-in-out infinite 0.2s; }
.scn-octavio-reveals-plot .document { position:absolute; bottom:46%; left:46%; width:16px; height:12px; background: #c8b8a0; border-radius: 1px; box-shadow: 0 1px 2px rgba(0,0,0,0.4); transform: rotate(5deg); animation: orp3-doc 10s ease-in-out infinite; }
.scn-octavio-reveals-plot .hand { position:absolute; bottom:38%; left:38%; width:8px; height:14px; background: #2a2a34; border-radius: 30% 30% 20% 20%; transform: rotate(20deg); animation: orp3-hand 6s ease-in-out infinite; }
@keyframes orp3-bg { 0% { opacity:0.85 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes orp3-wall { 0% { background:#1c242e } 50% { background:#202832 } 100% { background:#1a222a } }
@keyframes orp3-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes orp3-lamp { 0% { transform: skewX(-3deg) scaleY(1) } 50% { transform: skewX(-2deg) scaleY(1.03) } 100% { transform: skewX(-4deg) scaleY(0.97) } }
@keyframes orp3-glow { 0% { opacity:0.7; transform:translate(-50%,50%) scale(1.0) } 50% { opacity:1; transform:translate(-50%,50%) scale(1.2) } 100% { opacity:0.8; transform:translate(-50%,50%) scale(1.05) } }
@keyframes orp3-fig-l { 0% { transform: rotate(1deg) translateX(0) } 50% { transform: rotate(2deg) translateX(1px) } 100% { transform: rotate(1deg) translateX(0) } }
@keyframes orp3-fig-r { 0% { transform: rotate(-3deg) scaleX(1.05) translateX(0) } 50% { transform: rotate(-2deg) scaleX(1.05) translateX(-2px) } 100% { transform: rotate(-3deg) scaleX(1.05) translateX(0) } }
@keyframes orp3-doc { 0% { transform: rotate(5deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(5deg) } }
@keyframes orp3-hand { 0% { transform: rotate(20deg) translateY(0) } 50% { transform: rotate(18deg) translateY(-2px) } 100% { transform: rotate(20deg) translateY(0) } }

.scn-octavio-suspicion {
  background: linear-gradient(180deg, #0e1a1e 0%, #142028 40%, #1a2832 70%, #101a20 100%), radial-gradient(ellipse at 30% 50%, #1e2a34 0%, transparent 60%);
}
.scn-octavio-suspicion .bg { position:absolute; inset:0; background: linear-gradient(135deg, #0a1418 0%, #162024 50%, #0e181c 100%); animation: osu4-bg 15s ease-in-out infinite alternate; }
.scn-octavio-suspicion .wall { position:absolute; top:0; left:0; right:0; bottom:36%; background: linear-gradient(180deg, #18222c 0%, #202c36 50%, #141e28 100%); box-shadow: inset 0 0 80px rgba(0,0,0,0.5); animation: osu4-wall 11s ease-in-out infinite; }
.scn-octavio-suspicion .floor { position:absolute; bottom:0; left:0; right:0; height:36%; background: linear-gradient(180deg, #121a1c 0%, #0c1214 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); animation: osu4-floor 9s ease-in-out infinite alternate; }
.scn-octavio-suspicion .window { position:absolute; top:18%; right:20%; width:24px; height:40px; background: #3a4a5a; border: 2px solid #1a222a; border-radius: 2px; box-shadow: inset 0 0 20px rgba(180,200,220,0.2); animation: osu4-window 6s ease-in-out infinite; }
.scn-octavio-suspicion .light-beam { position:absolute; top:18%; right:20%; width:8px; height:70px; background: linear-gradient(180deg, rgba(200,220,240,0.3) 0%, transparent 100%); transform: rotate(10deg) translateX(-30px); animation: osu4-beam 12s ease-in-out infinite alternate; }
.scn-octavio-suspicion .figure-left { position:absolute; bottom:32%; left:35%; width:22px; height:48px; background: linear-gradient(180deg, #121a22 0%, #1c262e 40%, #161e26 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-1deg); animation: osu4-fig-l 10s ease-in-out infinite; }
.scn-octavio-suspicion .figure-right { position:absolute; bottom:32%; right:35%; width:22px; height:48px; background: linear-gradient(180deg, #121a22 0%, #1c262e 40%, #161e26 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(2deg) scaleX(0.95); animation: osu4-fig-r 10s ease-in-out infinite 0.4s; }
@keyframes osu4-bg { 0% { opacity:0.85 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes osu4-wall { 0% { background:#18222c } 50% { background:#1c2630 } 100% { background:#141e28 } }
@keyframes osu4-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes osu4-window { 0% { box-shadow: inset 0 0 20px rgba(180,200,220,0.15) } 50% { box-shadow: inset 0 0 20px rgba(180,200,220,0.3) } 100% { box-shadow: inset 0 0 20px rgba(180,200,220,0.15) } }
@keyframes osu4-beam { 0% { opacity:0.2; transform: rotate(10deg) translateX(-30px) } 50% { opacity:0.4; transform: rotate(8deg) translateX(-28px) } 100% { opacity:0.2; transform: rotate(12deg) translateX(-32px) } }
@keyframes osu4-fig-l { 0% { transform: rotate(-1deg) translateX(0) } 50% { transform: rotate(0deg) translateX(2px) } 100% { transform: rotate(-1deg) translateX(0) } }
@keyframes osu4-fig-r { 0% { transform: rotate(2deg) scaleX(0.95) translateX(0) } 50% { transform: rotate(1deg) scaleX(0.95) translateX(-2px) } 100% { transform: rotate(2deg) scaleX(0.95) translateX(0) } }

/* illo-powerful-souls-kin – dim interior, tense mood */

.scn-illo-powerful-souls-kin {
  background: 
    linear-gradient(180deg, #1b1b30 0%, #2a2a4a 50%, #1a1a30 100%),
    radial-gradient(ellipse at 50% 100%, #3a3a60 0%, transparent 70%);
}
.scn-illo-powerful-souls-kin .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a2a44 0%, #1a1a2e 100%);
  animation: ips-wall 15s ease-in-out infinite alternate;
}
.scn-illo-powerful-souls-kin .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #1e1e2a 0%, #11111a 100%);
  border-radius: 30% 70% 0 0 / 40% 60% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
  animation: ips-floor 20s ease-in-out infinite alternate;
}
.scn-illo-powerful-souls-kin .arch {
  position: absolute; bottom: 35%; left: 35%; width: 30%; height: 45%;
  background: radial-gradient(ellipse at bottom, #2a2a44 0%, #1a1a2e 70%);
  border: 2px solid #3a3a5a;
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
  transform: translateX(-50%);
}
.scn-illo-powerful-souls-kin .shadow-figure {
  position: absolute; bottom: 20%; left: 45%;
  width: 22px; height: 60px;
  background: linear-gradient(180deg, #0f0f1a 0%, #05050a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: ips-shadow 4s ease-in-out infinite;
}
.scn-illo-powerful-souls-kin .glow {
  position: absolute; bottom: 30%; left: 38%;
  width: 12px; height: 12px;
  background: radial-gradient(circle, #c8b060 0%, #907030 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px #b09050, 0 0 50px 12px rgba(176,144,80,0.4);
  animation: ips-glow 3s ease-in-out infinite alternate;
}
.scn-illo-powerful-souls-kin .dust {
  position: absolute; top: 10%; left: 20%;
  width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(200,200,200,0.1) 0%, transparent 70%);
  filter: blur(10px);
  animation: ips-dust 30s linear infinite;
}
@keyframes ips-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes ips-floor { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(2px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes ips-shadow { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(6px) rotate(1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-6px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes ips-glow { 0% { box-shadow: 0 0 15px 4px #b09050, 0 0 35px 8px rgba(176,144,80,0.3); opacity:0.8 } 50% { box-shadow: 0 0 30px 10px #e0c060, 0 0 60px 16px rgba(224,192,96,0.5); opacity:1 } 100% { box-shadow: 0 0 20px 6px #b09050, 0 0 45px 10px rgba(176,144,80,0.35); opacity:0.9 } }
@keyframes ips-dust { 0% { transform: rotate(0deg) translateX(0) } 33% { transform: rotate(120deg) translateX(80px) } 66% { transform: rotate(240deg) translateX(60px) } 100% { transform: rotate(360deg) translateX(0) } }

/* tertsky-spoken-like-man – warm dim interior */

.scn-tertsky-spoken-like-man {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a1008 100%),
    radial-gradient(ellipse at 50% 30%, #6a4a2a 0%, transparent 70%);
}
.scn-tertsky-spoken-like-man .bg-wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  animation: tsm-wall 12s ease-in-out infinite alternate;
}
.scn-tertsky-spoken-like-man .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #2a1a08 0%, #1a0e04 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
  animation: tsm-floor 18s ease-in-out infinite;
}
.scn-tertsky-spoken-like-man .table {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 25%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2008 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.5), inset 0 2px 6px rgba(200,160,100,0.1);
  transform: perspective(600px) rotateX(10deg);
}
.scn-tertsky-spoken-like-man .chair {
  position: absolute; bottom: 10%; left: 45%;
  width: 12%; height: 30%;
  background: linear-gradient(180deg, #4a2a0a 0%, #2a1404 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  animation: tsm-chair 5s ease-in-out infinite alternate;
}
.scn-tertsky-spoken-like-man .lantern {
  position: absolute; bottom: 35%; left: 48%;
  width: 16px; height: 24px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #b08040 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px #d09050, 0 0 60px 20px rgba(208,144,80,0.4);
  animation: tsm-lantern 4s ease-in-out infinite alternate;
}
.scn-tertsky-spoken-like-man .figure {
  position: absolute; bottom: 8%; left: 55%;
  width: 24px; height: 70px;
  background: linear-gradient(180deg, #2a1a08 0%, #0a0502 100%);
  border-radius: 50% 50% 45% 45% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: tsm-figure 6s ease-in-out infinite;
}
.scn-tertsky-spoken-like-man .tankard {
  position: absolute; bottom: 20%; left: 42%;
  width: 14px; height: 20px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: tsm-tankard 7s ease-in-out infinite alternate;
}
@keyframes tsm-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tsm-floor { 0% { transform: translateY(0) } 50% { transform: translateY(2px) } 100% { transform: translateY(-1px) } }
@keyframes tsm-chair { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes tsm-lantern { 0% { box-shadow: 0 0 20px 6px #d09050, 0 0 40px 12px rgba(208,144,80,0.3); opacity:0.9 } 50% { box-shadow: 0 0 40px 15px #e0a060, 0 0 80px 25px rgba(224,160,96,0.5); opacity:1 } 100% { box-shadow: 0 0 25px 8px #d09050, 0 0 50px 15px rgba(208,144,80,0.35); opacity:0.9 } }
@keyframes tsm-figure { 0% { transform: translateX(0) rotate(-1deg) } 30% { transform: translateX(8px) rotate(1deg) } 60% { transform: translateX(-4px) rotate(0deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes tsm-tankard { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(1.05) } 100% { transform: translateY(0) scale(1) } }

/* wine-cellar-murmur – firelit, tense */

.scn-wine-cellar-murmur {
  background: 
    linear-gradient(180deg, #1a0a00 0%, #2a1000 40%, #1a0800 100%),
    radial-gradient(ellipse at 70% 50%, #4a2a10 0%, transparent 60%);
}
.scn-wine-cellar-murmur .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1508 0%, #0a0500 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.8);
  animation: wcm-wall 14s ease-in-out infinite alternate;
}
.scn-wine-cellar-murmur .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a0e04 0%, #0a0400 100%);
  border-radius: 30% 70% 0 0 / 20% 80% 0 0;
  box-shadow: inset 0 6px 20px rgba(0,0,0,0.7);
}
.scn-wine-cellar-murmur .barrel-a {
  position: absolute; bottom: 25%; left: 10%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 60%, #4a2a12 0%, #2a1408 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.6);
  transform: rotate(-5deg);
  animation: wcm-barrel 10s ease-in-out infinite;
}
.scn-wine-cellar-murmur .barrel-b {
  position: absolute; bottom: 20%; right: 12%; width: 25%; height: 35%;
  background: radial-gradient(ellipse at 50% 50%, #3a1a0a 0%, #1a0a04 100%);
  border-radius: 15% 15% 8% 8%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: rotate(3deg);
  animation: wcm-barrel 12s ease-in-out infinite alternate-reverse;
}
.scn-wine-cellar-murmur .fire-source {
  position: absolute; bottom: 10%; left: 50%;
  width: 30px; height: 45px;
  background: radial-gradient(circle at 50% 30%, #ff8030 0%, #b05020 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 0 50px 20px #e06020, 0 0 100px 40px rgba(224,96,32,0.4);
  animation: wcm-fire 2s ease-in-out infinite alternate;
}
.scn-wine-cellar-murmur .bottle {
  position: absolute; bottom: 30%; left: 48%;
  width: 8px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform: rotate(10deg);
  animation: wcm-bottle 6s ease-in-out infinite alternate;
}
.scn-wine-cellar-murmur .cellar-figure {
  position: absolute; bottom: 8%; left: 30%;
  width: 22px; height: 55px;
  background: linear-gradient(180deg, #1a0a04 0%, #0a0200 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wcm-figure 5s ease-in-out infinite;
}
.scn-wine-cellar-murmur .cellar-shadow {
  position: absolute; bottom: 0; left: 25%; width: 50%; height: 15%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(8px);
  animation: wcm-shadow 8s ease-in-out infinite alternate;
}
@keyframes wcm-wall { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes wcm-barrel { 0% { transform: rotate(-5deg) scale(1) } 50% { transform: rotate(-2deg) scale(1.02) } 100% { transform: rotate(-8deg) scale(0.98) } }
@keyframes wcm-fire { 0% { transform: scaleY(1) scaleX(0.9); opacity:0.9 } 50% { transform: scaleY(1.2) scaleX(1); opacity:1 } 100% { transform: scaleY(0.9) scaleX(1.1); opacity:0.9 } }
@keyframes wcm-bottle { 0% { transform: rotate(10deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(15deg) } }
@keyframes wcm-figure { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(5px) rotate(1deg) } 50% { transform: translateX(-3px) rotate(0deg) } 75% { transform: translateX(8px) rotate(-2deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes wcm-shadow { 0% { opacity:0.6; transform: scaleX(1) } 50% { opacity:0.8; transform: scaleX(1.1) } 100% { opacity:0.5; transform: scaleX(0.9) } }

/* cellar-wine-bodes-ill – dark, firelit */

.scn-cellar-wine-bodes-ill {
  background: 
    linear-gradient(180deg, #0a0500 0%, #1a0800 30%, #0a0200 100%),
    radial-gradient(ellipse at 60% 20%, #3a1a05 0%, transparent 60%);
}
.scn-cellar-wine-bodes-ill .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a0a02 0%, #050200 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.9);
  animation: cwi-wall 16s ease-in-out infinite alternate;
}
.scn-cellar-wine-bodes-ill .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #0e0502 0%, #030100 100%);
  border-radius: 0 0 15% 15% / 0 0 8% 8%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.8);
}
.scn-cellar-wine-bodes-ill .barrel {
  position: absolute; bottom: 20%; left: 15%; width: 28%; height: 45%;
  background: radial-gradient(ellipse at 50% 40%, #3a1a08 0%, #1a0a02 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.7);
  transform: rotate(2deg);
  animation: cwi-barrel 9s ease-in-out infinite alternate;
}
.scn-cellar-wine-bodes-ill .flask {
  position: absolute; bottom: 25%; left: 50%;
  width: 12px; height: 35px;
  background: linear-gradient(180deg, #5a3a1a 0%, #2a1408 100%);
  border-radius: 40% 40% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  transform: rotate(15deg);
  animation: cwi-flask 7s ease-in-out infinite;
}
.scn-cellar-wine-bodes-ill .flame {
  position: absolute; bottom: 32%; left: 48%;
  width: 8px; height: 20px;
  background: radial-gradient(circle at 50% 0%, #ff7030 0%, #c04010 70%);
  border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%;
  box-shadow: 0 0 25px 8px #d05020, 0 0 50px 18px rgba(208,80,32,0.4);
  animation: cwi-flame 1.5s ease-in-out infinite alternate;
}
.scn-cellar-wine-bodes-ill .figure {
  position: absolute; bottom: 5%; left: 35%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #0a0502 0%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cwi-figure 6s ease-in-out infinite;
}
.scn-cellar-wine-bodes-ill .shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 20%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 70%);
  filter: blur(10px);
  animation: cwi-shadow 10s ease-in-out infinite alternate;
}
.scn-cellar-wine-bodes-ill .shelves {
  position: absolute; top: 10%; right: 5%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #2a1a08 0%, #1a0a04 100%);
  border-radius: 4px;
  box-shadow: inset 0 2px 4px rgba(200,160,80,0.1);
  transform: skewY(-2deg);
  animation: cwi-shelves 20s ease-in-out infinite;
}
@keyframes cwi-wall { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.75 } }
@keyframes cwi-barrel { 0% { transform: rotate(2deg) scale(1) } 50% { transform: rotate(0deg) scale(1.02) } 100% { transform: rotate(4deg) scale(0.98) } }
@keyframes cwi-flask { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(10deg) translateY(-2px) } 100% { transform: rotate(20deg) translateY(0) } }
@keyframes cwi-flame { 0% { transform: scaleY(1) scaleX(0.8); opacity:0.8 } 50% { transform: scaleY(1.3) scaleX(1); opacity:1 } 100% { transform: scaleY(0.9) scaleX(1.2); opacity:0.85 } }
@keyframes cwi-figure { 0% { transform: translateX(0) rotate(-1deg) } 30% { transform: translateX(6px) rotate(1deg) } 60% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes cwi-shadow { 0% { opacity:0.6; transform: scaleX(1) } 50% { opacity:0.9; transform: scaleX(1.15) } 100% { opacity:0.5; transform: scaleX(0.85) } }
@keyframes cwi-shelves { 0% { transform: skewY(-2deg) translateY(0) } 50% { transform: skewY(-1deg) translateY(-3px) } 100% { transform: skewY(-3deg) translateY(0) } }

.scn-max-rent-in-heart {
  background: linear-gradient(180deg, #1a1820 0%, #2a2228 40%, #1e1a24 100%),
              radial-gradient(ellipse at 50% 20%, #3a2a3a 0%, transparent 60%);
}
.scn-max-rent-in-heart .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a2830 0%, transparent 100%);
  animation: mrh-bg 14s ease-in-out infinite alternate;
}
.scn-max-rent-in-heart .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1e1a1a 0%, #2a2424 60%, #322c2c 100%);
  box-shadow: inset 0 12px 20px rgba(0,0,0,0.6);
}
.scn-max-rent-in-heart .window-frame {
  position: absolute; top: 12%; left: 60%; width: 30%; height: 40%;
  border: 4px solid #4a3a3a;
  background: linear-gradient(135deg, #2a2a3a 0%, #3a3a4a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: mrh-window 9s ease-in-out infinite alternate;
}
.scn-max-rent-in-heart .figure {
  position: absolute; bottom: 28%; left: 30%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1a1a22 0%, #0e0e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mrh-figure 5s ease-in-out infinite;
}
.scn-max-rent-in-heart .heart-crack {
  position: absolute; bottom: 40%; left: 30%; width: 14px; height: 16px;
  background: radial-gradient(circle, #b85a3a 0%, #5e2a1a 60%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  box-shadow: 0 0 20px 6px #b85a3a, 0 0 40px 12px rgba(184,90,58,0.4);
  animation: mrh-heart 3s ease-in-out infinite alternate;
}
.scn-max-rent-in-heart .lantern {
  position: absolute; bottom: 34%; left: 55%; width: 8px; height: 12px;
  background: radial-gradient(circle, #f0c060 0%, #d09040 50%, transparent 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 30px 8px #d09040, 0 0 60px 18px rgba(208,144,64,0.3);
  animation: mrh-lantern 3s ease-in-out infinite alternate;
}
.scn-max-rent-in-heart .dust-a,
.scn-max-rent-in-heart .dust-b {
  position: absolute; width: 4px; height: 4px;
  background: rgba(255,255,240,0.2);
  border-radius: 50%;
  filter: blur(2px);
}
.scn-max-rent-in-heart .dust-a {
  top: 20%; left: 20%;
  animation: mrh-dust 25s linear infinite;
}
.scn-max-rent-in-heart .dust-b {
  top: 35%; left: 70%;
  animation: mrh-dust 30s linear infinite reverse;
}
@keyframes mrh-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes mrh-window { 0% { transform: scaleY(1); box-shadow: inset 0 0 20px rgba(0,0,0,0.5); } 50% { transform: scaleY(0.98); box-shadow: inset 0 0 30px rgba(0,0,0,0.7); } 100% { transform: scaleY(1); } }
@keyframes mrh-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(0.5deg); } 50% { transform: translateX(0) translateY(0) rotate(1deg); } 75% { transform: translateX(-2px) translateY(-1px) rotate(-0.5deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes mrh-heart { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.05) rotate(2deg); } 100% { opacity:0.85; transform: scale(1); } }
@keyframes mrh-lantern { 0% { opacity:0.7; transform: rotate(-2deg); } 50% { opacity:1; transform: rotate(2deg) scale(1.02); } 100% { opacity:0.8; transform: rotate(-1deg); } }
@keyframes mrh-dust { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:0.4; } 90% { opacity:0.2; } 100% { transform: translate(40px, -20px); opacity:0; } }

.scn-max-bleeding-soul {
  background: linear-gradient(180deg, #141218 0%, #1a1a24 30%, #0e0c14 100%),
              radial-gradient(ellipse at 30% 60%, #2a1a1a 0%, transparent 60%);
}
.scn-max-bleeding-soul .bg-deep {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1e1c24 0%, transparent 100%);
  animation: mbs-bg 12s ease-in-out infinite alternate;
}
.scn-max-bleeding-soul .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #1a1414 0%, #241e1e 100%);
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.7);
}
.scn-max-bleeding-soul .blood-pool {
  position: absolute; bottom: 12%; left: 40%; width: 60px; height: 10px;
  background: radial-gradient(ellipse, #5e1a1d 0%, #3a0e10 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: mbs-pool 8s ease-in-out infinite alternate;
}
.scn-max-bleeding-soul .figure-kneel {
  position: absolute; bottom: 22%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1820 0%, #0e0c12 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mbs-kneel 6s ease-in-out infinite;
}
.scn-max-bleeding-soul .candle {
  position: absolute; bottom: 28%; left: 55%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #f0d080 0%, #c09040 100%);
  border-radius: 20% 20% 10% 10%;
  animation: mbs-candle 4s ease-in-out infinite alternate;
}
.scn-max-bleeding-soul .candle-glow {
  position: absolute; bottom: 25%; left: 52%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(240,208,128,0.5) 0%, rgba(192,144,64,0.2) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: mbs-glow 3s ease-in-out infinite alternate;
}
.scn-max-bleeding-soul .shadow {
  position: absolute; bottom: 22%; left: 32%; width: 28px; height: 14px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: mbs-shadow 6s ease-in-out infinite alternate;
}
@keyframes mbs-bg { 0% { opacity:0.8 } 50% { opacity:0.95 } 100% { opacity:0.85 } }
@keyframes mbs-pool { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.02); } 100% { opacity:0.75; transform: scale(0.98); } }
@keyframes mbs-kneel { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(1px) translateY(-1px) rotate(0deg); } 50% { transform: translateX(0) translateY(0) rotate(2deg); } 75% { transform: translateX(-1px) translateY(-1px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(-2deg); } }
@keyframes mbs-candle { 0% { transform: scaleY(1) rotate(-1deg); } 50% { transform: scaleY(0.95) rotate(1deg); } 100% { transform: scaleY(1) rotate(0deg); } }
@keyframes mbs-glow { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes mbs-shadow { 0% { opacity:0.6; } 50% { opacity:0.8; } 100% { opacity:0.7; } }

.scn-max-will-justify-misbelief {
  background: linear-gradient(180deg, #1a1a24 0%, #2a2a34 30%, #141420 100%),
              radial-gradient(ellipse at 40% 50%, #3a3a4a 0%, transparent 70%);
}
.scn-max-will-justify-misbelief .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2a34 0%, #1e1e28 50%, transparent 100%);
  animation: mwm-wall 15s ease-in-out infinite alternate;
}
.scn-max-will-justify-misbelief .window-bars {
  position: absolute; top: 10%; left: 55%; width: 25%; height: 35%;
  border: 3px solid #4a4a4a;
  background: linear-gradient(135deg, #1a1a24 0%, #2e2e3a 100%);
  box-shadow: inset 0 0 15px rgba(0,0,0,0.5);
  animation: mwm-bars 10s ease-in-out infinite alternate;
}
.scn-max-will-justify-misbelief .desk {
  position: absolute; bottom: 20%; left: 25%; width: 40%; height: 8%;
  background: linear-gradient(0deg, #3a2a1a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
}
.scn-max-will-justify-misbelief .book {
  position: absolute; bottom: 26%; left: 30%; width: 12%; height: 14%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px 20px 20px 2px;
  transform: rotate(-5deg);
  animation: mwm-book 8s ease-in-out infinite alternate;
}
.scn-max-will-justify-misbelief .figure-sit {
  position: absolute; bottom: 26%; left: 35%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #1a1a22 0%, #0e0e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwm-sit 6s ease-in-out infinite;
}
.scn-max-will-justify-misbelief .lamp {
  position: absolute; bottom: 30%; left: 60%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 30% 30% 10% 10%;
  transform-origin: bottom center;
  animation: mwm-lamp 5s ease-in-out infinite alternate;
}
.scn-max-will-justify-misbelief .lamp-glow {
  position: absolute; bottom: 28%; left: 57%; width: 24px; height: 24px;
  background: radial-gradient(circle, rgba(192,160,96,0.5) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: mwm-lamp-glow 3s ease-in-out infinite alternate;
}
.scn-max-will-justify-misbelief .paper {
  position: absolute; bottom: 24%; left: 28%; width: 8%; height: 6%;
  background: linear-gradient(180deg, #b0a090 0%, #908070 100%);
  border-radius: 2px;
  transform: rotate(15deg);
  animation: mwm-paper 12s ease-in-out infinite alternate;
}
@keyframes mwm-bg { 0% { opacity:0.8 } 50% { opacity:0.9 } 100% { opacity:0.85 } }
@keyframes mwm-bars { 0% { transform: scaleY(1); box-shadow: inset 0 0 15px rgba(0,0,0,0.5); } 50% { transform: scaleY(0.97); box-shadow: inset 0 0 25px rgba(0,0,0,0.7); } 100% { transform: scaleY(1); } }
@keyframes mwm-book { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes mwm-sit { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(1px) rotate(0deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-1px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes mwm-lamp { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg) scale(1.01); } 100% { transform: rotate(-2deg); } }
@keyframes mwm-lamp-glow { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes mwm-paper { 0% { opacity:0.6; transform: rotate(15deg); } 50% { opacity:0.9; transform: rotate(12deg) scale(1.02); } 100% { opacity:0.7; transform: rotate(15deg); } }

.scn-wallenstein-avoid-extreme {
  background: linear-gradient(180deg, #0e0e14 0%, #1a1a24 40%, #08080c 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a3a 0%, transparent 60%);
}
.scn-wallenstein-avoid-extreme .void {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a1a24 0%, transparent 100%);
  animation: wae-void 18s ease-in-out infinite alternate;
}
.scn-wallenstein-avoid-extreme .pit {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #0a0a0a 0%, #14141c 60%, transparent 100%);
  box-shadow: inset 0 30px 40px rgba(0,0,0,0.8);
}
.scn-wallenstein-avoid-extreme .plank {
  position: absolute; bottom: 38%; left: 20%; width: 60%; height: 4%;
  background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.5);
  animation: wae-plank 8s ease-in-out infinite alternate;
}
.scn-wallenstein-avoid-extreme .figure-balance {
  position: absolute; bottom: 38%; left: 45%; width: 16px; height: 50px;
  background: linear-gradient(180deg, #1a1a22 0%, #0e0e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wae-balance 4s ease-in-out infinite;
}
.scn-wallenstein-avoid-extreme .lantern-held {
  position: absolute; bottom: 44%; left: 44%; width: 6px; height: 10px;
  background: radial-gradient(circle, #f0c060 0%, #d09040 50%, transparent 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 6px #d09040, 0 0 40px 12px rgba(208,144,64,0.3);
  animation: wae-lantern 3s ease-in-out infinite alternate;
}
.scn-wallenstein-avoid-extreme .rock-fall {
  position: absolute; top: 10%; left: 70%; width: 10px; height: 10px;
  background: radial-gradient(circle, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 60% 60% 40%;
  animation: wae-rock 6s linear infinite;
}
.scn-wallenstein-avoid-extreme .dust-c,
.scn-wallenstein-avoid-extreme .dust-d {
  position: absolute; width: 3px; height: 3px;
  background: rgba(255,255,240,0.15);
  border-radius: 50%;
  filter: blur(1px);
}
.scn-wallenstein-avoid-extreme .dust-c {
  top: 30%; left: 30%;
  animation: wae-dust 20s linear infinite;
}
.scn-wallenstein-avoid-extreme .dust-d {
  top: 40%; left: 60%;
  animation: wae-dust 25s linear infinite reverse;
}
@keyframes wae-void { 0% { opacity:0.7 } 50% { opacity:0.9 } 100% { opacity:0.8 } }
@keyframes wae-plank { 0% { transform: rotate(-2deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(2deg); } }
@keyframes wae-balance { 0% { transform: translateX(0) rotate(-3deg); } 25% { transform: translateX(2px) rotate(-1deg); } 50% { transform: translateX(0) rotate(3deg); } 75% { transform: translateX(-2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes wae-lantern { 0% { opacity:0.7; transform: rotate(-4deg); } 50% { opacity:1; transform: rotate(4deg) scale(1.03); } 100% { opacity:0.8; transform: rotate(-3deg); } }
@keyframes wae-rock { 0% { transform: translateY(-30px) rotate(0deg); opacity:0; } 10% { opacity:0.6; } 90% { opacity:0.2; } 100% { transform: translateY(100vh) rotate(720deg); opacity:0; } }
@keyframes wae-dust { 0% { transform: translate(0,0); opacity:0; } 10% { opacity:0.3; } 90% { opacity:0.1; } 100% { transform: translate(20px, -30px); opacity:0; } }

.scn-octavio-reassurance {
  background:
    linear-gradient(180deg, #2c2a3a 0%, #1f1d2b 50%, #15131e 100%),
    radial-gradient(ellipse at 50% 100%, #2a2738 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-octavio-reassurance .bg-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2c2a3a 0%, #1f1d2b 100%);
  animation: orc-bg 15s ease-in-out infinite alternate;
}
.scn-octavio-reassurance .window {
  position: absolute;
  top: 8%;
  left: 12%;
  width: 28%;
  height: 22%;
  background: linear-gradient(180deg, #2a334a 0%, #1c2438 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(200,200,255,.1);
  animation: orc-window 20s ease infinite alternate;
}
.scn-octavio-reassurance .curtain-a,
.scn-octavio-reassurance .curtain-b {
  position: absolute;
  top: 8%;
  width: 10%;
  height: 20%;
  background: linear-gradient(180deg, #3a2e2a 0%, #1e1613 100%);
  border-radius: 10% 10% 6% 6% / 20% 20% 10% 10%;
  filter: blur(2px);
  animation: orc-curtain 6s ease-in-out infinite alternate;
}
.scn-octavio-reassurance .curtain-a { left: 10%; }
.scn-octavio-reassurance .curtain-b { right: 22%; animation-delay: -3s; }
.scn-octavio-reassurance .table {
  position: absolute;
  bottom: 18%;
  left: 35%;
  width: 30%;
  height: 6%;
  background: linear-gradient(180deg, #4a3d30 0%, #2d221a 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: orc-table 8s ease-in-out infinite;
}
.scn-octavio-reassurance .candle {
  position: absolute;
  bottom: 24%;
  left: 48%;
  width: 2.5%;
  height: 8%;
  background: linear-gradient(180deg, #d4c8a0 0%, #8a7a5a 100%);
  border-radius: 12% 12% 10% 10%;
  transform: translateX(-50%);
}
.scn-octavio-reassurance .flame {
  position: absolute;
  bottom: 33%;
  left: 49%;
  width: 2.2%;
  height: 5%;
  background: radial-gradient(circle, #ffd080 0%, #f0a030 60%, #c06000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 30px 8px #f0a030, 0 0 60px 18px rgba(240,160,48,.3);
  animation: orc-flame 0.8s ease-in-out infinite alternate;
}
.scn-octavio-reassurance .figure-seated {
  position: absolute;
  bottom: 18%;
  left: 40%;
  width: 10%;
  height: 14%;
  background: linear-gradient(180deg, #1f1d2a 0%, #0f0e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: orc-seated 4s ease-in-out infinite;
}
.scn-octavio-reassurance .figure-standing {
  position: absolute;
  bottom: 18%;
  left: 58%;
  width: 8%;
  height: 18%;
  background: linear-gradient(180deg, #262433 0%, #12101a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: orc-standing 3s ease-in-out infinite alternate;
}

@keyframes orc-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes orc-window { 0% { opacity: 0.7; filter: brightness(0.8); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: 0.8; filter: brightness(0.9); } }
@keyframes orc-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(-4px) rotate(-2deg); } 100% { transform: translateX(2px) rotate(1deg); } }
@keyframes orc-table { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-1px) scaleY(0.98); } }
@keyframes orc-flame { 0% { transform: scaleY(1) translateY(0); opacity: 0.9; } 50% { transform: scaleY(1.08) translateY(-3px); opacity: 1; } 100% { transform: scaleY(0.95) translateY(0); opacity: 0.85; } }
@keyframes orc-seated { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(-1deg); } 100% { transform: translateX(-1px) rotate(0.5deg); } }
@keyframes orc-standing { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(1.5deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }

.scn-octavio-hypocrisy-defended {
  background:
    linear-gradient(180deg, #1c1823 0%, #14101a 50%, #0d0a12 100%),
    radial-gradient(ellipse at 30% 60%, #2a243a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-octavio-hypocrisy-defended .bg-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #1c1823 0%, #0d0a12 100%);
  animation: ohd-bg 8s ease-in-out infinite alternate;
}
.scn-octavio-hypocrisy-defended .desk {
  position: absolute;
  bottom: 15%;
  left: 25%;
  width: 50%;
  height: 5%;
  background: linear-gradient(180deg, #3a2f28 0%, #1f1814 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 8px 16px rgba(0,0,0,.7);
}
.scn-octavio-hypocrisy-defended .chair {
  position: absolute;
  bottom: 15%;
  left: 32%;
  width: 7%;
  height: 12%;
  background: linear-gradient(180deg, #2d231e 0%, #140f0c 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 15% 15%;
  transform-origin: bottom center;
  animation: ohd-chair 2.5s ease-in-out infinite alternate;
}
.scn-octavio-hypocrisy-defended .figure-pointing {
  position: absolute;
  bottom: 14%;
  left: 50%;
  width: 9%;
  height: 20%;
  background: linear-gradient(180deg, #221e2e 0%, #100c18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: right center;
  animation: ohd-point 1.2s ease-in-out infinite;
}
.scn-octavio-hypocrisy-defended .figure-recoiling {
  position: absolute;
  bottom: 15%;
  left: 65%;
  width: 7%;
  height: 15%;
  background: linear-gradient(180deg, #1b1725 0%, #0b0912 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: left center;
  animation: ohd-recoil 1s ease-in-out infinite alternate;
}
.scn-octavio-hypocrisy-defended .lamp {
  position: absolute;
  top: 6%;
  left: 45%;
  width: 3%;
  height: 10%;
  background: linear-gradient(180deg, #b09868 0%, #6a5430 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: top center;
  animation: ohd-lamp 0.6s ease-in-out infinite alternate;
}
.scn-octavio-hypocrisy-defended .shadow-arm {
  position: absolute;
  bottom: 25%;
  left: 45%;
  width: 12%;
  height: 4%;
  background: linear-gradient(90deg, transparent 0%, #0a080e 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: ohd-arm 1.5s ease-in-out infinite;
}
.scn-octavio-hypocrisy-defended .document {
  position: absolute;
  bottom: 12%;
  left: 55%;
  width: 6%;
  height: 4%;
  background: linear-gradient(180deg, #5a4a38 0%, #2e221a 100%);
  border-radius: 4%;
  transform: rotate(-10deg);
  animation: ohd-doc 4s ease-in-out infinite;
}

@keyframes ohd-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes ohd-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(1deg) translateX(-1px); } }
@keyframes ohd-point { 0% { transform: rotate(0deg) translateX(0); } 30% { transform: rotate(-15deg) translateX(5px); } 60% { transform: rotate(-10deg) translateX(3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes ohd-recoil { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-8px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ohd-lamp { 0% { transform: rotate(0deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(-3deg); } }
@keyframes ohd-arm { 0% { opacity: 0.3; transform: scaleY(1); } 50% { opacity: 0.7; transform: scaleY(1.3); } 100% { opacity: 0.3; transform: scaleY(1); } }
@keyframes ohd-doc { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } }

.scn-lützen-morning-dream {
  background:
    linear-gradient(180deg, #d4a56a 0%, #b57a48 30%, #7a4a2a 60%, #3a2515 100%),
    radial-gradient(ellipse at 50% 0%, #f0c080 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-lützen-morning-dream .sky-dawn {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #fad6a0 0%, #c88a4a 40%, #7a4a2a 70%, #2d1a0e 100%);
  animation: lmd-sky 12s ease-in-out infinite alternate;
}
.scn-lützen-morning-dream .sun-glow {
  position: absolute;
  top: 5%;
  left: 20%;
  width: 20%;
  height: 20%;
  background: radial-gradient(circle, #ffe0a0 0%, #f0a040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(240,160,64,.4);
  animation: lmd-sun 8s ease-in-out infinite alternate;
}
.scn-lützen-morning-dream .tent {
  position: absolute;
  bottom: 5%;
  left: 35%;
  width: 30%;
  height: 35%;
  background: linear-gradient(180deg, #4a382a 0%, #2a1a10 100%);
  clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
  filter: drop-shadow(0 -10px 20px rgba(0,0,0,.5));
  animation: lmd-tent 5s ease-in-out infinite;
}
.scn-lützen-morning-dream .soldier-sleeping {
  position: absolute;
  bottom: 5%;
  left: 42%;
  width: 12%;
  height: 12%;
  background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: lmd-sleep 3s ease-in-out infinite;
}
.scn-lützen-morning-dream .horse {
  position: absolute;
  bottom: 12%;
  left: 55%;
  width: 18%;
  height: 20%;
  background: linear-gradient(180deg, #2a2018 0%, #140e0a 100%);
  border-radius: 20% 40% 30% 30% / 50% 60% 40% 40%;
  filter: blur(1px);
  animation: lmd-horse 4s ease-in-out infinite alternate;
}
.scn-lützen-morning-dream .mist-a,
.scn-lützen-morning-dream .mist-b {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(0deg, rgba(200,160,120,.15) 0%, transparent 100%);
  filter: blur(10px);
  animation: lmd-mist 20s linear infinite;
}
.scn-lützen-morning-dream .mist-a { animation-delay: 0s; }
.scn-lützen-morning-dream .mist-b { animation-delay: -10s; bottom: 5%; }

@keyframes lmd-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes lmd-sun { 0% { transform: scale(0.9); opacity: 0.9; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.85; } }
@keyframes lmd-tent { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } }
@keyframes lmd-sleep { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-2px); } 100% { transform: rotate(12deg) translateY(0); } }
@keyframes lmd-horse { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(0deg); } 100% { transform: translateX(-3px) rotate(2deg); } }
@keyframes lmd-mist { 0% { transform: translateX(-10%); opacity: 0.3; } 50% { transform: translateX(10%); opacity: 0.6; } 100% { transform: translateX(-10%); opacity: 0.3; } }

.scn-son-kept-ignorant {
  background:
    linear-gradient(180deg, #1f1c2a 0%, #171420 50%, #0f0d18 100%),
    radial-gradient(ellipse at 70% 50%, #2a2638 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-son-kept-ignorant .bg-room {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #1f1c2a 0%, #0f0d18 100%);
  animation: ski-bg 10s ease-in-out infinite alternate;
}
.scn-son-kept-ignorant .curtain-wall {
  position: absolute;
  top: 0;
  left: 30%;
  width: 40%;
  height: 100%;
  background: linear-gradient(270deg, transparent 0%, #2a1e1a 40%, #1a100e 70%, transparent 100%);
  filter: blur(4px);
  animation: ski-curtain 6s ease-in-out infinite alternate;
}
.scn-son-kept-ignorant .scroll {
  position: absolute;
  bottom: 22%;
  left: 48%;
  width: 8%;
  height: 5%;
  background: linear-gradient(180deg, #a08858 0%, #6a5230 100%);
  border-radius: 10% 10% 8% 8% / 30% 30% 20% 20%;
  transform: rotate(-5deg);
  animation: ski-scroll 2s ease-in-out infinite;
}
.scn-son-kept-ignorant .father {
  position: absolute;
  bottom: 15%;
  left: 40%;
  width: 10%;
  height: 22%;
  background: linear-gradient(180deg, #201c2e 0%, #0f0c18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ski-father 1.5s ease-in-out infinite alternate;
}
.scn-son-kept-ignorant .son {
  position: absolute;
  bottom: 16%;
  left: 55%;
  width: 8%;
  height: 18%;
  background: linear-gradient(180deg, #1b1730 0%, #0b0918 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ski-son 2s ease-in-out infinite;
}
.scn-son-kept-ignorant .shadow-strip {
  position: absolute;
  bottom: 10%;
  left: 35%;
  width: 30%;
  height: 2%;
  background: linear-gradient(90deg, transparent 0%, #0a0812 50%, transparent 100%);
  filter: blur(5px);
  animation: ski-shadow 3s ease-in-out infinite;
}
.scn-son-kept-ignorant .lamp-flicker {
  position: absolute;
  top: 8%;
  left: 60%;
  width: 3%;
  height: 6%;
  background: radial-gradient(circle, #f0c070 0%, #c08030 70%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 0 30px 12px rgba(192,128,48,.4);
  animation: ski-lamp 0.4s ease-in-out infinite alternate;
}

@keyframes ski-bg { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes ski-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(-3px); } }
@keyframes ski-scroll { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-1px); } }
@keyframes ski-father { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg) translateX(-2px); } 100% { transform: rotate(-1deg) translateX(1px); } }
@keyframes ski-son { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(-3px) rotate(-0.5deg); } }
@keyframes ski-shadow { 0% { opacity: 0.5; transform: scaleX(1); } 50% { opacity: 0.8; transform: scaleX(1.2); } 100% { opacity: 0.5; transform: scaleX(1); } }
@keyframes ski-lamp { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.05); } 100% { opacity: 0.8; transform: scaleY(0.95); } }

/* cellar-purse-snatched – funny, firelit */

.scn-cellar-purse-snatched {
  background: linear-gradient(180deg, #2b1a10 0%, #4a2a18 40%, #6a3a1e 100%),
              radial-gradient(ellipse at 60% 70%, #9a5a2a 0%, transparent 60%);
}
.scn-cellar-purse-snatched .bg-cellar {
  position: absolute; inset: 0; background: linear-gradient(180deg, #3a2010 0%, transparent 100%);
  animation: sn-bg 12s ease-in-out infinite alternate;
}
.scn-cellar-purse-snatched .shelves {
  position: absolute; top: 10%; left: 5%; right: 5%; height: 20%;
  background: repeating-linear-gradient(90deg, #4a2a1a 0px, #4a2a1a 4px, transparent 4px, transparent 8px);
  border-bottom: 2px solid #6a3a2a; animation: sn-shelves 20s ease-in-out infinite alternate;
}
.scn-cellar-purse-snatched .figure-master {
  position: absolute; bottom: 20%; left: 35%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sn-master 4s ease-in-out infinite;
}
.scn-cellar-purse-snatched .figure-runner {
  position: absolute; bottom: 18%; left: 60%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1000 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: sn-runner 2.5s ease-in-out infinite;
}
.scn-cellar-purse-snatched .flask {
  position: absolute; bottom: 28%; left: 42%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #c88040 0%, #a06030 100%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 0 6px #c88040;
  animation: sn-flask 1s ease-in-out infinite;
}
.scn-cellar-purse-snatched .pocket {
  position: absolute; bottom: 22%; left: 48%; width: 18px; height: 22px;
  background: radial-gradient(ellipse at 50% 50%, #7a4a2a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 30% 30%; animation: sn-pocket 2s ease-in-out infinite;
}
.scn-cellar-purse-snatched .fire-glow {
  position: absolute; bottom: 10%; left: 50%; width: 40px; height: 40px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255,180,80,0.8) 0%, rgba(200,100,40,0.3) 40%, transparent 70%);
  animation: sn-fireglow 3s ease-in-out infinite alternate;
}
@keyframes sn-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes sn-shelves { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes sn-master { 0%,100% { transform: rotate(0deg) translateX(0) } 25% { transform: rotate(3deg) translateX(3px) } 75% { transform: rotate(-2deg) translateX(2px) } }
@keyframes sn-runner { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(-8px) rotate(5deg) } 50% { transform: translateX(4px) rotate(-3deg) } 75% { transform: translateX(-8px) rotate(3deg) } }
@keyframes sn-flask { 0%,100% { transform: rotate(0deg) scale(1) } 25% { transform: rotate(10deg) scale(1.1) } 75% { transform: rotate(-10deg) scale(0.9) } }
@keyframes sn-pocket { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.8) } }
@keyframes sn-fireglow { 0% { opacity: 0.6; transform: translateX(-50%) scale(0.9); } 50% { opacity: 1; transform: translateX(-50%) scale(1.1); } 100% { opacity: 0.7; transform: translateX(-50%) scale(1); } }

/* lieutenant-general-stands – tense, firelit */

.scn-lieutenant-general-stands {
  background: linear-gradient(180deg, #1a1018 0%, #2a1820 40%, #3a2030 100%),
              radial-gradient(ellipse at 50% 30%, #6a3a3a 0%, transparent 70%);
}
.scn-lieutenant-general-stands .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1820 0%, transparent 100%);
  animation: lg-room 15s ease-in-out infinite alternate;
}
.scn-lieutenant-general-stands .table {
  position: absolute; bottom: 30%; left: 10%; right: 10%; height: 8px;
  background: linear-gradient(90deg, #5a3a2a 0%, #7a4a3a 50%, #5a3a2a 100%);
  border-radius: 2px; box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: lg-table 10s ease-in-out infinite;
}
.scn-lieutenant-general-stands .figure-lieutenant {
  position: absolute; bottom: 30%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #5a3a4a 0%, #3a2030 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: lg-lieutenant 6s ease-in-out infinite;
}
.scn-lieutenant-general-stands .figure-servant {
  position: absolute; bottom: 28%; left: 70%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #4a2a2a 0%, #2a1018 100%);
  border-radius: 20% 20% 30% 30% / 50% 50% 40% 40%;
  animation: lg-servant 2s ease-in-out infinite;
}
.scn-lieutenant-general-stands .candle-glow {
  position: absolute; bottom: 38%; left: 35%; width: 20px; height: 20px;
  background: radial-gradient(circle, #ffa050 0%, #c07030 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 20px 8px #c07030;
  animation: lg-candle 1.5s ease-in-out infinite alternate;
}
.scn-lieutenant-general-stands .tension-shadow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, rgba(0,0,0,0.5) 0%, transparent 60%);
  animation: lg-shadow 4s ease-in-out infinite;
}
@keyframes lg-room { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes lg-table { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.05) translateY(1px) } }
@keyframes lg-lieutenant { 0% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(-2deg) translateY(-4px) } 60% { transform: rotate(2deg) translateY(-2px) } 100% { transform: rotate(0deg) translateY(0) } }
@keyframes lg-servant { 0%,100% { transform: translateX(0) } 20% { transform: translateX(-12px) } 50% { transform: translateX(4px) } 80% { transform: translateX(-8px) } }
@keyframes lg-candle { 0% { opacity: 0.6; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(1); } }
@keyframes lg-shadow { 0%,100% { opacity: 0.3 } 50% { opacity: 0.6 } }

/* octavio-converses-maradas – tense, dim-interior */

.scn-octavio-converses-maradas {
  background: linear-gradient(180deg, #10101a 0%, #1a1a2e 40%, #202040 100%),
              radial-gradient(ellipse at 30% 50%, #2a2a4e 0%, transparent 70%);
}
.scn-octavio-converses-maradas .bg-stage {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2e 0%, transparent 100%);
  animation: oc-bg 20s ease-in-out infinite alternate;
}
.scn-octavio-converses-maradas .proscenium {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 60%;
  border: 2px solid #3a3a5a; border-radius: 10px;
  background: linear-gradient(180deg, rgba(50,50,80,0.3) 0%, transparent 100%);
  animation: oc-proscenium 12s ease-in-out infinite;
}
.scn-octavio-converses-maradas .figure-octavio {
  position: absolute; bottom: 22%; left: 18%; width: 35px; height: 75px;
  background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: oc-octavio 5s ease-in-out infinite;
}
.scn-octavio-converses-maradas .figure-maradas {
  position: absolute; bottom: 22%; left: 30%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: oc-maradas 4s ease-in-out infinite;
}
.scn-octavio-converses-maradas .figure-max {
  position: absolute; bottom: 22%; right: 18%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #5a5a7a 0%, #3a3a5a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: oc-max 8s ease-in-out infinite;
}
.scn-octavio-converses-maradas .shadow-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 20%, rgba(0,0,0,0.3) 50%, transparent 80%);
  animation: oc-shadow 6s ease-in-out infinite;
}
@keyframes oc-bg { 0% { opacity: 0.6 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes oc-proscenium { 0%,100% { opacity: 0.4 } 50% { opacity: 0.6 } }
@keyframes oc-octavio { 0%,100% { transform: rotate(-2deg) translateX(0) } 25% { transform: rotate(3deg) translateX(4px) } 75% { transform: rotate(-1deg) translateX(-2px) } }
@keyframes oc-maradas { 0%,100% { transform: rotate(0deg) translateY(0) } 30% { transform: rotate(4deg) translateY(-2px) } 70% { transform: rotate(-3deg) translateY(1px) } }
@keyframes oc-max { 0%,100% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(3px) rotate(5deg) } }
@keyframes oc-shadow { 0%,100% { opacity: 0.2 } 50% { opacity: 0.5 } }

/* isolani-goodnight – warm, dim-interior */

.scn-isolani-goodnight {
  background: linear-gradient(180deg, #1a1410 0%, #2a1c14 40%, #4a2a1a 100%),
              radial-gradient(ellipse at 50% 60%, #6a3a1a 0%, transparent 70%);
}
.scn-isolani-goodnight .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1c14 0%, transparent 100%);
  animation: ig-bg 16s ease-in-out infinite alternate;
}
.scn-isolani-goodnight .fireplace-glow {
  position: absolute; bottom: 25%; left: 40%; right: 40%; height: 30%;
  background: radial-gradient(ellipse at 50% 50%, #c88040 0%, #a06030 30%, transparent 60%);
  border-radius: 50% 50% 0 0; animation: ig-fireplace 4s ease-in-out infinite alternate;
}
.scn-isolani-goodnight .figure-isolani {
  position: absolute; bottom: 20%; left: 30%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ig-isolani 3s ease-in-out infinite;
}
.scn-isolani-goodnight .figure-countess {
  position: absolute; bottom: 22%; left: 50%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1000 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ig-countess 4s ease-in-out infinite;
}
.scn-isolani-goodnight .figure-kolatto {
  position: absolute; bottom: 24%; right: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ig-kolatto 5s ease-in-out infinite;
}
.scn-isolani-goodnight .warm-light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 80%, rgba(200,100,40,0.2) 0%, transparent 60%);
  animation: ig-warm 8s ease-in-out infinite;
}
@keyframes ig-bg { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes ig-fireplace { 0% { opacity: 0.4; transform: scaleY(0.9); } 50% { opacity: 0.8; transform: scaleY(1.2); } 100% { opacity: 0.5; transform: scaleY(1); } }
@keyframes ig-isolani { 0%,100% { transform: rotate(0deg) translateX(0) } 25% { transform: rotate(-5deg) translateX(6px) } 50% { transform: rotate(3deg) translateX(-4px) } 75% { transform: rotate(-2deg) translateX(2px) } }
@keyframes ig-countess { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes ig-kolatto { 0%,100% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(5px) rotate(5deg) } 70% { transform: translateX(-3px) rotate(-3deg) } }
@keyframes ig-warm { 0%,100% { opacity: 0.2 } 50% { opacity: 0.4 } }

/* captain-recounts-battle */

.scn-captain-recounts-battle {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2c3e 50%, #3a2a1a 100%),
              radial-gradient(ellipse at 30% 80%, #4a3a2a 0%, transparent 60%);
}
.scn-captain-recounts-battle .crb-bg      { position:absolute; inset:0; background: linear-gradient(135deg, #1a1a2e 0%, #12121e 100%); }
.scn-captain-recounts-battle .crb-table   { position:absolute; bottom:0; left:10%; right:10%; height:14%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 8% 8% 0 0; box-shadow: inset 0 -4px 10px rgba(0,0,0,.6); }
.scn-captain-recounts-battle .crb-captain { position:absolute; bottom:14%; left:12%; width:22%; height:60%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 80%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crb-breathe 5s ease-in-out infinite; }
.scn-captain-recounts-battle .crb-thekla  { position:absolute; bottom:14%; right:12%; width:18%; height:50%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 80%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crb-tremor 4s ease-in-out infinite; }
.scn-captain-recounts-battle .crb-candle  { position:absolute; bottom:28%; left:16%; width:6px; height:6px; background: radial-gradient(circle, #ffd670 0%, #d4a043 60%); border-radius:50%; box-shadow: 0 0 12px 4px #d4a043; animation: crb-flicker 1.5s ease-in-out infinite alternate; }
.scn-captain-recounts-battle .crb-glow    { position:absolute; bottom:20%; left:10%; width:30%; height:50%; background: radial-gradient(ellipse at 50% 100%, rgba(255,214,112,.2) 0%, transparent 70%); pointer-events: none; animation: crb-flicker 2s ease-in-out infinite alternate; }
.scn-captain-recounts-battle .crb-shadow  { position:absolute; bottom:0; left:20%; width:40%; height:20%; background: linear-gradient(90deg, transparent, rgba(0,0,0,.5), transparent); border-radius: 50%; filter: blur(6px); animation: crb-shadow-sway 8s ease-in-out infinite; }
@keyframes crb-breathe        { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes crb-tremor         { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(1px) rotate(1deg) } 70% { transform: translateX(-1px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes crb-flicker        { 0% { opacity: .7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .8; transform: scale(.95) } }
@keyframes crb-shadow-sway    { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(10px) scaleX(1.1) } 100% { transform: translateX(0) scaleX(1) } }

/* captain-describes-maxs-charge */

.scn-captain-describes-maxs-charge {
  background: linear-gradient(180deg, #0e0e1e 0%, #1a1a2e 40%, #2c2c3e 100%),
              radial-gradient(ellipse at 50% 80%, #3a3a4a 0%, transparent 70%);
}
.scn-captain-describes-maxs-charge .cmd-bg     { position:absolute; inset:0; background: linear-gradient(135deg, #0e0e1e 0%, #1a1a2e 100%); }
.scn-captain-describes-maxs-charge .cmd-ground { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1e 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.6); }
.scn-captain-describes-maxs-charge .cmd-horse  { position:absolute; bottom:22%; left:38%; width:30%; height:40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 80%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmd-gallop 1s steps(4) infinite; }
.scn-captain-describes-maxs-charge .cmd-rider  { position:absolute; bottom:40%; left:42%; width:14%; height:25%; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1e 80%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cmd-rider-bob 1s ease-in-out infinite; }
.scn-captain-describes-maxs-charge .cmd-smoke1 { position:absolute; bottom:50%; left:20%; width:15%; height:8%; background: radial-gradient(circle, rgba(100,100,120,.4) 0%, transparent 100%); border-radius:50%; filter: blur(4px); animation: cmd-smoke-drift 6s linear infinite; }
.scn-captain-describes-maxs-charge .cmd-smoke2 { position:absolute; bottom:55%; left:60%; width:12%; height:6%; background: radial-gradient(circle, rgba(100,100,120,.3) 0%, transparent 100%); border-radius:50%; filter: blur(3px); animation: cmd-smoke-drift 8s linear infinite reverse; animation-delay: -3s; }
.scn-captain-describes-maxs-charge .cmd-spear  { position:absolute; bottom:48%; left:50%; width:2%; height:30%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius: 10% 10% 0 0; transform-origin: bottom center; animation: cmd-spear-shake 0.5s ease-in-out infinite alternate; }
@keyframes cmd-gallop        { 0% { transform: scaleY(1) rotate(0) translateX(0) } 25% { transform: scaleY(.95) rotate(2deg) translateX(5px) } 50% { transform: scaleY(1) rotate(0) translateX(10px) } 75% { transform: scaleY(.95) rotate(-2deg) translateX(5px) } 100% { transform: scaleY(1) rotate(0) translateX(0) } }
@keyframes cmd-rider-bob     { 0% { transform: translateY(0) } 25% { transform: translateY(-3px) } 50% { transform: translateY(0) } 75% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes cmd-smoke-drift   { 0% { transform: translateY(0) scale(1); opacity: .6 } 50% { transform: translateY(-40px) scale(1.5); opacity: .2 } 100% { transform: translateY(-80px) scale(2); opacity: 0 } }
@keyframes cmd-spear-shake   { 0% { transform: rotate(-2deg) } 100% { transform: rotate(2deg) } }

/* maxs-death-told */

.scn-maxs-death-told {
  background: linear-gradient(180deg, #0a0a12 0%, #12121a 50%, #1a1a22 100%),
              radial-gradient(ellipse at 20% 60%, #2a2a3a 0%, transparent 60%);
}
.scn-maxs-death-told .mdt-bg       { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a12 0%, #12121a 100%); }
.scn-maxs-death-told .mdt-figure   { position:absolute; top:5%; left:45%; width:12%; height:40%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: top center; animation: mdt-fall 4s ease-in infinite; }
.scn-maxs-death-told .mdt-horse    { position:absolute; bottom:30%; left:35%; width:35%; height:45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mdt-rear 2s ease-in-out infinite; }
.scn-maxs-death-told .mdt-chair    { position:absolute; bottom:5%; right:25%; width:10%; height:18%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 10% 10% 20% 20%; transform-origin: bottom center; animation: mdt-chair-tilt 3s ease-in-out infinite; }
.scn-maxs-death-told .mdt-shatter1 { position:absolute; top:20%; left:30%; width:4%; height:4%; background: radial-gradient(circle, #4a4a5a 0%, transparent 80%); border-radius:50%; animation: mdt-shard 2s ease-out infinite; }
.scn-maxs-death-told .mdt-shatter2 { position:absolute; top:35%; left:55%; width:3%; height:3%; background: radial-gradient(circle, #4a4a5a 0%, transparent 80%); border-radius:50%; animation: mdt-shard 2.3s ease-out infinite; animation-delay:-1s; }
.scn-maxs-death-told .mdt-shadow   { position:absolute; bottom:0; left:10%; width:80%; height:10%; background: radial-gradient(ellipse, rgba(0,0,0,.7) 0%, transparent 100%); animation: mdt-shadow-pulse 4s ease-in-out infinite; }
@keyframes mdt-fall       { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(150px) rotate(20deg) } 60% { transform: translateY(300px) rotate(-10deg) scale(.8) } 100% { transform: translateY(600px) rotate(0) scale(.5); opacity: 0 } }
@keyframes mdt-rear       { 0% { transform: scaleY(1) rotate(0) } 50% { transform: scaleY(1.2) rotate(-15deg) } 100% { transform: scaleY(1) rotate(0) } }
@keyframes mdt-chair-tilt { 0% { transform: rotate(0) } 30% { transform: rotate(20deg) translateY(5px) } 70% { transform: rotate(-15deg) translateY(10px) } 100% { transform: rotate(0) } }
@keyframes mdt-shard      { 0% { transform: translate(0,0) scale(1); opacity: 1 } 50% { transform: translate(30px,50px) scale(.5); opacity: .5 } 100% { transform: translate(60px,120px) scale(0); opacity: 0 } }
@keyframes mdt-shadow-pulse { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .6 } }

/* thekla-last-words */

.scn-thekla-last-words {
  background: linear-gradient(180deg, #12121a 0%, #1a1a22 50%, #2c2c3e 100%),
              radial-gradient(ellipse at 30% 50%, #2a2a3a 0%, transparent 70%);
}
.scn-thekla-last-words .tlw-bg     { position:absolute; inset:0; background: linear-gradient(135deg, #12121a 0%, #0e0e16 100%); }
.scn-thekla-last-words .tlw-window { position:absolute; top:5%; right:8%; width:30%; height:40%; background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 100%); border: 2px solid #3a3a4a; border-radius: 4% 4% 0 0; box-shadow: inset 0 0 20px rgba(100,100,130,.3); animation: tlw-light-pulse 5s ease-in-out infinite; }
.scn-thekla-last-words .tlw-thekla { position:absolute; bottom:10%; left:25%; width:30%; height:70%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 80%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tlw-sway 6s ease-in-out infinite; }
.scn-thekla-last-words .tlw-hand   { position:absolute; bottom:30%; left:40%; width:8%; height:12%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 80%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: tlw-tremble 2s ease-in-out infinite; }
.scn-thekla-last-words .tlw-tear   { position:absolute; bottom:50%; left:42%; width:2%; height:4%; background: radial-gradient(circle, #6a6a8a 0%, transparent 100%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; animation: tlw-fall 3s ease-in infinite; }
.scn-thekla-last-words .tlw-light  { position:absolute; top:5%; right:15%; width:30%; height:40%; background: radial-gradient(ellipse at 50% 20%, rgba(120,120,150,.15) 0%, transparent 100%); pointer-events: none; animation: tlw-light-pulse 5s ease-in-out infinite reverse; }
@keyframes tlw-sway       { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-3px) rotate(1deg) } 70% { transform: translateY(0) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes tlw-tremble    { 0% { transform: translateX(0) rotate(0) } 20% { transform: translateX(2px) rotate(3deg) } 60% { transform: translateX(-2px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes tlw-fall       { 0% { transform: translateY(0) scale(1); opacity: .8 } 30% { transform: translateY(5px) scale(1.1); opacity: 1 } 60% { transform: translateY(15px) scale(.8); opacity: .6 } 100% { transform: translateY(30px) scale(0); opacity: 0 } }
@keyframes tlw-light-pulse { 0% { opacity: .3 } 50% { opacity: .7 } 100% { opacity: .3 } }

/* Scene 1: illo-enters-cup (tense, dim-interior) */

.scn-illo-enters-cup {
  background:
    linear-gradient(180deg, #1a1616 0%, #2a1e1a 50%, #1a0e0a 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-illo-enters-cup .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1e1818 0%, #2a2018 40%, #1a1212 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
  animation: iec-room-pulse 8s ease-in-out infinite alternate;
}
.scn-illo-enters-cup .window-dark {
  position: absolute; top: 10%; left: 5%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #0a0a10 0%, #12101a 100%);
  border: 2px solid #2a1a1a; border-radius: 4px;
  box-shadow: inset 0 0 20px #000, 0 0 30px rgba(0,0,0,0.5);
  animation: iec-window 6s ease-in-out infinite alternate;
}
.scn-illo-enters-cup .table {
  position: absolute; bottom: 8%; left: 25%; right: 25%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.7);
}
.scn-illo-enters-cup .cup-glow {
  position: absolute; bottom: 20%; left: 50%; width: 20px; height: 28px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c08030 0%, #6a4020 70%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 30px 8px #b07030, 0 0 60px 16px rgba(176,112,48,0.4);
  animation: iec-cup-flicker 2s ease-in-out infinite alternate;
}
.scn-illo-enters-cup .illo-figure {
  position: absolute; bottom: 10%; left: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: iec-illo-stagger 1.5s ease-in-out infinite, iec-figure-sway 4s ease-in-out infinite;
}
.scn-illo-enters-cup .goetz-figure {
  position: absolute; bottom: 10%; left: 15%; width: 24px; height: 56px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: iec-figure-reach 3s ease-in-out infinite;
}
.scn-illo-enters-cup .butler-figure {
  position: absolute; bottom: 10%; right: 20%; width: 24px; height: 56px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: iec-figure-reach 3s ease-in-out 1.5s infinite;
}
.scn-illo-enters-cup .shadow-strip {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  animation: iec-shadow-creep 10s ease-in-out infinite alternate;
}
@keyframes iec-room-pulse { 0% { opacity: 0.8; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes iec-window { 0% { background: #0a0a10; } 50% { background: #12101a; box-shadow: 0 0 20px 5px rgba(0,0,0,0.7); } 100% { background: #080810; } }
@keyframes iec-cup-flicker { 0% { box-shadow: 0 0 20px 4px #b07030, 0 0 40px 10px rgba(176,112,48,0.3); opacity: 0.8; } 50% { box-shadow: 0 0 35px 10px #d09050, 0 0 70px 20px rgba(208,144,80,0.5); opacity: 1; } 100% { box-shadow: 0 0 25px 6px #b07030, 0 0 50px 12px rgba(176,112,48,0.35); opacity: 0.9; } }
@keyframes iec-illo-stagger { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes iec-figure-sway { 0% { transform: rotate(-1deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes iec-figure-reach { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(6px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes iec-shadow-creep { 0% { height: 20%; } 50% { height: 25%; } 100% { height: 20%; } }

/* Scene 2: illo-toasts-octavio (warm, dim-interior) */

.scn-illo-toasts-octavio {
  background:
    linear-gradient(180deg, #2a1e1a 0%, #3a2a22 40%, #2a1a12 100%),
    radial-gradient(ellipse at 50% 0%, #4a3a2a 0%, transparent 80%);
}
.scn-illo-toasts-octavio .room-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, #1a1210 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
  animation: ito-warmth-pulse 6s ease-in-out infinite alternate;
}
.scn-illo-toasts-octavio .table {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 -6px 18px rgba(0,0,0,0.6);
}
.scn-illo-toasts-octavio .cup-amber {
  position: absolute; bottom: 20%; left: 48%; width: 16px; height: 22px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0c060 0%, #a07030 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.3);
  animation: ito-cup-glow 2s ease-in-out infinite alternate;
}
.scn-illo-toasts-octavio .candle-flame {
  position: absolute; bottom: 32%; left: 36%; width: 8px; height: 16px;
  background: radial-gradient(ellipse at 50% 100%, #ffe080 0%, #ff9040 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: ito-flame 0.4s ease-in-out infinite alternate;
}
.scn-illo-toasts-octavio .illo-arm {
  position: absolute; bottom: 15%; left: 38%; width: 16px; height: 40px;
  transform-origin: bottom right;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 40% 40% 60% 60% / 30% 30% 70% 70%;
  animation: ito-arm-raise 3s ease-in-out infinite;
}
.scn-illo-toasts-octavio .octavio-arm {
  position: absolute; bottom: 15%; right: 36%; width: 16px; height: 40px;
  transform-origin: bottom left;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 40% 40% 60% 60% / 30% 30% 70% 70%;
  animation: ito-arm-raise 3s ease-in-out 1.5s infinite;
}
.scn-illo-toasts-octavio .toast-glow {
  position: absolute; bottom: 28%; left: 42%; right: 42%; height: 20%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,200,100,0.15) 0%, transparent 70%);
  animation: ito-glow-swell 4s ease-in-out infinite alternate;
}
@keyframes ito-warmth-pulse { 0% { opacity: 0.85; background: radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, #1a1210 100%); } 100% { opacity: 0.95; background: radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, #1a1210 100%); } }
@keyframes ito-cup-glow { 0% { box-shadow: 0 0 15px 4px #c08040, 0 0 30px 8px rgba(192,128,64,0.3); } 50% { box-shadow: 0 0 30px 8px #f0c060, 0 0 60px 16px rgba(240,192,96,0.4); } 100% { box-shadow: 0 0 20px 5px #c08040, 0 0 40px 10px rgba(192,128,64,0.35); } }
@keyframes ito-flame { 0% { transform: scaleY(0.9) scaleX(1.1); opacity: 0.8; } 50% { transform: scaleY(1.1) scaleX(0.9); opacity: 1; } 100% { transform: scaleY(1) scaleX(1); opacity: 0.9; } }
@keyframes ito-arm-raise { 0% { transform: translateY(0) rotate(-5deg); } 25% { transform: translateY(-3px) rotate(0deg); } 50% { transform: translateY(-2px) rotate(5deg); } 75% { transform: translateY(-3px) rotate(0deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes ito-glow-swell { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.1); } 100% { opacity: 0.2; transform: scale(1); } }

/* Scene 3: illo-embraces-octavio (warm, dim-interior) */

.scn-illo-embraces-octavio {
  background:
    linear-gradient(180deg, #1e1a16 0%, #2a221e 40%, #1a1410 100%),
    radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-illo-embraces-octavio .room-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, #2a201a 0%, #12100e 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5);
  animation: ieo-room-breathe 8s ease-in-out infinite alternate;
}
.scn-illo-embraces-octavio .embrace-silhouette {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 55%;
  background: radial-gradient(ellipse at 50% 100%, #1a1410 0%, #0e0c0a 100%);
  border-radius: 60% 60% 40% 40% / 80% 80% 40% 40%;
  box-shadow: 0 -10px 30px rgba(0,0,0,0.6);
  animation: iec-embrace-sway 6s ease-in-out infinite;  /* note: using iec- as tag? but we need unique per scene → use ieo- */ 
}
.scn-illo-embraces-octavio .candle-light {
  position: absolute; bottom: 35%; left: 20%; width: 12px; height: 20px;
  background: radial-gradient(ellipse at 50% 80%, #ffe080 0%, #ff9040 40%, transparent 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: ieo-candle 0.4s ease-in-out infinite alternate;
}
.scn-illo-embraces-octavio .shoulder-detail {
  position: absolute; bottom: 35%; left: 38%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 50% 50% 30% 30%;
  transform: rotate(15deg);
  animation: ieo-shoulder 8s ease-in-out infinite;
}
.scn-illo-embraces-octavio .arm-overlap {
  position: absolute; bottom: 20%; left: 42%; right: 42%; height: 40%;
  background: linear-gradient(135deg, #2a1a1a 0%, #1a0e0e 30%, #1a1a2a 60%, #0e0e1a 100%);
  border-radius: 80% 80% 20% 20% / 40% 40% 60% 60%;
  filter: blur(4px);
  animation: ieo-arm-slide 10s ease-in-out infinite;
}
.scn-illo-embraces-octavio .warm-haze {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,180,80,0.06) 0%, transparent 70%);
  animation: ieo-haze-pulse 5s ease-in-out infinite alternate;
}
@keyframes ieo-room-breathe { 0% { opacity: 0.85; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes iec-embrace-sway { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(1px) rotate(0deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ieo-candle { 0% { transform: scaleY(0.85) scaleX(1.1); opacity: 0.7; } 50% { transform: scaleY(1.1) scaleX(0.9); opacity: 1; } 100% { transform: scaleY(0.9) scaleX(1.05); opacity: 0.8; } }
@keyframes ieo-shoulder { 0% { transform: rotate(12deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-2px); } 100% { transform: rotate(12deg) translateY(0); } }
@keyframes ieo-arm-slide { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(5px) scale(1.02); } 50% { transform: translateX(0) scale(1); } 75% { transform: translateX(-5px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }
@keyframes ieo-haze-pulse { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* Scene 4: tertsky-commands-butler-take (tense, dim-interior) */

.scn-tertsky-commands-butler-take {
  background:
    linear-gradient(180deg, #1a1212 0%, #2a1a1a 50%, #120a0a 100%),
    radial-gradient(ellipse at 50% 0%, #3a1a1a 0%, transparent 80%);
}
.scn-tertsky-commands-butler-take .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1414 0%, #221818 50%, #140e0e 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.7);
  animation: tcb-shadow-shift 10s ease-in-out infinite alternate;
}
.scn-tertsky-commands-butler-take .sideboard {
  position: absolute; bottom: 10%; left: 60%; right: 5%; height: 18%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  border-radius: 8% 8% 4% 4% / 30% 30% 10% 10%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.5), 0 -6px 12px rgba(0,0,0,0.4);
}
.scn-tertsky-commands-butler-take .cup-on-board {
  position: absolute; bottom: 20%; left: 68%; width: 14px; height: 18px;
  background: radial-gradient(circle, #b08030 0%, #6a4020 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 15px 4px #906030, 0 0 30px 8px rgba(144,96,48,0.3);
  animation: tcb-cup-glimmer 2s ease-in-out infinite alternate;
}
.scn-tertsky-commands-butler-take .tertsky-figure {
  position: absolute; bottom: 10%; left: 18%; width: 26px; height: 58px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tcb-tertsky-gesture 3s ease-in-out infinite;
}
.scn-tertsky-commands-butler-take .butler-figure {
  position: absolute; bottom: 10%; left: 40%; width: 24px; height: 56px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-10deg);
  animation: tcb-butler-lean 4s ease-in-out infinite;
}
.scn-tertsky-commands-butler-take .illo-figure {
  position: absolute; bottom: 10%; left: 55%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: tcb-illo-resist 2s ease-in-out infinite alternate;
}
.scn-tertsky-commands-butler-take .whisper-arc {
  position: absolute; bottom: 40%; left: 25%; right: 40%; height: 15%;
  background: radial-gradient(ellipse at 30% 50%, rgba(180,160,140,0.1) 0%, transparent 70%);
  border-radius: 60%;
  filter: blur(8px);
  animation: tcb-whisper-pulse 3s ease-in-out infinite;
}
@keyframes tcb-shadow-shift { 0% { background: linear-gradient(135deg, #1a1414 0%, #221818 50%, #140e0e 100%); } 50% { background: linear-gradient(135deg, #221818 0%, #2a1c1c 50%, #140e0e 100%); } 100% { background: linear-gradient(135deg, #1a1414 0%, #221818 50%, #140e0e 100%); } }
@keyframes tcb-cup-glimmer { 0% { box-shadow: 0 0 10px 2px #906030, 0 0 20px 5px rgba(144,96,48,0.2); opacity: 0.7; } 50% { box-shadow: 0 0 20px 6px #c08040, 0 0 40px 12px rgba(192,128,64,0.4); opacity: 1; } 100% { box-shadow: 0 0 12px 3px #906030, 0 0 25px 6px rgba(144,96,48,0.25); opacity: 0.8; } }
@keyframes tcb-tertsky-gesture { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(-4px) rotate(3deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes tcb-butler-lean { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-14deg) translateY(-3px); } 100% { transform: rotate(-8deg) translateY(0); } }
@keyframes tcb-illo-resist { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(-5deg) translateX(5px); } 100% { transform: rotate(3deg) translateX(0); } }
@keyframes tcb-whisper-pulse { 0% { opacity: 0.1; } 50% { opacity: 0.3; } 100% { opacity: 0.1; } }

/* isolani-court-story */

.scn-isolani-court-story {
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 60%, #0a0804 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 60%);
  overflow: hidden;
}
.scn-isolani-court-story .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3a2a 0%, #1a120a 100%);
  box-shadow: inset 0 -40px 40px rgba(0,0,0,0.6);
  animation: is1-wall 12s ease-in-out infinite alternate;
}
.scn-isolani-court-story .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0604 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-isolani-court-story .door-arch {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 180px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, #1a0a04 0%, #0a0402 70%);
  border-radius: 50% / 30% 30% 0 0;
  box-shadow: inset 0 -20px 30px rgba(255,200,100,0.05);
  animation: is1-arch 15s ease-in-out infinite;
}
.scn-isolani-court-story .courtier-left {
  position: absolute; bottom: 30%; left: 25%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: is1-bow 4s ease-in-out infinite alternate;
}
.scn-isolani-court-story .courtier-right {
  position: absolute; bottom: 30%; right: 25%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a04 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: is1-bow 5s ease-in-out infinite alternate-reverse;
}
.scn-isolani-court-story .figure-center {
  position: absolute; bottom: 30%; left: 50%; width: 24px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%;
  animation: is1-stand 6s ease-in-out infinite;
}
.scn-isolani-court-story .candle {
  position: absolute; bottom: 35%; left: 48%; width: 12px; height: 20px;
  background: linear-gradient(180deg, #f0d0a0 0%, #a08060 100%);
  border-radius: 40% 40% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 6px rgba(255,200,100,0.3);
  animation: is1-candle 2s ease-in-out infinite alternate;
}
.scn-isolani-court-story .glow {
  position: absolute; bottom: 30%; left: 48%; width: 80px; height: 80px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: is1-glow 3s ease-in-out infinite alternate;
}
@keyframes is1-wall { 0% { opacity: .8 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes is1-arch { 0% { transform: translateX(-50%) scaleY(1) } 50% { transform: translateX(-50%) scaleY(1.02) } 100% { transform: translateX(-50%) scaleY(0.98) } }
@keyframes is1-bow { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-2deg) } }
@keyframes is1-stand { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes is1-candle { 0% { transform: translateX(-50%) scale(1); opacity: .8 } 50% { transform: translateX(-50%) scale(1.05); opacity: 1 } 100% { transform: translateX(-50%) scale(0.95); opacity: .7 } }
@keyframes is1-glow { 0% { transform: translate(-50%, -30%) scale(1); opacity: .5 } 50% { transform: translate(-50%, -30%) scale(1.3); opacity: .8 } 100% { transform: translate(-50%, -30%) scale(0.9); opacity: .4 } }

/* comparison-to-beasts */

.scn-comparison-to-beasts {
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 60%, #040408 100%), radial-gradient(ellipse at 50% 20%, #2a2a3a 0%, transparent 50%);
  overflow: hidden;
}
.scn-comparison-to-beasts .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1220 0%, #0a0810 100%);
  box-shadow: inset 0 -30px 30px rgba(0,0,0,0.7);
  animation: cb2-wall 10s ease-in-out infinite alternate;
}
.scn-comparison-to-beasts .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a2a 0%, #0a040a 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.6);
}
.scn-comparison-to-beasts .pedestal {
  position: absolute; bottom: 25%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: cb2-pedestal 8s ease-in-out infinite;
}
.scn-comparison-to-beasts .beast-statue {
  position: absolute; bottom: 42%; left: 50%; width: 40px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #5a4a5a 0%, #2a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.6);
  animation: cb2-beast 6s ease-in-out infinite alternate;
}
.scn-comparison-to-beasts .candle {
  position: absolute; bottom: 30%; left: 52%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #e0b080 0%, #a07050 100%);
  border-radius: 40% 40% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 6px rgba(200,150,80,0.3);
  animation: cb2-candle 2.5s ease-in-out infinite alternate;
}
.scn-comparison-to-beasts .glow {
  position: absolute; bottom: 25%; left: 52%; width: 100px; height: 100px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(200,150,80,0.25) 0%, transparent 60%);
  border-radius: 50%;
  animation: cb2-glow 3.5s ease-in-out infinite alternate;
}
@keyframes cb2-wall { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .7 } }
@keyframes cb2-pedestal { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-2px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes cb2-beast { 0% { transform: translateX(-50%) scale(1) } 50% { transform: translateX(-50%) scale(1.03) rotate(2deg) } 100% { transform: translateX(-50%) scale(0.98) rotate(-2deg) } }
@keyframes cb2-candle { 0% { transform: translateX(-50%) scale(1); opacity: .8 } 50% { transform: translateX(-50%) scale(1.07); opacity: 1 } 100% { transform: translateX(-50%) scale(0.93); opacity: .7 } }
@keyframes cb2-glow { 0% { transform: translate(-50%, -30%) scale(1); opacity: .4 } 50% { transform: translate(-50%, -30%) scale(1.4); opacity: .7 } 100% { transform: translate(-50%, -30%) scale(0.8); opacity: .3 } }

/* octavio-questenberg-alone */

.scn-octavio-questenberg-alone {
  background: linear-gradient(180deg, #2a2020 0%, #1a1212 50%, #0a0808 100%), radial-gradient(ellipse at 50% 40%, #3a2a2a 0%, transparent 50%);
  overflow: hidden;
}
.scn-octavio-questenberg-alone .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a1a1a 0%, #120a0a 100%);
  box-shadow: inset 0 -40px 40px rgba(0,0,0,0.7);
  animation: oq3-wall 14s ease-in-out infinite alternate;
}
.scn-octavio-questenberg-alone .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background: linear-gradient(180deg, #1a0a0a 0%, #0a0404 100%);
  border-radius: 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-octavio-questenberg-alone .table {
  position: absolute; bottom: 28%; left: 50%; width: 80px; height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: oq3-table 6s ease-in-out infinite;
}
.scn-octavio-questenberg-alone .figure-left {
  position: absolute; bottom: 28%; left: 38%; width: 22px; height: 76px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: oq3-fig1 8s ease-in-out infinite alternate;
}
.scn-octavio-questenberg-alone .figure-right {
  position: absolute; bottom: 28%; right: 38%; width: 24px; height: 74px;
  background: linear-gradient(180deg, #4a3a3a 0%, #1a1212 100%);
  border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: oq3-fig2 9s ease-in-out infinite alternate-reverse;
}
.scn-octavio-questenberg-alone .candle {
  position: absolute; bottom: 36%; left: 50%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #e0c0a0 0%, #a08060 100%);
  border-radius: 40% 40% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 6px rgba(200,160,100,0.3);
  animation: oq3-candle 2s ease-in-out infinite alternate;
}
.scn-octavio-questenberg-alone .glow {
  position: absolute; bottom: 30%; left: 50%; width: 90px; height: 90px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(200,160,100,0.3) 0%, transparent 60%);
  border-radius: 50%;
  animation: oq3-glow 3s ease-in-out infinite alternate;
}
@keyframes oq3-wall { 0% { opacity: .75 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes oq3-table { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes oq3-fig1 { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes oq3-fig2 { 0% { transform: rotate(0deg) } 50% { transform: rotate(-2deg) } 100% { transform: rotate(1deg) } }
@keyframes oq3-candle { 0% { transform: translateX(-50%) scale(1); opacity: .8 } 50% { transform: translateX(-50%) scale(1.06); opacity: 1 } 100% { transform: translateX(-50%) scale(0.94); opacity: .7 } }
@keyframes oq3-glow { 0% { transform: translate(-50%, -30%) scale(1); opacity: .5 } 50% { transform: translate(-50%, -30%) scale(1.25); opacity: .8 } 100% { transform: translate(-50%, -30%) scale(0.85); opacity: .4 } }

/* questenberg-fears-duke */

.scn-questenberg-fears-duke {
  background: linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 50%, #050505 100%), radial-gradient(ellipse at 50% 40%, #2a2a2a 0%, transparent 50%);
  overflow: hidden;
}
.scn-questenberg-fears-duke .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1212 0%, #0a0606 100%);
  box-shadow: inset 0 -30px 30px rgba(0,0,0,0.8);
  animation: qf4-wall 12s ease-in-out infinite alternate;
}
.scn-questenberg-fears-duke .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #1a0a0a 0%, #080404 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.7);
}
.scn-questenberg-fears-duke .hand-sword {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 60% 60%;
  box-shadow: 0 -10px 20px rgba(0,0,0,0.5);
  animation: qf4-hand 5s ease-in-out infinite alternate;
}
.scn-questenberg-fears-duke .hand-sword::after {
  content: '';
  position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 50px;
  background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%);
  border-radius: 2px;
  box-shadow: 0 0 6px rgba(200,200,200,0.3);
  animation: qf4-sword 3s ease-in-out infinite alternate;
}
.scn-questenberg-fears-duke .document {
  position: absolute; bottom: 22%; left: 55%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 5% 5% 10% 10%;
  transform: rotate(-10deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: qf4-doc 8s ease-in-out infinite;
}
.scn-questenberg-fears-duke .candle {
  position: absolute; bottom: 32%; left: 44%; width: 10px; height: 16px;
  background: linear-gradient(180deg, #d0b080 0%, #906050 100%);
  border-radius: 40% 40% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 6px rgba(180,140,80,0.3);
  animation: qf4-candle 2.2s ease-in-out infinite alternate;
}
.scn-questenberg-fears-duke .glow {
  position: absolute; bottom: 26%; left: 44%; width: 70px; height: 70px;
  transform: translate(-50%, -30%);
  background: radial-gradient(circle, rgba(180,140,80,0.2) 0%, transparent 60%);
  border-radius: 50%;
  animation: qf4-glow 3.2s ease-in-out infinite alternate;
}
@keyframes qf4-wall { 0% { opacity: .7 } 50% { opacity: .85 } 100% { opacity: .7 } }
@keyframes qf4-hand { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(5deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(-3deg) } }
@keyframes qf4-sword { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(8deg) } 100% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes qf4-doc { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(-5deg) translateY(-3px) } 100% { transform: rotate(-15deg) translateY(0) } }
@keyframes qf4-candle { 0% { transform: translateX(-50%) scale(1); opacity: .8 } 50% { transform: translateX(-50%) scale(1.05); opacity: 1 } 100% { transform: translateX(-50%) scale(0.93); opacity: .7 } }
@keyframes qf4-glow { 0% { transform: translate(-50%, -30%) scale(1); opacity: .4 } 50% { transform: translate(-50%, -30%) scale(1.3); opacity: .7 } 100% { transform: translate(-50%, -30%) scale(0.8); opacity: .3 } }

/* Scene: wallenstein-condemns-octavio */

.scn-wallenstein-condemns-octavio {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 30%, #2a1a0a 100%),
    radial-gradient(ellipse at 40% 50%, rgba(200,160,100,0.15) 0%, transparent 60%);
}
.scn-wallenstein-condemns-octavio .bg-wall {
  position:absolute; inset:0 0 35% 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
}
.scn-wallenstein-condemns-octavio .bg-floor {
  position:absolute; bottom:0; left:0; right:0; height:35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-wallenstein-condemns-octavio .column-left,
.scn-wallenstein-condemns-octavio .column-right {
  position:absolute; bottom:35%; width:18px; height:50%;
  background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 50%, #3a2a1a 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-wallenstein-condemns-octavio .column-left { left:15%; }
.scn-wallenstein-condemns-octavio .column-right { right:15%; }
.scn-wallenstein-condemns-octavio .window {
  position:absolute; top:10%; left:30%; width:25%; height:40%;
  background: rgba(220,200,160,0.1);
  border: 2px solid #6a5a4a;
  box-shadow: inset 0 0 30px rgba(220,200,160,0.2);
  animation: wc-window-pulse 8s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio .light-beam {
  position:absolute; top:10%; left:30%; width:25%; height:50%;
  background: linear-gradient(180deg, rgba(240,220,180,0.1) 0%, transparent 100%);
  filter: blur(6px);
  animation: wc-beam-sway 6s ease-in-out infinite alternate;
}
.scn-wallenstein-condemns-octavio .figure-wall {
  position:absolute; bottom:35%; left:35%; width:30px; height:60px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wc-wall-point 5s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio .figure-octavio {
  position:absolute; bottom:35%; right:38%; width:28px; height:50px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wc-octavio-kneel 4s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio .shield {
  position:absolute; bottom:36%; right:42%; width:20px; height:24px;
  background: radial-gradient(ellipse, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: wc-shield-lower 6s ease-in-out infinite;
}
.scn-wallenstein-condemns-octavio .candle-glow {
  position:absolute; bottom:40%; left:20%; width:20px; height:30px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 40%, transparent 70%);
  filter: blur(8px);
  animation: wc-candle-flicker 3s ease-in-out infinite alternate;
}
@keyframes wc-window-pulse {
  0% { opacity:0.6; box-shadow: inset 0 0 20px rgba(220,200,160,0.1);}
  50% { opacity:1; box-shadow: inset 0 0 40px rgba(220,200,160,0.3);}
  100% { opacity:0.7; box-shadow: inset 0 0 20px rgba(220,200,160,0.1);}
}
@keyframes wc-beam-sway {
  0% { transform: translateX(0); opacity:0.4; }
  50% { transform: translateX(6px); opacity:0.8; }
  100% { transform: translateX(-4px); opacity:0.5; }
}
@keyframes wc-wall-point {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(5deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes wc-octavio-kneel {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(0.95) translateY(3px); }
  100% { transform: scaleY(1) translateY(0); }
}
@keyframes wc-shield-lower {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(5px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes wc-candle-flicker {
  0% { transform: scale(0.9); opacity:0.6; }
  50% { transform: scale(1.05); opacity:1; }
  100% { transform: scale(0.95); opacity:0.7; }
}

/* Scene: wallenstein-embraces-butler */

.scn-wallenstein-embraces-butler {
  background:
    linear-gradient(180deg, #5a4a3a 0%, #7a6a5a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 100%, #8a7a6a 0%, transparent 70%);
}
.scn-wallenstein-embraces-butler .bg-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
}
.scn-wallenstein-embraces-butler .bg-floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-wallenstein-embraces-butler .window {
  position:absolute; top:8%; left:25%; width:30%; height:45%;
  background: rgba(240,220,180,0.2);
  border: 2px solid #8a7a6a;
  box-shadow: inset 0 0 40px rgba(240,220,180,0.3);
  animation: we-window-warm 6s ease-in-out infinite alternate;
}
.scn-wallenstein-embraces-butler .sunbeam {
  position:absolute; top:8%; left:25%; width:30%; height:60%;
  background: linear-gradient(180deg, rgba(255,230,180,0.15) 0%, transparent 100%);
  filter: blur(8px);
  animation: we-sunbeam-sway 8s ease-in-out infinite alternate;
}
.scn-wallenstein-embraces-butler .figure-wall {
  position:absolute; bottom:30%; left:35%; width:32px; height:55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: we-figure-lean 5s ease-in-out infinite;
}
.scn-wallenstein-embraces-butler .figure-butler {
  position:absolute; bottom:30%; right:35%; width:30px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: we-figure-hold 5s ease-in-out infinite reverse;
}
.scn-wallenstein-embraces-butler .embrace-arm {
  position:absolute; bottom:40%; left:42%; width:30px; height:6px;
  background: #2a1a0a;
  border-radius: 50%;
  transform: rotate(-20deg);
  animation: we-arm-embrace 5s ease-in-out infinite;
}
.scn-wallenstein-embraces-butler .dust-mote {
  position:absolute; top:20%; left:40%; width:4px; height:4px;
  background: rgba(255,230,180,0.6);
  border-radius: 50%;
  filter: blur(2px);
  animation: we-mote-drift 20s linear infinite;
}
.scn-wallenstein-embraces-butler .mote-delay {
  left:60%; animation-delay: -7s;
}
@keyframes we-window-warm {
  0% { background: rgba(240,220,180,0.1); box-shadow: inset 0 0 20px rgba(240,220,180,0.2); }
  50% { background: rgba(255,240,200,0.25); box-shadow: inset 0 0 60px rgba(255,240,200,0.4); }
  100% { background: rgba(240,220,180,0.15); box-shadow: inset 0 0 30px rgba(240,220,180,0.25); }
}
@keyframes we-sunbeam-sway {
  0% { transform: translateX(0) scaleY(1); opacity:0.5; }
  50% { transform: translateX(8px) scaleY(1.05); opacity:0.9; }
  100% { transform: translateX(-5px) scaleY(0.95); opacity:0.6; }
}
@keyframes we-figure-lean {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(3deg) translateX(2px); }
  100% { transform: rotate(-2deg) translateX(-1px); }
}
@keyframes we-figure-hold {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-2deg) translateX(-2px); }
  100% { transform: rotate(1deg) translateX(1px); }
}
@keyframes we-arm-embrace {
  0% { transform: rotate(-15deg) scaleX(1); }
  50% { transform: rotate(-25deg) scaleX(1.1); }
  100% { transform: rotate(-20deg) scaleX(0.95); }
}
@keyframes we-mote-drift {
  0% { transform: translate(0, 0) scale(1); opacity:0; }
  10% { opacity:1; }
  50% { transform: translate(100px, -50px) scale(1.5); opacity:0.8; }
  90% { opacity:0.2; }
  100% { transform: translate(150px, -80px) scale(0.5); opacity:0; }
}

/* Scene: wallenstein-hides-face-on-butler */

.scn-wallenstein-hides-face-on-butler {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-hides-face-on-butler .bg-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
}
.scn-wallenstein-hides-face-on-butler .bg-floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-wallenstein-hides-face-on-butler .column {
  position:absolute; bottom:30%; left:20%; width:20px; height:50%;
  background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-wallenstein-hides-face-on-butler .candle {
  position:absolute; bottom:40%; left:25%; width:8px; height:20px;
  background: linear-gradient(180deg, #b08040 0%, #8a6a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 10px 2px #b08040;
}
.scn-wallenstein-hides-face-on-butler .candle-glow {
  position:absolute; bottom:40%; left:25%; width:40px; height:50px;
  background: radial-gradient(circle, rgba(200,160,80,0.4) 0%, transparent 100%);
  filter: blur(10px);
  animation: wb-candle-flicker 3s ease-in-out infinite alternate;
}
.scn-wallenstein-hides-face-on-butler .figure-wall {
  position:absolute; bottom:30%; left:38%; width:34px; height:55px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wb-wall-hide 4s ease-in-out infinite;
}
.scn-wallenstein-hides-face-on-butler .figure-butler {
  position:absolute; bottom:30%; right:36%; width:32px; height:52px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wb-butler-support 4s ease-in-out infinite reverse;
}
.scn-wallenstein-hides-face-on-butler .shadow-over-face {
  position:absolute; bottom:45%; left:40%; width:18px; height:18px;
  background: radial-gradient(ellipse at 50% 50%, #000 0%, transparent 100%);
  filter: blur(4px);
  opacity:0.6;
  animation: wb-shadow-pulse 5s ease-in-out infinite alternate;
}
@keyframes wb-candle-flicker {
  0% { transform: scale(0.9); opacity:0.7; }
  50% { transform: scale(1.05); opacity:1; }
  100% { transform: scale(0.95); opacity:0.8; }
}
@keyframes wb-wall-hide {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(4deg) translateX(3px); }
  100% { transform: rotate(-2deg) translateX(-1px); }
}
@keyframes wb-butler-support {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-3deg) translateX(-2px); }
  100% { transform: rotate(1deg) translateX(1px); }
}
@keyframes wb-shadow-pulse {
  0% { opacity:0.4; transform: scale(0.8); }
  50% { opacity:0.7; transform: scale(1.1); }
  100% { opacity:0.5; transform: scale(0.9); }
}

/* Scene: courier-from-prague-expected */

.scn-courier-from-prague-expected {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #5a4a3a 40%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 100%, #6a5a4a 0%, transparent 70%);
}
.scn-courier-from-prague-expected .bg-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
}
.scn-courier-from-prague-expected .bg-floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-courier-from-prague-expected .window {
  position:absolute; top:10%; left:15%; width:25%; height:40%;
  background: rgba(200,180,140,0.15);
  border: 2px solid #6a5a4a;
  box-shadow: inset 0 0 30px rgba(200,180,140,0.2);
  animation: cp-window-flash 10s ease-in-out infinite;
}
.scn-courier-from-prague-expected .door {
  position:absolute; bottom:30%; right:10%; width:18%; height:50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border: 2px solid #6a5a4a;
  border-radius: 0 0 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: cp-door-swing 6s ease-in-out infinite;
}
.scn-courier-from-prague-expected .figure-wall {
  position:absolute; bottom:30%; left:35%; width:30px; height:55px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cp-wall-turn 5s ease-in-out infinite;
}
.scn-courier-from-prague-expected .courier {
  position:absolute; bottom:30%; right:30%; width:26px; height:50px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cp-courier-enter 7s ease-in-out infinite;
}
.scn-courier-from-prague-expected .table {
  position:absolute; bottom:32%; left:28%; right:45%; height:12px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-courier-from-prague-expected .document {
  position:absolute; bottom:36%; left:32%; width:14px; height:18px;
  background: linear-gradient(180deg, #c8b898 0%, #a89070 100%);
  border-radius: 5%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: cp-document-tremor 4s ease-in-out infinite;
}
.scn-courier-from-prague-expected .door-shadow {
  position:absolute; bottom:30%; right:10%; width:18%; height:50%;
  background: rgba(0,0,0,0.2);
  filter: blur(8px);
  transform: scaleX(1.1);
  animation: cp-shadow-flicker 6s ease-in-out infinite;
}
@keyframes cp-window-flash {
  0% { box-shadow: inset 0 0 20px rgba(200,180,140,0.1); background: rgba(200,180,140,0.1); }
  50% { box-shadow: inset 0 0 50px rgba(200,180,140,0.3); background: rgba(250,230,190,0.2); }
  100% { box-shadow: inset 0 0 20px rgba(200,180,140,0.1); background: rgba(200,180,140,0.1); }
}
@keyframes cp-door-swing {
  0% { transform: perspective(400px) rotateY(0deg); }
  50% { transform: perspective(400px) rotateY(-15deg); }
  100% { transform: perspective(400px) rotateY(0deg); }
}
@keyframes cp-wall-turn {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(5deg) translateX(3px); }
  100% { transform: rotate(-3deg) translateX(-1px); }
}
@keyframes cp-courier-enter {
  0% { transform: translateX(30px) scale(0.9); opacity:0; }
  25% { opacity:1; }
  50% { transform: translateX(0) scale(1); }
  75% { transform: translateX(-5px) scale(0.98); }
  100% { transform: translateX(30px) scale(0.9); opacity:0; }
}
@keyframes cp-document-tremor {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(-3px) rotate(-1deg); }
}
@keyframes cp-shadow-flicker {
  0% { opacity:0.3; transform: scaleX(1) scaleY(1); }
  50% { opacity:0.6; transform: scaleX(1.2) scaleY(1.05); }
  100% { opacity:0.4; transform: scaleX(0.9) scaleY(0.95); }
}

.scn-wallenstein-pardoned {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 100%, #5a3a2a 0%, transparent 60%);
}
.scn-wallenstein-pardoned .bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(200,160,100,.1) 0%, transparent 60%);
  animation: ks-ambient 20s ease-in-out infinite alternate;
}
.scn-wallenstein-pardoned .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1e1008 0%, #3a2a1a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.scn-wallenstein-pardoned .window {
  position: absolute; top: 20%; left: 15%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #2a3a5a 0%, #1a2a3a 50%, #0a1a2a 100%);
  border: 2px solid #4a3a2a; border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(100,150,200,.2);
  animation: ks-window 12s ease-in-out infinite alternate;
}
.scn-wallenstein-pardoned .figure {
  position: absolute; bottom: 30%; left: 50%; width: 20%; height: 45%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: 0 8px 20px rgba(0,0,0,.6);
  animation: ks-fig 6s ease-in-out infinite alternate;
}
.scn-wallenstein-pardoned .candle {
  position: absolute; bottom: 32%; left: 42%; width: 3%; height: 8%;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%);
  border-radius: 20% 20% 10% 10%;
}
.scn-wallenstein-pardoned .glow {
  position: absolute; bottom: 38%; left: 41%; width: 6%; height: 12%;
  background: radial-gradient(circle, #f0c080 0%, #c08040 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(240,192,128,.5);
  animation: ks-glow 3s ease-in-out infinite alternate;
}
@keyframes ks-ambient { 0% { opacity: .6 } 50% { opacity: .8 } 100% { opacity: .6 } }
@keyframes ks-window { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes ks-fig { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(-1px) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes ks-glow { 0% { box-shadow: 0 0 20px 5px rgba(240,192,128,.4); opacity: .8 } 50% { box-shadow: 0 0 40px 15px rgba(240,192,128,.7); opacity: 1 } 100% { box-shadow: 0 0 25px 8px rgba(240,192,128,.5); opacity: .9 } }

.scn-wallenstein-fatalism {
  background:
    linear-gradient(180deg, #0e0a14 0%, #1a1220 40%, #2a1a2e 100%),
    radial-gradient(ellipse at 30% 50%, #3a2a44 0%, transparent 70%);
}
.scn-wallenstein-fatalism .bg {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(0,0,0,.05) 2px, rgba(0,0,0,.05) 4px);
  animation: kf-shimmer 15s linear infinite;
}
.scn-wallenstein-fatalism .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #0a0a12 0%, #1a1420 100%);
}
.scn-wallenstein-fatalism .window {
  position: absolute; top: 10%; right: 10%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%);
  border: 3px solid #3a2a42;
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(50,60,100,.3);
}
.scn-wallenstein-fatalism .figure.duke {
  position: absolute; bottom: 25%; left: 35%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #1a1620 0%, #0a0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: -5px 0 10px rgba(0,0,0,.5);
  animation: kf-duke 8s ease-in-out infinite alternate;
}
.scn-wallenstein-fatalism .figure.servant {
  position: absolute; bottom: 25%; left: 55%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: kf-servant 6s ease-in-out infinite alternate;
}
.scn-wallenstein-fatalism .candle {
  position: absolute; bottom: 28%; left: 52%; width: 2%; height: 6%;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a3a2a 100%);
  border-radius: 10%;
}
.scn-wallenstein-fatalism .glow {
  position: absolute; bottom: 33%; left: 50%; width: 8%; height: 16%;
  background: radial-gradient(circle, #c0a060 0%, #806040 30%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(192,160,96,.4);
  animation: kf-glow 4s ease-in-out infinite alternate;
}
@keyframes kf-shimmer { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .3 } }
@keyframes kf-duke { 0% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) rotate(2deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes kf-servant { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-1px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes kf-glow { 0% { box-shadow: 0 0 20px 5px rgba(192,160,96,.3); opacity: .7 } 50% { box-shadow: 0 0 50px 20px rgba(192,160,96,.6); opacity: 1 } 100% { box-shadow: 0 0 30px 10px rgba(192,160,96,.4); opacity: .8 } }

.scn-groom-pleads {
  background:
    linear-gradient(180deg, #2a1a10 0%, #1a0e08 50%, #0a0502 100%),
    radial-gradient(circle at 40% 50%, #4a2a18 0%, transparent 70%);
}
.scn-groom-pleads .bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 30%, rgba(150,80,40,.15) 0%, transparent 70%);
  animation: kg-pulse 3s ease-in-out infinite alternate;
}
.scn-groom-pleads .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(0deg, #120804 0%, #2a1a10 100%);
}
.scn-groom-pleads .groom {
  position: absolute; bottom: 20%; left: 40%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%) scale(0.9);
  box-shadow: 0 8px 20px rgba(0,0,0,.5);
  animation: kg-groom 2.5s ease-in-out infinite alternate;
}
.scn-groom-pleads .wallenstein {
  position: absolute; bottom: 20%; left: 60%; width: 20%; height: 55%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  box-shadow: -8px 0 15px rgba(0,0,0,.6);
  animation: kg-wallen 6s ease-in-out infinite alternate;
}
.scn-groom-pleads .table {
  position: absolute; bottom: 18%; left: 50%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 5% 5% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-groom-pleads .candle {
  position: absolute; bottom: 22%; left: 52%; width: 2%; height: 8%;
  background: linear-gradient(180deg, #9a7a4a 0%, #5a4a2a 100%);
  border-radius: 10%;
}
.scn-groom-pleads .glow {
  position: absolute; bottom: 30%; left: 50%; width: 10%; height: 20%;
  background: radial-gradient(circle, #e0b060 0%, #a07030 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(224,176,96,.5);
  animation: kg-glow 1.5s ease-in-out infinite alternate;
}
@keyframes kg-pulse { 0% { opacity: .5 } 50% { opacity: .9 } 100% { opacity: .5 } }
@keyframes kg-groom { 0% { transform: translateX(-50%) scale(0.9) rotate(-2deg) } 50% { transform: translateX(-50%) scale(1) rotate(0deg) translateY(-3px) } 100% { transform: translateX(-50%) scale(0.9) rotate(-2deg) } }
@keyframes kg-wallen { 0% { transform: translateX(-50%) rotate(0deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(-1px) } 100% { transform: translateX(-50%) rotate(0deg) } }
@keyframes kg-glow { 0% { box-shadow: 0 0 30px 10px rgba(224,176,96,.4); opacity: .8 } 50% { box-shadow: 0 0 80px 30px rgba(224,176,96,.7); opacity: 1 } 100% { box-shadow: 0 0 40px 15px rgba(224,176,96,.5); opacity: .9 } }

.scn-wallenstein-exit {
  background:
    linear-gradient(180deg, #1a1412 0%, #2e221e 30%, #1a1412 100%),
    radial-gradient(ellipse at 80% 50%, #3a2a24 0%, transparent 70%);
}
.scn-wallenstein-exit .bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.2) 50%, transparent 100%);
  animation: ke-shadow 12s ease-in-out infinite alternate;
}
.scn-wallenstein-exit .floor {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(0deg, #0e0a08 0%, #2a1e1a 100%);
  clip-path: polygon(15% 0%, 85% 0%, 95% 100%, 5% 100%);
}
.scn-wallenstein-exit .wall-left {
  position: absolute; top: 0; left: 0; width: 15%; height: 100%;
  background: linear-gradient(180deg, #2e1e18 0%, #1a0e0a 100%);
  transform: skewY(5deg);
  transform-origin: bottom left;
}
.scn-wallenstein-exit .wall-right {
  position: absolute; top: 0; right: 0; width: 15%; height: 100%;
  background: linear-gradient(180deg, #2e1e18 0%, #1a0e0a 100%);
  transform: skewY(-5deg);
  transform-origin: bottom right;
}
.scn-wallenstein-exit .door {
  position: absolute; bottom: 30%; left: 50%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #3a2a22 0%, #1a0e0a 100%);
  border: 2px solid #4a3a32;
  border-radius: 2% 2% 0 0;
  transform: translateX(-50%);
  box-shadow: inset 0 0 10px rgba(0,0,0,.5), 0 0 30px rgba(100,60,40,.3);
}
.scn-wallenstein-exit .gordon {
  position: absolute; bottom: 30%; left: 20%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  box-shadow: 5px 0 15px rgba(0,0,0,.4);
  animation: ke-gordon 8s ease-in-out infinite alternate;
}
.scn-wallenstein-exit .light {
  position: absolute; bottom: 35%; left: 70%; width: 8%; height: 15%;
  background: radial-gradient(circle, #c09060 0%, #805030 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 50px 20px rgba(192,144,96,.4);
  animation: ke-light 5s ease-in-out infinite alternate;
}
@keyframes ke-shadow { 0% { opacity: .3 } 50% { opacity: .5 } 100% { opacity: .3 } }
@keyframes ke-gordon { 0% { transform: scaleX(-1) translateX(0) } 50% { transform: scaleX(-1) translateX(-2px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes ke-light { 0% { box-shadow: 0 0 30px 10px rgba(192,144,96,.3); opacity: .7 } 50% { box-shadow: 0 0 70px 25px rgba(192,144,96,.6); opacity: 1 } 100% { box-shadow: 0 0 40px 15px rgba(192,144,96,.4); opacity: .8 } }

/* Scene: butler-offers-alliance */

.scn-butler-offers-alliance {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-butler-offers-alliance .bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a0a0a 100%);
}
.scn-butler-offers-alliance .table {
  position:absolute; bottom:20%; left:10%; right:10%; height:8%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 4px; box-shadow: 0 -2px 10px rgba(0,0,0,.6);
  animation: ofA-table 12s ease-in-out infinite;
}
.scn-butler-offers-alliance .candle {
  position:absolute; bottom:28%; left:50%; transform:translateX(-50%);
  width:8px; height:20px;
  background: linear-gradient(180deg, #f0c060 0%, #b08040 100%);
  border-radius:2px; box-shadow: 0 0 20px 8px #c08040;
  animation: ofA-candle 3s ease-in-out infinite alternate;
}
.scn-butler-offers-alliance .figure-left {
  position:absolute; bottom:20%; left:25%;
  width:30px; height:60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: ofA-figL 4s ease-in-out infinite;
}
.scn-butler-offers-alliance .figure-right {
  position:absolute; bottom:20%; right:25%;
  width:30px; height:60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg) scaleX(-1);
  animation: ofA-figR 4s ease-in-out infinite;
}
.scn-butler-offers-alliance .hand {
  position:absolute; bottom:22%; left:55%;
  width:10px; height:14px;
  background: #3a2a1a;
  border-radius: 50% 30% 30% 50% / 60% 40% 40% 60%;
  transform: rotate(30deg);
  animation: ofA-hand 6s ease-in-out infinite;
}
.scn-butler-offers-alliance .shadow {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 100%);
  animation: ofA-shadow 8s ease-in-out infinite;
}
@keyframes ofA-table {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes ofA-candle {
  0% { opacity:.7; box-shadow: 0 0 15px 6px #c08040; }
  50% { opacity:1; box-shadow: 0 0 25px 10px #ffd060; }
  100% { opacity:.8; box-shadow: 0 0 18px 7px #c08040; }
}
@keyframes ofA-figL {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes ofA-figR {
  0% { transform: rotate(-5deg) scaleX(-1) translateY(0); }
  50% { transform: rotate(-5deg) scaleX(-1) translateY(-2px); }
  100% { transform: rotate(-5deg) scaleX(-1) translateY(0); }
}
@keyframes ofA-hand {
  0% { transform: rotate(30deg) translateY(0); }
  50% { transform: rotate(30deg) translateY(-3px); }
  100% { transform: rotate(30deg) translateY(0); }
}
@keyframes ofA-shadow {
  0% { opacity:.6; }
  50% { opacity:.8; }
  100% { opacity:.6; }
}

/* Scene: butler-handshake-alliance */

.scn-butler-handshake-alliance {
  background: linear-gradient(180deg, #1e1a2a 0%, #2a1a1a 50%, #3a221a 100%), radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-butler-handshake-alliance .bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a0a0a 100%);
}
.scn-butler-handshake-alliance .table {
  position:absolute; bottom:20%; left:10%; right:10%; height:8%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2a0a 100%);
  border-radius: 4px; box-shadow: 0 -2px 10px rgba(0,0,0,.6);
  animation: haA-table 12s ease-in-out infinite;
}
.scn-butler-handshake-alliance .candle {
  position:absolute; bottom:28%; left:50%; transform:translateX(-50%);
  width:8px; height:20px;
  background: linear-gradient(180deg, #f0c060 0%, #b08040 100%);
  border-radius:2px; box-shadow: 0 0 20px 8px #c08040;
  animation: haA-candle 3s ease-in-out infinite alternate;
}
.scn-butler-handshake-alliance .figure-left {
  position:absolute; bottom:20%; left:25%;
  width:30px; height:60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: haA-figL 4s ease-in-out infinite;
}
.scn-butler-handshake-alliance .figure-right {
  position:absolute; bottom:20%; right:25%;
  width:30px; height:60px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-5deg) scaleX(-1);
  animation: haA-figR 4s ease-in-out infinite;
}
.scn-butler-handshake-alliance .handshake {
  position:absolute; bottom:25%; left:45%;
  width:20px; height:12px;
  background: linear-gradient(90deg, #3a2a1a 50%, #2a1a0a 50%);
  border-radius: 30% 30% 30% 30%;
  animation: haA-shake 2s ease-in-out infinite;
}
.scn-butler-handshake-alliance .document {
  position:absolute; bottom:21%; left:40%;
  width:30px; height:4px;
  background: #c8b080;
  border-radius: 1px;
  animation: haA-doc 10s ease-in-out infinite;
}
@keyframes haA-table {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes haA-candle {
  0% { opacity:.7; box-shadow: 0 0 15px 6px #c08040; }
  50% { opacity:1; box-shadow: 0 0 25px 10px #ffd060; }
  100% { opacity:.8; box-shadow: 0 0 18px 7px #c08040; }
}
@keyframes haA-figL {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes haA-figR {
  0% { transform: rotate(-5deg) scaleX(-1) translateY(0); }
  50% { transform: rotate(-5deg) scaleX(-1) translateY(-2px); }
  100% { transform: rotate(-5deg) scaleX(-1) translateY(0); }
}
@keyframes haA-shake {
  0% { transform: rotate(5deg) translateX(0); }
  50% { transform: rotate(-5deg) translateX(-2px); }
  100% { transform: rotate(5deg) translateX(0); }
}
@keyframes haA-doc {
  0%,100% { opacity:.6; }
  50% { opacity:1; }
}

/* Scene: butler-stands-alone */

.scn-butler-stands-alone {
  background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 50%, #4a3a2a 100%), radial-gradient(ellipse at 50% 40%, #5a4a3a 0%, transparent 70%);
}
.scn-butler-stands-alone .bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
}
.scn-butler-stands-alone .wall {
  position:absolute; top:0; left:0; right:0; bottom:40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  animation: stA-wall 12s ease-in-out infinite;
}
.scn-butler-stands-alone .floor {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  animation: stA-floor 12s ease-in-out infinite;
}
.scn-butler-stands-alone .figure {
  position:absolute; bottom:10%; left:50%; transform:translateX(-50%);
  width:30px; height:70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: stA-fig 6s ease-in-out infinite;
}
.scn-butler-stands-alone .lantern {
  position:absolute; bottom:15%; left:55%;
  width:10px; height:15px;
  background: radial-gradient(circle, #f0c060 0%, #b08040 70%);
  border-radius: 20%; box-shadow: 0 0 30px 10px #c08040;
  animation: stA-lantern 4s ease-in-out alternate infinite;
}
.scn-butler-stands-alone .glow {
  position:absolute; bottom:0; left:0; right:0; height:60%;
  background: radial-gradient(ellipse at 55% 15%, rgba(192,128,64,.3) 0%, transparent 70%);
  animation: stA-glow 8s ease-in-out infinite;
}
.scn-butler-stands-alone .chair {
  position:absolute; bottom:10%; left:30%;
  width:20px; height:30px;
  background: #2a1a0a;
  border-radius: 10% 10% 40% 40%;
  animation: stA-chair 12s ease-in-out infinite;
}
@keyframes stA-wall {
  0%,100% { opacity:.9; }
  50% { opacity:1; }
}
@keyframes stA-floor {
  0%,100% { opacity:.8; }
  50% { opacity:1; }
}
@keyframes stA-fig {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(1deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes stA-lantern {
  0% { opacity:.7; box-shadow: 0 0 20px 8px #c08040; }
  50% { opacity:1; box-shadow: 0 0 35px 12px #ffd060; }
  100% { opacity:.8; box-shadow: 0 0 25px 9px #c08040; }
}
@keyframes stA-glow {
  0% { opacity:.6; }
  50% { opacity:.9; }
  100% { opacity:.6; }
}
@keyframes stA-chair {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
}

/* Scene: butler-risen-from-ireland */

.scn-butler-risen-from-ireland {
  background: linear-gradient(180deg, #1a2210 0%, #2a1a0a 50%, #3a2a1a 100%), radial-gradient(ellipse at 30% 70%, #4a3a2a 0%, transparent 70%);
}
.scn-butler-risen-from-ireland .bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #1a1a0a 0%, #1a0a00 100%);
}
.scn-butler-risen-from-ireland .fireplace {
  position:absolute; bottom:20%; left:20%; right:60%; height:50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.6);
  animation: riA-fireplace 12s ease-in-out infinite;
}
.scn-butler-risen-from-ireland .fire {
  position:absolute; bottom:25%; left:25%;
  width:30px; height:40px;
  background: radial-gradient(ellipse at 50% 100%, #ff8040 0%, #c04020 50%, transparent 100%);
  border-radius: 50%;
  animation: riA-fire 2s ease-in-out alternate infinite;
}
.scn-butler-risen-from-ireland .figure {
  position:absolute; bottom:10%; left:50%; transform:translateX(-50%);
  width:35px; height:75px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: riA-fig 6s ease-in-out infinite;
}
.scn-butler-risen-from-ireland .map {
  position:absolute; bottom:15%; left:55%;
  width:40px; height:30px;
  background: linear-gradient(135deg, #c8b080 0%, #a09060 100%);
  border-radius: 2px; transform: rotate(-10deg);
  animation: riA-map 15s ease-in-out infinite;
}
.scn-butler-risen-from-ireland .hat {
  position:absolute; top:5%; left:45%;
  width:30px; height:15px;
  background: #2a1a0a;
  border-radius: 50% 50% 10% 10%;
  animation: riA-hat 8s ease-in-out infinite;
}
.scn-butler-risen-from-ireland .staff {
  position:absolute; bottom:10%; left:40%;
  width:4px; height:60px;
  background: #4a3a2a;
  border-radius: 2px; transform: rotate(8deg);
  animation: riA-staff 5s ease-in-out infinite;
}
@keyframes riA-fireplace {
  0%,100% { opacity:.9; }
  50% { opacity:1; }
}
@keyframes riA-fire {
  0% { transform: scaleY(1) translateY(0); opacity:.8; }
  50% { transform: scaleY(1.1) translateY(-3px); opacity:1; }
  100% { transform: scaleY(0.95) translateY(0); opacity:.9; }
}
@keyframes riA-fig {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(1deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes riA-map {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}
@keyframes riA-hat {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes riA-staff {
  0% { transform: rotate(8deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-2px); }
  100% { transform: rotate(8deg) translateY(0); }
}

.scn-gordon-mourns-hubris {
  background: linear-gradient(180deg, #1a0e08 0%, #2b1610 40%, #3a1e12 100%), radial-gradient(ellipse at 50% 30%, #4a2a1a 0%, transparent 70%);
}
.scn-gordon-mourns-hubris .wall {
  position:absolute; inset:0; background: linear-gradient(90deg, #1a0e08 0%, #2b1610 50%, #1a0e08 100%);
  animation: gmh-wall 20s ease-in-out infinite alternate;
}
.scn-gordon-mourns-hubris .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2b1610 0%, #1a0e08 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-gordon-mourns-hubris .table {
  position:absolute; bottom:15%; left:30%; right:30%; height:8%; background: linear-gradient(180deg, #4a2a1a 0%, #2b1610 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-gordon-mourns-hubris .figure {
  position:absolute; bottom:12%; left:42%; width:24px; height:56px;
  background: linear-gradient(180deg, #3a1e12 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gmh-figure 6s ease-in-out infinite;
}
.scn-gordon-mourns-hubris .candle {
  position:absolute; bottom:19%; left:48%; width:8px; height:20px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 3px 3px 2px 2px;
  animation: gmh-candle 3s ease-in-out infinite alternate;
}
.scn-gordon-mourns-hubris .light {
  position:absolute; bottom:16%; left:44%; width:30px; height:40px;
  background: radial-gradient(circle, #ffd080 0%, #b08040 30%, transparent 100%);
  border-radius: 50%;
  animation: gmh-light 4s ease-in-out infinite alternate;
}
.scn-gordon-mourns-hubris .shadow {
  position:absolute; bottom:0; left:30%; right:30%; height:15%;
  background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: gmh-shadow 5s ease-in-out infinite alternate;
}
@keyframes gmh-wall { 0% { opacity:0.8; } 50% { opacity:0.9; } 100% { opacity:0.75; } }
@keyframes gmh-figure { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 50% { transform: translateY(2px) rotate(-2deg) scaleY(0.98); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes gmh-candle { 0% { transform: scaleY(1) scaleX(1); opacity:0.9; } 50% { transform: scaleY(1.05) scaleX(0.95); opacity:0.8; } 100% { transform: scaleY(0.95) scaleX(1.02); opacity:0.85; } }
@keyframes gmh-light { 0% { transform: scale(1); opacity:0.6; } 50% { transform: scale(1.1); opacity:0.8; } 100% { transform: scale(1.05); opacity:0.65; } }
@keyframes gmh-shadow { 0% { transform: scaleX(1); opacity:0.5; } 50% { transform: scaleX(1.2); opacity:0.7; } 100% { transform: scaleX(1); opacity:0.55; } }

.scn-butler-justifies-action {
  background: linear-gradient(135deg, #1a0e08 0%, #2b1610 50%, #1a0e08 100%), radial-gradient(ellipse at 40% 50%, #3a1e12 0%, transparent 60%);
}
.scn-butler-justifies-action .wall {
  position:absolute; inset:0; background: linear-gradient(90deg, #1a0e08 0%, #2b1610 50%, #1a0e08 100%);
  animation: bja-wall 8s ease-in-out infinite alternate;
}
.scn-butler-justifies-action .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #2b1610 0%, #1a0e08 100%);
  border-radius: 30% 30% 0 0 / 15% 15% 0 0;
}
.scn-butler-justifies-action .desk {
  position:absolute; bottom:12%; left:35%; right:35%; height:6%; background: linear-gradient(180deg, #4a2a1a 0%, #2b1610 100%);
  border-radius: 4px;
}
.scn-butler-justifies-action .figure {
  position:absolute; bottom:8%; left:45%; width:20px; height:60px;
  background: linear-gradient(180deg, #702243 0%, #3a1e12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bja-figure 3s ease-in-out infinite;
}
.scn-butler-justifies-action .document {
  position:absolute; top:15%; left:20%; width:30%; height:35%;
  background: linear-gradient(135deg, #2b1610 0%, #3a1e12 30%, #2b1610 60%, #4a2a1a 100%);
  border: 2px solid #4a2a1a; border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bja-document 6s ease-in-out infinite alternate;
}
.scn-butler-justifies-action .sword {
  position:absolute; bottom:20%; left:55%; width:6px; height:30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #2b1610 100%);
  border-radius: 2px;
  transform: rotate(-30deg);
  animation: bja-sword 4s ease-in-out infinite alternate;
}
.scn-butler-justifies-action .light {
  position:absolute; inset:0; background: radial-gradient(ellipse at 60% 40%, rgba(255,200,100,0.15) 0%, transparent 70%);
  animation: bja-light 5s ease-in-out infinite alternate;
}
@keyframes bja-wall { 0% { opacity:0.9; } 50% { opacity:0.7; } 100% { opacity:0.85; } }
@keyframes bja-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bja-document { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bja-sword { 0% { transform: rotate(-30deg); } 50% { transform: rotate(-25deg); } 100% { transform: rotate(-30deg); } }
@keyframes bja-light { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.6; } }

.scn-gordon-wrestles-with-duty {
  background: linear-gradient(180deg, #0a0604 0%, #1a0e08 40%, #2b1610 100%), radial-gradient(ellipse at 50% 20%, #3a1e12 0%, transparent 70%);
}
.scn-gordon-wrestles-with-duty .wall {
  position:absolute; inset:0; background: linear-gradient(90deg, #0a0604 0%, #1a0e08 50%, #0a0604 100%);
  animation: gwd-wall 30s ease-in-out infinite alternate;
}
.scn-gordon-wrestles-with-duty .arch {
  position:absolute; top:0; left:25%; right:25%; height:40%;
  background: linear-gradient(180deg, #2b1610 0%, #1a0e08 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-gordon-wrestles-with-duty .altar {
  position:absolute; bottom:12%; left:38%; right:38%; height:8%;
  background: linear-gradient(180deg, #3a1e12 0%, #1a0e08 100%);
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-gordon-wrestles-with-duty .figure {
  position:absolute; bottom:8%; left:44%; width:22px; height:50px;
  background: linear-gradient(180deg, #2b1610 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gwd-figure 12s ease-in-out infinite;
}
.scn-gordon-wrestles-with-duty .lightbeam {
  position:absolute; top:0; left:45%; right:45%; bottom:20%;
  background: linear-gradient(180deg, rgba(255,220,150,0.15) 0%, transparent 100%);
  transform: skewX(-5deg);
  animation: gwd-lightbeam 15s ease-in-out infinite alternate;
}
.scn-gordon-wrestles-with-duty .incense {
  position:absolute; top:18%; left:50%; width:12px; height:20px;
  background: radial-gradient(circle, rgba(200,180,150,0.3) 0%, transparent 100%);
  filter: blur(4px);
  border-radius: 50%;
  animation: gwd-incense 8s ease-in-out infinite;
}
@keyframes gwd-wall { 0% { opacity:0.85; } 50% { opacity:0.95; } 100% { opacity:0.8; } }
@keyframes gwd-figure { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 50% { transform: translateY(3px) rotate(-1deg) scaleY(0.97); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes gwd-lightbeam { 0% { transform: skewX(-5deg) scaleY(1); opacity:0.4; } 50% { transform: skewX(-3deg) scaleY(1.02); opacity:0.6; } 100% { transform: skewX(-5deg) scaleY(1); opacity:0.4; } }
@keyframes gwd-incense { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.2); } 100% { transform: translateY(0) scale(1); } }

.scn-gordon-recalls-wallsteins-generosity {
  background: linear-gradient(180deg, #2b1a10 0%, #4a2a1a 40%, #2b1a10 100%), radial-gradient(ellipse at 50% 30%, #5a3a2a 0%, transparent 60%);
}
.scn-gordon-recalls-wallsteins-generosity .wall {
  position:absolute; inset:0; background: linear-gradient(90deg, #2b1a10 0%, #3a2218 50%, #2b1a10 100%);
  animation: grwg-wall 25s ease-in-out infinite alternate;
}
.scn-gordon-recalls-wallsteins-generosity .portrait {
  position:absolute; top:10%; left:35%; right:35%; height:45%;
  border: 3px solid #5a3a2a; border-radius: 6px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2b1a10 50%, #3a2218 100%);
  box-shadow: 0 6px 12px rgba(0,0,0,0.6);
  animation: grwg-portrait 15s ease-in-out infinite alternate;
}
.scn-gordon-recalls-wallsteins-generosity .table {
  position:absolute; bottom:12%; left:25%; right:25%; height:10%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-gordon-recalls-wallsteins-generosity .figure {
  position:absolute; bottom:6%; left:40%; width:24px; height:54px;
  background: linear-gradient(180deg, #3a2218 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: grwg-figure 10s ease-in-out infinite alternate;
}
.scn-gordon-recalls-wallsteins-generosity .coins {
  position:absolute; bottom:18%; left:44%; width:20px; height:10px;
  background: linear-gradient(90deg, #d4a060 0%, #b08040 30%, #d4a060 60%, #b08040 100%);
  border-radius: 50% / 100% 100% 0 0;
  animation: grwg-coins 6s ease-in-out infinite alternate;
}
.scn-gordon-recalls-wallsteins-generosity .candle {
  position:absolute; bottom:22%; left:55%; width:8px; height:18px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 3px;
  animation: grwg-candle 4s ease-in-out infinite alternate;
}
.scn-gordon-recalls-wallsteins-generosity .light {
  position:absolute; bottom:18%; left:50%; width:40px; height:40px;
  background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 100%);
  border-radius: 50%;
  animation: grwg-light 5s ease-in-out infinite alternate;
}
@keyframes grwg-wall { 0% { opacity:0.8; } 50% { opacity:0.9; } 100% { opacity:0.85; } }
@keyframes grwg-portrait { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes grwg-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes grwg-coins { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-1px) scaleX(0.95); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes grwg-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.04) scaleX(0.95); } 100% { transform: scaleY(1); } }
@keyframes grwg-light { 0% { transform: scale(1); opacity:0.5; } 50% { transform: scale(1.1); opacity:0.7; } 100% { transform: scale(1); opacity:0.5; } }

.scn-countess-consent-grave { background: linear-gradient(180deg, #0c0a1a 0%, #1a1420 50%, #2a1a1a 100%), radial-gradient(ellipse at 50% 20%, #2a1a1a 0%, transparent 70%); }
.scn-countess-consent-grave .sky { position:absolute; inset:0 0 60% 0; background: #0a0812; animation: ccg-sky 12s ease-in-out infinite alternate; }
.scn-countess-consent-grave .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #1a1210 0%, #0f0a08 100%); border-radius: 30% 30% 0 0 / 20% 20% 0 0; }
.scn-countess-consent-grave .tombstone { position:absolute; bottom:20%; left:40%; width:60px; height:80px; background: linear-gradient(180deg, #3a3028 0%, #1f1815 100%); border-radius: 30% 30% 5% 5%; box-shadow: inset 0 -4px 8px rgba(0,0,0,.6), 0 4px 6px rgba(0,0,0,.4); }
.scn-countess-consent-grave .candle { position:absolute; bottom:30%; left:45%; width:10px; height:30px; background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%); border-radius:2px; }
.scn-countess-consent-grave .flame { position:absolute; bottom:36%; left:45.5%; width:6px; height:12px; background: radial-gradient(circle, #ffb040 0%, #ff8020 40%, #cc4400 80%); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 20px 8px #ff8020, 0 0 40px 16px rgba(255,128,32,.4); animation: ccg-flame 2s ease-in-out infinite; }
.scn-countess-consent-grave .figure { position:absolute; bottom:15%; left:30%; width:30px; height:70px; background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ccg-figure 6s ease-in-out infinite; }
.scn-countess-consent-grave .shadow-smear { position:absolute; bottom:12%; left:25%; width:80px; height:20px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 100%); border-radius:50%; filter: blur(4px); animation: ccg-shadow 6s ease-in-out infinite alternate; }
@keyframes ccg-sky { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .6 } }
@keyframes ccg-flame { 0% { transform: scaleY(1); opacity: .9 } 50% { transform: scaleY(1.3) scaleX(.8); opacity: 1 } 100% { transform: scaleY(.9); opacity: .7 } }
@keyframes ccg-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ccg-shadow { 0% { transform: scaleX(1) translateX(0) } 100% { transform: scaleX(1.2) translateX(5px) } }

.scn-wallenstein-not-tongue-hero { background: linear-gradient(180deg, #1a1410 0%, #2a1c14 30%, #1a0e0a 100%), radial-gradient(ellipse at 80% 50%, #3a2218 0%, transparent 60%); }
.scn-wallenstein-not-tongue-hero .wall-back { position:absolute; inset:0; background: #2a1c14; }
.scn-wallenstein-not-tongue-hero .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1a0e0a 0%, #0f0805 100%); }
.scn-wallenstein-not-tongue-hero .window-frame { position:absolute; right:10%; top:20%; width:60px; height:80px; border:4px solid #2a2018; border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.5); }
.scn-wallenstein-not-tongue-hero .window-sky { position:absolute; right:12%; top:22%; width:52px; height:72px; background: linear-gradient(180deg, #0a0a1a 0%, #1a1020 100%); animation: wnt-night 15s ease-in-out infinite alternate; }
.scn-wallenstein-not-tongue-hero .table { position:absolute; bottom:25%; left:30%; width:80px; height:15px; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:2px; box-shadow: 0 4px 6px #000; }
.scn-wallenstein-not-tongue-hero .figure-profile { position:absolute; bottom:22%; left:25%; width:20px; height:60px; background: #0d0806; border-radius: 40% 30% 50% 50% / 60% 40% 50% 50%; transform: rotate(5deg); animation: wnt-figure 8s ease-in-out infinite; }
.scn-wallenstein-not-tongue-hero .candle-glow { position:absolute; bottom:27%; left:38%; width:12px; height:12px; background: radial-gradient(circle, #ffb040 0%, #cc6600 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 20px #cc6600; animation: wnt-flicker 2s ease-in-out infinite; }
.scn-wallenstein-not-tongue-hero .ambient-glow { position:absolute; bottom:20%; left:20%; width:200px; height:100px; background: radial-gradient(ellipse, #3a2218, transparent); filter:blur(20px); animation: wnt-ambient 10s ease-in-out infinite alternate; }
@keyframes wnt-night { 0% { opacity: .6 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes wnt-figure { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes wnt-flicker { 0% { transform: scale(1); opacity: .9 } 50% { transform: scale(1.2); opacity: 1 } 100% { transform: scale(.9); opacity: .8 } }
@keyframes wnt-ambient { 0% { opacity: .5 } 50% { opacity: 1 } 100% { opacity: .6 } }

.scn-wallenstein-sink-nothing { background: linear-gradient(180deg, #0a0812 0%, #120e1a 30%, #0a0404 100%), radial-gradient(ellipse at 50% 30%, #1a1428 0%, transparent 70%); }
.scn-wallenstein-sink-nothing .sky-top { position:absolute; top:0; left:0; right:0; height:20%; background: radial-gradient(ellipse at 50% 0%, #1a1428, transparent); animation: wsn-sky 20s ease-in-out infinite alternate; }
.scn-wallenstein-sink-nothing .abyss { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(180deg, transparent 0%, #050202 50%, #000 100%); }
.scn-wallenstein-sink-nothing .figure-falling { position:absolute; top:30%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #1a1412 0%, #0d0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(10deg); animation: wsn-fall 6s infinite; }
.scn-wallenstein-sink-nothing .swirl-1 { position:absolute; top:20%; left:20%; width:40px; height:40px; background: radial-gradient(circle, rgba(255,100,50,.1), transparent); border-radius:50%; filter: blur(8px); animation: wsn-swirl-a 15s linear infinite; }
.scn-wallenstein-sink-nothing .swirl-2 { position:absolute; top:40%; right:30%; width:60px; height:60px; background: radial-gradient(circle, rgba(100,50,255,.08), transparent); border-radius:50%; filter: blur(10px); animation: wsn-swirl-b 20s linear infinite reverse; }
.scn-wallenstein-sink-nothing .spark { position:absolute; top:25%; left:50%; width:4px; height:4px; background: #ffcc80; border-radius:50%; box-shadow: 0 0 10px 4px #ffcc80; animation: wsn-spark 3s ease-in-out infinite alternate; }
@keyframes wsn-sky { 0% { opacity: .5 } 50% { opacity: .8 } 100% { opacity: .4 } }
@keyframes wsn-fall { 0% { transform: translateY(0) rotate(10deg) } 50% { transform: translateY(30px) rotate(-5deg) } 100% { transform: translateY(60px) rotate(15deg) } }
@keyframes wsn-swirl-a { 0% { transform: translate(0,0) scale(1); opacity: .3 } 50% { transform: translate(20px,-10px) scale(1.2); opacity: .6 } 100% { transform: translate(40px,20px) scale(1); opacity: .3 } }
@keyframes wsn-swirl-b { 0% { transform: translate(0,0) scale(1); opacity: .2 } 50% { transform: translate(-15px,5px) scale(1.3); opacity: .5 } 100% { transform: translate(-30px,10px) scale(1); opacity: .2 } }
@keyframes wsn-spark { 0% { opacity: .7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.5) translate(2px,-2px) } 100% { opacity: .5; transform: scale(.8) } }

.scn-countess-no-murder { background: linear-gradient(180deg, #1a0a0a 0%, #2a1410 50%, #0f0505 100%), radial-gradient(ellipse at 30% 50%, #3a1a10 0%, transparent 60%); }
.scn-countess-no-murder .bg-dark { position:absolute; inset:0; background: transparent; }
.scn-countess-no-murder .hand-clutch { position:absolute; bottom:20%; left:30%; width:30px; height:40px; background: #2a1a12; border-radius: 30% 40% 50% 50% / 50% 60% 40% 40%; transform: rotate(-20deg); animation: cnm-hand 4s ease-in-out infinite; }
.scn-countess-no-murder .dagger-blade { position:absolute; bottom:25%; left:35%; width:8px; height:60px; background: linear-gradient(180deg, #f0f0f0 0%, #a0a0a0 100%); border-radius: 2px 2px 50% 50%; transform: rotate(30deg); transform-origin: bottom; box-shadow: 0 0 10px 2px rgba(255,255,255,.3); }
.scn-countess-no-murder .dagger-glow { position:absolute; bottom:28%; left:33%; width:30px; height:30px; background: radial-gradient(circle, rgba(255,200,150,.3), transparent); border-radius:50%; filter: blur(8px); animation: cnm-glow 2s ease-in-out infinite alternate; }
.scn-countess-no-murder .silhouette-woman { position:absolute; bottom:5%; left:10%; width:50px; height:100px; background: #0d0806; border-radius: 50% 50% 30% 30% / 40% 40% 50% 50%; animation: cnm-silhouette 8s ease-in-out infinite alternate; }
.scn-countess-no-murder .pool-red { position:absolute; bottom:0; left:30%; width:80px; height:15px; background: radial-gradient(ellipse, #8a3030 0%, #501010 100%); border-radius:50%; filter: blur(6px); animation: cnm-pool 5s ease-in-out infinite alternate; }
.scn-countess-no-murder .arm { position:absolute; bottom:22%; left:20%; width:50px; height:12px; background: #2a1a12; border-radius: 20% 10% 10% 20%; transform: rotate(-10deg); animation: cnm-arm 4s ease-in-out infinite; }
@keyframes cnm-hand { 0% { transform: rotate(-20deg) scale(1) } 50% { transform: rotate(-25deg) scale(1.05) } 100% { transform: rotate(-20deg) scale(1) } }
@keyframes cnm-glow { 0% { opacity: .5; transform: scale(1) } 50% { opacity: 1; transform: scale(1.3) } 100% { opacity: .6; transform: scale(.9) } }
@keyframes cnm-silhouette { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes cnm-pool { 0% { transform: scaleX(1); opacity: .6 } 100% { transform: scaleX(1.2); opacity: .8 } }
@keyframes cnm-arm { 0% { transform: rotate(-10deg) translateX(0) } 50% { transform: rotate(-15deg) translateX(2px) } 100% { transform: rotate(-10deg) translateX(0) } }

.scn-preface-translation-intent { background: linear-gradient(180deg, #f5e6d3 0%, #e8d5b8 50%, #d4c4a4 100%), radial-gradient(ellipse at 50% 80%, #fff8e0 0%, transparent 60%); }
.scn-preface-translation-intent .window { position:absolute; top:0; left:15%; width:70%; height:45%; background:linear-gradient(180deg, #c8e6f5 0%, #f0f8ff 100%); border-radius:0 0 40% 40%/0 0 20% 20%; box-shadow:inset 0 0 60px rgba(255,255,200,.3); animation:ti-light 8s ease-in-out infinite alternate; }
.scn-preface-translation-intent .desk { position:absolute; bottom:0; left:5%; width:90%; height:50%; background:linear-gradient(180deg, #8b6f47 0%, #6b4f2f 100%); border-radius:8% 8% 0 0; box-shadow:0 -10px 30px rgba(0,0,0,.3); }
.scn-preface-translation-intent .book { position:absolute; bottom:18%; left:40%; width:20%; height:30%; background:linear-gradient(180deg, #4a2c1a 0%, #2e1a0e 100%); border-radius:8% 8% 4% 4%; box-shadow:4px 4px 15px rgba(0,0,0,.5); animation:ti-book 6s ease-in-out infinite; }
.scn-preface-translation-intent .pages { position:absolute; bottom:20%; left:41%; width:18%; height:25%; background:linear-gradient(180deg, #f5f0e0 0%, #e0d6c0 100%); border-radius:4% 4% 2% 2%; box-shadow:inset 0 0 10px rgba(0,0,0,.1); transform-origin: left bottom; animation:ti-pages 8s ease-in-out infinite; }
.scn-preface-translation-intent .quill { position:absolute; bottom:30%; left:55%; width:8%; height:30%; background:linear-gradient(180deg, #c0b0a0 0%, #8a7a6a 100%); border-radius:50% 50% 10% 10%/60% 60% 20% 20%; transform:rotate(15deg); transform-origin: bottom left; animation:ti-quill 4s ease-in-out infinite alternate; }
.scn-preface-translation-intent .ink { position:absolute; bottom:15%; left:70%; width:6%; height:6%; background:radial-gradient(circle, #3a2a1a 0%, #1a0e06 100%); border-radius:50%; box-shadow:0 0 10px 2px rgba(0,0,0,.4); animation:ti-ink 5s ease-in-out infinite; }
@keyframes ti-light { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes ti-book { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes ti-pages { 0% { transform:rotate(0deg) } 50% { transform:rotate(-0.5deg) } 100% { transform:rotate(0deg) } }
@keyframes ti-quill { 0% { transform:rotate(10deg) translateX(0) } 50% { transform:rotate(12deg) translateX(2px) } 100% { transform:rotate(10deg) translateX(0) } }
@keyframes ti-ink { 0%,100% { box-shadow:0 0 10px 2px rgba(0,0,0,.4) } 50% { box-shadow:0 0 15px 5px rgba(0,0,0,.6) } }

.scn-preface-dilating-force { background: linear-gradient(180deg, #e8d5b8 0%, #d4b896 50%, #c09e7a 100%), radial-gradient(ellipse at 50% 90%, #fff8e0 0%, transparent 70%); }
.scn-preface-dilating-force .table { position:absolute; bottom:0; left:0; width:100%; height:60%; background:linear-gradient(180deg, #8b6f47 0%, #5a3e22 100%); box-shadow:0 -10px 30px rgba(0,0,0,.3); }
.scn-preface-dilating-force .manuscript { position:absolute; bottom:10%; left:25%; width:50%; height:40%; background:linear-gradient(180deg, #f5f0e0 0%, #e0d6c0 100%); border-radius:2%; box-shadow:0 0 20px rgba(0,0,0,.2); animation:df-paper 10s ease-in-out infinite; }
.scn-preface-dilating-force .candle { position:absolute; bottom:15%; left:60%; width:3%; height:20%; background:linear-gradient(180deg, #f0d9b5 0%, #c09860 100%); border-radius:10% 10% 40% 40%; box-shadow:0 0 10px rgba(255,200,100,.3); animation:df-candle 6s ease-in-out infinite; }
.scn-preface-dilating-force .glow { position:absolute; bottom:12%; left:58%; width:8%; height:8%; background:radial-gradient(circle, #ffd080 0%, transparent 70%); border-radius:50%; animation:df-glow 3s ease-in-out infinite alternate; }
.scn-preface-dilating-force .blot { position:absolute; bottom:20%; left:30%; width:8%; height:5%; background:radial-gradient(ellipse, #4a2a1a 0%, transparent 70%); border-radius:50%; filter:blur(1px); animation:df-blot 8s ease-in-out infinite; }
.scn-preface-dilating-force .hand { position:absolute; bottom:15%; left:20%; width:10%; height:30%; background:linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:40% 40% 20% 20%/40% 40% 30% 30%; transform-origin: bottom left; animation:df-hand 4s ease-in-out infinite alternate; }
@keyframes df-paper { 0% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-2px) rotate(0.5deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes df-candle { 0%,100% { transform:scaleY(1) opacity:.9 } 50% { transform:scaleY(1.05) translateY(-2px) opacity:1 } }
@keyframes df-glow { 0% { opacity:.6; transform:scale(1) } 50% { opacity:1; transform:scale(1.2) } 100% { opacity:.7; transform:scale(1.05) } }
@keyframes df-blot { 0% { opacity:.3; transform:scale(1) } 50% { opacity:.6; transform:scale(1.1) } 100% { opacity:.3; transform:scale(1) } }
@keyframes df-hand { 0% { transform:rotate(-10deg) translateX(0) } 50% { transform:rotate(-5deg) translateX(5px) } 100% { transform:rotate(-10deg) translateX(0) } }

.scn-preface-ms-history { background: linear-gradient(180deg, #5a3e22 0%, #3e2a16 50%, #2a1a0e 100%), radial-gradient(ellipse at 50% 20%, #8b6f47 0%, transparent 70%); }
.scn-preface-ms-history .shelf { position:absolute; bottom:30%; left:10%; width:80%; height:5%; background:linear-gradient(180deg, #4a2e1a 0%, #2a1a0e 100%); border-radius:2px; box-shadow:0 8px 12px rgba(0,0,0,.5); }
.scn-preface-ms-history .book-a { position:absolute; bottom:32%; left:20%; width:8%; height:25%; background:linear-gradient(180deg, #6b4f2f 0%, #3e2a16 100%); border-radius:2px; box-shadow:2px 0 5px rgba(0,0,0,.3); animation:mh-books 8s ease-in-out infinite; }
.scn-preface-ms-history .book-b { position:absolute; bottom:32%; left:30%; width:10%; height:30%; background:linear-gradient(180deg, #8b6f47 0%, #5a3e22 100%); border-radius:2px; box-shadow:2px 0 5px rgba(0,0,0,.3); animation:mh-books 10s ease-in-out infinite reverse; }
.scn-preface-ms-history .book-c { position:absolute; bottom:32%; left:42%; width:12%; height:28%; background:linear-gradient(180deg, #4a2e1a 0%, #2a1a0e 100%); border-radius:2px; box-shadow:2px 0 5px rgba(0,0,0,.3); animation:mh-books 6s ease-in-out infinite; }
.scn-preface-ms-history .hand { position:absolute; bottom:32%; left:15%; width:8%; height:20%; background:linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20%/40% 40% 30% 30%; transform-origin: bottom left; animation:mh-hand 5s ease-in-out infinite alternate; }
.scn-preface-ms-history .dust-a { position:absolute; top:20%; left:30%; width:3%; height:3%; background:radial-gradient(circle, rgba(255,255,200,.4) 0%, transparent 70%); border-radius:50%; animation:mh-dust 20s linear infinite; }
.scn-preface-ms-history .dust-b { position:absolute; top:40%; left:60%; width:2%; height:2%; background:radial-gradient(circle, rgba(255,255,200,.3) 0%, transparent 70%); border-radius:50%; animation:mh-dust 25s linear infinite reverse; }
@keyframes mh-books { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-1px) } }
@keyframes mh-hand { 0% { transform:rotate(-20deg) translateX(0) } 50% { transform:rotate(-10deg) translateX(8px) } 100% { transform:rotate(-20deg) translateX(0) } }
@keyframes mh-dust { 0% { transform: translateY(0) translateX(0) opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform: translateY(-100px) translateX(50px) opacity:0; } }

.scn-preface-defects-criticism { background: linear-gradient(180deg, #f5e6d3 0%, #e0c8a8 50%, #c8a884 100%), radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 70%); }
.scn-preface-defects-criticism .wall { position:absolute; inset:0; background:linear-gradient(180deg, #e0c8a8 0%, #c8a884 100%); }
.scn-preface-defects-criticism .arch { position:absolute; top:0; left:20%; width:60%; height:50%; background:radial-gradient(ellipse at 50% 100%, transparent 60%, #a08060 60%); border-radius:50% 50% 0 0; }
.scn-preface-defects-criticism .desk { position:absolute; bottom:0; left:10%; width:80%; height:40%; background:linear-gradient(180deg, #8b6f47 0%, #5a3e22 100%); border-radius:10% 10% 0 0; box-shadow:0 -10px 30px rgba(0,0,0,.3); }
.scn-preface-defects-criticism .figure { position:absolute; bottom:20%; left:30%; width:20%; height:40%; background:linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%); border-radius:30% 30% 20% 20%/40% 40% 30% 30%; transform-origin: bottom center; animation:dc-figure 7s ease-in-out infinite; }
.scn-preface-defects-criticism .book { position:absolute; bottom:25%; left:40%; width:15%; height:20%; background:linear-gradient(180deg, #6b4f2f 0%, #3e2a16 100%); border-radius:4%; box-shadow:4px 4px 10px rgba(0,0,0,.3); animation:dc-book 5s ease-in-out infinite; }
.scn-preface-defects-criticism .lamp { position:absolute; bottom:35%; left:55%; width:4%; height:25%; background:linear-gradient(180deg, #d4b896 0%, #a08060 100%); border-radius:10% 10% 40% 40%; box-shadow:0 0 10px rgba(255,200,100,.3); animation:dc-lamp 6s ease-in-out infinite; }
.scn-preface-defects-criticism .glow { position:absolute; bottom:30%; left:54%; width:10%; height:10%; background:radial-gradient(circle, #ffd080 0%, transparent 70%); border-radius:50%; animation:dc-glow 3s ease-in-out infinite alternate; }
@keyframes dc-figure { 0%,100% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-1px) rotate(1deg) } }
@keyframes dc-book { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes dc-lamp { 0%,100% { transform:scaleY(1) opacity:.9 } 50% { transform:scaleY(1.04) translateY(-1px) opacity:1 } }
@keyframes dc-glow { 0% { opacity:.6; transform:scale(1) } 50% { opacity:1; transform:scale(1.15) } 100% { opacity:.7; transform:scale(1.05) } }

.scn-illo-boldness-needed { background: linear-gradient(180deg, #2a1a0a 0%, #1a0a0a 60%), radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 80%); }
.scn-illo-boldness-needed .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%); }
.scn-illo-boldness-needed .wall { position:absolute; inset:10% 5% 20% 5%; background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:5px; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); }
.scn-illo-boldness-needed .table { position:absolute; bottom:15%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:5px; box-shadow: 0 4px 10px rgba(0,0,0,0.7); }
.scn-illo-boldness-needed .figure-leaning { position:absolute; bottom:25%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(10deg); transform-origin: bottom center; animation: si1-fig 3s ease-in-out infinite alternate; }
.scn-illo-boldness-needed .candle { position:absolute; bottom:22%; left:38%; width:8px; height:20px; background: linear-gradient(180deg, #c8a060 0%, #8a6a30 100%); border-radius:3px; animation: si1-candle 4s ease-in-out infinite alternate; }
.scn-illo-boldness-needed .flame { position:absolute; bottom:40%; left:38%; width:6px; height:12px; background: radial-gradient(circle, #ffee88 0%, #ffcc44 50%, #ff8800 100%); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; box-shadow: 0 0 16px 6px rgba(255,204,68,0.6); animation: si1-flame 0.5s ease-in-out infinite alternate; }
.scn-illo-boldness-needed .paper { position:absolute; bottom:17%; left:32%; width:40px; height:30px; background: linear-gradient(135deg, #e8d8c0 0%, #c8b8a0 100%); border-radius:2px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: si1-paper 6s ease-in-out infinite alternate; }
@keyframes si1-fig { 0% { transform: rotate(8deg) translateY(0); } 50% { transform: rotate(12deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes si1-candle { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }
@keyframes si1-flame { 0% { transform: scaleY(1) translateY(0); opacity:0.9; } 50% { transform: scaleY(1.1) translateY(-1px); opacity:1; } 100% { transform: scaleY(0.9) translateY(1px); opacity:0.8; } }
@keyframes si1-paper { 0% { transform: rotate(-5deg); } 50% { transform: rotate(-3deg) scale(1.02); } 100% { transform: rotate(-6deg); } }

.scn-tertsky-countess-scheme { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 60%), radial-gradient(ellipse at 50% 100%, #2a2a3a 0%, transparent 80%); }
.scn-tertsky-countess-scheme .bg-night { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%); }
.scn-tertsky-countess-scheme .wall-stone { position:absolute; inset:5% 10% 15% 5%; background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:8px; box-shadow: inset 0 0 30px rgba(0,0,0,0.9); }
.scn-tertsky-countess-scheme .window-stars { position:absolute; top:10%; left:15%; width:30%; height:20%; background: linear-gradient(180deg, #0a0a2a 0%, #1a1a3a 100%); border-radius:5px; border:2px solid #3a3a4a; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); animation: si2-window 20s ease-in-out infinite alternate; }
.scn-tertsky-countess-scheme .telescope { position:absolute; bottom:30%; left:20%; width:12px; height:40px; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius:5px; transform: rotate(30deg); transform-origin: bottom left; animation: si2-telescope 8s ease-in-out infinite alternate; }
.scn-tertsky-countess-scheme .figure-illo { position:absolute; bottom:15%; left:50%; width:25px; height:55px; background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(-5deg); animation: si2-fig1 4s ease-in-out infinite alternate; }
.scn-tertsky-countess-scheme .figure-tertsky { position:absolute; bottom:15%; left:30%; width:22px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(3deg); animation: si2-fig2 4s ease-in-out infinite alternate; }
.scn-tertsky-countess-scheme .candle-glow { position:absolute; bottom:20%; left:40%; width:6px; height:6px; background: radial-gradient(circle, #ffdd88 0%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(255,221,136,0.4); animation: si2-glow 2s ease-in-out infinite alternate; }
@keyframes si2-window { 0% { opacity:0.6; box-shadow: inset 0 0 20px rgba(0,0,0,0.5); } 50% { opacity:0.8; box-shadow: inset 0 0 40px rgba(0,0,0,0.7); } 100% { opacity:0.5; box-shadow: inset 0 0 10px rgba(0,0,0,0.3); } }
@keyframes si2-telescope { 0% { transform: rotate(28deg); } 50% { transform: rotate(32deg); } 100% { transform: rotate(30deg); } }
@keyframes si2-fig1 { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(-7deg) translateX(0); } }
@keyframes si2-fig2 { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(5deg) translateX(-2px); } 100% { transform: rotate(1deg) translateX(0); } }
@keyframes si2-glow { 0% { transform: scale(0.8); opacity:0.5; } 50% { transform: scale(1.2); opacity:0.8; } 100% { transform: scale(0.9); opacity:0.6; } }

.scn-countess-prepares-max { background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 50%, #1a0a00 100%), radial-gradient(ellipse at 50% 0%, #4a3a2a 0%, transparent 70%); }
.scn-countess-prepares-max .bg-warm { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, transparent 100%); }
.scn-countess-prepares-max .doorway { position:absolute; bottom:10%; left:20%; width:20%; height:70%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:0 0 10px 10px; box-shadow: inset 0 10px 20px rgba(0,0,0,0.8); }
.scn-countess-prepares-max .figure-countess { position:absolute; bottom:15%; left:25%; width:20px; height:45px; background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(5deg); animation: si3-fig1 4s ease-in-out infinite alternate; }
.scn-countess-prepares-max .figure-tertsky-partial { position:absolute; bottom:15%; left:45%; width:18px; height:40px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; animation: si3-fig2 5s ease-in-out infinite alternate; }
.scn-countess-prepares-max .fireplace { position:absolute; bottom:5%; left:55%; width:30%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:10px 10px 0 0; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5); animation: si3-fire 10s ease-in-out infinite alternate; }
.scn-countess-prepares-max .chair { position:absolute; bottom:20%; left:35%; width:15px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:5px; transform: rotate(-10deg); animation: si3-chair 8s ease-in-out infinite alternate; }
@keyframes si3-fig1 { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(2px); } 100% { transform: rotate(6deg) translateX(0); } }
@keyframes si3-fig2 { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes si3-fire { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes si3-chair { 0% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(-8deg) scale(1.02); } 100% { transform: rotate(-12deg) scale(0.98); } }

.scn-max-with-countess { background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 50%, #1a0a00 100%), radial-gradient(ellipse at 50% 0%, #5a4a3a 0%, transparent 80%); }
.scn-max-with-countess .bg-warmroom { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%); }
.scn-max-with-countess .wall-left { position:absolute; top:0; left:0; width:40%; height:100%; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-max-with-countess .curtain { position:absolute; top:5%; left:35%; width:20%; height:90%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:5px; box-shadow: -5px 0 10px rgba(0,0,0,0.5); animation: si4-curtain 12s ease-in-out infinite alternate; }
.scn-max-with-countess .table-round { position:absolute; bottom:10%; left:25%; width:20%; height:8%; background: radial-gradient(ellipse, #5a4a3a 0%, #3a2a1a 100%); border-radius:50%; box-shadow: 0 4px 10px rgba(0,0,0,0.7); }
.scn-max-with-countess .figure-max { position:absolute; bottom:20%; left:30%; width:20px; height:50px; background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(-5deg); animation: si4-fig1 4s ease-in-out infinite alternate; }
.scn-max-with-countess .figure-countess2 { position:absolute; bottom:15%; left:50%; width:20px; height:45px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 40% 40% 40%; transform: rotate(3deg); animation: si4-fig2 5s ease-in-out infinite alternate; }
.scn-max-with-countess .candle2 { position:absolute; bottom:25%; left:45%; width:6px; height:18px; background: linear-gradient(180deg, #c8a060 0%, #8a6030 100%); border-radius:2px; box-shadow: 0 0 10px rgba(200,160,96,0.5); animation: si4-candle 3s ease-in-out infinite alternate; }
@keyframes si4-curtain { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(-3px); } }
@keyframes si4-fig1 { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-6deg) translateY(0); } }
@keyframes si4-fig2 { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(5deg) translateX(2px); } 100% { transform: rotate(1deg) translateX(0); } }
@keyframes si4-candle { 0% { transform: scaleY(1); opacity:0.8; } 50% { transform: scaleY(1.1); opacity:1; } 100% { transform: scaleY(0.9); opacity:0.9; } }

/* Scene: thekla-refuses-to-sing */

.scn-thekla-refuses-to-sing {
  background: linear-gradient(180deg, #2c1a10 0%, #4a2d1a 40%, #3a2215 100%),
              radial-gradient(ellipse at 30% 60%, #8a5a30 0%, transparent 60%);
}
.scn-thekla-refuses-to-sing .tk-backwall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2518 0%, #25150a 100%);
  border-radius: 0 0 20% 20%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: tk-wall 10s ease-in-out infinite alternate;
}
.scn-thekla-refuses-to-sing .tk-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.4);
}
.scn-thekla-refuses-to-sing .tk-window {
  position: absolute; top: 15%; left: 15%; width: 30%; height: 40%;
  background: linear-gradient(135deg, #d4a060 0%, #c08040 50%, #a06020 100%);
  border-radius: 10% 10% 40% 40%; filter: blur(2px);
  box-shadow: 0 0 60px 20px rgba(200,130,50,0.5);
  animation: tk-glow 4s ease-in-out infinite alternate;
}
.scn-thekla-refuses-to-sing .tk-thekla {
  position: absolute; bottom: 28%; left: 45%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #0e0a08 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tk-figure 6s ease-in-out infinite;
}
.scn-thekla-refuses-to-sing .tk-lute {
  position: absolute; bottom: 25%; left: 55%; width: 20px; height: 30px;
  background: radial-gradient(ellipse at 50% 60%, #6a4a2a 0%, #3a2210 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(-10deg);
  animation: tk-lute 3s ease-in-out infinite;
}
.scn-thekla-refuses-to-sing .tk-mother {
  position: absolute; bottom: 28%; right: 25%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tk-mother 8s ease-in-out infinite alternate;
}
@keyframes tk-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes tk-glow {
  0% { box-shadow: 0 0 40px 10px rgba(200,130,50,0.4); }
  50% { box-shadow: 0 0 80px 30px rgba(200,130,50,0.7); }
  100% { box-shadow: 0 0 50px 15px rgba(200,130,50,0.5); }
}
@keyframes tk-figure {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes tk-lute {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(-8deg) scale(1.02); }
  100% { transform: rotate(-12deg) scale(0.98); }
}
@keyframes tk-mother {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-1deg); }
}

/* Scene: lute-thrown-down */

.scn-lute-thrown-down {
  background: linear-gradient(180deg, #2a1a0e 0%, #4a2d1a 50%, #3a2215 100%),
              radial-gradient(ellipse at 60% 40%, #8a5a30 0%, transparent 70%);
}
.scn-lute-thrown-down .lt-backdrop {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #3a2518 0%, #25150a 100%);
  border-radius: 0 0 30% 30%; box-shadow: inset 0 8px 16px rgba(0,0,0,0.5);
  animation: lt-backdrop 8s ease-in-out infinite alternate;
}
.scn-lute-thrown-down .lt-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-lute-thrown-down .lt-thekla {
  position: absolute; bottom: 28%; left: 50%; width: 26px; height: 52px;
  background: linear-gradient(180deg, #0e0a08 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lt-thekla 5s ease-in-out infinite;
}
.scn-lute-thrown-down .lt-lute {
  position: absolute; bottom: 22%; left: 58%; width: 22px; height: 34px;
  background: radial-gradient(ellipse at 50% 50%, #6a4a2a 0%, #3a2210 100%);
  border-radius: 40% 40% 20% 20%; transform: rotate(30deg);
  animation: lt-lute 3s ease-in-out infinite;
}
.scn-lute-thrown-down .lt-chair {
  position: absolute; bottom: 25%; right: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #4a3020 0%, #2a180e 100%);
  border-radius: 10% 10% 20% 20%; transform: scale(1.2);
  animation: lt-chair 6s ease-in-out infinite alternate;
}
.scn-lute-thrown-down .lt-shadow {
  position: absolute; bottom: 22%; left: 44%; width: 30px; height: 10px;
  background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(4px);
  animation: lt-shadow 5s ease-in-out infinite alternate;
}
@keyframes lt-backdrop {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes lt-thekla {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-4px) rotate(3deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  75% { transform: translateY(-6px) rotate(4deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes lt-lute {
  0% { transform: rotate(30deg) scale(1); }
  50% { transform: rotate(25deg) scale(1.03); }
  100% { transform: rotate(35deg) scale(0.97); }
}
@keyframes lt-chair {
  0% { transform: scale(1.2); }
  50% { transform: scale(1.25) rotate(2deg); }
  100% { transform: scale(1.15) rotate(-2deg); }
}
@keyframes lt-shadow {
  0% { transform: scaleX(1); opacity: 0.3; }
  50% { transform: scaleX(1.5); opacity: 0.5; }
  100% { transform: scaleX(0.8); opacity: 0.4; }
}

/* Scene: wallenstein-questions-love */

.scn-wallenstein-questions-love {
  background: linear-gradient(180deg, #1a0e08 0%, #3a2215 40%, #2a1a0e 100%),
              radial-gradient(ellipse at 40% 60%, #7a4a28 0%, transparent 60%);
}
.scn-wallenstein-questions-love .wq-backdrop {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #3a2518 0%, #25150a 100%);
  border-radius: 0 0 40% 40%; box-shadow: inset 0 12px 24px rgba(0,0,0,0.6);
  animation: wq-backdrop 12s ease-in-out infinite alternate;
}
.scn-wallenstein-questions-love .wq-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
}
.scn-wallenstein-questions-love .wq-wall {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 80%;
  background: linear-gradient(90deg, #2a1a0e 0%, #3a2518 50%, #2a1a0e 100%);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
  opacity: 0.5;
}
.scn-wallenstein-questions-love .wq-wallenstein {
  position: absolute; bottom: 28%; left: 35%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #0e0a08 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wq-wall 4s ease-in-out infinite;
}
.scn-wallenstein-questions-love .wq-countess {
  position: absolute; bottom: 30%; right: 35%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wq-countess 6s ease-in-out infinite alternate;
}
.scn-wallenstein-questions-love .wq-table {
  position: absolute; bottom: 22%; left: 30%; width: 40px; height: 8px;
  background: linear-gradient(180deg, #4a3020 0%, #2a180e 100%);
  border-radius: 10% 10% 20% 20%;
  animation: wq-table 8s ease-in-out infinite alternate;
}
.scn-wallenstein-questions-love .wq-candle {
  position: absolute; bottom: 30%; left: 38%; width: 6px; height: 18px;
  background: linear-gradient(180deg, #b08040 0%, #6a4a2a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(200,130,50,0.6);
  animation: wq-candle 3s ease-in-out infinite;
}
@keyframes wq-backdrop {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes wq-wall {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(-1px) rotate(-1deg); }
  75% { transform: translateY(-5px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes wq-countess {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes wq-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.1); }
  100% { transform: scaleY(0.9); }
}
@keyframes wq-candle {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.2); opacity: 1; }
  100% { transform: scaleY(0.8); opacity: 0.8; }
}

/* Scene: wallenstein-approves-choice-externally */

.scn-wallenstein-approves-choice-externally {
  background: linear-gradient(180deg, #3a2215 0%, #5a3a22 40%, #4a2d1a 100%),
              radial-gradient(ellipse at 50% 60%, #c08040 0%, transparent 70%);
}
.scn-wallenstein-approves-choice-externally .wa-backdrop {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #4a2d1a 0%, #2a1a0e 100%);
  border-radius: 0 0 30% 30%; box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: wa-backdrop 15s ease-in-out infinite alternate;
}
.scn-wallenstein-approves-choice-externally .wa-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2215 0%, #1a0e06 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-wallenstein-approves-choice-externally .wa-wallenstein {
  position: absolute; bottom: 28%; left: 35%; width: 32px; height: 64px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-wall 6s ease-in-out infinite;
}
.scn-wallenstein-approves-choice-externally .wa-max {
  position: absolute; bottom: 30%; right: 35%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-max 8s ease-in-out infinite alternate;
}
.scn-wallenstein-approves-choice-externally .wa-table {
  position: absolute; bottom: 22%; left: 30%; width: 50px; height: 10px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%);
  border-radius: 10% 10% 20% 20%;
  animation: wa-table 10s ease-in-out infinite alternate;
}
.scn-wallenstein-approves-choice-externally .wa-document {
  position: absolute; bottom: 30%; left: 44%; width: 16px; height: 22px;
  background: linear-gradient(135deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 4%; transform: rotate(-5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: wa-doc 5s ease-in-out infinite;
}
.scn-wallenstein-approves-choice-externally .wa-glint {
  position: absolute; bottom: 32%; left: 46%; width: 6px; height: 6px;
  background: radial-gradient(circle, #fff 0%, transparent 100%);
  border-radius: 50%; filter: blur(2px);
  animation: wa-glint 3s ease-in-out infinite alternate;
}
@keyframes wa-backdrop {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wa-wall {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes wa-max {
  0% { transform: translateX(0) rotate(1deg); }
  50% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(1deg); }
}
@keyframes wa-table {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
  100% { transform: scaleX(0.95); }
}
@keyframes wa-doc {
  0% { transform: rotate(-5deg) scale(1); }
  50% { transform: rotate(-3deg) scale(1.02); }
  100% { transform: rotate(-7deg) scale(0.98); }
}
@keyframes wa-glint {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 1; transform: scale(2); }
  100% { opacity: 0.5; transform: scale(1.5); }
}

/* octavio-arrives */

.scn-octavio-arrives {
  background: linear-gradient(180deg, #1a0e08 0%, #2a1a0e 40%, #4a2a10 100%), radial-gradient(ellipse at 50% 80%, #8a4a1a 0%, transparent 60%);
}
.scn-octavio-arrives .wall-bg {
  position: absolute;
  inset: 0 0 50% 0;
  background: linear-gradient(180deg, #3a2010 0%, #1a0e08 100%);
}
.scn-octavio-arrives .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, #1a1008 0%, #2a1a0e 100%);
}
.scn-octavio-arrives .door-arch {
  position: absolute;
  bottom: 10%;
  left: 50%;
  width: 120px;
  height: 200px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a2a10 0%, #2a1a0e 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.5);
}
.scn-octavio-arrives .body {
  position: absolute;
  bottom: 8%;
  left: 30%;
  width: 80px;
  height: 40px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(5deg);
  animation: oa-body-sway 8s ease-in-out infinite;
}
.scn-octavio-arrives .halberd {
  position: absolute;
  bottom: 20%;
  width: 4px;
  height: 120px;
  background: linear-gradient(180deg, #8a6a3a 0%, #4a2a10 100%);
  transform-origin: bottom center;
  animation: oa-halberd-sway 12s ease-in-out infinite;
}
.scn-octavio-arrives .halberd.left {
  left: 20%;
  animation-delay: -2s;
}
.scn-octavio-arrives .halberd.right {
  right: 20%;
  animation-delay: -6s;
}
.scn-octavio-arrives .torch {
  position: absolute;
  bottom: 25%;
  width: 12px;
  height: 16px;
  background: radial-gradient(circle, #ffa040 0%, #6a3000 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #8a4a10;
  animation: oa-torch-flicker 2s ease-in-out infinite alternate;
}
.scn-octavio-arrives .torch.left {
  left: 10%;
}
.scn-octavio-arrives .torch.right {
  right: 10%;
  animation-delay: -1s;
}
@keyframes oa-body-sway {
  0% { transform: rotate(3deg) translateY(0); }
  50% { transform: rotate(7deg) translateY(-2px); }
  100% { transform: rotate(3deg) translateY(0); }
}
@keyframes oa-halberd-sway {
  0% { transform: rotate(-1deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes oa-torch-flicker {
  0% { opacity: 0.7; box-shadow: 0 0 20px 5px #8a4a10; }
  50% { opacity: 1; box-shadow: 0 0 40px 15px #cc7020; }
  100% { opacity: 0.8; box-shadow: 0 0 25px 8px #8a4a10; }
}

/* octavio-horror */

.scn-octavio-horror {
  background: linear-gradient(180deg, #1a0e08 0%, #3a1a0a 50%, #2a1008 100%), radial-gradient(ellipse at 50% 60%, #5a2a0a 0%, transparent 60%);
}
.scn-octavio-horror .wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1008 0%, #1a0e08 100%);
}
.scn-octavio-horror .table {
  position: absolute;
  bottom: 10%;
  left: 20%;
  width: 60%;
  height: 30%;
  background: linear-gradient(180deg, #4a2a10 0%, #2a1a0e 100%);
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.scn-octavio-horror .fleece {
  position: absolute;
  bottom: 25%;
  left: 35%;
  width: 40px;
  height: 50px;
  background: radial-gradient(circle at 50% 30%, #ffcc44 0%, #b08020 60%, #4a2a00 100%);
  border-radius: 40% 60% 40% 60% / 50% 40% 60% 50%;
  box-shadow: 0 0 30px 10px #ccaa33;
  animation: oh-fleece-glow 4s ease-in-out infinite alternate;
}
.scn-octavio-horror .sword {
  position: absolute;
  bottom: 20%;
  left: 55%;
  width: 60px;
  height: 6px;
  background: linear-gradient(180deg, #c0c0c0 0%, #808080 100%);
  border-radius: 50% 20% 20% 50% / 50% 20% 20% 50%;
  transform: rotate(25deg);
  box-shadow: 0 0 10px 2px #aaa;
  animation: oh-sword-shimmer 3s ease-in-out infinite;
}
.scn-octavio-horror .shadow-figure {
  position: absolute;
  bottom: 15%;
  left: 40%;
  width: 30px;
  height: 80px;
  background: linear-gradient(180deg, #0a0502 0%, #1a0e08 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  animation: oh-shadow-move 10s ease-in-out infinite;
}
.scn-octavio-horror .candle {
  position: absolute;
  bottom: 35%;
  left: 30%;
  width: 10px;
  height: 30px;
  background: linear-gradient(180deg, #ffcc66 0%, #cc8833 50%, #5a2a0a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 8px #ffaa33;
  animation: oh-candle-flicker 2s ease-in-out infinite;
}
@keyframes oh-fleece-glow {
  0% { box-shadow: 0 0 20px 5px #ccaa33; opacity: 0.8; }
  50% { box-shadow: 0 0 50px 20px #ffdd55; opacity: 1; }
  100% { box-shadow: 0 0 20px 5px #ccaa33; opacity: 0.8; }
}
@keyframes oh-sword-shimmer {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.5); }
  100% { filter: brightness(1); }
}
@keyframes oh-shadow-move {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes oh-candle-flicker {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.1); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0.8; }
}

/* octavio-accuses */

.scn-octavio-accuses {
  background: linear-gradient(180deg, #1a0e08 0%, #2a1008 40%, #1a0802 100%), radial-gradient(ellipse at 30% 50%, #8a4a1a 0%, transparent 70%);
}
.scn-octavio-accuses .bg-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, #0a0502 100%);
  opacity: 0.5;
}
.scn-octavio-accuses .column {
  position: absolute;
  left: 60%;
  bottom: 0;
  width: 40px;
  height: 70%;
  background: linear-gradient(180deg, #3a2010 0%, #1a0e08 100%);
  border-radius: 10%;
  box-shadow: 2px 0 10px rgba(0,0,0,.5);
}
.scn-octavio-accuses .accuser-figure {
  position: absolute;
  left: 20%;
  bottom: 10%;
  width: 40px;
  height: 120px;
  background: linear-gradient(180deg, #0a0502 0%, #1a0e08 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: oa-acc-fig-sway 6s ease-in-out infinite;
}
.scn-octavio-accuses .accuser-arm {
  position: absolute;
  left: 22%;
  bottom: 80px;
  width: 30px;
  height: 8px;
  background: linear-gradient(180deg, #0a0502 0%, #1a0e08 100%);
  border-radius: 50% 50% 20% 20%;
  transform-origin: bottom left;
  animation: oa-acc-arm-point 4s ease-in-out infinite alternate;
}
.scn-octavio-accuses .shadow-cast {
  position: absolute;
  left: 15%;
  bottom: 0;
  width: 50px;
  height: 40px;
  background: #0a0502;
  border-radius: 30% 30% 0 0;
  animation: oa-acc-shadow-move 8s ease-in-out infinite;
}
.scn-octavio-accuses .light-source {
  position: absolute;
  left: 10%;
  bottom: 50%;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, #ffaa33 0%, #6a3000 100%);
  border-radius: 50%;
  box-shadow: 0 0 60px 30px #8a4a10;
  animation: oa-acc-light-pulse 3s ease-in-out infinite alternate;
}
@keyframes oa-acc-fig-sway {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes oa-acc-arm-point {
  0% { transform: rotate(-30deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-30deg); }
}
@keyframes oa-acc-shadow-move {
  0% { transform: skewX(0deg); }
  50% { transform: skewX(-10deg); }
  100% { transform: skewX(0deg); }
}
@keyframes oa-acc-light-pulse {
  0% { opacity: 0.6; box-shadow: 0 0 30px 10px #8a4a10; }
  50% { opacity: 1; box-shadow: 0 0 80px 40px #cc7020; }
  100% { opacity: 0.6; box-shadow: 0 0 30px 10px #8a4a10; }
}

/* butler-defends */

.scn-butler-defends {
  background: linear-gradient(180deg, #2a1a0e 0%, #3a2010 50%, #2a1a0e 100%), radial-gradient(ellipse at 50% 70%, #5a3a1a 0%, transparent 60%);
}
.scn-butler-defends .bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, #1a0e08 100%);
  opacity: 0.3;
}
.scn-butler-defends .desk {
  position: absolute;
  bottom: 10%;
  left: 20%;
  width: 60%;
  height: 25%;
  background: linear-gradient(180deg, #4a2a10 0%, #2a1a0e 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-butler-defends .butler-figure {
  position: absolute;
  bottom: 15%;
  left: 30%;
  width: 35px;
  height: 100px;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0502 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: bd-fig-stand 12s ease-in-out infinite;
}
.scn-butler-defends .document {
  position: absolute;
  bottom: 25%;
  left: 45%;
  width: 30px;
  height: 20px;
  background: linear-gradient(180deg, #d4b48c 0%, #a08060 100%);
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  transform: rotate(-5deg);
  animation: bd-doc-gentle 8s ease-in-out infinite;
}
.scn-butler-defends .candle {
  position: absolute;
  bottom: 40%;
  left: 50%;
  width: 8px;
  height: 35px;
  background: linear-gradient(180deg, #ffcc66 0%, #cc8833 50%, #5a2a0a 100%);
  border-radius: 20%;
  box-shadow: 0 0 15px 5px #ffaa33;
  animation: bd-candle-steady 4s ease-in-out infinite;
}
.scn-butler-defends .light-glow {
  position: absolute;
  bottom: 40%;
  left: 50%;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, #ffaa33 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: bd-glow-pulse 6s ease-in-out infinite;
}
@keyframes bd-fig-stand {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes bd-doc-gentle {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(-5deg) translateY(0); }
}
@keyframes bd-candle-steady {
  0% { transform: scaleY(1); opacity: 0.9; }
  50% { transform: scaleY(1.05); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0.9; }
}
@keyframes bd-glow-pulse {
  0% { opacity: 0.5; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

.scn-cellar-servants-bustle { background: linear-gradient(180deg, #1a0a05 0%, #3a1a0a 40%, #5a2a10 80%), radial-gradient(ellipse at 50% 0%, #f0a050 0%, transparent 70%); }
.scn-cellar-servants-bustle .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a0a05, #2a150a); }
.scn-cellar-servants-bustle .arch { position:absolute; top:0; left:10%; right:10%; height:40%; background: radial-gradient(ellipse at 50% 100%, transparent 70%, #1a0a05 71%); }
.scn-cellar-servants-bustle .fire-pit { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:60px; height:30px; background: radial-gradient(ellipse, #ffa050 0%, #a04010 100%); border-radius:50%; box-shadow: 0 0 40px 20px #ffa050, 0 0 80px 40px #a04010; animation: csb-fire 1.5s ease-in-out infinite alternate; }
.scn-cellar-servants-bustle .figure-left { position:absolute; bottom:28%; left:20%; width:30px; height:60px; background: linear-gradient(180deg, #2a150a, #0a0502); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: csb-figure-left 3s ease-in-out infinite; }
.scn-cellar-servants-bustle .figure-right { position:absolute; bottom:28%; right:20%; width:35px; height:55px; background: linear-gradient(180deg, #2a150a, #0a0502); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: csb-figure-right 4s ease-in-out infinite; }
.scn-cellar-servants-bustle .shadow-flicker { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 80%, transparent 30%, rgba(10,5,2,0.6) 80%); animation: csb-shadow 5s ease-in-out infinite alternate; }
.scn-cellar-servants-bustle .ember { position:absolute; bottom:40%; left:40%; width:4px; height:4px; background:#ffd080; border-radius:50%; box-shadow: 0 0 6px 2px #ffa020; animation: csb-ember 2s ease-in infinite; }
.scn-cellar-servants-bustle .ember-2 { left:60%; animation-delay: 0.8s; }
@keyframes csb-fire { 0% { transform:translateX(-50%) scale(1); opacity:0.8; } 50% { transform:translateX(-50%) scale(1.1, 0.9); opacity:1; } 100% { transform:translateX(-50%) scale(0.95, 1.05); opacity:0.9; } }
@keyframes csb-figure-left { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(2deg); } 50% { transform: translateX(20px) rotate(-1deg); } 75% { transform: translateX(10px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes csb-figure-right { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-15px) rotate(-2deg); } 50% { transform: translateX(-30px) rotate(1deg); } 75% { transform: translateX(-15px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes csb-shadow { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.3; } }
@keyframes csb-ember { 0% { transform: translateY(0) scale(1); opacity:1; } 50% { transform: translateY(-30px) scale(1.5); opacity:0.6; } 100% { transform: translateY(-60px) scale(0); opacity:0; } }

.scn-runner-service-cup { background: radial-gradient(ellipse at 50% 50%, #3a2010 0%, #1a0f08 100%), linear-gradient(180deg, #4a2a15, #1a0f08); }
.scn-runner-service-cup .table { position:absolute; bottom:0; left:0; right:0; height:45%; background: linear-gradient(0deg, #1a0f08, #2a180a); border-radius:30% 30% 0 0 / 20% 20% 0 0; }
.scn-runner-service-cup .cup-body { position:absolute; bottom:45%; left:50%; transform:translateX(-50%); width:80px; height:50px; background: linear-gradient(180deg, #d4af37 0%, #b08030 30%, #8a6020 100%); border-radius:10% 10% 5% 5%; box-shadow: 0 10px 20px rgba(0,0,0,0.5); animation: rsc-hover 6s ease-in-out infinite; }
.scn-runner-service-cup .cup-stem { position:absolute; bottom:30%; left:50%; transform:translateX(-50%); width:15px; height:40px; background: linear-gradient(180deg, #c09030, #906020); border-radius:30%; animation: rsc-hover 6s ease-in-out infinite; }
.scn-runner-service-cup .cup-base { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:60px; height:15px; background: linear-gradient(180deg, #b08030, #704818); border-radius:50% 50% 20% 20%; animation: rsc-hover 6s ease-in-out infinite; }
.scn-runner-service-cup .glow { position:absolute; bottom:45%; left:50%; transform:translateX(-50%); width:90px; height:60px; background: radial-gradient(ellipse, rgba(255,190,80,0.4) 0%, transparent 70%); animation: rsc-glow 3s ease-in-out infinite alternate; }
.scn-runner-service-cup .hand-left { position:absolute; bottom:35%; left:35%; width:20px; height:40px; background: linear-gradient(180deg, #1a0f08, #0a0502); border-radius:40% 40% 20% 20%; transform-origin: top center; animation: rsc-hand-left 4s ease-in-out infinite; }
.scn-runner-service-cup .hand-right { position:absolute; bottom:30%; right:35%; width:20px; height:50px; background: linear-gradient(180deg, #1a0f08, #0a0502); border-radius:40% 40% 20% 20%; transform-origin: top center; animation: rsc-hand-right 4.5s ease-in-out infinite; }
@keyframes rsc-hover { 0% { transform:translateX(-50%) translateY(0) rotate(0deg); } 30% { transform:translateX(-50%) translateY(-3px) rotate(0.5deg); } 60% { transform:translateX(-50%) translateY(0) rotate(-0.5deg); } 100% { transform:translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes rsc-glow { 0% { opacity:0.6; transform:translateX(-50%) scale(1); } 50% { opacity:1; transform:translateX(-50%) scale(1.1); } 100% { opacity:0.7; transform:translateX(-50%) scale(0.95); } }
@keyframes rsc-hand-left { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes rsc-hand-right { 0% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }

.scn-cup-bohemian-history { background: radial-gradient(ellipse at 50% 50%, #2a1508 0%, #0a0502 100%), linear-gradient(180deg, #1a0f0a, #0a0502); }
.scn-cup-bohemian-history .cup-curve { position:absolute; bottom:10%; left:10%; right:10%; top:10%; background: linear-gradient(180deg, #b5a642 0%, #8a7020 40%, #4a3010 100%); border-radius:10% 10% 30% 30%; box-shadow: inset 0 0 40px rgba(0,0,0,0.6); }
.scn-cup-bohemian-history .relief-band { position:absolute; bottom:40%; left:15%; right:15%; height:25%; background: linear-gradient(180deg, #d4b84a, #b09030); border-radius:10%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: cbh-rotate 20s linear infinite; }
.scn-cup-bohemian-history .amazon { position:absolute; bottom:42%; left:30%; width:20px; height:30px; background: linear-gradient(180deg, #4a3010, #2a1808); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: cbh-rotate 20s linear infinite; }
.scn-cup-bohemian-history .amazon-2 { left:60%; animation-delay: -10s; }
.scn-cup-bohemian-history .sheen { position:absolute; bottom:10%; left:25%; right:50%; top:10%; background: linear-gradient(90deg, rgba(255,255,240,0.3) 0%, transparent 100%); border-radius:10% 10% 30% 30%; animation: cbh-sheen 4s ease-in-out infinite alternate; }
.scn-cup-bohemian-history .shadow-edge { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, transparent 40%, rgba(10,5,2,0.8) 100%); animation: cbh-shadow 6s ease-in-out infinite alternate; }
@keyframes cbh-rotate { 0% { background-position: 0% 0%; } 50% { background-position: 50% 0%; } 100% { background-position: 100% 0%; } }
@keyframes cbh-sheen { 0% { opacity:0.2; transform: skewX(0deg); } 50% { opacity:0.6; transform: skewX(-10deg); } 100% { opacity:0.3; transform: skewX(10deg); } }
@keyframes cbh-shadow { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes cbh-flicker { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }

.scn-cup-free-election { background: radial-gradient(ellipse at 50% 60%, #ffaa00 0%, #5a1a05 60%, #1a0505 100%), linear-gradient(180deg, #3a1105, #1a0505); }
.scn-cup-free-election .horse { position:absolute; bottom:25%; left:50%; transform:translateX(-50%); width:60px; height:50px; background: linear-gradient(180deg, #2a0a05, #0a0201); border-radius:40% 60% 20% 40% / 60% 80% 20% 40%; animation: cfe-horse 2s ease-in-out infinite alternate; }
.scn-cup-free-election .rider { position:absolute; bottom:50%; left:50%; transform:translateX(-50%); width:20px; height:35px; background: linear-gradient(180deg, #1a0505, #0a0201); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: cfe-rider 2s ease-in-out infinite alternate; }
.scn-cup-free-election .hat { position:absolute; bottom:75%; left:50%; transform:translateX(-50%); width:25px; height:8px; background: linear-gradient(180deg, #d4af37, #8a6020); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: cfe-hat 2s ease-in-out infinite alternate; }
.scn-cup-free-election .mane { position:absolute; bottom:50%; left:40%; width:15px; height:30px; background: radial-gradient(ellipse at 50% 50%, #ffaa00, #a04010); border-radius:50%; filter: blur(2px); animation: cfe-mane 1.5s ease-in-out infinite alternate; }
.scn-cup-free-election .aura { position:absolute; bottom:40%; left:50%; transform:translateX(-50%); width:120px; height:80px; background: radial-gradient(ellipse, rgba(255,170,0,0.3) 0%, transparent 70%); animation: cfe-aura 3s ease-in-out infinite alternate; }
@keyframes cfe-horse { 0% { transform:translateX(-50%) scale(1) rotate(-2deg); } 50% { transform:translateX(-50%) scale(1.02) rotate(2deg); } 100% { transform:translateX(-50%) scale(0.98) rotate(-1deg); } }
@keyframes cfe-rider { 0% { transform:translateX(-50%) rotate(-3deg); } 50% { transform:translateX(-50%) rotate(3deg); } 100% { transform:translateX(-50%) rotate(-2deg); } }
@keyframes cfe-hat { 0% { transform:translateX(-50%) translateY(0) rotate(0deg); } 50% { transform:translateX(-50%) translateY(-5px) rotate(10deg); } 100% { transform:translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes cfe-mane { 0% { transform: scale(1) rotate(-5deg); } 50% { transform: scale(1.15) rotate(0deg); } 100% { transform: scale(1.2) rotate(5deg); } }
@keyframes cfe-aura { 0% { opacity:0.5; transform:translateX(-50%) scale(1); } 50% { opacity:1; transform:translateX(-50%) scale(1.1); } 100% { opacity:0.6; transform:translateX(-50%) scale(0.95); } }

.scn-illo-retreat-impossible { background: linear-gradient(180deg, #1a1410 0%, #0d0a08 100%), radial-gradient(ellipse at 50% 60%, #2a1e18 0%, transparent 70%); }
.scn-illo-retreat-impossible .bg { position:absolute; inset:0; }
.scn-illo-retreat-impossible .door { position:absolute; bottom:10%; left:35%; width:30%; height:80%; background: linear-gradient(90deg, #2a2018 0%, #1a1210 50%, #0d0a08 100%); border: 2px solid #3a2a1a; border-radius: 4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.8), 0 0 30px rgba(0,0,0,.5); animation: illo1-door 10s ease-in-out infinite; }
.scn-illo-retreat-impossible .shadow-figure { position:absolute; bottom:10%; left:50%; width:15%; height:60%; background: linear-gradient(180deg, #0d0a08 0%, #000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform: translateX(-50%); animation: illo1-breathe 4s ease-in-out infinite; }
.scn-illo-retreat-impossible .candle { position:absolute; bottom:15%; right:25%; width:4px; height:15px; background: linear-gradient(180deg, #e8c080 0%, #8a6020 100%); border-radius: 2px; transform-origin: bottom center; animation: illo1-flicker 0.15s infinite alternate; }
.scn-illo-retreat-impossible .candle-glow { position:absolute; bottom:15%; right:25%; width:60px; height:60px; background: radial-gradient(circle, rgba(232,192,128,.6) 0%, rgba(232,192,128,.2) 30%, transparent 70%); transform: translate(50%, 50%) scale(0); animation: illo1-glow-pulse 3s ease-in-out infinite; }
.scn-illo-retreat-impossible .smoke { position:absolute; bottom:30%; right:25%; width:30px; height:30px; background: radial-gradient(circle, rgba(200,180,160,.15) 0%, transparent 70%); filter: blur(4px); animation: illo1-smoke 8s ease-in-out infinite; }
@keyframes illo1-breathe { 0%, 100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.01); } }
@keyframes illo1-door { 0%, 100% { box-shadow: inset 0 0 20px rgba(0,0,0,.8), 0 0 30px rgba(0,0,0,.5); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,.9), 0 0 40px rgba(0,0,0,.6); } }
@keyframes illo1-flicker { 0% { opacity:.8; transform: scaleY(1); } 100% { opacity:1; transform: scaleY(1.1); } }
@keyframes illo1-glow-pulse { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity:.7; } 50% { transform: translate(-50%, -50%) scale(1.2); opacity:1; } }
@keyframes illo1-smoke { 0% { transform: translateY(0) scale(1); opacity:.3; } 100% { transform: translateY(-40px) scale(2); opacity:0; } }

.scn-wallenstein-no-handwriting { background: radial-gradient(ellipse at 50% 100%, #1a181a 0%, #0a080a 100%), linear-gradient(180deg, #2a222a 0%, #121012 100%); }
.scn-wallenstein-no-handwriting .bg { position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent 0px, transparent 40px, rgba(60,50,60,.1) 40px, rgba(60,50,60,.1) 42px); }
.scn-wallenstein-no-handwriting .table { position:absolute; bottom:5%; left:10%; width:80%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 10% 10% 0 0 / 50% 50% 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,.8); }
.scn-wallenstein-no-handwriting .paper { position:absolute; bottom:15%; left:50%; width:100px; height:70px; transform: translateX(-50%); background: linear-gradient(135deg, #f0ead0 0%, #d0c8b0 100%); border: 1px solid #b0a890; box-shadow: 0 4px 12px rgba(0,0,0,.6); animation: wal2-paper 6s ease-in-out infinite alternate; }
.scn-wallenstein-no-handwriting .inkwell { position:absolute; bottom:22%; left:40%; width:15px; height:20px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #3a3a3a 0%, #0a0a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%; }
.scn-wallenstein-no-handwriting .quill { position:absolute; bottom:25%; left:45%; width:60px; height:3px; background: linear-gradient(90deg, #e8e0d0 0%, #8a8270 100%); transform-origin: 0% 50%; transform: rotate(-30deg); border-radius: 2px; animation: wal2-quill 4s ease-in-out infinite alternate; }
.scn-wallenstein-no-handwriting .shadow-figure { position:absolute; bottom:10%; right:15%; width:25%; height:65%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 40% 40%; transform: skewX(-5deg); animation: wal2-lean 5s ease-in-out infinite alternate; }
.scn-wallenstein-no-handwriting .light-beam { position:absolute; top:0; left:30%; width:5%; height:100%; background: linear-gradient(180deg, rgba(200,190,170,.15) 0%, rgba(200,190,170,.05) 50%, transparent 100%); transform: skewX(-10deg); animation: wal2-light 8s ease-in-out infinite alternate; }
@keyframes wal2-paper { 0%, 100% { box-shadow: 0 4px 12px rgba(0,0,0,.6); } 50% { box-shadow: 0 4px 20px rgba(0,0,0,.9); } }
@keyframes wal2-quill { 0% { transform: rotate(-30deg); } 50% { transform: rotate(-20deg); } 100% { transform: rotate(-35deg); } }
@keyframes wal2-lean { 0% { transform: skewX(-5deg) translateX(0); } 50% { transform: skewX(-8deg) translateX(-5px); } 100% { transform: skewX(-3deg) translateX(3px); } }
@keyframes wal2-light { 0% { opacity: .3; } 50% { opacity: .8; } 100% { opacity: .4; } }

.scn-illo-word-of-mouth { background: linear-gradient(135deg, #121010 0%, #1a1614 50%, #0e0c0a 100%), radial-gradient(ellipse at 70% 50%, #2a221a 0%, transparent 60%); }
.scn-illo-word-of-mouth .bg { position:absolute; inset:0; background: radial-gradient(circle at 30% 80%, #1a1410 0%, transparent 50%); }
.scn-illo-word-of-mouth .figure-a { position:absolute; bottom:10%; left:20%; width:20%; height:55%; background: linear-gradient(180deg, #2a1e18 0%, #120e0a 100%); border-radius: 50% 40% 40% 50% / 60% 50% 50% 40%; transform: skewY(3deg); animation: illo3-lean-a 4s ease-in-out infinite alternate; }
.scn-illo-word-of-mouth .figure-b { position:absolute; bottom:10%; right:20%; width:20%; height:55%; background: linear-gradient(180deg, #2a221a 0%, #120e0a 100%); border-radius: 40% 50% 50% 40% / 50% 60% 40% 50%; transform: skewY(-3deg); animation: illo3-lean-b 4s ease-in-out infinite alternate; }
.scn-illo-word-of-mouth .shadow-hood { position:absolute; bottom:10%; right:45%; width:12%; height:40%; background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; opacity: .6; animation: illo3-hood 8s ease-in-out infinite alternate; }
.scn-illo-word-of-mouth .table { position:absolute; bottom:5%; left:35%; width:30%; height:15%; background: linear-gradient(180deg, #1a1410 0%, #0a0805 100%); border-radius: 10% 10% 0 0 / 30% 30% 0 0; }
.scn-illo-word-of-mouth .candle-glow { position:absolute; bottom:20%; left:50%; width:40px; height:40px; background: radial-gradient(circle, rgba(220,180,120,.5) 0%, rgba(220,180,120,.2) 30%, transparent 70%); transform: translate(-50%, 0); animation: illo3-glow 2s ease-in-out infinite alternate; }
.scn-illo-word-of-mouth .whisper-curve { position:absolute; bottom:40%; left:30%; width:40%; height:20%; border: 1px solid rgba(200,180,160,.15); border-radius: 50% 50% 50% 50% / 80% 80% 20% 20%; border-top: none; border-left: none; border-right: none; animation: illo3-whisper 3s ease-in-out infinite; }
@keyframes illo3-lean-a { 0% { transform: skewY(3deg) translateY(0); } 50% { transform: skewY(5deg) translateY(-3px); } 100% { transform: skewY(2deg) translateY(0); } }
@keyframes illo3-lean-b { 0% { transform: skewY(-3deg) translateY(0); } 50% { transform: skewY(-5deg) translateY(-3px); } 100% { transform: skewY(-2deg) translateY(0); } }
@keyframes illo3-hood { 0%, 100% { opacity: .4; } 50% { opacity: .7; } }
@keyframes illo3-glow { 0% { opacity: .6; transform: translate(-50%, 0) scale(1); } 100% { opacity: 1; transform: translate(-50%, 0) scale(1.3); } }
@keyframes illo3-whisper { 0%, 100% { opacity: .1; } 50% { opacity: .4; } }

.scn-wallenstein-army-my-security { background: linear-gradient(180deg, #0a0e1a 0%, #141a2a 40%, #1a202e 100%); }
.scn-wallenstein-army-my-security .bg { position:absolute; inset:0; background: linear-gradient(180deg, #0a0e1a 0%, transparent 50%); }
.scn-wallenstein-army-my-security .sky { position:absolute; inset:0 0 20% 0; background: radial-gradient(circle at 70% 100%, #2a3a5a 0%, transparent 60%), linear-gradient(180deg, #0a0e1a 0%, #1a2a4a 100%); animation: wal4-night 15s ease-in-out infinite alternate; }
.scn-wallenstein-army-my-security .arch { position:absolute; bottom:0; left:50%; width:80%; height:100%; transform: translateX(-50%); border-radius: 50% 50% 0 0 / 40% 40% 0 0; box-shadow: 0 0 0 1000px #1a1a1a; animation: wal4-arch 10s ease-in-out infinite alternate; }
.scn-wallenstein-army-my-security .figure-uniform { position:absolute; bottom:0; left:50%; width:18%; height:70%; background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%); transform: translateX(-50%); border-radius: 40% 40% 20% 20% / 80% 80% 40% 40%; animation: wal4-stand 5s ease-in-out infinite alternate; }
.scn-wallenstein-army-my-security .camp-tent-a { position:absolute; bottom:15%; left:35%; width:8%; height:15%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); clip-path: polygon(50% 0%, 100% 100%, 0% 100%); }
.scn-wallenstein-army-my-security .camp-tent-b { position:absolute; bottom:20%; left:55%; width:10%; height:18%; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); clip-path: polygon(50% 0%, 100% 100%, 0% 100%); }
.scn-wallenstein-army-my-security .campfire-glow { position:absolute; bottom:15%; left:40%; width:30px; height:30px; background: radial-gradient(circle, rgba(240,180,80,.6) 0%, rgba(240,180,80,.1) 50%, transparent 70%); animation: wal4-fire 2s ease-in-out infinite alternate; }
.scn-wallenstein-army-my-security .campfire-glow-b { position:absolute; bottom:20%; left:60%; width:25px; height:25px; background: radial-gradient(circle, rgba(240,180,80,.5) 0%, rgba(240,180,80,.1) 50%, transparent 70%); animation: wal4-fire 2.5s ease-in-out infinite alternate-reverse; }
@keyframes wal4-night { 0% { opacity: .7; } 100% { opacity: 1; } }
@keyframes wal4-arch { 0% { box-shadow: 0 0 0 1000px #1a1a1a; } 100% { box-shadow: 0 0 0 1000px #222; } }
@keyframes wal4-stand { 0% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(1.02); } 100% { transform: translateX(-50%) scaleY(1); } }
@keyframes wal4-fire { 0% { opacity: .4; transform: scale(1); } 100% { opacity: 1; transform: scale(1.3); } }

/* dramatis-personae-list */

.scn-dramatis-personae-list { background: linear-gradient(180deg, #1c1412 0%, #0c0808 100%); }
.scn-dramatis-personae-list .backdrop { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 0%, #2a1e1a 0%, transparent 60%); }
.scn-dramatis-personae-list .curtain-l { position:absolute; left:0; top:0; bottom:0; width:22%; background: linear-gradient(90deg, #2a1210 0%, #1a0a08 100%); border-radius: 0 40% 40% 0 / 0 60% 60% 0; box-shadow: 4px 0 12px rgba(0,0,0,.6); transform-origin: left center; animation: drp-curtain 14s ease-in-out infinite alternate; }
.scn-dramatis-personae-list .curtain-r { position:absolute; right:0; top:0; bottom:0; width:22%; background: linear-gradient(270deg, #2a1210 0%, #1a0a08 100%); border-radius: 40% 0 0 40% / 60% 0 0 60%; box-shadow: -4px 0 12px rgba(0,0,0,.6); transform-origin: right center; animation: drp-curtain 14s ease-in-out infinite alternate-reverse; }
.scn-dramatis-personae-list .stage { position:absolute; left:22%; right:22%; bottom:0; height:35%; background: linear-gradient(180deg, #2a1e18 0%, #100a08 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-dramatis-personae-list .plinth { position:absolute; left:30%; right:30%; bottom:25%; height:8%; background: linear-gradient(180deg, #1c1410 0%, #0c0808 100%); border-radius: 4px; box-shadow: 0 -2px 6px rgba(0,0,0,.5); }
.scn-dramatis-personae-list .figure-a { position:absolute; left:32%; bottom:33%; width:8%; height:25%; background: linear-gradient(180deg, #0c0808 0%, #000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: drp-figure 6s ease-in-out infinite alternate; }
.scn-dramatis-personae-list .figure-b { position:absolute; left:46%; bottom:33%; width:8%; height:28%; background: linear-gradient(180deg, #0c0808 0%, #000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: drp-figure 6s ease-in-out infinite alternate-reverse; }
.scn-dramatis-personae-list .figure-c { position:absolute; right:32%; bottom:33%; width:8%; height:22%; background: linear-gradient(180deg, #0c0808 0%, #000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: drp-figure 6s ease-in-out 2s infinite alternate; }
.scn-dramatis-personae-list .light { position:absolute; top:8%; left:50%; width:60%; height:40%; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(160,130,90,.12) 0%, transparent 70%); animation: drp-light 12s ease-in-out infinite alternate; }
@keyframes drp-curtain { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(0.98) } }
@keyframes drp-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes drp-light { 0% { opacity:0.7; transform: translateX(-50%) scaleY(1) } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1) } 100% { opacity:0.8; transform: translateX(-50%) scaleY(0.9) } }

/* octavio-greeting */

.scn-octavio-greeting { background: linear-gradient(180deg, #1a1a1e 0%, #0e0e12 100%); }
.scn-octavio-greeting .backdrop { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 100%, #1a1e22 0%, transparent 60%); }
.scn-octavio-greeting .floor { position:absolute; left:10%; right:10%; bottom:0; height:30%; background: linear-gradient(180deg, #1a1412 0%, #0c0a08 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; }
.scn-octavio-greeting .figure-l { position:absolute; left:25%; bottom:20%; width:12%; height:45%; background: linear-gradient(180deg, #121416 0%, #040608 100%); border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ogr-fig-l 8s ease-in-out infinite alternate; }
.scn-octavio-greeting .figure-r { position:absolute; right:25%; bottom:20%; width:11%; height:40%; background: linear-gradient(180deg, #121416 0%, #040608 100%); border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom right; animation: ogr-fig-r 8s ease-in-out infinite alternate; }
.scn-octavio-greeting .brazier { position:absolute; left:50%; bottom:28%; width:10%; height:12%; transform:translateX(-50%); background: linear-gradient(180deg, #2a221e 0%, #0c0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-octavio-greeting .flame { position:absolute; left:50%; bottom:40%; width:4%; height:8%; transform:translateX(-50%); background: radial-gradient(ellipse, #c08040 0%, #8a5a2a 50%, transparent 100%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(192,128,64,.4); animation: ogr-flame 1.5s ease-in-out infinite alternate; }
.scn-octavio-greeting .glow { position:absolute; left:50%; bottom:25%; width:40%; height:30%; transform:translateX(-50%); background: radial-gradient(ellipse, rgba(192,128,64,.08) 0%, transparent 70%); animation: ogr-glow 4s ease-in-out infinite alternate; }
@keyframes ogr-fig-l { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(0.5deg) } 100% { transform: translateY(0) rotate(-0.5deg) } }
@keyframes ogr-fig-r { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-1px) rotate(-0.5deg) } 100% { transform: translateY(0) rotate(0.5deg) } }
@keyframes ogr-flame { 0% { transform: translateX(-50%) scaleY(1) } 33% { transform: translateX(-50%) scaleY(1.15) } 66% { transform: translateX(-50%) scaleY(0.9) } 100% { transform: translateX(-50%) scaleY(1.05) } }
@keyframes ogr-glow { 0% { opacity:0.8; transform: translateX(-50%) scale(1) } 50% { opacity:1; transform: translateX(-50%) scale(1.1) } 100% { opacity:0.85; transform: translateX(-50%) scale(0.95) } }

/* questenberg-past-commission */

.scn-questenberg-past-commission { background: linear-gradient(180deg, #1a1218 0%, #0a0608 100%); }
.scn-questenberg-past-commission .backdrop { position:absolute; inset:0; background: linear-gradient(135deg, #1a1218 0%, #0a0608 50%, #1a1218 100%); }
.scn-questenberg-past-commission .floor { position:absolute; left:0; right:0; bottom:0; height:35%; background: linear-gradient(180deg, #120a0e 0%, #060204 100%); transform: skewY(-4deg); transform-origin: bottom center; }
.scn-questenberg-past-commission .figure-back { position:absolute; left:35%; bottom:25%; width:15%; height:50%; background: linear-gradient(180deg, #0e0a0c 0%, #040202 100%); border-radius: 45% 45% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; transform: rotate(-5deg) translateY(0); animation: qpc-fig-b 3s ease-in-out infinite alternate; }
.scn-questenberg-past-commission .figure-front { position:absolute; right:30%; bottom:20%; width:12%; height:45%; background: linear-gradient(180deg, #1a1216 0%, #080406 100%); border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: qpc-fig-f 3.5s ease-in-out infinite alternate; }
.scn-questenberg-past-commission .table { position:absolute; left:25%; right:25%; bottom:15%; height:10%; background: linear-gradient(180deg, #1c1418 0%, #080406 100%); border-radius: 10% 10% 4% 4% / 40% 40% 20% 20%; box-shadow: 0 -4px 12px rgba(0,0,0,.6); transform: perspective(400px) rotateX(10deg); }
.scn-questenberg-past-commission .document { position:absolute; left:50%; bottom:22%; width:20%; height:6%; transform:translateX(-50%); background: linear-gradient(135deg, #c8b89a 0%, #a8987a 100%); border-radius: 2px; opacity:0.6; filter: blur(1px); animation: qpc-doc 8s ease-in-out infinite alternate; }
.scn-questenberg-past-commission .shadow-stripe { position:absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(135deg, transparent 40%, rgba(0,0,0,.4) 41%, transparent 42%); animation: qpc-shadow 6s ease-in-out infinite alternate; }
@keyframes qpc-fig-b { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-4deg) translateY(-2px) } 100% { transform: rotate(-6deg) translateY(1px) } }
@keyframes qpc-fig-f { 0% { transform: rotate(3deg) translateY(0) } 50% { transform: rotate(4deg) translateY(-1px) } 100% { transform: rotate(2deg) translateY(1px) } }
@keyframes qpc-doc { 0% { opacity:0.4; transform: translateX(-50%) scaleX(1) } 50% { opacity:0.7; transform: translateX(-50%) scaleX(1.02) } 100% { opacity:0.5; transform: translateX(-50%) scaleX(0.98) } }
@keyframes qpc-shadow { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }

/* argument-over-war-cost */

.scn-argument-over-war-cost { background: linear-gradient(180deg, #1c1410 0%, #0c0806 100%); }
.scn-argument-over-war-cost .backdrop { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 0%, #2a1e1a 0%, transparent 60%); }
.scn-argument-over-war-cost .table { position:absolute; left:15%; right:15%; bottom:5%; height:30%; background: linear-gradient(180deg, #2a1e1a 0%, #0c0806 100%); border-radius: 20% 20% 0 0 / 30% 30% 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,.6); transform: perspective(400px) rotateX(5deg); }
.scn-argument-over-war-cost .hand-left { position:absolute; left:30%; bottom:25%; width:10%; height:15%; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius: 40% 40% 50% 50% / 30% 30% 60% 60%; transform-origin: bottom center; animation: awc-hand-l 2s ease-in-out infinite alternate; }
.scn-argument-over-war-cost .hand-right { position:absolute; right:30%; bottom:25%; width:10%; height:18%; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius: 40% 40% 50% 50% / 30% 30% 60% 60%; transform-origin: bottom center; transform: rotate(10deg); animation: awc-hand-r 2.5s ease-in-out infinite alternate; }
.scn-argument-over-war-cost .map { position:absolute; left:40%; right:40%; bottom:28%; height:6%; background: linear-gradient(135deg, #b8a88a 0%, #988878 100%); border-radius: 4px; opacity:0.5; filter: blur(2px); animation: awc-map 10s ease-in-out infinite alternate; }
.scn-argument-over-war-cost .coins { position:absolute; left:50%; bottom:30%; width:4%; height:2%; background: radial-gradient(ellipse, #c8a060 0%, #a08040 100%); border-radius: 50%; box-shadow: 8px 0 2px rgba(160,128,64,.6), -6px -2px 2px rgba(160,128,64,.4); animation: awc-coins 4s ease-in-out infinite alternate; }
.scn-argument-over-war-cost .back-figure { position:absolute; left:20%; bottom:40%; width:20%; height:40%; background: linear-gradient(180deg, #0a0806 0%, #040202 100%); border-radius: 45% 45% 40% 40% / 50% 50% 40% 40%; opacity:0.4; transform: scale(1.2); }
.scn-argument-over-war-cost .lantern { position:absolute; left:50%; top:15%; width:6%; height:10%; transform:translateX(-50%); background: radial-gradient(ellipse, #c08040 0%, #8a5a2a 70%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 0 30px 8px rgba(192,128,64,.5); animation: awc-lantern 3s ease-in-out infinite alternate; }
@keyframes awc-hand-l { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(-5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes awc-hand-r { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(15deg) translateY(-3px) } 100% { transform: rotate(8deg) translateY(0) } }
@keyframes awc-map { 0% { opacity:0.4; transform: translateY(0) } 50% { opacity:0.7; transform: translateY(-1px) } 100% { opacity:0.5; transform: translateY(1px) } }
@keyframes awc-coins { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes awc-lantern { 0% { opacity:0.8; transform: translateX(-50%) scaleY(1) } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1) } 100% { opacity:0.85; transform: translateX(-50%) scaleY(0.95) } }

.scn-wallenstein-shows-oath-paper {
  background: linear-gradient(180deg,#1a1a1a 0%,#2a1a0a 40%,#1a0a00 100%), radial-gradient(ellipse at 30% 70%,#3a2a1a 0%,transparent 60%);
}
.scn-wallenstein-shows-oath-paper .bg{position:absolute;inset:0;background:linear-gradient(135deg,#0a0a0a,#1a1210);opacity:.8;animation:w1bg 10s ease-in-out infinite alternate}
.scn-wallenstein-shows-oath-paper .lamp{position:absolute;bottom:55%;left:50%;width:18px;height:26px;transform:translate(-50%,50%);background:radial-gradient(circle,#f0a050 0%,#e08030 40%,transparent 70%);border-radius:50%;box-shadow:0 0 40px 20px rgba(224,128,48,.6);animation:w1lp 4s ease-in-out infinite alternate}
.scn-wallenstein-shows-oath-paper .table{position:absolute;bottom:28%;left:30%;right:30%;height:6px;background:linear-gradient(180deg,#3a2a1a,#1a120a);border-radius:3px;box-shadow:0 4px 8px rgba(0,0,0,.8);animation:w1tb 12s ease-in-out infinite}
.scn-wallenstein-shows-oath-paper .paper{position:absolute;bottom:31%;left:48%;width:28px;height:18px;background:linear-gradient(135deg,#d4c8a8,#b8a888);transform:translate(-50%,0) rotate(-6deg);border-radius:1px;box-shadow:0 2px 4px rgba(0,0,0,.5);animation:w1pr 6s ease-in-out infinite}
.scn-wallenstein-shows-oath-paper .figures{position:absolute;bottom:29%;left:50%;width:0;height:0;animation:w1fg 8s ease-in-out infinite}
.scn-wallenstein-shows-oath-paper .figures::before,.scn-wallenstein-shows-oath-paper .figures::after{content:'';position:absolute;bottom:0;width:26px;height:50px;border-radius:50% 50% 40% 40%/60% 60% 40% 40%;background:linear-gradient(180deg,#1a1212,#0a0808)}
.scn-wallenstein-shows-oath-paper .figures::before{left:-35px;transform-origin:bottom center;animation:w1fw 9s ease-in-out infinite alternate}
.scn-wallenstein-shows-oath-paper .figures::after{right:-35px;transform-origin:bottom center;animation:w1fr 10s ease-in-out infinite alternate}
@keyframes w1bg{0%{opacity:.7}50%{opacity:.9}100%{opacity:.7}}
@keyframes w1lp{0%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 30px 15px rgba(224,128,48,.5)}50%{transform:translate(-50%,50%) scale(1.06);box-shadow:0 0 50px 25px rgba(224,128,48,.7)}100%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 30px 15px rgba(224,128,48,.5)}}
@keyframes w1tb{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes w1pr{0%{transform:translate(-50%,0) rotate(-6deg)}50%{transform:translate(-50%,-2px) rotate(0deg)}100%{transform:translate(-50%,0) rotate(-6deg)}}
@keyframes w1fg{0%{opacity:1}50%{opacity:.9}100%{opacity:1}}
@keyframes w1fw{0%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(1deg)}100%{transform:translateY(0) rotate(-3deg)}}
@keyframes w1fr{0%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-3px) rotate(-1deg)}100%{transform:translateY(0) rotate(3deg)}}

.scn-wrangel-fifteen-thousand {
  background: linear-gradient(180deg,#1a1a1a 0%,#2a1a0a 50%,#1a0a00 100%), radial-gradient(ellipse at 60% 80%,#3a2510 0%,transparent 70%);
}
.scn-wrangel-fifteen-thousand .bg{position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0a,#18120e 70%);opacity:.85;animation:w2bg 12s ease-in-out infinite alternate}
.scn-wrangel-fifteen-thousand .candle{position:absolute;bottom:35%;left:65%;width:10px;height:20px;background:linear-gradient(180deg,#ffd080,#e89240);border-radius:3px 3px 8px 8px;box-shadow:0 0 30px 15px rgba(232,146,64,.6);animation:w2ca 5s ease-in-out infinite alternate}
.scn-wrangel-fifteen-thousand .desk{position:absolute;bottom:25%;left:20%;right:20%;height:6px;background:linear-gradient(180deg,#4a3a2a,#2a1a10);border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.7);animation:w2de 15s ease-in-out infinite}
.scn-wrangel-fifteen-thousand .letter{position:absolute;bottom:28%;left:48%;width:24px;height:16px;background:linear-gradient(135deg,#d4c8a8,#b8a888);transform:translate(-50%,0) rotate(4deg);border-radius:1px;box-shadow:0 2px 4px rgba(0,0,0,.5);animation:w2le 7s ease-in-out infinite}
.scn-wrangel-fifteen-thousand .figure{position:absolute;bottom:26%;left:30%;width:28px;height:50px;background:linear-gradient(180deg,#1a1212,#0a0808);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform-origin:bottom center;animation:w2fg 8s ease-in-out infinite}
.scn-wrangel-fifteen-thousand .figure::before{content:'';position:absolute;bottom:70%;left:100%;width:20px;height:12px;background:linear-gradient(180deg,#1a1212,#0a0808);border-radius:40% 40% 40% 40%/20% 20% 60% 60%;transform-origin:left center;transform:rotate(-20deg);animation:w2arm 6s ease-in-out infinite alternate}
@keyframes w2bg{0%{opacity:.7}50%{opacity:.9}100%{opacity:.75}}
@keyframes w2ca{0%{transform:scaleY(1);box-shadow:0 0 20px 10px rgba(232,146,64,.5)}50%{transform:scaleY(1.05);box-shadow:0 0 35px 18px rgba(232,146,64,.7)}100%{transform:scaleY(1);box-shadow:0 0 20px 10px rgba(232,146,64,.5)}}
@keyframes w2de{0%{transform:translateY(0)}50%{transform:translateY(-1px)}100%{transform:translateY(0)}}
@keyframes w2le{0%{transform:translate(-50%,0) rotate(4deg)}50%{transform:translate(-50%,-2px) rotate(2deg)}100%{transform:translate(-50%,0) rotate(4deg)}}
@keyframes w2fg{0%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-2px) rotate(-1deg)}100%{transform:translateY(0) rotate(3deg)}}
@keyframes w2arm{0%{transform:rotate(-25deg)}50%{transform:rotate(-15deg)}100%{transform:rotate(-25deg)}}

.scn-wrangel-demands-break-emperor {
  background: linear-gradient(180deg,#1a1a1a 0%,#2a1a0a 45%,#1a0a00 100%), radial-gradient(ellipse at 40% 60%,#3a2a1a 0%,transparent 70%);
}
.scn-wrangel-demands-break-emperor .bg{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0a,#180e0a);opacity:.75;animation:w3bg 14s ease-in-out infinite alternate}
.scn-wrangel-demands-break-emperor .table{position:absolute;bottom:25%;left:25%;right:25%;height:7px;background:linear-gradient(180deg,#4a3a2a,#2a1a10);border-radius:3px;box-shadow:0 4px 8px rgba(0,0,0,.8);animation:w3ta 11s ease-in-out infinite}
.scn-wrangel-demands-break-emperor .doc{position:absolute;bottom:28%;left:50%;width:30px;height:20px;background:linear-gradient(135deg,#d4c8a8,#b8a888);transform:translate(-50%,0) rotate(-8deg);border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.5);animation:w3do 4s ease-in-out infinite}
.scn-wrangel-demands-break-emperor .lamp{position:absolute;bottom:45%;left:50%;width:20px;height:28px;transform:translate(-50%,50%);background:radial-gradient(circle,#f0a050 0%,#e08030 40%,transparent 70%);border-radius:50%;box-shadow:0 0 45px 22px rgba(224,128,48,.7);animation:w3lp 3s ease-in-out infinite alternate}
.scn-wrangel-demands-break-emperor .figures{position:absolute;bottom:27%;left:50%;width:0;height:0}
.scn-wrangel-demands-break-emperor .figures::before,.scn-wrangel-demands-break-emperor .figures::after{content:'';position:absolute;bottom:0;width:28px;height:52px;border-radius:50% 50% 40% 40%/60% 60% 40% 40%}
.scn-wrangel-demands-break-emperor .figures::before{left:-40px;background:linear-gradient(180deg,#1a1212,#0a0808);transform-origin:bottom center;animation:w3fl 9s ease-in-out infinite alternate}
.scn-wrangel-demands-break-emperor .figures::after{right:-40px;background:linear-gradient(180deg,#2a1a1a,#120a0a);transform-origin:bottom center;animation:w3fr 7s ease-in-out infinite alternate}
@keyframes w3bg{0%{opacity:.7}50%{opacity:.9}100%{opacity:.75}}
@keyframes w3ta{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes w3do{0%{transform:translate(-50%,0) rotate(-8deg) scale(1)}50%{transform:translate(-50%,-3px) rotate(-5deg) scale(1.02)}100%{transform:translate(-50%,0) rotate(-8deg) scale(1)}}
@keyframes w3lp{0%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 35px 18px rgba(224,128,48,.5)}50%{transform:translate(-50%,50%) scale(1.07);box-shadow:0 0 55px 28px rgba(224,128,48,.8)}100%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 35px 18px rgba(224,128,48,.5)}}
@keyframes w3fl{0%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(3deg)}100%{transform:translateY(0) rotate(-2deg)}}
@keyframes w3fr{0%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-5px) rotate(-4deg)}100%{transform:translateY(0) rotate(2deg)}}

.scn-wallenstein-refuses-prague {
  background: linear-gradient(180deg,#1a1a1a 0%,#2a1a0a 50%,#1a0a00 100%), radial-gradient(ellipse at 30% 60%,#3a2515 0%,transparent 65%);
}
.scn-wallenstein-refuses-prague .bg{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0a,#140e0a);opacity:.8;animation:w4bg 16s ease-in-out infinite alternate}
.scn-wallenstein-refuses-prague .table{position:absolute;bottom:20%;left:20%;right:20%;height:8px;background:linear-gradient(180deg,#4a3a2a,#2a1a10);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.9);animation:w4ta 13s ease-in-out infinite}
.scn-wallenstein-refuses-prague .lamp{position:absolute;bottom:40%;left:40%;width:18px;height:24px;transform:translate(-50%,50%);background:radial-gradient(circle,#f0a050 0%,#e08030 40%,transparent 70%);border-radius:50%;box-shadow:0 0 40px 20px rgba(224,128,48,.6);animation:w4lp 4s ease-in-out infinite alternate}
.scn-wallenstein-refuses-prague .wall{position:absolute;bottom:22%;left:30%;width:34px;height:60px;background:linear-gradient(180deg,#1a1212,#0a0808);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform-origin:bottom center;animation:w4wl 10s ease-in-out infinite}
.scn-wallenstein-refuses-prague .wall::before{content:'';position:absolute;top:10%;left:50%;width:6px;height:10px;background:linear-gradient(180deg,#2a1a1a,#120a0a);border-radius:30% 30% 20% 20%;transform:translate(-50%,0);animation:w4hand 6s ease-in-out infinite alternate}
.scn-wallenstein-refuses-prague .wrangel{position:absolute;bottom:22%;right:25%;width:24px;height:45px;background:linear-gradient(180deg,#2a1a1a,#120a0a);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform-origin:bottom center;animation:w4wr 12s ease-in-out infinite alternate}
@keyframes w4bg{0%{opacity:.7}50%{opacity:.9}100%{opacity:.75}}
@keyframes w4ta{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes w4lp{0%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 30px 15px rgba(224,128,48,.5)}50%{transform:translate(-50%,50%) scale(1.05);box-shadow:0 0 50px 25px rgba(224,128,48,.7)}100%{transform:translate(-50%,50%) scale(1);box-shadow:0 0 30px 15px rgba(224,128,48,.5)}}
@keyframes w4wl{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(2deg)}100%{transform:translateY(0) rotate(-1deg)}}
@keyframes w4hand{0%{transform:translate(-50%,0) rotate(-20deg)}50%{transform:translate(-50%,-2px) rotate(0deg)}100%{transform:translate(-50%,0) rotate(-20deg)}}
@keyframes w4wr{0%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-2px) rotate(-3deg)}100%{transform:translateY(0) rotate(2deg)}}

/* Scene: illo-bohemians-dullards (tense, dim-interior) */

.scn-illo-bohemians-dullards { background: linear-gradient(180deg, #2a1e14 0%, #1a0f0a 50%, #0f0a07 100%), radial-gradient(ellipse at 50% 70%, #f0a050 0%, transparent 60%); }
.scn-illo-bohemians-dullards .bg-walls { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%); }
.scn-illo-bohemians-dullards .table { position:absolute; bottom:15%; left:10%; right:10%; height:5%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 10px; box-shadow: 0 -4px 10px rgba(0,0,0,0.5); transform: perspective(200px) rotateX(10deg); }
.scn-illo-bohemians-dullards .illo { position:absolute; bottom:25%; left:50%; width:30px; height:60px; transform: translateX(-50%); background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; box-shadow: inset 0 0 10px rgba(0,0,0,0.8); animation: ibd-illo 4s ease-in-out infinite; }
.scn-illo-bohemians-dullards .commander.left { position:absolute; bottom:25%; left:45%; width:20px; height:40px; transform: translateX(-50%) scale(0.9); background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ibd-com 6s ease-in-out infinite; }
.scn-illo-bohemians-dullards .commander.right { position:absolute; bottom:25%; right:45%; width:20px; height:40px; transform: translateX(50%) scale(0.9); background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; animation: ibd-com 6s ease-in-out infinite reverse; }
.scn-illo-bohemians-dullards .candle { position:absolute; bottom:22%; left:30%; width:6px; height:20px; background: linear-gradient(180deg, #e0c090 0%, #b08860 100%); border-radius: 2px; }
.scn-illo-bohemians-dullards .glow { position:absolute; top:40%; left:25%; width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,100,0.8) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: ibd-glow 1.5s ease-in-out infinite alternate; }
.scn-illo-bohemians-dullards .shadow { position:absolute; bottom:25%; left:40%; width:80px; height:10px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(3px); animation: ibd-shadow 4s ease-in-out infinite; }
@keyframes ibd-illo { 0% { transform: translateX(-50%) rotate(0deg) translateY(0); } 50% { transform: translateX(-50%) rotate(2deg) translateY(-2px); } 100% { transform: translateX(-50%) rotate(-2deg) translateY(0); } }
@keyframes ibd-com { 0% { transform: translateX(-50%) scale(0.9) rotate(0deg); } 50% { transform: translateX(-50%) scale(0.92) rotate(3deg); } 100% { transform: translateX(-50%) scale(0.9) rotate(-3deg); } }
@keyframes ibd-glow { 0% { opacity:0.7; transform: scale(1); } 100% { opacity:1; transform: scale(1.1); } }
@keyframes ibd-shadow { 0% { opacity:0.5; transform: scaleX(1); } 50% { opacity:0.8; transform: scaleX(1.2); } 100% { opacity:0.5; transform: scaleX(1); } }

/* Scene: isolani-wine-tattles (funny, dim-interior) */

.scn-isolani-wine-tattles { background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 50%, #1a0f0a 100%), radial-gradient(ellipse at 40% 60%, #ffc080 0%, transparent 70%); }
.scn-isolani-wine-tattles .bg-walls { position:absolute; inset:0; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); }
.scn-isolani-wine-tattles .table { position:absolute; bottom:20%; left:5%; right:5%; height:4%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 5px; box-shadow: 0 -2px 8px rgba(0,0,0,0.5); }
.scn-isolani-wine-tattles .is-figure { position:absolute; bottom:25%; left:35%; width:20px; height:50px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(5deg); animation: iwt-is 3s ease-in-out infinite; }
.scn-isolani-wine-tattles .il-figure { position:absolute; bottom:25%; right:35%; width:24px; height:48px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(-5deg); animation: iwt-il 4s ease-in-out infinite; }
.scn-isolani-wine-tattles .wine-bottle { position:absolute; bottom:28%; left:50%; width:8px; height:30px; background: linear-gradient(180deg, #3a6a4a 0%, #2a4a3a 100%); border-radius: 2px 2px 4px 4px; transform: translateX(-50%); animation: iwt-bottle 5s ease-in-out infinite; }
.scn-isolani-wine-tattles .wine-glass { position:absolute; bottom:30%; left:42%; width:10px; height:14px; background: rgba(200,180,160,0.6); border-radius: 0 0 5px 5px; border-top: 2px solid rgba(200,180,160,0.8); transform: rotate(-10deg); animation: iwt-glass 3s ease-in-out infinite; }
.scn-isolani-wine-tattles .backdoor { position:absolute; bottom:15%; left:10%; width:15px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%); border: 1px solid #5a4a3a; border-radius: 0 0 3px 3px; transform: perspective(100px) rotateY(20deg); }
.scn-isolani-wine-tattles .candle { position:absolute; bottom:22%; right:20%; width:4px; height:18px; background: linear-gradient(180deg, #d0b080 0%, #a08060 100%); border-radius: 2px; animation: iwt-candle 1s ease-in-out infinite alternate; }
@keyframes iwt-is { 0% { transform: rotate(5deg) translateY(0); } 25% { transform: rotate(-2deg) translateY(-2px); } 50% { transform: rotate(8deg) translateY(0); } 75% { transform: rotate(0deg) translateY(-1px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes iwt-il { 0% { transform: rotate(-5deg) translateY(0); } 30% { transform: rotate(3deg) translateY(-1px); } 60% { transform: rotate(-7deg) translateY(0); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes iwt-bottle { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(-3deg); } }
@keyframes iwt-glass { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-3px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes iwt-candle { 0% { opacity:0.8; transform: scaleY(1); } 100% { opacity:1; transform: scaleY(1.1); } }

/* Scene: max-curious-paper (tense, dim-interior) */

.scn-max-curious-paper { background: linear-gradient(180deg, #1f1410 0%, #0f0a08 50%, #050302 100%), radial-gradient(ellipse at 50% 80%, #d09060 0%, transparent 60%); }
.scn-max-curious-paper .bg-walls { position:absolute; inset:0; background: linear-gradient(180deg, #2a1a12 0%, #0f0a08 100%); }
.scn-max-curious-paper .table { position:absolute; bottom:20%; left:8%; right:8%; height:4%; background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%); border-radius: 5px; box-shadow: 0 -4px 10px rgba(0,0,0,0.7); }
.scn-max-curious-paper .paper { position:absolute; bottom:25%; left:50%; width:30px; height:20px; transform: translateX(-50%); background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: mcp-paper 2s ease-in-out infinite; }
.scn-max-curious-paper .max-figure { position:absolute; bottom:25%; left:45%; width:22px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform: rotate(10deg); animation: mcp-max 3s ease-in-out infinite; }
.scn-max-curious-paper .arm { position:absolute; bottom:28%; left:50%; width:18px; height:4px; background: #1a1a1a; border-radius: 2px; transform-origin: right center; transform: rotate(-10deg); animation: mcp-arm 2s ease-in-out infinite; }
.scn-max-curious-paper .onlookers { position:absolute; bottom:25%; right:30%; width:30px; height:40px; background: radial-gradient(ellipse, #2a2a2a 0%, transparent 70%); border-radius: 50%; animation: mcp-look 5s ease-in-out infinite; }
.scn-max-curious-paper .candle { position:absolute; bottom:22%; left:20%; width:5px; height:20px; background: linear-gradient(180deg, #d0b080 0%, #a08060 100%); border-radius: 2px; }
.scn-max-curious-paper .shadow { position:absolute; bottom:25%; left:40%; width:60px; height:8px; background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(2px); animation: mcp-shadow 3s ease-in-out infinite; }
@keyframes mcp-paper { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(-3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes mcp-max { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-3px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes mcp-arm { 0% { transform: rotate(-10deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-10deg); } }
@keyframes mcp-look { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.05); } 100% { opacity:0.5; transform: scale(1); } }
@keyframes mcp-shadow { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.7; transform: scaleX(1.2); } 100% { opacity:0.4; transform: scaleX(1); } }

/* Scene: max-signs-last (tense, dim-interior) */

.scn-max-signs-last { background: linear-gradient(180deg, #1a1410 0%, #0a0806 50%, #030201 100%), radial-gradient(ellipse at 40% 70%, #c09050 0%, transparent 70%); }
.scn-max-signs-last .bg-walls { position:absolute; inset:0; background: linear-gradient(180deg, #1e1410 0%, #0a0806 100%); }
.scn-max-signs-last .desk { position:absolute; bottom:20%; left:10%; right:10%; height:5%; background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%); border-radius: 5px; box-shadow: 0 -4px 10px rgba(0,0,0,0.7); }
.scn-max-signs-last .document { position:absolute; bottom:25%; left:50%; width:30px; height:18px; transform: translateX(-50%); background: linear-gradient(180deg, #d0c0b0 0%, #b0a090 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: msl-doc 2s ease-in-out infinite; }
.scn-max-signs-last .hand { position:absolute; bottom:27%; left:45%; width:20px; height:20px; background: linear-gradient(180deg, #c0a080 0%, #a08060 100%); border-radius: 50% 50% 40% 40% / 60% 40% 60% 40%; transform: rotate(-20deg); animation: msl-hand 3s ease-in-out infinite; box-shadow: -2px 2px 4px rgba(0,0,0,0.5); }
.scn-max-signs-last .butler { position:absolute; bottom:25%; right:20%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; animation: msl-butler 5s ease-in-out infinite; }
.scn-max-signs-last .inkwell { position:absolute; bottom:25%; left:55%; width:8px; height:10px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 30% 30%; }
.scn-max-signs-last .candle { position:absolute; bottom:22%; left:20%; width:4px; height:16px; background: linear-gradient(180deg, #d0a060 0%, #a08040 100%); border-radius: 2px; }
.scn-max-signs-last .glow { position:absolute; top:40%; left:15%; width:50px; height:50px; background: radial-gradient(circle, rgba(255,180,80,0.6) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: msl-glow 2s ease-in-out infinite alternate; }
@keyframes msl-doc { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes msl-hand { 0% { transform: rotate(-20deg) translateX(0); } 50% { transform: rotate(-10deg) translateX(5px); } 100% { transform: rotate(-20deg) translateX(0); } }
@keyframes msl-butler { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes msl-glow { 0% { opacity:0.6; transform: scale(1); } 100% { opacity:1; transform: scale(1.1); } }

/* Scene: wallenstein-heavens-journey (warm, dim-interior) */

.scn-wallenstein-heavens-journey {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a2a12 30%, #1a0a00 60%, #0a0500 100%),
              radial-gradient(ellipse at 50% 10%, #6a3a1a 0%, transparent 50%);
}
.scn-wallenstein-heavens-journey .whj-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  opacity: 0.8;
}
.scn-wallenstein-heavens-journey .whj-window {
  position: absolute; top: 5%; left: 50%; transform: translateX(-50%);
  width: 30%; height: 20%;
  background: linear-gradient(180deg, #f0d080 0%, #c08040 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 40px 10px #f0d080, 0 0 80px 20px #f0d08088;
  animation: whj-glow 4s ease-in-out infinite alternate;
}
.scn-wallenstein-heavens-journey .whj-desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a12 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 10px #00000066;
}
.scn-wallenstein-heavens-journey .whj-figure {
  position: absolute; bottom: 25%; left: 30%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: whj-sway 5s ease-in-out infinite;
}
.scn-wallenstein-heavens-journey .whj-door {
  position: absolute; bottom: 10%; right: 8%; width: 15%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border: 2px solid #1a0a00;
  border-radius: 2% 2% 0 0;
  animation: whj-knock 2s ease-in-out infinite;
}
.scn-wallenstein-heavens-journey .whj-globe {
  position: absolute; bottom: 22%; left: 35%; width: 6%; height: 6%;
  background: radial-gradient(circle, #f0e0c0 0%, #c0a080 50%, #8a6a4a 100%);
  border-radius: 50%;
  box-shadow: 0 0 10px #ffffff44;
  animation: whj-globe 12s linear infinite;
}
.scn-wallenstein-heavens-journey .whj-candle {
  position: absolute; bottom: 22%; left: 45%; width: 2%; height: 8%;
  background: linear-gradient(180deg, #f0d080 0%, #8a5a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 20px 5px #f0d080;
  animation: whj-flicker 1s ease-in-out infinite alternate;
}
@keyframes whj-glow {
  0% { opacity: 0.7; box-shadow: 0 0 30px 8px #f0d080; }
  50% { opacity: 1; box-shadow: 0 0 60px 15px #f0d080; }
  100% { opacity: 0.75; box-shadow: 0 0 35px 10px #f0d080; }
}
@keyframes whj-sway {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-2deg); }
}
@keyframes whj-knock {
  0%, 100% { transform: translateX(0); }
  10% { transform: translateX(-5px); }
  20% { transform: translateX(0); }
  30% { transform: translateX(-3px); }
  40% { transform: translateX(0); }
}
@keyframes whj-globe {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
  100% { transform: rotate(360deg); }
}
@keyframes whj-flicker {
  0% { opacity: 0.6; box-shadow: 0 0 15px 3px #f0d080; }
  50% { opacity: 1; box-shadow: 0 0 25px 8px #f0d080; }
  100% { opacity: 0.7; box-shadow: 0 0 18px 5px #f0d080; }
}

/* Scene: tertsky-urgent-news (tense, dim-interior) */

.scn-tertsky-urgent-news {
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 60%, #0a0500 100%),
              radial-gradient(ellipse at 50% 80%, #4a2a12 0%, transparent 70%);
}
.scn-tertsky-urgent-news .tun-bg {
  position: absolute; inset:0;
  background: linear-gradient(180deg, #3a2a1a 0%, #0a0500 100%);
}
.scn-tertsky-urgent-news .tun-doors {
  position: absolute; bottom:10%; left:50%; transform:translateX(-50%);
  width: 30%; height: 60%;
  background: linear-gradient(90deg, #4a3a2a 0%, #2a1a0a 100%);
  border: 2px solid #1a0a00;
  border-radius: 2% 2% 0 0;
  animation: tun-doors 3s ease-in-out infinite alternate;
}
.scn-tertsky-urgent-news .tun-curtain {
  position: absolute; bottom:10%; left: 50%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  transform-origin: top right;
  animation: tun-curtain 6s ease-in-out infinite;
}
.scn-tertsky-urgent-news .tun-figure-w {
  position: absolute; bottom:15%; left: 30%; width: 10%; height: 40%;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: tun-arm 4s ease-in-out infinite;
}
.scn-tertsky-urgent-news .tun-figure-t {
  position: absolute; bottom:15%; left: 55%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #0a1a1a 0%, #000a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: tun-walk 2s ease-in-out infinite;
}
.scn-tertsky-urgent-news .tun-spotlight {
  position: absolute; top:0; left: 45%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(200,230,255,0.3) 0%, transparent 80%);
  animation: tun-spotlight 5s ease-in-out infinite alternate;
}
@keyframes tun-doors {
  0% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(0.8); }
  100% { transform: translateX(-50%) scaleX(1); }
}
@keyframes tun-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(-20px); }
  100% { transform: translateX(0); }
}
@keyframes tun-arm {
  0% { transform: translate(0, 0) rotate(0deg); }
  30% { transform: translate(5px, -5px) rotate(10deg); }
  60% { transform: translate(-5px, 2px) rotate(-5deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes tun-walk {
  0%, 100% { transform: translateX(0) translateY(0); }
  25% { transform: translateX(10px) translateY(-2px); }
  50% { transform: translateX(20px) translateY(0); }
  75% { transform: translateX(30px) translateY(-2px); }
}
@keyframes tun-spotlight {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.2; }
}

/* Scene: tertsky-reveals-capture (tense, dim-interior) */

.scn-tertsky-reveals-capture {
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #050510 100%),
              radial-gradient(ellipse at 50% 70%, #2a2a4a 0%, transparent 60%);
}
.scn-tertsky-reveals-capture .trc-bg {
  position: absolute; inset:0;
  background: linear-gradient(180deg, #0a0a1a 0%, #0a0a10 100%);
}
.scn-tertsky-reveals-capture .trc-table {
  position: absolute; bottom:10%; left:15%; right:15%; height:15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  box-shadow: 0 -4px 8px #000;
}
.scn-tertsky-reveals-capture .trc-documents {
  position: absolute; bottom:20%; left:35%; width:10%; height:8%;
  background: linear-gradient(45deg, #f0e0c0 0%, #c0a080 100%);
  border-radius: 2%;
  animation: trc-flutter 3s ease-in-out infinite;
}
.scn-tertsky-reveals-capture .trc-figure-w {
  position: absolute; bottom:20%; left:25%; width:10%; height:40%;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: trc-recoil 4s ease-in-out infinite;
}
.scn-tertsky-reveals-capture .trc-figure-t {
  position: absolute; bottom:20%; left:50%; width:10%; height:35%;
  background: linear-gradient(180deg, #0a1a1a 0%, #000a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: trc-lean 2s ease-in-out infinite;
}
.scn-tertsky-reveals-capture .trc-lantern {
  position: absolute; bottom:35%; left: 60%; width:4%; height:10%;
  background: radial-gradient(circle, #f0d080 0%, #c08040 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 10px #f0d08088;
  animation: trc-flicker 1s ease-in-out infinite alternate;
}
.scn-tertsky-reveals-capture .trc-shadow {
  position: absolute; bottom:5%; left:30%; width:20%; height:40%;
  background: radial-gradient(ellipse, #000 0%, transparent 100%);
  opacity: 0.5;
  animation: trc-shadow 6s ease-in-out infinite;
}
@keyframes trc-recoil {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-10px) scaleY(1.1); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes trc-lean {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(10px) rotate(10deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes trc-flutter {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-3px) rotate(5deg); }
  60% { transform: translateY(1px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes trc-flicker {
  0% { opacity: 0.7; box-shadow: 0 0 20px 5px #f0d080; }
  50% { opacity: 1; box-shadow: 0 0 40px 10px #f0d080; }
  100% { opacity: 0.8; box-shadow: 0 0 25px 8px #f0d080; }
}
@keyframes trc-shadow {
  0% { transform: scaleY(1); opacity: 0.4; }
  50% { transform: scaleY(1.2); opacity: 0.6; }
  100% { transform: scaleY(1); opacity: 0.4; }
}

/* Scene: tertsky-packet-captured (dark, dim-interior) */

.scn-tertsky-packet-captured {
  background: linear-gradient(180deg, #0a0500 0%, #1a0a00 30%, #050200 70%, #000000 100%),
              radial-gradient(ellipse at 50% 60%, #2a1a0a 0%, transparent 70%);
}
.scn-tertsky-packet-captured .tpc-bg {
  position: absolute; inset:0;
  background: linear-gradient(180deg, #0a0500 0%, #050200 100%);
}
.scn-tertsky-packet-captured .tpc-table {
  position: absolute; bottom:15%; left:20%; right:20%; height:15%;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%);
  box-shadow: 0 -2px 4px #000;
}
.scn-tertsky-packet-captured .tpc-packet {
  position: absolute; bottom:22%; left:45%; width:8%; height:4%;
  background: linear-gradient(135deg, #f0e0c0 0%, #c0a080 100%);
  border-radius: 2%;
  animation: tpc-shake 2s ease-in-out infinite;
}
.scn-tertsky-packet-captured .tpc-figure-w {
  position: absolute; bottom:20%; left:25%; width:10%; height:35%;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: tpc-breath 5s ease-in-out infinite;
}
.scn-tertsky-packet-captured .tpc-figure-t {
  position: absolute; bottom:20%; left:55%; width:10%; height:40%;
  background: linear-gradient(180deg, #0a1a1a 0%, #000a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: tpc-pace 3s ease-in-out infinite;
}
.scn-tertsky-packet-captured .tpc-candle {
  position: absolute; bottom:25%; left: 35%; width:2%; height:8%;
  background: linear-gradient(180deg, #f0d080 0%, #8a5a2a 100%);
  box-shadow: 0 0 15px 3px #f0d080;
  animation: tpc-gutter 1s ease-in-out infinite alternate;
}
.scn-tertsky-packet-captured .tpc-lurker-shadow {
  position: absolute; bottom:10%; left:10%; width:20%; height:40%;
  background: radial-gradient(ellipse, #000 0%, transparent 100%);
  opacity: 0.6;
  animation: tpc-lurk 8s ease-in-out infinite;
}
@keyframes tpc-breath {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes tpc-pace {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(10px); }
  50% { transform: translateX(20px); }
  75% { transform: translateX(10px); }
}
@keyframes tpc-gutter {
  0% { opacity: 0.6; box-shadow: 0 0 10px 2px #f0d080; }
  50% { opacity: 1; box-shadow: 0 0 20px 5px #f0d080; }
  100% { opacity: 0.7; box-shadow: 0 0 12px 3px #f0d080; }
}
@keyframes tpc-shake {
  0% { transform: translateX(0) rotate(0deg); }
  20% { transform: translateX(-2px) rotate(2deg); }
  40% { transform: translateX(2px) rotate(-2deg); }
  60% { transform: translateX(-1px) rotate(1deg); }
  80% { transform: translateX(1px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes tpc-lurk {
  0% { transform: translate(0, 0); opacity: 0.5; }
  50% { transform: translate(10px, -5px); opacity: 0.7; }
  100% { transform: translate(-10px, 5px); opacity: 0.5; }
}

/* ─── scene 1: countess-senses-disaster ─── */

.scn-countess-senses-disaster {
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%),
              radial-gradient(ellipse at 60% 40%, #3a2a2a 0%, transparent 70%);
}
.scn-countess-senses-disaster .bg-room {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  animation: csd1-breathe 20s ease-in-out infinite;
}
.scn-countess-senses-disaster .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1a0e0e 0%, #0e0808 100%);
  animation: csd1-breathe 20s ease-in-out infinite;
}
.scn-countess-senses-disaster .wall {
  position:absolute; top:0; left:0; right:0; height:70%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  animation: csd1-breathe 20s ease-in-out infinite;
}
.scn-countess-senses-disaster .table {
  position:absolute; bottom:30%; left:35%; width:30%; height:5%;
  background: #5a3a2a; border-radius:2px;
  animation: csd1-breathe 20s ease-in-out infinite;
}
.scn-countess-senses-disaster .candle {
  position:absolute; bottom:35%; left:50%; width:4px; height:20px;
  background: #a06040; border-radius:2px;
  animation: csd1-breathe 20s ease-in-out infinite;
}
.scn-countess-senses-disaster .candle-glow {
  position:absolute; bottom:35%; left:50%; width:60px; height:60px;
  transform:translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%);
  animation: csd1-flicker 3s ease-in-out infinite alternate;
}
.scn-countess-senses-disaster .countess {
  position:absolute; bottom:30%; left:25%; width:20px; height:40px;
  background: linear-gradient(180deg, #6a4040 0%, #3a2020 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: csd1-tremble 2s ease-in-out infinite;
}
.scn-countess-senses-disaster .tertsky {
  position:absolute; bottom:30%; right:25%; width:22px; height:42px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: csd1-step 4s ease-in-out infinite;
}
.scn-countess-senses-disaster .painting {
  position:absolute; top:20%; left:40%; width:10%; height:15%;
  background: linear-gradient(180deg, #8a6a4a, #5a3a2a);
  border:2px solid #4a2a1a;
  animation: csd1-sway 6s ease-in-out infinite;
}
@keyframes csd1-breathe { 0%,100% { opacity:0.95; } 50% { opacity:1; } }
@keyframes csd1-flicker { 0% { opacity:0.6; transform:translate(-50%,-50%) scale(0.9); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.1); } 100% { opacity:0.7; transform:translate(-50%,-50%) scale(0.95); } }
@keyframes csd1-tremble { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px) rotate(-1deg); } }
@keyframes csd1-step { 0% { transform:translateX(0); } 25% { transform:translateX(3px); } 50% { transform:translateX(0); } 75% { transform:translateX(-2px); } 100% { transform:translateX(0); } }
@keyframes csd1-sway { 0%,100% { transform:rotate(0deg); } 50% { transform:rotate(2deg); } }

/* ─── scene 2: wallenstein-orders-guard-change ─── */

.scn-wallenstein-orders-guard-change {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 50%, #1a0e06 100%),
    radial-gradient(ellipse at 50% 35%, #6a4a3a 0%, transparent 70%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5);
}
.scn-wallenstein-orders-guard-change .bg-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
}
.scn-wallenstein-orders-guard-change .bg-floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.6);
}
.scn-wallenstein-orders-guard-change .arch {
  position: absolute;
  top: 5%; left: 50%; transform: translateX(-50%);
  width: 40%; height: 65%;
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  background: linear-gradient(135deg, #6a4a3a 0%, #3a2a1a 100%);
  box-shadow: inset -4px -4px 10px rgba(0,0,0,0.5), 0 0 30px rgba(0,0,0,0.3);
  animation: wog-arch 15s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-guard-change .guard-old {
  position: absolute;
  bottom: 30%; left: 15%;
  width: 10%; height: 45%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0603 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: wog-guard-sway 5s ease-in-out infinite;
}
.scn-wallenstein-orders-guard-change .guard-new {
  position: absolute;
  bottom: 30%; right: 15%;
  width: 10%; height: 45%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0603 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: wog-guard-sway 5s ease-in-out 2.5s infinite;
}
.scn-wallenstein-orders-guard-change .guard-walk {
  position: absolute;
  bottom: 30%;
  width: 10%; height: 45%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: wog-walk 8s ease-in-out infinite;
}
.scn-wallenstein-orders-guard-change .officer {
  position: absolute;
  bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 12%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 30% 30%;
  transform-origin: bottom center;
  animation: wog-officer 6s ease-in-out infinite;
}
.scn-wallenstein-orders-guard-change .torch-left {
  position: absolute;
  bottom: 55%; left: 10%;
  width: 8px; height: 40px;
  background: linear-gradient(180deg, #ff8844 0%, #cc6600 20%, #2a1a0a 30%);
  border-radius: 50% 50% 0 0 / 40% 40% 0 0;
  box-shadow: 0 0 20px 6px rgba(255,136,68,0.6);
  animation: wog-torch 1.2s ease-in-out infinite alternate;
}
.scn-wallenstein-orders-guard-change .torch-right {
  position: absolute;
  bottom: 55%; right: 10%;
  width: 8px; height: 40px;
  background: linear-gradient(180deg, #ff8844 0%, #cc6600 20%, #2a1a0a 30%);
  border-radius: 50% 50% 0 0 / 40% 40% 0 0;
  box-shadow: 0 0 20px 6px rgba(255,136,68,0.6);
  animation: wog-torch 1.2s 0.6s ease-in-out infinite alternate;
}
@keyframes wog-arch {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.01); }
  100% { transform: translateX(-50%) scale(0.99); }
}
@keyframes wog-guard-sway {
  0% { transform: rotate(-1deg) translateY(0); }
  25% { transform: rotate(1deg) translateY(-1px); }
  50% { transform: rotate(-0.5deg) translateY(0); }
  75% { transform: rotate(1.5deg) translateY(1px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes wog-walk {
  0% { left: -15%; transform: rotate(0deg) translateY(0); }
  20% { left: 5%; transform: rotate(-3deg) translateY(-2px); }
  40% { left: 20%; transform: rotate(3deg) translateY(0); }
  60% { left: 35%; transform: rotate(-3deg) translateY(-2px); }
  80% { left: 50%; transform: rotate(3deg) translateY(0); }
  100% { left: 55%; transform: rotate(0deg) translateY(0); }
}
@keyframes wog-officer {
  0% { transform: translateX(-50%) rotate(0deg) scale(1); }
  30% { transform: translateX(-50%) rotate(-2deg) scale(1.02); }
  60% { transform: translateX(-50%) rotate(2deg) scale(0.98); }
  100% { transform: translateX(-50%) rotate(0deg) scale(1); }
}
@keyframes wog-torch {
  0% { box-shadow: 0 0 16px 4px rgba(255,136,68,0.5); opacity: 0.8; transform: scaleY(1); }
  30% { box-shadow: 0 0 28px 8px rgba(255,136,68,0.7); opacity: 1; transform: scaleY(1.05); }
  60% { box-shadow: 0 0 20px 6px rgba(255,136,68,0.6); opacity: 0.9; transform: scaleY(0.95); }
  100% { box-shadow: 0 0 24px 7px rgba(255,136,68,0.6); opacity: 0.85; transform: scaleY(1); }
}

.scn-duchess-clings-to-wall {
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%),
              radial-gradient(ellipse at 40% 60%, #3a2a3a 0%, transparent 70%);
}
.scn-duchess-clings-to-wall .bg-wall {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  animation: dcw3-breathe 20s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #1a0e1a 0%, #0e080e 100%);
  animation: dcw3-breathe 20s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .window {
  position:absolute; top:10%; right:10%; width:30%; height:40%;
  background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%);
  border:4px solid #4a3a3a;
  box-shadow: inset 0 0 50px rgba(255,255,255,0.1);
  animation: dcw3-light 12s ease-in-out infinite alternate;
}
.scn-duchess-clings-to-wall .light-beam {
  position:absolute; top:10%; right:10%; width:30%; height:70%;
  background: linear-gradient(180deg, rgba(255,255,200,0.15) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: dcw3-beam 8s ease-in-out infinite alternate;
}
.scn-duchess-clings-to-wall .duchess {
  position:absolute; bottom:20%; left:40%; width:20px; height:40px;
  background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dcw3-cling 3s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .wallenstein {
  position:absolute; bottom:20%; left:48%; width:26px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: dcw3-still 2s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .candle-table {
  position:absolute; bottom:20%; left:20%; width:20%; height:4%;
  background: #5a3a2a; border-radius:2px;
  animation: dcw3-breathe 20s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .candle {
  position:absolute; bottom:24%; left:22%; width:4px; height:15px;
  background: #a06040; border-radius:2px;
  animation: dcw3-breathe 20s ease-in-out infinite;
}
.scn-duchess-clings-to-wall .candle-glow {
  position:absolute; bottom:22%; left:22%; width:40px; height:40px;
  transform:translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.3) 0%, transparent 70%);
  animation: dcw3-flicker 3s ease-in-out infinite alternate;
}
@keyframes dcw3-breathe { 0%,100% { opacity:0.95; } 50% { opacity:1; } }
@keyframes dcw3-light { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
@keyframes dcw3-beam { 0% { opacity:0.2; } 50% { opacity:0.5; } 100% { opacity:0.3; } }
@keyframes dcw3-cling { 0%,100% { transform:translateX(0) rotate(0); } 50% { transform:translateX(3px) rotate(2deg); } }
@keyframes dcw3-still { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1px); } }
@keyframes dcw3-flicker { 0% { opacity:0.6; transform:translate(-50%,-50%) scale(0.9); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.1); } 100% { opacity:0.7; transform:translate(-50%,-50%) scale(0.95); } }

/* ─── scene 4: wallenstein-commands-retreat ─── */

.scn-wallenstein-commands-retreat {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0e 100%),
              radial-gradient(ellipse at 50% 40%, #4a3a2a 0%, transparent 70%);
}
.scn-wallenstein-commands-retreat .bg-room {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  animation: wcr4-breathe 25s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .floor {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e08 100%);
  animation: wcr4-breathe 25s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .door {
  position:absolute; bottom:25%; right:5%; width:20%; height:60%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius:50% 50% 0 0 / 20% 20% 0 0;
  border-left:4px solid #4a3a2a;
  overflow:hidden;
  animation: wcr4-breathe 25s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .door-curtain {
  position:absolute; top:0; right:0; width:50%; height:100%;
  background: linear-gradient(90deg, #6a4a3a, #4a2a1a);
  animation: wcr4-sway 6s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .wallenstein {
  position:absolute; bottom:25%; left:45%; width:26px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wcr4-command 3s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .countess {
  position:absolute; bottom:25%; left:30%; width:20px; height:40px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wcr4-retreat 4s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .tertsky {
  position:absolute; bottom:25%; right:30%; width:22px; height:45px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wcr4-bow 5s ease-in-out infinite;
}
.scn-wallenstein-commands-retreat .duchess {
  position:absolute; bottom:25%; left:25%; width:18px; height:38px;
  background: linear-gradient(180deg, #5a3a4a 0%, #2a1a2a 100%);
  border-radius:50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wcr4-cling 4s ease-in-out infinite 1s;
}
.scn-wallenstein-commands-retreat .lantern {
  position:absolute; top:15%; left:20%; width:10px; height:15px;
  background: radial-gradient(circle, #ffd68a 0%, #b07830 70%);
  border-radius:30% 30% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(255,214,138,0.3);
  animation: wcr4-glow 2s ease-in-out infinite alternate;
}
@keyframes wcr4-breathe { 0%,100% { opacity:0.95; } 50% { opacity:1; } }
@keyframes wcr4-sway { 0%,100% { transform:translateX(0); } 50% { transform:translateX(-5px); } }
@keyframes wcr4-command { 0%,100% { transform:rotate(0deg); } 50% { transform:rotate(5deg) translateY(-2px); } }
@keyframes wcr4-retreat { 0% { transform:translateX(0); } 25% { transform:translateX(-5px); } 50% { transform:translateX(0); } 75% { transform:translateX(2px); } 100% { transform:translateX(0); } }
@keyframes wcr4-bow { 0%,100% { transform:rotate(0deg); } 50% { transform:rotate(10deg); } }
@keyframes wcr4-cling { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px) rotate(-2deg); } }
@keyframes wcr4-glow { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.7; } }

.scn-wallenstein-embraces-future {
  background:
    linear-gradient(180deg, #F5E6CA 0%, #D4A574 100%),
    radial-gradient(ellipse at 30% 20%, #FFF5E0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.wef-window {
  position: absolute;
  top: 10%;
  left: 10%;
  width: 25%;
  height: 60%;
  background: linear-gradient(135deg, #B68D60 0%, #8B5E3C 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  border: 4px solid #5A3D2B;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: wef-window 10s ease-in-out infinite alternate;
}
@keyframes wef-window {
  0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.3); }
  50% { box-shadow: inset 0 0 30px rgba(255,215,140,0.2); }
  100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.3); }
}
.wef-beam {
  position: absolute;
  top: 10%;
  left: 10%;
  width: 30%;
  height: 80%;
  background: linear-gradient(135deg, rgba(255,235,200,0.4) 0%, transparent 70%);
  transform-origin: top left;
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: wef-beam 8s ease-in-out infinite alternate;
}
@keyframes wef-beam {
  0% { opacity: 0.6; transform: rotate(-2deg); }
  50% { opacity: 1; transform: rotate(0deg); }
  100% { opacity: 0.7; transform: rotate(2deg); }
}
.wef-figure {
  position: absolute;
  bottom: 20%;
  left: 45%;
  width: 12%;
  height: 40%;
  background: linear-gradient(180deg, #3A281C 0%, #2B1E15 50%, #1F1510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wef-figure 6s ease-in-out infinite;
}
@keyframes wef-figure {
  0% { transform: scaleY(1) translateX(0); }
  25% { transform: scaleY(1.01) translateX(-2px); }
  50% { transform: scaleY(1) translateX(0); }
  75% { transform: scaleY(1.01) translateX(2px); }
  100% { transform: scaleY(1) translateX(0); }
}
.wef-robe {
  position: absolute;
  bottom: 18%;
  left: 42%;
  width: 18%;
  height: 30%;
  background: linear-gradient(180deg, #4A3524 0%, #2B1E15 60%, #1A120C 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0% 100%);
  animation: wef-robe 4s ease-in-out infinite alternate;
}
@keyframes wef-robe {
  0% { transform: skewX(0deg); }
  50% { transform: skewX(2deg); }
  100% { transform: skewX(-2deg); }
}
.wef-crown {
  position: absolute;
  top: 25%;
  left: 47%;
  width: 8%;
  height: 6%;
  background: radial-gradient(ellipse, #D4A574 0%, #8B5E3C 100%);
  border-radius: 50% 50% 0 0;
  clip-path: polygon(0 100%, 20% 0, 50% 40%, 80% 0, 100% 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: wef-crown 3s ease-in-out infinite alternate;
}
@keyframes wef-crown {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-2px) scale(1.02); }
}
.wef-pedestal {
  position: absolute;
  bottom: 10%;
  left: 40%;
  width: 20%;
  height: 8%;
  background: linear-gradient(180deg, #8B5E3C 0%, #5A3D2B 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.4);
  animation: wef-pedestal 12s ease-in-out infinite;
}
@keyframes wef-pedestal {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(0.98) translateY(-1px); }
}
.wef-dust {
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  background: radial-gradient(circle at 30% 40%, rgba(255,235,200,0.1) 0%, transparent 50%);
  pointer-events: none;
  animation: wef-dust 15s linear infinite;
}
@keyframes wef-dust {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.5; }
  50% { transform: translate(20px, -30px); opacity: 0.3; }
  90% { opacity: 0.5; }
  100% { transform: translate(40px, -60px); opacity: 0; }
}

.scn-tersky-warns-deception {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 50%, #05050a 100%), radial-gradient(ellipse at 50% 40%, #2a2a3e 0%, transparent 60%);
}
.scn-tersky-warns-deception .room-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1c1c30 0%, #121220 100%);
  box-shadow: inset 0 0 100px rgba(0,0,0,0.7);
  animation: twd-room 15s ease-in-out infinite alternate;
}
.scn-tersky-warns-deception .table {
  position: absolute; bottom: 25%; left: 25%; right: 25%; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-tersky-warns-deception .candle {
  position: absolute; bottom: 45%; left: 48%; width: 4%; height: 14%;
  background: linear-gradient(180deg, #f5d6a0 0%, #c8a060 40%, #8a6a3a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 2px rgba(200,140,60,0.6);
  animation: twd-candle 5s ease-in-out infinite alternate;
}
.scn-tersky-warns-deception .candle-glow {
  position: absolute; bottom: 42%; left: 40%; width: 22%; height: 25%;
  background: radial-gradient(ellipse at 50% 60%, rgba(240,180,80,0.4) 0%, transparent 70%);
  filter: blur(15px);
  animation: twd-glow 6s ease-in-out infinite alternate;
}
.scn-tersky-warns-deception .figure-stand {
  position: absolute; bottom: 20%; left: 28%; width: 10%; height: 42%;
  background: linear-gradient(135deg, #1a1a2e 0%, #0a0a16 100%);
  border-radius: 35% 35% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: twd-stand 4s ease-in-out infinite;
}
.scn-tersky-warns-deception .figure-sit {
  position: absolute; bottom: 22%; right: 34%; width: 12%; height: 38%;
  background: linear-gradient(225deg, #1c1c2e 0%, #0e0e1a 100%);
  border-radius: 35% 35% 40% 40% / 40% 40% 40% 40%;
  transform-origin: bottom center;
  animation: twd-sit 5s ease-in-out infinite;
}
.scn-tersky-warns-deception .shadow-1 {
  position: absolute; bottom: 20%; left: 18%; width: 25%; height: 8%;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(6px);
  animation: twd-shadow-1 8s ease-in-out infinite alternate;
}
.scn-tersky-warns-deception .shadow-2 {
  position: absolute; bottom: 20%; right: 20%; width: 20%; height: 6%;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(5px);
  animation: twd-shadow-2 9s ease-in-out infinite alternate;
}
@keyframes twd-room {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes twd-candle {
  0% { transform: scaleY(1) scaleX(1); opacity: 0.9; }
  50% { transform: scaleY(1.03) scaleX(0.97); opacity: 1; }
  100% { transform: scaleY(0.98) scaleX(1.02); opacity: 0.85; }
}
@keyframes twd-glow {
  0% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.7; }
}
@keyframes twd-stand {
  0% { transform: translateX(0) rotate(-1deg); }
  30% { transform: translateX(-3px) rotate(2deg); }
  60% { transform: translateX(2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes twd-sit {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(2px) rotate(1deg); }
  75% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes twd-shadow-1 {
  0% { transform: scaleX(1) rotate(-2deg); }
  50% { transform: scaleX(1.1) rotate(1deg); }
  100% { transform: scaleX(0.95) rotate(-1deg); }
}
@keyframes twd-shadow-2 {
  0% { transform: scaleX(1) rotate(1deg); }
  50% { transform: scaleX(0.9) rotate(-2deg); }
  100% { transform: scaleX(1.05) rotate(2deg); }
}

.scn-wallenstein-philosophical-on-friendship {
  background:
    linear-gradient(180deg, #f5e6d3 0%, #e8d5b8 60%, #d4bfa0 100%),
    radial-gradient(ellipse at 30% 80%, #fffbe6 0%, transparent 60%);
}

.scn-wallenstein-philosophical-on-friendship .bg-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(135deg, #f0dfc8 0%, #e6d0b5 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.05);
  animation: wpf-wall 12s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .window-frame {
  position: absolute;
  left: 8%;
  top: 12%;
  width: 28%;
  height: 45%;
  background: linear-gradient(135deg, #a08060 0%, #8b6f47 100%);
  border-radius: 4px 4px 6px 6px;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.2), 0 8px 16px rgba(0,0,0,0.15);
  animation: wpf-windowframe 20s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .window-pane {
  position: absolute;
  left: 10%;
  top: 14%;
  width: 24%;
  height: 41%;
  background: linear-gradient(180deg, #fffbe6 0%, #f0e6c8 60%, #e0d4b0 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 30px #fffbe6, 0 0 15px rgba(255, 251, 230, 0.3);
  animation: wpf-pane 8s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .light-beam {
  position: absolute;
  left: 10%;
  top: 14%;
  width: 50%;
  height: 70%;
  background: linear-gradient(135deg, rgba(255, 251, 230, 0.25) 0%, transparent 70%);
  transform-origin: top left;
  transform: rotate(8deg) skewX(-5deg);
  pointer-events: none;
  animation: wpf-beam 10s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .table {
  position: absolute;
  bottom: 18%;
  left: 35%;
  width: 45%;
  height: 12%;
  background: linear-gradient(180deg, #8b6f47 0%, #6e5535 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 8px 12px rgba(0,0,0,0.2);
  animation: wpf-table 14s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .book {
  position: absolute;
  bottom: 23%;
  left: 48%;
  width: 10px;
  height: 14px;
  background: linear-gradient(135deg, #4a3b2c 0%, #3a2b1c 100%);
  border-radius: 1px 1px 3px 3px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: wpf-book 6s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .bird-perch {
  position: absolute;
  bottom: 32%;
  left: 22%;
  width: 40px;
  height: 3px;
  background: #6e5535;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: wpf-perch 18s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .bird {
  position: absolute;
  bottom: 34%;
  left: 28%;
  width: 12px;
  height: 10px;
  background:
    radial-gradient(circle at 40% 50%, #4a3b2c 30%, transparent 30%),
    radial-gradient(circle at 60% 50%, #3a2b1c 30%, transparent 30%);
  border-radius: 50% 50% 40% 40% / 60% 40% 60% 40%;
  transform: rotate(-10deg);
  box-shadow: -2px 0 2px rgba(0,0,0,0.2);
  animation: wpf-bird 4s ease-in-out infinite alternate;
}

.scn-wallenstein-philosophical-on-friendship .shadow-on-floor {
  position: absolute;
  bottom: 18%;
  left: 22%;
  width: 35%;
  height: 8%;
  background: rgba(0,0,0,0.08);
  border-radius: 50%;
  filter: blur(8px);
  transform: skewX(-40deg);
  animation: wpf-shadow 12s ease-in-out infinite alternate;
}

@keyframes wpf-wall {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.92; }
}

@keyframes wpf-windowframe {
  0% { box-shadow: inset 0 2px 8px rgba(0,0,0,0.2), 0 8px 16px rgba(0,0,0,0.15); }
  50% { box-shadow: inset 0 2px 10px rgba(0,0,0,0.25), 0 8px 18px rgba(0,0,0,0.18); }
  100% { box-shadow: inset 0 2px 6px rgba(0,0,0,0.18), 0 8px 14px rgba(0,0,0,0.13); }
}

@keyframes wpf-pane {
  0% { opacity: 0.9; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 0.85; filter: brightness(0.98); }
}

@keyframes wpf-beam {
  0% { transform: rotate(6deg) skewX(-3deg); opacity: 0.6; }
  50% { transform: rotate(10deg) skewX(-7deg); opacity: 0.8; }
  100% { transform: rotate(7deg) skewX(-4deg); opacity: 0.65; }
}

@keyframes wpf-table {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(0.98); }
  100% { transform: translateY(0) scaleY(1); }
}

@keyframes wpf-book {
  0% { transform: rotate(-3deg) translateX(0); }
  50% { transform: rotate(-7deg) translateX(1px); }
  100% { transform: rotate(-4deg) translateX(0); }
}

@keyframes wpf-perch {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}

@keyframes wpf-bird {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-2px); }
  100% { transform: rotate(-10deg) translateY(0); }
}

@keyframes wpf-shadow {
  0% { opacity: 0.5; transform: skewX(-40deg) scaleX(1); }
  50% { opacity: 0.7; transform: skewX(-35deg) scaleX(1.05); }
  100% { opacity: 0.45; transform: skewX(-40deg) scaleX(0.98); }
}

.scn-wallenstein-recognizes-mercy {
  background:
    linear-gradient(180deg, #ebc88b 0%, #c27a3a 50%, #a0522d 100%),
    radial-gradient(ellipse at 20% 40%, #ffd700 0%, #d2691e 50%, transparent 70%);
}

.scn-wallenstein-recognizes-mercy .bg-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
}

.scn-wallenstein-recognizes-mercy .window-glow {
  position: absolute;
  left: 10%;
  top: 10%;
  width: 30%;
  height: 80%;
  background: radial-gradient(ellipse at center, #fff8dc 0%, #ffd700 40%, transparent 70%);
  border-radius: 10%;
  filter: blur(10px);
  animation: wr-glow 3s ease-in-out infinite alternate;
}

.scn-wallenstein-recognizes-mercy .wallenstein-head {
  position: absolute;
  left: 18%;
  top: 15%;
  width: 8%;
  height: 12%;
  background: radial-gradient(ellipse, #3a251a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-head-turn 5s ease-in-out infinite;
}

.scn-wallenstein-recognizes-mercy .wallenstein-body {
  position: absolute;
  left: 15%;
  top: 27%;
  width: 14%;
  height: 45%;
  background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  transform-origin: center bottom;
  animation: wr-body-sway 5s ease-in-out infinite;
}

.scn-wallenstein-recognizes-mercy .mercy-head {
  position: absolute;
  right: 20%;
  bottom: 40%;
  width: 6%;
  height: 9%;
  background: radial-gradient(ellipse, #3a251a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wr-kneel 6s ease-in-out infinite;
}

.scn-wallenstein-recognizes-mercy .mercy-body {
  position: absolute;
  right: 18%;
  bottom: 20%;
  width: 10%;
  height: 25%;
  background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  animation: wr-kneel 6s ease-in-out infinite 1s;
}

.scn-wallenstein-recognizes-mercy .table {
  position: absolute;
  bottom: 22%;
  left: 40%;
  width: 20%;
  height: 6%;
  background: linear-gradient(180deg, #6b4226 0%, #4a2a15 100%);
  border-radius: 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: wr-table 8s ease-in-out infinite;
}

.scn-wallenstein-recognizes-mercy .lantern {
  position: absolute;
  bottom: 26%;
  left: 46%;
  width: 4%;
  height: 5%;
  background: radial-gradient(circle, #ffd700 0%, #d2691e 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(255,215,0,0.8);
  animation: wr-lantern 2s ease-in-out infinite alternate;
}

.scn-wallenstein-recognizes-mercy .shadow-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  animation: wr-shadow 4s ease-in-out infinite;
}

@keyframes wr-glow {
  0% { opacity: 0.9; box-shadow: 0 0 40px 20px rgba(255,215,0,0.5); }
  50% { opacity: 1; box-shadow: 0 0 60px 30px rgba(255,215,0,0.8); }
  100% { opacity: 0.85; box-shadow: 0 0 35px 15px rgba(255,215,0,0.4); }
}

@keyframes wr-head-turn {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-2deg); }
}

@keyframes wr-body-sway {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(1px); }
}

@keyframes wr-kneel {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}

@keyframes wr-table {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.01); }
  100% { transform: scaleX(1); }
}

@keyframes wr-lantern {
  0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(255,215,0,0.6); }
  50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,215,0,0.9); }
  100% { opacity: 0.85; box-shadow: 0 0 25px 8px rgba(255,215,0,0.7); }
}

@keyframes wr-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

.scn-wallenstein-regrets-secrecy { background: linear-gradient(135deg, #f5e6c8 0%, #c8b28a 50%, #8a7450 100%), radial-gradient(ellipse at 20% 40%, #f5e6c8 0%, transparent 60%); }
.scn-wallenstein-regrets-secrecy .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #d9c9b0 0%, #a88f6a 100%); }
.scn-wallenstein-regrets-secrecy .window { position:absolute; top:5%; left:5%; width:35%; height:55%; background: linear-gradient(180deg, #b0d0e8 0%, #8098b8 100%); border:6px solid #6a5a3a; border-radius:4px; box-shadow:inset 0 0 30px rgba(255,255,240,.3); }
.scn-wallenstein-regrets-secrecy .curtain { position:absolute; top:5%; left:5%; width:40%; height:60%; background: linear-gradient(90deg, #8a7050 0%, #a08560 30%, transparent 100%); filter:blur(2px); animation:wt-drape 1.2s ease-in-out infinite alternate; }
.scn-wallenstein-regrets-secrecy .figure { position:absolute; bottom:20%; right:28%; width:14%; height:40%; background: #3a2a1a; border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation:wt-tremble 0.8s ease-in-out infinite; }
.scn-wallenstein-regrets-secrecy .table { position:absolute; bottom:14%; left:15%; width:35%; height:6%; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.5); }
.scn-wallenstein-regrets-secrecy .lantern { position:absolute; bottom:26%; left:30%; width:4%; height:6%; background: radial-gradient(circle, #ffd680 0%, #c08040 80%); border-radius:50%; box-shadow: 0 0 20px 8px #ffd680, 0 0 40px 15px rgba(255,214,128,.5); animation:wt-flicker 0.6s ease-in-out infinite alternate; }
.scn-wallenstein-regrets-secrecy .shadow { position:absolute; bottom:10%; right:20%; width:20%; height:4%; background: radial-gradient(ellipse, #3a2a1a 0%, transparent 70%); opacity:.5; animation:wt-shift 1.0s ease-in-out infinite alternate; }
@keyframes wt-drape { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-2px) scaleX(0.98); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes wt-tremble { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(2px) rotate(1deg); } 50% { transform: translateX(-1px) rotate(0deg); } 75% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wt-flicker { 0% { box-shadow: 0 0 15px 5px #e0b060, 0 0 30px 10px rgba(224,176,96,.4); opacity:.85; } 50% { box-shadow: 0 0 30px 12px #ffd680, 0 0 60px 20px rgba(255,214,128,.6); opacity:1; } 100% { box-shadow: 0 0 18px 6px #e0b060, 0 0 35px 12px rgba(224,176,96,.45); opacity:.9; } }
@keyframes wt-shift { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(0.95); } 100% { transform: translateX(0) scaleX(1); } }

.scn-wallenstein-justifies-isolani-desertion {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4c4a0 50%, #c0b090 100%),
    radial-gradient(ellipse at 20% 40%, #fffae8 0%, transparent 60%);
}
.scn-wallenstein-justifies-isolani-desertion .wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c0a0 100%);
  box-shadow: inset 0 0 60px rgba(80,60,40,0.08);
  z-index: 1;
  animation: wj-wall 15s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  z-index: 2;
}
.scn-wallenstein-justifies-isolani-desertion .window {
  position: absolute;
  top: 8%;
  left: 12%;
  width: 28%;
  height: 45%;
  background: linear-gradient(145deg, #e0e8f8 0%, #c0d0e8 100%);
  border: 6px solid #5a4a30;
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255,250,230,0.3), 0 0 60px rgba(200,200,240,0.15);
  z-index: 3;
  animation: wj-light 6s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .curtain-left {
  position: absolute;
  top: 5%;
  left: 8%;
  width: 10%;
  height: 55%;
  background: linear-gradient(180deg, #3a2a4e 0%, #2a1a3e 100%);
  border-radius: 0 40% 40% 0 / 0 20% 20% 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.2);
  z-index: 4;
  animation: wj-curtain-l 8s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .curtain-right {
  position: absolute;
  top: 5%;
  right: 8%;
  width: 10%;
  height: 55%;
  background: linear-gradient(180deg, #3a2a4e 0%, #2a1a3e 100%);
  border-radius: 40% 0 0 40% / 20% 0 0 20%;
  box-shadow: -4px 0 12px rgba(0,0,0,0.2);
  z-index: 4;
  animation: wj-curtain-r 8s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-wallenstein-justifies-isolani-desertion .table {
  position: absolute;
  bottom: 18%;
  left: 38%;
  width: 32%;
  height: 14%;
  background: linear-gradient(180deg, #7a6030 0%, #5a4020 100%);
  border-radius: 6px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,200,100,0.1);
  z-index: 5;
  animation: wj-table 20s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .figure {
  position: absolute;
  bottom: 20%;
  left: 44%;
  width: 10%;
  height: 55%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  z-index: 6;
  animation: wj-figure 4s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .candle {
  position: absolute;
  bottom: 28%;
  left: 52%;
  width: 2%;
  height: 6%;
  background: linear-gradient(180deg, #f0d88a 0%, #c8a050 100%);
  border-radius: 10% 10% 20% 20% / 20% 20% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  z-index: 7;
  animation: wj-candle 3s ease-in-out infinite alternate;
}
.scn-wallenstein-justifies-isolani-desertion .candle-glow {
  position: absolute;
  bottom: 26%;
  left: 51%;
  width: 6%;
  height: 10%;
  background: radial-gradient(circle, rgba(255,200,100,0.35) 0%, rgba(255,200,100,0.1) 40%, transparent 60%);
  border-radius: 50%;
  z-index: 8;
  animation: wj-glow 2s ease-in-out infinite alternate;
}
@keyframes wj-wall {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.97; }
}
@keyframes wj-light {
  0% { opacity: 0.85; box-shadow: inset 0 0 20px rgba(255,250,230,0.2), 0 0 30px rgba(200,200,240,0.1); }
  50% { opacity: 1; box-shadow: inset 0 0 50px rgba(255,250,230,0.4), 0 0 80px rgba(200,200,240,0.2); }
  100% { opacity: 0.9; box-shadow: inset 0 0 30px rgba(255,250,230,0.25), 0 0 50px rgba(200,200,240,0.12); }
}
@keyframes wj-curtain-l {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wj-curtain-r {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes wj-table {
  0% { transform: translateY(0); box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
  50% { transform: translateY(-1px); box-shadow: 0 8px 16px rgba(0,0,0,0.2); }
  100% { transform: translateY(0); box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
}
@keyframes wj-figure {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes wj-candle {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(3deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wj-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(1.05); }
}

.scn-wallenstein-look-forward {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2a1a1e 40%, #1a1014 100%),
    radial-gradient(ellipse at 40% 60%, #3a2a2a 0%, transparent 60%);
}
.scn-wallenstein-look-forward .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #1e1a1c 0%, #2a1e20 30%, #1e1a1c 70%);
  border-radius: 4px;
}
.scn-wallenstein-look-forward .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a100e 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.7);
}
.scn-wallenstein-look-forward .desk {
  position: absolute; bottom: 22%; left: 15%; right: 15%; height: 16%;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1a12 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.8);
  animation: wlf-desk 6s ease-in-out infinite;
}
.scn-wallenstein-look-forward .lamp {
  position: absolute; bottom: 36%; left: 28%; width: 12px; height: 30px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: wlf-lamp-sway 4s ease-in-out infinite;
}
.scn-wallenstein-look-forward .lamp-glow {
  position: absolute; bottom: 35%; left: 26%; width: 60px; height: 60px;
  background: radial-gradient(circle, #c08040 0%, rgba(192,128,64,0.3) 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: wlf-glow-pulse 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-look-forward .figure {
  position: absolute; bottom: 20%; left: 35%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1014 0%, #0a0608 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wlf-figure 5s ease-in-out infinite;
}
.scn-wallenstein-look-forward .shadow-figure {
  position: absolute; bottom: 18%; left: 33%; width: 30px; height: 40px;
  background: rgba(0,0,0,0.4);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  filter: blur(6px);
  animation: wlf-shadow 5s ease-in-out infinite;
}
.scn-wallenstein-look-forward .map {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 28px;
  background: linear-gradient(135deg, #4a3a2a 0%, #5a4a3a 50%, #3a2a1a 100%);
  border-radius: 4px;
  transform: rotate(-4deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.6);
  animation: wlf-map 8s ease-in-out infinite;
}
@keyframes wlf-desk {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes wlf-lamp-sway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
}
@keyframes wlf-glow-pulse {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes wlf-figure {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-1deg); }
}
@keyframes wlf-shadow {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(2px) scale(1.1); }
}
@keyframes wlf-map {
  0%, 100% { transform: rotate(-4deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(2px); }
}

.scn-wallenstein-retires-stage {
  background: 
    linear-gradient(180deg, #1a1310 0%, #2a1e18 40%, #1a120e 100%),
    radial-gradient(ellipse at 50% 60%, rgba(200,140,80,.25) 0%, transparent 70%);
}
.scn-wallenstein-retires-stage .stage-bg {
  position: absolute; inset: 0; 
  background: radial-gradient(ellipse at 50% 40%, #3a2a1e 0%, #1a1210 100%);
  animation: wa-bg 12s ease-in-out infinite alternate;
}
.scn-wallenstein-retires-stage .stage-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #1a120e 0%, #2a1e16 50%, #3a2a1c 100%);
  border-radius: 30% 30% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
}
.scn-wallenstein-retires-stage .arch {
  position: absolute; top: 5%; left: 10%; right: 10%; height: 60%;
  border: 4px solid #4a3a2a;
  border-radius: 50% / 100% 100% 0 0;
  background: transparent;
  box-shadow: inset 0 0 30px rgba(0,0,0,.7);
  animation: wa-curtain-sway 20s ease-in-out infinite;
  pointer-events: none;
}
.scn-wallenstein-retires-stage .curtain {
  position: absolute; top: 0; bottom: 35%; width: 20%;
  background: linear-gradient(180deg, #6a3a2a 0%, #4a2a1a 50%, #3a1e12 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: inset -4px 0 12px rgba(0,0,0,.5), inset 4px 0 12px rgba(0,0,0,.5);
  animation: wa-curtain-sway 18s ease-in-out infinite alternate;
}
.scn-wallenstein-retires-stage .curtain-left {
  left: 8%;
  transform-origin: left center;
}
.scn-wallenstein-retires-stage .curtain-right {
  right: 8%;
  transform-origin: right center;
  animation-delay: -6s;
}
.scn-wallenstein-retires-stage .light-spot {
  position: absolute; bottom: 35%; left: 50%; width: 40%; height: 50%;
  transform: translateX(-50%) translateY(0);
  background: radial-gradient(ellipse at 50% 30%, rgba(220,170,100,.5) 0%, rgba(200,140,80,.2) 40%, transparent 70%);
  pointer-events: none;
  animation: wa-light 3s ease-in-out infinite alternate;
}
.scn-wallenstein-retires-stage .figure {
  position: absolute; bottom: 20%;
  background: linear-gradient(180deg, #0e0a08 0%, #1a100c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.8);
}
.scn-wallenstein-retires-stage .figure-wall {
  left: 35%; width: 22px; height: 60px;
  transform-origin: bottom center;
  animation: wa-wall-stand 8s ease-in-out infinite;
}
.scn-wallenstein-retires-stage .figure-max {
  left: 55%; width: 20px; height: 42px;
  transform-origin: bottom center;
  animation: wa-max-kneel 6s ease-in-out infinite;
}
.scn-wallenstein-retires-stage .shadow-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, transparent 40%, rgba(0,0,0,.5) 100%);
  pointer-events: none;
  animation: wa-shadow 14s ease-in-out infinite alternate;
}

@keyframes wa-bg {
  0% { opacity: .7; }
  50% { opacity: .9; }
  100% { opacity: .75; }
}
@keyframes wa-curtain-sway {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(1deg); }
  100% { transform: rotate(-1deg); }
}
@keyframes wa-light {
  0% { 
    transform: translateX(-50%) translateY(0) scaleX(1);
    opacity: .6;
  }
  50% {
    transform: translateX(-50%) translateY(-2px) scaleX(1.02);
    opacity: .9;
  }
  100% {
    transform: translateX(-50%) translateY(0) scaleX(.98);
    opacity: .7;
  }
}
@keyframes wa-wall-stand {
  0%,100% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-1px) rotate(.5deg);
  }
  75% {
    transform: translateY(0) rotate(-.5deg);
  }
}
@keyframes wa-max-kneel {
  0%,100% {
    transform: translateY(0) rotate(0deg) scaleY(1);
  }
  30% {
    transform: translateY(-2px) rotate(2deg) scaleY(1.02);
  }
  70% {
    transform: translateY(0) rotate(-2deg) scaleY(.98);
  }
}
@keyframes wa-shadow {
  0% { opacity: .3; }
  50% { opacity: .6; }
  100% { opacity: .4; }
}

.scn-tertsky-overture-plot {
  background:
    linear-gradient(160deg, #2a1a0e 0%, #1c0f08 50%, #0e0703 100%),
    radial-gradient(ellipse at 30% 80%, #3e2415 0%, transparent 60%);
}
.scn-tertsky-overture-plot .bg-tent {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #4a2e1a 0%, #2a1a0e 40%, #3a2214 70%, #1c0f08 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: tp-tent-fade 12s ease-in-out infinite alternate;
}
.scn-tertsky-overture-plot .table {
  position: absolute;
  bottom: 18%;
  left: 30%;
  width: 40%;
  height: 6%;
  background: linear-gradient(180deg, #5c3a1c 0%, #3a2210 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  transform: perspective(600px) rotateX(5deg);
}
.scn-tertsky-overture-plot .map {
  position: absolute;
  bottom: 20%;
  left: 35%;
  width: 30%;
  height: 12%;
  background: linear-gradient(135deg, #8c6a3e 0%, #6a4e2e 50%, #4a3420 100%);
  border-radius: 2px;
  transform: skewX(-5deg);
  animation: tp-map-tremble 5s ease-in-out infinite;
}
.scn-tertsky-overture-plot .figure {
  position: absolute;
  bottom: 18%;
  left: 48%;
  width: 14%;
  height: 45%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0503 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tp-figure-sway 4s ease-in-out infinite;
}
.scn-tertsky-overture-plot .candle {
  position: absolute;
  bottom: 24%;
  left: 32%;
  width: 2%;
  height: 12%;
  background: linear-gradient(180deg, #d4b06a 0%, #8c6a3e 100%);
  border-radius: 10%;
  box-shadow: 0 0 8px #b88840;
}
.scn-tertsky-overture-plot .flame {
  position: absolute;
  bottom: 36%;
  left: 32.5%;
  width: 1.2%;
  height: 5%;
  background: radial-gradient(ellipse at 50% 80%, #ffd080 0%, #ff8800 50%, transparent 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 20px 10px rgba(255,136,0,0.4), 0 0 40px 20px rgba(255,136,0,0.2);
  animation: tp-flame-flicker 0.8s ease-in-out infinite alternate;
}
.scn-tertsky-overture-plot .shadow {
  position: absolute;
  bottom: 16%;
  left: 45%;
  width: 20%;
  height: 6%;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(4px);
  transform: skewX(-10deg);
  animation: tp-shadow-shift 6s ease-in-out infinite;
}
@keyframes tp-tent-fade {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes tp-map-tremble {
  0% { transform: skewX(-5deg) translate(0, 0); }
  25% { transform: skewX(-4deg) translate(1px, -1px); }
  50% { transform: skewX(-5.5deg) translate(-1px, 0); }
  75% { transform: skewX(-4.5deg) translate(0, 1px); }
  100% { transform: skewX(-5deg) translate(0, 0); }
}
@keyframes tp-figure-sway {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(2px) rotate(0.5deg); }
  60% { transform: translateX(-1px) rotate(-0.3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes tp-flame-flicker {
  0% { transform: scaleY(1) scaleX(1) translateY(0); opacity: 0.9; }
  25% { transform: scaleY(1.1) scaleX(0.8) translateY(-2px); opacity: 1; }
  50% { transform: scaleY(0.9) scaleX(1.2) translateY(1px); opacity: 0.85; }
  75% { transform: scaleY(1.05) scaleX(0.9) translateY(-1px); opacity: 0.95; }
  100% { transform: scaleY(1) scaleX(1) translateY(0); opacity: 0.9; }
}
@keyframes tp-shadow-shift {
  0% { transform: skewX(-10deg) translateX(0); }
  50% { transform: skewX(-8deg) translateX(5px); }
  100% { transform: skewX(-10deg) translateX(0); }
}

.scn-wallenstein-crime-yet-pure {
  background:
    linear-gradient(180deg, #1a0e0a 0%, #2a1a12 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 70% 50%, #3a2518 0%, transparent 70%);
}
.scn-wallenstein-crime-yet-pure .bg-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #2c1a10 0%, #1a0e07 50%, #2c1a10 100%);
  animation: wc-wall-pulse 15s ease-in-out infinite alternate;
}
.scn-wallenstein-crime-yet-pure .door {
  position: absolute;
  right: 15%;
  top: 5%;
  width: 20%;
  height: 80%;
  background: linear-gradient(180deg, #4a3020 0%, #2c1a10 100%);
  border: 2px solid #1a0e07;
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.6);
  transform-origin: right center;
  animation: wc-door-creak 8s ease-in-out infinite;
}
.scn-wallenstein-crime-yet-pure .chair {
  position: absolute;
  bottom: 20%;
  left: 35%;
  width: 18%;
  height: 30%;
  background: linear-gradient(180deg, #3a2214 0%, #1c0f08 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  transform: perspective(400px) rotateY(5deg);
}
.scn-wallenstein-crime-yet-pure .figure {
  position: absolute;
  bottom: 18%;
  left: 42%;
  width: 16%;
  height: 50%;
  background: linear-gradient(180deg, #0e0703 0%, #050201 100%);
  border-radius: 35% 35% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wc-figure-breathe 4s ease-in-out infinite;
}
.scn-wallenstein-crime-yet-pure .candle {
  position: absolute;
  bottom: 30%;
  left: 52%;
  width: 2.5%;
  height: 14%;
  background: linear-gradient(180deg, #d4b06a 0%, #8c6a3e 100%);
  border-radius: 10%;
  box-shadow: 0 0 12px #b88840;
  animation: wc-candle-glow 3s ease-in-out infinite alternate;
}
.scn-wallenstein-crime-yet-pure .shadow {
  position: absolute;
  bottom: 16%;
  left: 38%;
  width: 25%;
  height: 8%;
  background: rgba(0,0,0,0.7);
  border-radius: 50%;
  filter: blur(5px);
  transform: skewX(-15deg);
  animation: wc-shadow-creep 7s ease-in-out infinite;
}
.scn-wallenstein-crime-yet-pure .paper {
  position: absolute;
  bottom: 24%;
  left: 48%;
  width: 8%;
  height: 5%;
  background: #d4c8a0;
  border-radius: 2px;
  transform: rotate(-3deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: wc-paper-flutter 6s ease-in-out infinite;
}
@keyframes wc-wall-pulse {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wc-door-creak {
  0% { transform: rotateY(0deg); }
  10% { transform: rotateY(2deg); }
  20% { transform: rotateY(-1deg); }
  100% { transform: rotateY(0deg); }
}
@keyframes wc-figure-breathe {
  0% { transform: translateY(0) scaleY(1); }
  25% { transform: translateY(-2px) scaleY(1.02); }
  50% { transform: translateY(0) scaleY(1); }
  75% { transform: translateY(-1px) scaleY(1.01); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes wc-candle-glow {
  0% { box-shadow: 0 0 8px #b88840; opacity: 0.8; }
  50% { box-shadow: 0 0 20px 6px #ffd080; opacity: 1; }
  100% { box-shadow: 0 0 10px 2px #b88840; opacity: 0.9; }
}
@keyframes wc-shadow-creep {
  0% { transform: skewX(-15deg) translateX(0); }
  50% { transform: skewX(-12deg) translateX(8px); }
  100% { transform: skewX(-15deg) translateX(0); }
}
@keyframes wc-paper-flutter {
  0% { transform: rotate(-3deg) translateY(0); }
  25% { transform: rotate(-2deg) translateY(-1px); }
  50% { transform: rotate(-4deg) translateY(1px); }
  75% { transform: rotate(-2.5deg) translateY(-1px); }
  100% { transform: rotate(-3deg) translateY(0); }
}

/* wrangel-king-in-heaven */

.scn-wrangel-king-in-heaven {
  background: linear-gradient(180deg, #2a1a0e 0%, #3a2a1a 40%, #4a3a2a 100%),
              radial-gradient(ellipse at 70% 60%, #6a4a3a 0%, transparent 70%);
}
.scn-wrangel-king-in-heaven .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  animation: wkh-bg 12s ease-in-out infinite alternate;
}
.scn-wrangel-king-in-heaven .throne {
  position: absolute; bottom: 30%; left: 15%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 8px 16px rgba(0,0,0,.5);
  animation: wkh-throne 6s ease-in-out infinite;
}
.scn-wrangel-king-in-heaven .king-shadow {
  position: absolute; bottom: 38%; left: 20%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #1a0e06 0%, #0a0603 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wkh-king 9s ease-in-out infinite;
}
.scn-wrangel-king-in-heaven .kneeling-figure {
  position: absolute; bottom: 22%; right: 20%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: wkh-kneel 4s ease-in-out infinite;
}
.scn-wrangel-king-in-heaven .warm-glow {
  position: absolute; bottom: 30%; left: 40%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(192,128,64,.6) 0%, rgba(192,128,64,.1) 60%, transparent 100%);
  filter: blur(10px);
  animation: wkh-glow 5s ease-in-out infinite alternate;
}
.scn-wrangel-king-in-heaven .window-light {
  position: absolute; top: 10%; left: 60%; width: 50px; height: 70px;
  background: radial-gradient(circle at 50% 30%, rgba(240,200,100,.4) 0%, transparent 70%);
  border-radius: 10px;
  animation: wkh-window 8s ease-in-out infinite;
}
@keyframes wkh-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes wkh-throne { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wkh-king { 0% { transform: translateY(0) rotate(0deg) scale(1) } 50% { transform: translateY(-4px) rotate(-2deg) scale(1.02) } 100% { transform: translateY(0) rotate(0deg) scale(1) } }
@keyframes wkh-kneel { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(-3deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes wkh-glow { 0% { transform: scale(1); opacity: 0.7 } 50% { transform: scale(1.2); opacity: 1 } 100% { transform: scale(0.9); opacity: 0.6 } }
@keyframes wkh-window { 0% { transform: scaleY(1); opacity: 0.5 } 50% { transform: scaleY(1.1); opacity: 0.8 } 100% { transform: scaleY(0.95); opacity: 0.4 } }

/* tertsky-how-what */

.scn-tertsky-how-what {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 50%, #3a3a5e 100%),
              radial-gradient(ellipse at 30% 40%, #4a3a6e 0%, transparent 70%);
}
.scn-tertsky-how-what .bg-tense {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  animation: thw-bg 3s ease-in-out infinite alternate;
}
.scn-tertsky-how-what .table {
  position: absolute; bottom: 28%; left: 20%; right: 20%; height: 10px;
  background: linear-gradient(90deg, #3a2a4a 0%, #2a1a3a 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: thw-table 4s ease-in-out infinite;
}
.scn-tertsky-how-what .figure-wallenstein {
  position: absolute; bottom: 35%; left: 28%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a1a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: thw-wallenstein 2s ease-in-out infinite;
}
.scn-tertsky-how-what .figure-tertsky {
  position: absolute; bottom: 35%; right: 30%; width: 26px; height: 50px;
  background: linear-gradient(180deg, #3a2a4a 0%, #1a0a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: thw-tertsky 2.5s ease-in-out infinite;
}
.scn-tertsky-how-what .figure-illo {
  position: absolute; bottom: 30%; left: 48%; width: 24px; height: 45px;
  background: linear-gradient(180deg, #4a3a5a 0%, #2a1a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: thw-illo 3s ease-in-out infinite;
}
.scn-tertsky-how-what .lantern-glow {
  position: absolute; top: 20%; left: 48%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(180,160,200,.5) 0%, rgba(180,160,200,.1) 60%, transparent 100%);
  filter: blur(8px);
  animation: thw-lantern 1.5s ease-in-out infinite alternate;
}
@keyframes thw-bg { 0% { opacity: 0.9 } 50% { opacity: 0.7 } 100% { opacity: 0.95 } }
@keyframes thw-table { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes thw-wallenstein { 0% { transform: translateY(0) rotate(0deg) scale(1) } 25% { transform: translateY(-2px) rotate(3deg) scale(1.02) } 50% { transform: translateY(0) rotate(0deg) scale(1) } 75% { transform: translateY(-1px) rotate(-4deg) scale(0.98) } 100% { transform: translateY(0) rotate(0deg) scale(1) } }
@keyframes thw-tertsky { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(-5deg) } 60% { transform: translateY(0) rotate(2deg) } 100% { transform: translateY(-1px) rotate(0deg) } }
@keyframes thw-illo { 0% { transform: translateY(0) rotate(0deg) } 20% { transform: translateY(-2px) rotate(-3deg) } 40% { transform: translateY(0) rotate(4deg) } 60% { transform: translateY(-1px) rotate(-2deg) } 80% { transform: translateY(0) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes thw-lantern { 0% { transform: scale(1); opacity: 0.6 } 50% { transform: scale(1.3); opacity: 1 } 100% { transform: scale(0.9); opacity: 0.5 } }

/* wrangel-introduction - dim interior, two figures meeting */

.scn-wrangel-introduction {
  background: 
    linear-gradient(180deg, #140e0e 0%, #1e1414 30%, #0a0606 100%),
    radial-gradient(circle at 50% 20%, #2a1a1a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-wrangel-introduction .bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #100a0a 0%, #1c1212 40%, #080404 100%);
  animation: wi-bg 20s ease-in-out infinite alternate;
}
.scn-wrangel-introduction .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a1010 0%, #0f0808 100%);
  border-radius: 30% 70% 0 0 / 20% 50% 0 0;
  box-shadow: inset 0 20px 30px rgba(0,0,0,.6);
}
.scn-wrangel-introduction .wall-left {
  position: absolute; top: 0; left: 0; width: 35%; height: 70%;
  background: linear-gradient(90deg, #0d0707 0%, #130b0b 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
  animation: wi-wall 15s ease-in-out infinite alternate;
}
.scn-wrangel-introduction .wall-right {
  position: absolute; top: 0; right: 0; width: 35%; height: 70%;
  background: linear-gradient(270deg, #0d0707 0%, #130b0b 100%);
  clip-path: polygon(100% 0, 0 0, 30% 100%, 100% 100%);
  animation: wi-wall 15s ease-in-out infinite alternate-reverse;
}
.scn-wrangel-introduction .table {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 20%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 5% 5% 2% 2%;
  box-shadow: 0 -10px 30px rgba(0,0,0,.7);
  transform: perspective(400px) rotateX(5deg);
}
.scn-wrangel-introduction .candle {
  position: absolute; bottom: calc(30% + 20%); left: 50%; transform: translateX(-50%);
  width: 6px; height: 30px;
  background: linear-gradient(180deg, #ffcc66 0%, #aa7733 40%, #553311 100%);
  border-radius: 50% 50% 30% 30%;
  animation: wi-candle 4s ease-in-out infinite;
}
.scn-wrangel-introduction .glow {
  position: absolute; bottom: calc(30% + 20% + 10px); left: 50%; transform: translate(-50%, -50%);
  width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(255,200,100,.6) 0%, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 100px 40px rgba(255,200,100,.3);
  animation: wi-glow 3s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-wrangel-introduction .figure-left {
  position: absolute; bottom: 30%; left: 20%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #0a0505 0%, #140a0a 40%, #0a0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wi-figleft 6s ease-in-out infinite;
}
.scn-wrangel-introduction .figure-right {
  position: absolute; bottom: 30%; right: 20%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #0a0505 0%, #140a0a 40%, #0a0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wi-figright 6s ease-in-out infinite 0.5s;
}

/* keyframes wi- */
@keyframes wi-bg {
  0% { opacity: .9; }
  50% { opacity: 1; }
  100% { opacity: .85; }
}
@keyframes wi-wall {
  0% { opacity: .7; }
  50% { opacity: .9; }
  100% { opacity: .75; }
}
@keyframes wi-candle {
  0% { transform: translateX(-50%) scaleY(1); }
  25% { transform: translateX(-50%) scaleY(1.05); }
  50% { transform: translateX(-50%) scaleY(0.95); }
  75% { transform: translateX(-50%) scaleY(1.02); }
  100% { transform: translateX(-50%) scaleY(1); }
}
@keyframes wi-glow {
  0% { opacity: .5; transform: translate(-50%,-50%) scale(1); }
  50% { opacity: .8; transform: translate(-50%,-50%) scale(1.1); }
  100% { opacity: .6; transform: translate(-50%,-50%) scale(0.95); }
}
@keyframes wi-figleft {
  0% { transform: translateX(0) rotate(-1deg); }
  30% { transform: translateX(2px) rotate(0); }
  60% { transform: translateX(0) rotate(1deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes wi-figright {
  0% { transform: translateX(0) rotate(1deg); }
  30% { transform: translateX(-2px) rotate(0); }
  60% { transform: translateX(0) rotate(-1deg); }
  100% { transform: translateX(0) rotate(1deg); }
}

/* wrangel-full-powers - dim interior, close-up of document */

.scn-wrangel-full-powers {
  background:
    linear-gradient(180deg, #0f0808 0%, #1a1010 30%, #080303 100%),
    radial-gradient(circle at 50% 40%, #2a1818 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-wrangel-full-powers .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0c0606 0%, #140c0c 50%, #050202 100%);
  animation: wfp-bg 18s ease-in-out infinite alternate;
}
.scn-wrangel-full-powers .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 40%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 8% 8% 2% 2%;
  box-shadow: 0 -10px 40px rgba(0,0,0,.8);
  transform: perspective(600px) rotateX(5deg);
}
.scn-wrangel-full-powers .candle {
  position: absolute; bottom: 45%; left: 40%; width: 5px; height: 25px;
  background: linear-gradient(180deg, #ffcc66 0%, #aa7733 40%, #553311 100%);
  border-radius: 50% 50% 30% 30%;
  animation: wfp-candle 4.5s ease-in-out infinite;
}
.scn-wrangel-full-powers .glow {
  position: absolute; bottom: 45%; left: 40%; transform: translate(-50%, -50%);
  width: 70px; height: 70px;
  background: radial-gradient(circle, rgba(255,200,100,.5) 0%, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 80px 30px rgba(255,200,100,.25);
  animation: wfp-glow 3.2s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-wrangel-full-powers .letter {
  position: absolute; bottom: 30%; left: 55%; width: 100px; height: 70px;
  background: linear-gradient(135deg, #f5e6c8 0%, #d4b88a 60%, #b89a6a 100%);
  border-radius: 3%;
  box-shadow: 0 8px 20px rgba(0,0,0,.6);
  transform: perspective(500px) rotateY(-10deg);
  animation: wfp-letter 8s ease-in-out infinite;
}
.scn-wrangel-full-powers .hand {
  position: absolute; bottom: 25%; left: 48%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 60%, #0a0404 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wfp-hand 5s ease-in-out infinite;
}
.scn-wrangel-full-powers .figure-profile {
  position: absolute; bottom: 30%; right: 15%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #0a0505 0%, #150b0b 40%, #0a0505 100%);
  border-radius: 60% 40% 40% 60% / 60% 50% 50% 60%;
  transform-origin: bottom center;
  animation: wfp-figure 7s ease-in-out infinite;
}

/* keyframes wfp- */
@keyframes wfp-bg {
  0% { opacity: .85; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes wfp-candle {
  0% { transform: scaleY(1) rotate(0); }
  20% { transform: scaleY(1.04) rotate(1deg); }
  40% { transform: scaleY(0.96) rotate(-0.5deg); }
  60% { transform: scaleY(1.02) rotate(0); }
  80% { transform: scaleY(0.98) rotate(0.5deg); }
  100% { transform: scaleY(1) rotate(0); }
}
@keyframes wfp-glow {
  0% { opacity: .4; transform: translate(-50%,-50%) scale(1); }
  50% { opacity: .75; transform: translate(-50%,-50%) scale(1.08); }
  100% { opacity: .5; transform: translate(-50%,-50%) scale(0.92); }
}
@keyframes wfp-letter {
  0% { transform: perspective(500px) rotateY(-10deg) translateY(0); }
  50% { transform: perspective(500px) rotateY(-10deg) translateY(-2px); }
  100% { transform: perspective(500px) rotateY(-10deg) translateY(0); }
}
@keyframes wfp-hand {
  0% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(1px) rotate(-1deg); }
  75% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes wfp-figure {
  0% { transform: rotateY(0) translateY(0) scale(1); }
  25% { transform: rotateY(5deg) translateY(-2px) scale(1.01); }
  50% { transform: rotateY(0) translateY(0) scale(1); }
  75% { transform: rotateY(-3deg) translateY(1px) scale(0.99); }
  100% { transform: rotateY(0) translateY(0) scale(1); }
}

.scn-wallenstein-duties-strive {
  background:
    linear-gradient(180deg, #2a1a1a 0%, #1a0f0f 50%, #0f0808 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a2a 0%, transparent 70%);
  overflow: hidden;
}
.scn-wallenstein-duties-strive .wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #2a1a1a23 0%, transparent 100%);
  z-index: 0;
}
.scn-wallenstein-duties-strive .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(180deg, #1a0f0f 0%, #0a0505 100%);
  border-top: 1px solid #3a2a2a;
  z-index: 1;
}
.scn-wallenstein-duties-strive .table {
  position: absolute;
  bottom: 35%;
  left: 25%; right: 25%;
  height: 12px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
  z-index: 3;
}
.scn-wallenstein-duties-strive .figure-l {
  position: absolute;
  bottom: 36%;
  left: 22%;
  width: 10%;
  height: 30%;
  background: linear-gradient(180deg, #1c1c2e 0%, #0a0a15 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wd-lean-l 4s ease-in-out infinite;
  z-index: 2;
}
.scn-wallenstein-duties-strive .figure-r {
  position: absolute;
  bottom: 36%;
  right: 22%;
  width: 10%;
  height: 35%;
  background: linear-gradient(180deg, #1c1c2e 0%, #0a0a15 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wd-lean-r 3.5s ease-in-out infinite;
  z-index: 2;
}
.scn-wallenstein-duties-strive .candle {
  position: absolute;
  bottom: 35%;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 20px;
  background: linear-gradient(180deg, #e0d0b0 0%, #b09070 100%);
  border-radius: 2px 2px 4px 4px;
  z-index: 4;
}
.scn-wallenstein-duties-strive .flame {
  position: absolute;
  bottom: calc(35% + 20px);
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 16px;
  background: radial-gradient(circle, #ffd080 0%, #ff8040 50%, transparent 100%);
  border-radius: 50% 50% 60% 60% / 40% 40% 60% 60%;
  box-shadow: 0 0 20px 10px rgba(255,128,64,0.5), 0 0 40px 20px rgba(255,128,64,0.2);
  animation: wd-flicker 0.3s ease-in-out infinite;
  z-index: 5;
}
.scn-wallenstein-duties-strive .shadow {
  position: absolute;
  bottom: 40%;
  left: 40%;
  width: 60%;
  height: 40%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(10px);
  transform-origin: center;
  animation: wd-shadow 8s ease-in-out infinite;
  z-index: 1;
}
@keyframes wd-lean-l {
  0% { transform: rotate(0deg) translateX(0) scaleY(1); }
  33% { transform: rotate(-3deg) translateX(-3px) scaleY(0.98); }
  66% { transform: rotate(2deg) translateX(2px) scaleY(1.02); }
  100% { transform: rotate(0deg) translateX(0) scaleY(1); }
}
@keyframes wd-lean-r {
  0% { transform: rotate(0deg) translateX(0) scaleY(1); }
  33% { transform: rotate(2deg) translateX(3px) scaleY(1.01); }
  66% { transform: rotate(-3deg) translateX(-2px) scaleY(0.99); }
  100% { transform: rotate(0deg) translateX(0) scaleY(1); }
}
@keyframes wd-flicker {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  25% { transform: scaleY(1.2) translateY(-1px); opacity: 1; }
  50% { transform: scaleY(0.85) translateY(1px); opacity: 0.7; }
  75% { transform: scaleY(1.1) translateY(-0.5px); opacity: 0.95; }
  100% { transform: scaleY(1) translateY(0); opacity: 0.9; }
}
@keyframes wd-shadow {
  0% { transform: translateX(0) scale(1); opacity: 0.4; }
  50% { transform: translateX(8px) scale(1.15); opacity: 0.6; }
  100% { transform: translateX(-4px) scale(0.9); opacity: 0.3; }
}

.scn-tertsky-questions-earnestness {
  background:
    linear-gradient(180deg, #2c1a14 0%, #1a0f0a 60%, #0d0806 100%),
    radial-gradient(ellipse at 60% 20%, #3a2a1e 0%, transparent 70%),
    repeating-linear-gradient(0deg, transparent, transparent 2px, #1a0f0a 2px, #1a0f0a 4px);
}
.scn-tertsky-questions-earnestness .tsq-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #3a2a1e 0%, #1a0f0a 50%, #0d0806 100%);
  border-radius: 0; opacity: 0.9;
}
.scn-tertsky-questions-earnestness .tsq-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a1a10 0%, #0d0806 100%);
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.6);
}
.scn-tertsky-questions-earnestness .tsq-table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 10%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: perspective(400px) rotateX(10deg);
  animation: tsq-table 6s ease-in-out infinite;
}
@keyframes tsq-table {
  0%, 100% { transform: perspective(400px) rotateX(10deg) translateY(0); }
  50% { transform: perspective(400px) rotateX(10deg) translateY(-1px); }
}
.scn-tertsky-questions-earnestness .tsq-candle {
  position: absolute; bottom: 28%; left: 48%; width: 8px; height: 24px;
  background: linear-gradient(180deg, #ffd080 0%, #c08040 40%, #8a5020 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 30px 8px rgba(255, 200, 100, 0.6), 0 0 60px 16px rgba(255, 200, 100, 0.3), 0 0 90px 24px rgba(255, 150, 50, 0.15);
  animation: tsq-candle 0.8s ease-in-out infinite alternate;
}
@keyframes tsq-candle {
  0% { opacity: 0.85; transform: scaleY(1); box-shadow: 0 0 30px 8px rgba(255,200,100,0.6), 0 0 60px 16px rgba(255,200,100,0.3); }
  30% { opacity: 1; transform: scaleY(1.05); }
  50% { opacity: 0.9; transform: scaleY(0.98); }
  70% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.8; transform: scaleY(0.95); box-shadow: 0 0 25px 6px rgba(255,180,80,0.5), 0 0 50px 12px rgba(255,180,80,0.25); }
}
.scn-tertsky-questions-earnestness .tsq-figure-left {
  position: absolute; bottom: 22%; left: 20%; width: 20px; height: 45px;
  background: linear-gradient(135deg, #1a1210 0%, #0d0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(2px 0 4px rgba(0,0,0,0.8));
  animation: tsq-figL 3s ease-in-out infinite;
}
@keyframes tsq-figL {
  0%, 100% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(-2deg) translateX(-1px); }
  50% { transform: rotate(0deg) translateX(0); }
  75% { transform: rotate(2deg) translateX(1px); }
}
.scn-tertsky-questions-earnestness .tsq-figure-right {
  position: absolute; bottom: 22%; right: 20%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1a1210 0%, #0d0806 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  filter: drop-shadow(-2px 0 4px rgba(0,0,0,0.8));
  animation: tsq-figR 4s ease-in-out infinite;
}
@keyframes tsq-figR {
  0%, 100% { transform: rotate(0deg) translateX(0) scaleY(1); }
  33% { transform: rotate(1deg) translateX(1px) scaleY(1.02); }
  66% { transform: rotate(-1deg) translateX(-1px) scaleY(0.98); }
}
.scn-tertsky-questions-earnestness .tsq-map {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 6%;
  background: linear-gradient(135deg, #c8a470 0%, #a08050 100%);
  border-radius: 2px;
  transform: perspective(300px) rotateX(20deg);
  animation: tsq-map 7s ease-in-out infinite alternate;
}
@keyframes tsq-map {
  0% { transform: perspective(300px) rotateX(20deg) translate(0,0); }
  100% { transform: perspective(300px) rotateX(20deg) translate(2px, -1px); }
}
.scn-tertsky-questions-earnestness .tsq-shadow {
  position: absolute; bottom: 0; left: 35%; width: 30%; height: 18%;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: tsq-shadow 0.8s ease-in-out infinite alternate;
}
@keyframes tsq-shadow {
  0% { opacity: 0.7; transform: scaleX(0.95); }
  100% { opacity: 0.9; transform: scaleX(1.05); }
}

/* Scene 2: wallenstein-astrology-defense */

.scn-wallenstein-astrology-defense {
  background:
    radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, #1a1210 60%, #0a0806 100%),
    linear-gradient(180deg, #0a0a0a 0%, #1a1210 40%, #3a2a1a 100%);
}
.scn-wallenstein-astrology-defense .wa-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #1a1210 0%, #2a1e18 50%, #1a1210 100%);
  animation: wa-wall 20s ease-in-out infinite alternate;
}
.scn-wallenstein-astrology-defense .wa-window {
  position: absolute; top: 8%; left: 50%; width: 120px; height: 160px;
  transform: translateX(-50%) perspective(400px) rotateX(5deg);
  background: radial-gradient(ellipse at 50% 50%, #0a0a1e 0%, #050510 100%);
  border: 6px solid #3a2a1a; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0,0,0,.8), 0 4px 20px rgba(0,0,0,.6);
}
.scn-wallenstein-astrology-defense .wa-stars {
  position: absolute; top: 8%; left: 50%; width: 120px; height: 160px;
  transform: translateX(-50%) perspective(400px) rotateX(5deg);
  background: 
    radial-gradient(circle at 30% 20%, rgba(255,255,230,0.6) 1px, transparent 2px),
    radial-gradient(circle at 70% 40%, rgba(255,255,230,0.5) 1px, transparent 2px),
    radial-gradient(circle at 50% 70%, rgba(255,255,230,0.7) 1px, transparent 2px),
    radial-gradient(circle at 20% 80%, rgba(255,255,230,0.4) 1px, transparent 2px),
    radial-gradient(circle at 80% 10%, rgba(255,255,230,0.5) 1px, transparent 2px);
  background-size: 100% 100%;
  animation: wa-twinkle 5s ease-in-out infinite alternate;
}
.scn-wallenstein-astrology-defense .wa-desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,.7);
  transform: perspective(600px) rotateX(10deg);
  transform-origin: bottom center;
}
.scn-wallenstein-astrology-defense .wa-astrolabe {
  position: absolute; bottom: 28%; left: 50%; width: 60px; height: 60px;
  transform: translateX(-50%) rotate(0deg);
  background: radial-gradient(circle at 50% 40%, #c8a070 0%, #8a6040 50%, #4a3020 100%);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,.5), inset 0 2px 4px rgba(255,200,150,.2);
  animation: wa-astrolabe-spin 30s linear infinite;
}
.scn-wallenstein-astrology-defense .wa-astrolabe::after {
  content: '';
  position: absolute; top: 50%; left: 50%;
  width: 80%; height: 2px;
  background: #b08050;
  transform: translate(-50%, -50%) rotate(30deg);
  box-shadow: 0 0 2px #b08050;
}
.scn-wallenstein-astrology-defense .wa-candle {
  position: absolute; bottom: 32%; left: 42%; width: 8px; height: 50px;
  background: linear-gradient(180deg, #f0d0a0 0%, #c8a070 40%, #6a4a30 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(200,160,112,.3);
}
.scn-wallenstein-astrology-defense .wa-flame {
  position: absolute; bottom: 60%; left: 42%; width: 12px; height: 20px;
  margin-left: -2px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #ffa040 40%, #ff6010 70%, transparent 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 40px 20px rgba(255,160,64,.4), 0 0 80px 40px rgba(255,160,64,.2);
  animation: wa-flicker 2s ease-in-out infinite alternate;
}
.scn-wallenstein-astrology-defense .wa-figure {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 120px;
  background: linear-gradient(180deg, #0a0806 0%, #1a1210 60%, #0a0806 100%);
  border-radius: 40% 40% 20% 20%;
  mask: radial-gradient(ellipse at 50% 30%, transparent 0%, transparent 60%, black 62%);
  -webkit-mask: radial-gradient(ellipse at 50% 30%, transparent 0%, transparent 60%, black 62%);
  transform-origin: bottom center;
  animation: wa-breathe 4s ease-in-out infinite;
}
@keyframes wa-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes wa-twinkle {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes wa-astrolabe-spin {
  0% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(360deg); }
}
@keyframes wa-flicker {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  25% { transform: scaleY(1.05) translateY(-2px); opacity: 1; }
  50% { transform: scaleY(0.95) translateY(1px); opacity: 0.8; }
  75% { transform: scaleY(1.02) translateY(-1px); opacity: 0.95; }
  100% { transform: scaleY(1) translateY(0); opacity: 0.9; }
}
@keyframes wa-breathe {
  0% { transform: scaleY(1) translateY(0); }
  25% { transform: scaleY(1.005) translateY(-1px); }
  50% { transform: scaleY(1) translateY(0); }
  75% { transform: scaleY(0.995) translateY(0.5px); }
  100% { transform: scaleY(1) translateY(0); }
}

.scn-wallenstein-unrobe {
  background:
    radial-gradient(ellipse at 60% 50%, #4a2e1a 0%, #1a0e05 70%),
    linear-gradient(180deg, #0f0801 0%, #1a0e05 50%, #2c1a0a 100%);
  background-blend-mode: normal;
}
.scn-wallenstein-unrobe .bg-chamber {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 40% 35%, #3a2210 0%, transparent 60%);
  opacity: 0.4;
  animation: wu-ambient 12s ease-in-out infinite alternate;
}
.scn-wallenstein-unrobe .wall-left {
  position: absolute; left: 0; top: 0; bottom: 30%; width: 18%;
  background: linear-gradient(180deg, #2a1808 0%, #0f0801 100%);
  border-right: 2px solid #4a2e1a;
  transform: skewY(2deg);
  animation: wu-wall 20s ease-in-out infinite alternate;
}
.scn-wallenstein-unrobe .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1a0e05 0%, #2a1a0a 40%, #3a2215 100%);
  border-top-left-radius: 40% 12%;
  border-top-right-radius: 30% 10%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-wallenstein-unrobe .bed {
  position: absolute; bottom: 15%; right: 8%; width: 35%; height: 28%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2212 50%, #1a0e05 100%);
  border-radius: 8% 8% 4% 4% / 20% 20% 6% 6%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7), inset 0 2px 4px #6a4a2a;
  transform: rotate(-1deg);
  animation: wu-bed 7s ease-in-out infinite;
}
.scn-wallenstein-unrobe .figure-wu {
  position: absolute; bottom: 15%; left: 20%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #1a0a05 0%, #0f0602 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: wu-figure 6s ease-in-out infinite alternate;
}
.scn-wallenstein-unrobe .candle {
  position: absolute; bottom: 28%; left: 45%; width: 3%; height: 6%;
  background: linear-gradient(180deg, #c08040 0%, #8a5a2a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 4px #c08040, 0 0 24px 8px rgba(192,128,64,0.4);
  animation: wu-candle 3s ease-in-out infinite alternate;
}
.scn-wallenstein-unrobe .keys {
  position: absolute; bottom: 22%; left: 62%; width: 5%; height: 3%;
  background: #4a3a2a;
  border-radius: 10%;
  box-shadow: 0 0 6px #8a6a3a;
  transform: rotate(15deg);
  animation: wu-keys 5s ease-in-out infinite alternate;
}
@keyframes wu-ambient { 0% { opacity: 0.3 } 50% { opacity: 0.5 } 100% { opacity: 0.35 } }
@keyframes wu-wall { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes wu-bed { 0%,100% { transform: rotate(-1deg) translateY(0) } 50% { transform: rotate(-0.5deg) translateY(-2px) } }
@keyframes wu-figure { 0% { transform: rotate(-1deg) translateY(0) } 50% { transform: rotate(1deg) translateY(-3px) } 100% { transform: rotate(-0.5deg) translateY(0) } }
@keyframes wu-candle { 0% { opacity: 0.9; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.08) } 100% { opacity: 0.95; transform: scaleY(0.95) } }
@keyframes wu-keys { 0% { transform: rotate(10deg) translateX(0) } 50% { transform: rotate(20deg) translateX(2px) } 100% { transform: rotate(12deg) translateX(0) } }

/* ===== Scene: wallenstein-reminisce ===== */

.scn-wallenstein-reminisce {
  background:
    radial-gradient(ellipse 70% 60% at 50% 60%, rgba(60, 30, 10, 0.6) 0%, transparent 70%),
    linear-gradient(180deg, #3a2010 0%, #2a1508 40%, #1f0f05 100%);
}

.scn-wallenstein-reminisce .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2f1a0e 0%, #1f0f05 100%);
  opacity: 0.5;
}

.scn-wallenstein-reminisce .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1a0f 0%, #1a0e05 100%);
  border-radius: 20% 80% 0 0 / 15% 40% 0 0;
}

.scn-wallenstein-reminisce .window {
  position: absolute; top: 12%; right: 8%; width: 28%; height: 50%;
  background: linear-gradient(180deg, #0a1215 0%, #1a2025 60%, #2c3835 100%);
  border-radius: 4% 4% 8% 8%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.7), 0 0 10px rgba(120,180,220,0.05);
  animation: wr-window 8s ease-in-out infinite alternate;
}

.scn-wallenstein-reminisce .curtain {
  position: absolute; top: 10%; right: 6%; width: 34%; height: 60%;
  background: linear-gradient(90deg, 
    rgba(80,35,20,0.8) 0%, 
    rgba(100,45,25,0.6) 30%, 
    transparent 50%, 
    rgba(100,45,25,0.6) 70%, 
    rgba(80,35,20,0.8) 100%);
  border-radius: 0 20% 30% 0 / 0 10% 20% 0;
  transform-origin: right center;
  animation: wr-curtain 6s ease-in-out infinite alternate;
}

.scn-wallenstein-reminisce .figure {
  position: absolute; bottom: 24%; left: 38%; width: 12%; height: 38%;
  background: linear-gradient(180deg, 
    #2a1a10 0%, 
    #1f1108 30%, 
    #1a0e05 60%, 
    #0f0803 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wr-figure 4s ease-in-out infinite;
}

.scn-wallenstein-reminisce .table {
  position: absolute; bottom: 20%; left: 50%; width: 22%; height: 8%;
  background: linear-gradient(180deg, #4a2a18 0%, #3a1f10 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}

.scn-wallenstein-reminisce .candle {
  position: absolute; bottom: 28%; left: 54%; width: 2%; height: 4%;
  background: linear-gradient(180deg, #d4a060 0%, #a08040 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(200,140,60,0.6), 0 0 40px 16px rgba(200,140,60,0.3);
  animation: wr-candle 2s ease-in-out infinite alternate;
}

.scn-wallenstein-reminisce .ember {
  position: absolute; width: 3px; height: 3px;
  background: radial-gradient(circle, #ffcc80 0%, #c8553d 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,200,100,0.5);
  animation: wr-ember 6s ease-in-out infinite;
}
.scn-wallenstein-reminisce .e1 { bottom: 30%; left: 52%; animation-delay: 0s; }
.scn-wallenstein-reminisce .e2 { bottom: 35%; left: 56%; animation-delay: 3s; }

@keyframes wr-window {
  0%   { opacity: 0.4; box-shadow: inset 0 0 20px rgba(0,0,0,0.7), 0 0 10px rgba(120,180,220,0.02); }
  50%  { opacity: 0.6; box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 0 15px rgba(120,180,220,0.08); }
  100% { opacity: 0.3; box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 0 0 8px rgba(120,180,220,0.01); }
}

@keyframes wr-curtain {
  0%   { transform: scaleX(1) translateX(0); }
  50%  { transform: scaleX(1.02) translateX(-2px); }
  100% { transform: scaleX(0.98) translateX(2px); }
}

@keyframes wr-figure {
  0%   { transform: translateY(0) rotate(0deg); }
  25%  { transform: translateY(-1px) rotate(1deg); }
  50%  { transform: translateY(0) rotate(-0.5deg); }
  75%  { transform: translateY(-0.5px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes wr-candle {
  0%   { box-shadow: 0 0 18px 6px rgba(200,140,60,0.5), 0 0 36px 12px rgba(200,140,60,0.2); opacity: 0.9; }
  50%  { box-shadow: 0 0 28px 10px rgba(220,160,80,0.8), 0 0 48px 18px rgba(220,160,80,0.4); opacity: 1; }
  100% { box-shadow: 0 0 14px 4px rgba(180,120,50,0.4), 0 0 28px 8px rgba(180,120,50,0.15); opacity: 0.85; }
}

@keyframes wr-ember {
  0%   { transform: translateY(0) scale(1); opacity: 0; }
  20%  { opacity: 1; }
  60%  { transform: translateY(-20px) scale(0.6); opacity: 0.8; }
  100% { transform: translateY(-40px) scale(0.2); opacity: 0; }
}

.scn-wallenstein-recalls-risbeck {
  background:
    radial-gradient(ellipse at 30% 50%, rgba(180,130,80,0.6) 0%, transparent 60%),
    linear-gradient(180deg, #4a3328 0%, #6a4f3a 30%, #8a6b4e 60%, #a0845a 100%);
}
.scn-wallenstein-recalls-risbeck .bg-backdrop {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a1e 0%, #5a3f2e 60%, #7a5a3e 100%);
  border-radius: 0 0 40% 40% / 0 0 60% 60%;
  animation: wa-backdrop 12s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-risbeck .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #7a5a3e 0%, #4a3328 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
}
.scn-wallenstein-recalls-risbeck .tent-drape {
  position: absolute; top: 0; left: 0; width: 25%; height: 100%;
  background: linear-gradient(90deg, #5a3f2e 0%, #3a2a1e 60%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  animation: wa-drape 8s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-risbeck .table {
  position: absolute; bottom: 22%; left: 40%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #6a4f3a 0%, #4a3328 100%);
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  transform: perspective(500px) rotateX(10deg);
}
.scn-wallenstein-recalls-risbeck .map {
  position: absolute; bottom: 25%; left: 42%; width: 24%; height: 6%;
  background: linear-gradient(135deg, #c8a87a 0%, #a08060 50%, #c8a87a 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: perspective(500px) rotateX(15deg) rotateZ(5deg);
  animation: wa-map 15s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-risbeck .figure-wallenstein {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 50%;
  background: linear-gradient(180deg, #2a1a12 0%, #3a2a1e 40%, #2a1a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-figure1 6s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-risbeck .figure-cuirassier {
  position: absolute; bottom: 20%; right: 25%; width: 8%; height: 45%;
  background: linear-gradient(180deg, #3a2a1e 0%, #4a3328 40%, #2a1a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-figure2 8s ease-in-out infinite alternate;
  animation-delay: -2s;
}
.scn-wallenstein-recalls-risbeck .lantern {
  position: absolute; bottom: 40%; left: 50%; width: 3%; height: 5%;
  background: radial-gradient(circle, #f0c068 0%, #d0a050 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(200,140,60,0.6), 0 0 40px 20px rgba(200,140,60,0.3);
  animation: wa-lantern 3s ease-in-out infinite alternate;
}
.scn-wallenstein-recalls-risbeck .banner {
  position: absolute; top: 5%; right: 10%; width: 6%; height: 60%;
  background: linear-gradient(180deg, #5e1a1d 0%, #702243 40%, #5e1a1d 100%);
  border-radius: 4px;
  box-shadow: 2px 0 6px rgba(0,0,0,0.4);
  animation: wa-banner 10s ease-in-out infinite alternate;
}
@keyframes wa-backdrop {
  0% { opacity: 0.8; transform: scaleY(1); }
  50% { opacity: 0.95; transform: scaleY(1.02); }
  100% { opacity: 0.85; transform: scaleY(0.98); }
}
@keyframes wa-drape {
  0% { transform: translateX(0) skewX(0deg); }
  50% { transform: translateX(-2px) skewX(1deg); }
  100% { transform: translateX(1px) skewX(-0.5deg); }
}
@keyframes wa-map {
  0% { transform: perspective(500px) rotateX(15deg) rotateZ(5deg) translateY(0); }
  50% { transform: perspective(500px) rotateX(16deg) rotateZ(4deg) translateY(-2px); }
  100% { transform: perspective(500px) rotateX(14deg) rotateZ(6deg) translateY(1px); }
}
@keyframes wa-figure1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(1px) rotate(0.5deg); }
  100% { transform: translateX(-1px) rotate(-0.5deg); }
}
@keyframes wa-figure2 {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  50% { transform: translateX(-1px) rotate(-0.3deg) scaleY(1.01); }
  100% { transform: translateX(1px) rotate(0.3deg) scaleY(0.99); }
}
@keyframes wa-lantern {
  0% { box-shadow: 0 0 20px 8px rgba(200,140,60,0.6), 0 0 40px 20px rgba(200,140,60,0.3); opacity: 0.9; }
  50% { box-shadow: 0 0 30px 12px rgba(200,140,60,0.8), 0 0 60px 30px rgba(200,140,60,0.4); opacity: 1; }
  100% { box-shadow: 0 0 18px 6px rgba(200,140,60,0.5), 0 0 36px 16px rgba(200,140,60,0.25); opacity: 0.85; }
}
@keyframes wa-banner {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(1deg) translateX(1px); }
  100% { transform: rotate(-1deg) translateX(-1px); }
}

.scn-tertsky-invites-butler {
  background: linear-gradient(180deg, #8c5a3a 0%, #6e4226 50%, #4a2a1a 100%),
              radial-gradient(ellipse at 30% 50%, #b87a4a 0%, transparent 70%);
}
.scn-tertsky-invites-butler .ti-hall {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 8%, rgba(0,0,0,0.1) 8%, rgba(0,0,0,0.1) 10%);
}
.scn-tertsky-invites-butler .ti-doorway {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 70%;
  background: radial-gradient(ellipse at 50% 0%, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.5);
  animation: ti-doorway-fade 8s ease-in-out infinite alternate;
}
.scn-tertsky-invites-butler .ti-sconce {
  position: absolute; top: 30%; left: 20%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 0%, #d4a644 0%, #a07830 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px #c08030, 0 0 40px rgba(192,128,48,0.3);
  animation: ti-sconce-flicker 2s ease-in-out infinite alternate;
}
.scn-tertsky-invites-butler .ti-figure1 {
  position: absolute; bottom: 20%; left: 35%; width: 15%; height: 60%;
  background: linear-gradient(180deg, #2c2018 0%, #14100a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ti-figure1-turn 6s ease-in-out infinite;
}
.scn-tertsky-invites-butler .ti-figure2 {
  position: absolute; bottom: 20%; left: 52%; width: 14%; height: 55%;
  background: linear-gradient(180deg, #3a2a22 0%, #1a1410 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ti-figure2-bow 8s ease-in-out infinite;
}
.scn-tertsky-invites-butler .ti-shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 15%;
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%);
  filter: blur(8px);
  animation: ti-shadow-shift 10s ease-in-out infinite alternate;
}
.scn-tertsky-invites-butler .ti-glow {
  position: absolute; top: 20%; left: 10%; width: 80%; height: 70%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,200,100,0.2) 0%, transparent 70%);
  mix-blend-mode: overlay;
  animation: ti-glow-pulse 4s ease-in-out infinite alternate;
}
@keyframes ti-doorway-fade {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes ti-sconce-flicker {
  0% { box-shadow: 0 0 15px #c08030, 0 0 30px rgba(192,128,48,0.2); opacity: 0.9; }
  50% { box-shadow: 0 0 25px #d4a644, 0 0 50px rgba(212,166,68,0.4); opacity: 1; }
  100% { box-shadow: 0 0 18px #c08030, 0 0 35px rgba(192,128,48,0.3); opacity: 0.95; }
}
@keyframes ti-figure1-turn {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-3px) rotate(2deg); }
  66% { transform: translateX(2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ti-figure2-bow {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(3deg) translateY(-2px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(-3deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ti-shadow-shift {
  0% { transform: translateX(-5px); opacity: 0.7; }
  50% { transform: translateX(5px); opacity: 0.9; }
  100% { transform: translateX(-3px); opacity: 0.8; }
}
@keyframes ti-glow-pulse {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.05); }
  100% { opacity: 0.5; transform: scale(1.02); }
}

.scn-tertsky-warns-deception {
  background:
    linear-gradient(180deg, #1a1510 0%, #0a0806 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a1a 0%, transparent 60%);
}
.scn-tertsky-warns-deception .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2018 0%, #1a1510 100%);
  border-radius: 0 0 30% 30% / 0 0 10% 10%;
  animation: td-wall 20s ease-in-out infinite alternate;
}
.scn-tertsky-warns-deception .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #1a1510 0%, #0a0806 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,.6);
  animation: td-floor 15s ease-in-out infinite;
}
.scn-tertsky-warns-deception .table {
  position: absolute; bottom: 18%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,.7);
  transform: perspective(400px) rotateX(5deg);
  animation: td-table 8s ease-in-out infinite;
}
.scn-tertsky-warns-deception .figure-main {
  position: absolute; bottom: 20%; left: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #1a1010 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -4px 0 8px rgba(0,0,0,.5);
  animation: td-figure-main 6s ease-in-out infinite;
}
.scn-tertsky-warns-deception .figure-second {
  position: absolute; bottom: 20%; right: 25%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #201818 0%, #100c0c 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  box-shadow: 4px 0 8px rgba(0,0,0,.5);
  animation: td-figure-second 7s ease-in-out infinite alternate;
}
.scn-tertsky-warns-deception .candle {
  position: absolute; bottom: 30%; left: 48%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #c0a080 0%, #a08060 50%, #604020 100%);
  border-radius: 2px 2px 1px 1px;
  transform: translateX(-50%);
  animation: td-candle 4s ease-in-out infinite;
}
.scn-tertsky-warns-deception .glow {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(200,160,100,.3) 0%, rgba(200,160,100,.05) 60%, transparent 100%);
  border-radius: 50%;
  transform: translate(-50%, 30%);
  filter: blur(8px);
  animation: td-glow 5s ease-in-out infinite alternate;
}
.scn-tertsky-warns-deception .shadow-drift {
  position: absolute; bottom: 15%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%);
  border-radius: 0 0 30% 30%;
  filter: blur(10px);
  animation: td-shadow-drift 12s ease-in-out infinite;
}
@keyframes td-wall {
  0% { opacity: .9; transform: scaleY(1); }
  50% { opacity: .75; transform: scaleY(1.02); }
  100% { opacity: .85; transform: scaleY(.98); }
}
@keyframes td-floor {
  0% { opacity: .8; transform: translateY(0); }
  50% { opacity: .9; transform: translateY(-2px); }
  100% { opacity: .75; transform: translateY(1px); }
}
@keyframes td-table {
  0% { transform: perspective(400px) rotateX(5deg) translateY(0); }
  50% { transform: perspective(400px) rotateX(4deg) translateY(-1px); }
  100% { transform: perspective(400px) rotateX(6deg) translateY(1px); }
}
@keyframes td-figure-main {
  0% { transform: translateX(0) rotate(-2deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(-3px) rotate(0deg); }
}
@keyframes td-figure-second {
  0% { transform: translateX(0) rotate(0deg) scale(1); }
  50% { transform: translateX(-2px) rotate(1deg) scale(.98); }
  100% { transform: translateX(2px) rotate(-1deg) scale(1); }
}
@keyframes td-candle {
  0% { transform: translateX(-50%) scaleY(1) rotate(0deg); }
  30% { transform: translateX(-50%) scaleY(1.05) rotate(1deg); }
  60% { transform: translateX(-50%) scaleY(.95) rotate(-1deg); }
  100% { transform: translateX(-50%) scaleY(1) rotate(0deg); }
}
@keyframes td-glow {
  0% { opacity: .6; transform: translate(-50%, 30%) scale(1); }
  50% { opacity: .8; transform: translate(-50%, 30%) scale(1.1); }
  100% { opacity: .5; transform: translate(-50%, 30%) scale(.9); }
}
@keyframes td-shadow-drift {
  0% { opacity: .4; transform: translateY(0) scaleY(1); }
  50% { opacity: .6; transform: translateY(5px) scaleY(.95); }
  100% { opacity: .3; transform: translateY(-3px) scaleY(1.05); }
}

.scn-walllenstein-unrobe { background: linear-gradient(180deg, #2b1810 0%, #1a0f08 100%), radial-gradient(ellipse at 50% 20%, #c47a3a 0%, transparent 70%); }

.scn-walllenstein-unrobe .lamp { position: absolute; top: 15%; left: 50%; width: 20px; height: 20px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, #f0c040 0%, #c08020 80%); box-shadow: 0 0 40px 20px #c08020, 0 0 80px 40px rgba(192,128,32,0.3); animation: wa-lamp 5s ease-in-out infinite alternate; }

.scn-walllenstein-unrobe .curtain-left { position: absolute; top:0; left:0; width:15%; height:100%; background: linear-gradient(180deg, #8a6040 0%, #5a3a20 100%); border-radius: 0 20% 20% 0 / 0 10% 10% 0; transform-origin: top left; box-shadow: inset -8px 0 12px rgba(0,0,0,0.5); animation: wa-curtain 20s ease-in-out infinite alternate; }

.scn-walllenstein-unrobe .curtain-right { position: absolute; top:0; right:0; width:15%; height:100%; background: linear-gradient(180deg, #8a6040 0%, #5a3a20 100%); border-radius: 20% 0 0 20% / 10% 0 0 10%; transform-origin: top right; box-shadow: inset 8px 0 12px rgba(0,0,0,0.5); animation: wa-curtain 20s ease-in-out infinite alternate-reverse; animation-delay: -10s; }

.scn-walllenstein-unrobe .bed { position: absolute; bottom: 10%; left: 20%; right: 20%; height: 30%; background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%); border-radius: 10px 10px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.6); animation: wa-bed 12s ease-in-out infinite; }

.scn-walllenstein-unrobe .figure-wall { position: absolute; bottom: 20%; left: 22%; width: 30px; height: 60px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wa-figure-left 6s ease-in-out infinite; }

.scn-walllenstein-unrobe .figure-groom { position: absolute; bottom: 20%; right: 22%; width: 28px; height: 55px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wa-figure-right 6s ease-in-out infinite; animation-delay: 3s; }

.scn-walllenstein-unrobe .key { position: absolute; bottom: 25%; left: 30%; width: 8px; height: 12px; background: #c0a060; border-radius: 2px 2px 4px 4px; transform-origin: top center; animation: wa-key 4s ease-in-out infinite; }

@keyframes wa-lamp { 0% { box-shadow: 0 0 30px 15px #c08020; opacity: 0.9; } 50% { box-shadow: 0 0 50px 25px #e0a030; opacity: 1; } 100% { box-shadow: 0 0 30px 15px #c08020; opacity: 0.85; } }

@keyframes wa-curtain { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }

@keyframes wa-bed { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

@keyframes wa-figure-left { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } }

@keyframes wa-figure-right { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(-1deg); } }

@keyframes wa-key { 0%, 100% { transform: rotate(0deg); } 30% { transform: rotate(5deg); } 60% { transform: rotate(-5deg); } }
/* end per-scene blocks */

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
/* pilsen-headquarters-meeting */
.scn-pilsen-headquarters-meeting {
  background:
    radial-gradient(ellipse at 50% 30%, #d9a05b 0%, #8b5a2b 40%, #3a2510 100%),
    linear-gradient(180deg, #7a4a2a 0%, #4a2a18 70%, #2a1a0a 100%);
}
.scn-pilsen-headquarters-meeting .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #8b6b4b 0%, #6a4a2a 100%);
  border-radius: 0 0 20% 20% / 0 0 8% 8%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
  animation: phm-wall 12s ease-in-out infinite alternate;
}
.scn-pilsen-headquarters-meeting .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%);
  border-radius: 20% 20% 0 0 / 8% 8% 0 0;
  box-shadow: inset 0 -6px 12px rgba(0,0,0,0.6);
}
.scn-pilsen-headquarters-meeting .window-glow {
  position: absolute; top: 15%; left: 60%; width: 80px; height: 100px;
  background: radial-gradient(circle at 50% 50%, #ffd080 0%, #cc8844 50%, transparent 100%);
  border-radius: 8% / 12%;
  box-shadow: 0 0 40px 15px #ffb860, 0 0 80px 30px rgba(255,184,96,0.3);
  animation: phm-window 4s ease-in-out infinite alternate;
}
.scn-pilsen-headquarters-meeting .table {
  position: absolute; bottom: 20%; left: 50%; width: 160px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b07848 0%, #804828 50%, #603820 100%);
  border-radius: 12% / 20%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.7);
  animation: phm-table 9s ease-in-out infinite;
}
.scn-pilsen-headquarters-meeting .figure-left {
  position: absolute; bottom: 16%; left: 28%; width: 36px; height: 60px;
  background: radial-gradient(ellipse at 50% 20%, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: -8px 0 12px rgba(0,0,0,0.5);
  animation: phm-breathe 5s ease-in-out infinite;
}
.scn-pilsen-headquarters-meeting .figure-right {
  position: absolute; bottom: 16%; right: 28%; width: 36px; height: 60px;
  background: radial-gradient(ellipse at 50% 20%, #3a2010 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 8px 0 12px rgba(0,0,0,0.5);
  animation: phm-breathe 5s ease-in-out infinite;
  animation-delay: 0.5s;
}
.scn-pilsen-headquarters-meeting .lamp {
  position: absolute; top: 5%; left: 50%; width: 40px; height: 60px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #e0a050 0%, #a06030 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 20% 20%;
  box-shadow: 0 0 30px 10px #ffb860, 0 0 60px 20px rgba(255,184,96,0.3);
  animation: phm-lamp 6s ease-in-out infinite alternate;
}
.scn-pilsen-headquarters-meeting .ambient-light {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,200,120,0.15) 0%, transparent 60%);
  pointer-events: none;
  animation: phm-ambient 8s ease-in-out infinite alternate;
}
@keyframes phm-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes phm-window {
  0% { box-shadow: 0 0 30px 10px #ffb860, 0 0 60px 20px rgba(255,184,96,0.3); opacity: 0.8; }
  50% { box-shadow: 0 0 50px 20px #ffd080, 0 0 100px 40px rgba(255,208,128,0.5); opacity: 1; }
  100% { box-shadow: 0 0 35px 12px #ffb860, 0 0 70px 25px rgba(255,184,96,0.35); opacity: 0.9; }
}
@keyframes phm-table {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.02) translateY(-2px); }
  100% { transform: translateX(-50%) scaleY(1); }
}
@keyframes phm-breathe {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes phm-lamp {
  0% { transform: translateX(-50%) rotate(-4deg); }
  50% { transform: translateX(-50%) rotate(0deg) scaleY(1.05); }
  100% { transform: translateX(-50%) rotate(4deg); }
}
@keyframes phm-ambient {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.ajar { position: absolute; pointer-events: none; }
.between { position: absolute; pointer-events: none; }
.motes { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
/* Scene: max-idealism-peace-longing (warm dim interior) */
.scn-max-idealism-peace-longing {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 30% 60%, #5a3a1a 0%, transparent 60%);
}
.scn-max-idealism-peace-longing .room-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #4a3020 0%, #2a1a10 100%); opacity: 0.8;
  animation: mi-ambient 15s ease-in-out infinite alternate;
}
.scn-max-idealism-peace-longing .wall-left {
  position: absolute; left: 0; top: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  box-shadow: inset -8px 0 20px rgba(0,0,0,0.6);
}
.scn-max-idealism-peace-longing .window-glow {
  position: absolute; left: 20%; top: 18%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at center, #d4a060 0%, #8a6030 60%, transparent 80%);
  border-radius: 8% / 6%; box-shadow: 0 0 40px 20px rgba(180,120,60,0.4);
  animation: mi-window 5s ease-in-out infinite alternate;
}
.scn-max-idealism-peace-longing .figure-silhouette {
  position: absolute; left: 35%; bottom: 20%; width: 24px; height: 48px;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: mi-figure 8s ease-in-out infinite;
}
.scn-max-idealism-peace-longing .candle {
  position: absolute; left: 55%; bottom: 30%; width: 6px; height: 16px;
  background: linear-gradient(180deg, #d4a060 0%, #8a6030 100%);
  border-radius: 2px 2px 4px 4px; box-shadow: 0 0 20px 8px #c08040;
  animation: mi-candle 4s ease-in-out infinite alternate;
}
.scn-max-idealism-peace-longing .desk {
  position: absolute; left: 30%; bottom: 15%; width: 50%; height: 8%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-max-idealism-peace-longing .book {
  position: absolute; left: 48%; bottom: 18%; width: 14px; height: 10px;
  background: #6a4a3a; border-radius: 2px; transform: rotate(2deg);
  box-shadow: 2px 0 0 #5a3a2a; animation: mi-book 10s ease-in-out infinite alternate;
}
@keyframes mi-ambient { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.75; } }
@keyframes mi-window { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.9; transform: scale(1.02); } 100% { opacity: 0.7; transform: scale(0.98); } }
@keyframes mi-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes mi-candle { 0% { transform: scaleY(1); opacity: 0.8; } 50% { transform: scaleY(1.1); opacity: 1; } 100% { transform: scaleY(0.95); opacity: 0.9; } }
@keyframes mi-book { 0% { transform: rotate(2deg) translateX(0); } 50% { transform: rotate(0deg) translateX(2px); } 100% { transform: rotate(1deg) translateX(-1px); } }

/* Scene: max-accusation-vow (tense dim interior) */
.scn-max-accusation-vow {
  background: linear-gradient(180deg, #1e1e2e 0%, #14141e 40%, #0a0a12 100%),
              radial-gradient(ellipse at 50% 30%, #2a2a3e 0%, transparent 60%);
}
.scn-max-accusation-vow .tent-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a1a2a 0%, #12121a 100%);
  animation: ma-shimmer 12s ease-in-out infinite alternate;
}
.scn-max-accusation-vow .tent-flap-left {
  position: absolute; left: 0; top: 0; width: 25%; height: 100%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  animation: ma-flap-l 9s ease-in-out infinite alternate;
}
.scn-max-accusation-vow .tent-flap-right {
  position: absolute; right: 0; top: 0; width: 25%; height: 100%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
  animation: ma-flap-r 9s ease-in-out infinite alternate-reverse;
}
.scn-max-accusation-vow .figure-max {
  position: absolute; left: 42%; bottom: 20%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #0f0f1a 0%, #050510 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom; animation: ma-fig-max 6s ease-in-out infinite;
}
.scn-max-accusation-vow .figure-shadow {
  position: absolute; left: 55%; bottom: 18%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  opacity: 0.6; filter: blur(4px); animation: ma-fig-shadow 8s ease-in-out infinite alternate;
}
.scn-max-accusation-vow .camp-bed {
  position: absolute; left: 15%; bottom: 10%; width: 35%; height: 8%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -2px 6px rgba(0,0,0,0.7);
  animation: ma-bed 14s ease-in-out infinite alternate;
}
.scn-max-accusation-vow .sword {
  position: absolute; left: 28%; bottom: 18%; width: 4px; height: 24px;
  background: linear-gradient(180deg, #8a8a9a 0%, #4a4a5a 100%);
  border-radius: 1px; transform: rotate(-15deg); box-shadow: 0 0 6px rgba(200,200,220,0.2);
  animation: ma-sword 10s ease-in-out infinite alternate;
}
@keyframes ma-shimmer { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes ma-flap-l { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-5px) scaleX(0.95); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes ma-flap-r { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(5px) scaleX(0.95); } 100% { transform: translateX(0) scaleX(1); } }
@keyframes ma-fig-max { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(3deg); } 100% { transform: translateY(1px) rotate(-2deg); } }
@keyframes ma-fig-shadow { 0% { opacity: 0.5; transform: translateX(0) scale(0.9); } 50% { opacity: 0.7; transform: translateX(3px) scale(1); } 100% { opacity: 0.55; transform: translateX(-2px) scale(0.95); } }
@keyframes ma-bed { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1.02); } }
@keyframes ma-sword { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(-18deg) translateY(1px); } }

/* Scene: octavio-intrigue-duchess (tense dim interior) */
.scn-octavio-intrigue-duchess {
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 40%, #0a0505 100%),
              radial-gradient(ellipse at 40% 50%, #3a2020 0%, transparent 60%);
}
.scn-octavio-intrigue-duchess .chamber-bg {
  position: absolute; inset: 0; background: linear-gradient(160deg, #1f1212 0%, #120808 100%);
  opacity: 0.85; animation: oi-ambient 20s ease-in-out infinite alternate;
}
.scn-octavio-intrigue-duchess .table {
  position: absolute; left: 25%; bottom: 12%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #3a221a 0%, #1a1008 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -6px 18px rgba(0,0,0,0.7);
}
.scn-octavio-intrigue-duchess .map {
  position: absolute; left: 38%; bottom: 18%; width: 28%; height: 6%;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px; transform: rotate(2deg); box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: oi-map 12s ease-in-out infinite alternate;
}
.scn-octavio-intrigue-duchess .figure-octavio {
  position: absolute; left: 35%; bottom: 22%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #0a0500 0%, #050200 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom; animation: oi-oct 7s ease-in-out infinite;
}
.scn-octavio-intrigue-duchess .figure-duchess {
  position: absolute; right: 30%; bottom: 25%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #1a0e0e 0%, #0a0505 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom; animation: oi-duchess 9s ease-in-out infinite alternate;
}
.scn-octavio-intrigue-duchess .candle-set {
  position: absolute; left: 50%; bottom: 28%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #c08040 0%, #804020 100%);
  border-radius: 2px; box-shadow: 0 0 30px 10px #a06030;
  animation: oi-candle 5s ease-in-out infinite alternate;
}
.scn-octavio-intrigue-duchess .shadow-sharp {
  position: absolute; left: 20%; bottom: 0; width: 40%; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
  clip-path: polygon(30% 0, 70% 0, 100% 100%, 0 100%);
  animation: oi-shadow 11s ease-in-out infinite alternate;
}
@keyframes oi-ambient { 0% { opacity: 0.8; } 50% { opacity: 0.95; } 100% { opacity: 0.85; } }
@keyframes oi-map { 0% { transform: rotate(2deg) scale(1); } 50% { transform: rotate(0deg) scale(1.02); } 100% { transform: rotate(4deg) scale(0.98); } }
@keyframes oi-oct { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(1px) rotate(-2deg); } }
@keyframes oi-duchess { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-3deg); } 100% { transform: translateX(2px) rotate(1deg); } }
@keyframes oi-candle { 0% { transform: scaleY(1); opacity: 0.8; } 50% { transform: scaleY(1.15); opacity: 1; } 100% { transform: scaleY(0.9); opacity: 0.7; } }
@keyframes oi-shadow { 0% { clip-path: polygon(30% 0, 70% 0, 100% 100%, 0 100%); } 50% { clip-path: polygon(25% 0, 75% 0, 100% 100%, 0 100%); } 100% { clip-path: polygon(35% 0, 65% 0, 100% 100%, 0 100%); } }

/* Scene: item-astrologer-white-staff (dark dim interior) */
.scn-item-astrologer-white-staff {
  background: linear-gradient(180deg, #0a0a1e 0%, #050510 40%, #020208 100%),
              radial-gradient(ellipse at 50% 20%, #1a1a3e 0%, transparent 70%);
}
.scn-item-astrologer-white-staff .star-bg {
  position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, #4a4a6a 0%, transparent 40%),
              radial-gradient(circle at 70% 60%, #2a2a4a 0%, transparent 30%);
  opacity: 0.7; animation: iw-stars 25s linear infinite;
}
.scn-item-astrologer-white-staff .astrolabe {
  position: absolute; left: 40%; top: 20%; width: 40px; height: 40px;
  background: radial-gradient(circle at 40% 40%, #6a5a4a 0%, #2a221a 100%);
  border-radius: 50%; box-shadow: 0 0 20px 6px #4a3a2a;
  animation: iw-astrolabe 14s ease-in-out infinite alternate;
}
.scn-item-astrologer-white-staff .figure-with-staff {
  position: absolute; left: 35%; bottom: 20%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom; animation: iw-figure 10s ease-in-out infinite;
}
.scn-item-astrologer-white-staff .staff-glow {
  position: absolute; left: 60%; bottom: 40%; width: 6px; height: 36px;
  background: linear-gradient(180deg, #e0d0b0 0%, #806040 100%);
  border-radius: 2px; box-shadow: 0 0 30px 12px #c0a080;
  animation: iw-staff 8s ease-in-out infinite alternate;
}
.scn-item-astrologer-white-staff .scroll {
  position: absolute; left: 20%; bottom: 25%; width: 20px; height: 8px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px; transform: rotate(-5deg);
  box-shadow: 0 0 6px rgba(0,0,0,0.5); animation: iw-scroll 15s ease-in-out infinite alternate;
}
.scn-item-astrologer-white-staff .moon-symbol {
  position: absolute; right: 20%; top: 15%; width: 16px; height: 16px;
  background: radial-gradient(circle at 30% 30%, #c0b090 0%, #404030 100%);
  border-radius: 50%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  opacity: 0.6; animation: iw-moon 20s linear infinite alternate;
}
@keyframes iw-stars { 0% { background-position: 0 0; } 100% { background-position: 100% 100%; } }
@keyframes iw-astrolabe { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(30deg) scale(1.05); } 100% { transform: rotate(-15deg) scale(0.95); } }
@keyframes iw-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(2px) rotate(-1deg); } }
@keyframes iw-staff { 0% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.8; transform: scaleY(0.95); } }
@keyframes iw-scroll { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(-7deg) translateY(1px); } }
@keyframes iw-moon { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.5; } }

.scn-pilsen-town-hall-occupation { background: linear-gradient(180deg, #1a1a1e 0%, #2b2b30 30%, #3a3a40 100%), radial-gradient(ellipse at 50% 20%, #c08040 0%, transparent 70%); }
.scn-pilsen-town-hall-occupation .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); }
.scn-pilsen-town-hall-occupation .col-left { position:absolute; left:15%; top:5%; bottom:30%; width:12px; background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%); border-radius:6px; box-shadow: 0 0 10px rgba(0,0,0,.6); animation: pi1-col 8s ease-in-out infinite; }
.scn-pilsen-town-hall-occupation .col-right { position:absolute; right:15%; top:5%; bottom:30%; width:12px; background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%); border-radius:6px; box-shadow: 0 0 10px rgba(0,0,0,.6); animation: pi1-col 8s ease-in-out infinite 2s; }
.scn-pilsen-town-hall-occupation .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1e20 0%, #1a1a1a 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.5); }
.scn-pilsen-town-hall-occupation .soldier-a { position:absolute; bottom:28%; left:30%; width:24px; height:50px; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pi1-fig 4s ease-in-out infinite alternate; }
.scn-pilsen-town-hall-occupation .soldier-b { position:absolute; bottom:28%; left:60%; width:24px; height:50px; background: linear-gradient(180deg, #3a3a40 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pi1-fig 4s ease-in-out infinite alternate-reverse; }
.scn-pilsen-town-hall-occupation .lantern { position:absolute; bottom:40%; left:50%; width:10px; height:12px; transform:translateX(-50%); background: radial-gradient(circle, #f0c060 0%, #b08030 70%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 20px 6px #c08030, 0 0 40px 12px rgba(192,128,48,.4); animation: pi1-flicker 2s ease-in-out infinite alternate; }
.scn-pilsen-town-hall-occupation .beam-a { position:absolute; bottom:42%; left:20%; width:60%; height:3px; background: linear-gradient(90deg, transparent 0%, #f0c060 30%, transparent 70%); filter: blur(2px); animation: pi1-beam 5s ease-in-out infinite; }
.scn-pilsen-town-hall-occupation .beam-b { position:absolute; bottom:50%; left:10%; width:80%; height:2px; background: linear-gradient(90deg, transparent 0%, #e0b050 20%, transparent 80%); filter: blur(3px); animation: pi1-beam 7s ease-in-out infinite -2s; }
@keyframes pi1-col { 0%,100% { opacity:.9 } 50% { opacity:.7 } }
@keyframes pi1-fig { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes pi1-flicker { 0% { box-shadow: 0 0 15px 4px #b08030, 0 0 30px 8px rgba(192,128,48,.4); opacity:.85 } 50% { box-shadow: 0 0 25px 8px #f0c060, 0 0 50px 15px rgba(240,192,96,.5); opacity:1 } 100% { box-shadow: 0 0 18px 5px #b08030, 0 0 35px 10px rgba(192,128,48,.4); opacity:.9 } }
@keyframes pi1-beam { 0% { opacity:.3; transform: scaleX(.8) } 50% { opacity:.6; transform: scaleX(1.1) } 100% { opacity:.4; transform: scaleX(.9) } }

.scn-galas-absence-suspicion { background: linear-gradient(180deg, #1a1a20 0%, #2a2a30 40%, #1a1a1e 100%), radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%); }
.scn-galas-absence-suspicion .bg-room { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); }
.scn-galas-absence-suspicion .table { position:absolute; bottom:30%; left:30%; right:30%; height:12px; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:3px; box-shadow: 0 5px 10px rgba(0,0,0,.5); animation: ga-table 12s ease-in-out infinite; }
.scn-galas-absence-suspicion .candle { position:absolute; bottom:38%; left:50%; width:4px; height:14px; transform:translateX(-50%); background: linear-gradient(180deg, #e0b060 0%, #8a6a3a 100%); border-radius:2px; box-shadow: 0 0 12px 3px #c09040, 0 0 24px 6px rgba(192,144,64,.4); animation: ga-candle 3s ease-in-out infinite alternate; }
.scn-galas-absence-suspicion .figure-illo { position:absolute; bottom:28%; left:40%; width:22px; height:48px; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ga-fig 5s ease-in-out infinite alternate; }
.scn-galas-absence-suspicion .figure-butler { position:absolute; bottom:28%; left:55%; width:20px; height:42px; background: linear-gradient(180deg, #3a3a40 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: ga-fig 6s ease-in-out infinite alternate-reverse; }
.scn-galas-absence-suspicion .shadow-wall { position:absolute; bottom:35%; left:35%; right:60%; height:60%; background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 100%); filter: blur(8px); animation: ga-shadow 4s ease-in-out infinite alternate; }
@keyframes ga-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ga-candle { 0% { opacity:.8; transform: translateX(-50%) scaleY(1) } 50% { opacity:1; transform: translateX(-50%) scaleY(1.05) } 100% { opacity:.85; transform: translateX(-50%) scaleY(.95) } }
@keyframes ga-fig { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(0) } 100% { transform: translateY(0) rotate(2deg) } }
@keyframes ga-shadow { 0% { opacity:.4; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.1) } 100% { opacity:.5; transform: scaleX(.95) } }

.scn-toast-to-max-loyalty { background: linear-gradient(180deg, #1a1a20 0%, #2e2e30 40%, #1e1e20 100%), radial-gradient(ellipse at 30% 40%, #c09030 0%, transparent 60%); }
.scn-toast-to-max-loyalty .bg-tavern { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); }
.scn-toast-to-max-loyalty .table { position:absolute; bottom:25%; left:20%; right:20%; height:14px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 4px 10px rgba(0,0,0,.6); animation: tm-table 10s ease-in-out infinite; }
.scn-toast-to-max-loyalty .goblet-a { position:absolute; bottom:32%; left:35%; width:10px; height:16px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 0 0 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: tm-goblet 4s ease-in-out infinite; }
.scn-toast-to-max-loyalty .goblet-b { position:absolute; bottom:32%; left:55%; width:10px; height:16px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 0 0 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: tm-goblet 4s ease-in-out infinite -1s; }
.scn-toast-to-max-loyalty .figure-max { position:absolute; bottom:22%; left:40%; width:22px; height:50px; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tm-toast 3s ease-in-out infinite alternate; }
.scn-toast-to-max-loyalty .figure-illo { position:absolute; bottom:22%; left:58%; width:20px; height:46px; background: linear-gradient(180deg, #3a3a40 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: tm-fig 4s ease-in-out infinite alternate-reverse; }
.scn-toast-to-max-loyalty .officer-1 { position:absolute; bottom:24%; left:25%; width:18px; height:38px; background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform-origin: bottom center; animation: tm-fig 5s ease-in-out infinite alternate; }
.scn-toast-to-max-loyalty .officer-2 { position:absolute; bottom:24%; left:70%; width:18px; height:38px; background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform-origin: bottom center; animation: tm-fig 5s ease-in-out infinite alternate-reverse; }
@keyframes tm-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes tm-goblet { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(-3deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes tm-toast { 0% { transform: translateY(0) rotate(-3deg) scaleY(1) } 50% { transform: translateY(-5px) rotate(0) scaleY(1.05) } 100% { transform: translateY(0) rotate(3deg) scaleY(1) } }
@keyframes tm-fig { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }

.scn-illo-argument-challenge { background: linear-gradient(180deg, #1a1a1e 0%, #2a2a2e 30%, #1e1e20 100%), radial-gradient(ellipse at 60% 30%, #b08030 0%, transparent 60%); }
.scn-illo-argument-challenge .bg-dark { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); }
.scn-illo-argument-challenge .podium { position:absolute; bottom:30%; left:45%; width:60px; height:8px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-illo-argument-challenge .figure-illo { position:absolute; bottom:25%; left:48%; width:28px; height:58px; transform:translateX(-50%); background: linear-gradient(180deg, #2a2a30 0%, #1a1a1e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ic-fig 4s ease-in-out infinite alternate; }
.scn-illo-argument-challenge .arms { position:absolute; bottom:45%; left:46%; width:60px; height:10px; background: linear-gradient(90deg, #3a3a40 20%, transparent 50%, #3a3a40 80%); border-radius:50%; transform-origin: center; animation: ic-arms 2s ease-in-out infinite alternate; }
.scn-illo-argument-challenge .shadow { position:absolute; bottom:20%; left:40%; right:40%; height:40%; background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 100%); filter: blur(10px); animation: ic-shadow 3s ease-in-out infinite alternate; }
.scn-illo-argument-challenge .lantern { position:absolute; bottom:42%; left:60%; width:10px; height:14px; background: radial-gradient(circle, #f0c060 0%, #b08030 70%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 20px 6px #c08030, 0 0 40px 12px rgba(192,128,48,.4); animation: ic-lantern 2s ease-in-out infinite alternate; }
.scn-illo-argument-challenge .officer-back { position:absolute; bottom:28%; left:20%; width:18px; height:40px; background: linear-gradient(180deg, #4a4a50 0%, #2a2a30 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform-origin: bottom center; animation: ic-fig 5s ease-in-out infinite alternate-reverse; }
@keyframes ic-fig { 0% { transform: translateX(-50%) translateY(0) rotate(0) } 50% { transform: translateX(-50%) translateY(-4px) rotate(-2deg) } 100% { transform: translateX(-50%) translateY(0) rotate(2deg) } }
@keyframes ic-arms { 0% { transform: rotate(-20deg) scaleY(1) } 25% { transform: rotate(10deg) scaleY(1.2) } 50% { transform: rotate(-10deg) scaleY(1) } 75% { transform: rotate(20deg) scaleY(1.1) } 100% { transform: rotate(-15deg) scaleY(1) } }
@keyframes ic-shadow { 0% { opacity:.5; transform: scaleX(.9) } 50% { opacity:.7; transform: scaleX(1.2) } 100% { opacity:.6; transform: scaleX(1) } }
@keyframes ic-lantern { 0% { box-shadow: 0 0 15px 4px #b08030, 0 0 30px 8px rgba(192,128,48,.4); opacity:.85 } 50% { box-shadow: 0 0 30px 10px #f0c060, 0 0 60px 20px rgba(240,192,96,.5); opacity:1 } 100% { box-shadow: 0 0 18px 5px #b08030, 0 0 35px 10px rgba(192,128,48,.4); opacity:.9 } }

/* ===== item-oath-declaration ===== */
.scn-item-oath-declaration {
  background: linear-gradient(145deg, #1a0f0f 0%, #2a1414 40%, #3a1a1a 100%), radial-gradient(ellipse at 50% 30%, #4a2a2a 0%, transparent 70%);
  overflow: hidden;
}
.scn-item-oath-declaration .wall-left { position:absolute; inset:0 55% 0 0; background: linear-gradient(90deg, #1a0f0f 0%, #2a1818 60%, #1f1111 100%); }
.scn-item-oath-declaration .wall-right { position:absolute; inset:0 0 0 55%; background: linear-gradient(90deg, #1f1111 0%, #2a1818 40%, #1a0f0f 100%); }
.scn-item-oath-declaration .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1212 0%, #140a0a 100%); }
.scn-item-oath-declaration .table { position:absolute; bottom:15%; left:15%; width:70%; height:12%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,.6); }
.scn-item-oath-declaration .document { position:absolute; bottom:20%; left:35%; width:30%; height:6%; background: #c8b896; border-radius: 2px; transform: rotate(-2deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: io-doc 6s ease-in-out infinite; }
.scn-item-oath-declaration .candle { position:absolute; bottom:22%; left:50%; width:4px; height:16%; background: linear-gradient(180deg, #e8c47a 0%, #c08040 100%); border-radius: 50% 50% 0 0; transform: translateX(-50%); animation: io-candle 3s ease-in-out infinite alternate; }
.scn-item-oath-declaration .candle::before { content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%); width:10px; height:10px; background: radial-gradient(circle, #ffd060 0%, #f0a030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 12px rgba(255,200,80,.6); animation: io-flame 1.5s ease-in-out infinite alternate; }
.scn-item-oath-declaration .figure-master { position:absolute; bottom:30%; left:25%; width:16%; height:50%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: io-figure 4s ease-in-out infinite; }
.scn-item-oath-declaration .figure-servant { position:absolute; bottom:30%; right:20%; width:12%; height:40%; background: linear-gradient(180deg, #221a2a 0%, #0e0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: io-figure 5s ease-in-out infinite reverse; }
.scn-item-oath-declaration .shadow-master { position:absolute; bottom:15%; left:20%; width:25%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%); animation: io-shadow 4s ease-in-out infinite; }
@keyframes io-doc { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-2deg) } }
@keyframes io-candle { 0% { height:16% } 50% { height:14% } 100% { height:16% } }
@keyframes io-flame { 0% { transform:translateX(-50%) scale(1) } 50% { transform:translateX(-50%) scale(1.2) } 100% { transform:translateX(-50%) scale(0.9) } }
@keyframes io-figure { 0% { transform: translateX(0) } 50% { transform: translateX(5px) rotate(1deg) } 100% { transform: translateX(0) } }
@keyframes io-shadow { 0%,100% { opacity:0.5 } 50% { opacity:0.8 } }

/* ===== generals-assembly-questenberg-demand ===== */
.scn-generals-assembly-questenberg-demand {
  background: linear-gradient(180deg, #0f0a12 0%, #1a111a 40%, #2a1a2a 100%), radial-gradient(ellipse at 50% 80%, #2a1a2a 0%, transparent 70%);
  overflow: hidden;
}
.scn-generals-assembly-questenberg-demand .colonnade-left { position:absolute; inset:0 70% 0 0; background: repeating-linear-gradient(90deg, #1a121a 0px, #2a1a2a 12px, #1a121a 24px); opacity:0.6; }
.scn-generals-assembly-questenberg-demand .colonnade-right { position:absolute; inset:0 0 0 70%; background: repeating-linear-gradient(90deg, #1a121a 0px, #2a1a2a 12px, #1a121a 24px); opacity:0.6; }
.scn-generals-assembly-questenberg-demand .stage { position:absolute; bottom:10%; left:10%; width:80%; height:25%; background: linear-gradient(180deg, #2a1a2a 0%, #1a0f1a 100%); border-radius: 20% 20% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,.5); }
.scn-generals-assembly-questenberg-demand .lectern { position:absolute; bottom:15%; left:35%; width:10%; height:15%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0f0a 100%); border-radius: 10% 10% 5% 5%; }
.scn-generals-assembly-questenberg-demand .figure-speaker { position:absolute; bottom:18%; left:30%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ga-speaker 3s ease-in-out infinite alternate; }
.scn-generals-assembly-questenberg-demand .general-1 { position:absolute; bottom:10%; left:10%; width:10%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ga-figure 6s ease-in-out infinite; }
.scn-generals-assembly-questenberg-demand .general-2 { position:absolute; bottom:10%; left:45%; width:10%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ga-figure 7s ease-in-out infinite reverse; }
.scn-generals-assembly-questenberg-demand .general-3 { position:absolute; bottom:10%; right:15%; width:10%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ga-figure 8s ease-in-out infinite; }
.scn-generals-assembly-questenberg-demand .candelabra { position:absolute; bottom:25%; left:20%; width:6%; height:20%; background: linear-gradient(180deg, #8a7a6a 0%, #3a2a1a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 20px 6px rgba(200,150,80,.3); animation: ga-candle 2s ease-in-out infinite alternate; }
@keyframes ga-speaker { 0% { transform: translateY(0) } 100% { transform: translateY(-5px) } }
@keyframes ga-figure { 0% { transform: rotate(0) } 25% { transform: rotate(2deg) } 75% { transform: rotate(-2deg) } 100% { transform: rotate(0) } }
@keyframes ga-candle { 0% { box-shadow: 0 0 20px 6px rgba(200,150,80,.3) } 50% { box-shadow: 0 0 30px 12px rgba(200,150,80,.5) } 100% { box-shadow: 0 0 20px 6px rgba(200,150,80,.3) } }

/* ===== questenberg-accusations-max-answer ===== */
.scn-questenberg-accusations-max-answer {
  background: linear-gradient(135deg, #0f0a12 0%, #1a111a 50%, #2a1a2a 100%), radial-gradient(circle at 80% 50%, #2a1a2a 0%, transparent 60%);
  overflow: hidden;
}
.scn-questenberg-accusations-max-answer .bg-panel { position:absolute; inset:5% 5% 5% 5%; background: linear-gradient(135deg, #2a1a1a 0%, #1a0f0f 100%); border-radius: 20px; box-shadow: inset 0 0 40px rgba(0,0,0,.7); }
.scn-questenberg-accusations-max-answer .floor-darker { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #0f0a0a 0%, #050303 100%); }
.scn-questenberg-accusations-max-answer .candle-desk { position:absolute; bottom:15%; left:50%; width:4px; height:18%; background: linear-gradient(180deg, #e8c47a 0%, #c08040 100%); border-radius: 50% 50% 0 0; transform: translateX(-50%); animation: qa-candle 2.5s ease-in-out infinite alternate; }
.scn-questenberg-accusations-max-answer .candle-desk::before { content:''; position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:12px; height:12px; background: radial-gradient(circle, #ffd060 0%, #f0a030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 30px 12px rgba(255,200,80,.5); animation: qa-flame 1.8s ease-in-out infinite alternate; }
.scn-questenberg-accusations-max-answer .figure-max { position:absolute; bottom:20%; left:30%; width:14%; height:45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: qa-fig-max 3s ease-in-out infinite; }
.scn-questenberg-accusations-max-answer .figure-questenberg { position:absolute; bottom:20%; right:25%; width:14%; height:45%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: qa-fig-q 4s ease-in-out infinite alternate; }
.scn-questenberg-accusations-max-answer .papers { position:absolute; bottom:12%; left:45%; width:20%; height:4%; background: #c8b896; border-radius: 2px; transform: rotate(3deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: qa-papers 5s ease-in-out infinite; }
.scn-questenberg-accusations-max-answer .shadow-floor { position:absolute; bottom:0; left:0; right:0; height:5%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: qa-shadow 3s ease-in-out infinite; }
.scn-questenberg-accusations-max-answer .light-glare { position:absolute; bottom:20%; left:50%; width:30%; height:40%; background: radial-gradient(ellipse, rgba(255,200,80,0.1) 0%, transparent 100%); animation: qa-glare 2s ease-in-out infinite alternate; }
@keyframes qa-candle { 0% { height:18% } 50% { height:15% } 100% { height:18% } }
@keyframes qa-flame { 0% { transform:translateX(-50%) scale(1) } 50% { transform:translateX(-50%) scale(1.3) } 100% { transform:translateX(-50%) scale(0.9) } }
@keyframes qa-fig-max { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(8px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes qa-fig-q { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes qa-papers { 0%,100% { transform: rotate(3deg) } 50% { transform: rotate(-3deg) } }
@keyframes qa-shadow { 0%,100% { opacity:0.5 } 50% { opacity:0.8 } }
@keyframes qa-glare { 0% { opacity:0.4 } 100% { opacity:0.8 } }

/* ===== evacuation-demand-questenberg ===== */
.scn-evacuation-demand-questenberg {
  background: linear-gradient(180deg, #0f0a12 0%, #1a111a 50%, #2a1a2a 100%), radial-gradient(circle at 70% 30%, #2a1a2a 0%, transparent 70%);
  overflow: hidden;
}
.scn-evacuation-demand-questenberg .wall-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #1a121a 0%, #0f0a12 100%); }
.scn-evacuation-demand-questenberg .table-map { position:absolute; bottom:10%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.6); }
.scn-evacuation-demand-questenberg .map-scroll { position:absolute; bottom:12%; left:20%; width:25%; height:10%; background: #c8b896; border-radius: 2px; transform: rotate(-4deg); box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: ed-map 8s ease-in-out infinite; }
.scn-evacuation-demand-questenberg .map-scroll::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background: repeating-linear-gradient(90deg, transparent 0px, rgba(0,0,0,0.1) 4px, transparent 8px); }
.scn-evacuation-demand-questenberg .figure-commander { position:absolute; bottom:15%; left:35%; width:14%; height:40%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ed-commander 4s ease-in-out infinite alternate; }
.scn-evacuation-demand-questenberg .figure-courier { position:absolute; bottom:15%; right:20%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ed-courier 3s ease-in-out infinite; }
.scn-evacuation-demand-questenberg .candle-multi-1 { position:absolute; bottom:20%; left:15%; width:3px; height:12%; background: linear-gradient(180deg, #e8c47a 0%, #c08040 100%); border-radius: 50% 50% 0 0; animation: ed-candle1 2s ease-in-out infinite alternate; }
.scn-evacuation-demand-questenberg .candle-multi-1::before { content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%); width:8px; height:8px; background: radial-gradient(circle, #ffd060 0%, #f0a030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(255,200,80,.4); animation: ed-flame1 1.5s ease-in-out infinite alternate; }
.scn-evacuation-demand-questenberg .candle-multi-2 { position:absolute; bottom:20%; right:15%; width:3px; height:12%; background: linear-gradient(180deg, #e8c47a 0%, #c08040 100%); border-radius: 50% 50% 0 0; animation: ed-candle2 2.5s ease-in-out infinite alternate; }
.scn-evacuation-demand-questenberg .candle-multi-2::before { content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%); width:8px; height:8px; background: radial-gradient(circle, #ffd060 0%, #f0a030 60%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 8px rgba(255,200,80,.4); animation: ed-flame2 1.8s ease-in-out infinite alternate; }
.scn-evacuation-demand-questenberg .inkwell { position:absolute; bottom:12%; left:50%; width:4%; height:4%; background: #1a0f0a; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-evacuation-demand-questenberg .shadow-table { position:absolute; bottom:0; left:10%; width:80%; height:6%; background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 100%); animation: ed-shadow 4s ease-in-out infinite; }
@keyframes ed-map { 0%,100% { transform: rotate(-4deg) } 50% { transform: rotate(4deg) } }
@keyframes ed-commander { 0% { transform: translateY(0) rotate(0) } 100% { transform: translateY(-3px) rotate(2deg) } }
@keyframes ed-courier { 0% { transform: translateX(0) } 50% { transform: translateX(10px) } 100% { transform: translateX(0) } }
@keyframes ed-candle1 { 0% { height:12% } 50% { height:10% } 100% { height:12% } }
@keyframes ed-candle2 { 0% { height:12% } 50% { height:14% } 100% { height:12% } }
@keyframes ed-flame1 { 0% { transform:translateX(-50%) scale(1) } 50% { transform:translateX(-50%) scale(1.2) } 100% { transform:translateX(-50%) scale(0.9) } }
@keyframes ed-flame2 { 0% { transform:translateX(-50%) scale(0.9) } 50% { transform:translateX(-50%) scale(1.3) } 100% { transform:translateX(-50%) scale(1) } }
@keyframes ed-shadow { 0%,100% { opacity:0.5 } 50% { opacity:0.8 } }

.scn-butler-prophecy-wallenstein-arrival {
  background: 
    linear-gradient(180deg, #1a1008 0%, #2a1a10 30%, #3a2218 60%, #2a1a10 100%),
    radial-gradient(ellipse at 60% 30%, #6a4a2a 0%, transparent 60%);
}
.scn-butler-prophecy-wallenstein-arrival .wall-back {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #2a1a10, #1a0e08); 
  animation: bpw-wall 20s ease-in-out infinite alternate;
}
.scn-butler-prophecy-wallenstein-arrival .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #3a2218, #1a0e08 80%); 
}
.scn-butler-prophecy-wallenstein-arrival .doorway {
  position: absolute; bottom: 40%; left: 35%; width: 30%; height: 60%; 
  background: #0a0604; border-radius: 0 0 50% 50% / 0 0 20% 20%; 
  box-shadow: inset 0 0 30px #1a0e08; 
  animation: bpw-door 15s ease-in-out infinite alternate;
}
.scn-butler-prophecy-wallenstein-arrival .figure-wallenstein {
  position: absolute; bottom: 42%; left: 48%; width: 10%; height: 35%; 
  background: linear-gradient(180deg, #4a2a1a, #1a0e08); 
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; 
  transform-origin: bottom center; 
  animation: bpw-walk 6s ease-in-out infinite;
}
.scn-butler-prophecy-wallenstein-arrival .figure-butler {
  position: absolute; bottom: 42%; left: 58%; width: 8%; height: 32%; 
  background: linear-gradient(180deg, #3a1a0e, #120a06); 
  border-radius: 50% 50% 40% 40%; 
  transform-origin: bottom center; 
  animation: bpw-bow 8s ease-in-out infinite;
}
.scn-butler-prophecy-wallenstein-arrival .table-papers {
  position: absolute; bottom: 38%; left: 40%; width: 20%; height: 6%; 
  background: linear-gradient(180deg, #5a3a1a, #3a2210); 
  border-radius: 10%; box-shadow: 0 4px 10px rgba(0,0,0,.6);
  animation: bpw-table 12s ease-in-out infinite alternate;
}
.scn-butler-prophecy-wallenstein-arrival .lantern-glow {
  position: absolute; bottom: 55%; left: 30%; width: 6px; height: 6px; 
  background: radial-gradient(circle, #d09040 0%, transparent 70%); 
  border-radius: 50%; box-shadow: 0 0 30px 15px rgba(200, 130, 50, .6), 0 0 60px 30px rgba(200, 130, 50, .3); 
  animation: bpw-glow 3s ease-in-out infinite alternate;
}
.scn-butler-prophecy-wallenstein-arrival .shadow-arch {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 20%; 
  background: linear-gradient(180deg, transparent, #0a0604); 
  filter: blur(8px);
}
@keyframes bpw-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes bpw-door { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.03) } 100% { transform: scaleY(.98) } }
@keyframes bpw-walk { 0% { transform: translateX(0) translateY(0) rotate(0) } 50% { transform: translateX(2%) translateY(-2%) rotate(2deg) } 100% { transform: translateX(4%) translateY(0) rotate(0) } }
@keyframes bpw-bow { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(-2%) rotate(-6deg) } 50% { transform: translateX(-1%) rotate(-3deg) } 75% { transform: translateX(0) rotate(-1deg) } 100% { transform: translateX(2%) rotate(0) } }
@keyframes bpw-table { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes bpw-glow { 0% { opacity: .7; transform: scale(.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .8; transform: scale(.95) } }

.scn-item-commission-paper {
  background: 
    linear-gradient(180deg, #1a0e08 0%, #2a1a10 50%, #1a0e08 100%),
    radial-gradient(ellipse at 70% 50%, #3a2210 0%, transparent 60%);
}
.scn-item-commission-paper .desk-top {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 12%; 
  background: linear-gradient(180deg, #5a3a1a, #3a2010); border-radius: 8px; 
  box-shadow: 0 6px 12px rgba(0,0,0,.7); 
  animation: icp-desk 20s ease-in-out infinite alternate;
}
.scn-item-commission-paper .desk-legs {
  position: absolute; bottom: 8%; left: 15%; width: 6%; height: 14%; 
  background: linear-gradient(180deg, #2a1a0e, #0a0604); border-radius: 4px; 
}
.scn-item-commission-paper .desk-legs::before {
  content: ''; position: absolute; left: 800%; width: 100%; height: 100%; 
  background: linear-gradient(180deg, #2a1a0e, #0a0604); border-radius: 4px;
}
.scn-item-commission-paper .scroll-paper {
  position: absolute; bottom: 28%; left: 35%; width: 18%; height: 6%; 
  background: linear-gradient(180deg, #d0b080, #b09060); border-radius: 20% / 50%; 
  box-shadow: 0 2px 6px rgba(0,0,0,.6); 
  animation: icp-scroll 8s ease-in-out infinite alternate;
}
.scn-item-commission-paper .hand-holding {
  position: absolute; bottom: 30%; left: 52%; width: 8%; height: 12%; 
  background: linear-gradient(180deg, #d0a080, #a07850); border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: icp-hand 4s ease-in-out infinite;
}
.scn-item-commission-paper .candle-wax {
  position: absolute; bottom: 33%; left: 20%; width: 3%; height: 14%; 
  background: linear-gradient(180deg, #f0e0c0, #c0a070); border-radius: 20% / 10%; 
}
.scn-item-commission-paper .candle-flame {
  position: absolute; bottom: 47%; left: 21%; width: 4px; height: 8px; 
  background: radial-gradient(circle, #ffe080 0%, #d08030 50%, transparent 100%); 
  border-radius: 50%; box-shadow: 0 0 20px 8px #d08030, 0 0 40px 16px rgba(200,100,30,.5); 
  animation: icp-flame 2s ease-in-out infinite alternate;
}
.scn-item-commission-paper .inkwell {
  position: absolute; bottom: 30%; left: 62%; width: 5%; height: 5%; 
  background: linear-gradient(180deg, #4a2a1a, #1a0e08); border-radius: 50%; 
  box-shadow: 0 2px 4px rgba(0,0,0,.5); 
  animation: icp-ink 12s ease-in-out infinite;
}
.scn-item-commission-paper .chair-back {
  position: absolute; bottom: 32%; left: 10%; width: 10%; height: 18%; 
  background: linear-gradient(180deg, #2a1a0e, #1a0e08); border-radius: 20% 20% 0 0 / 40% 40% 0 0; 
}
@keyframes icp-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes icp-scroll { 0% { transform: rotate(0) scaleY(1) } 50% { transform: rotate(2deg) scaleY(1.02) } 100% { transform: rotate(-1deg) scaleY(.98) } }
@keyframes icp-hand { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(2px) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes icp-flame { 0% { transform: scaleY(.9) translateY(0); opacity: .8 } 50% { transform: scaleY(1.15) translateY(-2px); opacity: 1 } 100% { transform: scaleY(.95) translateY(0); opacity: .85 } }
@keyframes icp-ink { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }

.scn-questenberg-defense-isolani-story {
  background: 
    linear-gradient(180deg, #1a1008 0%, #2a1a10 40%, #3a2218 70%, #1a0e08 100%),
    radial-gradient(ellipse at 50% 60%, #4a2a1a 0%, transparent 70%);
}
.scn-questenberg-defense-isolani-story .tent-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #2a1a10 0%, #1a0e08 50%, #3a1a08 100%); 
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); 
  animation: qdi-wall 25s ease-in-out infinite alternate;
}
.scn-questenberg-defense-isolani-story .tent-pole {
  position: absolute; bottom: 0; left: 30%; width: 2%; height: 90%; 
  background: linear-gradient(180deg, #5a3a1a, #2a1a0e); border-radius: 4px; 
  box-shadow: 2px 0 4px rgba(0,0,0,.5);
}
.scn-questenberg-defense-isolani-story .tent-pole::after {
  content: ''; position: absolute; left: 1900%; width: 100%; height: 100%; 
  background: linear-gradient(180deg, #5a3a1a, #2a1a0e); border-radius: 4px; 
  box-shadow: -2px 0 4px rgba(0,0,0,.5);
}
.scn-questenberg-defense-isolani-story .figure-questenberg {
  position: absolute; bottom: 38%; left: 25%; width: 10%; height: 38%; 
  background: linear-gradient(180deg, #4a2a1a, #1a0e08); 
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; 
  transform-origin: bottom center; 
  animation: qdi-speak 6s ease-in-out infinite;
}
.scn-questenberg-defense-isolani-story .figure-isolani {
  position: absolute; bottom: 38%; left: 52%; width: 10%; height: 32%; 
  background: linear-gradient(180deg, #3a1a0e, #120a06); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: qdi-sit 8s ease-in-out infinite;
}
.scn-questenberg-defense-isolani-story .map-roll {
  position: absolute; bottom: 40%; left: 40%; width: 15%; height: 4%; 
  background: linear-gradient(180deg, #b09060, #907050); border-radius: 20% / 40%; 
  transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,.6); 
  animation: qdi-map 18s ease-in-out infinite;
}
.scn-questenberg-defense-isolani-story .wine-cup {
  position: absolute; bottom: 44%; left: 58%; width: 4%; height: 5%; 
  background: linear-gradient(180deg, #6a4a2a, #3a2010); border-radius: 0 0 30% 30% / 0 0 50% 50%; 
}
.scn-questenberg-defense-isolani-story .brazier-glow {
  position: absolute; bottom: 35%; left: 70%; width: 8px; height: 8px; 
  background: radial-gradient(circle, #d08040 0%, #a06020 40%, transparent 70%); 
  border-radius: 50%; box-shadow: 0 0 40px 20px rgba(200, 100, 30, .6); 
  animation: qdi-braze 4s ease-in-out infinite alternate;
}
@keyframes qdi-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .8 } }
@keyframes qdi-speak { 0% { transform: translateX(0) rotate(0) } 25% { transform: translateX(3px) rotate(-3deg) } 50% { transform: translateX(6px) rotate(-6deg) } 75% { transform: translateX(3px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes qdi-sit { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes qdi-map { 0% { transform: rotate(-10deg) translateX(0) } 50% { transform: rotate(-8deg) translateX(2px) } 100% { transform: rotate(-12deg) translateX(-2px) } }
@keyframes qdi-braze { 0% { opacity: .6; transform: scale(.9) } 50% { opacity: 1; transform: scale(1.15) } 100% { opacity: .7; transform: scale(.95) } }

.scn-butler-warning-rebellion {
  background: 
    linear-gradient(180deg, #120a06 0%, #2a1a10 40%, #1a0e08 100%),
    radial-gradient(ellipse at 40% 30%, #3a2210 0%, transparent 70%);
}
.scn-butler-warning-rebellion .bg-panel {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #1a0e08, #0a0604); 
  clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%); 
  animation: bwr-panel 30s ease-in-out infinite alternate;
}
.scn-butler-warning-rebellion .figure-butler-profile {
  position: absolute; bottom: 28%; left: 20%; width: 12%; height: 45%; 
  background: linear-gradient(180deg, #3a1a0e, #120a06); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  clip-path: inset(0 30% 0 0); /* profile silhouette */
  transform-origin: bottom center; 
  animation: bwr-prof 6s ease-in-out infinite;
}
.scn-butler-warning-rebellion .raised-hand {
  position: absolute; bottom: 50%; left: 30%; width: 5%; height: 12%; 
  background: linear-gradient(180deg, #2a1a0e, #0a0604); 
  border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: bwr-hand 4s ease-in-out infinite alternate;
}
.scn-butler-warning-rebellion .map-scroll {
  position: absolute; bottom: 30%; left: 45%; width: 18%; height: 5%; 
  background: linear-gradient(180deg, #b09060, #907050); border-radius: 20% / 30%; 
  box-shadow: 0 2px 6px rgba(0,0,0,.7); 
  animation: bwr-map 20s ease-in-out infinite;
}
.scn-butler-warning-rebellion .dagger-sheath {
  position: absolute; bottom: 28%; left: 42%; width: 3%; height: 10%; 
  background: linear-gradient(180deg, #4a2a1a, #1a0e08); border-radius: 10% / 20%; 
  transform: rotate(30deg); 
}
.scn-butler-warning-rebellion .shadow-stripe {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 4%; 
  background: linear-gradient(90deg, transparent, #0a0604, transparent); 
  filter: blur(6px); 
  animation: bwr-stripe 14s ease-in-out infinite alternate;
}
.scn-butler-warning-rebellion .ember-spark {
  position: absolute; bottom: 60%; left: 35%; width: 3px; height: 3px; 
  background: #d08030; border-radius: 50%; box-shadow: 0 0 6px 2px #d08030; 
  animation: bwr-spark 3s ease-in-out infinite;
}
.scn-butler-warning-rebellion .wall-torch {
  position: absolute; bottom: 52%; left: 60%; width: 4px; height: 12px; 
  background: linear-gradient(180deg, #d09040, #a06020); border-radius: 50% 50% 0 0 / 100% 100% 0 0; 
  box-shadow: 0 -10px 20px 6px rgba(200,100,30,.5); 
  animation: bwr-torch 5s ease-in-out infinite alternate;
}
@keyframes bwr-panel { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes bwr-prof { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes bwr-hand { 0% { transform: rotate(-10deg) } 50% { transform: rotate(15deg) } 100% { transform: rotate(-5deg) } }
@keyframes bwr-map { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(2px) rotate(2deg) } 100% { transform: translateX(-2px) rotate(-2deg) } }
@keyframes bwr-stripe { 0% { opacity: .5; transform: translateY(0) } 50% { opacity: .8; transform: translateY(2px) } 100% { opacity: .4; transform: translateY(-2px) } }
@keyframes bwr-spark { 0% { opacity: 0; transform: translateY(0) } 50% { opacity: 1; transform: translateY(-5px) scale(1.5) } 100% { opacity: 0; transform: translateY(-10px) scale(2) } }
@keyframes bwr-torch { 0% { opacity: .7; transform: scaleY(.9) } 50% { opacity: 1; transform: scaleY(1.15) } 100% { opacity: .8; transform: scaleY(.95) } }

.scn-octavio-spy-intelligence {
  background:
    radial-gradient(ellipse at 20% 80%, #1a0a0a 0%, transparent 50%),
    linear-gradient(180deg, #0d0d1a 0%, #141014 60%, #1a1215 100%);
  position: relative;
  overflow: hidden;
}
.scn-octavio-spy-intelligence .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1618 0%, #0e0a0c 50%, #121016 100%);
}
.scn-octavio-spy-intelligence .shadow-panel {
  position: absolute; left: 10%; top: 10%; width: 80%; height: 80%;
  background: linear-gradient(160deg, rgba(10,8,12,0) 0%, rgba(10,8,12,0.6) 60%, rgba(0,0,0,0.9) 100%);
  clip-path: polygon(5% 0%, 95% 0%, 90% 100%, 10% 100%);
  animation: osi-shift 15s ease-in-out infinite alternate;
}
.scn-octavio-spy-intelligence .table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.6), 0 -2px 8px rgba(180,120,60,0.15);
}
.scn-octavio-spy-intelligence .candle-glow {
  position: absolute; bottom: 30%; left: 45%; width: 20px; height: 40px;
  background: radial-gradient(ellipse at 50% 100%, #ffbb60 0%, #cc8830 40%, transparent 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 60px 20px rgba(200,130,50,0.3), 0 0 120px 40px rgba(200,130,50,0.15);
  animation: osi-flame 2s ease-in-out infinite alternate;
}
.scn-octavio-spy-intelligence .figure-left {
  position: absolute; bottom: 18%; left: 25%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1215 0%, #0a0608 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: osi-breathe 4s ease-in-out infinite;
}
.scn-octavio-spy-intelligence .figure-right {
  position: absolute; bottom: 18%; right: 30%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #1c1417 0%, #0c080a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: osi-breathe-r 4.5s ease-in-out infinite;
}
.scn-octavio-spy-intelligence .documents {
  position: absolute; bottom: 20%; left: 40%; width: 30px; height: 10px;
  background: linear-gradient(180deg, #d4c8b0 0%, #b8a890 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5), 0 0 8px rgba(200,160,100,0.1);
  transform: rotate(-2deg);
  animation: osi-paper 6s ease-in-out infinite alternate;
}
.scn-octavio-spy-intelligence .dust-mote {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: rgba(200,180,160,0.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: osi-drift 18s linear infinite;
}
@keyframes osi-shift {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes osi-flame {
  0% { transform: scaleY(0.8) scaleX(0.9); opacity: 0.7; box-shadow: 0 0 40px 15px rgba(200,130,50,0.2), 0 0 80px 30px rgba(200,130,50,0.1); }
  50% { transform: scaleY(1.2) scaleX(1.05); opacity: 1; box-shadow: 0 0 80px 25px rgba(200,130,50,0.4), 0 0 140px 45px rgba(200,130,50,0.2); }
  100% { transform: scaleY(0.9) scaleX(0.95); opacity: 0.8; box-shadow: 0 0 50px 18px rgba(200,130,50,0.25), 0 0 100px 35px rgba(200,130,50,0.12); }
}
@keyframes osi-breathe {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-0.5deg); }
  75% { transform: translateY(-1px) rotate(0.5deg); }
}
@keyframes osi-breathe-r {
  0%,100% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-1px) rotate(-1deg); }
  40% { transform: translateY(0) rotate(0.5deg); }
  60% { transform: translateY(-2px) rotate(0deg); }
  80% { transform: translateY(-1px) rotate(0.3deg); }
}
@keyframes osi-paper {
  0% { transform: rotate(-3deg) translateX(0); opacity: 0.8; }
  50% { transform: rotate(2deg) translateX(4px); opacity: 1; }
  100% { transform: rotate(-1deg) translateX(0); opacity: 0.9; }
}
@keyframes osi-drift {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 0.4; }
  90% { opacity: 0.4; }
  100% { transform: translate(120px, -60px) scale(1.5); opacity: 0; }
}

.scn-octavio-counter-conspiracy {
  background:
    radial-gradient(ellipse at 70% 90%, #0a0a14 0%, #0e0e1a 40%, #121018 100%),
    linear-gradient(180deg, #14121c 0%, #0e0c14 50%, #08060c 100%);
  position: relative;
  overflow: hidden;
}
.scn-octavio-counter-conspiracy .deep-wall {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1820 0%, #0e0c14 60%, #0a0810 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 0% 90%);
  animation: occ-sway 12s ease-in-out infinite alternate;
}
.scn-octavio-counter-conspiracy .archway {
  position: absolute; left: 30%; top: 0; width: 40%; height: 70%;
  background: radial-gradient(ellipse at 50% 30%, transparent 0%, rgba(20,18,26,0.8) 70%, #0e0c14 100%);
  clip-path: polygon(10% 0%, 90% 0%, 85% 80%, 15% 80%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.5), 0 0 30px rgba(80,60,100,0.1);
}
.scn-octavio-counter-conspiracy .floor-slab {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #1a1820 0%, #0e0c10 100%);
  border-radius: 0 0 4px 4px;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.6);
}
.scn-octavio-counter-conspiracy .lantern-hook {
  position: absolute; top: 15%; left: 50%; width: 6px; height: 30px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 2px;
  transform: translateX(-50%);
  animation: occ-swing 3s ease-in-out infinite alternate;
}
.scn-octavio-counter-conspiracy .whisperer {
  position: absolute; bottom: 18%; left: 35%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #1c1620 0%, #0e0a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: occ-lean 5s ease-in-out infinite;
}
.scn-octavio-counter-conspiracy .listener {
  position: absolute; bottom: 18%; right: 35%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #1a1420 0%, #0c0810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: occ-lean-r 5.3s ease-in-out infinite;
}
.scn-octavio-counter-conspiracy .shadow-stretch {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.7) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: occ-stretch 8s ease-in-out infinite alternate;
}
.scn-octavio-counter-conspiracy .crack-light {
  position: absolute; top: 8%; left: 45%; width: 4px; height: 60px;
  background: linear-gradient(180deg, rgba(200,180,160,0.3) 0%, rgba(200,180,160,0.1) 100%);
  filter: blur(3px);
  animation: occ-flicker 2.5s ease-in-out infinite alternate;
}
@keyframes occ-sway {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(0.5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes occ-swing {
  0% { transform: translateX(-50%) rotate(-5deg); }
  100% { transform: translateX(-50%) rotate(5deg); }
}
@keyframes occ-lean {
  0%,100% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(0) translateY(0) rotate(-0.5deg); }
  75% { transform: translateX(-2px) translateY(-1px) rotate(0.5deg); }
}
@keyframes occ-lean-r {
  0%,100% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); }
  60% { transform: translateX(0) translateY(0) rotate(0.5deg); }
  80% { transform: translateX(1px) translateY(-1px) rotate(-0.3deg); }
}
@keyframes occ-stretch {
  0% { transform: scaleX(0.9) scaleY(1); opacity: 0.5; }
  50% { transform: scaleX(1.1) scaleY(1.05); opacity: 0.8; }
  100% { transform: scaleX(0.95) scaleY(1); opacity: 0.6; }
}
@keyframes occ-flicker {
  0% { opacity: 0.2; transform: scaleX(1); }
  50% { opacity: 0.8; transform: scaleX(1.5); }
  100% { opacity: 0.3; transform: scaleX(1); }
}

.scn-octavio-deception-son {
  background:
    radial-gradient(ellipse at 30% 50%, #1a1814 0%, #12100e 40%, #0e0c0a 100%),
    linear-gradient(180deg, #141210 0%, #100e0c 50%, #0c0a08 100%);
  position: relative;
  overflow: hidden;
}
.scn-octavio-deception-son .wood-panel {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2218 0%, #1a1410 50%, #100e0c 100%);
  clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 5% 100%);
  animation: ods-grain 20s ease-in-out infinite alternate;
}
.scn-octavio-deception-son .desk-edge {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.5);
}
.scn-octavio-deception-son .inkwell-glow {
  position: absolute; bottom: 28%; left: 25%; width: 24px; height: 24px;
  background: radial-gradient(circle at 50% 50%, #1a1a2a 0%, #0e0e1a 70%);
  border-radius: 50% 50% 40% 40%;
  box-shadow: 0 0 12px 4px rgba(100,80,120,0.2);
  animation: ods-pulse 3s ease-in-out infinite alternate;
}
.scn-octavio-deception-son .father-hand {
  position: absolute; bottom: 22%; left: 30%; width: 18px; height: 20px;
  background: linear-gradient(180deg, #3a2a20 0%, #2a1a10 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ods-reach 4s ease-in-out infinite;
}
.scn-octavio-deception-son .son-profile {
  position: absolute; bottom: 18%; right: 30%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a120e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: ods-turn 6s ease-in-out infinite alternate;
}
.scn-octavio-deception-son .letter-seal {
  position: absolute; bottom: 25%; left: 40%; width: 16px; height: 12px;
  background: radial-gradient(ellipse at 50% 40%, #c86030 0%, #a04020 60%, #6a2010 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 10px 2px rgba(200,96,48,0.3);
  animation: ods-seal 8s ease-in-out infinite alternate;
}
.scn-octavio-deception-son .candle-wax {
  position: absolute; bottom: 30%; left: 20%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #e8d4b0 0%, #c8b090 100%);
  border-radius: 2px 2px 4px 4px;
  transform: rotate(2deg);
  animation: ods-drip 5s ease-in-out infinite;
}
.scn-octavio-deception-son .air-shimmer {
  position: absolute; top: 15%; left: 20%; width: 60%; height: 10px;
  background: linear-gradient(90deg, transparent 0%, rgba(200,180,160,0.08) 50%, transparent 100%);
  filter: blur(6px);
  animation: ods-shimmer 12s linear infinite;
}
@keyframes ods-grain {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.01); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes ods-pulse {
  0% { transform: scale(0.9); opacity: 0.5; box-shadow: 0 0 8px 2px rgba(100,80,120,0.1); }
  50% { transform: scale(1.05); opacity: 1; box-shadow: 0 0 20px 6px rgba(100,80,120,0.3); }
  100% { transform: scale(0.95); opacity: 0.7; box-shadow: 0 0 12px 4px rgba(100,80,120,0.2); }
}
@keyframes ods-reach {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(2deg); }
  50% { transform: translateY(0) rotate(-1deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
}
@keyframes ods-turn {
  0% { transform: scaleX(-1) translateX(0); }
  50% { transform: scaleX(-1) translateX(4px); }
  100% { transform: scaleX(-1) translateX(0); }
}
@keyframes ods-seal {
  0% { transform: rotate(0deg) scale(1); opacity: 0.7; }
  50% { transform: rotate(5deg) scale(1.1); opacity: 1; }
  100% { transform: rotate(-2deg) scale(0.95); opacity: 0.8; }
}
@keyframes ods-drip {
  0% { height: 20px; opacity: 0.8; }
  50% { height: 22px; opacity: 1; }
  100% { height: 20px; opacity: 0.9; }
}
@keyframes ods-shimmer {
  0% { transform: translateX(-20px); opacity: 0; }
  20% { opacity: 0.5; }
  80% { opacity: 0.5; }
  100% { transform: translateX(40px); opacity: 0; }
}

.scn-father-son-mistrust-seeds {
  background:
    radial-gradient(ellipse at 50% 40%, #1a181c 0%, #0e0c10 40%, #0a080c 100%),
    linear-gradient(180deg, #141218 0%, #100e14 50%, #0c0a10 100%);
  position: relative;
  overflow: hidden;
}
.scn-father-son-mistrust-seeds .stone-arch {
  position: absolute; left: 20%; top: 0; width: 60%; height: 70%;
  background: radial-gradient(ellipse at 50% 30%, transparent 0%, rgba(16,14,20,0.7) 60%, #0e0c10 100%);
  clip-path: polygon(5% 0%, 95% 0%, 90% 80%, 10% 80%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.4), 0 0 30px rgba(60,50,80,0.05);
  animation: fsm-fade 10s ease-in-out infinite alternate;
}
.scn-father-son-mistrust-seeds .column-left {
  position: absolute; left: 15%; bottom: 0%; width: 8%; height: 80%;
  background: linear-gradient(90deg, #2a2228 0%, #1a1420 50%, #0e0c14 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 4px 0 12px rgba(0,0,0,0.5);
}
.scn-father-son-mistrust-seeds .column-right {
  position: absolute; right: 15%; bottom: 0%; width: 8%; height: 80%;
  background: linear-gradient(90deg, #0e0c14 0%, #1a1420 50%, #2a2228 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: -4px 0 12px rgba(0,0,0,0.5);
}
.scn-father-son-mistrust-seeds .threshold-glow {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 20%;
  background: radial-gradient(ellipse at 50% 20%, rgba(200,180,160,0.15) 0%, transparent 70%);
  animation: fsm-threshold 6s ease-in-out infinite alternate;
}
.scn-father-son-mistrust-seeds .elder-silhouette {
  position: absolute; bottom: 18%; left: 28%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #0e0a0e 0%, #060406 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fsm-elder 4s ease-in-out infinite;
}
.scn-father-son-mistrust-seeds .youth-silhouette {
  position: absolute; bottom: 18%; right: 28%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #100c10 0%, #080608 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fsm-youth 4.5s ease-in-out infinite;
}
.scn-father-son-mistrust-seeds .distance-line {
  position: absolute; bottom: 22%; left: 30%; right: 30%; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(100,80,100,0.3) 50%, transparent 100%);
  animation: fsm-distance 8s ease-in-out infinite alternate;
}
.scn-father-son-mistrust-seeds .fog-bank {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, rgba(20,18,22,0.2) 0%, rgba(10,8,12,0.5) 60%, rgba(6,4,8,0.8) 100%);
  filter: blur(8px);
  animation: fsm-fog 15s ease-in-out infinite alternate;
}
@keyframes fsm-fade {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes fsm-threshold {
  0% { opacity: 0.3; transform: scaleY(0.8); }
  50% { opacity: 0.7; transform: scaleY(1.1); }
  100% { opacity: 0.4; transform: scaleY(0.9); }
}
@keyframes fsm-elder {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-0.5deg); }
  75% { transform: translateY(-1px) rotate(0.5deg); }
}
@keyframes fsm-youth {
  0%,100% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-1px) rotate(-1deg); }
  40% { transform: translateY(0) rotate(0.5deg); }
  60% { transform: translateY(-2px) rotate(0deg); }
  80% { transform: translateY(-1px) rotate(0.3deg); }
}
@keyframes fsm-distance {
  0% { transform: scaleX(0.8); opacity: 0.2; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(0.9); opacity: 0.3; }
}
@keyframes fsm-fog {
  0% { opacity: 0.4; transform: translateY(0); }
  50% { opacity: 0.8; transform: translateY(5px); }
  100% { opacity: 0.5; transform: translateY(0); }
}

/* Scene: impossible-demand-conflict */
.scn-impossible-demand-conflict {
  background: 
    linear-gradient(180deg, #1b1a2e 0%, #2f2a3a 40%, #3b2a2a 100%),
    radial-gradient(ellipse at 50% 60%, #3b2a2a 0%, transparent 70%);
}
.scn-impossible-demand-conflict .rm-shadow {
  position: absolute; inset: 0; background: rgba(0,0,0,.6); 
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  animation: idc-shadow-pulse 8s ease-in-out infinite alternate;
}
.scn-impossible-demand-conflict .rm-wall-left {
  position: absolute; left: 0; top: 0; bottom: 0; width: 30%;
  background: linear-gradient(90deg, #1a151a 0%, #2a1f1a 100%);
  transform: scaleY(0.95); transform-origin: top; 
  box-shadow: 4px 0 12px rgba(0,0,0,.7);
  animation: idc-wall-sway 12s ease-in-out infinite alternate;
}
.scn-impossible-demand-conflict .rm-wall-right {
  position: absolute; right: 0; top: 0; bottom: 0; width: 35%;
  background: linear-gradient(270deg, #1c1822 0%, #2a222a 100%);
  transform: scaleY(0.95); transform-origin: top;
  box-shadow: -4px 0 12px rgba(0,0,0,.7);
  animation: idc-wall-sway 12s ease-in-out infinite alternate-reverse;
}
.scn-impossible-demand-conflict .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,.8);
  animation: idc-table-tremor 3s ease-in-out infinite;
}
.scn-impossible-demand-conflict .document-glow {
  position: absolute; bottom: 27%; left: 38%; width: 16%; height: 10%;
  background: radial-gradient(circle, #d4a060 0%, #b08040 60%, transparent 100%);
  border-radius: 4px; filter: blur(2px);
  animation: idc-doc-glow 4s ease-in-out infinite alternate;
  box-shadow: 0 0 20px 6px rgba(192,128,64,.5);
}
.scn-impossible-demand-conflict .officer {
  position: absolute; bottom: 20%; 
  width: 8%; height: 28%; background: #1a1520; 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: blur(1px);
}
.scn-impossible-demand-conflict .officer-1 {
  left: 15%; animation: idc-officer-turn 5s ease-in-out infinite;
}
.scn-impossible-demand-conflict .officer-2 {
  left: 32%; animation: idc-officer-turn 6s ease-in-out infinite 1s;
}
.scn-impossible-demand-conflict .officer-3 {
  right: 15%; animation: idc-officer-turn 4.5s ease-in-out infinite 2s;
}
.scn-impossible-demand-conflict .lantern {
  position: absolute; bottom: 35%; width: 6px; height: 6px; 
  border-radius: 50%; background: #ffd080; box-shadow: 0 0 14px 4px #c08030, 0 0 30px 8px rgba(192,128,48,.4);
  animation: idc-lantern-swing 3s ease-in-out infinite;
}
.scn-impossible-demand-conflict .lantern-a { left: 25%; }
.scn-impossible-demand-conflict .lantern-b { right: 25%; animation-delay: 1.5s; }
@keyframes idc-shadow-pulse {
  0%,100% { opacity: .7; }
  50% { opacity: .85; }
}
@keyframes idc-wall-sway {
  0% { transform: scaleY(0.95) translateX(0); }
  50% { transform: scaleY(0.95) translateX(-2px); }
  100% { transform: scaleY(0.95) translateX(2px); }
}
@keyframes idc-table-tremor {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(0.5deg); }
  75% { transform: translateY(1px) rotate(-0.5deg); }
}
@keyframes idc-doc-glow {
  0% { opacity: .7; box-shadow: 0 0 14px 4px rgba(192,128,64,.3); }
  50% { opacity: 1; box-shadow: 0 0 28px 8px rgba(192,128,64,.6); }
  100% { opacity: .8; box-shadow: 0 0 18px 5px rgba(192,128,64,.4); }
}
@keyframes idc-officer-turn {
  0%,100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(3deg); }
}
@keyframes idc-lantern-swing {
  0%,100% { transform: rotate(-10deg) translateY(0); }
  25% { transform: rotate(5deg) translateY(-1px); }
  75% { transform: rotate(-5deg) translateY(1px); }
}

/* Scene: wallenstein-veiled-threat */
.scn-wallenstein-veiled-threat {
  background: 
    linear-gradient(180deg, #14121e 0%, #1c1828 50%, #241a2a 100%),
    radial-gradient(ellipse at 70% 40%, #2a1e2a 0%, transparent 60%);
}
.scn-wallenstein-veiled-threat .bg-dark {
  position: absolute; inset: 0; background: #08060e; opacity: .4; animation: wvt-dark-fade 7s ease-in-out infinite alternate;
}
.scn-wallenstein-veiled-threat .window-frame {
  position: absolute; right: 15%; top: 10%; width: 25%; height: 55%;
  border: 8px solid #2a1e1a; border-radius: 4px; background: transparent;
  box-shadow: inset 0 0 12px rgba(0,0,0,.7);
  animation: wvt-frame-pulse 5s ease-in-out infinite;
}
.scn-wallenstein-veiled-threat .window-light {
  position: absolute; right: 17%; top: 12%; width: 21%; height: 51%;
  background: linear-gradient(180deg, #d0c8b0 0%, #a09070 100%);
  border-radius: 2px; opacity: .2; filter: blur(4px);
  animation: wvt-light-glow 6s ease-in-out infinite alternate;
}
.scn-wallenstein-veiled-threat .max-figure {
  position: absolute; bottom: 15%; left: 20%; width: 15%; height: 45%;
  background: linear-gradient(180deg, #1e1a28 0%, #12101a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  box-shadow: -4px 0 8px rgba(0,0,0,.6);
  animation: wvt-max-tilt 4s ease-in-out infinite;
}
.scn-wallenstein-veiled-threat .wallenstein-figure {
  position: absolute; bottom: 15%; right: 30%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 100%);
  border-radius: 60% 40% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom right;
  box-shadow: 4px 0 12px rgba(0,0,0,.7);
  animation: wvt-wall-turn 6s ease-in-out infinite alternate;
}
.scn-wallenstein-veiled-threat .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #0a0810 100%);
  filter: blur(6px);
  animation: wvt-floor-drift 9s ease-in-out infinite alternate;
}
.scn-wallenstein-veiled-threat .candle-stand {
  position: absolute; bottom: 30%; left: 48%; width: 4%; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 10% 10% 20% 20%;
}
.scn-wallenstein-veiled-threat .candle-flame {
  position: absolute; bottom: 49%; left: 49%; width: 2%; height: 4%;
  background: radial-gradient(circle, #ffd080 0%, #e09040 50%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 16px 6px #c08030, 0 0 30px 12px rgba(192,128,48,.4);
  animation: wvt-flame-flicker 2s ease-in-out infinite;
}
@keyframes wvt-dark-fade {
  0%,100% { opacity: .4; }
  50% { opacity: .6; }
}
@keyframes wvt-frame-pulse {
  0%,100% { border-color: #2a1e1a; }
  50% { border-color: #3a2a2a; }
}
@keyframes wvt-light-glow {
  0% { opacity: .15; transform: translateY(0); }
  50% { opacity: .25; transform: translateY(-3px); }
  100% { opacity: .2; transform: translateY(3px); }
}
@keyframes wvt-max-tilt {
  0%,100% { transform: rotate(2deg) translateY(0); }
  25% { transform: rotate(-1deg) translateY(-2px); }
  75% { transform: rotate(1deg) translateY(1px); }
}
@keyframes wvt-wall-turn {
  0% { transform: rotate(-5deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes wvt-floor-drift {
  0% { transform: translateY(0); }
  100% { transform: translateY(-5px); }
}
@keyframes wvt-flame-flicker {
  0%,100% { transform: scale(1) translateY(0); opacity: .9; }
  25% { transform: scale(1.1) translateY(-1px); opacity: 1; }
  75% { transform: scale(0.95) translateY(1px); opacity: .8; }
}

/* Scene: max-prayer-impending-crisis */
.scn-max-prayer-impending-crisis {
  background: 
    linear-gradient(180deg, #10121a 0%, #1a1a2a 40%, #2a1a2a 100%),
    radial-gradient(ellipse at 50% 20%, #1e1a2a 0%, transparent 70%);
}
.scn-max-prayer-impending-crisis .chamber-dark {
  position: absolute; inset: 0; background: #06040a; opacity: .5; 
  animation: mpc-dark-osc 10s ease-in-out infinite alternate;
}
.scn-max-prayer-impending-crisis .prayer-bench {
  position: absolute; bottom: 20%; left: 35%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.7);
  animation: mpc-bench-settle 7s ease-in-out infinite;
}
.scn-max-prayer-impending-crisis .kneeling-figure {
  position: absolute; bottom: 25%; left: 42%; width: 16%; height: 35%;
  background: linear-gradient(180deg, #1a1824 0%, #12101a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mpc-kneel-reverence 6s ease-in-out infinite;
}
.scn-max-prayer-impending-crisis .hands-clasped {
  position: absolute; bottom: 45%; left: 46%; width: 8%; height: 6%;
  background: #1a1824; border-radius: 50% 50% 30% 30%;
  transform-origin: center bottom;
  animation: mpc-hands-press 3s ease-in-out infinite;
}
.scn-max-prayer-impending-crisis .divine-light-beam {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(200,180,140,.15) 0%, rgba(200,180,140,.05) 50%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  filter: blur(8px);
  animation: mpc-beam-move 8s ease-in-out infinite alternate;
}
.scn-max-prayer-impending-crisis .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 45% 30%, rgba(200,190,160,.03) 0%, transparent 50%);
  filter: blur(6px);
  animation: mpc-dust-swirl 15s linear infinite;
}
.scn-max-prayer-impending-crisis .cross-shadow {
  position: absolute; bottom: 30%; left: 38%; width: 24%; height: 40%;
  background: rgba(0,0,0,.2); clip-path: polygon(46% 0, 54% 0, 54% 100%, 46% 100%);
  filter: blur(3px);
  animation: mpc-cross-sway 12s ease-in-out infinite alternate;
}
@keyframes mpc-dark-osc {
  0%,100% { opacity: .5; }
  50% { opacity: .7; }
}
@keyframes mpc-bench-settle {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes mpc-kneel-reverence {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-3px) rotate(1deg); }
  75% { transform: translateY(1px) rotate(-2deg); }
}
@keyframes mpc-hands-press {
  0%,100% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.08) translateY(-2px); }
}
@keyframes mpc-beam-move {
  0% { transform: translateX(0) scaleY(1); opacity: .5; }
  50% { transform: translateX(5px) scaleY(1.05); opacity: .8; }
  100% { transform: translateX(-5px) scaleY(0.95); opacity: .6; }
}
@keyframes mpc-dust-swirl {
  0% { transform: rotate(0deg) translateY(0); }
  100% { transform: rotate(360deg) translateY(-10px); }
}
@keyframes mpc-cross-sway {
  0% { transform: rotate(-3deg) scaleY(1); }
  50% { transform: rotate(0deg) scaleY(1.03); }
  100% { transform: rotate(3deg) scaleY(0.97); }
}

/* Scene: tertsky-doubt-labyrinth */
.scn-tertsky-doubt-labyrinth {
  background: 
    linear-gradient(90deg, #0e0c18 0%, #1a1622 30%, #14101c 70%, #0e0c18 100%),
    radial-gradient(ellipse at 30% 50%, #1a1a2a 0%, transparent 70%);
}
.scn-tertsky-doubt-labyrinth .corridor-bg {
  position: absolute; inset: 0; background: rgba(0,0,0,.3);
  animation: tdl-corridor-pulse 9s ease-in-out infinite alternate;
}
.scn-tertsky-doubt-labyrinth .arch {
  position: absolute; top: 0; bottom: 0; width: 20%;
  background: linear-gradient(180deg, #1a161e 0%, #0e0a12 100%);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  transform-origin: center top;
}
.scn-tertsky-doubt-labyrinth .arch-left {
  left: 10%; animation: tdl-arch-breathe-left 8s ease-in-out infinite alternate;
}
.scn-tertsky-doubt-labyrinth .arch-right {
  right: 10%; animation: tdl-arch-breathe-right 8s ease-in-out infinite alternate-reverse;
}
.scn-tertsky-doubt-labyrinth .tertsky-silhouette {
  position: absolute; bottom: 15%; left: 45%; width: 10%; height: 40%;
  background: linear-gradient(180deg, #1c1a2a 0%, #12101a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: tdl-stand-turn 5s ease-in-out infinite;
}
.scn-tertsky-doubt-labyrinth .wall-light {
  position: absolute; left: 30%; top: 15%; width: 4%; height: 30%;
  background: radial-gradient(ellipse at center, #c09040 0%, transparent 70%);
  filter: blur(8px);
  animation: tdl-light-shift 6s ease-in-out infinite alternate;
}
.scn-tertsky-doubt-labyrinth .floor-tiles {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(45deg, #1a1620 0px, #1a1620 12px, #0e0a12 12px, #0e0a12 24px);
  transform: skewX(-10deg); opacity: .4;
  animation: tdl-tiles-scroll 20s linear infinite;
}
.scn-tertsky-doubt-labyrinth .shadow-figure {
  position: absolute; bottom: 15%; right: 20%; width: 8%; height: 35%;
  background: rgba(10,8,16,.6); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(4px);
  animation: tdl-shadow-figure 7s ease-in-out infinite alternate;
}
.scn-tertsky-doubt-labyrinth .lantern-labyrinth {
  position: absolute; bottom: 40%; left: 48%; width: 5px; height: 5px;
  background: #e0b060; border-radius: 50%; box-shadow: 0 0 18px 6px #c09040, 0 0 40px 15px rgba(192,144,64,.3);
  animation: tdl-lantern-swing 3.5s ease-in-out infinite;
}
@keyframes tdl-corridor-pulse {
  0%,100% { opacity: .3; }
  50% { opacity: .5; }
}
@keyframes tdl-arch-breathe-left {
  0% { transform: scaleX(1) skewY(0deg); }
  50% { transform: scaleX(1.05) skewY(1deg); }
  100% { transform: scaleX(0.98) skewY(-1deg); }
}
@keyframes tdl-arch-breathe-right {
  0% { transform: scaleX(1) skewY(0deg); }
  50% { transform: scaleX(0.95) skewY(-1deg); }
  100% { transform: scaleX(1.02) skewY(1deg); }
}
@keyframes tdl-stand-turn {
  0%,100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(2deg) translateY(-2px); }
  75% { transform: rotate(-3deg) translateY(1px); }
}
@keyframes tdl-light-shift {
  0% { transform: translateY(0) scale(1); opacity: .6; }
  50% { transform: translateY(-10px) scale(1.2); opacity: .9; }
  100% { transform: translateY(5px) scale(0.9); opacity: .5; }
}
@keyframes tdl-tiles-scroll {
  0% { transform: skewX(-10deg) translateX(0); }
  100% { transform: skewX(-10deg) translateX(-48px); }
}
@keyframes tdl-shadow-figure {
  0% { transform: translateX(0) scaleY(1); opacity: .6; }
  50% { transform: translateX(-10px) scaleY(1.1); opacity: .8; }
  100% { transform: translateX(8px) scaleY(0.9); opacity: .5; }
}
@keyframes tdl-lantern-swing {
  0%,100% { transform: rotate(-8deg) translateY(0); }
  25% { transform: rotate(4deg) translateY(-2px); }
  75% { transform: rotate(-4deg) translateY(2px); }
}

/* item-forged-oath */
.scn-item-forged-oath {
  background: linear-gradient(180deg, #1e1410 0%, #2a1e14 40%, #1a1210 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-item-forged-oath .desk {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1e14 100%);
  border-radius: 8% 8% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
  animation: ifo-desk 14s ease-in-out infinite alternate;
}
.scn-item-forged-oath .document {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 10%;
  background: linear-gradient(135deg, #d4c3a3 0%, #b8a58a 50%, #9c8a6e 100%);
  border-radius: 4%; transform: rotate(-2deg); box-shadow: 0 4px 8px rgba(0,0,0,.5);
  animation: ifo-document 8s ease-in-out infinite alternate;
}
.scn-item-forged-oath .hand {
  position: absolute; bottom: 22%; left: 42%; width: 14%; height: 12%;
  background: radial-gradient(ellipse at 50% 30%, #8a5a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: ifo-hand 4s ease-in-out infinite;
}
.scn-item-forged-oath .candle {
  position: absolute; bottom: 28%; left: 20%; width: 3%; height: 12%;
  background: linear-gradient(180deg, #e8b85a 0%, #d49a40 30%, #8a5a20 100%);
  border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 8px rgba(232,184,90,.5);
  animation: ifo-candle 2s ease-in-out infinite alternate;
}
.scn-item-forged-oath .shadow-figure {
  position: absolute; bottom: 30%; left: 60%; width: 25%; height: 50%;
  background: linear-gradient(180deg, #1a0e08 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  filter: blur(2px); opacity: .6; animation: ifo-figure 12s ease-in-out infinite alternate;
}
.scn-item-forged-oath .seal {
  position: absolute; bottom: 16%; left: 52%; width: 8%; height: 4%;
  background: radial-gradient(circle, #b04030 0%, #702218 100%);
  border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.4);
  animation: ifo-seal 6s ease-in-out infinite alternate;
}
.scn-item-forged-oath .inkwell {
  position: absolute; bottom: 14%; left: 28%; width: 6%; height: 5%;
  background: radial-gradient(ellipse, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 30% 30% 20% 20%; box-shadow: inset 0 4px 8px rgba(0,0,0,.8);
  animation: ifo-inkwell 20s linear infinite;
}
@keyframes ifo-desk { 0% { background-position: 0 0; } 50% { background-position: 0 -5px; } 100% { background-position: 0 0; } }
@keyframes ifo-document { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes ifo-hand { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-10%) rotate(2deg); } 60% { transform: translateY(2%) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ifo-candle { 0% { opacity: .7; box-shadow: 0 0 15px 6px rgba(232,184,90,.4); } 50% { opacity: 1; box-shadow: 0 0 25px 10px rgba(232,184,90,.6); } 100% { opacity: .85; box-shadow: 0 0 18px 7px rgba(232,184,90,.5); } }
@keyframes ifo-figure { 0% { transform: rotate(-1deg) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(-1deg) scale(1); } }
@keyframes ifo-seal { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.1) rotate(8deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes ifo-inkwell { 0% { opacity: .8; } 50% { opacity: .9; } 100% { opacity: .8; } }

/* countess-manipulation-max */
.scn-countess-manipulation-max {
  background: linear-gradient(180deg, #1a1410 0%, #2a1e18 50%, #1e1410 100%),
              radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-countess-manipulation-max .countess {
  position: absolute; bottom: 15%; left: 8%; width: 28%; height: 65%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a0e08 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center; animation: cmm-countess 10s ease-in-out infinite alternate;
}
.scn-countess-manipulation-max .max {
  position: absolute; bottom: 12%; right: 12%; width: 22%; height: 55%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cmm-max 6s ease-in-out infinite alternate;
}
.scn-countess-manipulation-max .chair {
  position: absolute; bottom: 10%; left: 40%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 8px 16px rgba(0,0,0,.6);
  animation: cmm-chair 12s ease-in-out infinite alternate;
}
.scn-countess-manipulation-max .curtain-left {
  position: absolute; top: 0; left: 0; width: 15%; height: 100%;
  background: linear-gradient(180deg, #4a3528 0%, #2a1e14 100%);
  border-radius: 0 30% 30% 0; filter: blur(2px); animation: cmm-curtain 20s ease-in-out infinite alternate;
}
.scn-countess-manipulation-max .curtain-right {
  position: absolute; top: 0; right: 0; width: 12%; height: 100%;
  background: linear-gradient(180deg, #3a2818 0%, #1e1410 100%);
  border-radius: 30% 0 0 30%; filter: blur(2px); animation: cmm-curtain 20s ease-in-out infinite alternate-reverse;
}
.scn-countess-manipulation-max .lamp-glow {
  position: absolute; bottom: 30%; left: 50%; width: 6%; height: 10%;
  background: radial-gradient(circle, #e8b85a 0%, #d49a40 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 40px 20px rgba(232,184,90,.3);
  animation: cmm-lamp 3s ease-in-out infinite alternate;
}
@keyframes cmm-countess { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5%) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes cmm-max { 0% { transform: translateX(0) translateY(0) rotate(0); } 25% { transform: translateX(-5%) translateY(-2%) rotate(3deg); } 50% { transform: translateX(-10%) translateY(0) rotate(-2deg); } 75% { transform: translateX(-5%) translateY(2%) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes cmm-chair { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.02) rotate(-1deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes cmm-curtain { 0% { opacity: .8; transform: scaleX(1); } 50% { opacity: .9; transform: scaleX(1.05); } 100% { opacity: .8; transform: scaleX(1); } }
@keyframes cmm-lamp { 0% { opacity: .6; box-shadow: 0 0 30px 15px rgba(232,184,90,.2); } 50% { opacity: .9; box-shadow: 0 0 50px 25px rgba(232,184,90,.4); } 100% { opacity: .7; box-shadow: 0 0 35px 18px rgba(232,184,90,.3); } }

/* countess-web-max-trust */
.scn-countess-web-max-trust {
  background: linear-gradient(180deg, #1e1612 0%, #2a1e18 50%, #1a1210 100%),
              radial-gradient(ellipse at 50% 90%, #3a2a1a 0%, transparent 70%);
}
.scn-countess-web-max-trust .arch {
  position: absolute; top: 0; left: 25%; right: 25%; height: 60%;
  background: linear-gradient(180deg, #3a2a20 0%, #1e1410 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 70% 100%, 70% 80%, 30% 80%, 30% 100%, 0 100%);
  animation: cwm-arch 18s ease-in-out infinite alternate;
}
.scn-countess-web-max-trust .max-figure {
  position: absolute; bottom: 8%; left: 38%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #2a1e14 0%, #0e0a06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cwm-max 4s ease-in-out infinite;
}
.scn-countess-web-max-trust .countess-shadow {
  position: absolute; bottom: 10%; right: 10%; width: 25%; height: 55%;
  background: linear-gradient(180deg, #1a1410 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  filter: blur(3px); opacity: .5; animation: cwm-countess 15s ease-in-out infinite alternate;
}
.scn-countess-web-max-trust .empty-space {
  position: absolute; bottom: 20%; left: 55%; width: 15%; height: 25%;
  background: radial-gradient(ellipse, transparent 0%, rgba(30,22,18,.8) 100%);
  border-radius: 50%; animation: cwm-empty 8s ease-in-out infinite alternate;
}
.scn-countess-web-max-trust .floor-shadow {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 100%);
  border-radius: 40%;
  animation: cwm-floor 12s ease-in-out infinite alternate;
}
.scn-countess-web-max-trust .drapery {
  position: absolute; top: 0; left: 60%; width: 10%; height: 100%;
  background: linear-gradient(180deg, #3a2818 0%, #1a0e08 100%);
  border-radius: 0 20% 20% 0; filter: blur(3px); animation: cwm-drapery 25s ease-in-out infinite alternate;
}
@keyframes cwm-arch { 0% { opacity: .85; transform: scaleY(1); } 50% { opacity: .95; transform: scaleY(1.02); } 100% { opacity: .85; transform: scaleY(1); } }
@keyframes cwm-max { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(5%) rotate(3deg); } 50% { transform: translateX(10%) rotate(-1deg); } 75% { transform: translateX(5%) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes cwm-countess { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.03) rotate(2deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes cwm-empty { 0% { opacity: .3; transform: scale(.9); } 50% { opacity: .7; transform: scale(1.1); } 100% { opacity: .3; transform: scale(.9); } }
@keyframes cwm-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cwm-drapery { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }

/* thekla-enters-countess-observation */
.scn-thekla-enters-countess-observation {
  background: linear-gradient(180deg, #1e1612 0%, #2a1e18 50%, #1a1210 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-thekla-enters-countess-observation .door {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 70%;
  background: linear-gradient(135deg, #4a3528 0%, #2a1e14 100%);
  border-radius: 0 0 10% 10%; box-shadow: inset 0 10px 20px rgba(0,0,0,.5);
  transform-origin: right center; animation: teo-door 5s ease-in-out infinite alternate;
}
.scn-thekla-enters-countess-observation .thekla {
  position: absolute; bottom: 8%; left: 32%; width: 18%; height: 45%;
  background: linear-gradient(180deg, #2a1e18 0%, #1a0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: teo-thekla 6s ease-in-out infinite;
}
.scn-thekla-enters-countess-observation .countess-seated {
  position: absolute; bottom: 5%; right: 12%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #3a2818 0%, #1e1410 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  animation: teo-countess 10s ease-in-out infinite alternate;
}
.scn-thekla-enters-countess-observation .max-standing {
  position: absolute; bottom: 10%; left: 50%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #2a1e14 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: teo-max 4s ease-in-out infinite alternate;
}
.scn-thekla-enters-countess-observation .floor-tile {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 8%;
  background: repeating-linear-gradient(90deg, #2a1e18 0px, #1e1410 30px, #2a1e18 60px);
  opacity: .4; border-radius: 20%; animation: teo-floor 20s linear infinite;
}
.scn-thekla-enters-countess-observation .candle-stand {
  position: absolute; bottom: 12%; left: 22%; width: 4%; height: 15%;
  background: linear-gradient(180deg, #806040 0%, #4a3020 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 15px 5px rgba(232,184,90,.3);
  animation: teo-stand 3s ease-in-out infinite alternate;
}
@keyframes teo-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(.95); } 100% { transform: scaleX(1); } }
@keyframes teo-thekla { 0% { transform: translateX(-5%) rotate(-3deg); } 30% { transform: translateX(0) rotate(2deg); } 60% { transform: translateX(5%) rotate(-1deg); } 100% { transform: translateX(-5%) rotate(-3deg); } }
@keyframes teo-countess { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(0) scale(1); } }
@keyframes teo-max { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3%) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes teo-floor { 0% { background-position: 0 0; } 100% { background-position: -60px 0; } }
@keyframes teo-stand { 0% { opacity: .7; box-shadow: 0 0 10px 3px rgba(232,184,90,.2); } 50% { opacity: 1; box-shadow: 0 0 20px 8px rgba(232,184,90,.5); } 100% { opacity: .8; box-shadow: 0 0 12px 4px rgba(232,184,90,.3); } }

/* ===== item-zodiac-chairs ===== */
.scn-item-zodiac-chairs {
  background:
    radial-gradient(ellipse at 50% 60%, #2a1a2a 0%, #120a12 60%),
    linear-gradient(180deg, #1a0a1a 0%, #2a1a2a 40%, #0a0a12 100%);
}
.scn-item-zodiac-chairs .back-wall {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0e1a 100%);
  animation: zc-wall 20s ease-in-out infinite alternate;
}
.scn-item-zodiac-chairs .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #1e121e 0%, #0a060a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-item-zodiac-chairs .chair-left {
  position:absolute; bottom:22%; left:22%; width:30px; height:45px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e120a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 2px 0 8px rgba(0,0,0,.6);
  animation: zc-chair 5s ease-in-out infinite alternate;
}
.scn-item-zodiac-chairs .chair-right {
  position:absolute; bottom:20%; right:20%; width:32px; height:48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e120a 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: -2px 0 8px rgba(0,0,0,.6);
  animation: zc-chair 5s ease-in-out infinite alternate-reverse;
}
.scn-item-zodiac-chairs .zodiac-symbol {
  position:absolute; top:15%; left:50%; width:40px; height:40px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c8a060 0%, #6a4a20 70%);
  border-radius: 50%;
  box-shadow: 0 0 16px 4px rgba(200,160,96,.3);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: zc-star 12s linear infinite;
}
.scn-item-zodiac-chairs .servant-silhouette {
  position:absolute; bottom:25%; left:8%; width:16px; height:40px;
  background: linear-gradient(180deg, #0a060a 0%, #000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: zc-servant 8s ease-in-out infinite;
}
.scn-item-zodiac-chairs .candle-glow {
  position:absolute; bottom:35%; left:30%; width:8px; height:20px;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #b87840 60%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 20px 6px rgba(255,208,128,.4), 0 0 40px 12px rgba(255,208,128,.15);
  animation: zc-candle 2s ease-in-out infinite alternate;
}
.scn-item-zodiac-chairs .shadow-figure {
  position:absolute; bottom:22%; right:12%; width:20px; height:50px;
  background: linear-gradient(180deg, #120a12 0%, #000 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(3px);
  animation: zc-shadow 6s ease-in-out infinite;
}
@keyframes zc-wall { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes zc-chair { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes zc-star { 0% { transform: translateX(-50%) rotate(0deg) scale(.9); opacity:.7 } 50% { transform: translateX(-50%) rotate(180deg) scale(1.05); opacity:1 } 100% { transform: translateX(-50%) rotate(360deg) scale(.9); opacity:.7 } }
@keyframes zc-servant { 0% { transform: translateX(0) scaleY(1) } 25% { transform: translateX(3px) scaleY(.98) } 50% { transform: translateX(0) scaleY(1) } 75% { transform: translateX(-3px) scaleY(.98) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes zc-candle { 0% { opacity:.7; box-shadow:0 0 15px 4px rgba(255,208,128,.3) } 50% { opacity:1; box-shadow:0 0 25px 8px rgba(255,208,128,.6) } 100% { opacity:.8; box-shadow:0 0 18px 5px rgba(255,208,128,.35) } }
@keyframes zc-shadow { 0% { transform: translateX(0) scale(1) } 50% { transform: translateX(-4px) scale(1.05) } 100% { transform: translateX(4px) scale(1) } }

/* ===== seni-number-five-mysticism ===== */
.scn-seni-number-five-mysticism {
  background:
    radial-gradient(ellipse at 50% 40%, #1a1a2e 0%, #0a0a1a 70%),
    linear-gradient(180deg, #1e1a2e 0%, #12101a 100%);
}
.scn-seni-number-five-mysticism .bg-deep {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #1e1a2e 0%, #0a0812 100%);
  animation: sn-bg 15s ease-in-out infinite alternate;
}
.scn-seni-number-five-mysticism .seni-figure {
  position:absolute; bottom:20%; left:50%; width:24px; height:55px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a2a 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sn-figure 10s ease-in-out infinite;
}
.scn-seni-number-five-mysticism .seni-hand {
  position:absolute; bottom:42%; left:48%; width:12px; height:16px;
  background: radial-gradient(circle at 50% 30%, #3a2a3a 0%, #1a0a1a 100%);
  border-radius: 50% 40% 40% 50%;
  transform-origin: 50% 100%;
  animation: sn-hand 6s ease-in-out infinite;
}
.scn-seni-number-five-mysticism .pentagram {
  position:absolute; top:18%; left:50%; width:50px; height:50px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #c08050 0%, #4a2a1a 70%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: sn-penta 20s linear infinite;
}
.scn-seni-number-five-mysticism .glow-orbs {
  position:absolute; top:30%; left:20%; width:6px; height:6px;
  background: radial-gradient(circle, #ffd080 0%, #b07030 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 3px rgba(255,208,128,.5);
  animation: sn-orb1 4s ease-in-out infinite alternate;
}
.scn-seni-number-five-mysticism .glow-orbs::before {
  content:''; position:absolute; top:-20px; left:40px; width:6px; height:6px;
  background: radial-gradient(circle, #ffd080 0%, #b07030 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 3px rgba(255,208,128,.5);
  animation: sn-orb2 3.5s ease-in-out infinite alternate;
}
.scn-seni-number-five-mysticism .glow-orbs::after {
  content:''; position:absolute; top:10px; left:80px; width:6px; height:6px;
  background: radial-gradient(circle, #ffd080 0%, #b07030 80%);
  border-radius: 50%;
  box-shadow: 0 0 12px 3px rgba(255,208,128,.5);
  animation: sn-orb3 5s ease-in-out infinite alternate;
}
.scn-seni-number-five-mysticism .tome {
  position:absolute; bottom:18%; left:40%; width:20px; height:14px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 4px rgba(0,0,0,.5);
  animation: sn-tome 8s ease-in-out infinite alternate;
}
@keyframes sn-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.65 } }
@keyframes sn-figure { 0% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-3px) } 100% { transform: translateX(-50%) translateY(0) } }
@keyframes sn-hand { 0% { transform: rotate(-10deg) } 25% { transform: rotate(5deg) } 50% { transform: rotate(-5deg) } 75% { transform: rotate(10deg) } 100% { transform: rotate(-10deg) } }
@keyframes sn-penta { 0% { transform: translateX(-50%) rotate(0deg) scale(.95); opacity:.7 } 50% { transform: translateX(-50%) rotate(180deg) scale(1.05); opacity:1 } 100% { transform: translateX(-50%) rotate(360deg) scale(.95); opacity:.7 } }
@keyframes sn-orb1 { 0% { opacity:.6; transform: scale(.8) } 50% { opacity:1; transform: scale(1.3) } 100% { opacity:.7; transform: scale(.9) } }
@keyframes sn-orb2 { 0% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.5) } 100% { opacity:.6; transform: scale(.8) } }
@keyframes sn-orb3 { 0% { opacity:.5; transform: scale(.7) } 50% { opacity:1; transform: scale(1.2) } 100% { opacity:.8; transform: scale(1) } }
@keyframes sn-tome { 0% { transform: scaleX(1) scaleY(1) } 50% { transform: scaleX(1.02) scaleY(.98) } 100% { transform: scaleX(1) scaleY(1) } }

/* ===== wallenstein-questioning-wife ===== */
.scn-wallenstein-questioning-wife {
  background:
    radial-gradient(ellipse at 30% 50%, #2e1a1a 0%, #120a0a 70%),
    linear-gradient(180deg, #1a0e0e 0%, #0a0606 100%);
}
.scn-wallenstein-questioning-wife .room-bg {
  position:absolute; inset:0 0 20% 0;
  background: linear-gradient(180deg, #2a1818 0%, #1a0e0e 100%);
  animation: wq-bg 12s ease-in-out infinite alternate;
}
.scn-wallenstein-questioning-wife .wallenstein {
  position:absolute; bottom:22%; left:30%; width:22px; height:52px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0e0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wq-wallen 6s ease-in-out infinite;
}
.scn-wallenstein-questioning-wife .duchess {
  position:absolute; bottom:24%; right:30%; width:20px; height:46px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0e0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wq-duchess 7s ease-in-out infinite;
}
.scn-wallenstein-questioning-wife .table {
  position:absolute; bottom:20%; left:35%; width:60px; height:12px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a120a 100%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.5);
}
.scn-wallenstein-questioning-wife .candle {
  position:absolute; bottom:32%; left:50%; width:6px; height:18px;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #b87840 60%);
  border-radius: 50%;
  box-shadow: 0 0 16px 4px rgba(255,208,128,.4);
  animation: wq-candle 2.5s ease-in-out infinite alternate;
}
.scn-wallenstein-questioning-wife .shadow-line {
  position:absolute; bottom:30%; left:20%; right:20%; height:2px;
  background: linear-gradient(90deg, transparent, #0a0606 20%, #0a0606 80%, transparent);
  filter: blur(1px);
  animation: wq-shadow 9s ease-in-out infinite alternate;
}
@keyframes wq-bg { 0% { opacity:.75 } 50% { opacity:.95 } 100% { opacity:.6 } }
@keyframes wq-wallen { 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 wq-duchess { 0% { transform: translateX(0) translateY(0) } 50% { transform: translateX(-3px) translateY(-2px) } 100% { transform: translateX(0) translateY(0) } }
@keyframes wq-candle { 0% { opacity:.8; box-shadow:0 0 12px 3px rgba(255,208,128,.3) } 50% { opacity:1; box-shadow:0 0 20px 6px rgba(255,208,128,.6) } 100% { opacity:.85; box-shadow:0 0 15px 4px rgba(255,208,128,.4) } }
@keyframes wq-shadow { 0% { transform: scaleX(1); opacity:.3 } 50% { transform: scaleX(1.2); opacity:.6 } 100% { transform: scaleX(1); opacity:.3 } }

/* ===== wallenstein-anger-slight ===== */
.scn-wallenstein-anger-slight {
  background:
    radial-gradient(ellipse at 40% 40%, #2a1a12 0%, #0a0604 70%),
    linear-gradient(180deg, #1a0e0a 0%, #080402 100%);
}
.scn-wallenstein-anger-slight .bg-dark {
  position:absolute; inset:0;
  background: linear-gradient(180deg, #1e120e 0%, #080604 100%);
  animation: wa-bg 10s ease-in-out infinite alternate;
}
.scn-wallenstein-anger-slight .wallenstein-angry {
  position:absolute; bottom:20%; left:25%; width:26px; height:56px;
  background: linear-gradient(180deg, #2a1a12 0%, #0e0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-angry 4s ease-in-out infinite;
}
.scn-wallenstein-anger-slight .duchess-evade {
  position:absolute; bottom:24%; right:28%; width:18px; height:42px;
  background: linear-gradient(180deg, #3a2a22 0%, #1a0e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wa-evade 3.5s ease-in-out infinite alternate;
}
.scn-wallenstein-anger-slight .chair-knocked {
  position:absolute; bottom:18%; left:40%; width:24px; height:38px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a120a 100%);
  border-radius: 6% 6% 4% 4%;
  transform: rotate(35deg);
  animation: wa-chair 5s ease-in-out infinite;
}
.scn-wallenstein-anger-slight .flying-object {
  position:absolute; top:30%; left:55%; width:10px; height:10px;
  background: radial-gradient(circle, #6a4a2a 0%, #3a1a0a 100%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: wa-object 2s ease-in-out infinite alternate;
}
.scn-wallenstein-anger-slight .anger-dust {
  position:absolute; bottom:15%; left:10%; width:100%; height:20%;
  background: radial-gradient(ellipse at 20% 50%, rgba(100,60,20,.25) 0%, transparent 70%);
  filter: blur(4px);
  animation: wa-dust 8s ease-in-out infinite alternate;
}
@keyframes wa-bg { 0% { opacity:.7 } 50% { opacity:.9 } 100% { opacity:.6 } }
@keyframes wa-angry { 0% { transform: translateX(0) rotate(0deg) scale(1) } 30% { transform: translateX(4px) rotate(3deg) scale(1.02) } 60% { transform: translateX(-2px) rotate(-2deg) scale(1) } 100% { transform: translateX(0) rotate(0deg) scale(1) } }
@keyframes wa-evade { 0% { transform: translateX(0) translateY(0) scale(1) } 50% { transform: translateX(-6px) translateY(-3px) scale(.98) } 100% { transform: translateX(0) translateY(0) scale(1) } }
@keyframes wa-chair { 0% { transform: rotate(35deg) translateX(0) } 25% { transform: rotate(40deg) translateX(2px) } 50% { transform: rotate(30deg) translateX(-1px) } 75% { transform: rotate(38deg) translateX(1px) } 100% { transform: rotate(35deg) translateX(0) } }
@keyframes wa-object { 0% { transform: translate(0,0) rotate(0deg) scale(1) } 50% { transform: translate(15px,-25px) rotate(180deg) scale(1.1) } 100% { transform: translate(0,0) rotate(360deg) scale(.9) } }
@keyframes wa-dust { 0% { opacity:.3; transform: scale(.8) } 50% { opacity:.6; transform: scale(1.1) } 100% { opacity:.2; transform: scale(.9) } }

/* Scene: wallenstein-isolation-brooding */
.scn-wallenstein-isolation-brooding {
  background: linear-gradient(180deg, #0e0a14 0%, #1a1220 40%, #2a1a30 100%);
}
.scn-wallenstein-isolation-brooding .bg-layer { position:absolute; inset:0; background: radial-gradient(ellipse at 70% 60%, #1a1220 0%, #0e0a14 100%); animation: wiso-fade 12s ease-in-out infinite alternate; }
.scn-wallenstein-isolation-brooding .wall-shadow { position:absolute; inset:10% 15% 30% 20%; background: linear-gradient(110deg, #0c0810, transparent 70%); filter: blur(8px); opacity:0.6; animation: wiso-shift 14s ease-in-out infinite alternate; }
.scn-wallenstein-isolation-brooding .desk { position:absolute; bottom:18%; left:15%; right:15%; height:8%; background: linear-gradient(180deg, #3a2a1a, #1a0e06); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.7); }
.scn-wallenstein-isolation-brooding .figure-brooding { position:absolute; bottom:22%; left:35%; width:30%; height:45%; background: linear-gradient(180deg, #2a1a24 0%, #1a0a14 70%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wiso-brood 6s ease-in-out infinite; }
.scn-wallenstein-isolation-brooding .letters { position:absolute; bottom:20%; left:38%; width:20%; height:4%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 1px; box-shadow: 0 1px 3px rgba(0,0,0,0.5); animation: wiso-papers 8s ease-in-out infinite; }
.scn-wallenstein-isolation-brooding .candle { position:absolute; bottom:24%; left:56%; width:3%; height:8%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 2px 2px 0 0; }
.scn-wallenstein-isolation-brooding .candle-glow { position:absolute; bottom:29%; left:54%; width:8%; height:12%; background: radial-gradient(circle, rgba(255,180,80,0.8) 0%, rgba(255,120,40,0.3) 40%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: wiso-flicker 2s ease-in-out infinite alternate; }
@keyframes wiso-fade { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes wiso-shift { 0% { transform: translateX(0) scaleX(1) } 33% { transform: translateX(2%) scaleX(1.02) } 66% { transform: translateX(-1%) scaleX(0.98) } 100% { transform: translateX(0) scaleX(1) } }
@keyframes wiso-brood { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(2%) rotate(2deg) } 50% { transform: translateY(-1%) rotate(-1deg) } 75% { transform: translateY(1%) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes wiso-papers { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
@keyframes wiso-flicker { 0% { opacity:0.6; transform: scale(1) } 100% { opacity:1; transform: scale(1.1) } }

/* Scene: wallenstein-ambition-deception */
.scn-wallenstein-ambition-deception {
  background: linear-gradient(180deg, #0c0a14 0%, #14101e 40%, #1c1628 100%);
}
.scn-wallenstein-ambition-deception .bg-layer { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, #14101e 0%, #0c0a14 100%); animation: wamb-pulse 10s ease-in-out infinite alternate; }
.scn-wallenstein-ambition-deception .table { position:absolute; bottom:15%; left:10%; right:10%; height:10%; background: linear-gradient(180deg, #3a2a1e, #1a0e0a); border-radius: 50% 50% 10% 10% / 30% 30% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.8); }
.scn-wallenstein-ambition-deception .figure-left { position:absolute; bottom:22%; left:18%; width:22%; height:45%; background: linear-gradient(180deg, #1e1828, #0e0a14); border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%; transform-origin: bottom center; animation: wamb-lean 5s ease-in-out infinite; }
.scn-wallenstein-ambition-deception .figure-right { position:absolute; bottom:22%; right:18%; width:22%; height:45%; background: linear-gradient(180deg, #221a2a, #0e0a14); border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom center; animation: wamb-lean 5s ease-in-out infinite reverse; }
.scn-wallenstein-ambition-deception .document { position:absolute; bottom:18%; left:38%; width:24%; height:5%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 2px; box-shadow: 0 1px 4px rgba(0,0,0,0.6); animation: wamb-doc 7s ease-in-out infinite; }
.scn-wallenstein-ambition-deception .candle { position:absolute; bottom:22%; left:46%; width:3%; height:10%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 2px 2px 0 0; }
.scn-wallenstein-ambition-deception .candle-glow { position:absolute; bottom:28%; left:44%; width:10%; height:14%; background: radial-gradient(circle, rgba(255,200,100,0.8) 0%, rgba(255,150,50,0.3) 40%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: wamb-flicker 2.5s ease-in-out infinite alternate; }
.scn-wallenstein-ambition-deception .shadow-hand { position:absolute; bottom:25%; left:40%; width:12%; height:20%; background: linear-gradient(135deg, #0c0810 30%, transparent 70%); border-radius: 50% 0 50% 0; transform: rotate(-20deg); filter: blur(4px); animation: wamb-hand 4s ease-in-out infinite; }
@keyframes wamb-pulse { 0% { opacity:0.7 } 33% { opacity:1 } 66% { opacity:0.8 } 100% { opacity:0.6 } }
@keyframes wamb-lean { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(1%) rotate(3deg) } 60% { transform: translateY(-2%) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes wamb-doc { 0%,100% { opacity:0.6; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } }
@keyframes wamb-flicker { 0% { opacity:0.5; transform: scale(1) } 100% { opacity:1; transform: scale(1.15) } }
@keyframes wamb-hand { 0% { transform: rotate(-20deg) translate(0) } 50% { transform: rotate(-10deg) translate(5%, -3%) } 100% { transform: rotate(-20deg) translate(0) } }

/* Scene: illo-rebellious-troops-octavio-danger */
.scn-illo-rebellious-troops-octavio-danger {
  background: linear-gradient(180deg, #0e0e16 0%, #16141c 40%, #1e1a24 100%);
}
.scn-illo-rebellious-troops-octavio-danger .bg-layer { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, #16141c 0%, #0e0e16 100%); animation: ireb-shift 9s ease-in-out infinite alternate; }
.scn-illo-rebellious-troops-octavio-danger .tent-arch { position:absolute; top:5%; left:10%; right:10%; bottom:10%; background: linear-gradient(180deg, #2a1e28 0%, transparent 60%); clip-path: ellipse(70% 60% at 50% 20%); animation: ireb-tent 12s ease-in-out infinite alternate; }
.scn-illo-rebellious-troops-octavio-danger .soldier-foreground { position:absolute; bottom:15%; left:20%; width:20%; height:50%; background: linear-gradient(180deg, #1a141e, #0e0a10); border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%; transform-origin: bottom center; animation: ireb-soldier1 4s ease-in-out infinite; }
.scn-illo-rebellious-troops-octavio-danger .soldier-background { position:absolute; bottom:18%; right:25%; width:18%; height:40%; background: linear-gradient(180deg, #16121c, #0e0a10); border-radius: 45% 45% 40% 40% / 50% 50% 40% 40%; transform-origin: bottom center; filter: blur(1px); animation: ireb-soldier2 5s ease-in-out infinite reverse; }
.scn-illo-rebellious-troops-octavio-danger .weapon-stack { position:absolute; bottom:20%; left:10%; width:8%; height:30%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.6); transform: rotate(10deg); animation: ireb-weapons 7s ease-in-out infinite; }
.scn-illo-rebellious-troops-octavio-danger .torch { position:absolute; bottom:25%; right:15%; width:4%; height:12%; background: linear-gradient(180deg, #3a2a1a, #1a0e06); border-radius: 2px; }
.scn-illo-rebellious-troops-octavio-danger .torch-glow { position:absolute; bottom:33%; right:13%; width:12%; height:16%; background: radial-gradient(circle, rgba(255,180,80,0.7) 0%, rgba(255,100,30,0.25) 40%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: ireb-flicker 2s ease-in-out infinite alternate; }
@keyframes ireb-shift { 0% { opacity:0.7; transform: scale(1) } 33% { opacity:0.9; transform: scale(1.02) } 66% { opacity:0.8; transform: scale(0.98) } 100% { opacity:0.7; transform: scale(1) } }
@keyframes ireb-tent { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes ireb-soldier1 { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(2%) rotate(2deg) } 50% { transform: translateY(-1%) rotate(-1deg) } 75% { transform: translateY(1%) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ireb-soldier2 { 0% { transform: translateY(0) rotate(0) scaleX(-1) } 30% { transform: translateY(3%) rotate(-3deg) scaleX(-1) } 60% { transform: translateY(-2%) rotate(2deg) scaleX(-1) } 100% { transform: translateY(0) rotate(0) scaleX(-1) } }
@keyframes ireb-weapons { 0% { transform: rotate(10deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(10deg) } }
@keyframes ireb-flicker { 0% { opacity:0.5; transform: scale(1) } 100% { opacity:1; transform: scale(1.2) } }

/* Scene: wallenstein-misplaced-trust */
.scn-wallenstein-misplaced-trust {
  background: linear-gradient(180deg, #0c0a16 0%, #181218 40%, #221a24 100%);
}
.scn-wallenstein-misplaced-trust .bg-layer { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, #181218 0%, #0c0a16 100%); animation: wmis-darken 15s ease-in-out infinite alternate; }
.scn-wallenstein-misplaced-trust .figure-main { position:absolute; bottom:15%; left:20%; width:28%; height:55%; background: linear-gradient(180deg, #1e182a, #0e0a14); border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%; transform-origin: bottom center; animation: wmis-main 6s ease-in-out infinite; }
.scn-wallenstein-misplaced-trust .figure-other { position:absolute; bottom:18%; right:25%; width:22%; height:45%; background: linear-gradient(180deg, #161228, #0e0a14); border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%; transform-origin: bottom center; animation: wmis-other 6s ease-in-out infinite reverse; }
.scn-wallenstein-misplaced-trust .fox-shadow { position:absolute; bottom:22%; left:45%; width:15%; height:20%; background: linear-gradient(135deg, #0a0610 30%, transparent 70%); clip-path: polygon(0% 100%, 50% 20%, 100% 100%); filter: blur(6px); opacity:0.4; animation: wmis-fox 8s ease-in-out infinite; }
.scn-wallenstein-misplaced-trust .desk { position:absolute; bottom:12%; left:25%; right:25%; height:6%; background: linear-gradient(180deg, #3a2a1e, #1a0e0a); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.7); }
.scn-wallenstein-misplaced-trust .letter { position:absolute; bottom:14%; left:38%; width:18%; height:4%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 1px; box-shadow: 0 1px 3px rgba(0,0,0,0.5); animation: wmis-letter 7s ease-in-out infinite; }
.scn-wallenstein-misplaced-trust .candle { position:absolute; bottom:16%; left:48%; width:3%; height:10%; background: linear-gradient(180deg, #4a3a2a, #2a1a10); border-radius: 2px 2px 0 0; }
.scn-wallenstein-misplaced-trust .candle-glow { position:absolute; bottom:22%; left:46%; width:10%; height:14%; background: radial-gradient(circle, rgba(255,200,100,0.7) 0%, rgba(255,150,50,0.2) 40%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: wmis-flicker 2.8s ease-in-out infinite alternate; }
@keyframes wmis-darken { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.5 } }
@keyframes wmis-main { 0% { transform: translateY(0) rotate(0) } 20% { transform: translateY(2%) rotate(1deg) } 40% { transform: translateY(-1%) rotate(-2deg) } 60% { transform: translateY(1%) rotate(0) } 80% { transform: translateY(-2%) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes wmis-other { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(3%) rotate(-2deg) } 70% { transform: translateY(-1%) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes wmis-fox { 0% { opacity:0.3; transform: translate(0) scale(1) } 50% { opacity:0.6; transform: translate(-5%, 2%) scale(1.05) } 100% { opacity:0.3; transform: translate(0) scale(1) } }
@keyframes wmis-letter { 0%,100% { opacity:0.6 } 50% { opacity:1 } }
@keyframes wmis-flicker { 0% { opacity:0.5; transform: scale(1) } 100% { opacity:1; transform: scale(1.15) } }

.scn-wallens-inv { background: linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%), radial-gradient(ellipse at 20% 80%, #0f3460 0%, transparent 70%); }
.scn-wallens-inv .bg-inv { position:absolute; inset:0; background:linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%); }
.scn-wallens-inv .wall-inv { position:absolute; left:0; top:0; width:30%; height:100%; background:linear-gradient(90deg, #2a1a1a 0%, #1a0a0a 100%); box-shadow:4px 0 10px rgba(0,0,0,0.5); }
.scn-wallens-inv .desk-inv { position:absolute; bottom:20%; left:30%; width:40%; height:15%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow:0 -4px 8px rgba(0,0,0,0.4); }
.scn-wallens-inv .candle-glow-inv { position:absolute; bottom:calc(20% + 15% - 5px); left:45%; width:20px; height:20px; background:radial-gradient(circle, #ffd080 0%, transparent 70%); box-shadow:0 0 30px 10px #ffa040; animation:inv-glow 3s ease-in-out infinite alternate; }
.scn-wallens-inv .flame-inv { position:absolute; bottom:calc(20% + 15% - 2px); left:45%; width:6px; height:14px; background:linear-gradient(180deg, #ffd080 0%, #ffa040 50%, #ff6000 100%); border-radius:50% 50% 30% 30%; animation:inv-flame 2s ease-in-out infinite; }
.scn-wallens-inv .smoke-inv { position:absolute; bottom:calc(20% + 15% + 14px); left:45%; width:30px; height:20px; background:radial-gradient(ellipse, rgba(200,180,160,0.3) 0%, transparent 100%); filter:blur(3px); animation:inv-smoke 8s linear infinite; }
.scn-wallens-inv .figure-inv { position:absolute; bottom:20%; left:20%; width:12%; height:25%; background:linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin:bottom center; animation:inv-figure 6s ease-in-out infinite; }
.scn-wallens-inv .shadow-inv { position:absolute; bottom:20%; left:30%; width:30%; height:5%; background:linear-gradient(90deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.1) 100%); filter:blur(4px); animation:inv-shadow 6s ease-in-out infinite; }
@keyframes inv-glow { 0% { opacity:0.8; transform:scale(1); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.9; transform:scale(0.95); } }
@keyframes inv-flame { 0% { transform:scaleY(1) rotate(0deg); } 25% { transform:scaleY(1.2) rotate(-3deg); } 50% { transform:scaleY(0.9) rotate(2deg); } 75% { transform:scaleY(1.1) rotate(-1deg); } 100% { transform:scaleY(1) rotate(0deg); } }
@keyframes inv-smoke { 0% { transform:translateY(0) translateX(0) scale(1); opacity:0.3; } 50% { transform:translateY(-30px) translateX(10px) scale(1.5); opacity:0.1; } 100% { transform:translateY(-60px) translateX(-10px) scale(2); opacity:0; } }
@keyframes inv-figure { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(-3px) rotate(2deg); } 100% { transform:translateX(0) rotate(-1deg); } }
@keyframes inv-shadow { 0% { opacity:0.3; transform:scaleX(1); } 50% { opacity:0.5; transform:scaleX(1.05); } 100% { opacity:0.3; transform:scaleX(0.95); } }

.scn-wallens-hub { background: linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%), radial-gradient(ellipse at 70% 60%, #2a2a4e 0%, transparent 60%); }
.scn-wallens-hub .bg-hub { position:absolute; inset:0; background:linear-gradient(180deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%); }
.scn-wallens-hub .floor-hub { position:absolute; bottom:25%; left:0; right:0; height:25%; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:30% 70% 0 0 / 40% 60% 0 0; }
.scn-wallens-hub .window-hub { position:absolute; right:10%; bottom:40%; width:20%; height:30%; background:linear-gradient(180deg, #4a6a8a 0%, #2a4a6a 100%); border:4px solid #1a1a2a; border-radius:4px; }
.scn-wallens-hub .moonlight-hub { position:absolute; right:10%; bottom:40%; width:20%; height:30%; background:linear-gradient(180deg, rgba(200,220,255,0.2) 0%, transparent 100%); animation:hub-moon 12s ease-in-out infinite alternate; }
.scn-wallens-hub .figure-a-hub { position:absolute; bottom:30%; left:30%; width:12%; height:30%; background:linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; animation:hub-figa 8s ease-in-out infinite; }
.scn-wallens-hub .figure-b-hub { position:absolute; bottom:28%; left:55%; width:10%; height:25%; background:linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; animation:hub-figb 8s ease-in-out infinite alternate; }
.scn-wallens-hub .hand-hub { position:absolute; bottom:32%; left:42%; width:6%; height:8%; background:#2a2a3a; border-radius:50% 50% 0 0; animation:hub-hand 6s ease-in-out infinite; }
.scn-wallens-hub .tear-hub { position:absolute; bottom:40%; left:58%; width:4px; height:4px; background:radial-gradient(circle, #8ab4f8 0%, transparent 100%); box-shadow:0 0 8px 2px #8ab4f8; animation:hub-tear 4s ease-in-out infinite; }
@keyframes hub-moon { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }
@keyframes hub-figa { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-2px) rotate(1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes hub-figb { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(1px) rotate(-1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes hub-hand { 0% { transform:translateY(0) scaleY(1); } 30% { transform:translateY(-5px) scaleY(0.8); } 60% { transform:translateY(2px) scaleY(1.1); } 100% { transform:translateY(0) scaleY(1); } }
@keyframes hub-tear { 0% { opacity:0; transform:translateY(0) scale(1); } 50% { opacity:0.8; transform:translateY(8px) scale(0.8); } 100% { opacity:0; transform:translateY(16px) scale(0.5); } }

.scn-thkla-fil { background: linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 40%, #5a4a3a 100%), radial-gradient(ellipse at 30% 70%, #5a4a3a 0%, transparent 60%); }
.scn-thkla-fil .bg-fil { position:absolute; inset:0; background:linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 40%, #5a4a3a 100%); }
.scn-thkla-fil .floor-fil { position:absolute; bottom:20%; left:0; right:0; height:20%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:30% 70% 0 0; }
.scn-thkla-fil .fireplace-fil { position:absolute; bottom:20%; left:10%; width:25%; height:30%; background:linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius:30% 30% 10% 10%; box-shadow:inset 0 -10px 20px rgba(255,150,50,0.2); }
.scn-thkla-fil .glow-fil { position:absolute; bottom:20%; left:10%; width:25%; height:30%; background:radial-gradient(ellipse at 50% 80%, rgba(255,180,80,0.4) 0%, transparent 70%); animation:fil-glow 5s ease-in-out infinite alternate; }
.scn-thkla-fil .figure-a-fil { position:absolute; bottom:25%; left:40%; width:12%; height:28%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; animation:fil-figa 10s ease-in-out infinite; }
.scn-thkla-fil .figure-b-fil { position:absolute; bottom:25%; left:55%; width:12%; height:28%; background:linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; animation:fil-figb 10s ease-in-out infinite alternate; }
.scn-thkla-fil .lamp-fil { position:absolute; top:10%; left:45%; width:8%; height:12%; background:linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:50% 50% 10% 10%; box-shadow:0 0 30px 15px rgba(255,200,100,0.3); animation:fil-lamp 7s ease-in-out infinite; }
.scn-thkla-fil .drape-fil { position:absolute; top:0; right:0; width:20%; height:100%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:0 0 0 60%; animation:fil-drape 15s ease-in-out infinite; }
@keyframes fil-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:1; transform:scale(1.1); } 100% { opacity:0.7; transform:scale(0.95); } }
@keyframes fil-figa { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-1px) rotate(1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes fil-figb { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(1px) rotate(-1deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes fil-lamp { 0% { transform:rotate(-2deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(-2deg); } }
@keyframes fil-drape { 0% { transform:scaleX(1); } 50% { transform:scaleX(0.95); } 100% { transform:scaleX(1); } }

.scn-item-let { background: linear-gradient(180deg, #1a1a2e 0%, #0f3460 40%, #16213e 100%), radial-gradient(ellipse at 80% 30%, #0f3460 0%, transparent 70%); }
.scn-item-let .bg-let { position:absolute; inset:0; background:linear-gradient(180deg, #1a1a2e 0%, #0f3460 40%, #16213e 100%); }
.scn-item-let .door-let { position:absolute; left:5%; top:10%; width:20%; height:80%; background:linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius:10px; box-shadow:4px 0 10px rgba(0,0,0,0.5); }
.scn-item-let .figure-max-let { position:absolute; bottom:30%; left:35%; width:10%; height:25%; background:linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 30% 30%; animation:let-fig 6s ease-in-out infinite; }
.scn-item-let .desk-let { position:absolute; bottom:20%; left:30%; width:50%; height:15%; background:linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4px; box-shadow:0 -4px 8px rgba(0,0,0,0.4); }
.scn-item-let .candle-let { position:absolute; bottom:calc(20% + 15% - 5px); left:40%; width:6px; height:15px; background:linear-gradient(180deg, #ffd080 0%, #ffa040 50%, #ff6000 100%); border-radius:3px; animation:let-candle 2s ease-in-out infinite; }
.scn-item-let .letter-a-let { position:absolute; bottom:calc(20% + 15% - 4px); left:35%; width:8%; height:5%; background:#f0e0c0; transform:rotate(-10deg); animation:let-letter 4s ease-in-out infinite; }
.scn-item-let .letter-b-let { position:absolute; bottom:calc(20% + 15% - 4px); left:50%; width:8%; height:5%; background:#e0d0b0; transform:rotate(5deg); animation:let-letter 4s ease-in-out infinite alternate; }
.scn-item-let .shadow-let { position:absolute; bottom:20%; left:30%; width:50%; height:5%; background:linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%); filter:blur(3px); animation:let-shadow 6s ease-in-out infinite; }
@keyframes let-fig { 0% { transform:translateX(0) rotate(0deg); } 50% { transform:translateX(3px) rotate(1deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes let-candle { 0% { transform:scaleY(1) rotate(0deg); } 25% { transform:scaleY(1.1) rotate(-2deg); } 50% { transform:scaleY(0.9) rotate(2deg); } 75% { transform:scaleY(1.05) rotate(-1deg); } 100% { transform:scaleY(1) rotate(0deg); } }
@keyframes let-letter { 0% { transform:rotate(-10deg) translateY(0); } 50% { transform:rotate(-5deg) translateY(-2px); } 100% { transform:rotate(-10deg) translateY(0); } }
@keyframes let-shadow { 0% { opacity:0.3; transform:scaleX(1); } 50% { opacity:0.5; transform:scaleX(1.05); } 100% { opacity:0.3; transform:scaleX(0.95); } }

/* wallenstein-investigation-intrigue */
.scn-wallestein-investigation-intrigue {
  background:
    radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, transparent 60%),
    linear-gradient(180deg, #1a1210 0%, #2a1a12 40%, #1a0e0a 100%);
}
.scn-wallestein-investigation-intrigue .bg-deep-wi {
  position: absolute; inset: 0 0 30% 0;
  background: radial-gradient(ellipse at 30% 20%, #3a2010 0%, transparent 70%);
  animation: wi-bg 10s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .bg-mid-wi {
  position: absolute; inset: 20% 0 10% 0;
  background: linear-gradient(0deg, #2a1810 0%, transparent 100%);
  animation: wi-mid 8s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .wall-wi {
  position: absolute; bottom: 36%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a2015 0%, #1a0e0a 100%);
  border-radius: 6% 6% 0 0; box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
  animation: wi-wall 12s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .floor-wi {
  position: absolute; bottom: 0; left: 0; right: 0; height: 36%;
  background: linear-gradient(180deg, #1a0e0a 0%, #0f0705 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.8);
  animation: wi-floor 6s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .candle-wi {
  position: absolute; bottom: 42%; left: 50%; width: 8px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0c060 0%, #c08040 60%, #1a1008 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 30px 8px rgba(240,192,96,0.6), 0 0 60px 15px rgba(240,192,96,0.3);
  animation: wi-candle 3s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .figure-left-wi {
  position: absolute; bottom: 30%; left: 20%; width: 40px; height: 100px;
  background: radial-gradient(ellipse at 50% 30%, transparent 30%, #0f0805 30%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wi-fig-l 4s ease-in-out infinite alternate;
}
.scn-wallestein-investigation-intrigue .figure-right-wi {
  position: absolute; bottom: 30%; right: 18%; width: 36px; height: 90px;
  background: radial-gradient(ellipse at 50% 30%, transparent 30%, #0f0805 30%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wi-fig-r 5s ease-in-out infinite alternate;
}
@keyframes wi-bg { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes wi-mid { 0% { transform: translateY(-2px); } 50% { transform: translateY(2px); } 100% { transform: translateY(-1px); } }
@keyframes wi-wall { 0% { transform: translateY(1px); } 50% { transform: translateY(-2px); } 100% { transform: translateY(1px); } }
@keyframes wi-floor { 0% { transform: translateY(0); } 50% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes wi-candle { 0% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(240,192,96,0.4), 0 0 40px 10px rgba(240,192,96,0.2); } 50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(240,192,96,0.7), 0 0 80px 20px rgba(240,192,96,0.4); } 100% { opacity: 0.9; box-shadow: 0 0 25px 6px rgba(240,192,96,0.5), 0 0 50px 12px rgba(240,192,96,0.3); } }
@keyframes wi-fig-l { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes wi-fig-r { 0% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(2deg); } }

/* wallenstein-hope-hubris */
.scn-wallestein-hope-hubris {
  background:
    radial-gradient(ellipse at 50% 60%, #3a1a10 0%, transparent 60%),
    linear-gradient(180deg, #1a0e0a 0%, #2a1410 40%, #0f0705 100%);
}
.scn-wallestein-hope-hubris .bg-deep-wh {
  position: absolute; inset: 0 0 20% 0;
  background: radial-gradient(ellipse at 40% 30%, #2a1410 0%, transparent 70%);
  animation: wh-bg 12s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .bg-mid-wh {
  position: absolute; inset: 15% 0 5% 0;
  background: linear-gradient(0deg, #1a0e0a 0%, transparent 100%);
  animation: wh-mid 9s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .drape-left-wh {
  position: absolute; top: 0; left: 0; width: 15%; height: 100%;
  background: linear-gradient(90deg, #2a1410 0%, transparent 100%);
  border-radius: 0 20% 20% 0; filter: blur(2px);
  animation: wh-drape-l 8s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .drape-right-wh {
  position: absolute; top: 0; right: 0; width: 15%; height: 100%;
  background: linear-gradient(270deg, #2a1410 0%, transparent 100%);
  border-radius: 20% 0 0 20%; filter: blur(2px);
  animation: wh-drape-r 8s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .table-wh {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2015 0%, #1a0e0a 100%);
  border-radius: 2px; box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: wh-table 5s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .figure-duchess-wh {
  position: absolute; bottom: 28%; left: 30%; width: 32px; height: 90px;
  background: radial-gradient(ellipse at 50% 30%, transparent 30%, #0f0805 30%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wh-duchess 4s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .figure-wallenstein-wh {
  position: absolute; bottom: 28%; right: 30%; width: 40px; height: 100px;
  background: radial-gradient(ellipse at 50% 30%, transparent 30%, #120a08 30%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wh-wallenstein 5s ease-in-out infinite alternate;
}
.scn-wallestein-hope-hubris .candle-wh {
  position: absolute; bottom: 38%; left: 50%; width: 6px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #f0c060 0%, #c08040 50%, #1a1008 100%);
  border-radius: 3px;
  box-shadow: 0 0 20px 6px rgba(240,192,96,0.5), 0 0 40px 12px rgba(240,192,96,0.25);
  animation: wh-candle 3s ease-in-out infinite alternate;
}
@keyframes wh-bg { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes wh-mid { 0% { transform: translateY(-1px); } 50% { transform: translateY(3px); } 100% { transform: translateY(-1px); } }
@keyframes wh-drape-l { 0% { transform: translateX(0); } 50% { transform: translateX(2px); } 100% { transform: translateX(0); } }
@keyframes wh-drape-r { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes wh-table { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes wh-duchess { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wh-wallenstein { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wh-candle { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(240,192,96,0.4), 0 0 30px 8px rgba(240,192,96,0.2); } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(240,192,96,0.7), 0 0 60px 18px rgba(240,192,96,0.35); } 100% { opacity: 0.9; box-shadow: 0 0 20px 5px rgba(240,192,96,0.5), 0 0 40px 10px rgba(240,192,96,0.25); } }

/* --- scene: thekla-filial-devotion --- */
.scn-thekla-filial-devotion {
  background: 
    linear-gradient(180deg, #2c1a0e 0%, #4a2e1a 50%, #3a2212 100%),
    radial-gradient(ellipse at 30% 60%, #8a5a2a 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}
.scn-thekla-filial-devotion .back-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a1a0a 0%, #4a3420 40%, #2a1a0a 100%);
  animation: tfd-wall 12s ease-in-out infinite alternate;
}
.scn-thekla-filial-devotion .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(0deg, #1a0e06 0%, #3a2212 100%);
  border-radius: 30% 70% 0 0 / 50% 50% 0 0;
  transform: scaleY(0.5);
  transform-origin: bottom;
  animation: tfd-floor 20s ease-in-out infinite;
}
.scn-thekla-filial-devotion .figure-mother {
  position: absolute;
  bottom: 22%;
  left: 35%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tfd-stand 5s ease-in-out infinite;
}
.scn-thekla-filial-devotion .figure-thekla {
  position: absolute;
  bottom: 20%;
  left: 48%;
  width: 34px;
  height: 60px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tfd-bow 6s ease-in-out infinite;
}
.scn-thekla-filial-devotion .candle-glow {
  position: absolute;
  bottom: 28%;
  left: 60%;
  width: 8px;
  height: 12px;
  background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 15px rgba(255,200,80,0.5);
  animation: tfd-flicker 2s ease-in-out infinite alternate;
}
.scn-thekla-filial-devotion .window-light {
  position: absolute;
  top: 10%;
  left: 70%;
  width: 50px;
  height: 40px;
  background: radial-gradient(ellipse, rgba(200,180,255,0.3) 0%, transparent 70%);
  border-radius: 10% 10% 30% 30%;
  filter: blur(8px);
  animation: tfd-moon 15s ease-in-out infinite;
}
.scn-thekla-filial-devotion .shadow-mother {
  position: absolute;
  bottom: 0;
  left: 32%;
  width: 50px;
  height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  filter: blur(6px);
  animation: tfd-shad 5s ease-in-out infinite;
}
@keyframes tfd-wall { 0%,100% { opacity:0.9 } 50% { opacity:0.7 } }
@keyframes tfd-floor { 0%,100% { transform: scaleY(0.5) } 50% { transform: scaleY(0.55) } }
@keyframes tfd-stand { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }
@keyframes tfd-bow { 0%,100% { transform: rotate(0deg) translateY(0) } 25% { transform: rotate(-5deg) translateY(-2px) } 75% { transform: rotate(2deg) translateY(-1px) } }
@keyframes tfd-flicker { 0% { box-shadow: 0 0 20px 10px rgba(255,200,80,0.4); opacity:0.9 } 50% { box-shadow: 0 0 40px 20px rgba(255,200,80,0.7); opacity:1 } 100% { box-shadow: 0 0 25px 12px rgba(255,200,80,0.5); opacity:0.95 } }
@keyframes tfd-moon { 0%,100% { opacity:0.3 } 50% { opacity:0.5 } }
@keyframes tfd-shad { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } }

/* --- scene: item-letters-disturbing --- */
.scn-item-letters-disturbing {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a40 40%, #12121e 100%),
    radial-gradient(ellipse at 50% 80%, #3a3a5a 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-item-letters-disturbing .table-top {
  position: absolute;
  bottom: 10%;
  left: 10%;
  right: 10%;
  height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  transform: perspective(400px) rotateX(30deg);
  transform-origin: bottom;
  animation: ild-table 25s ease-in-out infinite;
}
.scn-item-letters-disturbing .figure-wallenstein {
  position: absolute;
  bottom: 30%;
  left: 25%;
  width: 50px;
  height: 80px;
  background: linear-gradient(180deg, #2a1a0e 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ild-sit 8s ease-in-out infinite;
}
.scn-item-letters-disturbing .figure-max {
  position: absolute;
  bottom: 28%;
  left: 55%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ild-stand 9s ease-in-out infinite;
}
.scn-item-letters-disturbing .letters {
  position: absolute;
  bottom: 18%;
  left: 40%;
  width: 30px;
  height: 20px;
  background: linear-gradient(135deg, #d8c8a0 0%, #a09070 100%);
  border-radius: 4%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: ild-letters 4s ease-in-out infinite alternate;
}
.scn-item-letters-disturbing .lamp-light {
  position: absolute;
  bottom: 30%;
  left: 60%;
  width: 10px;
  height: 15px;
  background: radial-gradient(circle, #ffd080 0%, #b08030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(255,200,80,0.4), 0 0 80px 40px rgba(255,200,80,0.1);
  animation: ild-lamp 2s ease-in-out infinite alternate;
}
.scn-item-letters-disturbing .shadow-letters {
  position: absolute;
  bottom: 10%;
  left: 40%;
  width: 40px;
  height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(5px);
  animation: ild-shad-l 4s ease-in-out infinite alternate;
}
.scn-item-letters-disturbing .shadow-max {
  position: absolute;
  bottom: 10%;
  left: 55%;
  width: 50px;
  height: 25px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  filter: blur(8px);
  animation: ild-shad-m 9s ease-in-out infinite;
}
@keyframes ild-table { 0%,100% { transform: perspective(400px) rotateX(30deg) } 50% { transform: perspective(400px) rotateX(28deg) } }
@keyframes ild-sit { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) rotate(-0.5deg) } }
@keyframes ild-stand { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ild-letters { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-1px) } 100% { transform: rotate(-6deg) translateY(0.5px) } }
@keyframes ild-lamp { 0% { box-shadow: 0 0 30px 15px rgba(255,200,80,0.3); opacity:0.9 } 50% { box-shadow: 0 0 50px 25px rgba(255,200,80,0.6); opacity:1 } 100% { box-shadow: 0 0 35px 18px rgba(255,200,80,0.4); opacity:0.95 } }
@keyframes ild-shad-l { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.2) } }
@keyframes ild-shad-m { 0%,100% { opacity:0.5 } 50% { opacity:0.7 } }

.scn-wallenstein-investigation-intrigue {
  background:
    radial-gradient(ellipse at 60% 50%, #1a1010 0%, #0d0808 70%),
    linear-gradient(180deg, #1a1210 0%, #0d0808 100%);
}
.scn-wallenstein-investigation-intrigue .bg-wall {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1a1410 0%, #0f0a08 100%);
  animation: wii-wall 10s ease-in-out infinite alternate;
}
.scn-wallenstein-investigation-intrigue .bg-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(0deg, #1a1210 0%, #0f0a08 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,.6);
}
.scn-wallenstein-investigation-intrigue .table {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 30%;
  height: 8%;
  background: linear-gradient(180deg, #2a1e18 0%, #1a100a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-wallenstein-investigation-intrigue .candle {
  position: absolute;
  bottom: 34%;
  left: 49%;
  width: 2%;
  height: 10%;
  background: linear-gradient(0deg, #3a2a20 0%, #1a100a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
}
.scn-wallenstein-investigation-intrigue .glow-candle {
  position: absolute;
  bottom: 36%;
  left: 47%;
  width: 6%;
  height: 12%;
  background: radial-gradient(circle, #ffa050 0%, #d07030 40%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: wii-glow 2s ease-in-out infinite alternate;
}
.scn-wallenstein-investigation-intrigue .figure {
  position: absolute;
  bottom: 22%;
  left: 42%;
  width: 10%;
  height: 40%;
  background: linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wii-figure 5s ease-in-out infinite alternate;
}
.scn-wallenstein-investigation-intrigue .window {
  position: absolute;
  top: 10%;
  left: 60%;
  width: 25%;
  height: 40%;
  background: linear-gradient(180deg, #0d1518 0%, #1a2225 100%);
  border: 3px solid #0a0a0a;
  border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.4);
  overflow: hidden;
}
.scn-wallenstein-investigation-intrigue .rain {
  position: absolute;
  top: 10%;
  left: 60%;
  width: 25%;
  height: 40%;
  background: repeating-linear-gradient(
    70deg,
    rgba(180,200,220,0.1) 0px,
    transparent 1px,
    transparent 4px,
    rgba(180,200,220,0.15) 4px,
    transparent 5px
  );
  background-size: 100% 100%;
  animation: wii-rain 3s linear infinite;
}
@keyframes wii-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wii-glow {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(0.9); }
}
@keyframes wii-figure {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  50% { transform: translateX(2%) translateY(-1%) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-0.5deg); }
}
@keyframes wii-rain {
  0% { background-position: 0 0; }
  100% { background-position: 0 10px; }
}

.scn-wallenstein-hope-hubris {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a1a1a 50%, #1a0a0a 100%),
              radial-gradient(ellipse at 60% 75%, #3a2a1a 0%, transparent 60%);
}
.scn-wallenstein-hope-hubris .room-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #0d0d1a 0%, #1a1a2e 100%);
}
.scn-wallenstein-hope-hubris .window {
  position: absolute;
  top: 12%;
  left: 8%;
  width: 28px;
  height: 38px;
  background: #2a3a4a;
  border: 2px solid #0a0a0a;
  box-shadow: inset 0 0 12px rgba(0,0,0,0.6), 0 0 2px rgba(0,0,0,0.5);
}
.scn-wallenstein-hope-hubris .candle {
  position: absolute;
  bottom: 32%;
  left: 50%;
  width: 4px;
  height: 10px;
  background: #8a7a5a;
  border-radius: 2px;
  transform: translateX(-50%);
  animation: whh-candle 0.8s ease-in-out infinite alternate;
}
.scn-wallenstein-hope-hubris .candle-glow {
  position: absolute;
  bottom: 32%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,0.5) 0%, rgba(255,200,100,0) 70%);
  border-radius: 50%;
  animation: whh-glow 1.2s ease-in-out infinite alternate;
}
.scn-wallenstein-hope-hubris .table {
  position: absolute;
  bottom: 22%;
  left: 25%;
  width: 50%;
  height: 10px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-wallenstein-hope-hubris .figure-wallenstein {
  position: absolute;
  bottom: 22%;
  left: 18%;
  width: 30px;
  height: 80px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0d0d1a 100%);
  border-radius: 35% 25% 15% 15% / 45% 35% 25% 25%;
  transform-origin: bottom center;
  box-shadow: 0 0 12px rgba(0,0,0,0.8);
  animation: whh-wallenstein 3s ease-in-out infinite;
}
.scn-wallenstein-hope-hubris .figure-duchess {
  position: absolute;
  bottom: 22%;
  right: 20%;
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%);
  border-radius: 45% 35% 20% 20% / 55% 45% 30% 30%;
  transform-origin: bottom center;
  box-shadow: 0 0 8px rgba(0,0,0,0.7);
  animation: whh-duchess 4s ease-in-out infinite;
}
.scn-wallenstein-hope-hubris .shadow {
  position: absolute;
  bottom: 22%;
  left: 12%;
  width: 50px;
  height: 20px;
  background: rgba(0,0,0,0.35);
  filter: blur(4px);
  transform-origin: bottom left;
  animation: whh-shadow 6s ease-in-out infinite;
}
@keyframes whh-candle {
  0% { transform: translateX(-50%) scaleY(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scaleY(1.1); opacity: 1; }
  100% { transform: translateX(-50%) scaleY(0.85); opacity: 0.7; }
}
@keyframes whh-glow {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
  50% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.5; }
}
@keyframes whh-wallenstein {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(-0.5deg); }
}
@keyframes whh-duchess {
  0% { transform: translateY(1px) rotate(0); }
  50% { transform: translateY(-3px) rotate(1.5deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes whh-shadow {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(5px) scaleX(1.1); }
  100% { transform: translateX(-3px) scaleX(0.95); }
}

.scn-thekla-filial-devotion {
  background: linear-gradient(180deg, #2c1610 0%, #1a0a06 60%, #0d0603 100%),
              radial-gradient(ellipse at 50% 70%, #3d1f12 0%, transparent 60%);
}
.scn-thekla-filial-devotion .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(255,200,150,0.06) 30%, transparent 100%);
  animation: tfd-bg 8s ease-in-out infinite alternate;
}
.scn-thekla-filial-devotion .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #1a0f0a 0%, #0d0603 100%);
}
.scn-thekla-filial-devotion .table {
  position: absolute; bottom: 28%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 12px;
  background: linear-gradient(180deg, #4d3321 0%, #2b1a14 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-thekla-filial-devotion .candle {
  position: absolute; bottom: calc(28% + 12px); left: calc(50% - 3px);
  width: 6px; height: 18px;
  background: linear-gradient(180deg, #e8d080 0%, #b09050 100%);
  border-radius: 2px;
}
.scn-thekla-filial-devotion .flame {
  position: absolute; bottom: calc(28% + 12px + 18px); left: calc(50% - 4px);
  width: 8px; height: 12px;
  background: radial-gradient(circle, #ffd060 0%, #e09040 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px #e09040, 0 0 40px 10px rgba(224,144,64,0.5);
  animation: tfd-flame 0.8s ease-in-out infinite;
}
.scn-thekla-filial-devotion .figure-mother {
  position: absolute; bottom: 20%; left: 45%; 
  width: 44px; height: 82px;
  background: linear-gradient(180deg, #2c1c14 0%, #1a0f0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tfd-mother 4s ease-in-out infinite;
}
.scn-thekla-filial-devotion .figure-daughter {
  position: absolute; bottom: 20%; left: 52%;
  width: 32px; height: 62px;
  background: linear-gradient(180deg, #2c1c14 0%, #1a0f0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tfd-daughter 4s ease-in-out infinite;
  animation-delay: -1s;
}
.scn-thekla-filial-devotion .shadow {
  position: absolute; bottom: 20%; left: 42%; width: 60px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 100%);
  transform: translateX(-50%);
}
.scn-thekla-filial-devotion .warmth {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(255,180,80,0.15) 0%, transparent 60%);
  animation: tfd-warmth 6s ease-in-out infinite alternate;
}
@keyframes tfd-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes tfd-flame {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-3px) scale(1.2); opacity: 0.9; }
  100% { transform: translateY(1px) scale(1); opacity: 1; }
}
@keyframes tfd-mother {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-1px) rotate(1deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tfd-daughter {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(2deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tfd-warmth {
  0% { opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { opacity: 0.4; }
}

.scn-item-letters-disturbing {
  background: 
    radial-gradient(ellipse at 48% 60%, rgba(180,140,60,0.12) 0%, transparent 65%),
    linear-gradient(160deg, #1a0e08 0%, #0d0805 50%, #1a0e08 100%);
}
.scn-item-letters-disturbing .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(170deg, #1a0e08 0%, #0d0805 45%, #1a0c06 100%);
  opacity: .85;
}
.scn-item-letters-disturbing .table-desk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0d0805 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.7);
}
.scn-item-letters-disturbing .candle-light {
  position: absolute; bottom: 38%; left: 48%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #f0d080 0%, #c08040 60%, #8a5a20 100%);
  border-radius: 2px; transform-origin: bottom center;
  animation: ld-candle 0.3s ease-in-out infinite alternate;
}
.scn-item-letters-disturbing .glow-aura {
  position: absolute; bottom: 30%; left: 44%; width: 90px; height: 140px;
  background: radial-gradient(ellipse at 50% 40%, rgba(200,160,80,.25) 0%, rgba(200,160,80,.08) 35%, transparent 70%);
  animation: ld-glow 2.5s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-item-letters-disturbing .figure-wallenstein {
  position: absolute; bottom: 35%; left: 28%; width: 62px; height: 84px;
  background: linear-gradient(180deg, #2a1a10 0%, #0d0805 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  box-shadow: 2px 0 12px rgba(0,0,0,.6);
  animation: ld-wallenstein 5s ease-in-out infinite;
}
.scn-item-letters-disturbing .figure-max {
  position: absolute; bottom: 35%; right: 20%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 30% 30% 25% 25% / 50% 50% 25% 25%;
  transform-origin: bottom center;
  animation: ld-max 7s ease-in-out infinite;
}
.scn-item-letters-disturbing .figure-tertsky {
  position: absolute; bottom: 45%; right: 6%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #1a1008 0%, #0a0603 100%);
  border-radius: 30% 30% 25% 25% / 50% 50% 25% 25%;
  opacity: .65; transform: scale(.7);
  animation: ld-tertsky 9s ease-in-out infinite;
}
.scn-item-letters-disturbing .letters-seal {
  position: absolute; bottom: 44%; left: 40%; width: 26px; height: 18px;
  background: linear-gradient(135deg, #d4c8a0 0%, #a89870 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.6), inset 0 0 6px rgba(94,26,29,.25);
  transform-origin: center left;
  animation: ld-tremble 0.6s ease-in-out infinite;
}
.scn-item-letters-disturbing .shadow-sweep {
  position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 25%, rgba(10,5,2,.45) 65%, transparent 100%);
  pointer-events: none;
  animation: ld-sweep 10s ease-in-out infinite alternate;
}
@keyframes ld-candle {
  0% { transform: scaleY(1) scaleX(1); opacity: .8; }
  30% { transform: scaleY(1.06) scaleX(.94); opacity: .9; }
  60% { transform: scaleY(.94) scaleX(1.06); opacity: .7; }
  100% { transform: scaleY(1.02) scaleX(.98); opacity: .82; }
}
@keyframes ld-glow {
  0% { transform: scale(1); opacity: .25; }
  35% { transform: scale(1.06); opacity: .35; }
  65% { transform: scale(.93); opacity: .2; }
  100% { transform: scale(1.02); opacity: .28; }
}
@keyframes ld-wallenstein {
  0% { transform: translateY(0) scale(1); }
  40% { transform: translateY(-2px) scale(1.01); }
  70% { transform: translateY(1px) scale(.99); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ld-max {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1.5deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ld-tertsky {
  0% { transform: translateY(0) scale(.7) rotate(0deg); opacity: .65; }
  40% { transform: translateY(-1px) scale(.7) rotate(1deg); opacity: .7; }
  70% { transform: translateY(1px) scale(.7) rotate(-1deg); opacity: .6; }
  100% { transform: translateY(0) scale(.7) rotate(0deg); opacity: .65; }
}
@keyframes ld-tremble {
  0% { transform: translate(0,0) rotate(0deg) scale(1); opacity: 1; }
  8% { transform: translate(-2px,1px) rotate(-2deg) scale(1.02); }
  16% { transform: translate(3px,-1px) rotate(2.5deg) scale(.98); }
  24% { transform: translate(-1px,-2px) rotate(-1.5deg) scale(1.01); }
  32% { transform: translate(2px,2px) rotate(1deg) scale(.99); }
  40% { transform: translate(-3px,0) rotate(-2deg) scale(1.02); }
  50% { transform: translate(2px,-2px) rotate(2deg) scale(.97); opacity: .88; }
  58% { transform: translate(-1px,1px) rotate(-1deg) scale(1.01); }
  66% { transform: translate(1px,-1px) rotate(1.5deg) scale(.99); }
  74% { transform: translate(-2px,2px) rotate(-2.5deg) scale(1.02); }
  82% { transform: translate(3px,0) rotate(1deg) scale(.98); }
  90% { transform: translate(-1px,-1px) rotate(-1deg) scale(1.01); }
  100% { transform: translate(0,0) rotate(0deg) scale(1); opacity: 1; }
}
@keyframes ld-sweep {
  0% { opacity: .35; transform: translateX(0); }
  40% { opacity: .55; transform: translateX(25px); }
  75% { opacity: .3; transform: translateX(-15px); }
  100% { opacity: .4; transform: translateX(0); }
}
/* end per-scene blocks */
