/* style.css -- merged from per-tier scene CSS by wizard2.stages.build_deploy */
/* Scene root must fill its positioning container. */
.scn { position: absolute; inset: 0; }

/* ============ tier U ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-bently-gibson-jury-duty {
  background: linear-gradient(180deg, #f5e8d0 0%, #e0c8a8 40%, #c8a880 100%),
              radial-gradient(ellipse at 70% 20%, #fff8ee 0%, transparent 60%);
}
.scn-bently-gibson-jury-duty .wall {
  position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f0e0c8 0%, #d8c4a0 100%);
}
.scn-bently-gibson-jury-duty .window-frame {
  position:absolute; top:5%; left:60%; width:30%; height:40%; background: #b89878;
  border:6px solid #9a7a5a; border-radius:2px; box-shadow: inset 0 0 0 4px #8a6a4a;
}
.scn-bently-gibson-jury-duty .window-light {
  position:absolute; top:6%; left:61%; width:28%; height:38%; background: radial-gradient(circle at 30% 20%, #fffbe6 0%, #d8c8a8 100%);
  animation: bj-light-pulse 6s ease-in-out infinite alternate;
}
.scn-bently-gibson-jury-duty .jury-desk {
  position:absolute; bottom:20%; left:8%; right:8%; height:15%; background: linear-gradient(180deg, #a08060 0%, #7a6040 100%);
  border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
}
.scn-bently-gibson-jury-duty .juror-figure {
  position:absolute; bottom:28%; left:25%; width:30px; height:55px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 40%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bj-juror-sit 8s ease-in-out infinite;
}
.scn-bently-gibson-jury-duty .paper-stack {
  position:absolute; bottom:23%; left:40%; width:40px; height:20px;
  background: linear-gradient(180deg, #f0e8d0 0%, #d0c0a0 100%);
  border-radius:2px; box-shadow: 0 2px 3px rgba(0,0,0,.2);
  animation: bj-paper-float 12s ease-in-out infinite;
}
.scn-bently-gibson-jury-duty .shadow-venetian {
  position:absolute; top:5%; left:60%; width:30%; height:40%;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.1) 0px, rgba(0,0,0,.1) 4px, transparent 4px, transparent 12px);
  opacity:.3; animation: bj-blinds 10s ease-in-out infinite alternate;
}
@keyframes bj-light-pulse { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes bj-juror-sit { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0); } }
@keyframes bj-paper-float { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.05); } }
@keyframes bj-blinds { 0% { opacity:.2; } 100% { opacity:.5; } }

.scn-court-entry-familiar-faces {
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c0a8 100%),
              radial-gradient(ellipse at 80% 30%, #fff8e0 0%, transparent 60%);
}
.scn-court-entry-familiar-faces .courtroom-bg {
  position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d8c8b0 0%, #c0b098 100%);
}
.scn-court-entry-familiar-faces .doorway {
  position:absolute; bottom:20%; left:10%; width:80%; height:60%;
  background: #a09078; border-radius:4px; box-shadow: inset -8px 0 12px rgba(0,0,0,.2);
}
.scn-court-entry-familiar-faces .door-open {
  position:absolute; bottom:20%; left:10%; width:40%; height:60%;
  background: linear-gradient(180deg, #c0b098 0%, #a09078 100%);
  transform-origin: left center;
  animation: ce-door-swing 8s ease-in-out infinite;
}
.scn-court-entry-familiar-faces .clerk-figure {
  position:absolute; bottom:15%; right:30%; width:28px; height:50px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ce-clerk-nod 6s ease-in-out infinite;
}
.scn-court-entry-familiar-faces .roll-book {
  position:absolute; bottom:18%; right:40%; width:20px; height:14px;
  background: #8a7050; border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: ce-book-tap 6s ease-in-out infinite .5s;
}
.scn-court-entry-familiar-faces .welcoming-hand {
  position:absolute; bottom:32%; right:35%; width:12px; height:20px;
  background: #d0b898; border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%;
  transform-origin: bottom center;
  animation: ce-hand-wave 4s ease-in-out infinite;
}
.scn-court-entry-familiar-faces .name-card {
  position:absolute; bottom:22%; left:55%; width:16px; height:10px;
  background: #f0e0c0; border-radius:1px; box-shadow: 0 0 4px rgba(0,0,0,.15);
  animation: ce-card-drop 10s ease-in-out infinite;
}
@keyframes ce-door-swing { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-40deg); } 100% { transform: rotateY(0deg); } }
@keyframes ce-clerk-nod { 0%,100% { transform: rotate(0); } 50% { transform: rotate(-5deg); } }
@keyframes ce-book-tap { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes ce-hand-wave { 0% { transform: rotate(0); } 50% { transform: rotate(30deg); } 100% { transform: rotate(0); } }
@keyframes ce-card-drop { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(15px) scale(.9); opacity:.7; } }

.scn-tom-hingman-calls-case {
  background: linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 100%),
              radial-gradient(ellipse at 50% 40%, #fff8e0 0%, transparent 70%);
}
.scn-tom-hingman-calls-case .desk-top {
  position:absolute; bottom:20%; left:10%; right:10%; height:12%;
  background: linear-gradient(180deg, #b89878 0%, #9a7a5a 100%);
  border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.2);
}
.scn-tom-hingman-calls-case .ada-figure {
  position:absolute; bottom:25%; left:45%; width:40px; height:50px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: th-ada-bounce 4s ease-in-out infinite;
}
.scn-tom-hingman-calls-case .blue-indictment {
  position:absolute; bottom:26%; left:35%; width:25px; height:18px;
  background: linear-gradient(180deg, #5a7a9a 0%, #3a5a7a 100%);
  border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: th-indictment-lift 8s ease-in-out infinite;
}
.scn-tom-hingman-calls-case .stack-papers {
  position:absolute; bottom:22%; left:28%; width:30px; height:12px;
  background: linear-gradient(180deg, #f0e8d0 0%, #d0c0a0 100%);
  border-radius:1px; box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.scn-tom-hingman-calls-case .speech-bubble-shape {
  position:absolute; top:20%; left:50%; width:50px; height:30px;
  background: #fff8e0; border:2px solid #c0a880; border-radius:50%;
  opacity:.7;
  animation: th-bubble-puff 6s ease-in-out infinite;
}
.scn-tom-hingman-calls-case .table-leg {
  position:absolute; bottom:0; left:20%; width:6px; height:20%;
  background: #7a6040; border-radius:2px;
}
.scn-tom-hingman-calls-case .bouncy-shadow {
  position:absolute; bottom:15%; left:40%; width:50px; height:10px;
  background: radial-gradient(ellipse, rgba(0,0,0,.2) 0%, transparent 80%);
  animation: th-shadow-pulse 4s ease-in-out infinite;
}
@keyframes th-ada-bounce { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(3deg); } }
@keyframes th-indictment-lift { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(-5deg); } }
@keyframes th-bubble-puff { 0% { transform: scale(1); opacity:.7; } 50% { transform: scale(1.2); opacity:1; } 100% { transform: scale(1); opacity:.7; } }
@keyframes th-shadow-pulse { 0%,100% { transform: scaleX(1); opacity:.5; } 50% { transform: scaleX(1.3); opacity:.8; } }

.scn-defendant-appears {
  background: linear-gradient(180deg, #e8d4b8 0%, #c8a880 50%, #a88860 100%),
              radial-gradient(ellipse at 60% 30%, #ffe8c0 0%, transparent 60%);
}
.scn-defendant-appears .floor-tiles {
  position:absolute; bottom:0; left:0; right:0; height:25%;
  background: repeating-conic-gradient(#a08060 0% 25%, #907050 0% 50%) 0 0 / 40px 40px;
  opacity:.4;
}
.scn-defendant-appears .bench-back {
  position:absolute; top:5%; left:5%; right:5%; height:35%;
  background: linear-gradient(180deg, #a08060 0%, #7a6040 100%);
  border-radius:8px 8px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,.4);
}
.scn-defendant-appears .defendant-figure {
  position:absolute; bottom:18%; left:50%; width:30px; height:60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: da-defendant-shuffle 8s ease-in-out infinite;
}
.scn-defendant-appears .warm-light-beam {
  position:absolute; top:0; left:40%; width:20%; height:100%;
  background: linear-gradient(180deg, rgba(255,230,180,.6) 0%, transparent 100%);
  opacity:.3; animation: da-light-glow 5s ease-in-out infinite alternate;
}
.scn-defendant-appears .shadow-stripes {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0px, rgba(0,0,0,.08) 20px, transparent 20px, transparent 40px);
}
.scn-defendant-appears .jury-box-edge {
  position:absolute; bottom:30%; left:15%; width:70%; height:8px;
  background: #8a7050; border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.2);
}
.scn-defendant-appears .lawyer-silhouette {
  position:absolute; bottom:20%; right:20%; width:20px; height:50px;
  background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: da-lawyer-shift 10s ease-in-out infinite;
}
@keyframes da-defendant-shuffle { 0%,100% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-48%) rotate(2deg); } }
@keyframes da-light-glow { 0% { opacity:.2; } 100% { opacity:.5; } }
@keyframes da-lawyer-shift { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(0); } }

/* scene 1: ancestors-stir-within */
.scn-ancestors-stir-within {
  background: linear-gradient(180deg, #d9d0c0 0%, #b8aa98 40%, #8a7b6a 100%), radial-gradient(ellipse at 80% 20%, #f5edd0 0%, transparent 50%);
}
.scn-ancestors-stir-within .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8e0d0 0%, #c5b8a5 60%, #a0907a 100%);
  animation: asw-bg 20s ease-in-out infinite alternate;
}
.scn-ancestors-stir-within .bench {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #6b5c4a 0%, #4a3b2a 100%);
  border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  transform: perspective(300px) rotateX(5deg);
}
.scn-ancestors-stir-within .figure-beekman {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a0907a 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: asw-figure 4s ease-in-out infinite;
}
.scn-ancestors-stir-within .ghost-ancestor {
  position: absolute; bottom: 40%; left: 60%; width: 80px; height: 120px;
  background: radial-gradient(circle at 30% 30%, rgba(255,220,180,0.15) 0%, transparent 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(6px);
  animation: asw-ghost 8s ease-in-out infinite alternate;
}
.scn-ancestors-stir-within .window-bar {
  position: absolute; top: 10%; right: 10%; width: 80px; height: 120px;
  background: linear-gradient(135deg, rgba(255,255,240,0.3) 0%, rgba(180,160,130,0.1) 100%);
  border: 2px solid #5a4a3a; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,230,180,0.2);
}
.scn-ancestors-stir-within .clock {
  position: absolute; top: 8%; left: 8%; width: 50px; height: 50px;
  background: radial-gradient(circle, #e0c8a0 40%, #8a7a60 100%);
  border-radius: 50%; border: 4px solid #4a3b2a;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: asw-clock 60s linear infinite;
}
.scn-ancestors-stir-within .shadow-fall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%);
  pointer-events: none;
}

@keyframes asw-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes asw-figure { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } }
@keyframes asw-ghost { 0% { opacity: 0.1; transform: scale(0.9); } 50% { opacity: 0.3; transform: scale(1.1); } 100% { opacity: 0.15; transform: scale(1); } }
@keyframes asw-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* scene 2: jury-watching-defiance */
.scn-jury-watching-defiance {
  background: linear-gradient(180deg, #c8b8a0 0%, #a09078 40%, #7a6a58 100%), radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 40%);
}
.scn-jury-watching-defiance .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d0c8b0 0%, #b0a088 60%, #908070 100%);
}
.scn-jury-watching-defiance .jury-row {
  position: absolute; bottom: 20%; left: 5%; width: 90%; height: 15%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-jury-watching-defiance .juror-1,
.scn-jury-watching-defiance .juror-2,
.scn-jury-watching-defiance .juror-3 {
  position: absolute; bottom: 22%; height: 40px; width: 28px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: jwd-juror-bob 3s ease-in-out infinite;
}
.scn-jury-watching-defiance .juror-1 { left: 20%; }
.scn-jury-watching-defiance .juror-2 { left: 40%; animation-delay: 0.5s; }
.scn-jury-watching-defiance .juror-3 { left: 60%; animation-delay: 1s; }
.scn-jury-watching-defiance .defendant-figure {
  position: absolute; bottom: 28%; left: 50%; width: 40px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a0907a 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: jwd-defiant 5s ease-in-out infinite;
}
.scn-jury-watching-defiance .clock-large {
  position: absolute; top: 5%; left: 50%; width: 80px; height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #d4c4a0 40%, #8a7a60 100%);
  border-radius: 50%; border: 6px solid #4a3b2a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: jwd-clock 60s linear infinite;
}
.scn-jury-watching-defiance .wall-shadow {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(0,0,0,0.1) 100%);
  pointer-events: none;
}

@keyframes jwd-juror-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes jwd-defiant { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-50%) translateY(-3px) rotate(2deg); } 60% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); } }
@keyframes jwd-clock { 0% { transform: translateX(-50%) rotate(0deg); } 100% { transform: translateX(-50%) rotate(360deg); } }

/* scene 3: reporters-in-action */
.scn-reporters-in-action {
  background: linear-gradient(180deg, #d0c0a8 0%, #b0a088 40%, #908070 100%), radial-gradient(ellipse at 80% 30%, #f5edd0 0%, transparent 60%);
}
.scn-reporters-in-action .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 60%, #988878 100%);
}
.scn-reporters-in-action .press-table {
  position: absolute; bottom: 22%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: perspective(200px) rotateX(5deg);
}
.scn-reporters-in-action .reporter-left,
.scn-reporters-in-action .reporter-right {
  position: absolute; bottom: 26%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: ria-reporter 2s ease-in-out infinite alternate;
}
.scn-reporters-in-action .reporter-left {
  left: 30%; transform-origin: center bottom;
  animation-duration: 1.8s;
}
.scn-reporters-in-action .reporter-right {
  left: 55%; transform-origin: center bottom;
  animation-duration: 2.2s;
}
.scn-reporters-in-action .camera {
  position: absolute; bottom: 26%; left: 46%; width: 20px; height: 30px;
  background: #3a2a1a; border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 0 3px #6a5a4a;
  animation: ria-camera 4s ease-in-out infinite alternate;
}
.scn-reporters-in-action .flash-burst {
  position: absolute; bottom: 36%; left: 44%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,240,200,0.8) 0%, transparent 70%);
  border-radius: 50%;
  animation: ria-flash 3s ease-in-out infinite;
}
.scn-reporters-in-action .desk-lamp {
  position: absolute; bottom: 34%; left: 18%; width: 10px; height: 20px;
  background: linear-gradient(180deg, #8a7a60 0%, #5a4a3a 100%);
  border-radius: 50% 50% 0 0;
  animation: ria-lamp 5s ease-in-out infinite alternate;
}

@keyframes ria-reporter { 0% { transform: rotate(-5deg) translateY(0); } 100% { transform: rotate(5deg) translateY(-3px); } }
@keyframes ria-camera { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-5deg); } }
@keyframes ria-flash { 0%,100% { opacity: 0; } 30% { opacity: 1; } 70% { opacity: 0.5; } }
@keyframes ria-lamp { 0% { transform: rotate(-15deg); } 100% { transform: rotate(15deg); } }

/* scene 4: beekman-stands-ground */
.scn-beekman-stands-ground {
  background: linear-gradient(180deg, #d0c0a8 0%, #b0a088 40%, #908070 100%), radial-gradient(ellipse at 50% 100%, #e8d8c0 0%, transparent 70%);
}
.scn-beekman-stands-ground .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 60%, #988878 100%);
}
.scn-beekman-stands-ground .witness-stand {
  position: absolute; bottom: 22%; left: 50%; width: 60px; height: 80px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-beekman-stands-ground .figure-beekman {
  position: absolute; bottom: 28%; left: 50%; width: 36px; height: 76px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #a0907a 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: bsg-figure 6s ease-in-out infinite;
}
.scn-beekman-stands-ground .ghost-signer {
  position: absolute; bottom: 30%; left: 45%; width: 70px; height: 110px;
  background: radial-gradient(circle at 40% 20%, rgba(255,200,150,0.12) 0%, transparent 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(5px);
  animation: bsg-ghost 10s ease-in-out infinite alternate;
}
.scn-beekman-stands-ground .window-light {
  position: absolute; top: 10%; right: 10%; width: 70px; height: 110px;
  background: linear-gradient(135deg, rgba(255,240,200,0.2) 0%, transparent 100%);
  border: 2px solid #5a4a3a; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,220,160,0.15);
}
.scn-beekman-stands-ground .judge-bench {
  position: absolute; top: 5%; left: 10%; width: 80%; height: 8%;
  background: linear-gradient(180deg, #4a3b2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-beekman-stands-ground .shadow-fall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.1) 100%);
  pointer-events: none;
}

@keyframes bsg-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(0deg); } 40% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 70% { transform: translateX(-50%) translateY(-1px) rotate(-1deg); } }
@keyframes bsg-ghost { 0% { opacity: 0.05; transform: scale(0.8); } 50% { opacity: 0.2; transform: scale(1.15); } 100% { opacity: 0.1; transform: scale(1); } }

.scn-tutts-conclusion-honor-law { background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #a07858 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%); }
.scn-tutts-conclusion-honor-law .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #e8d4b0 0%, #c8a878 100%); }
.scn-tutts-conclusion-honor-law .window { position:absolute; top:10%; left:55%; width:30%; height:35%; background: linear-gradient(180deg, #fff8e0 0%, #f0dca0 80%); border:6px solid #6a4a2a; border-radius:4% 4% 2% 2%; box-shadow: inset 0 0 40px rgba(255,248,224,.6); animation: th1-window 8s ease-in-out infinite alternate; }
.scn-tutts-conclusion-honor-law .desk { position:absolute; bottom:15%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%); border-radius:2% 2% 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.3); }
.scn-tutts-conclusion-honor-law .book-left { position:absolute; bottom:25%; left:18%; width:14%; height:18%; background: linear-gradient(180deg, #8a5a3a 0%, #4a2a1a 100%); border-radius:2% 2% 8% 8%; transform: rotate(-5deg); animation: th1-book 6s ease-in-out infinite; }
.scn-tutts-conclusion-honor-law .book-right { position:absolute; bottom:25%; right:22%; width:12%; height:14%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2010 100%); border-radius:2% 2% 6% 6%; transform: rotate(3deg); animation: th1-book 6s ease-in-out infinite 1s; }
.scn-tutts-conclusion-honor-law .papers { position:absolute; bottom:20%; left:30%; right:30%; height:8%; background: linear-gradient(180deg, #f8ecc0 0%, #e0d0a0 100%); border-radius:2px; box-shadow: 0 2px 8px rgba(0,0,0,.15); animation: th1-papers 10s ease-in-out infinite alternate; }
.scn-tutts-conclusion-honor-law .figure { position:absolute; bottom:18%; left:45%; width:12%; height:35%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: th1-figure 4s ease-in-out infinite; }
.scn-tutts-conclusion-honor-law .lamplight { position:absolute; top:5%; left:40%; width:20%; height:20%; background: radial-gradient(circle, #fff0a0 0%, #f0c860 40%, transparent 70%); border-radius:50%; filter: blur(10px); animation: th1-lamp 5s ease-in-out infinite alternate; }
@keyframes th1-window { 0% { opacity:.9; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.02) } 100% { opacity:.85; transform: scaleY(1) } }
@keyframes th1-book { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-2deg) translateY(-3px) } }
@keyframes th1-papers { 0% { transform: translateX(0) } 50% { transform: translateX(4px) } 100% { transform: translateX(-2px) } }
@keyframes th1-figure { 0%,100% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(6px) rotate(2deg) } }
@keyframes th1-lamp { 0% { opacity:.6; filter: blur(12px) } 50% { opacity:1; filter: blur(8px) } 100% { opacity:.7; filter: blur(14px) } }

.scn-tombs-meeting-tutt-beekman { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 50%, #0e0e1e 100%), radial-gradient(ellipse at 50% 100%, #3a3a5a 0%, transparent 70%); }
.scn-tombs-meeting-tutt-beekman .cell-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a4a62 0%, #2a2a42 100%); }
.scn-tombs-meeting-tutt-beekman .cell-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); }
.scn-tombs-meeting-tutt-beekman .elevator-door { position:absolute; left:40%; right:40%; top:20%; height:50%; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border:4px solid #2a2a3a; border-radius:4% 4% 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,.4); animation: tm2-door 12s ease-in-out infinite; }
.scn-tombs-meeting-tutt-beekman .figure-tutt { position:absolute; bottom:22%; left:38%; width:10%; height:30%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tm2-figure 6s ease-in-out infinite; }
.scn-tombs-meeting-tutt-beekman .figure-beekman { position:absolute; bottom:22%; right:38%; width:8%; height:28%; background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tm2-figure 6s ease-in-out infinite 1s; }
.scn-tombs-meeting-tutt-beekman .dim-light { position:absolute; top:0; left:30%; right:30%; height:40%; background: radial-gradient(ellipse, rgba(200,200,220,.15) 0%, transparent 70%); animation: tm2-light 8s ease-in-out infinite alternate; }
.scn-tombs-meeting-tutt-beekman .shadow-bar { position:absolute; bottom:25%; left:20%; width:60%; height:4px; background: rgba(0,0,0,.3); filter: blur(2px); animation: tm2-bar 10s linear infinite; }
@keyframes tm2-door { 0%,100% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-4px) scaleX(.98) } }
@keyframes tm2-figure { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(8px) rotate(2deg) } }
@keyframes tm2-light { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.4 } }
@keyframes tm2-bar { 0% { transform: translateX(0) } 100% { transform: translateX(40px) } }

.scn-beekman-reluctance-murder { background: linear-gradient(180deg, #1e1e2e 0%, #2a2a3e 30%, #0e0e1a 100%), radial-gradient(ellipse at 40% 20%, #4a4a5e 0%, transparent 60%); }
.scn-beekman-reluctance-murder .room-back { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); }
.scn-beekman-reluctance-murder .table { position:absolute; bottom:20%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius:4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-beekman-reluctance-murder .figure-beekman { position:absolute; bottom:22%; left:45%; width:10%; height:30%; background: linear-gradient(180deg, #4a3a4a 0%, #1a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: br3-recoil .5s ease-in-out infinite alternate; }
.scn-beekman-reluctance-murder .figure-other { position:absolute; bottom:22%; right:35%; width:10%; height:32%; background: linear-gradient(180deg, #3a3a4a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: br3-other 2s ease-in-out infinite; }
.scn-beekman-reluctance-murder .lamp-sharp { position:absolute; top:5%; left:35%; width:15%; height:25%; background: radial-gradient(circle, #c0a080 0%, #8a6040 50%, transparent 80%); border-radius:50%; filter: blur(2px); animation: br3-lamp 3s ease-in-out infinite; }
.scn-beekman-reluctance-murder .shadow-dagger { position:absolute; bottom:15%; left:48%; width:2%; height:25%; background: rgba(0,0,0,.6); filter: blur(1px); transform: rotate(20deg); animation: br3-dagger 1s ease-in-out infinite alternate; }
.scn-beekman-reluctance-murder .newspaper { position:absolute; bottom:18%; left:20%; width:20%; height:10%; background: linear-gradient(180deg, #c8b898 0%, #a08868 100%); border-radius:2px; transform: rotate(-6deg); animation: br3-paper 4s ease-in-out infinite; }
@keyframes br3-recoil { 0% { transform: translateX(0) scale(1) } 100% { transform: translateX(-10px) scale(.95) } }
@keyframes br3-other { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5px) rotate(3deg) } }
@keyframes br3-lamp { 0% { opacity:.7; filter: blur(3px) } 50% { opacity:1; filter: blur(1px) } 100% { opacity:.6; filter: blur(4px) } }
@keyframes br3-dagger { 0% { transform: rotate(20deg) translateY(0) } 100% { transform: rotate(25deg) translateY(-4px) } }
@keyframes br3-paper { 0% { transform: rotate(-6deg) translateX(0) } 50% { transform: rotate(-8deg) translateX(2px) } 100% { transform: rotate(-5deg) translateX(0) } }

.scn-shane-oconnell-meets-beekman { background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #0e0e1e 100%), radial-gradient(ellipse at 70% 60%, #2a2a3e 0%, transparent 80%); }
.scn-shane-oconnell-meets-beekman .dark-room { position:absolute; inset:0; background: linear-gradient(180deg, #12121e 0%, #0a0a12 100%); }
.scn-shane-oconnell-meets-beekman .barred-window { position:absolute; top:10%; left:60%; width:25%; height:30%; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%); border:6px solid #2a2a3a; border-radius:4% 4% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.8); }
.scn-shane-oconnell-meets-beekman .sun-ray { position:absolute; top:10%; left:60%; width:20%; height:50%; background: linear-gradient(180deg, rgba(255,220,140,.3) 0%, transparent 80%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: sm4-ray 10s ease-in-out infinite alternate; }
.scn-shane-oconnell-meets-beekman .table-deal { position:absolute; bottom:20%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:4% 4% 0 0; box-shadow: 0 -2px 8px rgba(0,0,0,.6); }
.scn-shane-oconnell-meets-beekman .figure-shane { position:absolute; bottom:22%; left:30%; 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: sm4-shane 3s ease-in-out infinite; }
.scn-shane-oconnell-meets-beekman .figure-althea { position:absolute; bottom:22%; left:55%; width:8%; height:28%; background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1e 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sm4-althea 4s ease-in-out infinite; }
.scn-shane-oconnell-meets-beekman .shadow-deep { position:absolute; bottom:15%; left:25%; right:25%; height:5%; background: rgba(0,0,0,.5); filter: blur(4px); animation: sm4-shadow 8s ease-in-out infinite alternate; }
@keyframes sm4-ray { 0% { opacity:.3; transform: skewX(0) } 50% { opacity:.6; transform: skewX(-2deg) } 100% { opacity:.2; transform: skewX(1deg) } }
@keyframes sm4-shane { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-4px) rotate(2deg) } }
@keyframes sm4-althea { 0%,100% { transform: translateX(0) } 50% { transform: translateX(6px) rotate(-1deg) } }
@keyframes sm4-shadow { 0% { opacity:.4; transform: scaleY(1) } 100% { opacity:.8; transform: scaleY(1.2) } }

.scn-althea-background { background: linear-gradient(180deg, #f5e6d0 0%, #e3d5b8 40%, #d4c4a5 100%), radial-gradient(ellipse at 50% 0%, rgba(255,255,230,0.4) 0%, transparent 70%); }
.scn-althea-background .wall { position:absolute; inset:0; background: linear-gradient(135deg, #f0e2cc 0%, #e2d2b5 100%); }
.scn-althea-background .window-frame { position:absolute; top:15%; left:25%; width:40%; height:50%; border: 12px solid #bda68a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.08); background: radial-gradient(ellipse at center bottom, #c8d8f0 0%, #b0c4e0 70%); }
.scn-althea-background .window-glass { position:absolute; top:15%; left:25%; width:40%; height:50%; border-radius: 4px; background: radial-gradient(ellipse at 30% 40%, rgba(255,255,255,0.3) 0%, transparent 60%); animation: ab-glass 12s ease-in-out infinite alternate; }
.scn-althea-background .curtain-left { position:absolute; top:10%; left:20%; width:12%; height:60%; background: linear-gradient(90deg, #c4a882 0%, #dac0a0 60%, #e8d4b8 100%); border-radius: 0 20px 20px 0; transform-origin: left; animation: ab-curtain 8s ease-in-out infinite alternate; }
.scn-althea-background .curtain-right { position:absolute; top:10%; right:20%; width:12%; height:60%; background: linear-gradient(270deg, #c4a882 0%, #dac0a0 60%, #e8d4b8 100%); border-radius: 20px 0 0 20px; transform-origin: right; animation: ab-curtain 8s ease-in-out infinite alternate-reverse; }
.scn-althea-background .chair { position:absolute; bottom:10%; left:40%; width:25%; height:30%; background: linear-gradient(180deg, #8b6f4e 0%, #6d553b 100%); border-radius: 30% 30% 10% 10%; box-shadow: 0 -4px 8px rgba(0,0,0,0.1); }
.scn-althea-background .cushion { position:absolute; bottom:22%; left:44%; width:17%; height:12%; background: linear-gradient(180deg, #a88b6a 0%, #8b6f4e 100%); border-radius: 40% 40% 20% 20%; animation: ab-cushion 6s ease-in-out infinite; }
.scn-althea-background .book { position:absolute; bottom:18%; left:30%; width:8%; height:6%; background: linear-gradient(90deg, #6d4c3a 0%, #8b6448 50%, #6d4c3a 100%); border-radius: 2px; transform: rotate(-10deg); }
.scn-althea-background .vase { position:absolute; bottom:12%; left:70%; width:8%; height:15%; background: linear-gradient(180deg, #c8a87e 0%, #a88b6a 100%); border-radius: 30% 30% 20% 20%; }
@keyframes ab-glass { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:0.7; transform: scale(0.98); } }
@keyframes ab-curtain { 0% { transform: scaleX(0.95); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }
@keyframes ab-cushion { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-althea-memory-and-character { background: linear-gradient(180deg, #e8d6b8 0%, #d4c0a0 40%, #bfa782 100%), radial-gradient(ellipse at 50% 0%, rgba(255,245,210,0.5) 0%, transparent 80%); }
.scn-althea-memory-and-character .wall-panel { position:absolute; inset:0; background: linear-gradient(135deg, #e3d0b0 0%, #d4be9e 100%); }
.scn-althea-memory-and-character .table { position:absolute; bottom:8%; left:20%; width:60%; height:30%; background: linear-gradient(180deg, #7a5c3a 0%, #5e4428 100%); border-radius: 20% 20% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,0.2); }
.scn-althea-memory-and-character .table-legs { position:absolute; bottom:0; left:25%; width:4%; height:8%; background: #4a3420; border-radius: 2px; box-shadow: 25vw 0 0 #4a3420, 50vw 0 0 #4a3420; }
.scn-althea-memory-and-character .veteran-figure { position:absolute; bottom:20%; left:30%; width:15%; height:35%; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: amc-figure 5s ease-in-out infinite; }
.scn-althea-memory-and-character .veteran-hat { position:absolute; bottom:50%; left:31%; width:13%; height:8%; background: #3a4a3a; border-radius: 50% 50% 0 0; transform: rotate(-5deg); animation: amc-hat 5s ease-in-out infinite; }
.scn-althea-memory-and-character .candlestick { position:absolute; bottom:25%; left:55%; width:3%; height:20%; background: linear-gradient(180deg, #c8a070 0%, #a0825a 100%); border-radius: 4px; }
.scn-althea-memory-and-character .candle-flame { position:absolute; bottom:44%; left:55.5%; width:2%; height:4%; background: radial-gradient(ellipse at center, #ffd080 0%, #ffb040 60%, transparent 100%); border-radius: 50%; animation: amc-flame 0.8s ease-in-out infinite alternate; box-shadow: 0 0 12px 4px rgba(255,200,80,0.4); }
.scn-althea-memory-and-character .portrait-frame { position:absolute; top:10%; right:12%; width:20%; height:30%; border: 8px solid #8a6e4a; border-radius: 4px; background: #a88b6a; }
.scn-althea-memory-and-character .portrait-person { position:absolute; top:12%; right:14%; width:16%; height:26%; background: linear-gradient(180deg, #e8d0b0 0%, #c8a882 50%, #a08060 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; }
@keyframes amc-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes amc-hat { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes amc-flame { 0% { height:4%; opacity:0.8; } 50% { height:6%; opacity:1; } 100% { height:3%; opacity:0.9; } }

.scn-althea-face-and-library { background: linear-gradient(180deg, #e1d2b8 0%, #cdbca0 40%, #b8a68a 100%), radial-gradient(ellipse at 50% 0%, rgba(255,245,220,0.4) 0%, transparent 70%); }
.scn-althea-face-and-library .bookshelf-back { position:absolute; inset:0; background: linear-gradient(135deg, #d4c0a0 0%, #bfaa8a 100%); }
.scn-althea-face-and-library .books-left { position:absolute; top:5%; left:8%; width:8%; height:85%; background: linear-gradient(180deg, #a0886a 0%, #7a6248 100%); border-radius: 2px; box-shadow: 6vw 0 0 #8a724e, 12vw 0 0 #6a5238; }
.scn-althea-face-and-library .books-right { position:absolute; top:5%; right:8%; width:8%; height:85%; background: linear-gradient(180deg, #6a4a3a 0%, #4a3220 100%); border-radius: 2px; box-shadow: -6vw 0 0 #5a3a2a, -12vw 0 0 #4a2a1a; }
.scn-althea-face-and-library .desk { position:absolute; bottom:5%; left:15%; width:70%; height:30%; background: linear-gradient(180deg, #8a6e4a 0%, #6e5238 100%); border-radius: 10% 10% 5% 5%; }
.scn-althea-face-and-library .chair-back { position:absolute; bottom:20%; left:40%; width:20%; height:40%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%); border-radius: 20% 20% 10% 10%; }
.scn-althea-face-and-library .figure-silhouette { position:absolute; bottom:18%; left:42%; width:16%; height:38%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: afl-figure 6s ease-in-out infinite; }
.scn-althea-face-and-library .lamp-base { position:absolute; bottom:28%; left:68%; width:4%; height:8%; background: #a0805a; border-radius: 4px; }
.scn-althea-face-and-library .lamp-glow { position:absolute; bottom:35%; left:66%; width:8%; height:10%; background: radial-gradient(ellipse at center, #ffe8b0 0%, #ffd080 30%, #ffb050 70%, transparent 100%); border-radius: 50%; animation: afl-glow 3s ease-in-out infinite alternate; }
.scn-althea-face-and-library .paper { position:absolute; bottom:15%; left:52%; width:12%; height:8%; background: #f0e4d0; border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 4px rgba(0,0,0,0.1); animation: afl-paper 4s ease-in-out infinite; }
@keyframes afl-figure { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes afl-glow { 0% { opacity:0.7; transform: scale(0.95); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.8; transform: scale(0.98); } }
@keyframes afl-paper { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(2px); } 100% { transform: rotate(-5deg) translateX(0); } }

.scn-althea-law-adherence { background: linear-gradient(180deg, #e8dcc8 0%, #d4c8b0 40%, #c0b49a 100%), radial-gradient(ellipse at 50% 0%, rgba(255,255,240,0.3) 0%, transparent 80%); }
.scn-althea-law-adherence .wall-panel { position:absolute; inset:0; background: linear-gradient(135deg, #e0d4be 0%, #d0c4ac 100%); }
.scn-althea-law-adherence .desk { position:absolute; bottom:5%; left:10%; width:80%; height:35%; background: linear-gradient(180deg, #7a6248 0%, #5e4630 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 8px 16px rgba(0,0,0,0.2); }
.scn-althea-law-adherence .statute-book { position:absolute; bottom:18%; left:25%; width:15%; height:10%; background: linear-gradient(90deg, #4a3020 0%, #6a4a3a 50%, #4a3020 100%); border-radius: 2px; transform: rotate(-2deg); border-left: 2px solid #a0805a; }
.scn-althea-law-adherence .gavel { position:absolute; bottom:28%; left:45%; width:6%; height:4%; background: #8a6e4a; border-radius: 2px; transform: rotate(10deg); animation: ala-gavel 2s ease-in-out infinite alternate; }
.scn-althea-law-adherence .scales-stand { position:absolute; bottom:28%; left:60%; width:3%; height:20%; background: linear-gradient(180deg, #c8a070 0%, #a0825a 100%); border-radius: 2px; }
.scn-althea-law-adherence .scales-left { position:absolute; bottom:44%; left:56%; width:10%; height:4%; background: #d4b090; border-radius: 0 0 50% 50%; border-bottom: 2px solid #b09070; animation: ala-scales 6s ease-in-out infinite; }
.scn-althea-law-adherence .scales-right { position:absolute; bottom:44%; right:56%; width:10%; height:4%; background: #d4b090; border-radius: 0 0 50% 50%; border-bottom: 2px solid #b09070; animation: ala-scales 6s ease-in-out infinite reverse; }
.scn-althea-law-adherence .quill { position:absolute; bottom:22%; left:70%; width:8%; height:12%; background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 50%, #a89880 100%); border-radius: 0 0 50% 50%; transform: rotate(-15deg); animation: ala-quill 4s ease-in-out infinite; }
.scn-althea-law-adherence .inkwell { position:absolute; bottom:22%; left:68%; width:4%; height:6%; background: #2a1a1a; border-radius: 30% 30% 10% 10%; }
@keyframes ala-gavel { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-3px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes ala-scales { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes ala-quill { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(-15deg) translateY(0); } }

.scn-jury-excused {
  background: linear-gradient(180deg, #d4a86a 0%, #c8955a 30%, #b0804a 60%, #a0703a 100%), radial-gradient(ellipse at 80% 30%, #e8c898 0%, transparent 60%);
  overflow: hidden;
}
.scn-jury-excused .wall-warm {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #d0b080 0%, #c09860 40%, #b08850 100%);
  animation: je-wall 15s ease-in-out infinite alternate;
}
.scn-jury-excused .bench {
  position: absolute; bottom: 30%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
.scn-jury-excused .judge-desk {
  position: absolute; bottom: 38%; left: 60%; width: 120px; height: 50px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 10px 10px 4px 4px; transform: skewX(-5deg);
  box-shadow: 0 6px 10px rgba(0,0,0,.3);
}
.scn-jury-excused .judge {
  position: absolute; bottom: 52%; left: 64%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #e8d0b0 0%, #c8a880 80%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  box-shadow: 0 0 0 3px #4a2a1a; animation: je-judge 8s ease-in-out infinite;
}
.scn-jury-excused .jury-box {
  position: absolute; bottom: 30%; left: 8%; width: 140px; height: 40px;
  background: linear-gradient(180deg, #9a7a4a 0%, #7a5a3a 100%);
  border-radius: 6px; box-shadow: inset 0 -3px 6px rgba(0,0,0,.2);
  transform: perspective(200px) rotateX(5deg);
}
.scn-jury-excused .juror {
  position: absolute; bottom: 34%; left: 12%; width: 16px; height: 28px;
  background: linear-gradient(180deg, #c8b090 0%, #a08870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: je-juror 5s ease-in-out infinite;
}
.scn-jury-excused .lion-lamb {
  position: absolute; bottom: 32%; left: 38%; width: 24px; height: 20px;
  background: linear-gradient(135deg, #d0a060 0%, #b08040 50%, #c09860 100%);
  border-radius: 60% 40% 50% 50% / 50% 50% 60% 40%;
  animation: je-lionlamb 4s ease-in-out infinite;
  box-shadow: 0 0 0 2px #a07030;
}
.scn-jury-excused .sunbeam {
  position: absolute; top: 0; left: 30%; width: 80px; height: 100%;
  background: linear-gradient(180deg, rgba(255,230,180,.3) 0%, rgba(255,210,140,.1) 50%, transparent 100%);
  clip-path: polygon(30% 0, 70% 0, 90% 100%, 10% 100%);
  animation: je-sunbeam 12s ease-in-out infinite alternate;
}
@keyframes je-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes je-judge { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(2deg) } }
@keyframes je-juror { 0%,100% { transform: translateY(0) } 25% { transform: translateY(-2px) } 50% { transform: translateY(0) } 75% { transform: translateY(-1px) } }
@keyframes je-lionlamb { 0%,100% { transform: translateX(0) scale(1) } 50% { transform: translateX(6px) scale(1.05) } 75% { transform: translateX(3px) scale(.98) } }
@keyframes je-sunbeam { 0% { opacity: .2; transform: skewX(-5deg) } 50% { opacity: .4; transform: skewX(0) } 100% { opacity: .25; transform: skewX(5deg) } }

.scn-opening-statement {
  background: linear-gradient(180deg, #d4b080 0%, #c8a060 30%, #b08850 60%, #a07840 100%), radial-gradient(ellipse at 50% 80%, #e0c098 0%, transparent 70%);
  overflow: hidden;
}
.scn-opening-statement .wall-panel {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c8a870 0%, #b89860 40%, #a88850 100%);
  animation: os-panel 20s ease-in-out infinite alternate;
}
.scn-opening-statement .railing {
  position: absolute; bottom: 28%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px; box-shadow: 0 3px 8px rgba(0,0,0,.3);
}
.scn-opening-statement .podium {
  position: absolute; bottom: 25%; left: 50%; width: 50px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 8px 8px 4px 4px; box-shadow: 0 6px 14px rgba(0,0,0,.4);
}
.scn-opening-statement .prosecutor {
  position: absolute; bottom: 40%; left: 50%; width: 28px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: os-prosecutor 6s ease-in-out infinite;
  box-shadow: 0 0 0 2px rgba(0,0,0,.2);
}
.scn-opening-statement .jury-shadow {
  position: absolute; bottom: 28%; left: 8%; width: 140px; height: 35px;
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, transparent 100%);
  border-radius: 8px; transform: perspective(200px) rotateX(5deg);
  animation: os-shadows 12s ease-in-out infinite alternate;
}
.scn-opening-statement .spectator {
  position: absolute; bottom: 20%; right: 12%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: os-spectator 8s ease-in-out infinite;
}
.scn-opening-statement .light-ray {
  position: absolute; top: 5%; left: 40%; width: 100px; height: 95%;
  background: linear-gradient(180deg, rgba(255,220,160,.25) 0%, rgba(255,200,120,.08) 40%, transparent 100%);
  clip-path: polygon(40% 0, 60% 0, 75% 100%, 25% 100%);
  animation: os-lightray 10s ease-in-out infinite alternate;
}
@keyframes os-panel { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes os-prosecutor { 0%,100% { transform: translateX(-50%) translateY(0) } 30% { transform: translateX(-48%) translateY(-4px) } 60% { transform: translateX(-52%) translateY(-2px) } 80% { transform: translateX(-49%) translateY(-1px) } }
@keyframes os-shadows { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .4 } }
@keyframes os-spectator { 0%,100% { transform: translateY(0) rotate(0) } 33% { transform: translateY(-2px) rotate(1deg) } 66% { transform: translateY(0) rotate(-1deg) } }
@keyframes os-lightray { 0% { opacity: .1; transform: skewX(-3deg) } 50% { opacity: .25; transform: skewX(2deg) } 100% { opacity: .15; transform: skewX(-1deg) } }

.scn-pepperill-promises-proof {
  background: linear-gradient(180deg, #c8a060 0%, #b89050 30%, #a08040 60%, #907030 100%), radial-gradient(ellipse at 60% 40%, #d8b870 0%, transparent 50%);
  overflow: hidden;
}
.scn-pepperill-promises-proof .bg-warm {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d8b880 0%, #c8a060 50%, #b08840 100%);
  animation: pp-bg 18s ease-in-out infinite alternate;
}
.scn-pepperill-promises-proof .desk-front {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 30%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 12px 12px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-pepperill-promises-proof .right-arm {
  position: absolute; bottom: 25%; left: 50%; width: 12px; height: 50px;
  transform-origin: bottom center;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 50% 50% / 20% 20% 60% 60%;
  animation: pp-arm 4s ease-in-out infinite;
}
.scn-pepperill-promises-proof .open-palm {
  position: absolute; top: 30%; left: 48%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #d0b890 0%, #b09870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: pp-palm 4s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(200,160,80,.2);
}
.scn-pepperill-promises-proof .spectator-blur {
  position: absolute; bottom: 20%; right: 18%; width: 14px; height: 32px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  filter: blur(2px); opacity: .7; animation: pp-spect 9s ease-in-out infinite;
}
.scn-pepperill-promises-proof .glare {
  position: absolute; top: 10%; left: 35%; width: 60px; height: 80%;
  background: linear-gradient(180deg, rgba(255,220,160,.15) 0%, transparent 60%);
  clip-path: polygon(40% 0, 60% 0, 70% 100%, 30% 100%);
  animation: pp-glare 7s ease-in-out infinite alternate;
}
@keyframes pp-bg { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes pp-arm { 0%,100% { transform: rotate(-10deg) translateX(-2px) } 40% { transform: rotate(15deg) translateX(2px) } 70% { transform: rotate(-5deg) translateX(-1px) } }
@keyframes pp-palm { 0%,100% { transform: translateX(-50%) rotate(-5deg) scale(1) } 40% { transform: translateX(-45%) rotate(10deg) scale(1.1) } 70% { transform: translateX(-50%) rotate(-2deg) scale(1) } }
@keyframes pp-spect { 0%,100% { transform: translateY(0) } 33% { transform: translateY(-1px) } 66% { transform: translateY(1px) } }
@keyframes pp-glare { 0% { opacity: .05; transform: skewX(-4deg) } 50% { opacity: .15; transform: skewX(2deg) } 100% { opacity: .08; transform: skewX(-1deg) } }

.scn-prosecution-calls-witnesses {
  background: linear-gradient(180deg, #c8a060 0%, #b89050 25%, #a88040 55%, #987030 100%), radial-gradient(ellipse at 70% 50%, #d8b870 0%, transparent 60%);
  overflow: hidden;
}
.scn-prosecution-calls-witnesses .courtroom-deep {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #b89860 0%, #a88850 40%, #987040 100%);
  animation: pc-bg 14s ease-in-out infinite alternate;
}
.scn-prosecution-calls-witnesses .witness-stand {
  position: absolute; bottom: 25%; left: 20%; width: 40px; height: 55px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a2a 100%);
  border-radius: 6px 6px 3px 3px; box-shadow: 0 5px 10px rgba(0,0,0,.3);
  animation: pc-stand 8s ease-in-out infinite;
}
.scn-prosecution-calls-witnesses .clerk-desk {
  position: absolute; bottom: 28%; left: 55%; width: 70px; height: 30px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 6px; transform: skewX(-3deg); box-shadow: 0 4px 8px rgba(0,0,0,.2);
}
.scn-prosecution-calls-witnesses .witness-figure {
  position: absolute; bottom: 35%; left: 22%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: pc-witness 5s ease-in-out infinite;
}
.scn-prosecution-calls-witnesses .second-figure {
  position: absolute; bottom: 30%; left: 38%; width: 18px; height: 42px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: pc-second 7s ease-in-out infinite;
  animation-delay: -2s;
}
.scn-prosecution-calls-witnesses .judge-bench {
  position: absolute; bottom: 38%; right: 12%; width: 100px; height: 45px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 8px 8px 3px 3px; transform: skewX(4deg);
  box-shadow: 0 5px 12px rgba(0,0,0,.3);
}
.scn-prosecution-calls-witnesses .judge-silhouette {
  position: absolute; bottom: 48%; right: 16%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 60% 60%;
  animation: pc-judge 10s ease-in-out infinite;
}
.scn-prosecution-calls-witnesses .sun-shaft {
  position: absolute; top: 5%; left: 30%; width: 70px; height: 95%;
  background: linear-gradient(180deg, rgba(255,220,160,.25) 0%, rgba(255,200,120,.08) 40%, transparent 100%);
  clip-path: polygon(35% 0, 55% 0, 70% 100%, 20% 100%);
  animation: pc-sun 15s ease-in-out infinite alternate;
}
@keyframes pc-bg { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes pc-stand { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes pc-witness { 0%,100% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-3px) rotate(1deg) } 60% { transform: translateY(-1px) rotate(-1deg) } 80% { transform: translateY(-2px) rotate(0) } }
@keyframes pc-second { 0%,100% { transform: translateX(0) translateY(0) } 50% { transform: translateX(4px) translateY(-2px) } 75% { transform: translateX(2px) translateY(0) } }
@keyframes pc-judge { 0%,100% { transform: translateY(0) rotate(0) } 40% { transform: translateY(-2px) rotate(2deg) } 80% { transform: translateY(0) rotate(-1deg) } }
@keyframes pc-sun { 0% { opacity: .08; transform: skewX(-4deg) } 50% { opacity: .2; transform: skewX(2deg) } 100% { opacity: .12; transform: skewX(-2deg) } }

/* delany-corruption-system */
.scn-delany-corruption-system { background: linear-gradient(135deg, #f2d5a0 0%, #d4af70 30%, #8a6e40 70%, #3d2c18 100%); animation: cs-bg 18s ease infinite alt; }
.scn-delany-corruption-system .sky { position:absolute; top:0; left:0; width:100%; height:45%; background: radial-gradient(ellipse at 80% 20%, #f7e8c0 0%, #c6a86a 60%, transparent 100%); animation: cs-sky 12s ease-in-out infinite alt; }
.scn-delany-corruption-system .window { position:absolute; top:8%; right:10%; width:80px; height:100px; background: linear-gradient(180deg, #f6e9d0 0%, #e5cfaa 100%); border:6px solid #5a3f20; border-radius:4px; box-shadow: inset 0 0 20px #fff3; animation: cs-window 6s ease-in-out infinite; }
.scn-delany-corruption-system .desk { position:absolute; bottom:18%; left:10%; width:60%; height:50px; background: linear-gradient(180deg, #6b4c2a 0%, #4a3218 100%); border-radius:8px 8px 0 0; box-shadow: 0 4px 12px #0006, inset 0 2px 6px #8a6e40; transform: perspective(400px) rotateX(5deg); }
.scn-delany-corruption-system .figure { position:absolute; bottom:20%; left:30%; width:50px; height:80px; background: linear-gradient(180deg, #1c1c1c 0%, #0f0f0f 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: cs-figure 4s ease-in-out infinite; box-shadow: -8px 0 12px #0008; }
.scn-delany-corruption-system .papers { position:absolute; bottom:22%; left:35%; width:60px; height:8px; background: #d9b07a; border-radius:2px; box-shadow: 0 2px 4px #0004, 0 -3px 0 #e3c49a; transform: rotate(-5deg); animation: cs-papers 8s ease-in-out infinite; }
.scn-delany-corruption-system .shadow { position:absolute; bottom:15%; left:20%; width:70%; height:30px; background: radial-gradient(ellipse, #0006 0%, transparent 70%); animation: cs-shadow 10s ease-in-out infinite; }
.scn-delany-corruption-system .dust { position:absolute; top:30%; left:50%; width:4px; height:4px; background: #f5e8c0; border-radius:50%; box-shadow: 10px 20px 0 #f0dbaa, -15px 40px 0 #e8d49a, 40px 10px 0 #f5e8c0; opacity:.4; animation: cs-dust 25s linear infinite; }
@keyframes cs-sky { 0%,100% { opacity:.5 } 50% { opacity:.9 } }
@keyframes cs-window { 0%,100% { box-shadow: inset 0 0 20px #fff3, 0 0 30px #fec; } 50% { box-shadow: inset 0 0 30px #fff6, 0 0 50px #fea; } }
@keyframes cs-figure { 0%,100% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(2deg) } }
@keyframes cs-papers { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(3deg) translateY(-2px) } }
@keyframes cs-shadow { 0%,100% { opacity:.3 } 50% { opacity:.6 } }
@keyframes cs-dust { 0% { transform: translate(0,0) scale(1) } 100% { transform: translate(-20px, -80px) scale(0) } }

/* web-of-relationships */
.scn-web-of-relationships { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #0f0f1f 100%); animation: wr-bg 20s ease-in-out infinite; }
.scn-web-of-relationships .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, #3a3a5e 0%, transparent 80%); }
.scn-web-of-relationships .web-left { position:absolute; top:10%; left:5%; width:1px; height:100%; background: linear-gradient(180deg, #6a6a8a 0%, transparent 100%); transform: rotate(20deg); animation: wr-web 12s ease-in-out infinite; }
.scn-web-of-relationships .web-right { position:absolute; top:10%; right:5%; width:1px; height:100%; background: linear-gradient(180deg, #6a6a8a 0%, transparent 100%); transform: rotate(-20deg); animation: wr-web 14s ease-in-out infinite reverse; }
.scn-web-of-relationships .figure-a { position:absolute; bottom:30%; left:15%; width:30px; height:60px; background: #1c1c2c; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(5deg); animation: wr-fig 6s ease-in-out infinite; }
.scn-web-of-relationships .figure-b { position:absolute; bottom:30%; left:45%; width:30px; height:60px; background: #222232; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(-3deg); animation: wr-fig 7s ease-in-out infinite 0.5s; }
.scn-web-of-relationships .figure-c { position:absolute; bottom:30%; right:15%; width:30px; height:60px; background: #1a1a2a; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(2deg); animation: wr-fig 5s ease-in-out infinite 1s; }
.scn-web-of-relationships .lamp { position:absolute; top:15%; left:50%; width:20px; height:30px; background: radial-gradient(circle, #f0d060 0%, #c09050 60%); border-radius: 50% 50% 0 0; box-shadow: 0 0 40px #d0a05066; animation: wr-lamp 4s ease-in-out infinite; }
@keyframes wr-web { 0%,100% { opacity:.3 } 50% { opacity:.8 } }
@keyframes wr-fig { 0%,100% { transform: translateY(0) rotate(5deg) } 50% { transform: translateY(-5px) rotate(-2deg) } }
@keyframes wr-lamp { 0%,100% { box-shadow: 0 0 30px #d0a05066; } 50% { box-shadow: 0 0 60px #f0c060aa; } }

/* delany-as-practical-man */
.scn-delany-as-practical-man { background: linear-gradient(135deg, #1a1a1a 0%, #2a2a1a 30%, #0f0f0a 70%, #050500 100%); }
.scn-delany-as-practical-man .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, #3a3a2a 0%, transparent 80%); }
.scn-delany-as-practical-man .table { position:absolute; bottom:15%; left:10%; width:80%; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; transform: perspective(400px) rotateX(3deg); }
.scn-delany-as-practical-man .hands { position:absolute; bottom:18%; left:30%; width:60px; height:30px; background: #3a2a1a; border-radius: 50% 50% 20% 20%; transform: perspective(200px) rotateX(10deg); animation: pm-hands 5s ease-in-out infinite; box-shadow: 0 4px 8px #0008; }
.scn-delany-as-practical-man .stacks { position:absolute; bottom:20%; right:20%; width:20px; height:15px; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 2px; box-shadow: 0 3px 0 #8a7050, 0 6px 0 #6a5030; transform: rotate(-5deg); animation: pm-stacks 8s ease-in-out infinite; }
.scn-delany-as-practical-man .paper { position:absolute; bottom:18%; left:50%; width:12px; height:8px; background: #d0b080; border-radius: 1px; transform: rotate(15deg); box-shadow: 0 2px 4px #0006; animation: pm-paper 10s ease-in-out infinite; }
.scn-delany-as-practical-man .shadow { position:absolute; bottom:0; left:0; width:100%; height:25%; background: linear-gradient(180deg, transparent, #0008); }
@keyframes pm-hands { 0%,100% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(3deg) } }
@keyframes pm-stacks { 0%,100% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-1px) } }
@keyframes pm-paper { 0%,100% { transform: rotate(15deg) translateX(0) } 50% { transform: rotate(-5deg) translateX(3px) } }

/* delany-code-of-silence */
.scn-delany-code-of-silence { background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 50%, #000 100%); }
.scn-delany-code-of-silence .bg { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, #2a2a2a 0%, transparent 90%); }
.scn-delany-code-of-silence .figure { position:absolute; bottom:20%; left:45%; width:40px; height:80px; background: #1a1a1a; border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: cos-figure 6s ease-in-out infinite; }
.scn-delany-code-of-silence .chain-left { position:absolute; bottom:35%; left:30%; width:40px; height:4px; background: #888; border-radius: 2px; transform: rotate(30deg); animation: cos-chain 4s ease-in-out infinite; }
.scn-delany-code-of-silence .chain-right { position:absolute; bottom:35%; right:30%; width:40px; height:4px; background: #888; border-radius: 2px; transform: rotate(-30deg); animation: cos-chain 4s ease-in-out infinite reverse; }
.scn-delany-code-of-silence .shadow { position:absolute; bottom:0; left:0; width:100%; height:30%; background: linear-gradient(180deg, transparent 0%, #0008 100%); animation: cos-shadow 10s ease-in-out infinite; }
.scn-delany-code-of-silence .door { position:absolute; bottom:5%; right:5%; width:80px; height:120px; border: 4px solid #2a2a2a; background: #0a0a0a; border-radius: 4px; box-shadow: inset 0 0 20px #111; transform: perspective(300px) rotateY(-10deg); }
.scn-delany-code-of-silence .eye { position:absolute; bottom:55%; left:46%; width:8px; height:6px; background: radial-gradient(circle, #ccc 0%, #888 50%, transparent 100%); border-radius: 50% 50% 0 0; animation: cos-eye 3s ease-in-out infinite; }
@keyframes cos-figure { 0%,100% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(1deg) } }
@keyframes cos-chain { 0%,100% { opacity:.4; transform: rotate(30deg) scaleX(1) } 50% { opacity:.9; transform: rotate(25deg) scaleX(1.1) } }
@keyframes cos-shadow { 0%,100% { opacity:.5 } 50% { opacity:.9 } }
@keyframes cos-eye { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(.2) } }

/* Scene 1: harsh-life-of-poor */
.scn-harsh-life-of-poor {
  background:
    radial-gradient(ellipse at 30% 70%, #2a1a0e 0%, #140a04 60%),
    linear-gradient(180deg, #1a120c 0%, #0f0a06 100%);
}
.scn-harsh-life-of-poor .bg-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #2e1e12 0%, #1f140c 100%); }
.scn-harsh-life-of-poor .bg-floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #2a1a0e 0%, #0f0a06 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; }
.scn-harsh-life-of-poor .table { position:absolute; bottom:20%; left:50%; width:120px; height:8px; transform:translateX(-50%); background: linear-gradient(90deg, #3e2a16 0%, #4a341a 50%, #3e2a16 100%); border-radius:4px; box-shadow:0 2px 6px rgba(0,0,0,0.6); }
.scn-harsh-life-of-poor .chair { position:absolute; bottom:20%; left:38%; width:40px; height:60px; background: linear-gradient(180deg, #2a1a0e 0%, #170f08 100%); border-radius:4px; box-shadow:0 4px 10px rgba(0,0,0,0.5); }
.scn-harsh-life-of-poor .figure-woman { position:absolute; bottom:22%; left:32%; width:28px; height:70px; background: linear-gradient(180deg, #1f140c 0%, #0a0604 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom; animation: hlp-figure 6s ease-in-out infinite; }
.scn-harsh-life-of-poor .window-frame { position:absolute; top:12%; right:10%; width:80px; height:100px; background: linear-gradient(180deg, #2e1e12 0%, #1f140c 100%); border-radius:6px; box-shadow:inset 0 0 0 3px #0f0a06; }
.scn-harsh-life-of-poor .window-pane { position:absolute; top:16%; right:14%; width:64px; height:80px; background: linear-gradient(180deg, rgba(20,15,10,0.8) 0%, rgba(10,8,6,0.9) 100%); animation: hlp-pane 12s ease-in-out infinite alternate; }
.scn-harsh-life-of-poor .candle { position:absolute; bottom:28%; left:55%; width:8px; height:30px; background: linear-gradient(180deg, #b08040 0%, #4a341a 100%); border-radius:2px; transform:rotate(-5deg); animation: hlp-candle 4s ease-in-out infinite; }
.scn-harsh-life-of-poor .candle-glow { position:absolute; bottom:32%; left:55%; width:40px; height:40px; background: radial-gradient(circle, rgba(200,160,80,0.4) 0%, rgba(255,200,100,0.1) 60%, transparent 80%); border-radius:50%; animation: hlp-glow 3s ease-in-out infinite alternate; }
@keyframes hlp-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes hlp-pane { 0% { opacity:0.7; } 50% { opacity:0.85; } 100% { opacity:0.6; } }
@keyframes hlp-candle { 0%,100% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(-7deg) scaleY(1.02); } }
@keyframes hlp-glow { 0% { transform: scale(0.9); opacity:0.7; } 50% { transform: scale(1.1); opacity:1; } 100% { transform: scale(0.95); opacity:0.8; } }

/* Scene 2: mother-trusts-simpkins */
.scn-mother-trusts-simpkins {
  background:
    radial-gradient(ellipse at 50% 60%, #4a2a1a 0%, #241208 80%),
    linear-gradient(180deg, #2a1a0e 0%, #0f0a06 100%);
}
.scn-mother-trusts-simpkins .bg-parlor { position:absolute; inset:0; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); }
.scn-mother-trusts-simpkins .fireplace { position:absolute; bottom:10%; left:15%; width:120px; height:100px; background: linear-gradient(180deg, #4a341a 0%, #2a1a0e 100%); border-radius:4px; box-shadow:inset 0 -20px 30px #0f0a06; }
.scn-mother-trusts-simpkins .fire-glow { position:absolute; bottom:15%; left:18%; width:100px; height:60px; background: radial-gradient(ellipse, #f0a050 0%, #c07030 40%, #7a3a1a 70%, transparent 90%); border-radius:50%; animation: mts-fire 5s ease-in-out infinite alternate; }
.scn-mother-trusts-simpkins .mother { position:absolute; bottom:28%; left:30%; 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; animation: mts-mother 6s ease-in-out infinite; }
.scn-mother-trusts-simpkins .simpkins { position:absolute; bottom:28%; right:25%; width:32px; height:60px; background: linear-gradient(180deg, #2a1a12 0%, #0f0a06 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom; animation: mts-simpkins 8s ease-in-out infinite; }
.scn-mother-trusts-simpkins .armchair { position:absolute; bottom:20%; right:30%; width:60px; height:70px; background: linear-gradient(180deg, #3e2a16 0%, #1f140c 100%); border-radius:20px 20px 10px 10px; box-shadow:0 4px 8px rgba(0,0,0,0.6); }
.scn-mother-trusts-simpkins .lamp { position:absolute; top:15%; left:60%; width:10px; height:40px; background: linear-gradient(180deg, #b08040 0%, #4a341a 100%); border-radius:2px; transform:rotate(-3deg); animation: mts-lamp 4s ease-in-out infinite; }
.scn-mother-trusts-simpkins .rug { position:absolute; bottom:5%; left:10%; right:10%; height:40px; background: linear-gradient(90deg, #3a2a1a 0%, #4a3a2a 50%, #3a2a1a 100%); border-radius:50%; opacity:0.6; animation: mts-rug 10s ease-in-out infinite alternate; }
@keyframes mts-fire { 0% { transform: scale(1,1); opacity:0.7; } 50% { transform: scale(1.05,1.1); opacity:1; } 100% { transform: scale(0.95,0.9); opacity:0.8; } }
@keyframes mts-mother { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes mts-simpkins { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(2deg); } 70% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mts-lamp { 0%,100% { transform: rotate(-3deg) scaleY(1); } 50% { transform: rotate(0deg) scaleY(1.02); } }
@keyframes mts-rug { 0% { opacity:0.5; transform: scaleX(0.98); } 100% { opacity:0.7; transform: scaleX(1.02); } }

/* Scene 3: simpkins-double-trouble */
.scn-simpkins-double-trouble {
  background:
    radial-gradient(ellipse at 40% 30%, #1a1412 0%, #0a0806 80%),
    linear-gradient(180deg, #1a1210 0%, #0a0604 100%);
}
.scn-simpkins-double-trouble .bg-desk { position:absolute; inset:0; background: linear-gradient(180deg, #1e1410 0%, #0e0a08 100%); }
.scn-simpkins-double-trouble .desk-top { position:absolute; bottom:10%; left:20%; right:20%; height:30px; background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%); border-radius:4px; box-shadow:0 4px 10px rgba(0,0,0,0.8); }
.scn-simpkins-double-trouble .papers { position:absolute; bottom:16%; left:25%; width:60px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius:2px; transform:rotate(4deg); animation: sdt-papers 7s ease-in-out infinite; }
.scn-simpkins-double-trouble .figure-simpkins { position:absolute; bottom:15%; left:55%; width:40px; height:80px; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom; animation: sdt-figure 6s ease-in-out infinite; }
.scn-simpkins-double-trouble .shadow-figure { position:absolute; bottom:12%; left:52%; width:50px; height:90px; background: rgba(0,0,0,0.4); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; filter: blur(8px); animation: sdt-shadow 6s ease-in-out infinite alternate; }
.scn-simpkins-double-trouble .lamp-dark { position:absolute; top:20%; right:15%; width:8px; height:45px; background: linear-gradient(180deg, #6a5030 0%, #2a1a0e 100%); border-radius:2px; transform:rotate(5deg); animation: sdt-lamp 5s ease-in-out infinite; }
.scn-simpkins-double-trouble .coin-stack { position:absolute; bottom:18%; left:35%; width:20px; height:12px; background: linear-gradient(180deg, #b09060 0%, #6a5030 100%); border-radius:50%; animation: sdt-coin 4s ease-in-out infinite; }
.scn-simpkins-double-trouble .scales { position:absolute; bottom:22%; left:45%; width:24px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #1a0e06 100%); border-radius:2px; transform:rotate(-10deg); animation: sdt-scales 8s ease-in-out infinite; }
@keyframes sdt-papers { 0%,100% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-3px); } }
@keyframes sdt-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(2deg); } 70% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sdt-shadow { 0% { opacity:0.3; transform: scaleX(1); } 100% { opacity:0.6; transform: scaleX(1.2); } }
@keyframes sdt-lamp { 0%,100% { transform: rotate(5deg) scaleY(1); } 50% { transform: rotate(8deg) scaleY(1.03); } }
@keyframes sdt-coin { 0%,100% { transform: scaleY(1); opacity:0.7; } 50% { transform: scaleY(0.8); opacity:1; } }
@keyframes sdt-scales { 0% { transform: rotate(-10deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(1.05); } 100% { transform: rotate(-10deg) scaleY(1); } }

/* Scene 4: simpkins-methods */
.scn-simpkins-methods {
  background:
    radial-gradient(ellipse at 60% 50%, #1a1412 0%, #0a0806 80%),
    linear-gradient(180deg, #120e0c 0%, #080604 100%);
}
.scn-simpkins-methods .bg-close { position:absolute; inset:0; background: linear-gradient(180deg, #1a1412 0%, #0e0a08 100%); }
.scn-simpkins-methods .document { position:absolute; bottom:20%; left:30%; right:30%; height:60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius:4px; transform:rotate(-3deg); animation: sm-doc 8s ease-in-out infinite; }
.scn-simpkins-methods .hand-writing { position:absolute; bottom:30%; left:40%; width:20px; height:30px; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom; animation: sm-hand 5s ease-in-out infinite; }
.scn-simpkins-methods .inkwell { position:absolute; bottom:25%; left:55%; width:16px; height:20px; background: linear-gradient(180deg, #1a1412 0%, #0a0806 100%); border-radius:50% 50% 30% 30%; animation: sm-ink 6s ease-in-out infinite; }
.scn-simpkins-methods .candle-close { position:absolute; bottom:35%; left:45%; width:6px; height:25px; background: linear-gradient(180deg, #b08040 0%, #4a341a 100%); border-radius:2px; transform:rotate(-8deg); animation: sm-candle 4s ease-in-out infinite; }
.scn-simpkins-methods .glow-close { position:absolute; bottom:38%; left:43%; width:40px; height:40px; background: radial-gradient(circle, rgba(200,160,80,0.5) 0%, rgba(255,200,100,0.15) 60%, transparent 80%); border-radius:50%; animation: sm-glow 3s ease-in-out infinite alternate; }
.scn-simpkins-methods .shadow-hand { position:absolute; bottom:22%; left:36%; width:30px; height:40px; background: rgba(0,0,0,0.3); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; filter: blur(6px); animation: sm-shadow 5s ease-in-out infinite alternate; }
@keyframes sm-doc { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } }
@keyframes sm-hand { 0% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-2px) rotate(5deg); } 80% { transform: translateY(1px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sm-ink { 0%,100% { transform: scaleY(1); opacity:0.7; } 50% { transform: scaleY(1.1); opacity:1; } }
@keyframes sm-candle { 0%,100% { transform: rotate(-8deg) scaleY(1); } 50% { transform: rotate(-12deg) scaleY(1.02); } }
@keyframes sm-glow { 0% { transform: scale(0.8); opacity:0.6; } 50% { transform: scale(1.2); opacity:1; } 100% { transform: scale(0.9); opacity:0.8; } }
@keyframes sm-shadow { 0% { opacity:0.2; transform: scaleX(1); } 100% { opacity:0.5; transform: scaleX(1.3); } }

.scn-delany-faints { background: linear-gradient(180deg, #fff6e0 0%, #e8dcc8 40%, #c4b8a0 100%), radial-gradient(ellipse at 20% 30%, #fff 0%, transparent 70%); }
.scn-delany-faints .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(135deg, #d4c4a8 0%, #b8a890 100%); }
.scn-delany-faints .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8a7a64 0%, #6a5a44 100%); }
.scn-delany-faints .lamp { position:absolute; top:5%; left:20%; width:12px; height:60px; background: linear-gradient(180deg, #7a6a5a 0%, #b09880 100%); border-radius: 4px; transform-origin: top center; animation: df-lamp 0.8s ease-in-out infinite alternate; }
.scn-delany-faints .lamp-light { position:absolute; top:55px; left:18%; width:80px; height:100px; background: radial-gradient(ellipse, #fff8e0 0%, #ffecb0 30%, transparent 70%); opacity:0.9; animation: df-light-pulse 2s ease-in-out infinite alternate; }
.scn-delany-faints .figure { position:absolute; bottom:28%; left:35%; width:40px; height:80px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: df-fall 1.2s ease-in-out infinite; }
.scn-delany-faints .sweat-1 { position:absolute; top:50%; left:45%; width:6px; height:6px; background: #b0d0e0; border-radius:50%; animation: df-sweat 0.9s linear infinite; }
.scn-delany-faints .sweat-2 { position:absolute; top:55%; left:48%; width:5px; height:5px; background: #a0c0d0; border-radius:50%; animation: df-sweat 0.7s linear infinite 0.3s; }
.scn-delany-faints .shadow { position:absolute; bottom:28%; left:30%; width:60px; height:12px; background: radial-gradient(ellipse, #4a3a2a 0%, transparent 70%); opacity:0.5; animation: df-shadow 2s ease-in-out infinite alternate; }
@keyframes df-lamp { 0% { transform: rotate(-3deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-2deg); } }
@keyframes df-light-pulse { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes df-fall { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(5deg); } 60% { transform: translateY(8px) rotate(-8deg); } 100% { transform: translateY(15px) rotate(-12deg); } }
@keyframes df-sweat { 0% { transform: translateY(0) scale(1); opacity:1; } 100% { transform: translateY(20px) scale(0.3); opacity:0; } }
@keyframes df-shadow { 0% { transform: scaleX(1); opacity:0.4; } 100% { transform: scaleX(1.4); opacity:0.7; } }

.scn-reporters-reaction { background: linear-gradient(180deg, #ffe8c0 0%, #f5d8a0 60%, #dcc08a 100%), radial-gradient(ellipse at 80% 50%, #fff5e0 0%, transparent 60%); }
.scn-reporters-reaction .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #f0d8b0 0%, #e0c8a0 100%); }
.scn-reporters-reaction .desk { position:absolute; bottom:25%; left:10%; width:70%; height:20%; background: linear-gradient(180deg, #b09878 0%, #887052 100%); border-radius: 8px 8px 0 0; }
.scn-reporters-reaction .typewriter { position:absolute; bottom:40%; left:20%; width:80px; height:40px; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; animation: rr-type 0.6s ease-in-out infinite alternate; }
.scn-reporters-reaction .reporter { position:absolute; bottom:35%; left:55%; width:30px; height:70px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: rr-bounce 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite; }
.scn-reporters-reaction .paper { position:absolute; bottom:50%; left:65%; width:30px; height:20px; background: #fff; border-radius: 2px; transform: rotate(-15deg); animation: rr-paper 2s ease-in-out infinite; }
.scn-reporters-reaction .chair { position:absolute; bottom:25%; left:70%; width:30px; height:50px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 8px 8px 4px 4px; animation: rr-chair 0.8s ease-in-out infinite alternate; }
@keyframes rr-type { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes rr-bounce { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.1); } 100% { transform: translateY(0) scale(1); } }
@keyframes rr-paper { 0% { transform: rotate(-15deg) translateX(0); } 50% { transform: rotate(-10deg) translateX(5px); } 100% { transform: rotate(-20deg) translateX(-3px); } }
@keyframes rr-chair { 0% { transform: rotate(0deg); } 100% { transform: rotate(8deg); } }

.scn-tony-exonerated { background: linear-gradient(180deg, #f8e4c0 0%, #e8d4a8 40%, #c8b898 100%), radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 60%); }
.scn-tony-exonerated .bg-court { position:absolute; inset:0; background: linear-gradient(180deg, #c8baa0 0%, #b8a890 100%); }
.scn-tony-exonerated .bench { position:absolute; bottom:30%; left:5%; width:90%; height:15%; background: linear-gradient(180deg, #9a8a72 0%, #7a6a52 100%); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-tony-exonerated .gavel { position:absolute; bottom:42%; left:70%; width:8px; height:30px; background: #5a4a3a; border-radius: 2px; transform-origin: bottom center; animation: te-gavel 0.7s ease-in-out infinite alternate; }
.scn-tony-exonerated .gavel::after { content:''; display:block; width:20px; height:10px; background:#3a2a1a; border-radius:4px; margin-top:-5px; margin-left:-6px; }
.scn-tony-exonerated .judge { position:absolute; bottom:35%; left:10%; width:40px; height:60px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: te-judge 3s ease-in-out infinite; }
.scn-tony-exonerated .tony { position:absolute; bottom:30%; left:50%; width:28px; height:65px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: te-tony 4s ease-in-out infinite; }
.scn-tony-exonerated .light-ray { position:absolute; top:5%; left:45%; width:10%; height:30%; background: linear-gradient(180deg, rgba(255,240,200,0.6) 0%, transparent 100%); transform: rotate(15deg); animation: te-light 5s ease-in-out infinite alternate; }
@keyframes te-gavel { 0% { transform: rotate(-10deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-5deg); } }
@keyframes te-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes te-tony { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes te-light { 0% { opacity:0.4; transform: rotate(10deg) scaleY(1); } 100% { opacity:0.8; transform: rotate(20deg) scaleY(1.2); } }

.scn-newspaper-account { background: linear-gradient(180deg, #f5e0c0 0%, #e0d0b0 50%, #c8b898 100%), radial-gradient(ellipse at 30% 40%, #fff8e0 0%, transparent 70%); }
.scn-newspaper-account .bg-office { position:absolute; inset:0; background: linear-gradient(135deg, #e8d8b8 0%, #d8c8a8 100%); }
.scn-newspaper-account .desk { position:absolute; bottom:20%; left:5%; width:90%; height:25%; background: linear-gradient(180deg, #b09878 0%, #907858 100%); border-radius: 8px 8px 0 0; }
.scn-newspaper-account .editor { position:absolute; bottom:30%; left:15%; width:30px; height:70px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: na-editor 2s ease-in-out infinite alternate; }
.scn-newspaper-account .terry { position:absolute; bottom:25%; left:60%; width:25px; height:65px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: na-terry 1.5s ease-in-out infinite; }
.scn-newspaper-account .paper-tear { position:absolute; bottom:45%; left:70%; width:40px; height:15px; background: #fff; clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%); transform: rotate(-5deg); animation: na-tear 3s ease-in-out infinite; }
.scn-newspaper-account .inkwell { position:absolute; bottom:35%; left:35%; width:20px; height:20px; background: #3a2a1a; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: na-ink 4s ease-in-out infinite alternate; }
@keyframes na-editor { 0% { transform: rotate(-2deg); } 100% { transform: rotate(5deg); } }
@keyframes na-terry { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes na-tear { 0% { transform: rotate(-5deg) scaleX(1); } 50% { transform: rotate(-8deg) scaleX(1.1); } 100% { transform: rotate(-2deg) scaleX(0.95); } }
@keyframes na-ink { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }

/* Scene: tutt-observes-adjournments */
.scn-tutt-observes-adjournments { 
  background: linear-gradient(180deg, #e8dcc8 0%, #c4b49c 40%, #a8947a 100%), 
              radial-gradient(ellipse at 30% 60%, #d8c8b0 0%, transparent 60%);
}
.scn-tutt-observes-adjournments .wall { 
  position: absolute; inset: 0 0 25% 0; 
  background: linear-gradient(90deg, #d0c0a8 0%, #b8a890 100%); 
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.15); 
  animation: tut-wall 20s ease-in-out infinite alternate; 
}
.scn-tutt-observes-adjournments .floor { 
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%; 
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); 
}
.scn-tutt-observes-adjournments .window { 
  position: absolute; top: 15%; left: 55%; width: 100px; height: 130px; 
  background: radial-gradient(ellipse at center, #f0e8d0 0%, #c8b8a0 60%, #a09080 100%); 
  border: 6px solid #6a5a4a; border-radius: 4px; 
  box-shadow: inset 0 0 30px rgba(255,255,240,0.4); 
  animation: tut-window 6s ease-in-out infinite alternate; 
}
.scn-tutt-observes-adjournments .bench { 
  position: absolute; bottom: 22%; left: 10%; right: 10%; height: 8%; 
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); 
  border-radius: 2px 2px 0 0; 
  box-shadow: 0 -4px 10px rgba(0,0,0,0.2); 
}
.scn-tutt-observes-adjournments .tutt { 
  position: absolute; bottom: 25%; left: 30%; width: 40px; height: 60px; 
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: tut-figure 4s ease-in-out infinite; 
}
.scn-tutt-observes-adjournments .shadow { 
  position: absolute; bottom: 18%; left: 28%; width: 60px; height: 20px; 
  background: rgba(0,0,0,0.3); border-radius: 50%; 
  filter: blur(6px); 
  animation: tut-shadow 4s ease-in-out infinite; 
}
.scn-tutt-observes-adjournments .gavel { 
  position: absolute; bottom: 28%; left: 50%; width: 8px; height: 25px; 
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); 
  border-radius: 2px; 
  transform-origin: bottom center; 
  animation: tut-gavel 2s ease-in-out infinite; 
}
@keyframes tut-wall { 
  0% { opacity: 0.9; } 
  50% { opacity: 1; } 
  100% { opacity: 0.95; } 
}
@keyframes tut-window { 
  0% { box-shadow: inset 0 0 20px rgba(255,255,240,0.3); } 
  50% { box-shadow: inset 0 0 40px rgba(255,255,240,0.5); } 
  100% { box-shadow: inset 0 0 20px rgba(255,255,240,0.3); } 
}
@keyframes tut-figure { 
  0% { transform: translateX(0) rotate(0deg); } 
  30% { transform: translateX(3px) rotate(1deg); } 
  60% { transform: translateX(0) rotate(0deg); } 
  100% { transform: translateX(-2px) rotate(-1deg); } 
}
@keyframes tut-shadow { 
  0% { transform: scaleX(1); } 
  50% { transform: scaleX(1.1); } 
  100% { transform: scaleX(0.95); } 
}
@keyframes tut-gavel { 
  0% { transform: rotate(-10deg); } 
  50% { transform: rotate(10deg); } 
  100% { transform: rotate(-10deg); } 
}

/* Scene: asche-pressure */
.scn-asche-pressure { 
  background: linear-gradient(180deg, #e0d8c8 0%, #c8b8a0 40%, #b0a090 100%), 
              radial-gradient(ellipse at 70% 40%, #d0c0b0 0%, transparent 50%);
}
.scn-asche-pressure .bg { 
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, #d8c8b8 0%, #c0b0a0 100%); 
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.1); 
  animation: asc-bg 15s ease-in-out infinite alternate; 
}
.scn-asche-pressure .desk { 
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 12%; 
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); 
  border-radius: 4px; 
  box-shadow: 0 -6px 15px rgba(0,0,0,0.3); 
  animation: asc-desk 8s ease-in-out infinite; 
}
.scn-asche-pressure .asche { 
  position: absolute; bottom: 22%; left: 40%; width: 35px; height: 55px; 
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: asc-figure 3s ease-in-out infinite; 
}
.scn-asche-pressure .shadow-boss { 
  position: absolute; top: 10%; right: 20%; width: 80px; height: 100px; 
  background: rgba(0,0,0,0.15); 
  border-radius: 50% 50% 0 0; 
  filter: blur(10px); 
  animation: asc-shadow 5s ease-in-out infinite alternate; 
}
.scn-asche-pressure .paper { 
  position: absolute; bottom: 18%; left: 30%; width: 40px; height: 30px; 
  background: linear-gradient(135deg, #f0e8d8 0%, #d8c8b0 100%); 
  border-radius: 2px; 
  transform: rotate(-5deg); 
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2); 
  animation: asc-paper 4s ease-in-out infinite; 
}
.scn-asche-pressure .lamp { 
  position: absolute; top: 5%; left: 15%; width: 20px; height: 40px; 
  background: linear-gradient(180deg, #8a6a3a 0%, #5a4a2a 100%); 
  border-radius: 4px; 
  box-shadow: 0 0 20px 8px rgba(200,180,120,0.3); 
  animation: asc-lamp 6s ease-in-out infinite alternate; 
}
@keyframes asc-bg { 
  0% { opacity: 0.9; } 
  50% { opacity: 1; } 
  100% { opacity: 0.95; } 
}
@keyframes asc-desk { 
  0% { transform: translateY(0); } 
  50% { transform: translateY(-2px); } 
  100% { transform: translateY(0); } 
}
@keyframes asc-figure { 
  0% { transform: translateX(0) rotate(0deg); } 
  30% { transform: translateX(-4px) rotate(-2deg); } 
  60% { transform: translateX(2px) rotate(2deg); } 
  100% { transform: translateX(0) rotate(0deg); } 
}
@keyframes asc-shadow { 
  0% { transform: scaleY(1) translateY(0); } 
  50% { transform: scaleY(1.1) translateY(-5px); } 
  100% { transform: scaleY(1) translateY(0); } 
}
@keyframes asc-paper { 
  0% { transform: rotate(-5deg) translateX(0); } 
  50% { transform: rotate(5deg) translateX(3px); } 
  100% { transform: rotate(-5deg) translateX(0); } 
}
@keyframes asc-lamp { 
  0% { box-shadow: 0 0 10px 4px rgba(200,180,120,0.2); } 
  50% { box-shadow: 0 0 30px 12px rgba(200,180,120,0.4); } 
  100% { box-shadow: 0 0 10px 4px rgba(200,180,120,0.2); } 
}

/* Scene: o-brien-caves */
.scn-o-brien-caves { 
  background: linear-gradient(180deg, #d8d0c0 0%, #b8a898 40%, #988878 100%), 
              radial-gradient(ellipse at 50% 60%, #c8b8a8 0%, transparent 70%);
}
.scn-o-brien-caves .bg { 
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%); 
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.15); 
  animation: obr-bg 18s ease-in-out infinite alternate; 
}
.scn-o-brien-caves .wall { 
  position: absolute; top: 0; left: 0; right: 0; bottom: 40%; 
  background: linear-gradient(90deg, #b8a898 0%, #a09080 100%); 
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1); 
}
.scn-o-brien-caves .obrien { 
  position: absolute; bottom: 20%; left: 45%; width: 40px; height: 60px; 
  background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: obr-figure 5s ease-in-out infinite; 
}
.scn-o-brien-caves .shadow { 
  position: absolute; bottom: 10%; left: 40%; width: 80px; height: 30px; 
  background: rgba(0,0,0,0.25); 
  border-radius: 50%; filter: blur(8px); 
  animation: obr-shadow 5s ease-in-out infinite; 
}
.scn-o-brien-caves .table { 
  position: absolute; bottom: 12%; left: 30%; right: 30%; height: 10%; 
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); 
  border-radius: 4px; 
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2); 
}
.scn-o-brien-caves .glass { 
  position: absolute; bottom: 15%; left: 35%; width: 15px; height: 20px; 
  background: linear-gradient(135deg, #e0d8c8 30%, transparent 100%); 
  border: 2px solid #8a7a6a; 
  border-radius: 2px 2px 8px 8px; 
  box-shadow: inset 0 4px 8px rgba(200,180,160,0.3); 
  animation: obr-glass 3s ease-in-out infinite; 
}
@keyframes obr-bg { 
  0% { opacity: 0.85; } 
  50% { opacity: 1; } 
  100% { opacity: 0.9; } 
}
@keyframes obr-figure { 
  0% { transform: translateX(0) rotate(0deg) scaleY(1); } 
  30% { transform: translateX(-3px) rotate(-2deg) scaleY(0.95); } 
  60% { transform: translateX(2px) rotate(1deg) scaleY(1); } 
  100% { transform: translateX(0) rotate(0deg) scaleY(1); } 
}
@keyframes obr-shadow { 
  0% { transform: scaleX(1); } 
  50% { transform: scaleX(0.9); } 
  100% { transform: scaleX(1); } 
}
@keyframes obr-glass { 
  0% { transform: rotate(-15deg) translateX(0); } 
  50% { transform: rotate(5deg) translateX(-2px); } 
  100% { transform: rotate(-15deg) translateX(0); } 
}

/* Scene: asche-gets-busy */
.scn-asche-gets-busy { 
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c0b0 40%, #b8a898 100%), 
              radial-gradient(ellipse at 60% 30%, #d8c8b8 0%, transparent 60%);
}
.scn-asche-gets-busy .bg { 
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #d8c8b8 0%, #b8a898 100%); 
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.12); 
  animation: as2-bg 20s ease-in-out infinite alternate; 
}
.scn-asche-gets-busy .desk { 
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 15%; 
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); 
  border-radius: 6px; 
  box-shadow: 0 -6px 20px rgba(0,0,0,0.2); 
}
.scn-asche-gets-busy .asche { 
  position: absolute; bottom: 20%; left: 35%; width: 40px; height: 65px; 
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: as2-figure 2.5s ease-in-out infinite; 
}
.scn-asche-gets-busy .papers-1 { 
  position: absolute; bottom: 14%; left: 20%; width: 35px; height: 25px; 
  background: linear-gradient(135deg, #f0e8d8 0%, #d8c8b0 100%); 
  border-radius: 2px; 
  transform: rotate(-10deg); 
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15); 
  animation: as2-paper1 3s ease-in-out infinite; 
}
.scn-asche-gets-busy .papers-2 { 
  position: absolute; bottom: 16%; left: 50%; width: 40px; height: 28px; 
  background: linear-gradient(135deg, #e8dcc8 0%, #c8b8a0 100%); 
  border-radius: 2px; 
  transform: rotate(8deg); 
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15); 
  animation: as2-paper2 3.5s ease-in-out infinite; 
}
.scn-asche-gets-busy .clock { 
  position: absolute; top: 8%; right: 15%; width: 30px; height: 30px; 
  background: radial-gradient(circle, #f0e8d8 0%, #c0b0a0 80%); 
  border: 4px solid #5a4a3a; 
  border-radius: 50%; 
  box-shadow: 0 0 20px 4px rgba(200,180,160,0.3); 
  animation: as2-clock 2s linear infinite; 
}
@keyframes as2-bg { 
  0% { opacity: 0.9; } 
  50% { opacity: 1; } 
  100% { opacity: 0.92; } 
}
@keyframes as2-figure { 
  0% { transform: translateX(0) rotate(0deg) scaleY(1); } 
  20% { transform: translateX(-8px) rotate(-3deg) scaleY(0.95); } 
  40% { transform: translateX(0) rotate(0deg) scaleY(1); } 
  60% { transform: translateX(6px) rotate(2deg) scaleY(0.95); } 
  100% { transform: translateX(0) rotate(0deg) scaleY(1); } 
}
@keyframes as2-paper1 { 
  0% { transform: rotate(-10deg) translateX(0) translateY(0); } 
  50% { transform: rotate(5deg) translateX(3px) translateY(-2px); } 
  100% { transform: rotate(-10deg) translateX(0) translateY(0); } 
}
@keyframes as2-paper2 { 
  0% { transform: rotate(8deg) translateX(0) translateY(0); } 
  50% { transform: rotate(-4deg) translateX(-2px) translateY(1px); } 
  100% { transform: rotate(8deg) translateX(0) translateY(0); } 
}
@keyframes as2-clock { 
  0% { box-shadow: 0 0 10px 2px rgba(200,180,160,0.2); } 
  25% { box-shadow: 0 0 30px 8px rgba(200,180,160,0.5); } 
  75% { box-shadow: 0 0 10px 2px rgba(200,180,160,0.2); } 
  100% { box-shadow: 0 0 10px 2px rgba(200,180,160,0.2); } 
}

.scn-obrien-blackmail-peckham {
  background: linear-gradient(180deg, #0e0a1a 0%, #1a1428 40%, #2a1c3a 100%),
              radial-gradient(ellipse at 40% 60%, #2a1c3a 0%, transparent 70%);
}
.scn-obrien-blackmail-peckham .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(135deg, #0a0612 0%, #14101e 50%, #1e1828 100%);
  animation: ob-deep 20s ease-in-out infinite alternate;
}
.scn-obrien-blackmail-peckham .bg-mid {
  position: absolute; inset: 20% 10% 0 10%; background: linear-gradient(180deg, transparent 0%, rgba(30,24,40,.5) 100%);
  border-radius: 30% 30% 0 0; filter: blur(8px);
  animation: ob-mid 15s ease-in-out infinite alternate;
}
.scn-obrien-blackmail-peckham .desk {
  position: absolute; bottom: 10%; left: 5%; right: 5%; height: 30%;
  background: linear-gradient(180deg, #3a2a1c 0%, #1e140e 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.7);
}
.scn-obrien-blackmail-peckham .lamp-base {
  position: absolute; bottom: 38%; left: 35%; width: 14px; height: 30px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2212 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(-5deg);
  animation: ob-lamp 8s ease-in-out infinite;
}
.scn-obrien-blackmail-peckham .lamp-glow {
  position: absolute; bottom: 44%; left: 34%; width: 40px; height: 40px;
  background: radial-gradient(circle, #ffd080 0%, #c08040 50%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 50px 20px rgba(192,128,64,.5);
  animation: ob-glow 4s ease-in-out infinite alternate;
}
.scn-obrien-blackmail-peckham .figure-far {
  position: absolute; bottom: 15%; left: 60%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #1a1420 0%, #0e0a14 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center; opacity: .7;
  animation: ob-fig-far 6s ease-in-out infinite;
}
.scn-obrien-blackmail-peckham .figure-near {
  position: absolute; bottom: 12%; left: 25%; width: 36px; height: 80px;
  background: linear-gradient(180deg, #1e1828 0%, #0e0a18 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ob-fig-near 4s ease-in-out infinite alternate;
}
.scn-obrien-blackmail-peckham .shadow {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 8%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.6) 0%, transparent 80%);
  filter: blur(4px);
  animation: ob-shadow 5s ease-in-out infinite alternate;
}
@keyframes ob-deep { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes ob-mid { 0% { transform: translateY(0) } 50% { transform: translateY(5px) } 100% { transform: translateY(0) } }
@keyframes ob-lamp { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(3deg) } }
@keyframes ob-glow { 0% { opacity: .7; box-shadow: 0 0 30px 10px rgba(192,128,64,.4) } 50% { opacity: 1; box-shadow: 0 0 60px 25px rgba(255,208,128,.6) } 100% { opacity: .8; box-shadow: 0 0 40px 15px rgba(192,128,64,.5) } }
@keyframes ob-fig-far { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-4px) rotate(3deg) } }
@keyframes ob-fig-near { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(2px) rotate(-2deg) scale(1.02) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ob-shadow { 0% { opacity: .5; transform: scaleY(1) } 50% { opacity: .8; transform: scaleY(1.1) } 100% { opacity: .6; transform: scaleY(1) } }

.scn-prosecution-revived {
  background: linear-gradient(180deg, #0c0c1e 0%, #18142e 40%, #2a2244 100%),
              radial-gradient(ellipse at 70% 30%, #2a2244 0%, transparent 60%);
}
.scn-prosecution-revived .bg-deep {
  position: absolute; inset: 0; background: linear-gradient(135deg, #080614 0%, #14102a 50%, #1c1838 100%);
  animation: pr-deep 25s ease-in-out infinite alternate;
}
.scn-prosecution-revived .bg-mid {
  position: absolute; inset: 30% 5% 15% 5%; background: linear-gradient(180deg, rgba(20,16,40,.3) 0%, transparent 100%);
  border-radius: 40% 40% 0 0; filter: blur(6px);
}
.scn-prosecution-revived .desk {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a100e 100%);
  border-radius: 3% 3% 0 0; box-shadow: 0 -4px 15px rgba(0,0,0,.8);
}
.scn-prosecution-revived .papers {
  position: absolute; bottom: 30%; left: 25%; width: 40%; height: 12%;
  background: linear-gradient(135deg, #c8b898 0%, #b09878 50%, #a08868 100%);
  border-radius: 2%; box-shadow: 0 2px 8px rgba(0,0,0,.5);
  animation: pr-papers 12s ease-in-out infinite alternate;
}
.scn-prosecution-revived .figure {
  position: absolute; bottom: 8%; left: 30%; width: 34px; height: 75px;
  background: linear-gradient(180deg, #1a1628 0%, #0e0a1a 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: pr-fig 6s ease-in-out infinite;
}
.scn-prosecution-revived .window-frame {
  position: absolute; top: 15%; right: 10%; width: 30%; height: 40%;
  border: 2px solid #3a3450; border-radius: 2%; background: transparent;
  box-shadow: inset 0 0 0 2px #2a2440;
}
.scn-prosecution-revived .window-light {
  position: absolute; top: 15%; right: 10%; width: 30%; height: 40%;
  background: linear-gradient(135deg, rgba(200,180,200,.15) 0%, rgba(200,180,200,.05) 100%);
  filter: blur(2px);
  animation: pr-window 18s ease-in-out infinite alternate;
}
@keyframes pr-deep { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes pr-papers { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(.5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes pr-fig { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(3px) rotate(-2deg) scale(1.01) } }
@keyframes pr-window { 0% { opacity: .3 } 50% { opacity: .6 } 100% { opacity: .2 } }

.scn-trial-begins-mcGurks-arrive {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 30%, #c0ac88 100%),
              radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 70%);
}
.scn-trial-begins-mcGurks-arrive .bg-bright {
  position: absolute; inset: 0; background: linear-gradient(135deg, #f0e8dc 0%, #e0d4be 50%, #d0c0a0 100%);
  animation: tm-bright 10s ease-in-out infinite alternate;
}
.scn-trial-begins-mcGurks-arrive .bench-rows {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #b8a888 0%, #9a8a6a 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,.2);
}
.scn-trial-begins-mcGurks-arrive .crowd-far {
  position: absolute; bottom: 45%; left: 5%; right: 5%; height: 15%;
  background: repeating-linear-gradient(90deg, 
    #7a6a5a 0px, #7a6a5a 8px, transparent 8px, transparent 16px);
  background-size: 16px 100%; opacity: .6;
  animation: tm-crowd-far 4s steps(2) infinite;
}
.scn-trial-begins-mcGurks-arrive .crowd-near {
  position: absolute; bottom: 35%; left: 5%; right: 5%; height: 20%;
  background: repeating-linear-gradient(90deg, 
    #5a4a3a 0px, #5a4a3a 12px, transparent 12px, transparent 18px);
  background-size: 18px 100%; opacity: .8;
  animation: tm-crowd-near 3s steps(2) infinite;
}
.scn-trial-begins-mcGurks-arrive .judge-bench {
  position: absolute; bottom: 40%; left: 25%; right: 25%; height: 30%;
  background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%);
  border-radius: 20% 20% 8% 8% / 40% 40% 8% 8%;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
.scn-trial-begins-mcGurks-arrive .railing {
  position: absolute; bottom: 38%; left: 5%; right: 5%; height: 4px;
  background: #c8b898; box-shadow: 0 2px 4px rgba(0,0,0,.2);
}
.scn-trial-begins-mcGurks-arrive .gavel {
  position: absolute; bottom: 52%; left: 48%; width: 20px; height: 8px;
  background: #5a3a2a; border-radius: 2px;
  transform-origin: left center;
  animation: tm-gavel 2s ease-in-out infinite alternate;
}
@keyframes tm-bright { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .95 } }
@keyframes tm-crowd-far { 0% { transform: translateX(0) } 100% { transform: translateX(-8px) } }
@keyframes tm-crowd-near { 0% { transform: translateX(0) } 100% { transform: translateX(-12px) } }
@keyframes tm-gavel { 0% { transform: rotate(0) } 25% { transform: rotate(15deg) } 50% { transform: rotate(-10deg) } 100% { transform: rotate(0) } }

.scn-trial-proceedings-dull {
  background: linear-gradient(135deg, #f0e8dc 0%, #e0d4c0 50%, #d0c4ac 100%),
              radial-gradient(ellipse at 60% 30%, #f8f0e4 0%, transparent 60%);
}
.scn-trial-proceedings-dull .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f8f0e8 0%, #e8dcce 100%);
  animation: tp-warm 30s ease-in-out infinite alternate;
}
.scn-trial-proceedings-dull .window {
  position: absolute; top: 10%; left: 5%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #d0d8e0 0%, #b0b8c8 100%);
  border: 4px solid #c8b898; border-radius: 4%; box-shadow: inset 0 0 30px rgba(0,0,0,.1);
  animation: tp-window 25s ease-in-out infinite alternate;
}
.scn-trial-proceedings-dull .jury-box {
  position: absolute; bottom: 5%; left: 5%; right: 55%; height: 40%;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  border-radius: 8% 8% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.15);
}
.scn-trial-proceedings-dull .judge-bench {
  position: absolute; bottom: 30%; left: 30%; right: 30%; height: 25%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 20% 20% 6% 6% / 50% 50% 6% 6%;
  box-shadow: 0 4px 15px rgba(0,0,0,.2);
}
.scn-trial-proceedings-dull .counsel-table {
  position: absolute; bottom: 8%; left: 30%; right: 30%; height: 15%;
  background: linear-gradient(180deg, #b0a088 0%, #908068 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -2px 8px rgba(0,0,0,.15);
}
.scn-trial-proceedings-dull .lawyer {
  position: absolute; bottom: 15%; left: 40%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #3a3028 0%, #1e1a14 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tp-lawyer 12s ease-in-out infinite;
}
.scn-trial-proceedings-dull .witness-stand {
  position: absolute; bottom: 10%; left: 55%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 2px 8px rgba(0,0,0,.2);
  animation: tp-stand 8s ease-in-out infinite alternate;
}
@keyframes tp-warm { 0% { opacity: .95 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes tp-window { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes tp-lawyer { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(1px) rotate(1deg) } }
@keyframes tp-stand { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* Scene: delany-cold-feet */
.scn-delany-cold-feet {
  background: linear-gradient(180deg, #0f0f1f 0%, #1a1625 40%, #2a2035 100%), radial-gradient(ellipse at 50% 100%, #2a2035 0%, transparent 70%);
}
.scn-delany-cold-feet .sky { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%); animation: dcf-sky 8s ease-in-out infinite alternate; }
.scn-delany-cold-feet .bricks { position:absolute; bottom:30%; left:10%; right:10%; height:40%; background: linear-gradient(0deg, #2a2220 0%, #3a3028 100%); border-radius: 0; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.6); }
.scn-delany-cold-feet .bricks::before { content:''; position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent 0px, transparent 30px, rgba(0,0,0,0.2) 30px, rgba(0,0,0,0.2) 31px), repeating-linear-gradient(0deg, transparent 0px, transparent 20px, rgba(0,0,0,0.15) 20px, rgba(0,0,0,0.15) 21px); }
.scn-delany-cold-feet .street { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #1e1a1a 0%, #0f0c0c 100%); box-shadow: inset 0 4px 10px rgba(0,0,0,0.8); }
.scn-delany-cold-feet .figure { position:absolute; bottom:22%; left:50%; width:22px; height:50px; transform:translateX(-50%); background: linear-gradient(180deg, #151520 0%, #0a0a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: dcf-figure 3s ease-in-out infinite; }
.scn-delany-cold-feet .lamp { position:absolute; bottom:25%; left:25%; width:10px; height:20px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 5px 5px 2px 2px; }
.scn-delany-cold-feet .lamp::after { content:''; position:absolute; top:-4px; left:50%; transform:translateX(-50%); width:14px; height:14px; background: radial-gradient(circle, #ffdd88 0%, #cc9933 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 20px 6px #cc9933, 0 0 40px 12px rgba(204,153,51,0.3); animation: dcf-glow 2s ease-in-out infinite alternate; }
.scn-delany-cold-feet .shadow { position:absolute; bottom:17%; left:42%; width:40px; height:8px; background: rgba(0,0,0,0.6); border-radius:50%; filter: blur(3px); animation: dcf-shadow 3s ease-in-out infinite; }
.scn-delany-cold-feet .glow { position:absolute; bottom:28%; left:24%; width:80px; height:80px; background: radial-gradient(circle, rgba(255,221,136,0.2) 0%, transparent 70%); border-radius:50%; filter: blur(8px); animation: dcf-glow-ambient 5s ease-in-out infinite alternate; }

@keyframes dcf-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes dcf-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 25% { transform: translateX(-50%) translateY(-2px) rotate(1deg); } 50% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 75% { transform: translateX(-50%) translateY(-1px) rotate(1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes dcf-shadow { 0% { width: 40px; opacity: 0.6; } 50% { width: 44px; opacity: 0.4; } 100% { width: 40px; opacity: 0.6; } }
@keyframes dcf-glow { 0% { box-shadow: 0 0 15px 4px #cc9933, 0 0 30px 8px rgba(204,153,51,0.3); } 50% { box-shadow: 0 0 25px 8px #ffdd88, 0 0 50px 16px rgba(255,221,136,0.4); } 100% { box-shadow: 0 0 18px 5px #cc9933, 0 0 35px 10px rgba(204,153,51,0.3); } }
@keyframes dcf-glow-ambient { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

/* Scene: delany-regrets */
.scn-delany-regrets {
  background: linear-gradient(180deg, #0a0a14 0%, #141420 40%, #1c1c2e 100%), radial-gradient(ellipse at 50% 80%, #1c1c2e 0%, transparent 60%);
}
.scn-delany-regrets .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #14141e 0%, #0a0a12 100%); }
.scn-delany-regrets .wall { position:absolute; bottom:35%; left:0; right:0; height:65%; background: linear-gradient(0deg, #2a2420 0%, #1e1a18 100%); }
.scn-delany-regrets .window { position:absolute; top:15%; right:15%; width:40px; height:50px; background: linear-gradient(180deg, #3a3a5e 0%, #1a1a3a 100%); border-radius: 2px 2px 0 0; box-shadow: inset 0 0 10px rgba(255,255,200,0.1); }
.scn-delany-regrets .window::after { content:''; position:absolute; top:10%; left:10%; width:80%; height:80%; background: radial-gradient(circle, rgba(200,200,255,0.15) 0%, transparent 70%); border-radius:50%; filter: blur(4px); animation: dr-window 10s ease-in-out infinite alternate; }
.scn-delany-regrets .desk { position:absolute; bottom:8%; left:30%; right:30%; height:12%; background: linear-gradient(180deg, #2a2218 0%, #1a140e 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.8); }
.scn-delany-regrets .figure-sitting { position:absolute; bottom:18%; left:50%; width:28px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #1a1a26 0%, #0e0e16 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; animation: dr-figure 4s ease-in-out infinite; }
.scn-delany-regrets .lamp-desk { position:absolute; bottom:18%; left:35%; width:6px; height:16px; background: #2a2a2a; border-radius: 1px; }
.scn-delany-regrets .lamp-desk::after { content:''; position:absolute; top:-3px; left:50%; transform:translateX(-50%); width:12px; height:12px; background: radial-gradient(circle, #b08040 0%, #6a4a20 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 10px 2px #6a4a20; animation: dr-lamp 3s ease-in-out infinite alternate; }
.scn-delany-regrets .shadow-room { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 100%); pointer-events: none; }

@keyframes dr-window { 0% { opacity: 0.2; } 50% { opacity: 0.8; } 100% { opacity: 0.3; } }
@keyframes dr-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 30% { transform: translateX(-50%) translateY(-1px) rotate(2deg); } 60% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes dr-lamp { 0% { box-shadow: 0 0 6px 1px #6a4a20; } 50% { box-shadow: 0 0 14px 4px #b08040; } 100% { box-shadow: 0 0 8px 2px #6a4a20; } }

/* Scene: delany-wants-to-renig */
.scn-delany-wants-to-renig {
  background: linear-gradient(180deg, #0c0c18 0%, #161620 40%, #1e1e2c 100%), radial-gradient(ellipse at 50% 100%, #1e1e2c 0%, transparent 70%);
}
.scn-delany-wants-to-renig .bg-alley { position:absolute; inset:0; background: linear-gradient(180deg, #10101a 0%, #08080e 100%); }
.scn-delany-wants-to-renig .door { position:absolute; bottom:5%; left:45%; width:40px; height:70px; background: linear-gradient(180deg, #2a2218 0%, #1a150e 100%); border-radius: 3px 3px 0 0; box-shadow: -2px 0 6px rgba(0,0,0,0.5); }
.scn-delany-wants-to-renig .figure-pacing { position:absolute; bottom:12%; left:30%; width:22px; height:48px; background: linear-gradient(180deg, #1a1a28 0%, #0e0e16 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: dwtr-figure 2.5s ease-in-out infinite; }
.scn-delany-wants-to-renig .lamp-post { position:absolute; bottom:20%; left:70%; width:6px; height:40px; background: #1a1a1a; border-radius: 1px; }
.scn-delany-wants-to-renig .lamp-post::after { content:''; position:absolute; top:-5px; left:50%; transform:translateX(-50%); width:16px; height:16px; background: radial-gradient(circle, #ffdd88 0%, #cc9933 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 18px 5px #cc9933; animation: dwtr-glow 2s ease-in-out infinite alternate; }
.scn-delany-wants-to-renig .shadow-fig { position:absolute; bottom:8%; left:28%; width:30px; height:6px; background: rgba(0,0,0,0.5); border-radius:50%; filter: blur(2px); animation: dwtr-shadow 2.5s ease-in-out infinite; }
.scn-delany-wants-to-renig .crate { position:absolute; bottom:10%; left:20%; width:20px; height:12px; background: linear-gradient(180deg, #2a2218 0%, #1a140e 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.5); }

@keyframes dwtr-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(8px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(-1deg); } 75% { transform: translateX(8px) translateY(-1px) rotate(1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes dwtr-shadow { 0% { width: 30px; opacity: 0.5; } 50% { width: 38px; opacity: 0.3; } 100% { width: 30px; opacity: 0.5; } }
@keyframes dwtr-glow { 0% { box-shadow: 0 0 10px 2px #cc9933; } 50% { box-shadow: 0 0 25px 8px #ffdd88; } 100% { box-shadow: 0 0 12px 3px #cc9933; } }

/* Scene: hogan-confronts-delany */
.scn-hogan-confronts-delany {
  background: linear-gradient(180deg, #0a0a16 0%, #141420 40%, #1a1a2e 100%), radial-gradient(ellipse at 50% 100%, #1a1a2e 0%, transparent 70%);
}
.scn-hogan-confronts-delany .bg-night { position:absolute; inset:0; background: linear-gradient(180deg, #10101c 0%, #080810 100%); }
.scn-hogan-confronts-delany .building-wall { position:absolute; bottom:0; left:0; right:40%; height:100%; background: linear-gradient(0deg, #2a2220 0%, #1c1614 100%); box-shadow: 2px 0 6px rgba(0,0,0,0.6); }
.scn-hogan-confronts-delany .door { position:absolute; bottom:5%; left:10%; width:30px; height:55px; background: linear-gradient(180deg, #2a2218 0%, #1a150e 100%); border-radius: 2px 2px 0 0; }
.scn-hogan-confronts-delany .cop { position:absolute; bottom:10%; left:25%; width:24px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e18 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: hcd-cop 3s ease-in-out infinite; }
.scn-hogan-confronts-delany .cop::before { content:''; position:absolute; top:-2px; left:50%; transform:translateX(-50%); width:10px; height:10px; background: radial-gradient(circle, #2a2a2a 0%, #1a1a1a 100%); border-radius:50%; box-shadow: 0 0 4px rgba(0,0,0,0.5); }
.scn-hogan-confronts-delany .delany { position:absolute; bottom:10%; left:45%; width:22px; height:48px; background: linear-gradient(180deg, #1e1e2e 0%, #12121c 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg); animation: hcd-delany 3s ease-in-out infinite; }
.scn-hogan-confronts-delany .street-lamp { position:absolute; bottom:20%; right:15%; width:6px; height:45px; background: #1a1a1a; border-radius: 1px; }
.scn-hogan-confronts-delany .street-lamp::after { content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%); width:18px; height:18px; background: radial-gradient(circle, #ffdd88 0%, #cc9933 50%, transparent 100%); border-radius:50%; box-shadow: 0 0 22px 6px #cc9933; animation: hcd-glow 2s ease-in-out infinite alternate; }
.scn-hogan-confronts-delany .fog { position:absolute; bottom:0; left:0; right:0; height:60%; background: linear-gradient(0deg, rgba(200,200,220,0.08) 0%, transparent 100%); pointer-events: none; animation: hcd-fog 12s ease-in-out infinite alternate; }

@keyframes hcd-cop { 0% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes hcd-delany { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-1px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes hcd-glow { 0% { box-shadow: 0 0 12px 3px #cc9933; } 50% { box-shadow: 0 0 30px 10px #ffdd88; } 100% { box-shadow: 0 0 14px 4px #cc9933; } }
@keyframes hcd-fog { 0% { opacity: 0.3; } 50% { opacity: 0.8; } 100% { opacity: 0.4; } }

/* pepperill-objects */
.scn-pepperill-objects {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4c3a0 40%, #b8a682 100%),
              radial-gradient(ellipse at 30% 50%, rgba(255,235,200,0.6) 0%, transparent 60%);
}
.scn-pepperill-objects .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #c8b89a 0%, #e0d0b0 50%, #c8b89a 100%); 
  animation: po-wall 20s ease-in-out infinite;
}
.scn-pepperill-objects .desk {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 35%;
  background: linear-gradient(180deg, #8b6f4e 0%, #5a4428 100%);
  box-shadow: 0 8px 20px rgba(0,0,0,0.4); border-radius: 2% 2% 0 0;
}
.scn-pepperill-objects .papers {
  position: absolute; bottom: 30%; left: 30%; width: 120px; height: 80px;
  background: linear-gradient(135deg, #f0ead6 0%, #d4c9b0 50%, #e8ddc4 100%);
  box-shadow: 2px 4px 8px rgba(0,0,0,0.3); border-radius: 2px;
  animation: po-papers 3s ease-in-out infinite alternate;
}
.scn-pepperill-objects .gavel {
  position: absolute; bottom: 32%; left: 55%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #5c3a1e 0%, #3d2612 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  transform-origin: bottom center; animation: po-gavel 0.8s ease-in-out infinite alternate;
}
.scn-pepperill-objects .hand-reach {
  position: absolute; bottom: 28%; left: 45%; width: 50px; height: 70px;
  background: radial-gradient(ellipse 70% 60% at 50% 30%, #d4a77a 0%, #b8875e 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; 
  animation: po-hand 2s ease-in-out infinite;
}
.scn-pepperill-objects .shadow-stripe {
  position: absolute; bottom: 20%; left: 20%; width: 10%; height: 40%;
  background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%);
  filter: blur(8px); animation: po-shadow 4s ease-in-out infinite alternate;
}
.scn-pepperill-objects .light-shaft {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,245,210,0.3) 0%, transparent 100%);
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  animation: po-light 6s ease-in-out infinite alternate;
}
@keyframes po-wall { 0%{opacity:0.9} 50%{opacity:1} 100%{opacity:0.95} }
@keyframes po-papers { 0%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-3px) rotate(1deg)} 100%{transform:translateY(0) rotate(-1deg)} }
@keyframes po-gavel { 0%{transform:rotate(-10deg) scaleY(1)} 50%{transform:rotate(10deg) scaleY(1.02)} 100%{transform:rotate(-10deg) scaleY(0.98)} }
@keyframes po-hand { 0%{transform:translateX(0) rotate(0deg)} 30%{transform:translateX(8px) rotate(5deg)} 60%{transform:translateX(4px) rotate(-2deg)} 100%{transform:translateX(0) rotate(0deg)} }
@keyframes po-shadow { 0%{opacity:0.3; width:8%} 50%{opacity:0.5; width:12%} 100%{opacity:0.2; width:9%} }
@keyframes po-light { 0%{opacity:0.2} 50%{opacity:0.5} 100%{opacity:0.3} }

/* juror-interrupts */
.scn-juror-interrupts {
  background: linear-gradient(180deg, #e6d4b8 0%, #c8b89a 40%, #a38d70 100%),
              radial-gradient(ellipse at 60% 30%, rgba(255,235,200,0.6) 0%, transparent 60%);
}
.scn-juror-interrupts .bg-court {
  position: absolute; inset: 0; background: linear-gradient(90deg, #b8a88a 0%, #d4c4a6 50%, #b8a88a 100%);
}
.scn-juror-interrupts .judge-bench {
  position: absolute; top: 5%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #7a5c3a 0%, #4a3018 100%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.4); border-radius: 5% 5% 0 0;
}
.scn-juror-interrupts .jury-row {
  position: absolute; bottom: 15%; left: 5%; width: 90%; height: 30%;
  background: linear-gradient(180deg, #9a8050 0%, #6b5535 100%);
  border-radius: 2% 2% 0 0;
}
.scn-juror-interrupts .juror {
  position: absolute; bottom: 25%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
}
.scn-juror-interrupts .juror-1 { left: 15%; animation: ji-juror1 8s ease-in-out infinite; }
.scn-juror-interrupts .juror-2 { left: 35%; animation: ji-juror2 10s ease-in-out infinite reverse; }
.scn-juror-interrupts .juror-3 { left: 55%; animation: ji-juror3 6s ease-in-out infinite 0.5s; }
.scn-juror-interrupts .raised-hand {
  position: absolute; bottom: 45%; left: 38%; width: 14px; height: 24px;
  background: radial-gradient(ellipse 80% 50% at 50% 30%, #c88a5a 0%, #8a5a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: ji-hand 2s ease-in-out infinite;
}
.scn-juror-interrupts .spectator-blur {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 15%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 100%);
  filter: blur(10px);
}
@keyframes ji-juror1 { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-2px) rotate(1deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes ji-juror2 { 0%{transform:translateY(0) scaleY(1)} 50%{transform:translateY(-1px) scaleY(1.02)} 100%{transform:translateY(0) scaleY(1)} }
@keyframes ji-juror3 { 0%{transform:translateY(0) rotate(0deg)} 30%{transform:translateY(-3px) rotate(2deg)} 70%{transform:translateY(-1px) rotate(-1deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes ji-hand { 0%{transform:rotate(-10deg) scaleX(1)} 50%{transform:rotate(20deg) scaleX(0.9)} 100%{transform:rotate(-10deg) scaleX(1)} }

/* judge-rebukes-juror */
.scn-judge-rebukes-juror {
  background: linear-gradient(180deg, #e0ceb0 0%, #b8a280 40%, #907852 100%),
              radial-gradient(ellipse at 40% 20%, rgba(255,225,180,0.5) 0%, transparent 50%);
}
.scn-judge-rebukes-juror .bg-panel {
  position: absolute; inset: 0; background: linear-gradient(90deg, #a88e6e 0%, #c8b08e 50%, #a88e6e 100%);
}
.scn-judge-rebukes-juror .bench-top {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #6b4f2e 0%, #3d2a14 100%);
  box-shadow: 0 4px 12px rgba(0,0,0,0.5); border-radius: 2% 2% 0 0;
}
.scn-judge-rebukes-juror .judge-figure {
  position: absolute; bottom: 40%; left: 40%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #2a1e12 0%, #0f0a05 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center; animation: jr-judge 4s ease-in-out infinite;
}
.scn-judge-rebukes-juror .robe-folds {
  position: absolute; bottom: 38%; left: 38%; width: 64px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 20% 20% 40% 40% / 10% 10% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
  animation: jr-robe 5s ease-in-out infinite alternate;
}
.scn-judge-rebukes-juror .gavel-raised {
  position: absolute; bottom: 48%; left: 55%; width: 20px; height: 15px;
  background: #4a3018; border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  transform-origin: bottom center; animation: jr-gavel 1.5s ease-in-out infinite;
}
.scn-judge-rebukes-juror .papers-stack {
  position: absolute; bottom: 27%; left: 30%; width: 80px; height: 20px;
  background: linear-gradient(180deg, #f0e4cc 0%, #d4c4a8 50%, #c0b090 100%);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3); border-radius: 2px;
  animation: jr-papers 7s ease-in-out infinite alternate;
}
.scn-judge-rebukes-juror .spectator-blur {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 100%);
  filter: blur(8px);
}
@keyframes jr-judge { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-2px) rotate(5deg)} 75%{transform:translateY(1px) rotate(-3deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes jr-robe { 0%{transform:scaleY(1) translateX(0)} 50%{transform:scaleY(1.05) translateX(-2px)} 100%{transform:scaleY(1) translateX(0)} }
@keyframes jr-gavel { 0%{transform:rotate(-20deg) scaleY(1)} 50%{transform:rotate(30deg) scaleY(0.95)} 100%{transform:rotate(-20deg) scaleY(1)} }
@keyframes jr-papers { 0%{transform:translateX(0) rotate(0deg)} 50%{transform:translateX(2px) rotate(2deg)} 100%{transform:translateX(0) rotate(-1deg)} }

/* fatima-referred */
.scn-fatima-referred {
  background: linear-gradient(180deg, #dfcbb0 0%, #c0a886 40%, #a48a68 100%),
              radial-gradient(ellipse at 50% 60%, rgba(255,220,170,0.4) 0%, transparent 60%);
}
.scn-fatima-referred .bg-room {
  position: absolute; inset: 0; background: linear-gradient(90deg, #b89e7c 0%, #d4ba98 50%, #b89e7c 100%);
}
.scn-fatima-referred .table {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 25%;
  background: linear-gradient(180deg, #7a5c3a 0%, #4a3018 100%);
  box-shadow: 0 6px 14px rgba(0,0,0,0.4); border-radius: 2% 2% 0 0;
}
.scn-fatima-referred .lawyer-left {
  position: absolute; bottom: 30%; left: 25%; width: 45px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center; animation: fr-lawyer 6s ease-in-out infinite;
}
.scn-fatima-referred .foreman-right {
  position: absolute; bottom: 30%; right: 25%; width: 45px; height: 65px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center; animation: fr-foreman 5s ease-in-out infinite reverse;
}
.scn-fatima-referred .whisper-arc {
  position: absolute; bottom: 45%; left: 38%; width: 24%; height: 12%;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(255,230,200,0.25) 0%, transparent 100%);
  border-radius: 50%; filter: blur(4px); animation: fr-whisper 4s ease-in-out infinite;
}
.scn-fatima-referred .document {
  position: absolute; bottom: 20%; left: 40%; width: 80px; height: 60px;
  background: linear-gradient(135deg, #f0e4cc 0%, #d4c4a8 50%, #e0d0b8 100%);
  box-shadow: 2px 4px 8px rgba(0,0,0,0.3); border-radius: 2px;
  animation: fr-doc 8s ease-in-out infinite alternate;
}
.scn-fatima-referred .candle-glow {
  position: absolute; bottom: 28%; left: 48%; width: 10px; height: 6px;
  background: radial-gradient(circle, #ffd070 0%, #ffa030 100%);
  border-radius: 50%; box-shadow: 0 0 20px 10px rgba(255,160,48,0.4);
  animation: fr-candle 2s ease-in-out infinite alternate;
}
@keyframes fr-lawyer { 0%{transform:translateY(0) rotate(0deg)} 33%{transform:translateY(-3px) rotate(-4deg)} 66%{transform:translateY(1px) rotate(2deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes fr-foreman { 0%{transform:translateY(0) rotate(0deg)} 25%{transform:translateY(-2px) rotate(3deg)} 50%{transform:translateY(1px) rotate(-2deg)} 100%{transform:translateY(0) rotate(0deg)} }
@keyframes fr-whisper { 0%{opacity:0.2; transform:scaleX(0.8)} 50%{opacity:0.5; transform:scaleX(1.2)} 100%{opacity:0.3; transform:scaleX(0.9)} }
@keyframes fr-doc { 0%{transform:translateX(0) rotate(0deg)} 50%{transform:translateX(-2px) rotate(2deg)} 100%{transform:translateX(0) rotate(-1deg)} }
@keyframes fr-candle { 0%{box-shadow:0 0 15px 5px rgba(255,160,48,0.3)} 50%{box-shadow:0 0 35px 15px rgba(255,160,48,0.6)} 100%{box-shadow:0 0 20px 8px rgba(255,160,48,0.4)} }

/* tutt-office-letter-discovery — tense discovery moment */
.scn-tutt-office-letter-discovery {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 50%, #c0b090 100%),
              radial-gradient(ellipse at 60% 30%, #f5e6c0 0%, transparent 60%);
}
.scn-tutt-office-letter-discovery .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #ddd0b8 0%, #c8b898 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.08);
  animation: tld-wall 8s ease-in-out infinite alternate;
}
.scn-tutt-office-letter-discovery .desk-top {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 40%;
  background: linear-gradient(160deg, #8a6a4a 0%, #5a3e2e 60%, #3d2a1e 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 12px 24px rgba(0,0,0,0.4), 0 -4px 12px rgba(0,0,0,0.3);
  animation: tld-desk 6s ease-in-out infinite;
}
.scn-tutt-office-letter-discovery .desk-edge {
  position: absolute; bottom: 38%; left: 4%; right: 4%; height: 3%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3222 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-tutt-office-letter-discovery .letter {
  position: absolute; bottom: 28%; left: 48%; width: 22%; height: 16%;
  background: linear-gradient(160deg, #f5f0e0 0%, #e8ddc8 50%, #d4c4a8 100%);
  border-radius: 4px;
  transform: translateX(-50%) rotate(-2deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: tld-letter 4s ease-in-out infinite alternate;
}
.scn-tutt-office-letter-discovery .hand {
  position: absolute; bottom: 32%; left: 52%; width: 10%; height: 14%;
  background: radial-gradient(ellipse at 50% 40%, #e8c8a8 0%, #c8a888 60%, #a08070 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 35% 35%;
  transform: translateX(-50%);
  box-shadow: inset 0 -2px 6px rgba(0,0,0,0.2);
  animation: tld-hand 3.5s ease-in-out infinite alternate;
}
.scn-tutt-office-letter-discovery .lamp {
  position: absolute; bottom: 52%; left: 32%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #b09070 0%, #7a5a3a 80%, #5a3e2e 100%);
  border-radius: 20% 20% 8% 8%;
  box-shadow: -2px 0 8px rgba(0,0,0,0.3);
  animation: tld-lamp 6s ease-in-out infinite;
}
.scn-tutt-office-letter-discovery .light {
  position: absolute; bottom: 50%; left: 30%; width: 18%; height: 20%;
  background: radial-gradient(ellipse at 50% 0%, rgba(240,220,160,0.6) 0%, rgba(240,220,160,0.1) 70%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: tld-light 3s ease-in-out infinite alternate;
}
@keyframes tld-wall {
  0% { opacity: 0.85; filter: brightness(0.95); }
  50% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 0.9; filter: brightness(0.98); }
}
@keyframes tld-desk {
  0%, 100% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.005) translateY(-2px); }
}
@keyframes tld-letter {
  0% { transform: translateX(-50%) rotate(-2deg) scale(1);   }
  50% { transform: translateX(-50%) rotate(-1.5deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(-2.5deg) scale(0.98); }
}
@keyframes tld-hand {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-48%) translateY(-4px) rotate(2deg); }
  100% { transform: translateX(-52%) translateY(2px) rotate(-1deg); }
}
@keyframes tld-lamp {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(1deg); }
}
@keyframes tld-light {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(0.95); }
}

/* tutt-office-legal-argument — two figures opposing, tense */
.scn-tutt-office-legal-argument {
  background: linear-gradient(180deg, #ddd0b8 0%, #c8b898 50%, #b0a080 100%),
              radial-gradient(ellipse at 50% 30%, #e8dcc8 0%, transparent 65%);
}
.scn-tutt-office-legal-argument .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #d4c8b0 0%, #c0b090 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.1);
  animation: tla-wall 10s ease-in-out infinite alternate;
}
.scn-tutt-office-legal-argument .desk-top {
  position: absolute; bottom: 0; left: 8%; right: 8%; height: 38%;
  background: linear-gradient(160deg, #7a5a3a 0%, #4a3222 60%, #2a1a12 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5), 0 -4px 8px rgba(0,0,0,0.3);
  animation: tla-desk 7s ease-in-out infinite;
}
.scn-tutt-office-legal-argument .desk-edge {
  position: absolute; bottom: 37%; left: 7%; right: 7%; height: 3%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2212 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.scn-tutt-office-legal-argument .figure-left {
  position: absolute; bottom: 24%; left: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #0a0a1a 100%);
  border-radius: 45% 45% 10% 10% / 55% 55% 15% 15%;
  transform-origin: bottom center;
  box-shadow: 4px 0 12px rgba(0,0,0,0.3);
  animation: tla-fig-l 5s ease-in-out infinite alternate;
}
.scn-tutt-office-legal-argument .figure-right {
  position: absolute; bottom: 24%; right: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 60%, #0a0a1a 100%);
  border-radius: 45% 45% 10% 10% / 55% 55% 15% 15%;
  transform-origin: bottom center;
  box-shadow: -4px 0 12px rgba(0,0,0,0.3);
  animation: tla-fig-r 5s ease-in-out infinite alternate;
}
.scn-tutt-office-legal-argument .lamp {
  position: absolute; bottom: 54%; left: 45%; width: 10%; height: 16%;
  background: linear-gradient(180deg, #a08060 0%, #6a4a2a 80%, #4a3222 100%);
  border-radius: 15% 15% 6% 6%;
  box-shadow: 0 0 12px rgba(0,0,0,0.3);
  animation: tla-lamp 8s ease-in-out infinite;
}
.scn-tutt-office-legal-argument .light {
  position: absolute; bottom: 52%; left: 43%; width: 14%; height: 18%;
  background: radial-gradient(ellipse at 50% 0%, rgba(230,210,160,0.5) 0%, rgba(230,210,160,0.1) 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: tla-light 2.5s ease-in-out infinite alternate;
}
@keyframes tla-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes tla-desk {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.003); }
}
@keyframes tla-fig-l {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes tla-fig-r {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(2px) rotate(1deg); }
}
@keyframes tla-lamp {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(0.5deg); }
}
@keyframes tla-light {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
  100% { opacity: 0.7; transform: scale(0.95); }
}

/* tutt-office-legal-explanation — calm seated figure explaining */
.scn-tutt-office-legal-explanation {
  background: linear-gradient(180deg, #e8dcc8 0%, #d6cbb5 50%, #c8b898 100%),
              radial-gradient(ellipse at 40% 40%, #f0e6d0 0%, transparent 60%);
}
.scn-tutt-office-legal-explanation .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #e0d4c0 0%, #cdc0a8 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.06);
  animation: tle-wall 12s ease-in-out infinite alternate;
}
.scn-tutt-office-legal-explanation .desk-top {
  position: absolute; bottom: 0; left: 6%; right: 6%; height: 38%;
  background: linear-gradient(160deg, #8a6a4a 0%, #5a3e2e 60%, #3d2a1e 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4), 0 -4px 8px rgba(0,0,0,0.3);
  animation: tle-desk 9s ease-in-out infinite;
}
.scn-tutt-office-legal-explanation .desk-edge {
  position: absolute; bottom: 37%; left: 5%; right: 5%; height: 3%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3222 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.35);
}
.scn-tutt-office-legal-explanation .chair {
  position: absolute; bottom: 28%; left: 38%; width: 18%; height: 22%;
  background: linear-gradient(180deg, #5a3e2e 0%, #3d2a1e 70%, #2a1a12 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 25% 25%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: tle-chair 10s ease-in-out infinite;
}
.scn-tutt-office-legal-explanation .figure-sit {
  position: absolute; bottom: 32%; left: 42%; width: 12%; height: 26%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  animation: tle-figure 6s ease-in-out infinite alternate;
}
.scn-tutt-office-legal-explanation .lamp {
  position: absolute; bottom: 54%; left: 50%; width: 10%; height: 16%;
  background: linear-gradient(180deg, #b09070 0%, #7a5a3a 80%, #5a3e2e 100%);
  border-radius: 15% 15% 6% 6%;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  animation: tle-lamp 10s ease-in-out infinite;
}
.scn-tutt-office-legal-explanation .light {
  position: absolute; bottom: 52%; left: 48%; width: 14%; height: 18%;
  background: radial-gradient(ellipse at 50% 0%, rgba(240,220,160,0.55) 0%, rgba(240,220,160,0.08) 65%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: tle-light 4s ease-in-out infinite alternate;
}
@keyframes tle-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.92; }
}
@keyframes tle-desk {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.002); }
}
@keyframes tle-chair {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-0.5deg); }
}
@keyframes tle-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(1.5deg); }
  100% { transform: translateX(-2px) rotate(-0.5deg); }
}
@keyframes tle-lamp {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(0.3deg); }
}
@keyframes tle-light {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.98); }
}

/* tutt-office-nuncupative-will — calm explanation with book */
.scn-tutt-office-nuncupative-will {
  background: linear-gradient(180deg, #e5d9c5 0%, #d0c4ae 50%, #c0b398 100%),
              radial-gradient(ellipse at 45% 35%, #f0e6d0 0%, transparent 55%);
}
.scn-tutt-office-nuncupative-will .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #ddd0b8 0%, #c8b898 100%);
  box-shadow: inset 0 0 45px rgba(0,0,0,0.07);
  animation: tnw-wall 14s ease-in-out infinite alternate;
}
.scn-tutt-office-nuncupative-will .desk-top {
  position: absolute; bottom: 0; left: 7%; right: 7%; height: 38%;
  background: linear-gradient(160deg, #8a6a4a 0%, #5a3e2e 60%, #3d2a1e 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4), 0 -4px 8px rgba(0,0,0,0.3);
  animation: tnw-desk 11s ease-in-out infinite;
}
.scn-tutt-office-nuncupative-will .desk-edge {
  position: absolute; bottom: 37%; left: 6%; right: 6%; height: 3%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3222 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.35);
}
.scn-tutt-office-nuncupative-will .book {
  position: absolute; bottom: 26%; left: 42%; width: 16%; height: 14%;
  background: linear-gradient(160deg, #b8a090 0%, #a08070 50%, #8a6a5a 100%);
  border-radius: 3px;
  transform: rotate(-4deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3), inset 0 1px 4px rgba(255,255,240,0.1);
  animation: tnw-book 7s ease-in-out infinite alternate;
}
.scn-tutt-office-nuncupative-will .figure-sit {
  position: absolute; bottom: 30%; left: 44%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #353545 0%, #252535 50%, #151525 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  animation: tnw-figure 8s ease-in-out infinite alternate;
}
.scn-tutt-office-nuncupative-will .lamp {
  position: absolute; bottom: 52%; left: 52%; width: 10%; height: 16%;
  background: linear-gradient(180deg, #b09070 0%, #7a5a3a 80%, #5a3e2e 100%);
  border-radius: 15% 15% 6% 6%;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  animation: tnw-lamp 12s ease-in-out infinite;
}
.scn-tutt-office-nuncupative-will .light {
  position: absolute; bottom: 50%; left: 50%; width: 14%; height: 18%;
  background: radial-gradient(ellipse at 50% 0%, rgba(240,220,160,0.5) 0%, rgba(240,220,160,0.08) 65%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: tnw-light 5s ease-in-out infinite alternate;
}
@keyframes tnw-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.93; }
}
@keyframes tnw-desk {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(1.002); }
}
@keyframes tnw-book {
  0% { transform: rotate(-4deg) scale(1); }
  50% { transform: rotate(-3deg) scale(1.01); }
  100% { transform: rotate(-5deg) scale(0.99); }
}
@keyframes tnw-figure {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(1deg); }
  100% { transform: translateX(-2px) rotate(-0.5deg); }
}
@keyframes tnw-lamp {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(0.3deg); }
}
@keyframes tnw-light {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.98); }
}

.scn-bonnie-suggests-camel {
  background:
    radial-gradient(ellipse at 70% 20%, #f5e6c8 0%, transparent 50%),
    linear-gradient(180deg, #d4b896 0%, #c49a6c 30%, #8b6f4a 100%);
}
.scn-bonnie-suggests-camel .wall { position:absolute; inset:0; background: linear-gradient(180deg, #e8d5b0 0%, #c49a6c 100%); }
.scn-bonnie-suggests-camel .window {
  position:absolute; top:12%; left:60%; width:35%; height:45%;
  background: linear-gradient(180deg, #a0c4e8 0%, #6b8fa8 100%);
  border-radius: 20% 20% 0 0; box-shadow: inset 0 0 30px rgba(255,255,200,0.5);
  animation: sc1-window-glint 6s ease-in-out infinite;
}
.scn-bonnie-suggests-camel .desert {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #d4a96a 0%, #b8863e 100%);
  border-radius: 30% 70% 0 0; clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
  animation: sc1-desert-wave 12s ease-in-out infinite;
}
.scn-bonnie-suggests-camel .camel {
  position:absolute; bottom:12%; left:15%; width:80px; height:90px;
  background: radial-gradient(ellipse at 50% 40%, #8b6f4a 0%, #5a3e2a 100%);
  border-radius: 40% 60% 40% 60% / 50% 50% 50% 50%;
  transform-origin: bottom center;
  animation: sc1-camel-sway 3s ease-in-out infinite;
}
.scn-bonnie-suggests-camel .hookah {
  position:absolute; bottom:18%; left:50%; width:40px; height:55px;
  background: linear-gradient(180deg, #b8863e 0%, #70542a 100%);
  border-radius: 30% 30% 20% 20%;
  transform: translateX(-50%) rotate(-5deg);
  animation: sc1-hookah-smoke 4s ease-in-out infinite;
}
.scn-bonnie-suggests-camel .slipper {
  position:absolute; bottom:10%; left:38%; width:22px; height:12px;
  background: #c8553d; border-radius: 0 60% 20% 20%;
  animation: sc1-slipper-bob 2.5s ease-in-out infinite alternate;
}
.scn-bonnie-suggests-camel .lamp {
  position:absolute; top:8%; left:20%; width:20px; height:25px;
  background: radial-gradient(circle, #e8b064 0%, #cc8830 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 20px #f0c068, 0 0 40px rgba(240,192,104,0.5);
  animation: sc1-lamp-flicker 2s ease-in-out infinite alternate;
}
@keyframes sc1-window-glint {
  0%,100% { opacity:0.8; transform:scale(1); }
  50% { opacity:1; transform:scale(1.02); box-shadow: inset 0 0 40px rgba(255,255,200,0.7); }
}
@keyframes sc1-desert-wave {
  0% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
  100% { transform:translateY(0); }
}
@keyframes sc1-camel-sway {
  0%,100% { transform:rotate(0deg); }
  25% { transform:rotate(2deg) translateY(-1px); }
  50% { transform:rotate(-2deg) translateY(2px); }
  75% { transform:rotate(1deg) translateY(-1px); }
}
@keyframes sc1-hookah-smoke {
  0%,100% { transform:translateX(-50%) rotate(-5deg) scale(1); }
  50% { transform:translateX(-48%) rotate(-3deg) scale(1.05); }
}
@keyframes sc1-slipper-bob {
  0% { transform:translateY(0) rotate(0deg); }
  100% { transform:translateY(-3px) rotate(5deg); }
}
@keyframes sc1-lamp-flicker {
  0% { opacity:0.7; box-shadow:0 0 15px #f0c068,0 0 30px rgba(240,192,104,0.3); }
  50% { opacity:1; box-shadow:0 0 25px #f0c068,0 0 50px rgba(240,192,104,0.6); }
  100% { opacity:0.8; box-shadow:0 0 18px #f0c068,0 0 35px rgba(240,192,104,0.4); }
}

.scn-bonnie-corrects {
  background:
    radial-gradient(ellipse at 50% 0%, #f5e6c8 0%, transparent 60%),
    linear-gradient(180deg, #d4b896 0%, #a98a6a 50%, #7a5e3e 100%);
}
.scn-bonnie-corrects .court-bg { position:absolute; inset:0; background: linear-gradient(180deg, #c49a6c 0%, #8b6f4a 100%); }
.scn-bonnie-corrects .bench {
  position:absolute; bottom:30%; left:10%; right:10%; height:15%;
  background: linear-gradient(180deg, #6b4e3a 0%, #4a3020 100%);
  border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}
.scn-bonnie-corrects .judge {
  position:absolute; bottom:35%; left:25%; width:50px; height:60px;
  background: radial-gradient(ellipse at 50% 30%, #8b6f4a 0%, #5a3e2a 100%);
  border-radius: 45% 55% 40% 40% / 50% 50% 50% 50%;
  transform-origin: bottom center;
  animation: sc2-judge-sway 4s ease-in-out infinite;
}
.scn-bonnie-corrects .bonnie {
  position:absolute; bottom:38%; left:58%; width:35px; height:55px;
  background: linear-gradient(180deg, #d4a96a 0%, #b8863e 100%);
  border-radius: 40% 60% 30% 30% / 40% 40% 40% 40%;
  transform-origin: bottom center;
  animation: sc2-bonnie-point 3s ease-in-out infinite;
}
.scn-bonnie-corrects .witness {
  position:absolute; bottom:36%; left:42%; width:30px; height:50px;
  background: radial-gradient(ellipse at 50% 40%, #7a5e3e 0%, #4a3020 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 40% 40%;
  transform-origin: bottom center;
  animation: sc2-witness-nod 5s ease-in-out infinite;
}
.scn-bonnie-corrects .gavel {
  position:absolute; bottom:35%; left:32%; width:12px; height:8px;
  background: #5a3e2a; border-radius: 20%;
  transform-origin: bottom center;
  animation: sc2-gavel-bang 1.5s ease-in-out infinite alternate;
}
@keyframes sc2-judge-sway {
  0%,100% { transform:rotate(0deg); }
  30% { transform:rotate(2deg) translateY(-2px); }
  60% { transform:rotate(-1deg) translateY(0); }
}
@keyframes sc2-bonnie-point {
  0%,100% { transform:rotate(0deg); }
  50% { transform:rotate(10deg) translateX(3px); }
}
@keyframes sc2-witness-nod {
  0%,100% { transform:rotate(0deg); }
  50% { transform:rotate(-5deg) translateY(2px); }
}
@keyframes sc2-gavel-bang {
  0% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-4px) rotate(-10deg); }
  100% { transform:translateY(0) rotate(0deg); }
}

.scn-courtroom-atmosphere {
  background:
    radial-gradient(ellipse at 80% 30%, #e8d5b0 0%, transparent 50%),
    linear-gradient(180deg, #c49a6c 0%, #8b6f4a 60%, #5a3e2a 100%);
}
.scn-courtroom-atmosphere .room { position:absolute; inset:0; background: linear-gradient(180deg, #b8863e 0%, #7a5e3e 100%); }
.scn-courtroom-atmosphere .patriarch {
  position:absolute; bottom:28%; left:15%; width:40px; height:70px;
  background: radial-gradient(ellipse at 50% 20%, #d4a96a 0%, #8b6f4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc3-patriarch-sway 6s ease-in-out infinite;
}
.scn-courtroom-atmosphere .patriarch2 {
  position:absolute; bottom:28%; right:20%; width:35px; height:65px;
  background: radial-gradient(ellipse at 50% 20%, #c49a6c 0%, #6b4e3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc3-patriarch2-sway 5s ease-in-out infinite reverse;
}
.scn-courtroom-atmosphere .steno {
  position:absolute; bottom:25%; left:42%; width:28px; height:40px;
  background: linear-gradient(180deg, #e8d5b0 0%, #b8863e 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sc3-steno-type 0.8s steps(2) infinite;
}
.scn-courtroom-atmosphere .clerk {
  position:absolute; bottom:25%; right:40%; width:30px; height:45px;
  background: linear-gradient(180deg, #7a5e3e 0%, #4a3020 100%);
  border-radius: 40% 60% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: sc3-clerk-shuffle 7s ease-in-out infinite;
}
.scn-courtroom-atmosphere .murmur {
  position:absolute; top:15%; left:30%; width:80px; height:25px;
  background: radial-gradient(ellipse, rgba(255,255,200,0.4) 0%, transparent 100%);
  filter: blur(4px);
  animation: sc3-murmur-pulse 4s ease-in-out infinite;
}
@keyframes sc3-patriarch-sway {
  0%,100% { transform:rotate(0deg); }
  25% { transform:rotate(2deg) translateY(-1px); }
  50% { transform:rotate(-1deg) translateY(2px); }
  75% { transform:rotate(1deg) translateY(-1px); }
}
@keyframes sc3-patriarch2-sway {
  0%,100% { transform:rotate(0deg); }
  50% { transform:rotate(-3deg) translateY(1px); }
}
@keyframes sc3-steno-type {
  0% { transform:translateY(0); }
  50% { transform:translateY(-2px) rotate(-2deg); }
  100% { transform:translateY(0); }
}
@keyframes sc3-clerk-shuffle {
  0%,100% { transform:translateX(0); }
  50% { transform:translateX(5px) rotate(-2deg); }
}
@keyframes sc3-murmur-pulse {
  0%,100% { opacity:0.3; transform:scale(1); }
  50% { opacity:0.7; transform:scale(1.1); }
}

.scn-jury-selection {
  background:
    radial-gradient(ellipse at 30% 40%, #f5e6c8 0%, transparent 50%),
    linear-gradient(180deg, #e8d5b0 0%, #c49a6c 50%, #8b6f4a 100%);
}
.scn-jury-selection .stage { position:absolute; inset:0; background: linear-gradient(180deg, #d4b896 0%, #a98a6a 100%); }
.scn-jury-selection .judge-stout {
  position:absolute; bottom:30%; left:25%; width:70px; height:80px;
  background: radial-gradient(ellipse at 50% 30%, #8b6f4a 0%, #5a3e2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sc4-judge-yawn 6s ease-in-out infinite;
}
.scn-jury-selection .steno-desk {
  position:absolute; bottom:28%; right:20%; width:26px; height:38px;
  background: linear-gradient(180deg, #e8d5b0 0%, #b8863e 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sc4-steno-tap 1s ease-in-out infinite alternate;
}
.scn-jury-selection .juror {
  position:absolute; bottom:34%; left:5%; width:22px; height:50px;
  background: linear-gradient(180deg, #7a5e3e 0%, #4a3020 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 40% 40%;
  transform-origin: bottom center;
  animation: sc4-juror-nod 5s ease-in-out infinite;
}
.scn-jury-selection .yawn {
  position:absolute; bottom:40%; left:30%; width:20px; height:15px;
  background: #5a3e2a;
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sc4-yawn-open 3s ease-in-out infinite alternate;
}
.scn-jury-selection .paper {
  position:absolute; bottom:35%; left:48%; width:18px; height:22px;
  background: #f5e6c8;
  border-radius: 5%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: sc4-paper-flip 8s ease-in-out infinite;
}
@keyframes sc4-judge-yawn {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.05) translateY(-3px); }
}
@keyframes sc4-steno-tap {
  0% { transform:translateY(0); }
  100% { transform:translateY(-3px); }
}
@keyframes sc4-juror-nod {
  0%,100% { transform:rotate(0deg); }
  50% { transform:rotate(-4deg) translateY(1px); }
}
@keyframes sc4-yawn-open {
  0% { transform:scaleY(0.6); }
  100% { transform:scaleY(1.2); }
}
@keyframes sc4-paper-flip {
  0%,100% { transform:rotate(0deg); }
  50% { transform:rotate(10deg) translateY(-2px); }
}

/* tutt-finishes-cross - tense bright interior courtroom */
.scn-tutt-finishes-cross {
  background: linear-gradient(180deg, #e8e0d0 0%, #c8b8a0 40%, #a09080 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 60%);
}
.scn-tutt-finishes-cross .bench {
  position: absolute; bottom:15%; left:5%; right:5%; height:12%;
  background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.3);
  animation: tfc-bench 8s ease-in-out infinite alternate;
}
.scn-tutt-finishes-cross .desk {
  position: absolute; bottom:20%; left:30%; width:35%; height:18%;
  background: linear-gradient(180deg, #b09880 0%, #806858 100%);
  border-radius: 6%; box-shadow: 0 6px 12px rgba(0,0,0,.4);
}
.scn-tutt-finishes-cross .lawyer-figure {
  position: absolute; bottom:22%; left:38%; width:10%; height:40%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tfc-figure 3s ease-in-out infinite alternate;
}
.scn-tutt-finishes-cross .spotlight {
  position: absolute; bottom:25%; left:35%; width:30%; height:60%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.4) 0%, transparent 70%);
  mix-blend-mode: overlay; pointer-events: none;
  animation: tfc-spotlight 2s ease-in-out infinite alternate;
}
.scn-tutt-finishes-cross .window-light {
  position: absolute; top:5%; left:10%; width:18%; height:25%;
  background: linear-gradient(180deg, rgba(255,255,240,0.6) 0%, rgba(200,190,170,0.2) 100%);
  border-radius: 6% / 10%; animation: tfc-window 9s ease-in-out infinite alternate;
}
.scn-tutt-finishes-cross .gavel {
  position: absolute; bottom:18%; left:55%; width:6%; height:4%;
  background: #6a4a3a; border-radius: 20%; box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: tfc-gavel 1.5s ease-in-out infinite;
}
.scn-tutt-finishes-cross .shadow-stripe {
  position: absolute; bottom:20%; left:0; width:100%; height:8%;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.3) 20%, transparent 40%, rgba(0,0,0,0.2) 60%, transparent 80%);
  animation: tfc-stripe 5s linear infinite;
}
@keyframes tfc-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes tfc-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes tfc-spotlight { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.1); } 100% { opacity: 0.8; transform: scaleY(0.95); } }
@keyframes tfc-window { 0% { filter: brightness(0.9); } 50% { filter: brightness(1.1); } 100% { filter: brightness(1); } }
@keyframes tfc-gavel { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(6px) rotate(15deg); } 50% { transform: translateX(12px) rotate(0); } 75% { transform: translateX(6px) rotate(-15deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tfc-stripe { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* tutt-opening-defense - calm bright interior, soft courtroom */
.scn-tutt-opening-defense {
  background: linear-gradient(180deg, #f0ece0 0%, #d8d0c0 50%, #c0b8a0 100%),
              radial-gradient(ellipse at 50% 30%, #fff8ee 0%, transparent 70%);
}
.scn-tutt-opening-defense .podium {
  position: absolute; bottom:25%; left:25%; width:12%; height:30%;
  background: linear-gradient(180deg, #a09080 0%, #786858 100%);
  border-radius: 6% 6% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: tod-podium 12s ease-in-out infinite alternate;
}
.scn-tutt-opening-defense .lawyer-profile {
  position: absolute; bottom:25%; left:28%; width:8%; height:40%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tod-profile 6s ease-in-out infinite alternate;
}
.scn-tutt-opening-defense .courtroom-back {
  position: absolute; bottom:0; left:0; width:100%; height:70%;
  background: linear-gradient(180deg, transparent 0%, rgba(200,190,170,0.3) 100%);
  border-radius: 30% 30% 0 0;
  animation: tod-back 20s ease-in-out infinite alternate;
}
.scn-tutt-opening-defense .judge-bench {
  position: absolute; bottom:15%; left:5%; right:5%; height:10%;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.scn-tutt-opening-defense .soft-glow {
  position: absolute; top:10%; left:20%; width:60%; height:40%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.3) 0%, transparent 70%);
  mix-blend-mode: overlay; pointer-events: none;
  animation: tod-glow 8s ease-in-out infinite alternate;
}
.scn-tutt-opening-defense .paper-scroll {
  position: absolute; bottom:30%; left:30%; width:16%; height:4%;
  background: #e8d8c0; border-radius: 10%; box-shadow: 0 2px 4px rgba(0,0,0,.15);
  animation: tod-scroll 10s ease-in-out infinite;
}
@keyframes tod-podium { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(0.98); } }
@keyframes tod-profile { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes tod-back { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes tod-glow { 0% { opacity: 0.6; filter: blur(0); } 50% { opacity: 0.9; filter: blur(4px); } 100% { opacity: 0.7; filter: blur(2px); } }
@keyframes tod-scroll { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0); } 75% { transform: translateX(4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }

/* defense-witnesses-plunkett - warm, bright interior, witness stand */
.scn-defense-witnesses-plunkett {
  background: linear-gradient(180deg, #f5e6d0 0%, #dcc6a0 40%, #c0a880 100%),
              radial-gradient(ellipse at 50% 40%, #ffe0b0 0%, transparent 60%);
}
.scn-defense-witnesses-plunkett .witness-box {
  position: absolute; bottom:20%; left:35%; width:20%; height:25%;
  background: linear-gradient(180deg, #b0a090 0%, #807060 100%);
  border-radius: 6% 6% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.25);
  animation: dwp-box 15s ease-in-out infinite alternate;
}
.scn-defense-witnesses-plunkett .witness-figure {
  position: absolute; bottom:22%; left:38%; width:8%; height:40%;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dwp-witness 5s ease-in-out infinite alternate;
}
.scn-defense-witnesses-plunkett .lawyer-half {
  position: absolute; bottom:25%; left:55%; width:6%; height:30%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%);
  border-radius: 50% 0 0 50% / 60% 0 0 40%;
  transform-origin: bottom left;
  animation: dwp-lawyer 7s ease-in-out infinite alternate;
}
.scn-defense-witnesses-plunkett .warm-backdrop {
  position: absolute; inset:0;
  background: radial-gradient(ellipse at 40% 50%, rgba(255,200,120,0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: dwp-backdrop 12s ease-in-out infinite;
}
.scn-defense-witnesses-plunkett .desk-lamp {
  position: absolute; bottom:30%; left:50%; width:8%; height:10%;
  background: radial-gradient(circle at 50% 30%, #ffd080 0%, #c08040 70%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 0 20px 6px rgba(255,200,100,0.5);
  animation: dwp-lamp 4s ease-in-out infinite alternate;
}
.scn-defense-witnesses-plunkett .spectator-silhouette {
  position: absolute; bottom:10%; left:5%; width:12%; height:25%;
  background: rgba(30,20,10,0.5);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  filter: blur(1px);
  animation: dwp-spectator 20s ease-in-out infinite alternate;
}
@keyframes dwp-box { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes dwp-witness { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes dwp-lawyer { 0% { transform: rotate(0) scaleY(1); } 50% { transform: rotate(-2deg) scaleY(1.05); } 100% { transform: rotate(0) scaleY(0.98); } }
@keyframes dwp-backdrop { 0% { opacity: 0.7; filter: blur(2px); } 50% { opacity: 1; filter: blur(0); } 100% { opacity: 0.8; filter: blur(2px); } }
@keyframes dwp-lamp { 0% { box-shadow: 0 0 15px 4px rgba(255,200,100,0.4); opacity: 0.9; } 50% { box-shadow: 0 0 30px 10px rgba(255,220,120,0.6); opacity: 1; } 100% { box-shadow: 0 0 18px 5px rgba(255,200,100,0.45); opacity: 0.95; } }
@keyframes dwp-spectator { 0% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(4px) scaleX(1.05); } 100% { transform: translateX(0) scaleX(0.98); } }

/* defense-witnesses-neighbors - warm, bright, crowd of silhouettes on street */
.scn-defense-witnesses-neighbors {
  background: linear-gradient(180deg, #e8dcc8 0%, #d0c0a0 40%, #b8a080 100%),
              radial-gradient(ellipse at 50% 80%, #ffe0b0 0%, transparent 60%);
}
.scn-defense-witnesses-neighbors .neighbor-row {
  position: absolute; bottom:10%; left:5%; right:5%; height:30%;
  background: linear-gradient(180deg, rgba(40,30,20,0.6) 0%, rgba(30,20,10,0.3) 100%);
  border-radius: 40% 40% 0 0 / 50% 50% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.2);
  animation: dwn-row 30s ease-in-out infinite alternate;
}
.scn-defense-witnesses-neighbors .neighbor-a {
  position: absolute; bottom:10%; left:12%; width:7%; height:30%;
  background: linear-gradient(180deg, #2a1a10 0%, #0e0a05 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: dwn-a 5s ease-in-out infinite alternate;
}
.scn-defense-witnesses-neighbors .neighbor-b {
  position: absolute; bottom:10%; left:25%; width:8%; height:28%;
  background: linear-gradient(180deg, #2a1a10 0%, #0e0a05 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: dwn-b 6s ease-in-out infinite alternate;
  animation-delay: 1s;
}
.scn-defense-witnesses-neighbors .neighbor-c {
  position: absolute; bottom:10%; left:40%; width:6%; height:32%;
  background: linear-gradient(180deg, #2a1a10 0%, #0e0a05 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: dwn-c 7s ease-in-out infinite alternate;
  animation-delay: 2s;
}
.scn-defense-witnesses-neighbors .street-lamp {
  position: absolute; bottom:20%; left:30%; width:4%; height:15%;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #c08040 70%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 8px rgba(255,200,100,0.5);
  animation: dwn-lamp 3s ease-in-out infinite alternate;
}
.scn-defense-witnesses-neighbors .warm-wash {
  position: absolute; inset:0;
  background: radial-gradient(ellipse at 50% 60%, rgba(255,180,80,0.1) 0%, transparent 70%);
  pointer-events: none;
  animation: dwn-wash 15s ease-in-out infinite;
}
.scn-defense-witnesses-neighbors .distant-door {
  position: absolute; bottom:5%; left:60%; width:12%; height:25%;
  background: linear-gradient(180deg, #605040 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: dwn-door 20s ease-in-out infinite alternate;
}
@keyframes dwn-row { 0% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.02); } 100% { opacity: 0.7; transform: scaleY(0.98); } }
@keyframes dwn-a { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes dwn-b { 0% { transform: translateY(0) rotate(0); } 33% { transform: translateY(-2px) rotate(2deg); } 66% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes dwn-c { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-4px) rotate(-2deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes dwn-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); opacity: 0.85; } 50% { box-shadow: 0 0 40px 12px rgba(255,220,120,0.6); opacity: 1; } 100% { box-shadow: 0 0 25px 6px rgba(255,200,100,0.45); opacity: 0.9; } }
@keyframes dwn-wash { 0% { opacity: 0.5; } 50% { opacity: 0.8; } 100% { opacity: 0.6; } }
@keyframes dwn-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.03); } 100% { transform: scaleY(0.97); } }

/* tutt-dinner-preparation */
.scn-tutt-dinner-preparation {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%),
    radial-gradient(ellipse at 50% 100%, #2a1a0a 40%, transparent 70%);
  overflow: hidden;
}
.scn-tutt-dinner-preparation .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e10 100%);
  border-bottom: 4px solid #1a0e04;
}
.scn-tutt-dinner-preparation .stove {
  position: absolute; bottom: 10%; left: 10%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,.6), 0 4px 8px rgba(0,0,0,.4);
}
.scn-tutt-dinner-preparation .pot {
  position: absolute; bottom: 28%; left: 18%; width: 12%; height: 8%;
  border-radius: 50% 50% 10% 10%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  box-shadow: 0 4px 6px rgba(0,0,0,.5);
  animation: prep-pot 8s ease-in-out infinite;
}
.scn-tutt-dinner-preparation .table {
  position: absolute; bottom: 6%; left: 25%; right: 5%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a12 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 -2px 4px rgba(0,0,0,.3);
}
.scn-tutt-dinner-preparation .cook {
  position: absolute; bottom: 16%; left: 45%; width: 14%; height: 30%;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  transform-origin: bottom center;
  animation: prep-cook 3s ease-in-out infinite alternate;
}
.scn-tutt-dinner-preparation .steam {
  position: absolute; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,200,150,0.3) 0%, transparent 70%);
  filter: blur(6px);
  animation: prep-steam 6s ease-in-out infinite;
}
.scn-tutt-dinner-preparation .steam-a { bottom: 32%; left: 20%; width: 10%; height: 20%; animation-delay: 0s; }
.scn-tutt-dinner-preparation .steam-b { bottom: 30%; left: 24%; width: 8%; height: 18%; animation-delay: 2s; }
.scn-tutt-dinner-preparation .flame {
  position: absolute; bottom: 26%; left: 22%; width: 4%; height: 6%;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg, #ffa040 0%, #ff6000 50%, #a02000 100%);
  box-shadow: 0 0 20px 8px rgba(255,160,64,.4);
  animation: prep-flame 0.8s ease-in-out infinite alternate;
}
@keyframes prep-pot {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
}
@keyframes prep-cook {
  0% { transform: translateX(-2px) rotate(-2deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes prep-steam {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  50% { transform: translateY(-40%) scale(1.5); opacity: 0.3; }
  100% { transform: translateY(-80%) scale(2); opacity: 0; }
}
@keyframes prep-flame {
  0% { transform: scaleY(0.8) translateY(0); opacity: 1; }
  50% { transform: scaleY(1.2) translateY(-2px); opacity: 0.9; }
  100% { transform: scaleY(0.9) translateY(0); opacity: 1; }
}

/* tutt-dinner-drinks */
.scn-tutt-dinner-drinks {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%),
    radial-gradient(ellipse at 30% 80%, #2a1a0a 60%, transparent 80%);
  overflow: hidden;
}
.scn-tutt-dinner-drinks .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e10 100%);
}
.scn-tutt-dinner-drinks .bookshelf {
  position: absolute; top: 10%; left: 5%; width: 45%; height: 50%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  animation: drnk-shelf 20s ease-in-out infinite alternate;
}
.scn-tutt-dinner-drinks .cupboard {
  position: absolute; top: 15%; right: 10%; width: 30%; height: 45%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 8px rgba(0,0,0,.4);
  animation: drnk-cupboard 12s ease-in-out infinite alternate;
}
.scn-tutt-dinner-drinks .bottles {
  position: absolute; width: 6%; height: 20%;
  border-radius: 40% 40% 10% 10%;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  box-shadow: 0 4px 6px rgba(0,0,0,.3);
  animation: drnk-bottle 6s ease-in-out infinite alternate;
}
.scn-tutt-dinner-drinks .bottles-1 { top: 25%; right: 18%; animation-delay: 0s; }
.scn-tutt-dinner-drinks .bottles-2 { top: 28%; right: 28%; width: 5%; height: 18%; animation-delay: 2s; }
.scn-tutt-dinner-drinks .glass {
  position: absolute; bottom: 12%; left: 28%; width: 8%; height: 14%;
  border-radius: 0 0 6% 6%;
  background: linear-gradient(180deg, rgba(200,180,160,0.5) 0%, rgba(150,130,110,0.3) 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: drnk-glass 4s ease-in-out infinite;
}
.scn-tutt-dinner-drinks .figure-drink {
  position: absolute; bottom: 6%; left: 22%; width: 14%; height: 24%;
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a1208 100%);
  transform-origin: bottom center;
  animation: drnk-fig 5s ease-in-out infinite alternate;
}
.scn-tutt-dinner-drinks .light-spot {
  position: absolute; top: 20%; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,200,150,0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: drnk-light 8s ease-in-out infinite alternate;
}
@keyframes drnk-shelf {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.02) rotate(0.5deg); }
}
@keyframes drnk-cupboard {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}
@keyframes drnk-bottle {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes drnk-glass {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
}
@keyframes drnk-fig {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes drnk-light {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

/* tutt-dinner-impression */
.scn-tutt-dinner-impression {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%),
    radial-gradient(ellipse at 50% 20%, #5a4a3a 30%, transparent 70%);
  overflow: hidden;
}
.scn-tutt-dinner-impression .bg-dining {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a1208 100%);
}
.scn-tutt-dinner-impression .table-top {
  position: absolute; bottom: 5%; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a12 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,.5);
  animation: impr-table 10s ease-in-out infinite alternate;
}
.scn-tutt-dinner-impression .plate {
  position: absolute; bottom: 20%; left: 20%; width: 18%; height: 8%;
  border-radius: 50%;
  background: radial-gradient(circle, #8a7a6a 0%, #4a3a2a 100%);
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: impr-plate 6s ease-in-out infinite alternate;
}
.scn-tutt-dinner-impression .glassware {
  position: absolute; width: 4%; height: 12%;
  border-radius: 0 0 10% 10%;
  background: linear-gradient(180deg, rgba(200,190,180,0.6) 0%, rgba(150,140,130,0.2) 100%);
  box-shadow: 0 0 12px rgba(200,190,180,0.2);
  animation: impr-glass 8s ease-in-out infinite alternate;
}
.scn-tutt-dinner-impression .glass-1 { bottom: 22%; left: 42%; animation-delay: 0s; }
.scn-tutt-dinner-impression .glass-2 { bottom: 24%; left: 52%; height: 10%; animation-delay: 2s; }
.scn-tutt-dinner-impression .candle {
  position: absolute; bottom: 28%; left: 48%; width: 3%; height: 16%;
  border-radius: 20% 20% 10% 10%;
  background: linear-gradient(180deg, #ffd080 0%, #c08040 50%, #8a5020 100%);
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.5);
  animation: impr-candle 3s ease-in-out infinite alternate;
}
.scn-tutt-dinner-impression .shine {
  position: absolute; bottom: 15%; left: 25%; right: 25%; height: 2%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,200,0.3) 30%, transparent 70%);
  filter: blur(2px);
  animation: impr-shine 12s ease-in-out infinite alternate;
}
.scn-tutt-dinner-impression .miranda {
  position: absolute; bottom: 8%; left: 65%; width: 16%; height: 30%;
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  transform-origin: bottom center;
  animation: impr-miranda 5s ease-in-out infinite alternate;
}
@keyframes impr-table {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes impr-plate {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); }
  100% { transform: scale(1); }
}
@keyframes impr-glass {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes impr-candle {
  0% { transform: scaleY(0.9) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.1) translateY(-3px); opacity: 1; }
  100% { transform: scaleY(0.95) translateY(0); opacity: 0.95; }
}
@keyframes impr-shine {
  0% { transform: translateX(-10%); opacity: 0.3; }
  50% { transform: translateX(10%); opacity: 0.6; }
  100% { transform: translateX(-10%); opacity: 0.3; }
}
@keyframes impr-miranda {
  0% { transform: rotate(-2deg) translateX(0); }
  50% { transform: rotate(1deg) translateX(2px); }
  100% { transform: rotate(-1deg) translateX(0); }
}

/* tutt-dinner-confidence */
.scn-tutt-dinner-confidence {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #1a1208 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a1a 50%, transparent 70%);
  overflow: hidden;
}
.scn-tutt-dinner-confidence .dark-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1208 0%, #0e0a04 100%);
}
.scn-tutt-dinner-confidence .fireplace {
  position: absolute; bottom: 10%; left: 10%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset 0 -10px 15px rgba(0,0,0,.6);
}
.scn-tutt-dinner-confidence .flame-glow {
  position: absolute; bottom: 25%; left: 18%; width: 24%; height: 30%;
  background: radial-gradient(circle at 50% 100%, rgba(255,150,50,0.6) 0%, rgba(255,100,20,0.3) 50%, transparent 80%);
  filter: blur(12px);
  animation: conf-glow 2s ease-in-out infinite alternate;
}
.scn-tutt-dinner-confidence .chair-left {
  position: absolute; bottom: 6%; left: 20%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a1208 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: conf-chair 7s ease-in-out infinite alternate;
}
.scn-tutt-dinner-confidence .chair-right {
  position: absolute; bottom: 6%; right: 20%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: conf-chair 7s ease-in-out infinite alternate-reverse;
}
.scn-tutt-dinner-confidence .figure-utt {
  position: absolute; bottom: 14%; left: 28%; width: 10%; height: 25%;
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  transform-origin: bottom center;
  animation: conf-fig-utt 8s ease-in-out infinite alternate;
}
.scn-tutt-dinner-confidence .figure-young {
  position: absolute; bottom: 14%; right: 28%; width: 10%; height: 25%;
  border-radius: 50% 50% 40% 40% / 50% 50% 30% 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  transform-origin: bottom center;
  animation: conf-fig-young 8s ease-in-out infinite alternate;
}
.scn-tutt-dinner-confidence .whisper-line {
  position: absolute; bottom: 38%; left: 38%; right: 38%; height: 2%;
  background: linear-gradient(90deg, transparent 0%, rgba(200,180,160,0.2) 30%, rgba(200,180,160,0.4) 50%, rgba(200,180,160,0.2) 70%, transparent 100%);
  filter: blur(3px);
  animation: conf-whisper 5s ease-in-out infinite alternate;
}
@keyframes conf-glow {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes conf-chair {
  0% { transform: rotate(-0.5deg) translateY(0); }
  50% { transform: rotate(0.5deg) translateY(-2px); }
  100% { transform: rotate(-0.5deg) translateY(0); }
}
@keyframes conf-fig-utt {
  0% { transform: rotate(-2deg) translateX(0); }
  50% { transform: rotate(1deg) translateX(3px); }
  100% { transform: rotate(-1deg) translateX(0); }
}
@keyframes conf-fig-young {
  0% { transform: rotate(2deg) translateX(0); }
  50% { transform: rotate(-1deg) translateX(-3px); }
  100% { transform: rotate(1deg) translateX(0); }
}
@keyframes conf-whisper {
  0% { transform: scaleX(0.8); opacity: 0.2; }
  50% { transform: scaleX(1.2); opacity: 0.5; }
  100% { transform: scaleX(0.9); opacity: 0.3; }
}

/* Scene: kahoots-tablecloth-story (funny, bright interior) */
.scn-kahoots-tablecloth-story {
  background:
    linear-gradient(180deg, #f9e6c8 0%, #e8d4a9 40%, #f0d89a 100%),
    radial-gradient(ellipse at 50% 100%, #d4b87a 0%, transparent 60%);
}
.scn-kahoots-tablecloth-story .room { position:absolute; inset:0; background: linear-gradient(180deg, #fff4e0 0%, #e8d4a9 60%, #cbb48a 100%); }
.scn-kahoots-tablecloth-story .table { position:absolute; bottom:18%; left:10%; width:80%; height:22%; background: linear-gradient(90deg, #8b6f44 0%, #a88a5a 50%, #8b6f44 100%); border-radius: 8px; box-shadow: 0 6px 12px rgba(0,0,0,0.15); }
.scn-kahoots-tablecloth-story .tablecloth { position:absolute; bottom:20%; left:12%; width:76%; height:20%; background: linear-gradient(90deg, #f5e6c0 0%, #fff5e0 50%, #f5e6c0 100%); border-radius: 4px; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.05)); animation: tab-cloth 8s ease-in-out infinite; }
.scn-kahoots-tablecloth-story .plate { position:absolute; bottom:30%; left:45%; width:50px; height:10px; background: radial-gradient(ellipse, #f0efe5 0%, #d0c8b0 70%); border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.1); animation: tab-plate 3s ease-in-out infinite alternate; }
.scn-kahoots-tablecloth-story .figure-left { position:absolute; bottom:22%; left:22%; width:30px; height:60px; background: linear-gradient(180deg, #2a1e14 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tab-figure-l 2s ease-in-out infinite; }
.scn-kahoots-tablecloth-story .figure-right { position:absolute; bottom:22%; right:22%; width:32px; height:62px; background: linear-gradient(180deg, #2a1e14 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tab-figure-r 2.4s ease-in-out infinite; }
.scn-kahoots-tablecloth-story .judge-figure { position:absolute; bottom:45%; left:48%; width:22px; height:50px; background: linear-gradient(180deg, #3a2e24 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tab-judge 3s ease-in-out infinite; }
.scn-kahoots-tablecloth-story .lantern-swing { position:absolute; top:8%; left:50%; width:16px; height:20px; background: radial-gradient(circle, #ffe680 0%, #e8b040 60%); border-radius: 50%; box-shadow: 0 0 24px 6px #ffd060, 0 0 48px 12px rgba(255,208,96,0.3); animation: tab-lantern 4s ease-in-out infinite; }

@keyframes tab-cloth { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(1.02) translateY(-2px); } 100% { transform: scaleX(1) translateY(0); } }
@keyframes tab-plate { 0% { transform: translateX(0); } 100% { transform: translateX(5px); } }
@keyframes tab-figure-l { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(-5deg); } 50% { transform: translateX(2px) rotate(2deg); } 75% { transform: translateX(-2px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tab-figure-r { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-4px) rotate(5deg); } 50% { transform: translateX(-2px) rotate(-2deg); } 75% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tab-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tab-lantern { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-5px); } 100% { transform: rotate(-8deg) translateY(0); } }

/* Scene: kahoots-assault-conviction (tense, bright interior) */
.scn-kahoots-assault-conviction {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8b89a 40%, #a8987a 100%),
    radial-gradient(ellipse at 50% 0%, #f0e6d0 0%, transparent 60%);
}
.scn-kahoots-assault-conviction .courtroom { position:absolute; inset:0; background: linear-gradient(180deg, #fff8e8 0%, #e8dcc8 70%, #c8b89a 100%); }
.scn-kahoots-assault-conviction .bench { position:absolute; top:10%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-kahoots-assault-conviction .jury-box { position:absolute; bottom:20%; left:5%; width:45%; height:40%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 8px; box-shadow: inset 0 2px 6px rgba(0,0,0,0.2); }
.scn-kahoots-assault-conviction .juryman { position:absolute; bottom:25%; left:15%; width:20px; height:50px; background: linear-gradient(180deg, #2a2018 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: conv-juryman 2.5s ease-in-out infinite; }
.scn-kahoots-assault-conviction .defendant { position:absolute; bottom:10%; left:55%; width:30px; height:65px; background: linear-gradient(180deg, #1a140e 0%, #0e0a06 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: conv-defendant 3s ease-in-out infinite; }
.scn-kahoots-assault-conviction .lawyer-tutt { position:absolute; bottom:12%; right:8%; width:28px; height:60px; background: linear-gradient(180deg, #2a2018 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: conv-lawyer 2.8s ease-in-out infinite; }
.scn-kahoots-assault-conviction .railing { position:absolute; bottom:20%; left:0; right:0; height:8%; background: linear-gradient(90deg, #7a6a5a 0%, #9a8a7a 50%, #7a6a5a 100%); border-radius: 2px; }
.scn-kahoots-assault-conviction .shadow-stripe { position:absolute; top:0; left:60%; width:8%; height:100%; background: rgba(0,0,0,0.1); filter: blur(4px); animation: conv-shadow 6s ease-in-out infinite alternate; }

@keyframes conv-juryman { 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 conv-defendant { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(3px) translateY(-3px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes conv-lawyer { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(5deg); } 50% { transform: translateY(-1px) rotate(-3deg); } 75% { transform: translateY(-2px) rotate(4deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes conv-shadow { 0% { opacity: 0.5; } 100% { opacity: 1; } }

/* Scene: record-produced (tense, bright interior) */
.scn-record-produced {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8b89a 40%, #a8987a 100%),
    radial-gradient(ellipse at 30% 50%, #f5ecd8 0%, transparent 60%);
}
.scn-record-produced .desk { position:absolute; bottom:15%; left:5%; width:90%; height:25%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-record-produced .document { position:absolute; bottom:20%; left:30%; width:35%; height:18%; background: linear-gradient(180deg, #f5f0e0 0%, #d0c8b0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); transform: rotate(-2deg); animation: prod-doc 4s ease-in-out infinite alternate; }
.scn-record-produced .seal { position:absolute; bottom:22%; left:45%; width:20px; height:20px; background: radial-gradient(circle, #e8b040 0%, #c08030 60%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(192,128,48,0.5); animation: prod-seal 3s ease-in-out infinite; }
.scn-record-produced .ribbon { position:absolute; bottom:28%; left:35%; width:40px; height:6px; background: linear-gradient(90deg, #b04030 0%, #d06050 50%, #b04030 100%); border-radius: 3px; transform: rotate(15deg); animation: prod-ribbon 3.5s ease-in-out infinite; }
.scn-record-produced .hand-tutt { position:absolute; bottom:18%; right:20%; width:22px; height:18px; background: linear-gradient(180deg, #2a1e14 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: 50% 100%; animation: prod-hand 2s ease-in-out infinite; }
.scn-record-produced .bag { position:absolute; bottom:15%; left:10%; width:40px; height:30px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 20% 20% 50% 50% / 30% 30% 60% 60%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: prod-bag 5s ease-in-out infinite; }
.scn-record-produced .shadow { position:absolute; bottom:15%; left:0; right:0; height:10%; background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.15) 100%); border-radius: 50%; filter: blur(6px); animation: prod-shadow 6s ease-in-out infinite alternate; }

@keyframes prod-doc { 0% { transform: rotate(-3deg) scale(1); } 50% { transform: rotate(3deg) scale(1.05); } 100% { transform: rotate(-3deg) scale(1); } }
@keyframes prod-seal { 0% { transform: scale(1); } 50% { transform: scale(1.1); opacity:0.9; } 100% { transform: scale(1); } }
@keyframes prod-ribbon { 0% { transform: rotate(15deg) translateX(0); } 50% { transform: rotate(20deg) translateX(2px); } 100% { transform: rotate(15deg) translateX(0); } }
@keyframes prod-hand { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-3px) rotate(5deg); } 66% { transform: translateY(-1px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes prod-bag { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes prod-shadow { 0% { opacity: 0.8; transform: scaleX(1); } 100% { opacity: 1; transform: scaleX(1.1); } }

/* Scene: record-read (tense, bright interior) */
.scn-record-read {
  background:
    linear-gradient(180deg, #e8dcb8 0%, #c8b89a 40%, #9a8a7a 100%),
    radial-gradient(ellipse at 50% 20%, #f0e6d0 0%, transparent 70%);
}
.scn-record-read .podium { position:absolute; bottom:10%; left:50%; width:40%; height:10%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); transform: translateX(-50%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-record-read .reader { position:absolute; bottom:20%; left:50%; width:28px; height:65px; background: linear-gradient(180deg, #2a1e14 0%, #1a1008 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: translateX(-50%); transform-origin: bottom center; animation: read-reader 3s ease-in-out infinite; }
.scn-record-read .scroll { position:absolute; bottom:28%; left:42%; width:20%; height:20%; background: linear-gradient(180deg, #f5f0e0 0%, #d0c8b0 100%); border-radius: 2px; transform: rotate(-5deg); box-shadow: 0 2px 6px rgba(0,0,0,0.1); animation: read-scroll 4s ease-in-out infinite alternate; }
.scn-record-read .charges-pile { position:absolute; bottom:15%; left:20%; width:15%; height:25%; background: repeating-linear-gradient(0deg, #e8dcc8 0px, #d0c8b0 4px, #c0b8a0 8px); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.2); animation: read-pile 5s ease-in-out infinite; }
.scn-record-read .gavel { position:absolute; top:5%; left:70%; width:30px; height:10px; background: linear-gradient(90deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 4px; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: read-gavel 2.5s ease-in-out infinite; }
.scn-record-read .clerks-desk { position:absolute; bottom:10%; left:5%; width:20%; height:15%; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.15); }
.scn-record-read .shadow { position:absolute; bottom:0; left:0; right:0; height:15%; background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.2) 100%); border-radius: 50%; filter: blur(8px); animation: read-shadow 6s ease-in-out infinite alternate; }

@keyframes read-reader { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 33% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 66% { transform: translateX(-50%) translateY(1px) rotate(-1deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes read-scroll { 0% { transform: rotate(-6deg) scale(1); } 50% { transform: rotate(6deg) scale(1.03); } 100% { transform: rotate(-6deg) scale(1); } }
@keyframes read-pile { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes read-gavel { 0% { transform: rotate(-12deg) translateX(0); } 50% { transform: rotate(12deg) translateX(3px); } 100% { transform: rotate(-12deg) translateX(0); } }
@keyframes read-shadow { 0% { opacity: 0.7; transform: scaleX(1); } 100% { opacity: 1; transform: scaleX(1.05); } }

.scn-camel-ascends-further {
  background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 50%, #4a3a6e 100%), radial-gradient(ellipse at 30% 70%, #4a3a6e 0%, transparent 70%);
}
.scn-camel-ascends-further .ca-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 60%, #3a2a4e 100%);
  animation: ca-bg-pulse 12s ease-in-out infinite alternate;
}
.scn-camel-ascends-further .ca-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #2a221a 0%, #4a3a2a 100%);
  border-radius: 30% 70% 0 0 / 60% 40% 0 0;
  animation: ca-ground 18s ease-in-out infinite alternate;
}
.scn-camel-ascends-further .ca-camel-body {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 35%;
  background: radial-gradient(ellipse at 50% 60%, #8a6a4a 0%, #5a3a2a 70%);
  border-radius: 60% 40% 50% 50% / 70% 60% 40% 30%;
  animation: ca-body 4s ease-in-out infinite;
}
.scn-camel-ascends-further .ca-camel-head {
  position: absolute; bottom: 45%; left: 65%; width: 15%; height: 20%;
  background: radial-gradient(ellipse at 50% 60%, #9a7a5a 0%, #5a3a2a 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ca-head 4s ease-in-out infinite;
}
.scn-camel-ascends-further .ca-camel-legs {
  position: absolute; bottom: 0; left: 35%; width: 30%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  animation: ca-legs 4s ease-in-out infinite;
}
.scn-camel-ascends-further .ca-whip {
  position: absolute; bottom: 60%; left: 20%; width: 2px; height: 40%;
  background: linear-gradient(180deg, #6a4a2a 0%, transparent 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: ca-whip 0.6s ease-in-out infinite;
}
.scn-camel-ascends-further .ca-lantern {
  position: absolute; bottom: 60%; left: 15%; width: 12px; height: 16px;
  background: radial-gradient(circle, #ffd080 0%, #b07030 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 6px #ffd080, 0 0 40px 12px rgba(255,208,128,0.3);
  animation: ca-lantern 2s ease-in-out infinite alternate;
}
.scn-camel-ascends-further .ca-star-a {
  position: absolute; top: 10%; left: 20%; width: 4px; height: 4px;
  background: #ffd080; border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(255,208,128,0.8);
  animation: ca-star-drift 30s linear infinite;
}
.scn-camel-ascends-further .ca-star-b {
  position: absolute; top: 15%; right: 25%; width: 3px; height: 3px;
  background: #ffd080; border-radius: 50%;
  box-shadow: 0 0 4px 1px rgba(255,208,128,0.6);
  animation: ca-star-drift 45s linear infinite reverse;
}
@keyframes ca-bg-pulse { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes ca-ground { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes ca-body { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-4px) rotate(2deg) } }
@keyframes ca-head { 0%,100% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(-5deg) } 75% { transform: translateY(-1px) rotate(5deg) } }
@keyframes ca-legs { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes ca-whip { 0%,100% { transform: rotate(-20deg) } 50% { transform: rotate(30deg) } }
@keyframes ca-lantern { 0% { opacity: 0.7; transform: translateY(0) } 100% { opacity: 1; transform: translateY(-2px) } }
@keyframes ca-star-drift { 0% { transform: translateX(0) } 100% { transform: translateX(100vw) } }

.scn-syrians-go-to-restaurant {
  background: linear-gradient(180deg, #1a2a3e 0%, #2a3a4a 50%, #3a4a5a 100%), radial-gradient(ellipse at 50% 80%, #3a4a5a 0%, transparent 70%);
}
.scn-syrians-go-to-restaurant .sy-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a2a3e 0%, #2a3a4a 60%);
  animation: sy-bg 15s ease-in-out infinite alternate;
}
.scn-syrians-go-to-restaurant .sy-street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
}
.scn-syrians-go-to-restaurant .sy-truck {
  position: absolute; bottom: 35%; right: 10%; width: 50%; height: 25%;
  background: linear-gradient(90deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  animation: sy-truck 6s ease-in-out infinite alternate;
}
.scn-syrians-go-to-restaurant .sy-truck-wheels {
  position: absolute; bottom: 30%; right: 15%; width: 8%; height: 8%;
  background: #1a1a1a; border-radius: 50%;
  box-shadow: 10vw 0 0 0 #1a1a1a, 20vw 0 0 0 #1a1a1a;
  animation: sy-wheels 0.8s linear infinite;
}
.scn-syrians-go-to-restaurant .sy-figure-climb {
  position: absolute; bottom: 40%; right: 45%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sy-climb 3s ease-in-out infinite;
}
.scn-syrians-go-to-restaurant .sy-figure-seated {
  position: absolute; bottom: 55%; right: 20%; width: 10%; height: 16%;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sy-seated 4s ease-in-out infinite;
}
.scn-syrians-go-to-restaurant .sy-lamp {
  position: absolute; bottom: 50%; left: 10%; width: 4px; height: 25%;
  background: linear-gradient(180deg, #6a6a5a 0%, #2a2a1a 100%);
  border-radius: 20% 20% 0 0;
}
.scn-syrians-go-to-restaurant .sy-lamp-glow {
  position: absolute; bottom: 70%; left: 8%; width: 6%; height: 6%;
  background: radial-gradient(circle, #ffe080 0%, rgba(255,224,128,0.3) 50%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px #ffe080, 0 0 60px 20px rgba(255,224,128,0.2);
  animation: sy-glow 3s ease-in-out infinite alternate;
}
@keyframes sy-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes sy-truck { 0%,100% { transform: translateX(0) } 50% { transform: translateX(-3px) } }
@keyframes sy-wheels { 0% { transform: rotate(0) } 100% { transform: rotate(360deg) } }
@keyframes sy-climb { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } }
@keyframes sy-seated { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes sy-glow { 0% { opacity: 0.7; transform: scale(0.9) } 100% { opacity: 1; transform: scale(1.1) } }

.scn-willies-catapult {
  background: linear-gradient(180deg, #a8d8ea 0%, #87ceeb 30%, #f0e68c 100%), radial-gradient(ellipse at 50% 0%, #87ceeb 0%, transparent 70%);
}
.scn-willies-catapult .wc-sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #87ceeb 0%, #f0e68c 100%);
  animation: wc-sky 18s ease-in-out infinite alternate;
}
.scn-willies-catapult .wc-horizon {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 5%;
  background: linear-gradient(180deg, #b0c4de 0%, #8fbc8f 100%);
  border-radius: 50% 50% 0 0;
}
.scn-willies-catapult .wc-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8fbc8f 0%, #6b8e23 100%);
  border-radius: 40% 60% 0 0 / 60% 40% 0 0;
}
.scn-willies-catapult .wc-catapult-base {
  position: absolute; bottom: 30%; left: 30%; width: 20%; height: 15%;
  background: linear-gradient(180deg, #8b4513 0%, #5c3a1a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
.scn-willies-catapult .wc-catapult-arm {
  position: absolute; bottom: 40%; left: 35%; width: 3%; height: 30%;
  background: linear-gradient(180deg, #a0522d 0%, #5c3a1a 100%);
  border-radius: 30% 30% 0 0;
  transform-origin: bottom center;
  animation: wc-arm 2s ease-in-out infinite;
}
.scn-willies-catapult .wc-projectile {
  position: absolute; bottom: 60%; left: 20%; width: 4%; height: 4%;
  background: radial-gradient(circle, #696969 0%, #333 100%);
  border-radius: 50%;
  animation: wc-projectile 2s ease-in-out infinite;
}
.scn-willies-catapult .wc-willie {
  position: absolute; bottom: 15%; left: 15%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #f5f5dc 0%, #deb887 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wc-figure 3s ease-in-out infinite alternate;
}
.scn-willies-catapult .wc-truck {
  position: absolute; bottom: 10%; right: 10%; width: 20%; height: 15%;
  background: linear-gradient(90deg, #ff6347 0%, #b22222 100%);
  border-radius: 10% 10% 20% 20%;
  animation: wc-truck 8s linear infinite;
}
@keyframes wc-sky { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes wc-arm { 0%,100% { transform: rotate(-20deg) } 50% { transform: rotate(45deg) } }
@keyframes wc-projectile { 0%,100% { transform: translate(0, 0) } 50% { transform: translate(100px, -50px) } }
@keyframes wc-figure { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes wc-truck { 0% { transform: translateX(0) } 100% { transform: translateX(-200px) } }

.scn-willie-and-scraggs {
  background: linear-gradient(180deg, #f5deb3 0%, #deb887 50%, #d2b48c 100%), radial-gradient(ellipse at 50% 30%, #f5deb3 0%, transparent 70%);
}
.scn-willie-and-scraggs .ws-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #c4a882 0%, #a0845c 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
}
.scn-willie-and-scraggs .ws-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8b7355 0%, #5c4033 100%);
  border-radius: 10% 10% 0 0;
}
.scn-willie-and-scraggs .ws-window {
  position: absolute; top: 10%; left: 18%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #e0f7fa 0%, #b2ebf2 100%);
  border: 6px solid #5c4033;
  border-radius: 4% 4% 8% 8%;
  animation: ws-window 6s ease-in-out infinite alternate;
}
.scn-willie-and-scraggs .ws-desk {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #6b4c2e 0%, #3e2723 100%);
  border-radius: 4% 4% 0 0;
}
.scn-willie-and-scraggs .ws-willie {
  position: absolute; bottom: 32%; left: 40%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #f5f5dc 0%, #deb887 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ws-willie 3s ease-in-out infinite alternate;
}
.scn-willie-and-scraggs .ws-scraggs {
  position: absolute; bottom: 32%; left: 55%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #e0c8a8 0%, #b89870 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ws-scraggs 3s ease-in-out infinite alternate;
}
.scn-willie-and-scraggs .ws-target {
  position: absolute; top: 10%; right: 10%; width: 8%; height: 8%;
  background: radial-gradient(circle, #ff4500 0%, #ff8c00 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 5px rgba(255,140,0,0.5);
  animation: ws-target 2s ease-in-out infinite alternate;
}
.scn-willie-and-scraggs .ws-target-glow {
  position: absolute; top: 8%; right: 8%; width: 12%; height: 12%;
  background: radial-gradient(circle, rgba(255,140,0,0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: ws-glow-pulse 3s ease-in-out infinite;
}
@keyframes ws-window { 0% { opacity: 0.8; transform: scale(1) } 100% { opacity: 1; transform: scale(1.05) } }
@keyframes ws-willie { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(3deg) } }
@keyframes ws-scraggs { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-1px) rotate(-2deg) } }
@keyframes ws-target { 0% { transform: scale(0.9); box-shadow: 0 0 10px 2px rgba(255,140,0,0.4) } 100% { transform: scale(1.1); box-shadow: 0 0 30px 8px rgba(255,140,0,0.7) } }
@keyframes ws-glow-pulse { 0%,100% { opacity: 0.5; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.2) } }

.scn-tutt-dinner-philosophy { background: linear-gradient(180deg, #4a3620 0%, #2c1f0e 100%), radial-gradient(ellipse at 30% 80%, #c8813a 0%, transparent 60%); }
.scn-tutt-dinner-philosophy .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #3a2a15 0%, #5a4030 40%, #4a351a 100%); }
.scn-tutt-dinner-philosophy .table { position:absolute; bottom:10%; left:20%; right:20%; height:20%; background: linear-gradient(180deg, #6b4a2a 0%, #4d321a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 -6px 20px rgba(0,0,0,.5); }
.scn-tutt-dinner-philosophy .plate { position:absolute; bottom:18%; left:45%; width:30px; height:30px; background: radial-gradient(circle at 40% 40%, #e8d8c8 0%, #c4a48a 80%); border-radius:50%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: tf-plate 10s ease-in-out infinite; }
.scn-tutt-dinner-philosophy .candle-glow { position:absolute; bottom:28%; left:48%; width:14px; height:40px; background: linear-gradient(180deg, #ffdd99 0%, #d49a4a 50%, #a06020 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 30px 8px #ffaa44; animation: tf-candle 4s ease-in-out infinite alternate; }
.scn-tutt-dinner-philosophy .gentleman { position:absolute; bottom:14%; left:35%; width:40px; height:70px; background: linear-gradient(180deg, #2a1e10 0%, #1a0e05 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tf-gentleman 8s ease-in-out infinite; }
.scn-tutt-dinner-philosophy .portrait { position:absolute; top:18%; left:70%; width:50px; height:70px; background: linear-gradient(180deg, #3a2510 0%, #2a1a0a 100%); border-radius: 10% 10% 5% 5%; box-shadow: inset 0 0 15px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.6); animation: tf-portrait 12s ease-in-out infinite alternate; }
.scn-tutt-dinner-philosophy .shadow { position:absolute; bottom:0; left:10%; width:80%; height:20%; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.6) 0%, transparent 80%); animation: tf-shadow 10s ease-in-out infinite; }
.scn-tutt-dinner-philosophy .warm-light { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 60%, rgba(255,200,100,.2) 0%, transparent 60%); pointer-events: none; animation: tf-warm 6s ease-in-out infinite alternate; }
@keyframes tf-plate { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes tf-candle { 0% { box-shadow: 0 0 20px 4px #ffaa44; opacity:.9; } 50% { box-shadow: 0 0 40px 12px #ffcc66; opacity:1; } 100% { box-shadow: 0 0 25px 6px #ffaa44; opacity:.85; } }
@keyframes tf-gentleman { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes tf-portrait { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,.4); } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,.6); } 100% { box-shadow: inset 0 0 15px rgba(0,0,0,.5); } }
@keyframes tf-shadow { 0%,100% { opacity:.7; } 50% { opacity:1; } }
@keyframes tf-warm { 0% { opacity:.3; } 50% { opacity:.5; } 100% { opacity:.4; } }

.scn-payson-night-walk { background: linear-gradient(180deg, #0c0c20 0%, #12122a 30%, #1a1a3a 100%), radial-gradient(ellipse at 50% 80%, #1a1a3a 0%, transparent 70%); }
.scn-payson-night-walk .sky-night { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 100%); animation: pw-sky 20s ease-in-out infinite alternate; }
.scn-payson-night-walk .stars-a { position:absolute; inset:0; background: radial-gradient(2px at 20% 10%, #fff 0%, transparent 100%), radial-gradient(1px at 45% 25%, #e0e0ff 0%, transparent 100%), radial-gradient(2px at 70% 15%, #d0d0ff 0%, transparent 100%), radial-gradient(1px at 85% 35%, #f0f0ff 0%, transparent 100%); background-size: 100% 100%; animation: pw-stars-a 30s linear infinite; }
.scn-payson-night-walk .stars-b { position:absolute; inset:0; background: radial-gradient(2px at 30% 45%, #fff 0%, transparent 100%), radial-gradient(1px at 60% 60%, #e0e0ff 0%, transparent 100%), radial-gradient(2px at 10% 55%, #d0d0ff 0%, transparent 100%); animation: pw-stars-b 40s linear infinite reverse; }
.scn-payson-night-walk .path { position:absolute; bottom:20%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 20% 20% / 100% 100% 20% 20%; box-shadow: 0 2px 10px rgba(0,0,0,.5); animation: pw-path 15s ease-in-out infinite; }
.scn-payson-night-walk .figure-walk { position:absolute; bottom:18%; left:45%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pw-walk 6s ease-in-out infinite; }
.scn-payson-night-walk .lantern-hand { position:absolute; bottom:27%; left:43%; width:8px; height:8px; background: #ffcc80; border-radius:50%; box-shadow: 0 0 20px 6px #ffcc80, 0 0 40px 12px rgba(255,204,128,.4); animation: pw-lantern 6s ease-in-out infinite; }
.scn-payson-night-walk .tree-silhouette { position:absolute; bottom:30%; right:15%; width:40px; height:100px; background: linear-gradient(180deg, #0e0e1a 0%, #050510 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; animation: pw-tree 25s ease-in-out infinite alternate; }
.scn-payson-night-walk .ground { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%); }
@keyframes pw-sky { 0% { opacity:.9; } 50% { opacity:1; } 100% { opacity:.8; } }
@keyframes pw-stars-a { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.6; } }
@keyframes pw-stars-b { 0% { opacity:.6; } 50% { opacity:.9; } 100% { opacity:.5; } }
@keyframes pw-path { 0%,100% { opacity:.8; } 50% { opacity:1; } }
@keyframes pw-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(-1deg); } 75% { transform: translateX(24px) translateY(-2px) rotate(1deg); } 100% { transform: translateX(32px) translateY(0) rotate(0deg); } }
@keyframes pw-lantern { 0%,100% { transform: translate(0,0) rotate(-4deg); } 50% { transform: translate(4px,-2px) rotate(4deg); } }
@keyframes pw-tree { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(0.98); } }

.scn-search-for-sadie-burch { background: linear-gradient(180deg, #e8e0d0 0%, #d4c8b4 100%), radial-gradient(ellipse at 50% 80%, #fff8e8 0%, transparent 70%); }
.scn-search-for-sadie-burch .room-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #d4c8b4 0%, #e8ddd0 50%, #d0c0a8 100%); }
.scn-search-for-sadie-burch .desk { position:absolute; bottom:20%; left:10%; right:40%; height:30%; background: linear-gradient(180deg, #8e7a5e 0%, #6b5940 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.2); }
.scn-search-for-sadie-burch .paper-stack { position:absolute; bottom:38%; left:20%; width:30px; height:20px; background: linear-gradient(180deg, #f0ebe4 0%, #d0c8b8 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.15); animation: sb-paper 9s ease-in-out infinite; }
.scn-search-for-sadie-burch .telephone { position:absolute; bottom:42%; left:35%; width:16px; height:24px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 40% 40% 10% 10%; transform: rotate(15deg); animation: sb-phone 6s ease-in-out infinite; }
.scn-search-for-sadie-burch .chair-figure { position:absolute; bottom:22%; left:25%; width:30px; height:60px; background: linear-gradient(180deg, #3a3020 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: sb-figure 8s ease-in-out infinite; }
.scn-search-for-sadie-burch .window-bright { position:absolute; top:20%; right:15%; width:60px; height:80px; background: linear-gradient(180deg, #e0e8f0 0%, #c0d0e0 100%); border-radius: 8% 8% 5% 5%; box-shadow: 0 0 20px 6px rgba(255,255,240,.5); animation: sb-window 12s ease-in-out infinite alternate; }
.scn-search-for-sadie-burch .lamp-light { position:absolute; bottom:5%; left:5%; width:40px; height:50px; background: radial-gradient(ellipse at 50% 20%, #ffe8c0 0%, transparent 70%); opacity:.4; animation: sb-lamp 8s ease-in-out infinite alternate; }
@keyframes sb-paper { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } }
@keyframes sb-phone { 0% { transform: rotate(15deg); } 25% { transform: rotate(20deg); } 50% { transform: rotate(15deg); } 75% { transform: rotate(10deg); } 100% { transform: rotate(15deg); } }
@keyframes sb-figure { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes sb-window { 0% { opacity:.9; } 50% { opacity:1; box-shadow: 0 0 30px 10px rgba(255,255,240,.6); } 100% { opacity:.85; } }
@keyframes sb-lamp { 0% { opacity:.2; } 50% { opacity:.5; } 100% { opacity:.3; } }

.scn-journey-to-new-jersey { background: linear-gradient(180deg, #a8d4e0 0%, #c8e8f0 40%, #e0f0e8 100%), radial-gradient(ellipse at 50% 100%, #d4e8d0 0%, transparent 70%); }
.scn-journey-to-new-jersey .sky-sun { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #6aacd0 0%, #8ac4e0 100%); animation: jn-sky 15s ease-in-out infinite alternate; }
.scn-journey-to-new-jersey .road { position:absolute; bottom:15%; left:0; right:0; height:20%; background: linear-gradient(180deg, #c0b090 0%, #a09070 100%); border-radius: 40% 40% 0 0 / 80% 80% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.2); animation: jn-road 18s ease-in-out infinite; }
.scn-journey-to-new-jersey .tractor { position:absolute; bottom:22%; left:30%; width:80px; height:50px; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 10px rgba(0,0,0,.4); animation: jn-tractor 8s ease-in-out infinite; }
.scn-journey-to-new-jersey .driver { position:absolute; bottom:30%; left:33%; width:20px; height:40px; background: linear-gradient(180deg, #3a3020 0%, #1a1410 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: jn-driver 8s ease-in-out infinite; }
.scn-journey-to-new-jersey .elm-tree { position:absolute; bottom:20%; right:20%; width:50px; height:120px; background: linear-gradient(180deg, #2d5a1a 0%, #1a3a0e 100%); border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%; animation: jn-elm 25s ease-in-out infinite alternate; }
.scn-journey-to-new-jersey .hay-bale { position:absolute; bottom:15%; left:65%; width:30px; height:25px; background: radial-gradient(ellipse at 50% 40%, #c8a86a 0%, #a08040 100%); border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,.3); animation: jn-bale 10s ease-in-out infinite; }
.scn-journey-to-new-jersey .dust-particles { position:absolute; bottom:20%; left:20%; width:60px; height:40px; background: radial-gradient(2px at 20% 30%, rgba(200,180,140,.6) 0%, transparent 100%), radial-gradient(2px at 50% 60%, rgba(200,180,140,.4) 0%, transparent 100%), radial-gradient(1px at 80% 20%, rgba(200,180,140,.5) 0%, transparent 100%); animation: jn-dust 12s linear infinite; }
.scn-journey-to-new-jersey .shadow-tree { position:absolute; bottom:10%; right:15%; width:40px; height:80px; background: linear-gradient(180deg, #1a2a0a 0%, #0a1a00 100%); border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%; opacity:.4; animation: jn-shadow 25s ease-in-out infinite alternate; }
@keyframes jn-sky { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes jn-road { 0%,100% { opacity:.9; } 50% { opacity:1; } }
@keyframes jn-tractor { 0% { transform: translateX(0) scale(1); } 25% { transform: translateX(5px) scale(1.01); } 50% { transform: translateX(0) scale(1); } 75% { transform: translateX(-5px) scale(0.99); } 100% { transform: translateX(0) scale(1); } }
@keyframes jn-driver { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes jn-elm { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes jn-bale { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes jn-dust { 0% { transform: translateY(0); opacity:.4; } 50% { transform: translateY(-10px); opacity:.1; } 100% { transform: translateY(0); opacity:.4; } }
@keyframes jn-shadow { 0% { opacity:.3; } 50% { opacity:.5; } 100% { opacity:.4; } }

.scn-beekman-library-night { background: linear-gradient(180deg, #0f172a 0%, #1e293b 40%, #0c1a2f 100%), radial-gradient(ellipse at 35% 30%, #1e3a5f 0%, transparent 70%); min-height: 100%; position: relative; }
.scn-beekman-library-night .wall { position: absolute; inset: 0; background: linear-gradient(135deg, #1a2332 0%, #0d1420 100%); }
.scn-beekman-library-night .bookshelf-left { position: absolute; left: 5%; top: 15%; width: 18%; height: 60%; background: linear-gradient(90deg, #2a1e12 0%, #3a2a1a 30%, #2a1e12 100%); border-radius: 2px; box-shadow: 4px 0 12px rgba(0,0,0,0.6); }
.scn-beekman-library-night .bookshelf-right { position: absolute; right: 5%; top: 15%; width: 18%; height: 60%; background: linear-gradient(90deg, #2a1e12 0%, #3a2a1a 70%, #2a1e12 100%); border-radius: 2px; box-shadow: -4px 0 12px rgba(0,0,0,0.6); }
.scn-beekman-library-night .window-frame { position: absolute; left: 50%; top: 10%; width: 30%; height: 45%; transform: translateX(-50%); background: #1a2a3a; border-radius: 4px 4px 0 0; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); border: 6px solid #2a1a0e; }
.scn-beekman-library-night .window-pane { position: absolute; left: 50%; top: 12%; width: 28%; height: 42%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #2a4a7a 0%, #0a1a3a 80%); box-shadow: 0 0 40px 10px rgba(42,74,122,0.3) inset; animation: bln-window 8s ease-in-out infinite alternate; }
.scn-beekman-library-night .desk { position: absolute; bottom: 8%; left: 25%; width: 50%; height: 20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.8); }
.scn-beekman-library-night .figure-sitting { position: absolute; bottom: 18%; left: 42%; width: 20px; height: 40px; background: linear-gradient(180deg, #0a0f1a 0%, #050810 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: bln-figure 6s ease-in-out infinite; }
.scn-beekman-library-night .lamp { position: absolute; bottom: 28%; left: 44%; width: 8px; height: 16px; background: #b8860b; border-radius: 2px 2px 50% 50%; box-shadow: 0 0 20px 6px #b8860b, 0 0 40px 12px rgba(184,134,11,0.3); animation: bln-lamp 4s ease-in-out infinite alternate; }
.scn-beekman-library-night .shadow { position: absolute; bottom: 5%; left: 35%; width: 30%; height: 20%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.6) 0%, transparent 100%); animation: bln-shadow 8s ease-in-out infinite; }
@keyframes bln-window { 0% { opacity: 0.6; box-shadow: 0 0 30px 5px #2a4a7a inset; } 50% { opacity: 0.9; box-shadow: 0 0 60px 15px #4a7aaa inset; } 100% { opacity: 0.7; box-shadow: 0 0 40px 8px #2a4a7a inset; } }
@keyframes bln-figure { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes bln-lamp { 0% { box-shadow: 0 0 15px 4px #b8860b; } 50% { box-shadow: 0 0 30px 10px #d4a017; } 100% { box-shadow: 0 0 20px 6px #b8860b; } }
@keyframes bln-shadow { 0% { transform: scaleX(1); opacity: 0.5; } 50% { transform: scaleX(1.1); opacity: 0.7; } 100% { transform: scaleX(1); opacity: 0.5; } }

.scn-solicitor-argues-honor { background: linear-gradient(180deg, #d4a373 0%, #b88352 30%, #8c6239 70%, #5a3a1a 100%), radial-gradient(ellipse at 40% 30%, #e8c49a 0%, transparent 60%); min-height: 100%; position: relative; }
.scn-solicitor-argues-honor .floor { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%); border-radius: 20% 20% 0 0 / 10% 10% 0 0; }
.scn-solicitor-argues-honor .wall-panel { position: absolute; top: 10%; left: 10%; width: 80%; height: 75%; background: linear-gradient(135deg, #f0d5b0 0%, #d4b48a 100%); border-radius: 8px; box-shadow: inset 0 0 30px rgba(0,0,0,0.2); }
.scn-solicitor-argues-honor .desk-wood { position: absolute; bottom: 20%; left: 20%; width: 60%; height: 25%; background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); }
.scn-solicitor-argues-honor .solicitor { position: absolute; bottom: 28%; left: 30%; width: 22px; height: 44px; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: sah-solicitor 5s ease-in-out infinite; }
.scn-solicitor-argues-honor .miss-beekman { position: absolute; bottom: 28%; left: 55%; width: 20px; height: 38px; background: linear-gradient(180deg, #2a1e12 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: sah-beekman 6s ease-in-out infinite; }
.scn-solicitor-argues-honor .window-sun { position: absolute; left: 50%; top: 5%; width: 35%; height: 40%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ffe680 0%, #ffcc55 40%, #e8a040 80%, transparent 100%); border-radius: 4px; box-shadow: 0 0 60px 20px rgba(255,204,85,0.4); animation: sah-sun 10s ease-in-out infinite alternate; }
.scn-solicitor-argues-honor .papers { position: absolute; bottom: 30%; left: 35%; width: 25%; height: 8%; background: #f5f0dc; border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.3); transform: rotate(-5deg); animation: sah-papers 7s ease-in-out infinite; }
.scn-solicitor-argues-honor .tea-cup { position: absolute; bottom: 26%; left: 45%; width: 10px; height: 12px; background: radial-gradient(ellipse at 50% 30%, #e8d5c0 0%, #c4a882 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.4); animation: sah-cup 4s ease-in-out infinite; }
@keyframes sah-solicitor { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes sah-beekman { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes sah-sun { 0% { opacity: 0.7; transform: translateX(-50%) scale(0.95); } 50% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: 0.8; transform: translateX(-50%) scale(0.98); } }
@keyframes sah-papers { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes sah-cup { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-tutt-respects-honor { background: linear-gradient(180deg, #0a1628 0%, #142a3e 40%, #1a3a4a 70%, #0d1f2d 100%), radial-gradient(ellipse at 50% 20%, #2a4a6a 0%, transparent 80%); min-height: 100%; position: relative; }
.scn-tutt-respects-honor .night-sky { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #0a1628 0%, #142a3e 100%); animation: trh-sky 12s ease-in-out infinite alternate; }
.scn-tutt-respects-honor .street { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%); border-radius: 30% 30% 0 0 / 50% 50% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6); }
.scn-tutt-respects-honor .house-front { position: absolute; bottom: 20%; left: 40%; width: 30%; height: 70%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 4px 4px 0 0; box-shadow: -4px 0 12px rgba(0,0,0,0.5); }
.scn-tutt-respects-honor .library-window { position: absolute; bottom: 40%; left: 44%; width: 20%; height: 30%; background: radial-gradient(ellipse at 50% 40%, #ffd700 0%, #c8960a 60%, #8a5a00 100%); border-radius: 4px; box-shadow: 0 0 40px 15px rgba(255, 215, 0, 0.5), 0 0 80px 30px rgba(255, 215, 0, 0.3); animation: trh-window 6s ease-in-out infinite alternate; }
.scn-tutt-respects-honor .figure-tutt { position: absolute; bottom: 8%; left: 50%; width: 18px; height: 40px; transform: translateX(-50%); background: linear-gradient(180deg, #0a0f1a 0%, #03060a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: trh-figure 8s ease-in-out infinite; }
.scn-tutt-respects-honor .stoop-railing { position: absolute; bottom: 20%; left: 42%; width: 16%; height: 30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0e 100%); border-radius: 2px; box-shadow: 2px 0 4px rgba(0,0,0,0.5); }
.scn-tutt-respects-honor .gas-lamp { position: absolute; bottom: 15%; left: 35%; width: 6px; height: 12px; background: #ffcc66; border-radius: 50%; box-shadow: 0 0 30px 10px #ffcc66, 0 0 60px 20px rgba(255, 204, 102, 0.3); animation: trh-lamp 5s ease-in-out infinite alternate; }
.scn-tutt-respects-honor .puddle { position: absolute; bottom: 2%; left: 30%; width: 20%; height: 8%; background: radial-gradient(ellipse at 50% 50%, #3a5a6a 0%, #1a2a3a 80%); border-radius: 50%; box-shadow: inset 0 2px 6px rgba(0,0,0,0.5); animation: trh-puddle 10s ease-in-out infinite; }
@keyframes trh-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes trh-window { 0% { box-shadow: 0 0 30px 10px rgba(255,215,0,0.4); opacity: 0.9; } 50% { box-shadow: 0 0 60px 20px rgba(255,215,0,0.7); opacity: 1; } 100% { box-shadow: 0 0 40px 15px rgba(255,215,0,0.5); opacity: 0.95; } }
@keyframes trh-figure { 0% { transform: translateX(-50%) translateY(0) rotate(0deg); } 50% { transform: translateX(-50%) translateY(-2px) rotate(2deg); } 100% { transform: translateX(-50%) translateY(0) rotate(0deg); } }
@keyframes trh-lamp { 0% { transform: scale(0.95); box-shadow: 0 0 25px 8px #ffcc66; } 50% { transform: scale(1.05); box-shadow: 0 0 40px 15px #ffdd88; } 100% { transform: scale(0.98); box-shadow: 0 0 30px 10px #ffcc66; } }
@keyframes trh-puddle { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(1.1) translateY(-2px); } 100% { transform: scaleX(1) translateY(0); } }

.scn-club-conference-babson-obrien { background: linear-gradient(180deg, #1a1010 0%, #2a1a12 40%, #1e1410 100%), radial-gradient(ellipse at 50% 30%, #3a2a1a 0%, transparent 70%); min-height: 100%; position: relative; }
.scn-club-conference-babson-obrien .wall-dark { position: absolute; inset: 0; background: linear-gradient(135deg, #1a1410 0%, #0f0a08 100%); }
.scn-club-conference-babson-obrien .table { position: absolute; bottom: 15%; left: 10%; width: 80%; height: 25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 8px; box-shadow: 0 -6px 12px rgba(0,0,0,0.7); }
.scn-club-conference-babson-obrien .judge-babson { position: absolute; bottom: 30%; left: 25%; width: 22px; height: 42px; background: linear-gradient(180deg, #2a1e12 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: ccb-judge 6s ease-in-out infinite; }
.scn-club-conference-babson-obrien .obrien { position: absolute; bottom: 30%; left: 55%; width: 20px; height: 40px; background: linear-gradient(180deg, #2a1e12 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: ccb-obrien 7s ease-in-out infinite; }
.scn-club-conference-babson-obrien .whiskey-glasses { position: absolute; bottom: 25%; left: 35%; width: 8px; height: 10px; background: radial-gradient(ellipse at 50% 30%, #d4a040 0%, #8a6a20 80%); border-radius: 4px 4px 2px 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.6); animation: ccb-glass 5s ease-in-out infinite; }
.scn-club-conference-babson-obrien .gaslight-glow { position: absolute; left: 50%; top: 5%; width: 20%; height: 30%; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 30%, #ffaa44 0%, #cc6600 50%, transparent 100%); border-radius: 50%; filter: blur(8px); opacity: 0.8; animation: ccb-glow 4s ease-in-out infinite alternate; }
.scn-club-conference-babson-obrien .cigar-smoke { position: absolute; top: 20%; left: 45%; width: 20px; height: 30px; background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,0.3) 0%, transparent 100%); filter: blur(6px); animation: ccb-smoke 12s ease-in-out infinite; }
.scn-club-conference-babson-obrien .ashtray { position: absolute; bottom: 22%; left: 50%; width: 12px; height: 6px; background: #2a1a12; border-radius: 50% 50% 10% 10%; box-shadow: inset 0 2px 4px rgba(0,0,0,0.5); animation: ccb-ashtray 8s ease-in-out infinite; }
@keyframes ccb-judge { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ccb-obrien { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes ccb-glass { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ccb-glow { 0% { opacity: 0.7; transform: translateX(-50%) scale(0.95); } 50% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: 0.8; transform: translateX(-50%) scale(0.98); } }
@keyframes ccb-smoke { 0% { transform: translateY(0) scale(1); opacity: 0.3; } 50% { transform: translateY(-20px) scale(1.5); opacity: 0.1; } 100% { transform: translateY(0) scale(1); opacity: 0.3; } }
@keyframes ccb-ashtray { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

.scn-hassoun-enters {
  background:
    linear-gradient(180deg, #f0e6d0 0%, #d4c4a8 50%, #b8a88c 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e8 0%, transparent 60%);
}

.scn-hassoun-enters .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #d4c4a8 0%, #c0b098 100%);
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.15);
}

.scn-hassoun-enters .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a42 100%);
  border-radius: 4% 4% 0 0 / 10% 10% 0 0;
}

.scn-hassoun-enters .bench {
  position: absolute; bottom: 40%; left: 30%; width: 40%; height: 18%;
  background: linear-gradient(180deg, #5a4a32 0%, #3a2a12 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}

.scn-hassoun-enters .figure-h {
  position: absolute; bottom: 42%; right: 15%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hse-figure 4s ease-in-out infinite;
}

.scn-hassoun-enters .eye-glow {
  position: absolute; bottom: 55%; right: 22%; width: 4px; height: 4px;
  background: #ffd080;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px #ffd080, 0 0 16px 4px rgba(255,208,128,0.5);
  animation: hse-eye 3s ease-in-out infinite alternate;
}

.scn-hassoun-enters .sash {
  position: absolute; bottom: 48%; right: 17%; width: 12px; height: 18px;
  background: #c8553d; /* terracotta */
  border-radius: 2px;
  transform: skewX(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: hse-sash 5s ease-in-out infinite;
}

.scn-hassoun-enters .light-beam {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,240,0.3) 0%, transparent 50%, rgba(255,255,240,0.05) 100%);
  filter: blur(10px);
  animation: hse-beam 8s ease-in-out infinite alternate;
}

.scn-hassoun-enters .shadow {
  position: absolute; bottom: 42%; right: 10%; width: 50px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  filter: blur(4px);
  animation: hse-shadow 4s ease-in-out infinite;
}

@keyframes hse-figure {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-5px) translateY(-2px) rotate(0deg); }
  100% { transform: translateX(0) translateY(0) rotate(2deg); }
}

@keyframes hse-eye {
  0% { opacity: 0.7; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.8; transform: scale(1); }
}

@keyframes hse-sash {
  0%, 100% { transform: skewX(-10deg) translateY(0); }
  50% { transform: skewX(-5deg) translateY(-2px); }
}

@keyframes hse-beam {
  0% { opacity: 0.3; transform: translateX(-10px); }
  50% { opacity: 0.6; transform: translateX(10px); }
  100% { opacity: 0.2; transform: translateX(0); }
}

@keyframes hse-shadow {
  0%, 100% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.3); opacity: 0.7; }
}

/* ------------------------------------------------------------ */

.scn-judge-discusses-paper {
  background:
    linear-gradient(180deg, #f8f0e0 0%, #e8d8c0 50%, #c8b8a0 100%),
    radial-gradient(ellipse at 60% 30%, #fff8e0 0%, transparent 50%);
}

.scn-judge-discusses-paper .bg-jdp {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,240,0.2) 0%, transparent 100%);
}

.scn-judge-discusses-paper .desk {
  position: absolute; bottom: 25%; left: 15%; right: 15%; height: 20%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a42 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

.scn-judge-discusses-paper .judge {
  position: absolute; bottom: 30%; left: 35%; width: 50px; height: 65px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jdp-judge 5s ease-in-out infinite;
}

.scn-judge-discusses-paper .newspaper {
  position: absolute; bottom: 35%; left: 45%; width: 40px; height: 50px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: jdp-paper 6s ease-in-out infinite;
}

.scn-judge-discusses-paper .paper-float {
  position: absolute; bottom: 40%; right: 20%; width: 25px; height: 30px;
  background: #f0e0c0;
  border-radius: 1px;
  transform: rotate(15deg);
  animation: jdp-float 8s linear infinite;
}

.scn-judge-discusses-paper .gavel {
  position: absolute; bottom: 28%; left: 20%; width: 8px; height: 20px;
  background: #5a3a1a;
  border-radius: 1px;
  transform: rotate(-10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: jdp-gavel 4s ease-in-out infinite alternate;
}

.scn-judge-discusses-paper .lamp {
  position: absolute; top: 5%; left: 40%; width: 30px; height: 40px;
  background: radial-gradient(circle at 50% 100%, #fff0c0 0%, #d0b060 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(255,240,192,0.3);
  animation: jdp-lamp 10s ease-in-out infinite alternate;
}

@keyframes jdp-judge {
  0% { transform: translateX(0) translateY(0) rotate(2deg); }
  50% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}

@keyframes jdp-paper {
  0%, 100% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-4px); }
}

@keyframes jdp-float {
  0% { transform: translateY(0) rotate(15deg) scale(1); opacity: 1; }
  50% { transform: translateY(-20px) rotate(25deg) scale(0.9); opacity: 0.6; }
  100% { transform: translateY(0) rotate(15deg) scale(1); opacity: 1; }
}

@keyframes jdp-gavel {
  0% { transform: rotate(-10deg) translateY(0); }
  100% { transform: rotate(-15deg) translateY(-3px); }
}

@keyframes jdp-lamp {
  0% { box-shadow: 0 0 20px 8px rgba(255,240,192,0.3); }
  50% { box-shadow: 0 0 30px 12px rgba(255,240,192,0.5); }
  100% { box-shadow: 0 0 20px 8px rgba(255,240,192,0.3); }
}

/* ------------------------------------------------------------ */

.scn-interpreter-objects {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8bca8 50%, #a89c88 100%),
    radial-gradient(ellipse at 40% 20%, #fff8e8 0%, transparent 60%);
}

.scn-interpreter-objects .court-wall {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #d0c4b0 0%, #b8ac98 100%);
  box-shadow: inset 0 -4px 10px rgba(0,0,0,0.1);
}

.scn-interpreter-objects .court-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
}

.scn-interpreter-objects .interpreter {
  position: absolute; bottom: 35%; left: 40%; width: 35px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: skewX(-5deg);
  animation: io-interp 3s ease-in-out infinite;
}

.scn-interpreter-objects .mustache {
  position: absolute; bottom: 50%; left: 42%; width: 16px; height: 6px;
  background: #5a2a6a; /* purple-violet */
  border-radius: 50%;
  filter: blur(1px);
  animation: io-mustache 2s ease-in-out infinite alternate;
}

.scn-interpreter-objects .bowing-shape {
  position: absolute; bottom: 32%; left: 38%; width: 30px; height: 15px;
  background: radial-gradient(ellipse at 50% 100%, #3a3a4a 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: io-bow 4s ease-in-out infinite;
}

.scn-interpreter-objects .gavel-shadow {
  position: absolute; top: 15%; right: 20%; width: 40px; height: 10px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.2), transparent);
  filter: blur(4px);
  animation: io-shadow 5s linear infinite;
}

.scn-interpreter-objects .document {
  position: absolute; bottom: 38%; left: 50%; width: 30px; height: 35px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%);
  border-radius: 2px;
  transform: rotate(-15deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
  animation: io-doc 7s ease-in-out infinite;
}

.scn-interpreter-objects .tense-lines {
  position: absolute; top: 10%; left: 10%; width: 80%; height: 80%;
  background: repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(80,60,40,0.08) 8px, rgba(80,60,40,0.08) 9px);
  pointer-events: none;
  animation: io-lines 12s linear infinite;
}

@keyframes io-interp {
  0% { transform: skewX(-5deg) translateY(0); }
  50% { transform: skewX(2deg) translateY(-3px); }
  100% { transform: skewX(-5deg) translateY(0); }
}

@keyframes io-mustache {
  0% { transform: scaleX(1) rotate(0deg); }
  100% { transform: scaleX(1.3) rotate(3deg); }
}

@keyframes io-bow {
  0%, 100% { transform: scaleY(1); opacity: 0.6; }
  50% { transform: scaleY(0.3); opacity: 0.9; }
}

@keyframes io-shadow {
  0% { transform: translateX(-20px); opacity: 0.4; }
  50% { transform: translateX(20px); opacity: 0.8; }
  100% { transform: translateX(-20px); opacity: 0.4; }
}

@keyframes io-doc {
  0%, 100% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-5px); }
}

@keyframes io-lines {
  0% { background-position: 0 0; }
  100% { background-position: 40px 40px; }
}

/* ------------------------------------------------------------ */

.scn-judge-unhappy-interpreter {
  background:
    linear-gradient(180deg, #f8ecd8 0%, #e0d0b8 50%, #c0b09a 100%),
    radial-gradient(ellipse at 30% 50%, #fff8e0 0%, transparent 50%);
}

.scn-judge-unhappy-interpreter .bg-jui {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,240,220,0.2) 0%, transparent 100%);
}

.scn-judge-unhappy-interpreter .desk-jui {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 20%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a42 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

.scn-judge-unhappy-interpreter .judge-jui {
  position: absolute; bottom: 30%; left: 20%; width: 45px; height: 60px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jui-judge 4s ease-in-out infinite;
}

.scn-judge-unhappy-interpreter .interpreter-jui {
  position: absolute; bottom: 30%; right: 20%; width: 40px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: jui-interp 3s ease-in-out infinite alternate;
}

.scn-judge-unhappy-interpreter .explosion {
  position: absolute; top: 40%; left: 35%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffd0a0 0%, transparent 70%);
  filter: blur(6px);
  animation: jui-explode 2s ease-in-out infinite;
}

.scn-judge-unhappy-interpreter .flying-paper {
  position: absolute; top: 30%; left: 50%; width: 20px; height: 25px;
  background: #f0e0c0;
  border-radius: 1px;
  transform: rotate(45deg);
  animation: jui-fly 5s linear infinite;
}

.scn-judge-unhappy-interpreter .mustache-jui {
  position: absolute; bottom: 45%; right: 25%; width: 14px; height: 5px;
  background: #6a3a7a; /* purple */
  border-radius: 50%;
  filter: blur(1px);
  animation: jui-mustache 2s ease-in-out infinite alternate;
}

.scn-judge-unhappy-interpreter .arm {
  position: absolute; bottom: 35%; right: 28%; width: 10px; height: 25px;
  background: #2a2a3a;
  border-radius: 5px 5px 2px 2px;
  transform: rotate(-30deg);
  transform-origin: bottom center;
  animation: jui-arm 3s ease-in-out infinite alternate;
}

@keyframes jui-judge {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes jui-interp {
  0% { transform: scaleX(-1) translateX(0); }
  100% { transform: scaleX(-1) translateX(5px); }
}

@keyframes jui-explode {
  0% { opacity: 0.2; transform: scale(0.8); }
  50% { opacity: 0.8; transform: scale(1.2); }
  100% { opacity: 0.2; transform: scale(0.8); }
}

@keyframes jui-fly {
  0% { transform: translate(0, 0) rotate(45deg) scale(1); opacity: 1; }
  50% { transform: translate(-20px, -30px) rotate(-20deg) scale(1.1); opacity: 0.8; }
  100% { transform: translate(0, 0) rotate(45deg) scale(1); opacity: 1; }
}

@keyframes jui-mustache {
  0% { transform: scaleY(1) rotate(0deg); }
  100% { transform: scaleY(2) rotate(5deg); }
}

@keyframes jui-arm {
  0% { transform: rotate(-30deg); }
  100% { transform: rotate(-10deg); }
}

.scn-delany-relieved {
  background: linear-gradient(180deg, #f5e8d0 0%, #d4c4a8 50%, #b8a88a 100%),
              radial-gradient(ellipse at 30% 20%, #fff9e6 0%, transparent 50%);
}
.scn-delany-relieved .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #daceb0, #c0b098);
  animation: dr-wall 20s ease-in-out infinite alternate;
}
.scn-delany-relieved .window {
  position: absolute; top: 5%; right: 8%; width: 28%; height: 38%;
  background: radial-gradient(ellipse at 40% 30%, #fcf3d6 0%, #e8d5b0 40%, #d4bc90 100%);
  border: 4px solid #8a7a5a; border-radius: 4px; box-shadow: inset 0 0 30px #fff0c0;
  animation: dr-window 8s ease-in-out infinite alternate;
}
.scn-delany-relieved .desk {
  position: absolute; bottom: 18%; left: 10%; right: 10%; height: 14%;
  background: linear-gradient(180deg, #7a6a4a, #5a4a2a);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  animation: dr-desk 5s ease-in-out infinite;
}
.scn-delany-relieved .chair {
  position: absolute; bottom: 15%; left: 18%; width: 20%; height: 28%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%; transform-origin: bottom center;
  animation: dr-chair 4s ease-in-out infinite alternate;
}
.scn-delany-relieved .figure-delany {
  position: absolute; bottom: 20%; left: 35%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 80%);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: dr-figure 6s ease-in-out infinite;
}
.scn-delany-relieved .papers {
  position: absolute; bottom: 22%; left: 45%; width: 15%; height: 8%;
  background: #f5eed0; border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: dr-papers 3s ease-in-out infinite alternate;
}
.scn-delany-relieved .lamp {
  position: absolute; bottom: 38%; left: 8%; width: 6%; height: 10%;
  background: radial-gradient(circle at 50% 30%, #f0e080, #b89030);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 6px #d4b060;
  animation: dr-lamp 4s ease-in-out infinite;
}
.scn-delany-relieved .clock {
  position: absolute; top: 5%; left: 8%; width: 12%; height: 14%;
  background: radial-gradient(circle, #f5ecd0, #c8b890);
  border: 3px solid #5a4a2a; border-radius: 50%;
  animation: dr-clock 30s linear infinite;
}
@keyframes dr-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes dr-window { 0% { opacity: 0.7; box-shadow: inset 0 0 20px #f0e0b0; } 50% { opacity: 1; box-shadow: inset 0 0 40px #fff0d0; } 100% { opacity: 0.75; } }
@keyframes dr-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes dr-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes dr-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(-4px) rotate(-1deg); } }
@keyframes dr-papers { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(0.95); } }
@keyframes dr-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px #c8a050; } 50% { opacity: 1; box-shadow: 0 0 30px 8px #e8c860; } 100% { opacity: 0.85; } }
@keyframes dr-clock { 0% { transform: rotate(0deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0deg); } }

.scn-tony-goes-to-tombs {
  background: linear-gradient(180deg, #101828 0%, #1a2233 40%, #0a0e18 100%),
              radial-gradient(ellipse at 50% 100%, #2a3a4a10, transparent);
}
.scn-tony-goes-to-tombs .bg-cell {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a2233, #0a0e18);
  animation: tt-bg 30s linear infinite alternate;
}
.scn-tony-goes-to-tombs .bars {
  position: absolute; top: 0; bottom: 0; left: 15%; width: 4px;
  background: #4a5a6a; box-shadow: 8px 0 #4a5a6a, 16px 0 #4a5a6a, 24px 0 #4a5a6a;
  animation: tt-bars 5s ease-in-out infinite;
}
.scn-tony-goes-to-tombs .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #2a2a3a, #111118);
  border-top: 2px solid #3a3a4a;
}
.scn-tony-goes-to-tombs .figure-tony {
  position: absolute; bottom: 16%; left: 20%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a, #0a0a1a);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: tt-tony 8s ease-in-out infinite;
}
.scn-tony-goes-to-tombs .figure-soko {
  position: absolute; bottom: 16%; right: 25%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #2a2a3a, #0a0a12);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  animation: tt-soko 10s ease-in-out infinite alternate;
}
.scn-tony-goes-to-tombs .lantern {
  position: absolute; bottom: 45%; left: 8%; width: 8%; height: 12%;
  background: radial-gradient(circle at 50% 40%, #f4d060, #b08020);
  border-radius: 50%; box-shadow: 0 0 30px 8px #b08020, 0 0 60px 15px rgba(176,128,32,0.3);
  animation: tt-lantern 4s ease-in-out infinite;
}
.scn-tony-goes-to-tombs .bed {
  position: absolute; bottom: 5%; left: 50%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #3a3a4a, #1a1a2a);
  border-radius: 4px; transform: translateX(-50%);
  animation: tt-bed 6s ease-in-out infinite;
}
@keyframes tt-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes tt-bars { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes tt-tony { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes tt-soko { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.02) rotate(1deg); } 100% { transform: scale(0.98) rotate(-1deg); } }
@keyframes tt-lantern { 0% { opacity: 0.7; box-shadow: 0 0 20px 6px #b08020; } 50% { opacity: 1; box-shadow: 0 0 40px 12px #d4a840; } 100% { opacity: 0.8; } }
@keyframes tt-bed { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px); } 100% { transform: translateX(-50%) translateY(0); } }

.scn-delany-visits-magnus {
  background: linear-gradient(180deg, #f5ecd0 0%, #dcc8a8 50%, #c0ae88 100%),
              radial-gradient(ellipse at 60% 20%, #fff4d6 0%, transparent 60%);
}
.scn-delany-visits-magnus .bg-office {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e0d4b8, #c8b89a);
  animation: vm-bg 25s ease-in-out infinite alternate;
}
.scn-delany-visits-magnus .window-bright {
  position: absolute; top: 4%; right: 5%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 30% 20%, #fff8e0, #f0e0b8);
  border: 4px solid #7a6a4a; border-radius: 6px; box-shadow: inset 0 0 40px #fffae0;
  animation: vm-window 6s ease-in-out infinite alternate;
}
.scn-delany-visits-magnus .desk-magnus {
  position: absolute; bottom: 15%; left: 12%; right: 25%; height: 18%;
  background: linear-gradient(180deg, #5a4a2a, #3a2a10);
  border-radius: 6px 6px 0 0; box-shadow: 0 -6px 14px rgba(0,0,0,0.3);
  animation: vm-desk 7s ease-in-out infinite;
}
.scn-delany-visits-magnus .chair-magnus {
  position: absolute; bottom: 20%; left: 8%; width: 22%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a, #2a1a0a);
  border-radius: 20% 20% 10% 10%; transform-origin: bottom;
  animation: vm-chair 4s ease-in-out infinite alternate;
}
.scn-delany-visits-magnus .figure-magnus {
  position: absolute; bottom: 22%; left: 15%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #3a2a1a, #1a0a00);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: vm-magnus 5s ease-in-out infinite;
}
.scn-delany-visits-magnus .figure-asche {
  position: absolute; bottom: 22%; right: 20%; width: 12%; height: 36%;
  background: linear-gradient(180deg, #2a2a2a, #101010);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  animation: vm-asche 6s ease-in-out infinite alternate;
}
.scn-delany-visits-magnus .figure-delany-stand {
  position: absolute; bottom: 22%; left: 40%; width: 10%; height: 34%;
  background: linear-gradient(180deg, #1a1a2a, #0a0a1a);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: vm-delany 8s ease-in-out infinite;
}
.scn-delany-visits-magnus .stack-papers {
  position: absolute; bottom: 24%; left: 45%; width: 16%; height: 8%;
  background: #f0e8d0; border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  animation: vm-papers 3s ease-in-out infinite alternate;
}
@keyframes vm-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes vm-window { 0% { opacity: 0.7; box-shadow: inset 0 0 20px #f5ecc0; } 50% { opacity: 1; box-shadow: inset 0 0 50px #fff8e0; } 100% { opacity: 0.75; } }
@keyframes vm-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes vm-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes vm-magnus { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes vm-asche { 0% { transform: scale(1); } 50% { transform: scale(1.02) rotate(1deg); } 100% { transform: scale(0.98) rotate(-1deg); } }
@keyframes vm-delany { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(-3px); } }
@keyframes vm-papers { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(0.95); } }

.scn-asche-rectangular {
  background: linear-gradient(180deg, #f5e8d0 0%, #dcc8a8 50%, #c0ae88 100%),
              radial-gradient(ellipse at 40% 10%, #fff8e8 0%, transparent 50%);
}
.scn-asche-rectangular .bg-hall {
  position: absolute; inset: 0; background: linear-gradient(135deg, #e0d4b8, #c8b89a);
  animation: ar-bg 20s ease-in-out infinite alternate;
}
.scn-asche-rectangular .rect-desk {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 20%;
  background: linear-gradient(180deg, #5a4a2a, #3a2a10);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  animation: ar-desk 6s ease-in-out infinite;
}
.scn-asche-rectangular .stenograph {
  position: absolute; bottom: 22%; left: 35%; width: 12%; height: 10%;
  background: radial-gradient(ellipse at 50% 30%, #4a4a5a, #2a2a3a);
  border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.4);
  animation: ar-steno 4s ease-in-out infinite alternate;
}
.scn-asche-rectangular .figure-asche-stand {
  position: absolute; bottom: 14%; right: 20%; width: 12%; height: 38%;
  background: linear-gradient(180deg, #2a2a2a, #101010);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  animation: ar-asche 8s ease-in-out infinite;
}
.scn-asche-rectangular .figure-delany-side {
  position: absolute; bottom: 14%; left: 20%; width: 10%; height: 36%;
  background: linear-gradient(180deg, #1a1a2a, #0a0a1a);
  border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%;
  animation: ar-delany 7s ease-in-out infinite alternate;
}
.scn-asche-rectangular .folio-drawer {
  position: absolute; bottom: 4%; left: 50%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #6a5a3a, #4a3a1a);
  border-radius: 4px; transform: translateX(-50%);
  animation: ar-drawer 5s ease-in-out infinite;
}
@keyframes ar-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes ar-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ar-steno { 0% { transform: scale(1); } 50% { transform: scale(1.04); } 100% { transform: scale(0.96); } }
@keyframes ar-asche { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(1deg); } 100% { transform: translateX(-4px) rotate(-1deg); } }
@keyframes ar-delany { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes ar-drawer { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-1px); } 100% { transform: translateX(-50%) translateY(0); } }

/* delany-pleads-mercy – dark, tense */
.scn-delany-pleads-mercy {
  background: 
    linear-gradient(180deg, #0d0d1a 0%, #1a1228 40%, #2a1a3a 70%, #1a0f20 100%),
    radial-gradient(ellipse at 50% 30%, rgba(255, 180, 80, 0.15) 0%, transparent 60%);
}
.scn-delany-pleads-mercy .shadow-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.5) 0%, transparent 60%);
  animation: dp1-shadow 12s ease-in-out infinite alternate;
}
.scn-delany-pleads-mercy .table {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0f08 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.7);
}
.scn-delany-pleads-mercy .candle {
  position: absolute; bottom: 23%; left: 48%; width: 10px; height: 24px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 2px 2px; transform: translateX(-50%);
  animation: dp1-candle 4s ease-in-out infinite;
}
.scn-delany-pleads-mercy .candle-glow {
  position: absolute; bottom: 28%; left: 45%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255, 200, 100, 0.6) 0%, rgba(255, 150, 50, 0.2) 40%, transparent 70%);
  border-radius: 50%; filter: blur(8px);
  animation: dp1-glow 3s ease-in-out infinite alternate;
}
.scn-delany-pleads-mercy .delany-figure {
  position: absolute; bottom: 16%; left: 30%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #1a1210 0%, #0a0808 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; transform: rotate(10deg);
  animation: dp1-bow 5s ease-in-out infinite alternate;
}
.scn-delany-pleads-mercy .rafe-figure {
  position: absolute; bottom: 18%; left: 55%; width: 40px; height: 65px;
  background: linear-gradient(180deg, #2a1a1a 0%, #100a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; transform: rotate(-5deg);
  animation: dp1-sneer 4s ease-in-out infinite;
}
.scn-delany-pleads-mercy .rafe-shadow {
  position: absolute; bottom: 10%; left: 55%; width: 50px; height: 20px;
  background: rgba(0,0,0,0.6); border-radius: 50%; filter: blur(6px);
  animation: dp1-shadow-move 5s ease-in-out infinite alternate;
}
@keyframes dp1-shadow { 0% { opacity: 0.4 } 50% { opacity: 0.7 } 100% { opacity: 0.5 } }
@keyframes dp1-candle { 0% { transform: translateX(-50%) rotate(-2deg) } 25% { transform: translateX(-50%) rotate(2deg) } 50% { transform: translateX(-50%) rotate(-1deg) } 75% { transform: translateX(-50%) rotate(1deg) } 100% { transform: translateX(-50%) rotate(0) } }
@keyframes dp1-glow { 0% { opacity: 0.7; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.8; transform: scale(1) } }
@keyframes dp1-bow { 0% { transform: rotate(10deg) translateY(0) } 30% { transform: rotate(12deg) translateY(-2px) } 70% { transform: rotate(8deg) translateY(-1px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes dp1-sneer { 0% { transform: rotate(-5deg) } 30% { transform: rotate(-7deg) } 70% { transform: rotate(-3deg) } 100% { transform: rotate(-5deg) } }
@keyframes dp1-shadow-move { 0% { transform: translateX(0) scaleX(1) } 50% { transform: translateX(8px) scaleX(1.2) } 100% { transform: translateX(0) scaleX(1) } }

/* delany-curses-hogan – dark, dark */
.scn-delany-curses-hogan {
  background:
    linear-gradient(180deg, #0c0c1a 0%, #141425 50%, #1a1a35 100%),
    radial-gradient(ellipse at 70% 20%, rgba(180, 200, 255, 0.08) 0%, transparent 50%);
}
.scn-delany-curses-hogan .street-bg {
  position: absolute; inset: 0; background: linear-gradient(90deg, #0a0a15 0%, #12122a 50%, #0a0a15 100%);
  animation: dc2-street 10s ease-in-out infinite alternate;
}
.scn-delany-curses-hogan .wall-left {
  position: absolute; top: 0; left: 0; bottom: 40%; width: 30%;
  background: linear-gradient(180deg, #1a1a30 0%, #0e0e20 100%);
  border-radius: 0 20% 0 0 / 0 40% 0 0; box-shadow: inset -8px 0 12px rgba(0,0,0,0.5);
}
.scn-delany-curses-hogan .wall-right {
  position: absolute; top: 0; right: 0; bottom: 40%; width: 25%;
  background: linear-gradient(180deg, #15152a 0%, #0a0a18 100%);
  border-radius: 20% 0 0 0 / 40% 0 0 0; box-shadow: inset 8px 0 12px rgba(0,0,0,0.5);
}
.scn-delany-curses-hogan .hogan-figure {
  position: absolute; bottom: 25%; right: 20%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #1e1e35 0%, #0d0d1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; transform: rotate(-3deg);
  animation: dc2-hogan 6s ease-in-out infinite;
}
.scn-delany-curses-hogan .delany-back {
  position: absolute; bottom: 22%; left: 35%; width: 45px; height: 70px;
  background: linear-gradient(180deg, #1a1a30 0%, #0a0a18 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: dc2-turn 7s ease-in-out infinite alternate;
}
.scn-delany-curses-hogan .spit-particle {
  position: absolute; bottom: 30%; left: 38%; width: 6px; height: 6px;
  background: radial-gradient(circle, rgba(200, 200, 220, 0.4) 0%, transparent 70%);
  border-radius: 50%; animation: dc2-spit 3s ease-in-out infinite;
}
.scn-delany-curses-hogan .moonlight {
  position: absolute; top: 5%; left: 50%; width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(200, 215, 255, 0.1) 0%, transparent 70%);
  border-radius: 50%; filter: blur(20px); transform: translateX(-50%);
  animation: dc2-moon 15s ease-in-out infinite alternate;
}
@keyframes dc2-street { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes dc2-hogan { 0% { transform: rotate(-3deg) translateY(0) } 25% { transform: rotate(-5deg) translateY(-1px) } 50% { transform: rotate(-2deg) translateY(0) } 75% { transform: rotate(-4deg) translateY(-1px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes dc2-turn { 0% { transform: rotate(0) } 30% { transform: rotate(5deg) } 70% { transform: rotate(-5deg) } 100% { transform: rotate(0) } }
@keyframes dc2-spit { 0% { transform: translate(0,0) scale(1); opacity: 0.8 } 25% { transform: translate(-8px, -5px) scale(1.2); opacity: 0.6 } 50% { transform: translate(-15px, -2px) scale(1); opacity: 0.4 } 75% { transform: translate(-22px, 2px) scale(0.8); opacity: 0.2 } 100% { transform: translate(-30px, 0) scale(0.5); opacity: 0 } }
@keyframes dc2-moon { 0% { opacity: 0.5 } 50% { opacity: 0.8 } 100% { opacity: 0.4 } }

/* insurance-company-appears – tense, bright-interior */
.scn-insurance-company-appears {
  background:
    linear-gradient(180deg, #f5f0e5 0%, #ebe3d0 40%, #d6cbb0 100%),
    repeating-linear-gradient(90deg, rgba(200,180,150,0.1) 0px, rgba(200,180,150,0.1) 2px, transparent 2px, transparent 8px);
}
.scn-insurance-company-appears .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,240,210,0.3) 0%, rgba(200,180,160,0.1) 100%);
}
.scn-insurance-company-appears .window {
  position: absolute; top: 5%; right: 10%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #b8cce0 0%, #dce8f0 100%);
  border-radius: 4px; border: 4px solid #8a7a5a; box-shadow: inset 0 0 20px rgba(255,255,255,0.4);
  animation: ic3-window 8s ease-in-out infinite alternate;
}
.scn-insurance-company-appears .desk {
  position: absolute; bottom: 15%; left: 10%; right: 35%; height: 10%;
  background: linear-gradient(180deg, #6b5a40 0%, #4a3a28 100%);
  border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-insurance-company-appears .froelich-figure {
  position: absolute; bottom: 25%; left: 15%; width: 45px; height: 60px;
  background: linear-gradient(180deg, #5a4a38 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: ic3-froelich 4s ease-in-out infinite;
}
.scn-insurance-company-appears .lawyer-figure {
  position: absolute; bottom: 28%; right: 20%; width: 50px; height: 65px;
  background: linear-gradient(180deg, #3a2a28 0%, #1a1210 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; transform: rotate(5deg);
  animation: ic3-lawyer 5s ease-in-out infinite alternate;
}
.scn-insurance-company-appears .papers {
  position: absolute; bottom: 20%; left: 22%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #f0e8d0 0%, #d8c8a8 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  animation: ic3-papers 6s ease-in-out infinite;
}
.scn-insurance-company-appears .chair {
  position: absolute; bottom: 15%; left: 45%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #5a4a30 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
}
@keyframes ic3-window { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes ic3-froelich { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ic3-lawyer { 0% { transform: rotate(5deg) translateY(0) } 30% { transform: rotate(8deg) translateY(-2px) } 70% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes ic3-papers { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }

/* lawyer-asche-appears – tense, bright-interior */
.scn-lawyer-asche-appears {
  background:
    linear-gradient(180deg, #f0e8d8 0%, #e0d4c0 50%, #c8bca0 100%),
    repeating-linear-gradient(45deg, rgba(180,160,140,0.05) 0px, rgba(180,160,140,0.05) 4px, transparent 4px, transparent 8px);
}
.scn-lawyer-asche-appears .office-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(255,240,210,0.2) 0%, transparent 70%);
  animation: la4-bg 12s ease-in-out infinite alternate;
}
.scn-lawyer-asche-appears .wall-panel {
  position: absolute; top: 0; right: 0; bottom: 30%; width: 35%;
  background: linear-gradient(180deg, #c8bca0 0%, #a89878 100%);
  border-radius: 0 0 0 20% / 0 0 0 40%;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.1);
}
.scn-lawyer-asche-appears .asche-figure {
  position: absolute; bottom: 25%; right: 25%; width: 55px; height: 70px;
  background: linear-gradient(180deg, #2a2220 0%, #0d0a08 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; transform: rotate(-2deg);
  animation: la4-asche 6s ease-in-out infinite;
}
.scn-lawyer-asche-appears .asche-hand {
  position: absolute; bottom: 38%; right: 20%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #3a2a28 0%, #1a1010 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: 50% 80%; transform: rotate(-40deg);
  animation: la4-point 3s ease-in-out infinite alternate;
}
.scn-lawyer-asche-appears .desk-edge {
  position: absolute; bottom: 15%; left: 10%; right: 20%; height: 6%;
  background: linear-gradient(180deg, #5a4a30 0%, #3a2a18 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-lawyer-asche-appears .document {
  position: absolute; bottom: 22%; left: 25%; width: 40px; height: 28px;
  background: linear-gradient(135deg, #f8f0e0 0%, #d8c8b0 100%);
  border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
  animation: la4-doc 5s ease-in-out infinite;
}
.scn-lawyer-asche-appears .lamp {
  position: absolute; top: 10%; left: 20%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #4a3a28 0%, #1a140c 100%);
  border-radius: 6px 6px 2px 2px;
}
.scn-lawyer-asche-appears .lamp-glow {
  position: absolute; top: 8%; left: 18%; width: 50px; height: 50px;
  background: radial-gradient(circle, rgba(255, 210, 140, 0.3) 0%, rgba(255, 180, 100, 0.1) 40%, transparent 70%);
  border-radius: 50%; filter: blur(8px);
  animation: la4-lamp 4s ease-in-out infinite alternate;
}
@keyframes la4-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes la4-asche { 0% { transform: rotate(-2deg) translateY(0) } 25% { transform: rotate(-4deg) translateY(-1px) } 50% { transform: rotate(-1deg) translateY(0) } 75% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-2deg) translateY(0) } }
@keyframes la4-point { 0% { transform: rotate(-40deg) scaleY(1) } 50% { transform: rotate(-50deg) scaleY(1.1) } 100% { transform: rotate(-40deg) scaleY(1) } }
@keyframes la4-doc { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes la4-lamp { 0% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }

.scn-mill-of-justice-explanation {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4c4a0 40%, #b89a78 80%, #8a6e50 100%),
              radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 50%);
}
.scn-mill-of-justice-explanation .bench {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 10%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a10 100%);
  border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  animation: mie-bench 20s ease-in-out infinite;
}
.scn-mill-of-justice-explanation .judge {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: mie-judge 12s ease-in-out infinite alternate;
}
.scn-mill-of-justice-explanation .gavel {
  position: absolute; bottom: 25%; left: 35%; width: 8px; height: 20px;
  background: #5a3a1a; border-radius: 2px 2px 4px 4px;
  transform: rotate(-15deg); transform-origin: bottom center;
  animation: mie-gavel 3s ease-in-out infinite;
}
.scn-mill-of-justice-explanation .scales {
  position: absolute; bottom: 28%; width: 20px; height: 30px;
  background: radial-gradient(circle, #c0a070 0%, #907050 70%);
  border-radius: 50%; box-shadow: 0 0 6px rgba(0,0,0,0.3);
}
.scn-mill-of-justice-explanation .scales.left {
  left: 20%; animation: mie-scales-left 8s ease-in-out infinite;
}
.scn-mill-of-justice-explanation .scales.right {
  left: 60%; animation: mie-scales-right 8s ease-in-out infinite;
}
.scn-mill-of-justice-explanation .light-beam {
  position: absolute; top: 0; left: 30%; width: 40%; height: 40%;
  background: linear-gradient(180deg, rgba(255,248,200,0.4) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
  animation: mie-light 10s ease-in-out infinite alternate;
}
.scn-mill-of-justice-explanation .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #6a4a2a 0px, #6a4a2a 20px, #4a2a10 20px, #4a2a10 40px);
  border-radius: 0; opacity: 0.6;
}
.scn-mill-of-justice-explanation .pillar {
  position: absolute; bottom: 20%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 6px; box-shadow: inset -4px 0 8px rgba(0,0,0,0.2);
}
.scn-mill-of-justice-explanation .pillar.left-pillar {
  left: 5%; animation: mie-pillar-l 25s linear infinite;
}
.scn-mill-of-justice-explanation .pillar.right-pillar {
  right: 5%; animation: mie-pillar-r 25s linear infinite;
}
@keyframes mie-bench { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mie-judge { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes mie-gavel { 0%,100% { transform: rotate(-15deg) translateY(0); } 25% { transform: rotate(-15deg) translateY(-8px); } 50% { transform: rotate(0deg) translateY(-4px); } 75% { transform: rotate(-15deg) translateY(-8px); } }
@keyframes mie-scales-left { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes mie-scales-right { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@keyframes mie-light { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.4; } }
@keyframes mie-pillar-l { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } }
@keyframes mie-pillar-r { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } }

.scn-tom-hingman-methods {
  background: linear-gradient(180deg, #fce4c0 0%, #e8c898 40%, #d4a86a 80%, #b8844a 100%),
              radial-gradient(ellipse at 30% 50%, #ffeac0 0%, transparent 60%);
}
.scn-tom-hingman-methods .desk {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 15%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  animation: thm-desk 30s linear infinite;
}
.scn-tom-hingman-methods .lamp {
  position: absolute; bottom: 30%; left: 30%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 -10px 20px 6px #ffd080, 0 -20px 40px 12px rgba(255,208,128,0.3);
  animation: thm-lamp 6s ease-in-out infinite alternate;
}
.scn-tom-hingman-methods .figure {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: thm-figure 8s ease-in-out infinite;
}
.scn-tom-hingman-methods .paper {
  position: absolute; bottom: 18%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform-origin: bottom center;
}
.scn-tom-hingman-methods .paper.left-paper {
  left: 20%; animation: thm-paper-l 4s ease-in-out infinite;
}
.scn-tom-hingman-methods .paper.right-paper {
  left: 50%; animation: thm-paper-r 5s ease-in-out infinite;
}
.scn-tom-hingman-methods .cigar-smoke {
  position: absolute; bottom: 40%; left: 55%; width: 12px; height: 20px;
  background: radial-gradient(ellipse, rgba(200,200,200,0.3) 0%, transparent 100%);
  filter: blur(3px);
  animation: thm-smoke 7s ease-in-out infinite;
}
.scn-tom-hingman-methods .chair {
  position: absolute; bottom: 12%; left: 48%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: thm-chair 10s ease-in-out infinite alternate;
}
.scn-tom-hingman-methods .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #f0dcc0 0%, #dcc4a0 100%);
  border-bottom: 2px solid #b09070;
  z-index: -1;
}
@keyframes thm-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes thm-lamp { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.02); } 100% { opacity:0.9; transform: scale(1); } }
@keyframes thm-figure { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(3deg); } 50% { transform: translateX(-50%) rotate(-2deg); } 75% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes thm-paper-l { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(10deg) scale(1.05); } }
@keyframes thm-paper-r { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(-8deg) scale(0.95); } }
@keyframes thm-smoke { 0% { transform: translateY(0) scale(1); opacity:0; } 30% { opacity:0.5; } 70% { opacity:0.2; } 100% { transform: translateY(-30px) scale(2); opacity:0; } }
@keyframes thm-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-hingman-opening-statement {
  background: linear-gradient(180deg, #fdeac0 0%, #f0d4a0 40%, #e0b870 80%, #c8a050 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 50%);
}
.scn-hingman-opening-statement .horse {
  position: absolute; bottom: 20%; left: 20%; width: 100px; height: 50px;
  background: linear-gradient(180deg, #8a7040 0%, #5a4020 100%);
  border-radius: 40% 60% 30% 50% / 60% 40% 50% 30%;
  transform: rotate(-5deg);
  animation: hos-horse 2s ease-in-out infinite;
}
.scn-hingman-opening-statement .man {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a3a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: hos-man 1.5s ease-in-out infinite alternate;
}
.scn-hingman-opening-statement .podium {
  position: absolute; bottom: 15%; left: 40%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: hos-podium 3s ease-in-out infinite;
}
.scn-hingman-opening-statement .flag {
  position: absolute; top: 10%; right: 10%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #f0c040 0%, #d0a020 100%);
  clip-path: polygon(0 0, 100% 0, 80% 50%, 100% 100%, 0 100%);
  animation: hos-flag 4s ease-in-out infinite;
}
.scn-hingman-opening-statement .confetti {
  position: absolute; width: 8px; height: 8px;
  background: #e05030;
  border-radius: 50%;
  animation: hos-confetti var(--d) ease-in-out infinite;
}
.scn-hingman-opening-statement .confetti.a {
  top: 5%; left: 20%; --d: 3s; background: #30a0e0;
}
.scn-hingman-opening-statement .confetti.b {
  top: 12%; left: 60%; --d: 4s; background: #60c040;
}
.scn-hingman-opening-statement .stage {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #8a7040 0%, #6a5030 100%);
  border-radius: 10% 10% 0 0 / 30% 30% 0 0;
}
@keyframes hos-horse { 0%,100% { transform: rotate(-5deg) translateY(0); } 25% { transform: rotate(0deg) translateY(-3px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(0deg) translateY(-3px); } }
@keyframes hos-man { 0% { transform: translateX(-50%) rotate(-3deg); } 100% { transform: translateX(-50%) rotate(3deg); } }
@keyframes hos-podium { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes hos-flag { 0% { transform: rotate(0deg); } 25% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } 75% { transform: rotate(3deg); } 100% { transform: rotate(0deg); } }
@keyframes hos-confetti { 0% { transform: translateY(0) scale(1); opacity:1; } 50% { transform: translateY(-30px) scale(1.5); opacity:0.7; } 100% { transform: translateY(0) scale(1); opacity:0; } }

.scn-brown-testifies {
  background: linear-gradient(180deg, #e0d0b0 0%, #c8b090 40%, #a88868 80%, #8a6848 100%),
              radial-gradient(ellipse at 30% 10%, #fff0d0 0%, transparent 60%);
}
.scn-brown-testifies .witness-box {
  position: absolute; bottom: 10%; left: 30%; width: 40%; height: 30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 8px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.4);
  animation: box 6s ease-in-out infinite alternate;
}
.scn-brown-testifies .witness {
  position: absolute; bottom: 20%; left: 50%; width: 36px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: witness 8s ease-in-out infinite;
}
.scn-brown-testifies .judge.bench {
  position: absolute; bottom: 30%; left: 10%; width: 50px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e06 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: bench 10s ease-in-out infinite;
}
.scn-brown-testifies .finger {
  position: absolute; bottom: 25%; left: 45%; width: 6px; height: 18px;
  background: #2a1a0a; border-radius: 50%;
  transform-origin: bottom center;
  animation: finger 2s ease-in-out infinite;
}
.scn-brown-testifies .note {
  position: absolute; bottom: 15%; left: 20%; width: 24px; height: 30px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: note 5s ease-in-out infinite alternate;
}
.scn-brown-testifies .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: repeating-linear-gradient(90deg, #6a4a2a 0px, #6a4a2a 30px, #4a2a10 30px, #4a2a10 60px);
  opacity: 0.5;
}
.scn-brown-testifies .shadow {
  position: absolute; bottom: 10%; left: 30%; width: 30%; height: 4px;
  background: rgba(0,0,0,0.3); filter: blur(2px);
  animation: shadow 2s ease-in-out infinite;
}
.scn-brown-testifies .clock {
  position: absolute; top: 5%; right: 10%; width: 24px; height: 24px;
  border: 3px solid #5a3a1a; border-radius: 50%;
  background: radial-gradient(circle, #f0e0c0 0%, #d0b890 70%);
  animation: clock 60s linear infinite;
}
@keyframes box { 0%,100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
@keyframes witness { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(2deg); } 50% { transform: translateX(-50%) rotate(-1deg); } 75% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bench { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes finger { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(15deg) translateY(-4px); } 50% { transform: rotate(-5deg) translateY(0); } 75% { transform: rotate(10deg) translateY(-2px); } }
@keyframes note { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(6px) rotate(8deg); } }
@keyframes shadow { 0%,100% { width: 30%; } 50% { width: 20%; } }
@keyframes clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Scene: mcgurk-intervenes */
.scn-mcgurk-intervenes {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #1a0f05 40%, #0d0803 100%),
    radial-gradient(ellipse at 30% 40%, #4a2a0a 0%, transparent 60%);
}
.scn-mcgurk-intervenes .wall-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, #1a1008 0%, #2a1a0a 30%, #1c1208 70%, #0f0a05 100%);
  animation: mgk-wall-pulse 8s ease-in-out infinite;
}
.scn-mcgurk-intervenes .bar-counter {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.6);
}
.scn-mcgurk-intervenes .saloon-keeper {
  position: absolute; bottom: 30%; left: 22%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #1a1208 0%, #0f0a05 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: mgk-figure 6s ease-in-out infinite;
}
.scn-mcgurk-intervenes .delany-silhouette {
  position: absolute; bottom: 30%; right: 20%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #0d0805 0%, #050302 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 30% 30%;
  transform-origin: bottom center;
  animation: mgk-figure-delay 6s ease-in-out 2s infinite;
}
.scn-mcgurk-intervenes .bottle {
  position: absolute; bottom: 27%; left: 35%; width: 8px; height: 18px;
  background: radial-gradient(circle at 50% 30%, #6a4a2a 0%, #3a2210 80%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: mgk-bottle 12s ease-in-out infinite;
}
.scn-mcgurk-intervenes .lamp-glow {
  position: absolute; top: 30%; left: 45%; width: 20px; height: 20px;
  background: radial-gradient(circle, #d09050 0%, #804020 50%, transparent 100%);
  box-shadow: 0 0 40px 20px rgba(200,130,70,.4);
  animation: mgk-lamp 4s ease-in-out infinite;
}
.scn-mcgurk-intervenes .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.8) 100%);
  animation: mgk-shadow 10s ease-in-out infinite;
}
.scn-mcgurk-intervenes .dust-motes {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 20% 40%, rgba(200,170,120,.15) 0%, transparent 5%),
              radial-gradient(ellipse at 60% 20%, rgba(200,170,120,.1) 0%, transparent 3%),
              radial-gradient(ellipse at 80% 60%, rgba(200,170,120,.08) 0%, transparent 2%);
  animation: mgk-dust 20s linear infinite;
}
@keyframes mgk-wall-pulse { 0%,100% { opacity: 0.9 } 50% { opacity: 1 } }
@keyframes mgk-figure { 0%,100% { transform: translateX(0) rotate(-0.5deg) } 25% { transform: translateX(2px) rotate(0.5deg) } 50% { transform: translateX(0) rotate(-0.3deg) } 75% { transform: translateX(-2px) rotate(0.3deg) } }
@keyframes mgk-figure-delay { 0%,100% { transform: translateX(0) rotate(0.5deg) } 25% { transform: translateX(-2px) rotate(-0.5deg) } 50% { transform: translateX(0) rotate(0.3deg) } 75% { transform: translateX(2px) rotate(-0.3deg) } }
@keyframes mgk-bottle { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.95) scaleY(1.02) } }
@keyframes mgk-lamp { 0%,100% { opacity: 0.8; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } }
@keyframes mgk-shadow { 0%,100% { opacity: 0.7 } 50% { opacity: 0.9 } }
@keyframes mgk-dust { 0% { transform: translate(0, 0); opacity: 0.6 } 50% { transform: translate(20px, -10px); opacity: 1 } 100% { transform: translate(40px, -20px); opacity: 0.6 } }

/* Scene: hogan-plots-waiver */
.scn-hogan-plots-waiver {
  background:
    linear-gradient(180deg, #0a0a14 0%, #14101e 40%, #1c182c 100%),
    radial-gradient(ellipse at 50% 30%, #2a2244 0%, transparent 70%);
}
.scn-hogan-plots-waiver .cell-bg {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 8px, rgba(255,255,255,.02) 8px, rgba(255,255,255,.02) 9px);
  animation: hpw-bg 15s linear infinite;
}
.scn-hogan-plots-waiver .desk {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #22150a 100%);
  box-shadow: 0 -2px 6px rgba(0,0,0,.7); border-radius: 2px;
}
.scn-hogan-plots-waiver .hogan-figure {
  position: absolute; bottom: 25%; left: 40%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #0a0a12 0%, #05050a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom left;
  animation: hpw-hogan 8s ease-in-out infinite;
}
.scn-hogan-plots-waiver .lamp-shade {
  position: absolute; top: 10%; left: 45%; width: 40px; height: 30px;
  background: radial-gradient(circle at 50% 80%, #4a3a2a 0%, #1a1008 100%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
  box-shadow: 0 0 30px 10px rgba(100,80,50,.3);
  animation: hpw-lamp 4s ease-in-out infinite alternate;
}
.scn-hogan-plots-waiver .papers {
  position: absolute; bottom: 18%; left: 20%; width: 12px; height: 16px;
  background: linear-gradient(135deg, #d4c8a0 0%, #a89870 50%, #8a7a5a 100%);
  transform: rotate(-5deg); box-shadow: 1px 1px 2px rgba(0,0,0,.5);
  animation: hpw-papers 12s ease-in-out infinite;
}
.scn-hogan-plots-waiver .chain {
  position: absolute; bottom: 10%; left: 20%; width: 2px; height: 40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  box-shadow: 0 0 1px #8a7a6a;
  animation: hpw-chain 5s ease-in-out infinite;
}
.scn-hogan-plots-waiver .bar-window {
  position: absolute; top: 12%; right: 5%; width: 50px; height: 30px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border: 2px solid #3a2a2a;
  box-shadow: inset 0 0 10px rgba(0,0,0,.8);
}
.scn-hogan-plots-waiver .moon-ray {
  position: absolute; top: 0; right: 5%; width: 70px; height: 100%;
  background: linear-gradient(180deg, rgba(180,200,230,.08) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%);
  animation: hpw-moonray 20s ease-in-out infinite;
}
@keyframes hpw-bg { 0%,100% { opacity: 0.5 } 50% { opacity: 0.7 } }
@keyframes hpw-hogan { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-3px) rotate(0deg) } }
@keyframes hpw-lamp { 0% { opacity: 0.8; transform: scaleY(1) } 100% { opacity: 1; transform: scaleY(1.05) } }
@keyframes hpw-papers { 0%,100% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-3deg) translateX(2px) } }
@keyframes hpw-chain { 0%,100% { transform: translateY(0) } 50% { transform: translateY(2px) } }
@keyframes hpw-moonray { 0%,100% { opacity: 0.3 } 50% { opacity: 0.6 } }

/* Scene: delany-undecided */
.scn-delany-undecided {
  background:
    linear-gradient(180deg, #1c1a28 0%, #2a243a 40%, #1e1a2e 100%),
    radial-gradient(ellipse at 70% 40%, #3a2e4a 0%, transparent 60%);
}
.scn-delany-undecided .hallway-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #1a1622 0%, #2a243a 50%, #1c1828 100%);
  animation: dun-hall 12s ease-in-out infinite;
}
.scn-delany-undecided .clock {
  position: absolute; top: 5%; left: 45%; width: 40px; height: 40px;
  background: radial-gradient(circle, #4a3a2a 0%, #1a1008 70%);
  border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,.5);
  animation: dun-clock 6s ease-in-out infinite;
}
.scn-delany-undecided .delany-figure {
  position: absolute; bottom: 20%; left: 30%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #0a0a12 0%, #05050a 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 30% 30%;
  transform-origin: bottom center;
  animation: dun-delany 8s ease-in-out infinite;
}
.scn-delany-undecided .bench {
  position: absolute; bottom: 15%; left: 20%; right: 20%; height: 5%;
  background: linear-gradient(180deg, #3a2a1a 0%, #22150a 100%);
  border-radius: 0 0 4px 4px;
}
.scn-delany-undecided .door {
  position: absolute; bottom: 10%; right: 8%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 2px; box-shadow: inset 0 0 8px rgba(0,0,0,.6);
  animation: dun-door 14s ease-in-out infinite;
}
.scn-delany-undecided .shadow-stripe {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%);
  animation: dun-stripe 5s ease-in-out infinite;
}
.scn-delany-undecided .floor-tile {
  position: absolute; bottom: 5%; left: 10%; width: 20px; height: 20px;
  background: linear-gradient(135deg, #2a1a10 0%, #1a0e05 100%);
  transform: rotate(-10deg); box-shadow: 1px 1px 2px rgba(0,0,0,.4);
  animation: dun-tile 20s linear infinite;
}
@keyframes dun-hall { 0%,100% { opacity: 1 } 50% { opacity: 0.85 } }
@keyframes dun-clock { 0%,100% { transform: rotate(0deg) scale(1) } 25% { transform: rotate(3deg) scale(1.02) } 50% { transform: rotate(0deg) scale(1) } 75% { transform: rotate(-3deg) scale(0.98) } }
@keyframes dun-delany { 0%,100% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(0deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-4px) rotate(0deg) } }
@keyframes dun-door { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(0.95) } }
@keyframes dun-stripe { 0%,100% { opacity: 0.6 } 50% { opacity: 0.9 } }
@keyframes dun-tile { 0% { transform: rotate(-10deg) translate(0,0) } 50% { transform: rotate(-5deg) translate(5px, -2px) } 100% { transform: rotate(-10deg) translate(0,0) } }

/* Scene: waiver-announced */
.scn-waiver-announced {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #e8d4b0 30%, #d4bc90 100%),
    radial-gradient(ellipse at 50% 20%, #fff4e0 0%, transparent 60%);
}
.scn-waiver-announced .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b898 100%);
  animation: waa-brighten 10s ease-in-out infinite;
}
.scn-waiver-announced .judge-bench {
  position: absolute; top: 5%; left: 20%; right: 20%; height: 15%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.scn-waiver-announced .hogan-figure-bright {
  position: absolute; bottom: 20%; left: 35%; width: 24px; height: 55px;
  background: linear-gradient(180deg, #2a2020 0%, #1a1212 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: waa-hogan 6s ease-in-out infinite;
}
.scn-waiver-announced .delany-figure-relief {
  position: absolute; bottom: 20%; right: 30%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 30% 30%;
  transform-origin: bottom center;
  animation: waa-delany 8s ease-in-out 1s infinite;
}
.scn-waiver-announced .clerk {
  position: absolute; bottom: 18%; left: 15%; width: 18px; height: 40px;
  background: linear-gradient(180deg, #2a2220 0%, #1a1412 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: waa-clerk 12s ease-in-out infinite;
}
.scn-waiver-announced .gavel {
  position: absolute; top: 12%; left: 22%; width: 20px; height: 6px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.3);
  animation: waa-gavel 4s ease-in-out infinite;
}
.scn-waiver-announced .window-light {
  position: absolute; top: 5%; right: 5%; width: 80px; height: 60px;
  background: linear-gradient(180deg, #fff8e8 0%, #e8d4b0 100%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  box-shadow: 0 0 30px 10px rgba(255,240,200,.3);
  animation: waa-light 15s ease-in-out infinite;
}
.scn-waiver-announced .flag {
  position: absolute; top: 2%; left: 10%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #a0461a 0%, #c8553d 50%, #8a3010 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 60%, 80% 100%, 0% 100%);
  animation: waa-flag 5s ease-in-out infinite;
}
@keyframes waa-brighten { 0%,100% { opacity: 0.9 } 50% { opacity: 1 } }
@keyframes waa-hogan { 0%,100% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(0) rotate(-0.5deg) } 75% { transform: translateX(-3px) rotate(0deg) } }
@keyframes waa-delany { 0%,100% { transform: translateX(0) translateY(0) } 25% { transform: translateX(2px) translateY(-1px) } 50% { transform: translateX(0) translateY(0) } 75% { transform: translateX(-2px) translateY(-1px) } }
@keyframes waa-clerk { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } }
@keyframes waa-gavel { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } }
@keyframes waa-light { 0%,100% { opacity: 0.6 } 50% { opacity: 0.9 } }
@keyframes waa-flag { 0%,100% { transform: rotate(0deg) scaleX(1) } 25% { transform: rotate(2deg) scaleX(0.95) } 50% { transform: rotate(0deg) scaleX(1) } 75% { transform: rotate(-2deg) scaleX(1.05) } }

/* Scene: sophie-panics */
.scn-sophie-panics {
  background: linear-gradient(180deg, #1a1018 0%, #2a1a22 40%, #1e141c 100%),
              radial-gradient(ellipse at 50% 30%, #3a2a32 0%, transparent 70%);
}
.scn-sophie-panics .room { position:absolute; inset:0; background: linear-gradient(135deg, #1a1018 0%, #0e0a0e 100%); z-index:0; }
.scn-sophie-panics .window { position:absolute; top:8%; left:15%; width:30%; height:40%; background: linear-gradient(180deg, #4a3a4a 0%, #2a1a2a 100%); border-radius:4% 4% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.6); z-index:1; animation: sp-window 8s ease-in-out infinite alternate; }
.scn-sophie-panics .table { position:absolute; bottom:18%; left:20%; width:35%; height:8%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:4%; transform:skewX(-2deg); z-index:2; }
.scn-sophie-panics .sophie { position:absolute; bottom:26%; left:25%; width:10%; height:25%; background: linear-gradient(180deg, #2a1a22 0%, #1a0a12 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:3; animation: sp-sophie 4s ease-in-out infinite; }
.scn-sophie-panics .camel { position:absolute; bottom:20%; right:18%; width:20%; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 20% 20% 30% / 50% 40% 40% 50%; z-index:2; animation: sp-camel 6s ease-in-out infinite; }
.scn-sophie-panics .lantern { position:absolute; top:12%; left:40%; width:4%; height:6%; background: radial-gradient(circle, #c08040 0%, #8a5a20 60%); border-radius:50%; box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.4); z-index:4; animation: sp-lantern 3s ease-in-out infinite alternate; }
.scn-sophie-panics .shadow-line { position:absolute; bottom:15%; left:0; right:0; height:12%; background: linear-gradient(180deg, transparent 0%, #0a0608 100%); z-index:5; animation: sp-shadow 5s ease-in-out infinite alternate; }

@keyframes sp-window { 0% { opacity:.7; box-shadow: inset 0 0 30px rgba(0,0,0,.6) } 50% { opacity:1; box-shadow: inset 0 0 50px rgba(0,0,0,.8) } 100% { opacity:.8; box-shadow: inset 0 0 20px rgba(0,0,0,.5) } }
@keyframes sp-sophie { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(2%) translateY(-2%) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(0deg) } 75% { transform: translateX(-2%) translateY(-1%) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes sp-camel { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(3%) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes sp-lantern { 0% { box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,.4); opacity:.8 } 50% { box-shadow: 0 0 50px 15px #d09050, 0 0 80px 30px rgba(208,144,80,.5); opacity:1 } 100% { box-shadow: 0 0 20px 8px #b07030, 0 0 40px 12px rgba(176,112,48,.3); opacity:.7 } }
@keyframes sp-shadow { 0% { opacity:.4 } 50% { opacity:.7 } 100% { opacity:.3 } }

/* Scene: willie-runs-to-cop */
.scn-willie-runs-to-cop {
  background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 40%, #e0f0f8 100%),
              radial-gradient(ellipse at 50% 100%, #f0f8c0 0%, transparent 70%);
}
.scn-willie-runs-to-cop .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #87ceeb 0%, #b0e0e6 100%); z-index:0; animation: wr-sky 20s ease-in-out infinite alternate; }
.scn-willie-runs-to-cop .sun { position:absolute; top:8%; right:15%; width:12%; height:12%; background: radial-gradient(circle, #fff4c0 0%, #ffd080 60%); border-radius:50%; box-shadow: 0 0 40px 20px #ffd080; z-index:1; animation: wr-sun 6s ease-in-out infinite alternate; }
.scn-willie-runs-to-cop .buildings { position:absolute; bottom:30%; left:0; right:0; height:40%; background: linear-gradient(90deg, #a0a0b0 0%, #808090 30%, #9090a0 70%, #b0b0c0 100%); border-radius:4% 4% 0 0; clip-path: polygon(0% 0%, 10% 0%, 10% 30%, 20% 30%, 20% 0%, 35% 0%, 35% 50%, 45% 50%, 45% 0%, 60% 0%, 60% 20%, 70% 20%, 70% 0%, 80% 0%, 80% 40%, 90% 40%, 90% 0%, 100% 0%, 100% 100%, 0% 100%); z-index:2; }
.scn-willie-runs-to-cop .sidewalk { position:absolute; bottom:15%; left:0; right:0; height:15%; background: linear-gradient(180deg, #c0c0c0 0%, #909090 100%); z-index:3; }
.scn-willie-runs-to-cop .willie { position:absolute; bottom:18%; left:15%; width:8%; height:22%; background: linear-gradient(180deg, #3070a0 0%, #1a4a70 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:4; animation: wr-willie 2s ease-in-out infinite; }
.scn-willie-runs-to-cop .cop { position:absolute; bottom:18%; right:20%; width:9%; height:24%; background: linear-gradient(180deg, #3050a0 0%, #1a3060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:4; animation: wr-cop 3s ease-in-out infinite; }
.scn-willie-runs-to-cop .newsboy-cap { position:absolute; bottom:36%; left:16%; width:5%; height:6%; background: linear-gradient(180deg, #b03030 0%, #701a1a 100%); border-radius: 30% 30% 0 0; transform: rotate(-10deg); z-index:5; animation: wr-cap 0.8s ease-in-out infinite alternate; }

@keyframes wr-sky { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes wr-sun { 0% { transform: scale(1) rotate(0deg); opacity:.9 } 50% { transform: scale(1.05) rotate(5deg); opacity:1 } 100% { transform: scale(.95) rotate(-5deg); opacity:.85 } }
@keyframes wr-willie { 0% { transform: translateX(0) translateY(0) rotate(-3deg) } 25% { transform: translateX(5%) translateY(-2%) rotate(2deg) } 50% { transform: translateX(10%) translateY(0) rotate(-2deg) } 75% { transform: translateX(15%) translateY(-1%) rotate(3deg) } 100% { transform: translateX(20%) translateY(0) rotate(0) } }
@keyframes wr-cop { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-3%) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes wr-cap { 0% { transform: rotate(-15deg) translateX(0) } 100% { transform: rotate(10deg) translateX(5%) } }

/* Scene: cop-skeptical */
.scn-cop-skeptical {
  background: linear-gradient(180deg, #e0f0f8 0%, #c0d8e8 50%, #a0c0d0 100%),
              radial-gradient(ellipse at 50% 80%, #f0f8ff 0%, transparent 60%);
}
.scn-cop-skeptical .street { position:absolute; inset:0; background: linear-gradient(180deg, #d0d8e0 0%, #b0b8c0 100%); z-index:0; }
.scn-cop-skeptical .cop-hat { position:absolute; top:20%; left:25%; width:8%; height:10%; background: linear-gradient(180deg, #3050a0 0%, #1a3060 100%); border-radius: 50% 50% 0 0; transform: rotate(-5deg); z-index:2; animation: cs-hat 4s ease-in-out infinite; }
.scn-cop-skeptical .cop-body { position:absolute; bottom:20%; left:22%; width:10%; height:40%; background: linear-gradient(180deg, #3050a0 0%, #1a3060 80%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:1; animation: cs-cop 3s ease-in-out infinite; }
.scn-cop-skeptical .babu-head { position:absolute; top:25%; right:30%; width:7%; height:9%; background: linear-gradient(180deg, #c0a080 0%, #a08060 100%); border-radius: 50%; z-index:3; animation: cs-babu-head 3s ease-in-out infinite; }
.scn-cop-skeptical .babu-body { position:absolute; bottom:20%; right:28%; width:9%; height:38%; background: linear-gradient(180deg, #b09070 0%, #806050 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:1; animation: cs-babu-body 4s ease-in-out infinite; }
.scn-cop-skeptical .pillow-sham { position:absolute; top:30%; right:22%; width:6%; height:4%; background: linear-gradient(180deg, #f0e8d0 0%, #d0c8b0 100%); border-radius: 20%; transform: rotate(15deg); z-index:4; animation: cs-sham 5s ease-in-out infinite; }

@keyframes cs-hat { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-8deg) translateY(-2%) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes cs-cop { 0% { transform: translateX(0) } 50% { transform: translateX(2%) } 100% { transform: translateX(0) } }
@keyframes cs-babu-head { 0% { transform: rotate(0deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }
@keyframes cs-babu-body { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2%) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes cs-sham { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.6 } }

/* Scene: babu-says-maybe */
.scn-babu-says-maybe {
  background: linear-gradient(180deg, #b0c8d8 0%, #8090a0 40%, #5a6878 100%),
              radial-gradient(ellipse at 50% 50%, #c0d0e0 0%, transparent 80%);
}
.scn-babu-says-maybe .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #b0c8d8 0%, #8a9aac 100%); z-index:0; animation: bs-sky 12s ease-in-out infinite alternate; }
.scn-babu-says-maybe .ground { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #6a7868 0%, #4a5248 100%); z-index:1; }
.scn-babu-says-maybe .cop-silhouette { position:absolute; bottom:30%; left:20%; width:12%; height:40%; background: linear-gradient(180deg, #2a3038 0%, #101418 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:2; animation: bs-cop 5s ease-in-out infinite; }
.scn-babu-says-maybe .babu-silhouette { position:absolute; bottom:28%; right:25%; width:10%; height:38%; background: linear-gradient(180deg, #1a1e22 0%, #0a0c10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; z-index:2; animation: bs-babu 4s ease-in-out infinite; }
.scn-babu-says-maybe .hay-bale { position:absolute; bottom:22%; left:40%; width:10%; height:8%; background: radial-gradient(ellipse, #c0a040 0%, #806020 100%); border-radius: 30%; box-shadow: 0 4px 8px rgba(0,0,0,.4); z-index:3; animation: bs-hay 7s ease-in-out infinite; }
.scn-babu-says-maybe .pointing-hand { position:absolute; bottom:50%; right:32%; width:4%; height:6%; background: linear-gradient(180deg, #2a3038 0%, #101418 100%); border-radius: 0 40% 40% 0; transform: rotate(-20deg); z-index:3; animation: bs-point 0.8s ease-in-out infinite alternate; }

@keyframes bs-sky { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes bs-cop { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(2%) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes bs-babu { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-2%) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes bs-hay { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3%) scale(1.03) } 100% { transform: translateY(0) scale(1) } }
@keyframes bs-point { 0% { transform: rotate(-25deg) translateX(0) } 100% { transform: rotate(-15deg) translateX(5%) } }

/* one block per scene id. Append to style.css. */
.scn-tutt-hunch-no-case {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #c8b28a 50%, #9a7f5a 100%),
    radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-tutt-hunch-no-case .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #d4b896 0%, #b89870 100%); border-bottom: 4px solid #7a634a; }
.scn-tutt-hunch-no-case .window { position:absolute; top:8%; left:30%; width:35%; height:40%; background: linear-gradient(180deg, #f8f0e0 0%, #d8c8a0 100%); border: 8px solid #6a523a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,200,100,0.3); animation: tut-window 15s ease-in-out infinite alternate; }
.scn-tutt-hunch-no-case .table { position:absolute; bottom:20%; left:15%; width:70%; height:12%; background: linear-gradient(180deg, #5a4230 0%, #3a2a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.4); }
.scn-tutt-hunch-no-case .lawyer-left { position:absolute; bottom:22%; left:30%; width:16%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a12 100%); border-radius: 40% 50% 30% 30% / 30% 40% 50% 50%; transform: rotate(-8deg); animation: tut-lawyer-left 4s ease-in-out infinite; }
.scn-tutt-hunch-no-case .lawyer-right { position:absolute; bottom:22%; right:30%; width:16%; height:28%; background: linear-gradient(180deg, #151525 0%, #080810 100%); border-radius: 50% 40% 30% 30% / 40% 30% 50% 50%; transform: rotate(6deg); animation: tut-lawyer-right 3.5s ease-in-out infinite; }
.scn-tutt-hunch-no-case .lamp { position:absolute; top:5%; left:50%; width:8%; height:12%; transform: translateX(-50%); background: radial-gradient(circle at 50% 0%, #f0d880 0%, #c8a040 60%, transparent); border-radius: 50% 50% 0 0; animation: tut-lamp 2s ease-in-out infinite alternate; }
.scn-tutt-hunch-no-case .shadow-table { position:absolute; bottom:18%; left:10%; width:80%; height:6%; background: rgba(0,0,0,0.2); filter: blur(4px); border-radius: 50%; animation: tut-shadow 5s ease-in-out infinite; }
@keyframes tut-window { 0% { opacity:0.9; box-shadow: 0 0 30px rgba(255,200,100,0.5); } 50% { opacity:1; box-shadow: 0 0 50px rgba(255,200,100,0.8); } 100% { opacity:0.85; box-shadow: 0 0 20px rgba(255,200,100,0.3); } }
@keyframes tut-lawyer-left { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-6deg) translateY(-3px); } 100% { transform: rotate(-8deg) translateY(0); } }
@keyframes tut-lawyer-right { 0% { transform: rotate(6deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(6deg) translateY(0); } }
@keyframes tut-lamp { 0% { opacity:0.9; transform: translateX(-50%) scaleY(1); } 50% { opacity:1; transform: translateX(-50%) scaleY(1.1); } 100% { opacity:0.8; transform: translateX(-50%) scaleY(0.95); } }
@keyframes tut-shadow { 0% { transform: scaleX(1); opacity:0.2; } 50% { transform: scaleX(1.05); opacity:0.3; } 100% { transform: scaleX(1); opacity:0.2; } }

.scn-beekman-called-to-stand {
  background:
    linear-gradient(180deg, #d4c4a8 0%, #b8a080 30%, #8a7050 100%),
    radial-gradient(ellipse at 50% 50%, #fff4d0 0%, transparent 70%);
}
.scn-beekman-called-to-stand .bg-crowd { position:absolute; inset:20% 0 0 0; background: repeating-linear-gradient(90deg, #2a2a1a 0px, #3a3a2a 10px, #1a1a0a 20px); mask: linear-gradient(180deg, #000 60%, transparent 100%); -webkit-mask: linear-gradient(180deg, #000 60%, transparent 100%); animation: bee-crowd 30s linear infinite; }
.scn-beekman-called-to-stand .bench { position:absolute; bottom:15%; left:10%; width:80%; height:8%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-beekman-called-to-stand .judge { position:absolute; bottom:25%; left:60%; width:12%; height:30%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 30% 30% 20% 20%; transform: rotate(2deg); animation: bee-judge 6s ease-in-out infinite; }
.scn-beekman-called-to-stand .witness-peek { position:absolute; bottom:8%; left:20%; width:10%; height:20%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 30% 50% 50% / 30% 40% 50% 50%; transform: rotate(-5deg); animation: bee-witness 3s ease-in-out infinite alternate; }
.scn-beekman-called-to-stand .railing { position:absolute; bottom:20%; left:5%; width:90%; height:5%; background: linear-gradient(90deg, #503a20 0%, #785a30 50%, #503a20 100%); border-radius: 4px; box-shadow: 0 -2px 4px rgba(0,0,0,0.2); }
.scn-beekman-called-to-stand .lightray { position:absolute; top:5%; left:40%; width:20%; height:80%; background: linear-gradient(180deg, rgba(255,240,200,0.3) 0%, transparent 100%); transform: skewX(-10deg); animation: bee-ray 8s ease-in-out infinite alternate; }
@keyframes bee-crowd { 0% { background-position: 0 0; } 100% { background-position: 200px 0; } }
@keyframes bee-judge { 0% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-4px); } 100% { transform: rotate(2deg) translateY(0); } }
@keyframes bee-witness { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(2px); } 100% { transform: rotate(-5deg) translateX(0); } }
@keyframes bee-ray { 0% { opacity:0.4; transform: skewX(-10deg) scaleY(0.9); } 50% { opacity:0.7; transform: skewX(-10deg) scaleY(1.1); } 100% { opacity:0.3; transform: skewX(-10deg) scaleY(0.8); } }

.scn-beekman-sworn-in {
  background:
    linear-gradient(180deg, #f0e0c8 0%, #d0b890 50%, #a08060 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 60%);
}
.scn-beekman-sworn-in .altar { position:absolute; bottom:0; left:20%; width:60%; height:40%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 10px 10px 0 0; box-shadow: 0 -8px 16px rgba(0,0,0,0.4); }
.scn-beekman-sworn-in .judge-bench { position:absolute; bottom:45%; left:35%; width:30%; height:20%; background: linear-gradient(180deg, #503820 0%, #302010 100%); border-radius: 8px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.scn-beekman-sworn-in .judge-figure { position:absolute; bottom:50%; left:45%; width:10%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%; transform: rotate(4deg); animation: bew-judge 4s ease-in-out infinite alternate; }
.scn-beekman-sworn-in .witness-seated { position:absolute; bottom:20%; left:30%; width:12%; height:25%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 30% 40% 50% 50% / 30% 30% 50% 50%; transform: rotate(-3deg); animation: bew-witness 5s ease-in-out infinite; }
.scn-beekman-sworn-in .bible { position:absolute; bottom:35%; left:48%; width:6%; height:8%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 2px; box-shadow: 0 0 10px rgba(255,200,100,0.5); animation: bew-bible 2s ease-in-out infinite alternate; }
.scn-beekman-sworn-in .lamp-spot { position:absolute; top:5%; left:40%; width:20%; height:50%; background: radial-gradient(ellipse at 50% 0%, rgba(255,240,180,0.4) 0%, transparent 70%); animation: bew-spot 7s ease-in-out infinite; }
.scn-beekman-sworn-in .shadow-cross { position:absolute; bottom:15%; left:45%; width:10%; height:20%; background: rgba(0,0,0,0.1); filter: blur(6px); border-radius: 50%; transform: rotate(20deg); animation: bew-cross 6s ease-in-out infinite; }
@keyframes bew-judge { 0% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-3px); } 100% { transform: rotate(4deg) translateY(0); } }
@keyframes bew-witness { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes bew-bible { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.7; transform: scaleY(0.95); } }
@keyframes bew-spot { 0% { opacity:0.3; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.2); } 100% { opacity:0.2; transform: scale(0.9); } }
@keyframes bew-cross { 0% { transform: rotate(20deg) scaleX(1); opacity:0.1; } 50% { transform: rotate(20deg) scaleX(1.1); opacity:0.2; } 100% { transform: rotate(20deg) scaleX(1); opacity:0.1; } }

.scn-obrien-familiar-questions {
  background:
    linear-gradient(180deg, #e8d8c0 0%, #c8b090 50%, #a08060 100%),
    radial-gradient(ellipse at 70% 20%, #fff8e0 0%, transparent 70%);
}
.scn-obrien-familiar-questions .podium { position:absolute; bottom:10%; left:15%; width:20%; height:30%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: 0 6px 12px rgba(0,0,0,0.4); }
.scn-obrien-familiar-questions .attorney-obrien { position:absolute; bottom:25%; left:10%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(3deg); animation: obr-attorney 3.5s ease-in-out infinite alternate; }
.scn-obrien-familiar-questions .witness-chair { position:absolute; bottom:8%; right:25%; width:15%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-obrien-familiar-questions .witness-figure { position:absolute; bottom:20%; right:22%; width:10%; height:28%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 40% 30% 50% 50% / 30% 40% 50% 50%; transform: rotate(-4deg); animation: obr-witness 4s ease-in-out infinite; }
.scn-obrien-familiar-questions .judge-bg { position:absolute; top:5%; left:50%; width:40%; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 20% 20% 10% 10%; transform: translateX(-50%); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-obrien-familiar-questions .clock { position:absolute; top:3%; right:5%; width:8%; height:8%; background: radial-gradient(circle, #e0c080 0%, #a08050 70%); border-radius: 50%; box-shadow: 0 0 10px rgba(255,200,100,0.3); animation: obr-clock 2s ease-in-out infinite alternate; }
.scn-obrien-familiar-questions .gavel { position:absolute; bottom:35%; left:40%; width:4%; height:14%; background: linear-gradient(180deg, #5a3a20 0%, #2a1a0a 100%); border-radius: 2px; transform: rotate(15deg); animation: obr-gavel 6s ease-in-out infinite; }
@keyframes obr-attorney { 0% { transform: rotate(3deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } 100% { transform: rotate(3deg) translateY(0); } }
@keyframes obr-witness { 0% { transform: rotate(-4deg) translateX(0); } 50% { transform: rotate(-2deg) translateX(2px); } 100% { transform: rotate(-4deg) translateX(0); } }
@keyframes obr-clock { 0% { opacity:0.9; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.85; transform: scale(0.95); } }
@keyframes obr-gavel { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }

.scn-writ-of-habeas-corpus {
  background: linear-gradient(180deg, #f5e6c8 0%, #d6b88a 100%),
              radial-gradient(ellipse at 50% 30%, #fff8e0 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-writ-of-habeas-corpus .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #c9b389 0%, #a78a6f 100%);
  border-radius: 0 0 20% 20%;
  animation: whc-wall 15s ease-in-out infinite alternate;
}
.scn-writ-of-habeas-corpus .bench {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #7a5c3a 0%, #4a3620 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  animation: whc-bench 6s ease-in-out infinite;
}
.scn-writ-of-habeas-corpus .figure-clerk {
  position: absolute; bottom: 26%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #d4a373 0%, #9c6b4f 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: whc-figure 4s ease-in-out infinite;
}
.scn-writ-of-habeas-corpus .figure-tutt {
  position: absolute; bottom: 26%; left: 55%; width: 28px; height: 52px;
  background: linear-gradient(180deg, #b0805a 0%, #6a4a32 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: whc-figure 4s ease-in-out infinite reverse;
}
.scn-writ-of-habeas-corpus .paper {
  position: absolute; bottom: 48%; left: 50%; width: 20px; height: 26px;
  background: linear-gradient(135deg, #fef9e7 0%, #f0e0b8 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: translateX(-50%);
  animation: whc-paper 3s ease-in-out infinite;
}
.scn-writ-of-habeas-corpus .gavel {
  position: absolute; bottom: 18%; left: 15%; width: 40px; height: 10px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 4px;
  transform: rotate(-10deg);
  animation: whc-gavel 2s ease-in-out infinite;
}
.scn-writ-of-habeas-corpus .light-spot {
  position: absolute; bottom: 30%; left: 45%; width: 100px; height: 100px;
  background: radial-gradient(circle, #fff8d0 0%, transparent 70%);
  animation: whc-spot 8s ease-in-out infinite alternate;
}
@keyframes whc-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes whc-bench {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes whc-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-3px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes whc-paper {
  0% { transform: translateX(-50%) rotate(0deg) scale(1); }
  50% { transform: translateX(-50%) rotate(12deg) scale(1.05); }
  100% { transform: translateX(-50%) rotate(0deg) scale(1); }
}
@keyframes whc-gavel {
  0%, 100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-3px); }
}
@keyframes whc-spot {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(0.95); }
}

.scn-reporters-flock-to-tutt {
  background: linear-gradient(180deg, #e8d6b0 0%, #c9a87a 100%),
              radial-gradient(ellipse at 50% 20%, #fff5e0 0%, transparent 70%);
}
.scn-reporters-flock-to-tutt .floor {
  position: absolute; inset: 60% 0 0 0;
  background: linear-gradient(180deg, #b09068 0%, #806048 100%);
  animation: rft-floor 12s ease-in-out infinite alternate;
}
.scn-reporters-flock-to-tutt .dais {
  position: absolute; bottom: 42%; left: 35%; right: 35%; height: 20%;
  background: linear-gradient(180deg, #704a2a 0%, #503020 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  animation: rft-dais 7s ease-in-out infinite;
}
.scn-reporters-flock-to-tutt .figure-judge {
  position: absolute; bottom: 50%; left: 48%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #b0805a 0%, #7a5030 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%);
  animation: rft-judge 5s ease-in-out infinite;
}
.scn-reporters-flock-to-tutt .reporter {
  position: absolute; bottom: 24%;
  width: 20px; height: 40px;
  background: linear-gradient(180deg, #c09470 0%, #8a6548 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 25% 25%;
  transform-origin: bottom center;
}
.scn-reporters-flock-to-tutt .r1 { left: 15%; animation: rft-r1 4s ease-in-out infinite; }
.scn-reporters-flock-to-tutt .r2 { left: 30%; animation: rft-r2 4.5s ease-in-out infinite; }
.scn-reporters-flock-to-tutt .r3 { left: 60%; animation: rft-r3 3.8s ease-in-out infinite; }
.scn-reporters-flock-to-tutt .r4 { left: 75%; animation: rft-r4 4.2s ease-in-out infinite; }
.scn-reporters-flock-to-tutt .crowd-shadow {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 12%;
  background: radial-gradient(ellipse, #5a3a28 0%, transparent 80%);
  filter: blur(8px);
  animation: rft-shadow 10s ease-in-out infinite alternate;
}
@keyframes rft-floor {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes rft-dais {
  0%, 100% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-2px) scaleX(1.02); }
}
@keyframes rft-judge {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(3deg) translateY(-1px); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes rft-r1 {
  0% { transform: translateX(0) rotate(-2deg); }
  33% { transform: translateX(8px) rotate(1deg); }
  66% { transform: translateX(14px) rotate(-1deg); }
  100% { transform: translateX(20px) rotate(0deg); }
}
@keyframes rft-r2 {
  0% { transform: translateX(0) rotate(1deg); }
  33% { transform: translateX(-5px) rotate(-2deg); }
  66% { transform: translateX(-10px) rotate(0deg); }
  100% { transform: translateX(-15px) rotate(1deg); }
}
@keyframes rft-r3 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-6px) rotate(3deg); }
  100% { transform: translateX(-12px) rotate(0deg); }
}
@keyframes rft-r4 {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(9px) rotate(2deg); }
  100% { transform: translateX(18px) rotate(-1deg); }
}
@keyframes rft-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.1); }
  100% { opacity: 0.35; transform: scaleX(0.95); }
}

.scn-babson-changes-tune {
  background: linear-gradient(180deg, #f0dbb0 0%, #d4b080 100%),
              radial-gradient(ellipse at 50% 30%, #ffe0a0 0%, transparent 60%);
}
.scn-babson-changes-tune .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #c9a870 0%, #a88860 100%);
  border-radius: 0 0 30% 30%;
  animation: bct-wall 14s ease-in-out infinite alternate;
}
.scn-babson-changes-tune .desk {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 16%;
  background: linear-gradient(180deg, #604020 0%, #3a2818 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: bct-desk 8s ease-in-out infinite;
}
.scn-babson-changes-tune .babson {
  position: absolute; bottom: 28%; left: 45%; width: 34px; height: 66px;
  background: linear-gradient(180deg, #b0805a 0%, #6a4a32 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform: translateX(-50%);
  animation: bct-babson 4s ease-in-out infinite;
}
.scn-babson-changes-tune .pencil {
  position: absolute; bottom: 20%;
  width: 4px; height: 22px;
  background: linear-gradient(180deg, #f0c060 0%, #be903a 100%);
  border-radius: 2px;
  transform: rotate(15deg);
}
.scn-babson-changes-tune .p1 { left: 25%; animation: bct-pencil1 3s ease-in-out infinite; }
.scn-babson-changes-tune .p2 { left: 50%; animation: bct-pencil2 3.5s ease-in-out infinite; }
.scn-babson-changes-tune .p3 { left: 70%; animation: bct-pencil3 2.8s ease-in-out infinite; }
.scn-babson-changes-tune .sweat-drop {
  position: absolute; bottom: 55%; left: 50%; width: 6px; height: 8px;
  background: radial-gradient(circle, #90c0e0 0%, #5090b0 100%);
  border-radius: 50%;
  transform: translateX(-50%);
  animation: bct-sweat 2s ease-in-out infinite;
}
.scn-babson-changes-tune .light-glow {
  position: absolute; bottom: 30%; left: 35%; width: 120px; height: 120px;
  background: radial-gradient(circle, #ffe880 0%, transparent 70%);
  animation: bct-glow 6s ease-in-out infinite alternate;
}
@keyframes bct-wall { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes bct-desk { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes bct-babson {
  0% { transform: translateX(-50%) rotate(0deg) scaleX(1); }
  25% { transform: translateX(-50%) rotate(2deg) scaleX(1.03); }
  50% { transform: translateX(-50%) rotate(-1deg) scaleX(0.97); }
  75% { transform: translateX(-50%) rotate(3deg) scaleX(1.02); }
  100% { transform: translateX(-50%) rotate(0deg) scaleX(1); }
}
@keyframes bct-pencil1 { 0% { transform:rotate(15deg) translateY(0); } 50% { transform:rotate(25deg) translateY(-4px); } 100% { transform:rotate(15deg) translateY(0); } }
@keyframes bct-pencil2 { 0% { transform:rotate(-10deg) translateY(0); } 50% { transform:rotate(5deg) translateY(-3px); } 100% { transform:rotate(-10deg) translateY(0); } }
@keyframes bct-pencil3 { 0% { transform:rotate(20deg) translateY(0); } 50% { transform:rotate(35deg) translateY(-5px); } 100% { transform:rotate(20deg) translateY(0); } }
@keyframes bct-sweat {
  0% { opacity:0; transform:translateX(-50%) translateY(0) scale(0.5); }
  40% { opacity:1; transform:translateX(-50%) translateY(-6px) scale(1); }
  70% { opacity:1; transform:translateX(-50%) translateY(-12px) scale(1.2); }
  100% { opacity:0; transform:translateX(-50%) translateY(-20px) scale(0.5); }
}
@keyframes bct-glow { 0% { opacity:0.6; transform:scale(1); } 50% { opacity:0.9; transform:scale(1.15); } 100% { opacity:0.7; transform:scale(0.9); } }

.scn-judge-exits-reporters-laugh {
  background: linear-gradient(180deg, #edd8b0 0%, #c9a87a 100%),
              radial-gradient(ellipse at 50% 40%, #fff0c0 0%, transparent 60%);
}
.scn-judge-exits-reporters-laugh .backdrop {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #b89870 0%, #9a7a58 100%);
  border-radius: 0 0 30% 30%;
  animation: jer-backdrop 16s ease-in-out infinite alternate;
}
.scn-judge-exits-reporters-laugh .bench-front {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #604020 0%, #3a2818 100%);
  border-radius: 12px 12px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  animation: jer-bench 7s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .judge {
  position: absolute; bottom: 45%; left: 48%; width: 32px; height: 70px;
  background: linear-gradient(180deg, #b0805a 0%, #6a4a32 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  transform: translateX(-50%);
  animation: jer-judge 5s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .reporter-a {
  position: absolute; bottom: 22%; left: 20%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #c09470 0%, #8a6548 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 25% 25%;
  animation: jer-rep1 3.5s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .reporter-b {
  position: absolute; bottom: 22%; left: 40%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #b8885a 0%, #7a5030 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 25% 25%;
  animation: jer-rep2 4s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .reporter-c {
  position: absolute; bottom: 22%; left: 60%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #d4a373 0%, #9c6b4f 100%);
  border-radius: 35% 35% 25% 25% / 45% 45% 25% 25%;
  animation: jer-rep3 3.2s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .laughter-lines {
  position: absolute; bottom: 30%; left: 25%; right: 25%; height: 4px;
  background: repeating-linear-gradient(90deg, #8a6a4a 0px, #8a6a4a 2px, transparent 2px, transparent 6px);
  animation: jer-laugh 2s ease-in-out infinite;
}
.scn-judge-exits-reporters-laugh .shadows {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 15%;
  background: radial-gradient(ellipse, #3a2818 0%, transparent 70%);
  filter: blur(10px);
  animation: jer-shadows 12s ease-in-out infinite alternate;
}
@keyframes jer-backdrop { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes jer-bench { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes jer-judge {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(4deg) scaleY(1.05); }
  50% { transform: translateX(-50%) rotate(-2deg); }
  75% { transform: translateX(-50%) rotate(2deg) scaleY(1.02); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes jer-rep1 {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(5px) rotate(5deg); }
  66% { transform: translateX(10px) rotate(-3deg); }
  100% { transform: translateX(15px) rotate(0deg); }
}
@keyframes jer-rep2 {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-4px) rotate(-4deg); }
  66% { transform: translateX(-8px) rotate(2deg); }
  100% { transform: translateX(-12px) rotate(0deg); }
}
@keyframes jer-rep3 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(6px) rotate(6deg); }
  100% { transform: translateX(12px) rotate(0deg); }
}
@keyframes jer-laugh {
  0% { opacity:0.3; transform:scaleX(1); }
  50% { opacity:0.8; transform:scaleX(1.2); }
  100% { opacity:0.4; transform:scaleX(0.9); }
}
@keyframes jer-shadows { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.35; } }

.scn-revenge-tradition-shane {
  background: linear-gradient(180deg, #1c1814 0%, #2a221c 40%, #3a2e26 100%), radial-gradient(ellipse at 50% 70%, #4a3a2e 0%, transparent 60%);
}
.scn-revenge-tradition-shane .wall-bg {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(90deg, #1c1814 0%, #2e261e 50%, #1c1814 100%); animation: rts-wall 20s ease-in-out infinite alternate;
}
.scn-revenge-tradition-shane .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(0deg, #1c1410 0%, #2a1e16 30%, #3a2a1e 100%); box-shadow: inset 0 8px 15px rgba(0,0,0,.7);
}
.scn-revenge-tradition-shane .door {
  position: absolute; bottom: 30%; left: 20%; width: 80px; height: 120px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: inset 0 2px 8px rgba(0,0,0,.6), 2px 0 6px rgba(0,0,0,.5); transform-origin: left center; animation: rts-door 6s ease-in-out infinite;
}
.scn-revenge-tradition-shane .figure-shane {
  position: absolute; bottom: 30%; left: 50%; width: 28px; height: 70px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: rts-figure 8s ease-in-out infinite;
}
.scn-revenge-tradition-shane .lamp {
  position: absolute; bottom: 52%; left: 70%; width: 16px; height: 24px; background: radial-gradient(circle, #c8a060 0%, #8a6a3a 70%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 10px #8a6a3a; animation: rts-lamp 4s ease-in-out infinite alternate;
}
.scn-revenge-tradition-shane .lamp-glow {
  position: absolute; bottom: 45%; left: 65%; width: 60px; height: 60px; background: radial-gradient(circle, rgba(200,160,96,.25) 0%, transparent 70%); border-radius: 50%; filter: blur(8px); animation: rts-glow 5s ease-in-out infinite alternate;
}
.scn-revenge-tradition-shane .shadow {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 60px; background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.4) 0%, transparent 70%); transform-origin: bottom center; animation: rts-shadow 8s ease-in-out infinite;
}
@keyframes rts-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes rts-door { 0% { transform: scaleX(1) } 25% { transform: scaleX(1.02) } 50% { transform: scaleX(.98) } 75% { transform: scaleX(1.01) } 100% { transform: scaleX(1) } }
@keyframes rts-figure { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 30% { transform: translateX(5px) translateY(-1px) rotate(1deg) } 60% { transform: translateX(-3px) translateY(1px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes rts-lamp { 0% { box-shadow: 0 0 8px 2px #8a6a3a; opacity: .8 } 50% { box-shadow: 0 0 18px 6px #c8a060; opacity: 1 } 100% { box-shadow: 0 0 10px 3px #8a6a3a; opacity: .85 } }
@keyframes rts-glow { 0% { transform: scale(1); opacity: .5 } 50% { transform: scale(1.2); opacity: .8 } 100% { transform: scale(.9); opacity: .4 } }
@keyframes rts-shadow { 0% { transform: scaleX(1) scaleY(1) } 50% { transform: scaleX(1.1) scaleY(1.05) } 100% { transform: scaleX(.95) scaleY(.95) } }

.scn-mcGurk-threat-district-attorney {
  background: linear-gradient(180deg, #1c1814 0%, #2a221c 40%, #3a2e26 100%), radial-gradient(ellipse at 50% 80%, #4a3a2e 0%, transparent 50%);
}
.scn-mcGurk-threat-district-attorney .room-wall {
  position: absolute; inset: 0 0 25% 0; background: linear-gradient(90deg, #1c1814 0%, #2e261e 50%, #1c1814 100%); animation: mtd-wall 15s ease-in-out infinite alternate;
}
.scn-mcGurk-threat-district-attorney .desk {
  position: absolute; bottom: 25%; left: 30%; width: 160px; height: 40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); transform-origin: bottom center; animation: mtd-desk 6s ease-in-out infinite;
}
.scn-mcGurk-threat-district-attorney .figure-mcgurk {
  position: absolute; bottom: 25%; left: 15%; width: 50px; height: 100px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: mtd-mcgurk 8s ease-in-out infinite;
}
.scn-mcGurk-threat-district-attorney .figure-peckham {
  position: absolute; bottom: 25%; left: 60%; width: 40px; height: 80px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 35% 35% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: mtd-peckham 10s ease-in-out infinite;
}
.scn-mcGurk-threat-district-attorney .fist {
  position: absolute; bottom: 45%; left: 30%; width: 20px; height: 20px; background: radial-gradient(circle, #2a1e14 0%, #1a1410 80%); border-radius: 50%; box-shadow: 0 0 8px rgba(0,0,0,.5); transform-origin: center; animation: mtd-fist 4s ease-in-out infinite alternate;
}
.scn-mcGurk-threat-district-attorney .lamp-desk {
  position: absolute; bottom: 42%; left: 55%; width: 14px; height: 20px; background: radial-gradient(circle, #c8a060 0%, #8a6a3a 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 8px #8a6a3a; animation: mtd-lamp 5s ease-in-out infinite alternate;
}
.scn-mcGurk-threat-district-attorney .lamp-glow-desk {
  position: absolute; bottom: 35%; left: 50%; width: 70px; height: 70px; background: radial-gradient(circle, rgba(200,160,96,.2) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: mtd-glow 6s ease-in-out infinite alternate;
}
@keyframes mtd-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes mtd-desk { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-1px) rotate(.5deg) } 50% { transform: translateY(0) rotate(-.5deg) } 75% { transform: translateY(-1px) rotate(.3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mtd-mcgurk { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(8px) rotate(2deg) } 60% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mtd-peckham { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(-3px) scaleY(.98) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes mtd-fist { 0% { transform: scale(1) translateY(0) } 50% { transform: scale(1.1) translateY(-3px) } 100% { transform: scale(1) translateY(0) } }
@keyframes mtd-lamp { 0% { box-shadow: 0 0 6px 2px #8a6a3a; opacity: .8 } 50% { box-shadow: 0 0 16px 5px #c8a060; opacity: 1 } 100% { box-shadow: 0 0 8px 3px #8a6a3a; opacity: .85 } }
@keyframes mtd-glow { 0% { transform: scale(1); opacity: .4 } 50% { transform: scale(1.3); opacity: .7 } 100% { transform: scale(.9); opacity: .3 } }

.scn-shane-arrest-and-silence {
  background: linear-gradient(180deg, #1c1814 0%, #2a221c 40%, #3a2e26 100%), radial-gradient(ellipse at 50% 70%, #2a221c 0%, transparent 80%);
}
.scn-shane-arrest-and-silence .cell-wall {
  position: absolute; inset: 0 0 20% 0; background: linear-gradient(90deg, #1c1814 0%, #2e261e 50%, #1c1814 100%); animation: sas-wall 20s ease-in-out infinite alternate;
}
.scn-shane-arrest-and-silence .cell-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: linear-gradient(0deg, #1c1410 0%, #2a1e16 100%); box-shadow: inset 0 8px 12px rgba(0,0,0,.5);
}
.scn-shane-arrest-and-silence .bars {
  position: absolute; bottom: 20%; left: 0; right: 0; top: 0; background: repeating-linear-gradient(90deg, transparent 0%, transparent 20px, #1a1410 20px, #1a1410 24px, transparent 24px, transparent 100%); filter: drop-shadow(0 0 4px rgba(0,0,0,.6)); animation: sas-bars 8s ease-in-out infinite alternate;
}
.scn-shane-arrest-and-silence .figure-shane-arrest {
  position: absolute; bottom: 20%; left: 30%; width: 30px; height: 80px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sas-shane 10s ease-in-out infinite;
}
.scn-shane-arrest-and-silence .figure-guard {
  position: absolute; bottom: 20%; left: 60%; width: 35px; height: 85px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 35% 35% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sas-guard 12s ease-in-out infinite;
}
.scn-shane-arrest-and-silence .cell-lamp {
  position: absolute; bottom: 60%; left: 50%; width: 12px; height: 16px; background: radial-gradient(circle, #c8a060 0%, #8a6a3a 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 8px #8a6a3a; animation: sas-lamp 4s ease-in-out infinite alternate;
}
.scn-shane-arrest-and-silence .cell-lamp-glow {
  position: absolute; bottom: 50%; left: 45%; width: 50px; height: 50px; background: radial-gradient(circle, rgba(200,160,96,.15) 0%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: sas-glow 5s ease-in-out infinite alternate;
}
@keyframes sas-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes sas-bars { 0% { opacity: .8 } 50% { opacity: 1 } 100% { opacity: .7 } }
@keyframes sas-shane { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-1px) rotate(.5deg) } 60% { transform: translateY(0) rotate(-.5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sas-guard { 0% { transform: translateX(0) } 25% { transform: translateX(3px) } 50% { transform: translateX(-2px) } 75% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes sas-lamp { 0% { box-shadow: 0 0 6px 2px #8a6a3a; opacity: .8 } 50% { box-shadow: 0 0 12px 4px #c8a060; opacity: 1 } 100% { box-shadow: 0 0 8px 2px #8a6a3a; opacity: .85 } }
@keyframes sas-glow { 0% { transform: scale(1); opacity: .3 } 50% { transform: scale(1.2); opacity: .6 } 100% { transform: scale(.9); opacity: .2 } }

.scn-no-evidence-problem {
  background: linear-gradient(180deg, #1c1814 0%, #2a221c 40%, #3a2e26 100%), radial-gradient(ellipse at 50% 70%, #3a2e26 0%, transparent 70%);
}
.scn-no-evidence-problem .interior-wall {
  position: absolute; inset: 0 0 20% 0; background: linear-gradient(90deg, #1c1814 0%, #2e261e 50%, #1c1814 100%); animation: nep-wall 18s ease-in-out infinite alternate;
}
.scn-no-evidence-problem .table {
  position: absolute; bottom: 20%; left: 20%; width: 200px; height: 30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); transform-origin: bottom center; animation: nep-table 6s ease-in-out infinite;
}
.scn-no-evidence-problem .figure-questioner {
  position: absolute; bottom: 20%; left: 10%; width: 45px; height: 90px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 35% 35% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: nep-questioner 8s ease-in-out infinite;
}
.scn-no-evidence-problem .figure-suspect {
  position: absolute; bottom: 20%; left: 55%; width: 35px; height: 80px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: nep-suspect 10s ease-in-out infinite;
}
.scn-no-evidence-problem .stool-pigeon {
  position: absolute; bottom: 20%; left: 80%; width: 30px; height: 70px; background: linear-gradient(180deg, #1a1410 0%, #0e0c0a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: nep-pigeon 12s ease-in-out infinite;
}
.scn-no-evidence-problem .lamp-table {
  position: absolute; bottom: 38%; left: 45%; width: 14px; height: 20px; background: radial-gradient(circle, #c8a060 0%, #8a6a3a 70%); border-radius: 30% 30% 10% 10%; box-shadow: 0 0 8px #8a6a3a; animation: nep-lamp 4s ease-in-out infinite alternate;
}
.scn-no-evidence-problem .lamp-glow-table {
  position: absolute; bottom: 30%; left: 38%; width: 80px; height: 80px; background: radial-gradient(circle, rgba(200,160,96,.2) 0%, transparent 70%); border-radius: 50%; filter: blur(10px); animation: nep-glow 5s ease-in-out infinite alternate;
}
.scn-no-evidence-problem .window-barred {
  position: absolute; bottom: 45%; right: 5%; width: 60px; height: 80px; border: 3px solid #1a1410; background: linear-gradient(180deg, #2e261e 0%, #1c1814 100%); border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: nep-window 10s ease-in-out infinite;
}
@keyframes nep-wall { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes nep-table { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-1px) rotate(.5deg) } 60% { transform: translateY(0) rotate(-.5deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes nep-questioner { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(-2px) rotate(-1deg) } 75% { transform: translateX(3px) rotate(.5deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes nep-suspect { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes nep-pigeon { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes nep-lamp { 0% { box-shadow: 0 0 6px 2px #8a6a3a; opacity: .8 } 50% { box-shadow: 0 0 16px 5px #c8a060; opacity: 1 } 100% { box-shadow: 0 0 8px 3px #8a6a3a; opacity: .85 } }
@keyframes nep-glow { 0% { transform: scale(1); opacity: .4 } 50% { transform: scale(1.2); opacity: .7 } 100% { transform: scale(.9); opacity: .3 } }
@keyframes nep-window { 0% { opacity: .7 } 50% { opacity: 1 } 100% { opacity: .8 } }

.scn-hogan-gives-up {
  background:
    linear-gradient(180deg, #1a1410 0%, #2a1e18 40%, #3a2a20 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2e 0%, transparent 70%);
}
.scn-hogan-gives-up .desk {
  position: absolute; bottom: 25%; left: 10%; right: 10%; height: 4%;
  background: linear-gradient(180deg, #4f3a2e 0%, #33261e 100%);
  border-radius: 4px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
  animation: hgu-desk 6s ease-in-out infinite;
}
.scn-hogan-gives-up .chair {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3e2e24 0%, #261b14 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: hgu-chair 8s ease-in-out infinite;
}
.scn-hogan-gives-up .figure {
  position: absolute; bottom: 25%; left: 50%; width: 50px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2c1f1a 0%, #140e0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: hgu-figure 5s ease-in-out infinite;
}
.scn-hogan-gives-up .lamp {
  position: absolute; bottom: 29%; left: 20%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c87050 0%, #8a5040 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(200,112,80,0.5);
  animation: hgu-lamp 4s ease-in-out infinite alternate;
}
.scn-hogan-gives-up .glow {
  position: absolute; bottom: 29%; left: 20%; width: 80px; height: 80px;
  transform: translate(-30%, -30%);
  background: radial-gradient(circle, rgba(200,112,80,0.3) 0%, transparent 70%);
  filter: blur(10px);
  animation: hgu-glow 6s ease-in-out infinite;
}
.scn-hogan-gives-up .shadow {
  position: absolute; bottom: 15%; left: 30%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(8px);
  animation: hgu-shadow 7s ease-in-out infinite;
}
.scn-hogan-gives-up .clock {
  position: absolute; top: 20%; right: 25%; width: 30px; height: 30px;
  border-radius: 50%;
  background: radial-gradient(circle, #6a5a4a 0%, #3a2e24 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: hgu-clock 2s ease-in-out infinite;
}
@keyframes hgu-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes hgu-chair { 0% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes hgu-figure { 0% { transform: translateX(-50%) translateY(0) scaleY(1); } 50% { transform: translateX(-50%) translateY(-3px) scaleY(0.97); } 100% { transform: translateX(-50%) translateY(0) scaleY(1); } }
@keyframes hgu-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(200,112,80,0.4); } 50% { opacity: 1; box-shadow: 0 0 30px 8px rgba(200,112,80,0.6); } 100% { opacity: 0.85; box-shadow: 0 0 20px 5px rgba(200,112,80,0.45); } }
@keyframes hgu-glow { 0% { transform: translate(-30%, -30%) scale(0.9); } 50% { transform: translate(-30%, -30%) scale(1.1); } 100% { transform: translate(-30%, -30%) scale(0.95); } }
@keyframes hgu-shadow { 0% { transform: scaleX(1); opacity: 0.5; } 50% { transform: scaleX(1.1); opacity: 0.7; } 100% { transform: scaleX(1); opacity: 0.5; } }
@keyframes hgu-clock { 0% { transform: rotate(0deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0deg); } }

.scn-hogan-carnivorous {
  background:
    linear-gradient(180deg, #1a1420 0%, #2a1e30 40%, #4a2e3a 100%),
    radial-gradient(ellipse at 50% 20%, #6a3a4a 0%, transparent 60%);
}
.scn-hogan-carnivorous .moon {
  position: absolute; top: 12%; right: 18%; width: 40px; height: 40px;
  border-radius: 50%;
  background: radial-gradient(circle, #c8a878 0%, #8a6a50 100%);
  box-shadow: 0 0 30px 10px rgba(200,168,120,0.4);
  animation: hca-moon 10s ease-in-out infinite alternate;
}
.scn-hogan-carnivorous .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a0e0a 100%);
  border-radius: 30% 30% 0 0;
}
.scn-hogan-carnivorous .beast {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 50px;
  background: linear-gradient(180deg, #4a2a22 0%, #2a1610 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.5);
  animation: hca-beast 6s ease-in-out infinite;
}
.scn-hogan-carnivorous .eye {
  position: absolute; bottom: 38%; left: 38%; width: 8px; height: 8px;
  background: radial-gradient(circle, #c87050 0%, #a04a30 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(200,112,80,0.6);
  animation: hca-eye 2s ease-in-out infinite;
}
.scn-hogan-carnivorous .teeth {
  position: absolute; bottom: 28%; left: 32%; width: 20px; height: 10px;
  background: linear-gradient(180deg, #b8a898 0%, #8a7868 100%);
  border-radius: 20% 20% 0 0;
  clip-path: polygon(0% 100%, 10% 0%, 20% 100%, 30% 0%, 40% 100%, 50% 0%, 60% 100%, 70% 0%, 80% 100%, 90% 0%, 100% 100%);
  animation: hca-teeth 4s ease-in-out infinite;
}
.scn-hogan-carnivorous .shadow {
  position: absolute; bottom: 5%; left: 20%; width: 100px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 70%);
  filter: blur(10px);
  animation: hca-shadow 8s ease-in-out infinite;
}
@keyframes hca-moon { 0% { transform: translateY(0) scale(1); opacity: 0.8; } 50% { transform: translateY(-5px) scale(0.95); opacity: 1; } 100% { transform: translateY(0) scale(1); opacity: 0.85; } }
@keyframes hca-beast { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(10px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hca-eye { 0% { opacity: 0.8; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.85; transform: scale(0.95); } }
@keyframes hca-teeth { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.2); } 100% { transform: scaleY(1); } }
@keyframes hca-shadow { 0% { transform: scaleX(1); opacity: 0.5; } 50% { transform: scaleX(1.2); opacity: 0.7; } 100% { transform: scaleX(1); opacity: 0.5; } }

.scn-survival-of-the-fittest {
  background:
    linear-gradient(180deg, #1a2a1a 0%, #0e1a0e 40%, #2a3a2a 100%),
    radial-gradient(ellipse at 50% 60%, #3a4a3a 0%, transparent 70%);
}
.scn-survival-of-the-fittest .bg-jungle {
  position: absolute; inset: 0;
  background: linear-gradient(120deg, #1a2a1a 0%, #2a3a2a 50%, #1a2a1a 100%);
  opacity: 0.6;
  animation: sft-bg 20s ease-in-out infinite;
}
.scn-survival-of-the-fittest .tree {
  position: absolute; bottom: 30%; left: 10%; width: 30px; height: 120px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 20% 20% 10% 10%;
  animation: sft-tree 10s ease-in-out infinite;
}
.scn-survival-of-the-fittest .hunter {
  position: absolute; bottom: 20%; left: 20%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #3a2e22 0%, #1e140e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: sft-hunter 7s ease-in-out infinite;
}
.scn-survival-of-the-fittest .prey {
  position: absolute; bottom: 25%; right: 20%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: sft-prey 5s ease-in-out infinite;
}
.scn-survival-of-the-fittest .vine {
  position: absolute; top: 10%; left: 50%; width: 6px; height: 60px;
  background: linear-gradient(180deg, #3a5a3a 0%, #1a3a1a 100%);
  border-radius: 40%;
  transform-origin: top;
  animation: sft-vine 8s ease-in-out infinite;
}
.scn-survival-of-the-fittest .shadow {
  position: absolute; bottom: 5%; left: 15%; width: 120px; height: 30px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  filter: blur(8px);
  animation: sft-shadow 6s ease-in-out infinite;
}
@keyframes sft-bg { 0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes sft-tree { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes sft-hunter { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(15px) rotate(-5deg); } 50% { transform: translateX(30px) rotate(0deg); } 75% { transform: translateX(15px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes sft-prey { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(-10px) translateY(-5px); } 50% { transform: translateX(-20px) translateY(0); } 75% { transform: translateX(-10px) translateY(-3px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes sft-vine { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }
@keyframes sft-shadow { 0% { transform: scaleX(1); opacity: 0.4; } 50% { transform: scaleX(1.3); opacity: 0.6; } 100% { transform: scaleX(1); opacity: 0.4; } }

.scn-hogan-at-home {
  background:
    linear-gradient(180deg, #f5e4c8 0%, #e8d4b0 30%, #d8c0a0 100%),
    radial-gradient(ellipse at 50% 50%, #faf0e0 0%, transparent 70%);
}
.scn-hogan-at-home .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #c8b498 0%, #a88c74 100%);
  border-radius: 20% 20% 0 0;
}
.scn-hogan-at-home .wall {
  position: absolute; top: 0; left: 0; right: 0; height: 80%;
  background: linear-gradient(180deg, #f0e0d0 0%, #e0c8b0 100%);
  opacity: 0.8;
}
.scn-hogan-at-home .table {
  position: absolute; bottom: 15%; left: 30%; right: 30%; height: 5%;
  background: linear-gradient(180deg, #a88c74 0%, #8a7058 100%);
  border-radius: 8px;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.2);
}
.scn-hogan-at-home .figure {
  position: absolute; bottom: 15%; left: 40%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: hah-figure 6s ease-in-out infinite;
}
.scn-hogan-at-home .gift {
  position: absolute; bottom: 20%; left: 45%; width: 20px; height: 20px;
  background: linear-gradient(135deg, #c87050 0%, #a04a30 100%);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: hah-gift 4s ease-in-out infinite;
}
.scn-hogan-at-home .lamp {
  position: absolute; bottom: 45%; left: 20%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #c8a878 0%, #8a6a50 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 0 20px 8px rgba(200,168,120,0.5);
  animation: hah-lamp 5s ease-in-out infinite alternate;
}
.scn-hogan-at-home .window {
  position: absolute; top: 15%; right: 25%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #a8c8e8 0%, #88a8c8 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.6);
  animation: hah-window 8s ease-in-out infinite;
}
.scn-hogan-at-home .flowers {
  position: absolute; bottom: 25%; left: 25%; width: 30px; height: 30px;
  background: radial-gradient(circle, #e8a080 0%, #c87050 100%);
  border-radius: 50%;
  animation: hah-flowers 7s ease-in-out infinite;
}
@keyframes hah-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hah-gift { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(5deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hah-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(200,168,120,0.4); } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(200,168,120,0.6); } 100% { opacity: 0.85; box-shadow: 0 0 20px 6px rgba(200,168,120,0.45); } }
@keyframes hah-window { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes hah-flowers { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.1) rotate(5deg); } 100% { transform: scale(1) rotate(0deg); } }

/* judge-charges-jury */
.scn-judge-charges-jury {
  background: linear-gradient(180deg, #f9e6c0 0%, #e3c897 30%, #d4b07a 60%, #c49a6b 100%), radial-gradient(ellipse at 50% 80%, #fff6e0 0%, transparent 60%);
}
.scn-judge-charges-jury .bench {
  position: absolute; bottom: 25%; left: 5%; width: 18%; height: 12%;
  background: linear-gradient(180deg, #8b6f4a 0%, #6b4f2a 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  transform-origin: bottom center; animation: jcj-bench 5s ease-in-out infinite;
}
.scn-judge-charges-jury .judge {
  position: absolute; bottom: 37%; left: 6%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #3a2e1a 0%, #2a1e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jcj-judge 3s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .gavel {
  position: absolute; bottom: 36%; left: 18%; width: 5%; height: 4%;
  background: #6b4f2a; border-radius: 2px; transform: rotate(-20deg);
  animation: jcj-gavel 2s ease-in-out infinite;
}
.scn-judge-charges-jury .jury-box {
  position: absolute; bottom: 20%; right: 8%; width: 35%; height: 30%;
  background: linear-gradient(180deg, #b89a6a 0%, #9a7a4a 100%);
  border-radius: 10px; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-judge-charges-jury .juror-1,
.scn-judge-charges-jury .juror-2 {
  position: absolute; bottom: 28%; width: 7%; height: 18%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
}
.scn-judge-charges-jury .juror-1 { right: 30%; animation: jcj-juror1 6s ease-in-out infinite; }
.scn-judge-charges-jury .juror-2 { right: 18%; animation: jcj-juror2 6s ease-in-out infinite 1s; }
.scn-judge-charges-jury .defendant {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #5e3a1a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jcj-def 7s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .desk-lamp {
  position: absolute; bottom: 33%; left: 12%; width: 4%; height: 8%;
  background: radial-gradient(circle, #ffd060 0%, #c09030 80%);
  border-radius: 50% 50% 0 0; box-shadow: 0 0 20px 10px #ffd060;
  animation: jcj-lamp 4s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .banner {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: jcj-banner 10s ease-in-out infinite;
}
@keyframes jcj-bench { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(0.98) } }
@keyframes jcj-judge { 0% { transform: translateY(0) rotate(1deg) } 100% { transform: translateY(-3px) rotate(-1deg) } }
@keyframes jcj-gavel { 0%,100% { transform: rotate(-20deg) } 50% { transform: rotate(10deg) } }
@keyframes jcj-juror1 { 0% { transform: translateX(0) } 50% { transform: translateX(5px) } 100% { transform: translateX(0) } }
@keyframes jcj-juror2 { 0% { transform: translateX(0) } 50% { transform: translateX(-5px) } 100% { transform: translateX(0) } }
@keyframes jcj-def { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes jcj-lamp { 0% { opacity: 0.8; box-shadow: 0 0 10px 5px #ffd060; } 100% { opacity: 1; box-shadow: 0 0 25px 12px #ffd060; } }
@keyframes jcj-banner { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-4px) } }

/* tutt-visits-restaurant */
.scn-tutt-visits-restaurant {
  background: linear-gradient(180deg, #c4e0f0 0%, #a8d4e8 40%, #e8d8a0 70%, #d4b87a 100%), radial-gradient(ellipse at 60% 0%, #fff8e0 0%, transparent 50%);
}
.scn-tutt-visits-restaurant .sky {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #b8d8f0 0%, #d8e8f8 60%, #f8f0d8 100%);
  animation: tvr-sky 20s ease-in-out infinite alternate;
}
.scn-tutt-visits-restaurant .sun {
  position: absolute; top: 8%; right: 20%; width: 12%; height: 12%;
  background: radial-gradient(circle, #ffe680 0%, #f8c040 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 30px #ffe680;
  animation: tvr-sun 30s linear infinite;
}
.scn-tutt-visits-restaurant .building {
  position: absolute; bottom: 20%; left: 20%; width: 40%; height: 50%;
  background: linear-gradient(180deg, #d4b87a 0%, #b89a5a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 4px 4px 12px rgba(0,0,0,0.2);
}
.scn-tutt-visits-restaurant .awning {
  position: absolute; bottom: 48%; left: 20%; width: 40%; height: 6%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 6px 6px 0 0; transform: skewX(-5deg);
  animation: tvr-awning 6s ease-in-out infinite alternate;
}
.scn-tutt-visits-restaurant .sign {
  position: absolute; top: 10%; left: 35%; width: 15%; height: 8%;
  background: linear-gradient(90deg, #d4a05a 0%, #e8c080 50%, #d4a05a 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: tvr-sign 12s ease-in-out infinite;
}
.scn-tutt-visits-restaurant .doorway {
  position: absolute; bottom: 20%; left: 32%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%);
  border-radius: 6px 6px 0 0;
}
.scn-tutt-visits-restaurant .figure-tutt {
  position: absolute; bottom: 18%; left: 38%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #3a2e1a 0%, #2a1e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tvr-walk 8s ease-in-out infinite;
}
.scn-tutt-visits-restaurant .pigeon-1,
.scn-tutt-visits-restaurant .pigeon-2 {
  position: absolute; bottom: 16%; width: 3%; height: 5%;
  background: radial-gradient(circle, #8a8a8a 0%, #5a5a5a 100%);
  border-radius: 50% 50% 40% 40%;
  animation: tvr-peck 2s ease-in-out infinite;
}
.scn-tutt-visits-restaurant .pigeon-1 { left: 55%; animation-delay: 0s; }
.scn-tutt-visits-restaurant .pigeon-2 { left: 65%; animation-delay: 0.5s; }
@keyframes tvr-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes tvr-sun { 0% { transform: translateX(0); } 100% { transform: translateX(30px); } }
@keyframes tvr-awning { 0% { transform: scaleY(1) skewX(-5deg); } 100% { transform: scaleY(1.05) skewX(-5deg); } }
@keyframes tvr-sign { 0%,100% { transform: rotate(0); } 50% { transform: rotate(2deg); } }
@keyframes tvr-walk { 0% { transform: translateX(0); } 25% { transform: translateX(5px) rotate(2deg); } 50% { transform: translateX(10px); } 75% { transform: translateX(15px) rotate(-2deg); } 100% { transform: translateX(20px); } }
@keyframes tvr-peck { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

/* tutt-orders-pie */
.scn-tutt-orders-pie {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #3a3a4a 60%, #2a2a3a 100%), radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 60%);
}
.scn-tutt-orders-pie .table {
  position: absolute; bottom: 0%; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20px 20px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-tutt-orders-pie .chair {
  position: absolute; bottom: 10%; left: 25%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10px 10px 0 0;
}
.scn-tutt-orders-pie .tutt-sitting {
  position: absolute; bottom: 22%; left: 20%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #3a2e1a 0%, #2a1e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: top-tutt 8s ease-in-out infinite alternate;
}
.scn-tutt-orders-pie .coffee-cup {
  position: absolute; bottom: 35%; left: 45%; width: 8%; height: 10%;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: top-cup 5s ease-in-out infinite;
}
.scn-tutt-orders-pie .pie-plate {
  position: absolute; bottom: 28%; left: 60%; width: 12%; height: 6%;
  background: radial-gradient(circle, #d4a05a 0%, #b0803a 80%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: top-pie 6s ease-in-out infinite;
}
.scn-tutt-orders-pie .stogy {
  position: absolute; bottom: 32%; left: 30%; width: 6%; height: 2%;
  background: #5a3a1a; border-radius: 10px; transform: rotate(-10deg);
  animation: top-stogy 3s ease-in-out infinite alternate;
}
.scn-tutt-orders-pie .lantern {
  position: absolute; bottom: 50%; left: 10%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffd060 0%, #c08030 80%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 15px #ffd060, 0 0 60px 30px rgba(255,208,96,0.5);
  animation: top-lantern 4s ease-in-out infinite alternate;
}
.scn-tutt-orders-pie .window-light {
  position: absolute; top: 5%; right: 20%; width: 20%; height: 30%;
  background: radial-gradient(ellipse, rgba(255,240,200,0.6) 0%, transparent 70%);
  border-radius: 20px; filter: blur(8px);
  animation: top-window 10s ease-in-out infinite alternate;
}
@keyframes top-tutt { 0% { transform: translateY(0) rotate(1deg); } 100% { transform: translateY(-3px) rotate(-1deg); } }
@keyframes top-cup { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes top-pie { 0% { transform: scale(1); } 50% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes top-stogy { 0% { transform: rotate(-10deg) translateX(0); } 100% { transform: rotate(-5deg) translateX(3px); } }
@keyframes top-lantern { 0% { opacity: 0.8; box-shadow: 0 0 20px 10px #ffd060; } 100% { opacity: 1; box-shadow: 0 0 40px 20px #ffd060; } }
@keyframes top-window { 0% { opacity: 0.5; } 100% { opacity: 0.9; } }

/* boy-comes-with-tray */
.scn-boy-comes-with-tray {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #3a3a4a 80%, #2a2a3a 100%), radial-gradient(ellipse at 30% 80%, #4a3a2a 0%, transparent 70%);
}
.scn-boy-comes-with-tray .table-bg {
  position: absolute; bottom: 0%; left: 0%; right: 0%; height: 40%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20px 20px 0 0;
}
.scn-boy-comes-with-tray .chair-left {
  position: absolute; bottom: 8%; left: 12%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 10px 10px 0 0;
}
.scn-boy-comes-with-tray .tutt-rear {
  position: absolute; bottom: 18%; left: 10%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #3a2e1a 0%, #2a1e0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bct-tutt 6s ease-in-out infinite;
}
.scn-boy-comes-with-tray .tray {
  position: absolute; bottom: 30%; left: 40%; width: 18%; height: 5%;
  background: linear-gradient(90deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: bct-tray 8s ease-in-out infinite;
}
.scn-boy-comes-with-tray .boy {
  position: absolute; bottom: 12%; right: 18%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bct-boy 7s ease-in-out infinite;
}
.scn-boy-comes-with-tray .coffee-cup-new {
  position: absolute; bottom: 33%; left: 42%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  border-radius: 4px 4px 8px 8px;
  animation: bct-cup 5s ease-in-out infinite alternate;
}
.scn-boy-comes-with-tray .pastry {
  position: absolute; bottom: 28%; left: 48%; width: 8%; height: 4%;
  background: radial-gradient(circle, #d4a05a 0%, #b0803a 80%);
  border-radius: 50%;
  animation: bct-pastry 9s ease-in-out infinite;
}
.scn-boy-comes-with-tray .lamp-glow {
  position: absolute; bottom: 55%; left: 5%; width: 15%; height: 20%;
  background: radial-gradient(ellipse, #ffd060 0%, #c08030 50%, transparent 80%);
  border-radius: 50%; filter: blur(10px);
  animation: bct-lamp 4s ease-in-out infinite alternate;
}
.scn-boy-comes-with-tray .screen {
  position: absolute; top: 5%; left: 20%; width: 25%; height: 60%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 6px 6px 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
  transform: skewY(-2deg);
  animation: bct-screen 10s ease-in-out infinite;
}
@keyframes bct-tutt { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes bct-tray { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes bct-boy { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(-1px) rotate(-1deg); } 75% { transform: translateY(-4px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes bct-cup { 0% { transform: scaleY(1); } 100% { transform: scaleY(0.95); } }
@keyframes bct-pastry { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes bct-lamp { 0% { opacity: 0.7; box-shadow: 0 0 15px 8px #ffd060; } 100% { opacity: 1; box-shadow: 0 0 30px 15px #ffd060; } }
@keyframes bct-screen { 0% { transform: skewY(-2deg) translateX(0); } 50% { transform: skewY(-1deg) translateX(3px); } 100% { transform: skewY(-2deg) translateX(0); } }

.scn-delany-psychological-justification {
  background: linear-gradient(135deg, #1e1e2a 0%, #2a2a38 60%, #10101a 100%),
              radial-gradient(ellipse at 30% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-delany-psychological-justification .lamp-glow {
  position: absolute;
  left: 35%;
  top: 30%;
  width: 80px;
  height: 120px;
  background: radial-gradient(circle at 50% 20%, #d4a050 0%, #b07030 40%, transparent 70%);
  border-radius: 60% 60% 30% 30% / 80% 80% 30% 30%;
  animation: dpj-glow 2.5s ease-in-out infinite alternate;
}
.scn-delany-psychological-justification .desk {
  position: absolute;
  bottom: 25%;
  left: 10%;
  right: 10%;
  height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
  transform-origin: bottom center;
  animation: dpj-desk 12s ease-in-out infinite;
}
.scn-delany-psychological-justification .figure {
  position: absolute;
  bottom: 35%;
  left: 45%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: center bottom;
  animation: dpj-figure 4s ease-in-out infinite;
}
.scn-delany-psychological-justification .paper {
  position: absolute;
  bottom: 38%;
  left: 30%;
  width: 50px;
  height: 40px;
  background: #3a2a12;
  border-radius: 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.7);
  animation: dpj-paper 3s ease-in-out infinite alternate;
}
.scn-delany-psychological-justification .evidence-shadow {
  position: absolute;
  bottom: 30%;
  left: 25%;
  width: 120px;
  height: 20px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(5px);
  animation: dpj-shadow 5s ease-in-out infinite alternate;
}
.scn-delany-psychological-justification .airborne-flash {
  position: absolute;
  top: 20%;
  left: 60%;
  width: 6px;
  height: 6px;
  background: #d4a050;
  border-radius: 50%;
  box-shadow: 0 0 12px 6px rgba(212,160,80,0.5);
  animation: dpj-flash 1.8s ease-in-out infinite;
}
@keyframes dpj-glow {
  0% { opacity: 0.7; transform: scale(0.95) rotate(-2deg); }
  50% { opacity: 1; transform: scale(1.05) rotate(2deg); }
  100% { opacity: 0.8; transform: scale(1) rotate(0); }
}
@keyframes dpj-desk {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(0.98); }
}
@keyframes dpj-figure {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes dpj-paper {
  0% { opacity: 0.6; transform: translateY(0) rotate(0deg); }
  50% { opacity: 0.9; transform: translateY(-3px) rotate(3deg); }
  100% { opacity: 0.7; transform: translateY(0) rotate(-2deg); }
}
@keyframes dpj-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.5; transform: scaleX(1.1); }
  100% { opacity: 0.4; transform: scaleX(0.9); }
}
@keyframes dpj-flash {
  0% { opacity: 0; transform: translate(0,0) scale(0.5); }
  20% { opacity: 1; transform: translate(10px,-15px) scale(1); }
  40% { opacity: 0.3; transform: translate(20px,-30px) scale(0.6); }
  60% { opacity: 0.8; transform: translate(30px,-45px) scale(1.2); }
  80% { opacity: 0.5; transform: translate(40px,-60px) scale(0.8); }
  100% { opacity: 0; transform: translate(50px,-75px) scale(0.3); }
}

.scn-occasional-graft {
  background: linear-gradient(180deg, #3a3a20 0%, #2a2a10 60%, #1a1a00 100%),
              radial-gradient(ellipse at 50% 0%, #f0e0b0 0%, transparent 50%);
}
.scn-occasional-graft .ceiling-light-bg {
  position: absolute;
  top: -10%;
  left: 30%;
  width: 120px;
  height: 80px;
  background: radial-gradient(ellipse at 50% 0%, #f5e6c8 0%, #c0a068 50%, transparent 100%);
  border-radius: 50% 50% 0 0;
  animation: og-light-sway 6s ease-in-out infinite alternate;
}
.scn-occasional-graft .desk-surface {
  position: absolute;
  bottom: 30%;
  left: 5%;
  right: 5%;
  height: 40%;
  background: linear-gradient(180deg, #4a3a1a 0%, #2a1a08 100%);
  border-radius: 3% 3% 0 0;
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.8);
}
.scn-occasional-graft .hand-envelope {
  position: absolute;
  bottom: 38%;
  left: 40%;
  width: 50px;
  height: 30px;
  background: #5a4a2a;
  border-radius: 15% 15% 0 0;
  transform: skewX(-10deg);
  box-shadow: 2px -2px 6px rgba(0,0,0,0.5);
  animation: og-hand 3s ease-in-out infinite;
}
.scn-occasional-graft .shadow-pool {
  position: absolute;
  bottom: 28%;
  left: 35%;
  width: 100px;
  height: 15px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(4px);
  animation: og-shadow 8s ease-in-out infinite;
}
.scn-occasional-graft .coin-drop {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: radial-gradient(circle, #d4a050 0%, #a07030 60%, #603010 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: og-coin 4s ease-in-out infinite;
}
.scn-occasional-graft .suspension-wire {
  position: absolute;
  top: 8%;
  left: 48%;
  width: 4px;
  height: 50px;
  background: linear-gradient(180deg, #808080, #404040);
  transform-origin: top center;
  animation: og-wire 6s ease-in-out infinite alternate;
}
@keyframes og-light-sway {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(3deg); }
  100% { transform: translateX(-8px) rotate(-3deg); }
}
@keyframes og-hand {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes og-shadow {
  0% { opacity: 0.3; transform: scaleX(1); }
  50% { opacity: 0.6; transform: scaleX(1.2); }
  100% { opacity: 0.4; transform: scaleX(0.8); }
}
@keyframes og-coin {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  25% { transform: translateY(30px) scale(0.9); opacity: 1; }
  50% { transform: translateY(60px) scale(0.8); opacity: 0.6; }
  75% { transform: translateY(90px) scale(0.7); opacity: 0.3; }
  100% { transform: translateY(120px) scale(0.5); opacity: 0; }
}
@keyframes og-wire {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(0deg); }
  100% { transform: rotate(2deg); }
}

.scn-fourteen-pound-rib-roast {
  background: linear-gradient(135deg, #1a1a10 0%, #2a1a08 50%, #100a00 100%),
              radial-gradient(ellipse at 50% 70%, #4a2a0a 0%, transparent 70%);
}
.scn-fourteen-pound-rib-roast .table-plane {
  position: absolute;
  bottom: 20%;
  left: 5%;
  right: 5%;
  height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.8);
  transform-origin: bottom center;
  animation: fpr-table 10s ease-in-out infinite alternate;
}
.scn-fourteen-pound-rib-roast .meat-roast {
  position: absolute;
  bottom: 30%;
  left: 40%;
  width: 100px;
  height: 60px;
  background: linear-gradient(180deg, #6a3a1a 0%, #4a2010 60%, #2a1006 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.7);
  animation: fpr-roast 5s ease-in-out infinite;
}
.scn-fourteen-pound-rib-roast .butcher-paper {
  position: absolute;
  bottom: 35%;
  left: 32%;
  width: 80px;
  height: 12px;
  background: #5a4020;
  border-radius: 2px;
  opacity: 0.7;
  animation: fpr-paper 7s ease-in-out infinite alternate;
}
.scn-fourteen-pound-rib-roast .knife-blade {
  position: absolute;
  bottom: 40%;
  left: 55%;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #a0a0a0, #606060);
  border-radius: 2px;
  transform: rotate(35deg);
  box-shadow: 0 0 6px rgba(255,255,255,0.2);
  animation: fpr-knife 3s ease-in-out infinite;
}
.scn-fourteen-pound-rib-roast .bottle-drip {
  position: absolute;
  bottom: 45%;
  left: 25%;
  width: 8px;
  height: 20px;
  background: radial-gradient(circle at 50% 100%, #4a2a0a 0%, transparent 70%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: fpr-drip 4s ease-in-out infinite;
}
.scn-fourteen-pound-rib-roast .darkness-creep {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 60%, rgba(0,0,0,0.6) 100%);
  animation: fpr-creep 15s ease-in-out infinite alternate;
}
@keyframes fpr-table {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.01); }
  100% { transform: scaleY(0.99); }
}
@keyframes fpr-roast {
  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(0); }
}
@keyframes fpr-paper {
  0% { opacity: 0.5; transform: translateX(0); }
  50% { opacity: 0.8; transform: translateX(5px); }
  100% { opacity: 0.6; transform: translateX(-5px); }
}
@keyframes fpr-knife {
  0% { transform: rotate(35deg) translateY(0); }
  50% { transform: rotate(30deg) translateY(1px); }
  100% { transform: rotate(35deg) translateY(0); }
}
@keyframes fpr-drip {
  0% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(15px); opacity: 0.3; }
  100% { transform: translateY(0); opacity: 0.5; }
}
@keyframes fpr-creep {
  0% { opacity: 0.4; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}

.scn-cakes-and-ale {
  background: linear-gradient(180deg, #1a1a1e 0%, #2a2a30 50%, #121216 100%),
              radial-gradient(ellipse at 50% 100%, #3a2a1a 0%, transparent 70%);
}
.scn-cakes-and-ale .table-cloth {
  position: absolute;
  bottom: 15%;
  left: 5%;
  right: 5%;
  height: 40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a1008 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -8px 20px rgba(0,0,0,0.7);
  transform-origin: bottom center;
  animation: ca-cloth 12s ease-in-out infinite alternate;
}
.scn-cakes-and-ale .ale-glass {
  position: absolute;
  bottom: 30%;
  left: 35%;
  width: 30px;
  height: 50px;
  background: linear-gradient(90deg, #ab7e4e 0%, #d4a050 40%, #ab7e4e 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 10% 10%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: ca-glass 4s ease-in-out infinite;
}
.scn-cakes-and-ale .cake-plate {
  position: absolute;
  bottom: 28%;
  left: 55%;
  width: 60px;
  height: 20px;
  background: #4a2a1a;
  border-radius: 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: ca-plate 5s ease-in-out infinite;
}
.scn-cakes-and-ale .hand-reach {
  position: absolute;
  bottom: 38%;
  left: 20%;
  width: 60px;
  height: 40px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(20deg);
  animation: ca-hand 3s ease-in-out infinite;
}
.scn-cakes-and-ale .candle-glow {
  position: absolute;
  bottom: 40%;
  left: 60%;
  width: 10px;
  height: 10px;
  background: radial-gradient(circle, #f0c060 0%, #d08030 60%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px rgba(240,192,96,0.4);
  animation: ca-candle 2s ease-in-out infinite alternate;
}
.scn-cakes-and-ale .shadows-deep {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 50%, rgba(0,0,0,0.5) 100%);
  animation: ca-shadow 10s ease-in-out infinite alternate;
}
@keyframes ca-cloth {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.015); }
  100% { transform: scaleY(0.985); }
}
@keyframes ca-glass {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(3deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes ca-plate {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); }
  100% { transform: translateX(-3px); }
}
@keyframes ca-hand {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(5px); }
  100% { transform: rotate(20deg) translateY(0); }
}
@keyframes ca-candle {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes ca-shadow {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

.scn-mother-has-savings {
  background: linear-gradient(180deg, #2a1e16 0%, #1f1410 50%, #3a2520 100%), radial-gradient(ellipse at 50% 100%, #5a3a28 0%, transparent 70%);
}
.scn-mother-has-savings .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e16 0%, #1f0f0a 100%); }
.scn-mother-has-savings .wall { position:absolute; top:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #2e1e14 0%, #24140e 100%); border-bottom: 4px solid #0d0806; }
.scn-mother-has-savings .table { position:absolute; bottom:18%; left:50%; width:120px; height:18px; margin-left:-60px; background: linear-gradient(180deg, #3e281e 0%, #2a1a12 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-mother-has-savings .lamp { position:absolute; top:35%; left:42%; width:10px; height:20px; background: #b87550; border-radius: 4px 4px 8px 8px; box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); animation: mhs-lamp 2s ease-in-out infinite alternate; }
.scn-mother-has-savings .mother { position:absolute; bottom:20%; left:30%; width:30px; height:60px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mhs-mother 3s ease-in-out infinite; }
.scn-mother-has-savings .simpkins { position:absolute; bottom:20%; left:55%; width:28px; height:65px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: mhs-simpkins 4s ease-in-out infinite; }
.scn-mother-has-savings .money { position:absolute; bottom:19%; left:48%; width:8px; height:4px; background: #a08060; border-radius: 2px; box-shadow: 0 0 6px 2px #c09870; animation: mhs-money 1.5s ease-in-out infinite alternate; }
.scn-mother-has-savings .shadow { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%); }
@keyframes mhs-lamp { 0% { box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); opacity:.9; } 50% { box-shadow: 0 0 40px 15px #c88a60, 0 0 80px 30px rgba(200,138,96,.4); opacity:1; } 100% { box-shadow: 0 0 25px 8px #b87550, 0 0 50px 15px rgba(184,117,80,.25); opacity:.85; } }
@keyframes mhs-mother { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-2deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes mhs-simpkins { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(1deg); } 60% { transform: translateY(1px) rotate(-1deg); } }
@keyframes mhs-money { 0% { opacity:.6; transform: scaleY(1); } 100% { opacity:1; transform: scaleY(1.3); } }

.scn-simpkins-hesitates {
  background: linear-gradient(180deg, #2a1e16 0%, #1f1410 50%, #3a2520 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-simpkins-hesitates .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e16 0%, #1f0f0a 100%); }
.scn-simpkins-hesitates .wall { position:absolute; top:0; left:0; right:0; height:55%; background: linear-gradient(180deg, #2e1e14 0%, #24140e 100%); border-bottom: 4px solid #0d0806; }
.scn-simpkins-hesitates .door { position:absolute; top:25%; right:15%; width:30px; height:70px; background: linear-gradient(180deg, #3e2a1e 0%, #2a1a12 100%); border-radius: 2px; border: 2px solid #0d0806; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: sh-door 6s ease-in-out infinite; }
.scn-simpkins-hesitates .lamp { position:absolute; top:30%; left:40%; width:10px; height:20px; background: #b87550; border-radius: 4px 4px 8px 8px; box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); animation: sh-lamp 2s ease-in-out infinite alternate; }
.scn-simpkins-hesitates .simpkins { position:absolute; bottom:20%; left:40%; width:28px; height:65px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: sh-simpkins 3.5s ease-in-out infinite; }
.scn-simpkins-hesitates .mother { position:absolute; bottom:20%; left:52%; width:30px; height:60px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: sh-mother 2.8s ease-in-out infinite; }
.scn-simpkins-hesitates .sleeve { position:absolute; bottom:32%; left:51%; width:8px; height:20px; background: #2a1a12; border-radius: 4px; transform: rotate(20deg); animation: sh-sleeve 2.8s ease-in-out infinite; }
.scn-simpkins-hesitates .shadow { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%); }
@keyframes sh-lamp { 0% { box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); opacity:.9; } 50% { box-shadow: 0 0 40px 15px #c88a60, 0 0 80px 30px rgba(200,138,96,.4); opacity:1; } 100% { box-shadow: 0 0 25px 8px #b87550, 0 0 50px 15px rgba(184,117,80,.25); opacity:.85; } }
@keyframes sh-simpkins { 0%,100% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-2px) rotate(2deg); } 40% { transform: translateY(0) rotate(0deg); } 60% { transform: translateX(-3px) rotate(-1deg); } 80% { transform: translateX(0) rotate(1deg); } }
@keyframes sh-mother { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(3px) translateY(-1px) rotate(1deg); } }
@keyframes sh-sleeve { 0%,100% { transform: rotate(20deg) translateY(0); } 25% { transform: rotate(15deg) translateY(-1px); } 50% { transform: rotate(25deg) translateY(0); } 75% { transform: rotate(18deg) translateY(-1px); } }
@keyframes sh-door { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(0.9); opacity:.6; } }

.scn-hogan-fee-discussed {
  background: linear-gradient(180deg, #2a1e16 0%, #1f1410 50%, #3a2520 100%), radial-gradient(ellipse at 50% 100%, #4a3020 0%, transparent 70%);
}
.scn-hogan-fee-discussed .room-bg { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e16 0%, #1f0f0a 100%); }
.scn-hogan-fee-discussed .desk { position:absolute; bottom:15%; left:30%; right:30%; height:20px; background: linear-gradient(180deg, #3e2820 0%, #2a1a12 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-hogan-fee-discussed .paper { position:absolute; bottom:16%; left:38%; width:20px; height:14px; background: #f0e0c0; border-radius: 1px; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: hfd-paper 5s ease-in-out infinite; }
.scn-hogan-fee-discussed .lamp { position:absolute; top:30%; left:45%; width:10px; height:20px; background: #b87550; border-radius: 4px 4px 8px 8px; box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); animation: hfd-lamp 2s ease-in-out infinite alternate; }
.scn-hogan-fee-discussed .simpkins { position:absolute; bottom:18%; left:35%; width:28px; height:60px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: hfd-simpkins 4s ease-in-out infinite; }
.scn-hogan-fee-discussed .mother { position:absolute; bottom:18%; left:55%; width:30px; height:58px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hfd-mother 3s ease-in-out infinite; }
.scn-hogan-fee-discussed .coin { position:absolute; bottom:18.5%; left:43%; width:6px; height:3px; background: #c8a060; border-radius: 50%; box-shadow: 0 0 6px 2px #d4b070; animation: hfd-coin 1.8s ease-in-out infinite alternate; }
.scn-hogan-fee-discussed .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%); }
@keyframes hfd-lamp { 0% { box-shadow: 0 0 30px 10px #b87550, 0 0 60px 20px rgba(184,117,80,.3); opacity:.9; } 50% { box-shadow: 0 0 40px 15px #c88a60, 0 0 80px 30px rgba(200,138,96,.4); opacity:1; } 100% { box-shadow: 0 0 25px 8px #b87550, 0 0 50px 15px rgba(184,117,80,.25); opacity:.85; } }
@keyframes hfd-paper { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } }
@keyframes hfd-simpkins { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(2deg); } 60% { transform: translateY(0) rotate(0deg); } }
@keyframes hfd-mother { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateX(-2px) rotate(-1deg); } 50% { transform: translateX(0) rotate(1deg); } 75% { transform: translateX(-1px) rotate(0deg); } }
@keyframes hfd-coin { 0% { opacity:.5; transform: scaleY(1); } 100% { opacity:1; transform: scaleY(1.4); } }

.scn-mother-visits-jail {
  background: linear-gradient(180deg, #0f0a0f 0%, #1a101a 50%, #2a1820 100%), radial-gradient(ellipse at 50% 100%, #3a1a1a 0%, transparent 70%);
}
.scn-mother-visits-jail .cell-bg { position:absolute; inset:0; background: linear-gradient(180deg, #0f0a0f 0%, #1a101a 100%); }
.scn-mother-visits-jail .bars { position:absolute; top:5%; left:0; right:0; bottom:5%; background: repeating-linear-gradient(0deg, transparent, transparent 8px, #2a1a1a 8px, #2a1a1a 10px); mask: linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.6) 100%); -webkit-mask: linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.6) 100%); animation: mvj-bars 12s ease-in-out infinite alternate; }
.scn-mother-visits-jail .bed { position:absolute; bottom:15%; left:25%; width:60px; height:12px; background: #2a1a1a; border-radius: 4px; box-shadow: inset 0 2px 4px rgba(0,0,0,.8); }
.scn-mother-visits-jail .tony { position:absolute; bottom:15%; left:27%; width:20px; height:40px; background: #1a101a; border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: mvj-tony 8s ease-in-out infinite; }
.scn-mother-visits-jail .mother { position:absolute; bottom:25%; right:20%; width:28px; height:55px; background: linear-gradient(180deg, #1a1310 0%, #0f0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mvj-mother 4s ease-in-out infinite; }
.scn-mother-visits-jail .lamp-hall { position:absolute; top:20%; right:10%; width:8px; height:16px; background: #6a5050; border-radius: 4px 4px 8px 8px; box-shadow: 0 0 20px 6px #6a5050, 0 0 40px 12px rgba(106,80,80,.3); animation: mvj-lamp 3s ease-in-out infinite alternate; }
.scn-mother-visits-jail .shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.8) 100%); }
@keyframes mvj-bars { 0% { opacity:.7; } 50% { opacity:1; } 100% { opacity:.6; } }
@keyframes mvj-tony { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(2deg); } 60% { transform: translateY(0) rotate(0deg); } }
@keyframes mvj-mother { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(-3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(2deg); } }
@keyframes mvj-lamp { 0% { box-shadow: 0 0 20px 6px #6a5050, 0 0 40px 12px rgba(106,80,80,.3); opacity:.7; } 50% { box-shadow: 0 0 30px 10px #8a6060, 0 0 60px 20px rgba(138,96,96,.4); opacity:1; } 100% { box-shadow: 0 0 15px 4px #6a5050, 0 0 30px 8px rgba(106,80,80,.25); opacity:.8; } }

.scn-obrien-asks-what-he-said {
  background: 
    linear-gradient(180deg, #f5f0e8 0%, #e8e0d0 40%, #d4c8b0 100%),
    radial-gradient(ellipse at 70% 30%, #fff8ec 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-obrien-asks-what-he-said .wall {
  position: absolute; inset: 0 50% 0 0;
  background: linear-gradient(90deg, #f0e8dc 0%, #e8dcc8 100%);
}
.scn-obrien-asks-what-he-said .window {
  position: absolute; top: 10%; left: 5%; width: 40%; height: 55%;
  background: linear-gradient(135deg, #fffce8 0%, #e8e0c0 100%);
  border: 6px solid #a09078; border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255, 255, 200, 0.6);
  animation: ob-window-pulse 8s ease-in-out infinite alternate;
}
.scn-obrien-asks-what-he-said .bench {
  position: absolute; bottom: 20%; left: 50%; width: 35%; height: 30%;
  background: linear-gradient(180deg, #6a5a48 0%, #4a3a28 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
}
.scn-obrien-asks-what-he-said .desk {
  position: absolute; bottom: 15%; left: 55%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #7a6a58 0%, #5a4a38 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-obrien-asks-what-he-said .figure-obrien {
  position: absolute; bottom: 18%; left: 35%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ob-figure-turn 6s ease-in-out infinite;
}
.scn-obrien-asks-what-he-said .shadow-obrien {
  position: absolute; bottom: 18%; left: 32%; width: 18%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.25) 0%, transparent 70%);
  animation: ob-shadow-shift 6s ease-in-out infinite;
}
.scn-obrien-asks-what-he-said .gavel {
  position: absolute; bottom: 32%; left: 62%; width: 3%; height: 8%;
  background: linear-gradient(180deg, #8a7a68 0%, #5a4a38 100%);
  border-radius: 2px; transform: rotate(-15deg);
  animation: ob-gavel-twitch 4s ease-in-out infinite;
}
.scn-obrien-asks-what-he-said .papers {
  position: absolute; bottom: 25%; left: 58%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #f0e8dc 0%, #e0d0c0 100%);
  border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.15);
  animation: ob-papers-rustle 9s ease-in-out infinite;
}
@keyframes ob-window-pulse {
  0% { box-shadow: inset 0 0 40px rgba(255,255,200,0.6); opacity: 0.9; }
  50% { box-shadow: inset 0 0 60px rgba(255,255,200,0.8); opacity: 1; }
  100% { box-shadow: inset 0 0 30px rgba(255,255,200,0.5); opacity: 0.85; }
}
@keyframes ob-figure-turn {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-4px) rotate(-3deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes ob-shadow-shift {
  0% { transform: translateX(0) scaleX(1); opacity: 0.8; }
  50% { transform: translateX(-6px) scaleX(0.9); opacity: 0.6; }
  100% { transform: translateX(0) scaleX(1); opacity: 0.8; }
}
@keyframes ob-gavel-twitch {
  0%, 100% { transform: rotate(-15deg); }
  40% { transform: rotate(-20deg); }
  60% { transform: rotate(-10deg); }
}
@keyframes ob-papers-rustle {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.scn-beekman-refuses-to-answer {
  background: 
    linear-gradient(180deg, #efe8dc 0%, #e0d8c8 50%, #ccc0a8 100%),
    radial-gradient(ellipse at 30% 60%, #fff8e8 0%, transparent 70%);
  position: relative; overflow: hidden;
}
.scn-beekman-refuses-to-answer .wall {
  position: absolute; inset: 0 40% 0 0;
  background: linear-gradient(90deg, #e8e0d0 0%, #dcd0c0 100%);
}
.scn-beekman-refuses-to-answer .window-beekman {
  position: absolute; top: 8%; left: 3%; width: 30%; height: 45%;
  background: linear-gradient(135deg, #fffce0 0%, #ece0c0 100%);
  border: 5px solid #9a8870; border-radius: 3px;
  box-shadow: inset 0 0 30px rgba(255, 240, 180, 0.5);
  animation: bb-window-glow 10s ease-in-out infinite alternate;
}
.scn-beekman-refuses-to-answer .chair {
  position: absolute; bottom: 18%; left: 50%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #7a6a58 0%, #4a3a28 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 10% 10%;
  box-shadow: 0 -3px 8px rgba(0,0,0,0.2);
}
.scn-beekman-refuses-to-answer .desk-beekman {
  position: absolute; bottom: 12%; left: 45%; width: 28%; height: 18%;
  background: linear-gradient(180deg, #8a7a68 0%, #5a4a38 100%);
  border-radius: 4px; box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.scn-beekman-refuses-to-answer .figure-beekman {
  position: absolute; bottom: 20%; left: 52%; width: 14%; height: 42%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: bb-figure-stand 7s ease-in-out infinite;
}
.scn-beekman-refuses-to-answer .figure-tutt {
  position: absolute; bottom: 18%; left: 30%; width: 13%; height: 38%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: scaleX(-1);
  animation: bb-figure-tutt 9s ease-in-out infinite;
}
.scn-beekman-refuses-to-answer .shadow-beekman {
  position: absolute; bottom: 20%; left: 48%; width: 16%; height: 5%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.2) 0%, transparent 70%);
  animation: bb-shadow-move 7s ease-in-out infinite;
}
.scn-beekman-refuses-to-answer .light-beam {
  position: absolute; top: 0; left: 20%; width: 40%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,200,0.15) 0%, transparent 60%);
  animation: bb-beam-sweep 12s linear infinite;
}
@keyframes bb-window-glow {
  0% { box-shadow: inset 0 0 30px rgba(255,240,180,0.5); opacity: 0.85; }
  50% { box-shadow: inset 0 0 50px rgba(255,240,180,0.8); opacity: 1; }
  100% { box-shadow: inset 0 0 25px rgba(255,240,180,0.4); opacity: 0.8; }
}
@keyframes bb-figure-stand {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-2px) rotate(1deg); }
  60% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bb-figure-tutt {
  0% { transform: scaleX(-1) translateY(0); }
  25% { transform: scaleX(-1) translateY(-1px); }
  50% { transform: scaleX(-1) translateY(0); }
  75% { transform: scaleX(-1) translateY(-2px); }
  100% { transform: scaleX(-1) translateY(0); }
}
@keyframes bb-shadow-move {
  0% { transform: translateX(0) scaleX(1); opacity: 0.7; }
  50% { transform: translateX(-4px) scaleX(0.85); opacity: 0.5; }
  100% { transform: translateX(0) scaleX(1); opacity: 0.7; }
}
@keyframes bb-beam-sweep {
  0% { transform: translateX(-20%); }
  100% { transform: translateX(100%); }
}

.scn-judge-orders-answer {
  background: 
    linear-gradient(180deg, #e8e0d0 0%, #d8d0c0 40%, #c0b8a0 100%),
    radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-judge-orders-answer .wall-judge {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d8d0c0 0%, #c8c0b0 100%);
}
.scn-judge-orders-answer .bench-judge {
  position: absolute; bottom: 25%; left: 20%; width: 60%; height: 35%;
  background: linear-gradient(180deg, #6a5a48 0%, #4a3a28 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-judge-orders-answer .gavel-judge {
  position: absolute; bottom: 28%; left: 50%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #9a8a78 0%, #6a5a48 100%);
  border-radius: 3px; transform: rotate(-20deg);
  animation: jdg-gavel-strike 3s ease-in-out infinite alternate;
}
.scn-judge-orders-answer .figure-judge {
  position: absolute; bottom: 30%; left: 38%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 25% 25% 15% 15% / 45% 45% 25% 25%;
  transform-origin: bottom center;
  animation: jdg-figure-lean 8s ease-in-out infinite;
}
.scn-judge-orders-answer .spectacles {
  position: absolute; bottom: 47%; left: 41%; width: 6%; height: 3%;
  border: 2px solid #a09080; border-radius: 50% 50% 20% 20%;
  background: rgba(200,190,170,0.2);
  animation: jdg-spectacles-glint 5s ease-in-out infinite alternate;
}
.scn-judge-orders-answer .desk-judge {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #7a6a58 0%, #5a4a38 100%);
  border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-judge-orders-answer .light-spot {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: radial-gradient(ellipse at top, rgba(255,240,200,0.2) 0%, transparent 70%);
  animation: jdg-spot-pulse 7s ease-in-out infinite alternate;
}
@keyframes jdg-gavel-strike {
  0% { transform: rotate(-20deg); }
  50% { transform: rotate(-5deg); }
  100% { transform: rotate(-20deg); }
}
@keyframes jdg-figure-lean {
  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 jdg-spectacles-glint {
  0% { background: rgba(200,190,170,0.2); box-shadow: 0 0 4px rgba(255,255,255,0.3); }
  50% { background: rgba(220,210,190,0.4); box-shadow: 0 0 8px rgba(255,255,255,0.6); }
  100% { background: rgba(200,190,170,0.2); box-shadow: 0 0 4px rgba(255,255,255,0.3); }
}
@keyframes jdg-spot-pulse {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

.scn-beekman-stand-firm {
  background: 
    linear-gradient(180deg, #e8e0d0 0%, #d8d0c0 50%, #c0b8a0 100%),
    radial-gradient(ellipse at 60% 40%, #fff8e8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-beekman-stand-firm .wall-stand {
  position: absolute; inset: 0 30% 0 0;
  background: linear-gradient(90deg, #e0d8c8 0%, #d0c8b8 100%);
}
.scn-beekman-stand-firm .window-stand {
  position: absolute; top: 5%; right: 2%; width: 25%; height: 50%;
  background: linear-gradient(135deg, #fff8e0 0%, #e8dcb8 100%);
  border: 5px solid #9a8870; border-radius: 3px;
  box-shadow: inset 0 0 40px rgba(255, 240, 180, 0.6);
  animation: bsf-window-bright 9s ease-in-out infinite alternate;
}
.scn-beekman-stand-firm .figure-stand {
  position: absolute; bottom: 18%; left: 40%; width: 16%; height: 45%;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 0 20px rgba(0,0,0,0.4);
  transform-origin: bottom center;
  animation: bsf-figure-defiant 6s ease-in-out infinite;
}
.scn-beekman-stand-firm .silhouette-tutt {
  position: absolute; bottom: 16%; left: 25%; width: 12%; height: 36%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 25% 25% 15% 15% / 45% 45% 25% 25%;
  opacity: 0.6;
  animation: bsf-tutt-move 8s ease-in-out infinite;
}
.scn-beekman-stand-firm .light-flare {
  position: absolute; top: 15%; right: 5%; width: 20%; height: 30%;
  background: radial-gradient(ellipse, rgba(255,240,200,0.3) 0%, transparent 70%);
  animation: bsf-flare-pulse 4s ease-in-out infinite alternate;
}
.scn-beekman-stand-firm .shadow-stand {
  position: absolute; bottom: 18%; left: 38%; width: 18%; height: 5%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: bsf-shadow-length 7s ease-in-out infinite alternate;
}
.scn-beekman-stand-firm .raised-hand {
  position: absolute; bottom: 45%; left: 50%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  transform: rotate(30deg) translateX(-50%);
  transform-origin: bottom center;
  animation: bsf-hand-raise 5s ease-in-out infinite;
}
@keyframes bsf-window-bright {
  0% { box-shadow: inset 0 0 40px rgba(255,240,180,0.6); opacity: 0.9; }
  50% { box-shadow: inset 0 0 60px rgba(255,240,180,0.9); opacity: 1; }
  100% { box-shadow: inset 0 0 30px rgba(255,240,180,0.5); opacity: 0.85; }
}
@keyframes bsf-figure-defiant {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(2deg); }
  50% { transform: translateY(1px) rotate(-1deg); }
  75% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bsf-tutt-move {
  0% { transform: translateX(0) translateY(0); }
  30% { transform: translateX(2px) translateY(-1px); }
  60% { transform: translateX(-1px) translateY(0); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes bsf-flare-pulse {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(1); }
}
@keyframes bsf-shadow-length {
  0% { transform: scaleX(1); opacity: 0.6; }
  50% { transform: scaleX(0.8); opacity: 0.4; }
  100% { transform: scaleX(1.1); opacity: 0.5; }
}
@keyframes bsf-hand-raise {
  0% { transform: rotate(30deg) translateX(-50%); }
  40% { transform: rotate(20deg) translateX(-50%); }
  70% { transform: rotate(40deg) translateX(-50%); }
  100% { transform: rotate(30deg) translateX(-50%); }
}

/* crime-and-poverty */
.scn-crime-and-poverty {
  background: 
    linear-gradient(180deg, #2b1f12 0%, #1a1208 40%, #2b1f12 100%),
    radial-gradient(ellipse at 50% 30%, #4a3520 0%, transparent 60%);
}
.scn-crime-and-poverty .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #2a1e0e 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.6);
  animation: cp-wall 20s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #1c140c 0%, #2a1e0e 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.5);
  animation: cp-floor 15s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .window {
  position: absolute; top: 15%; left: 40%; width: 30%; height: 35%;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1e0e 100%);
  border: 2px solid #1a1208;
  box-shadow: inset 0 0 30px rgba(0,0,0,.7), 0 0 20px rgba(255,180,80,.1);
  border-radius: 4%;
  animation: cp-window 8s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .figure-poor {
  position: absolute; bottom: 28%; left: 50%; width: 30px; height: 60px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a140c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: cp-figure 4s ease-in-out infinite;
}
.scn-crime-and-poverty .bowl {
  position: absolute; bottom: 8%; left: 48%; width: 20px; height: 12px;
  background: radial-gradient(ellipse at 50% 30%, #5a3a2a 0%, #2a1a0e 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: cp-bowl 6s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .lamp {
  position: absolute; top: 5%; left: 30%; width: 12px; height: 18px;
  background: radial-gradient(ellipse at 50% 80%, #ffd080 0%, #b07040 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 40px 10px rgba(255,180,80,.4);
  animation: cp-lamp 3s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .shadow {
  position: absolute; bottom: 28%; left: 45%; width: 40px; height: 50px;
  background: rgba(0,0,0,.4);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  filter: blur(4px);
  animation: cp-shadow 4s ease-in-out infinite;
}
@keyframes cp-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes cp-floor { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes cp-window { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,.6), 0 0 10px rgba(255,180,80,.05) } 100% { box-shadow: inset 0 0 40px rgba(0,0,0,.8), 0 0 30px rgba(255,180,80,.15) } }
@keyframes cp-figure { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 50% { transform: translateX(-48%) translateY(-2px) rotate(1deg) } 100% { transform: translateX(-52%) translateY(0) rotate(-1deg) } }
@keyframes cp-bowl { 0% { transform: translateX(0) } 100% { transform: translateX(3px) } }
@keyframes cp-lamp { 0% { box-shadow: 0 0 30px 6px rgba(255,180,80,.3); opacity: .9 } 100% { box-shadow: 0 0 50px 14px rgba(255,180,80,.5); opacity: 1 } }
@keyframes cp-shadow { 0% { transform: scaleX(1) translateY(0) } 50% { transform: scaleX(1.1) translateY(2px) } 100% { transform: scaleX(1) translateY(0) } }

/* crimes-of-duplicity */
.scn-crimes-of-duplicity {
  background: 
    linear-gradient(180deg, #2a1a0e 0%, #1a0e06 60%, #2a1a0e 100%),
    radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 70%);
}
.scn-crimes-of-duplicity .bg-room { 
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #1e1208 0%, #2a1a0e 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,.7);
  animation: cd-room 25s ease-in-out infinite alternate;
}
.scn-crimes-of-duplicity .table { 
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e0e 100%);
  border-radius: 10% 10% 6% 6%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5);
  animation: cd-table 12s ease-in-out infinite alternate;
}
.scn-crimes-of-duplicity .figure-left { 
  position: absolute; bottom: 28%; left: 28%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a140c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cd-figure-l 6s ease-in-out infinite;
}
.scn-crimes-of-duplicity .figure-right { 
  position: absolute; bottom: 28%; right: 28%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a140c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cd-figure-r 6s ease-in-out infinite 0.5s;
}
.scn-crimes-of-duplicity .lamp-cd { 
  position: absolute; top: 8%; left: 46%; width: 14px; height: 20px;
  background: radial-gradient(ellipse at 50% 70%, #ffc060 0%, #a06020 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 60px 15px rgba(255,200,100,.3), 0 0 120px 30px rgba(255,200,100,.1);
  animation: cd-lamp 4s ease-in-out infinite alternate;
}
.scn-crimes-of-duplicity .shadow-left { 
  position: absolute; bottom: 28%; left: 22%; width: 30px; height: 40px;
  background: rgba(0,0,0,.5);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(5px);
  animation: cd-shadow-l 6s ease-in-out infinite;
}
.scn-crimes-of-duplicity .shadow-right { 
  position: absolute; bottom: 28%; right: 22%; width: 30px; height: 40px;
  background: rgba(0,0,0,.5);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(5px);
  animation: cd-shadow-r 6s ease-in-out infinite 0.5s;
}
@keyframes cd-room { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes cd-table { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes cd-figure-l { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(-4px) rotate(0) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(4px) rotate(0) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes cd-figure-r { 0% { transform: translateX(0) rotate(2deg) } 25% { transform: translateX(4px) rotate(0) } 50% { transform: translateX(0) rotate(-2deg) } 75% { transform: translateX(-4px) rotate(0) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes cd-lamp { 0% { box-shadow: 0 0 40px 10px rgba(255,200,100,.2); opacity: .9 } 100% { box-shadow: 0 0 80px 20px rgba(255,200,100,.4); opacity: 1 } }
@keyframes cd-shadow-l { 0% { transform: scaleX(1) translateX(0) } 50% { transform: scaleX(1.2) translateX(5px) } 100% { transform: scaleX(1) translateX(0) } }
@keyframes cd-shadow-r { 0% { transform: scaleX(1) translateX(0) } 50% { transform: scaleX(1.2) translateX(-5px) } 100% { transform: scaleX(1) translateX(0) } }

/* real-danger-to-community */
.scn-real-danger-to-community {
  background: 
    linear-gradient(180deg, #1a0e06 0%, #2a1a0e 30%, #1a0e06 100%),
    radial-gradient(ellipse at 60% 50%, #3a2a1a 0%, transparent 50%);
}
.scn-real-danger-to-community .bg-dark { 
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #120e08 0%, #1a120c 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.8);
  animation: rd-bg 30s ease-in-out infinite alternate;
}
.scn-real-danger-to-community .lamp-rd { 
  position: absolute; top: 10%; left: 50%; width: 16px; height: 22px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, #ffb040 0%, #a05818 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 60px 20px rgba(255,180,60,.4), 0 0 120px 40px rgba(255,180,60,.15);
  animation: rd-lamp 2s ease-in-out infinite alternate;
}
.scn-real-danger-to-community .fist-left { 
  position: absolute; bottom: 35%; left: 30%; width: 22px; height: 28px;
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1e0e 100%);
  border-radius: 40% 40% 30% 40% / 60% 60% 40% 50%;
  transform-origin: bottom center;
  animation: rd-fist-l 0.6s ease-in-out infinite;
}
.scn-real-danger-to-community .fist-right { 
  position: absolute; bottom: 35%; right: 30%; width: 22px; height: 28px;
  background: radial-gradient(ellipse at 50% 50%, #4a3a2a 0%, #2a1e0e 100%);
  border-radius: 40% 40% 40% 30% / 60% 60% 50% 40%;
  transform-origin: bottom center;
  animation: rd-fist-r 0.6s ease-in-out infinite 0.3s;
}
.scn-real-danger-to-community .figure-rd-left { 
  position: absolute; bottom: 28%; left: 20%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a1a0e 0%, #120a04 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: rd-fig-l 3s ease-in-out infinite;
}
.scn-real-danger-to-community .figure-rd-right { 
  position: absolute; bottom: 28%; right: 20%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #2a1a0e 0%, #120a04 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: rd-fig-r 3s ease-in-out infinite 0.5s;
}
.scn-real-danger-to-community .impact-flash { 
  position: absolute; top: 40%; left: 50%; width: 40px; height: 40px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,.6) 0%, rgba(255,200,100,.2) 40%, transparent 70%);
  border-radius: 50%;
  opacity: 0;
  animation: rd-flash 0.6s ease-in-out infinite;
}
@keyframes rd-bg { 0% { opacity: .9 } 100% { opacity: .8 } }
@keyframes rd-lamp { 0% { box-shadow: 0 0 40px 12px rgba(255,180,60,.3); opacity: .9 } 100% { box-shadow: 0 0 80px 25px rgba(255,180,60,.5); opacity: 1 } }
@keyframes rd-fist-l { 0% { transform: translateY(0) rotate(-15deg) } 50% { transform: translateY(-10px) rotate(-5deg) scale(1.2) } 100% { transform: translateY(0) rotate(-15deg) } }
@keyframes rd-fist-r { 0% { transform: translateY(0) rotate(15deg) } 50% { transform: translateY(-10px) rotate(5deg) scale(1.2) } 100% { transform: translateY(0) rotate(15deg) } }
@keyframes rd-fig-l { 0% { transform: translateX(0) } 50% { transform: translateX(-3px) } 100% { transform: translateX(0) } }
@keyframes rd-fig-r { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }
@keyframes rd-flash { 0% { opacity: 0 } 10% { opacity: .8 } 20% { opacity: .5 } 50% { opacity: 0 } 100% { opacity: 0 } }

/* tea-continues */
.scn-tea-continues {
  background: 
    linear-gradient(0deg, #2a1e0e 0%, #1a1208 50%, #2a1e0e 100%),
    radial-gradient(ellipse at 50% 20%, #3a2a1a 0%, transparent 60%);
}
.scn-tea-continues .bg-warm { 
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #1e140c 0%, #2a1e0e 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,.5);
  animation: tc-bg 20s ease-in-out infinite alternate;
}
.scn-tea-continues .table-tc { 
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 15%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1e0e 100%);
  border-radius: 20% 20% 8% 8% / 60% 60% 20% 20%;
  box-shadow: 0 8px 20px rgba(0,0,0,.5);
  animation: tc-table 15s ease-in-out infinite alternate;
}
.scn-tea-continues .kettle { 
  position: absolute; bottom: 20%; left: 50%; width: 50px; height: 50px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,.5), inset 0 -4px 8px rgba(0,0,0,.3);
  animation: tc-kettle 8s ease-in-out infinite;
}
.scn-tea-continues .steam-1 { 
  position: absolute; bottom: 55%; left: 48%; width: 12px; height: 20px;
  background: linear-gradient(180deg, rgba(255,230,200,.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: tc-steam-1 6s ease-out infinite;
}
.scn-tea-continues .steam-2 { 
  position: absolute; bottom: 55%; left: 52%; width: 10px; height: 18px;
  background: linear-gradient(180deg, rgba(255,230,200,.3) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: tc-steam-2 7s ease-out infinite 2s;
}
.scn-tea-continues .teacup { 
  position: absolute; bottom: 8%; left: 45%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 20%, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4), inset 0 -2px 4px rgba(0,0,0,.2);
  animation: tc-cup 10s ease-in-out infinite alternate;
}
.scn-tea-continues .spoon { 
  position: absolute; bottom: 14%; left: 42%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 40% 40% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tc-spoon 4s ease-in-out infinite;
}
.scn-tea-continues .glow-tc { 
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 100px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,200,100,.2) 0%, transparent 70%);
  border-radius: 50%;
  animation: tc-glow 5s ease-in-out infinite alternate;
}
@keyframes tc-bg { 0% { opacity: .9 } 100% { opacity: .85 } }
@keyframes tc-table { 0% { transform: translateY(0) } 100% { transform: translateY(-2px) } }
@keyframes tc-kettle { 0% { transform: translateX(-50%) translateY(0) rotate(-1deg) } 50% { transform: translateX(-50%) translateY(-3px) rotate(1deg) } 100% { transform: translateX(-50%) translateY(0) rotate(-1deg) } }
@keyframes tc-steam-1 { 0% { transform: translateY(0) scale(1); opacity: .4 } 50% { transform: translateY(-30px) scale(2); opacity: .2 } 100% { transform: translateY(-60px) scale(3); opacity: 0 } }
@keyframes tc-steam-2 { 0% { transform: translateY(0) scale(1); opacity: .3 } 50% { transform: translateY(-25px) scale(1.8); opacity: .15 } 100% { transform: translateY(-50px) scale(2.5); opacity: 0 } }
@keyframes tc-cup { 0% { transform: translateX(0) } 100% { transform: translateX(2px) } }
@keyframes tc-spoon { 0% { transform: rotate(0deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(0deg) } }
@keyframes tc-glow { 0% { opacity: .4; transform: translate(-50%, -50%) scale(1) } 100% { opacity: .7; transform: translate(-50%, -50%) scale(1.2) } }

.scn-tutt-office-paysons-conscience {
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a10 100%), radial-gradient(ellipse at 50% 0%, #5a5a30 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-tutt-office-paysons-conscience .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #6a6a4a 0%, #4a4a2a 100%);
  animation: tp-wall 8s ease-in-out infinite alternate;
}
.scn-tutt-office-paysons-conscience .window-blind {
  position: absolute; top: 10%; left: 20%; width: 40%; height: 45%;
  background: repeating-linear-gradient(0deg, #2a2a1a 0px, #2a2a1a 6px, #8a8a6a 6px, #8a8a6a 8px);
  border-radius: 4px 4px 0 0;
  animation: tp-blind 5s ease-in-out infinite alternate;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-tutt-office-paysons-conscience .desk {
  position: absolute; bottom: 15%; left: 15%; width: 55%; height: 18%;
  background: linear-gradient(180deg, #5e4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  animation: tp-desk 4s ease-in-out infinite alternate;
}
.scn-tutt-office-paysons-conscience .lamp {
  position: absolute; bottom: 30%; left: 55%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #f0c068 0%, #c08040 40%, #3a2a1a 80%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.6);
  animation: tp-lamp 3s ease-in-out infinite alternate;
}
.scn-tutt-office-paysons-conscience .chair {
  position: absolute; bottom: 12%; left: 45%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  animation: tp-chair 6s ease-in-out infinite alternate;
}
.scn-tutt-office-paysons-conscience .payson-silhouette {
  position: absolute; bottom: 14%; left: 48%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: tp-figure 2s ease-in-out infinite alternate;
}
.scn-tutt-office-paysons-conscience .paper {
  position: absolute; bottom: 18%; left: 38%; width: 8%; height: 6%;
  background: #c8b880;
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,0.4);
  animation: tp-paper 5s ease-in-out infinite alternate;
}
@keyframes tp-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes tp-blind { 0% { transform: translateY(0) } 50% { transform: translateY(5px) } 100% { transform: translateY(0) } }
@keyframes tp-desk { 0% { transform: rotate(-0.5deg) } 50% { transform: rotate(0.5deg) } 100% { transform: rotate(-0.5deg) } }
@keyframes tp-lamp { 0% { box-shadow: 0 0 20px 6px #c08040; opacity: 0.8 } 50% { box-shadow: 0 0 40px 12px #e0a050; opacity: 1 } 100% { box-shadow: 0 0 25px 8px #c08040; opacity: 0.85 } }
@keyframes tp-chair { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes tp-figure { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes tp-paper { 0% { transform: translateY(0) scale(1) rotate(0deg) } 50% { transform: translateY(-2px) scale(1.05) rotate(5deg) } 100% { transform: translateY(0) scale(1) rotate(0deg) } }

.scn-payson-walking-fifth-avenue {
  background: linear-gradient(180deg, #7ac0e0 0%, #4a90b0 30%, #8a6a4a 100%), radial-gradient(ellipse at 50% 0%, #a0d8f0 0%, transparent 60%);
  background-blend-mode: normal;
}
.scn-payson-walking-fifth-avenue .sky-sunny {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #60b0d0 0%, #80c8e0 50%, #a0e0f0 100%);
  animation: pw-sky 12s ease-in-out infinite alternate;
}
.scn-payson-walking-fifth-avenue .building-bg {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #6a6a6a 0%, #4a4a4a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
  animation: pw-build-bg 20s linear infinite;
}
.scn-payson-walking-fifth-avenue .building-fg {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 50%;
  background: linear-gradient(180deg, #7a7a6a 0%, #5a5a4a 100%);
  clip-path: polygon(0% 0%, 20% 0%, 20% 15%, 35% 15%, 35% 0%, 65% 0%, 65% 20%, 80% 20%, 80% 0%, 100% 0%, 100% 100%, 0% 100%);
  animation: pw-build-fg 25s linear infinite;
  box-shadow: -5px 0 10px rgba(0,0,0,0.4);
}
.scn-payson-walking-fifth-avenue .street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #5a5a5a 0%, #3a3a3a 100%);
  border-radius: 20% 20% 0 0;
  animation: pw-street 8s ease-in-out infinite alternate;
}
.scn-payson-walking-fifth-avenue .figure-walking {
  position: absolute; bottom: 14%; left: 30%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: pw-walk 3s ease-in-out infinite;
}
.scn-payson-walking-fifth-avenue .lamppost {
  position: absolute; bottom: 15%; left: 70%; width: 2%; height: 45%;
  background: linear-gradient(180deg, #8a8a7a 0%, #4a4a3a 100%);
  border-radius: 4px;
  animation: pw-lamp 6s ease-in-out infinite alternate;
}
.scn-payson-walking-fifth-avenue .shadow-hard {
  position: absolute; bottom: 12%; left: 28%; width: 20%; height: 4%;
  background: rgba(0,0,0,0.4);
  filter: blur(2px);
  animation: pw-shadow 2.5s ease-in-out infinite;
}
@keyframes pw-sky { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes pw-build-bg { 0% { transform: translateX(0) } 100% { transform: translateX(-20%) } }
@keyframes pw-build-fg { 0% { transform: translateX(0) } 100% { transform: translateX(15%) } }
@keyframes pw-street { 0% { background-position: 0 0 } 50% { background-position: 10% 0 } 100% { background-position: 0 0 } }
@keyframes pw-walk { 0% { transform: translateX(0) rotate(-2deg) scaleY(1) } 25% { transform: translateX(8%) rotate(2deg) scaleY(0.95) } 50% { transform: translateX(16%) rotate(-2deg) scaleY(1) } 75% { transform: translateX(24%) rotate(2deg) scaleY(0.95) } 100% { transform: translateX(32%) rotate(-2deg) scaleY(1) } }
@keyframes pw-lamp { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-3deg) } }
@keyframes pw-shadow { 0% { width: 20%; opacity: 0.4 } 50% { width: 25%; opacity: 0.5 } 100% { width: 20%; opacity: 0.4 } }

.scn-tutt-office-aftermath {
  background: linear-gradient(180deg, #c8b8a0 0%, #a09078 100%), radial-gradient(ellipse at 50% 0%, #e0d0c0 0%, transparent 70%);
  background-blend-mode: normal;
}
.scn-tutt-office-aftermath .wall-calm {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 100%);
  animation: ta-wall 15s ease-in-out infinite alternate;
}
.scn-tutt-office-aftermath .window-soft {
  position: absolute; top: 10%; left: 20%; width: 40%; height: 45%;
  background: linear-gradient(180deg, #e8e0d0 0%, #c8c0b0 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: inset 0 0 30px rgba(255,255,240,0.3);
  animation: ta-window 12s ease-in-out infinite alternate;
}
.scn-tutt-office-aftermath .desk-calm {
  position: absolute; bottom: 15%; left: 15%; width: 55%; height: 18%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 3px;
  animation: ta-desk 20s linear infinite;
}
.scn-tutt-office-aftermath .chair-calm {
  position: absolute; bottom: 12%; left: 45%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  animation: ta-chair-wiggle 8s ease-in-out infinite;
}
.scn-tutt-office-aftermath .bookshelf {
  position: absolute; bottom: 15%; right: 5%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
  animation: ta-shelf 30s linear infinite;
}
.scn-tutt-office-aftermath .tutt-figure {
  position: absolute; bottom: 14%; left: 42%; width: 12%; height: 38%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ta-tutt 6s ease-in-out infinite alternate;
}
@keyframes ta-wall { 0% { opacity: 0.95 } 100% { opacity: 1 } }
@keyframes ta-window { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.95 } }
@keyframes ta-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes ta-chair-wiggle { 0% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-1deg) } 100% { transform: rotate(0deg) } }
@keyframes ta-shelf { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes ta-tutt { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }

.scn-narrator-reflection-on-lawyers {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%), radial-gradient(ellipse at 50% 80%, #4a3a5a 0%, transparent 60%);
  background-blend-mode: normal;
}
.scn-narrator-reflection-on-lawyers .bg-dim {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  animation: nr-bg 20s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-lawyers .bookshelf-dim {
  position: absolute; bottom: 10%; left: 5%; width: 25%; height: 60%;
  background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: nr-shelf 25s linear infinite;
}
.scn-narrator-reflection-on-lawyers .armchair {
  position: absolute; bottom: 10%; left: 35%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 15% 15% / 60% 60% 20% 20%;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  animation: nr-chair 10s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-lawyers .lamp-glow {
  position: absolute; bottom: 25%; left: 50%; width: 10%; height: 25%;
  background: radial-gradient(ellipse at 50% 20%, #f0d090 0%, #c8a060 40%, #3a2a1a 80%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 15px rgba(200,160,96,0.5), 0 0 80px 30px rgba(200,160,96,0.3);
  animation: nr-lamp 4s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-lawyers .narrator-figure {
  position: absolute; bottom: 12%; left: 45%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: nr-figure 8s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-lawyers .table-dim {
  position: absolute; bottom: 5%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,0.7);
  animation: nr-table 30s linear infinite;
}
.scn-narrator-reflection-on-lawyers .drink {
  position: absolute; bottom: 12%; left: 52%; width: 4%; height: 6%;
  background: radial-gradient(circle, #c8a060 0%, #8a6a40 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(200,160,96,0.3);
  animation: nr-drink 6s ease-in-out infinite alternate;
}
@keyframes nr-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes nr-shelf { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes nr-chair { 0% { transform: rotate(0deg) } 25% { transform: rotate(1deg) } 50% { transform: rotate(0deg) } 75% { transform: rotate(-1deg) } 100% { transform: rotate(0deg) } }
@keyframes nr-lamp { 0% { box-shadow: 0 0 30px 10px #c8a060; opacity: 0.85 } 50% { box-shadow: 0 0 50px 20px #e0b070; opacity: 1 } 100% { box-shadow: 0 0 35px 12px #c8a060; opacity: 0.9 } }
@keyframes nr-figure { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(1px) rotate(-1deg) } 50% { transform: translateX(0) rotate(0deg) } 75% { transform: translateX(-1px) rotate(1deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes nr-table { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes nr-drink { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(1) } }

/* judge-interrogates-simpkins — tense, bright interior */
.scn-judge-interrogates-simpkins {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b48e 60%, #a67c52 100%),
              radial-gradient(ellipse at 30% 60%, #fff4e0 0%, transparent 70%);
}
.scn-judge-interrogates-simpkins .panel {
  position: absolute; inset: 10% 5% 30% 5%;
  background: linear-gradient(180deg, #c9b286 0%, #a78a5e 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.2);
}
.scn-judge-interrogates-simpkins .bench {
  position: absolute; bottom: 40%; left: 8%; width: 55%; height: 18%;
  background: linear-gradient(180deg, #6b4c2c 0%, #4d341e 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
.scn-judge-interrogates-simpkins .judge-figure {
  position: absolute; bottom: 38%; left: 25%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #2c2c2c 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jis-judge 3s ease-in-out infinite alternate;
}
.scn-judge-interrogates-simpkins .witness-figure {
  position: absolute; bottom: 35%; right: 18%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jis-witness 2s ease-in-out infinite alternate;
}
.scn-judge-interrogates-simpkins .gavel {
  position: absolute; bottom: 42%; left: 30%; width: 4%; height: 6%;
  background: #5a3a1a;
  border-radius: 2px;
  animation: jis-gavel 0.6s ease-in-out infinite alternate;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
.scn-judge-interrogates-simpkins .clock {
  position: absolute; top: 12%; right: 12%; width: 8%; height: 8%;
  background: radial-gradient(circle, #f5e6c8 50%, #a67c52 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(0,0,0,0.3);
  animation: jis-clock 4s linear infinite;
}
.scn-judge-interrogates-simpkins .shadow {
  position: absolute; bottom: 38%; left: 10%; width: 60%; height: 4%;
  background: rgba(0,0,0,0.15);
  filter: blur(6px);
  animation: jis-shadow 2.5s ease-in-out infinite alternate;
}
@keyframes jis-judge {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes jis-witness {
  0% { transform: translateX(0) scale(1); }
  25% { transform: translateX(-4px) scale(0.98); }
  50% { transform: translateX(2px) scale(1.02); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes jis-gavel {
  0% { transform: rotate(-5deg) translateY(0); }
  100% { transform: rotate(5deg) translateY(-2px); }
}
@keyframes jis-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes jis-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  100% { opacity: 0.8; transform: scaleX(1.05); }
}

/* hogan-assumes-fee — tense, bright interior */
.scn-hogan-assumes-fee {
  background: linear-gradient(180deg, #f2e3c9 0%, #d8b98a 50%, #b27d50 100%),
              radial-gradient(ellipse at 60% 30%, #fff7e8 0%, transparent 80%);
}
.scn-hogan-assumes-fee .panel {
  position: absolute; inset: 8% 4% 35% 4%;
  background: linear-gradient(180deg, #c4a87c 0%, #a4865c 100%);
  border-radius: 3px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.15);
}
.scn-hogan-assumes-fee .desk {
  position: absolute; bottom: 35%; left: 5%; width: 50%; height: 15%;
  background: linear-gradient(180deg, #704f30 0%, #4f3520 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.scn-hogan-assumes-fee .hogan-figure {
  position: absolute; bottom: 32%; left: 12%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #3a3a3a 0%, #1e1e1e 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 40% 40%;
  animation: haf-hogan 1.8s ease-in-out infinite;
}
.scn-hogan-assumes-fee .judge-figure {
  position: absolute; bottom: 30%; left: 45%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #2a2a2a 0%, #141414 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: haf-judge 2.2s ease-in-out infinite alternate;
}
.scn-hogan-assumes-fee .papers {
  position: absolute; bottom: 38%; left: 20%; width: 8%; height: 6%;
  background: #e0d4b8;
  border-radius: 1px;
  animation: haf-papers 0.4s ease-in-out infinite alternate;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-hogan-assumes-fee .bailiff {
  position: absolute; bottom: 30%; right: 10%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #4a4a4a 0%, #222222 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: haf-bailiff 3s ease-in-out infinite;
}
.scn-hogan-assumes-fee .lamp {
  position: absolute; top: 5%; left: 50%; width: 10%; height: 10%;
  background: radial-gradient(circle, #ffe28a 40%, #b27d50 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px rgba(255,226,138,0.5);
  animation: haf-lamp 2s ease-in-out infinite alternate;
}
@keyframes haf-hogan {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-4px) rotate(-2deg); }
  60% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes haf-judge {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-3px) scale(0.98); }
}
@keyframes haf-papers {
  0% { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-4px) rotate(8deg); }
}
@keyframes haf-bailiff {
  0% { transform: translateX(0); }
  50% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}
@keyframes haf-lamp {
  0% { box-shadow: 0 0 20px 4px rgba(255,226,138,0.3); opacity: 0.9; }
  50% { box-shadow: 0 0 40px 12px rgba(255,226,138,0.6); opacity: 1; }
  100% { box-shadow: 0 0 25px 6px rgba(255,226,138,0.4); opacity: 0.95; }
}

/* tutt-takes-over — tense, bright interior */
.scn-tutt-takes-over {
  background: linear-gradient(180deg, #eaddc0 0%, #cbb18a 50%, #a07a4e 100%),
              radial-gradient(ellipse at 40% 50%, #fff5e0 0%, transparent 70%);
}
.scn-tutt-takes-over .panel {
  position: absolute; inset: 5% 3% 25% 3%;
  background: linear-gradient(180deg, #bda07c 0%, #9f7f58 100%);
  border-radius: 2px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-tutt-takes-over .jury-box {
  position: absolute; bottom: 20%; left: 15%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #7a5e3e 0%, #5a4028 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-tutt-takes-over .tutt-figure {
  position: absolute; bottom: 18%; left: 35%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2e2e2e 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: tto-tutt 2s ease-in-out infinite;
}
.scn-tutt-takes-over .tony-figure {
  position: absolute; bottom: 15%; left: 50%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #a89070 0%, #7a6248 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  animation: tto-tony 3s ease-in-out infinite alternate;
}
.scn-tutt-takes-over .spotlight {
  position: absolute; top: 0; left: 35%; width: 30%; height: 50%;
  background: linear-gradient(180deg, rgba(255,255,200,0.4) 0%, transparent 100%);
  clip-path: polygon(30% 0, 70% 0, 50% 100%);
  animation: tto-spotlight 4s ease-in-out infinite alternate;
}
.scn-tutt-takes-over .bars-left {
  position: absolute; bottom: 10%; left: 8%; width: 2%; height: 40%;
  background: #4d3d28;
  box-shadow: 4px 0 0 #4d3d28, 8px 0 0 #4d3d28;
  animation: tto-bars 3s ease-in-out infinite;
}
.scn-tutt-takes-over .bars-right {
  position: absolute; bottom: 10%; right: 8%; width: 2%; height: 40%;
  background: #4d3d28;
  box-shadow: -4px 0 0 #4d3d28, -8px 0 0 #4d3d28;
  animation: tto-bars 3s ease-in-out infinite reverse;
}
@keyframes tto-tutt {
  0% { transform: translateX(-10px) scale(0.95); opacity: 0.6; }
  30% { transform: translateX(0) scale(1); opacity: 1; }
  60% { transform: translateX(2px) scale(1.02); }
  100% { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes tto-tony {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tto-spotlight {
  0% { opacity: 0.7; transform: scaleX(1); }
  100% { opacity: 1; transform: scaleX(1.1); }
}
@keyframes tto-bars {
  0% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}

/* tutt-reassures-tony — warm, bright interior */
.scn-tutt-reassures-tony {
  background: linear-gradient(180deg, #f8efd6 0%, #e2caa4 50%, #c8a87c 100%),
              radial-gradient(ellipse at 50% 30%, #fff9e8 0%, transparent 70%);
}
.scn-tutt-reassures-tony .panel {
  position: absolute; inset: 8% 5% 20% 5%;
  background: linear-gradient(180deg, #d4bd98 0%, #b5976e 100%);
  border-radius: 3px;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.08);
}
.scn-tutt-reassures-tony .tutt-figure {
  position: absolute; bottom: 10%; left: 20%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #353535 0%, #1e1e1e 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 35% 35%;
  animation: trt-tutt 6s ease-in-out infinite alternate;
}
.scn-tutt-reassures-tony .tony-figure {
  position: absolute; bottom: 8%; left: 40%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #b8a287 0%, #8a765c 100%);
  border-radius: 50% 50% 45% 45% / 55% 55% 35% 35%;
  animation: trt-tony 5s ease-in-out infinite alternate;
}
.scn-tutt-reassures-tony .hand {
  position: absolute; bottom: 22%; left: 32%; width: 6%; height: 4%;
  background: #c8b090;
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: trt-hand 4s ease-in-out infinite;
}
.scn-tutt-reassures-tony .glow {
  position: absolute; top: 10%; left: 30%; width: 40%; height: 40%;
  background: radial-gradient(ellipse, rgba(255,230,150,0.3) 0%, transparent 70%);
  animation: trt-glow 8s ease-in-out infinite alternate;
}
.scn-tutt-reassures-tony .dust-a {
  position: absolute; bottom: 15%; left: 25%; width: 2%; height: 2%;
  background: #ffeac2;
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #ffeac2;
  animation: trt-dust 7s linear infinite;
}
.scn-tutt-reassures-tony .dust-b {
  position: absolute; bottom: 12%; left: 45%; width: 1.5%; height: 1.5%;
  background: #ffeac2;
  border-radius: 50%;
  box-shadow: 0 0 4px 1px #ffeac2;
  animation: trt-dust 9s linear infinite 2s;
}
@keyframes trt-tutt {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(0deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes trt-tony {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes trt-hand {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes trt-glow {
  0% { opacity: 0.5; transform: scale(0.9); }
  100% { opacity: 0.9; transform: scale(1.1); }
}
@keyframes trt-dust {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  25% { opacity: 0.8; }
  50% { transform: translateY(-30px) translateX(10px) scale(1.2); opacity: 0.5; }
  75% { opacity: 0.2; }
  100% { transform: translateY(-60px) translateX(20px) scale(0.8); opacity: 0; }
}

/* Scene 1: kahoots-leaves (funny bright interior) */
.scn-kahoots-leaves {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4c4a0 40%, #b8a882 100%),
    radial-gradient(circle at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-kahoots-leaves .witness {
  position: absolute; bottom: 20%; left: 40%; width: 60px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: kah-witness 3s ease-in-out infinite;
}
.scn-kahoots-leaves .judge-bench {
  position: absolute; bottom: 20%; right: 10%; width: 100px; height: 50px;
  background: linear-gradient(180deg, #6b4c3a 0%, #3d2a1c 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-kahoots-leaves .lawyer {
  position: absolute; bottom: 24%; left: 20%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: kah-lawyer 4s ease-in-out infinite alternate;
}
.scn-kahoots-leaves .leaf {
  position: absolute; width: 12px; height: 8px;
  background: linear-gradient(135deg, #d9a45c 0%, #b87c3a 100%);
  border-radius: 50% 0 50% 0;
  opacity: 0.8;
}
.scn-kahoots-leaves .leaf-a { top: 30%; left: 30%; animation: kah-leafA 6s linear infinite; }
.scn-kahoots-leaves .leaf-b { top: 50%; left: 50%; animation: kah-leafB 8s linear infinite; animation-delay: -2s; }
.scn-kahoots-leaves .leaf-c { top: 20%; right: 20%; animation: kah-leafC 5s linear infinite; animation-delay: -4s; }
.scn-kahoots-leaves .leaf-d { top: 60%; right: 40%; animation: kah-leafD 7s linear infinite; animation-delay: -1s; }
.scn-kahoots-leaves .window-bars {
  position: absolute; top: 0; left: 0; right: 0; height: 30%;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 40px, rgba(0,0,0,0.2) 40px, rgba(0,0,0,0.2) 44px);
  mask-image: linear-gradient(180deg, transparent 0%, black 100%);
  animation: kah-bars 10s ease-in-out infinite alternate;
}
.scn-kahoots-leaves .desk {
  position: absolute; bottom: 15%; left: 30%; width: 140px; height: 10px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
@keyframes kah-witness {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-5px) rotate(-3deg); }
  50% { transform: translateX(5px) rotate(3deg); }
  75% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes kah-lawyer {
  0% { transform: rotate(8deg) translateY(0); }
  50% { transform: rotate(12deg) translateY(-2px); }
  100% { transform: rotate(8deg) translateY(0); }
}
@keyframes kah-leafA {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 0.8; }
  25% { transform: translate(20px, 40px) rotate(45deg); opacity: 0.5; }
  50% { transform: translate(40px, 80px) rotate(90deg); opacity: 0.2; }
  75% { transform: translate(60px, 120px) rotate(135deg); opacity: 0.1; }
  100% { transform: translate(80px, 160px) rotate(180deg); opacity: 0; }
}
@keyframes kah-leafB {
  0% { transform: translate(0, 0) scale(1); opacity: 0.7; }
  30% { transform: translate(-30px, 50px) scale(0.8); opacity: 0.4; }
  60% { transform: translate(-60px, 100px) scale(0.6); opacity: 0.2; }
  100% { transform: translate(-90px, 150px) scale(0.4); opacity: 0; }
}
@keyframes kah-leafC {
  0% { transform: translate(0, 0) rotate(0deg) scale(1); }
  25% { transform: translate(-15px, 30px) rotate(30deg) scale(0.9); }
  50% { transform: translate(-30px, 60px) rotate(60deg) scale(0.8); }
  75% { transform: translate(-45px, 90px) rotate(90deg) scale(0.7); }
  100% { transform: translate(-60px, 120px) rotate(120deg) scale(0.6); }
}
@keyframes kah-leafD {
  0% { transform: translate(0, 0) scale(1); }
  40% { transform: translate(10px, 40px) scale(0.85); }
  80% { transform: translate(20px, 80px) scale(0.7); }
  100% { transform: translate(30px, 120px) scale(0.5); }
}
@keyframes kah-bars {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

/* Scene 2: kahoots-contradictions (tense bright interior) */
.scn-kahoots-contradictions {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8bcac 50%, #a89888 100%),
    radial-gradient(ellipse at 80% 20%, #f0e8d8 0%, transparent 70%);
}
.scn-kahoots-contradictions .witness-con {
  position: absolute; bottom: 25%; left: 35%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0502 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: con-witness 2s ease-in-out infinite;
}
.scn-kahoots-contradictions .bible {
  position: absolute; bottom: 30%; left: 40%; width: 20px; height: 26px;
  background: linear-gradient(135deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 4px;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  animation: con-bible 3s ease-in-out infinite alternate;
}
.scn-kahoots-contradictions .prosecutor {
  position: absolute; bottom: 22%; right: 20%; width: 45px; height: 110px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 70% 70% 40% 40%;
  transform: rotate(-8deg);
  animation: con-prosecutor 1.5s ease-in-out infinite alternate;
}
.scn-kahoots-contradictions .desk-con {
  position: absolute; bottom: 15%; left: 25%; right: 25%; height: 12px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 50%;
}
.scn-kahoots-contradictions .shadow-con {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
  animation: con-shadow 4s ease-in-out infinite;
}
.scn-kahoots-contradictions .book {
  position: absolute; bottom: 26%; left: 38%; width: 14px; height: 18px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}
.scn-kahoots-contradictions .hands {
  position: absolute; bottom: 32%; left: 34%; width: 20px; height: 10px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50%;
  transform: rotate(-15deg);
  animation: con-hands 1s ease-in-out infinite alternate;
}
@keyframes con-witness {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(8px) rotate(3deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-8px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes con-bible {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.05) rotate(2deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes con-prosecutor {
  0% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(-6deg) translateY(-3px); }
  100% { transform: rotate(-8deg) translateY(0); }
}
@keyframes con-shadow {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.2; }
}
@keyframes con-hands {
  0% { transform: rotate(-15deg) translateX(0); }
  50% { transform: rotate(5deg) translateX(5px); }
  100% { transform: rotate(-15deg) translateX(0); }
}

/* Scene 3: judge-questions-basis (tense bright interior) */
.scn-judge-questions-basis {
  background:
    linear-gradient(180deg, #f0e4d0 0%, #d0c4b0 50%, #b0a490 100%),
    radial-gradient(circle at 70% 30%, #fff4e0 0%, transparent 70%);
}
.scn-judge-questions-basis .judge-figure {
  position: absolute; top: 40%; left: 50%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 50% 50%;
  transform: translateX(-50%);
  animation: jus-judge 5s ease-in-out infinite alternate;
}
.scn-judge-questions-basis .lawyer-figure {
  position: absolute; bottom: 20%; left: 25%; width: 40px; height: 80px;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0500 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: rotate(5deg);
  animation: jus-lawyer 4s ease-in-out infinite alternate;
}
.scn-judge-questions-basis .witness-figure {
  position: absolute; bottom: 25%; right: 20%; width: 45px; height: 90px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: jus-witness 6s ease-in-out infinite;
}
.scn-judge-questions-basis .bench {
  position: absolute; top: 35%; left: 30%; right: 30%; height: 40px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: jus-bench 8s ease-in-out infinite;
}
.scn-judge-questions-basis .gavel {
  position: absolute; top: 32%; left: 40%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #4a2a1a 0%, #1a0a00 100%);
  border-radius: 2px;
  transform: rotate(-20deg);
  animation: jus-gavel 2s ease-in-out infinite alternate;
}
.scn-judge-questions-basis .papers {
  position: absolute; top: 36%; left: 35%; width: 20px; height: 24px;
  background: linear-gradient(180deg, #e8d8b0 0%, #c8b890 100%);
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.scn-judge-questions-basis .pillar {
  position: absolute; top: 0; bottom: 0; left: 10%; width: 8px;
  background: linear-gradient(180deg, #a09080 0%, #706050 100%);
  border-radius: 4px;
  opacity: 0.5;
}
@keyframes jus-judge {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  50% { transform: translateX(-50%) translateY(4px) rotate(2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes jus-lawyer {
  0% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-2px); }
  100% { transform: rotate(5deg) translateY(0); }
}
@keyframes jus-witness {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(-5px) rotate(-2deg); }
  66% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes jus-bench {
  0% { box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
  50% { box-shadow: 0 6px 12px rgba(0,0,0,0.2); }
  100% { box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
}
@keyframes jus-gavel {
  0% { transform: rotate(-20deg) translateY(0); }
  50% { transform: rotate(-15deg) translateY(-3px); }
  100% { transform: rotate(-20deg) translateY(0); }
}

/* Scene 4: kahoots-criminal-record (tense bright interior) */
.scn-kahoots-criminal-record {
  background:
    linear-gradient(180deg, #e0d4c0 0%, #c0b4a0 50%, #a09484 100%),
    radial-gradient(ellipse at 20% 90%, #fff8e8 0%, transparent 80%);
}
.scn-kahoots-criminal-record .face-silhouette {
  position: absolute; top: 10%; left: 50%; width: 100px; height: 130px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 40% 40% 30% 30%;
  transform: translateX(-50%);
  animation: cri-face 3s ease-in-out infinite alternate;
}
.scn-kahoots-criminal-record .glasses {
  position: absolute; top: 25%; left: 50%; width: 60px; height: 20px;
  background: transparent;
  border: 2px solid #7a6a5a;
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 0 2px #7a6a5a;
}
.scn-kahoots-criminal-record .shoulders {
  position: absolute; top: 40%; left: 50%; width: 140px; height: 60px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: cri-shoulders 4s ease-in-out infinite;
}
.scn-kahoots-criminal-record .bright-window {
  position: absolute; top: 10%; right: 5%; width: 80px; height: 120px;
  background: linear-gradient(180deg, #fff8e0 0%, #f0e8d0 100%);
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(255,248,224,0.5);
  animation: cri-window 6s ease-in-out infinite alternate;
}
.scn-kahoots-criminal-record .venetian-blind {
  position: absolute; top: 10%; right: 5%; width: 80px; height: 120px;
  background: repeating-linear-gradient(180deg, transparent 0px, transparent 6px, rgba(0,0,0,0.1) 6px, rgba(0,0,0,0.1) 8px);
}
.scn-kahoots-criminal-record .microphone {
  position: absolute; bottom: 20%; left: 45%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #6a6a6a 0%, #2a2a2a 100%);
  border-radius: 50%;
  transform: rotate(10deg);
  animation: cri-mic 2s ease-in-out infinite alternate;
}
@keyframes cri-face {
  0% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(-2deg) scale(1.02); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes cri-shoulders {
  0% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(3px); }
  100% { transform: translateX(-50%) translateY(0); }
}
@keyframes cri-window {
  0% { opacity: 0.6; box-shadow: 0 0 20px rgba(255,248,224,0.3); }
  50% { opacity: 1; box-shadow: 0 0 40px rgba(255,248,224,0.7); }
  100% { opacity: 0.6; box-shadow: 0 0 20px rgba(255,248,224,0.3); }
}
@keyframes cri-mic {
  0% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-2px); }
  100% { transform: rotate(10deg) translateY(0); }
}

/* cog-in-the-wheel */
.scn-cog-in-the-wheel {
  background: 
    radial-gradient(ellipse at 50% 60%, #f5e6c8 0%, #a07a50 40%, #3a2a1a 80%),
    linear-gradient(180deg, #d4b896 0%, #7a5a3a 100%);
  overflow: hidden;
}
.scn-cog-in-the-wheel .bg-floor {
  position: absolute; inset: 60% 0 0 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 0 0 0;
}
.scn-cog-in-the-wheel .cog {
  position: absolute; bottom: 50%; left: 50%; transform: translate(-50%, 50%);
  width: 120px; height: 120px;
  background: radial-gradient(circle, #8a7050 20%, #5a3a1a 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px rgba(245,230,200,0.3);
  animation: ciw-spin 12s linear infinite;
}
.scn-cog-in-the-wheel .cog::before,
.scn-cog-in-the-wheel .cog::after {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: #2a1a0a; border-radius: 50%;
}
.scn-cog-in-the-wheel .cog::before { width: 80px; height: 80px; }
.scn-cog-in-the-wheel .cog::after  { width: 30px; height: 30px; background: #4a2a1a; }
.scn-cog-in-the-wheel .wheel-bg {
  position: absolute; bottom: 50%; left: 50%; transform: translate(-50%, 50%);
  width: 160px; height: 160px;
  background: repeating-conic-gradient(#5a3a1a 0% 2%, transparent 2% 4%);
  border-radius: 50%;
  animation: ciw-spin2 16s linear infinite reverse;
}
.scn-cog-in-the-wheel .figure {
  position: absolute; bottom: 25%; left: 40%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: ciw-bob 3s ease-in-out infinite;
}
.scn-cog-in-the-wheel .shadow {
  position: absolute; bottom: 22%; left: 38%; width: 30px; height: 8px;
  background: rgba(0,0,0,0.3); border-radius: 50%;
  filter: blur(2px);
  animation: ciw-bob 3s ease-in-out infinite;
}
.scn-cog-in-the-wheel .light-beam {
  position: absolute; top: 0; left: 45%; width: 10%; height: 100%;
  background: linear-gradient(180deg, rgba(245,230,200,0.4) 0%, transparent 90%);
  animation: ciw-pulse 4s ease-in-out infinite alternate;
}

@keyframes ciw-spin {
  0% { transform: translate(-50%, 50%) rotate(0deg); }
  50% { transform: translate(-50%, 50%) rotate(180deg); }
  100% { transform: translate(-50%, 50%) rotate(360deg); }
}
@keyframes ciw-spin2 {
  0% { transform: translate(-50%, 50%) rotate(0deg); }
  50% { transform: translate(-50%, 50%) rotate(-180deg); }
  100% { transform: translate(-50%, 50%) rotate(-360deg); }
}
@keyframes ciw-bob {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ciw-pulse {
  0% { opacity: 0.5; }
  50% { opacity: 0.9; }
  100% { opacity: 0.5; }
}

/* machine-starts */
.scn-machine-starts {
  background: 
    radial-gradient(ellipse at 30% 70%, #f5e6c8 0%, #c8b090 50%, #5a3a2a 100%),
    linear-gradient(180deg, #e0d0b0 0%, #8a6a4a 100%);
}
.scn-machine-starts .bench {
  position: absolute; bottom: 50%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #7a5a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}
.scn-machine-starts .gavel {
  position: absolute; bottom: 55%; left: 45%; width: 8px; height: 30px;
  background: #4a2a1a;
  border-radius: 2px;
  transform-origin: bottom center;
  animation: ms-gavel 1.5s ease-in-out infinite;
}
.scn-machine-starts .gavel::before {
  content: ''; position: absolute; top: -6px; left: -8px; width: 24px; height: 12px;
  background: #2a1a0a; border-radius: 30%;
}
.scn-machine-starts .desk {
  position: absolute; bottom: 30%; left: 15%; width: 70%; height: 20%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -4px 10px rgba(0,0,0,0.3);
  animation: ms-shake 8s ease-in-out infinite;
}
.scn-machine-starts .figure-accused {
  position: absolute; bottom: 25%; left: 40%; width: 18px; height: 34px;
  background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ms-sway 4s ease-in-out infinite;
}
.scn-machine-starts .figure-cop {
  position: absolute; bottom: 25%; left: 55%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ms-sway 5s ease-in-out infinite reverse;
}
.scn-machine-starts .railing {
  position: absolute; bottom: 33%; left: 10%; right: 10%; height: 2%;
  background: #8a7050;
  border-radius: 2px;
}
.scn-machine-starts .light-spot {
  position: absolute; top: 0; left: 25%; width: 50%; height: 100%;
  background: radial-gradient(ellipse at 50% 0%, rgba(245,230,200,0.3) 0%, transparent 70%);
  animation: ms-flicker 3s ease-in-out infinite alternate;
}

@keyframes ms-gavel {
  0% { transform: rotate(-10deg); }
  25% { transform: rotate(15deg); }
  50% { transform: rotate(-10deg); }
  75% { transform: rotate(10deg); }
  100% { transform: rotate(-10deg); }
}
@keyframes ms-shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(1px); }
  50% { transform: translateX(0); }
  75% { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}
@keyframes ms-sway {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes ms-flicker {
  0% { opacity: 0.6; }
  50% { opacity: 0.9; }
  100% { opacity: 0.7; }
}

/* joey-simpkins-offers-help */
.scn-joey-simpkins-offers-help {
  background: 
    radial-gradient(ellipse at 40% 50%, #f0d8b8 0%, #c0a080 60%, #4a3a2a 100%),
    linear-gradient(180deg, #e0c8a8 0%, #8a6a4a 100%);
}
.scn-joey-simpkins-offers-help .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d4b896 0%, #a08060 100%);
  opacity: 0.4;
}
.scn-joey-simpkins-offers-help .figure-left {
  position: absolute; bottom: 30%; left: 25%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%;
  animation: jsoh-sway 3.5s ease-in-out infinite;
}
.scn-joey-simpkins-offers-help .figure-right {
  position: absolute; bottom: 28%; left: 45%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%;
  animation: jsoh-sway 4s ease-in-out infinite reverse;
}
.scn-joey-simpkins-offers-help .arm {
  position: absolute; bottom: 50%; left: 35%; width: 40px; height: 6px;
  background: #1a1a2a;
  border-radius: 4px;
  transform-origin: 0% 50%;
  animation: jsoh-wrap 2s ease-in-out infinite alternate;
}
.scn-joey-simpkins-offers-help .window {
  position: absolute; top: 15%; left: 60%; width: 40px; height: 30px;
  background: radial-gradient(ellipse at 50% 50%, #f5e6c8 30%, #b08050 100%);
  border: 4px solid #3a2a1a;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(245,230,200,0.6);
  animation: jsoh-glow 6s ease-in-out infinite alternate;
}
.scn-joey-simpkins-offers-help .counter {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 4px 4px 0 0;
}

@keyframes jsoh-sway {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes jsoh-wrap {
  0% { transform: rotate(0deg) scaleX(0.8); }
  50% { transform: rotate(15deg) scaleX(1); }
  100% { transform: rotate(0deg) scaleX(0.9); }
}
@keyframes jsoh-glow {
  0% { box-shadow: inset 0 0 8px rgba(245,230,200,0.4); }
  50% { box-shadow: inset 0 0 20px rgba(245,230,200,0.8); }
  100% { box-shadow: inset 0 0 8px rgba(245,230,200,0.4); }
}

/* magistrate-questions-delany */
.scn-magistrate-questions-delany {
  background: 
    radial-gradient(ellipse at 50% 30%, #f5e6c8 0%, #c8b090 50%, #5a3a2a 100%),
    linear-gradient(180deg, #d4b896 0%, #7a5a3a 100%);
}
.scn-magistrate-questions-delany .bg-chamber {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #b09070 0%, #5a3a2a 100%);
  opacity: 0.3;
}
.scn-magistrate-questions-delany .bench {
  position: absolute; top: 20%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}
.scn-magistrate-questions-delany .magistrate {
  position: absolute; top: 15%; left: 30%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%;
  animation: mqd-lean 8s ease-in-out infinite alternate;
}
.scn-magistrate-questions-delany .cop {
  position: absolute; bottom: 25%; left: 50%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #2a3a2a 0%, #1a2a1a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 40% 40%;
  animation: mqd-shift 6s ease-in-out infinite;
}
.scn-magistrate-questions-delany .desk {
  position: absolute; bottom: 35%; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: inset 0 -4px 10px rgba(0,0,0,0.3);
  animation: mqd-shake 10s ease-in-out infinite;
}
.scn-magistrate-questions-delany .lamp {
  position: absolute; top: 10%; left: 15%; width: 8px; height: 20px;
  background: #2a1a0a;
  transform-origin: top center;
  animation: mqd-swing 5s ease-in-out infinite alternate;
}
.scn-magistrate-questions-delany .lamp::before {
  content: ''; position: absolute; bottom: 0; left: -4px; width: 16px; height: 8px;
  background: radial-gradient(circle, #f0c068 30%, #c08040 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(240,192,104,0.3);
}
.scn-magistrate-questions-delany .shadow-cop {
  position: absolute; bottom: 20%; left: 48%; width: 30px; height: 10px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: mqd-shift 6s ease-in-out infinite;
}

@keyframes mqd-lean {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}
@keyframes mqd-shift {
  0% { transform: translateX(0); }
  50% { transform: translateX(2px); }
  100% { transform: translateX(0); }
}
@keyframes mqd-shake {
  0% { transform: translateY(0); }
  25% { transform: translateY(1px); }
  50% { transform: translateY(0); }
  75% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes mqd-swing {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(-10deg); }
}

/* delany-tries-to-escape */
.scn-delany-tries-to-escape {
  background: 
    linear-gradient(180deg, #f2e6d0 0%, #c8b89a 40%, #a08a70 100%),
    radial-gradient(ellipse at 70% 10%, #ece0c0 0%, transparent 60%);
}
.scn-delany-tries-to-escape .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 35%;
  background: linear-gradient(0deg, #7a6a5a 0%, #9a8a7a 30%, transparent 100%);
  animation: es-floor 6s ease-in-out infinite alternate;
}
.scn-delany-tries-to-escape .wall {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 70%;
  background: linear-gradient(0deg, #b8a890 0%, #d8c8b0 50%, #e8dcc0 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
}
.scn-delany-tries-to-escape .bench {
  position: absolute;
  bottom: 35%; left: 15%;
  width: 60px; height: 75px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 2px 4px 8px rgba(0,0,0,0.3);
  animation: es-bench 4s ease-in-out infinite;
}
.scn-delany-tries-to-escape .judge-silhouette {
  position: absolute;
  bottom: 35%; left: 25%;
  width: 40px; height: 95px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: es-judge 2s ease-in-out infinite alternate;
}
.scn-delany-tries-to-escape .gavel {
  position: absolute;
  bottom: 48%; left: 28%;
  width: 8px; height: 18px;
  background: #4a3a2a;
  border-radius: 2px;
  transform: rotate(-15deg);
  box-shadow: 0 0 4px rgba(0,0,0,0.3);
}
.scn-delany-tries-to-escape .delany-crouch {
  position: absolute;
  bottom: 35%; left: 60%;
  width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: scaleX(-1);
  animation: es-delany 3s ease-in-out infinite;
}
.scn-delany-tries-to-escape .door {
  position: absolute;
  bottom: 35%; right: 10%;
  width: 50px; height: 90px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 50%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset -4px 0 8px rgba(0,0,0,0.2);
  animation: es-door 5s ease-in-out infinite alternate;
}
.scn-delany-tries-to-escape .light-shaft {
  position: absolute;
  top: 0; left: 55%;
  width: 120px; height: 100%;
  background: linear-gradient(180deg, rgba(255,240,200,0.15) 0%, rgba(255,240,200,0.05) 50%, transparent 100%);
  filter: blur(10px);
  animation: es-light 8s ease-in-out infinite alternate;
}
@keyframes es-floor {
  0% { opacity: 0.9; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 0.9; transform: translateY(0); }
}
@keyframes es-bench {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes es-judge {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  100% { transform: translateX(0) rotate(-1deg); }
}
@keyframes es-delany {
  0% { transform: scaleX(-1) translateX(0); }
  25% { transform: scaleX(-1) translateX(8px) translateY(-4px); }
  50% { transform: scaleX(-1) translateX(16px) translateY(-2px); }
  75% { transform: scaleX(-1) translateX(24px) translateY(-6px); }
  100% { transform: scaleX(-1) translateX(32px) translateY(-3px); }
}
@keyframes es-door {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-2px) scaleX(1.02); }
  100% { transform: translateX(0) scaleX(1); }
}
@keyframes es-light {
  0% { opacity: 0.6; transform: skewX(-5deg); }
  50% { opacity: 0.8; transform: skewX(0deg); }
  100% { opacity: 0.5; transform: skewX(5deg); }
}

/* delany-on-stand */
.scn-delany-on-stand {
  background: 
    linear-gradient(180deg, #f0e4d0 0%, #d4c4b0 40%, #b09980 100%),
    radial-gradient(ellipse at 30% 20%, #f5ecdc 0%, transparent 60%);
}
.scn-delany-on-stand .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(0deg, #7a6a5a 0%, #9a8a7a 30%, transparent 100%);
  animation: os-floor 7s ease-in-out infinite alternate;
}
.scn-delany-on-stand .wall {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 65%;
  background: linear-gradient(0deg, #b8a890 0%, #d8c8b0 50%, #e8dcc0 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-delany-on-stand .witness-stand {
  position: absolute;
  bottom: 38%; left: 50%;
  width: 50px; height: 80px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 8px 8px;
  transform: translateX(-50%);
  box-shadow: 2px 4px 8px rgba(0,0,0,0.3);
  animation: os-stand 8s ease-in-out infinite;
}
.scn-delany-on-stand .delany-climb {
  position: absolute;
  bottom: 37%; left: 48%;
  width: 25px; height: 100px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: translateX(-50%);
  animation: os-climb 4s ease-in-out infinite;
}
.scn-delany-on-stand .judge-head {
  position: absolute;
  bottom: 42%; left: 20%;
  width: 30px; height: 40px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  box-shadow: 0 0 8px rgba(0,0,0,0.2);
  animation: os-judge 3s ease-in-out infinite alternate;
}
.scn-delany-on-stand .tutt-profile {
  position: absolute;
  bottom: 38%; right: 15%;
  width: 35px; height: 80px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform: scaleX(-1);
  animation: os-tutt 5s ease-in-out infinite;
}
.scn-delany-on-stand .shadow-step {
  position: absolute;
  bottom: 38%; left: 49%;
  width: 40px; height: 10px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: os-step 4s ease-in-out infinite;
}
.scn-delany-on-stand .railing {
  position: absolute;
  bottom: 42%; left: 10%;
  width: 80%; height: 4px;
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: os-rail 9s ease-in-out infinite;
}
@keyframes os-stand {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px); }
}
@keyframes os-climb {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-15px) rotate(3deg); }
  50% { transform: translateX(-50%) translateY(-30px) rotate(-2deg); }
  75% { transform: translateX(-50%) translateY(-45px) rotate(4deg); }
  100% { transform: translateX(-50%) translateY(-60px) rotate(0deg); }
}
@keyframes os-judge {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0); }
}
@keyframes os-tutt {
  0% { transform: scaleX(-1) translateX(0); }
  50% { transform: scaleX(-1) translateX(-5px); }
  100% { transform: scaleX(-1) translateX(0); }
}
@keyframes os-step {
  0%, 100% { opacity: 0.5; transform: scaleY(1); }
  50% { opacity: 0.3; transform: scaleY(0.8); }
}
@keyframes os-rail {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}

/* delany-fears-tutt */
.scn-delany-fears-tutt {
  background: 
    linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 40%, #a08870 100%),
    radial-gradient(ellipse at 60% 30%, #f0e4d0 0%, transparent 50%);
}
.scn-delany-fears-tutt .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 35%;
  background: linear-gradient(0deg, #6a5a4a 0%, #8a7a6a 30%, transparent 100%);
  animation: ft-floor 6s ease-in-out infinite alternate;
}
.scn-delany-fears-tutt .wall {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 70%;
  background: linear-gradient(0deg, #b0a090 0%, #d0c0b0 50%, #e0d4c0 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.1);
}
.scn-delany-fears-tutt .delany-small {
  position: absolute;
  bottom: 30%; left: 20%;
  width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: scale(0.8);
  animation: ft-delany 2s ease-in-out infinite alternate;
}
.scn-delany-fears-tutt .tutt-wolfhound {
  position: absolute;
  bottom: 30%; right: 20%;
  width: 60px; height: 100px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 30% 30%;
  transform: scaleX(-1);
  box-shadow: 0 0 20px rgba(0,0,0,0.4);
  animation: ft-tutt 3s ease-in-out infinite;
}
.scn-delany-fears-tutt .tutt-eye {
  position: absolute;
  bottom: 60%; right: 35%;
  width: 12px; height: 12px;
  background: radial-gradient(circle, #e8d080 0%, #8a6a20 100%);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(232,208,128,0.6), 0 0 32px rgba(232,208,128,0.3);
  animation: ft-eye 1.5s ease-in-out infinite alternate;
}
.scn-delany-fears-tutt .shadow-snake {
  position: absolute;
  bottom: 25%; left: 15%;
  width: 150px; height: 20px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  filter: blur(6px);
  animation: ft-snake 5s ease-in-out infinite;
}
.scn-delany-fears-tutt .bench-back {
  position: absolute;
  bottom: 35%; left: 5%;
  width: 20px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 2px 0 4px rgba(0,0,0,0.3);
}
@keyframes ft-floor {
  0% { opacity: 0.9; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 0.9; transform: translateY(0); }
}
@keyframes ft-delany {
  0% { transform: scale(0.8) translateX(0) rotate(-2deg); }
  50% { transform: scale(0.8) translateX(4px) rotate(2deg); }
  100% { transform: scale(0.8) translateX(0) rotate(-1deg); }
}
@keyframes ft-tutt {
  0% { transform: scaleX(-1) translateX(0) rotate(0deg); }
  50% { transform: scaleX(-1) translateX(-8px) rotate(3deg); }
  100% { transform: scaleX(-1) translateX(0) rotate(-2deg); }
}
@keyframes ft-eye {
  0% { transform: translate(0, 0) scale(1); box-shadow: 0 0 16px rgba(232,208,128,0.6), 0 0 32px rgba(232,208,128,0.3); }
  50% { transform: translate(2px, -2px) scale(1.2); box-shadow: 0 0 24px rgba(232,208,128,0.8), 0 0 48px rgba(232,208,128,0.4); }
  100% { transform: translate(-1px, 1px) scale(0.9); box-shadow: 0 0 12px rgba(232,208,128,0.5), 0 0 24px rgba(232,208,128,0.2); }
}
@keyframes ft-snake {
  0% { transform: translateX(0) scaleX(1); }
  25% { transform: translateX(10px) scaleX(1.2); }
  50% { transform: translateX(20px) scaleX(1); }
  75% { transform: translateX(10px) scaleX(0.9); }
  100% { transform: translateX(0) scaleX(1); }
}

/* delany-collapses */
.scn-delany-collapses {
  background: 
    linear-gradient(180deg, #e2d4c0 0%, #c0b0a0 40%, #9a8a7a 100%),
    radial-gradient(ellipse at 50% 80%, #f0e0d0 0%, transparent 60%);
}
.scn-delany-collapses .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(0deg, #6a5a4a 0%, #8a7a6a 30%, transparent 100%);
  animation: co-floor 7s ease-in-out infinite alternate;
}
.scn-delany-collapses .wall {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 75%;
  background: linear-gradient(0deg, #b8a890 0%, #d8c8b0 50%, #e0d4c0 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
}
.scn-delany-collapses .delany-falling {
  position: absolute;
  bottom: 25%; left: 45%;
  width: 30px; height: 80px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform: rotate(20deg);
  animation: co-fall 2s ease-in-out infinite alternate;
}
.scn-delany-collapses .vulture-eye-left {
  position: absolute;
  bottom: 45%; left: 35%;
  width: 14px; height: 14px;
  background: radial-gradient(circle, #c8a050 0%, #5a3a10 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(200,160,80,0.6), 0 0 40px rgba(200,160,80,0.3);
  animation: co-eye 1.5s ease-in-out infinite alternate;
}
.scn-delany-collapses .vulture-eye-right {
  position: absolute;
  bottom: 45%; right: 35%;
  width: 14px; height: 14px;
  background: radial-gradient(circle, #c8a050 0%, #5a3a10 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(200,160,80,0.6), 0 0 40px rgba(200,160,80,0.3);
  animation: co-eye 1.5s ease-in-out infinite alternate-reverse;
}
.scn-delany-collapses .crowd-hands {
  position: absolute;
  bottom: 10%; left: 0; right: 0;
  height: 30%;
  background: 
    radial-gradient(circle at 20% 100%, rgba(0,0,0,0.2) 0%, transparent 50%),
    radial-gradient(circle at 40% 100%, rgba(30,20,10,0.15) 0%, transparent 50%),
    radial-gradient(circle at 60% 100%, rgba(0,0,0,0.2) 0%, transparent 50%),
    radial-gradient(circle at 80% 100%, rgba(30,20,10,0.15) 0%, transparent 50%);
  animation: co-hands 3s ease-in-out infinite alternate;
}
.scn-delany-collapses .shadow-pool {
  position: absolute;
  bottom: 20%; left: 35%;
  width: 100px; height: 30px;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(8px);
  animation: co-pool 5s ease-in-out infinite;
}
.scn-delany-collapses .swirl {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0,0,0,0.08) 100%);
  animation: co-swirl 8s linear infinite;
}
@keyframes co-floor {
  0% { opacity: 0.9; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-3px); }
  100% { opacity: 0.9; transform: translateY(0); }
}
@keyframes co-fall {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(15px); }
  100% { transform: rotate(15deg) translateY(30px); }
}
@keyframes co-eye {
  0% { transform: scale(1); box-shadow: 0 0 20px rgba(200,160,80,0.6), 0 0 40px rgba(200,160,80,0.3); }
  50% { transform: scale(1.3); box-shadow: 0 0 30px rgba(200,160,80,0.8), 0 0 60px rgba(200,160,80,0.4); }
  100% { transform: scale(0.9); box-shadow: 0 0 15px rgba(200,160,80,0.4), 0 0 30px rgba(200,160,80,0.2); }
}
@keyframes co-hands {
  0% { opacity: 0.6; transform: translateY(0); }
  50% { opacity: 0.8; transform: translateY(-5px); }
  100% { opacity: 0.7; transform: translateY(2px); }
}
@keyframes co-pool {
  0% { transform: scaleX(0.8); opacity: 0.4; }
  50% { transform: scaleX(1.2); opacity: 0.6; }
  100% { transform: scaleX(0.9); opacity: 0.3; }
}
@keyframes co-swirl {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
  100% { transform: rotate(360deg); }
}

.scn-bently-final-suggestion {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #d4c4a8 20%, #b8a088 60%, #8a7a64 100%),
    radial-gradient(ellipse at 50% 60%, #fff8e0 0%, transparent 70%);
}
.scn-bently-final-suggestion .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 100%);
  animation: bsl-wall 12s ease-in-out infinite alternate;
}
.scn-bently-final-suggestion .bench {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #6a5a48 0%, #4a3a28 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.3);
  animation: bsl-bench 20s ease-in-out infinite;
}
.scn-bently-final-suggestion .table {
  position: absolute; bottom: 10%; left: 35%; right: 35%; height: 15%;
  background: linear-gradient(180deg, #7a6a58 0%, #4a3a28 100%);
  border-radius: 8px; transform-origin: bottom center;
  animation: bsl-table 15s ease-in-out infinite;
}
.scn-bently-final-suggestion .bently-silhouette {
  position: absolute; bottom: 18%; left: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bsl-figure 4s ease-in-out infinite;
}
.scn-bently-final-suggestion .juror-silhouettes {
  position: absolute; bottom: 26%; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(90deg, #1a1a1a 0%, transparent 20%, transparent 80%, #1a1a1a 100%);
  filter: blur(3px);
  animation: bsl-jurors 8s ease-in-out infinite alternate;
}
.scn-bently-final-suggestion .key-glow {
  position: absolute; bottom: 28%; left: 48%; width: 12px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #e8a040 60%, transparent 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 0 30px 10px #e8a040, 0 0 60px 20px rgba(232,160,64,.3);
  animation: bsl-key 2s ease-in-out infinite alternate;
}
.scn-bently-final-suggestion .shadow-arch {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #2a2a1a 0%, transparent 70%);
  box-shadow: inset 0 30px 40px rgba(0,0,0,.2);
  animation: bsl-arch 25s ease-in-out infinite;
}
.scn-bently-final-suggestion .ceiling-light {
  position: absolute; top: 0; left: 40%; right: 40%; height: 8%;
  background: radial-gradient(ellipse, #fff0c0 0%, transparent 100%);
  filter: blur(8px);
  animation: bsl-light 6s ease-in-out infinite alternate;
}
@keyframes bsl-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .85 } }
@keyframes bsl-bench { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes bsl-table { 0%, 100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-1px) scaleY(.98) } }
@keyframes bsl-figure { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(.5deg) } 50% { transform: translateX(6px) translateY(0) rotate(1deg) } 75% { transform: translateX(9px) translateY(-1px) rotate(.5deg) } 100% { transform: translateX(12px) translateY(0) rotate(0) } }
@keyframes bsl-jurors { 0% { opacity: .6; transform: scaleY(1) } 50% { opacity: .8; transform: scaleY(1.02) } 100% { opacity: .7; transform: scaleY(.98) } }
@keyframes bsl-key { 0% { transform: scale(1) rotate(-2deg); box-shadow: 0 0 20px 8px #e8a040, 0 0 50px 15px rgba(232,160,64,.2) } 50% { transform: scale(1.1) rotate(2deg); box-shadow: 0 0 40px 15px #ffc060, 0 0 80px 25px rgba(255,192,96,.4) } 100% { transform: scale(1) rotate(-1deg); box-shadow: 0 0 25px 10px #e8a040, 0 0 60px 20px rgba(232,160,64,.3) } }
@keyframes bsl-arch { 0% { opacity: .7 } 50% { opacity: .9 } 100% { opacity: .75 } }
@keyframes bsl-light { 0% { transform: scaleY(1); opacity: .8 } 50% { transform: scaleY(1.1); opacity: 1 } 100% { transform: scaleY(.95); opacity: .85 } }

.scn-verdict-reached {
  background:
    linear-gradient(180deg, #f0e0c0 0%, #e0c8a0 30%, #c8a880 70%, #a08860 100%),
    radial-gradient(ellipse at 50% 70%, #ffe8b0 0%, transparent 60%);
}
.scn-verdict-reached .room-back {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e8d8b8 0%, #c0b090 100%);
  animation: vrr-room 15s ease-in-out infinite alternate;
}
.scn-verdict-reached .desk {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 20%;
  background: linear-gradient(180deg, #8a7a68 0%, #5a4a38 100%);
  border-radius: 8px 8px 4px 4px;
  animation: vrr-desk 12s ease-in-out infinite;
}
.scn-verdict-reached .window-glow {
  position: absolute; top: 10%; right: 15%; width: 25%; height: 40%;
  background: radial-gradient(ellipse, #fff8d0 0%, transparent 100%);
  filter: blur(12px);
  animation: vrr-window 8s ease-in-out infinite alternate;
}
.scn-verdict-reached .tutt-figure {
  position: absolute; bottom: 20%; left: 25%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: vrr-tutt 5s ease-in-out infinite;
}
.scn-verdict-reached .cap-figure {
  position: absolute; bottom: 22%; left: 38%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: vrr-cap 5.5s ease-in-out infinite;
}
.scn-verdict-reached .celebration-arm {
  position: absolute; bottom: 35%; left: 30%; width: 6px; height: 25px;
  background: linear-gradient(180deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: vrr-arm 1.5s ease-in-out infinite;
}
.scn-verdict-reached .sparkle-one {
  position: absolute; top: 30%; left: 20%; width: 6px; height: 6px;
  background: radial-gradient(circle, #fff8e0 0%, transparent 100%);
  box-shadow: 0 0 12px 4px #fff8e0;
  animation: vrr-sparkle 3s ease-in-out infinite;
}
.scn-verdict-reached .sparkle-two {
  position: absolute; top: 35%; right: 25%; width: 4px; height: 4px;
  background: radial-gradient(circle, #fff8e0 0%, transparent 100%);
  box-shadow: 0 0 10px 3px #fff8e0;
  animation: vrr-sparkle 3.5s ease-in-out infinite alternate;
}
@keyframes vrr-room { 0% { opacity: .85 } 50% { opacity: 1 } 100% { opacity: .9 } }
@keyframes vrr-desk { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes vrr-window { 0% { opacity: .7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: .8; transform: scale(.98) } }
@keyframes vrr-tutt { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(2px) rotate(0deg) } 50% { transform: translateX(4px) rotate(1deg) } 75% { transform: translateX(6px) rotate(0deg) } 100% { transform: translateX(8px) rotate(-1deg) } }
@keyframes vrr-cap { 0% { transform: translateX(0) rotate(1deg) } 33% { transform: translateX(-2px) rotate(0deg) } 66% { transform: translateX(-4px) rotate(-1deg) } 100% { transform: translateX(0) rotate(1deg) } }
@keyframes vrr-arm { 0%, 100% { transform: rotate(-20deg) translateY(0) } 50% { transform: rotate(-40deg) translateY(-5px) } }
@keyframes vrr-sparkle { 0%, 100% { opacity: .3; transform: scale(.5) } 50% { opacity: 1; transform: scale(1.2) } }

.scn-bently-homes {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #6a5a4a 30%, #8a7a6a 60%, #6a5a4a 100%),
    radial-gradient(ellipse at 60% 50%, #ffd8a0 0%, transparent 70%);
}
.scn-bently-homes .wall-dark {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 100%);
  animation: bhw-wall 20s ease-in-out infinite alternate;
}
.scn-bently-homes .window-frame {
  position: absolute; top: 10%; left: 15%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border: 4px solid #4a3a2a; border-radius: 4px;
  animation: bhw-frame 15s ease-in-out infinite;
}
.scn-bently-homes .dusk-sky {
  position: absolute; top: 12%; left: 17%; width: 31%; height: 46%;
  background: linear-gradient(180deg, #ff8a4a 0%, #c86030 40%, #6a3a1a 100%);
  border-radius: 2px;
  animation: bhw-dusk 30s ease-in-out infinite alternate;
}
.scn-bently-homes .bently-home-figure {
  position: absolute; bottom: 18%; left: 32%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: bhw-figure 6s ease-in-out infinite;
}
.scn-bently-homes .cigarette-glow {
  position: absolute; bottom: 30%; left: 34%; width: 4px; height: 2px;
  background: radial-gradient(circle, #ff8040 0%, transparent 100%);
  box-shadow: 0 0 8px 3px #ff8040;
  animation: bhw-cig 1s ease-in-out infinite alternate;
}
.scn-bently-homes .armchair {
  position: absolute; bottom: 10%; left: 25%; right: 25%; height: 20%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: bhw-chair 18s ease-in-out infinite;
}
.scn-bently-homes .lamp {
  position: absolute; bottom: 22%; left: 55%; width: 8px; height: 18px;
  background: radial-gradient(ellipse, #ffd080 0%, transparent 100%);
  box-shadow: 0 0 20px 8px #ffd080, 0 0 40px 15px rgba(255,208,128,.3);
  animation: bhw-lamp 5s ease-in-out infinite alternate;
}
.scn-bently-homes .shadow-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%);
  animation: bhw-shadow 25s ease-in-out infinite;
}
@keyframes bhw-wall { 0% { opacity: .8 } 50% { opacity: .95 } 100% { opacity: .85 } }
@keyframes bhw-frame { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes bhw-dusk { 0% { background: linear-gradient(180deg, #ff8a4a 0%, #c86030 40%, #6a3a1a 100%); } 50% { background: linear-gradient(180deg, #ffa060 0%, #d87040 40%, #7a4a2a 100%); } 100% { background: linear-gradient(180deg, #e07a3a 0%, #b85020 40%, #5a2a0a 100%); } }
@keyframes bhw-figure { 0% { transform: translateX(0) rotate(-1deg) } 33% { transform: translateX(4px) rotate(0deg) } 66% { transform: translateX(8px) rotate(1deg) } 100% { transform: translateX(12px) rotate(0deg) } }
@keyframes bhw-cig { 0% { opacity: .6; transform: scale(.8) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .7; transform: scale(.9) } }
@keyframes bhw-chair { 0%, 100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-1px) scaleY(.98) } }
@keyframes bhw-lamp { 0% { opacity: .7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: .8; transform: scale(.98) } }
@keyframes bhw-shadow { 0% { opacity: .5 } 50% { opacity: .7 } 100% { opacity: .55 } }

.scn-item-motor-car {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3e 30%, #3a3a4e 60%, #2a2a3a 100%),
    radial-gradient(ellipse at 30% 50%, #4a4a6a 0%, transparent 60%);
}
.scn-item-motor-car .car-interior {
  position: absolute; inset: 5% 5% 5% 5%;
  background: linear-gradient(135deg, #2a2a3a 0%, #4a4a5a 50%, #3a3a4a 100%);
  border-radius: 10% 10% 5% 5% / 15% 15% 5% 5%;
  box-shadow: inset 0 0 30px rgba(0,0,0,.5);
  animation: imc-interior 25s ease-in-out infinite alternate;
}
.scn-item-motor-car .steering-wheel {
  position: absolute; bottom: 25%; left: 25%; right: 40%; height: 10%;
  background: linear-gradient(90deg, #1a1a2a 0%, #3a3a4a 50%, #1a1a2a 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,.5);
  animation: imc-wheel 15s ease-in-out infinite;
}
.scn-item-motor-car .danny-silhouette {
  position: absolute; bottom: 15%; left: 30%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: imc-danny 6s ease-in-out infinite;
}
.scn-item-motor-car .dashboard-glow {
  position: absolute; bottom: 20%; left: 35%; right: 10%; height: 8%;
  background: radial-gradient(ellipse, #ffa040 0%, transparent 100%);
  filter: blur(6px);
  animation: imc-dash 4s ease-in-out infinite alternate;
}
.scn-item-motor-car .streetlight-pass {
  position: absolute; top: 15%; right: 15%; width: 10%; height: 30%;
  background: radial-gradient(ellipse, #ffd080 0%, transparent 70%);
  filter: blur(10px);
  animation: imc-streetlight 8s linear infinite;
}
.scn-item-motor-car .seat-back {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: imc-seat 20s ease-in-out infinite;
}
.scn-item-motor-car .window-reflection {
  position: absolute; top: 12%; left: 10%; width: 35%; height: 35%;
  background: linear-gradient(135deg, rgba(255,255,255,.1) 0%, transparent 50%, rgba(255,255,255,.05) 100%);
  border-radius: 5% 5% 0 0;
  animation: imc-window 12s ease-in-out infinite alternate;
}
.scn-item-motor-car .night-cloud {
  position: absolute; top: 5%; left: 20%; width: 15%; height: 8%;
  background: rgba(200,200,220,.15);
  border-radius: 50%;
  filter: blur(6px);
  animation: imc-cloud 45s linear infinite;
}
@keyframes imc-interior { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,.4) } 50% { box-shadow: inset 0 0 40px rgba(0,0,0,.6) } 100% { box-shadow: inset 0 0 25px rgba(0,0,0,.45) } }
@keyframes imc-wheel { 0%, 100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-1px) rotate(1deg) } }
@keyframes imc-danny { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 33% { transform: translateX(3px) translateY(-1px) rotate(0deg) } 66% { transform: translateX(6px) translateY(0) rotate(1deg) } 100% { transform: translateX(9px) translateY(-1px) rotate(0deg) } }
@keyframes imc-dash { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .7; transform: scale(.95) } }
@keyframes imc-streetlight { 0% { transform: translateX(0) translateY(0); opacity: .8 } 25% { transform: translateX(-10px) translateY(2px); opacity: .6 } 50% { transform: translateX(-20px) translateY(0); opacity: .9 } 75% { transform: translateX(-10px) translateY(-2px); opacity: .7 } 100% { transform: translateX(0) translateY(0); opacity: .8 } }
@keyframes imc-seat { 0%, 100% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-1px) scaleY(.98) } }
@keyframes imc-window { 0% { opacity: .3; transform: scale(1) } 50% { opacity: .5; transform: scale(1.02) } 100% { opacity: .35; transform: scale(.98) } }
@keyframes imc-cloud { 0% { transform: translateX(0) } 100% { transform: translateX(120vw) } }

/* tutt-agrees */
.scn-tutt-agrees {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d5a8 60%, #d4b88c 100%),
              radial-gradient(ellipse at 50% 30%, #ffe0a0 0%, transparent 60%);
}
.scn-tutt-agrees .wall { position:absolute; inset:0; background:linear-gradient(180deg, #f0e0c0 0%, #d8c4a0 100%); }
.scn-tutt-agrees .lamp { position:absolute; top:10%; left:45%; width:20px; height:40px; background:linear-gradient(180deg, #c8a060 0%, #a07840 100%); border-radius:10% 10% 40% 40%; transform:rotate(10deg); animation:ta-lamp-sway 6s ease-in-out infinite alternate; }
.scn-tutt-agrees .glow { position:absolute; top:8%; left:44%; width:40px; height:40px; background:radial-gradient(circle, #ffe080 0%, rgba(255,224,128,0.4) 60%, transparent 100%); border-radius:50%; animation:ta-glow-pulse 3s ease-in-out infinite alternate; }
.scn-tutt-agrees .chair-left { position:absolute; bottom:15%; left:15%; width:80px; height:100px; background:linear-gradient(135deg, #b8835a 0%, #8a5a3a 100%); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 5px 5px 15px rgba(0,0,0,0.2); animation:ta-chair-bob 8s ease-in-out infinite; }
.scn-tutt-agrees .chair-right { position:absolute; bottom:15%; right:15%; width:80px; height:100px; background:linear-gradient(135deg, #a8734a 0%, #7a4a2a 100%); border-radius:30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: -5px 5px 15px rgba(0,0,0,0.2); animation:ta-chair-bob 8s ease-in-out infinite reverse; }
.scn-tutt-agrees .figure-left { position:absolute; bottom:20%; left:20%; width:40px; height:60px; background:linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation:ta-nod 5s ease-in-out infinite; }
.scn-tutt-agrees .figure-right { position:absolute; bottom:20%; right:20%; width:40px; height:60px; background:linear-gradient(180deg, #2a1a0a 0%, #100a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(5deg); animation:ta-nod 6s ease-in-out infinite 1s; }
.scn-tutt-agrees .cigarette-smoke { position:absolute; top:22%; left:28%; width:10px; height:30px; background:radial-gradient(circle at bottom, rgba(200,200,200,0.6) 0%, transparent 80%); filter:blur(4px); animation:ta-smoke-rise 4s ease-out infinite; }
.scn-tutt-agrees .brass-bed-bg { position:absolute; bottom:5%; left:50%; width:120px; height:80px; transform:translateX(-50%); background:linear-gradient(135deg, #e8c878 0%, #b89838 50%, #806818 100%); border-radius:10% 10% 5% 5% / 30% 30% 10% 10%; opacity:0.4; box-shadow: 0 0 20px rgba(200,170,80,0.3); animation:ta-bed-glimmer 12s linear infinite; }
@keyframes ta-lamp-sway { 0% { transform:rotate(10deg) } 50% { transform:rotate(-5deg) } 100% { transform:rotate(10deg) } }
@keyframes ta-glow-pulse { 0% { opacity:0.7; transform:scale(1) } 50% { opacity:1; transform:scale(1.1) } 100% { opacity:0.8; transform:scale(0.95) } }
@keyframes ta-chair-bob { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes ta-nod { 0% { transform:rotate(-5deg) } 25% { transform:rotate(0deg) } 50% { transform:rotate(2deg) } 75% { transform:rotate(-3deg) } 100% { transform:rotate(-5deg) } }
@keyframes ta-smoke-rise { 0% { transform:translateY(0) scale(0.8); opacity:0.7 } 50% { transform:translateY(-20px) scale(1.5); opacity:0.3 } 100% { transform:translateY(-40px) scale(2); opacity:0 } }
@keyframes ta-bed-glimmer { 0%,100% { opacity:0.3 } 50% { opacity:0.5 } }

/* brass-beds-trouble */
.scn-brass-beds-trouble {
  background: linear-gradient(180deg, #e8d4b0 0%, #d6bc90 40%, #c0a070 100%),
              radial-gradient(ellipse at 30% 70%, #ffe0a0 0%, transparent 50%);
}
.scn-brass-beds-trouble .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #b08860 0%, #8a6040 100%); }
.scn-brass-beds-trouble .wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #e0c8a0 0%, #c8b088 100%); }
.scn-brass-beds-trouble .bed-frame { position:absolute; bottom:30%; left:50%; width:180px; height:60px; transform:translateX(-50%); background:linear-gradient(135deg, #e0b060 0%, #c09040 50%, #a07020 100%); border-radius:5% 5% 10% 10% / 20% 20% 30% 30%; box-shadow: 0 8px 20px rgba(0,0,0,0.3); animation:bbt-bed-shake 8s ease-in-out infinite; }
.scn-brass-beds-trouble .mattress { position:absolute; bottom:30%; left:50%; width:160px; height:40px; transform:translateX(-50%); background:linear-gradient(180deg, #f0e0c0 0%, #d0b898 100%); border-radius:10%; }
.scn-brass-beds-trouble .blanket { position:absolute; bottom:30%; left:50%; width:140px; height:30px; transform:translateX(-50%); background:linear-gradient(135deg, #c8553d 0%, #a0461a 100%); border-radius:10% 10% 20% 20%; opacity:0.8; }
.scn-brass-beds-trouble .camel { position:absolute; bottom:30%; left:40%; width:80px; height:60px; background:linear-gradient(180deg, #c8a060 0%, #a08040 100%); border-radius:50% 50% 40% 40% / 60% 60% 30% 30%; transform:translateX(-50%); animation:bbt-camel-raise 12s ease-in-out infinite; }
.scn-brass-beds-trouble .camel-eye { position:absolute; bottom:40%; left:38%; width:8px; height:8px; background:#1a1a0a; border-radius:50%; animation:bbt-eye-blink 4s ease-in-out infinite; }
.scn-brass-beds-trouble .lamp { position:absolute; top:10%; left:20%; width:15px; height:35px; background:linear-gradient(180deg, #d0a060 0%, #a07840 100%); border-radius:10% 10% 30% 30%; }
.scn-brass-beds-trouble .glow { position:absolute; top:8%; left:19%; width:30px; height:30px; background:radial-gradient(circle, #ffe080 0%, rgba(255,224,128,0.3) 70%, transparent 100%); border-radius:50%; animation:bbt-glow-pulse 3s ease-in-out infinite alternate; }
@keyframes bbt-bed-shake { 0% { transform:translateX(-50%) rotate(0deg) } 25% { transform:translateX(-50%) rotate(-2deg) translateY(2px) } 50% { transform:translateX(-50%) rotate(1deg) } 75% { transform:translateX(-50%) rotate(-1deg) translateY(-1px) } 100% { transform:translateX(-50%) rotate(0deg) } }
@keyframes bbt-camel-raise { 0%,100% { transform:translateX(-50%) translateY(0) } 50% { transform:translateX(-50%) translateY(-10px) } }
@keyframes bbt-eye-blink { 0%,90%,100% { transform:scaleY(1) } 95% { transform:scaleY(0.1) } }
@keyframes bbt-glow-pulse { 0% { opacity:0.6; transform:scale(0.9) } 50% { opacity:1; transform:scale(1.1) } 100% { opacity:0.7; transform:scale(1) } }

/* brass-bed-yarn */
.scn-brass-bed-yarn {
  background: linear-gradient(180deg, #f0dfc8 0%, #e0c8a8 50%, #c8b088 100%),
              radial-gradient(ellipse at 50% 20%, #ffe0b0 0%, transparent 60%);
}
.scn-brass-bed-yarn .wall { position:absolute; inset:0; background:linear-gradient(180deg, #ead4b8 0%, #d6be9e 100%); }
.scn-brass-bed-yarn .bed-back { position:absolute; bottom:5%; left:25%; width:200px; height:100px; background:linear-gradient(135deg, #d8b068 0%, #b89048 100%); border-radius:10% 10% 5% 5% / 20% 20% 10% 10%; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.scn-brass-bed-yarn .bed-post-left { position:absolute; bottom:5%; left:25%; width:12px; height:120px; background:linear-gradient(180deg, #e0b870 0%, #b88838 100%); border-radius:20%; transform:translateY(-20px); }
.scn-brass-bed-yarn .bed-post-right { position:absolute; bottom:5%; right:25%; width:12px; height:120px; background:linear-gradient(180deg, #e0b870 0%, #b88838 100%); border-radius:20%; transform:translateY(-20px); }
.scn-brass-bed-yarn .figure-left { position:absolute; bottom:10%; left:15%; width:50px; height:80px; background:linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(10deg); animation:bby-nod 6s ease-in-out infinite; }
.scn-brass-bed-yarn .figure-right { position:absolute; bottom:10%; right:15%; width:50px; height:80px; background:linear-gradient(180deg, #2a1a0a 0%, #100a05 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-10deg); animation:bby-nod 6s ease-in-out infinite 2s; }
.scn-brass-bed-yarn .gesture-hand { position:absolute; bottom:30%; right:18%; width:15px; height:20px; background:#2a1a0a; border-radius:50% 50% 40% 40%; transform-origin:bottom center; animation:bby-gesture 4s ease-in-out infinite; }
.scn-brass-bed-yarn .yarn-ball { position:absolute; bottom:35%; left:45%; width:20px; height:20px; background:radial-gradient(circle at 30% 30%, #e08060 0%, #b85040 100%); border-radius:50%; animation:bby-roll 10s linear infinite; }
.scn-brass-bed-yarn .yarn-trail { position:absolute; bottom:35%; left:45%; width:60px; height:4px; background:linear-gradient(90deg, #b85040 0%, #d07050 50%, transparent 100%); border-radius:2px; transform:rotate(30deg); animation:bby-unravel 10s linear infinite; }
@keyframes bby-nod { 0% { transform:rotate(10deg) } 25% { transform:rotate(0deg) } 50% { transform:rotate(-5deg) } 75% { transform:rotate(5deg) } 100% { transform:rotate(10deg) } }
@keyframes bby-gesture { 0%,100% { transform:rotate(-30deg) } 50% { transform:rotate(30deg) } }
@keyframes bby-roll { 0% { transform:translateX(0) rotate(0deg) } 100% { transform:translateX(-120px) rotate(720deg) } }
@keyframes bby-unravel { 0% { transform:rotate(30deg) scaleX(0.2); opacity:0 } 10% { opacity:1 } 100% { transform:rotate(90deg) scaleX(1.5); opacity:0.5 } }

/* turk-brags-about-bed */
.scn-turk-brags-about-bed {
  background: linear-gradient(180deg, #f5e8d0 0%, #e0c8a8 50%, #c8b088 100%),
              radial-gradient(ellipse at 70% 40%, #ffe0a0 0%, transparent 50%);
}
.scn-turk-brags-about-bed .wall { position:absolute; inset:0 0 20% 0; background:linear-gradient(180deg, #f0dcc0 0%, #dcc4a4 100%); }
.scn-turk-brags-about-bed .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background:linear-gradient(180deg, #b08868 0%, #8a6040 100%); }
.scn-turk-brags-about-bed .bed-frame { position:absolute; bottom:20%; left:30%; width:160px; height:70px; background:linear-gradient(135deg, #e8c070 0%, #b89038 50%, #906820 100%); border-radius:5% 5% 10% 10% / 15% 15% 25% 25%; box-shadow: 0 8px 20px rgba(0,0,0,0.3); transform:rotate(-3deg); animation:tbb-bed-glow 6s ease-in-out infinite alternate; }
.scn-turk-brags-about-bed .mattress { position:absolute; bottom:20%; left:30%; width:140px; height:45px; transform:translateX(10px); background:linear-gradient(180deg, #f0e0c0 0%, #d0b898 100%); border-radius:10%; }
.scn-turk-brags-about-bed .turk-body { position:absolute; bottom:20%; right:20%; width:60px; height:90px; background:linear-gradient(180deg, #7a5a3a 0%, #4a301a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(5deg); animation:tbb-brag-bounce 5s ease-in-out infinite; }
.scn-turk-brags-about-bed .turk-fez { position:absolute; bottom:75%; right:38%; width:24px; height:20px; background:linear-gradient(180deg, #c8553d 0%, #a0461a 100%); border-radius:50% 50% 10% 10% / 80% 80% 20% 20%; transform:rotate(10deg); box-shadow: 0 -2px 4px rgba(0,0,0,0.3); animation:tbb-fez-wobble 5s ease-in-out infinite; }
.scn-turk-brags-about-bed .turk-arm { position:absolute; bottom:30%; right:28%; width:12px; height:40px; background:#4a301a; border-radius:30% 30% 10% 10%; transform-origin:bottom center; transform:rotate(-40deg); animation:tbb-arm-wave 4s ease-in-out infinite; }
.scn-turk-brags-about-bed .turk-moustache { position:absolute; bottom:60%; right:35%; width:30px; height:6px; background:#1a100a; border-radius:50% 50% 0 0; transform:rotate(5deg); animation:tbb-moustache-twitch 3s ease-in-out infinite; }
.scn-turk-brags-about-bed .glow { position:absolute; top:10%; left:60%; width:40px; height:40px; background:radial-gradient(circle, #ffe080 0%, rgba(255,224,128,0.3) 70%, transparent 100%); border-radius:50%; animation:tbb-glow-pulse 3s ease-in-out infinite alternate; }
@keyframes tbb-bed-glow { 0% { box-shadow:0 8px 20px rgba(0,0,0,0.3) } 50% { box-shadow:0 8px 30px rgba(200,170,80,0.5) } 100% { box-shadow:0 8px 20px rgba(0,0,0,0.3) } }
@keyframes tbb-brag-bounce { 0%,100% { transform:rotate(5deg) translateY(0) } 25% { transform:rotate(8deg) translateY(-4px) } 50% { transform:rotate(-2deg) translateY(-2px) } 75% { transform:rotate(3deg) translateY(-6px) } }
@keyframes tbb-fez-wobble { 0%,100% { transform:rotate(10deg) } 25% { transform:rotate(15deg) } 50% { transform:rotate(5deg) } 75% { transform:rotate(12deg) } }
@keyframes tbb-arm-wave { 0%,100% { transform:rotate(-40deg) } 50% { transform:rotate(-70deg) } }
@keyframes tbb-moustache-twitch { 0%,100% { transform:rotate(5deg) scaleX(1) } 50% { transform:rotate(10deg) scaleX(1.1) } }
@keyframes tbb-glow-pulse { 0% { opacity:0.5; transform:scale(0.9) } 50% { opacity:1; transform:scale(1.1) } 100% { opacity:0.7; transform:scale(1) } }

/* scene: tony-confirms-age (tca) - tense, bright interior courtroom */
.scn-tony-confirms-age {
  background: linear-gradient(180deg, #e3d6c0 0%, #b8a88a 50%, #8b7b60 100%),
              radial-gradient(ellipse at 50% 100%, #4a4a3a 0%, transparent 70%);
}
.scn-tony-confirms-age .bench {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #7a6a50 0%, #5a4a30 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: tca-bench 8s ease-in-out infinite;
}
.scn-tony-confirms-age .gavel {
  position: absolute; bottom: 22%; left: 48%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #8a7a60 0%, #4a3a20 100%);
  border-radius: 20% 20% 10% 10%; transform-origin: bottom center;
  animation: tca-gavel 1.5s ease-in-out infinite;
}
.scn-tony-confirms-age .tony {
  position: absolute; bottom: 8%; left: 20%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tca-tremble 3s ease-in-out infinite;
}
.scn-tony-confirms-age .simpkins {
  position: absolute; bottom: 8%; right: 20%; width: 9%; height: 20%;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tca-tremble 4s ease-in-out infinite reverse;
}
.scn-tony-confirms-age .window {
  position: absolute; top: 5%; right: 10%; width: 20%; height: 35%;
  background: linear-gradient(135deg, #fff8e0 0%, #d4c8a0 60%, #b8a888 100%);
  border-radius: 5% / 10%; box-shadow: inset 0 0 40px rgba(255,255,200,0.3);
  animation: tca-glare 6s ease-in-out infinite alternate;
}
.scn-tony-confirms-age .clock {
  position: absolute; top: 8%; left: 10%; width: 8%; height: 8%;
  background: radial-gradient(circle, #c8b890 0%, #8a7a60 60%, #5a4a30 100%);
  border-radius: 50%; box-shadow: 0 0 12px rgba(0,0,0,0.2);
  animation: tca-tick 1s steps(2) infinite;
}
@keyframes tca-bench {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes tca-gavel {
  0% { transform: rotate(0deg) translateY(0); }
  40% { transform: rotate(-15deg) translateY(-3px); }
  60% { transform: rotate(10deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes tca-tremble {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(-1px) translateY(1px) rotate(-1deg); }
  75% { transform: translateX(1px) translateY(-1px) rotate(0.5deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes tca-glare {
  0% { background: linear-gradient(135deg, #fff8e0 0%, #d4c8a0 60%, #b8a888 100%); }
  50% { background: linear-gradient(135deg, #fffbe8 0%, #e0d0b0 60%, #c8b898 100%); }
  100% { background: linear-gradient(135deg, #f5ecd0 0%, #d0c098 60%, #b0a080 100%); }
}
@keyframes tca-tick {
  0% { box-shadow: 0 0 12px rgba(0,0,0,0.2), inset 0 2px 0 #e0d0b0; }
  50% { box-shadow: 0 0 12px rgba(0,0,0,0.2), inset 0 -2px 0 #e0d0b0; }
  100% { box-shadow: 0 0 12px rgba(0,0,0,0.2), inset 0 2px 0 #e0d0b0; }
}

/* scene: judge-harrison-background (jhb) - warm mood, bright interior, judge at desk */
.scn-judge-harrison-background {
  background: linear-gradient(180deg, #f5e8d8 0%, #d4c0a8 40%, #a89880 100%),
              radial-gradient(ellipse at 50% 30%, #ffe8c8 0%, transparent 70%);
}
.scn-judge-harrison-background .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #8a7a60 0%, #5a4a30 100%);
  border-radius: 2% 2% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-judge-harrison-background .judge-silhouette {
  position: absolute; bottom: 30%; left: 40%; width: 15%; height: 25%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jhb-read 8s ease-in-out infinite;
}
.scn-judge-harrison-background .books {
  position: absolute; bottom: 18%; left: 20%; width: 20%; height: 8%;
  background: linear-gradient(180deg, #b84840 0%, #8a3028 100%);
  border-radius: 3% / 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: jhb-stack 12s ease-in-out infinite alternate;
}
.scn-judge-harrison-background .lamp {
  position: absolute; bottom: 25%; left: 75%; width: 6%; height: 12%;
  background: radial-gradient(circle at 50% 20%, #f0d8a0 0%, #c8a060 50%, #8a6a28 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: -20px 0 60px rgba(200,160,80,0.5), 0 0 40px rgba(200,160,80,0.2);
  animation: jhb-glow 4s ease-in-out infinite alternate;
}
.scn-judge-harrison-background .papers {
  position: absolute; bottom: 18%; left: 35%; width: 12%; height: 4%;
  background: #e0d0b0;
  border-radius: 2%; box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  animation: jhb-shimmer 6s ease-in-out infinite;
}
@keyframes jhb-read {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-3px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes jhb-stack {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes jhb-glow {
  0% { box-shadow: -20px 0 60px rgba(200,160,80,0.5), 0 0 40px rgba(200,160,80,0.2); opacity: 0.9; }
  50% { box-shadow: -25px 0 80px rgba(220,180,90,0.7), 0 0 60px rgba(220,180,90,0.4); opacity: 1; }
  100% { box-shadow: -18px 0 50px rgba(180,140,70,0.4), 0 0 30px rgba(180,140,70,0.1); opacity: 0.85; }
}
@keyframes jhb-shimmer {
  0% { background: #e0d0b0; }
  25% { background: #e8d8b8; }
  50% { background: #d0c0a0; }
  75% { background: #e8d8b8; }
  100% { background: #e0d0b0; }
}

/* scene: judge-clean-and-kindly (jck) - warm, bright interior, tall window and silhouettes */
.scn-judge-clean-and-kindly {
  background: linear-gradient(90deg, #f0e6d8 0%, #d8c8b0 40%, #c0ae96 100%),
              radial-gradient(ellipse at 20% 50%, #fff8e8 0%, transparent 60%);
}
.scn-judge-clean-and-kindly .window {
  position: absolute; top: 0; left: 10%; width: 30%; height: 100%;
  background: linear-gradient(90deg, #fff8e0 0%, #ede0c8 50%, #d4c4a8 100%);
  border-radius: 0 5% 5% 0 / 50%; box-shadow: inset -10px 0 40px rgba(0,0,0,0.1);
  animation: jck-fade 8s ease-in-out infinite alternate;
}
.scn-judge-clean-and-kindly .judge-silhouette {
  position: absolute; bottom: 10%; left: 40%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jck-bow 10s ease-in-out infinite;
}
.scn-judge-clean-and-kindly .tony-silhouette {
  position: absolute; bottom: 5%; left: 55%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jck-shy 5s ease-in-out infinite;
}
.scn-judge-clean-and-kindly .shine {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 6%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,200,0.3) 30%, rgba(255,255,200,0.1) 70%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: jck-gleam 12s linear infinite;
}
.scn-judge-clean-and-kindly .curtain {
  position: absolute; top: 0; left: 8%; width: 6%; height: 100%;
  background: linear-gradient(180deg, #a08060 0%, #705040 100%);
  border-radius: 0 30% 30% 0 / 50%;
  animation: jck-sway 7s ease-in-out infinite alternate;
}
@keyframes jck-fade {
  0% { opacity: 0.8; background: linear-gradient(90deg, #fff8e0 0%, #ede0c8 50%, #d4c4a8 100%); }
  50% { opacity: 1; background: linear-gradient(90deg, #ffffff 0%, #f0e4d0 50%, #dcccb4 100%); }
  100% { opacity: 0.85; background: linear-gradient(90deg, #f5ecd0 0%, #e0d0b8 50%, #c8b89c 100%); }
}
@keyframes jck-bow {
  0% { transform: rotate(0deg) translateY(0); }
  30% { transform: rotate(-3deg) translateY(-5px); }
  60% { transform: rotate(2deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes jck-shy {
  0% { transform: scale(1) translateX(0); }
  20% { transform: scale(0.95) translateX(5px); }
  40% { transform: scale(0.98) translateX(3px); }
  60% { transform: scale(1) translateX(0); }
  80% { transform: scale(0.96) translateX(2px); }
  100% { transform: scale(1) translateX(0); }
}
@keyframes jck-gleam {
  0% { transform: translateX(-100%) rotate(0deg); }
  100% { transform: translateX(100%) rotate(0deg); }
}
@keyframes jck-sway {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}

/* scene: simpkins-intervenes (sin) - tense, bright interior, judge leaning forward */
.scn-simpkins-intervenes {
  background: linear-gradient(180deg, #e5d8c8 0%, #c8b8a0 30%, #a89880 100%),
              radial-gradient(ellipse at 70% 40%, #f0e0c8 0%, transparent 60%);
}
.scn-simpkins-intervenes .judge {
  position: absolute; bottom: 25%; left: 35%; width: 14%; height: 25%;
  background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sin-lean 4s ease-in-out infinite;
}
.scn-simpkins-intervenes .simpkins {
  position: absolute; bottom: 10%; right: 20%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #4a4a3a 0%, #2a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sin-fidget 3.5s ease-in-out infinite;
}
.scn-simpkins-intervenes .desk {
  position: absolute; bottom: 18%; left: 5%; right: 5%; height: 14%;
  background: linear-gradient(180deg, #8a7a60 0%, #5a4a30 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.scn-simpkins-intervenes .paper {
  position: absolute; bottom: 22%; left: 45%; width: 10%; height: 4%;
  background: #e0d0b0;
  border-radius: 2%;
  animation: sin-rustle 2s ease-in-out infinite;
}
.scn-simpkins-intervenes .witness-box {
  position: absolute; bottom: 8%; left: 5%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #504030 0%, #302020 100%);
  border-radius: 5% / 20%; border-left: 4px solid #6a5a4a;
  animation: sin-stand 6s ease-in-out infinite alternate;
}
@keyframes sin-lean {
  0% { transform: rotate(0deg) translateY(0); }
  30% { transform: rotate(-8deg) translateY(-10px) scaleX(0.95); }
  60% { transform: rotate(4deg) translateY(-4px) scaleX(1.02); }
  100% { transform: rotate(0deg) translateY(0) scaleX(1); }
}
@keyframes sin-fidget {
  0% { transform: translateX(0) rotate(0deg); }
  20% { transform: translateX(3px) rotate(-2deg); }
  40% { transform: translateX(-2px) rotate(1deg); }
  60% { transform: translateX(2px) rotate(-1deg); }
  80% { transform: translateX(-1px) rotate(0deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes sin-rustle {
  0% { transform: rotate(0deg) translateX(0); }
  25% { transform: rotate(-3deg) translateX(-2px); }
  50% { transform: rotate(2deg) translateX(1px); }
  75% { transform: rotate(-1deg) translateX(-1px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes sin-stand {
  0% { box-shadow: inset 2px 0 8px rgba(0,0,0,0.2); }
  50% { box-shadow: inset 4px 0 12px rgba(0,0,0,0.4); }
  100% { box-shadow: inset 2px 0 8px rgba(0,0,0,0.2); }
}

.scn-asche-forces-affidavit {
  background:
    linear-gradient(180deg, #f5eeda 0%, #d4cbaf 40%, #b0a48a 100%),
    radial-gradient(ellipse at 30% 80%, #f0e8d0 0%, transparent 60%);
}
.scn-asche-forces-affidavit .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(90deg, #d4cbaf, #e3dac3 50%, #d4cbaf);
  animation: as-wall 12s ease-in-out infinite alternate;
}
.scn-asche-forces-affidavit .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b0a48a 0%, #8a7e64 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
}
.scn-asche-forces-affidavit .desk {
  position: absolute; bottom: 20%; left: 30%; width: 180px; height: 80px;
  background: linear-gradient(180deg, #7a6b52 0%, #5a4b32 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  transform: perspective(400px) rotateX(10deg);
  animation: as-desk 8s ease-in-out infinite;
}
.scn-asche-forces-affidavit .paper {
  position: absolute; bottom: 35%; left: 35%; width: 80px; height: 100px;
  background: linear-gradient(135deg, #fcf4e0 0%, #e8dcc0 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  border-radius: 2px;
  transform: rotate(-3deg);
  animation: as-paper 10s ease-in-out infinite;
}
.scn-asche-forces-affidavit .policeman {
  position: absolute; bottom: 18%; left: 45%; width: 32px; height: 90px;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 60%, #1a2a3a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: as-policeman 6s ease-in-out infinite;
}
.scn-asche-forces-affidavit .shadow-policeman {
  position: absolute; bottom: 14%; left: 45%; width: 40px; height: 12px;
  background: rgba(0,0,0,0.25);
  border-radius: 50%;
  filter: blur(4px);
  animation: as-shadow 6s ease-in-out infinite;
}
.scn-asche-forces-affidavit .window {
  position: absolute; top: 8%; left: 10%; width: 90px; height: 120px;
  background: linear-gradient(180deg, #b0d8e8 0%, #8cb8d0 100%);
  border: 6px solid #8a7e64;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: as-window 15s ease-in-out infinite;
}
.scn-asche-forces-affidavit .light-beam {
  position: absolute; top: 8%; left: 10%; width: 200px; height: 300px;
  background: linear-gradient(135deg, rgba(255,255,220,0.15) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
  animation: as-beam 7s ease-in-out infinite alternate;
}
.scn-asche-forces-affidavit .dust {
  position: absolute; top: 20%; left: 20%; width: 4px; height: 4px;
  background: rgba(255,255,240,0.5);
  border-radius: 50%;
  box-shadow: 10px 30px 0 rgba(255,255,240,0.3), 40px 80px 0 rgba(255,255,240,0.2), 70px 120px 0 rgba(255,255,240,0.4);
  animation: as-dust 20s linear infinite;
}

@keyframes as-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes as-desk {
  0%, 100% { transform: perspective(400px) rotateX(10deg) translateY(0); }
  50% { transform: perspective(400px) rotateX(10deg) translateY(-2px); }
}
@keyframes as-paper {
  0%, 100% { transform: rotate(-3deg) translateX(0); }
  50% { transform: rotate(-1deg) translateX(4px); }
}
@keyframes as-policeman {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(8px) rotate(1deg); }
  50% { transform: translateX(16px) rotate(0deg); }
  75% { transform: translateX(8px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes as-shadow {
  0% { transform: scaleX(1) translateX(0); opacity: 0.5; }
  50% { transform: scaleX(1.1) translateX(6px); opacity: 0.3; }
  100% { transform: scaleX(1) translateX(0); opacity: 0.5; }
}
@keyframes as-window {
  0% { background: linear-gradient(180deg, #b0d8e8, #8cb8d0); }
  50% { background: linear-gradient(180deg, #d0e8f0, #a0c8d8); }
  100% { background: linear-gradient(180deg, #b0d8e8, #8cb8d0); }
}
@keyframes as-beam {
  0% { transform: skewX(-2deg); opacity: 0.6; }
  100% { transform: skewX(2deg); opacity: 1; }
}
@keyframes as-dust {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  100% { transform: translateY(-200px) scale(0.5); opacity: 0.8; }
}

.scn-grand-jury-dismissive {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #c8bca8 50%, #a89c88 100%),
    radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 60%);
}
.scn-grand-jury-dismissive .wall-back {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4caba 0%, #b8ac9c 100%);
  box-shadow: inset 0 4px 20px rgba(0,0,0,0.08);
  animation: gj-wall 20s ease-in-out infinite alternate;
}
.scn-grand-jury-dismissive .wall-side {
  position: absolute; top: 0; right: 0; bottom: 30%; width: 25%;
  background: linear-gradient(180deg, #b8ac9c 0%, #a0907c 100%);
  transform: skewX(-5deg);
  box-shadow: -4px 0 10px rgba(0,0,0,0.1);
}
.scn-grand-jury-dismissive .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8a7e6e 0%, #6a5e4e 100%);
}
.scn-grand-jury-dismissive .podium {
  position: absolute; bottom: 15%; left: 50%; width: 120px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a56 0%, #5a4a36 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.25);
  animation: gj-podium 14s ease-in-out infinite;
}
.scn-grand-jury-dismissive .foreman {
  position: absolute; bottom: 40%; left: 50%; width: 40px; height: 100px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: gj-foreman 6s ease-in-out infinite;
}
.scn-grand-jury-dismissive .braid {
  position: absolute; bottom: 52%; left: 50%; width: 20px; height: 8px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #c8a060 0%, #a08040 50%, #c8a060 100%);
  border-radius: 4px;
  box-shadow: 0 0 4px rgba(200,160,96,0.5);
  animation: gj-braid 4s ease-in-out infinite alternate;
}
.scn-grand-jury-dismissive .juror-icons {
  position: absolute; bottom: 20%; left: 10%; width: 60px; height: 40px;
  background: repeating-linear-gradient(0deg, #5a4a36 0px, #5a4a36 3px, transparent 3px, transparent 8px);
  border-radius: 4px;
  opacity: 0.6;
}
.scn-grand-jury-dismissive .chandelier {
  position: absolute; top: 0; left: 50%; width: 60px; height: 40px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, #d4caba 0%, transparent 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,180,150,0.4);
  animation: gj-chandelier 9s ease-in-out infinite alternate;
}

@keyframes gj-wall {
  0% { background: linear-gradient(180deg, #d4caba, #b8ac9c); }
  50% { background: linear-gradient(180deg, #c8bcac, #a89c8c); }
  100% { background: linear-gradient(180deg, #d4caba, #b8ac9c); }
}
@keyframes gj-podium {
  0% { transform: translateX(-50%) scaleX(1); }
  50% { transform: translateX(-50%) scaleX(1.02) translateY(-1px); }
  100% { transform: translateX(-50%) scaleX(1); }
}
@keyframes gj-foreman {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-48%) rotate(1deg); }
  50% { transform: translateX(-50%) rotate(-1deg); }
  75% { transform: translateX(-52%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
@keyframes gj-braid {
  0% { transform: translateX(-50%) scaleY(1); }
  100% { transform: translateX(-50%) scaleY(1.2); }
}
@keyframes gj-chandelier {
  0% { opacity: 0.8; transform: translateX(-50%) rotate(-2deg); }
  50% { opacity: 1; transform: translateX(-50%) rotate(0deg); }
  100% { opacity: 0.7; transform: translateX(-50%) rotate(2deg); }
}

.scn-foreman-speaks {
  background:
    linear-gradient(180deg, #f0e6d0 0%, #d0c4ac 50%, #b0a48c 100%),
    radial-gradient(ellipse at 30% 70%, #faf0e0 0%, transparent 70%);
}
.scn-foreman-speaks .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d8ceb8 0%, #c0b4a0 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.05);
}
.scn-foreman-speaks .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #a89c88 0%, #887c68 100%);
}
.scn-foreman-speaks .window-broken {
  position: absolute; top: 5%; right: 10%; width: 100px; height: 130px;
  background: linear-gradient(180deg, #a0c8d8 0%, #78a0b0 100%);
  border: 6px solid #7a6e5a;
  border-radius: 4px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  animation: fm-window 8s ease-in-out infinite;
}
.scn-foreman-speaks .brick {
  position: absolute; top: 15%; right: 15%; width: 30px; height: 15px;
  background: linear-gradient(135deg, #c8553d 0%, #a0461a 100%);
  border-radius: 2px;
  transform: rotate(35deg);
  box-shadow: 4px 4px 8px rgba(0,0,0,0.3);
  animation: fm-brick 3s ease-in-out infinite;
}
.scn-foreman-speaks .forehand {
  position: absolute; bottom: 28%; left: 45%; width: 60px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  transform-origin: bottom left;
  animation: fm-hand 4s ease-in-out infinite;
}
.scn-foreman-speaks .shards {
  position: absolute; top: 5%; left: 20%; width: 80px; height: 30px;
  background: linear-gradient(135deg, #d0e8f0 0%, transparent 100%);
  clip-path: polygon(0 10%, 30% 0, 60% 20%, 100% 5%, 70% 100%, 20% 80%);
  opacity: 0.4;
  animation: fm-shards 6s ease-in-out infinite alternate;
}
.scn-foreman-speaks .light-spot {
  position: absolute; top: 5%; left: 50%; width: 120px; height: 200px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.2) 0%, transparent 70%);
  transform: skewX(-10deg);
  animation: fm-spot 9s ease-in-out infinite alternate;
}

@keyframes fm-window {
  0% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  50% { clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 80%); }
  100% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}
@keyframes fm-brick {
  0% { transform: rotate(35deg) translateY(0); }
  25% { transform: rotate(40deg) translateY(-30px); }
  50% { transform: rotate(35deg) translateY(0); }
  75% { transform: rotate(30deg) translateY(-20px); }
  100% { transform: rotate(35deg) translateY(0); }
}
@keyframes fm-hand {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(20deg) scale(1.1); }
  100% { transform: rotate(-10deg) scale(1); }
}
@keyframes fm-shards {
  0% { opacity: 0.2; transform: translateX(0); }
  100% { opacity: 0.6; transform: translateX(10px); }
}
@keyframes fm-spot {
  0% { transform: skewX(-10deg) scaleY(1); }
  100% { transform: skewX(10deg) scaleY(1.2); }
}

.scn-indictment-voted {
  background:
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 0%, #3a3a4a 0%, transparent 70%);
}
.scn-indictment-voted .wall-dark {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
}
.scn-indictment-voted .bench {
  position: absolute; bottom: 20%; left: 10%; width: 200px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: perspective(300px) rotateX(5deg);
}
.scn-indictment-voted .gavel {
  position: absolute; bottom: 30%; left: 50%; width: 30px; height: 50px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: iv-gavel 3s ease-in-out infinite;
}
.scn-indictment-voted .paper-indict {
  position: absolute; bottom: 30%; left: 30%; width: 70px; height: 90px;
  background: linear-gradient(135deg, #e8dcc4 0%, #c8bca4 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: iv-paper 10s ease-in-out infinite;
}
.scn-indictment-voted .judge-shadow {
  position: absolute; bottom: 20%; left: 40%; width: 60px; height: 140px;
  background: linear-gradient(180deg, #0a0a1a 0%, transparent 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  opacity: 0.7;
  animation: iv-judge 8s ease-in-out infinite;
}
.scn-indictment-voted .bailiff {
  position: absolute; bottom: 18%; left: 15%; width: 28px; height: 80px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: iv-bailiff 12s ease-in-out infinite;
}
.scn-indictment-voted .light-cone {
  position: absolute; top: 0; left: 50%; width: 200px; height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(200,180,150,0.08) 0%, transparent 80%);
  clip-path: polygon(30% 0, 70% 0, 80% 100%, 20% 100%);
  animation: iv-cone 15s ease-in-out infinite alternate;
}

@keyframes iv-gavel {
  0%, 100% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  25% { transform: translateX(-50%) rotate(5deg) translateY(-2px); }
  50% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  75% { transform: translateX(-50%) rotate(-5deg) translateY(-1px); }
}
@keyframes iv-paper {
  0%, 100% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-2deg) translateX(4px); }
}
@keyframes iv-judge {
  0% { transform: translateX(0) scaleY(1); opacity: 0.7; }
  50% { transform: translateX(5px) scaleY(0.95); opacity: 0.9; }
  100% { transform: translateX(0) scaleY(1); opacity: 0.7; }
}
@keyframes iv-bailiff {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-4px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes iv-cone {
  0% { transform: translateX(-50%) skewX(-5deg); opacity: 0.3; }
  100% { transform: translateX(-50%) skewX(5deg); opacity: 0.7; }
}

/* ========== crowd-obedient (funny) ========== */
.scn-crowd-obedient {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #e8d5b0 40%, #d4b588 80%, #c6a57a 100%),
    radial-gradient(ellipse at 50% 30%, #fbd27a 0%, transparent 60%);
}
.scn-crowd-obedient .co-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, rgba(255,235,180,0.6) 0%, rgba(200,170,120,0.3) 100%);
  animation: co-glow 4s ease-in-out infinite alternate;
}
.scn-crowd-obedient .co-lamp {
  position: absolute; top: 12%; left: 50%; width: 20px; height: 30px; transform: translateX(-50%);
  background: radial-gradient(circle, #ffe080 0%, #d4a540 70%);
  border-radius: 50% 50% 30% 30%; box-shadow: 0 0 40px 15px #f0c060, 0 0 80px 30px rgba(240,192,96,0.5);
  animation: co-swing 3s ease-in-out infinite alternate;
}
.scn-crowd-obedient .co-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #a08060 0%, #c8a87a 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
}
.scn-crowd-obedient .co-crowd {
  position: absolute; bottom: 30%; left: 5%; right: 5%; height: 40%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  clip-path: polygon(0% 0%, 10% 10%, 20% 0%, 30% 15%, 40% 0%, 50% 10%, 60% 0%, 70% 12%, 80% 0%, 90% 8%, 100% 0%, 100% 100%, 0% 100%);
  animation: co-sway 6s ease-in-out infinite;
}
.scn-crowd-obedient .co-figure {
  position: absolute; bottom: 30%; left: 48%; width: 30px; height: 60px; transform: translateX(-50%);
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: co-bounce 0.8s ease-in-out infinite;
}
.scn-crowd-obedient .co-hat {
  position: absolute; bottom: 80%; left: 50%; width: 24px; height: 12px; transform: translateX(-50%);
  background: #c8553d; border-radius: 50% 50% 0 0;
  animation: co-hat-wag 1s ease-in-out infinite;
}
.scn-crowd-obedient .co-shadow {
  position: absolute; bottom: 30%; left: 40%; width: 60px; height: 8px;
  background: rgba(0,0,0,0.4); border-radius: 50%;
  filter: blur(4px); animation: co-shift 4s ease-in-out infinite;
}
@keyframes co-glow {
  0% { opacity: 0.7; }
  100% { opacity: 0.9; }
}
@keyframes co-swing {
  0% { transform: translateX(-50%) rotate(-5deg); }
  100% { transform: translateX(-50%) rotate(5deg); }
}
@keyframes co-sway {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(3px); }
  75% { transform: translateX(-3px); }
}
@keyframes co-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(0); }
  50% { transform: translateX(-50%) translateY(-3px) rotate(2deg); }
}
@keyframes co-hat-wag {
  0%, 100% { transform: translateX(-50%) rotate(0); }
  50% { transform: translateX(-50%) rotate(-8deg); }
}
@keyframes co-shift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(5px); }
}

/* ========== babu-denies-complaint (tense) ========== */
.scn-babu-denies-complaint {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 40%, #5a4a3a 80%, #6a5a4a 100%),
    radial-gradient(ellipse at 50% 50%, #7a6a5a 0%, transparent 60%);
}
.scn-babu-denies-complaint .bd-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(80,60,40,0.5) 0%, rgba(40,30,20,0.7) 100%);
  animation: bd-flicker 0.5s steps(2) infinite;
}
.scn-babu-denies-complaint .bd-window {
  position: absolute; top: 10%; left: 15%; width: 30%; height: 40%;
  background: #1a1a2a; border: 4px solid #5a3a2a;
  border-radius: 4px;
  animation: bd-window-shake 3s ease-in-out infinite;
}
.scn-babu-denies-complaint .bd-camel {
  position: absolute; top: 12%; left: 28%; width: 20%; height: 35%;
  background: #2a1a0a; border-radius: 30% 30% 0 0;
  clip-path: polygon(0% 100%, 10% 50%, 30% 10%, 50% 0%, 70% 10%, 90% 50%, 100% 100%);
  animation: bd-camel-bob 2s ease-in-out infinite;
}
.scn-babu-denies-complaint .bd-fig1 {
  position: absolute; bottom: 25%; left: 20%; width: 25px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: bd-point 1s ease-in-out infinite;
}
.scn-babu-denies-complaint .bd-fig2 {
  position: absolute; bottom: 25%; left: 55%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: bd-gesture 1.2s ease-in-out infinite;
}
.scn-babu-denies-complaint .bd-lamp {
  position: absolute; top: 5%; left: 50%; width: 18px; height: 28px; transform: translateX(-50%);
  background: radial-gradient(circle, #ffd080 0%, #c08040 70%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 30px 10px #c08040, 0 0 60px 20px rgba(192,128,64,0.4);
  animation: bd-lamp-flicker 0.8s steps(3) infinite;
}
.scn-babu-denies-complaint .bd-desk {
  position: absolute; bottom: 20%; left: 30%; width: 50%; height: 8%;
  background: linear-gradient(0deg, #4a3020 0%, #6a5030 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
@keyframes bd-flicker {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes bd-window-shake {
  0%, 100% { transform: translate(0, 0); }
  20% { transform: translate(-2px, 1px); }
  40% { transform: translate(2px, -1px); }
  60% { transform: translate(-1px, 2px); }
  80% { transform: translate(1px, -2px); }
}
@keyframes bd-camel-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes bd-point {
  0%, 100% { transform: rotate(0) translateY(0); }
  50% { transform: rotate(-15deg) translateY(-2px); }
}
@keyframes bd-gesture {
  0%, 100% { transform: rotate(5deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-3px); }
}
@keyframes bd-lamp-flicker {
  0% { opacity: 0.8; box-shadow: 0 0 30px 10px #c08040; }
  33% { opacity: 1; box-shadow: 0 0 45px 15px #ffc060; }
  66% { opacity: 0.9; box-shadow: 0 0 35px 12px #c08040; }
  100% { opacity: 0.7; box-shadow: 0 0 25px 8px #a06030; }
}

/* ========== babu-begs-hassoun (tense) ========== */
.scn-babu-begs-hassoun {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #5a4a3a 50%, #6a5a4a 100%),
    radial-gradient(ellipse at 30% 70%, #7a6a5a 0%, transparent 60%);
}
.scn-babu-begs-hassoun .bb-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(80,60,40,0.4) 0%, rgba(30,20,10,0.6) 100%);
}
.scn-babu-begs-hassoun .bb-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(0deg, #3a2a1a 0%, #5a4a3a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-babu-begs-hassoun .bb-kneel {
  position: absolute; bottom: 22%; left: 30%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: bb-beg 1.5s ease-in-out infinite;
}
.scn-babu-begs-hassoun .bb-stand {
  position: absolute; bottom: 25%; left: 55%; width: 32px; height: 65px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: bb-stand-still 3s ease-in-out infinite;
}
.scn-babu-begs-hassoun .bb-lamp {
  position: absolute; top: 8%; left: 20%; width: 16px; height: 24px;
  background: radial-gradient(circle, #ffc060 0%, #b08030 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 35px 12px #c08040;
  animation: bb-lamp-flicker 1s steps(2) infinite;
}
.scn-babu-begs-hassoun .bb-boy {
  position: absolute; bottom: 30%; left: 70%; width: 20px; height: 35px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%); /* terracotta instead of red */
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: bb-point 1.8s ease-in-out infinite;
}
.scn-babu-begs-hassoun .bb-shadow {
  position: absolute; bottom: 22%; left: 25%; width: 80px; height: 10px;
  background: rgba(0,0,0,0.5); border-radius: 50%;
  filter: blur(6px);
  animation: bb-shadow-move 3s ease-in-out infinite;
}
@keyframes bb-beg {
  0%, 100% { transform: rotate(0) translateY(0); }
  25% { transform: rotate(10deg) translateY(-3px); }
  50% { transform: rotate(-5deg) translateY(-1px); }
  75% { transform: rotate(15deg) translateY(-4px); }
}
@keyframes bb-stand-still {
  0%, 100% { transform: rotate(0); }
  50% { transform: rotate(3deg); }
}
@keyframes bb-lamp-flicker {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes bb-point {
  0%, 100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(5px) rotate(-15deg); }
}
@keyframes bb-shadow-move {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); }
}

/* ========== religious-insults (tense) ========== */
.scn-religious-insults {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #4a3a2a 50%, #5a4a3a 100%),
    radial-gradient(ellipse at 50% 80%, #6a5a4a 0%, transparent 70%);
}
.scn-religious-insults .ri-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(60,40,20,0.4) 0%, rgba(20,10,0,0.8) 100%);
  animation: ri-pulse 4s ease-in-out infinite alternate;
}
.scn-religious-insults .ri-cross {
  position: absolute; top: 10%; left: 50%; width: 8px; height: 60px; transform: translateX(-50%);
  background: #5e1a1d; /* burgundy (dark red) */
  border-radius: 4px;
  box-shadow: 0 0 10px 2px rgba(200,50,30,0.3);
  animation: ri-hover 3s ease-in-out infinite;
}
.scn-religious-insults .ri-cross::after {
  content: ''; position: absolute; top: 10px; left: -16px; width: 40px; height: 8px;
  background: #5e1a1d; border-radius: 4px;
}
.scn-religious-insults .ri-fig1 {
  position: absolute; bottom: 20%; left: 25%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ri-shake 0.6s ease-in-out infinite;
}
.scn-religious-insults .ri-fig1::before {
  content: ''; position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  width: 8px; height: 12px;
  background: #1a0a00; border-radius: 50%;
}
.scn-religious-insults .ri-fig2 {
  position: absolute; bottom: 22%; left: 55%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: ri-recoil 1s ease-in-out infinite;
}
.scn-religious-insults .ri-lamp {
  position: absolute; top: 5%; left: 50%; width: 20px; height: 28px; transform: translateX(-50%);
  background: radial-gradient(circle, #ffc060 0%, #b08030 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 40px 15px #c08040, 0 0 80px 30px rgba(192,128,64,0.3);
  animation: ri-flicker 0.25s steps(2) infinite;
}
.scn-religious-insults .ri-sparks {
  position: absolute; top: 20%; left: 30%; width: 6px; height: 6px;
  background: #ffd080; border-radius: 50%;
  box-shadow: 10px 5px 0 #ffc060, 20px -3px 0 #ffb040;
  animation: ri-sparkle 1s ease-in-out infinite;
}
@keyframes ri-pulse {
  0% { opacity: 0.6; }
  100% { opacity: 0.9; }
}
@keyframes ri-hover {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.05); }
}
@keyframes ri-shake {
  0% { transform: rotate(0); }
  20% { transform: rotate(-15deg); }
  40% { transform: rotate(10deg); }
  60% { transform: rotate(-10deg); }
  80% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}
@keyframes ri-recoil {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-5px); }
}
@keyframes ri-flicker {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ri-sparkle {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

/* Scene: denial-of-truth — street, broken window, cop and Tony silhouettes, sharp shadows */
.scn-denial-of-truth {
  background: linear-gradient(180deg, #f9e7c2 0%, #d4a05a 40%, #8b6c3e 70%, #4a3520 100%),
              radial-gradient(ellipse at 30% 40%, rgba(255,230,180,0.4) 0%, transparent 60%);
}
.scn-denial-of-truth .sky-dt {
  position: absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #ffeabb 0%, #e8c58a 100%);
  animation: dt-sky 8s ease-in-out infinite alternate;
}
.scn-denial-of-truth .street-dt {
  position: absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #9a7a4a 0%, #5e4320 100%);
  border-top: 2px solid #7a5a2a;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
  animation: dt-street 12s ease-in-out infinite alternate;
}
.scn-denial-of-truth .building-dt {
  position: absolute; bottom:45%; left:15%; width:35%; height:40%;
  background: linear-gradient(180deg, #c49a6a 0%, #7a5a30 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: -8px 0 12px rgba(0,0,0,0.3);
}
.scn-denial-of-truth .window-broken-dt {
  position: absolute; bottom:62%; left:22%; width:30px; height:40px;
  background: radial-gradient(circle at 30% 30%, #e8c88a 0%, #a08050 70%);
  border: 2px solid #5e3a1a;
  border-radius: 4px;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.6);
  animation: dt-window 3s ease-in-out infinite alternate;
}
.scn-denial-of-truth .cop-dt {
  position: absolute; bottom:0; left:30%; width:50px; height:100px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%);
  border-radius: 50% 30% 40% 20% / 70% 40% 40% 30%;
  transform-origin: bottom;
  animation: dt-cop 2s ease-in-out infinite;
}
.scn-denial-of-truth .tony-dt {
  position: absolute; bottom:2%; left:48%; width:40px; height:80px;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 40% 50% 30% 40% / 60% 50% 40% 50%;
  transform-origin: bottom;
  animation: dt-tony 2.5s ease-in-out infinite;
}
.scn-denial-of-truth .shadow-cop-dt {
  position: absolute; bottom:0; left:28%; width:60px; height:12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: dt-shadow 2s ease-in-out infinite alternate;
}
.scn-denial-of-truth .shadow-tony-dt {
  position: absolute; bottom:0; left:46%; width:50px; height:10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: dt-shadow-tony 2.5s ease-in-out infinite alternate;
}
@keyframes dt-sky { 0% { opacity:0.9; transform: translateY(0); } 50% { opacity:1; transform: translateY(-2px); } 100% { opacity:0.85; transform: translateY(0); } }
@keyframes dt-street { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(0.98); } }
@keyframes dt-window { 0% { box-shadow: inset 0 0 8px rgba(0,0,0,0.6), 0 0 0 rgba(255,200,100,0); } 50% { box-shadow: inset 0 0 12px rgba(0,0,0,0.8), 0 0 16px 4px rgba(255,200,100,0.3); } 100% { box-shadow: inset 0 0 4px rgba(0,0,0,0.5), 0 0 0 rgba(255,200,100,0); } }
@keyframes dt-cop { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(-3px) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dt-tony { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 20% { transform: translateX(2px) translateY(-1px) rotate(3deg); } 40% { transform: translateX(4px) translateY(-3px) rotate(5deg); } 60% { transform: translateX(6px) translateY(-2px) rotate(2deg); } 80% { transform: translateX(8px) translateY(0) rotate(-1deg); } 100% { transform: translateX(10px) translateY(0) rotate(0deg); } }
@keyframes dt-shadow { 0% { transform: scaleX(0.9); opacity:0.5; } 50% { transform: scaleX(1.1); opacity:0.7; } 100% { transform: scaleX(0.95); opacity:0.4; } }
@keyframes dt-shadow-tony { 0% { transform: scaleX(0.8) translateX(0); opacity:0.4; } 50% { transform: scaleX(1.2) translateX(5px); opacity:0.6; } 100% { transform: scaleX(0.85) translateX(10px); opacity:0.3; } }

/* Scene: tony-pleads-mother — jail cell, bars, mother silhouette outside window, Tony and Delany inside */
.scn-tony-pleads-mother {
  background: linear-gradient(180deg, #e6cfa0 0%, #a47a48 50%, #5e3e20 100%),
              radial-gradient(ellipse at 50% 100%, rgba(200,160,80,0.3) 0%, transparent 70%);
}
.scn-tony-pleads-mother .jail-wall-tpm {
  position: absolute; inset:0;
  background: linear-gradient(90deg, #7a5a3a 0%, #b09060 30%, #7a5a3a 70%, #5e3e20 100%);
  border: 3px solid #4a2e14;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-tony-pleads-mother .bars-tpm {
  position: absolute; inset:0;
  background: repeating-linear-gradient(0deg, transparent, transparent 18px, #3a2a1a 18px, #3a2a1a 20px);
  background-size: 100% 20px;
  animation: tpm-bars 4s ease-in-out infinite;
}
.scn-tony-pleads-mother .jail-window-tpm {
  position: absolute; bottom:60%; left:10%; width:40px; height:50px;
  background: radial-gradient(circle at 50% 30%, #f0e0c0 0%, #a08050 100%);
  border: 3px solid #2a1a08;
  border-radius: 4px;
  box-shadow: 0 0 20px 6px rgba(200,160,80,0.3);
  animation: tpm-window 5s ease-in-out infinite alternate;
}
.scn-tony-pleads-mother .mother-tpm {
  position: absolute; bottom:68%; left:7%; width:30px; height:70px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0e0804 100%);
  border-radius: 60% 60% 50% 50% / 70% 70% 40% 40%;
  transform-origin: bottom;
  animation: tpm-mother 6s ease-in-out infinite;
}
.scn-tony-pleads-mother .tony-tpm {
  position: absolute; bottom:4%; right:25%; width:40px; height:70px;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 40% 50% 30% 40% / 60% 50% 40% 50%;
  transform-origin: bottom;
  animation: tpm-tony 2s ease-in-out infinite;
}
.scn-tony-pleads-mother .delany-tpm {
  position: absolute; bottom:4%; right:10%; width:50px; height:80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%);
  border-radius: 50% 30% 40% 20% / 70% 40% 40% 30%;
  transform-origin: bottom;
  animation: tpm-delany 2.5s ease-in-out infinite;
}
.scn-tony-pleads-mother .light-shaft-tpm {
  position: absolute; top:0; left:10%; width:40px; height:100%;
  background: linear-gradient(180deg, rgba(255,230,180,0.15) 0%, transparent 60%);
  animation: tpm-light 8s ease-in-out infinite alternate;
}
@keyframes tpm-bars { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes tpm-window { 0% { box-shadow: 0 0 10px 2px rgba(200,160,80,0.2); } 50% { box-shadow: 0 0 30px 10px rgba(255,210,120,0.5); } 100% { box-shadow: 0 0 15px 4px rgba(200,160,80,0.3); } }
@keyframes tpm-mother { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-2px) rotate(3deg); } 60% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes tpm-tony { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 20% { transform: translateX(-2px) translateY(-1px) rotate(-3deg); } 40% { transform: translateX(-4px) translateY(-3px) rotate(-5deg); } 60% { transform: translateX(-2px) translateY(-2px) rotate(-2deg); } 80% { transform: translateX(0) translateY(-1px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes tpm-delany { 0% { transform: translateY(0) rotate(1deg); } 25% { transform: translateY(-2px) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(0deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tpm-light { 0% { opacity:0.2; transform: translateX(0); } 50% { opacity:0.5; transform: translateX(2px); } 100% { opacity:0.1; transform: translateX(-1px); } }

/* Scene: mother-worry-and-flight — house, mother at door, Tony running, Delany chasing, dust */
.scn-mother-worry-and-flight {
  background: linear-gradient(180deg, #f0daa0 0%, #c8a060 40%, #8a6a38 70%, #4a3218 100%),
              radial-gradient(ellipse at 60% 80%, rgba(220,180,100,0.3) 0%, transparent 60%);
}
.scn-mother-worry-and-flight .ground-mwf {
  position: absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #7a5a30 0%, #4a3218 100%);
  border-top: 2px solid #5e3e20;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-mother-worry-and-flight .house-mwf {
  position: absolute; bottom:40%; left:10%; width:35%; height:50%;
  background: linear-gradient(180deg, #c89860 0%, #8a6a38 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: -4px 0 10px rgba(0,0,0,0.3);
}
.scn-mother-worry-and-flight .door-mwf {
  position: absolute; bottom:40%; left:22%; width:16%; height:30%;
  background: linear-gradient(180deg, #5e3e20 0%, #3a2a10 100%);
  border: 2px solid #2a1a08;
  border-radius: 4px;
  animation: mwf-door 4s ease-in-out infinite alternate;
}
.scn-mother-worry-and-flight .mother-window-mwf {
  position: absolute; bottom:60%; left:15%; width:18px; height:22px;
  background: radial-gradient(circle, #f0c068 0%, #b08040 70%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 16px 4px #c08040;
  animation: mwf-glow 3s ease-in-out infinite alternate;
}
.scn-mother-worry-and-flight .tony-run-mwf {
  position: absolute; bottom:4%; left:50%; width:40px; height:70px;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 40% 50% 30% 40% / 60% 50% 40% 50%;
  transform-origin: bottom;
  animation: mwf-tony-run 1.5s ease-in-out infinite;
}
.scn-mother-worry-and-flight .delany-chase-mwf {
  position: absolute; bottom:4%; left:65%; width:50px; height:80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%);
  border-radius: 50% 30% 40% 20% / 70% 40% 40% 30%;
  transform-origin: bottom;
  animation: mwf-delany 1.8s ease-in-out infinite;
}
.scn-mother-worry-and-flight .dust-mwf {
  position: absolute; bottom:2%; left:45%; width:30px; height:20px;
  background: rgba(180,140,80,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: mwf-dust 2s ease-in-out infinite;
}
@keyframes mwf-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(0.95); } }
@keyframes mwf-glow { 0% { box-shadow: 0 0 10px 2px #c08040; opacity:0.8; } 50% { box-shadow: 0 0 24px 8px #ffd060; opacity:1; } 100% { box-shadow: 0 0 14px 3px #c08040; opacity:0.85; } }
@keyframes mwf-tony-run { 0% { transform: translateX(0) translateY(0) rotate(-15deg); } 25% { transform: translateX(4px) translateY(-2px) rotate(-10deg); } 50% { transform: translateX(8px) translateY(-1px) rotate(-15deg); } 75% { transform: translateX(12px) translateY(-2px) rotate(-10deg); } 100% { transform: translateX(16px) translateY(0) rotate(-15deg); } }
@keyframes mwf-delany { 0% { transform: translateX(0) translateY(0) rotate(10deg); } 20% { transform: translateX(2px) translateY(-1px) rotate(8deg); } 40% { transform: translateX(4px) translateY(-2px) rotate(10deg); } 60% { transform: translateX(6px) translateY(-1px) rotate(8deg); } 80% { transform: translateX(8px) translateY(0) rotate(10deg); } 100% { transform: translateX(10px) translateY(0) rotate(10deg); } }
@keyframes mwf-dust { 0% { transform: scale(0.8) translateX(0); opacity:0.6; } 50% { transform: scale(1.3) translateX(10px); opacity:0.1; } 100% { transform: scale(0.9) translateX(20px); opacity:0; } }

/* Scene: recapture-by-delany — close-up struggle, choking, darkening edges, two silhouettes */
.scn-recapture-by-delany {
  background: linear-gradient(180deg, #f0dba0 0%, #c09850 30%, #8a6430 60%, #4a2e14 100%),
              radial-gradient(ellipse at 50% 100%, rgba(180,130,60,0.4) 0%, transparent 70%);
}
.scn-recapture-by-delany .bg-rbd {
  position: absolute; inset:0;
  background: radial-gradient(ellipse at 50% 50%, transparent 50%, rgba(0,0,0,0.5) 100%);
  animation: rbd-darken 3s ease-in-out infinite alternate;
}
.scn-recapture-by-delany .ground-rbd {
  position: absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(180deg, #6a4a22 0%, #3a2a12 100%);
  border-top: 2px solid #5e3e20;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-recapture-by-delany .delany-arm-rbd {
  position: absolute; bottom:40%; left:45%; width:60px; height:80px;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%);
  border-radius: 30% 50% 40% 40% / 60% 70% 30% 40%;
  transform-origin: bottom left;
  animation: rbd-arm 2s ease-in-out infinite;
}
.scn-recapture-by-delany .tony-head-rbd {
  position: absolute; bottom:50%; left:35%; width:40px; height:50px;
  background: linear-gradient(180deg, #3a2a18 0%, #1a1008 100%);
  border-radius: 50% 40% 50% 40% / 70% 40% 60% 30%;
  transform-origin: bottom;
  animation: rbd-head 2.5s ease-in-out infinite;
}
.scn-recapture-by-delany .shadow-choke-rbd {
  position: absolute; bottom:40%; left:30%; width:80px; height:60px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, transparent 70%);
  animation: rbd-shadow 2s ease-in-out infinite alternate;
}
.scn-recapture-by-delany .blur-rbd {
  position: absolute; inset:0;
  backdrop-filter: blur(2px);
  animation: rbd-blur 4s ease-in-out infinite alternate;
}
@keyframes rbd-darken { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.2; } }
@keyframes rbd-arm { 0% { transform: rotate(0deg) translate(0,0); } 25% { transform: rotate(-10deg) translate(-2px, -1px); } 50% { transform: rotate(5deg) translate(0, -2px); } 75% { transform: rotate(-5deg) translate(2px, -1px); } 100% { transform: rotate(0deg) translate(0,0); } }
@keyframes rbd-head { 0% { transform: rotate(0deg) translateY(0); } 20% { transform: rotate(8deg) translateY(-2px); } 40% { transform: rotate(5deg) translateY(-4px); } 60% { transform: rotate(-5deg) translateY(-2px); } 80% { transform: rotate(-8deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes rbd-shadow { 0% { transform: scale(0.8); opacity:0.4; } 50% { transform: scale(1.2); opacity:0.7; } 100% { transform: scale(0.9); opacity:0.3; } }
@keyframes rbd-blur { 0% { backdrop-filter: blur(1px); } 50% { backdrop-filter: blur(4px); } 100% { backdrop-filter: blur(2px); } }

/* ============================== SCENE: court-resumes-babson-asks ============================== */
.scn-court-resumes-babson-asks {
  background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 40%, #b8a88a 100%), 
              radial-gradient(ellipse at 70% 30%, #f2e8d8 0%, transparent 60%);
}
.scn-court-resumes-babson-asks .wall-panel {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(90deg, #c8b898 0%, #dcc8a8 20%, #c8b898 40%, #dcc8a8 60%, #c8b898 80%, #dcc8a8 100%);
  box-shadow: inset 0 -4px 12px rgba(0,0,0,0.15);
}
.scn-court-resumes-babson-asks .judge-bench {
  position: absolute; bottom: 20%; left: 25%; width: 40%; height: 28%;
  background: linear-gradient(180deg, #8a6e4e 0%, #6a503a 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}
.scn-court-resumes-babson-asks .judge-silhouette {
  position: absolute; bottom: 22%; left: 37%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: cr-judge-sway 5s ease-in-out infinite alternate;
}
.scn-court-resumes-babson-asks .gavel {
  position: absolute; bottom: 18%; left: 44%; width: 6%; height: 4%;
  background: #5e3a1a;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: cr-gavel-tap 3s ease-in-out infinite;
}
.scn-court-resumes-babson-asks .law-book {
  position: absolute; bottom: 24%; left: 30%; width: 10%; height: 14%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  transform: rotate(-5deg);
  animation: cr-book-shift 8s ease-in-out infinite alternate;
}
.scn-court-resumes-babson-asks .clock {
  position: absolute; top: 8%; right: 12%; width: 8%; height: 8%;
  background: radial-gradient(circle, #f0e0c0 30%, #b8a070 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
  animation: cr-clock-swing 12s ease-in-out infinite;
}
.scn-court-resumes-babson-asks .window-ray {
  position: absolute; top: 10%; left: 5%; width: 20%; height: 40%;
  background: linear-gradient(135deg, rgba(255,250,240,0.3) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
  animation: cr-ray-fade 6s ease-in-out infinite alternate;
}
@keyframes cr-judge-sway {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(-2px); }
  100% { transform: rotate(-1deg) translateY(1px); }
}
@keyframes cr-gavel-tap {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  15% { transform: translateY(-4px) rotate(-10deg); }
  30% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(5deg); }
  70% { transform: translateY(0) rotate(0deg); }
}
@keyframes cr-book-shift {
  0% { transform: rotate(-5deg) scaleX(1); }
  50% { transform: rotate(0deg) scaleX(1.02); }
  100% { transform: rotate(-5deg) scaleX(1); }
}
@keyframes cr-clock-swing {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(-3deg); }
}
@keyframes cr-ray-fade {
  0% { opacity: 0.2; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

/* ============================== SCENE: beekman-refuses-again ============================== */
.scn-beekman-refuses-again {
  background: linear-gradient(180deg, #e0d4c0 0%, #ccc0a8 40%, #b0a088 100%), 
              radial-gradient(ellipse at 50% 80%, #f5ecdc 0%, transparent 70%);
}
.scn-beekman-refuses-again .stand-railing {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(90deg, #8a7050 0%, #a08868 50%, #8a7050 100%);
  border-radius: 4px;
}
.scn-beekman-refuses-again .witness-figure {
  position: absolute; bottom: 20%; left: 38%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: br-refuse-shake 4s ease-in-out infinite;
}
.scn-beekman-refuses-again .prosecutor-figure {
  position: absolute; bottom: 20%; right: 20%; width: 12%; height: 36%;
  background: linear-gradient(180deg, #2a2018 0%, #0a0805 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: br-prosecutor-point 6s ease-in-out infinite alternate;
}
.scn-beekman-refuses-again .bible {
  position: absolute; bottom: 22%; left: 50%; width: 4%; height: 6%;
  background: #5e3a1a;
  border-radius: 2px;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
  animation: br-bible-tremble 3s ease-in-out infinite;
}
.scn-beekman-refuses-again .chair {
  position: absolute; bottom: 12%; left: 44%; width: 12%; height: 8%;
  background: #6a503a;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: br-chair-creak 5s ease-in-out infinite;
}
.scn-beekman-refuses-again .court-seal {
  position: absolute; top: 5%; left: 50%; width: 12%; height: 12%;
  background: radial-gradient(circle, #c8b898 30%, #8a7050 70%);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 8px rgba(0,0,0,0.15);
  animation: br-seal-pulse 8s ease-in-out infinite;
}
@keyframes br-refuse-shake {
  0% { transform: translateX(0) rotate(0deg); }
  20% { transform: translateX(-3px) rotate(-2deg); }
  40% { transform: translateX(3px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  80% { transform: translateX(2px) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes br-prosecutor-point {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(5deg); }
  100% { transform: translateX(0) rotate(-3deg); }
}
@keyframes br-bible-tremble {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-1px) rotate(2deg); }
  50% { transform: translateY(1px) rotate(-2deg); }
  75% { transform: translateY(-1px) rotate(1deg); }
}
@keyframes br-chair-creak {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(3deg); }
}
@keyframes br-seal-pulse {
  0%,100% { opacity: 0.8; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
}

/* ============================== SCENE: tutt-intervenes-for-beekman ============================== */
.scn-tutt-intervenes-for-beekman {
  background: linear-gradient(180deg, #d4c8b4 0%, #c0b4a0 40%, #a89880 100%), 
              radial-gradient(ellipse at 60% 20%, #e8dcc8 0%, transparent 60%);
}
.scn-tutt-intervenes-for-beekman .court-bg {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #b8a888 0%, #a09078 100%);
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.1);
}
.scn-tutt-intervenes-for-beekman .tutt-silhouette {
  position: absolute; bottom: 18%; left: 30%; width: 14%; height: 42%;
  background: linear-gradient(180deg, #2a1a12 0%, #0a0604 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: ti-tutt-raise-arm 7s ease-in-out infinite alternate;
}
.scn-tutt-intervenes-for-beekman .ghost-signer {
  position: absolute; bottom: 22%; left: 48%; width: 12%; height: 40%;
  background: linear-gradient(180deg, rgba(200,190,170,0.4) 0%, rgba(150,140,120,0.1) 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  filter: blur(2px);
  animation: ti-ghost-float 10s ease-in-out infinite;
}
.scn-tutt-intervenes-for-beekman .desk {
  position: absolute; bottom: 12%; left: 20%; width: 60%; height: 8%;
  background: linear-gradient(180deg, #7a6240 0%, #5a4228 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-tutt-intervenes-for-beekman .spectator-blur {
  position: absolute; bottom: 15%; right: 8%; width: 10%; height: 30%;
  background: rgba(80,60,40,0.3);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%;
  filter: blur(6px);
  animation: ti-spectator-sway 5s ease-in-out infinite;
}
.scn-tutt-intervenes-for-beekman .podium {
  position: absolute; bottom: 10%; left: 25%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #8a6e4e 0%, #6a503a 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
}
@keyframes ti-tutt-raise-arm {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-4px); }
  100% { transform: rotate(2deg) translateY(2px); }
}
@keyframes ti-ghost-float {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  50% { transform: translateY(-6px) scale(1.02); opacity: 0.6; }
  100% { transform: translateY(2px) scale(0.98); opacity: 0.2; }
}
@keyframes ti-spectator-sway {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(2px) rotate(3deg); }
  75% { transform: translateX(-2px) rotate(-3deg); }
}

/* ============================== SCENE: jury-dubious-case-collapses ============================== */
.scn-jury-dubious-case-collapses {
  background: linear-gradient(180deg, #d0c4b0 0%, #b8ac9a 40%, #9a8e7c 100%), 
              radial-gradient(ellipse at 50% 60%, #ddd0b8 0%, transparent 70%);
}
.scn-jury-dubious-case-collapses .jury-box-bg {
  position: absolute; bottom: 10%; left: 5%; width: 90%; height: 40%;
  background: linear-gradient(90deg, #8a7a68 0%, #7a6a58 50%, #8a7a68 100%);
  border-radius: 8px;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.2);
}
.scn-jury-dubious-case-collapses .jury-row {
  position: absolute; bottom: 15%; left: 8%; width: 84%; height: 30%;
  display: flex; gap: 4%;
  background: transparent;
}
/* We'll represent jury as multiple small silhouettes via pseudo elements? No – use divs with multiple children? But we only have one child div .jury-row. To have 4+ figures we can use background with repeated patterns? Simpler: use two .juror divs? But we only have one .jury-row div. We'll make the row a container and use multiple background layers to simulate jurors. Or add additional children. Let's restructure scene to have multiple juror divs. We'll add .juror1, .juror2, .juror3 in the template? But SCENE must have 5-9 children. We currently have 6: .jury-box-bg, .jury-row, .judge-silhouette, .falling-papers, .gavel-fall, .bench-edge. That's 6. Need to replace .jury-row with multiple juror divs. Let's update template: */
.scn-jury-dubious-case-collapses .juror-1,
.scn-jury-dubious-case-collapses .juror-2,
.scn-jury-dubious-case-collapses .juror-3,
.scn-jury-dubious-case-collapses .juror-4 {
  position: absolute; bottom: 18%; 
  width: 8%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
}
.scn-jury-dubious-case-collapses .juror-1 { left: 10%; animation: jd-jury-look 5s ease-in-out infinite; }
.scn-jury-dubious-case-collapses .juror-2 { left: 22%; animation: jd-jury-look 5s ease-in-out infinite 0.5s; }
.scn-jury-dubious-case-collapses .juror-3 { left: 34%; animation: jd-jury-look 5s ease-in-out infinite 1s; }
.scn-jury-dubious-case-collapses .juror-4 { left: 46%; animation: jd-jury-look 5s ease-in-out infinite 1.5s; }
/* But we need to redefine the children in JS template. Let's update JS accordingly. */
.scn-jury-dubious-case-collapses .judge-silhouette {
  position: absolute; bottom: 20%; left: 60%; width: 12%; height: 34%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: jd-judge-facepalm 6s ease-in-out infinite alternate;
}
.scn-jury-dubious-case-collapses .falling-papers {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 60%;
  background: 
    radial-gradient(ellipse at 20% 30%, #f0e4c0 30%, transparent 30%),
    radial-gradient(ellipse at 40% 50%, #f0e4c0 20%, transparent 20%),
    radial-gradient(ellipse at 60% 20%, #f0e4c0 25%, transparent 25%),
    radial-gradient(ellipse at 80% 60%, #f0e4c0 15%, transparent 15%);
  animation: jd-papers-fall 4s linear infinite;
}
.scn-jury-dubious-case-collapses .gavel-fall {
  position: absolute; bottom: 8%; left: 55%; width: 6%; height: 4%;
  background: #5e3a1a;
  border-radius: 2px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  animation: jd-gavel-drop 3s ease-in-out infinite;
}
.scn-jury-dubious-case-collapses .bench-edge {
  position: absolute; bottom: 0; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #6a503a 0%, #4a3828 100%);
  border-radius: 2px;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.2);
}
@keyframes jd-jury-look {
  0%,100% { transform: rotate(0deg) translateX(0); }
  30% { transform: rotate(-5deg) translateX(-2px); }
  60% { transform: rotate(5deg) translateX(2px); }
}
@keyframes jd-judge-facepalm {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-5px); }
  100% { transform: rotate(2deg) translateY(2px); }
}
@keyframes jd-papers-fall {
  0% { transform: translateY(-10px) rotate(0deg); opacity: 0.7; }
  50% { transform: translateY(30px) rotate(10deg); opacity: 0.5; }
  100% { transform: translateY(80px) rotate(-10deg); opacity: 0; }
}
@keyframes jd-gavel-drop {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-12px) rotate(-15deg); }
  60% { transform: translateY(0) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
/* Note: We need to update the JS template for scene 4 to include .juror-1, .juror-2, .juror-3, .juror-4 instead of .jury-row. Let's adjust the template above. */

.scn-cross-examination-begins { background: linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 30%, #b8a888 60%, #8a7a6a 100%), radial-gradient(ellipse at 50% 20%, #f0e8d8 0%, transparent 70%); }
.scn-cross-examination-begins .ce-wall { position:absolute; inset:0 0 55% 0; background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 100%); border-bottom: 6px solid #8a7a6a; animation: ce-wall 15s ease-in-out infinite alternate; }
.scn-cross-examination-begins .ce-bench { position:absolute; top:18%; left:32%; width:36%; height:22%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 6% 6% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.4); animation: ce-bench 8s ease-in-out infinite alternate; }
.scn-cross-examination-begins .ce-judge { position:absolute; top:24%; left:44%; width:10%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ce-judge 6s ease-in-out infinite; }
.scn-cross-examination-begins .ce-lawyer { position:absolute; bottom:32%; left:18%; width:8%; height:28%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: ce-lawyer 4s ease-in-out infinite; }
.scn-cross-examination-begins .ce-witness { position:absolute; bottom:30%; right:22%; width:7%; height:32%; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 45% 45% 30% 30% / 65% 65% 30% 30%; transform-origin: bottom center; animation: ce-witness 5s ease-in-out infinite; }
.scn-cross-examination-begins .ce-stand { position:absolute; bottom:34%; right:20%; width:12%; height:6%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 4%; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: ce-stand 9s ease-in-out infinite alternate; }
.scn-cross-examination-begins .ce-clock { position:absolute; top:8%; right:12%; width:6%; height:6%; background: radial-gradient(circle, #f0e8c0 0%, #c8b890 60%, #8a7a5a 100%); border-radius: 50%; border: 3px solid #5a4a3a; box-shadow: 0 0 12px 2px rgba(0,0,0,.15); animation: ce-clock 30s linear infinite; }
@keyframes ce-wall  { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .92 } }
@keyframes ce-bench { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes ce-judge { 0% { transform: translateY(0) rotate(-1deg) } 30% { transform: translateY(-1px) rotate(1deg) } 60% { transform: translateY(0) rotate(0) } 100% { transform: translateY(1px) rotate(-1deg) } }
@keyframes ce-lawyer { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(3px) rotate(1deg) } 50% { transform: translateX(0) rotate(2deg) } 75% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes ce-witness { 0% { transform: translateY(0) rotate(0) } 33% { transform: translateY(-2px) rotate(2deg) } 66% { transform: translateY(0) rotate(-1deg) } 100% { transform: translateY(1px) rotate(0) } }
@keyframes ce-stand { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes ce-clock { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }

.scn-kahoots-testimony { background: linear-gradient(180deg, #d4c8b0 0%, #c0b4a0 30%, #a89880 60%, #7a6a5a 100%), radial-gradient(ellipse at 30% 20%, #e8dcc8 0%, transparent 70%); }
.scn-kahoots-testimony .kt-backdrop { position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #c8b8a0 0%, #b0a088 40%, #9a8a72 100%); border-bottom: 4px solid #6a5a4a; animation: kt-back 12s ease-in-out infinite alternate; }
.scn-kahoots-testimony .kt-stand { position:absolute; bottom:32%; left:30%; width:14%; height:8%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 6px 10px rgba(0,0,0,.35); animation: kt-stand 7s ease-in-out infinite alternate; }
.scn-kahoots-testimony .kt-witness { position:absolute; bottom:28%; left:32%; width:12%; height:36%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 48% 48% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; box-shadow: 0 0 20px 2px rgba(0,0,0,.2); animation: kt-witness 4s ease-in-out infinite; }
.scn-kahoots-testimony .kt-reporter { position:absolute; bottom:16%; left:55%; width:6%; height:22%; background: linear-gradient(180deg, #3a2a2a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: kt-report 3.5s ease-in-out infinite; }
.scn-kahoots-testimony .kt-lawyer { position:absolute; bottom:28%; right:18%; width:7%; height:30%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: kt-lawyer 5s ease-in-out infinite; }
.scn-kahoots-testimony .kt-ledge { position:absolute; bottom:24%; left:0; right:0; height:4%; background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%); box-shadow: 0 4px 8px rgba(0,0,0,.25); animation: kt-ledge 10s ease-in-out infinite alternate; }
.scn-kahoots-testimony .kt-gavel { position:absolute; top:14%; right:28%; width:4%; height:3%; background: linear-gradient(135deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 20% 20% 40% 40%; box-shadow: 0 0 6px 1px rgba(0,0,0,.2); animation: kt-gavel 3s ease-in-out infinite alternate; }
@keyframes kt-back { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .92 } }
@keyframes kt-stand { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes kt-witness { 0% { transform: translateY(0) rotate(0) scale(1) } 20% { transform: translateY(-3px) rotate(2deg) scale(1.02) } 40% { transform: translateY(0) rotate(-1deg) scale(1) } 60% { transform: translateY(-2px) rotate(1deg) scale(1.01) } 80% { transform: translateY(0) rotate(0) scale(1) } 100% { transform: translateY(-1px) rotate(-2deg) scale(1) } }
@keyframes kt-report { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-2px) rotate(3deg) } 60% { transform: translateY(0) rotate(-2deg) } 100% { transform: translateY(1px) rotate(0) } }
@keyframes kt-lawyer { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(2deg) } 50% { transform: translateX(0) rotate(1deg) } 75% { transform: translateX(-2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes kt-ledge { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes kt-gavel { 0% { transform: translateY(0) rotate(-10deg) } 30% { transform: translateY(-1px) rotate(5deg) } 60% { transform: translateY(0) rotate(-5deg) } 100% { transform: translateY(-2px) rotate(10deg) } }

.scn-kahoots-describes-business { background: linear-gradient(180deg, #e8dcc8 0%, #d4c8b0 30%, #c0b49a 60%, #9a8a72 100%), radial-gradient(ellipse at 60% 25%, #f0e8d8 0%, transparent 60%); }
.scn-kahoots-describes-business .kb-bg { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #e0d4c0 0%, #c8b8a0 50%, #b0a088 100%); border-bottom: 5px solid #7a6a5a; animation: kb-bg 14s ease-in-out infinite alternate; }
.scn-kahoots-describes-business .kb-judge { position:absolute; top:20%; left:40%; width:12%; height:22%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: kb-judge 6s ease-in-out infinite; }
.scn-kahoots-describes-business .kb-witness { position:absolute; bottom:28%; left:30%; width:14%; height:34%; background: linear-gradient(180deg, #c8553d 0%, #a0461a 60%, #5e1a1d 100%); border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; box-shadow: 0 0 30px 4px rgba(200,85,61,.15); animation: kb-wit 3.5s ease-in-out infinite; }
.scn-kahoots-describes-business .kb-lawyer { position:absolute; bottom:28%; right:22%; width:8%; height:30%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: kb-law 4.5s ease-in-out infinite; }
.scn-kahoots-describes-business .kb-table { position:absolute; bottom:20%; left:24%; width:52%; height:6%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.3); animation: kb-table 8s ease-in-out infinite alternate; }
.scn-kahoots-describes-business .kb-gesture { position:absolute; bottom:36%; left:40%; width:6%; height:16%; background: linear-gradient(180deg, #b87878 0%, #8a4a4a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform-origin: top center; animation: kb-gest 2.5s ease-in-out infinite; }
.scn-kahoots-describes-business .kb-audience { position:absolute; bottom:14%; left:10%; width:8%; height:18%; background: linear-gradient(180deg, #3a3a2a 0%, #1a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; animation: kb-aud 7s ease-in-out infinite; }
@keyframes kb-bg { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .93 } }
@keyframes kb-judge { 0% { transform: translateY(0) rotate(-1deg) } 35% { transform: translateY(-1px) rotate(2deg) } 70% { transform: translateY(0) rotate(0) } 100% { transform: translateY(1px) rotate(-1deg) } }
@keyframes kb-wit { 0% { transform: translateY(0) rotate(0) scale(1) } 15% { transform: translateY(-4px) rotate(3deg) scale(1.03) } 30% { transform: translateY(0) rotate(-1deg) scale(1) } 45% { transform: translateY(-2px) rotate(5deg) scale(1.02) } 60% { transform: translateY(0) rotate(-2deg) scale(1) } 75% { transform: translateY(-3px) rotate(4deg) scale(1.01) } 100% { transform: translateY(0) rotate(0) scale(1) } }
@keyframes kb-law { 0% { transform: translateX(0) rotate(-1deg) } 20% { transform: translateX(5px) rotate(2deg) } 40% { transform: translateX(0) rotate(1deg) } 60% { transform: translateX(-3px) rotate(-2deg) } 80% { transform: translateX(0) rotate(0) } 100% { transform: translateX(2px) rotate(-1deg) } }
@keyframes kb-table { 0% { transform: scale(1) } 50% { transform: scale(1.01) translateY(-1px) } 100% { transform: scale(1) } }
@keyframes kb-gest { 0% { transform: rotate(0deg) translateX(0) } 25% { transform: rotate(15deg) translateX(4px) } 50% { transform: rotate(-10deg) translateX(-2px) } 75% { transform: rotate(20deg) translateX(6px) } 100% { transform: rotate(0deg) translateX(0) } }
@keyframes kb-aud { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-1px) rotate(2deg) } 100% { transform: translateY(0) rotate(0) } }

.scn-kahoots-defends-himself { background: linear-gradient(180deg, #dcd0bc 0%, #c8bca8 30%, #b4a890 60%, #8a7a6a 100%), radial-gradient(ellipse at 40% 30%, #ece4d4 0%, transparent 60%); }
.scn-kahoots-defends-himself .kd-wall { position:absolute; inset:0 0 48% 0; background: linear-gradient(180deg, #d8ccb8 0%, #c0b4a0 50%, #a89888 100%); border-bottom: 5px solid #7a6a5a; animation: kd-wall 13s ease-in-out infinite alternate; }
.scn-kahoots-defends-himself .kd-witness { position:absolute; bottom:26%; left:28%; width:14%; height:38%; background: linear-gradient(180deg, #702243 0%, #5e1a1d 60%, #3a0a0a 100%); border-radius: 48% 48% 40% 40% / 55% 55% 35% 35%; transform-origin: bottom center; box-shadow: 0 0 30px 4px rgba(112,34,67,.2); animation: kd-wit 4s ease-in-out infinite; }
.scn-kahoots-defends-himself .kd-lawyer { position:absolute; bottom:26%; right:22%; width:8%; height:32%; background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 70% 70% 30% 30%; transform-origin: bottom center; animation: kd-law 5.5s ease-in-out infinite; }
.scn-kahoots-defends-himself .kd-bench { position:absolute; top:16%; left:36%; width:28%; height:20%; background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius: 8% 8% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.35); animation: kd-bench 9s ease-in-out infinite alternate; }
.scn-kahoots-defends-himself .kd-judge { position:absolute; top:22%; left:42%; width:10%; height:20%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 30% 30% / 55% 55% 30% 30%; transform-origin: bottom center; animation: kd-judge 7s ease-in-out infinite; }
.scn-kahoots-defends-himself .kd-rail { position:absolute; bottom:24%; left:0; right:0; height:3%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); box-shadow: 0 3px 6px rgba(0,0,0,.2); animation: kd-rail 11s ease-in-out infinite alternate; }
.scn-kahoots-defends-himself .kd-shadow { position:absolute; bottom:18%; left:24%; width:22%; height:8%; background: radial-gradient(ellipse, rgba(0,0,0,.25) 0%, transparent 80%); border-radius: 50%; filter: blur(6px); animation: kd-shad 6s ease-in-out infinite alternate; }
@keyframes kd-wall { 0% { opacity: .9 } 50% { opacity: 1 } 100% { opacity: .91 } }
@keyframes kd-wit { 0% { transform: translateY(0) rotate(0) scale(1) } 15% { transform: translateY(-5px) rotate(-3deg) scale(1.02) } 30% { transform: translateY(0) rotate(2deg) scale(1) } 45% { transform: translateY(-3px) rotate(-5deg) scale(1.03) } 60% { transform: translateY(0) rotate(0) scale(1) } 75% { transform: translateY(-4px) rotate(4deg) scale(1.01) } 100% { transform: translateY(0) rotate(-2deg) scale(1) } }
@keyframes kd-law { 0% { transform: translateX(0) rotate(-2deg) } 20% { transform: translateX(6px) rotate(3deg) } 40% { transform: translateX(0) rotate(1deg) } 60% { transform: translateX(-4px) rotate(-3deg) } 80% { transform: translateX(0) rotate(0) } 100% { transform: translateX(3px) rotate(-2deg) } }
@keyframes kd-bench { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.01) } 100% { transform: translateY(0) scale(1) } }
@keyframes kd-judge { 0% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-1px) rotate(2deg) } 60% { transform: translateY(0) rotate(-1deg) } 100% { transform: translateY(1px) rotate(0) } }
@keyframes kd-rail { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes kd-shad { 0% { opacity: .6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.05) } 100% { opacity: .7; transform: scale(1) } }

.scn-tutts-late-night-return {
  background: linear-gradient(180deg, #1a0f0a 0%, #2c1a0e 40%, #3a2214 100%),
              radial-gradient(ellipse at 50% 100%, #3a2214 0%, transparent 70%);
}
.scn-tutts-late-night-return .bg-wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #1e130e 0%, #2a1c12 50%, #1e130e 100%);
  animation: tt-wall 12s ease-in-out infinite alternate;
}
.scn-tutts-late-night-return .fire-grate {
  position:absolute; bottom:15%; left:35%; width:30%; height:20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e0f05 100%);
  border-radius: 40% 40% 10% 10%; box-shadow: inset 0 -8px 20px #0a0500;
}
.scn-tutts-late-night-return .fire-flame {
  position:absolute; bottom:25%; left:38%; width:24%; height:30%;
  background: radial-gradient(ellipse at 50% 100%, #ff6a30 0%, #d43a0a 40%, #801a00 70%, transparent 100%);
  border-radius: 50% 50% 20% 20%; filter: blur(4px);
  animation: tt-flame 2s ease-in-out infinite alternate;
}
.scn-tutts-late-night-return .armchair {
  position:absolute; bottom:10%; left:20%; width:25%; height:35%;
  background: linear-gradient(135deg, #3a2818 0%, #2a1a0e 50%, #1a0e06 100%);
  border-radius: 40% 40% 20% 20%; box-shadow: 0 10px 30px #0a0500;
  transform: rotate(-2deg); animation: tt-chair 6s ease-in-out infinite;
}
.scn-tutts-late-night-return .figure {
  position:absolute; bottom:15%; left:22%; width:16%; height:25%;
  background: linear-gradient(180deg, #0e0804 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: tt-figure 4s ease-in-out infinite;
}
.scn-tutts-late-night-return .smoke-a {
  position:absolute; top:30%; left:40%; width:20%; height:20%;
  background: radial-gradient(ellipse at center, rgba(200,180,160,0.3) 0%, transparent 70%);
  filter: blur(12px); animation: tt-smoke1 8s ease-in-out infinite alternate;
}
.scn-tutts-late-night-return .smoke-b {
  position:absolute; top:25%; left:45%; width:15%; height:15%;
  background: radial-gradient(ellipse at center, rgba(200,180,160,0.2) 0%, transparent 70%);
  filter: blur(10px); animation: tt-smoke2 10s ease-in-out infinite alternate;
  animation-delay: 2s;
}
.scn-tutts-late-night-return .bookshelf {
  position:absolute; top:20%; right:8%; width:15%; height:60%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px #0a0500;
  animation: tt-books 20s linear infinite;
}
@keyframes tt-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes tt-flame {
  0% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.1) translateY(-3px); opacity: 1; }
  100% { transform: scaleY(0.95) translateY(2px); opacity: 0.8; }
}
@keyframes tt-chair {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-1px); }
  100% { transform: rotate(-2deg) translateY(0); }
}
@keyframes tt-figure {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes tt-smoke1 {
  0% { transform: translateX(0) translateY(0) scale(1); opacity: 0.3; }
  50% { transform: translateX(10px) translateY(-20px) scale(1.5); opacity: 0.1; }
  100% { transform: translateX(-5px) translateY(-10px) scale(1.2); opacity: 0.2; }
}
@keyframes tt-smoke2 {
  0% { transform: translateX(0) translateY(0) scale(1); opacity: 0.2; }
  50% { transform: translateX(-12px) translateY(-25px) scale(1.8); opacity: 0.05; }
  100% { transform: translateX(5px) translateY(-15px) scale(1.3); opacity: 0.15; }
}
@keyframes tt-books { 0% { opacity: 1 } 50% { opacity: 0.8 } 100% { opacity: 1 } }

.scn-salvatore-agrees {
  background: linear-gradient(180deg, #f0e6d0 0%, #e0d0b0 30%, #c8b890 100%),
              radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-salvatore-agrees .court-bg {
  position:absolute; inset:0; background: linear-gradient(135deg, #d4c4a8 0%, #b8a888 50%, #d4c4a8 100%);
  animation: sv-bg 20s ease-in-out infinite alternate;
}
.scn-salvatore-agrees .bench {
  position:absolute; bottom:20%; left:10%; width:80%; height:20%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  transform: scaleX(1.02); animation: sv-bench 3s ease-in-out infinite;
}
.scn-salvatore-agrees .gavel {
  position:absolute; bottom:35%; left:55%; width:8%; height:12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px; transform: rotate(15deg); transform-origin: bottom center;
  animation: sv-gavel 1s ease-in-out infinite alternate;
}
.scn-salvatore-agrees .hotdog {
  position:absolute; bottom:30%; left:65%; width:12%; height:8%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 50% 50% 40% 40%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transform: rotate(-10deg); animation: sv-hotdog 0.8s ease-in-out infinite alternate;
}
.scn-salvatore-agrees .judge-silhouette {
  position:absolute; bottom:35%; left:20%; width:20%; height:40%;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: sv-judge 4s ease-in-out infinite;
}
.scn-salvatore-agrees .papers {
  position:absolute; bottom:28%; left:30%; width:25%; height:10%;
  background: linear-gradient(180deg, #f0e6d0 0%, #d4c4a8 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transform: skewX(-5deg); animation: sv-papers 6s ease-in-out infinite alternate;
}
.scn-salvatore-agrees .mug {
  position:absolute; bottom:25%; left:75%; width:8%; height:12%;
  background: linear-gradient(180deg, #a89880 0%, #807060 100%);
  border-radius: 10% 10% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: sv-mug 2s ease-in-out infinite;
}
@keyframes sv-bg { 0% { opacity: 0.95 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes sv-bench { 0% { transform: scaleX(1.02) translateY(0) } 50% { transform: scaleX(1.01) translateY(-2px) } 100% { transform: scaleX(1.02) translateY(0) } }
@keyframes sv-gavel { 0% { transform: rotate(15deg) } 50% { transform: rotate(10deg) } 100% { transform: rotate(18deg) } }
@keyframes sv-hotdog { 0% { transform: rotate(-10deg) scale(1) } 50% { transform: rotate(-5deg) scale(1.05) } 100% { transform: rotate(-12deg) scale(0.95) } }
@keyframes sv-judge { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(2deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(-2px) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes sv-papers { 0% { transform: skewX(-5deg) translateX(0) } 50% { transform: skewX(-3deg) translateX(2px) } 100% { transform: skewX(-5deg) translateX(0) } }
@keyframes sv-mug { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }

.scn-hogan-asks-adjournment-again {
  background: linear-gradient(180deg, #ffffff 0%, #e8e0d0 30%, #c8c0b0 100%),
              radial-gradient(ellipse at 50% 0%, #ffffff 0%, transparent 70%);
}
.scn-hogan-asks-adjournment-again .room-walls {
  position:absolute; inset:0; background: linear-gradient(135deg, #e8e0d0 0%, #d8d0c0 50%, #e8e0d0 100%);
  animation: hg-walls 15s ease-in-out infinite alternate;
}
.scn-hogan-asks-adjournment-again .desk {
  position:absolute; bottom:10%; left:5%; width:90%; height:25%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 4px; box-shadow: 0 8px 30px rgba(0,0,0,0.3);
  transform: perspective(500px) rotateX(10deg);
  animation: hg-desk 8s ease-in-out infinite;
}
.scn-hogan-asks-adjournment-again .lawyer-figure {
  position:absolute; bottom:25%; left:25%; width:15%; 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: hg-lawyer 3s ease-in-out infinite;
}
.scn-hogan-asks-adjournment-again .judge-figure {
  position:absolute; bottom:30%; left:55%; width:18%; height:38%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; box-shadow: 0 8px 20px rgba(0,0,0,0.4);
  animation: hg-judge 4s ease-in-out infinite;
}
.scn-hogan-asks-adjournment-again .podium {
  position:absolute; bottom:20%; left:40%; width:12%; height:20%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  animation: hg-podium 6s ease-in-out infinite;
}
.scn-hogan-asks-adjournment-again .clock {
  position:absolute; top:10%; right:10%; width:12%; height:15%;
  background: radial-gradient(circle, #f0e6d0 40%, #a89880 100%);
  border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: hg-clock 2s steps(4) infinite;
}
.scn-hogan-asks-adjournment-again .shadow-stripe {
  position:absolute; top:0; left:30%; width:4%; height:100%;
  background: linear-gradient(180deg, transparent 20%, rgba(0,0,0,0.2) 50%, transparent 80%);
  filter: blur(6px); animation: hg-stripe 10s ease-in-out infinite alternate;
}
@keyframes hg-walls { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes hg-desk { 0% { transform: perspective(500px) rotateX(10deg) translateY(0) } 50% { transform: perspective(500px) rotateX(12deg) translateY(-2px) } 100% { transform: perspective(500px) rotateX(10deg) translateY(0) } }
@keyframes hg-lawyer { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-4px) rotate(3deg) } 60% { transform: translateY(0) rotate(-2deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hg-judge { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes hg-podium { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes hg-clock { 0% { transform: rotate(0deg) } 25% { transform: rotate(90deg) } 50% { transform: rotate(180deg) } 75% { transform: rotate(270deg) } 100% { transform: rotate(360deg) } }
@keyframes hg-stripe { 0% { transform: translateX(0); opacity: 0.3 } 50% { transform: translateX(15px); opacity: 0.7 } 100% { transform: translateX(0); opacity: 0.3 } }

.scn-judge-watkins-pressures {
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 30%, #b8a898 100%),
              radial-gradient(ellipse at 50% 20%, #fff8e8 0%, transparent 60%);
}
.scn-judge-watkins-pressures .chamber-bg {
  position:absolute; inset:0; background: linear-gradient(135deg, #d8d0c0 0%, #c8b8a8 50%, #d8d0c0 100%);
  animation: jw-bg 18s ease-in-out infinite alternate;
}
.scn-judge-watkins-pressures .judge-bench {
  position:absolute; bottom:10%; left:10%; width:80%; height:30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 12px 12px 0 0; box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  transform: perspective(600px) rotateX(5deg);
  animation: jw-bench 5s ease-in-out infinite;
}
.scn-judge-watkins-pressures .judge-lean {
  position:absolute; bottom:30%; left:50%; width:16%; height:35%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center; transform: translateX(-50%) rotate(5deg);
  animation: jw-lean 3s ease-in-out infinite alternate;
}
.scn-judge-watkins-pressures .gavel-angled {
  position:absolute; bottom:35%; left:65%; width:8%; height:14%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 4px; transform: rotate(25deg); transform-origin: bottom center;
  animation: jw-gavel 0.6s ease-in-out infinite alternate;
}
.scn-judge-watkins-pressures .papers-stack {
  position:absolute; bottom:20%; left:25%; width:20%; height:12%;
  background: linear-gradient(180deg, #f0e6d0 0%, #d4c4a8 100%);
  border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transform: skewX(-3deg); animation: jw-papers 8s ease-in-out infinite;
}
.scn-judge-watkins-pressures .ticking-clock {
  position:absolute; top:8%; right:12%; width:14%; height:18%;
  background: radial-gradient(circle, #f0e6d0 40%, #a89880 100%);
  border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: jw-tick 1s steps(4) infinite;
}
.scn-judge-watkins-pressures .glare {
  position:absolute; top:0; left:20%; width:30%; height:100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
  filter: blur(8px); animation: jw-glare 10s ease-in-out infinite alternate;
}
@keyframes jw-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes jw-bench { 0% { transform: perspective(600px) rotateX(5deg) translateY(0) } 50% { transform: perspective(600px) rotateX(7deg) translateY(-3px) } 100% { transform: perspective(600px) rotateX(5deg) translateY(0) } }
@keyframes jw-lean { 0% { transform: translateX(-50%) rotate(5deg) } 100% { transform: translateX(-50%) rotate(10deg) } }
@keyframes jw-gavel { 0% { transform: rotate(25deg) } 100% { transform: rotate(30deg) } }
@keyframes jw-papers { 0% { transform: skewX(-3deg) translateY(0) } 50% { transform: skewX(-1deg) translateY(-2px) } 100% { transform: skewX(-3deg) translateY(0) } }
@keyframes jw-tick { 0% { transform: rotate(0deg) } 25% { transform: rotate(90deg) } 50% { transform: rotate(180deg) } 75% { transform: rotate(270deg) } 100% { transform: rotate(360deg) } }
@keyframes jw-glare { 0% { transform: translateX(-10px); opacity: 0.2 } 50% { transform: translateX(10px); opacity: 0.5 } 100% { transform: translateX(-10px); opacity: 0.2 } }

/* --- Scene: delany-trapped-by-asche (dim interior, tense) --- */
.scn-delany-trapped-by-asche {
  background: 
    linear-gradient(135deg, #1a1410 0%, #2c1e14 40%, #402818 70%, #1f120a 100%),
    radial-gradient(ellipse at 30% 25%, #603818 0%, transparent 60%);
}
.scn-delany-trapped-by-asche .wall-bg {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%);
  animation: dla-wall 12s ease-in-out infinite alternate;
}
.scn-delany-trapped-by-asche .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #2e1e12 0%, #150c08 100%);
  box-shadow: inset 0 20px 30px rgba(0,0,0,0.6);
  transform: perspective(300px) rotateX(3deg);
}
.scn-delany-trapped-by-asche .desk {
  position: absolute; bottom: 28%; left: 30%; width: 35%; height: 18%;
  background: linear-gradient(135deg, #5a3a22 0%, #352010 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  transform: rotate(-2deg);
}
.scn-delany-trapped-by-asche .lamp-glow {
  position: absolute; bottom: 28%; left: 32%; width: 12%; height: 20%;
  background: radial-gradient(ellipse 50% 60% at 50% 40%, #ffc080 0%, #b06030 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(6px);
  animation: dla-lamp 2.5s ease-in-out infinite alternate;
}
.scn-delany-trapped-by-asche .figure-delany {
  position: absolute; bottom: 32%; left: 40%; width: 14%; height: 38%;
  background: linear-gradient(180deg, #2a1a12 0%, #0f0805 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dla-fig1 4s ease-in-out infinite;
}
.scn-delany-trapped-by-asche .figure-asche {
  position: absolute; bottom: 30%; right: 20%; width: 18%; height: 44%;
  background: linear-gradient(180deg, #1c1010 0%, #080404 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: dla-fig2 6s ease-in-out infinite alternate;
}
.scn-delany-trapped-by-asche .shadow-bars {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    90deg, transparent 0%, transparent 8%, rgba(0,0,0,0.3) 8%, rgba(0,0,0,0.3) 10%
  );
  filter: blur(2px);
  animation: dla-bars 8s linear infinite;
}
@keyframes dla-wall {
  0% { opacity: 0.7; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(0.85); }
  100% { opacity: 0.6; filter: brightness(1.1); }
}
@keyframes dla-lamp {
  0% { transform: scale(1); opacity: 0.8; filter: blur(6px); }
  30% { transform: scale(1.08); opacity: 1; filter: blur(4px); }
  70% { transform: scale(0.95); opacity: 0.75; filter: blur(8px); }
  100% { transform: scale(1.02); opacity: 0.9; filter: blur(5px); }
}
@keyframes dla-fig1 {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(-3%) translateY(-2%) rotate(-2deg); }
  50% { transform: translateX(0) translateY(0) rotate(0deg); }
  75% { transform: translateX(2%) translateY(-1%) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes dla-fig2 {
  0% { transform: translateX(0) scale(1); }
  30% { transform: translateX(5%) scale(0.98); }
  60% { transform: translateX(-3%) scale(1.02); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes dla-bars {
  0% { transform: translateX(0); }
  50% { transform: translateX(1%); }
  100% { transform: translateX(0); }
}

/* --- Scene: froelich-has-doubts (bright interior, tense) --- */
.scn-froelich-has-doubts {
  background:
    linear-gradient(135deg, #f5e6c8 0%, #e8d4a8 40%, #f0dcb0 70%, #fff4e0 100%),
    radial-gradient(ellipse at 60% 20%, #ffffff 0%, transparent 70%);
}
.scn-froelich-has-doubts .window-bright {
  position: absolute; top: 5%; right: 10%; width: 35%; height: 50%;
  background: linear-gradient(180deg, #b8d4f0 0%, #e6f0ff 100%);
  border-radius: 4%;
  box-shadow: 0 0 40px #ffffff80, inset 0 0 30px #ffffff40;
  animation: frd-window 6s ease-in-out infinite alternate;
}
.scn-froelich-has-doubts .wall-light {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #fcf0d0 0%, #e8d0a0 100%);
  opacity: 0.6;
}
.scn-froelich-has-doubts .figure-froelich {
  position: absolute; bottom: 30%; left: 25%; width: 20%; height: 45%;
  background: linear-gradient(180deg, #2a2018 0%, #100c08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: frd-fig 3s ease-in-out infinite;
}
.scn-froelich-has-doubts .hand-doubt {
  position: absolute; bottom: 45%; left: 35%; width: 10%; height: 15%;
  background: #1a1410;
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom left;
  animation: frd-hand 2.2s ease-in-out infinite alternate;
}
.scn-froelich-has-doubts .brick-shadow {
  position: absolute; bottom: 28%; right: 30%; width: 8%; height: 6%;
  background: #4a2a1a;
  border-radius: 20%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: frd-brick 8s ease-in-out infinite alternate;
}
@keyframes frd-window {
  0% { box-shadow: 0 0 40px #ffffff80, inset 0 0 30px #ffffff40; }
  50% { box-shadow: 0 0 60px #ffffffb0, inset 0 0 20px #ffffff60; }
  100% { box-shadow: 0 0 40px #ffffff80, inset 0 0 30px #ffffff40; }
}
@keyframes frd-fig {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2%) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(3%) rotate(1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes frd-hand {
  0% { transform: rotate(-10deg) translate(0, 0); }
  40% { transform: rotate(0deg) translate(5%, -2%); }
  80% { transform: rotate(-5deg) translate(2%, 0); }
  100% { transform: rotate(-10deg) translate(0, 0); }
}
@keyframes frd-brick {
  0% { transform: rotate(0deg) scale(1); opacity: 0.7; }
  50% { transform: rotate(15deg) scale(1.1); opacity: 1; }
  100% { transform: rotate(-5deg) scale(0.95); opacity: 0.6; }
}

/* --- Scene: froelich-ducks (bright interior, tense) --- */
.scn-froelich-ducks {
  background:
    linear-gradient(180deg, #f7e9ce 0%, #e3ca9e 40%, #d4b078 70%, #c9a06a 100%),
    radial-gradient(ellipse at 80% 50%, #fff0d0 0%, transparent 60%);
}
.scn-froelich-ducks .door-frame {
  position: absolute; bottom: 15%; right: 20%; width: 45%; height: 85%;
  background: linear-gradient(135deg, #7a5a3a 0%, #4a3018 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: inset -5px 0 10px rgba(0,0,0,0.3);
  transform: skewX(-2deg);
}
.scn-froelich-ducks .figure-ducking {
  position: absolute; bottom: 25%; left: 25%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #2c1e12 0%, #120c08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fdu-ducks 2.8s ease-in-out infinite;
}
.scn-froelich-ducks .cop-pointing {
  position: absolute; bottom: 30%; left: 45%; width: 22%; height: 42%;
  background: linear-gradient(180deg, #1a1a1e 0%, #0e0e12 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: fdu-cop 4s ease-in-out infinite alternate;
}
.scn-froelich-ducks .hat {
  position: absolute; bottom: 60%; left: 47%; width: 10%; height: 8%;
  background: #2c2c30;
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: fdu-hat 4s ease-in-out infinite alternate;
}
.scn-froelich-ducks .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #b09060 0%, #b09060 5%, #a08050 5%, #a08050 10%);
  opacity: 0.5;
  animation: fdu-tile 3s linear infinite;
}
@keyframes fdu-ducks {
  0% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-10%) scale(0.9); }
  70% { transform: translateY(0) scale(1); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes fdu-cop {
  0% { transform: translateX(0) rotate(0deg); }
  40% { transform: translateX(8%) rotate(5deg); }
  70% { transform: translateX(-2%) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes fdu-hat {
  0% { transform: rotate(0deg); }
  30% { transform: rotate(15deg); }
  70% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}
@keyframes fdu-tile {
  0% { transform: translateX(0); }
  100% { transform: translateX(10%); }
}

/* --- Scene: cops-frustration (dim interior, tense) --- */
.scn-cops-frustration {
  background:
    linear-gradient(135deg, #1e1a2e 0%, #2a2438 40%, #3a2e4a 70%, #1c1624 100%),
    radial-gradient(ellipse at 40% 40%, #3a2a4a 0%, transparent 70%);
}
.scn-cops-frustration .desk-clutter {
  position: absolute; bottom: 25%; left: 15%; width: 70%; height: 20%;
  background: linear-gradient(135deg, #4a3828 0%, #2e2014 100%);
  border-radius: 6% 6% 4% 4%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  transform: rotate(1deg);
}
.scn-cops-frustration .lamp-desk {
  position: absolute; bottom: 40%; left: 20%; width: 12%; height: 18%;
  background: radial-gradient(ellipse 60% 70% at 50% 60%, #ffb060 0%, #a06020 60%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: cop-lamp 3s ease-in-out infinite alternate;
}
.scn-cops-frustration .figure-cop {
  position: absolute; bottom: 35%; left: 35%; width: 20%; height: 50%;
  background: linear-gradient(180deg, #2a2a32 0%, #14141a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cop-fig 3.4s ease-in-out infinite;
}
.scn-cops-frustration .papers-fly {
  position: absolute; bottom: 45%; left: 50%; width: 15%; height: 10%;
  background: #d4c8b0;
  border-radius: 4%;
  opacity: 0.7;
  animation: cop-papers 4.5s ease-in-out infinite alternate;
}
.scn-cops-frustration .coffee-cup {
  position: absolute; bottom: 28%; left: 55%; width: 6%; height: 8%;
  background: #5a4a3a;
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: cop-cup 5s ease-in-out infinite;
}
@keyframes cop-lamp {
  0% { transform: scale(1); filter: blur(8px); opacity: 0.7; }
  30% { transform: scale(1.1); filter: blur(6px); opacity: 1; }
  70% { transform: scale(0.9); filter: blur(10px); opacity: 0.6; }
  100% { transform: scale(1); filter: blur(8px); opacity: 0.8; }
}
@keyframes cop-fig {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4%) rotate(3deg); }
  50% { transform: translateY(0) rotate(-2deg); }
  75% { transform: translateY(3%) rotate(4deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes cop-papers {
  0% { transform: translateY(0) rotate(0deg) scale(1); opacity: 0.7; }
  50% { transform: translateY(-20%) rotate(30deg) scale(1.1); opacity: 0.9; }
  100% { transform: translateY(0) rotate(-10deg) scale(0.9); opacity: 0.5; }
}
@keyframes cop-cup {
  0% { transform: translate(0, 0) rotate(0deg); }
  30% { transform: translate(2%, -3%) rotate(5deg); }
  60% { transform: translate(-1%, 2%) rotate(-3deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

.scn-jury-deliberation {
  background: linear-gradient(180deg, #f9f3e0 0%, #e6d5b8 40%, #d4b896 100%), 
              radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 60%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.05);
}
.scn-jury-deliberation .room { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%, #fff3d6 0%, transparent 70%); animation: jd-room 12s ease-in-out infinite alternate; }
.scn-jury-deliberation .table { position:absolute; bottom:18%; left:10%; right:10%; height:12%; background:linear-gradient(180deg, #b58a5a 0%, #8b5e3c 100%); border-radius:8px; box-shadow:0 4px 8px rgba(0,0,0,0.3); animation: jd-table 5s ease-in-out infinite; }
.scn-jury-deliberation .fat-man { position:absolute; bottom:26%; left:25%; width:40px; height:60px; background:radial-gradient(ellipse at 50% 60%, #e0b090 0%, #a07050 100%); border-radius:50% 50% 45% 45% / 60% 60% 40% 40%; transform-origin:bottom center; animation: jd-fat 3s ease-in-out infinite; }
.scn-jury-deliberation .juror { position:absolute; bottom:28%; right:30%; width:30px; height:50px; background:linear-gradient(180deg, #8aa8c0 0%, #607080 100%); border-radius:40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin:bottom center; animation: jd-juror 4s ease-in-out infinite; }
.scn-jury-deliberation .horse { position:absolute; bottom:30%; left:46%; width:24px; height:16px; background:#b08060; border-radius:50% 50% 20% 20%; transform:rotate(-10deg); animation: jd-horse 6s ease-in-out infinite alternate; }
.scn-jury-deliberation .gavel { position:absolute; bottom:24%; left:56%; width:8px; height:20px; background:#8b5e3c; border-radius:2px; transform-origin:bottom center; animation: jd-gavel 1.5s ease-in-out infinite; }
.scn-jury-deliberation .lamp { position:absolute; top:8%; left:42%; width:30px; height:30px; background:radial-gradient(circle, #ffe680 0%, #d4a040 80%); border-radius:50%; box-shadow:0 0 40px 20px rgba(255,230,128,0.4); animation: jd-lamp 8s ease-in-out infinite alternate; }

@keyframes jd-room { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes jd-table { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes jd-fat { 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 jd-juror { 0%,100% { transform:translateY(0); } 25% { transform:translateY(-3px) rotate(-3deg); } 75% { transform:translateY(1px) rotate(2deg); } }
@keyframes jd-horse { 0% { transform:rotate(-15deg) scale(1); } 50% { transform:rotate(5deg) scale(1.1); } 100% { transform:rotate(-5deg) scale(0.9); } }
@keyframes jd-gavel { 0%,100% { transform:rotate(0); } 25% { transform:rotate(25deg); } 50% { transform:rotate(-30deg); } 75% { transform:rotate(15deg); } }
@keyframes jd-lamp { 0% { box-shadow:0 0 30px 10px rgba(255,230,128,0.3); opacity:0.9; } 50% { box-shadow:0 0 60px 30px rgba(255,200,80,0.6); opacity:1; } 100% { box-shadow:0 0 40px 15px rgba(255,230,128,0.4); } }

.scn-bently-argues-to-jury {
  background: linear-gradient(180deg, #e8e4dc 0%, #c0b8b0 40%, #a09890 100%), 
              radial-gradient(ellipse at 50% 0%, #fffcf0 0%, transparent 60%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.1);
}
.scn-bently-argues-to-jury .bg-court { position:absolute; inset:0; background:linear-gradient(90deg, #d8d0c8 0%, #f0ece4 50%, #d8d0c8 100%); animation: ba-bg 15s ease-in-out infinite alternate; }
.scn-bently-argues-to-jury .window-blinds { position:absolute; top:12%; left:5%; width:70px; height:110px; background:repeating-linear-gradient(0deg, #e0d8c8 0px, #e0d8c8 4px, #c0b8a8 4px, #c0b8a8 8px); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,0.2); animation: ba-blinds 8s ease-in-out infinite alternate; }
.scn-bently-argues-to-jury .bench { position:absolute; bottom:16%; left:20%; right:20%; height:20%; background:linear-gradient(180deg, #9a7a5a 0%, #705030 100%); border-radius: 20% 20% 0 0; box-shadow:0 -4px 12px rgba(0,0,0,0.3); animation: ba-bench 6s ease-in-out infinite; }
.scn-bently-argues-to-jury .bently { position:absolute; bottom:30%; left:40%; width:28px; height:52px; background:linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius:40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin:bottom center; animation: ba-bently 4s ease-in-out infinite; }
.scn-bently-argues-to-jury .arm { position:absolute; bottom:42%; left:55%; width:18px; height:5px; background:#1a2a3a; border-radius:10px 0 0 10px; transform-origin:right center; animation: ba-arm 2.5s ease-in-out infinite; }
.scn-bently-argues-to-jury .juror-shade { position:absolute; bottom:28%; right:8%; width:22px; height:40px; background:rgba(30,40,50,0.3); border-radius:35%; filter:blur(4px); animation: ba-juror 5s ease-in-out infinite alternate; }

@keyframes ba-bg { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes ba-blinds { 0% { transform:scaleY(1); opacity:0.9; } 50% { transform:scaleY(0.9) translateY(2px); } 100% { transform:scaleY(1.02) translateY(-1px); } }
@keyframes ba-bench { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes ba-bently { 0% { transform:translateY(0) rotate(0); } 25% { transform:translateY(-2px) rotate(2deg); } 50% { transform:translateY(0) rotate(-1deg); } 75% { transform:translateY(-1px) rotate(1deg); } 100% { transform:translateY(0); } }
@keyframes ba-arm { 0% { transform:rotate(0); } 25% { transform:rotate(30deg); } 50% { transform:rotate(12deg); } 75% { transform:rotate(-8deg); } 100% { transform:rotate(0); } }
@keyframes ba-juror { 0% { transform:translateX(0) scale(1); } 50% { transform:translateX(4px) scale(0.95); } 100% { transform:translateX(-2px) scale(1.05); } }

.scn-jury-altercation {
  background: linear-gradient(180deg, #e4ddd4 0%, #ccc4b8 40%, #b0a89c 100%), 
              radial-gradient(ellipse at 50% 10%, #f0e8dc 0%, transparent 70%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.15);
}
.scn-jury-altercation .scene-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 40% 30%, #e8e0d4 0%, transparent 80%); animation: ja-bg 18s ease-in-out infinite alternate; }
.scn-jury-altercation .left-figure { position:absolute; bottom:26%; left:20%; width:34px; height:55px; background:linear-gradient(180deg, #405060 0%, #202030 100%); border-radius:40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin:bottom center; animation: ja-left 2s ease-in-out infinite; }
.scn-jury-altercation .right-figure { position:absolute; bottom:26%; right:20%; width:32px; height:52px; background:linear-gradient(180deg, #605040 0%, #403020 100%); border-radius:40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin:bottom center; animation: ja-right 1.8s ease-in-out infinite reverse; }
.scn-jury-altercation .center-bently { position:absolute; bottom:30%; left:46%; width:24px; height:48px; background:linear-gradient(180deg, #6a7a8a 0%, #3a4a5a 100%); border-radius:35% 35% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom center; animation: ja-center 3s ease-in-out infinite; }
.scn-jury-altercation .table-low { position:absolute; bottom:16%; left:15%; right:15%; height:10%; background:linear-gradient(180deg, #b09070 0%, #8a6a4a 100%); border-radius:6px; box-shadow:0 3px 6px rgba(0,0,0,0.3); animation: ja-table 7s ease-in-out infinite; }
.scn-jury-altercation .paper-a { position:absolute; bottom:40%; left:60%; width:16px; height:10px; background:#f0e8d0; border-radius:2px; transform:rotate(20deg); box-shadow:0 2px 4px rgba(0,0,0,0.2); animation: ja-paper 4s ease-in-out infinite; }
.scn-jury-altercation .paper-b { position:absolute; bottom:38%; left:70%; width:14px; height:9px; background:#f0e8d0; border-radius:2px; transform:rotate(-15deg); box-shadow:0 2px 4px rgba(0,0,0,0.2); animation: ja-paper 4.5s ease-in-out infinite reverse; }

@keyframes ja-bg { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes ja-left { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(5px) rotate(10deg); } 50% { transform:translateX(2px) rotate(-5deg); } 75% { transform:translateX(8px) rotate(3deg); } 100% { transform:translateX(0); } }
@keyframes ja-right { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(-6px) rotate(-8deg); } 50% { transform:translateX(-2px) rotate(4deg); } 75% { transform:translateX(-9px) rotate(-2deg); } 100% { transform:translateX(0); } }
@keyframes ja-center { 0%,100% { transform:translateY(0); } 50% { transform:translateY(2px) scale(1.02); } }
@keyframes ja-table { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1px); } }
@keyframes ja-paper { 0% { transform:rotate(20deg) translateX(0); } 50% { transform:rotate(10deg) translateX(5px) translateY(-3px); } 100% { transform:rotate(25deg) translateX(0); } }

.scn-jury-returns-to-court {
  background: linear-gradient(180deg, #d8d0c8 0%, #c0b8b0 30%, #a09890 100%), 
              radial-gradient(ellipse at 30% 90%, #c8b8a8 0%, transparent 80%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.12);
}
.scn-jury-returns-to-court .hall-bg { position:absolute; inset:0; background:linear-gradient(90deg, #b0a89c 0%, #e0d8cc 50%, #b0a89c 100%); animation: jr-hall 20s ease-in-out infinite alternate; }
.scn-jury-returns-to-court .door { position:absolute; bottom:0; right:8%; width:60px; height:90px; background:linear-gradient(90deg, #8a7050 0%, #6a5030 100%); border-radius: 10% 10% 0 0; box-shadow: -6px 0 12px rgba(0,0,0,0.3); animation: jr-door 10s ease-in-out infinite; }
.scn-jury-returns-to-court .juror-1 { position:absolute; bottom:22%; left:30%; width:22px; height:44px; background:linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius:35% 35% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom center; animation: jr-walk 5s ease-in-out infinite; }
.scn-jury-returns-to-court .juror-2 { position:absolute; bottom:20%; left:44%; width:22px; height:44px; background:linear-gradient(180deg, #5a4a3a 0%, #2a1a1a 100%); border-radius:35% 35% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom center; animation: jr-walk 5s ease-in-out infinite 0.8s; }
.scn-jury-returns-to-court .juror-3 { position:absolute; bottom:22%; left:58%; width:22px; height:44px; background:linear-gradient(180deg, #4a6a5a 0%, #2a3a2a 100%); border-radius:35% 35% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom center; animation: jr-walk 5s ease-in-out infinite 1.6s; }
.scn-jury-returns-to-court .guard { position:absolute; bottom:24%; right:22%; width:26px; height:50px; background:linear-gradient(180deg, #2a3a4a 0%, #0a1a2a 100%); border-radius:40% 40% 35% 35% / 60% 60% 40% 40%; transform-origin:bottom center; animation: jr-guard 6s ease-in-out infinite; }

@keyframes jr-hall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes jr-door { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@keyframes jr-walk { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(6px) rotate(2deg); } 50% { transform:translateX(12px) rotate(0); } 75% { transform:translateX(18px) rotate(-2deg); } 100% { transform:translateX(24px) rotate(0); } }
@keyframes jr-guard { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(1px) rotate(3deg); } }

/* ===== unwritten-law-discussion (scn-unwritten-law-discussion) ===== */
.scn-unwritten-law-discussion {
  background: 
    linear-gradient(180deg, #f7e5c8 0%, #dbbd8a 40%, #b88a5e 100%),
    radial-gradient(ellipse at 50% 80%, #f2dbb8 0%, transparent 60%);
}
.scn-unwritten-law-discussion .bg-interior {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d4b0 0%, #c8a87c 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.15);
}
.scn-unwritten-law-discussion .window-frame {
  position: absolute; top: 5%; right: 5%; width: 40%; height: 55%;
  border: 6px solid #6a4a2c;
  border-radius: 4px;
  background: linear-gradient(180deg, #87ceeb 0%, #5aa9d9 40%, #c8e6c9 100%);
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: uwl-window 12s ease-in-out infinite alternate;
}
.scn-unwritten-law-discussion .shipping-distant {
  position: absolute; top: 15%; right: 10%; width: 20%; height: 12%;
  background: 
    linear-gradient(90deg, transparent 0%, #4a6b7a 30%, #5c7c8c 60%, transparent 100%);
  border-radius: 0 40% 60% 0;
  filter: blur(2px);
  animation: uwl-ship 25s linear infinite;
}
.scn-unwritten-law-discussion .figure-tutt {
  position: absolute; bottom: 12%; left: 20%; width: 18%; height: 50%;
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a24 60%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 70% 60% 40% 40%;
  transform-origin: bottom center;
  animation: uwl-figure 6s ease-in-out infinite;
}
.scn-unwritten-law-discussion .chair-swivel {
  position: absolute; bottom: 8%; left: 16%; width: 24%; height: 18%;
  background: 
    linear-gradient(180deg, #5a3a2a 0%, #3a221a 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
  animation: uwl-chair 6s ease-in-out infinite;
}
.scn-unwritten-law-discussion .desk-edge {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  box-shadow: 0 -4px 10px rgba(0,0,0,0.4);
}
.scn-unwritten-law-discussion .sunbeam {
  position: absolute; top: 0; right: 5%; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(255,240,180,0.25) 0%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
  animation: uwl-sun 8s ease-in-out infinite alternate;
}
@keyframes uwl-window { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes uwl-ship { 0% { transform: translateX(-10px); } 100% { transform: translateX(100px); } }
@keyframes uwl-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(-4px) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(1deg); } }
@keyframes uwl-chair { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(-4px) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(1deg); } }
@keyframes uwl-sun { 0% { opacity: 0.6; transform: scaleX(1); } 50% { opacity: 1; transform: scaleX(1.1); } 100% { opacity: 0.7; transform: scaleX(0.9); } }

/* ===== law-etiquette-conscience (scn-law-etiquette-conscience) ===== */
.scn-law-etiquette-conscience {
  background: 
    linear-gradient(180deg, #f0e0c8 0%, #dcc8a8 40%, #c0a888 100%),
    radial-gradient(ellipse at 50% 30%, #f5ecd0 0%, transparent 70%);
}
.scn-law-etiquette-conscience .bg-law-office {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d8b8 0%, #c8b898 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.12);
}
.scn-law-etiquette-conscience .figure-bonnie {
  position: absolute; bottom: 8%; left: 10%; width: 20%; height: 55%;
  background: 
    linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 50%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: lec-bonnie 5s ease-in-out infinite;
}
.scn-law-etiquette-conscience .figure-tutt-facing {
  position: absolute; bottom: 8%; right: 10%; width: 22%; height: 55%;
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  transform: scaleX(-1);
  animation: lec-tutt 6s ease-in-out infinite;
}
.scn-law-etiquette-conscience .table-center {
  position: absolute; bottom: 0; left: 25%; right: 25%; height: 15%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-law-etiquette-conscience .lamp-overhead {
  position: absolute; top: 2%; left: 50%; width: 10%; height: 8%;
  background: radial-gradient(circle, #ffd98a 0%, #c89040 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,217,138,0.4);
  transform: translateX(-50%);
  animation: lec-lamp 4s ease-in-out infinite alternate;
}
.scn-law-etiquette-conscience .bookshelf-back {
  position: absolute; top: 10%; left: 5%; width: 15%; height: 40%;
  background: 
    linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.4);
  animation: lec-books 20s ease-in-out infinite alternate;
}
.scn-law-etiquette-conscience .legal-papers {
  position: absolute; bottom: 16%; left: 40%; width: 20%; height: 8%;
  background: #f5f0e0;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: lec-papers 10s ease-in-out infinite;
}
@keyframes lec-bonnie { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(3deg); } 60% { transform: translateY(-1px) rotate(-2deg); } }
@keyframes lec-tutt { 0%,100% { transform: scaleX(-1) translateY(0) rotate(0deg); } 30% { transform: scaleX(-1) translateY(-2px) rotate(2deg); } 60% { transform: scaleX(-1) translateY(-4px) rotate(-1deg); } }
@keyframes lec-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 6px rgba(255,217,138,0.3); } 50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(255,217,138,0.6); } 100% { opacity: 0.85; box-shadow: 0 0 25px 8px rgba(255,217,138,0.35); } }
@keyframes lec-books { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes lec-papers { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); } }

/* ===== cogswell-example (scn-cogswell-example) ===== */
.scn-cogswell-example {
  background: 
    linear-gradient(180deg, #f5e5c0 0%, #dccba5 40%, #c0a880 100%),
    radial-gradient(ellipse at 50% 70%, #f0e0c0 0%, transparent 60%);
}
.scn-cogswell-example .bg-close {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d4a8 0%, #c8b08a 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.1);
}
.scn-cogswell-example .figure-tutt-admit {
  position: absolute; bottom: 5%; left: 30%; width: 25%; height: 60%;
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a24 50%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 70% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cge-figure 7s ease-in-out infinite;
}
.scn-cogswell-example .desk-clutter {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a221a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-cogswell-example .lamp-desk {
  position: absolute; bottom: 20%; left: 15%; width: 12%; height: 20%;
  background: 
    linear-gradient(180deg, #b8884a 0%, #9a683a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(255,200,100,0.3);
  animation: cge-lamp 3s ease-in-out infinite alternate;
}
.scn-cogswell-example .hand-gesture {
  position: absolute; bottom: 22%; left: 40%; width: 6%; height: 12%;
  background: #1a1a2a;
  border-radius: 30% 30% 40% 40%;
  transform-origin: bottom center;
  animation: cge-hand 4s ease-in-out infinite;
}
.scn-cogswell-example .paper-scroll {
  position: absolute; bottom: 18%; right: 20%; width: 20%; height: 10%;
  background: #f5f0e0;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: cge-paper 8s ease-in-out infinite;
}
.scn-cogswell-example .inkwell {
  position: absolute; bottom: 16%; left: 55%; width: 8%; height: 8%;
  background: #2a1a0a;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: cge-ink 12s ease-in-out infinite alternate;
}
@keyframes cge-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-2px) rotate(2deg); } 40% { transform: translateY(-5px) rotate(-1deg); } 60% { transform: translateY(-3px) rotate(1deg); } 80% { transform: translateY(-1px) rotate(0deg); } }
@keyframes cge-lamp { 0% { opacity: 0.8; box-shadow: 0 0 15px 4px rgba(255,200,100,0.2); } 50% { opacity: 1; box-shadow: 0 0 30px 10px rgba(255,200,100,0.5); } 100% { opacity: 0.85; box-shadow: 0 0 20px 6px rgba(255,200,100,0.3); } }
@keyframes cge-hand { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(10deg); } 50% { transform: translateY(-2px) rotate(5deg); } 75% { transform: translateY(-6px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cge-paper { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 100% { transform: translateX(0); } }
@keyframes cge-ink { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }

/* ===== chicago-unwritten-law (scn-chicago-unwritten-law) ===== */
.scn-chicago-unwritten-law {
  background: 
    linear-gradient(180deg, #f0d8a0 0%, #d8b878 40%, #b89858 100%),
    radial-gradient(ellipse at 50% 90%, #f8e8c0 0%, transparent 70%);
}
.scn-chicago-unwritten-law .bg-chicago {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8cc90 0%, #c8ac78 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.08);
}
.scn-chicago-unwritten-law .woman-figure {
  position: absolute; bottom: 10%; left: 25%; width: 22%; height: 55%;
  background: 
    linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 50%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cuw-woman 4s ease-in-out infinite;
}
.scn-chicago-unwritten-law .man-figure-small {
  position: absolute; bottom: 8%; right: 20%; width: 16%; height: 42%;
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a24 50%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cuw-man 3s ease-in-out infinite;
}
.scn-chicago-unwritten-law .policy-document {
  position: absolute; bottom: 14%; left: 45%; width: 20%; height: 12%;
  background: #f5f0e0;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: cuw-policy 6s ease-in-out infinite;
}
.scn-chicago-unwritten-law .money-bag {
  position: absolute; bottom: 16%; right: 40%; width: 10%; height: 14%;
  background: linear-gradient(180deg, #8a7a4a 0%, #6a5a2a 100%);
  border-radius: 30% 30% 40% 40%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: cuw-bag 5s ease-in-out infinite alternate;
}
.scn-chicago-unwritten-law .lamp-comic {
  position: absolute; top: 2%; left: 50%; width: 8%; height: 6%;
  background: radial-gradient(circle, #ffd880 0%, #d0a050 60%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(255,216,128,0.4);
  transform: translateX(-50%);
  animation: cuw-lamp 4s ease-in-out infinite alternate;
}
.scn-chicago-unwritten-law .shadow-foot {
  position: absolute; bottom: 0; left: 30%; width: 15%; height: 4%;
  background: rgba(0,0,0,0.2);
  border-radius: 50%;
  filter: blur(3px);
  animation: cuw-foot 3s ease-in-out infinite;
}
@keyframes cuw-woman { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(3deg); } 50% { transform: translateY(-6px) rotate(-2deg); } 75% { transform: translateY(-2px) rotate(1deg); } }
@keyframes cuw-man { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(-5deg); } 60% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cuw-policy { 0% { transform: translateX(0); } 50% { transform: translateX(8px); } 100% { transform: translateX(0); } }
@keyframes cuw-bag { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cuw-lamp { 0% { opacity: 0.7; box-shadow: 0 0 20px 6px rgba(255,216,128,0.3); } 50% { opacity: 1; box-shadow: 0 0 40px 12px rgba(255,216,128,0.6); } 100% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(255,216,128,0.35); } }
@keyframes cuw-foot { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.2); } 100% { transform: scaleX(1); } }

.scn-confession-to-beekman {
  background:
    linear-gradient(180deg, #1a1620 0%, #2a2028 40%, #1a1418 100%),
    radial-gradient(ellipse at 30% 60%, #4a3a3a 0%, transparent 70%);
}
.scn-confession-to-beekman .wall {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(180deg, #2a2028 0%, #1a1620 100%);
  animation: cbt-wall 12s ease-in-out infinite alternate;
}
.scn-confession-to-beekman .floor {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.6);
}
.scn-confession-to-beekman .window {
  position:absolute; top:15%; right:20%; width:60px; height:80px;
  background: radial-gradient(ellipse at center, #3a2a2a 0%, #1a1620 70%);
  border: 2px solid #4a3a3a;
  border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: cbt-window 15s ease-in-out infinite;
}
.scn-confession-to-beekman .lamplight {
  position:absolute; bottom:35%; left:35%; width:12px; height:12px;
  background: radial-gradient(circle, #d4a060 0%, #b08040 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #b08040, 0 0 80px 20px rgba(176,128,64,0.4);
  animation: cbt-lamp 4s ease-in-out infinite alternate;
}
.scn-confession-to-beekman .figure-kneeling {
  position:absolute; bottom:30%; left:30%; width:24px; height:42px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cbt-fig-kneel 6s ease-in-out infinite;
}
.scn-confession-to-beekman .figure-standing {
  position:absolute; bottom:25%; right:25%; width:22px; 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: cbt-fig-stand 8s ease-in-out infinite alternate;
}
.scn-confession-to-beekman .shadow-kneeling {
  position:absolute; bottom:30%; left:28%; width:30px; height:10px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: cbt-shadow 6s ease-in-out infinite;
}
.scn-confession-to-beekman .shadow-standing {
  position:absolute; bottom:25%; right:23%; width:28px; height:12px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(3px);
  animation: cbt-shadow2 8s ease-in-out infinite alternate;
}
@keyframes cbt-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes cbt-window { 0% { box-shadow: inset 0 0 20px rgba(0,0,0,0.5) } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,0.7) } 100% { box-shadow: inset 0 0 20px rgba(0,0,0,0.5) } }
@keyframes cbt-lamp { 0% { box-shadow: 0 0 40px 10px #b08040, 0 0 80px 20px rgba(176,128,64,0.4); opacity:0.9 } 50% { box-shadow: 0 0 60px 15px #d4a060, 0 0 100px 30px rgba(212,160,96,0.6); opacity:1 } 100% { box-shadow: 0 0 40px 10px #b08040, 0 0 80px 20px rgba(176,128,64,0.4); opacity:0.9 } }
@keyframes cbt-fig-kneel { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(2px) translateY(-1px) rotate(0deg) } 50% { transform: translateX(0) translateY(0) rotate(2deg) } 75% { transform: translateX(-2px) translateY(-1px) rotate(0deg) } 100% { transform: translateX(0) translateY(0) rotate(-2deg) } }
@keyframes cbt-fig-stand { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 50% { transform: translateX(3px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(1deg) } }
@keyframes cbt-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(1) } }
@keyframes cbt-shadow2 { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.9) } 100% { transform: scaleX(1) } }

.scn-tutt-waiting-for-news {
  background:
    linear-gradient(180deg, #1e1a2a 0%, #2a2238 40%, #1a1620 100%),
    radial-gradient(ellipse at 50% 70%, #3a2a3a 0%, transparent 70%);
}
.scn-tutt-waiting-for-news .wall-bench {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(180deg, #2a2238 0%, #1e1a2a 100%);
  animation: twn-wall 10s ease-in-out infinite alternate;
}
.scn-tutt-waiting-for-news .floor-bench {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a1010 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.5);
}
.scn-tutt-waiting-for-news .bench {
  position:absolute; bottom:25%; left:10%; width:120px; height:30px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: twn-bench 5s ease-in-out infinite;
}
.scn-tutt-waiting-for-news .tutt-sitting {
  position:absolute; bottom:30%; left:18%; width:20px; height:50px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: twn-fig-sit 7s ease-in-out infinite;
}
.scn-tutt-waiting-for-news .cigar-glow {
  position:absolute; bottom:42%; left:22%; width:4px; height:4px;
  background: radial-gradient(circle, #ff8040 0%, #b04020 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px #ff8040, 0 0 24px 8px rgba(255,128,64,0.3);
  animation: twn-cigar 2s ease-in-out infinite alternate;
}
.scn-tutt-waiting-for-news .warden-door {
  position:absolute; bottom:40%; right:20%; width:40px; height:80px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border: 2px solid #2a1a1a;
  border-radius: 2px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.7);
  animation: twn-door 15s ease-in-out infinite;
}
.scn-tutt-waiting-for-news .shadow-bench {
  position:absolute; bottom:24%; left:8%; width:130px; height:15px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(5px);
  animation: twn-shade 5s ease-in-out infinite;
}
@keyframes twn-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes twn-bench { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes twn-fig-sit { 0% { 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) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes twn-cigar { 0% { box-shadow: 0 0 12px 4px #ff8040, 0 0 24px 8px rgba(255,128,64,0.3); opacity:0.9 } 50% { box-shadow: 0 0 18px 6px #ffa060, 0 0 30px 12px rgba(255,160,96,0.5); opacity:1 } 100% { box-shadow: 0 0 12px 4px #ff8040, 0 0 24px 8px rgba(255,128,64,0.3); opacity:0.9 } }
@keyframes twn-door { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,0.7) } 50% { box-shadow: inset 0 0 20px rgba(0,0,0,0.9) } 100% { box-shadow: inset 0 0 10px rgba(0,0,0,0.7) } }
@keyframes twn-shade { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.05) } 100% { transform: scaleX(1) } }

.scn-obrien-plans-to-call-beekman {
  background:
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 40%, #1a1a20 100%),
    radial-gradient(ellipse at 50% 50%, #2a2a3a 0%, transparent 70%);
}
.scn-obrien-plans-to-call-beekman .desk {
  position:absolute; bottom:20%; left:10%; width:80%; height:20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.5);
  animation: obc-desk 8s ease-in-out infinite;
}
.scn-obrien-plans-to-call-beekman .desk-lamp {
  position:absolute; bottom:40%; left:20%; width:10px; height:25px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 2px 2px 50% 50%;
  transform-origin: bottom center;
  animation: obc-lamp 3s ease-in-out infinite alternate;
}
.scn-obrien-plans-to-call-beekman .obrien {
  position:absolute; bottom:30%; right:20%; width:22px; height:52px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obc-fig1 6s ease-in-out infinite;
}
.scn-obrien-plans-to-call-beekman .chief {
  position:absolute; bottom:30%; left:20%; width:24px; height:48px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obc-fig2 7s ease-in-out infinite alternate;
}
.scn-obrien-plans-to-call-beekman .shadow-obrien {
  position:absolute; bottom:20%; right:18%; width:30px; height:8px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(4px);
  animation: obc-shade1 6s ease-in-out infinite;
}
.scn-obrien-plans-to-call-beekman .shadow-chief {
  position:absolute; bottom:20%; left:18%; width:32px; height:10px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(3px);
  animation: obc-shade2 7s ease-in-out infinite alternate;
}
.scn-obrien-plans-to-call-beekman .paper-pile {
  position:absolute; bottom:22%; left:35%; width:40px; height:15px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: obc-papers 10s ease-in-out infinite;
}
@keyframes obc-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes obc-lamp { 0% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } 100% { transform: rotate(-5deg) } }
@keyframes obc-fig1 { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-3px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes obc-fig2 { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 50% { transform: translateX(-2px) translateY(-2px) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(1deg) } }
@keyframes obc-shade1 { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(1) } }
@keyframes obc-shade2 { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.9) } 100% { transform: scaleX(1) } }
@keyframes obc-papers { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }

.scn-obrien-pressures-peckham {
  background:
    linear-gradient(180deg, #1a1a24 0%, #2a2a34 40%, #1a1a1c 100%),
    radial-gradient(ellipse at 60% 30%, #3a2a2a 0%, transparent 70%);
}
.scn-obrien-pressures-peckham .wall-office {
  position:absolute; inset:0 0 50% 0;
  background: linear-gradient(180deg, #2a2a34 0%, #1a1a24 100%);
  animation: obp-wall 12s ease-in-out infinite alternate;
}
.scn-obrien-pressures-peckham .door {
  position:absolute; bottom:30%; left:5%; width:35px; height:80px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border: 2px solid #2a1a1a;
  border-radius: 2px;
  box-shadow: inset 0 0 15px rgba(0,0,0,0.7);
  animation: obp-door 18s ease-in-out infinite;
}
.scn-obrien-pressures-peckham .peckham {
  position:absolute; bottom:20%; left:35%; width:22px; height:50px;
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obp-fig1 5s ease-in-out infinite alternate;
}
.scn-obrien-pressures-peckham .obrien-leaning {
  position:absolute; bottom:20%; right:30%; width:24px; height:46px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obp-fig2 6s ease-in-out infinite;
}
.scn-obrien-pressures-peckham .shadow-peckham {
  position:absolute; bottom:18%; left:33%; width:30px; height:8px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, transparent 100%);
  filter: blur(4px);
  animation: obp-shade1 5s ease-in-out infinite alternate;
}
.scn-obrien-pressures-peckham .shadow-obrien-lean {
  position:absolute; bottom:18%; right:28%; width:32px; height:10px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(3px);
  animation: obp-shade2 6s ease-in-out infinite;
}
.scn-obrien-pressures-peckham .light-strip {
  position:absolute; bottom:50%; left:0; right:0; height:2px;
  background: linear-gradient(90deg, transparent 0%, #4a3a3a 50%, transparent 100%);
  box-shadow: 0 0 10px 2px #4a3a3a;
  animation: obp-light 8s ease-in-out infinite alternate;
}
.scn-obrien-pressures-peckham .hand-cuff {
  position:absolute; bottom:25%; left:45%; width:8px; height:4px;
  background: #5a4a4a;
  border-radius: 1px;
  box-shadow: 0 0 4px rgba(0,0,0,0.4);
  animation: obp-cuff 3s ease-in-out infinite;
}
@keyframes obp-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes obp-door { 0% { box-shadow: inset 0 0 15px rgba(0,0,0,0.7) } 50% { box-shadow: inset 0 0 25px rgba(0,0,0,0.9) } 100% { box-shadow: inset 0 0 15px rgba(0,0,0,0.7) } }
@keyframes obp-fig1 { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 50% { transform: translateX(2px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes obp-fig2 { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(1deg) } 50% { transform: translateX(0) translateY(0) rotate(-1deg) } 75% { transform: translateX(-3px) translateY(-1px) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes obp-shade1 { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(1) } }
@keyframes obp-shade2 { 0% { transform: scaleX(1) } 50% { transform: scaleX(0.9) } 100% { transform: scaleX(1) } }
@keyframes obp-light { 0% { opacity:0.3 } 50% { opacity:0.7 } 100% { opacity:0.3 } }
@keyframes obp-cuff { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }

.scn-miss-wiggin-enters {
  background: linear-gradient(135deg, #f5e6c8 0%, #e0c9a6 40%, #c8a878 100%), 
              radial-gradient(ellipse at 80% 40%, #ffedb0 0%, transparent 60%);
}
.scn-miss-wiggin-enters .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #f0e3d0 0%, #d9c4a4 60%, #b09070 100%);
  animation: mwe-bg 12s ease-in-out infinite alternate;
}
.scn-miss-wiggin-enters .door {
  position: absolute; left: 5%; bottom: 10%; width: 20%; height: 70%;
  background: linear-gradient(180deg, #8a6e4e 0%, #6b4f30 100%);
  border-radius: 4% 4% 0 0; box-shadow: inset -4px 0 8px rgba(0,0,0,0.3), 0 0 0 2px #5a3e20;
  animation: mwe-door 4s ease-in-out infinite;
}
.scn-miss-wiggin-enters .figure-silhouette {
  position: absolute; left: 22%; bottom: 10%; width: 12%; height: 65%;
  background: linear-gradient(180deg, #2c2c3c 0%, #1a1a28 60%, #101018 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwe-figure 3s ease-in-out infinite;
  z-index: 2;
}
.scn-miss-wiggin-enters .desk {
  position: absolute; left: 35%; bottom: 10%; width: 50%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5c3e24 100%);
  border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: mwe-desk 6s ease-in-out infinite;
}
.scn-miss-wiggin-enters .chair {
  position: absolute; left: 65%; bottom: 12%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 60% 60%;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
  animation: mwe-chair 5s ease-in-out infinite;
}
.scn-miss-wiggin-enters .papers {
  position: absolute; left: 40%; bottom: 22%; width: 20%; height: 8%;
  background: linear-gradient(135deg, #f5eed0 0%, #e0d5b0 50%, #d0c090 100%);
  border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mwe-papers 7s ease-in-out infinite alternate;
}
.scn-miss-wiggin-enters .lamp-glow {
  position: absolute; left: 50%; bottom: 50%; width: 10px; height: 10px;
  background: radial-gradient(circle, #fff0c0 0%, #ffd080 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 40px 20px rgba(255,208,128,0.4);
  animation: mwe-lamp 3s ease-in-out infinite alternate;
}
@keyframes mwe-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mwe-door { 0% { transform: translateX(0); } 50% { transform: translateX(5px) rotateY(15deg); } 100% { transform: translateX(0); } }
@keyframes mwe-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(8px) rotate(1deg); } 50% { transform: translateX(16px) rotate(-1deg); } 75% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes mwe-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mwe-chair { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mwe-papers { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-4px) scaleX(0.95); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes mwe-lamp { 0% { opacity: 0.6; box-shadow: 0 0 30px 10px rgba(255,208,128,0.3); } 50% { opacity: 1; box-shadow: 0 0 60px 25px rgba(255,208,128,0.5); } 100% { opacity: 0.7; box-shadow: 0 0 40px 15px rgba(255,208,128,0.4); } }

.scn-honor-versus-law {
  background: linear-gradient(180deg, #e8dcc8 0%, #d2c0a8 50%, #b09880 100%),
              radial-gradient(ellipse at 40% 30%, #fff6e0 0%, transparent 70%);
}
.scn-honor-versus-law .court-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d8c8b0 0%, #c0ae94 60%, #a08a70 100%);
  animation: hvl-bg 10s ease-in-out infinite alternate;
}
.scn-honor-versus-law .table {
  position: absolute; left: 20%; right: 20%; bottom: 10%; height: 18%;
  background: linear-gradient(180deg, #6a4e30 0%, #4e3620 100%);
  border-radius: 8px; box-shadow: 0 -4px 8px rgba(0,0,0,0.2);
  animation: hvl-table 8s ease-in-out infinite;
}
.scn-honor-versus-law .figure-left {
  position: absolute; left: 25%; bottom: 28%; width: 12%; height: 48%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: hvl-left 4s ease-in-out infinite;
  box-shadow: 4px 0 8px rgba(0,0,0,0.3);
}
.scn-honor-versus-law .figure-right {
  position: absolute; right: 25%; bottom: 28%; width: 12%; height: 48%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: hvl-right 4.5s ease-in-out infinite;
  box-shadow: -4px 0 8px rgba(0,0,0,0.3);
}
.scn-honor-versus-law .law-book {
  position: absolute; left: 45%; bottom: 15%; width: 10%; height: 12%;
  background: linear-gradient(180deg, #8a1010 0%, #5a0808 100%);
  border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
  animation: hvl-book 6s ease-in-out infinite alternate;
}
.scn-honor-versus-law .gavel {
  position: absolute; left: 35%; bottom: 20%; width: 6%; height: 14%;
  background: linear-gradient(180deg, #705a40 0%, #4a3820 100%);
  border-radius: 4px 4px 2px 2px;
  transform-origin: bottom center;
  animation: hvl-gavel 2s ease-in-out infinite alternate;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-honor-versus-law .shadow-stripe {
  position: absolute; left: 0; right: 0; bottom: 0; height: 10%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%);
  animation: hvl-shadow 5s ease-in-out infinite alternate;
}
@keyframes hvl-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes hvl-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes hvl-left { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-4px) rotate(-4deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(4px) rotate(4deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes hvl-right { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(4deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-4px) rotate(-4deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes hvl-book { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }
@keyframes hvl-gavel { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }
@keyframes hvl-shadow { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.4; } }

.scn-conscience-debate-continues {
  background: linear-gradient(180deg, #e0d0b8 0%, #c8b498 40%, #a08870 100%),
              radial-gradient(ellipse at 60% 20%, #ffe0b0 0%, transparent 60%);
}
.scn-conscience-debate-continues .close-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d4c4ac 0%, #bca88c 50%, #a08c70 100%);
  animation: cdc-bg 9s ease-in-out infinite alternate;
}
.scn-conscience-debate-continues .gesture-hand {
  position: absolute; left: 40%; bottom: 35%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #3a2a1a 0%, #241612 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cdc-hand 2.5s ease-in-out infinite alternate;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
}
.scn-conscience-debate-continues .gesture-arm {
  position: absolute; left: 38%; bottom: 20%; width: 6%; height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #241612 100%);
  border-radius: 10% 10% 20% 20% / 30% 30% 40% 40%;
  transform-origin: top center;
  animation: cdc-arm 3s ease-in-out infinite alternate;
}
.scn-conscience-debate-continues .table-edge {
  position: absolute; left: 10%; right: 10%; bottom: 15%; height: 12%;
  background: linear-gradient(180deg, #5a4028 0%, #3a2818 100%);
  border-radius: 6px; box-shadow: 0 -2px 6px rgba(0,0,0,0.4);
  animation: cdc-table 7s ease-in-out infinite;
}
.scn-conscience-debate-continues .papers-stack {
  position: absolute; left: 55%; bottom: 20%; width: 15%; height: 8%;
  background: linear-gradient(135deg, #f0e5c8 0%, #d8c8a0 60%, #b8a880 100%);
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  animation: cdc-papers 8s ease-in-out infinite alternate;
}
.scn-conscience-debate-continues .spectacles {
  position: absolute; left: 50%; bottom: 32%; width: 12%; height: 4%;
  background: linear-gradient(90deg, #808080 0%, #c0c0c0 30%, #808080 50%, #c0c0c0 70%, #808080 100%);
  border-radius: 50% 50% 0 0;
  animation: cdc-spex 4s ease-in-out infinite alternate;
}
@keyframes cdc-bg { 0% { opacity: 0.92; } 50% { opacity: 1; } 100% { opacity: 0.88; } }
@keyframes cdc-hand { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(8px) rotate(8deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cdc-arm { 0% { transform: rotate(0); } 50% { transform: rotate(6deg); } 100% { transform: rotate(0); } }
@keyframes cdc-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cdc-papers { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(0.98); } 100% { transform: translateY(0) scale(1); } }
@keyframes cdc-spex { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(8deg) scale(1.02); } 100% { transform: rotate(0) scale(1); } }

.scn-law-embodies-honor {
  background: linear-gradient(180deg, #f5edd8 0%, #e8d5b8 40%, #d0b898 100%),
              radial-gradient(ellipse at 50% 50%, #fff4e0 0%, transparent 70%);
}
.scn-law-embodies-honor .warm-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #ede0d0 0%, #dacab4 60%, #c4b098 100%);
  animation: leh-bg 10s ease-in-out infinite alternate;
}
.scn-law-embodies-honor .handshake-left {
  position: absolute; left: 40%; bottom: 25%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a0e08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform-origin: right bottom;
  animation: leh-left 3s ease-in-out infinite;
  z-index: 2;
}
.scn-law-embodies-honor .handshake-right {
  position: absolute; right: 40%; bottom: 25%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a0e08 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform-origin: left bottom;
  animation: leh-right 3s ease-in-out infinite;
  z-index: 1;
}
.scn-law-embodies-honor .documents {
  position: absolute; left: 30%; right: 30%; bottom: 12%; height: 10%;
  background: linear-gradient(135deg, #f0e5d0 0%, #d8c8a8 50%, #c0b090 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: leh-docs 6s ease-in-out infinite alternate;
}
.scn-law-embodies-honor .glow-spot {
  position: absolute; left: 50%; top: 30%; width: 30px; height: 30px;
  background: radial-gradient(circle, #fff0d0 0%, #ffd8a0 40%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 60px 30px rgba(255,216,160,0.3);
  animation: leh-glow 5s ease-in-out infinite alternate;
}
.scn-law-embodies-honor .bookcase {
  position: absolute; left: 5%; top: 10%; width: 15%; height: 60%;
  background: linear-gradient(90deg, #5a4030 0%, #4a3020 50%, #3a2010 100%);
  border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
  animation: leh-bookcase 8s ease-in-out infinite;
}
.scn-law-embodies-honor .frame {
  position: absolute; right: 10%; top: 15%; width: 12%; height: 20%;
  border: 4px solid #8a7030;
  background: linear-gradient(180deg, #c8b098 0%, #a08868 100%);
  border-radius: 4px; box-shadow: 0 0 0 2px #b09878;
  animation: leh-frame 7s ease-in-out infinite alternate;
}
@keyframes leh-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes leh-left { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(8px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes leh-right { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-8px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes leh-docs { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.96); } 100% { transform: scaleY(1); } }
@keyframes leh-glow { 0% { opacity: 0.5; box-shadow: 0 0 40px 15px rgba(255,216,160,0.2); } 50% { opacity: 1; box-shadow: 0 0 80px 35px rgba(255,216,160,0.5); } 100% { opacity: 0.6; box-shadow: 0 0 50px 20px rgba(255,216,160,0.3); } }
@keyframes leh-bookcase { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes leh-frame { 0% { transform: scale(1) rotate(0); } 50% { transform: scale(1.02) rotate(1deg); } 100% { transform: scale(1) rotate(0); } }

/* judge-charge-to-jury */
.scn-judge-charge-to-jury { background: linear-gradient(180deg, #f5ecc0 0%, #e8dba8 50%, #d4c48a 100%), radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%); }
.scn-judge-charge-to-jury .jc-bench   { position:absolute; bottom:18%; left:15%; right:15%; height:30%; background: linear-gradient(180deg, #8b6914 0%, #5c460a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 -6px 12px rgba(0,0,0,.3); }
.scn-judge-charge-to-jury .jc-judge   { position:absolute; bottom:28%; left:30%; width:14%; height:40%; background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1f 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jc-judge 7s ease-in-out infinite; }
.scn-judge-charge-to-jury .jc-book    { position:absolute; bottom:32%; left:48%; width:6%; height:8%; background: linear-gradient(135deg, #a0522d 0%, #7b3f1a 100%); border-radius: 10%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: jc-book 12s ease-in-out infinite; }
.scn-judge-charge-to-jury .jc-window  { position:absolute; top:12%; left:38%; width:24%; height:30%; background: radial-gradient(ellipse at 50% 30%, #e6f0ff 0%, #b0c4de 80%); border: 6px solid #6b4c1e; border-radius: 4%; box-shadow: inset 0 0 30px rgba(255,255,180,.4); animation: jc-window 9s ease-in-out infinite alternate; }
.scn-judge-charge-to-jury .jc-gavel   { position:absolute; bottom:23%; left:20%; width:8%; height:4%; background: linear-gradient(180deg, #7a5c3a 0%, #4a3520 100%); border-radius: 30% 30% 20% 20%; transform: rotate(-15deg); animation: jc-gavel 5s ease-in-out infinite; }
.scn-judge-charge-to-jury .jc-witness { position:absolute; bottom:20%; right:28%; width:12%; height:35%; background: linear-gradient(180deg, #2c2c3c 0%, #181828 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jc-witness 8s ease-in-out infinite; }
@keyframes jc-judge { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(-0.5deg); } }
@keyframes jc-book { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .85; } }
@keyframes jc-window { 0% { box-shadow: inset 0 0 20px rgba(255,255,180,.3); } 50% { box-shadow: inset 0 0 50px rgba(255,255,200,.6); } 100% { box-shadow: inset 0 0 30px rgba(255,255,180,.4); } }
@keyframes jc-gavel { 0% { transform: rotate(-15deg); } 25% { transform: rotate(-10deg); } 50% { transform: rotate(-20deg); } 75% { transform: rotate(-12deg); } 100% { transform: rotate(-15deg); } }
@keyframes jc-witness { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-4px) scaleY(1.02); } 100% { transform: translateY(0) scaleY(1); } }

/* court-officer-warning */
.scn-court-officer-warning { background: linear-gradient(135deg, #e8e0d0 0%, #c8bca0 50%, #a89870 100%), radial-gradient(ellipse at 80% 30%, #fff5e5 0%, transparent 60%); }
.scn-court-officer-warning .co-tutt    { position:absolute; bottom:22%; left:20%; width:15%; height:45%; background: linear-gradient(180deg, #1e1e30 0%, #10101a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: co-tutt 2.5s ease-in-out infinite; }
.scn-court-officer-warning .co-case    { position:absolute; bottom:25%; left:33%; width:8%; height:6%; background: linear-gradient(135deg, #6b3f1f 0%, #4a2a10 100%); border-radius: 20%; box-shadow: 0 2px 8px rgba(0,0,0,.5); animation: co-case 4s ease-in-out infinite alternate; }
.scn-court-officer-warning .co-officer { position:absolute; bottom:22%; right:22%; width:14%; height:42%; background: linear-gradient(180deg, #2a2a3a 0%, #14141e 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(5deg); animation: co-officer 1.8s ease-in-out infinite; }
.scn-court-officer-warning .co-door    { position:absolute; bottom:0; left:10%; width:20%; height:80%; background: linear-gradient(180deg, #5c4a2e 0%, #3a2e1c 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 12px 20px rgba(0,0,0,.4); animation: co-door 15s ease-in-out infinite; }
.scn-court-officer-warning .co-light   { position:absolute; top:10%; left:30%; width:40%; height:15%; background: linear-gradient(90deg, rgba(255,240,200,0.5) 0%, rgba(255,240,200,0.1) 100%); transform: skewX(-20deg); animation: co-light 3s ease-in-out infinite alternate; }
.scn-court-officer-warning .co-smoke   { position:absolute; bottom:30%; left:35%; width:20%; height:12%; background: rgba(180,160,130,0.2); border-radius: 50%; filter: blur(8px); animation: co-smoke 6s linear infinite; }
.scn-court-officer-warning .co-shadow  { position:absolute; bottom:0; left:25%; right:25%; height:20%; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 100%); }
@keyframes co-tutt { 0% { transform: translateX(0) rotate(-0.5deg); } 50% { transform: translateX(4px) rotate(0.5deg) scaleX(1.02); } 100% { transform: translateX(0) rotate(-0.5deg); } }
@keyframes co-case { 0% { transform: translateY(0) scale(1); } 100% { transform: translateY(-3px) scale(1.05); } }
@keyframes co-officer { 0% { transform: rotate(5deg) translateX(0); } 50% { transform: rotate(3deg) translateX(-2px); } 100% { transform: rotate(5deg) translateX(0); } }
@keyframes co-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes co-light { 0% { opacity: .3; } 100% { opacity: .7; } }
@keyframes co-smoke { 0% { transform: translateY(0) scale(1); opacity: 0.3; } 50% { transform: translateY(-20px) scale(1.5); opacity: 0.1; } 100% { transform: translateY(-40px) scale(2); opacity: 0; } }

/* item-stogy */
.scn-item-stogy { background: linear-gradient(180deg, #2a2430 0%, #1f1a28 50%, #14101a 100%), radial-gradient(ellipse at 40% 60%, #3a2a3a 0%, transparent 70%); }
.scn-item-stogy .is-transom { position:absolute; top:10%; left:30%; right:30%; height:20%; background: #3a2e20; border-radius: 4% 4% 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); animation: is-transom 12s ease-in-out infinite; }
.scn-item-stogy .is-smoke   { position:absolute; top:5%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse at 50% 30%, rgba(180,200,220,0.3) 0%, transparent 70%); filter: blur(6px); animation: is-smoke 8s linear infinite; }
.scn-item-stogy .is-hand    { position:absolute; bottom:25%; left:38%; width:20%; height:20%; background: linear-gradient(135deg, #4a3a2a 0%, #2c2018 100%); border-radius: 50% 20% 20% 50% / 40% 30% 30% 40%; transform: rotate(30deg); animation: is-hand 2s ease-in-out infinite; }
.scn-item-stogy .is-stogy   { position:absolute; bottom:28%; left:44%; width:12%; height:4%; background: linear-gradient(90deg, #7a4a2a 0%, #5c3518 50%, #7a4a2a 100%); border-radius: 40%; box-shadow: 0 0 12px 4px rgba(255,120,40,0.3); animation: is-stogy 1.5s ease-in-out infinite; }
.scn-item-stogy .is-phelan  { position:absolute; bottom:22%; right:28%; width:14%; height:40%; background: linear-gradient(180deg, #1e1e2a 0%, #0f0f1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: is-phelan 3s ease-in-out infinite; }
.scn-item-stogy .is-haze    { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, rgba(20,16,26,0) 0%, #1a1622 100%); }
@keyframes is-transom { 0% { opacity: .8; } 50% { opacity: .95; } 100% { opacity: .8; } }
@keyframes is-smoke { 0% { transform: translateX(-10px) scale(1); opacity: 0.4; } 50% { transform: translateX(15px) scale(1.3); opacity: 0.2; } 100% { transform: translateX(30px) scale(1.6); opacity: 0; } }
@keyframes is-hand { 0% { transform: rotate(30deg) translateX(0); } 50% { transform: rotate(25deg) translateX(4px); } 100% { transform: rotate(30deg) translateX(0); } }
@keyframes is-stogy { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(2px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes is-phelan { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }

/* jury-deliberation-begins */
.scn-jury-deliberation-begins { background: linear-gradient(135deg, #f0e8c0 0%, #e0d4a0 50%, #c8b878 100%), radial-gradient(ellipse at 70% 30%, #fff4d0 0%, transparent 60%); }
.scn-jury-deliberation-begins .jd-cuspidor { position:absolute; bottom:15%; left:10%; width:12%; height:10%; background: radial-gradient(ellipse at 50% 30%, #8a6e3e 0%, #5c4828 100%); border-radius: 50%; box-shadow: inset 0 -6px 10px rgba(0,0,0,.3); animation: jd-cuspidor 6s ease-in-out infinite; }
.scn-jury-deliberation-begins .jd-fatman   { position:absolute; bottom:20%; left:40%; width:25%; height:50%; background: linear-gradient(180deg, #3a2a1a 0%, #1e1410 100%); border-radius: 60% 60% 50% 50% / 70% 70% 50% 50%; transform-origin: bottom center; animation: jd-fatman 3s ease-in-out infinite; }
.scn-jury-deliberation-begins .jd-mule     { position:absolute; bottom:22%; right:20%; width:18%; height:35%; background: linear-gradient(180deg, #2a1e14 0%, #1a100a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: jd-mule 4s ease-in-out infinite; }
.scn-jury-deliberation-begins .jd-table    { position:absolute; bottom:18%; left:30%; right:30%; height:12%; background: linear-gradient(180deg, #8b6914 0%, #5c460a 100%); border-radius: 10% 10% 0 0; box-shadow: inset 0 -4px 8px rgba(0,0,0,.3); }
.scn-jury-deliberation-begins .jd-chair    { position:absolute; bottom:18%; left:65%; width:10%; height:20%; background: linear-gradient(180deg, #6b4c1e 0%, #4a3010 100%); border-radius: 20% 20% 0 0; transform-origin: bottom center; animation: jd-chair 8s ease-in-out infinite; }
.scn-jury-deliberation-begins .jd-window   { position:absolute; top:12%; left:20%; width:20%; height:25%; background: radial-gradient(ellipse at 50% 30%, #e0f0ff 0%, #a0b8d0 80%); border: 6px solid #6b4c1e; border-radius: 10%; box-shadow: inset 0 0 20px rgba(255,255,180,.3); animation: jd-window 15s ease-in-out infinite alternate; }
.scn-jury-deliberation-begins .jd-laugh    { position:absolute; top:30%; left:30%; width:40%; height:10%; background: linear-gradient(90deg, transparent 0%, rgba(255,200,100,.3) 20%, transparent 40%, rgba(255,200,100,.3) 60%, transparent 80%); filter: blur(3px); animation: jd-laugh 2s ease-in-out infinite; }
.scn-jury-deliberation-begins .jd-stool    { position:absolute; bottom:18%; left:50%; width:8%; height:6%; background: #5c4828; border-radius: 20%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: jd-stool 10s ease-in-out infinite; }
@keyframes jd-cuspidor { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-2px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes jd-fatman { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(3px) scaleY(1.03) rotate(0.5deg); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes jd-mule { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes jd-chair { 0% { transform: rotate(0); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0); } }
@keyframes jd-window { 0% { box-shadow: inset 0 0 20px rgba(255,255,180,.3); } 50% { box-shadow: inset 0 0 40px rgba(255,255,200,.6); } 100% { box-shadow: inset 0 0 30px rgba(255,255,180,.4); } }
@keyframes jd-laugh { 0% { opacity: 0.2; transform: scaleX(0.8); } 50% { opacity: 0.6; transform: scaleX(1.2); } 100% { opacity: 0.2; transform: scaleX(0.8); } }
@keyframes jd-stool { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-pepperill-prepares-case {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 40%, #c8b898 100%),
    radial-gradient(ellipse at 30% 50%, #f0e8d8 0%, transparent 60%);
}
.scn-pepperill-prepares-case .office-wall { position:absolute; inset:0 0 55% 0; background: linear-gradient(90deg, #c8b8a0 0%, #d8ccb8 50%, #c8b8a0 100%); border-bottom: 3px solid #a09078; animation: ppc-wall 20s ease-in-out infinite alternate; }
.scn-pepperill-prepares-case .window-blind { position:absolute; top:8%; right:8%; width:28%; height:45%; background: repeating-linear-gradient(0deg, #e0d4c0 0px, #e0d4c0 4px, #d0c0a8 4px, #d0c0a8 8px); border: 2px solid #a09078; box-shadow: inset 0 0 20px rgba(160,144,120,.5); animation: ppc-blind 12s ease-in-out infinite; }
.scn-pepperill-prepares-case .desk-top { position:absolute; bottom:20%; left:12%; right:12%; height:18%; background: linear-gradient(180deg, #8a7050 0%, #6a5538 30%, #5a4530 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 6px 20px rgba(0,0,0,.4), inset 0 2px 4px rgba(255,255,255,.1); animation: ppc-desk 15s ease-in-out infinite alternate; }
.scn-pepperill-prepares-case .desk-legs { position:absolute; bottom:10%; left:18%; right:18%; height:12%; background: linear-gradient(90deg, #4a3a28 0%, #5a4530 50%, #4a3a28 100%); border-radius: 0 0 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-pepperill-prepares-case .desk-lamp { position:absolute; bottom:38%; left:25%; width:16px; height:28px; background: linear-gradient(180deg, #6a7a50 0%, #4a5a38 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-8deg); box-shadow: 0 0 12px rgba(200,180,100,.3); animation: ppc-lamp 6s ease-in-out infinite alternate; }
.scn-pepperill-prepares-case .lamp-glow { position:absolute; bottom:32%; left:24%; width:40px; height:30px; background: radial-gradient(ellipse, rgba(230,210,140,.6) 0%, rgba(230,210,140,.2) 40%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: ppc-glowa 4s ease-in-out infinite alternate; }
.scn-pepperill-prepares-case .stenographer { position:absolute; bottom:20%; right:28%; width:24px; height:48px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 50%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin: bottom center; animation: ppc-type 2s ease-in-out infinite; }
.scn-pepperill-prepares-case .paper-stack { position:absolute; bottom:22%; left:35%; width:50px; height:6px; background: #f0e8d8; border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.2); transform: rotate(-2deg); animation: ppc-paper 8s ease-in-out infinite alternate; }
.scn-pepperill-prepares-case .pen-moving { position:absolute; bottom:28%; left:40%; width:20px; height:4px; background: linear-gradient(90deg, #4a3a28 0%, #6a5538 100%); border-radius: 40% 10% 10% 40%; transform: rotate(-15deg); transform-origin: 90% 50%; animation: ppc-pen 3s ease-in-out infinite; }
@keyframes ppc-wall { 0% { box-shadow: inset 0 0 30px rgba(0,0,0,.05); } 50% { box-shadow: inset 0 0 60px rgba(0,0,0,.1); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,.05); } }
@keyframes ppc-blind { 0% { opacity: .7; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes ppc-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ppc-lamp { 0% { transform: rotate(-8deg) scaleY(1); } 50% { transform: rotate(-5deg) scaleY(1.02); } 100% { transform: rotate(-8deg) scaleY(1); } }
@keyframes ppc-glowa { 0% { opacity: .4; transform: scale(1); } 50% { opacity: .7; transform: scale(1.2); } 100% { opacity: .4; transform: scale(1); } }
@keyframes ppc-type { 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 ppc-paper { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(1deg) translateX(4px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes ppc-pen { 0% { transform: rotate(-15deg) translateX(0); } 30% { transform: rotate(-10deg) translateX(2px); } 60% { transform: rotate(-18deg) translateX(-1px); } 100% { transform: rotate(-15deg) translateX(0); } }

.scn-prosecution-evidence {
  background:
    linear-gradient(180deg, #d0c8b8 0%, #c0b8a8 40%, #b0a898 100%),
    radial-gradient(ellipse at 50% 0%, #e8e0d0 0%, transparent 60%);
}
.scn-prosecution-evidence .court-wall { position:absolute; inset:0 0 50% 0; background: linear-gradient(90deg, #b8a890 0%, #c8b8a0 50%, #b8a890 100%); border-bottom: 4px solid #8a7a68; }
.scn-prosecution-evidence .evidence-table { position:absolute; bottom:18%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #7a6a58 0%, #5a4a38 50%, #4a3a28 100%); border-radius: 6% 6% 3% 3%; box-shadow: 0 8px 24px rgba(0,0,0,.4); animation: pe-table 16s ease-in-out infinite alternate; }
.scn-prosecution-evidence .exhibit-a { position:absolute; bottom:28%; left:20%; width:40px; height:30px; background: linear-gradient(180deg, #c8b898 0%, #b0a080 100%); border: 2px solid #8a7a68; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.3); transform: rotate(-3deg); animation: pe-exhibit 10s ease-in-out infinite alternate; }
.scn-prosecution-evidence .exhibit-b { position:absolute; bottom:25%; left:35%; width:35px; height:25px; background: linear-gradient(180deg, #d0c0a8 0%, #b8a890 100%); border: 2px solid #8a7a68; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.3); transform: rotate(2deg); animation: pe-exhibit 10s ease-in-out infinite alternate-reverse; }
.scn-prosecution-evidence .gavel { position:absolute; bottom:35%; left:55%; width:8px; height:24px; background: linear-gradient(180deg, #6a5538 0%, #4a3a28 100%); border-radius: 10%; transform: rotate(10deg); transform-origin: 50% 100%; animation: pe-gavel 5s ease-in-out infinite; }
.scn-prosecution-evidence .gavel::after { content:''; position:absolute; top:-8px; left:-6px; width:20px; height:10px; background: linear-gradient(180deg, #5a4530 0%, #3a2a18 100%); border-radius: 30% 30% 20% 20%; }
.scn-prosecution-evidence .witness-box { position:absolute; bottom:20%; left:72%; width:30px; height:40px; background: linear-gradient(180deg, #4a4a5a 0%, #3a3a4a 50%, #2a2a3a 100%); border-radius: 30% 30% 20% 20% / 40% 40% 25% 25%; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: pe-witness 7s ease-in-out infinite; }
.scn-prosecution-evidence .prosecutor { position:absolute; bottom:20%; left:45%; width:28px; height:52px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin: bottom center; animation: pe-prosec 4s ease-in-out infinite; }
.scn-prosecution-evidence .paper-sheet { position:absolute; bottom:30%; left:50%; width:20px; height:12px; background: #f0e8d8; border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,.2); transform: rotate(-5deg); animation: pe-sheet 9s ease-in-out infinite alternate; }
@keyframes pe-table { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes pe-exhibit { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(1deg) translateX(3px); } 100% { transform: rotate(-3deg) translateX(0); } }
@keyframes pe-gavel { 0% { transform: rotate(10deg) translateY(0); } 25% { transform: rotate(15deg) translateY(-3px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(12deg) translateY(-1px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes pe-witness { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pe-prosec { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pe-sheet { 0% { transform: rotate(-5deg) translateX(0); } 50% { transform: rotate(2deg) translateX(4px); } 100% { transform: rotate(-5deg) translateX(0); } }

.scn-version-of-crime {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #1e1e2e 100%),
    radial-gradient(ellipse at 30% 40%, #3a3a4e 0%, transparent 70%);
}
.scn-version-of-crime .dim-room-bg { position:absolute; inset:0 0 50% 0; background: linear-gradient(90deg, #1a1a28 0%, #2a2a3a 50%, #1a1a28 100%); border-bottom: 3px solid #0a0a18; box-shadow: inset 0 0 80px rgba(0,0,0,.5); animation: voc-bg 20s ease-in-out infinite alternate; }
.scn-version-of-crime .table-surface { position:absolute; bottom:15%; left:8%; right:8%; height:22%; background: linear-gradient(180deg, #3a2a28 0%, #2a1a18 50%, #1a0a08 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 8px 30px rgba(0,0,0,.6); animation: voc-table 18s ease-in-out infinite alternate; }
.scn-version-of-crime .lamp-shade { position:absolute; bottom:38%; left:28%; width:40px; height:25px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 10% 10%; transform: rotate(-5deg); box-shadow: 0 0 20px rgba(100,80,60,.5); animation: voc-lamp 8s ease-in-out infinite alternate; }
.scn-version-of-crime .lamp-beam { position:absolute; bottom:15%; left:25%; right:35%; height:35%; background: linear-gradient(180deg, rgba(120,100,80,.15) 0%, rgba(80,60,40,.08) 60%, transparent 100%); clip-path: polygon(30% 0%, 70% 0%, 90% 100%, 10% 100%); animation: voc-beam 6s ease-in-out infinite alternate; }
.scn-version-of-crime .figure-intruder { position:absolute; bottom:15%; left:55%; width:30px; height:55px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 50%, #050510 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin: bottom center; animation: voc-intruder 5s ease-in-out infinite; }
.scn-version-of-crime .figure-victim { position:absolute; bottom:15%; left:25%; width:28px; height:48px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 35% 35%; transform-origin: bottom center; animation: voc-victim 4s ease-in-out infinite; }
.scn-version-of-crime .shadow-sharp { position:absolute; bottom:15%; left:50%; width:80px; height:10px; background: rgba(0,0,0,.5); border-radius: 50%; filter: blur(6px); transform: skewX(-20deg); animation: voc-sharp 7s ease-in-out infinite alternate; }
.scn-version-of-crime .shadow-diffuse { position:absolute; bottom:12%; left:15%; right:20%; height:20px; background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(15px); animation: voc-diffuse 10s ease-in-out infinite alternate; }
@keyframes voc-bg { 0% { opacity: .7; } 50% { opacity: .9; } 100% { opacity: .7; } }
@keyframes voc-table { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes voc-lamp { 0% { transform: rotate(-5deg) scaleY(1); } 50% { transform: rotate(-3deg) scaleY(1.05); } 100% { transform: rotate(-5deg) scaleY(1); } }
@keyframes voc-beam { 0% { opacity: .3; transform: scaleX(1); } 50% { opacity: .6; transform: scaleX(1.08); } 100% { opacity: .3; transform: scaleX(1); } }
@keyframes voc-intruder { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-4px) rotate(3deg); } 40% { transform: translateY(0) rotate(0deg); } 60% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes voc-victim { 0% { transform: translateY(0) rotate(0deg) scaleX(1); } 30% { transform: translateY(-3px) rotate(-2deg) scaleX(.95); } 60% { transform: translateY(0) rotate(0deg) scaleX(1); } 100% { transform: translateY(0) rotate(0deg) scaleX(1); } }
@keyframes voc-sharp { 0% { transform: skewX(-20deg) translateX(0); } 50% { transform: skewX(-15deg) translateX(5px); } 100% { transform: skewX(-20deg) translateX(0); } }
@keyframes voc-diffuse { 0% { opacity: .2; transform: scaleX(1); } 50% { opacity: .4; transform: scaleX(1.1); } 100% { opacity: .2; transform: scaleX(1); } }

.scn-pepperill-has-diagram {
  background:
    linear-gradient(180deg, #e0d4c0 0%, #d0c4b0 40%, #c0b4a0 100%),
    radial-gradient(ellipse at 70% 20%, #f0e8d8 0%, transparent 60%);
}
.scn-pepperill-has-diagram .office-wall-lit { position:absolute; inset:0 0 55% 0; background: linear-gradient(90deg, #c8b8a0 0%, #d8ccb8 50%, #c8b8a0 100%); border-bottom: 3px solid #a09078; box-shadow: inset 0 0 40px rgba(200,180,150,.2); animation: phd-wall 18s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .diagram-board { position:absolute; top:10%; right:8%; width:32%; height:40%; background: linear-gradient(180deg, #e8dcc8 0%, #d8ccb8 100%); border: 3px solid #8a7a68; border-radius: 4px; box-shadow: 0 8px 24px rgba(0,0,0,.3); transform: rotate(-2deg); animation: phd-board 14s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .diagram-lines { position:absolute; top:15%; right:10%; width:28%; height:30%; background:
  linear-gradient(0deg, transparent 49%, #4a3a28 49%, #4a3a28 51%, transparent 51%),
  linear-gradient(90deg, transparent 49%, #4a3a28 49%, #4a3a28 51%, transparent 51%);
  opacity: .4; animation: phd-lines 8s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .desk-stained { position:absolute; bottom:20%; left:10%; right:10%; height:18%; background: linear-gradient(180deg, #7a6a58 0%, #5a4a38 50%, #4a3a28 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 6px 20px rgba(0,0,0,.4), inset 0 2px 4px rgba(255,255,255,.1); animation: phd-desk 15s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .inkwell { position:absolute; bottom:28%; left:22%; width:14px; height:16px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 2px 8px rgba(0,0,0,.4); animation: phd-ink 5s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .photo-exhibit { position:absolute; bottom:30%; left:40%; width:30px; height:24px; background: linear-gradient(180deg, #c8b898 0%, #b0a080 100%); border: 2px solid #8a7a68; border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,.3); transform: rotate(3deg); animation: phd-photo 11s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .indictment-paper { position:absolute; bottom:25%; left:60%; width:40px; height:28px; background: #f0e8d8; border: 1px solid #a09078; border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,.2); transform: rotate(-4deg); animation: phd-paper 9s ease-in-out infinite alternate; }
.scn-pepperill-has-diagram .stamp-mark { position:absolute; bottom:30%; left:70%; width:18px; height:14px; background: linear-gradient(135deg, #5a3050 0%, #7a4070 50%, #5a3050 100%); border-radius: 40% 20% 30% 10%; transform: rotate(-15deg); opacity: .7; box-shadow: 0 2px 6px rgba(90,48,80,.3); animation: phd-stamp 6s ease-in-out infinite alternate; }
@keyframes phd-wall { 0% { box-shadow: inset 0 0 30px rgba(0,0,0,.05); } 50% { box-shadow: inset 0 0 60px rgba(0,0,0,.1); } 100% { box-shadow: inset 0 0 30px rgba(0,0,0,.05); } }
@keyframes phd-board { 0% { transform: rotate(-2deg) translateX(0); } 50% { transform: rotate(0deg) translateX(3px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes phd-lines { 0% { opacity: .3; transform: scale(1); } 50% { opacity: .5; transform: scale(1.05); } 100% { opacity: .3; transform: scale(1); } }
@keyframes phd-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes phd-ink { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes phd-photo { 0% { transform: rotate(3deg) translateX(0); } 50% { transform: rotate(-1deg) translateX(4px); } 100% { transform: rotate(3deg) translateX(0); } }
@keyframes phd-paper { 0% { transform: rotate(-4deg) translateX(0); } 50% { transform: rotate(1deg) translateX(3px); } 100% { transform: rotate(-4deg) translateX(0); } }
@keyframes phd-stamp { 0% { transform: rotate(-15deg) scale(1); opacity: .5; } 50% { transform: rotate(-10deg) scale(1.1); opacity: .8; } 100% { transform: rotate(-15deg) scale(1); opacity: .5; } }

/* choosing-projectile: bright interior, funny, warm ochre/amber/cream */
.scn-choosing-projectile {
  background:
    radial-gradient(ellipse at 70% 40%, #f5e6c8 0%, transparent 60%),
    linear-gradient(180deg, #f0dbb0 0%, #e8c88a 40%, #d4a96a 100%);
}
.scn-choosing-projectile .wall-back {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #f2e0b8 0%, #ecd6a0 50%, #f2e0b8 100%);
  border-radius: 0 0 10% 10% / 0 0 20% 20%;
  animation: cp-wallpulse 9s ease-in-out infinite alternate;
}
.scn-choosing-projectile .wall-side {
  position: absolute; inset: 0 0 20% auto; width: 12%;
  background: linear-gradient(180deg, #e8cfa0 0%, #d9b880 100%);
  box-shadow: inset -4px 0 12px rgba(0,0,0,0.15);
  animation: cp-wallpulse 9s ease-in-out infinite alternate reverse;
}
.scn-choosing-projectile .table {
  position: absolute; bottom: 8%; left: 18%; width: 64%; height: 18%;
  background: linear-gradient(180deg, #c49a6a 0%, #a57a4a 40%, #8a6030 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.3);
  animation: cp-tablebob 7s ease-in-out infinite;
}
.scn-choosing-projectile .figure-left {
  position: absolute; bottom: 22%; left: 28%; width: 20px; height: 44px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3520 80%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: cp-figlean 4s ease-in-out infinite alternate;
}
.scn-choosing-projectile .figure-right {
  position: absolute; bottom: 22%; right: 30%; width: 22px; height: 46px;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a15 80%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: cp-figlean 4s ease-in-out infinite alternate-reverse;
}
.scn-choosing-projectile .paperweight {
  position: absolute; bottom: 16%; left: 42%; width: 12px; height: 14px;
  background: radial-gradient(circle at 35% 30%, #e8e0d0 0%, #a09880 70%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.3);
  animation: cp-weightjig 2s ease-in-out infinite;
}
.scn-choosing-projectile .bottle {
  position: absolute; bottom: 18%; right: 38%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #6a8a4a 0%, #3a5a2a 100%);
  border-radius: 40% 40% 20% 20% / 30% 30% 40% 40%;
  transform: rotate(6deg);
  animation: cp-bottletilt 3s ease-in-out infinite alternate;
}
.scn-choosing-projectile .window-light {
  position: absolute; top: 6%; right: 8%; width: 30px; height: 40px;
  background: radial-gradient(ellipse, #fff8e0 0%, #f0d080 60%, transparent 100%);
  opacity: 0.5;
  animation: cp-lightfade 5s ease-in-out infinite alternate;
}
@keyframes cp-wallpulse { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes cp-tablebob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes cp-figlean { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes cp-weightjig { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(2px) rotate(8deg); } 75% { transform: translateX(-1px) rotate(-4deg); } }
@keyframes cp-bottletilt { 0% { transform: rotate(4deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(6deg); } }
@keyframes cp-lightfade { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.05); } 100% { opacity: 0.4; transform: scale(0.98); } }

/* ink-bottle-launched: bright interior, action, side view */
.scn-ink-bottle-launched {
  background:
    radial-gradient(ellipse at 60% 80%, #f0dbb0 0%, transparent 50%),
    linear-gradient(180deg, #e8d0a0 0%, #d4b880 50%, #b89860 100%);
}
.scn-ink-bottle-launched .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #a88050 0%, #8a6a40 100%);
  border-radius: 0 0 0 0;
}
.scn-ink-bottle-launched .back-wall {
  position: absolute; inset: 0 0 18% 0;
  background: linear-gradient(90deg, #e8cca0 0%, #f0d8b0 60%, #e0c898 100%);
  border-radius: 0 0 8% 8% / 0 0 12% 12%;
  animation: ib-wallshimmer 10s ease-in-out infinite alternate;
}
.scn-ink-bottle-launched .scuttle {
  position: absolute; top: 10%; right: 18%; width: 40px; height: 36px;
  background: linear-gradient(135deg, #c8a880 0%, #a08058 100%);
  border-radius: 8% 8% 4% 4%;
  transform: rotate(-10deg) skewX(12deg);
  box-shadow: -4px 6px 12px rgba(0,0,0,0.3);
  animation: ib-scuttleshake 1.5s ease-in-out infinite;
}
.scn-ink-bottle-launched .apparatus {
  position: absolute; bottom: 30%; left: 30%; width: 28px; height: 10px;
  background: linear-gradient(180deg, #b09060 0%, #8a7040 100%);
  border-radius: 20% 20% 30% 30%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: ib-appahump 0.8s ease-in-out infinite alternate;
}
.scn-ink-bottle-launched .bow-detail {
  position: absolute; bottom: 32%; left: 34%; width: 14px; height: 4px;
  background: #6a5020;
  border-radius: 0 50% 50% 0;
  transform: rotate(-15deg) scaleX(0.8);
  animation: ib-bowtwang 0.3s ease-in-out infinite;
}
.scn-ink-bottle-launched .bottle-flight {
  position: absolute; bottom: 48%; right: 24%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #6a8a4a 0%, #3a5a2a 100%);
  border-radius: 40% 40% 20% 20% / 30% 30% 40% 40%;
  transform: rotate(45deg);
  animation: ib-bottlearc 2s ease-in-out infinite;
}
.scn-ink-bottle-launched .trail {
  position: absolute; bottom: 44%; right: 28%; width: 20px; height: 2px;
  background: linear-gradient(90deg, #6a8a4a 0%, transparent 100%);
  opacity: 0.6;
  border-radius: 50%;
  animation: ib-trailfade 1.2s ease-out infinite;
}
@keyframes ib-wallshimmer { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.92; } }
@keyframes ib-scuttleshake { 0%,100% { transform: rotate(-10deg) skewX(12deg) translateX(0); } 25% { transform: rotate(-8deg) skewX(14deg) translateX(2px); } 75% { transform: rotate(-12deg) skewX(10deg) translateX(-1px); } }
@keyframes ib-appahump { 0% { transform: rotate(-15deg) translateY(0); } 100% { transform: rotate(-17deg) translateY(-3px); } }
@keyframes ib-bowtwang { 0% { transform: rotate(-15deg) scaleX(0.8); } 50% { transform: rotate(-15deg) scaleX(1); } 100% { transform: rotate(-15deg) scaleX(0.8); } }
@keyframes ib-bottlearc { 0% { bottom: 48%; right: 24%; transform: rotate(45deg); } 50% { bottom: 60%; right: 18%; transform: rotate(60deg); } 100% { bottom: 48%; right: 24%; transform: rotate(45deg); } }
@keyframes ib-trailfade { 0% { opacity: 0.8; width: 20px; } 100% { opacity: 0; width: 40px; } }

/* camel-sticks-head-out: sunlit, funny, warm golds/blues, silhouette */
.scn-camel-sticks-head-out {
  background:
    radial-gradient(ellipse at 80% 30%, #ffd080 0%, transparent 50%),
    linear-gradient(180deg, #b8d4e0 0%, #e0f0ff 40%, #c8d8e8 80%, #a0b8c8 100%);
}
.scn-camel-sticks-head-out .sky-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0f8ff 0%, #d0e0f0 60%, transparent 100%);
  animation: co-skypulse 12s ease-in-out infinite alternate;
}
.scn-camel-sticks-head-out .roof-edge {
  position: absolute; bottom: 28%; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: co-roofshift 8s ease-in-out infinite alternate;
}
.scn-camel-sticks-head-out .penthouse {
  position: absolute; bottom: 30%; right: 8%; width: 30%; height: 16%;
  background: linear-gradient(135deg, #9a8a7a 0%, #6a5a4a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
  animation: co-pentbob 7s ease-in-out infinite;
}
.scn-camel-sticks-head-out .scuttle-cover {
  position: absolute; bottom: 38%; right: 14%; width: 14%; height: 8%;
  background: linear-gradient(135deg, #b0a090 0%, #8a7a6a 100%);
  border-radius: 0 0 20% 20%;
  transform: rotateX(40deg);
  transform-origin: top center;
  animation: co-scuttleopen 3s ease-in-out infinite alternate;
}
.scn-camel-sticks-head-out .camel-head {
  position: absolute; bottom: 44%; right: 16%; width: 30px; height: 36px;
  background: linear-gradient(180deg, #d4b080 0%, #b89060 60%, #a07848 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: co-camelrise 4s ease-in-out infinite;
  box-shadow: 2px 4px 12px rgba(0,0,0,0.2);
}
.scn-camel-sticks-head-out .camel-lips {
  position: absolute; bottom: 44%; right: 16%; width: 14px; height: 8px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40%;
  transform: translate(4px, 18px);
  animation: co-lipssmack 2s ease-in-out infinite;
}
.scn-camel-sticks-head-out .camel-eye {
  position: absolute; bottom: 44%; right: 16%; width: 6px; height: 6px;
  background: radial-gradient(circle, #3a2a1a 0%, #1a0a00 80%);
  border-radius: 50%;
  transform: translate(16px, 8px);
  animation: co-eye blink 2.8s ease-in-out infinite;
}
.scn-camel-sticks-head-out .shadow-cast {
  position: absolute; bottom: 28%; right: 6%; width: 20%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.15) 0%, transparent 100%);
  animation: co-shadowripple 5s ease-in-out infinite alternate;
}
@keyframes co-skypulse { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes co-roofshift { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes co-pentbob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes co-scuttleopen { 0% { transform: rotateX(40deg) scaleY(0.6); } 50% { transform: rotateX(30deg) scaleY(0.8); } 100% { transform: rotateX(40deg) scaleY(0.6); } }
@keyframes co-camelrise { 0% { transform: scaleY(0.6) translateY(8px); } 30% { transform: scaleY(1) translateY(0); } 70% { transform: scaleY(1.1) translateY(-2px); } 100% { transform: scaleY(0.6) translateY(8px); } }
@keyframes co-lipssmack { 0%,100% { transform: translate(4px, 18px) scaleX(1); } 50% { transform: translate(4px, 18px) scaleX(1.2) scaleY(0.8); } }
@keyframes co-eye { 0%,90%,100% { transform: translate(16px, 8px) scaleY(1); } 95% { transform: translate(16px, 8px) scaleY(0.2); } }
@keyframes co-shadowripple { 0% { opacity: 0.1; transform: scaleX(1); } 50% { opacity: 0.2; transform: scaleX(1.1); } 100% { opacity: 0.1; transform: scaleX(1); } }

/* camel-ink-stained: sunlit, funny, red ink but desaturated (rust/terracotta per rule 11) */
.scn-camel-ink-stained {
  background:
    radial-gradient(ellipse at 70% 40%, #f0d080 0%, transparent 50%),
    linear-gradient(180deg, #b8d4e0 0%, #d8e8f0 40%, #b0c8d8 80%, #90a8b8 100%);
}
.scn-camel-ink-stained .sky-flash {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0f8ff 0%, #d0e0f0 60%, transparent 100%);
  animation: ci-skyflash 2s ease-in-out infinite;
}
.scn-camel-ink-stained .roof-slope {
  position: absolute; bottom: 24%; left: 0; right: 0; height: 14%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
  animation: ci-roofdip 4s ease-in-out infinite alternate;
}
.scn-camel-ink-stained .camel-mug {
  position: absolute; bottom: 30%; right: 18%; width: 28px; height: 32px;
  background: linear-gradient(180deg, #c0a070 0%, #a08050 60%, #8a6a40 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  box-shadow: 2px 4px 12px rgba(0,0,0,0.2);
  animation: ci-camelreel 1.5s ease-in-out infinite;
}
.scn-camel-ink-stained .ink-splash {
  position: absolute; bottom: 32%; right: 12%; width: 40px; height: 30px;
  background: radial-gradient(circle at 40% 50%, #c8553d 0%, #a0461a 40%, transparent 100%);
  border-radius: 50% 50% 40% 40%;
  animation: ci-splashburst 0.8s ease-out infinite;
  opacity: 0.8;
}
.scn-camel-ink-stained .ink-drip {
  position: absolute; bottom: 26%; right: 8%; width: 4px; height: 20px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 0 0 50% 50%;
  animation: ci-dripfall 1.2s ease-in infinite;
}
.scn-camel-ink-stained .ink-pool {
  position: absolute; bottom: 22%; right: 6%; width: 16%; height: 6%;
  background: radial-gradient(ellipse, #b84830 0%, #8a3018 60%, transparent 100%);
  border-radius: 50%;
  animation: ci-poolspread 2.5s ease-out infinite alternate;
}
.scn-camel-ink-stained .camel-recoil {
  position: absolute; bottom: 30%; right: 18%; width: 28px; height: 32px;
  background: linear-gradient(180deg, #8a6a40 0%, #6a4a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 35% 35%;
  opacity: 0;
  animation: ci-recoil 1.5s ease-in-out infinite;
}
@keyframes ci-skyflash { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
@keyframes ci-roofdip { 0% { transform: translateY(0); } 50% { transform: translateY(3px); } 100% { transform: translateY(0); } }
@keyframes ci-camelreel { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(-6px) rotate(-8deg); } 60% { transform: translateX(4px) rotate(6deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ci-splashburst { 0% { transform: scale(0.3); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.6; } 100% { transform: scale(2); opacity: 0; } }
@keyframes ci-dripfall { 0% { transform: translateY(-10px); opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } }
@keyframes ci-poolspread { 0% { transform: scaleX(0.2); opacity: 0.3; } 50% { transform: scaleX(1); opacity: 0.8; } 100% { transform: scaleX(0.5); opacity: 0.5; } }
@keyframes ci-recoil { 0%,100% { opacity: 0; transform: scaleY(1); } 20% { opacity: 0.8; transform: scaleY(0.7) translateY(10px); } 60% { opacity: 0.4; transform: scaleY(0.5) translateY(20px); } }

/* Scene: pepperill-new-york (pny) */
.scn-pepperill-new-york {
  background: linear-gradient(180deg, #fef9e7 0%, #f5e6ca 40%, #e8d5b8 100%),
              radial-gradient(ellipse at 50% 20%, #fffbe6 0%, transparent 60%);
}
.scn-pepperill-new-york .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #fdf4e0 0%, #f0dfc4 100%);
  animation: pny-wall 12s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #b0885a 0%, #8b6e45 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.15);
  animation: pny-desk 18s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .lamp {
  position: absolute; bottom: 45%; left: 15%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #d4af37 0%, #b8952a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 10% 10%;
  box-shadow: 0 0 40px 20px rgba(212,175,55,0.6), 0 0 80px 40px rgba(212,175,55,0.3);
  animation: pny-lamp 3s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .papers {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%;
  background: #fef9e7; border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  animation: pny-papers 5s ease-in-out infinite;
}
.scn-pepperill-new-york .chair {
  position: absolute; bottom: 10%; right: 20%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #6b4f3a 0%, #3e2c1e 100%);
  border-radius: 40% 40% 20% 20% / 80% 80% 10% 10%; box-shadow: -4px 0 12px rgba(0,0,0,0.2);
  animation: pny-chair 4s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .figure {
  position: absolute; bottom: 25%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; transform-origin: bottom center;
  animation: pny-figure 4s ease-in-out infinite;
}
.scn-pepperill-new-york .window-glare {
  position: absolute; top: 5%; left: 5%; width: 30%; height: 25%;
  background: linear-gradient(135deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.1) 60%, transparent 100%);
  border-radius: 2px; filter: blur(6px);
  animation: pny-glare 8s ease-in-out infinite alternate;
}
@keyframes pny-wall { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes pny-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes pny-lamp { 0% { box-shadow: 0 0 30px 15px rgba(212,175,55,0.5); opacity: 0.9; } 50% { box-shadow: 0 0 60px 30px rgba(255,215,80,0.8); opacity: 1; } 100% { box-shadow: 0 0 35px 18px rgba(212,175,55,0.5); opacity: 0.9; } }
@keyframes pny-papers { 0% { transform: rotate(-2deg) translateX(0); } 25% { transform: rotate(0deg) translateX(5px); } 50% { transform: rotate(3deg) translateX(-5px); } 75% { transform: rotate(0deg) translateX(3px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes pny-chair { 0% { transform: rotate(-1deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes pny-figure { 0% { transform: rotate(-2deg) translateX(0); } 25% { transform: rotate(0deg) translateX(8px); } 50% { transform: rotate(2deg) translateX(-8px); } 75% { transform: rotate(0deg) translateX(4px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes pny-glare { 0% { opacity: 0.3; transform: scale(1) translateX(0); } 50% { opacity: 0.7; transform: scale(1.05) translateX(10px); } 100% { opacity: 0.4; transform: scale(1) translateX(0); } }

/* Scene: pepperill-ignorant (pig) */
.scn-pepperill-ignorant {
  background: linear-gradient(180deg, #fefefe 0%, #f2ede4 50%, #e5dbd0 100%),
              radial-gradient(ellipse at 50% 30%, #fff4e0 0%, transparent 70%);
}
.scn-pepperill-ignorant .wall {
  position: absolute; inset: 0; background: linear-gradient(90deg, #e8e1d5 0%, #f7f2e8 50%, #e0d9cc 100%);
  animation: pig-wall 15s ease-in-out infinite alternate;
}
.scn-pepperill-ignorant .mirror-frame {
  position: absolute; top: 10%; left: 25%; width: 50%; height: 70%;
  background: linear-gradient(180deg, #c9a87c 0%, #a8835a 100%);
  border-radius: 8px; box-shadow: inset 0 8px 20px rgba(0,0,0,0.2), 0 6px 12px rgba(0,0,0,0.15);
  animation: pig-mirror 12s ease-in-out infinite alternate;
}
.scn-pepperill-ignorant .figure {
  position: absolute; top: 20%; left: 35%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%; transform-origin: bottom center;
  animation: pig-figure 4s ease-in-out infinite;
}
.scn-pepperill-ignorant .tie-ends {
  position: absolute; top: 28%; left: 48%; width: 4%; height: 12%;
  background: #d4a574; border-radius: 0 0 50% 50%; transform: rotate(10deg);
  animation: pig-tie 3s ease-in-out infinite alternate;
}
.scn-pepperill-ignorant .spats {
  position: absolute; bottom: 5%; left: 40%; width: 8%; height: 5%;
  background: #f0e6d8; border-radius: 20% 20% 0 0; box-shadow: 0 -2px 4px rgba(0,0,0,0.1);
  animation: pig-spats 2s ease-in-out infinite alternate;
}
.scn-pepperill-ignorant .coat-rack {
  position: absolute; bottom: 10%; right: 15%; width: 6%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10%; box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  animation: pig-rack 20s ease-in-out infinite;
}
@keyframes pig-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pig-mirror { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(0.98) rotate(1deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes pig-figure { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-3px); } 50% { transform: rotate(-1deg) translateY(1px); } 75% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes pig-tie { 0% { transform: rotate(8deg) scaleX(1); } 50% { transform: rotate(12deg) scaleX(1.1); } 100% { transform: rotate(8deg) scaleX(1); } }
@keyframes pig-spats { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }
@keyframes pig-rack { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }

/* Scene: tutt-visits-pepperill (tvp) */
.scn-tutt-visits-pepperill {
  background: linear-gradient(180deg, #3d2b1f 0%, #5a3d2b 40%, #7a5a3a 100%),
              radial-gradient(ellipse at 60% 30%, #c49a5a 0%, transparent 60%);
}
.scn-tutt-visits-pepperill .bg-depth {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a1a0a 0%, #3d2b1f 60%, #1a0a00 100%);
  animation: tvp-depth 14s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .bookshelf {
  position: absolute; top: 10%; left: 5%; width: 20%; height: 60%;
  background: linear-gradient(90deg, #6b4f3a 0%, #5a3d2b 50%, #6b4f3a 100%);
  border-radius: 4px; box-shadow: 4px 0 12px rgba(0,0,0,0.4);
  animation: tvp-shelf 20s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .desk {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #8b6e45 0%, #6b4f3a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.5);
  animation: tvp-desk 18s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .chair-figure {
  position: absolute; bottom: 12%; left: 25%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform-origin: bottom center;
  animation: tvp-chair 6s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .standing-figure {
  position: absolute; bottom: 10%; left: 55%; width: 50px; height: 130px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%; transform-origin: bottom center;
  animation: tvp-stand 7s ease-in-out infinite;
}
.scn-tutt-visits-pepperill .lamp-glow {
  position: absolute; top: 10%; left: 40%; width: 40px; height: 60px;
  background: radial-gradient(circle, #ffd580 0%, #c08040 60%, transparent 100%);
  border-radius: 50%; filter: blur(10px);
  animation: tvp-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .rug {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(90deg, #5a3d2b 0%, #7a5a3a 30%, #5a3d2b 70%, #7a5a3a 100%);
  border-radius: 30% 30% 0 0; animation: tvp-rug 10s ease-in-out infinite;
}
@keyframes tvp-depth { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes tvp-shelf { 0% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(5px) rotate(0deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes tvp-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes tvp-chair { 0% { transform: rotate(-2deg) translateX(0); } 25% { transform: rotate(0deg) translateX(5px); } 50% { transform: rotate(2deg) translateX(-5px); } 75% { transform: rotate(0deg) translateX(3px); } 100% { transform: rotate(-2deg) translateX(0); } }
@keyframes tvp-stand { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(-1deg) translateY(1px); } 75% { transform: rotate(1deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes tvp-lamp { 0% { opacity: 0.6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.7; transform: scale(0.9); } }
@keyframes tvp-rug { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }

/* Scene: tutt-offers-plea (top) */
.scn-tutt-offers-plea {
  background: linear-gradient(180deg, #2a1a0a 0%, #3d2b1f 40%, #5a3d2b 100%),
              radial-gradient(ellipse at 50% 60%, #b08040 0%, transparent 70%);
}
.scn-tutt-offers-plea .bg-warm {
  position: absolute; inset: 0; background: linear-gradient(135deg, #1a0a00 0%, #4a3520 100%);
  animation: top-bg 15s ease-in-out infinite alternate;
}
.scn-tutt-offers-plea .table {
  position: absolute; bottom: 10%; left: 5%; right: 5%; height: 40%;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a3520 100%);
  border-radius: 12px 12px 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,0.5);
  animation: top-table 20s ease-in-out infinite alternate;
}
.scn-tutt-offers-plea .hand-left {
  position: absolute; bottom: 20%; left: 20%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #c9a87c 0%, #a8835a 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%; transform-origin: bottom left;
  animation: top-hand-left 4s ease-in-out infinite;
}
.scn-tutt-offers-plea .hand-right {
  position: absolute; bottom: 25%; right: 20%; width: 10%; height: 25%;
  background: linear-gradient(180deg, #d4b08c 0%, #b08a66 100%);
  border-radius: 50% 50% 20% 20% / 30% 30% 10% 10%; transform-origin: bottom right;
  animation: top-hand-right 5s ease-in-out infinite;
}
.scn-tutt-offers-plea .cigar {
  position: absolute; bottom: 30%; left: 22%; width: 8%; height: 4%;
  background: linear-gradient(90deg, #5a3520 0%, #3a1a0a 100%);
  border-radius: 40%; transform: rotate(15deg);
  animation: top-cigar 3s ease-in-out infinite alternate;
}
.scn-tutt-offers-plea .ashtray {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 6%;
  background: #2a1a0a; border-radius: 30% 30% 10% 10%; box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
  animation: top-ashtray 6s ease-in-out infinite;
}
.scn-tutt-offers-plea .lamp-shine {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 50%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,210,100,0.6) 0%, transparent 70%);
  filter: blur(12px); animation: top-shine 7s ease-in-out infinite alternate;
}
@keyframes top-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes top-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes top-hand-left { 0% { transform: rotate(-5deg) scaleY(1); } 25% { transform: rotate(0deg) scaleY(0.95); } 50% { transform: rotate(3deg) scaleY(1.05); } 75% { transform: rotate(-2deg) scaleY(1); } 100% { transform: rotate(-5deg) scaleY(1); } }
@keyframes top-hand-right { 0% { transform: rotate(5deg) scaleY(1); } 25% { transform: rotate(2deg) scaleY(0.95); } 50% { transform: rotate(-3deg) scaleY(1.05); } 75% { transform: rotate(1deg) scaleY(1); } 100% { transform: rotate(5deg) scaleY(1); } }
@keyframes top-cigar { 0% { transform: rotate(12deg) translateX(0); } 50% { transform: rotate(18deg) translateX(5px); } 100% { transform: rotate(12deg) translateX(0); } }
@keyframes top-ashtray { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(0.95) rotate(2deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes top-shine { 0% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } 100% { opacity: 0.4; transform: scale(0.9); } }

/* one block per scene id. Append to style.css. */
.scn-maloof-defends-hassoun {
  background: linear-gradient(180deg, #f9e6c0 0%, #d9b68a 40%, #a67c52 100%),
              radial-gradient(ellipse at 70% 20%, #ffe8b0 30%, transparent 80%);
}
.scn-maloof-defends-hassoun .sky-sun {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #ffe8c0 0%, #f5d6a0 60%, transparent 100%);
  animation: mdh-sky 8s ease-in-out infinite alternate;
}
.scn-maloof-defends-hassoun .house-facade {
  position: absolute; bottom: 25%; left: 40%; width: 120px; height: 180px;
  background: linear-gradient(180deg, #c4a078 0%, #8c6a4a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 8px 8px 20px rgba(0,0,0,0.3);
  animation: mdh-house 20s ease-in-out infinite alternate;
}
.scn-maloof-defends-hassoun .stairs-narrow {
  position: absolute; bottom: 25%; left: 45%; width: 30px; height: 120px;
  background: repeating-linear-gradient(0deg, #5a3d2a 0px, #5a3d2a 8px, #7a5a3a 8px, #7a5a3a 16px);
  border-radius: 2px; transform: skewX(-5deg);
  animation: mdh-stairs 12s ease-in-out infinite;
}
.scn-maloof-defends-hassoun .shoemaker-stall {
  position: absolute; bottom: 20%; left: 15%; width: 70px; height: 50px;
  background: linear-gradient(180deg, #8b6b4b 0%, #5a3e2a 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  transform: perspective(500px) rotateY(-10deg);
  animation: mdh-stall 6s ease-in-out infinite;
}
.scn-maloof-defends-hassoun .figure-maloof {
  position: absolute; bottom: 20%; left: 30%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #4a3525 0%, #2a1c10 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mdh-gesture 3s ease-in-out infinite;
}
.scn-maloof-defends-hassoun .shadow-sharp {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 100%);
  animation: mdh-shadow 10s ease-in-out infinite alternate;
}
.scn-maloof-defends-hassoun .dust-particles {
  position: absolute; top: 10%; left: 0; width: 100%; height: 100%;
  background: radial-gradient(circle at 20% 30%, rgba(200,170,100,0.3) 0%, transparent 30%),
              radial-gradient(circle at 80% 60%, rgba(200,170,100,0.2) 0%, transparent 40%);
  filter: blur(4px);
  animation: mdh-dust 15s ease-in-out infinite alternate;
}
@keyframes mdh-sky {
  0% { opacity: 0.8; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 0.7; transform: translateY(0); }
}
@keyframes mdh-house {
  0% { transform: translateY(0) scaleY(1); box-shadow: 8px 8px 20px rgba(0,0,0,0.3); }
  50% { transform: translateY(-2px) scaleY(1.01); box-shadow: 10px 10px 25px rgba(0,0,0,0.4); }
  100% { transform: translateY(0) scaleY(1); box-shadow: 8px 8px 20px rgba(0,0,0,0.3); }
}
@keyframes mdh-stairs {
  0% { transform: skewX(-5deg) translateY(0); }
  50% { transform: skewX(-6deg) translateY(-1px); }
  100% { transform: skewX(-5deg) translateY(0); }
}
@keyframes mdh-stall {
  0% { transform: perspective(500px) rotateY(-10deg) translateY(0); }
  50% { transform: perspective(500px) rotateY(-11deg) translateY(-1px); }
  100% { transform: perspective(500px) rotateY(-10deg) translateY(0); }
}
@keyframes mdh-gesture {
  0% { transform: translateX(0) rotate(-2deg); }
  33% { transform: translateX(3px) rotate(3deg); }
  66% { transform: translateX(6px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes mdh-shadow {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}
@keyframes mdh-dust {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-5px) scale(1.05); }
  100% { transform: translateX(0) scale(1); }
}

.scn-murphy-angers-crowd {
  background: linear-gradient(180deg, #f5e5c0 0%, #d4b896 40%, #b09070 100%),
              radial-gradient(ellipse at 50% 0%, #ffecb0 20%, transparent 70%);
}
.scn-murphy-angers-crowd .sky-glare {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffeec0 0%, #f5d6a0 60%, transparent 100%);
  animation: mac-glare 6s ease-in-out infinite alternate;
}
.scn-murphy-angers-crowd .crowd-silhouettes {
  position: absolute; bottom: 20%; left: 5%; width: 90%; height: 50%;
  background: linear-gradient(0deg, #3a2a1a 0%, #2a1a0a 40%, transparent 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  clip-path: polygon(0% 100%, 5% 60%, 10% 65%, 15% 55%, 20% 70%, 25% 50%, 30% 65%, 35% 55%, 40% 70%, 45% 60%, 50% 65%, 55% 55%, 60% 70%, 65% 60%, 70% 65%, 75% 55%, 80% 70%, 85% 60%, 90% 65%, 95% 55%, 100% 65%, 100% 100%);
  animation: mac-crowd 4s ease-in-out infinite alternate;
}
.scn-murphy-angers-crowd .figure-murphy {
  position: absolute; bottom: 22%; left: 35%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #3a3025 0%, #1e1a10 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mac-point 2s ease-in-out infinite;
}
.scn-murphy-angers-crowd .figure-babu {
  position: absolute; bottom: 22%; left: 50%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1c0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: scaleX(-1);
  animation: mac-cower 3s ease-in-out infinite;
}
.scn-murphy-angers-crowd .kid-pointing {
  position: absolute; bottom: 22%; left: 60%; width: 16px; height: 35px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: mac-kid 4s ease-in-out infinite;
}
.scn-murphy-angers-crowd .angry-murmur {
  position: absolute; top: 15%; left: 20%; width: 60%; height: 20%;
  background: radial-gradient(ellipse at 30% 50%, rgba(200,100,60,0.3) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 40%, rgba(200,100,60,0.2) 0%, transparent 50%);
  filter: blur(8px);
  animation: mac-murmur 3s ease-in-out infinite alternate;
}
.scn-murphy-angers-crowd .dust-ground {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, #b0907060 100%);
  filter: blur(3px);
  animation: mac-dust 8s ease-in-out infinite;
}
@keyframes mac-glare {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes mac-crowd {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-2px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes mac-point {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(2px) rotate(15deg); }
  66% { transform: translateX(4px) rotate(-10deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mac-cower {
  0% { transform: scaleX(-1) translateX(0) translateY(0) rotate(0deg); }
  50% { transform: scaleX(-1) translateX(-3px) translateY(-1px) rotate(-5deg); }
  100% { transform: scaleX(-1) translateX(0) translateY(0) rotate(0deg); }
}
@keyframes mac-kid {
  0% { transform: translateX(0) translateY(0) scale(1); }
  50% { transform: translateX(2px) translateY(-2px) scale(1.1); }
  100% { transform: translateX(0) translateY(0) scale(1); }
}
@keyframes mac-murmur {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(1); }
}
@keyframes mac-dust {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

.scn-murphy-arrests-babu {
  background: linear-gradient(180deg, #e8d4b0 0%, #c4a880 40%, #a08060 100%),
              radial-gradient(ellipse at 30% 80%, #d4b890 20%, transparent 70%);
}
.scn-murphy-arrests-babu .stone-steps {
  position: absolute; bottom: 20%; left: 30%; width: 100px; height: 120px;
  background: repeating-linear-gradient(0deg, #7a6a5a 0px, #7a6a5a 12px, #9a8a6a 12px, #9a8a6a 24px);
  border-radius: 4px; transform: skewX(-3deg);
  animation: mab-steps 10s ease-in-out infinite;
}
.scn-murphy-arrests-babu .figure-murphy-top {
  position: absolute; bottom: 34%; left: 32%; width: 26px; height: 55px;
  background: linear-gradient(180deg, #3a3025 0%, #1e1a10 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(5deg);
  animation: mab-pull 2s ease-in-out infinite;
}
.scn-murphy-arrests-babu .figure-babu-pulled {
  position: absolute; bottom: 28%; left: 42%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1c0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-10deg);
  animation: mab-resist 3s ease-in-out infinite;
}
.scn-murphy-arrests-babu .throng-pressing {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 40%;
  background: linear-gradient(0deg, #3a2a1a 0%, #2a1a0a 60%, transparent 100%);
  clip-path: polygon(0% 100%, 8% 50%, 16% 60%, 24% 45%, 32% 55%, 40% 40%, 48% 55%, 56% 45%, 64% 60%, 72% 50%, 80% 65%, 88% 55%, 100% 60%, 100% 100%);
  animation: mab-throng 4s ease-in-out infinite alternate;
}
.scn-murphy-arrests-babu .shadow-step {
  position: absolute; bottom: 20%; left: 30%; width: 100px; height: 120px;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.15) 100%);
  animation: mab-shadow 8s ease-in-out infinite alternate;
}
.scn-murphy-arrests-babu .doorway-arch {
  position: absolute; bottom: 35%; left: 60%; width: 50px; height: 100px;
  background: radial-gradient(ellipse at 50% 0%, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: inset -4px -4px 10px rgba(0,0,0,0.4);
  animation: mab-door 12s ease-in-out infinite;
}
.scn-murphy-arrests-babu .sunbeam-shaft {
  position: absolute; top: 10%; left: 50%; width: 30%; height: 50%;
  background: linear-gradient(135deg, rgba(255,220,120,0.3) 0%, transparent 60%);
  filter: blur(10px);
  animation: mab-beam 5s ease-in-out infinite alternate;
}
@keyframes mab-steps {
  0% { transform: skewX(-3deg) translateY(0); }
  50% { transform: skewX(-3.5deg) translateY(-2px); }
  100% { transform: skewX(-3deg) translateY(0); }
}
@keyframes mab-pull {
  0% { transform: rotate(5deg) translateX(0) translateY(0); }
  33% { transform: rotate(7deg) translateX(3px) translateY(-1px); }
  66% { transform: rotate(3deg) translateX(6px) translateY(-2px); }
  100% { transform: rotate(5deg) translateX(0) translateY(0); }
}
@keyframes mab-resist {
  0% { transform: rotate(-10deg) translateX(0) translateY(0); }
  50% { transform: rotate(-15deg) translateX(-2px) translateY(-1px); }
  100% { transform: rotate(-10deg) translateX(0) translateY(0); }
}
@keyframes mab-throng {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-1px) scaleY(1.02); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes mab-shadow {
  0% { opacity: 0.4; }
  50% { opacity: 0.6; }
  100% { opacity: 0.4; }
}
@keyframes mab-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.01); }
  100% { transform: scaleY(1); }
}
@keyframes mab-beam {
  0% { opacity: 0.3; transform: rotate(0deg); }
  50% { opacity: 0.7; transform: rotate(3deg); }
  100% { opacity: 0.3; transform: rotate(0deg); }
}

.scn-magistrate-confused {
  background: linear-gradient(180deg, #f0e6d0 0%, #d8cbb0 40%, #c0b098 100%),
              radial-gradient(ellipse at 50% 30%, #ffe8c0 20%, transparent 70%);
}
.scn-magistrate-confused .bench-desks {
  position: absolute; bottom: 30%; left: 5%; width: 90%; height: 25%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: mgc-bench 20s ease-in-out infinite alternate;
}
.scn-magistrate-confused .magistrate-desk {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.4);
  animation: mgc-desk 15s ease-in-out infinite;
}
.scn-magistrate-confused .figure-burke {
  position: absolute; bottom: 32%; left: 38%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #3a3025 0%, #1e1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom;
  animation: mgc-burke 4s ease-in-out infinite;
}
.scn-magistrate-confused .figure-stenographer {
  position: absolute; bottom: 30%; left: 55%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1c0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-5deg);
  animation: mgc-steno 3s ease-in-out infinite alternate;
}
.scn-magistrate-confused .papers-scatter {
  position: absolute; bottom: 38%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(90deg, #f0e0c0 0%, #e0d0b0 50%, #f0e0c0 100%);
  border-radius: 2px; filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.2));
  clip-path: polygon(0% 20%, 10% 0%, 20% 30%, 30% 10%, 40% 40%, 50% 20%, 60% 50%, 70% 30%, 80% 60%, 90% 40%, 100% 70%, 100% 100%, 0% 100%);
  animation: mgc-papers 6s ease-in-out infinite alternate;
}
.scn-magistrate-confused .flag-banner {
  position: absolute; top: 5%; left: 50%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 0 0 4px 4px; transform-origin: top left;
  animation: mgc-flag 5s ease-in-out infinite;
}
.scn-magistrate-confused .lamp-glow {
  position: absolute; top: 10%; left: 30%; width: 30px; height: 30px;
  background: radial-gradient(circle, #ffe0a0 0%, #d4b080 60%, transparent 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,200,100,0.5);
  animation: mgc-lamp 4s ease-in-out infinite alternate;
}
.scn-magistrate-confused .foot-rest {
  position: absolute; bottom: 25%; left: 20%; width: 50px; height: 8px;
  background: #5a4a3a; border-radius: 4px;
  animation: mgc-foot 8s ease-in-out infinite;
}
@keyframes mgc-bench {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.005); }
  100% { transform: scaleY(1); }
}
@keyframes mgc-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes mgc-burke {
  0% { transform: rotate(0deg) translateY(0); }
  33% { transform: rotate(5deg) translateY(-2px); }
  66% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes mgc-steno {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-8deg) translateX(2px); }
  100% { transform: rotate(-5deg) translateX(0); }
}
@keyframes mgc-papers {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes mgc-flag {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(5deg) scaleY(1.05); }
  100% { transform: rotate(0deg) scaleY(1); }
}
@keyframes mgc-lamp {
  0% { opacity: 0.7; box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); }
  50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,200,100,0.7); }
  100% { opacity: 0.7; box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); }
}
@keyframes mgc-foot {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-1px) scaleX(1.02); }
  100% { transform: translateY(0) scaleX(1); }
}

/* brick-thrown-casually */
.scn-brick-thrown-casually {
  background:
    linear-gradient(180deg, #87CEEB 0%, #B0E0F0 40%, #F5E6CA 70%),
    radial-gradient(ellipse at 50% 0%, #FFD700 0%, transparent 60%);
}
.scn-brick-thrown-casually .sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #B8E4F0 100%);
  animation: btc-sky 6s ease-in-out infinite alternate;
}
.scn-brick-thrown-casually .building-left {
  position: absolute; bottom: 20%; left: 0; width: 35%; height: 60%;
  background: linear-gradient(180deg, #C4A882 0%, #8B7355 100%);
  border-radius: 0 4px 0 0; box-shadow: inset -4px 0 8px rgba(0,0,0,0.3);
  animation: btc-build 8s ease-in-out infinite alternate;
}
.scn-brick-thrown-casually .building-right {
  position: absolute; bottom: 20%; right: 0; width: 40%; height: 60%;
  background: linear-gradient(180deg, #D4B896 0%, #9E8468 100%);
  border-radius: 4px 0 0 0; box-shadow: inset 4px 0 8px rgba(0,0,0,0.3);
  animation: btc-build 8s ease-in-out infinite alternate-reverse;
}
.scn-brick-thrown-casually .shop-window {
  position: absolute; bottom: 30%; left: 30%; width: 40%; height: 30%;
  background: rgba(200,230,255,0.4); border: 4px solid #8B7355;
  border-radius: 2px; box-shadow: 0 0 20px rgba(255,255,200,0.6);
  overflow: hidden; animation: btc-window 0.8s ease-in-out infinite;
}
.scn-brick-thrown-casually .shop-window::after {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,255,255,0.3) 8px, rgba(255,255,255,0.3) 16px);
  animation: btc-shard 1.2s ease-in-out infinite;
}
.scn-brick-thrown-casually .sidewalk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #C0C0C0 0%, #A0A0A0 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.2);
}
.scn-brick-thrown-casually .brick {
  position: absolute; bottom: 40%; left: 45%; width: 8px; height: 16px;
  background: #A0522D; border-radius: 2px;
  transform: rotate(-30deg);
  animation: btc-brick 2s ease-in-out infinite;
}
.scn-brick-thrown-casually .figure-mcgurk {
  position: absolute; bottom: 15%; left: 10%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2C2C2C 0%, #1A1A1A 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: btc-walk 3s linear infinite;
}
.scn-brick-thrown-casually .shadow {
  position: absolute; bottom: 13%; left: 8%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.3); border-radius: 50%;
  filter: blur(2px); animation: btc-shadow 3s linear infinite;
}
@keyframes btc-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes btc-build {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes btc-window {
  0%,100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.02) rotate(2deg); }
}
@keyframes btc-shard {
  0% { opacity: 0.8; transform: translate(0,0); }
  25% { opacity: 1; transform: translate(2px,-2px); }
  75% { opacity: 0.6; transform: translate(-1px,1px); }
  100% { opacity: 0.8; transform: translate(0,0); }
}
@keyframes btc-brick {
  0% { transform: rotate(-30deg) translateY(0) scale(1); }
  50% { transform: rotate(20deg) translateY(-10px) scale(1.1); }
  100% { transform: rotate(-30deg) translateY(0) scale(1); }
}
@keyframes btc-walk {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(10px) rotate(-5deg); }
  50% { transform: translateX(20px) rotate(5deg); }
  75% { transform: translateX(10px) rotate(-5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes btc-shadow {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(20px) scaleX(0.8); }
  100% { transform: translateX(0) scaleX(1); }
}

/* red-sweater-coincidence */
.scn-red-sweater-coincidence {
  background:
    linear-gradient(180deg, #FFEBCD 0%, #F0D9B5 40%, #D1B894 70%),
    radial-gradient(ellipse at 70% 40%, #FFD700 0%, transparent 50%);
}
.scn-red-sweater-coincidence .bg-sky {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #F0E6D0 100%);
  animation: rsc-sky 8s ease-in-out infinite alternate;
}
.scn-red-sweater-coincidence .corner-wall {
  position: absolute; bottom: 20%; left: 60%; width: 50%; height: 70%;
  background: linear-gradient(180deg, #B8A08A 0%, #8B7355 100%);
  border-radius: 10% 0 0 0; box-shadow: -6px 0 12px rgba(0,0,0,0.3);
  animation: rsc-wall 3s ease-in-out infinite alternate;
}
.scn-red-sweater-coincidence .figure-red {
  position: absolute; bottom: 15%; left: 20%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #C8553D 0%, #9B3A2A 100%); /* terracotta red */
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rsc-dodge 0.6s ease-in-out infinite;
}
.scn-red-sweater-coincidence .brick-traj {
  position: absolute; bottom: 50%; left: 50%; width: 8px; height: 14px;
  background: #A0522D; border-radius: 2px;
  transform: rotate(45deg);
  animation: rsc-brick 1.2s linear infinite;
}
.scn-red-sweater-coincidence .figure-tony {
  position: absolute; bottom: 18%; right: 10%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #4A4A4A 0%, #2E2E2E 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rsc-tony 4s ease-in-out infinite alternate;
}
.scn-red-sweater-coincidence .shadow-red {
  position: absolute; bottom: 13%; left: 18%; width: 30px; height: 6px;
  background: rgba(0,0,0,0.4); border-radius: 50%;
  filter: blur(2px); animation: rsc-shadow 0.6s linear infinite;
}
.scn-red-sweater-coincidence .dust {
  position: absolute; bottom: 20%; left: 40%; width: 50px; height: 20px;
  background: rgba(200,180,150,0.3); border-radius: 50%;
  filter: blur(4px); animation: rsc-dust 1.5s ease-in-out infinite;
}
@keyframes rsc-sky {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes rsc-wall {
  0% { transform: translateX(0); }
  100% { transform: translateX(-5px); }
}
@keyframes rsc-dodge {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-8px) rotate(-10deg); }
  60% { transform: translateX(4px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes rsc-brick {
  0% { transform: rotate(45deg) translate(0, 0); }
  50% { transform: rotate(-30deg) translate(-60px, -40px); }
  100% { transform: rotate(45deg) translate(0, 0); }
}
@keyframes rsc-tony {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes rsc-shadow {
  0% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-8px) scaleX(0.7); }
  100% { transform: translateX(0) scaleX(1); }
}
@keyframes rsc-dust {
  0% { opacity: 0; transform: scale(0.5) translate(0,0); }
  50% { opacity: 0.8; transform: scale(1.2) translate(10px,-5px); }
  100% { opacity: 0; transform: scale(0.8) translate(20px,-10px); }
}

/* arrest-of-tony */
.scn-arrest-of-tony {
  background:
    linear-gradient(180deg, #F5E6CA 0%, #D4C4A8 40%, #B8A08A 70%),
    radial-gradient(ellipse at 50% 30%, #FFE4B5 0%, transparent 60%);
}
.scn-arrest-of-tony .shop-interior {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #E8D8C0 0%, #C4B098 100%);
  box-shadow: inset 0 -10px 20px rgba(0,0,0,0.2);
  animation: aot-interior 5s ease-in-out infinite alternate;
}
.scn-arrest-of-tony .counter {
  position: absolute; bottom: 25%; left: 15%; width: 70%; height: 12%;
  background: linear-gradient(180deg, #A08060 0%, #705040 100%);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: aot-counter 4s ease-in-out infinite;
}
.scn-arrest-of-tony .officer {
  position: absolute; bottom: 30%; left: 20%; width: 24px; height: 44px;
  background: linear-gradient(180deg, #3A5A8A 0%, #234060 100%); /* blue uniform */
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aot-officer 2s ease-in-out infinite alternate;
}
.scn-arrest-of-tony .officer::after {
  content: ''; position: absolute; top: -8px; left: 4px; width: 16px; height: 12px;
  background: #A08060; border-radius: 50%; /* hat */
}
.scn-arrest-of-tony .tony-arrested {
  position: absolute; bottom: 30%; left: 45%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #4A4A4A 0%, #2E2E2E 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aot-tony 3s ease-in-out infinite alternate;
}
.scn-arrest-of-tony .butcher {
  position: absolute; bottom: 25%; right: 20%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #D4A878 0%, #A08060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aot-butcher 5s ease-in-out infinite;
}
.scn-arrest-of-tony .window-broken {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 25%;
  background: rgba(200,230,255,0.3);
  border: 3px solid #8B7355; border-radius: 2px;
  box-shadow: 0 0 15px rgba(255,200,100,0.5);
  overflow: hidden;
}
.scn-arrest-of-tony .window-broken::after {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(60deg, transparent, transparent 6px, rgba(255,255,255,0.4) 6px, rgba(255,255,255,0.4) 12px);
  animation: aot-glass 1s ease-in-out infinite alternate;
}
.scn-arrest-of-tony .handcuffs {
  position: absolute; bottom: 35%; left: 40%; width: 10px; height: 6px;
  background: #C0C0C0; border-radius: 2px;
  box-shadow: 0 0 4px rgba(0,0,0,0.5);
  animation: aot-cuffs 2s ease-in-out infinite;
}
@keyframes aot-interior {
  0% { transform: scale(1); }
  50% { transform: scale(1.01); }
  100% { transform: scale(1); }
}
@keyframes aot-counter {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes aot-officer {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes aot-tony {
  0% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(-3px) translateY(-2px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes aot-butcher {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes aot-glass {
  0% { opacity: 0.6; transform: translate(0,0); }
  100% { opacity: 0.9; transform: translate(2px,-2px); }
}
@keyframes aot-cuffs {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

/* tony-protests */
.scn-tony-protests {
  background:
    linear-gradient(180deg, #FFEBCD 0%, #F0D9B5 40%, #D1B894 70%),
    radial-gradient(ellipse at 30% 50%, #FFF0D0 0%, transparent 60%);
}
.scn-tony-protests .street-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #87CEEB 0%, #E8D8C0 100%);
  animation: tpr-street 6s ease-in-out infinite alternate;
}
.scn-tony-protests .officer-close {
  position: absolute; bottom: 15%; left: 15%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #3A5A8A 0%, #234060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tpr-officer 2.5s ease-in-out infinite alternate;
}
.scn-tony-protests .officer-close::after {
  content: ''; position: absolute; top: -10px; left: 5px; width: 20px; height: 14px;
  background: #A08060; border-radius: 50%;
}
.scn-tony-protests .tony-protest {
  position: absolute; bottom: 18%; left: 40%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #4A4A4A 0%, #2E2E2E 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tpr-tony 1.8s ease-in-out infinite alternate;
}
.scn-tony-protests .tony-protest::before {
  content: ''; position: absolute; top: -5px; left: 0; width: 22px; height: 10px;
  background: #C8553D; /* red sweater hint */
  border-radius: 30% 30% 0 0;
}
.scn-tony-protests .butcher-point {
  position: absolute; bottom: 20%; right: 10%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #D4A878 0%, #A08060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom left;
  animation: tpr-butcher 3s ease-in-out infinite;
}
.scn-tony-protests .butcher-point::after {
  content: ''; position: absolute; top: -8px; left: 12px; width: 10px; height: 14px;
  background: #8B7355; border-radius: 0 50% 0 0; /* pointing hand */
  transform: rotate(20deg);
}
.scn-tony-protests .brick-ground {
  position: absolute; bottom: 8%; left: 50%; width: 12px; height: 8px;
  background: #A0522D; border-radius: 2px;
  transform: rotate(-15deg);
  animation: tpr-brick 4s ease-in-out infinite;
}
.scn-tony-protests .shadow-figures {
  position: absolute; bottom: 12%; left: 10%; width: 80%; height: 10px;
  background: rgba(0,0,0,0.15); border-radius: 50%;
  filter: blur(3px);
  animation: tpr-shadow 3s ease-in-out infinite alternate;
}
.scn-tony-protests .dust-particles {
  position: absolute; bottom: 10%; left: 30%; width: 40px; height: 15px;
  background: rgba(200,180,150,0.2); border-radius: 50%;
  filter: blur(5px);
  animation: tpr-dust 2s ease-in-out infinite;
}
@keyframes tpr-street {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes tpr-officer {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes tpr-tony {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(-5px) translateY(-3px) rotate(-5deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes tpr-butcher {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-3px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes tpr-brick {
  0% { transform: rotate(-15deg) scale(1); }
  50% { transform: rotate(10deg) scale(1.1); }
  100% { transform: rotate(-15deg) scale(1); }
}
@keyframes tpr-shadow {
  0% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(0.9) translateX(10px); }
  100% { transform: scaleX(1) translateX(0); }
}
@keyframes tpr-dust {
  0% { opacity: 0; transform: scale(0.5) translate(0,0); }
  50% { opacity: 0.6; transform: scale(1) translate(5px,-3px); }
  100% { opacity: 0; transform: scale(0.8) translate(12px,-8px); }
}

/* scene: brown-continues-testimony */
.scn-brown-continues-testimony {
  background: 
    linear-gradient(180deg, #ece4d0 0%, #cdbc9a 40%, #9c8a6e 100%),
    radial-gradient(ellipse at 50% 80%, #fff8e8 0%, transparent 70%);
}
.scn-brown-continues-testimony .wall-bt {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(90deg, #e0d5bc 0%, #f2e8d0 50%, #d4c5a8 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,0.08);
}
.scn-brown-continues-testimony .bench-bt {
  position: absolute; bottom: 40%; left: 20%; width: 60%; height: 18%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 6px 6px 0 0;
  animation: bt-bench 12s ease-in-out infinite;
}
.scn-brown-continues-testimony .judge-bt {
  position: absolute; bottom: 38%; left: 40%; width: 12%; height: 20%;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, #8a7a6a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 30% 30%;
  transform-origin: bottom center;
  animation: bt-judge 8s ease-in-out infinite;
}
.scn-brown-continues-testimony .witness-bt {
  position: absolute; bottom: 20%; left: 55%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #b09878 0%, #6a5a4a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bt-witness 4s ease-in-out infinite;
}
.scn-brown-continues-testimony .lawyer-bt {
  position: absolute; bottom: 20%; left: 30%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #c8b8a0 0%, #7a6a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bt-lawyer 6s ease-in-out infinite alternate;
}
.scn-brown-continues-testimony .table-bt {
  position: absolute; bottom: 12%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 4px;
}
.scn-brown-continues-testimony .gavel-bt {
  position: absolute; bottom: 20%; left: 35%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: bt-gavel 1.5s ease-in-out infinite;
}
.scn-brown-continues-testimony .shadow-strip-bt {
  position: absolute; bottom: 0; left: 0; right: 0; height: 12%;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.35) 100%);
  animation: bt-shadow 14s ease-in-out infinite alternate;
}
@keyframes bt-bench {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes bt-judge {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bt-witness {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(8px) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(15px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(20px) translateY(-1px) rotate(1deg); }
}
@keyframes bt-lawyer {
  0% { transform: translateX(0) translateY(0) rotate(1deg); }
  50% { transform: translateX(-5px) translateY(-3px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(1deg); }
}
@keyframes bt-gavel {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-8px) rotate(-15deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-6px) rotate(10deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bt-shadow {
  0% { opacity: 0.4; }
  50% { opacity: 0.8; }
  100% { opacity: 0.3; }
}

/* scene: item-business-card */
.scn-item-business-card {
  background:
    linear-gradient(180deg, #e8ddd0 0%, #c0b09a 60%, #9a8a72 100%),
    radial-gradient(ellipse at 50% 90%, #f2e8d8 0%, transparent 80%);
}
.scn-item-business-card .table-bc {
  position: absolute; bottom: 0; left: 5%; width: 90%; height: 40%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a4a 100%);
  border-radius: 20px 20px 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
}
.scn-item-business-card .card-bc {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 14%;
  background: linear-gradient(135deg, #f8f0e0 0%, #e8dcc8 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transform-origin: center;
  animation: bc-card 5s ease-in-out infinite;
}
.scn-item-business-card .hingman-bc {
  position: absolute; bottom: 20%; left: 15%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #9a8a7a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bc-hingman 7s ease-in-out infinite;
}
.scn-item-business-card .hand-bc {
  position: absolute; bottom: 28%; left: 55%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #c8b8a8 0%, #7a6a5a 100%);
  border-radius: 40% 40% 30% 30%;
  animation: bc-hand 3s ease-in-out infinite alternate;
}
.scn-item-business-card .lamp-bc {
  position: absolute; top: 5%; left: 42%; width: 16%; height: 10%;
  background: radial-gradient(circle, #fff8e8 0%, #e8d8b8 60%, transparent 100%);
  filter: blur(8px);
  animation: bc-lamp 6s ease-in-out infinite alternate;
}
.scn-item-business-card .shadow-card-bc {
  position: absolute; bottom: 16%; left: 38%; width: 24%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 100%);
  animation: bc-shadow 5s ease-in-out infinite;
}
@keyframes bc-card {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-5px) rotate(-3deg); }
  50% { transform: translateX(2px) rotate(2deg); }
  75% { transform: translateX(-3px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bc-hingman {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bc-hand {
  0% { transform: translate(0, 0) rotate(0deg); }
  100% { transform: translate(10px, -5px) rotate(15deg); }
}
@keyframes bc-lamp {
  0% { opacity: 0.7; filter: blur(10px); }
  50% { opacity: 1; filter: blur(6px); }
  100% { opacity: 0.8; filter: blur(9px); }
}
@keyframes bc-shadow {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 0.8; }
  100% { transform: scale(1); opacity: 0.5; }
}

/* scene: tutt-cross-examines-brown */
.scn-tutt-cross-examines-brown {
  background:
    linear-gradient(180deg, #d4cbba 0%, #b8a896 50%, #9a8876 100%),
    radial-gradient(ellipse at 50% 70%, #f0e4d0 0%, transparent 70%);
}
.scn-tutt-cross-examines-brown .wall-tb {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(90deg, #c8bca8 0%, #e0d4c0 50%, #b0a08a 100%);
}
.scn-tutt-cross-examines-brown .tutt-tb {
  position: absolute; bottom: 30%; left: 30%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #c0b09a 0%, #7a6a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tb-tutt 6s ease-in-out infinite alternate;
}
.scn-tutt-cross-examines-brown .brown-tb {
  position: absolute; bottom: 30%; left: 55%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #a0907a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tb-brown 4s ease-in-out infinite;
}
.scn-tutt-cross-examines-brown .hingman-tb {
  position: absolute; bottom: 30%; left: 15%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tb-hingman 10s ease-in-out infinite;
}
.scn-tutt-cross-examines-brown .floor-tb {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #8a7a62 0%, #6a5a4a 100%);
}
.scn-tutt-cross-examines-brown .shadow-tb {
  position: absolute; bottom: 25%; left: 45%; width: 20%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 100%);
  animation: tb-shadow 6s ease-in-out infinite alternate;
}
.scn-tutt-cross-examines-brown .beam-tb {
  position: absolute; top: 0; left: 35%; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(255,248,230,0.2) 0%, transparent 100%);
  filter: blur(20px);
  animation: tb-beam 8s ease-in-out infinite alternate;
}
@keyframes tb-tutt {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tb-brown {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(-8px) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(-16px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(-24px) translateY(-1px) rotate(1deg); }
}
@keyframes tb-hingman {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(-3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes tb-shadow {
  0% { transform: scale(1); opacity: 0.3; }
  100% { transform: scale(1.3); opacity: 0.7; }
}
@keyframes tb-beam {
  0% { opacity: 0.2; filter: blur(25px); }
  50% { opacity: 0.5; filter: blur(15px); }
  100% { opacity: 0.3; filter: blur(20px); }
}

/* scene: tutt-exposes-brown */
.scn-tutt-exposes-brown {
  background:
    linear-gradient(180deg, #d8cfbe 0%, #bfb09c 40%, #9a8a76 100%),
    radial-gradient(ellipse at 50% 80%, #f2e6d6 0%, transparent 70%);
}
.scn-tutt-exposes-brown .courtroom-eb {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(90deg, #c8bca8 0%, #e0d4c0 50%, #b0a08a 100%);
}
.scn-tutt-exposes-brown .tutt-hand-eb {
  position: absolute; bottom: 30%; left: 35%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #c8b8a0 0%, #7a6a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: top center;
  animation: eb-tutt 8s ease-in-out infinite alternate;
}
.scn-tutt-exposes-brown .jury-box-eb {
  position: absolute; bottom: 20%; right: 5%; width: 35%; height: 40%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-tutt-exposes-brown .jury-figures-eb {
  position: absolute; bottom: 22%; right: 8%; width: 30%; height: 35%;
  background: 
    radial-gradient(circle at 20% 50%, #5a4a3a 0%, transparent 30%),
    radial-gradient(circle at 50% 30%, #5a4a3a 0%, transparent 30%),
    radial-gradient(circle at 80% 50%, #5a4a3a 0%, transparent 30%);
  filter: blur(2px);
  animation: eb-jury 14s ease-in-out infinite;
}
.scn-tutt-exposes-brown .brown-eb {
  position: absolute; bottom: 30%; left: 15%; width: 12%; height: 34%;
  background: linear-gradient(180deg, #9a8a7a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: eb-brown 5s ease-in-out infinite;
}
.scn-tutt-exposes-brown .bench-eb {
  position: absolute; bottom: 45%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 4px;
}
.scn-tutt-exposes-brown .light-eb {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 20%;
  background: radial-gradient(ellipse, rgba(255,240,210,0.3) 0%, transparent 70%);
  filter: blur(40px);
  animation: eb-light 9s ease-in-out infinite alternate;
}
@keyframes eb-tutt {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes eb-jury {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.02); }
  100% { opacity: 0.6; transform: scale(1); }
}
@keyframes eb-brown {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(10px) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(20px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(30px) translateY(-1px) rotate(1deg); }
}
@keyframes eb-light {
  0% { opacity: 0.2; filter: blur(50px); }
  50% { opacity: 0.6; filter: blur(30px); }
  100% { opacity: 0.3; filter: blur(40px); }
}

.scn-shane-accuses-beekman {
  background: linear-gradient(135deg, #1c1620 0%, #2a1e2a 40%, #1a1218 100%), radial-gradient(ellipse at 35% 60%, #2f2430 0%, transparent 60%);
}
.scn-shane-accuses-beekman .wall-left {
  position: absolute; left: 0; top: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #2f2a30 0%, #1f1a20 100%);
  box-shadow: inset -8px 0 20px rgba(0,0,0,0.5);
}
.scn-shane-accuses-beekman .wall-right {
  position: absolute; right: 0; top: 0; width: 30%; height: 100%;
  background: linear-gradient(180deg, #2f2a30 0%, #1f1a20 100%);
  box-shadow: inset 8px 0 20px rgba(0,0,0,0.5);
}
.scn-shane-accuses-beekman .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #2a221e 0%, #1f1814 100%);
  border-radius: 15% 15% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
  animation: sab-floor 20s ease-in-out infinite alternate;
}
@keyframes sab-floor {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 0.9; transform: scaleX(1.02); }
  100% { opacity: 0.8; transform: scaleX(1); }
}
.scn-shane-accuses-beekman .window {
  position: absolute; top: 15%; left: 38%; width: 24%; height: 45%;
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 100%);
  border: 4px solid #3a2f2a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(10,10,20,0.8);
  animation: sab-window 12s ease-in-out infinite alternate;
}
@keyframes sab-window {
  0% { opacity: 0.5; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}
.scn-shane-accuses-beekman .lamp-table {
  position: absolute; bottom: 28%; left: 40%; width: 18%; height: 12%;
  background: linear-gradient(180deg, #5b4a3a 0%, #2f2420 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-shane-accuses-beekman .lamp-glow {
  position: absolute; bottom: 38%; left: 42%; width: 10%; height: 12%;
  background: radial-gradient(circle, #f0c060 0%, #c08030 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  box-shadow: 0 0 40px 20px rgba(200,120,40,0.3);
  animation: sab-glow 3s ease-in-out infinite alternate;
}
@keyframes sab-glow {
  0% { opacity: 0.7; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(0.9); }
}
.scn-shane-accuses-beekman .figure-shane {
  position: absolute; bottom: 28%; left: 22%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #1a1a1f 0%, #0a0a0f 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: sab-shane 4s ease-in-out infinite alternate;
}
@keyframes sab-shane {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(1deg); }
  50% { transform: translateX(0) rotate(-0.5deg); }
  75% { transform: translateX(-2px) rotate(1deg); }
  100% { transform: translateX(1px) rotate(0deg); }
}
.scn-shane-accuses-beekman .figure-althea {
  position: absolute; bottom: 28%; right: 22%; width: 9%; height: 38%;
  background: linear-gradient(180deg, #282830 0%, #14141a 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sab-althea 5s ease-in-out infinite alternate;
}
@keyframes sab-althea {
  0% { transform: translateX(0) rotate(0deg) scaleY(1); }
  30% { transform: translateX(-2px) rotate(0.5deg) scaleY(0.98); }
  60% { transform: translateX(1px) rotate(-0.3deg) scaleY(1); }
  100% { transform: translateX(0) rotate(0deg) scaleY(1); }
}
.scn-shane-accuses-beekman .shadow-cast {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 60%);
  filter: blur(6px);
  animation: sab-shadow 6s ease-in-out infinite alternate;
}
@keyframes sab-shadow {
  0% { opacity: 0.5; transform: scaleX(0.9); }
  50% { opacity: 0.7; transform: scaleX(1.1); }
  100% { opacity: 0.5; transform: scaleX(0.9); }
}

.scn-katie-discharge-memory {
  background: linear-gradient(180deg, #1f1c1a 0%, #151210 40%, #0d0b0a 100%), radial-gradient(ellipse at 60% 50%, #2a2420 0%, transparent 70%);
}
.scn-katie-discharge-memory .bg-kitchen {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, #2f2a24 0%, #1f1a16 50%, #2a2420 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
}
.scn-katie-discharge-memory .counter {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 15%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 12px 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
  animation: kdm-counter 15s ease-in-out infinite alternate;
}
@keyframes kdm-counter {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
.scn-katie-discharge-memory .door-open {
  position: absolute; top: 10%; right: 10%; width: 25%; height: 70%;
  background: linear-gradient(180deg, #2a1f18 0%, #1a100c 100%);
  border-radius: 0 30% 0 0 / 0 20% 0 0;
  box-shadow: 8px 0 20px rgba(0,0,0,0.5);
  transform-origin: right center;
  animation: kdm-door 8s ease-in-out infinite alternate;
}
@keyframes kdm-door {
  0% { transform: rotateY(0deg); }
  50% { transform: rotateY(-10deg); }
  100% { transform: rotateY(0deg); }
}
.scn-katie-discharge-memory .figure-katie {
  position: absolute; bottom: 25%; left: 30%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2f1f1a 0%, #1a0f0c 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: kdm-katie 4s ease-in-out infinite alternate;
}
@keyframes kdm-katie {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(5px) rotate(1deg); }
  66% { transform: translateX(-3px) rotate(-0.5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.scn-katie-discharge-memory .figure-althea {
  position: absolute; bottom: 25%; right: 35%; width: 9%; height: 38%;
  background: linear-gradient(180deg, #322b28 0%, #191412 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: kdm-althea 5s ease-in-out infinite alternate;
}
@keyframes kdm-althea {
  0% { transform: translateX(0) rotate(0deg); }
  40% { transform: translateX(-2px) rotate(0.5deg); }
  70% { transform: translateX(1px) rotate(-0.3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.scn-katie-discharge-memory .bundle {
  position: absolute; bottom: 27%; left: 38%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #5a4a32 0%, #3a2a1a 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: kdm-bundle 6s ease-in-out infinite alternate;
}
@keyframes kdm-bundle {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(3deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.scn-katie-discharge-memory .lamp-discharge {
  position: absolute; top: 20%; left: 20%; width: 10%; height: 14%;
  background: radial-gradient(circle, #f0c060 0%, #b08030 60%, transparent 80%);
  border-radius: 50%;
  filter: blur(6px);
  box-shadow: 0 0 30px 10px rgba(180,120,40,0.3);
  animation: kdm-lamp 3s ease-in-out infinite alternate;
}
@keyframes kdm-lamp {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(0.9); }
}
.scn-katie-discharge-memory .memory-fade {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(30,20,18,0.3) 0%, transparent 70%);
  animation: kdm-fade 12s ease-in-out infinite alternate;
}
@keyframes kdm-fade {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}

.scn-shanes-phrase-saved-him {
  background: linear-gradient(180deg, #1e181a 0%, #2a2024 30%, #181216 100%), radial-gradient(ellipse at 40% 50%, #30262a 0%, transparent 60%);
}
.scn-shanes-phrase-saved-him .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #2f2824 0%, #1f1816 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
}
.scn-shanes-phrase-saved-him .desk {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 18%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 6px 6px 12px 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  animation: sph-desk 10s ease-in-out infinite alternate;
}
@keyframes sph-desk {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
.scn-shanes-phrase-saved-him .chair {
  position: absolute; bottom: 22%; left: 30%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #2a1f1a 0%, #140c0a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: sph-chair 6s ease-in-out infinite alternate;
}
@keyframes sph-chair {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
.scn-shanes-phrase-saved-him .figure-shane {
  position: absolute; bottom: 24%; left: 32%; width: 10%; height: 32%;
  background: linear-gradient(180deg, #1f1a1c 0%, #0a080a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: sph-shane 4s ease-in-out infinite alternate;
}
@keyframes sph-shane {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(1deg); }
  50% { transform: translateX(-2px) rotate(-0.5deg); }
  75% { transform: translateX(1px) rotate(0deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.scn-shanes-phrase-saved-him .officer-desk {
  position: absolute; bottom: 20%; right: 20%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #2f2824 0%, #1a1412 100%);
  border-radius: 20% 20% 0 0;
  transform-origin: bottom right;
  animation: sph-officer 5s ease-in-out infinite alternate;
}
@keyframes sph-officer {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.scn-shanes-phrase-saved-him .window-bars {
  position: absolute; top: 8%; left: 15%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #0f0f1a 0%, #1a1a2e 100%);
  border: 4px solid #2f2a28;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
  overflow: hidden;
}
.scn-shanes-phrase-saved-him .window-bars::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: repeating-linear-gradient(0deg, transparent, transparent 12%, #2f2a28 12%, #2f2a28 14%);
}
.scn-shanes-phrase-saved-him .document {
  position: absolute; bottom: 28%; left: 48%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #c8a86a 0%, #a08040 100%);
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
  transform-origin: bottom left;
  animation: sph-doc 7s ease-in-out infinite alternate;
}
@keyframes sph-doc {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}
.scn-shanes-phrase-saved-him .phrase-light {
  position: absolute; top: 20%; left: 40%; width: 20%; height: 20%;
  background: radial-gradient(circle, rgba(240,200,80,0.2) 0%, transparent 60%);
  filter: blur(12px);
  animation: sph-light 8s ease-in-out infinite alternate;
}
@keyframes sph-light {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 0.7; transform: scale(1.2); }
  100% { opacity: 0.3; transform: scale(0.8); }
}

.scn-beekmans-guilt-and-offer {
  background: linear-gradient(180deg, #3a2a1e 0%, #2f1f14 40%, #1f120e 100%), radial-gradient(ellipse at 50% 70%, #4a3528 0%, transparent 60%);
}
.scn-beekmans-guilt-and-offer .wall-warm {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 0 80px rgba(30,15,10,0.6);
}
.scn-beekmans-guilt-and-offer .floor-rug {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 25%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 40% 40% 0 0 / 30% 30% 0 0;
  box-shadow: 0 -6px 20px rgba(0,0,0,0.4);
  animation: bgo-rug 12s ease-in-out infinite alternate;
}
@keyframes bgo-rug {
  0% { opacity: 0.8; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.02); }
  100% { opacity: 0.8; transform: scaleX(1); }
}
.scn-beekmans-guilt-and-offer .stand-mirror {
  position: absolute; bottom: 22%; left: 20%; width: 15%; height: 35%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2f1f14 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-beekmans-guilt-and-offer .mirror-reflection {
  position: absolute; bottom: 28%; left: 21%; width: 13%; height: 22%;
  background: linear-gradient(135deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: bgo-mirror 6s ease-in-out infinite alternate;
}
@keyframes bgo-mirror {
  0% { opacity: 0.6; transform: scale(0.95); }
  50% { opacity: 0.9; transform: scale(1.05); }
  100% { opacity: 0.6; transform: scale(0.95); }
}
.scn-beekmans-guilt-and-offer .figure-althea {
  position: absolute; bottom: 24%; left: 30%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2f1f14 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bgo-althea 5s ease-in-out infinite alternate;
}
@keyframes bgo-althea {
  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); }
}
.scn-beekmans-guilt-and-offer .hand-offer {
  position: absolute; bottom: 30%; left: 38%; width: 6%; height: 14%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 20% 60% 40% 40% / 30% 60% 40% 40%;
  transform-origin: bottom left;
  animation: bgo-hand 4s ease-in-out infinite alternate;
}
@keyframes bgo-hand {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-3px); }
  100% { transform: rotate(0deg) translateY(0); }
}
.scn-beekmans-guilt-and-offer .vase {
  position: absolute; bottom: 24%; right: 25%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  animation: bgo-vase 7s ease-in-out infinite alternate;
}
@keyframes bgo-vase {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.scn-beekmans-guilt-and-offer .fireplace-glow {
  position: absolute; bottom: 10%; left: 55%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #f08040 0%, #e06020 40%, transparent 70%);
  filter: blur(20px);
  box-shadow: 0 0 60px 20px rgba(220,100,30,0.4);
  animation: bgo-fire 3s ease-in-out infinite alternate;
}
@keyframes bgo-fire {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.6; transform: scale(0.9); }
}

.scn-victim-of-circumstances {
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%), radial-gradient(ellipse at 40% 60%, #6a4a2a 0%, transparent 70%);
}
.scn-victim-of-circumstances .wall-left { position:absolute; top:0; left:0; width:40%; height:75%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:0 0 20% 0; box-shadow: inset -8px 0 20px rgba(0,0,0,.5); animation: voc-wall-left 12s ease-in-out infinite alternate; }
.scn-victim-of-circumstances .wall-right { position:absolute; top:0; right:0; width:50%; height:75%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:0 0 0 20%; box-shadow: inset 8px 0 20px rgba(0,0,0,.4); animation: voc-wall-right 14s ease-in-out infinite alternate; }
.scn-victim-of-circumstances .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:30% 20% 0 0 / 10% 10% 0 0; }
.scn-victim-of-circumstances .lamp { position:absolute; bottom:45%; left:50%; width:12px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #c08040 0%, #804020 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 16px 8px rgba(192,128,64,.6), 0 0 40px 20px rgba(192,128,64,.3); animation: voc-lamp-glow 4s ease-in-out infinite alternate; }
.scn-victim-of-circumstances .figure-adam { position:absolute; bottom:25%; left:38%; width:20px; height:40px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: voc-figure-adam 5s ease-in-out infinite; }
.scn-victim-of-circumstances .figure-eve { position:absolute; bottom:25%; right:30%; width:18px; height:38px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a02 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: voc-figure-eve 6s ease-in-out infinite 1s; opacity:.8; }
.scn-victim-of-circumstances .shadow { position:absolute; bottom:25%; left:30%; width:80px; height:12px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 80%); filter:blur(4px); animation: voc-shadow-pulse 7s ease-in-out infinite; }

@keyframes voc-wall-left { 0% { opacity:.9; transform:translateX(0) } 50% { opacity:1; transform:translateX(-2px) } 100% { opacity:.85; transform:translateX(0) } }
@keyframes voc-wall-right { 0% { opacity:.85; transform:translateX(0) } 50% { opacity:1; transform:translateX(2px) } 100% { opacity:.8; transform:translateX(0) } }
@keyframes voc-lamp-glow { 0% { box-shadow: 0 0 12px 4px rgba(192,128,64,.5), 0 0 30px 15px rgba(192,128,64,.2); opacity:.8 } 50% { box-shadow: 0 0 20px 8px rgba(224,160,80,.7), 0 0 50px 25px rgba(224,160,80,.4); opacity:1 } 100% { box-shadow: 0 0 14px 6px rgba(192,128,64,.55), 0 0 35px 18px rgba(192,128,64,.25); opacity:.85 } }
@keyframes voc-figure-adam { 0% { transform:translateX(0) translateY(0) rotate(-2deg) } 25% { transform:translateX(4px) translateY(-1px) rotate(1deg) } 50% { transform:translateX(8px) translateY(0) rotate(-1deg) } 75% { transform:translateX(4px) translateY(-1px) rotate(2deg) } 100% { transform:translateX(0) translateY(0) rotate(0) } }
@keyframes voc-figure-eve { 0% { transform:translateX(0) translateY(0) rotate(1deg) } 33% { transform:translateX(-3px) translateY(-1px) rotate(-1deg) } 66% { transform:translateX(3px) translateY(1px) rotate(0) } 100% { transform:translateX(0) translateY(0) rotate(1deg) } }
@keyframes voc-shadow-pulse { 0% { opacity:.5; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.1) } 100% { opacity:.4; transform:scaleX(0.9) } }

.scn-adam-and-eve {
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%), radial-gradient(ellipse at 50% 80%, #6a4a2a 0%, transparent 80%);
}
.scn-adam-and-eve .curtain-l { position:absolute; top:0; left:0; width:25%; height:100%; background: linear-gradient(180deg, #8a5a3a 0%, #4a2a1a 100%); border-radius:0 40% 40% 0; transform-origin: left center; animation: aae-curtain-l 8s ease-in-out infinite; }
.scn-adam-and-eve .curtain-r { position:absolute; top:0; right:0; width:25%; height:100%; background: linear-gradient(180deg, #8a5a3a 0%, #4a2a1a 100%); border-radius:40% 0 0 40%; transform-origin: right center; animation: aae-curtain-r 8s ease-in-out infinite 1s; }
.scn-adam-and-eve .stage { position:absolute; bottom:0; left:25%; right:25%; height:35%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.5); }
.scn-adam-and-eve .adam { position:absolute; bottom:30%; left:38%; width:22px; height:45px; background: linear-gradient(180deg, #6a4a3a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: aae-adam 3s ease-in-out infinite; }
.scn-adam-and-eve .eve { position:absolute; bottom:30%; right:35%; width:20px; height:42px; background: linear-gradient(180deg, #8a5a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: aae-eve 4s ease-in-out infinite; }
.scn-adam-and-eve .apple { position:absolute; bottom:45%; left:50%; width:10px; height:12px; background: radial-gradient(circle, #c8553d 0%, #702243 100%); border-radius:50%; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: aae-apple 2s ease-in-out infinite alternate; }
.scn-adam-and-eve .lamp-glow { position:absolute; top:20%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, rgba(224,160,80,.3) 0%, transparent 70%); animation: aae-glow-pulse 6s ease-in-out infinite; }

@keyframes aae-curtain-l { 0%,100% { transform:scaleX(1) } 50% { transform:scaleX(1.05) } }
@keyframes aae-curtain-r { 0%,100% { transform:scaleX(1) } 50% { transform:scaleX(1.05) } }
@keyframes aae-adam { 0% { transform:translateY(0) rotate(0) } 25% { transform:translateY(-3px) rotate(-5deg) } 50% { transform:translateY(0) rotate(0) } 75% { transform:translateY(-2px) rotate(3deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes aae-eve { 0% { transform:translateY(0) rotate(0) } 20% { transform:translateY(-4px) rotate(4deg) } 40% { transform:translateY(0) rotate(0) } 60% { transform:translateY(-2px) rotate(-3deg) } 80% { transform:translateY(-3px) rotate(2deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes aae-apple { 0% { transform:translateX(0) rotate(-10deg) } 50% { transform:translateX(2px) rotate(10deg) } 100% { transform:translateX(-2px) rotate(-5deg) } }
@keyframes aae-glow-pulse { 0% { opacity:.6; transform:translateX(-50%) scale(1) } 50% { opacity:1; transform:translateX(-50%) scale(1.2) } 100% { opacity:.5; transform:translateX(-50%) scale(0.9) } }

.scn-necessity-quote {
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%), radial-gradient(ellipse at 30% 50%, #7a5a3a 0%, transparent 70%);
}
.scn-necessity-quote .bookshelf { position:absolute; top:10%; right:10%; width:30%; height:60%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius:4px 4px 10% 10%; box-shadow: inset 0 0 20px rgba(0,0,0,.6); overflow:hidden; }
.scn-necessity-quote .bookshelf::after { content:''; position:absolute; top:20%; left:10%; width:80%; height:4px; background:#8a5a3a; box-shadow:0 15px 0 #8a5a3a, 0 30px 0 #8a5a3a, 0 45px 0 #8a5a3a; animation: nq-books 12s linear infinite; }
.scn-necessity-quote .desk { position:absolute; bottom:30%; left:10%; width:60%; height:20%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius:10% 10% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-necessity-quote .lamp { position:absolute; bottom:45%; left:20%; width:14px; height:36px; background: linear-gradient(180deg, #c08040 0%, #804020 100%); border-radius:30% 30% 10% 10%; box-shadow: 0 0 16px 8px rgba(192,128,64,.6), 0 0 40px 20px rgba(192,128,64,.3); animation: nq-lamp 5s ease-in-out infinite alternate; }
.scn-necessity-quote .figure-tutt { position:absolute; bottom:28%; left:25%; width:22px; height:42px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0502 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: nq-tutt 7s ease-in-out infinite; }
.scn-necessity-quote .book-open { position:absolute; bottom:36%; left:22%; width:30px; height:20px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius:20% 20% 0 0; transform:rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: nq-book 9s ease-in-out infinite; }
.scn-necessity-quote .shadow { position:absolute; bottom:25%; left:20%; width:100px; height:14px; background: radial-gradient(ellipse, rgba(0,0,0,.5) 0%, transparent 80%); filter:blur(5px); animation: nq-shadow 8s ease-in-out infinite; }

@keyframes nq-books { 0% { transform:translateY(0) } 50% { transform:translateY(-10px) } 100% { transform:translateY(0) } }
@keyframes nq-lamp { 0% { box-shadow: 0 0 12px 4px rgba(192,128,64,.5), 0 0 30px 15px rgba(192,128,64,.2); opacity:.8 } 50% { box-shadow: 0 0 24px 10px rgba(224,160,80,.7), 0 0 50px 25px rgba(224,160,80,.4); opacity:1 } 100% { box-shadow: 0 0 16px 6px rgba(192,128,64,.55), 0 0 35px 18px rgba(192,128,64,.25); opacity:.85 } }
@keyframes nq-tutt { 0% { transform:translateY(0) rotate(0) } 30% { transform:translateY(-2px) rotate(2deg) } 60% { transform:translateY(1px) rotate(-1deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes nq-book { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-8deg) translateY(-4px) } 100% { transform:rotate(-12deg) translateY(0) } }
@keyframes nq-shadow { 0% { opacity:.4; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.2) } 100% { opacity:.3; transform:scaleX(0.8) } }

.scn-hogan-human-hyena {
  background: linear-gradient(180deg, #1a0a05 0%, #0a0301 100%), radial-gradient(ellipse at 50% 60%, #3a1a0a 0%, transparent 70%);
}
.scn-hogan-human-hyena .bg-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 50%, #2a0a02 0%, transparent 80%); animation: hhh-bg-pulse 15s ease-in-out infinite; }
.scn-hogan-human-hyena .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #1a0a02 0%, #050200 100%); border-radius:20% 20% 0 0; }
.scn-hogan-human-hyena .light-cone { position:absolute; top:10%; left:30%; width:40%; height:60%; background: linear-gradient(180deg, rgba(200,120,60,.15) 0%, transparent 100%); clip-path: polygon(20% 0, 80% 0, 60% 100%, 40% 100%); animation: hhh-cone 8s ease-in-out infinite; }
.scn-hogan-human-hyena .figure-hyena { position:absolute; bottom:25%; left:45%; width:24px; height:50px; background: linear-gradient(180deg, #1a0a02 0%, #050200 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: hhh-figure 4s ease-in-out infinite; }
.scn-hogan-human-hyena .top-hat { position:absolute; bottom:75%; left:44%; width:20px; height:14px; background: #0a0502; border-radius:2px 2px 0 0; box-shadow: 0 4px 0 #0a0502; animation: hhh-hat 4s ease-in-out infinite; }
.scn-hogan-human-hyena .shadow { position:absolute; bottom:22%; left:40%; width:60px; height:10px; background: radial-gradient(ellipse, rgba(0,0,0,.6) 0%, transparent 80%); filter:blur(3px); animation: hhh-shadow 6s ease-in-out infinite; }

@keyframes hhh-bg-pulse { 0% { opacity:.7; transform:scale(1) } 50% { opacity:1; transform:scale(1.02) } 100% { opacity:.6; transform:scale(0.98) } }
@keyframes hhh-cone { 0% { opacity:.5; transform:rotate(-2deg) } 50% { opacity:.8; transform:rotate(2deg) } 100% { opacity:.4; transform:rotate(-3deg) } }
@keyframes hhh-figure { 0% { transform:translateY(0) rotate(0) } 30% { transform:translateY(-3px) rotate(2deg) } 60% { transform:translateY(1px) rotate(-3deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes hhh-hat { 0% { transform:translateY(0) rotate(0) } 25% { transform:translateY(-2px) rotate(3deg) } 50% { transform:translateY(1px) rotate(-2deg) } 75% { transform:translateY(-3px) rotate(1deg) } 100% { transform:translateY(0) rotate(0) } }
@keyframes hhh-shadow { 0% { opacity:.4; transform:scaleX(1) } 50% { opacity:.7; transform:scaleX(1.2) } 100% { opacity:.3; transform:scaleX(0.8) } }

/* Scene 1 – Office confrontation */
.scn-tutt-office-confrontation {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #d4c4a8 60%, #a08060 100%),
    radial-gradient(ellipse at 40% 60%, #f5e6d0 0%, transparent 60%);
}
.scn-tutt-office-confrontation .window-light {
  position: absolute; top: 0; left: 10%; width: 45%; height: 55%;
  background: linear-gradient(180deg, rgba(255,230,180,0.8) 0%, rgba(255,200,120,0.3) 100%);
  border-radius: 0 20% 60% 0 / 0 0 50% 0;
  animation: to1-window 8s ease-in-out infinite alternate;
}
.scn-tutt-office-confrontation .wall-shadow {
  position: absolute; inset: 0 0 0 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.25) 70%);
}
.scn-tutt-office-confrontation .desk {
  position: absolute; bottom: 25%; left: 20%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a12 100%);
  border-radius: 4px 4px 40% 40% / 10px 10px 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: to1-desk 4s ease-in-out infinite;
}
.scn-tutt-office-confrontation .figure-cutler {
  position: absolute; bottom: 28%; left: 25%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom;
  animation: to1-figure-sharp 3s ease-in-out infinite;
}
.scn-tutt-office-confrontation .figure-tutt {
  position: absolute; bottom: 28%; right: 25%; width: 30px; height: 72px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 30% 30%;
  transform-origin: bottom;
  animation: to1-figure-sharp 3s ease-in-out infinite reverse;
}
.scn-tutt-office-confrontation .lamp-glow {
  position: absolute; top: 20%; left: 45%; width: 40px; height: 40px;
  background: radial-gradient(circle, rgba(255,220,150,1) 0%, rgba(255,180,100,0.4) 50%, transparent 70%);
  box-shadow: 0 0 60px 20px rgba(255,180,100,0.5);
  border-radius: 50%;
  animation: to1-lamp 2s ease-in-out infinite alternate;
}
.scn-tutt-office-confrontation .paper-detail {
  position: absolute; bottom: 28%; left: 44%; width: 12%; height: 6%;
  background: #f0e0c0;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: to1-paper 6s ease-in-out infinite;
}
@keyframes to1-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes to1-desk { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes to1-figure-sharp { 0% { transform: translateY(0) rotate(-1deg); } 30% { transform: translateY(-3px) rotate(2deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes to1-lamp { 0% { transform: scale(0.95); opacity: 0.8; } 100% { transform: scale(1.1); opacity: 1; } }
@keyframes to1-paper { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

/* Scene 2 – Time passage, Payson decision */
.scn-time-passage-payson-decision {
  background: 
    linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 40%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 100%, #3a3a4e 0%, transparent 80%);
}
.scn-time-passage-payson-decision .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3e 0%, #151520 100%);
}
.scn-time-passage-payson-decision .window-pane {
  position: absolute; top: 8%; left: 35%; width: 30%; height: 45%;
  background: linear-gradient(180deg, rgba(180,200,255,0.2) 0%, transparent 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 4px 12px rgba(100,130,200,0.3);
  animation: tp2-window 12s ease-in-out infinite alternate;
}
.scn-time-passage-payson-decision .chair {
  position: absolute; bottom: 20%; left: 40%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  transform-origin: bottom;
  animation: tp2-chair 8s ease-in-out infinite;
}
.scn-time-passage-payson-decision .figure-payson {
  position: absolute; bottom: 18%; left: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: tp2-figure 6s ease-in-out infinite;
}
.scn-time-passage-payson-decision .table-leg {
  position: absolute; bottom: 15%; left: 35%; width: 60px; height: 30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 10px 10px 30% 30% / 10px 10px 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: tp2-table 10s ease-in-out infinite;
}
.scn-time-passage-payson-decision .candle-glow {
  position: absolute; bottom: 40%; left: 48%; width: 12px; height: 20px;
  background: radial-gradient(circle at 50% 20%, #ffd080 0%, #b06020 60%, transparent 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 24px 8px rgba(255,200,100,0.4);
  animation: tp2-candle 4s ease-in-out infinite alternate;
}
.scn-time-passage-payson-decision .papers-stack {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 8px;
  background: #d4c4a0;
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
  animation: tp2-papers 5s ease-in-out infinite;
}
@keyframes tp2-window { 0% { opacity: 0.6; } 50% { opacity: 0.9; } 100% { opacity: 0.7; } }
@keyframes tp2-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tp2-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tp2-table { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes tp2-candle { 0% { transform: scale(0.9); opacity: 0.7; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.8; } }
@keyframes tp2-papers { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }

/* Scene 3 – Payson inner conflict */
.scn-payson-inner-conflict {
  background: 
    linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 40%, #0a0a14 100%),
    radial-gradient(ellipse at 60% 30%, #202040 0%, transparent 60%);
}
.scn-payson-inner-conflict .bg-deep {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #0a0a1a 0%, #0a0a0f 100%);
}
.scn-payson-inner-conflict .moonlight-beam {
  position: absolute; top: 0; right: 20%; width: 35%; height: 100%;
  background: linear-gradient(180deg, rgba(150,180,220,0.15) 0%, transparent 70%);
  clip-path: polygon(10% 0, 90% 0, 70% 100%, 30% 100%);
  animation: pi3-beam 10s ease-in-out infinite alternate;
}
.scn-payson-inner-conflict .shadow-sadie {
  position: absolute; bottom: 20%; right: 25%; width: 30px; height: 80px;
  background: linear-gradient(180deg, rgba(30,20,40,0.8) 0%, rgba(10,5,20,0.9) 100%);
  border-radius: 50% 50% 30% 30% / 70% 60% 30% 30%;
  transform-origin: bottom;
  animation: pi3-sadie 5s ease-in-out infinite alternate;
}
.scn-payson-inner-conflict .figure-payson {
  position: absolute; bottom: 18%; left: 30%; width: 25px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom;
  animation: pi3-payson 4s ease-in-out infinite;
}
.scn-payson-inner-conflict .desk-edge {
  position: absolute; bottom: 22%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 10px 10px 40% 40% / 8px 8px 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  animation: pi3-desk 6s ease-in-out infinite;
}
.scn-payson-inner-conflict .lamp-dim {
  position: absolute; bottom: 45%; left: 35%; width: 14px; height: 10px;
  background: radial-gradient(circle, #b08040 0%, #604020 80%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 16px 4px rgba(100,60,20,0.3);
  animation: pi3-lamp 3s ease-in-out infinite alternate;
}
@keyframes pi3-beam { 0% { opacity: 0.3; transform: skewX(-2deg); } 50% { opacity: 0.6; transform: skewX(2deg); } 100% { opacity: 0.4; transform: skewX(-2deg); } }
@keyframes pi3-sadie { 0% { transform: translateY(0) scaleY(1); opacity: 0.6; } 50% { transform: translateY(-4px) scaleY(1.03); opacity: 0.9; } 100% { transform: translateY(0) scaleY(1); opacity: 0.6; } }
@keyframes pi3-payson { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pi3-desk { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98); } 100% { transform: scaleX(1); } }
@keyframes pi3-lamp { 0% { transform: scale(0.9); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.8; } 100% { transform: scale(0.95); opacity: 0.6; } }

/* Scene 4 – Tutt dinner invitation */
.scn-tutt-dinner-invitation {
  background: 
    linear-gradient(180deg, #1a0a0a 0%, #3a1a0a 40%, #2a0a00 100%),
    radial-gradient(ellipse at 50% 20%, #6a2a0a 0%, transparent 60%);
}
.scn-tutt-dinner-invitation .house-sky {
  position: absolute; top: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a0a0a 100%);
  animation: di4-sky 15s ease-in-out infinite alternate;
}
.scn-tutt-dinner-invitation .house-body {
  position: absolute; bottom: 30%; left: 25%; right: 25%; height: 50%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 20px 20px 8px 8px / 40px 40px 10px 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5), inset 0 0 20px rgba(100,50,20,0.3);
  animation: di4-house 6s ease-in-out infinite;
}
.scn-tutt-dinner-invitation .roof {
  position: absolute; bottom: 75%; left: 22%; right: 22%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0% 100%);
  animation: di4-roof 8s ease-in-out infinite;
}
.scn-tutt-dinner-invitation .window-glow {
  position: absolute; bottom: 55%; left: 35%; width: 20px; height: 25px;
  background: radial-gradient(circle, #f0c060 0%, #d08030 70%, transparent 100%);
  border-radius: 4px;
  box-shadow: 0 0 30px 10px rgba(230,180,80,0.5);
  animation: di4-window 3s ease-in-out infinite alternate;
}
.scn-tutt-dinner-invitation .door-arch {
  position: absolute; bottom: 30%; left: 45%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0500 100%);
  border-radius: 40% 40% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 0 12px rgba(200,150,50,0.4);
  animation: di4-door 5s ease-in-out infinite;
}
.scn-tutt-dinner-invitation .figure-arriving {
  position: absolute; bottom: 25%; left: 55%; width: 18px; height: 55px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom;
  animation: di4-figure 7s ease-in-out infinite;
}
.scn-tutt-dinner-invitation .wistaria-vine {
  position: absolute; top: 5%; left: 10%; width: 30%; height: 40%;
  background: radial-gradient(ellipse at 50% 100%, #2a4a2a 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(2px);
  animation: di4-wistaria 12s linear infinite alternate;
}
.scn-tutt-dinner-invitation .gaslamp {
  position: absolute; bottom: 30%; left: 38%; width: 8px; height: 14px;
  background: radial-gradient(circle, #ffd080 0%, #b06020 60%, transparent 100%);
  box-shadow: 0 0 40px 12px rgba(255,180,80,0.6);
  border-radius: 40% 40% 20% 20%;
  animation: di4-lamp 2s ease-in-out infinite alternate;
}
@keyframes di4-sky { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 0.7; } }
@keyframes di4-house { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes di4-roof { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes di4-window { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(1.1); opacity: 1; } }
@keyframes di4-door { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } 100% { transform: scaleY(1); } }
@keyframes di4-figure { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(2deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes di4-wistaria { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(20px) scale(1.05); } 100% { transform: translateX(0) scale(1); } }
@keyframes di4-lamp { 0% { transform: scale(0.95); opacity: 0.7; } 100% { transform: scale(1.05); opacity: 1; } }

.scn-hassoun-spits {
  background: 
    linear-gradient(180deg, #e8d4b8 0%, #c9a87d 100%),
    radial-gradient(ellipse at 50% 0%, #f5e6d0 0%, transparent 80%);
}
.scn-hassoun-spits .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(0deg, #b2956e 0%, #d4b99a 100%);
  box-shadow: inset 0 -30px 30px rgba(0,0,0,0.15);
}
.scn-hassoun-spits .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #7a654a 0%, #5a4a3a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-hassoun-spits .spittoon {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 60%, #6b4e3d 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 -2px 6px rgba(0,0,0,0.4);
  animation: hs-spittoon-bob 2s ease-in-out infinite;
}
@keyframes hs-spittoon-bob {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(0.98); }
  100% { transform: translateY(0) scale(1); }
}
.scn-hassoun-spits .figure-1 {
  position: absolute; bottom: 15%; left: 45%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: hs-figure1-turn 3s ease-in-out infinite;
}
@keyframes hs-figure1-turn {
  0% { transform: rotate(0deg) translateX(0); }
  30% { transform: rotate(-8deg) translateX(-2px); }
  60% { transform: rotate(2deg) translateX(1px); }
  100% { transform: rotate(0deg) translateX(0); }
}
.scn-hassoun-spits .figure-2 {
  position: absolute; bottom: 15%; right: 20%; width: 28px; height: 68px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: hs-figure2-shudder 1.5s ease-in-out infinite alternate;
}
@keyframes hs-figure2-shudder {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-3deg) translateY(-1px); }
  100% { transform: rotate(2deg) translateY(0); }
}
.scn-hassoun-spits .spit {
  position: absolute; bottom: 35%; left: 48%; width: 4px; height: 4px;
  background: radial-gradient(circle, #f0e6d0 0%, #d4b99a 100%);
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(240,230,208,0.6);
  animation: hs-spit-fly 2s ease-in-out infinite;
}
@keyframes hs-spit-fly {
  0% { transform: translate(0, 0) scale(1); opacity: 1; }
  40% { transform: translate(15px, -10px) scale(0.8); opacity: 0.7; }
  80% { transform: translate(30px, -20px) scale(0.4); opacity: 0.2; }
  100% { transform: translate(35px, -25px) scale(0); opacity: 0; }
}
.scn-hassoun-spits .shadow-sharp {
  position: absolute; bottom: 10%; left: 35%; width: 80px; height: 10px;
  background: linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.15) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: hs-shadow-pulse 3s ease-in-out infinite;
}
@keyframes hs-shadow-pulse {
  0% { opacity: 0.7; transform: skewX(-20deg) scaleX(1); }
  50% { opacity: 1; transform: skewX(-25deg) scaleX(1.1); }
  100% { opacity: 0.7; transform: skewX(-20deg) scaleX(1); }
}

.scn-scuttle-pointed-out {
  background:
    linear-gradient(180deg, #b8d4e8 0%, #7aa3c4 50%, #4a7a9a 100%),
    radial-gradient(ellipse at 30% 80%, #f5e6d0 0%, transparent 60%);
}
.scn-scuttle-pointed-out .deck {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
}
.scn-scuttle-pointed-out .scuttle {
  position: absolute; bottom: 30%; left: 50%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  transform: translateX(-50%);
  box-shadow: inset 0 5px 10px rgba(0,0,0,0.5);
  animation: sp-scuttle-shake 4s ease-in-out infinite;
}
@keyframes sp-scuttle-shake {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(3deg); }
  50% { transform: translateX(-50%) rotate(-2deg); }
  75% { transform: translateX(-50%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
.scn-scuttle-pointed-out .camel-head {
  position: absolute; bottom: 45%; left: 50%; width: 35px; height: 50px;
  background: linear-gradient(180deg, #d4a87a 0%, #b08050 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: sp-camel-pop 3s ease-in-out infinite;
}
@keyframes sp-camel-pop {
  0% { transform: translateX(-50%) translateY(10px) scale(0.8); opacity: 0; }
  20% { transform: translateX(-50%) translateY(-5px) scale(1); opacity: 1; }
  80% { transform: translateX(-50%) translateY(0) scale(1); opacity: 1; }
  100% { transform: translateX(-50%) translateY(10px) scale(0.8); opacity: 0; }
}
.scn-scuttle-pointed-out .camel-head::before {
  content: ''; position: absolute; top: 10px; left: -8px; width: 12px; height: 8px;
  background: linear-gradient(180deg, #d4a87a 0%, #b08050 100%);
  border-radius: 50% 0 0 50%;
}
.scn-scuttle-pointed-out .camel-head::after {
  content: ''; position: absolute; top: 10px; right: -8px; width: 12px; height: 8px;
  background: linear-gradient(180deg, #d4a87a 0%, #b08050 100%);
  border-radius: 0 50% 50% 0;
}
.scn-scuttle-pointed-out .bottle {
  position: absolute; bottom: 28%; left: 35%; width: 10px; height: 20px;
  background: linear-gradient(180deg, #9aba80 0%, #6a8a50 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 30% 30%;
  transform: rotate(-15deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: sp-bottle-toss 5s ease-in-out infinite;
}
@keyframes sp-bottle-toss {
  0% { transform: rotate(-15deg) translateY(0); }
  25% { transform: rotate(10deg) translateY(-5px); }
  50% { transform: rotate(-20deg) translateY(0); }
  75% { transform: rotate(15deg) translateY(-3px); }
  100% { transform: rotate(-15deg) translateY(0); }
}
.scn-scuttle-pointed-out .ink-splash {
  position: absolute; top: 20%; left: 60%; width: 20px; height: 20px;
  background: radial-gradient(circle, #3a2a4a 0%, #1a0e1e 100%);
  border-radius: 50%;
  filter: blur(1px);
  animation: sp-ink-spread 4s ease-in-out infinite;
}
@keyframes sp-ink-spread {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.5); opacity: 0.4; }
  100% { transform: scale(2); opacity: 0; }
}
.scn-scuttle-pointed-out .sail-shadow {
  position: absolute; top: 10%; right: 10%; width: 60px; height: 80px;
  background: linear-gradient(180deg, rgba(180,200,220,0.3) 0%, transparent 100%);
  border-radius: 50% 50% 20% 20% / 80% 80% 20% 20%;
  transform: rotate(10deg);
  animation: sp-sail-sway 8s ease-in-out infinite alternate;
}
@keyframes sp-sail-sway {
  0% { transform: rotate(10deg) scaleX(0.9); }
  100% { transform: rotate(-5deg) scaleX(1.1); }
}

.scn-miss-wiggin-wise {
  background:
    linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 50%, #b8a080 100%),
    radial-gradient(ellipse at 50% 100%, #e0d0b0 0%, transparent 80%);
}
.scn-miss-wiggin-wise .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #c0a880 0%, #e0d0b0 50%, #d0b090 100%);
  opacity: 0.5;
}
.scn-miss-wiggin-wise .desk {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 40px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4030 100%);
  border-radius: 4px 4px 8px 8px;
  transform: translateX(-50%);
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: mw-desk-creak 10s ease-in-out infinite;
}
@keyframes mw-desk-creak {
  0% { transform: translateX(-50%) rotate(0deg); }
  30% { transform: translateX(-50%) rotate(-1deg); }
  60% { transform: translateX(-50%) rotate(1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
.scn-miss-wiggin-wise .lamp {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 30px;
  background: linear-gradient(180deg, #c0a050 0%, #8a6a30 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%);
  box-shadow: 0 0 10px 5px rgba(240,200,100,0.3);
}
.scn-miss-wiggin-wise .lamp::after {
  content: ''; position: absolute; top: -8px; left: -6px; width: 20px; height: 12px;
  background: radial-gradient(ellipse at 50% 50%, #f0d060 0%, #d0a040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 8px rgba(240,200,60,0.4);
  animation: mw-lamp-glow 4s ease-in-out infinite alternate;
}
@keyframes mw-lamp-glow {
  0% { box-shadow: 0 0 10px 4px rgba(240,200,60,0.3); opacity: 0.8; }
  50% { box-shadow: 0 0 25px 10px rgba(240,200,60,0.6); opacity: 1; }
  100% { box-shadow: 0 0 15px 6px rgba(240,200,60,0.4); opacity: 0.9; }
}
.scn-miss-wiggin-wise .path-left {
  position: absolute; bottom: 25%; left: 25%; width: 60px; height: 8px;
  background: linear-gradient(90deg, #a08060 0%, #c0a880 100%);
  border-radius: 4px;
  transform: rotate(-20deg);
  animation: mw-path-pulse-l 6s ease-in-out infinite;
}
.scn-miss-wiggin-wise .path-right {
  position: absolute; bottom: 25%; right: 25%; width: 60px; height: 8px;
  background: linear-gradient(90deg, #a08060 0%, #c0a880 100%);
  border-radius: 4px;
  transform: rotate(20deg);
  animation: mw-path-pulse-r 6s ease-in-out infinite;
}
@keyframes mw-path-pulse-l {
  0% { opacity: 0.5; transform: rotate(-20deg) scaleX(0.9); }
  50% { opacity: 1; transform: rotate(-25deg) scaleX(1.2); }
  100% { opacity: 0.5; transform: rotate(-20deg) scaleX(0.9); }
}
@keyframes mw-path-pulse-r {
  0% { opacity: 0.5; transform: rotate(20deg) scaleX(0.9); }
  50% { opacity: 1; transform: rotate(25deg) scaleX(1.2); }
  100% { opacity: 0.5; transform: rotate(20deg) scaleX(0.9); }
}
.scn-miss-wiggin-wise .woman-silhouette {
  position: absolute; bottom: 25%; left: 50%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: mw-woman-tilt 5s ease-in-out infinite;
}
@keyframes mw-woman-tilt {
  0% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-50%) rotate(-2deg); }
  50% { transform: translateX(-50%) rotate(1deg); }
  75% { transform: translateX(-50%) rotate(-1deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
.scn-miss-wiggin-wise .woman-silhouette::before {
  content: ''; position: absolute; top: -10px; left: 4px; width: 16px; height: 12px;
  background: #2a1a1a;
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-miss-wiggin-wise .thought-swirl {
  position: absolute; top: 15%; left: 60%; width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(3px);
  animation: mw-swirl-float 8s ease-in-out infinite;
}
@keyframes mw-swirl-float {
  0% { transform: translate(0,0) scale(1); opacity: 0.3; }
  25% { transform: translate(10px,-5px) scale(1.2); opacity: 0.6; }
  50% { transform: translate(-5px,10px) scale(0.9); opacity: 0.4; }
  75% { transform: translate(8px,8px) scale(1.1); opacity: 0.5; }
  100% { transform: translate(0,0) scale(1); opacity: 0.3; }
}

.scn-willies-ownership-feeling {
  background:
    linear-gradient(180deg, #d0c0a0 0%, #b8a080 50%, #9a7a60 100%),
    radial-gradient(ellipse at 50% 80%, #e0d0b0 0%, transparent 70%);
}
.scn-willies-ownership-feeling .stable-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #705840 0%, #8a6a4a 50%, #705840 100%);
  opacity: 0.3;
}
.scn-willies-ownership-feeling .camel-body {
  position: absolute; bottom: 15%; left: 30%; width: 80px; height: 70px;
  background: linear-gradient(180deg, #c8a87a 0%, #a08050 100%);
  border-radius: 30% 30% 50% 50% / 40% 40% 60% 60%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: wo-camel-breathe 4s ease-in-out infinite;
}
@keyframes wo-camel-breathe {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.02) translateY(-2px); }
  100% { transform: scale(1) translateY(0); }
}
.scn-willies-ownership-feeling .camel-body::before {
  content: ''; position: absolute; top: 20px; left: -15px; width: 25px; height: 30px;
  background: linear-gradient(180deg, #c8a87a 0%, #a08050 100%);
  border-radius: 50% 0 0 50% / 60% 0 0 60%;
}
.scn-willies-ownership-feeling .camel-body::after {
  content: ''; position: absolute; bottom: 10px; right: -20px; width: 15px; height: 20px;
  background: linear-gradient(180deg, #a08050 0%, #806030 100%);
  border-radius: 0 50% 50% 0;
}
.scn-willies-ownership-feeling .mark {
  position: absolute; bottom: 35%; left: 35%; width: 16px; height: 16px;
  background: radial-gradient(circle, #c8553d 0%, #8a1a1a 100%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(200,85,61,0.4);
  animation: wo-mark-pulse 2s ease-in-out infinite alternate;
}
@keyframes wo-mark-pulse {
  0% { transform: scale(1); box-shadow: 0 0 4px 1px rgba(200,85,61,0.3); }
  100% { transform: scale(1.2); box-shadow: 0 0 12px 4px rgba(200,85,61,0.6); }
}
.scn-willies-ownership-feeling .willie-shadow {
  position: absolute; bottom: 15%; right: 20%; width: 20px; height: 45px;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: wo-willie-shift 6s ease-in-out infinite;
}
@keyframes wo-willie-shift {
  0% { transform: translateX(0) scaleY(1); }
  30% { transform: translateX(-5px) scaleY(0.95); }
  60% { transform: translateX(3px) scaleY(1.02); }
  100% { transform: translateX(0) scaleY(1); }
}
.scn-willies-ownership-feeling .rope-coil {
  position: absolute; bottom: 20%; left: 55%; width: 20px; height: 20px;
  background: linear-gradient(135deg, #8a6a4a 0%, #5a4020 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: wo-rope-coil 8s linear infinite;
}
@keyframes wo-rope-coil {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.scn-willies-ownership-feeling .hay-bale {
  position: absolute; bottom: 10%; left: 60%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #d0b070 0%, #b09050 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: wo-hay-bounce 7s ease-in-out infinite;
}
@keyframes wo-hay-bounce {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-3px) rotate(5deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(-5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

/* Scene 1: meeting-sadie-burch (warm sunlit porch) */
.scn-meeting-sadie-burch {
  background: 
    linear-gradient(180deg, #f7d9a0 0%, #e8b86d 30%, #c89250 60%),
    linear-gradient(180deg, #d4a35a 0%, #b07840 100%);
}
.scn-meeting-sadie-burch .sky-msb {
  position: absolute; inset: 0 0 55% 0;
  background: linear-gradient(180deg, #b8d4f0 0%, #d4e8c0 40%, transparent 100%);
  animation: msb-sky 12s ease-in-out infinite alternate;
}
.scn-meeting-sadie-burch .awning-msb {
  position: absolute; top: 0; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #f5f0e0 0%, #d4d0b8 100%);
  border-radius: 0 0 20% 20% / 0 0 60% 60%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  animation: msb-awning 15s ease-in-out infinite alternate;
}
.scn-meeting-sadie-burch .porch-floor-msb {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a5030 100%);
  border-radius: 0 0 8% 8%;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.3);
}
.scn-meeting-sadie-burch .rocking-chair-msb {
  position: absolute; bottom: 22%; left: 30%; width: 60px; height: 70px;
  background: linear-gradient(135deg, #7a5a3a 0%, #4a3020 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: msb-rock 3s ease-in-out infinite;
}
.scn-meeting-sadie-burch .figure-msb {
  position: absolute; bottom: 20%; left: 35%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #d0b8a0 0%, #a08060 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: msb-figure 5s ease-in-out infinite;
}
.scn-meeting-sadie-burch .knitting-msb {
  position: absolute; bottom: 24%; left: 38%; width: 16px; height: 12px;
  background: linear-gradient(180deg, #c0a080 0%, #907060 100%);
  border-radius: 30% 30% 20% 20%;
  animation: msb-knit 2s ease-in-out infinite;
}
.scn-meeting-sadie-burch .sun-light-msb {
  position: absolute; top: 5%; left: 40%; width: 60px; height: 60px;
  background: radial-gradient(circle, rgba(255,230,180,0.6) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: msb-sunlight 4s ease-in-out infinite alternate;
}
@keyframes msb-sky { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes msb-awning { 0% { transform: translateY(0) } 50% { transform: translateY(-5px) } 100% { transform: translateY(0) } }
@keyframes msb-rock { 0% { transform: rotate(0deg) } 50% { transform: rotate(8deg) translateY(-2px) } 100% { transform: rotate(0deg) } }
@keyframes msb-figure { 0% { transform: rotate(0) } 25% { transform: rotate(3deg) } 50% { transform: rotate(0) } 75% { transform: rotate(-3deg) } 100% { transform: rotate(0) } }
@keyframes msb-knit { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(4px,-2px) scale(1.05) } 100% { transform: translate(0,0) scale(1) } }
@keyframes msb-sunlight { 0% { opacity:0.5; transform: scale(0.9) } 50% { opacity:1; transform: scale(1.1) } 100% { opacity:0.7; transform: scale(1) } }

/* Scene 2: new-section-youre-another (calm dim interior with car) */
.scn-new-section-youre-another {
  background: 
    linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 80%, #3a3a5a 0%, transparent 70%);
}
.scn-new-section-youre-another .wall-nsy {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  animation: nsy-wall 20s ease-in-out infinite alternate;
}
.scn-new-section-youre-another .window-nsy {
  position: absolute; top: 10%; left: 20%; right: 20%; height: 40%;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%);
  border: 4px solid #4a4a5a;
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-new-section-youre-another .curtain-left-nsy {
  position: absolute; top: 8%; left: 18%; width: 12%; height: 44%;
  background: linear-gradient(180deg, #6a5a4a 20%, #4a3a2a 100%);
  border-radius: 0 10% 10% 0;
  opacity: 0.7;
  animation: nsy-curtain-left 8s ease-in-out infinite alternate;
}
.scn-new-section-youre-another .curtain-right-nsy {
  position: absolute; top: 8%; right: 18%; width: 12%; height: 44%;
  background: linear-gradient(180deg, #6a5a4a 20%, #4a3a2a 100%);
  border-radius: 10% 0 0 10%;
  opacity: 0.7;
  animation: nsy-curtain-right 8s ease-in-out infinite alternate;
}
.scn-new-section-youre-another .figure-nsy {
  position: absolute; bottom: 28%; left: 45%; width: 24px; 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: nsy-figure 6s ease-in-out infinite;
}
.scn-new-section-youre-another .car-nsy {
  position: absolute; bottom: 10%; left: 35%; width: 80px; height: 40px;
  background: linear-gradient(135deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 40% 40%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
  animation: nsy-car 30s ease-in-out infinite;
}
.scn-new-section-youre-another .moonlight-nsy {
  position: absolute; top: 12%; left: 25%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(180,200,230,0.3) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(15px);
  animation: nsy-moonlight 10s ease-in-out infinite alternate;
}
@keyframes nsy-wall { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.95 } }
@keyframes nsy-curtain-left { 0% { transform: translateX(0) } 50% { transform: translateX(-8px) } 100% { transform: translateX(0) } }
@keyframes nsy-curtain-right { 0% { transform: translateX(0) } 50% { transform: translateX(8px) } 100% { transform: translateX(0) } }
@keyframes nsy-figure { 0% { transform: translate(0,0) } 50% { transform: translate(3px, -1px) } 100% { transform: translate(0,0) } }
@keyframes nsy-car { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(1) } }
@keyframes nsy-moonlight { 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 3: pumpelly-wells-feud (tense dim interior, two figures) */
.scn-pumpelly-wells-feud {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #0a0a1a 100%),
    radial-gradient(ellipse at 50% 0%, #3a3a5a 0%, transparent 60%);
}
.scn-pumpelly-wells-feud .bg-deep-pwf {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  animation: pwf-bg 5s ease-in-out infinite alternate;
}
.scn-pumpelly-wells-feud .door-frame-pwf {
  position: absolute; top: 0; left: 20%; right: 20%; height: 70%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border: 6px solid #4a4a5a;
  border-bottom: none;
  border-radius: 4% 4% 0 0;
}
.scn-pumpelly-wells-feud .floor-pwf {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-top: 2px solid #4a4a5a;
}
.scn-pumpelly-wells-feud .figure-left-pwf {
  position: absolute; bottom: 15%; left: 28%; width: 22px; height: 56px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pwf-figure-left 2.5s ease-in-out infinite;
}
.scn-pumpelly-wells-feud .figure-right-pwf {
  position: absolute; bottom: 15%; right: 30%; width: 22px; height: 56px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pwf-figure-right 2.5s ease-in-out infinite reverse;
}
.scn-pumpelly-wells-feud .shadow-line-pwf {
  position: absolute; bottom: 20%; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, transparent 10%, #4a4a6a 50%, transparent 90%);
  filter: blur(2px);
  animation: pwf-shadow 3s ease-in-out infinite alternate;
}
@keyframes pwf-bg { 0% { opacity:1 } 50% { opacity:0.85 } 100% { opacity:1 } }
@keyframes pwf-figure-left { 0% { transform: rotate(0deg) translateX(0) } 50% { transform: rotate(5deg) translateX(-3px) } 100% { transform: rotate(0deg) translateX(0) } }
@keyframes pwf-figure-right { 0% { transform: rotate(0deg) translateX(0) scale(1) } 50% { transform: rotate(-6deg) translateX(4px) scale(0.95) } 100% { transform: rotate(0deg) translateX(0) scale(1) } }
@keyframes pwf-shadow { 0% { opacity:0.5; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(2) } 100% { opacity:0.5; transform: scaleY(1) } }

/* Scene 4: pumpelly-hires-lawyer (tense bright interior, figure and butler) */
.scn-pumpelly-hires-lawyer {
  background: 
    linear-gradient(180deg, #f0e8c0 0%, #d0c8a0 40%, #b0a880 100%),
    radial-gradient(ellipse at 50% 30%, #f5f0d0 0%, transparent 80%);
}
.scn-pumpelly-hires-lawyer .wall-phl {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8dcc0 0%, #d0c4a0 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.1);
  animation: phl-wall 10s ease-in-out infinite alternate;
}
.scn-pumpelly-hires-lawyer .floor-phl {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b0a080 0%, #908070 100%);
  border-top: 3px solid #a09880;
}
.scn-pumpelly-hires-lawyer .figure-left-phl {
  position: absolute; bottom: 18%; left: 30%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #c0b0a0 0%, #a09080 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phl-figure-left 2s ease-in-out infinite;
}
.scn-pumpelly-hires-lawyer .figure-right-phl {
  position: absolute; bottom: 18%; right: 28%; width: 24px; height: 54px;
  background: linear-gradient(180deg, #b0a090 0%, #908070 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phl-figure-right 2.5s ease-in-out infinite;
}
.scn-pumpelly-hires-lawyer .table-phl {
  position: absolute; bottom: 10%; left: 40%; width: 60px; height: 20px;
  background: linear-gradient(135deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 10% 10% 8% 8%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: phl-table 4s ease-in-out infinite;
}
.scn-pumpelly-hires-lawyer .lamp-phl {
  position: absolute; bottom: 28%; left: 48%; width: 14px; height: 20px;
  background: radial-gradient(circle, #f0e080 0%, #d0b060 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 40px 10px rgba(240,224,128,0.6);
  animation: phl-lamp 1.5s ease-in-out infinite alternate;
}
.scn-pumpelly-hires-lawyer .shadow-phl {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.2) 100%);
  animation: phl-shadow 3s ease-in-out infinite alternate;
}
@keyframes phl-wall { 0% { opacity:0.95 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes phl-figure-left { 0% { transform: rotate(0deg) translateX(0) } 30% { transform: rotate(10deg) translateX(8px) } 60% { transform: rotate(-5deg) translateX(-4px) } 100% { transform: rotate(0deg) translateX(0) } }
@keyframes phl-figure-right { 0% { transform: translate(0,0) } 50% { transform: translate(4px, -2px) scale(0.98) } 100% { transform: translate(0,0) } }
@keyframes phl-table { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes phl-lamp { 0% { box-shadow: 0 0 30px 8px rgba(240,224,128,0.5); opacity:0.8 } 50% { box-shadow: 0 0 50px 15px rgba(240,224,128,0.8); opacity:1 } 100% { box-shadow: 0 0 35px 10px rgba(240,224,128,0.6); opacity:0.9 } }
@keyframes phl-shadow { 0% { opacity:0.4 } 50% { opacity:0.7 } 100% { opacity:0.4 } }

.scn-beekman-mansion-breakfast { background: linear-gradient(180deg, #f5e8d0 0%, #d4c4a0 50%, #b8a080 100%), radial-gradient(ellipse at 30% 20%, rgba(255,240,210,0.8) 0%, transparent 60%); }
.scn-beekman-mansion-breakfast .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #e8dcc8 0%, #d4c4a8 100%); }
.scn-beekman-mansion-breakfast .window-light { position:absolute; top:10%; left:15%; width:25%; height:50%; background: radial-gradient(ellipse, rgba(255,255,230,0.9) 0%, rgba(255,250,220,0.4) 60%, transparent 100%); border-radius: 40% 20% 0 0; animation: bm1-window 6s ease-in-out infinite alternate; }
.scn-beekman-mansion-breakfast .desk { position:absolute; bottom:20%; left:25%; width:40%; height:18%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 8% 8% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.3); transform: perspective(800px) rotateX(10deg); }
.scn-beekman-mansion-breakfast .figure-miss { position:absolute; bottom:24%; left:32%; width:12%; height:40%; background: radial-gradient(ellipse 60% 50% at 50% 25%, #e0c8a0 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 70%, #c0a888 0%, #907060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; animation: bm1-seat 12s ease-in-out infinite; }
.scn-beekman-mansion-breakfast .figure-dawkins { position:absolute; bottom:22%; right:22%; width:14%; height:45%; background: radial-gradient(ellipse 70% 50% at 50% 15%, #d8c0a0 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 75%, #b89878 0%, #806040 100%); border-radius: 50% 50% 35% 35% / 55% 55% 25% 25%; transform-origin: bottom; animation: bm1-bow 8s ease-in-out infinite; }
.scn-beekman-mansion-breakfast .teacup { position:absolute; bottom:36%; left:48%; width:6%; height:5%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,0.2); animation: bm1-cup 14s ease-in-out infinite; }
.scn-beekman-mansion-breakfast .letter { position:absolute; bottom:32%; left:38%; width:8%; height:6%; background: linear-gradient(135deg, #f8f0e0 0%, #e8d8c0 100%); border-radius: 2px; transform: rotate(-10deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.15); animation: bm1-letter 20s linear infinite; }
@keyframes bm1-window { 0% { opacity:0.7; transform:scaleX(1) } 50% { opacity:1; transform:scaleX(1.05) } 100% { opacity:0.8; transform:scaleX(0.98) } }
@keyframes bm1-seat { 0% { transform:translateY(0) rotate(0deg) } 33% { transform:translateY(-2px) rotate(1deg) } 66% { transform:translateY(1px) rotate(-0.5deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes bm1-bow { 0% { transform:rotate(0deg) scaleY(1) } 50% { transform:rotate(8deg) scaleY(0.97) } 100% { transform:rotate(0deg) scaleY(1) } }
@keyframes bm1-cup { 0% { transform:translate(0,0) scale(1) } 50% { transform:translate(1px,-1px) scale(1.02) } 100% { transform:translate(0,0) scale(1) } }
@keyframes bm1-letter { 0% { transform:rotate(-10deg) translateY(0) } 50% { transform:rotate(-5deg) translateY(-2px) } 100% { transform:rotate(-10deg) translateY(0) } }

.scn-beekman-miss-dismissal { background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 50%, #a89880 100%), radial-gradient(ellipse at 80% 30%, rgba(200,180,160,0.3) 0%, transparent 70%); }
.scn-beekman-miss-dismissal .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b8a090 0%, #806860 100%); }
.scn-beekman-miss-dismissal .door-open { position:absolute; right:10%; bottom:25%; width:20%; height:55%; background: linear-gradient(90deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 5% 0 0 5%; box-shadow: inset -10px 0 20px rgba(0,0,0,0.5); transform: skewY(2deg); animation: bm2-door 5s ease-in-out infinite alternate; }
.scn-beekman-miss-dismissal .figure-katie { position:absolute; bottom:28%; right:25%; width:10%; height:45%; background: radial-gradient(ellipse 60% 50% at 50% 20%, #c8b098 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 70%, #a08068 0%, #604840 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; transform: rotate(-5deg); animation: bm2-leave 3s ease-in-out infinite; }
.scn-beekman-miss-dismissal .figure-dawkins-back { position:absolute; bottom:24%; left:35%; width:15%; height:50%; background: radial-gradient(ellipse 70% 50% at 50% 15%, #c8b098 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 75%, #a08068 0%, #604840 100%); border-radius: 50% 50% 35% 35% / 55% 55% 25% 25%; transform: scaleX(-1); animation: bm2-guard 4s ease-in-out infinite; }
.scn-beekman-miss-dismissal .shadow-bar { position:absolute; top:0; left:20%; width:60%; height:100%; background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.15) 30%, transparent 70%); pointer-events: none; animation: bm2-shadow 7s ease-in-out infinite; }
.scn-beekman-miss-dismissal .hat-stand { position:absolute; bottom:28%; left:15%; width:5%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 10% 10% 5% 5%; animation: bm2-hat 10s ease-in-out infinite; }
.scn-beekman-miss-dismissal .newspaper { position:absolute; bottom:32%; left:55%; width:12%; height:8%; background: linear-gradient(135deg, #f0e8d8 0%, #d8c8b0 100%); border-radius: 2px; transform: rotate(15deg); box-shadow: 2px 2px 6px rgba(0,0,0,0.2); animation: bm2-paper 6s ease-in-out infinite; }
@keyframes bm2-door { 0% { transform: skewY(2deg) scaleX(1) } 50% { transform: skewY(4deg) scaleX(0.98) } 100% { transform: skewY(2deg) scaleX(1) } }
@keyframes bm2-leave { 0% { transform: rotate(-5deg) translateX(0) } 50% { transform: rotate(-8deg) translateX(8px) } 100% { transform: rotate(-5deg) translateX(0) } }
@keyframes bm2-guard { 0% { transform: scaleX(-1) rotate(0deg) } 50% { transform: scaleX(-1) rotate(4deg) } 100% { transform: scaleX(-1) rotate(0deg) } }
@keyframes bm2-shadow { 0% { opacity:0.3; transform: scaleX(1) } 50% { opacity:0.6; transform: scaleX(1.05) } 100% { opacity:0.3; transform: scaleX(1) } }
@keyframes bm2-hat { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes bm2-paper { 0% { transform: rotate(15deg) translateY(0) } 50% { transform: rotate(20deg) translateY(-3px) } 100% { transform: rotate(15deg) translateY(0) } }

.scn-beekman-housekeeper-exchange { background: linear-gradient(180deg, #f5e8d0 0%, #e0d0b0 50%, #c8b090 100%), radial-gradient(ellipse at 50% 30%, rgba(255,220,150,0.5) 0%, transparent 60%); }
.scn-beekman-housekeeper-exchange .bg-warm { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 40%, rgba(255,200,120,0.2) 0%, transparent 70%); }
.scn-beekman-housekeeper-exchange .sunbeam { position:absolute; top:5%; left:20%; width:15%; height:60%; background: linear-gradient(180deg, rgba(255,255,210,0.6) 0%, transparent 100%); transform: rotate(-20deg); border-radius: 30% 70% 50% 50%; animation: bm3-beam 9s ease-in-out infinite; }
.scn-beekman-housekeeper-exchange .desk-side { position:absolute; bottom:20%; left:20%; width:35%; height:15%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 10% 10% 0 0; transform: perspective(600px) rotateX(15deg); }
.scn-beekman-housekeeper-exchange .figure-miss-profile { position:absolute; bottom:25%; left:28%; width:10%; height:38%; background: radial-gradient(ellipse 60% 50% at 50% 20%, #e0c8a0 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 70%, #c0a888 0%, #907060 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; animation: bm3-profile 10s ease-in-out infinite; }
.scn-beekman-housekeeper-exchange .figure-dawkins-penitent { position:absolute; bottom:22%; right:25%; width:12%; height:42%; background: radial-gradient(ellipse 70% 50% at 50% 15%, #d8c0a0 0%, transparent 100%), radial-gradient(ellipse 50% 50% at 50% 75%, #b89878 0%, #806040 100%); border-radius: 50% 50% 35% 35% / 55% 55% 25% 25%; transform: rotate(5deg); animation: bm3-bow-warm 7s ease-in-out infinite; }
.scn-beekman-housekeeper-exchange .teapot { position:absolute; bottom:35%; left:45%; width:10%; height:10%; background: radial-gradient(ellipse 80% 80% at 50% 30%, #d0b898 0%, #a08060 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: bm3-pot 13s ease-in-out infinite; }
.scn-beekman-housekeeper-exchange .sugar-bowl { position:absolute; bottom:35%; left:55%; width:6%; height:6%; background: radial-gradient(ellipse 70% 70% at 50% 30%, #f0e0c0 0%, #d0c0a0 100%); border-radius: 50% 50% 20% 20%; animation: bm3-sugar 17s ease-in-out infinite; }
.scn-beekman-housekeeper-exchange .handkerchief { position:absolute; bottom:28%; right:15%; width:8%; height:6%; background: linear-gradient(135deg, #f8f0e0 0%, #e8d8c0 100%); border-radius: 30% 30% 10% 10%; transform: rotate(-25deg); box-shadow: 1px 2px 3px rgba(0,0,0,0.1); animation: bm3-hank 11s ease-in-out infinite; }
@keyframes bm3-beam { 0% { opacity:0.5; transform: rotate(-20deg) scaleY(1) } 50% { opacity:0.8; transform: rotate(-15deg) scaleY(1.1) } 100% { opacity:0.5; transform: rotate(-20deg) scaleY(1) } }
@keyframes bm3-profile { 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 bm3-bow-warm { 0% { transform: rotate(5deg) scaleY(1) } 50% { transform: rotate(12deg) scaleY(0.95) } 100% { transform: rotate(5deg) scaleY(1) } }
@keyframes bm3-pot { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(2px,-1px) rotate(3deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes bm3-sugar { 0% { transform: translate(0,0) scale(1) } 50% { transform: translate(-1px,1px) scale(1.03) } 100% { transform: translate(0,0) scale(1) } }
@keyframes bm3-hank { 0% { transform: rotate(-25deg) translateY(0) } 50% { transform: rotate(-20deg) translateY(-3px) } 100% { transform: rotate(-25deg) translateY(0) } }

.scn-beekman-lunch-decision { background: linear-gradient(180deg, #f0e4d0 0%, #d8c8b0 50%, #c0a890 100%), radial-gradient(ellipse at 60% 40%, rgba(255,220,170,0.4) 0%, transparent 60%); }
.scn-beekman-lunch-decision .table { position:absolute; bottom:15%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #a08060 0%, #806040 100%); border-radius: 20% 20% 0 0; box-shadow: 0 10px 30px rgba(0,0,0,0.3); transform: perspective(800px) rotateX(10deg); }
.scn-beekman-lunch-decision .plate { position:absolute; bottom:26%; left:30%; width:18%; height:6%; background: radial-gradient(ellipse 60% 50% at 50% 50%, #f8f0e0 0%, #d8c8b0 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.15); animation: bm4-plate 12s ease-in-out infinite; }
.scn-beekman-lunch-decision .brown-betty { position:absolute; bottom:28%; left:38%; width:10%; height:8%; background: radial-gradient(ellipse 70% 70% at 50% 30%, #c8a060 0%, #8a6030 100%); border-radius: 40% 40% 20% 20%; box-shadow: 0 4px 10px rgba(0,0,0,0.25); animation: bm4-betty 9s ease-in-out infinite; }
.scn-beekman-lunch-decision .teacup-small { position:absolute; bottom:26%; right:32%; width:5%; height:4%; background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%); border-radius: 50% 50% 30% 30%; box-shadow: 0 2px 4px rgba(0,0,0,0.15); animation: bm4-cup 15s ease-in-out infinite; }
.scn-beekman-lunch-decision .figure-miss-hand { position:absolute; bottom:22%; left:20%; width:8%; height:15%; background: radial-gradient(ellipse 50% 50% at 50% 40%, #e0c8a0 0%, #a08060 100%); border-radius: 40% 20% 20% 40%; transform: rotate(-10deg); animation: bm4-hand 8s ease-in-out infinite; }
.scn-beekman-lunch-decision .figure-dawkins-bust { position:absolute; bottom:20%; right:15%; width:12%; height:30%; background: radial-gradient(ellipse 70% 50% at 50% 30%, #c8b098 0%, #a08068 100%); border-radius: 50% 50% 30% 30% / 60% 60% 20% 20%; animation: bm4-bust 14s ease-in-out infinite; }
.scn-beekman-lunch-decision .napkin { position:absolute; bottom:26%; left:50%; width:10%; height:4%; background: linear-gradient(135deg, #f8f0e0 0%, #e8d8c0 100%); border-radius: 5% 5% 20% 20%; transform: rotate(5deg); box-shadow: 1px 1px 4px rgba(0,0,0,0.1); animation: bm4-napkin 18s ease-in-out infinite; }
.scn-beekman-lunch-decision .light-spot { position:absolute; top:5%; left:40%; width:20%; height:30%; background: radial-gradient(ellipse, rgba(255,255,210,0.6) 0%, transparent 100%); animation: bm4-light 11s ease-in-out infinite alternate; }
@keyframes bm4-plate { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(1px,0px) rotate(2deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes bm4-betty { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.04) } 100% { transform: translateY(0) scale(1) } }
@keyframes bm4-cup { 0% { transform: translate(0,0) rotate(0deg) } 50% { transform: translate(-1px,1px) rotate(-3deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes bm4-hand { 0% { transform: rotate(-10deg) translateY(0) } 33% { transform: rotate(-5deg) translateY(-3px) } 66% { transform: rotate(-15deg) translateY(1px) } 100% { transform: rotate(-10deg) translateY(0) } }
@keyframes bm4-bust { 0% { transform: rotate(0deg) scaleY(1) } 50% { transform: rotate(3deg) scaleY(0.97) } 100% { transform: rotate(0deg) scaleY(1) } }
@keyframes bm4-napkin { 0% { transform: rotate(5deg) translateY(0) } 50% { transform: rotate(10deg) translateY(-2px) } 100% { transform: rotate(5deg) translateY(0) } }
@keyframes bm4-light { 0% { opacity:0.6; transform: scale(1) } 100% { opacity:0.9; transform: scale(1.1) } }

/* ============================== scene: hogan-orders-go-easy ============================== */
.scn-hogan-orders-go-easy {
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a2a 0%, transparent 70%);
}
.scn-hogan-orders-go-easy .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #c8b090 0%, #a08060 50%, #705030 100%);
}
.scn-hogan-orders-go-easy .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%);
}
.scn-hogan-orders-go-easy .desk {
  position: absolute; bottom: 28%; left: 20%; width: 60%; height: 18%;
  background: linear-gradient(135deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6);
}
.scn-hogan-orders-go-easy .lamp {
  position: absolute; bottom: 46%; left: 35%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 40%, #604020 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 0 20px 10px rgba(255,200,100,0.3);
}
.scn-hogan-orders-go-easy .lamp-glow {
  position: absolute; bottom: 48%; left: 33%; width: 16%; height: 16%;
  background: radial-gradient(circle, #ffd080 0%, #e0a040 40%, transparent 70%);
  border-radius: 50%;
  animation: hge-glow 3s ease-in-out infinite alternate;
}
.scn-hogan-orders-go-easy .figure {
  position: absolute; bottom: 30%; left: 50%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hge-figure 4s ease-in-out infinite;
}
.scn-hogan-orders-go-easy .phone {
  position: absolute; bottom: 30%; left: 45%; width: 6%; height: 4%;
  background: #2a2a2a;
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: hge-phone 6s ease-in-out infinite;
}
.scn-hogan-orders-go-easy .window {
  position: absolute; top: 8%; right: 8%; width: 22%; height: 30%;
  background: linear-gradient(135deg, #2a3a5a 0%, #1a2a4a 100%);
  border: 3px solid #4a3a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
}
.scn-hogan-orders-go-easy .window-night {
  position: absolute; top: 10%; right: 10%; width: 18%; height: 26%;
  background: radial-gradient(circle at 70% 30%, #1a1a3a 0%, #0a0a1a 100%);
  border-radius: 2px;
  filter: blur(1px);
  animation: hge-night 12s ease-in-out infinite alternate;
}
@keyframes hge-glow   { 0% { opacity:0.7; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.8; transform:scale(1); } }
@keyframes hge-figure { 0% { transform:translateX(0) translateY(0) rotate(0deg); } 25% { transform:translateX(3px) translateY(-2px) rotate(2deg); } 50% { transform:translateX(0) translateY(0) rotate(0deg); } 75% { transform:translateX(-3px) translateY(-2px) rotate(-2deg); } 100% { transform:translateX(0) translateY(0) rotate(0deg); } }
@keyframes hge-phone  { 0% { opacity:0.6; transform:scale(1); } 30% { opacity:1; transform:scale(1.1); } 60% { opacity:0.8; transform:scale(1); } 100% { opacity:0.6; transform:scale(1); } }
@keyframes hge-night  { 0% { opacity:0.3; } 50% { opacity:0.7; } 100% { opacity:0.4; } }

/* ============================== scene: hogans-family-evening ============================== */
.scn-hogans-family-evening {
  background: linear-gradient(180deg, #1a1a1a 0%, #2a2a1a 40%, #0a0a0a 100%),
              radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-hogans-family-evening .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a221a 0%, #1a120a 100%);
}
.scn-hogans-family-evening .bg-wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-hogans-family-evening .window {
  position: absolute; top: 12%; left: 12%; width: 28%; height: 35%;
  background: linear-gradient(135deg, #1a2a3a 0%, #0a1a2a 100%);
  border: 3px solid #2a1a0a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
}
.scn-hogans-family-evening .window-night {
  position: absolute; top: 14%; left: 14%; width: 24%; height: 31%;
  background: radial-gradient(circle at 40% 20%, #1a1a2a 0%, #0a0a1a 100%);
  filter: blur(2px);
  animation: hfe-night 15s ease-in-out infinite alternate;
}
.scn-hogans-family-evening .phone-table {
  position: absolute; bottom: 24%; left: 35%; width: 30%; height: 14%;
  background: linear-gradient(135deg, #4a3a1a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.7);
}
.scn-hogans-family-evening .phone {
  position: absolute; bottom: 26%; left: 42%; width: 8%; height: 6%;
  background: #1a1a1a;
  border-radius: 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: hfe-phone 4s ease-in-out infinite alternate;
}
.scn-hogans-family-evening .figure {
  position: absolute; bottom: 22%; left: 52%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 50%, #0a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hfe-figure 6s ease-in-out infinite;
}
.scn-hogans-family-evening .shadow {
  position: absolute; bottom: 20%; left: 48%; width: 30%; height: 4%;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(6px);
  animation: hfe-shadow 8s ease-in-out infinite alternate;
}
.scn-hogans-family-evening .curtain {
  position: absolute; top: 10%; left: 10%; width: 32%; height: 40%;
  background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 0 0 4px 4px;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%);
  animation: hfe-curtain 10s ease-in-out infinite alternate;
}
@keyframes hfe-night   { 0% { opacity:0.2; } 50% { opacity:0.6; } 100% { opacity:0.3; } }
@keyframes hfe-phone   { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
@keyframes hfe-figure  { 0% { transform:translateX(0) rotate(0deg); } 25% { transform:translateX(2px) rotate(2deg); } 50% { transform:translateX(0) rotate(0deg); } 75% { transform:translateX(-2px) rotate(-2deg); } 100% { transform:translateX(0) rotate(0deg); } }
@keyframes hfe-shadow  { 0% { width:30%; opacity:0.5; } 50% { width:35%; opacity:0.7; } 100% { width:30%; opacity:0.5; } }
@keyframes hfe-curtain { 0% { opacity:0.8; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.03); } 100% { opacity:0.8; transform:scaleY(1); } }

/* ============================== scene: simpkins-visits-mother ============================== */
.scn-simpkins-visits-mother {
  background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 80%, #2a2a3a 0%, transparent 70%);
}
.scn-simpkins-visits-mother .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%);
}
.scn-simpkins-visits-mother .door {
  position: absolute; top: 10%; left: 5%; width: 20%; height: 55%;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.6);
  animation: svm-door 8s ease-in-out infinite alternate;
}
.scn-simpkins-visits-mother .figure-a {
  position: absolute; bottom: 22%; left: 20%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(4px 4px 8px rgba(0,0,0,0.5));
  animation: svm-enter 3s ease-in-out infinite alternate;
}
.scn-simpkins-visits-mother .figure-b {
  position: absolute; bottom: 22%; left: 50%; width: 16%; height: 32%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(-2px 4px 6px rgba(0,0,0,0.4));
  animation: svm-seated 6s ease-in-out infinite;
}
.scn-simpkins-visits-mother .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 22%;
  background: linear-gradient(180deg, #2a221a 0%, #1a120a 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.7);
}
.scn-simpkins-visits-mother .table {
  position: absolute; bottom: 22%; left: 55%; width: 20%; height: 10%;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-simpkins-visits-mother .lamp {
  position: absolute; bottom: 32%; left: 57%; width: 8%; height: 18%;
  background: linear-gradient(180deg, #c8a860 0%, #a08040 40%, #604020 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(200,168,96,0.4);
  animation: svm-lamp 4s ease-in-out infinite alternate;
}
.scn-simpkins-visits-mother .lamp-glow {
  position: absolute; bottom: 34%; left: 55%; width: 12%; height: 12%;
  background: radial-gradient(circle, #e0c080 0%, #c0a060 40%, transparent 70%);
  border-radius: 50%;
  animation: svm-lamp 4s ease-in-out infinite alternate;
}
.scn-simpkins-visits-mother .shadow {
  position: absolute; bottom: 20%; left: 15%; width: 40%; height: 6%;
  background: rgba(0,0,0,0.7);
  border-radius: 50%;
  filter: blur(8px);
  animation: svm-shadow 5s ease-in-out infinite alternate;
}
@keyframes svm-door  { 0% { transform:scaleX(1); opacity:0.9; } 50% { transform:scaleX(1.02); opacity:1; } 100% { transform:scaleX(1); opacity:0.9; } }
@keyframes svm-enter { 0% { transform:translateX(-10px) translateY(0) rotate(-3deg); } 50% { transform:translateX(0) translateY(-2px) rotate(0deg); } 100% { transform:translateX(10px) translateY(0) rotate(3deg); } }
@keyframes svm-seated { 0% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-2px) rotate(2deg); } 100% { transform:translateY(0) rotate(0deg); } }
@keyframes svm-lamp  { 0% { opacity:0.6; transform:scale(0.95); } 50% { opacity:1; transform:scale(1.05); } 100% { opacity:0.7; transform:scale(1); } }
@keyframes svm-shadow { 0% { width:40%; opacity:0.5; transform:translateX(0); } 50% { width:45%; opacity:0.7; transform:translateX(5px); } 100% { width:40%; opacity:0.5; transform:translateX(0); } }

/* ============================== scene: vultures-of-the-poor ============================== */
.scn-vultures-of-the-poor {
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a0a 30%, #0a0a00 100%),
              radial-gradient(ellipse at 50% 90%, #1a1a00 0%, transparent 70%);
}
.scn-vultures-of-the-poor .bg-room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a120a 0%, #0a0a00 100%);
}
.scn-vultures-of-the-poor .window {
  position: absolute; top: 8%; right: 8%; width: 24%; height: 32%;
  background: linear-gradient(135deg, #0a0a1a 0%, #050510 100%);
  border: 2px solid #1a120a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-vultures-of-the-poor .window-night {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 28%;
  background: radial-gradient(circle at 30% 40%, #0a0a1a 0%, #000 100%);
  filter: blur(3px);
  animation: vop-night 20s ease-in-out infinite alternate;
}
.scn-vultures-of-the-poor .table {
  position: absolute; bottom: 18%; left: 25%; width: 50%; height: 14%;
  background: linear-gradient(135deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.7);
}
.scn-vultures-of-the-poor .candle {
  position: absolute; bottom: 32%; left: 48%; width: 4%; height: 14%;
  background: linear-gradient(180deg, #e0c0a0 0%, #c0a080 60%, #806040 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 10% 10%;
  box-shadow: 0 0 10px 4px rgba(255,200,100,0.5);
  animation: vop-candle 4s ease-in-out infinite alternate;
}
.scn-vultures-of-the-poor .candle-glow {
  position: absolute; bottom: 34%; left: 46%; width: 10%; height: 10%;
  background: radial-gradient(circle, #ffd080 0%, #e0a040 30%, transparent 70%);
  border-radius: 50%;
  animation: vop-glow 3s ease-in-out infinite alternate;
}
.scn-vultures-of-the-poor .figure {
  position: absolute; bottom: 16%; left: 30%; width: 18%; height: 42%;
  background: linear-gradient(180deg, #0a0a0a 0%, #1a1a0a 50%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.6));
  animation: vop-figure 8s ease-in-out infinite;
}
.scn-vultures-of-the-poor .shadow {
  position: absolute; bottom: 14%; left: 28%; width: 24%; height: 4%;
  background: rgba(0,0,0,0.8);
  border-radius: 50%;
  filter: blur(6px);
  animation: vop-shadow 10s ease-in-out infinite alternate;
}
.scn-vultures-of-the-poor .chair {
  position: absolute; bottom: 14%; left: 30%; width: 20%; height: 18%;
  background: linear-gradient(135deg, #1a1a0a 0%, #0a0a00 100%);
  border-radius: 10% 10% 4% 4% / 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: vop-chair 12s ease-in-out infinite alternate;
}
@keyframes vop-night  { 0% { opacity:0.2; } 50% { opacity:0.6; } 100% { opacity:0.3; } }
@keyframes vop-candle { 0% { transform:scaleY(0.95) rotate(-2deg); } 50% { transform:scaleY(1.05) rotate(2deg); } 100% { transform:scaleY(0.95) rotate(-2deg); } }
@keyframes vop-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 vop-figure { 0% { transform:translateX(0) translateY(0) rotate(0deg); } 25% { transform:translateX(-2px) translateY(-1px) rotate(2deg); } 50% { transform:translateX(0) translateY(0) rotate(0deg); } 75% { transform:translateX(2px) translateY(-1px) rotate(-2deg); } 100% { transform:translateX(0) translateY(0) rotate(0deg); } }
@keyframes vop-shadow { 0% { width:24%; opacity:0.4; } 50% { width:28%; opacity:0.7; } 100% { width:24%; opacity:0.4; } }
@keyframes vop-chair { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.02); } 100% { transform:scaleY(1); } }

/* scene: tutt-asks-about-america - warm dim interior */
.scn-tutt-asks-about-america {
  background: 
    linear-gradient(180deg, #4a2e1a 0%, #2e1a0e 60%, #1a0e06 100%),
    radial-gradient(ellipse at 50% 30%, #7a4a2a 0%, transparent 70%);
}
.scn-tutt-asks-about-america .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a2212 0%, transparent 50%);
  animation: taa-dimmer 8s ease-in-out infinite alternate;
}
.scn-tutt-asks-about-america .wall-shadow {
  position: absolute; top: 10%; left: 20%; width: 30%; height: 80%;
  background: linear-gradient(90deg, transparent 0%, #1a0e06 30%, transparent 100%);
  filter: blur(4px);
}
.scn-tutt-asks-about-america .table {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 6%;
  background: linear-gradient(180deg, #5a3e2a 0%, #3a2616 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-tutt-asks-about-america .lamp {
  position: absolute; bottom: 22%; left: 28%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #b08040 0%, #4a2e1a 100%);
  border-radius: 6px 6px 2px 2px;
  transform-origin: bottom center;
  animation: taa-lamp-sway 6s ease-in-out infinite;
}
.scn-tutt-asks-about-america .figure-tutt {
  position: absolute; bottom: 18%; left: 18%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: taa-figure-t 5s ease-in-out infinite alternate;
}
.scn-tutt-asks-about-america .figure-boy {
  position: absolute; bottom: 18%; right: 20%; width: 18px; height: 44px;
  background: linear-gradient(180deg, #3a2212 0%, #1a0e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: taa-figure-b 5s ease-in-out infinite alternate;
}
.scn-tutt-asks-about-america .glow-aura {
  position: absolute; bottom: 28%; left: 28%; width: 60px; height: 60px;
  background: radial-gradient(circle, #d09050 0%, rgba(208,144,80,0.3) 50%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: taa-glow 3s ease-in-out infinite alternate;
}
@keyframes taa-dimmer {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes taa-lamp-sway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg) translateY(-1px); }
}
@keyframes taa-figure-t {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  50% { transform: translateX(4px) translateY(-2px) rotate(1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-1deg); }
}
@keyframes taa-figure-b {
  0% { transform: translateX(0) translateY(0) rotate(1deg); }
  50% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(1deg); }
}
@keyframes taa-glow {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}

/* scene: boy-knows-hassoun - warm dim interior courtroom */
.scn-boy-knows-hassoun {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #1e1410 60%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 40%, #5a3e2a 0%, transparent 60%);
}
.scn-boy-knows-hassoun .court-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a1e14 0%, transparent 70%);
  animation: bkh-fade 10s ease-in-out infinite alternate;
}
.scn-boy-knows-hassoun .bench {
  position: absolute; bottom: 40%; left: 20%; right: 20%; height: 10%;
  background: linear-gradient(180deg, #6a4a32 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-boy-knows-hassoun .desk {
  position: absolute; bottom: 32%; left: 30%; right: 30%; height: 4%;
  background: linear-gradient(180deg, #5a3e2a 0%, #2e1a0e 100%);
  border-radius: 2px;
}
.scn-boy-knows-hassoun .judge-figure {
  position: absolute; bottom: 44%; left: 40%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #201612 0%, #0e0a06 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: bkh-judge 7s ease-in-out infinite;
}
.scn-boy-knows-hassoun .boy-figure {
  position: absolute; bottom: 20%; left: 35%; width: 16px; height: 40px;
  background: linear-gradient(180deg, #4a3220 0%, #1e1410 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bkh-boy 4s ease-in-out infinite alternate;
}
.scn-boy-knows-hassoun .lamp-desk {
  position: absolute; bottom: 35%; left: 45%; width: 10px; height: 25px;
  background: linear-gradient(180deg, #b08040 0%, #5a3e2a 100%);
  border-radius: 5px;
  box-shadow: 0 0 20px rgba(208,144,80,0.4);
  animation: bkh-lamp 5s ease-in-out infinite;
}
.scn-boy-knows-hassoun .gavel {
  position: absolute; bottom: 33%; left: 42%; width: 14px; height: 4px;
  background: #5a3e2a;
  border-radius: 2px;
  transform: rotate(-20deg);
  animation: bkh-gavel 3s ease-in-out infinite;
}
.scn-boy-knows-hassoun .window-dim {
  position: absolute; top: 15%; right: 15%; width: 40px; height: 50px;
  background: radial-gradient(circle at 50% 30%, #7a6a5a 0%, #1e1410 80%);
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.6);
  animation: bkh-window 12s ease-in-out infinite alternate;
}
@keyframes bkh-fade {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes bkh-judge {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
}
@keyframes bkh-boy {
  0% { transform: translateX(0) translateY(0) scaleY(1); }
  50% { transform: translateX(5px) translateY(-1px) scaleY(0.95); }
  100% { transform: translateX(0) translateY(0) scaleY(1); }
}
@keyframes bkh-lamp {
  0%, 100% { transform: translateY(0) scaleY(1); opacity: 0.8; }
  50% { transform: translateY(-2px) scaleY(1.1); opacity: 1; }
}
@keyframes bkh-gavel {
  0%, 100% { transform: rotate(-20deg) translateX(0); }
  50% { transform: rotate(-10deg) translateX(3px); }
}
@keyframes bkh-window {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(0.9); }
  100% { opacity: 0.4; transform: scaleY(1); }
}

/* scene: tutt-office-conversation - bright tense interior */
.scn-tutt-office-conversation {
  background:
    linear-gradient(180deg, #f5e8d8 0%, #d4c4a8 40%, #b8a080 100%),
    radial-gradient(ellipse at 60% 30%, #fff4e0 0%, transparent 60%);
}
.scn-tutt-office-conversation .office-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(245,232,216,0.5) 0%, transparent 100%);
  animation: toc-bg 5s ease-in-out infinite alternate;
}
.scn-tutt-office-conversation .screen {
  position: absolute; top: 10%; left: 30%; width: 15%; height: 60%;
  background: linear-gradient(135deg, #8a7a66 0%, #5a4e3e 100%);
  border-right: 4px solid #3a3228;
  border-left: 4px solid #3a3228;
  box-shadow: 4px 0 20px rgba(0,0,0,0.3);
  border-radius: 2px;
  animation: toc-screen 8s ease-in-out infinite;
}
.scn-tutt-office-conversation .figure-tutt {
  position: absolute; bottom: 15%; left: 8%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #4a3e34 0%, #2a221a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: toc-tutt 3s ease-in-out infinite alternate;
}
.scn-tutt-office-conversation .figure-george {
  position: absolute; bottom: 15%; left: 38%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #5a4e3e 0%, #2a221a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: toc-george 4s ease-in-out infinite alternate;
}
.scn-tutt-office-conversation .floor-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
  animation: toc-shadow 5s ease-in-out infinite alternate;
}
.scn-tutt-office-conversation .doorway {
  position: absolute; top: 20%; right: 8%; width: 20%; height: 60%;
  background: linear-gradient(135deg, #6a5e4e 0%, #3a3228 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}
.scn-tutt-office-conversation .revolver {
  position: absolute; bottom: 20%; left: 50%; width: 24px; height: 8px;
  background: #4a3e34;
  border-radius: 2px 6px 4px 2px;
  transform: rotate(-30deg);
  animation: toc-gun 2.5s ease-in-out infinite;
}
.scn-tutt-office-conversation .table-fore {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 5%;
  background: linear-gradient(180deg, #9a8a76 0%, #6a5e4e 100%);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
@keyframes toc-bg {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes toc-screen {
  0%, 100% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-2px) scaleX(0.95); }
}
@keyframes toc-tutt {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(8px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes toc-george {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes toc-shadow {
  0% { opacity: 0.2; }
  50% { opacity: 0.5; }
  100% { opacity: 0.3; }
}
@keyframes toc-gun {
  0%, 100% { transform: rotate(-30deg) translateY(0); }
  50% { transform: rotate(-20deg) translateY(-2px); }
}

/* scene: contempt-court-epigraph - dark dim courtroom */
.scn-contempt-court-epigraph {
  background:
    linear-gradient(180deg, #1a1424 0%, #0e0a14 50%, #060410 100%),
    radial-gradient(ellipse at 50% 30%, #2a1e3a 0%, transparent 70%);
}
.scn-contempt-court-epigraph .court-dark {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,20,36,0.8) 0%, transparent 60%);
  animation: cce-dim 10s ease-in-out infinite alternate;
}
.scn-contempt-court-epigraph .bench-heavy {
  position: absolute; bottom: 35%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #2a2236 0%, #16121c 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 -8px 30px rgba(0,0,0,0.7);
}
.scn-contempt-court-epigraph .judge-silhouette {
  position: absolute; bottom: 42%; left: 35%; width: 50px; height: 90px;
  background: linear-gradient(180deg, #120e18 0%, #060410 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: cce-judge 12s ease-in-out infinite;
}
.scn-contempt-court-epigraph .scroll {
  position: absolute; bottom: 36%; left: 45%; width: 30px; height: 10px;
  background: linear-gradient(135deg, #4a3a5a 0%, #2a1e3a 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  animation: cce-scroll 8s ease-in-out infinite;
}
.scn-contempt-court-epigraph .candle {
  position: absolute; bottom: 30%; left: 28%; width: 6px; height: 20px;
  background: linear-gradient(180deg, #d0b080 0%, #8a6a4a 100%);
  border-radius: 2px;
  animation: cce-candle 4s ease-in-out infinite;
}
.scn-contempt-court-epigraph .chain {
  position: absolute; top: 15%; left: 40%; width: 4px; height: 40%;
  background: linear-gradient(180deg, transparent 0%, #5a4e6e 20%, transparent 40%, #5a4e6e 60%, transparent 80%);
  filter: blur(1px);
  animation: cce-chain 5s ease-in-out infinite;
}
.scn-contempt-court-epigraph .door-iron {
  position: absolute; top: 20%; right: 8%; width: 18%; height: 50%;
  background: linear-gradient(135deg, #1a1622 0%, #0a0810 100%);
  border: 2px solid #3a3252;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-contempt-court-epigraph .column {
  position: absolute; bottom: 0; left: 5%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #2a2236 0%, #4a3e5e 20%, #2a2236 50%, #4a3e5e 80%, #2a2236 100%);
  border-radius: 4px;
  box-shadow: -2px 0 20px rgba(0,0,0,0.5);
  animation: cce-column 15s ease-in-out infinite alternate;
}
@keyframes cce-dim {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes cce-judge {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
}
@keyframes cce-scroll {
  0%, 100% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-15deg) translateX(2px); }
}
@keyframes cce-candle {
  0%, 100% { transform: scaleY(1) translateY(0); opacity: 0.9; }
  50% { transform: scaleY(1.1) translateY(-1px); opacity: 1; }
}
@keyframes cce-chain {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(4px) rotate(3deg); }
}
@keyframes cce-column {
  0% { transform: scaleY(1) translateX(0); }
  50% { transform: scaleY(1.02) translateX(-2px); }
  100% { transform: scaleY(1) translateX(0); }
}

/* ---------- scene: tutt-presents-argument (arg) ---------- */
.scn-tutt-presents-argument {
  background:
    linear-gradient(180deg, #2c1a0e 0%, #4a2e1a 40%, #3d2415 100%),
    radial-gradient(ellipse at 50% 100%, #6a3e20 0%, transparent 70%);
}
.scn-tutt-presents-argument .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f1208 0%, transparent 100%);
  animation: arg-bg 6s ease-in-out infinite alternate;
}
.scn-tutt-presents-argument .desk {
  position:absolute; bottom:0; left:0; right:0; height:38%;
  background: linear-gradient(180deg, #3a2214 0%, #1e1108 100%);
  border-radius: 10% 10% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,.6);
  animation: arg-desk 9s ease-in-out infinite;
}
.scn-tutt-presents-argument .lamp {
  position:absolute; bottom:38%; left:22%; width:12%; height:20%;
  background: radial-gradient(ellipse at 50% 80%, #c8843a 0%, #6a3e20 60%, transparent 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 12px #c8843a, 0 0 60px 24px rgba(200,132,58,.4);
  animation: arg-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-presents-argument .papers {
  position:absolute; bottom:30%; left:55%; width:30%; height:18%;
  background: linear-gradient(135deg, #f2e6d0 0%, #d4c4a8 100%);
  border-radius: 4% 8% 6% 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  transform: rotate(-2deg);
  animation: arg-papers 8s ease-in-out infinite;
}
.scn-tutt-presents-argument .figure {
  position:absolute; bottom:22%; left:28%; width:20%; height:50%;
  background: linear-gradient(180deg, #1a100a 0%, #0d0805 100%);
  border-radius: 50% 30% 40% 40% / 60% 40% 40% 40%;
  transform-origin: bottom center;
  animation: arg-figure 5s ease-in-out infinite;
}
.scn-tutt-presents-argument .hand {
  position:absolute; bottom:32%; left:38%; width:6%; height:10%;
  background: radial-gradient(ellipse at 50% 100%, #3a2214 0%, transparent 70%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(15deg);
  animation: arg-hand 3s ease-in-out infinite alternate;
}
.scn-tutt-presents-argument .match-glow {
  position:absolute; bottom:36%; left:42%; width:3%; height:3%;
  background: radial-gradient(circle, #ffd080 0%, #e88a2a 50%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #e88a2a, 0 0 40px 16px rgba(232,138,42,.5);
  animation: arg-glow 2.5s ease-in-out infinite alternate;
}
@keyframes arg-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes arg-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes arg-lamp { 0% { box-shadow: 0 0 20px 6px #c8843a, 0 0 40px 12px rgba(200,132,58,.3); opacity:.9 } 50% { box-shadow: 0 0 40px 16px #e8a050, 0 0 80px 32px rgba(232,160,80,.5); opacity:1 } 100% { box-shadow: 0 0 24px 8px #c8843a, 0 0 48px 16px rgba(200,132,58,.35); opacity:.92 } }
@keyframes arg-papers { 0%,100% { transform: rotate(-2deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } }
@keyframes arg-figure { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes arg-hand { 0% { transform: rotate(15deg) translateX(0) } 100% { transform: rotate(10deg) translateX(4px) } }
@keyframes arg-glow { 0% { box-shadow: 0 0 15px 4px #e88a2a, 0 0 30px 8px rgba(232,138,42,.4); opacity:.8 } 50% { box-shadow: 0 0 30px 12px #ffd080, 0 0 60px 24px rgba(255,208,128,.6); opacity:1 } 100% { box-shadow: 0 0 18px 6px #e88a2a, 0 0 36px 12px rgba(232,138,42,.45); opacity:.85 } }

/* ---------- scene: tutt-proposes-manslaughter (pro) ---------- */
.scn-tutt-proposes-manslaughter {
  background:
    linear-gradient(180deg, #2c1a0e 0%, #4a2e1a 40%, #3d2415 100%),
    radial-gradient(ellipse at 30% 80%, #5a3a22 0%, transparent 70%);
}
.scn-tutt-proposes-manslaughter .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f1208 0%, transparent 100%);
  animation: pro-bg 7s ease-in-out infinite alternate;
}
.scn-tutt-proposes-manslaughter .table {
  position:absolute; bottom:15%; left:10%; right:10%; height:25%;
  background: linear-gradient(180deg, #3a2214 0%, #1e1108 100%);
  border-radius: 8% 8% 0 0 / 16% 16% 0 0;
  box-shadow: inset 0 4px 12px rgba(0,0,0,.6);
  animation: pro-table 10s ease-in-out infinite;
}
.scn-tutt-proposes-manslaughter .figure-left {
  position:absolute; bottom:22%; left:18%; width:18%; height:45%;
  background: linear-gradient(180deg, #1a100a 0%, #0d0805 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pro-figure-l 6s ease-in-out infinite;
}
.scn-tutt-proposes-manslaughter .figure-right {
  position:absolute; bottom:22%; right:18%; width:18%; height:45%;
  background: linear-gradient(180deg, #1f140c 0%, #120a06 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: pro-figure-r 6s ease-in-out infinite reverse;
}
.scn-tutt-proposes-manslaughter .lamp-center {
  position:absolute; bottom:32%; left:50%; width:10%; height:18%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, #c8843a 0%, #6a3e20 60%, transparent 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 12px #c8843a, 0 0 60px 24px rgba(200,132,58,.4);
  animation: pro-lamp 5s ease-in-out infinite alternate;
}
.scn-tutt-proposes-manslaughter .shadow-under {
  position:absolute; bottom:14%; left:20%; right:20%; height:4%;
  background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: pro-shadow 8s ease-in-out infinite;
}
@keyframes pro-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes pro-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes pro-figure-l { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes pro-figure-r { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes pro-lamp { 0% { box-shadow: 0 0 20px 6px #c8843a, 0 0 40px 12px rgba(200,132,58,.3); opacity:.9 } 50% { box-shadow: 0 0 40px 16px #e8a050, 0 0 80px 32px rgba(232,160,80,.5); opacity:1 } 100% { box-shadow: 0 0 24px 8px #c8843a, 0 0 48px 16px rgba(200,132,58,.35); opacity:.92 } }
@keyframes pro-shadow { 0%,100% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } }

/* ---------- scene: pepperill-refuses (ref) ---------- */
.scn-pepperill-refuses {
  background:
    linear-gradient(180deg, #f5f0eb 0%, #d6d0c8 40%, #b0a8a0 100%),
    radial-gradient(ellipse at 50% 0%, #ffffff 0%, transparent 70%);
}
.scn-pepperill-refuses .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #e8e4de 0%, transparent 100%);
  animation: ref-bg 4s ease-in-out infinite alternate;
}
.scn-pepperill-refuses .window-bright {
  position:absolute; top:8%; left:60%; width:30%; height:45%;
  background: radial-gradient(ellipse at 50% 50%, #fff 0%, #e0d8d0 50%, transparent 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: 0 0 60px 30px rgba(255,255,255,.7);
  animation: ref-window 5s ease-in-out infinite alternate;
}
.scn-pepperill-refuses .desk-hard {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #4a3e32 0%, #2a221a 100%);
  border-radius: 12% 12% 0 0 / 24% 24% 0 0;
  box-shadow: inset 0 6px 20px rgba(0,0,0,.5);
  animation: ref-desk 6s ease-in-out infinite;
}
.scn-pepperill-refuses .figure-standing {
  position:absolute; bottom:25%; left:30%; width:16%; height:55%;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c0a 100%);
  border-radius: 30% 40% 40% 40% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ref-stand 2s ease-in-out infinite;
}
.scn-pepperill-refuses .figure-seated {
  position:absolute; bottom:18%; right:25%; width:20%; height:45%;
  background: linear-gradient(180deg, #1a1612 0%, #0e0c0a 100%);
  border-radius: 40% 30% 40% 40% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ref-seat 3s ease-in-out infinite;
}
.scn-pepperill-refuses .clock-tick {
  position:absolute; top:10%; left:15%; width:6%; height:6%;
  background: radial-gradient(circle, #c0b0a0 0%, #8a7a6a 100%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(0,0,0,.2);
  animation: ref-clock 1s steps(2) infinite;
}
.scn-pepperill-refuses .papers-scatter {
  position:absolute; bottom:32%; left:45%; width:20%; height:14%;
  background: linear-gradient(135deg, #eee5d8 0%, #c8b8a8 100%);
  border-radius: 4% 6% 8% 4%;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  transform: rotate(4deg);
  animation: ref-papers 7s ease-in-out infinite;
}
@keyframes ref-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.92 } }
@keyframes ref-window { 0% { box-shadow: 0 0 40px 15px rgba(255,255,255,.6); opacity:.9 } 50% { box-shadow: 0 0 80px 40px rgba(255,255,255,.9); opacity:1 } 100% { box-shadow: 0 0 50px 20px rgba(255,255,255,.7); opacity:.92 } }
@keyframes ref-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes ref-stand { 0% { transform: translateY(0) rotate(-1deg) } 25% { transform: translateY(-2px) rotate(1deg) } 75% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ref-seat { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } }
@keyframes ref-clock { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(1) } }
@keyframes ref-papers { 0%,100% { transform: rotate(4deg) translateY(0) } 50% { transform: rotate(2deg) translateY(-3px) } }

/* ---------- scene: tutt-admires-sentiment (adm) ---------- */
.scn-tutt-admires-sentiment {
  background:
    linear-gradient(180deg, #2c1a0e 0%, #4a2e1a 40%, #3d2415 100%),
    radial-gradient(ellipse at 50% 100%, #6a3e20 0%, transparent 70%);
}
.scn-tutt-admires-sentiment .bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #1f1208 0%, transparent 100%);
  animation: adm-bg 8s ease-in-out infinite alternate;
}
.scn-tutt-admires-sentiment .cigar-glow {
  position:absolute; bottom:48%; left:46%; width:2%; height:2%;
  background: radial-gradient(circle, #ff9940 0%, #cc5500 40%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px 8px #cc5500, 0 0 40px 16px rgba(204,85,0,.4);
  animation: adm-glow 2s ease-in-out infinite alternate;
}
.scn-tutt-admires-sentiment .profile-face {
  position:absolute; bottom:20%; left:36%; width:20%; height:40%;
  background: linear-gradient(180deg, #1a100a 0%, #0d0805 100%);
  border-radius: 50% 30% 40% 40% / 60% 40% 40% 40%;
  transform-origin: bottom center;
  animation: adm-face 7s ease-in-out infinite;
}
.scn-tutt-admires-sentiment .hand-cigar {
  position:absolute; bottom:30%; left:42%; width:6%; height:12%;
  background: linear-gradient(180deg, #2a1e14 0%, #140e0a 100%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(-10deg);
  animation: adm-hand 4s ease-in-out infinite alternate;
}
.scn-tutt-admires-sentiment .smoke-a {
  position:absolute; bottom:55%; left:44%; width:10%; height:20%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.4) 0%, transparent 70%);
  filter: blur(8px);
  border-radius: 50%;
  animation: adm-smoke-a 6s ease-in-out infinite;
}
.scn-tutt-admires-sentiment .smoke-b {
  position:absolute; bottom:58%; left:40%; width:8%; height:16%;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,180,160,.3) 0%, transparent 70%);
  filter: blur(10px);
  border-radius: 50%;
  animation: adm-smoke-b 8s ease-in-out infinite reverse;
  animation-delay: -3s;
}
.scn-tutt-admires-sentiment .table-edge {
  position:absolute; bottom:0; left:0; right:0; height:28%;
  background: linear-gradient(180deg, #3a2214 0%, #1e1108 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,.6);
  animation: adm-table 9s ease-in-out infinite;
}
@keyframes adm-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes adm-glow { 0% { box-shadow: 0 0 15px 4px #cc5500, 0 0 30px 8px rgba(204,85,0,.3); opacity:.8 } 50% { box-shadow: 0 0 30px 12px #ff9940, 0 0 60px 24px rgba(255,153,64,.5); opacity:1 } 100% { box-shadow: 0 0 18px 6px #cc5500, 0 0 36px 12px rgba(204,85,0,.4); opacity:.85 } }
@keyframes adm-face { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes adm-hand { 0% { transform: rotate(-10deg) translateX(0) } 100% { transform: rotate(-8deg) translateX(3px) } }
@keyframes adm-smoke-a { 0% { transform: translateY(0) scale(1); opacity:.6 } 50% { transform: translateY(-20px) scale(1.8); opacity:.3 } 100% { transform: translateY(0) scale(1); opacity:.6 } }
@keyframes adm-smoke-b { 0% { transform: translateY(0) scale(1) rotate(0); opacity:.5 } 50% { transform: translateY(-15px) scale(2) rotate(10deg); opacity:.2 } 100% { transform: translateY(0) scale(1) rotate(0); opacity:.5 } }
@keyframes adm-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }

/* katie-lowry-testimony */
.scn-katie-lowry-testimony {
  background: linear-gradient(180deg, #fdf4e3 0%, #f5e6cc 40%, #e4cfaa 100%),
              radial-gradient(ellipse at 60% 35%, #fffbe6 0%, transparent 60%);
}
.scn-katie-lowry-testimony .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f5e6cc 0%, #e2c9a4 100%);
  animation: klt-bg 6s ease-in-out infinite alternate;
}
.scn-katie-lowry-testimony .window-glow {
  position: absolute; top: 8%; left: 55%; width: 30%; height: 45%;
  background: radial-gradient(circle at 50% 30%, #fffbe6 0%, rgba(255,251,230,0) 70%);
  box-shadow: 0 0 80px 40px rgba(255,240,180,0.3);
  animation: klt-glow 5s ease-in-out infinite alternate;
}
.scn-katie-lowry-testimony .figure {
  position: absolute; bottom: 15%; left: 35%; width: 120px; height: 180px;
  background: linear-gradient(180deg, #3a2e1e 0%, #2a2015 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: scale(0.95);
  animation: klt-figure 4s ease-in-out infinite alternate;
}
.scn-katie-lowry-testimony .shawl {
  position: absolute; bottom: 18%; left: 32%; width: 150px; height: 70px;
  background: linear-gradient(180deg, #6b5b4d 0%, #4d3f34 100%);
  border-radius: 20% 20% 50% 50% / 30% 30% 60% 60%;
  transform: rotate(-2deg);
  animation: klt-shawl 3s ease-in-out infinite;
}
.scn-katie-lowry-testimony .neck {
  position: absolute; bottom: 42%; left: 42%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #fde8d0 0%, #f2d4b0 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.1);
  animation: klt-neck 6s ease-in-out infinite alternate;
}
.scn-katie-lowry-testimony .eyes {
  position: absolute; bottom: 44%; left: 46%; width: 20px; height: 10px;
  background: radial-gradient(circle at 20% 50%, #2a2015 0%, transparent 70%);
  box-shadow: 10px 0 0 0 #2a2015;
  border-radius: 50%;
  animation: klt-eyes 2s ease-in-out infinite alternate;
}
.scn-katie-lowry-testimony .hair {
  position: absolute; bottom: 52%; left: 40%; width: 60px; height: 40px;
  background: radial-gradient(circle at 40% 50%, #2a2015 0%, #1a1510 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: klt-hair 8s linear infinite;
}
@keyframes klt-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes klt-glow { 0% { transform: scale(1); opacity: 0.7 } 50% { transform: scale(1.05); opacity: 1 } 100% { transform: scale(0.95); opacity: 0.8 } }
@keyframes klt-figure { 0% { transform: translateY(0) scale(0.95) rotate(-1deg) } 50% { transform: translateY(-2px) scale(0.97) rotate(0deg) } 100% { transform: translateY(0) scale(0.95) rotate(1deg) } }
@keyframes klt-shawl { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes klt-neck { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes klt-eyes { 0% { opacity: 0.7; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(0.8) } 100% { opacity: 0.8; transform: scaleY(1) } }
@keyframes klt-hair { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }

/* bently-reflection */
.scn-bently-reflection {
  background: linear-gradient(180deg, #f8e8d0 0%, #ecd5b0 50%, #dbbd94 100%),
              radial-gradient(circle at 70% 40%, #fff4e0 0%, transparent 60%);
}
.scn-bently-reflection .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0dfc0 0%, #dcc29a 100%);
  animation: br-bg 8s ease-in-out infinite alternate;
}
.scn-bently-reflection .window {
  position: absolute; top: 6%; left: 60%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #b8d4f0 0%, #9ab8d8 100%);
  border: 6px solid #7a5a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.5);
  animation: br-window 12s ease-in-out infinite;
}
.scn-bently-reflection .figure {
  position: absolute; bottom: 12%; left: 15%; width: 100px; height: 160px;
  background: linear-gradient(180deg, #3a2e1e 0%, #201810 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  animation: br-figure 5s ease-in-out infinite alternate;
}
.scn-bently-reflection .table {
  position: absolute; bottom: 8%; left: 10%; width: 140px; height: 20px;
  background: linear-gradient(90deg, #6a4a3a 0%, #8a6a4a 50%, #6a4a3a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 10px rgba(0,0,0,0.2);
  animation: br-table 10s ease-in-out infinite;
}
.scn-bently-reflection .reflection {
  position: absolute; bottom: 12%; left: 55%; width: 180px; height: 140px;
  background: linear-gradient(135deg, rgba(240,220,190,0.4) 0%, rgba(210,180,140,0.2) 100%);
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 10px;
  transform: scaleX(-1);
  animation: br-reflection 12s ease-in-out infinite alternate;
}
.scn-bently-reflection .blossom-left {
  position: absolute; top: 12%; left: 62%; width: 20px; height: 20px;
  background: radial-gradient(circle at 30% 30%, #f0a0a0 0%, #e08080 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(224,128,128,0.5);
  animation: br-blossom 4s ease-in-out infinite alternate;
}
.scn-bently-reflection .blossom-right {
  position: absolute; top: 18%; left: 76%; width: 16px; height: 16px;
  background: radial-gradient(circle at 30% 30%, #f0a0a0 0%, #e08080 60%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 10px 3px rgba(224,128,128,0.4);
  animation: br-blossom 5s ease-in-out infinite alternate-reverse;
}
@keyframes br-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes br-window { 0% { opacity: 0.8; transform: translateY(0) } 50% { opacity: 1; transform: translateY(-2px) } 100% { opacity: 0.9; transform: translateY(0) } }
@keyframes br-figure { 0% { transform: translateX(0) rotate(0deg) scale(0.95) } 50% { transform: translateX(4px) rotate(1deg) scale(1) } 100% { transform: translateX(0) rotate(0deg) scale(0.95) } }
@keyframes br-table { 0% { transform: skewX(-1deg) } 50% { transform: skewX(1deg) } 100% { transform: skewX(-1deg) } }
@keyframes br-reflection { 0% { opacity: 0.3; transform: scaleX(-1) scaleY(0.9) } 50% { opacity: 0.6; transform: scaleX(-1) scaleY(1) } 100% { opacity: 0.4; transform: scaleX(-1) scaleY(0.9) } }
@keyframes br-blossom { 0% { transform: scale(0.8); opacity: 0.6 } 50% { transform: scale(1.2); opacity: 1 } 100% { transform: scale(0.9); opacity: 0.7 } }

/* tutt-closing-argument */
.scn-tutt-closing-argument {
  background: linear-gradient(180deg, #f5e6d0 0%, #e7d0b0 40%, #d4b890 100%),
              radial-gradient(ellipse at 30% 50%, #fff8e0 0%, transparent 60%);
}
.scn-tutt-closing-argument .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0ddc0 0%, #dcc29a 100%);
  animation: tc-bg 6s ease-in-out infinite alternate;
}
.scn-tutt-closing-argument .podium {
  position: absolute; bottom: 12%; left: 40%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2215 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: tc-podium 8s ease-in-out infinite;
}
.scn-tutt-closing-argument .figure {
  position: absolute; bottom: 22%; left: 42%; width: 90px; height: 180px;
  background: linear-gradient(180deg, #3a2e1e 0%, #1a1510 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tc-figure 4s ease-in-out infinite alternate;
}
.scn-tutt-closing-argument .books {
  position: absolute; bottom: 10%; left: 48%; width: 60px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: tc-books 10s linear infinite;
}
.scn-tutt-closing-argument .window {
  position: absolute; top: 5%; right: 10%; width: 25%; height: 35%;
  background: linear-gradient(180deg, #c8d8f0 0%, #a8bcd8 100%);
  border: 4px solid #5a3a2a;
  border-radius: 6px;
  animation: tc-window 12s ease-in-out infinite alternate;
}
.scn-tutt-closing-argument .light-beam {
  position: absolute; top: 10%; right: 10%; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(255,255,200,0.2) 0%, transparent 70%);
  transform: rotate(15deg);
  animation: tc-light 5s ease-in-out infinite alternate;
}
.scn-tutt-closing-argument .gavel {
  position: absolute; bottom: 15%; left: 35%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(-15deg);
  animation: tc-gavel 3s ease-in-out infinite;
}
@keyframes tc-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes tc-podium { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-2px) scale(1.02) } 100% { transform: translateY(0) scale(1) } }
@keyframes tc-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes tc-books { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes tc-window { 0% { opacity: 0.85; transform: scaleX(1) } 50% { opacity: 1; transform: scaleX(1.02) } 100% { opacity: 0.9; transform: scaleX(1) } }
@keyframes tc-light { 0% { opacity: 0.2; transform: rotate(15deg) scaleY(0.9) } 50% { opacity: 0.5; transform: rotate(20deg) scaleY(1.1) } 100% { opacity: 0.3; transform: rotate(15deg) scaleY(0.9) } }
@keyframes tc-gavel { 0% { transform: rotate(-15deg) translateY(0) } 50% { transform: rotate(-10deg) translateY(-4px) } 100% { transform: rotate(-15deg) translateY(0) } }

/* hingman-closing-argument */
.scn-hingman-closing-argument {
  background: linear-gradient(180deg, #f9e8d0 0%, #ecd2a0 40%, #d4b880 100%),
              radial-gradient(circle at 50% 30%, #fff8e0 0%, transparent 50%);
}
.scn-hingman-closing-argument .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f8e4c8 0%, #e2c9a4 100%);
  animation: hc-bg 8s ease-in-out infinite alternate;
}
.scn-hingman-closing-argument .figure-old {
  position: absolute; bottom: 10%; left: 30%; width: 80px; height: 140px;
  background: linear-gradient(180deg, #3a2e1e 0%, #1a1510 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform: rotate(5deg);
  animation: hc-old 5s ease-in-out infinite alternate;
}
.scn-hingman-closing-argument .bag {
  position: absolute; bottom: 12%; left: 28%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: hc-bag 3s ease-in-out infinite alternate;
}
.scn-hingman-closing-argument .arm {
  position: absolute; bottom: 30%; left: 48%; width: 70px; height: 120px;
  background: linear-gradient(180deg, #3a2e1e 0%, #1a1510 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  transform: rotate(-30deg);
  transform-origin: top right;
  animation: hc-arm 2s ease-in-out infinite;
}
.scn-hingman-closing-argument .spotlight {
  position: absolute; top: 5%; left: 40%; width: 30%; height: 60%;
  background: linear-gradient(135deg, rgba(255,255,230,0.25) 0%, transparent 80%);
  transform: rotate(-10deg);
  animation: hc-spotlight 6s ease-in-out infinite alternate;
}
.scn-hingman-closing-argument .courtroom-seat-left {
  position: absolute; bottom: 5%; left: 5%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2215 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: hc-seat 12s linear infinite;
}
.scn-hingman-closing-argument .courtroom-seat-right {
  position: absolute; bottom: 5%; right: 5%; width: 120px; height: 100px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2215 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: hc-seat 14s linear infinite reverse;
}
@keyframes hc-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes hc-old { 0% { transform: rotate(5deg) translateX(0) } 50% { transform: rotate(0deg) translateX(5px) } 100% { transform: rotate(5deg) translateX(0) } }
@keyframes hc-bag { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-4px) rotate(5deg) } 100% { transform: translateY(0) rotate(-3deg) } }
@keyframes hc-arm { 0% { transform: rotate(-30deg) scaleY(1) } 50% { transform: rotate(-20deg) scaleY(1.05) } 100% { transform: rotate(-30deg) scaleY(1) } }
@keyframes hc-spotlight { 0% { opacity: 0.2; transform: rotate(-10deg) scale(0.9) } 50% { opacity: 0.5; transform: rotate(-5deg) scale(1.1) } 100% { opacity: 0.3; transform: rotate(-10deg) scale(0.9) } }
@keyframes hc-seat { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }

/* d.a.-camel-joke */
.scn-d\\.a\\.-camel-joke { background: linear-gradient(180deg, #f5e6d0 0%, #e8d5b0 50%, #d4b88a 100%), radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 70%); }
.scn-d\\.a\\.-camel-joke .wall { position:absolute; inset:0; background: linear-gradient(180deg, #f0e0c8 0%, #dcc8a8 100%); box-shadow: inset 0 0 60px rgba(139, 90, 43, 0.15); }
.scn-d\\.a\\.-camel-joke .window { position:absolute; top:8%; left:70%; width:20%; height:40%; background: linear-gradient(135deg, #d9e8f5 0%, #b8d0e0 100%); border: 6px solid #b09070; border-radius: 8px; box-shadow: inset 0 0 40px rgba(255,255,255,0.4), 0 8px 20px rgba(0,0,0,0.15); animation: dcj-window 8s ease-in-out infinite alternate; }
.scn-d\\.a\\.-camel-joke .bench { position:absolute; bottom:10%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #a08060 0%, #7a5e44 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3); }
.scn-d\\.a\\.-camel-joke .lawyer { position:absolute; bottom:12%; left:30%; width:20px; height:50px; background: linear-gradient(180deg, #2c2c3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dcj-lawyer 4s ease-in-out infinite; }
.scn-d\\.a\\.-camel-joke .camel { position:absolute; bottom:12%; right:35%; width:40px; height:50px; background: linear-gradient(135deg, #8b7a5e 0%, #6b5a40 100%); border-radius: 50% 50% 40% 40% / 60% 40% 60% 40%; box-shadow: 0 6px 12px rgba(0,0,0,0.3); animation: dcj-camel 3s ease-in-out infinite; }
.scn-d\\.a\\.-camel-joke .camel::before { content: ''; position:absolute; top:-18px; left:10px; width:12px; height:20px; background: #6b5a40; border-radius: 50% 50% 10% 10% / 60% 60% 30% 30%; transform: rotate(10deg); }
.scn-d\\.a\\.-camel-joke .papers { position:absolute; bottom:15%; left:10%; width:30%; height:2px; background: #f0e0c0; border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.1), 0 8px 10px rgba(0,0,0,0.1); animation: dcj-papers 5s ease-in-out infinite; }
.scn-d\\.a\\.-camel-joke .gavel { position:absolute; bottom:20%; left:50%; width:16px; height:14px; background: #4a3a28; border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%; transform: rotate(-20deg); box-shadow: 0 6px 8px rgba(0,0,0,0.3); animation: dcj-gavel 2s ease-in-out infinite; }
.scn-d\\.a\\.-camel-joke .dust { position:absolute; width:6px; height:6px; background: rgba(255,255,240,0.4); border-radius: 50%; filter: blur(2px); }
.scn-d\\.a\\.-camel-joke .particle-a { top:20%; left:20%; animation: dcj-drift-a 20s linear infinite; }
.scn-d\\.a\\.-camel-joke .particle-b { top:40%; right:30%; animation: dcj-drift-b 25s linear infinite reverse; }
@keyframes dcj-window { 0% { opacity:0.9; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } 100% { opacity:0.85; transform: scaleY(0.98); } }
@keyframes dcj-lawyer { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes dcj-camel { 0% { transform: translateY(0) rotate(-3deg); } 25% { transform: translateY(-4px) rotate(2deg); } 50% { transform: translateY(-2px) rotate(-1deg); } 75% { transform: translateY(-6px) rotate(4deg); } 100% { transform: translateY(0) rotate(-3deg); } }
@keyframes dcj-papers { 0% { transform: translateY(0) scaleX(1); } 25% { transform: translateY(-2px) scaleX(1.05); } 50% { transform: translateY(0) scaleX(0.95); } 75% { transform: translateY(-1px) scaleX(1.02); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes dcj-gavel { 0% { transform: rotate(-20deg) translateY(0); } 50% { transform: rotate(-15deg) translateY(-3px); } 100% { transform: rotate(-20deg) translateY(0); } }
@keyframes dcj-drift-a { 0% { transform: translate(0, 0); opacity:0.4; } 50% { transform: translate(20px, -10px); opacity:0.7; } 100% { transform: translate(40px, -20px); opacity:0.2; } }
@keyframes dcj-drift-b { 0% { transform: translate(0, 0); opacity:0.3; } 50% { transform: translate(-15px, -8px); opacity:0.6; } 100% { transform: translate(-30px, -16px); opacity:0.1; } }

/* d.a.-suggests-wetherell */
.scn-d\\.a\\.-suggests-wetherell { background: linear-gradient(180deg, #e8dcc8 0%, #d4c0a8 50%, #c0a888 100%), radial-gradient(ellipse at 50% 100%, #f5ecd5 0%, transparent 70%); }
.scn-d\\.a\\.-suggests-wetherell .wall { position:absolute; inset:0; background: linear-gradient(180deg, #e0d0b8 0%, #c8b498 100%); box-shadow: inset 0 0 50px rgba(100,70,40,0.1); }
.scn-d\\.a\\.-suggests-wetherell .window { position:absolute; top:6%; right:15%; width:22%; height:45%; background: linear-gradient(135deg, #c8d8e8 0%, #a8bcd0 100%); border: 8px solid #a08060; border-radius: 10px; box-shadow: inset 0 0 30px rgba(255,255,255,0.3), 0 8px 16px rgba(0,0,0,0.1); animation: dsw-window 10s ease-in-out infinite alternate; }
.scn-d\\.a\\.-suggests-wetherell .bench { position:absolute; bottom:12%; left:5%; width:90%; height:20%; background: linear-gradient(180deg, #8a7050 0%, #6a5038 100%); border-radius: 6px 6px 0 0; box-shadow: 0 -6px 18px rgba(0,0,0,0.3); }
.scn-d\\.a\\.-suggests-wetherell .judge { position:absolute; bottom:15%; left:25%; width:24px; height:60px; background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dsw-judge 6s ease-in-out infinite; }
.scn-d\\.a\\.-suggests-wetherell .judge::before { content: ''; position:absolute; top:-10px; left:-2px; width:28px; height:16px; background: #4a3a28; border-radius: 50% 50% 0 0; transform: rotate(5deg); }
.scn-d\\.a\\.-suggests-wetherell .gavel { position:absolute; bottom:22%; right:30%; width:18px; height:16px; background: #6a4a28; border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%; transform: rotate(15deg); box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: dsw-gavel 4s ease-in-out infinite; }
.scn-d\\.a\\.-suggests-wetherell .cobweb { position:absolute; top:5%; left:5%; width:40%; height:30%; background: radial-gradient(ellipse at 20% 20%, rgba(200,180,160,0.3) 1px, transparent 2px); animation: dsw-cobweb 15s ease-in-out infinite; }
.scn-d\\.a\\.-suggests-wetherell .fly { position:absolute; top:12%; left:20%; width:4px; height:4px; background: #2a2a2a; border-radius: 50%; animation: dsw-fly 3s ease-in-out infinite; }
.scn-d\\.a\\.-suggests-wetherell .dust { position:absolute; width:5px; height:5px; background: rgba(240,230,210,0.5); border-radius: 50%; filter: blur(2px); }
.scn-d\\.a\\.-suggests-wetherell .particle-a { top:30%; left:10%; animation: dsw-drift-a 18s linear infinite; }
.scn-d\\.a\\.-suggests-wetherell .particle-b { top:50%; right:20%; animation: dsw-drift-b 22s linear infinite reverse; }
@keyframes dsw-window { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes dsw-judge { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-3px) rotate(0deg); } 50% { transform: translateY(0) rotate(2deg); } 75% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes dsw-gavel { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-4px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes dsw-cobweb { 0% { opacity:0.4; transform: scale(1); } 50% { opacity:0.7; transform: scale(1.03); } 100% { opacity:0.4; transform: scale(0.97); } }
@keyframes dsw-fly { 0% { transform: translate(0,0); } 20% { transform: translate(8px,-5px); } 40% { transform: translate(15px,-2px); } 60% { transform: translate(5px,-8px); } 80% { transform: translate(12px,-3px); } 100% { transform: translate(0,0); } }
@keyframes dsw-drift-a { 0% { transform: translate(0, 0); opacity:0.5; } 50% { transform: translate(30px, -15px); opacity:0.8; } 100% { transform: translate(60px, -30px); opacity:0.2; } }
@keyframes dsw-drift-b { 0% { transform: translate(0, 0); opacity:0.4; } 50% { transform: translate(-20px, -10px); opacity:0.7; } 100% { transform: translate(-40px, -20px); opacity:0.1; } }

/* pepperill-introduced */
.scn-pepperill-introduced { background: linear-gradient(180deg, #f2e8d8 0%, #e0ceb0 40%, #c8ae88 100%), radial-gradient(ellipse at 50% 0%, #fff5e5 0%, transparent 70%); }
.scn-pepperill-introduced .skyline { position:absolute; bottom:0; width:100%; height:30%; background: linear-gradient(180deg, #a09070 0%, #7a6a4a 100%); border-radius: 20% 20% 0 0 / 60% 60% 0 0; }
.scn-pepperill-introduced .dome { position:absolute; bottom:20%; left:50%; transform: translateX(-50%); width:80px; height:60px; background: radial-gradient(ellipse at 50% 40%, #d4a850 0%, #b89030 70%); border-radius: 50% 50% 10% 10% / 70% 70% 20% 20%; box-shadow: 0 4px 12px rgba(0,0,0,0.3); animation: pi-dome 6s ease-in-out infinite alternate; }
.scn-pepperill-introduced .window { position:absolute; top:15%; left:25%; width:50%; height:30%; background: linear-gradient(135deg, #c0d0e0 0%, #a0b8c8 100%); border: 8px solid #a0804a; border-radius: 6px; box-shadow: inset 0 0 40px rgba(255,255,255,0.3), 0 8px 20px rgba(0,0,0,0.1); animation: pi-window 8s ease-in-out infinite; }
.scn-pepperill-introduced .frame { position:absolute; top:12%; left:20%; width:60%; height:40%; border: 10px double #7a6a4a; border-radius: 4px; }
.scn-pepperill-introduced .figure { position:absolute; bottom:35%; left:50%; transform: translateX(-50%); width:24px; height:60px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1212 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; box-shadow: 0 6px 10px rgba(0,0,0,0.2); animation: pi-figure 4s ease-in-out infinite; }
.scn-pepperill-introduced .book { position:absolute; bottom:30%; left:42%; width:30px; height:20px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%); border-radius: 2px 2px 4px 4px; transform: rotate(-10deg); animation: pi-book 5s ease-in-out infinite; }
.scn-pepperill-introduced .hat { position:absolute; bottom:50%; left:47%; width:30px; height:10px; background: #2a2a2a; border-radius: 50% 50% 0 0; transform: rotate(-5deg); animation: pi-hat 3s ease-in-out infinite; }
@keyframes pi-dome { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.02) translateY(-2px); } 100% { transform: translateX(-50%) scale(0.98); } }
@keyframes pi-window { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes pi-figure { 0% { transform: translateX(-50%) rotate(-2deg); } 30% { transform: translateX(-50%) rotate(1deg) translateY(-2px); } 60% { transform: translateX(-50%) rotate(-1deg) translateY(0); } 100% { transform: translateX(-50%) rotate(2deg); } }
@keyframes pi-book { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-3px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes pi-hat { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-4px); } 100% { transform: rotate(-5deg) translateY(0); } }

/* pepperill-snobbery */
.scn-pepperill-snobbery { background: linear-gradient(180deg, #f0e4d0 0%, #dcc8ac 50%, #c8b090 100%), radial-gradient(ellipse at 50% 100%, #faf0e0 0%, transparent 70%); }
.scn-pepperill-snobbery .wall { position:absolute; inset:0; background: linear-gradient(135deg, #e0d0b8 0%, #c8b498 100%); box-shadow: inset 0 0 60px rgba(100,70,40,0.1); }
.scn-pepperill-snobbery .wainscot { position:absolute; bottom:0; width:100%; height:40%; background: linear-gradient(180deg, #7a6040 0%, #5a4028 100%); border-top: 4px solid #8a7048; box-shadow: 0 -8px 20px rgba(0,0,0,0.2); }
.scn-pepperill-snobbery .portrait { position:absolute; top:15%; left:35%; width:30%; height:50%; background: linear-gradient(135deg, #3a3028 0%, #1a1410 100%); border: 6px solid #a08050; border-radius: 6px; box-shadow: 0 8px 20px rgba(0,0,0,0.3); animation: ps-portrait 8s ease-in-out infinite; }
.scn-pepperill-snobbery .portrait::after { content: ''; position:absolute; top:15%; left:20%; width:60%; height:60%; background: radial-gradient(ellipse at 50% 50%, #5a4a3a 0%, transparent 70%); border-radius: 50%; }
.scn-pepperill-snobbery .chair { position:absolute; bottom:30%; left:10%; width:40px; height:50px; background: linear-gradient(180deg, #6a4a30 0%, #4a2a14 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: 6px 6px 12px rgba(0,0,0,0.3); animation: ps-chair 6s ease-in-out infinite; }
.scn-pepperill-snobbery .crest { position:absolute; top:8%; right:12%; width:24px; height:30px; background: radial-gradient(circle at 50% 40%, #d4a850 0%, #b08030 70%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: ps-crest 4s ease-in-out infinite; }
.scn-pepperill-snobbery .crest::before { content: ''; position:absolute; top:-4px; left:2px; width:20px; height:8px; background: #c09840; border-radius: 50% 50% 0 0; }
.scn-pepperill-snobbery .window { position:absolute; top:10%; left:5%; width:20%; height:40%; background: linear-gradient(135deg, #c8d8e8 0%, #a8bcd0 100%); border: 6px solid #a08050; border-radius: 8px; box-shadow: inset 0 0 30px rgba(255,255,255,0.3); animation: ps-window 10s ease-in-out infinite alternate; }
.scn-pepperill-snobbery .curtain { position:absolute; top:10%; left:3%; width:22%; height:42%; background: linear-gradient(90deg, #8a6040 0%, transparent 50%, #8a6040 100%); border-radius: 0 20% 20% 0 / 0 30% 30% 0; opacity:0.3; animation: ps-curtain 7s ease-in-out infinite; }
.scn-pepperill-snobbery .tassel { position:absolute; bottom:14%; left:14%; width:8px; height:14px; background: #a08050; border-radius: 50% 50% 20% 20% / 30% 30% 50% 50%; animation: ps-tassel 3s ease-in-out infinite; }
.scn-pepperill-snobbery .dust { position:absolute; width:5px; height:5px; background: rgba(240,230,210,0.4); border-radius: 50%; filter: blur(2px); }
.scn-pepperill-snobbery .particle-a { top:20%; right:20%; animation: ps-drift-a 20s linear infinite; }
.scn-pepperill-snobbery .particle-b { top:40%; left:30%; animation: ps-drift-b 25s linear infinite reverse; }
@keyframes ps-portrait { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes ps-chair { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-3px) rotate(1deg); } 60% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(2deg); } }
@keyframes ps-crest { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes ps-window { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes ps-curtain { 0% { opacity:0.3; } 50% { opacity:0.5; } 100% { opacity:0.3; } }
@keyframes ps-tassel { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes ps-drift-a { 0% { transform: translate(0, 0); opacity:0.4; } 50% { transform: translate(-20px, -10px); opacity:0.7; } 100% { transform: translate(-40px, -20px); opacity:0.1; } }
@keyframes ps-drift-b { 0% { transform: translate(0, 0); opacity:0.3; } 50% { transform: translate(15px, -8px); opacity:0.6; } 100% { transform: translate(30px, -16px); opacity:0.2; } }

/* Scene: willie-explains-murder (tense, bright interior) */
.scn-willie-explains-murder {
  background: 
    linear-gradient(180deg, #e3dac9 0%, #b8a99a 40%, #8c7b6a 100%),
    radial-gradient(ellipse at 30% 80%, #d4c4b0 0%, transparent 70%);
}
.scn-willie-explains-murder .room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d6c8b6 0%, #9a8a78 100%); 
  animation: wem-room-pulse 8s ease-in-out infinite alternate;
}
.scn-willie-explains-murder .wall-shadow {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%; 
  background: linear-gradient(180deg, #5e4f3d 0%, transparent 100%); 
  animation: wem-shadow-flicker 4s ease-in-out infinite alternate;
}
.scn-willie-explains-murder .table {
  position: absolute; bottom: 22%; left: 35%; width: 120px; height: 16px; 
  background: linear-gradient(180deg, #5a4a36 0%, #3d2e1e 100%); 
  border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); 
  animation: wem-table-shift 6s ease-in-out infinite;
}
.scn-willie-explains-murder .willie-silhouette {
  position: absolute; bottom: 25%; left: 30%; width: 30px; height: 70px; 
  background: linear-gradient(180deg, #2a221c 0%, #0f0a06 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; animation: wem-gesture 2.5s ease-in-out infinite;
}
.scn-willie-explains-murder .tutt-silhouette {
  position: absolute; bottom: 25%; right: 28%; width: 40px; height: 72px; 
  background: linear-gradient(180deg, #3a3028 0%, #1a120c 100%); 
  border-radius: 50% 50% 30% 30% / 65% 65% 35% 35%; 
  transform-origin: bottom center; animation: wem-listen 3s ease-in-out infinite alternate;
}
.scn-willie-explains-murder .camel-head {
  position: absolute; bottom: 42%; left: 60%; width: 30px; height: 40px; 
  background: linear-gradient(180deg, #a08060 0%, #705040 100%); 
  border-radius: 40% 30% 50% 50% / 60% 40% 50% 50%; 
  animation: wem-peek 5s ease-in-out infinite;
}
.scn-willie-explains-murder .lamp-light {
  position: absolute; top: 5%; left: 45%; width: 120px; height: 120px; 
  background: radial-gradient(circle, rgba(255,230,170,0.6) 0%, rgba(255,200,100,0.2) 60%, transparent 100%); 
  border-radius: 50%; filter: blur(15px); 
  animation: wem-lamp-sway 7s ease-in-out infinite alternate;
}
.scn-willie-explains-murder .ink-splash {
  position: absolute; bottom: 18%; left: 38%; width: 20px; height: 8px; 
  background: #8a513a; border-radius: 50%; 
  box-shadow: 0 0 6px 2px rgba(138,81,58,0.5); 
  animation: wem-spread 2s ease-in-out infinite alternate;
}
.scn-willie-explains-murder .shadow-drip {
  position: absolute; top: 0%; left: 20%; width: 4px; height: 100%; 
  background: linear-gradient(180deg, transparent 0%, rgba(60,40,20,0.3) 50%, transparent 100%); 
  animation: wem-drip 3s ease-in-out infinite;
}
@keyframes wem-room-pulse { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes wem-shadow-flicker { 0% { opacity:0.6; transform:scaleY(1); } 50% { opacity:0.8; transform:scaleY(0.98); } 100% { opacity:0.7; transform:scaleY(1.02); } }
@keyframes wem-table-shift { 0% { transform: translateX(0); } 50% { transform: translateX(-4px) rotate(-0.5deg); } 100% { transform: translateX(2px); } }
@keyframes wem-gesture { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(5deg); } 50% { transform: translateX(-2px) translateY(0) rotate(-3deg); } 75% { transform: translateX(6px) translateY(-1px) rotate(4deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes wem-listen { 0% { transform: scaleY(1) translateX(0); } 50% { transform: scaleY(1.02) translateX(-3px); } 100% { transform: scaleY(1) translateX(0); } }
@keyframes wem-peek { 0% { transform: translateY(0) scale(1); opacity:0.8; } 25% { transform: translateY(-8px) scale(1.05); opacity:1; } 50% { transform: translateY(0) scale(1); opacity:0.8; } 75% { transform: translateY(-4px) scale(1.02); opacity:0.9; } 100% { transform: translateY(0) scale(1); opacity:0.8; } }
@keyframes wem-lamp-sway { 0% { transform: translate(-10px, -5px) scale(1); } 50% { transform: translate(5px, 10px) scale(1.1); } 100% { transform: translate(-5px, -10px) scale(0.95); } }
@keyframes wem-spread { 0% { width:20px; height:8px; opacity:0.9; } 50% { width:28px; height:12px; opacity:0.7; } 100% { width:22px; height:10px; opacity:0.85; } }
@keyframes wem-drip { 0% { transform: translateY(-30%); opacity:0; } 50% { transform: translateY(0); opacity:1; } 100% { transform: translateY(30%); opacity:0; } }

/* Scene: willie-feels-guilty (tense, bright interior) */
.scn-willie-feels-guilty {
  background: 
    linear-gradient(180deg, #cab8a0 0%, #9c8872 50%, #6e5d4b 100%),
    radial-gradient(ellipse at 70% 30%, #dcc4aa 0%, transparent 70%);
}
.scn-willie-feels-guilty .room-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #b8a694 0%, #8a7866 100%); 
  animation: wfg-room-pulse 10s ease-in-out infinite alternate;
}
.scn-willie-feels-guilty .window-frame {
  position: absolute; top: 5%; right: 10%; width: 80px; height: 120px; 
  background: linear-gradient(180deg, #4a3a28 0%, #2a1a0c 100%); 
  border-radius: 6px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); 
  animation: wfg-window-shake 3s ease-in-out infinite alternate;
}
.scn-willie-feels-guilty .window-glass {
  position: absolute; top: 8%; right: 13%; width: 70px; height: 110px; 
  background: radial-gradient(ellipse at 30% 20%, rgba(200,220,255,0.3) 0%, rgba(150,180,220,0.1) 60%, transparent 100%); 
  border-radius: 4px; 
  animation: wfg-glass-glow 4s ease-in-out infinite alternate;
}
.scn-willie-feels-guilty .willie-figure {
  position: absolute; bottom: 25%; left: 40%; width: 28px; height: 68px; 
  background: linear-gradient(180deg, #2c241c 0%, #0e0804 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: wfg-stand-shift 4s ease-in-out infinite;
}
.scn-willie-feels-guilty .camel-head-stained {
  position: absolute; bottom: 45%; left: 55%; width: 28px; height: 36px; 
  background: linear-gradient(180deg, #a88a6a 0%, #7a6048 100%); 
  border-radius: 40% 30% 50% 50% / 60% 40% 50% 50%; 
  box-shadow: inset 0 0 8px #6e3a2a; 
  animation: wfg-camel-nod 5s ease-in-out infinite;
}
.scn-willie-feels-guilty .ink-pool {
  position: absolute; bottom: 12%; left: 45%; width: 40px; height: 20px; 
  background: radial-gradient(ellipse, #7a3a2a 0%, #5a2a1a 60%, transparent 100%); 
  border-radius: 50%; 
  animation: wfg-ink-spread 7s ease-in-out infinite alternate;
}
.scn-willie-feels-guilty .desk {
  position: absolute; bottom: 18%; left: 35%; width: 130px; height: 14px; 
  background: linear-gradient(180deg, #5c4c36 0%, #3a2a1a 100%); 
  border-radius: 6px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); 
  animation: wfg-desk-bob 3s ease-in-out infinite;
}
.scn-willie-feels-guilty .lamp-glow {
  position: absolute; top: 2%; left: 20%; width: 100px; height: 100px; 
  background: radial-gradient(circle, rgba(255,220,160,0.7) 0%, rgba(255,180,100,0.2) 60%, transparent 100%); 
  border-radius: 50%; filter: blur(15px); 
  animation: wfg-lamp-pulse 5s ease-in-out infinite alternate;
}
@keyframes wfg-room-pulse { 0% { opacity:0.85; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes wfg-window-shake { 0% { transform: rotate(0deg); } 25% { transform: rotate(0.5deg); } 50% { transform: rotate(-0.3deg); } 75% { transform: rotate(0.4deg); } 100% { transform: rotate(-0.2deg); } }
@keyframes wfg-glass-glow { 0% { opacity:0.6; } 50% { opacity:0.9; } 100% { opacity:0.5; } }
@keyframes wfg-stand-shift { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wfg-camel-nod { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(3deg) translateY(-3px); } 50% { transform: rotate(-2deg) translateY(0); } 75% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes wfg-ink-spread { 0% { transform: scaleX(1) scaleY(1); opacity:0.8; } 50% { transform: scaleX(1.2) scaleY(0.9); opacity:0.6; } 100% { transform: scaleX(0.95) scaleY(1.05); opacity:0.9; } }
@keyframes wfg-desk-bob { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes wfg-lamp-pulse { 0% { transform: scale(1); opacity:0.7; } 50% { transform: scale(1.08); opacity:1; } 100% { transform: scale(0.95); opacity:0.6; } }

/* Scene: tutt-agrees-to-defend (warm, bright interior) */
.scn-tutt-agrees-to-defend {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b88a 50%, #a8885a 100%),
    radial-gradient(ellipse at 20% 80%, #f0d8b0 0%, transparent 70%);
}
.scn-tutt-agrees-to-defend .office-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #e6d3b0 0%, #b89a70 100%); 
  animation: tad-wall-warm 12s ease-in-out infinite alternate;
}
.scn-tutt-agrees-to-defend .desk-large {
  position: absolute; bottom: 15%; left: 20%; width: 180px; height: 20px; 
  background: linear-gradient(180deg, #704c28 0%, #4a3018 100%); 
  border-radius: 10px; box-shadow: 0 6px 12px rgba(0,0,0,0.4); 
  animation: tad-desk-gentle 8s ease-in-out infinite;
}
.scn-tutt-agrees-to-defend .tutt-figure {
  position: absolute; bottom: 20%; left: 25%; width: 45px; height: 80px; 
  background: linear-gradient(180deg, #4e3822 0%, #2a1a0a 100%); 
  border-radius: 50% 50% 30% 30% / 65% 65% 35% 35%; 
  transform-origin: bottom center; 
  animation: tad-tutt-sit 6s ease-in-out infinite alternate;
}
.scn-tutt-agrees-to-defend .willie-figure-warm {
  position: absolute; bottom: 20%; right: 30%; width: 30px; height: 70px; 
  background: linear-gradient(180deg, #3f2e1c 0%, #1f1008 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: tad-willie-stand 4s ease-in-out infinite;
}
.scn-tutt-agrees-to-defend .camel-statue {
  position: absolute; bottom: 35%; left: 55%; width: 40px; height: 50px; 
  background: linear-gradient(180deg, #b89560 0%, #8a6a38 100%); 
  border-radius: 45% 35% 55% 45% / 65% 45% 55% 35%; 
  box-shadow: 0 4px 8px rgba(0,0,0,0.3); 
  animation: tad-statue-glow 5s ease-in-out infinite alternate;
}
.scn-tutt-agrees-to-defend .law-books {
  position: absolute; bottom: 18%; left: 10%; width: 40px; height: 60px; 
  background: linear-gradient(180deg, #5e4a2e 0%, #3a2a14 100%); 
  border-radius: 4px; box-shadow: 2px 2px 6px rgba(0,0,0,0.5); 
  animation: tad-books-slide 7s ease-in-out infinite;
}
.scn-tutt-agrees-to-defend .warm-lamp {
  position: absolute; top: 2%; left: 45%; width: 60px; height: 80px; 
  background: radial-gradient(ellipse at 50% 30%, rgba(255,240,180,0.8) 0%, rgba(255,200,100,0.3) 50%, transparent 100%); 
  border-radius: 50%; filter: blur(20px); 
  animation: tad-lamp-soft 9s ease-in-out infinite alternate;
}
.scn-tutt-agrees-to-defend .shadow-warm {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 30%; 
  background: linear-gradient(180deg, transparent 0%, rgba(80,55,25,0.3) 100%); 
  animation: tad-shadow-dance 6s ease-in-out infinite alternate;
}
@keyframes tad-wall-warm { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes tad-desk-gentle { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes tad-tutt-sit { 0% { transform: scaleY(1) translateX(0) rotate(0deg); } 50% { transform: scaleY(1.02) translateX(-5px) rotate(0.5deg); } 100% { transform: scaleY(1) translateX(0) rotate(0deg); } }
@keyframes tad-willie-stand { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 25% { transform: translateX(6px) translateY(-1px) rotate(2deg); } 50% { transform: translateX(0) translateY(0) rotate(-1deg); } 75% { transform: translateX(-4px) translateY(-1px) rotate(0deg); } 100% { transform: translateX(0) translateY(0) rotate(-1deg); } }
@keyframes tad-statue-glow { 0% { box-shadow: 0 4px 8px rgba(0,0,0,0.3); } 50% { box-shadow: 0 0 20px 6px rgba(200,160,80,0.4); } 100% { box-shadow: 0 4px 8px rgba(0,0,0,0.3); } }
@keyframes tad-books-slide { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes tad-lamp-soft { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.05); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes tad-shadow-dance { 0% { opacity:0.6; transform: scaleY(1); } 50% { opacity:0.8; transform: scaleY(1.1); } 100% { opacity:0.5; transform: scaleY(0.9); } }

/* Scene: chief-clerk-complains (funny, bright interior) */
.scn-chief-clerk-complains {
  background: 
    linear-gradient(180deg, #f8e8a0 0%, #d4c070 50%, #a89040 100%),
    radial-gradient(ellipse at 70% 20%, #ffe680 0%, transparent 70%);
}
.scn-chief-clerk-complains .cluttered-office {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #e0cc70 0%, #b8a44a 100%); 
  animation: ccc-office-bounce 6s ease-in-out infinite alternate;
}
.scn-chief-clerk-complains .clerk-figure {
  position: absolute; bottom: 22%; left: 20%; width: 32px; height: 70px; 
  background: linear-gradient(180deg, #3a342b 0%, #1c1710 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: ccc-clerk-wail 2.5s ease-in-out infinite;
}
.scn-chief-clerk-complains .chief-figure {
  position: absolute; bottom: 22%; right: 25%; width: 40px; height: 72px; 
  background: linear-gradient(180deg, #4a4028 0%, #2a1e0c 100%); 
  border-radius: 50% 50% 30% 30% / 65% 65% 35% 35%; 
  transform-origin: bottom center; 
  animation: ccc-chief-shrug 3.5s ease-in-out infinite alternate;
}
.scn-chief-clerk-complains .paper-pile {
  position: absolute; bottom: 10%; width: 50px; height: 30px; 
  background: linear-gradient(180deg, #f0e0c0 0%, #d0be9a 100%); 
  border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); 
}
.scn-chief-clerk-complains .left-pile {
  left: 30%; 
  animation: ccc-paper-shift 2.8s ease-in-out infinite alternate;
}
.scn-chief-clerk-complains .right-pile {
  right: 30%; 
  animation: ccc-paper-shift 3.2s ease-in-out infinite alternate-reverse;
}
.scn-chief-clerk-complains .newspaper-rack {
  position: absolute; top: 10%; left: 45%; width: 40px; height: 80px; 
  background: linear-gradient(180deg, #d4b06a 0%, #a08040 100%); 
  border-radius: 6px 6px 0 0; box-shadow: 0 4px 6px rgba(0,0,0,0.3); 
  animation: ccc-rack-sway 5s ease-in-out infinite;
}
.scn-chief-clerk-complains .lamp-swing {
  position: absolute; top: 2%; left: 50%; width: 30px; height: 90px; 
  background: radial-gradient(ellipse at 50% 10%, rgba(255,255,200,0.8) 0%, rgba(255,220,100,0.2) 60%, transparent 100%); 
  border-radius: 50%; filter: blur(10px); 
  transform-origin: top center; 
  animation: ccc-lamp-swing 4s ease-in-out infinite alternate;
}
.scn-chief-clerk-complains .comic-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%; 
  background: linear-gradient(180deg, transparent 0%, rgba(80,60,20,0.2) 100%); 
  animation: ccc-shadow-jiggle 2s ease-in-out infinite alternate;
}
@keyframes ccc-office-bounce { 0% { opacity:0.85; transform: scale(1); } 50% { opacity:1; transform: scale(1.01); } 100% { opacity:0.9; transform: scale(0.99); } }
@keyframes ccc-clerk-wail { 0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-4px) rotate(5deg); } 40% { transform: translateY(0) rotate(-5deg); } 60% { transform: translateY(-2px) rotate(3deg); } 80% { transform: translateY(-1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ccc-chief-shrug { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 50% { transform: translateY(-3px) rotate(2deg) scaleY(1.03); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes ccc-paper-shift { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(6px) rotate(3deg); } 100% { transform: translateX(-4px) rotate(-2deg); } }
@keyframes ccc-rack-sway { 0% { transform: rotate(0deg); } 25% { transform: rotate(3deg); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(4deg); } 100% { transform: rotate(0deg); } }
@keyframes ccc-lamp-swing { 0% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-6deg); } }
@keyframes ccc-shadow-jiggle { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.4; } }

.scn-tutt-leaves-angry {
  background:
    linear-gradient(180deg, #f0d8b0 0%, #c8a46a 100%),
    radial-gradient(ellipse at 80% 50%, #f0e0c0 0%, transparent 60%);
}
.scn-tutt-leaves-angry .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #8b6914 0%, #5a4512 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.3);
}
.scn-tutt-leaves-angry .wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a46a 100%);
}
.scn-tutt-leaves-angry .window {
  position: absolute;
  top: 8%;
  right: 10%;
  width: 22%;
  height: 35%;
  background: linear-gradient(180deg, #d0e8f0 0%, #a0d0e0 100%);
  border: 6px solid #7a5c3a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,.6), 0 0 30px rgba(255,255,200,.3);
  animation: tla-window 8s ease-in-out infinite alternate;
}
.scn-tutt-leaves-angry .door {
  position: absolute;
  bottom: 20%;
  left: 15%;
  width: 18%;
  height: 55%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a301a 100%);
  border: 4px solid #3a2410;
  border-radius: 4px 4px 0 0;
  transform-origin: left center;
  animation: tla-door 6s ease-in-out infinite alternate;
}
.scn-tutt-leaves-angry .hat {
  position: absolute;
  top: 25%;
  left: 18%;
  width: 8%;
  height: 8%;
  background: radial-gradient(circle at 50% 30%, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
  animation: tla-hat 12s ease-in-out infinite;
}
.scn-tutt-leaves-angry .figure-tutt {
  position: absolute;
  bottom: 24%;
  left: 25%;
  width: 12%;
  height: 40%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tla-walk 4s ease-in-out infinite;
}
.scn-tutt-leaves-angry .figure-tutt::after {
  content: '';
  position: absolute;
  top: -10%;
  right: -20%;
  width: 30%;
  height: 25%;
  background: #2a2a3a;
  border-radius: 50% 50% 0 0;
  transform: rotate(20deg);
  animation: tla-fist 2s ease-in-out infinite alternate;
}
.scn-tutt-leaves-angry .figure-pepperill {
  position: absolute;
  bottom: 24%;
  right: 30%;
  width: 10%;
  height: 38%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tla-stand 6s ease-in-out infinite;
}
.scn-tutt-leaves-angry .shadow {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 30%;
  height: 4%;
  background: rgba(0,0,0,.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: tla-shadow 4s ease-in-out infinite;
}
@keyframes tla-window {
  0% { opacity: .8; box-shadow: inset 0 0 20px rgba(255,255,200,.6), 0 0 30px rgba(255,255,200,.3); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,200,.9), 0 0 50px rgba(255,255,200,.5); }
  100% { opacity: .7; box-shadow: inset 0 0 10px rgba(255,255,200,.4), 0 0 20px rgba(255,255,200,.2); }
}
@keyframes tla-door {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}
@keyframes tla-hat {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(2px, -1px) rotate(3deg); }
  50% { transform: translate(-1px, 2px) rotate(-2deg); }
  75% { transform: translate(1px, -2px) rotate(4deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes tla-walk {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  25% { transform: translateX(5%) translateY(-2%) rotate(2deg); }
  50% { transform: translateX(10%) translateY(0) rotate(-1deg); }
  75% { transform: translateX(15%) translateY(-2%) rotate(3deg); }
  100% { transform: translateX(20%) translateY(0) rotate(0deg); }
}
@keyframes tla-fist {
  0% { transform: rotate(10deg) translateY(0); }
  100% { transform: rotate(30deg) translateY(-5%); }
}
@keyframes tla-stand {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes tla-shadow {
  0% { opacity: .3; transform: scaleX(1); }
  50% { opacity: .5; transform: scaleX(1.1); }
  100% { opacity: .3; transform: scaleX(1); }
}

.scn-tutt-curses-pepperill {
  background:
    linear-gradient(180deg, #f2e0b0 0%, #c8a46a 100%),
    radial-gradient(ellipse at 60% 40%, #f0e0c0 0%, transparent 70%);
}
.scn-tutt-curses-pepperill .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 18%;
  background: linear-gradient(180deg, #8b6914 0%, #5a4512 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.3);
}
.scn-tutt-curses-pepperill .wall {
  position: absolute;
  inset: 0 0 18% 0;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a46a 100%);
}
.scn-tutt-curses-pepperill .door {
  position: absolute;
  bottom: 18%;
  left: 40%;
  width: 20%;
  height: 55%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a301a 100%);
  border: 4px solid #3a2410;
  border-radius: 4px;
  transform-origin: left center;
  animation: tcp-door 3s ease-in-out infinite alternate;
}
.scn-tutt-curses-pepperill .figure-tutt {
  position: absolute;
  bottom: 24%;
  left: 30%;
  width: 14%;
  height: 42%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tcp-wag 2s ease-in-out infinite;
}
.scn-tutt-curses-pepperill .figure-tutt::after {
  content: '';
  position: absolute;
  top: -8%;
  right: -25%;
  width: 35%;
  height: 20%;
  background: #2a2a3a;
  border-radius: 50% 50% 0 0;
  transform: rotate(30deg);
  animation: tcp-shake 0.5s ease-in-out infinite alternate;
}
.scn-tutt-curses-pepperill .hat {
  position: absolute;
  top: 20%;
  left: 25%;
  width: 10%;
  height: 10%;
  background: radial-gradient(circle at 50% 30%, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 4px 6px rgba(0,0,0,.4);
  animation: tcp-hat 4s ease-in-out infinite;
}
.scn-tutt-curses-pepperill .shadow {
  position: absolute;
  bottom: 18%;
  left: 25%;
  width: 35%;
  height: 4%;
  background: rgba(0,0,0,.35);
  border-radius: 50%;
  filter: blur(4px);
  animation: tcp-shadow 2s ease-in-out infinite;
}
.scn-tutt-curses-pepperill .shake-dot {
  position: absolute;
  top: 22%;
  left: 38%;
  width: 2%;
  height: 2%;
  background: #ffd080;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,208,128,.6);
  animation: tcp-dot 1s ease-in-out infinite;
}
@keyframes tcp-door {
  0% { transform: rotate(0deg) scaleX(1); }
  50% { transform: rotate(-2deg) scaleX(1.02); }
  100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes tcp-wag {
  0% { transform: rotate(-2deg) translateX(0); }
  25% { transform: rotate(3deg) translateX(2%); }
  50% { transform: rotate(-1deg) translateX(1%); }
  75% { transform: rotate(4deg) translateX(-1%); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes tcp-shake {
  0% { transform: rotate(25deg) translateY(0); }
  100% { transform: rotate(35deg) translateY(-5%); }
}
@keyframes tcp-hat {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(3px, -2px) rotate(5deg); }
  50% { transform: translate(-2px, 1px) rotate(-3deg); }
  75% { transform: translate(2px, -3px) rotate(6deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes tcp-shadow {
  0% { opacity: .35; transform: scaleX(1); }
  50% { opacity: .5; transform: scaleX(1.15); }
  100% { opacity: .35; transform: scaleX(1); }
}
@keyframes tcp-dot {
  0% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.5); }
  100% { opacity: .6; transform: scale(1); }
}

.scn-d-a-laughs {
  background:
    linear-gradient(180deg, #f8e8c0 0%, #d0b880 100%),
    radial-gradient(ellipse at 70% 50%, #f0e0c0 0%, transparent 60%);
}
.scn-d-a-laughs .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #a07a40 0%, #6a5020 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.3);
}
.scn-d-a-laughs .wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a46a 100%);
}
.scn-d-a-laughs .figure-tutt {
  position: absolute;
  bottom: 25%;
  left: 25%;
  width: 13%;
  height: 40%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: dal-bend 4s ease-in-out infinite;
}
.scn-d-a-laughs .figure-peckham {
  position: absolute;
  bottom: 25%;
  right: 30%;
  width: 14%;
  height: 44%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: dal-reach 4s ease-in-out infinite alternate;
}
.scn-d-a-laughs .figure-peckham::after {
  content: '';
  position: absolute;
  top: 30%;
  left: -20%;
  width: 25%;
  height: 20%;
  background: #2a2a3a;
  border-radius: 50% 50% 0 0;
  transform: rotate(-15deg);
  animation: dal-hand 4s ease-in-out infinite alternate;
}
.scn-d-a-laughs .laugh-lines {
  position: absolute;
  top: 20%;
  left: 40%;
  width: 20%;
  height: 10%;
  background: radial-gradient(ellipse at 20% 50%, #ffd080 0%, transparent 60%),
              radial-gradient(ellipse at 80% 50%, #ffd080 0%, transparent 60%);
  background-size: 40% 100%, 40% 100%;
  background-repeat: no-repeat;
  animation: dal-lines 2s ease-in-out infinite;
}
.scn-d-a-laughs .shadow {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 60%;
  height: 5%;
  background: rgba(0,0,0,.25);
  border-radius: 50%;
  filter: blur(5px);
  animation: dal-shadow 4s ease-in-out infinite;
}
.scn-d-a-laughs .sparkle {
  position: absolute;
  top: 15%;
  right: 20%;
  width: 3%;
  height: 3%;
  background: #ffe080;
  border-radius: 50%;
  box-shadow: 0 0 12px 4px rgba(255,224,128,.6);
  animation: dal-sparkle 3s ease-in-out infinite;
}
@keyframes dal-bend {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(-3deg) translateY(-2%); }
  50% { transform: rotate(2deg) translateY(1%); }
  75% { transform: rotate(-4deg) translateY(-3%); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes dal-reach {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5%) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dal-hand {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-5%); }
  100% { transform: rotate(-15deg) translateY(0); }
}
@keyframes dal-lines {
  0% { opacity: .4; transform: scaleX(1); }
  50% { opacity: .8; transform: scaleX(1.2); }
  100% { opacity: .4; transform: scaleX(1); }
}
@keyframes dal-shadow {
  0% { opacity: .25; transform: scaleX(1); }
  50% { opacity: .4; transform: scaleX(1.1); }
  100% { opacity: .25; transform: scaleX(1); }
}
@keyframes dal-sparkle {
  0% { opacity: .5; transform: scale(1) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.5) rotate(180deg); }
  100% { opacity: .5; transform: scale(1) rotate(360deg); }
}

.scn-tutt-plans-strategy {
  background:
    linear-gradient(180deg, #f2e0b0 0%, #c8a46a 100%),
    radial-gradient(ellipse at 60% 40%, #f0e0c0 0%, transparent 70%);
}
.scn-tutt-plans-strategy .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 15%;
  background: linear-gradient(180deg, #8b6914 0%, #5a4512 100%);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.3);
}
.scn-tutt-plans-strategy .wall {
  position: absolute;
  inset: 0 0 15% 0;
  background: linear-gradient(180deg, #e8d0a0 0%, #c8a46a 100%);
}
.scn-tutt-plans-strategy .desk {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 80%;
  height: 25%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,.4);
  animation: tps-desk 12s ease-in-out infinite alternate;
}
.scn-tutt-plans-strategy .map {
  position: absolute;
  bottom: 28%;
  left: 25%;
  width: 50%;
  height: 10%;
  background: linear-gradient(135deg, #d0b070 0%, #a08050 50%, #d0b070 100%);
  border: 2px solid #7a5c3a;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: tps-map 8s ease-in-out infinite;
}
.scn-tutt-plans-strategy .map::after {
  content: '';
  position: absolute;
  inset: 5%;
  background: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(0,0,0,.1) 4px, rgba(0,0,0,.1) 5px);
}
.scn-tutt-plans-strategy .map::before {
  content: '';
  position: absolute;
  top: 40%;
  left: 10%;
  width: 80%;
  height: 20%;
  background: radial-gradient(ellipse at 50% 50%, #c8a060 0%, transparent 70%);
}
.scn-tutt-plans-strategy .figure-tutt {
  position: absolute;
  bottom: 25%;
  left: 20%;
  width: 15%;
  height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tps-lean-left 6s ease-in-out infinite alternate;
}
.scn-tutt-plans-strategy .figure-tutt::after {
  content: '';
  position: absolute;
  top: 15%;
  right: -10%;
  width: 20%;
  height: 15%;
  background: #3a2a1a;
  border-radius: 50% 50% 0 0;
  transform: rotate(-20deg);
  animation: tps-point-left 4s ease-in-out infinite alternate;
}
.scn-tutt-plans-strategy .figure-peckham {
  position: absolute;
  bottom: 25%;
  right: 20%;
  width: 15%;
  height: 37%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tps-lean-right 6s ease-in-out infinite alternate;
}
.scn-tutt-plans-strategy .figure-peckham::after {
  content: '';
  position: absolute;
  top: 15%;
  left: -10%;
  width: 20%;
  height: 15%;
  background: #2a2a3a;
  border-radius: 50% 50% 0 0;
  transform: rotate(20deg);
  animation: tps-point-right 4s ease-in-out infinite alternate 2s;
}
.scn-tutt-plans-strategy .lamp {
  position: absolute;
  top: 5%;
  left: 45%;
  width: 10%;
  height: 15%;
  background: linear-gradient(180deg, #7a5c3a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(255,200,100,.4);
  animation: tps-lamp 10s ease-in-out infinite;
}
.scn-tutt-plans-strategy .lamp::before {
  content: '';
  position: absolute;
  bottom: -20%;
  left: 10%;
  width: 80%;
  height: 30%;
  background: radial-gradient(ellipse at 50% 0%, #ffd080 0%, transparent 70%);
  opacity: .6;
  animation: tps-light 4s ease-in-out infinite alternate;
}
.scn-tutt-plans-strategy .shadow {
  position: absolute;
  bottom: 15%;
  left: 10%;
  width: 80%;
  height: 5%;
  background: rgba(0,0,0,.3);
  border-radius: 50%;
  filter: blur(6px);
  animation: tps-shadow 6s ease-in-out infinite;
}
@keyframes tps-desk {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}
@keyframes tps-map {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(1deg); }
  50% { transform: rotate(-1deg); }
  75% { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes tps-lean-left {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-3%); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes tps-lean-right {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-3%); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes tps-point-left {
  0% { transform: rotate(-20deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-5%) scaleY(1.1); }
  100% { transform: rotate(-20deg) translateY(0); }
}
@keyframes tps-point-right {
  0% { transform: rotate(20deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-5%) scaleY(1.1); }
  100% { transform: rotate(20deg) translateY(0); }
}
@keyframes tps-lamp {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes tps-light {
  0% { opacity: .4; transform: scaleY(1); }
  100% { opacity: .7; transform: scaleY(1.2); }
}
@keyframes tps-shadow {
  0% { opacity: .3; transform: scaleX(1); }
  50% { opacity: .5; transform: scaleX(1.1); }
  100% { opacity: .3; transform: scaleX(1); }
}

.scn-hogan-family-photos {
  background: linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 30%, #c8a880 100%),
              radial-gradient(ellipse 60% 70% at 50% 100%, #f5e6d0 0%, transparent 80%);
}
.scn-hogan-family-photos .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,230,180,0.3) 0%, rgba(200,160,100,0.1) 100%);
  animation: hfp-bg 10s ease-in-out infinite alternate;
}
.scn-hogan-family-photos .desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #8b6f47 0%, #5a4630 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-hogan-family-photos .large-photo {
  position: absolute; bottom: 28%; left: 30%; width: 30%; height: 25%;
  background: linear-gradient(135deg, #d4b896 0%, #b89a78 100%);
  border: 3px solid #a88b6b; border-radius: 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2), inset 0 0 30px rgba(255,200,100,0.2);
  animation: hfp-photo-glow 4s ease-in-out infinite alternate;
}
.scn-hogan-family-photos .photo-a,
.scn-hogan-family-photos .photo-b,
.scn-hogan-family-photos .photo-c {
  position: absolute; bottom: 28%; width: 12%; height: 18%;
  background: linear-gradient(135deg, #b89a78 0%, #9a7c5a 100%);
  border: 2px solid #a88b6b; border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.scn-hogan-family-photos .photo-a { left: 8%; animation: hfp-small 5s ease-in-out infinite; }
.scn-hogan-family-photos .photo-b { left: 22%; animation: hfp-small 5s ease-in-out infinite 0.5s; }
.scn-hogan-family-photos .photo-c { left: 36%; animation: hfp-small 5s ease-in-out infinite 1s; }
.scn-hogan-family-photos .lamp {
  position: absolute; bottom: 30%; left: 70%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 50%, #705028 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 -10px 30px rgba(255,200,100,0.5);
  transform-origin: bottom center;
  animation: hfp-lamp 3s ease-in-out infinite alternate;
}
@keyframes hfp-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes hfp-photo-glow { 0% { box-shadow: 0 4px 12px rgba(0,0,0,0.2), inset 0 0 20px rgba(255,200,100,0.1); } 50% { box-shadow: 0 4px 24px rgba(255,200,100,0.3), inset 0 0 40px rgba(255,200,100,0.3); } 100% { box-shadow: 0 4px 12px rgba(0,0,0,0.2), inset 0 0 20px rgba(255,200,100,0.15); } }
@keyframes hfp-small { 0% { opacity: 0.9; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: 0.9; transform: scaleY(1); } }
@keyframes hfp-lamp { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }

.scn-mask-of-benignity {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 30%, #b09878 100%),
              radial-gradient(ellipse 50% 80% at 50% 100%, #f0e0c0 0%, transparent 70%);
}
.scn-mask-of-benignity .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(180,140,100,0.2) 0%, rgba(80,60,40,0.1) 100%);
}
.scn-mask-of-benignity .bench {
  position: absolute; bottom: 10%; left: 15%; right: 15%; height: 15%;
  background: linear-gradient(180deg, #8b6f47 0%, #5a4630 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-mask-of-benignity .gavel {
  position: absolute; bottom: 20%; left: 48%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #5a3a20 0%, #3a2210 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: mob-gavel 2s ease-in-out infinite;
}
.scn-mask-of-benignity .figure {
  position: absolute; bottom: 15%; left: 35%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mob-figure 6s ease-in-out infinite alternate;
}
.scn-mask-of-benignity .mask {
  position: absolute; bottom: 38%; left: 32%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #c0a080 0%, #a08060 100%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px rgba(200,160,100,0.3);
  animation: mob-mask 8s ease-in-out infinite alternate;
}
.scn-mask-of-benignity .cross {
  position: absolute; top: 5%; left: 50%; width: 2%; height: 8%;
  background: #a08060;
  transform: translateX(-50%);
  box-shadow: 0 0 10px rgba(160,128,96,0.3);
}
.scn-mask-of-benignity .cross::after {
  content: ''; display: block; width: 8%; height: 2%; background: #a08060;
  position: absolute; top: 35%; left: -350%; 
}
.scn-mask-of-benignity .spotlight {
  position: absolute; top: 0; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse 30% 100% at 50% 0%, rgba(255,240,200,0.3) 0%, transparent 100%);
  animation: mob-spot 5s ease-in-out infinite alternate;
}
@keyframes mob-gavel { 0% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-5px) rotate(-5deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes mob-figure { 0% { transform: translateX(0) scaleY(1); } 50% { transform: translateX(3px) scaleY(1.02); } 100% { transform: translateX(0) scaleY(1); } }
@keyframes mob-mask { 0% { transform: rotate(-10deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(1.05); } 100% { transform: rotate(-5deg) scaleX(1); } }
@keyframes mob-spot { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }

.scn-appearance-of-honesty {
  background: linear-gradient(180deg, #f0d8b8 0%, #d8b890 30%, #b89878 100%),
              radial-gradient(ellipse 40% 60% at 50% 30%, #f0d8b8 0%, transparent 80%);
}
.scn-appearance-of-honesty .bg {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(200,160,110,0.2) 0%, rgba(100,70,40,0.1) 100%);
  animation: aoh-bg 12s ease-in-out infinite alternate;
}
.scn-appearance-of-honesty .desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 18%;
  background: linear-gradient(180deg, #6b4f2e 0%, #4a3418 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-appearance-of-honesty .figure {
  position: absolute; bottom: 8%; left: 45%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aoh-figure 8s ease-in-out infinite alternate;
}
.scn-appearance-of-honesty .bible {
  position: absolute; bottom: 12%; left: 35%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #2e1e0e 0%, #1e0e00 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: aoh-bible 6s ease-in-out infinite;
}
.scn-appearance-of-honesty .lamp {
  position: absolute; bottom: 22%; left: 65%; width: 4%; height: 12%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 50%, #705028 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 -8px 20px rgba(255,200,100,0.4);
  transform-origin: bottom center;
  animation: aoh-lamp 3s ease-in-out infinite alternate;
}
.scn-appearance-of-honesty .halo {
  position: absolute; top: 2%; left: 40%; width: 20%; height: 25%;
  background: radial-gradient(circle at 50% 50%, rgba(255,220,150,0.2) 0%, transparent 70%);
  animation: aoh-halo 5s ease-in-out infinite alternate;
}
.scn-appearance-of-honesty .papers {
  position: absolute; bottom: 15%; left: 20%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #e8dcc8 0%, #c0a880 100%);
  border-radius: 1px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: aoh-papers 4s ease-in-out infinite;
}
@keyframes aoh-bg { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes aoh-figure { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.03) translateY(-2px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes aoh-bible { 0% { transform: rotate(0); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0); } }
@keyframes aoh-lamp { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes aoh-halo { 0% { opacity: 0.5; transform: scale(0.95); } 50% { opacity: 0.8; transform: scale(1.05); } 100% { opacity: 0.6; transform: scale(0.98); } }
@keyframes aoh-papers { 0% { transform: translateX(0); } 25% { transform: translateX(2px); } 75% { transform: translateX(-2px); } 100% { transform: translateX(0); } }

.scn-simpkins-reports {
  background: linear-gradient(180deg, #f5f0e0 0%, #d0c8b0 30%, #b0a890 100%),
              radial-gradient(ellipse 60% 70% at 50% 80%, #f5f0e0 0%, transparent 80%);
}
.scn-simpkins-reports .bg {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(200,180,160,0.3) 0%, rgba(120,100,80,0.1) 100%);
}
.scn-simpkins-reports .desk {
  position: absolute; bottom: 0; left: 8%; right: 8%; height: 18%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2e 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-simpkins-reports .chair {
  position: absolute; bottom: 6%; left: 50%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #3a2e1e 0%, #1e160e 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: sr-chair 7s ease-in-out infinite alternate;
}
.scn-simpkins-reports .cabinet {
  position: absolute; bottom: 5%; left: 75%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.scn-simpkins-reports .papers {
  position: absolute; bottom: 10%; left: 20%; width: 18%; height: 8%;
  background: linear-gradient(135deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 1px;
  animation: sr-papers 3s ease-in-out infinite;
}
.scn-simpkins-reports .phone {
  position: absolute; bottom: 14%; left: 48%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #2e2e2e 0%, #1a1a1a 100%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: sr-phone 4s ease-in-out infinite alternate;
}
.scn-simpkins-reports .window {
  position: absolute; top: 5%; left: 30%; width: 30%; height: 35%;
  border: 4px solid #8a7a6a; border-radius: 4px;
  background: radial-gradient(ellipse at 50% 30%, rgba(180,210,240,0.2) 0%, transparent 50%);
  overflow: hidden;
}
.scn-simpkins-reports .window::before {
  content: ''; display: block; position: absolute; top: 40%; left: 10%; width: 20%; height: 2px;
  background: #8a7a6a; transform: rotate(30deg); box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
  animation: sr-crack 8s linear infinite alternate;
}
@keyframes sr-chair { 0% { transform: translateX(0) rotate(0); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes sr-papers { 0% { transform: translateX(0) translateY(0); } 25% { transform: translateX(3px) translateY(-1px); } 75% { transform: translateX(-3px) translateY(1px); } 100% { transform: translateX(0) translateY(0); } }
@keyframes sr-phone { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes sr-crack { 0% { width: 20%; opacity: 0.5; } 50% { width: 35%; opacity: 1; } 100% { width: 25%; opacity: 0.7; } }

.scn-pumpelly-dinner-conversation {
  background: linear-gradient(180deg, #f5e6c8 0%, #e3cfa5 50%, #d4b88a 100%), radial-gradient(ellipse at 50% 100%, #fff6e0 0%, transparent 60%);
}
.scn-pumpelly-dinner-conversation .table {
  position:absolute; bottom:20%; left:15%; right:15%; height:8%; background: #8b6f47; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.35); animation: pdc-table 8s ease-in-out infinite alternate;
}
.scn-pumpelly-dinner-conversation .figure-left {
  position:absolute; bottom:26%; left:22%; width:30px; 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: pdc-figure 5s ease-in-out infinite;
}
.scn-pumpelly-dinner-conversation .figure-right {
  position:absolute; bottom:26%; right:22%; width:30px; 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: pdc-figure 5s ease-in-out infinite reverse;
}
.scn-pumpelly-dinner-conversation .lamp {
  position:absolute; bottom:50%; left:50%; width:20px; height:30px; transform:translateX(-50%); background: radial-gradient(circle, #ffe080 0%, #c08040 70%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 30px 10px rgba(255,224,128,.7), 0 0 60px 20px rgba(255,224,128,.3); animation: pdc-lamp 4s ease-in-out infinite alternate;
}
.scn-pumpelly-dinner-conversation .window {
  position:absolute; top:15%; right:10%; width:50px; height:70px; background: linear-gradient(180deg, #fff8e0 0%, #e0d0b0 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,200,.5); animation: pdc-window 6s ease-in-out infinite;
}
.scn-pumpelly-dinner-conversation .shadow {
  position:absolute; bottom:18%; left:20%; right:20%; height:6px; background: rgba(0,0,0,.25); filter: blur(3px); border-radius: 50%; animation: pdc-shadow 12s ease-in-out infinite alternate;
}
@keyframes pdc-table {
  0% { transform: translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,.35); }
  50% { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.5); }
  100% { transform: translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,.35); }
}
@keyframes pdc-figure {
  0% { transform: rotate(-1deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(-2px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes pdc-lamp {
  0% { transform: translateX(-50%) rotate(-2deg); box-shadow: 0 0 25px 8px rgba(255,224,128,.6), 0 0 50px 15px rgba(255,224,128,.2); }
  50% { transform: translateX(-50%) rotate(2deg); box-shadow: 0 0 40px 15px rgba(255,224,128,.9), 0 0 80px 25px rgba(255,224,128,.4); }
  100% { transform: translateX(-50%) rotate(-2deg); box-shadow: 0 0 25px 8px rgba(255,224,128,.6), 0 0 50px 15px rgba(255,224,128,.2); }
}
@keyframes pdc-window {
  0% { opacity: .7; box-shadow: inset 0 0 15px rgba(255,255,200,.3); }
  50% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,200,.6); }
  100% { opacity: .7; box-shadow: inset 0 0 15px rgba(255,255,200,.3); }
}
@keyframes pdc-shadow {
  0% { opacity: .3; transform: scaleX(1); }
  50% { opacity: .6; transform: scaleX(1.1); }
  100% { opacity: .3; transform: scaleX(1); }
}

.scn-summons-served-on-pumpelly {
  background: linear-gradient(135deg, #e8dcc8 0%, #d4c4a8 50%, #b8a88c 100%), radial-gradient(ellipse at 30% 50%, #fff3e0 0%, transparent 80%);
}
.scn-summons-served-on-pumpelly .mrs-pumpelly {
  position:absolute; bottom:20%; left:25%; width:35px; height:70px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ssp-figure 6s ease-in-out infinite;
}
.scn-summons-served-on-pumpelly .butler {
  position:absolute; bottom:20%; left:50%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ssp-bow 4s ease-in-out infinite alternate;
}
.scn-summons-served-on-pumpelly .officer {
  position:absolute; bottom:20%; right:20%; width:35px; height:72px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: ssp-figure 6s ease-in-out infinite reverse; 
}
.scn-summons-served-on-pumpelly .doorway {
  position:absolute; top:5%; left:45%; right:45%; bottom:5%; background: linear-gradient(180deg, #c8b898 0%, #a89878 100%); border-radius: 50% 50% 0 0 / 10% 10% 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,.2); animation: ssp-door 12s ease-in-out infinite;
}
.scn-summons-served-on-pumpelly .screen {
  position:absolute; top:30%; left:55%; width:30px; height:50%; background: linear-gradient(180deg, #b8a888 0%, #8a7a6a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: ssp-screen 9s ease-in-out infinite alternate;
}
.scn-summons-served-on-pumpelly .floor {
  position:absolute; bottom:0; left:0; right:0; height:18%; background: repeating-linear-gradient(90deg, #c8b898 0px, #c8b898 40px, #b8a888 40px, #b8a888 80px); border-radius: 0 0 4px 4px; animation: ssp-floor 20s linear infinite;
}
@keyframes ssp-figure {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ssp-bow {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-3px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ssp-door {
  0% { opacity: .8; box-shadow: inset 0 0 20px rgba(0,0,0,.15); }
  50% { opacity: 1; box-shadow: inset 0 0 40px rgba(0,0,0,.3); }
  100% { opacity: .8; box-shadow: inset 0 0 20px rgba(0,0,0,.15); }
}
@keyframes ssp-screen {
  0% { transform: translateX(0); box-shadow: 0 4px 8px rgba(0,0,0,.3); }
  50% { transform: translateX(2px); box-shadow: 0 6px 14px rgba(0,0,0,.5); }
  100% { transform: translateX(0); box-shadow: 0 4px 8px rgba(0,0,0,.3); }
}
@keyframes ssp-floor {
  0% { background-position: 0 0; }
  100% { background-position: 80px 0; }
}

.scn-edgerton-called-to-pumpelly {
  background: linear-gradient(180deg, #f0e6d0 0%, #dcc8a8 50%, #c0a888 100%), radial-gradient(ellipse at 50% 80%, #ffeee0 0%, transparent 70%);
}
.scn-edgerton-called-to-pumpelly .table-club {
  position:absolute; bottom:20%; left:30%; right:30%; height:12%; background: #8a7050; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.3); animation: ecp-table 10s ease-in-out infinite alternate;
}
.scn-edgerton-called-to-pumpelly .figure-edgerton {
  position:absolute; bottom:25%; left:20%; width:35px; height:65px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ecp-figure 6s ease-in-out infinite;
}
.scn-edgerton-called-to-pumpelly .plate {
  position:absolute; bottom:30%; left:42%; width:30px; height:6px; background: #f5f0e0; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: ecp-plate 8s ease-in-out infinite;
}
.scn-edgerton-called-to-pumpelly .glass {
  position:absolute; bottom:32%; left:55%; width:10px; height:25px; background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(200,200,255,.3) 100%); border-radius: 0 0 4px 4px; box-shadow: 0 0 8px rgba(200,200,255,.2); animation: ecp-glass 9s ease-in-out infinite alternate;
}
.scn-edgerton-called-to-pumpelly .waiter {
  position:absolute; bottom:20%; right:15%; width:30px; height:60px; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ecp-waiter 5s ease-in-out infinite alternate;
}
.scn-edgerton-called-to-pumpelly .curtain {
  position:absolute; top:0; left:0; right:0; height:8%; background: linear-gradient(90deg, #c8b898, #e8dcc8, #c8b898); border-radius: 0 0 20px 20px; box-shadow: 0 4px 10px rgba(0,0,0,.2); animation: ecp-curtain 15s ease-in-out infinite alternate;
}
.scn-edgerton-called-to-pumpelly .cigar-smoke {
  position:absolute; top:10%; left:35%; width:20px; height:30px; background: radial-gradient(circle, rgba(200,200,200,.3) 0%, transparent 60%); border-radius: 50%; filter: blur(6px); animation: ecp-smoke 7s ease-in-out infinite;
}
@keyframes ecp-table {
  0% { transform: scale(1); box-shadow: 0 4px 12px rgba(0,0,0,.3); }
  50% { transform: scale(1.02); box-shadow: 0 6px 18px rgba(0,0,0,.4); }
  100% { transform: scale(1); box-shadow: 0 4px 12px rgba(0,0,0,.3); }
}
@keyframes ecp-figure {
  0% { transform: rotate(-1deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(-3px); }
  100% { transform: rotate(-1deg) translateY(0); }
}
@keyframes ecp-plate {
  0% { opacity: .8; }
  50% { opacity: 1; }
  100% { opacity: .8; }
}
@keyframes ecp-glass {
  0% { transform: translateY(0) rotate(-2deg); box-shadow: 0 0 6px rgba(200,200,255,.15); }
  50% { transform: translateY(-2px) rotate(2deg); box-shadow: 0 0 12px rgba(200,200,255,.3); }
  100% { transform: translateY(0) rotate(-2deg); box-shadow: 0 0 6px rgba(200,200,255,.15); }
}
@keyframes ecp-waiter {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(5deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ecp-curtain {
  0% { transform: translateY(0); }
  50% { transform: translateY(2px); }
  100% { transform: translateY(0); }
}
@keyframes ecp-smoke {
  0% { transform: translateY(0) scale(1); opacity: .3; }
  50% { transform: translateY(-20px) scale(1.5); opacity: .1; }
  100% { transform: translateY(0) scale(1); opacity: .3; }
}

.scn-bonnie-doon-visits-pumpelly {
  background: linear-gradient(180deg, #fff8e8 0%, #f0e0c8 50%, #e0c8a8 100%), radial-gradient(ellipse at 50% 30%, #fffff0 0%, transparent 70%);
}
.scn-bonnie-doon-visits-pumpelly .figure-bonnie {
  position:absolute; bottom:20%; left:30%; width:30px; height:65px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1000 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bdv-figure 8s ease-in-out infinite;
}
.scn-bonnie-doon-visits-pumpelly .figure-simmons {
  position:absolute; bottom:20%; right:25%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bdv-bow 6s ease-in-out infinite alternate;
}
.scn-bonnie-doon-visits-pumpelly .doorway {
  position:absolute; top:10%; left:40%; right:40%; bottom:10%; background: linear-gradient(180deg, #d8c8b0 0%, #b8a888 100%); border-radius: 50% 50% 0 0 / 10% 10% 0 0; box-shadow: inset 0 0 40px rgba(0,0,0,.15); animation: bdv-door 15s ease-in-out infinite;
}
.scn-bonnie-doon-visits-pumpelly .carpet {
  position:absolute; bottom:0; left:10%; right:10%; height:12%; background: linear-gradient(135deg, #b8a888 0%, #a89878 50%, #8a7868 100%); border-radius: 20px 20px 0 0; box-shadow: inset 0 4px 10px rgba(0,0,0,.2); animation: bdv-carpet 20s ease-in-out infinite alternate;
}
.scn-bonnie-doon-visits-pumpelly .light-glow {
  position:absolute; top:25%; left:45%; width:40px; height:40px; background: radial-gradient(circle, #fff8e0 0%, transparent 60%); border-radius: 50%; filter: blur(8px); animation: bdv-glow 5s ease-in-out infinite alternate;
}
@keyframes bdv-figure {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes bdv-bow {
  0% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-3px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes bdv-door {
  0% { opacity: .8; box-shadow: inset 0 0 30px rgba(0,0,0,.1); }
  50% { opacity: 1; box-shadow: inset 0 0 60px rgba(0,0,0,.2); }
  100% { opacity: .8; box-shadow: inset 0 0 30px rgba(0,0,0,.1); }
}
@keyframes bdv-carpet {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes bdv-glow {
  0% { opacity: .5; transform: scale(1); }
  50% { opacity: .8; transform: scale(1.2); }
  100% { opacity: .5; transform: scale(1); }
}

/* mother-desperate */
.scn-mother-desperate {
  background: 
    linear-gradient(180deg, #1a1414 0%, #2a1e1a 40%, #3a2a22 100%),
    radial-gradient(ellipse at 50% 80%, #3a2a22 0%, transparent 70%);
  overflow: hidden;
}
.scn-mother-desperate .bg-room {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a1414 100%);
  animation: md-room 8s ease-in-out infinite alternate;
}
.scn-mother-desperate .desk {
  position: absolute; bottom: 10%; left: 20%; right: 20%; height: 18%;
  background: linear-gradient(180deg, #4a3528 0%, #2a1e14 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,.6);
  animation: md-desk 12s ease-in-out infinite;
}
.scn-mother-desperate .lamp-glow {
  position: absolute; bottom: 28%; left: 42%; width: 12%; height: 16%;
  background: radial-gradient(circle, #d49a6a 0%, #c08040 40%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,.4), 0 0 60px 20px rgba(192,128,64,.2);
  animation: md-lamp 3s ease-in-out infinite alternate;
}
.scn-mother-desperate .figure {
  position: absolute; bottom: 12%; left: 45%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #1a1414 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: md-figure 6s ease-in-out infinite;
}
.scn-mother-desperate .coin {
  position: absolute; width: 2%; height: 2%; border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #d4a860 0%, #b08038 100%);
  box-shadow: 0 1px 3px rgba(0,0,0,.5);
}
.scn-mother-desperate .coin1 {
  bottom: 14%; left: 38%;
  animation: md-coin1 5s ease-in-out infinite alternate;
}
.scn-mother-desperate .coin2 {
  bottom: 15%; left: 42%;
  animation: md-coin2 4.5s ease-in-out infinite alternate;
}
.scn-mother-desperate .coin3 {
  bottom: 13%; left: 47%;
  animation: md-coin3 5.5s ease-in-out infinite alternate;
}
.scn-mother-desperate .window {
  position: absolute; top: 8%; right: 12%; width: 14%; height: 20%;
  background: linear-gradient(135deg, rgba(60,60,90,.3) 0%, rgba(30,30,50,.2) 100%);
  border-radius: 10% 10% 4% 4%;
  box-shadow: inset 0 0 20px rgba(60,60,90,.2);
  animation: md-window 20s ease-in-out infinite;
}
@keyframes md-room { 0% { opacity:.6 } 50% { opacity:.9 } 100% { opacity:.7 } }
@keyframes md-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes md-lamp { 0% { opacity:.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:.8; transform: scale(.95); } }
@keyframes md-figure { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(5px) rotate(0deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(-5px) rotate(0deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes md-coin1 { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(3px,-2px) rotate(15deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes md-coin2 { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(-2px,-3px) rotate(-10deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes md-coin3 { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(4px,-1px) rotate(20deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes md-window { 0% { opacity:.15; } 50% { opacity:.3; } 100% { opacity:.2; } }

/* asche-visits-tutt */
.scn-asche-visits-tutt {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #e8d8b8 50%, #d8c8a0 100%),
    radial-gradient(ellipse at 80% 20%, #faf0e0 0%, transparent 70%);
  overflow: hidden;
}
.scn-asche-visits-tutt .bg-office {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #faf0e0 0%, #e8d8b8 100%);
  animation: avt-bg 10s ease-in-out infinite alternate;
}
.scn-asche-visits-tutt .desk {
  position: absolute; bottom: 8%; left: 15%; right: 35%; height: 22%;
  background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%);
  border-radius: 0 0 4% 4%;
  box-shadow: 0 -8px 16px rgba(0,0,0,.3);
  animation: avt-desk 12s ease-in-out infinite;
}
.scn-asche-visits-tutt .chair-tutt {
  position: absolute; bottom: 10%; left: 22%; width: 16%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: avt-chair 8s ease-in-out infinite;
}
.scn-asche-visits-tutt .figure-asche {
  position: absolute; bottom: 8%; left: 55%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a221a 0%, #1a120a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: avt-asche 6s ease-in-out infinite;
}
.scn-asche-visits-tutt .papers {
  position: absolute; bottom: 14%; left: 38%; width: 15%; height: 6%;
  background: linear-gradient(135deg, #fff 0%, #e0d8c8 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,.2);
  animation: avt-papers 4s ease-in-out infinite;
}
.scn-asche-visits-tutt .window-light {
  position: absolute; top: 5%; right: 8%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #fffde8 0%, rgba(255,253,232,0) 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: inset 0 0 40px rgba(255,253,232,.5);
  animation: avt-window 15s ease-in-out infinite alternate;
}
.scn-asche-visits-tutt .stogy-smoke {
  position: absolute; bottom: 30%; left: 40%; width: 4%; height: 8%;
  background: radial-gradient(circle, rgba(200,180,160,.4) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(3px);
  animation: avt-smoke 7s ease-in-out infinite;
}
@keyframes avt-bg { 0% { opacity:.7 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes avt-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes avt-chair { 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 avt-asche { 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 avt-papers { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes avt-window { 0% { opacity:.4; transform: scale(1); } 50% { opacity:.7; transform: scale(1.02); } 100% { opacity:.5; transform: scale(.98); } }
@keyframes avt-smoke { 0% { transform: translate(0,0) scale(1); opacity:.3; } 50% { transform: translate(3px,-6px) scale(1.5); opacity:.6; } 100% { transform: translate(-2px,-10px) scale(2); opacity:0; } }

/* tutt-sees-hogan-name */
.scn-tutt-sees-hogan-name {
  background:
    linear-gradient(180deg, #e8d8b8 0%, #c8b89a 40%, #a89878 100%),
    radial-gradient(ellipse at 60% 20%, #d4c4a4 0%, transparent 70%);
  overflow: hidden;
}
.scn-tutt-sees-hogan-name .bg-office-dark {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d4c4a4 0%, #a89878 100%);
  animation: tshn-bg 12s ease-in-out infinite alternate;
}
.scn-tutt-sees-hogan-name .desk {
  position: absolute; bottom: 8%; left: 10%; right: 30%; height: 24%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 0 0 4% 4%;
  box-shadow: 0 -8px 16px rgba(0,0,0,.4);
  animation: tshn-desk 10s ease-in-out infinite;
}
.scn-tutt-sees-hogan-name .figure-tutt {
  position: absolute; bottom: 10%; left: 18%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #2a221a 0%, #1a120a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tshn-tutt 4s ease-in-out infinite;
}
.scn-tutt-sees-hogan-name .figure-asche-paper {
  position: absolute; bottom: 8%; left: 50%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a221a 0%, #1a120a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform: translateX(-10px);
  animation: tshn-asche 5s ease-in-out infinite;
}
.scn-tutt-sees-hogan-name .paper-held {
  position: absolute; bottom: 30%; left: 52%; width: 10%; height: 8%;
  background: linear-gradient(135deg, #fff 0%, #e8dcc8 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 8px rgba(0,0,0,.3);
  animation: tshn-paper 3s ease-in-out infinite alternate;
}
.scn-tutt-sees-hogan-name .shadow-ominous {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%);
  animation: tshn-shadow 6s ease-in-out infinite;
}
.scn-tutt-sees-hogan-name .stogy-smoke-fast {
  position: absolute; bottom: 35%; left: 35%; width: 3%; height: 6%;
  background: radial-gradient(circle, rgba(180,160,140,.5) 0%, transparent 80%);
  border-radius: 50%;
  filter: blur(2px);
  animation: tshn-smoke 4s ease-in-out infinite;
}
@keyframes tshn-bg { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes tshn-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes tshn-tutt { 0% { transform: translateX(0) rotate(0deg) scale(1); } 25% { transform: translateX(3px) rotate(2deg) scale(1.02); } 50% { transform: translateX(0) rotate(0deg) scale(1); } 75% { transform: translateX(-3px) rotate(-2deg) scale(.98); } 100% { transform: translateX(0) rotate(0deg) scale(1); } }
@keyframes tshn-asche { 0% { transform: translateX(-10px) rotate(0deg); } 30% { transform: translateX(-5px) rotate(1deg); } 60% { transform: translateX(-15px) rotate(-1deg); } 100% { transform: translateX(-10px) rotate(0deg); } }
@keyframes tshn-paper { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tshn-shadow { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.6; } }
@keyframes tshn-smoke { 0% { transform: translate(0,0) scale(1); opacity:.4; } 50% { transform: translate(5px,-8px) scale(1.3); opacity:.7; } 100% { transform: translate(-3px,-12px) scale(1.8); opacity:0; } }

/* night-visit-to-judge */
.scn-night-visit-to-judge {
  background:
    linear-gradient(180deg, #0a0a14 0%, #12121c 30%, #1a1a2a 100%),
    radial-gradient(ellipse at 30% 50%, #1a1a2a 0%, transparent 80%);
  overflow: hidden;
}
.scn-night-visit-to-judge .bg-chamber {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #12121c 0%, #0a0a14 100%);
  animation: nvj-bg 20s ease-in-out infinite alternate;
}
.scn-night-visit-to-judge .desk-judge {
  position: absolute; bottom: 8%; left: 12%; right: 12%; height: 20%;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius: 0 0 6% 6%;
  box-shadow: 0 -6px 12px rgba(0,0,0,.7);
  animation: nvj-desk 15s ease-in-out infinite;
}
.scn-night-visit-to-judge .lamp-judge {
  position: absolute; bottom: 22%; left: 25%; width: 8%; height: 14%;
  background: radial-gradient(circle, #d49a6a 0%, #8a5a2a 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 15px rgba(212,154,106,.5), 0 0 80px 30px rgba(212,154,106,.2);
  animation: nvj-lamp 4s ease-in-out infinite alternate;
}
.scn-night-visit-to-judge .figure-judge {
  position: absolute; bottom: 10%; left: 40%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #1a1414 0%, #0e0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nvj-judge 7s ease-in-out infinite;
}
.scn-night-visit-to-judge .papers-old {
  position: absolute; bottom: 14%; left: 48%; width: 18%; height: 6%;
  background: linear-gradient(135deg, #c8b898 0%, #a89878 100%);
  border-radius: 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,.5);
  animation: nvj-papers 11s ease-in-out infinite;
}
.scn-night-visit-to-judge .gavel {
  position: absolute; bottom: 20%; left: 32%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  transform: rotate(10deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.6);
  animation: nvj-gavel 6s ease-in-out infinite;
}
@keyframes nvj-bg { 0% { opacity:.5 } 50% { opacity:.8 } 100% { opacity:.6 } }
@keyframes nvj-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes nvj-lamp { 0% { opacity:.6; transform: scale(1); } 50% { opacity:1; transform: scale(1.08); } 100% { opacity:.7; transform: scale(.95); } }
@keyframes nvj-judge { 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(-1deg); } }
@keyframes nvj-papers { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes nvj-gavel { 0% { transform: rotate(10deg) scale(1); } 50% { transform: rotate(15deg) scale(1.05); } 100% { transform: rotate(10deg) scale(1); } }

.scn-judge-calls-bluff {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #d4b896 50%, #a88564 100%),
    radial-gradient(ellipse at 50% 0%, #fff6e0 0%, transparent 60%);
}
.scn-judge-calls-bluff .bench {
  position:absolute; bottom:20%; left:20%; right:20%; height:15%;
  background: linear-gradient(180deg, #6b4226, #3d2314);
  border-radius: 4px;
  box-shadow: 0 -4px 12px rgba(0,0,0,.3);
  animation: jcb-bench 12s ease-in-out infinite;
}
.scn-judge-calls-bluff .judge {
  position:absolute; bottom:50%; left:38%; width:12%; height:40%;
  background: linear-gradient(180deg, #2b1a0f, #1a0e08);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  animation: jcb-judge 8s ease-in-out infinite;
}
.scn-judge-calls-bluff .papers {
  position:absolute; bottom:23%; width:8%; height:4%;
  background: linear-gradient(135deg, #e8dcc8, #cbb89e);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.15);
  animation: jcb-papers 12s ease infinite;
}
.scn-judge-calls-bluff .papers-a { left:30%; }
.scn-judge-calls-bluff .papers-b { left:45%; animation-delay: -4s; }
.scn-judge-calls-bluff .gavel {
  position:absolute; bottom:20%; left:55%; width:6%; height:8%;
  background: linear-gradient(180deg, #4a2e1a, #2a1a0e);
  border-radius: 0 0 30% 30%;
  transform-origin: top center;
  animation: jcb-gavel 6s ease-in-out infinite;
}
.scn-judge-calls-bluff .light-beam {
  position:absolute; top:0; left:30%; width:40%; height:80%;
  background: linear-gradient(180deg, rgba(255,250,230,.35) 0%, transparent 100%);
  animation: jcb-light 5s ease-in-out infinite alternate;
}
.scn-judge-calls-bluff .shadow {
  position:absolute; bottom:18%; left:35%; width:30%; height:5%;
  background: rgba(0,0,0,.2);
  filter: blur(4px);
  animation: jcb-shadow 8s ease infinite;
}
@keyframes jcb-bench { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.005); } 100% { transform: scaleY(1); } }
@keyframes jcb-judge {
  0% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(1deg) translateX(2px); }
  100% { transform: rotate(0deg) translateX(0); }
}
@keyframes jcb-papers { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes jcb-gavel { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes jcb-light { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.75; } }
@keyframes jcb-shadow { 0% { opacity:0.4; } 50% { opacity:0.6; } 100% { opacity:0.4; } }

.scn-hogan-under-pressure {
  background:
    linear-gradient(180deg, #ede0d4 0%, #c9b99a 50%, #a68c71 100%),
    radial-gradient(ellipse at 50% 30%, #fff3e0 0%, transparent 70%);
}
.scn-hogan-under-pressure .figure {
  position:absolute; bottom:20%; left:35%; width:30%; height:50%;
  background: linear-gradient(180deg, #2c1f14, #1a100c);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  animation: hup-figure 6s ease-in-out infinite;
}
.scn-hogan-under-pressure .head {
  position:absolute; bottom:68%; left:44%; width:12%; height:14%;
  background: linear-gradient(180deg, #2c1f14, #1a100c);
  border-radius: 50%;
  animation: hup-head 6s ease-in-out infinite;
}
.scn-hogan-under-pressure .neck {
  position:absolute; bottom:63%; left:46%; width:8%; height:10%;
  background: linear-gradient(180deg, #3d2b1c, #2a1a0e);
  border-radius: 20%;
  animation: hup-neck 8s ease-in-out infinite alternate;
}
.scn-hogan-under-pressure .sweat {
  position:absolute; width:4%; height:4%;
  background: radial-gradient(circle, #fff 0%, rgba(255,255,255,.4) 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(255,255,255,.3);
  animation: hup-sweat 4s ease infinite;
}
.scn-hogan-under-pressure .sweat-a { bottom:74%; left:50%; animation-delay:0s; }
.scn-hogan-under-pressure .sweat-b { bottom:72%; left:54%; animation-delay:2s; width:3%; height:5%; }
.scn-hogan-under-pressure .light-spot {
  position:absolute; top:0; left:40%; width:20%; height:70%;
  background: radial-gradient(ellipse at 50% 20%, rgba(255,250,230,.25) 0%, transparent 100%);
  animation: hup-spot 5s ease-in-out infinite alternate;
}
.scn-hogan-under-pressure .shadow-bg {
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.15) 70%, rgba(0,0,0,.25) 100%);
  pointer-events: none;
  animation: hup-shadow 8s ease infinite;
}
@keyframes hup-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes hup-head { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes hup-neck { 0% { transform: scaleX(1); } 100% { transform: scaleX(1.3); } }
@keyframes hup-sweat { 0%,100% { transform: translateY(0) scale(1); opacity:0.8; } 50% { transform: translateY(4px) scale(0.8); opacity:0.4; } }
@keyframes hup-spot { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes hup-shadow { 0% { opacity:0.5; } 50% { opacity:0.7; } 100% { opacity:0.5; } }

.scn-simpkins-sent-for {
  background:
    linear-gradient(180deg, #f0e6da 0%, #dbc7b0 50%, #b89f85 100%),
    radial-gradient(ellipse at 50% 0%, #fff8ec 0%, transparent 60%);
}
.scn-simpkins-sent-for .bench {
  position:absolute; left:10%; bottom:20%; width:22%; height:30%;
  background: linear-gradient(180deg, #6b4a30, #3b2515);
  border-radius: 6px 6px 0 0;
  box-shadow: 6px 0 12px rgba(0,0,0,.2);
  animation: ssf-bench 12s ease-in-out infinite;
}
.scn-simpkins-sent-for .judge {
  position:absolute; left:15%; bottom:44%; width:12%; height:40%;
  background: linear-gradient(180deg, #2b1a0f, #1a0e08);
  border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%;
  animation: ssf-judge 8s ease-in-out infinite;
}
.scn-simpkins-sent-for .bar {
  position:absolute; bottom:42%; left:0; right:0; height:6%;
  background: linear-gradient(180deg, #7a5c3a, #4d301c);
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.scn-simpkins-sent-for .hogan {
  position:absolute; bottom:20%; right:18%; width:16%; height:50%;
  background: linear-gradient(180deg, #2c1f14, #1a100c);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  animation: ssf-hogan 10s ease-in-out infinite;
}
.scn-simpkins-sent-for .empty-chair {
  position:absolute; bottom:25%; left:42%; width:10%; height:22%;
  background: linear-gradient(180deg, #5a3e28, #2b1a0e);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 0 0 2px #3b2515;
  transform-origin: bottom center;
  animation: ssf-chair 12s ease-in-out infinite;
}
.scn-simpkins-sent-for .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #a58b72, #7a654f);
  border-radius: 20% 20% 0 0;
}
.scn-simpkins-sent-for .light-beam {
  position:absolute; top:0; left:25%; width:50%; height:80%;
  background: linear-gradient(180deg, rgba(255,250,230,.3) 0%, transparent 100%);
  animation: ssf-light 6s ease-in-out infinite alternate;
}
@keyframes ssf-bench { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.005); } 100% { transform: scaleY(1); } }
@keyframes ssf-judge { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(1deg) translateX(2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes ssf-hogan { 0% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(2px); } 100% { transform: translateX(0); } }
@keyframes ssf-chair { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes ssf-light { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }

.scn-mutual-fear {
  background:
    linear-gradient(180deg, #33281e 0%, #1e1410 50%, #0d0906 100%),
    radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%);
}
.scn-mutual-fear .figure-left {
  position:absolute; bottom:20%; left:12%; width:22%; height:50%;
  background: linear-gradient(180deg, #2a1c14, #160e0a);
  border-radius: 40% 20% 20% 40% / 50% 30% 30% 50%;
  animation: muf-left 8s ease-in-out infinite;
}
.scn-mutual-fear .figure-right {
  position:absolute; bottom:20%; right:12%; width:22%; height:50%;
  background: linear-gradient(180deg, #2a1c14, #160e0a);
  border-radius: 20% 40% 40% 20% / 30% 50% 50% 30%;
  animation: muf-right 8s ease-in-out infinite;
}
.scn-mutual-fear .table {
  position:absolute; bottom:22%; left:30%; width:40%; height:12%;
  background: linear-gradient(180deg, #4d3424, #2b1a0e);
  border-radius: 8px;
  box-shadow: 0 -4px 12px rgba(0,0,0,.4);
}
.scn-mutual-fear .shadow {
  position:absolute; bottom:12%; width:20%; height:10%;
  background: rgba(0,0,0,.35);
  filter: blur(8px);
  animation: muf-shadow 6s ease-in-out infinite alternate;
}
.scn-mutual-fear .shadow-left { left:15%; }
.scn-mutual-fear .shadow-right { right:15%; }
.scn-mutual-fear .light-flicker {
  position:absolute; top:0; left:35%; width:30%; height:60%;
  background: radial-gradient(ellipse at 50% 20%, rgba(180,150,100,.15) 0%, transparent 100%);
  animation: muf-flicker 4s ease-in-out infinite alternate;
}
.scn-mutual-fear .floor {
  position:absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #4a3a2a, #1e1410);
  border-radius: 20% 20% 0 0;
}
@keyframes muf-left { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes muf-right { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes muf-shadow { 0% { opacity:0.6; } 100% { opacity:0.9; } }
@keyframes muf-flicker { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.5; } }

/* one block per scene id. Append to style.css. */

/* === edgertons-discuss-case === */
.scn-edgertons-discuss-case {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #a67c52 100%),
    radial-gradient(ellipse at 30% 20%, #fff3d6 0%, transparent 60%);
}
.scn-edgertons-discuss-case .edgerton-bg {
  position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(255,230,180,0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 30%, #b8956a 0%, transparent 70%);
  animation: e1-bg 12s ease-in-out infinite alternate;
}
.scn-edgertons-discuss-case .edgerton-window {
  position:absolute; top:8%; left:15%; width:30%; height:45%;
  background: linear-gradient(170deg, #fff8e7 0%, #ffe9b0 70%, #d4a76a 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,200,100,0.4);
  animation: e1-win 14s ease-in-out infinite alternate;
}
.scn-edgertons-discuss-case .edgerton-fig1 {
  position:absolute; bottom:28%; left:25%; width:20px; height:45px;
  background: linear-gradient(180deg, #2a2a1a 0%, #4a3a1a 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: e1-fig 3s ease-in-out infinite;
}
.scn-edgertons-discuss-case .edgerton-fig2 {
  position:absolute; bottom:28%; right:25%; width:22px; height:48px;
  background: linear-gradient(180deg, #1a1a0a 0%, #3a2a1a 100%);
  border-radius: 40% 50% 30% 30% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: e1-fig 3.5s ease-in-out infinite -0.5s;
}
.scn-edgertons-discuss-case .edgerton-desk {
  position:absolute; bottom:22%; left:20%; right:20%; height:8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a12 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: e1-desk 8s ease-in-out infinite alternate;
}
.scn-edgertons-discuss-case .edgerton-lamp {
  position:absolute; bottom:30%; left:38%; width:10px; height:10px;
  background: radial-gradient(circle, #ffd98c 0%, #e0a050 60%);
  border-radius:50%; box-shadow: 0 0 24px 8px rgba(255,200,80,0.5), 0 0 40px 16px rgba(255,200,80,0.2);
  animation: e1-lamp 1.2s ease-in-out infinite alternate;
}
.scn-edgertons-discuss-case .edgerton-papers {
  position:absolute; bottom:24%; left:42%; width:8px; height:10px;
  background: #f5f0e6; border-radius: 2px; transform: rotate(-15deg);
  box-shadow: 2px 2px 0 #ccc, 4px 4px 0 #ddd;
  animation: e1-pap 7s ease-in-out infinite alternate;
}
@keyframes e1-bg { 0% { opacity:0.95 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes e1-win { 0% { opacity:0.85; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.02) } 100% { opacity:0.9; transform: scaleY(0.98) } }
@keyframes e1-fig { 0% { transform: translate(0,0) rotate(-2deg) } 30% { transform: translate(3px,-1px) rotate(1deg) } 60% { transform: translate(-2px,-2px) rotate(-1deg) } 100% { transform: translate(0,0) rotate(2deg) } }
@keyframes e1-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes e1-lamp { 0% { transform: scale(1); opacity:0.8 } 25% { transform: scale(1.3); opacity:1 } 75% { transform: scale(1.1); opacity:0.9 } 100% { transform: scale(0.9); opacity:0.7 } }
@keyframes e1-pap { 0% { transform: rotate(-15deg) translate(0,0) } 50% { transform: rotate(-10deg) translate(2px,1px) } 100% { transform: rotate(-18deg) translate(-1px,-1px) } }

/* === narrator-comment-on-lawyers === */
.scn-narrator-comment-on-lawyers {
  background:
    linear-gradient(180deg, #1e1e2a 0%, #2a2a3e 40%, #3a3a4e 100%),
    radial-gradient(ellipse at 60% 20%, #4a4a6a 0%, transparent 70%);
}
.scn-narrator-comment-on-lawyers .narrator-bg {
  position:absolute; inset:0; background:
    linear-gradient(0deg, #151520 0%, transparent 30%);
  animation: n2-bg 20s ease-in-out infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-lamp {
  position:absolute; top:20%; left:50%; width:12px; height:12px;
  background: radial-gradient(circle, #eedd88 0%, #aa8844 70%);
  border-radius:50%; box-shadow: 0 0 30px 10px rgba(200,180,100,0.3), 0 0 60px 20px rgba(200,180,100,0.1);
  animation: n2-lamp 4s ease-in-out infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-books {
  position:absolute; top:10%; left:10%; width:50%; height:50%;
  background:
    linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 20%, #4a3a2a 40%, #1a1a0a 60%, #3a2a1a 80%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: n2-book 30s linear infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-desk {
  position:absolute; bottom:10%; left:15%; right:15%; height:20%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.4);
  animation: n2-desk 12s ease-in-out infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-chair {
  position:absolute; bottom:20%; left:70%; width:30px; height:35px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: n2-chair 8s ease-in-out infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-window {
  position:absolute; top:10%; right:10%; width:25%; height:40%;
  background: linear-gradient(170deg, #0a0a1a 0%, #1a1a3a 100%);
  border-radius: 4px; box-shadow: inset 0 0 15px #2a2a4a;
  animation: n2-win 15s ease-in-out infinite alternate;
}
.scn-narrator-comment-on-lawyers .narrator-dust {
  position:absolute; top:30%; left:40%; width:6px; height:6px;
  background: rgba(255,255,255,0.15); border-radius:50%; filter: blur(2px);
  animation: n2-dust 18s linear infinite;
}
@keyframes n2-bg { 0% { opacity:0.85 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes n2-lamp { 0% { transform: scale(1); opacity:0.7 } 50% { transform: scale(1.2); opacity:1 } 100% { transform: scale(0.95); opacity:0.8 } }
@keyframes n2-book { 0% { background-position: 0 0 } 100% { background-position: 50% 0 } }
@keyframes n2-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes n2-chair { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes n2-win { 0% { opacity:0.6 } 50% { opacity:0.8 } 100% { opacity:0.5 } }
@keyframes n2-dust { 0% { transform: translate(0,0) scale(1); opacity:0.6 } 25% { transform: translate(10px,-8px) scale(1.2); opacity:0.4 } 50% { transform: translate(-5px,-15px) scale(0.8); opacity:0.2 } 75% { transform: translate(8px,-20px) scale(1.1); opacity:0.3 } 100% { transform: translate(0,-30px) scale(1); opacity:0 } }

/* === summons-served-on-wells === */
.scn-summons-served-on-wells {
  background:
    linear-gradient(180deg, #d4c4a0 0%, #b8a888 40%, #8a7a5a 100%),
    radial-gradient(ellipse at 50% 30%, #e8dcc0 0%, transparent 70%);
}
.scn-summons-served-on-wells .summons-bg {
  position:absolute; inset:0; background:
    linear-gradient(0deg, #2a221a 0%, transparent 40%);
  animation: s3-bg 6s ease-in-out infinite alternate;
}
.scn-summons-served-on-wells .summons-desk {
  position:absolute; bottom:12%; left:10%; right:10%; height:15%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a301a 100%);
  border-radius: 6px; box-shadow: 0 6px 15px rgba(0,0,0,0.4);
  animation: s3-desk 10s ease-in-out infinite alternate;
}
.scn-summons-served-on-wells .summons-gavel {
  position:absolute; bottom:20%; left:20%; width:8px; height:20px;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 2px; transform: rotate(20deg);
  animation: s3-gavel 5s ease-in-out infinite alternate;
}
.scn-summons-served-on-wells .summons-hand {
  position:absolute; bottom:25%; right:30%; width:16px; height:30px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 30% 30% 30% / 40% 30% 30% 40%;
  transform-origin: bottom right;
  animation: s3-hand 2.5s ease-in-out infinite;
}
.scn-summons-served-on-wells .summons-paper {
  position:absolute; bottom:30%; right:35%; width:12px; height:16px;
  background: #f5f0e6; border-radius: 2px; transform: rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: s3-pap 4s ease-in-out infinite alternate;
}
.scn-summons-served-on-wells .summons-seal {
  position:absolute; bottom:33%; right:36%; width:5px; height:5px;
  background: radial-gradient(circle, #c8553d 0%, #a0461a 100%);
  border-radius:50%; box-shadow: 0 0 3px rgba(200,85,61,0.4);
  animation: s3-seal 8s ease-in-out infinite alternate;
}
.scn-summons-served-on-wells .summons-light {
  position:absolute; top:5%; left:45%; width:10%; height:8%;
  background: radial-gradient(ellipse, #fff0d0 0%, transparent 100%);
  opacity:0.6; mix-blend-mode: overlay;
  animation: s3-light 3s ease-in-out infinite alternate;
}
@keyframes s3-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes s3-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes s3-gavel { 0% { transform: rotate(20deg) } 50% { transform: rotate(25deg) translateY(-2px) } 100% { transform: rotate(15deg) } }
@keyframes s3-hand { 0% { transform: translate(0,0) rotate(0deg) } 30% { transform: translate(-5px, -3px) rotate(-5deg) } 60% { transform: translate(3px, -2px) rotate(3deg) } 100% { transform: translate(0,0) rotate(0deg) } }
@keyframes s3-pap { 0% { transform: rotate(5deg) translate(0,0) } 50% { transform: rotate(8deg) translate(1px,-1px) } 100% { transform: rotate(2deg) translate(-1px,1px) } }
@keyframes s3-seal { 0% { transform: scale(1) } 50% { transform: scale(1.2) } 100% { transform: scale(0.9) } }
@keyframes s3-light { 0% { opacity:0.4; transform: scale(1) } 50% { opacity:0.8; transform: scale(1.2) } 100% { opacity:0.5; transform: scale(0.9) } }

/* === tutt-office-tea-conversation === */
.scn-tutt-office-tea-conversation {
  background:
    linear-gradient(180deg, #e8dcc0 0%, #d4c4a0 50%, #b8a888 100%),
    radial-gradient(ellipse at 40% 40%, #fff8e7 0%, transparent 60%);
}
.scn-tutt-office-tea-conversation .tutt-bg {
  position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(255,240,200,0.2) 0%, transparent 50%);
  animation: t4-bg 16s ease-in-out infinite alternate;
}
.scn-tutt-office-tea-conversation .tutt-window {
  position:absolute; top:10%; left:12%; width:30%; height:50%;
  background: linear-gradient(170deg, #fffbe0 0%, #f5e6c8 70%, #d4b896 100%);
  border-radius: 6px; box-shadow: inset 0 0 30px rgba(255,220,150,0.3);
  animation: t4-win 18s ease-in-out infinite alternate;
}
.scn-tutt-office-tea-conversation .tutt-fig1 {
  position:absolute; bottom:25%; left:20%; width:22px; height:50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 40% 30% 30% / 60% 50% 40% 40%;
  transform-origin: bottom center;
  animation: t4-fig 6s ease-in-out infinite;
}
.scn-tutt-office-tea-conversation .tutt-fig2 {
  position:absolute; bottom:25%; right:18%; width:24px; height:52px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 50% 30% 30% / 50% 60% 40% 40%;
  transform-origin: bottom center;
  animation: t4-fig2 6.5s ease-in-out infinite -0.8s;
}
.scn-tutt-office-tea-conversation .tutt-table {
  position:absolute; bottom:20%; left:35%; right:35%; height:10%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a1a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: t4-table 12s ease-in-out infinite alternate;
}
.scn-tutt-office-tea-conversation .tutt-teacup1 {
  position:absolute; bottom:26%; left:38%; width:8px; height:10px;
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a888 100%);
  border-radius: 4px 4px 2px 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: t4-cup 7s ease-in-out infinite alternate;
}
.scn-tutt-office-tea-conversation .tutt-teacup2 {
  position:absolute; bottom:26%; right:38%; width:8px; height:10px;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89878 100%);
  border-radius: 4px 4px 2px 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: t4-cup 7.5s ease-in-out infinite -1s;
}
.scn-tutt-office-tea-conversation .tutt-steam {
  position:absolute; bottom:34%; left:39%; width:4px; height:8px;
  background: rgba(255,255,255,0.2); filter: blur(3px); border-radius: 50%;
  animation: t4-steam 4s ease-out infinite;
}
@keyframes t4-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes t4-win { 0% { opacity:0.85; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.02) } 100% { opacity:0.9; transform: scaleY(0.98) } }
@keyframes t4-fig { 0% { transform: rotate(0deg) } 25% { transform: rotate(2deg) translate(0,-1px) } 50% { transform: rotate(-1deg) translate(2px,0) } 75% { transform: rotate(1deg) translate(-1px,-2px) } 100% { transform: rotate(0deg) } }
@keyframes t4-fig2 { 0% { transform: rotate(0deg) } 25% { transform: rotate(-2deg) translate(0,-1px) } 50% { transform: rotate(1deg) translate(-2px,0) } 75% { transform: rotate(-1deg) translate(1px,-2px) } 100% { transform: rotate(0deg) } }
@keyframes t4-table { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes t4-cup { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) translateY(-1px) } 100% { transform: rotate(-2deg) } }
@keyframes t4-steam { 0% { transform: translate(0,0) scale(1); opacity:0.6 } 50% { transform: translate(3px,-10px) scale(1.5); opacity:0.3 } 100% { transform: translate(-2px,-20px) scale(2); opacity:0 } }

/* tony-fears-railroad */
.scn-tony-fears-railroad {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #d4c9b8 100%),
    radial-gradient(ellipse at 70% 30%, rgba(255,255,255,0.6) 0%, transparent 70%);
}
.scn-tony-fears-railroad .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8a894 0%, #9a8774 100%);
  border-radius: 0; box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-tony-fears-railroad .bench {
  position: absolute; bottom: 35%; left: 55%; width: 120px; height: 50px;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a3424 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-tony-fears-railroad .judge-sil {
  position: absolute; bottom: 42%; left: 57%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #3a3a2e 0%, #1e1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tf-judge 6s ease-in-out infinite;
}
.scn-tony-fears-railroad .tony-sil {
  position: absolute; bottom: 30%; left: 30%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2d2d24 0%, #14140e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tf-tony 2s ease-in-out infinite;
}
.scn-tony-fears-railroad .lawyer-sil {
  position: absolute; bottom: 30%; left: 42%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #353528 0%, #1a1a10 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: tf-lawyer 4s ease-in-out infinite;
}
.scn-tony-fears-railroad .gavel {
  position: absolute; bottom: 48%; left: 62%; width: 12px; height: 8px;
  background: #5e4030;
  border-radius: 2px; transform-origin: center;
  animation: tf-gavel 1.5s ease-in-out infinite;
}
.scn-tony-fears-railroad .window {
  position: absolute; top: 10%; left: 10%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #e0e8f0 0%, #b0c0d0 100%);
  border: 6px solid #6b4f3a; border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.6);
  animation: tf-window 8s ease-in-out infinite alternate;
}
@keyframes tf-judge {
  0% { transform: rotate(0deg); }
  33% { transform: rotate(3deg); }
  66% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes tf-tony {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(1px) translateY(-1px) rotate(2deg); }
  60% { transform: translateX(-1px) translateY(0) rotate(-2deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes tf-lawyer {
  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 tf-gavel {
  0% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(1.1) rotate(10deg); }
  50% { transform: scale(0.95) rotate(-5deg); }
  75% { transform: scale(1.05) rotate(5deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes tf-window {
  0% { opacity: 0.8; box-shadow: inset 0 0 20px rgba(255,255,240,0.6); }
  50% { opacity: 1; box-shadow: inset 0 0 35px rgba(255,255,240,0.8); }
  100% { opacity: 0.7; box-shadow: inset 0 0 15px rgba(255,255,240,0.4); }
}

/* bail-set */
.scn-bail-set {
  background:
    linear-gradient(180deg, #e8e4da 0%, #c8c0b2 100%),
    radial-gradient(ellipse at 50% 80%, rgba(255,255,240,0.5) 0%, transparent 60%);
}
.scn-bail-set .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background: linear-gradient(180deg, #a89884 0%, #8a7a66 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}
.scn-bail-set .bench {
  position: absolute; bottom: 32%; left: 55%; width: 130px; height: 55px;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a3424 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-bail-set .judge-sil {
  position: absolute; bottom: 40%; left: 58%; width: 38px; height: 68px;
  background: linear-gradient(180deg, #3a3a2e 0%, #1e1e14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: bs-judge 5s ease-in-out infinite;
}
.scn-bail-set .tutt-sil {
  position: absolute; bottom: 30%; left: 35%; width: 30px; height: 62px;
  background: linear-gradient(180deg, #353528 0%, #1a1a10 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: bs-tutt 3s ease-in-out infinite;
}
.scn-bail-set .officer-sil {
  position: absolute; bottom: 30%; left: 48%; width: 32px; height: 64px;
  background: linear-gradient(180deg, #2d2d24 0%, #14140e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: bs-officer 4s ease-in-out infinite;
}
.scn-bail-set .table {
  position: absolute; bottom: 24%; left: 20%; width: 80px; height: 20px;
  background: linear-gradient(180deg, #6b4f3a 0%, #4a3424 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.scn-bail-set .document {
  position: absolute; bottom: 26%; left: 30%; width: 24px; height: 16px;
  background: #f0ece4;
  border-radius: 1px; box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  animation: bs-document 2s ease-in-out infinite;
}
@keyframes bs-judge {
  0% { transform: rotate(0deg); }
  33% { transform: rotate(2deg); }
  66% { transform: rotate(-1deg); }
  100% { transform: rotate(0deg); }
}
@keyframes bs-tutt {
  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 bs-officer {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(1px) rotate(2deg); }
  60% { transform: translateX(-1px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes bs-document {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  25% { transform: translateY(-3px) rotate(5deg); opacity: 0.8; }
  50% { transform: translateY(0) rotate(0deg); opacity: 1; }
  75% { transform: translateY(-2px) rotate(-5deg); opacity: 0.9; }
  100% { transform: translateY(0) rotate(0deg); opacity: 1; }
}

/* tutt-discusses-shyster */
.scn-tutt-discusses-shyster {
  background:
    linear-gradient(180deg, #2a241e 0%, #1a1410 100%),
    radial-gradient(ellipse at 40% 60%, rgba(255,200,100,0.15) 0%, transparent 70%);
}
.scn-tutt-discusses-shyster .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a302a 0%, #2a221c 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-tutt-discusses-shyster .desk {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 18px;
  background: linear-gradient(180deg, #5e4430 0%, #3a2a1c 100%);
  transform: translateX(-50%);
  border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.scn-tutt-discusses-shyster .tutt1-sil {
  position: absolute; bottom: 28%; left: 40%; width: 32px; height: 65px;
  background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: td-tutt1 4s ease-in-out infinite;
}
.scn-tutt-discusses-shyster .tutt2-sil {
  position: absolute; bottom: 28%; left: 55%; width: 30px; height: 62px;
  background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: td-tutt2 3.5s ease-in-out infinite;
}
.scn-tutt-discusses-shyster .lamp {
  position: absolute; top: 20%; left: 45%; width: 24px; height: 30px;
  background: radial-gradient(circle at 50% 0%, #f0c860 0%, #c09040 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 10px rgba(240,200,100,0.3);
  animation: td-lamp 6s ease-in-out infinite alternate;
}
.scn-tutt-discusses-shyster .stogy {
  position: absolute; bottom: 30%; left: 46%; width: 16px; height: 6px;
  background: #7a5a3a;
  border-radius: 60% 60% 20% 20% / 80% 80% 30% 30%;
  animation: td-stogy 2s ease-in-out infinite;
}
.scn-tutt-discusses-shyster .smoke {
  position: absolute; bottom: 35%; left: 46%; width: 10px; height: 10px;
  background: rgba(200,180,160,0.3);
  border-radius: 50%;
  filter: blur(4px);
  animation: td-smoke 5s linear infinite;
}
@keyframes td-tutt1 {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(5deg) translateY(-2px); }
  50% { transform: rotate(-2deg) translateY(0); }
  75% { transform: rotate(3deg) translateY(-1px); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes td-tutt2 {
  0% { transform: rotate(0) translateY(0); }
  20% { transform: rotate(-4deg) translateY(-1px); }
  40% { transform: rotate(2deg) translateY(0); }
  60% { transform: rotate(-1deg) translateY(-2px); }
  80% { transform: rotate(3deg) translateY(0); }
  100% { transform: rotate(0) translateY(0); }
}
@keyframes td-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 30px 8px rgba(240,200,100,0.25); }
  50% { opacity: 1; box-shadow: 0 0 50px 15px rgba(240,200,100,0.4); }
  100% { opacity: 0.75; box-shadow: 0 0 25px 6px rgba(240,200,100,0.2); }
}
@keyframes td-stogy {
  0% { transform: translateY(0) scale(1); }
  33% { transform: translateY(-1px) scale(0.95); }
  66% { transform: translateY(0) scale(1.05); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes td-smoke {
  0% { transform: translateY(0) scale(1); opacity: 0.5; }
  50% { transform: translateY(-20px) scale(2); opacity: 0.2; }
  100% { transform: translateY(-40px) scale(3); opacity: 0; }
}

/* definition-of-shyster */
.scn-definition-of-shyster {
  background:
    linear-gradient(180deg, #2a241e 0%, #1a1410 100%),
    radial-gradient(ellipse at 60% 50%, rgba(255,200,100,0.1) 0%, transparent 70%);
}
.scn-definition-of-shyster .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a302a 0%, #2a221c 100%);
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.5);
}
.scn-definition-of-shyster .desk {
  position: absolute; bottom: 20%; left: 50%; width: 120px; height: 18px;
  background: linear-gradient(180deg, #5e4430 0%, #3a2a1c 100%);
  transform: translateX(-50%);
  border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.scn-definition-of-shyster .tutt1-sil {
  position: absolute; bottom: 28%; left: 38%; width: 32px; height: 65px;
  background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: ds-tutt1 4s ease-in-out infinite;
}
.scn-definition-of-shyster .tutt2-sil {
  position: absolute; bottom: 28%; left: 55%; width: 30px; height: 62px;
  background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: ds-tutt2 3s ease-in-out infinite;
}
.scn-definition-of-shyster .book {
  position: absolute; bottom: 32%; left: 42%; width: 22px; height: 14px;
  background: #c8b090;
  border-radius: 2px; transform-origin: left center;
  animation: ds-book 6s ease-in-out infinite;
}
.scn-definition-of-shyster .lamp {
  position: absolute; top: 18%; left: 55%; width: 24px; height: 30px;
  background: radial-gradient(circle at 50% 0%, #f0c860 0%, #c09040 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 10px rgba(240,200,100,0.3);
  animation: ds-lamp 6s ease-in-out infinite alternate;
}
.scn-definition-of-shyster .confused-hand {
  position: absolute; bottom: 38%; left: 58%; width: 10px; height: 14px;
  background: #2a221c;
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ds-hand 2s ease-in-out infinite;
}
@keyframes ds-tutt1 {
  0% { transform: rotate(0deg) translateY(0); }
  30% { transform: rotate(6deg) translateY(-2px); }
  60% { transform: rotate(-3deg) translateY(0); }
  100% { transform: rotate(0deg) translateY(0); }
}
@keyframes ds-tutt2 {
  0% { transform: rotate(0) translateY(0); }
  20% { transform: rotate(-6deg) translateY(-1px); }
  40% { transform: rotate(4deg) translateY(0); }
  60% { transform: rotate(-2deg) translateY(-2px); }
  80% { transform: rotate(5deg) translateY(0); }
  100% { transform: rotate(0) translateY(0); }
}
@keyframes ds-book {
  0% { transform: rotate(0deg) scale(1); }
  33% { transform: rotate(15deg) scale(0.9); }
  66% { transform: rotate(-10deg) scale(1.05); }
  100% { transform: rotate(0deg) scale(1); }
}
@keyframes ds-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 30px 8px rgba(240,200,100,0.25); }
  50% { opacity: 1; box-shadow: 0 0 50px 15px rgba(240,200,100,0.4); }
  100% { opacity: 0.75; box-shadow: 0 0 25px 6px rgba(240,200,100,0.2); }
}
@keyframes ds-hand {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(30deg) translateY(-3px); }
  50% { transform: rotate(-10deg) translateY(0); }
  75% { transform: rotate(20deg) translateY(-2px); }
  100% { transform: rotate(0deg) translateY(0); }
}

/* Scene 1: tutt-hears-of-arrest — tense, dim interior, green baize table, figure arriving home */
.scn-tutt-hears-of-arrest {
  background:
    radial-gradient(ellipse at 50% 60%, #3a2a1a 0%, #1a1410 60%, #0e0c0a 100%),
    linear-gradient(180deg, #1a1410 0%, #2a1e14 40%, #1a1410 100%);
}
.scn-tutt-hears-of-arrest .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #2a1e14 0%, #3a2a1a 40%, #1a1410 100%);
  animation: thoa-wall 20s ease-in-out infinite alternate;
}
.scn-tutt-hears-of-arrest .window-night {
  position: absolute; top: 8%; right: 12%; width: 22%; height: 30%;
  background: linear-gradient(180deg, #0a0e1a 0%, #1a1a2e 60%, #0e1218 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 20px rgba(200,180,120,0.08);
  animation: thoa-night 12s ease-in-out infinite alternate;
}
.scn-tutt-hears-of-arrest .curtain-left {
  position: absolute; top: 6%; right: 32%; width: 8%; height: 34%;
  background: linear-gradient(135deg, #2a1e18 0%, #3a2a22 50%, #1e1612 100%);
  border-radius: 0 40% 40% 0 / 0 60% 60% 0;
  transform-origin: right center;
  animation: thoa-curtain 14s ease-in-out infinite alternate;
}
.scn-tutt-hears-of-arrest .curtain-right {
  position: absolute; top: 6%; right: 8%; width: 8%; height: 34%;
  background: linear-gradient(225deg, #2a1e18 0%, #3a2a22 50%, #1e1612 100%);
  border-radius: 40% 0 0 40% / 60% 0 0 60%;
  transform-origin: left center;
  animation: thoa-curtain 14s ease-in-out infinite alternate-reverse;
}
.scn-tutt-hears-of-arrest .table-felt {
  position: absolute; bottom: 20%; left: 15%; width: 70%; height: 14%;
  background:
    radial-gradient(ellipse at 50% 40%, #3a4a3a 0%, #2a3a2a 60%, #1a2a1a 100%),
    linear-gradient(180deg, #4a5a4a 0%, #3a4a3a 50%, #2a3a2a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.6), inset 0 2px 4px rgba(200,220,180,0.1);
  animation: thoa-table 18s ease-in-out infinite alternate;
}
.scn-tutt-hears-of-arrest .lamp-glow {
  position: absolute; bottom: 34%; left: 38%; width: 14px; height: 18px;
  background: radial-gradient(circle, #e8c060 0%, #c89040 60%, #a07030 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 8px rgba(200,140,60,0.5), 0 0 60px 16px rgba(200,140,60,0.2);
  animation: thoa-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-hears-of-arrest .figure-tutt {
  position: absolute; bottom: 20%; left: 42%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #1a1614 0%, #0e0c0a 60%, #0a0806 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: thoa-figure 6s ease-in-out infinite;
}
.scn-tutt-hears-of-arrest .floor-planks {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background:
    linear-gradient(90deg, #1a1410 0%, #2a1e14 25%, #1a1410 50%, #2a1e14 75%, #1a1410 100%),
    linear-gradient(180deg, #2a1e14 0%, #1a1410 100%);
  background-size: 8% 100%, 100% 100%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,0.4);
  animation: thoa-floor 15s ease-in-out infinite alternate;
}
@keyframes thoa-wall     { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes thoa-night    { 0% { opacity: 0.6; filter: brightness(0.8); } 50% { opacity: 1; filter: brightness(1); } 100% { opacity: 0.7; filter: brightness(0.9); } }
@keyframes thoa-curtain  { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.92); } 100% { transform: scaleX(1.04); } }
@keyframes thoa-table    { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes thoa-lamp     { 0% { box-shadow: 0 0 20px 4px rgba(200,140,60,0.3), 0 0 40px 8px rgba(200,140,60,0.1); opacity: 0.8; } 50% { box-shadow: 0 0 40px 12px rgba(200,140,60,0.6), 0 0 80px 20px rgba(200,140,60,0.25); opacity: 1; } 100% { box-shadow: 0 0 25px 6px rgba(200,140,60,0.35), 0 0 48px 10px rgba(200,140,60,0.15); opacity: 0.85; } }
@keyframes thoa-figure   { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(8px) rotate(-1deg); } 75% { transform: translateX(4px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes thoa-floor    { 0% { background-position: 0 0, 0 0; } 100% { background-position: 4% 0, 0 0; } }

/* Scene 2: tutt-visits-da — tense, bright interior, DA office confrontation */
.scn-tutt-visits-da {
  background:
    radial-gradient(ellipse at 70% 30%, #f0e8d0 0%, #c8b898 60%, #a09070 100%),
    linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 50%, #b8a888 100%);
}
.scn-tutt-visits-da .wall-bright {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8dcc0 0%, #d8c8a8 50%, #c8b898 100%);
  box-shadow: inset 0 0 40px rgba(200,180,140,0.3);
  animation: tvda-wall 15s ease-in-out infinite alternate;
}
.scn-tutt-visits-da .window-sun {
  position: absolute; top: 6%; left: 60%; width: 28%; height: 36%;
  background:
    radial-gradient(ellipse at 50% 30%, #e8e0c8 0%, #d0c8a0 60%, #b8a880 100%),
    linear-gradient(180deg, #f0e8d0 0%, #d8c8a0 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(200,180,120,0.2), 0 0 40px rgba(240,220,160,0.15);
  animation: tvda-sun 20s ease-in-out infinite alternate;
}
.scn-tutt-visits-da .desk-wide {
  position: absolute; bottom: 28%; left: 18%; width: 64%; height: 10%;
  background: linear-gradient(180deg, #6a5a48 0%, #5a4a38 50%, #4a3a28 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3), inset 0 2px 4px rgba(200,180,120,0.15);
  animation: tvda-desk 20s ease-in-out infinite alternate;
}
.scn-tutt-visits-da .figure-left {
  position: absolute; bottom: 22%; left: 28%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #2e2620 0%, #1e1610 60%, #12100a 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: tvda-figure-l 8s ease-in-out infinite;
}
.scn-tutt-visits-da .figure-right {
  position: absolute; bottom: 22%; right: 28%; width: 24px; height: 46px;
  background: linear-gradient(180deg, #3a322a 0%, #2a221a 60%, #1a1410 100%);
  border-radius: 48% 48% 42% 42% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: tvda-figure-r 9s ease-in-out infinite;
}
.scn-tutt-visits-da .floor-tile {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background:
    linear-gradient(90deg, #b8a880 0%, #a89878 25%, #b8a880 50%, #a89878 75%, #b8a880 100%),
    linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  background-size: 10% 100%, 100% 100%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: tvda-floor 18s ease-in-out infinite alternate;
}
.scn-tutt-visits-da .light-shaft {
  position: absolute; top: 6%; left: 62%; width: 24%; height: 60%;
  background: linear-gradient(180deg, rgba(240,230,180,0.15) 0%, rgba(240,230,180,0.05) 40%, transparent 100%);
  transform-origin: top center;
  animation: tvda-shaft 10s ease-in-out infinite alternate;
}
@keyframes tvda-wall    { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes tvda-sun     { 0% { opacity: 0.85; filter: brightness(0.9); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: 0.9; filter: brightness(0.95); } }
@keyframes tvda-desk    { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes tvda-figure-l { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(10px) rotate(-2deg); } 75% { transform: translateX(5px) rotate(0deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes tvda-figure-r { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-4px) rotate(-1deg); } 50% { transform: translateX(-8px) rotate(2deg); } 75% { transform: translateX(-4px) rotate(0deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes tvda-floor   { 0% { background-position: 0 0, 0 0; } 100% { background-position: 3% 0, 0 0; } }
@keyframes tvda-shaft   { 0% { transform: skewX(-2deg); opacity: 0.5; } 50% { transform: skewX(0deg); opacity: 1; } 100% { transform: skewX(2deg); opacity: 0.6; } }

/* Scene 3: narrator-reflection-on-law — calm, dim interior, figure reflecting on law and Danny Lowry */
.scn-narrator-reflection-on-law {
  background:
    radial-gradient(ellipse at 50% 40%, #2a2a38 0%, #1a1a2a 50%, #0e0e1a 100%),
    linear-gradient(180deg, #1a1a2a 0%, #2a2a38 40%, #1a1a2a 100%);
}
.scn-narrator-reflection-on-law .wall-dim {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #1e1e2e 0%, #2a2a3a 40%, #1a1a2a 100%);
  animation: nrol-wall 25s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-law .window-night {
  position: absolute; top: 8%; left: 10%; width: 24%; height: 32%;
  background: linear-gradient(180deg, #0a0e1a 0%, #12162a 60%, #0e1218 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(100,120,180,0.06);
  animation: nrol-night 16s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-law .desk-narrow {
  position: absolute; bottom: 22%; left: 20%; width: 60%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 50%, #2a1a0e 100%);
  border-radius: 3% 3% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5), inset 0 2px 4px rgba(200,160,100,0.1);
  animation: nrol-desk 20s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-law .lamp-low {
  position: absolute; bottom: 36%; left: 28%; width: 16px; height: 20px;
  background: radial-gradient(circle, #d0b060 0%, #b09040 50%, #907030 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 6px rgba(180,140,60,0.3), 0 0 60px 12px rgba(180,140,60,0.12);
  animation: nrol-lamp 5s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-law .figure-seated {
  position: absolute; bottom: 18%; left: 40%; width: 22px; height: 38px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 60%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: nrol-figure 8s ease-in-out infinite;
}
.scn-narrator-reflection-on-law .books-stack {
  position: absolute; bottom: 26%; left: 24%; width: 30px; height: 18px;
  background: linear-gradient(180deg, #5a3a2a 0%, #4a2a1a 40%, #3a1a0e 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
  animation: nrol-books 22s ease-in-out infinite alternate;
}
.scn-narrator-reflection-on-law .paper-scroll {
  position: absolute; bottom: 28%; left: 34%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #c8b880 0%, #b8a870 50%, #a89860 100%);
  border-radius: 10% 10% 20% 20%;
  transform-origin: top center;
  animation: nrol-paper 12s ease-in-out infinite alternate;
}
@keyframes nrol-wall   { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes nrol-night  { 0% { opacity: 0.5; filter: brightness(0.7); } 50% { opacity: 0.9; filter: brightness(1); } 100% { opacity: 0.6; filter: brightness(0.8); } }
@keyframes nrol-desk   { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes nrol-lamp   { 0% { box-shadow: 0 0 20px 4px rgba(180,140,60,0.2), 0 0 40px 8px rgba(180,140,60,0.08); opacity: 0.8; } 50% { box-shadow: 0 0 40px 10px rgba(180,140,60,0.45), 0 0 80px 18px rgba(180,140,60,0.18); opacity: 1; } 100% { box-shadow: 0 0 25px 6px rgba(180,140,60,0.25), 0 0 48px 10px rgba(180,140,60,0.1); opacity: 0.85; } }
@keyframes nrol-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(2px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes nrol-books  { 0% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-2px) scaleX(0.98); } 100% { transform: translateY(0) scaleX(1); } }
@keyframes nrol-paper  { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(0.95); } 100% { transform: rotate(0deg) scaleY(1); } }

/* Scene 4: bently-gibson-introduction — calm, bright interior, courtroom juror figure */
.scn-bently-gibson-introduction {
  background:
    radial-gradient(ellipse at 50% 30%, #e8e0c8 0%, #c8c0a8 50%, #a8a088 100%),
    linear-gradient(180deg, #e8e0c8 0%, #d0c8b0 50%, #b8b098 100%);
}
.scn-bently-gibson-introduction .wall-court {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #d8d0b8 0%, #c8c0a8 50%, #b8b098 100%);
  box-shadow: inset 0 0 40px rgba(180,160,120,0.2);
  animation: bgi-wall 20s ease-in-out infinite alternate;
}
.scn-bently-gibson-introduction .window-high {
  position: absolute; top: 4%; right: 8%; width: 30%; height: 40%;
  background:
    radial-gradient(ellipse at 50% 40%, #f0e8d0 0%, #d8d0b0 60%, #c0b890 100%),
    linear-gradient(180deg, #f0e8d0 0%, #d8d0b0 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(200,180,120,0.15), 0 0 50px rgba(240,220,160,0.1);
  animation: bgi-window 18s ease-in-out infinite alternate;
}
.scn-bently-gibson-introduction .bench-jury {
  position: absolute; bottom: 28%; left: 10%; width: 80%; height: 12%;
  background:
    linear-gradient(180deg, #6a5a48 0%, #5a4a38 50%, #4a3a28 100%);
  border-radius: 3% 3% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25), inset 0 2px 6px rgba(200,180,120,0.1);
  animation: bgi-bench 22s ease-in-out infinite alternate;
}
.scn-bently-gibson-introduction .figure-juror {
  position: absolute; bottom: 22%; left: 42%; width: 26px; height: 48px;
  background: linear-gradient(180deg, #3a3228 0%, #2a2218 50%, #1a1410 100%);
  border-radius: 48% 48% 42% 42% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: bgi-juror 10s ease-in-out infinite;
}
.scn-bently-gibson-introduction .railing-wood {
  position: absolute; bottom: 32%; left: 8%; width: 84%; height: 4%;
  background: linear-gradient(180deg, #5a4a38 0%, #4a3a28 50%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: bgi-rail 25s ease-in-out infinite alternate;
}
.scn-bently-gibson-introduction .floor-oak {
  position: absolute; bottom: 0; left: 0; right: 0; height: 28%;
  background:
    linear-gradient(90deg, #b8a880 0%, #a89878 30%, #b8a880 60%, #a89878 100%),
    linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  background-size: 8% 100%, 100% 100%;
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.15);
  animation: bgi-floor 20s ease-in-out infinite alternate;
}
@keyframes bgi-wall   { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes bgi-window { 0% { opacity: 0.85; filter: brightness(0.9); } 50% { opacity: 1; filter: brightness(1.1); } 100% { opacity: 0.9; filter: brightness(0.95); } }
@keyframes bgi-bench  { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes bgi-juror  { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(3px) rotate(0deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bgi-rail   { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes bgi-floor  { 0% { background-position: 0 0, 0 0; } 100% { background-position: 3% 0, 0 0; } }

/* armenian-pawnbroker */
.scn-armenian-pawnbroker {
  background: 
    linear-gradient(180deg, #f7e3b0 0%, #d4a856 40%, #b58a3a 100%),
    radial-gradient(ellipse at 50% 20%, #ffefc0 0%, transparent 70%);
}
.scn-armenian-pawnbroker .shop-bg { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #c4943a 0%, #e0b860 50%, #c4943a 100%); border-radius: 0 0 20% 20% / 0 0 40px 40px; animation: ap-shop 15s ease-in-out infinite alternate; }
.scn-armenian-pawnbroker .counter { position:absolute; bottom:20%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #5a3a1a, #2a1a0a); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,0.5); transform: perspective(400px) rotateX(10deg); animation: ap-counter 8s ease-in-out infinite; }
.scn-armenian-pawnbroker .pawnbroker { position:absolute; bottom:28%; left:30%; width:14%; height:30%; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-pawn-walk 4s ease-in-out infinite; }
.scn-armenian-pawnbroker .customer { position:absolute; bottom:28%; right:30%; width:12%; height:28%; background: linear-gradient(180deg, #3a2a1a, #1a0a0a); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ap-cus-nod 3s ease-in-out infinite alternate; }
.scn-armenian-pawnbroker .brass-bed { position:absolute; bottom:15%; left:45%; width:30%; height:18%; background: radial-gradient(ellipse at 50% 30%, #c8943a 0%, #8a6820 70%, #4a3010 100%); border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%; box-shadow: 0 6px 12px rgba(0,0,0,0.3); animation: ap-bed-wobble 6s ease-in-out infinite; }
.scn-armenian-pawnbroker .lamp { position:absolute; top:8%; left:42%; width:4%; height:6%; background: radial-gradient(circle, #ffd080 0%, #e8a040 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,0.3); animation: ap-lamp-flicker 2s ease-in-out infinite alternate; }
.scn-armenian-pawnbroker .shadow { position:absolute; bottom:16%; left:20%; right:20%; height:8%; background: linear-gradient(180deg, rgba(40,20,0,0.5), transparent 80%); border-radius: 50%; animation: ap-shadow 12s ease-in-out infinite; }

@keyframes ap-shop { 0% { background-position: 0% 0%; } 50% { background-position: 10% 10%; } 100% { background-position: 0% 0%; } }
@keyframes ap-counter { 0% { transform: perspective(400px) rotateX(10deg) translateY(0); } 50% { transform: perspective(400px) rotateX(10deg) translateY(-2px); } 100% { transform: perspective(400px) rotateX(10deg) translateY(0); } }
@keyframes ap-pawn-walk { 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 ap-cus-nod { 0% { transform: rotate(0deg); } 50% { transform: rotate(4deg); } 100% { transform: rotate(0deg); } }
@keyframes ap-bed-wobble { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(2deg) translateY(-2px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes ap-lamp-flicker { 0% { opacity:0.6; box-shadow: 0 0 20px 6px #ffd080, 0 0 40px 12px rgba(255,208,128,0.2); } 50% { opacity:1; box-shadow: 0 0 40px 14px #ffd080, 0 0 80px 24px rgba(255,208,128,0.4); } 100% { opacity:0.7; box-shadow: 0 0 25px 8px #ffd080, 0 0 50px 16px rgba(255,208,128,0.3); } }
@keyframes ap-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* bed-taken-away */
.scn-bed-taken-away {
  background: 
    linear-gradient(180deg, #f0d890 0%, #ccaa60 40%, #a08040 100%),
    radial-gradient(ellipse at 60% 30%, #fceab0 0%, transparent 70%);
}
.scn-bed-taken-away .doorway { position:absolute; bottom:0; left:10%; right:10%; top:20%; background: linear-gradient(180deg, #8a6a3a 0%, #4a2a0a 100%); border-radius: 30% 30% 0 0 / 100px 100px 0 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.5); animation: bt-doorway 10s ease-in-out infinite; }
.scn-bed-taken-away .yusuf { position:absolute; bottom:25%; left:15%; width:10%; height:20%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bt-yusuf 3s ease-in-out infinite; }
.scn-bed-taken-away .bed { position:absolute; bottom:22%; left:50%; width:35%; height:12%; background: linear-gradient(180deg, #c8943a 0%, #8a6820 100%); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: bt-bed-move 8s ease-in-out infinite; }
.scn-bed-taken-away .pawnbroker { position:absolute; bottom:20%; left:52%; width:8%; height:18%; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bt-pawn-bounce 5s ease-in-out infinite; }
.scn-bed-taken-away .helper { position:absolute; bottom:20%; left:68%; width:8%; height:18%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bt-helper-bounce 5s ease-in-out infinite 0.5s; }
.scn-bed-taken-away .street { position:absolute; bottom:15%; left:0; right:0; height:50%; background: linear-gradient(180deg, #a08050 0%, #7a6030 100%); border-radius: 20% 20% 0 0; animation: bt-street 12s ease-in-out infinite; }
.scn-bed-taken-away .shadow-bed { position:absolute; bottom:18%; left:45%; width:45%; height:4%; background: rgba(40,20,0,0.3); border-radius: 50%; animation: bt-shadow 6s ease-in-out infinite; }

@keyframes bt-doorway { 0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(1); } }
@keyframes bt-yusuf { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(-3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bt-bed-move { 0% { transform: translateX(-10%) rotate(0deg); } 50% { transform: translateX(10%) rotate(1deg); } 100% { transform: translateX(-10%) rotate(0deg); } }
@keyframes bt-pawn-bounce { 0% { transform: translateY(0); } 25% { transform: translateY(-3px); } 50% { transform: translateY(0); } 75% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bt-helper-bounce { 0% { transform: translateY(0); } 25% { transform: translateY(-3px); } 50% { transform: translateY(0); } 75% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bt-street { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes bt-shadow { 0% { opacity: 0.3; transform: scaleX(1); } 50% { opacity: 0.5; transform: scaleX(1.1); } 100% { opacity: 0.3; transform: scaleX(1); } }

/* massacre-yarn-end */
.scn-massacre-yarn-end {
  background: 
    linear-gradient(180deg, #d4a856 0%, #b58a3a 40%, #8a6820 100%),
    radial-gradient(ellipse at 50% 50%, #f0d890 0%, transparent 70%);
}
.scn-massacre-yarn-end .room-bg { position:absolute; inset:0; background: linear-gradient(90deg, #8a6a3a 0%, #a08050 50%, #8a6a3a 100%); animation: my-room 10s ease-in-out infinite; }
.scn-massacre-yarn-end .pile-base { position:absolute; bottom:20%; left:30%; right:30%; height:30%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: my-pile 4s ease-in-out infinite; }
.scn-massacre-yarn-end .pile-mid { position:absolute; bottom:30%; left:35%; right:35%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: my-pile 4s ease-in-out infinite 0.5s; }
.scn-massacre-yarn-end .pile-top { position:absolute; bottom:40%; left:40%; right:40%; height:20%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: my-pile 4s ease-in-out infinite 1s; }
.scn-massacre-yarn-end .arm-left { position:absolute; bottom:35%; left:20%; width:6%; height:15%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: my-arm-left 3s ease-in-out infinite; }
.scn-massacre-yarn-end .arm-right { position:absolute; bottom:35%; right:20%; width:6%; height:15%; background: linear-gradient(180deg, #1a0a0a 0%, #0a0000 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: my-arm-right 3s ease-in-out infinite 1s; }
.scn-massacre-yarn-end .hat { position:absolute; top:20%; left:40%; width:10%; height:8%; background: radial-gradient(ellipse, #5a3a1a 0%, #3a1a0a 100%); border-radius: 50%; animation: my-hat 5s ease-in-out infinite; }
.scn-massacre-yarn-end .shadow { position:absolute; bottom:10%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, rgba(40,20,0,0.4), transparent); border-radius: 50%; animation: my-shadow 8s ease-in-out infinite; }

@keyframes my-room { 0% { filter: contrast(1); } 50% { filter: contrast(1.1); } 100% { filter: contrast(1); } }
@keyframes my-pile { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes my-arm-left { 0% { transform: rotate(0deg); } 50% { transform: rotate(-30deg); } 100% { transform: rotate(0deg); } }
@keyframes my-arm-right { 0% { transform: rotate(0deg); } 50% { transform: rotate(30deg); } 100% { transform: rotate(0deg); } }
@keyframes my-hat { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-10px) rotate(-10deg); } 50% { transform: translateY(-5px) rotate(5deg); } 75% { transform: translateY(-10px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes my-shadow { 0% { opacity: 0.2; } 50% { opacity: 0.4; } 100% { opacity: 0.2; } }

/* willie-announces-murder */
.scn-willie-announces-murder {
  background: 
    linear-gradient(180deg, #d4c8a0 0%, #b8a880 40%, #8a7a5a 100%),
    radial-gradient(ellipse at 50% 30%, #f0e0b0 0%, transparent 70%);
}
.scn-willie-announces-murder .room { position:absolute; inset:0; background: linear-gradient(90deg, #a09070 0%, #c0b090 50%, #a09070 100%); animation: wm-room 8s ease-in-out infinite; }
.scn-willie-announces-murder .door { position:absolute; bottom:0; left:8%; right:12%; top:10%; background: linear-gradient(180deg, #6a5a3a 0%, #4a3a1a 100%); border-radius: 0 0 10% 10% / 0 0 20px 20px; box-shadow: -5px 0 15px rgba(0,0,0,0.5); transform-origin: right center; animation: wm-door 2s ease-in-out infinite; }
.scn-willie-announces-murder .willie { position:absolute; bottom:22%; left:15%; width:12%; height:25%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wm-willie 3s ease-in-out infinite alternate; }
.scn-willie-announces-murder .tutt { position:absolute; bottom:22%; right:25%; width:14%; height:22%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wm-tutt 5s ease-in-out infinite; }
.scn-willie-announces-murder .lamp { position:absolute; top:12%; left:45%; width:5%; height:8%; background: radial-gradient(circle, #ffe0a0 0%, #d4a040 60%, transparent 80%); border-radius: 50%; box-shadow: 0 0 40px 12px #ffe0a0, 0 0 80px 24px rgba(255,224,160,0.3); animation: wm-lamp 3s ease-in-out infinite alternate; }
.scn-willie-announces-murder .table { position:absolute; bottom:16%; left:35%; right:35%; height:10%; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a0a 100%); border-radius: 4px; transform: perspective(400px) rotateX(10deg); animation: wm-table 10s ease-in-out infinite; }
.scn-willie-announces-murder .shadow-willie { position:absolute; bottom:5%; left:10%; width:20%; height:10%; background: rgba(40,20,0,0.3); border-radius: 50%; filter: blur(4px); animation: wm-shadow 4s ease-in-out infinite alternate; }

@keyframes wm-room { 0% { filter: brightness(1); } 50% { filter: brightness(1.05); } 100% { filter: brightness(1); } }
@keyframes wm-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-15deg); } 100% { transform: rotateY(0deg); } }
@keyframes wm-willie { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes wm-tutt { 0% { transform: translateY(0); } 25% { transform: translateY(-3px); } 50% { transform: translateY(0); } 75% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wm-lamp { 0% { box-shadow: 0 0 30px 10px #ffe0a0, 0 0 60px 20px rgba(255,224,160,0.2); opacity:0.8; } 50% { box-shadow: 0 0 50px 16px #ffe0a0, 0 0 100px 32px rgba(255,224,160,0.4); opacity:1; } 100% { box-shadow: 0 0 35px 12px #ffe0a0, 0 0 70px 24px rgba(255,224,160,0.3); opacity:0.9; } }
@keyframes wm-table { 0% { transform: perspective(400px) rotateX(10deg) scaleY(1); } 50% { transform: perspective(400px) rotateX(10deg) scaleY(0.98); } 100% { transform: perspective(400px) rotateX(10deg) scaleY(1); } }
@keyframes wm-shadow { 0% { opacity: 0.2; transform: scaleX(1); } 100% { opacity: 0.4; transform: scaleX(1.2); } }

.scn-audience-altercation {
  background: linear-gradient(180deg, #ecd4b0 0%, #c8a882 100%), radial-gradient(ellipse at 50% 0%, #ecd4b0 0%, transparent 70%);
}
.scn-audience-altercation .bg-room {
  position: absolute; inset: 0; background: linear-gradient(180deg, #d4b89a 0%, #b89878 100%); 
  animation: aa-bg 12s ease-in-out infinite alternate;
}
.scn-audience-altercation .window {
  position: absolute; top: 8%; left: 12%; width: 24%; height: 50%; 
  background: linear-gradient(180deg, #b8d8e8 0%, #8ab8d0 100%); 
  border: 4px solid #7a5a3a; border-radius: 4px; 
  box-shadow: inset 0 0 30px rgba(255,240,200,0.3); 
  animation: aa-window 8s ease-in-out infinite;
}
.scn-audience-altercation .window-light {
  position: absolute; top: 10%; left: 14%; width: 20%; height: 46%; 
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,200,0.5) 0%, rgba(255,255,200,0) 80%); 
  filter: blur(8px); 
  animation: aa-window-light 3s ease-in-out infinite alternate;
}
.scn-audience-altercation .figure-left {
  position: absolute; bottom: 22%; left: 22%; width: 28px; height: 60px; 
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: aa-fig-l 0.8s ease-in-out infinite;
}
.scn-audience-altercation .figure-right {
  position: absolute; bottom: 22%; left: 40%; width: 28px; height: 60px; 
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%); 
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; 
  transform-origin: bottom center; 
  animation: aa-fig-r 0.9s ease-in-out infinite;
}
.scn-audience-altercation .officer {
  position: absolute; bottom: 24%; left: 50%; width: 36px; height: 66px; 
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%); 
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; 
  transform-origin: bottom center; 
  animation: aa-officer 2s ease-in-out infinite;
}
.scn-audience-altercation .jury {
  position: absolute; bottom: 16%; right: 8%; width: 120px; height: 40px; 
  background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 10px, #7a6a5a 10px, #7a6a5a 20px); 
  border-radius: 8px; 
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.4); 
  animation: aa-jury 6s ease-in-out infinite;
}

@keyframes aa-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes aa-window { 0% { box-shadow: inset 0 0 20px rgba(255,240,200,0.2) } 50% { box-shadow: inset 0 0 40px rgba(255,240,200,0.4) } 100% { box-shadow: inset 0 0 25px rgba(255,240,200,0.3) } }
@keyframes aa-window-light { 0% { opacity: 0.6; transform: scale(1) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }
@keyframes aa-fig-l { 0% { transform: translateX(-20px) rotate(-8deg) } 50% { transform: translateX(10px) rotate(6deg) } 100% { transform: translateX(-20px) rotate(-8deg) } }
@keyframes aa-fig-r { 0% { transform: translateX(20px) rotate(8deg) } 50% { transform: translateX(-10px) rotate(-6deg) } 100% { transform: translateX(20px) rotate(8deg) } }
@keyframes aa-officer { 0% { transform: translateX(-2px) rotate(-2deg) } 50% { transform: translateX(2px) rotate(2deg) } 100% { transform: translateX(-2px) rotate(-2deg) } }
@keyframes aa-jury { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(0) } }

.scn-defense-opens {
  background: linear-gradient(180deg, #f0dcc0 0%, #d8c0a0 100%), radial-gradient(ellipse at 50% 0%, #f0dcc0 0%, transparent 70%);
}
.scn-defense-opens .bg-court {
  position: absolute; inset: 0; background: linear-gradient(180deg, #e8d0b8 0%, #c8b098 100%);
  animation: do-bg 14s ease-in-out infinite alternate;
}
.scn-defense-opens .lawyer {
  position: absolute; bottom: 20%; left: 30%; width: 32px; height: 68px;
  background: linear-gradient(180deg, #2a1a12 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: do-lawyer 3s ease-in-out infinite;
}
.scn-defense-opens .witness {
  position: absolute; bottom: 20%; right: 28%; width: 30px; height: 64px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: do-witness 4s ease-in-out infinite;
}
.scn-defense-opens .judge-bench {
  position: absolute; top: 5%; left: 5%; width: 18%; height: 30%;
  background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-defense-opens .jury-box {
  position: absolute; bottom: 10%; left: 52%; width: 35%; height: 18%;
  background: repeating-linear-gradient(90deg, #6a5a4a 0px, #6a5a4a 12px, #8a7a6a 12px, #8a7a6a 24px);
  border-radius: 4px; box-shadow: inset 0 2px 8px rgba(0,0,0,0.4);
  animation: do-jury 8s ease-in-out infinite;
}
.scn-defense-opens .podium-light {
  position: absolute; bottom: 28%; left: 28%; width: 16%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,180,0.4) 0%, transparent 80%);
  filter: blur(12px);
  animation: do-light 5s ease-in-out infinite alternate;
}

@keyframes do-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes do-lawyer { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(3px) rotate(3deg) scaleY(1.02) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes do-witness { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes do-jury { 0% { transform: translateX(0) } 50% { transform: translateX(-1px) } 100% { transform: translateX(0) } }
@keyframes do-light { 0% { opacity: 0.5; transform: scale(1) } 50% { opacity: 0.8; transform: scale(1.05) } 100% { opacity: 0.6; transform: scale(0.95) } }

.scn-pepperill-shocked {
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%), radial-gradient(ellipse at 50% 0%, #5a4a3a 0%, transparent 70%);
}
.scn-pepperill-shocked .bg-dark {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a221c 0%, #100c08 100%);
  animation: ps-bg 8s ease-in-out infinite alternate;
}
.scn-pepperill-shocked .pepperill-head {
  position: absolute; top: 20%; left: 35%; width: 60px; height: 70px;
  background: linear-gradient(180deg, #b09878 0%, #8a7050 100%);
  border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.6);
  animation: ps-head 4s ease-in-out infinite;
}
.scn-pepperill-shocked .pepperill-jaw {
  position: absolute; top: 52%; left: 38%; width: 40px; height: 18px;
  background: linear-gradient(180deg, #c8a880 0%, #a08060 100%);
  border-radius: 10% 10% 50% 50% / 20% 20% 40% 40%;
  transform-origin: top center;
  animation: ps-jaw 0.7s ease-in-out infinite alternate;
}
.scn-pepperill-shocked .tutt {
  position: absolute; bottom: 25%; right: 20%; width: 28px; height: 64px;
  background: linear-gradient(180deg, #1a120e 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ps-tutt 3s ease-in-out infinite;
}
.scn-pepperill-shocked .desk {
  position: absolute; bottom: 20%; left: 30%; right: 20%; height: 12%;
  background: linear-gradient(180deg, #6a5038 0%, #3a2a1c 100%);
  border-radius: 4px; box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.scn-pepperill-shocked .spotlight {
  position: absolute; top: -5%; left: 30%; width: 40%; height: 60%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,240,200,0.4) 0%, transparent 80%);
  filter: blur(20px);
  animation: ps-spotlight 2s ease-in-out infinite alternate;
}

@keyframes ps-bg { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.7 } }
@keyframes ps-head { 0% { transform: rotate(0) } 50% { transform: rotate(-3deg) translateY(2px) } 100% { transform: rotate(0) } }
@keyframes ps-jaw { 0% { transform: scaleY(1) translateY(0) } 100% { transform: scaleY(2) translateY(10px) } }
@keyframes ps-tutt { 0% { transform: rotate(0) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0) } }
@keyframes ps-spotlight { 0% { opacity: 0.3; transform: scale(1) } 50% { opacity: 0.7; transform: scale(1.2) } 100% { opacity: 0.4; transform: scale(0.9) } }

.scn-defense-rests {
  background: linear-gradient(180deg, #f0dcb8 0%, #d0b890 100%), radial-gradient(ellipse at 50% 0%, #f0dcb8 0%, transparent 70%);
}
.scn-defense-rests .bg-hall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #e0c8a8 0%, #c0a888 100%);
  animation: dr-bg 16s ease-in-out infinite alternate;
}
.scn-defense-rests .judge-dozing {
  position: absolute; top: 8%; left: 10%; width: 80px; height: 64px;
  background: linear-gradient(180deg, #9a8060 0%, #6a5038 100%);
  border-radius: 60% 60% 30% 30% / 70% 70% 20% 20%;
  transform-origin: bottom center;
  animation: dr-judge 4s ease-in-out infinite;
}
.scn-defense-rests .pepperill-seated {
  position: absolute; bottom: 22%; left: 20%; width: 34px; height: 60px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a12 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: dr-pepperill 6s ease-in-out infinite;
}
.scn-defense-rests .tutt-closing {
  position: absolute; bottom: 24%; right: 25%; width: 30px; height: 66px;
  background: linear-gradient(180deg, #2a1a12 0%, #0a0604 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: dr-tutt 8s ease-in-out infinite;
}
.scn-defense-rests .syrian-exit {
  position: absolute; bottom: 22%; right: 8%; width: 28px; height: 62px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: dr-syrian 12s ease-in-out infinite;
}
.scn-defense-rests .clock {
  position: absolute; top: 12%; right: 15%; width: 30px; height: 30px;
  background: radial-gradient(circle, #f0e0c0 0%, #c0a880 100%);
  border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: dr-clock 2s linear infinite;
}

@keyframes dr-bg { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes dr-judge { 0% { transform: rotate(0) translateY(0) } 30% { transform: rotate(2deg) translateY(-2px) } 70% { transform: rotate(-1deg) translateY(1px) } 100% { transform: rotate(0) translateY(0) } }
@keyframes dr-pepperill { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(2px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes dr-tutt { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) scaleY(1.02) } 100% { transform: translateY(0) } }
@keyframes dr-syrian { 0% { transform: translateX(0) opacity(1) } 50% { transform: translateX(-8px) opacity(0.8) } 100% { transform: translateX(0) opacity(1) } }
@keyframes dr-clock { 0% { transform: rotate(0) } 50% { transform: rotate(10deg) } 100% { transform: rotate(0) } }

.scn-edgar-street-description { background: linear-gradient(180deg, #41627f 0%, #6a8ca3 30%, #cba16a 70%, #8a6030 100%), radial-gradient(ellipse at 70% 20%, #fce9b6 0%, transparent 60%), linear-gradient(90deg, #2a3a4a 0%, transparent 50%, #2a3a4a 100%); position: relative; overflow: hidden; }
.scn-edgar-street-description .sky-glow    { position: absolute; top: 0; left: 20%; right: 20%; bottom: 40%; background: radial-gradient(ellipse at 50% 100%, #fce9b6 0%, #6a8ca3 70%, transparent 100%); animation: esd-sky 12s ease-in-out infinite alternate; }
.scn-edgar-street-description .building-left { position: absolute; top: 5%; left: 0; width: 30%; bottom: 25%; background: linear-gradient(180deg, #1a2a3a 0%, #0f1a24 100%); box-shadow: inset -4px 0 8px rgba(0,0,0,.5); border-radius: 0 4% 0 0; transform: scale(.95); }
.scn-edgar-street-description .building-right { position: absolute; top: 2%; right: 0; width: 35%; bottom: 22%; background: linear-gradient(180deg, #1a2a3a 0%, #0f1a24 100%); box-shadow: inset 4px 0 8px rgba(0,0,0,.5); border-radius: 4% 0 0 0; }
.scn-edgar-street-description .street    { position: absolute; bottom: 0; left: 10%; right: 10%; height: 30%; background: linear-gradient(180deg, #8a6030 0%, #4a3018 100%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; box-shadow: inset 0 12px 20px rgba(0,0,0,.6); }
.scn-edgar-street-description .sign       { position: absolute; bottom: 45%; left: 48%; width: 40px; height: 60px; background: radial-gradient(circle, #c8553d 0%, #702243 100%); border-radius: 60% 20% 50% 30% / 40% 60% 30% 50%; transform: rotate(-15deg); box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: esd-sign 6s ease-in-out infinite; }
.scn-edgar-street-description .figure-bagdad { position: absolute; bottom: 28%; left: 55%; width: 16px; 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: esd-figure 8s linear infinite; }
.scn-edgar-street-description .cobble-a  { position: absolute; bottom: 8%; left: 20%; width: 24px; height: 12px; background: #5a4020; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: esd-cobble 20s linear infinite; }
.scn-edgar-street-description .cobble-b  { position: absolute; bottom: 4%; right: 25%; width: 30px; height: 14px; background: #4a3018; border-radius: 40%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: esd-cobble 28s linear infinite reverse; }
@keyframes esd-sky   { 0% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.02); } 100% { opacity: .8; transform: scale(.98); } }
@keyframes esd-sign  { 0% { transform: rotate(-20deg) scale(1); } 50% { transform: rotate(5deg) scale(1.05); } 100% { transform: rotate(-15deg) scale(1); } }
@keyframes esd-figure{ 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(16px) translateY(0) rotate(2deg); } 75% { transform: translateX(24px) translateY(-1px) rotate(-1deg); } 100% { transform: translateX(32px) translateY(0) rotate(0); } }
@keyframes esd-cobble{ 0% { transform: translateX(0) rotate(0); opacity: .4; } 50% { transform: translateX(40px) rotate(180deg); opacity: .8; } 100% { transform: translateX(80px) rotate(360deg); opacity: .4; } }

.scn-washington-street-tenement { background: linear-gradient(180deg, #1a1a1a 0%, #2a2218 30%, #0a0a0a 100%), radial-gradient(ellipse at 50% 0%, #3a2a1a 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-washington-street-tenement .airshaft-bg { position: absolute; inset: 5% 15% 10% 15%; background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 0 60px rgba(0,0,0,.8); }
.scn-washington-street-tenement .wall-left   { position: absolute; top: 0; left: 0; bottom: 0; width: 18%; background: repeating-linear-gradient(0deg, #3a2a1a 0px, #3a2a1a 4px, #4a3a2a 4px, #4a3a2a 8px), linear-gradient(90deg, #1a1410 0%, transparent 100%); border-right: 2px solid #0a0a0a; }
.scn-washington-street-tenement .wall-right  { position: absolute; top: 0; right: 0; bottom: 0; width: 18%; background: repeating-linear-gradient(0deg, #3a2a1a 0px, #3a2a1a 4px, #4a3a2a 4px, #4a3a2a 8px), linear-gradient(-90deg, #1a1410 0%, transparent 100%); border-left: 2px solid #0a0a0a; }
.scn-washington-street-tenement .fire-escape { position: absolute; top: 10%; left: 20%; right: 20%; bottom: 20%; background: repeating-linear-gradient(0deg, transparent 0px, transparent 20px, #5a4a3a 20px, #5a4a3a 22px), repeating-linear-gradient(90deg, transparent 0px, transparent 30px, #5a4a3a 30px, #5a4a3a 32px); opacity: .4; animation: wst-fire 15s ease-in-out infinite; }
.scn-washington-street-tenement .window-dim-a{ position: absolute; top: 15%; left: 35%; width: 12%; height: 10%; background: #1a1a2a; border: 2px solid #2a2218; border-radius: 2px; box-shadow: inset 0 0 4px #0a0a0a; }
.scn-washington-street-tenement .window-dim-b{ position: absolute; bottom: 25%; right: 30%; width: 10%; height: 8%; background: #1a1a2a; border: 2px solid #2a2218; border-radius: 2px; }
.scn-washington-street-tenement .window-glow { position: absolute; top: 40%; left: 40%; width: 8%; height: 12%; background: radial-gradient(circle, #f0c068 0%, #b08040 60%, transparent 100%); border-radius: 4px; box-shadow: 0 0 30px 10px rgba(176, 128, 64, .4); animation: wst-glow 4s ease-in-out infinite alternate; }
.scn-washington-street-tenement .cat        { position: absolute; bottom: 30%; left: 25%; width: 20px; height: 14px; background: #0a0a0a; border-radius: 50% 50% 40% 40%; box-shadow: 4px -4px 0 #0a0a0a; animation: wst-cat 12s ease-in-out infinite; }
@keyframes wst-fire  { 0% { opacity: .2; } 50% { opacity: .5; transform: scaleY(.98); } 100% { opacity: .3; transform: scaleY(1); } }
@keyframes wst-glow  { 0% { box-shadow: 0 0 20px 5px rgba(176, 128, 64, .3); opacity: .7; } 50% { box-shadow: 0 0 40px 15px rgba(240, 192, 104, .6); opacity: 1; } 100% { box-shadow: 0 0 25px 8px rgba(176, 128, 64, .4); opacity: .8; } }
@keyframes wst-cat   { 0% { transform: translateX(0) scale(1); } 30% { transform: translateX(30px) scale(1.1); } 60% { transform: translateX(60px) scale(1); } 100% { transform: translateX(0) scale(1); } }

.scn-camel-in-staircase { background: linear-gradient(135deg, #1a0a1a 0%, #2a1a1a 40%, #0a0a0a 100%), radial-gradient(circle at 80% 20%, #4a2a1a 0%, transparent 60%); position: relative; overflow: hidden; }
.scn-camel-in-staircase .stair-bg   { position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(160deg, #2a1a1a 0%, #1a0a0a 100%); transform: skewY(-15deg); transform-origin: bottom left; }
.scn-camel-in-staircase .banister   { position: absolute; top: 20%; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #5a3a2a 0%, #3a1a1a 100%); border-radius: 2px; box-shadow: 0 8px 0 #3a1a1a; animation: cis-banister 3s ease-in-out infinite; }
.scn-camel-in-staircase .step-a     { position: absolute; bottom: 35%; left: 10%; width: 40%; height: 8%; background: #3a2a1a; border-radius: 0 4px 4px 0; box-shadow: inset 0 2px 4px rgba(0,0,0,.6); transform: skewX(-20deg); }
.scn-camel-in-staircase .step-b     { position: absolute; bottom: 20%; right: 10%; width: 50%; height: 8%; background: #2a1a1a; border-radius: 4px 0 0 4px; box-shadow: inset 0 2px 4px rgba(0,0,0,.6); transform: skewX(20deg); }
.scn-camel-in-staircase .camel-hump { position: absolute; top: 15%; left: 40%; width: 60px; height: 50px; background: linear-gradient(135deg, #8a5a3a 0%, #5a3018 100%); border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%; box-shadow: 0 8px 12px rgba(0,0,0,.6); animation: cis-camel 4s ease-in-out infinite; }
.scn-camel-in-staircase .camel-head { position: absolute; top: 5%; left: 55%; width: 28px; height: 30px; background: linear-gradient(180deg, #a06a4a 0%, #6a3a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform: rotate(30deg); animation: cis-camel 4s ease-in-out infinite reverse; }
.scn-camel-in-staircase .lath       { position: absolute; top: 30%; right: 20%; width: 8px; height: 70px; background: #8a6a4a; border-radius: 2px; transform-origin: top center; transform: rotate(15deg); animation: cis-lath .8s ease-in-out infinite; }
.scn-camel-in-staircase .dust       { position: absolute; bottom: 10%; left: 30%; width: 40px; height: 40px; background: radial-gradient(circle, rgba(180, 150, 100, .4) 0%, transparent 100%); border-radius: 50%; filter: blur(4px); animation: cis-dust 5s ease-in-out infinite; }
@keyframes cis-banister { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-2px) rotate(-2deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes cis-camel   { 0% { transform: translateY(0) rotate(-5deg) scale(1); } 25% { transform: translateY(-8px) rotate(0) scale(1.02); } 50% { transform: translateY(0) rotate(5deg) scale(1); } 75% { transform: translateY(-5px) rotate(0) scale(.98); } 100% { transform: translateY(0) rotate(-5deg) scale(1); } }
@keyframes cis-lath    { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(30deg) scaleY(1.1); } 100% { transform: rotate(10deg) scaleY(1); } }
@keyframes cis-dust    { 0% { transform: translate(0, 0) scale(1); opacity: .3; } 50% { transform: translate(-20px, -20px) scale(2); opacity: .6; } 100% { transform: translate(-40px, -10px) scale(1); opacity: .2; } }

.scn-camel-reaches-landing { background: linear-gradient(180deg, #0a0a0a 0%, #1a1410 40%, #2a1a10 100%), radial-gradient(ellipse at 80% 60%, #4a2a1a 0%, transparent 70%); position: relative; overflow: hidden; }
.scn-camel-reaches-landing .landing-bg  { position: absolute; bottom: 0; left: 10%; right: 0; height: 50%; background: linear-gradient(135deg, #2a1a10 0%, #1a0a0a 100%); border-radius: 20% 0 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.7); }
.scn-camel-reaches-landing .doorway     { position: absolute; top: 10%; right: 10%; width: 30%; height: 70%; background: radial-gradient(ellipse at 50% 100%, #5a3a2a 0%, #0a0a0a 100%); border: 4px solid #2a1a10; border-radius: 0 0 20% 20%; box-shadow: inset 0 0 40px rgba(0,0,0,.8); }
.scn-camel-reaches-landing .broken-banister { position: absolute; top: 25%; left: 5%; width: 40%; height: 8px; background: linear-gradient(90deg, #6a4a3a 0%, #3a1a0a 100%); transform: rotate(25deg); box-shadow: 0 4px 0 #3a1a0a; animation: crl-banister 2s ease-in-out infinite; }
.scn-camel-reaches-landing .camel-neck  { position: absolute; top: 5%; left: 25%; width: 40px; height: 60px; background: linear-gradient(135deg, #8a5a3a 0%, #5a3018 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; transform: rotate(15deg); animation: crl-camel 6s ease-in-out infinite; }
.scn-camel-reaches-landing .camel-head  { position: absolute; top: -5%; left: 40%; width: 30px; height: 25px; background: linear-gradient(180deg, #a06a4a 0%, #6a3a1a 100%); border-radius: 50% 50% 40% 40%; transform: rotate(-20deg); animation: crl-camel 6s ease-in-out infinite alternate; }
.scn-camel-reaches-landing .kasheed     { position: absolute; bottom: 15%; left: 10%; width: 18px; height: 45px; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: crl-kasheed 5s ease-in-out infinite; }
.scn-camel-reaches-landing .lath        { position: absolute; bottom: 25%; left: 20%; width: 6px; height: 50px; background: #8a6a4a; border-radius: 2px; transform-origin: bottom center; transform: rotate(-30deg); animation: cis-lath .6s ease-in-out infinite; }
@keyframes crl-banister { 0% { transform: rotate(20deg) translateX(0); } 50% { transform: rotate(35deg) translateX(4px); } 100% { transform: rotate(20deg) translateX(0); } }
@keyframes crl-camel   { 0% { transform: rotate(10deg) translateY(0) scale(1); } 30% { transform: rotate(20deg) translateY(-10px) scale(1.05); } 60% { transform: rotate(5deg) translateY(0) scale(.95); } 100% { transform: rotate(15deg) translateY(0) scale(1); } }
@keyframes crl-kasheed { 0% { transform: translateX(0) translateY(0) rotate(-5deg); } 25% { transform: translateX(10px) translateY(-5px) rotate(0); } 50% { transform: translateX(20px) translateY(0) rotate(5deg); } 75% { transform: translateX(10px) translateY(-2px) rotate(0); } 100% { transform: translateX(0) translateY(0) rotate(-5deg); } }

/* althea-character-reflection */
.scn-althea-character-reflection { background: linear-gradient(180deg, #f5e6c8 0%, #d9c2a3 100%), radial-gradient(ellipse at 50% 0%, #ffe0b0 0%, transparent 60%); }
.scn-althea-character-reflection .bg-room { position:absolute; inset:0; background: linear-gradient(180deg, #f5e6c8 0%, #e8d5b0 100%); }
.scn-althea-character-reflection .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #c8a87c 0%, #a88a5e 100%); }
.scn-althea-character-reflection .mirror-frame { position:absolute; left:35%; top:10%; width:30%; height:55%; border:8px solid #8b6f4e; background:transparent; border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,0.3); }
.scn-althea-character-reflection .mirror-glass { position:absolute; left:36%; top:11%; width:28%; height:53%; background:linear-gradient(135deg, rgba(255,250,230,0.8) 0%, rgba(200,180,140,0.4) 100%); border-radius:8px; box-shadow:inset 0 0 30px rgba(255,255,200,0.3); animation:ar-glass 8s ease-in-out infinite; }
.scn-althea-character-reflection .reflection { position:absolute; left:42%; top:25%; width:15%; height:35%; background:radial-gradient(ellipse at 50% 30%, #2a1f12 0%, #4a3520 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ar-breath 4s ease-in-out infinite; }
.scn-althea-character-reflection .lamp { position:absolute; right:20%; top:15%; width:8%; height:12%; background:radial-gradient(circle, #ffe080 0%, #d4a040 70%); border-radius:50% 50% 30% 30%; box-shadow:0 0 20px 5px #ffd060; animation:ar-flicker 3s ease-in-out infinite; }
.scn-althea-character-reflection .glow { position:absolute; right:18%; top:12%; width:12%; height:18%; background:radial-gradient(circle, rgba(255,224,128,0.4) 0%, transparent 70%); animation:ar-glow 5s ease-in-out infinite alternate; }
@keyframes ar-glass { 0% { opacity:0.7; } 50% { opacity:0.9; transform:scaleX(1.01); } 100% { opacity:0.7; } }
@keyframes ar-breath { 0% { transform:translateY(0) scaleY(1); } 50% { transform:translateY(-2px) scaleY(1.01); } 100% { transform:translateY(0) scaleY(1); } }
@keyframes ar-flicker { 0% { opacity:0.8; box-shadow:0 0 15px 3px #ffd060; } 30% { opacity:1; box-shadow:0 0 25px 6px #ffe080; } 70% { opacity:0.9; box-shadow:0 0 20px 4px #ffd060; } 100% { opacity:0.8; box-shadow:0 0 15px 3px #ffd060; } }
@keyframes ar-glow { 0% { opacity:0.3; transform:scale(1); } 100% { opacity:0.6; transform:scale(1.05); } }

/* ancestors-and-cave */
.scn-ancestors-and-cave { background: linear-gradient(180deg, #2b1e10 0%, #1a1208 100%), radial-gradient(ellipse at 30% 70%, #4a3520 0%, transparent 80%); }
.scn-ancestors-and-cave .bg-cave { position:absolute; inset:0; background: linear-gradient(135deg, #1e1610 0%, #2a2018 100%); }
.scn-ancestors-and-cave .stalactite-1 { position:absolute; left:10%; top:0; width:8%; height:40%; background: linear-gradient(180deg, #4a3a28 0%, #2a1e10 100%); border-radius:0 0 60% 60% / 0 0 20% 20%; animation:ac-drip 6s ease-in-out infinite; transform-origin:top center; }
.scn-ancestors-and-cave .stalactite-2 { position:absolute; right:20%; top:0; width:6%; height:30%; background: linear-gradient(180deg, #3a2a18 0%, #1e140a 100%); border-radius:0 0 50% 50% / 0 0 15% 15%; animation:ac-drip 7s ease-in-out infinite 2s; transform-origin:top center; }
.scn-ancestors-and-cave .fire { position:absolute; bottom:25%; left:40%; width:15%; height:20%; background: radial-gradient(ellipse at 50% 100%, #ff6a00 0%, #cc4400 50%, transparent 100%); border-radius:50% 50% 20% 20%; animation:ac-fire 0.8s ease-in-out infinite; }
.scn-ancestors-and-cave .fire-glow { position:absolute; bottom:20%; left:35%; width:30%; height:30%; background: radial-gradient(circle, rgba(255,100,0,0.3) 0%, transparent 70%); animation:ac-fireglow 1.5s ease-in-out infinite alternate; }
.scn-ancestors-and-cave .professor { position:absolute; bottom:5%; left:20%; width:12%; height:40%; background: radial-gradient(ellipse at 50% 20%, #4a3a28 0%, #2a1e10 100%); border-radius:30% 30% 20% 20%; animation:ac-bounce 4s ease-in-out infinite; }
.scn-ancestors-and-cave .shadow-puppet { position:absolute; bottom:10%; right:15%; width:10%; height:20%; background: radial-gradient(ellipse at 50% 50%, #000 0%, #111 100%); border-radius:40% 40% 30% 30%; animation:ac-dance 3s ease-in-out infinite; }
@keyframes ac-drip { 0% { transform:scaleY(1); } 50% { transform:scaleY(1.05) translateY(5px); } 100% { transform:scaleY(1); } }
@keyframes ac-fire { 0% { transform:scaleY(1) scaleX(1); } 50% { transform:scaleY(1.2) scaleX(0.9); } 100% { transform:scaleY(1) scaleX(1); } }
@keyframes ac-fireglow { 0% { opacity:0.5; transform:scale(1); } 100% { opacity:0.8; transform:scale(1.1); } }
@keyframes ac-bounce { 0% { transform:translateY(0) rotate(-2deg); } 25% { transform:translateY(-5px) rotate(2deg); } 50% { transform:translateY(0) rotate(-1deg); } 75% { transform:translateY(-3px) rotate(1deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes ac-dance { 0% { transform:translateX(0) rotate(0); } 25% { transform:translateX(10px) rotate(15deg); } 50% { transform:translateX(0) rotate(0); } 75% { transform:translateX(-10px) rotate(-15deg); } 100% { transform:translateX(0) rotate(0); } }

/* common-heritage-thoughts */
.scn-common-heritage-thoughts { background: linear-gradient(180deg, #3a2a1a 0%, #1e160e 100%), radial-gradient(ellipse at 50% 20%, #5a4028 0%, transparent 70%); }
.scn-common-heritage-thoughts .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #2a1e12 0%, #1e140a 100%); }
.scn-common-heritage-thoughts .desk { position:absolute; bottom:10%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #6a5038 0%, #4a3520 100%); border-radius:8px; box-shadow:0 4px 10px rgba(0,0,0,0.5); }
.scn-common-heritage-thoughts .candle { position:absolute; bottom:20%; left:45%; width:4%; height:15%; background: linear-gradient(180deg, #f0e0c0 0%, #e0c8a0 50%, #808080 100%); border-radius:10% 10% 30% 30%; }
.scn-common-heritage-thoughts .candle-glow { position:absolute; bottom:30%; left:43%; width:14%; height:20%; background: radial-gradient(circle, rgba(255,220,100,0.4) 0%, transparent 70%); animation:cht-glow 3s ease-in-out infinite alternate; }
.scn-common-heritage-thoughts .figure-left { position:absolute; bottom:20%; left:25%; width:10%; height:35%; background: radial-gradient(ellipse at 50% 20%, #3a2a1a 0%, #1e140a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation:cht-breath 5s ease-in-out infinite; }
.scn-common-heritage-thoughts .figure-right { position:absolute; bottom:20%; right:25%; width:10%; height:35%; background: radial-gradient(ellipse at 50% 20%, #4a3520 0%, #2a1e10 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; animation:cht-breath 5s ease-in-out infinite 2s; }
.scn-common-heritage-thoughts .book-pile { position:absolute; bottom:10%; left:35%; width:30%; height:8%; background: repeating-linear-gradient(90deg, #6a5038 0%, #6a5038 15%, #8a6a48 15%, #8a6a48 30%, #5a3a20 30%, #5a3a20 45%, #7a5a38 45%, #7a5a38 60%, #4a2a10 60%, #4a2a10 75%, #6a5038 75%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,0.4); }
@keyframes cht-glow { 0% { opacity:0.3; transform:scale(1); } 50% { opacity:0.6; transform:scale(1.05); } 100% { opacity:0.4; transform:scale(0.95); } }
@keyframes cht-breath { 0% { transform:translateY(0); } 50% { transform:translateY(-3px); } 100% { transform:translateY(0); } }

/* tradition-ages-comparison */
.scn-tradition-ages-comparison { background: linear-gradient(180deg, #2a2018 0%, #1a1410 100%), radial-gradient(ellipse at 50% 80%, #4a3828 0%, transparent 80%); }
.scn-tradition-ages-comparison .bg-shelves { position:absolute; inset:0; background: repeating-linear-gradient(180deg, #3a2a1a 0px, #3a2a1a 6px, #2a1e10 6px, #2a1e10 12px); }
.scn-tradition-ages-comparison .timeline { position:absolute; bottom:40%; left:10%; right:10%; height:4%; background: linear-gradient(90deg, #8a7040 0%, #b89a60 100%); border-radius:2px; box-shadow:0 2px 6px rgba(0,0,0,0.5); }
.scn-tradition-ages-comparison .marker-old { position:absolute; bottom:38%; left:20%; width:3%; height:10%; background: radial-gradient(ellipse at 50% 50%, #5a3a20 0%, #3a2010 100%); border-radius:50%; animation:tac-pulse 6s ease-in-out infinite; }
.scn-tradition-ages-comparison .marker-new { position:absolute; bottom:38%; right:20%; width:3%; height:10%; background: radial-gradient(ellipse at 50% 50%, #b89a60 0%, #8a7040 100%); border-radius:50%; animation:tac-pulse 6s ease-in-out infinite 3s; }
.scn-tradition-ages-comparison .figure { position:absolute; bottom:10%; left:45%; width:10%; height:30%; background: radial-gradient(ellipse at 50% 20%, #4a3520 0%, #2a1e10 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:tac-read 8s ease-in-out infinite; }
.scn-tradition-ages-comparison .lamp { position:absolute; top:15%; left:45%; width:8%; height:10%; background: radial-gradient(circle, #ffe080 0%, #d4a040 70%); border-radius:50% 50% 30% 30%; box-shadow:0 0 20px 5px #ffd060; animation:tac-flicker 4s ease-in-out infinite; }
.scn-tradition-ages-comparison .glow { position:absolute; top:12%; left:42%; width:16%; height:20%; background: radial-gradient(circle, rgba(255,224,128,0.3) 0%, transparent 70%); animation:tac-glow 5s ease-in-out infinite alternate; }
@keyframes tac-pulse { 0% { transform:scale(1); opacity:0.8; } 50% { transform:scale(1.2); opacity:1; } 100% { transform:scale(1); opacity:0.8; } }
@keyframes tac-read { 0% { transform:translateY(0); } 30% { transform:translateY(-2px); } 60% { transform:translateY(0); } 100% { transform:translateY(0); } }
@keyframes tac-flicker { 0% { opacity:0.8; box-shadow:0 0 15px 3px #ffd060; } 30% { opacity:1; box-shadow:0 0 25px 6px #ffe080; } 70% { opacity:0.9; box-shadow:0 0 20px 4px #ffd060; } 100% { opacity:0.8; box-shadow:0 0 15px 3px #ffd060; } }
@keyframes tac-glow { 0% { opacity:0.2; transform:scale(1); } 100% { opacity:0.5; transform:scale(1.05); } }

.scn-miss-wiggin-comments {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a251a 50%, #1a1a0a 100%),
    radial-gradient(ellipse at 50% 70%, #4a3520 0%, transparent 70%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-miss-wiggin-comments .backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(20,12,4,0.6) 100%);
  animation: mw-backdrop 12s ease-in-out infinite alternate;
}
.scn-miss-wiggin-comments .table {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%);
  border-radius: 8% 8% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-miss-wiggin-comments .lamp-base {
  position: absolute; bottom: 30%; left: 48%; width: 10px; height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  transform: translateX(-50%);
  border-radius: 2px;
}
.scn-miss-wiggin-comments .lamp-shade {
  position: absolute; bottom: calc(30% + 40px); left: 48%; width: 50px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, #1a100a 100%);
  transform: translateX(-50%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: mw-lamp 4s ease-in-out infinite alternate;
}
.scn-miss-wiggin-comments .glow {
  position: absolute; bottom: 30%; left: 50%; width: 120px; height: 120px;
  background: radial-gradient(circle, #e8c080 0%, #b08040 30%, transparent 70%);
  transform: translate(-50%, 20%);
  mix-blend-mode: screen;
  animation: mw-glow 2s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-miss-wiggin-comments .figure-left {
  position: absolute; bottom: 25%; left: 25%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-figure-left 5s ease-in-out infinite;
}
.scn-miss-wiggin-comments .figure-right {
  position: absolute; bottom: 25%; right: 25%; width: 35px; height: 85px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mw-figure-right 6s ease-in-out infinite;
}
.scn-miss-wiggin-comments .cup {
  position: absolute; bottom: 30%; left: 50%; width: 12px; height: 16px;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  transform: translateX(-50%);
  border-radius: 30% 30% 10% 10%;
  animation: mw-cup 3s ease-in-out infinite;
}
.scn-miss-wiggin-comments .book {
  position: absolute; bottom: 30%; left: 44%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #4a3a2a 0%, #2a1a0a 100%);
  transform: rotate(-10deg);
  border-radius: 5%;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.6);
  animation: mw-book 8s ease-in-out infinite;
}

@keyframes mw-backdrop {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes mw-lamp {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(0.95); }
  100% { transform: translateX(-50%) scaleY(1.05); }
}
@keyframes mw-glow {
  0% { opacity: 0.5; transform: translate(-50%, 20%) scale(1); }
  50% { opacity: 0.8; transform: translate(-50%, 20%) scale(1.1); }
  100% { opacity: 0.6; transform: translate(-50%, 20%) scale(0.95); }
}
@keyframes mw-figure-left {
  0% { transform: translateY(0) rotate(-1deg); }
  33% { transform: translateY(-2px) rotate(1deg); }
  66% { transform: translateY(-1px) rotate(-0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mw-figure-right {
  0% { transform: translateY(0) rotate(1deg); }
  33% { transform: translateY(-2px) rotate(-1deg); }
  66% { transform: translateY(-1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mw-cup {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-1px) rotate(5deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(-3deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes mw-book {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-12deg) translateY(-1px); }
  100% { transform: rotate(-8deg) translateY(0); }
}

.scn-hogan-as-shyster {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a221a 50%, #1a120a 100%),
    radial-gradient(ellipse at 30% 60%, #3a2515 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-hogan-as-shyster .backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(10,5,2,0.8) 100%);
}
.scn-hogan-as-shyster .desk {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.8);
}
.scn-hogan-as-shyster .figure {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #1a1a2a 0%, #080812 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  transform-origin: bottom center;
  animation: ha-figure 3s ease-in-out infinite;
}
.scn-hogan-as-shyster .hat {
  position: absolute; bottom: calc(30% + 90px); left: 50%; width: 40px; height: 15px;
  background: linear-gradient(180deg, #0a0a12 0%, #1a1a22 100%);
  transform: translateX(-50%);
  border-radius: 50% 50% 20% 20%;
  animation: ha-hat 4s ease-in-out infinite;
}
.scn-hogan-as-shyster .bottle {
  position: absolute; bottom: 30%; left: 35%; width: 8px; height: 25px;
  background: linear-gradient(180deg, #3a3a1a 0%, #1a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: rotate(15deg);
  animation: ha-bottle 5s ease-in-out infinite;
}
.scn-hogan-as-shyster .shadow {
  position: absolute; bottom: 30%; left: 50%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  transform: translateX(-50%);
  filter: blur(4px);
  animation: ha-shadow 3s ease-in-out infinite alternate;
}
.scn-hogan-as-shyster .glow {
  position: absolute; top: 20%; left: 30%; width: 100px; height: 100px;
  background: radial-gradient(circle, #c0a060 0%, transparent 60%);
  mix-blend-mode: screen;
  animation: ha-glow 2s ease-in-out infinite alternate;
  pointer-events: none;
}
.scn-hogan-as-shyster .gavel {
  position: absolute; bottom: 30%; left: 60%; width: 14px; height: 8px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a0a 100%);
  border-radius: 20%;
  transform: rotate(-20deg);
  animation: ha-gavel 6s ease-in-out infinite;
}

@keyframes ha-figure {
  0% { transform: translateX(-50%) translateY(0) rotate(2deg); }
  25% { transform: translateX(-50%) translateY(-3px) rotate(-1deg); }
  50% { transform: translateX(-50%) translateY(-1px) rotate(3deg); }
  75% { transform: translateX(-50%) translateY(-2px) rotate(0deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(2deg); }
}
@keyframes ha-hat {
  0% { transform: translateX(-50%) rotate(0deg) translateY(0); }
  50% { transform: translateX(-50%) rotate(-5deg) translateY(-2px); }
  100% { transform: translateX(-50%) rotate(3deg) translateY(-1px); }
}
@keyframes ha-bottle {
  0% { transform: rotate(15deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-2px); }
  100% { transform: rotate(20deg) translateY(-1px); }
}
@keyframes ha-shadow {
  0% { opacity: 0.6; transform: translateX(-50%) scaleX(1); }
  100% { opacity: 0.3; transform: translateX(-50%) scaleX(0.8); }
}
@keyframes ha-glow {
  0% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes ha-gavel {
  0% { transform: rotate(-20deg) translateY(0); }
  33% { transform: rotate(-15deg) translateY(-1px); }
  66% { transform: rotate(-25deg) translateY(-2px); }
  100% { transform: rotate(-20deg) translateY(0); }
}

.scn-tutt-defends-finklestein {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a2015 40%, #1a120a 100%),
    radial-gradient(ellipse at 70% 70%, #4a3520 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-tutt-defends-finklestein .backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(15,8,2,0.7) 100%);
  animation: tf-backdrop 15s ease-in-out infinite alternate;
}
.scn-tutt-defends-finklestein .bookshelf {
  position: absolute; top: 5%; left: 5%; right: 5%; bottom: 55%;
  background: repeating-linear-gradient(
    180deg,
    #2a1a0a 0px,
    #2a1a0a 10px,
    #3a2a1a 10px,
    #3a2a1a 12px,
    #1a0a00 12px,
    #1a0a00 22px
  );
  border-radius: 5px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
  animation: tf-shelf 20s linear infinite;
}
.scn-tutt-defends-finklestein .table {
  position: absolute; bottom: 0; left: 15%; right: 15%; height: 35%;
  background: linear-gradient(180deg, #4a3020 0%, #1a1008 100%);
  border-radius: 30% 30% 0 0;
  box-shadow: inset 0 12px 25px rgba(0,0,0,0.7);
}
.scn-tutt-defends-finklestein .figure-tutt {
  position: absolute; bottom: 35%; left: 20%; 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: tf-tutt 5s ease-in-out infinite;
}
.scn-tutt-defends-finklestein .figure-finkl {
  position: absolute; bottom: 35%; right: 20%; width: 35px; height: 70px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tf-finkl 7s ease-in-out infinite;
}
.scn-tutt-defends-finklestein .book {
  position: absolute; bottom: 40%; left: 48%; width: 40px; height: 28px;
  background: linear-gradient(135deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 5%;
  transform: rotate(-8deg);
  box-shadow: 3px 3px 6px rgba(0,0,0,0.5);
  animation: tf-book 10s ease-in-out infinite alternate;
}
.scn-tutt-defends-finklestein .lamp {
  position: absolute; bottom: 42%; left: 60%; width: 12px; height: 40px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0500 100%);
  border-radius: 2px;
}
.scn-tutt-defends-finklestein .glow {
  position: absolute; bottom: 42%; left: 60%; width: 80px; height: 80px;
  background: radial-gradient(circle, #d0b060 0%, #b08040 30%, transparent 70%);
  transform: translate(-50%, -50%);
  mix-blend-mode: screen;
  animation: tf-glow 3s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes tf-backdrop {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes tf-shelf {
  0% { background-position: 0 0; }
  100% { background-position: 0 22px; }
}
@keyframes tf-tutt {
  0% { transform: translateY(0) rotate(1deg); }
  33% { transform: translateY(-2px) rotate(-1deg); }
  66% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes tf-finkl {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-1px) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(0deg); }
  75% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(-2deg); }
}
@keyframes tf-book {
  0% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-6deg) translateY(-1px); }
}
@keyframes tf-glow {
  0% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.15); }
  100% { opacity: 0.6; transform: translate(-50%, -50%) scale(0.9); }
}

.scn-true-shyster-definition {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2a2218 40%, #1a140a 100%),
    radial-gradient(ellipse at 50% 80%, #4a2a15 0%, transparent 60%);
  position: relative;
  overflow: hidden;
  height: 100%;
}
.scn-true-shyster-definition .backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(10,4,2,0.8) 100%);
  animation: ts-backdrop 20s ease-in-out infinite alternate;
}
.scn-true-shyster-definition .fireplace {
  position: absolute; bottom: 20%; left: 25%; right: 25%; height: 50%;
  border-radius: 0 0 30% 30% / 0 0 20% 20%;
  background: linear-gradient(180deg, #3a2515 0%, #1a1008 100%);
  box-shadow: inset 0 -15px 30px rgba(0,0,0,0.7);
}
.scn-true-shyster-definition .fire {
  position: absolute; bottom: 20%; left: 38%; right: 38%; height: 30%;
  background: radial-gradient(ellipse, #e08030 0%, #c06020 30%, #8a4020 60%, transparent 80%);
  filter: blur(4px);
  animation: ts-fire 2s ease-in-out infinite alternate;
}
.scn-true-shyster-definition .figure-tutt {
  position: absolute; bottom: 20%; left: 18%; width: 40px; 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: ts-tutt 6s ease-in-out infinite;
}
.scn-true-shyster-definition .figure-wiggin {
  position: absolute; bottom: 20%; right: 18%; width: 35px; height: 75px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ts-wiggin 8s ease-in-out infinite;
}
.scn-true-shyster-definition .cigar {
  position: absolute; bottom: 35%; left: 22%; width: 20px; height: 4px;
  background: linear-gradient(90deg, #5a3a1a 0%, #8a5a2a 100%);
  border-radius: 50%;
  transform: rotate(-15deg);
  box-shadow: 0 0 6px 2px rgba(200,100,30,0.5);
  animation: ts-cigar 4s ease-in-out infinite;
}
.scn-true-shyster-definition .table {
  position: absolute; bottom: 0; left: 30%; right: 30%; height: 20%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.8);
}
.scn-true-shyster-definition .teacup {
  position: absolute; bottom: 20%; left: 48%; width: 14px; height: 18px;
  background: linear-gradient(180deg, #6a5a3a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: translateX(-50%);
  animation: ts-teacup 5s ease-in-out infinite;
}
.scn-true-shyster-definition .glow {
  position: absolute; bottom: 20%; left: 50%; width: 100px; height: 100px;
  background: radial-gradient(circle, #e8b060 0%, #c08040 40%, transparent 70%);
  transform: translate(-50%, -30%);
  mix-blend-mode: screen;
  animation: ts-glow 3s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes ts-backdrop {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes ts-fire {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.05); }
  100% { opacity: 0.7; transform: scale(0.95); }
}
@keyframes ts-tutt {
  0% { transform: translateY(0) rotate(1deg); }
  33% { transform: translateY(-2px) rotate(-1deg); }
  66% { transform: translateY(-1px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes ts-wiggin {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(-1px) rotate(-2deg); }
  75% { transform: translateY(-2px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes ts-cigar {
  0% { transform: rotate(-15deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-1px); }
  100% { transform: rotate(-20deg) translateY(0); }
}
@keyframes ts-teacup {
  0% { transform: translateX(-50%) translateY(0) rotate(0deg); }
  25% { transform: translateX(-50%) translateY(-1px) rotate(5deg); }
  50% { transform: translateX(-50%) translateY(0) rotate(-3deg); }
  75% { transform: translateX(-50%) translateY(-1px) rotate(2deg); }
  100% { transform: translateX(-50%) translateY(0) rotate(0deg); }
}
@keyframes ts-glow {
  0% { opacity: 0.4; transform: translate(-50%, -30%) scale(1); }
  50% { opacity: 0.8; transform: translate(-50%, -30%) scale(1.1); }
  100% { opacity: 0.5; transform: translate(-50%, -30%) scale(0.9); }
}

.scn-everybody-satisfied { background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%), radial-gradient(ellipse at 50% 80%, #3a3a5e 0%, transparent 70%); }
.scn-everybody-satisfied .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, #1a1a2a 0%, #2a2a3e 100%); }
.scn-everybody-satisfied .table { position:absolute; bottom:15%; left:10%; right:10%; height:8%; background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius:4px; box-shadow: 0 -2px 6px rgba(0,0,0,.6); animation: es-table 6s ease-in-out infinite; }
.scn-everybody-satisfied .lamp { position:absolute; bottom:55%; left:50%; transform:translateX(-50%); width:12px; height:20px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 10px rgba(200,180,100,.3); }
.scn-everybody-satisfied .lamp-glow { position:absolute; bottom:52%; left:50%; transform:translateX(-50%); width:80px; height:80px; background: radial-gradient(circle, rgba(255,230,150,.6) 0%, rgba(255,200,100,.2) 40%, transparent 70%); border-radius:50%; animation: es-glow 2s ease-in-out infinite alternate; }
.scn-everybody-satisfied .fig { position:absolute; bottom:15%; width:16px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-everybody-satisfied .fig1 { left:20%; animation: es-fig1 4s ease-in-out infinite; }
.scn-everybody-satisfied .fig2 { left:45%; transform:translateX(-50%); animation: es-fig2 3.5s ease-in-out infinite; }
.scn-everybody-satisfied .fig3 { right:20%; animation: es-fig3 5s ease-in-out infinite; }
@keyframes es-glow { 0% { opacity:.6; transform: translateX(-50%) scale(1); } 50% { opacity:1; transform: translateX(-50%) scale(1.1); } 100% { opacity:.7; transform: translateX(-50%) scale(.95); } }
@keyframes es-table { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes es-fig1 { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(0); } }
@keyframes es-fig2 { 0% { transform: translateX(-50%) rotate(1deg); } 50% { transform: translateX(-50%) rotate(-1deg) translateY(-1px); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes es-fig3 { 0% { transform: rotate(0); } 50% { transform: rotate(-3deg) translateY(-2px); } 100% { transform: rotate(0); } }

.scn-adjournments-granted { background: linear-gradient(135deg, #f5e6c8 0%, #d4b896 50%, #b8936e 100%), radial-gradient(ellipse at 50% 20%, #ffe8c0 0%, transparent 70%); }
.scn-adjournments-granted .bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,240,210,.3) 0%, transparent 100%); }
.scn-adjournments-granted .window { position:absolute; top:10%; right:10%; width:30%; height:40%; background: linear-gradient(135deg, #fff8e0 0%, #ffe0a0 100%); border-radius:4px; box-shadow: 0 0 20px rgba(255,200,100,.5); animation: ag-window 8s ease-in-out infinite alternate; }
.scn-adjournments-granted .podium { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); width:60px; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius:4px; box-shadow: 0 -4px 8px rgba(0,0,0,.4); animation: ag-podium 12s ease-in-out infinite; }
.scn-adjournments-granted .fig { position:absolute; bottom:20%; width:20px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-adjournments-granted .fig1 { left:30%; animation: ag-fig1 4s ease-in-out infinite; }
.scn-adjournments-granted .fig2 { right:30%; animation: ag-fig2 5s ease-in-out infinite; }
@keyframes ag-window { 0% { opacity:.9; box-shadow: 0 0 15px rgba(255,200,100,.4); } 50% { opacity:1; box-shadow: 0 0 30px rgba(255,200,100,.7); } 100% { opacity:.85; box-shadow: 0 0 20px rgba(255,200,100,.5); } }
@keyframes ag-podium { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-2px); } 100% { transform: translateX(-50%) translateY(0); } }
@keyframes ag-fig1 { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg) translateY(-3px); } 100% { transform: rotate(0); } }
@keyframes ag-fig2 { 0% { transform: rotate(2deg); } 50% { transform: rotate(-2deg) translateY(-2px); } 100% { transform: rotate(0); } }

.scn-simpkins-extorts-mother { background: linear-gradient(180deg, #1a1a2a 0%, #0d0d1a 100%), radial-gradient(ellipse at 50% 80%, #2a1a0a 0%, transparent 70%); }
.scn-simpkins-extorts-mother .wall { position:absolute; inset:0; background: linear-gradient(180deg, #1a1a2a 0%, #2a1a1a 100%); }
.scn-simpkins-extorts-mother .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #0d0d1a 0%, #1a1a2a 100%); }
.scn-simpkins-extorts-mother .lamp { position:absolute; bottom:40%; left:20%; width:8px; height:14px; background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 6px rgba(200,150,50,.3); }
.scn-simpkins-extorts-mother .lamp-glow { position:absolute; bottom:38%; left:20%; transform:translateX(-50%); width:60px; height:60px; background: radial-gradient(circle, rgba(255,200,100,.3) 0%, rgba(255,150,50,.1) 50%, transparent 80%); border-radius:50%; animation: se-glow 2.5s ease-in-out infinite alternate; }
.scn-simpkins-extorts-mother .chair { position:absolute; bottom:25%; left:30%; width:30px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; box-shadow: 0 -2px 4px rgba(0,0,0,.5); animation: se-chair 8s ease-in-out infinite; }
.scn-simpkins-extorts-mother .fig { position:absolute; bottom:25%; width:14px; height:35px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-simpkins-extorts-mother .fig1 { left:35%; width:16px; height:30px; animation: se-fig1 3s ease-in-out infinite; }
.scn-simpkins-extorts-mother .fig2 { right:20%; width:18px; height:45px; animation: se-fig2 4s ease-in-out infinite; }
@keyframes se-glow { 0% { opacity:.4; transform: translateX(-50%) scale(.9); } 50% { opacity:.8; transform: translateX(-50%) scale(1.1); } 100% { opacity:.5; transform: translateX(-50%) scale(.95); } }
@keyframes se-chair { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes se-fig1 { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes se-fig2 { 0% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0); } }

.scn-o-brien-negligent { background: linear-gradient(135deg, #f0e0c0 0%, #d0b890 50%, #b8a080 100%), radial-gradient(ellipse at 50% 30%, #fff0d0 0%, transparent 70%); }
.scn-o-brien-negligent .wall { position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,240,220,.2) 0%, transparent 100%); }
.scn-o-brien-negligent .window { position:absolute; top:15%; left:15%; width:20%; height:40%; background: linear-gradient(135deg, #fff8e0 0%, #ffe0a0 100%); border-radius:2px; box-shadow: 0 0 15px rgba(255,200,100,.4); animation: on-window 10s ease-in-out infinite alternate; }
.scn-o-brien-negligent .desk { position:absolute; bottom:15%; left:5%; right:5%; height:10%; background: linear-gradient(90deg, #6a5a3a 0%, #8a7a5a 50%, #6a5a3a 100%); border-radius:4px; box-shadow: 0 -3px 6px rgba(0,0,0,.3); }
.scn-o-brien-negligent .chair { position:absolute; bottom:15%; left:40%; width:40px; height:30px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 20% 20%; transform-origin: bottom; animation: on-chair 6s ease-in-out infinite; }
.scn-o-brien-negligent .figure { position:absolute; bottom:20%; left:45%; width:18px; height:40px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom; animation: on-fig 4s ease-in-out infinite; }
.scn-o-brien-negligent .papers { position:absolute; bottom:22%; left:20%; width:30px; height:5px; background: linear-gradient(90deg, #f0e0c0 0%, #d0c0a0 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: on-papers 8s ease-in-out infinite; }
.scn-o-brien-negligent .clock { position:absolute; top:10%; right:20%; width:20px; height:20px; background: radial-gradient(circle, #f0e0c0 30%, #8a7a5a 70%); border-radius:50%; box-shadow: 0 0 4px rgba(0,0,0,.3); animation: on-clock 2s ease-in-out infinite; }
@keyframes on-window { 0% { opacity:.9; box-shadow: 0 0 10px rgba(255,200,100,.3); } 50% { opacity:1; box-shadow: 0 0 25px rgba(255,200,100,.6); } 100% { opacity:.9; box-shadow: 0 0 15px rgba(255,200,100,.4); } }
@keyframes on-chair { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0); } }
@keyframes on-fig { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes on-papers { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(2px) rotate(5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes on-clock { 0% { transform: rotate(0); } 50% { transform: rotate(15deg); } 100% { transform: rotate(0); } }

/* Scene: new-section-beyond-a-reasonable-doubt (calm, dim interior) */
.scn-new-section-beyond-a-reasonable-doubt{
background:linear-gradient(180deg,#2a1a0a 0%,#3a2a1a 60%),radial-gradient(circle at 50% 100%,#5a3a2a 0%,transparent 70%);
position:relative;overflow:hidden;
}
.scn-new-section-beyond-a-reasonable-doubt .a{position:absolute;bottom:10%;left:10%;width:80%;height:28%;background:linear-gradient(180deg,#4a3a2a,#2a1a0a);border-radius:2% 2% 0 0;box-shadow:0 -4px 8px rgba(0,0,0,.5);}
.scn-new-section-beyond-a-reasonable-doubt .b{position:absolute;bottom:24%;left:35%;width:30%;height:34%;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border-radius:50% 50% 0 0/40% 40% 0 0;animation:s1-b 6s ease-in-out infinite;}
.scn-new-section-beyond-a-reasonable-doubt .c{position:absolute;bottom:36%;left:20%;width:8%;height:12%;background:radial-gradient(circle,#f0c068 0%,#b08040 70%);border-radius:50%;box-shadow:0 0 12px 4px #c08040;animation:s1-c 3s ease-in-out infinite alternate;}
.scn-new-section-beyond-a-reasonable-doubt .d{position:absolute;bottom:14%;left:72%;width:4%;height:10%;background:#2a1a0a;border-radius:50%;animation:s1-d 4s ease-in-out infinite;}
.scn-new-section-beyond-a-reasonable-doubt .e{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,transparent,#1a1a1a 80%);opacity:.35;animation:s1-e 12s ease-in-out infinite;}
@keyframes s1-b{0%{transform:translateY(0)}50%{transform:translateY(-4px)}100%{transform:translateY(0)}}
@keyframes s1-c{0%{opacity:.8;box-shadow:0 0 10px 2px #b08040}50%{opacity:1;box-shadow:0 0 18px 6px #f0c068}100%{opacity:.85;box-shadow:0 0 12px 3px #c08040}}
@keyframes s1-d{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(6deg)}100%{transform:translateY(0)rotate(0)}}
@keyframes s1-e{0%{opacity:.25}50%{opacity:.45}100%{opacity:.25}}

/* Scene: danny-lowry-introduction (warm, dim stable) */
.scn-danny-lowry-introduction{
background:linear-gradient(180deg,#3a2a1a 0%,#2a1a0a 50%,#1a0a00 100%),radial-gradient(circle at 50% 0%,#6a4a2a 0%,transparent 80%);
position:relative;overflow:hidden;
}
.scn-danny-lowry-introduction .a{position:absolute;bottom:20%;left:5%;width:55%;height:45%;background:linear-gradient(180deg,#5a3a1a,#3a2010);border-radius:30% 40% 10% 20%/40% 50% 10% 20%;animation:s2-a 8s ease-in-out infinite;}
.scn-danny-lowry-introduction .b{position:absolute;bottom:50%;left:45%;width:25%;height:30%;background:linear-gradient(180deg,#4a3010,#2a1a00);border-radius:40% 40% 20% 20%/50% 50% 20% 20%;animation:s2-b 8s ease-in-out infinite;}
.scn-danny-lowry-introduction .c{position:absolute;bottom:22%;left:40%;width:12%;height:20%;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;animation:s2-c 5s ease-in-out infinite;}
.scn-danny-lowry-introduction .d{position:absolute;bottom:40%;left:70%;width:6%;height:10%;background:radial-gradient(circle,#ffd080,#c08040);border-radius:50%;box-shadow:0 0 14px 4px #c08040;animation:s2-d 3s ease-in-out infinite alternate;}
.scn-danny-lowry-introduction .e{position:absolute;bottom:12%;left:65%;width:30%;height:18%;background:linear-gradient(180deg,#7a5a30,#3a2a10);border-radius:40% 40% 10% 10%;animation:s2-e 10s ease-in-out infinite;}
.scn-danny-lowry-introduction .f{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,transparent 60%,rgba(0,0,0,.5) 100%);opacity:.4;animation:s2-f 15s ease-in-out infinite;}
@keyframes s2-a{0%{transform:translateX(0)scaleY(1)}50%{transform:translateX(-2px)scaleY(1.02)}100%{transform:translateX(0)scaleY(1)}}
@keyframes s2-b{0%{transform:translateX(0)rotate(0)}50%{transform:translateX(1px)rotate(2deg)}100%{transform:translateX(0)rotate(0)}}
@keyframes s2-c{0%{transform:translateX(0)}50%{transform:translateX(4px) translateY(-1px)}100%{transform:translateX(0)}}
@keyframes s2-d{0%{opacity:.9;box-shadow:0 0 12px 3px #c08040}50%{opacity:1;box-shadow:0 0 20px 8px #ffd080}100%{opacity:.85;box-shadow:0 0 14px 4px #c08040}}
@keyframes s2-e{0%{transform:translateY(0)}50%{transform:translateY(-3px)}100%{transform:translateY(0)}}
@keyframes s2-f{0%{opacity:.3}50%{opacity:.5}100%{opacity:.3}}

/* Scene: danny-treats-mare (warm, dim stable close-up) */
.scn-danny-treats-mare{
background:linear-gradient(180deg,#4a2a1a 0%,#2a1a0a 70%),radial-gradient(circle at 30% 70%,#6a3a20 0%,transparent 80%);
position:relative;overflow:hidden;
}
.scn-danny-treats-mare .a{position:absolute;bottom:15%;left:10%;width:70%;height:50%;background:linear-gradient(180deg,#6a4a2a,#3a2a10);border-radius:50% 40% 20% 30%/60% 50% 20% 30%;animation:s3-a 9s ease-in-out infinite;}
.scn-danny-treats-mare .b{position:absolute;bottom:50%;left:20%;width:30%;height:28%;background:linear-gradient(180deg,#5a3a1a,#2a1a00);border-radius:40% 40% 10% 20%/70% 70% 10% 20%;animation:s3-b 9s ease-in-out infinite;}
.scn-danny-treats-mare .c{position:absolute;bottom:22%;left:60%;width:14%;height:24%;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;animation:s3-c 5s ease-in-out infinite;}
.scn-danny-treats-mare .d{position:absolute;bottom:40%;left:50%;width:30%;height:12%;background:linear-gradient(180deg,#8a6a4a,#5a3a20);border-radius:10%;box-shadow:0 2px 6px rgba(0,0,0,.4);animation:s3-d 7s ease-in-out infinite;}
.scn-danny-treats-mare .e{position:absolute;bottom:35%;left:12%;width:5%;height:8%;background:radial-gradient(circle,#ffd080,#c08040);border-radius:50%;box-shadow:0 0 10px 3px #c08040;animation:s3-e 3s ease-in-out infinite alternate;}
@keyframes s3-a{0%{transform:translateX(0)scaleY(1)}50%{transform:translateX(-1px)scaleY(1.01)}100%{transform:translateX(0)scaleY(1)}}
@keyframes s3-b{0%{transform:rotate(0)}50%{transform:rotate(2deg) translateY(1px)}100%{transform:rotate(0)}}
@keyframes s3-c{0%{transform:translateX(0)}50%{transform:translateX(3px) translateY(-1px)}100%{transform:translateX(0)}}
@keyframes s3-d{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes s3-e{0%{opacity:.85;box-shadow:0 0 8px 2px #c08040}50%{opacity:1;box-shadow:0 0 16px 6px #ffd080}100%{opacity:.9;box-shadow:0 0 10px 3px #c08040}}

/* Scene: danny-arrested (tense, dawn) */
.scn-danny-arrested{
background:linear-gradient(180deg,#5a6a7a 0%,#8a9a9a 30%,#c0c0b0 60%,#e0d0b0 100%),radial-gradient(circle at 20% 80%,#b08050 0%,transparent 70%);
position:relative;overflow:hidden;
}
.scn-danny-arrested .a{position:absolute;bottom:15%;left:30%;width:18%;height:35%;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border-radius:30% 30% 20% 20%/50% 50% 20% 20%;animation:s4-a 4s ease-in-out infinite;}
.scn-danny-arrested .b{position:absolute;bottom:18%;left:50%;width:35%;height:40%;background:linear-gradient(180deg,#3a3a2a,#1a1a10);border-radius:20% 10% 30% 30%/40% 20% 30% 30%;box-shadow:-2px 0 4px rgba(0,0,0,.3);animation:s4-b 8s ease-in-out infinite;}
.scn-danny-arrested .c{position:absolute;inset:0 0 30% 0;background:linear-gradient(180deg,transparent 30%,#c0c0b0 80%);opacity:.5;animation:s4-c 12s ease-in-out infinite alternate;}
.scn-danny-arrested .d{position:absolute;bottom:0;left:0;width:100%;height:30%;background:linear-gradient(180deg,#6a6a5a,#4a4a3a);border-radius:20% 20% 0 0;animation:s4-d 6s ease-in-out infinite;}
.scn-danny-arrested .e{position:absolute;bottom:40%;left:35%;width:3%;height:4%;background:radial-gradient(circle,#ff8a40,#d06a20);border-radius:50%;box-shadow:0 0 8px 2px #d06a20,0 0 16px 6px rgba(208,106,32,.4);animation:s4-e 2s ease-in-out infinite alternate;}
.scn-danny-arrested .f{position:absolute;top:5%;right:15%;width:25%;height:8%;background:rgba(255,255,255,.2);border-radius:50%;filter:blur(3px);animation:s4-f 30s linear infinite;}
@keyframes s4-a{0%{transform:translateX(0)rotate(0)}50%{transform:translateX(2px)rotate(2deg)}100%{transform:translateX(0)rotate(0)}}
@keyframes s4-b{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes s4-c{0%{opacity:.4}50%{opacity:.7}100%{opacity:.4}}
@keyframes s4-d{0%{background-position:0 0}50%{background-position:0 5px}100%{background-position:0 0}}
@keyframes s4-e{0%{opacity:.7;box-shadow:0 0 6px 2px #d06a20}50%{opacity:1;box-shadow:0 0 12px 5px #ff8a40}100%{opacity:.8;box-shadow:0 0 8px 3px #d06a20}}
@keyframes s4-f{0%{transform:translateX(0)}100%{transform:translateX(-100vw)}}

.scn-althea-patriotic-consistency {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #a68a6a 100%),
              radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%);
}
.scn-althea-patriotic-consistency .window-frame {
  position: absolute; top: 5%; left: 10%; width: 40%; height: 50%;
  border: 8px solid #8b7355; background: transparent; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.scn-althea-patriotic-consistency .window-glass {
  position: absolute; top: 6%; left: 12%; width: 36%; height: 46%;
  background: linear-gradient(135deg, #fff8e0 0%, #f0e0b0 50%, #ffe8c0 100%);
  opacity: 0.8; border-radius: 2px;
  animation: apc-sunlight 12s ease-in-out infinite alternate;
}
.scn-althea-patriotic-consistency .desk {
  position: absolute; bottom: 8%; left: 25%; width: 50%; height: 18%;
  background: linear-gradient(180deg, #8b5a2b 0%, #6b4226 100%);
  border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-althea-patriotic-consistency .chair {
  position: absolute; bottom: 10%; left: 35%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a2210 100%);
  border-radius: 10% 10% 5% 5%; transform-origin: bottom center;
  animation: apc-chair 8s ease-in-out infinite;
}
.scn-althea-patriotic-consistency .figure-woman {
  position: absolute; bottom: 18%; left: 38%; width: 10%; height: 45%;
  background: linear-gradient(180deg, #c48a5c 0%, #a06a42 40%, #704830 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: apc-figure 6s ease-in-out infinite;
}
.scn-althea-patriotic-consistency .flag {
  position: absolute; top: 8%; right: 15%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #c8553d 0%, #c8553d 20%, #fff 20%, #fff 40%, #c8553d 40%, #c8553d 60%, #fff 60%, #fff 80%, #c8553d 80%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
  animation: apc-flag 4s ease-in-out infinite;
}
.scn-althea-patriotic-consistency .sunbeam {
  position: absolute; top: 6%; left: 12%; width: 36%; height: 46%;
  background: linear-gradient(135deg, rgba(255,255,200,0.4) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
  animation: apc-beam 18s linear infinite;
}
.scn-althea-patriotic-consistency .shadow-panel {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.2) 100%);
  pointer-events: none;
}
@keyframes apc-sunlight { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes apc-chair { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } }
@keyframes apc-figure { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } }
@keyframes apc-flag { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(2deg); } }
@keyframes apc-beam { 0% { transform: translateX(0); } 50% { transform: translateX(10px); } 100% { transform: translateX(-10px); } }

.scn-althea-prison-visits {
  background: linear-gradient(180deg, #2c3e5e 0%, #1a2a3a 50%, #0f1a26 100%),
              radial-gradient(ellipse at 50% 40%, #3a4e6e 0%, transparent 60%);
}
.scn-althea-prison-visits .cell-wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%);
  border: 4px solid #4a5a6a; box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}
.scn-althea-prison-visits .cell-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
}
.scn-althea-prison-visits .barred-window {
  position: absolute; top: 15%; left: 50%; transform: translateX(-50%);
  width: 20%; height: 25%;
  background: radial-gradient(ellipse at 50% 30%, #6a8aaa 0%, #2a3a4a 80%);
  border: 6px solid #5a6a7a; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(200,220,255,0.2);
  animation: apv-window 15s ease-in-out infinite alternate;
}
.scn-althea-prison-visits .window-bars {
  position: absolute; top: 15%; left: 50%; transform: translateX(-50%);
  width: 20%; height: 25%;
  background: repeating-linear-gradient(90deg, #4a5a6a 0px, #4a5a6a 4px, transparent 4px, transparent 20px);
  pointer-events: none;
}
.scn-althea-prison-visits .lantern {
  position: absolute; bottom: 30%; left: 20%; width: 8%; height: 12%;
  background: radial-gradient(circle, #ffd080 0%, #c08030 60%);
  border-radius: 50%; box-shadow: 0 0 30px 10px rgba(255,200,100,0.6);
  animation: apv-lantern 4s ease-in-out infinite alternate;
}
.scn-althea-prison-visits .figure-sitting {
  position: absolute; bottom: 22%; left: 35%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: apv-sit 10s ease-in-out infinite;
}
.scn-althea-prison-visits .shadow-figure {
  position: absolute; bottom: 10%; left: 30%; width: 20%; height: 25%;
  background: rgba(0,0,0,0.4); border-radius: 50%; filter: blur(10px);
  animation: apv-shadow 10s ease-in-out infinite alternate;
}
@keyframes apv-window { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes apv-lantern { 0% { box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); } 50% { box-shadow: 0 0 40px 15px rgba(255,200,100,0.7); } 100% { box-shadow: 0 0 20px 5px rgba(255,200,100,0.4); } }
@keyframes apv-sit { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes apv-shadow { 0% { transform: scaleY(1); } 100% { transform: scaleY(0.9); } }

.scn-tutt-office-oconnell-discussion {
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 50%, #a89878 100%),
              linear-gradient(135deg, #fff8e0 0%, transparent 50%);
}
.scn-tutt-office-oconnell-discussion .wall-panel {
  position: absolute; top: 0; left: 0; right: 0; height: 60%;
  background: repeating-linear-gradient(90deg, #b8a888 0px, #b8a888 2px, #a89878 2px, #a89878 4px);
  border-bottom: 4px solid #8a7a5a;
}
.scn-tutt-office-oconnell-discussion .desk {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #6a5a3a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-tutt-office-oconnell-discussion .chair-tutt {
  position: absolute; bottom: 20%; left: 25%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 10% 10% 5% 5%; transform-origin: bottom center;
  animation: tod-chair 3s ease-in-out infinite;
}
.scn-tutt-office-oconnell-discussion .chair-oconnell {
  position: absolute; bottom: 20%; right: 25%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 10% 10% 5% 5%; transform-origin: bottom center;
  animation: tod-chair 3s ease-in-out infinite reverse;
}
.scn-tutt-office-oconnell-discussion .hat-rack {
  position: absolute; top: 15%; left: 5%; width: 6%; height: 35%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 5% 5%;
}
.scn-tutt-office-oconnell-discussion .hat-rack::after {
  content: ''; position: absolute; top: -20%; left: -20%; width: 140%; height: 30%;
  background: radial-gradient(ellipse, #4a3a2a 0%, transparent 100%);
}
.scn-tutt-office-oconnell-discussion .fig-tutt {
  position: absolute; bottom: 18%; left: 28%; width: 10%; height: 45%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tod-fig 2s ease-in-out infinite alternate;
}
.scn-tutt-office-oconnell-discussion .fig-oconnell {
  position: absolute; bottom: 18%; right: 28%; width: 10%; height: 45%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tod-fig 2.5s ease-in-out infinite alternate;
}
.scn-tutt-office-oconnell-discussion .lamp {
  position: absolute; top: 10%; left: 50%; transform: translateX(-50%);
  width: 8%; height: 20%;
  background: radial-gradient(circle at 50% 80%, #ffe8a0 0%, #b09050 70%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 40px 20px #ffe8a0, 0 0 80px 40px rgba(255,232,160,0.3);
  animation: tod-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-office-oconnell-discussion .shadow-harsh {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%);
}
@keyframes tod-chair { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tod-fig { 0% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(-2px) rotate(1deg); } }
@keyframes tod-lamp { 0% { box-shadow: 0 0 30px 15px #ffe8a0, 0 0 60px 30px rgba(255,232,160,0.2); opacity: 0.9; } 50% { box-shadow: 0 0 50px 25px #ffe8a0, 0 0 100px 50px rgba(255,232,160,0.4); opacity: 1; } 100% { box-shadow: 0 0 30px 15px #ffe8a0, 0 0 60px 30px rgba(255,232,160,0.2); opacity: 0.9; } }

.scn-oconnell-motives-rumor {
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 40%, #1a0a00 100%),
              radial-gradient(ellipse at 60% 30%, #8a6a4a 0%, transparent 70%);
}
.scn-oconnell-motives-rumor .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #3a2a1a 0%, #1a0a00 100%);
  opacity: 0.8;
}
.scn-oconnell-motives-rumor .table {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 15%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.8);
}
.scn-oconnell-motives-rumor .lamp-bright {
  position: absolute; top: 15%; left: 50%; transform: translateX(-50%);
  width: 6%; height: 20%;
  background: radial-gradient(circle at 50% 80%, #ffe8a0 0%, #a08040 70%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 60px 30px #ffe8a0, 0 0 120px 60px rgba(255,232,160,0.3);
  animation: omr-lamp 2s ease-in-out infinite alternate;
}
.scn-oconnell-motives-rumor .fig-bonnie {
  position: absolute; bottom: 22%; left: 20%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: omr-fig 3s ease-in-out infinite;
}
.scn-oconnell-motives-rumor .fig-tutt-bg {
  position: absolute; bottom: 22%; right: 25%; width: 12%; height: 50%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 60%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: omr-fig 3.5s ease-in-out infinite reverse;
  opacity: 0.8;
}
.scn-oconnell-motives-rumor .gun {
  position: absolute; bottom: 30%; left: 30%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(15deg);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  animation: omr-gun 2s ease-in-out infinite alternate;
}
.scn-oconnell-motives-rumor .shadow-tall {
  position: absolute; bottom: 0; left: 10%; width: 30%; height: 70%;
  background: rgba(0,0,0,0.5); filter: blur(15px);
  animation: omr-shadow 5s ease-in-out infinite alternate;
}
.scn-oconnell-motives-rumor .rumor-mist {
  position: absolute; top: 20%; left: 0; right: 0; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, rgba(200,180,160,0.15) 0%, transparent 70%);
  animation: omr-mist 20s linear infinite;
}
@keyframes omr-lamp { 0% { box-shadow: 0 0 40px 20px #ffe8a0, 0 0 80px 40px rgba(255,232,160,0.2); } 50% { box-shadow: 0 0 60px 30px #ffe8a0, 0 0 120px 60px rgba(255,232,160,0.4); } 100% { box-shadow: 0 0 40px 20px #ffe8a0, 0 0 80px 40px rgba(255,232,160,0.2); } }
@keyframes omr-fig { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes omr-gun { 0% { transform: rotate(10deg) scaleY(1); } 50% { transform: rotate(20deg) scaleY(1.05); } 100% { transform: rotate(10deg) scaleY(1); } }
@keyframes omr-shadow { 0% { transform: scaleX(1); opacity: 0.5; } 100% { transform: scaleX(1.2); opacity: 0.7; } }
@keyframes omr-mist { 0% { transform: translateY(0); opacity: 0; } 50% { opacity: 0.5; } 100% { transform: translateY(20px); opacity: 0; } }

.scn-delany-committed {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a3a4e 100%), radial-gradient(ellipse at 30% 20%, #c0c0d0 0%, transparent 60%);
}
.scn-delany-committed .courtroom-bg {
  position: absolute; inset: 0; background: linear-gradient(135deg, #2a2a3e 0%, #1a1a2e 100%); animation: dc-bg 12s ease-in-out infinite alternate;
}
.scn-delany-committed .judge-bench {
  position: absolute; bottom: 20%; left: 5%; width: 30%; height: 30%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 8px 16px rgba(0,0,0,0.6); animation: dc-bench 15s ease-in-out infinite;
}
.scn-delany-committed .witness-chair {
  position: absolute; bottom: 30%; left: 40%; width: 12%; height: 20%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20%; box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3); animation: dc-chair 10s ease-in-out infinite;
}
.scn-delany-committed .figure-delany {
  position: absolute; bottom: 28%; left: 38%; width: 8%; height: 16%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dc-faint 4s ease-in-out infinite;
}
.scn-delany-committed .bailiff {
  position: absolute; bottom: 28%; left: 55%; width: 7%; height: 18%; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dc-bailiff 6s ease-in-out infinite;
}
.scn-delany-committed .window-light {
  position: absolute; top: 10%; left: 60%; width: 20%; height: 30%; background: radial-gradient(ellipse at 50% 50%, rgba(192,192,208,0.4) 0%, rgba(192,192,208,0.1) 50%, transparent 100%); animation: dc-light 3s ease-in-out infinite alternate;
}
.scn-delany-committed .papers {
  position: absolute; bottom: 15%; left: 20%; width: 10%; height: 5%; background: #d0c0a0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: dc-papers 8s ease-in-out infinite;
}
@keyframes dc-bg { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes dc-bench { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes dc-chair { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(1deg); } }
@keyframes dc-faint { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(-15deg) translateY(-10px); } 60% { transform: rotate(-30deg) translateY(-20px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes dc-bailiff { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
@keyframes dc-light { 0% { opacity: 0.5; box-shadow: 0 0 20px 10px rgba(192,192,208,0.3); } 100% { opacity: 1; box-shadow: 0 0 40px 20px rgba(192,192,208,0.6); } }
@keyframes dc-papers { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(3deg); } 50% { transform: translateX(-3px) rotate(-2deg); } 75% { transform: translateX(4px) rotate(1deg); } }

.scn-district-attorney-actions {
  background: linear-gradient(180deg, #1a2a3a 0%, #2a3a4a 50%, #3a4a5a 100%), radial-gradient(ellipse at 70% 50%, #a0a0c0 0%, transparent 60%);
}
.scn-district-attorney-actions .da-desk {
  position: absolute; bottom: 20%; left: 20%; width: 60%; height: 25%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.5); animation: da-desk 20s ease-in-out infinite;
}
.scn-district-attorney-actions .da-documents {
  position: absolute; bottom: 30%; left: 30%; width: 15%; height: 10%; background: #c0b090; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: da-docs 5s ease-in-out infinite;
}
.scn-district-attorney-actions .da-gavel {
  position: absolute; bottom: 25%; left: 50%; width: 8%; height: 12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 50% 50%; animation: da-gavel 7s ease-in-out infinite;
}
.scn-district-attorney-actions .da-figure {
  position: absolute; bottom: 22%; left: 10%; width: 10%; height: 30%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: da-figure 4s ease-in-out infinite;
}
.scn-district-attorney-actions .da-lamp {
  position: absolute; top: 30%; left: 70%; width: 10%; height: 15%; background: radial-gradient(ellipse at 50% 100%, #c08040 0%, #a06020 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 20px 10px rgba(192,128,64,0.5); animation: da-lamp 3s ease-in-out infinite alternate;
}
.scn-district-attorney-actions .da-flag {
  position: absolute; top: 5%; right: 10%; width: 15%; height: 20%; background: linear-gradient(180deg, #2a4a6a 0%, #2a4a6a 50%, #c0a060 50%, #c0a060 100%); border-radius: 2px; animation: da-flag 10s ease-in-out infinite;
}
.scn-district-attorney-actions .da-shadow {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 5%; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0.4) 0%, transparent 100%); animation: da-shade 8s ease-in-out infinite;
}
@keyframes da-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes da-docs { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(5px) rotate(5deg); } 60% { transform: translateX(-2px) rotate(-3deg); } 100% { transform: translateX(0); } }
@keyframes da-gavel { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(15deg); } 50% { transform: rotate(-10deg); } 75% { transform: rotate(5deg); } }
@keyframes da-figure { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-5deg) translateY(-2px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(-3deg) translateY(-1px); } 100% { transform: rotate(0deg); } }
@keyframes da-lamp { 0% { opacity: 0.8; box-shadow: 0 0 20px 8px rgba(192,128,64,0.4); } 100% { opacity: 1; box-shadow: 0 0 40px 20px rgba(192,128,64,0.7); } }
@keyframes da-flag { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes da-shade { 0%,100% { opacity: 0.5; } 50% { opacity: 0.8; } }

.scn-judge-on-wrongful-imprisonment {
  background: linear-gradient(180deg, #5a4a3a 0%, #6a5a4a 50%, #7a6a5a 100%), radial-gradient(ellipse at 50% 30%, #d0b080 0%, transparent 70%);
}
.scn-judge-on-wrongful-imprisonment .jw-bench {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 30%; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 8px 16px rgba(0,0,0,0.4); animation: jw-bench 15s ease-in-out infinite;
}
.scn-judge-on-wrongful-imprisonment .jw-flag {
  position: absolute; top: 5%; right: 5%; width: 15%; height: 25%; background: linear-gradient(180deg, #2a4a3a 0%, #2a4a3a 50%, #c0a070 50%, #c0a070 100%); border-radius: 2px; animation: jw-flag 12s ease-in-out infinite;
}
.scn-judge-on-wrongful-imprisonment .jw-gavel {
  position: absolute; bottom: 25%; left: 40%; width: 6%; height: 10%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 20% 20% 50% 50%; animation: jw-gavel 8s ease-in-out infinite;
}
.scn-judge-on-wrongful-imprisonment .jw-judge {
  position: absolute; bottom: 22%; left: 18%; 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: jw-judge 6s ease-in-out infinite;
}
.scn-judge-on-wrongful-imprisonment .jw-lamp {
  position: absolute; top: 30%; left: 70%; width: 10%; height: 20%; background: radial-gradient(ellipse at 50% 100%, #d0a050 0%, #b08040 100%); border-radius: 40% 40% 10% 10%; box-shadow: 0 0 25px 15px rgba(208,160,80,0.6); animation: jw-lamp 4s ease-in-out infinite alternate;
}
.scn-judge-on-wrongful-imprisonment .jw-candle {
  position: absolute; bottom: 15%; left: 60%; width: 4%; height: 12%; background: linear-gradient(180deg, #d0a050 0%, #c08040 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 0 12px 6px rgba(208,160,80,0.5); animation: jw-candle 3s ease-in-out infinite alternate;
}
.scn-judge-on-wrongful-imprisonment .jw-documents {
  position: absolute; bottom: 28%; left: 30%; width: 12%; height: 8%; background: #d0c0a0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: jw-docs 10s ease-in-out infinite;
}
@keyframes jw-bench { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes jw-flag { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes jw-gavel { 0%,100% { transform: rotate(0deg); } 30% { transform: rotate(5deg); } 60% { transform: rotate(-3deg); } 100% { transform: rotate(0deg); } }
@keyframes jw-judge { 0% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(2deg) scaleY(1.01); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes jw-lamp { 0% { opacity: 0.8; box-shadow: 0 0 25px 15px rgba(208,160,80,0.4); } 100% { opacity: 1; box-shadow: 0 0 40px 25px rgba(208,160,80,0.7); } }
@keyframes jw-candle { 0% { transform: scaleY(1); opacity: 0.9; } 100% { transform: scaleY(1.05); opacity: 1; } }
@keyframes jw-docs { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }

.scn-deacon-wishes-for-thousand {
  background: linear-gradient(180deg, #4a90d9 0%, #5a9fdf 50%, #6ab0e9 100%), radial-gradient(ellipse at 50% 20%, #a0d0f0 0%, transparent 60%);
}
.scn-deacon-wishes-for-thousand .dw-desk {
  position: absolute; bottom: 20%; left: 15%; width: 70%; height: 25%; background: linear-gradient(180deg, #d0a060 0%, #c09050 100%); border-radius: 4% 4% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.3); animation: dw-desk 6s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-deacon {
  position: absolute; bottom: 22%; left: 20%; width: 10%; height: 30%; background: linear-gradient(180deg, #2a4a6a 0%, #1a3a5a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dw-deacon 2s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-moneybag {
  position: absolute; bottom: 28%; left: 50%; width: 8%; height: 10%; background: linear-gradient(180deg, #b08050 0%, #906040 100%); border-radius: 30% 30% 50% 50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: dw-bag 1.5s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-letter {
  position: absolute; bottom: 32%; left: 35%; width: 10%; height: 6%; background: #f0e0c0; border-radius: 2px; transform: rotate(-10deg); box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: dw-letter 3s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-hat {
  position: absolute; bottom: 50%; left: 22%; width: 8%; height: 6%; background: #f0d060; border-radius: 40% 40% 10% 10%; transform-origin: bottom center; animation: dw-hat 1s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-chair {
  position: absolute; bottom: 18%; left: 18%; width: 12%; height: 15%; background: linear-gradient(180deg, #60b060 0%, #409040 100%); border-radius: 10% 10% 20% 20%; animation: dw-chair 4s ease-in-out infinite;
}
.scn-deacon-wishes-for-thousand .dw-sparkle {
  position: absolute; top: 20%; left: 40%; width: 4%; height: 4%; background: #ffffff; border-radius: 50%; box-shadow: 0 0 10px 5px rgba(255,255,255,0.8); animation: dw-sparkle 0.8s ease-in-out infinite alternate;
}
@keyframes dw-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes dw-deacon { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-5px) rotate(3deg); } 50% { transform: translateY(0) rotate(0deg); } 75% { transform: translateY(-3px) rotate(-3deg); } 100% { transform: translateY(0); } }
@keyframes dw-bag { 0% { transform: scale(1) rotate(0deg); } 25% { transform: scale(1.1) rotate(5deg); } 50% { transform: scale(1) rotate(0deg); } 75% { transform: scale(1.05) rotate(-5deg); } 100% { transform: scale(1); } }
@keyframes dw-letter { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-5px); } }
@keyframes dw-hat { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-8px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes dw-chair { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(2deg); } }
@keyframes dw-sparkle { 0% { opacity: 0.5; transform: scale(1); } 100% { opacity: 1; transform: scale(1.5); } }

.scn-d.a.-laughs {
  background: linear-gradient(135deg, #f5e6c8 0%, #e0c9a0 50%, #c8a880 100%),
              radial-gradient(ellipse at 70% 40%, #ffdab0 0%, transparent 60%);
}
.scn-d.a.-laughs .wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0e0c0 0%, #dcc8a0 40%, #b8a080 100%);
  border-radius: 0; box-shadow: inset 0 0 30px rgba(0,0,0,0.05);
}
.scn-d.a.-laughs .window {
  position: absolute; top: 8%; right: 12%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #c0e8ff 0%, #a0d4f0 100%);
  border: 4px solid #8a6e4e; border-radius: 6px; box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: dal-sun 15s ease-in-out infinite alternate;
}
.scn-d.a.-laughs .desk {
  position: absolute; bottom: 10%; left: 10%; width: 70%; height: 20%;
  background: linear-gradient(180deg, #8b5e3c 0%, #6e4a2e 100%);
  border-radius: 4px; box-shadow: 0 8px 12px rgba(0,0,0,0.3), inset 0 2px 6px rgba(255,200,100,0.1);
}
.scn-d.a.-laughs .chair {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 30%;
  background: radial-gradient(ellipse at 50% 30%, #9a4a3a 0%, #5e2a1a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: dal-rock 3s ease-in-out infinite alternate;
}
.scn-d.a.-laughs .figure {
  position: absolute; bottom: 28%; left: 42%; width: 14%; height: 30%;
  background: radial-gradient(ellipse at 50% 40%, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 45% 45% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center;
  animation: dal-laugh 0.6s ease-in-out infinite;
}
.scn-d.a.-laughs .lamp {
  position: absolute; bottom: 30%; left: 15%; width: 10%; height: 18%;
  background: radial-gradient(ellipse at 50% 80%, #d09050 0%, #8a5a2a 100%);
  border-radius: 10% 10% 40% 40%; box-shadow: 0 -10px 30px 10px rgba(255,200,100,0.4);
  animation: dal-sway 4s ease-in-out infinite alternate;
}
.scn-d.a.-laughs .papers {
  position: absolute; bottom: 14%; left: 55%; width: 10%; height: 4%;
  background: linear-gradient(90deg, #f5f0e0 0%, #e8dcc0 50%, #d8c8a0 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.1);
  animation: dal-shuffle 6s ease-in-out infinite;
}
.scn-d.a.-laughs .clock {
  position: absolute; top: 10%; left: 8%; width: 10%; height: 14%;
  background: radial-gradient(circle, #f0e8d0 0%, #c8b090 60%, #a08060 100%);
  border-radius: 50%; border: 3px solid #6e4e2e; box-shadow: 0 0 6px rgba(0,0,0,0.2);
  animation: dal-tick 2s steps(2) infinite;
}
@keyframes dal-sun {
  0% { background: linear-gradient(180deg, #c0e8ff 0%, #a0d4f0 100%); opacity: 0.8; }
  50% { background: linear-gradient(180deg, #d8f0ff 0%, #b8e0f8 100%); opacity: 1; }
  100% { background: linear-gradient(180deg, #b8ddf0 0%, #90cce0 100%); opacity: 0.9; }
}
@keyframes dal-rock {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(4deg); }
  100% { transform: rotate(-2deg); }
}
@keyframes dal-laugh {
  0% { transform: translateY(0) rotate(-3deg) scaleY(1); }
  25% { transform: translateY(-2%) rotate(2deg) scaleY(1.05); }
  50% { transform: translateY(0) rotate(4deg) scaleY(1); }
  75% { transform: translateY(-1%) rotate(-1deg) scaleY(1.03); }
  100% { transform: translateY(0) rotate(0deg) scaleY(1); }
}
@keyframes dal-sway {
  0% { transform: rotate(-5deg); box-shadow: 0 -10px 30px 10px rgba(255,200,100,0.4); }
  50% { transform: rotate(8deg); box-shadow: 0 -10px 40px 15px rgba(255,200,100,0.6); }
  100% { transform: rotate(-5deg); box-shadow: 0 -10px 25px 8px rgba(255,200,100,0.3); }
}
@keyframes dal-shuffle {
  0% { transform: translateX(0) rotate(0deg); }
  33% { transform: translateX(3%) rotate(2deg); }
  66% { transform: translateX(-2%) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes dal-tick {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

/* d.a.-camel-joke – bright courtroom interior */
.scn-d.a.-camel-joke {
  background: linear-gradient(180deg, #f5e6d3 0%, #e8d5b7 50%, #d4bfa5 100%), 
              radial-gradient(ellipse at 50% 20%, #fff8f0 0%, transparent 70%);
}
.scn-d.a.-camel-joke .wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #d4bfa5 0%, #c4af95 100%);
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  animation: caj-wall 30s ease-in-out infinite alternate;
}
.scn-d.a.-camel-joke .window {
  position: absolute; top: 5%; left: 10%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #fff8f0 0%, #f0e0c8 100%);
  border-radius: 4% 4% 6% 6%;
  box-shadow: inset 0 0 30px 10px rgba(255,248,240,0.5);
  animation: caj-window 8s ease-in-out infinite alternate;
}
.scn-d.a.-camel-joke .bench {
  position: absolute; top: 2%; left: 35%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #8b7355 0%, #6b5638 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.scn-d.a.-camel-joke .jury {
  position: absolute; right: 3%; top: 18%; width: 22%; height: 40%;
  background: linear-gradient(180deg, #a09070 0%, #7a6d50 100%);
  border-radius: 10% 10% 20% 20% / 5% 5% 15% 15%;
  box-shadow: -4px 0 8px rgba(0,0,0,0.15);
}
.scn-d.a.-camel-joke .podium {
  position: absolute; bottom: 18%; left: 38%; width: 24%; height: 10%;
  background: linear-gradient(180deg, #9a7b5a 0%, #7a5d3f 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.scn-d.a.-camel-joke .lawyer {
  position: absolute; bottom: 20%; left: 28%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: caj-lawyer 6s ease-in-out infinite;
}
.scn-d.a.-camel-joke .witness {
  position: absolute; bottom: 20%; left: 48%; width: 9%; height: 16%;
  background: linear-gradient(180deg, #2a2015 0%, #1a1208 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: caj-witness 7s ease-in-out infinite alternate;
}
.scn-d.a.-camel-joke .gavel {
  position: absolute; bottom: 26%; left: 42%; width: 4%; height: 3%;
  background: #5a3a1a;
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 0 1px #8b6914;
  transform-origin: top center;
  animation: caj-gavel 2s ease-in-out infinite;
}
@keyframes caj-wall {
  0% { opacity: 0.92; }
  50% { opacity: 1; }
  100% { opacity: 0.88; }
}
@keyframes caj-window {
  0% { box-shadow: inset 0 0 20px 8px rgba(255,248,240,0.3), 0 0 40px 10px rgba(255,248,240,0.2); }
  50% { box-shadow: inset 0 0 40px 15px rgba(255,248,240,0.7), 0 0 80px 20px rgba(255,248,240,0.4); }
  100% { box-shadow: inset 0 0 25px 10px rgba(255,248,240,0.4), 0 0 50px 15px rgba(255,248,240,0.25); }
}
@keyframes caj-lawyer {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-3px) rotate(-1.5deg); }
  100% { transform: translateX(2px) rotate(1deg); }
}
@keyframes caj-witness {
  0% { transform: rotate(0deg) scaleY(1); }
  50% { transform: rotate(3deg) scaleY(1.03); }
  100% { transform: rotate(-2deg) scaleY(0.98); }
}
@keyframes caj-gavel {
  0%,100% { transform: translateY(0) rotate(-5deg); }
  15% { transform: translateY(-6px) rotate(10deg); }
  30% { transform: translateY(2px) rotate(-10deg); }
  50% { transform: translateY(0) rotate(0deg); }
  70% { transform: translateY(-3px) rotate(8deg); }
  85% { transform: translateY(1px) rotate(-4deg); }
}

/* d.a.-suggests-wetherell – office with sleepy figure and camel */
.scn-d.a.-suggests-wetherell {
  background: linear-gradient(180deg, #f5e6d3 0%, #e0d0be 40%, #c8b8a6 100%),
              radial-gradient(ellipse at 50% 80%, #fff8f0 0%, transparent 60%);
}
.scn-d.a.-suggests-wetherell .wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #d4c4b2 0%, #c0b0a0 100%);
  border-radius: 0 0 15% 15% / 0 0 8% 8%;
  animation: wth-wall 40s ease-in-out infinite alternate;
}
.scn-d.a.-suggests-wetherell .desk {
  position: absolute; bottom: 12%; left: 15%; right: 15%; height: 25%;
  background: linear-gradient(180deg, #8a7a66 0%, #6a5d4c 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.scn-d.a.-suggests-wetherell .lamp {
  position: absolute; bottom: 38%; left: 32%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #c8a86e 0%, #a08050 100%);
  border-radius: 40% 40% 20% 20%;
  box-shadow: 0 0 25px 10px rgba(255,220,160,0.6);
  animation: wth-lamp 4s ease-in-out infinite alternate;
}
.scn-d.a.-suggests-wetherell .sleeping {
  position: absolute; bottom: 16%; left: 20%; width: 12%; height: 10%;
  background: linear-gradient(180deg, #1a1a22 0%, #0a0a12 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: wth-sleep 4s ease-in-out infinite;
}
.scn-d.a.-suggests-wetherell .other {
  position: absolute; bottom: 16%; left: 55%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #2a2a32 0%, #1a1a22 100%);
  border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: wth-other 6s ease-in-out infinite alternate;
}
.scn-d.a.-suggests-wetherell .camel {
  position: absolute; bottom: 16%; left: 68%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #b09070 0%, #8a7055 100%);
  border-radius: 50% 50% 40% 40% / 30% 30% 70% 70%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: wth-camel 3s ease-in-out infinite;
}
.scn-d.a.-suggests-wetherell .paper {
  position: absolute; bottom: 28%; left: 30%; width: 8%; height: 2%;
  background: #f5edd0;
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
  animation: wth-paper 7s ease-in-out infinite alternate;
}
@keyframes wth-wall {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes wth-lamp {
  0% { box-shadow: 0 0 20px 8px rgba(255,220,160,0.4), 0 0 40px 15px rgba(255,220,160,0.2); opacity: 0.9; }
  50% { box-shadow: 0 0 35px 12px rgba(255,220,160,0.8), 0 0 70px 25px rgba(255,220,160,0.4); opacity: 1; }
  100% { box-shadow: 0 0 22px 9px rgba(255,220,160,0.5), 0 0 45px 18px rgba(255,220,160,0.25); opacity: 0.95; }
}
@keyframes wth-sleep {
  0% { transform: scaleY(1) translateY(0); }
  50% { transform: scaleY(1.04) translateY(-2px); }
  100% { transform: scaleY(0.98) translateY(0); }
}
@keyframes wth-other {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(3px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(1px) rotate(1deg); }
}
@keyframes wth-camel {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-3px) rotate(-1.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes wth-paper {
  0% { transform: translate(0,0) rotate(-5deg); }
  25% { transform: translate(4px,2px) rotate(2deg); }
  50% { transform: translate(-2px,-1px) rotate(3deg); }
  75% { transform: translate(2px,-2px) rotate(-4deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

.scn-d-a-suggests-wetherell {
  background:
    linear-gradient(180deg, #fcf5e8 0%, #f0e2c8 40%, #dac8a4 100%),
    radial-gradient(ellipse at 50% 20%, #fff7e0 0%, transparent 60%);
}
.scn-d-a-suggests-wetherell .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 18%;
  background: linear-gradient(180deg, #b8956a 0%, #8f6f48 100%);
  border-radius: 20% 20% 0 0;
}
.scn-d-a-suggests-wetherell .desk {
  position: absolute; bottom: 18%; left: 15%; width: 70%; height: 14%;
  background: linear-gradient(180deg, #7a5f3a 0%, #4d381e 100%);
  border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-d-a-suggests-wetherell .da {
  position: absolute; bottom: 32%; left: 10%; width: 28px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f150a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: -2px 0 6px rgba(0,0,0,0.2);
  animation: daw-da 3s ease-in-out infinite;
}
.scn-d-a-suggests-wetherell .wetherell {
  position: absolute; bottom: 24%; left: 50%; width: 34px; height: 40px;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(10deg);
  animation: daw-sleep 4s ease-in-out infinite;
}
.scn-d-a-suggests-wetherell .camel {
  position: absolute; bottom: 30%; right: 8%; width: 50px; height: 60px;
  background: radial-gradient(ellipse at 40% 50%, #c9a872 0%, #9c7e50 60%, #6b542e 100%);
  border-radius: 40% 50% 30% 40% / 50% 40% 60% 50%;
  animation: daw-camel 5s ease-in-out infinite;
}
.scn-d-a-suggests-wetherell .lamp {
  position: absolute; bottom: 34%; left: 35%; width: 20px; height: 28px;
  background: radial-gradient(ellipse at 50% 80%, #ffd78a 0%, #e6b050 60%, #8f6010 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 20px 8px rgba(230,176,80,0.5), 0 0 40px 16px rgba(230,176,80,0.2);
  animation: daw-glow 2s ease-in-out infinite alternate;
}
.scn-d-a-suggests-wetherell .paper {
  position: absolute; bottom: 22%; left: 28%; width: 22px; height: 14px;
  background: #faf0d8;
  border-radius: 2px;
  transform: rotate(-8deg);
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  animation: daw-flutter 6s ease-in-out infinite;
}
.scn-d-a-suggests-wetherell .pen {
  position: absolute; bottom: 20%; left: 30%; width: 18px; height: 4px;
  background: #3a2a1a;
  border-radius: 0 2px 2px 0;
  transform: rotate(25deg);
  animation: daw-write 4s ease-in-out infinite;
}
.scn-d-a-suggests-wetherell .clock {
  position: absolute; top: 6%; right: 12%; width: 26px; height: 26px;
  background: radial-gradient(circle at 50% 50%, #f5e8cc 0%, #c8b88a 90%, #a08060 100%);
  border-radius: 50%;
  border: 3px solid #6b5030;
  animation: daw-tick 1s steps(2) infinite;
}
@keyframes daw-da {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  50% { transform: translateX(0) rotate(-1deg); }
  75% { transform: translateX(-4px) rotate(1deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes daw-sleep {
  0% { transform: rotate(10deg) translateY(0); }
  30% { transform: rotate(8deg) translateY(-2px); }
  60% { transform: rotate(12deg) translateY(-1px); }
  100% { transform: rotate(10deg) translateY(0); }
}
@keyframes daw-camel {
  0% { transform: translateX(0) scaleX(1); }
  20% { transform: translateX(-3px) scaleX(0.95); }
  40% { transform: translateX(2px) scaleX(1.02); }
  60% { transform: translateX(-1px) scaleX(0.98); }
  80% { transform: translateX(3px) scaleX(1); }
  100% { transform: translateX(0) scaleX(1); }
}
@keyframes daw-glow {
  0% { box-shadow: 0 0 16px 6px rgba(230,176,80,0.4), 0 0 32px 12px rgba(230,176,80,0.15); opacity: 0.9; }
  50% { box-shadow: 0 0 24px 10px rgba(230,176,80,0.6), 0 0 48px 20px rgba(230,176,80,0.3); opacity: 1; }
  100% { box-shadow: 0 0 18px 8px rgba(230,176,80,0.45), 0 0 36px 14px rgba(230,176,80,0.2); opacity: 0.95; }
}
@keyframes daw-flutter {
  0% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-2px); }
  100% { transform: rotate(-8deg) translateY(0); }
}
@keyframes daw-write {
  0% { transform: rotate(25deg) translateX(0); }
  30% { transform: rotate(30deg) translateX(2px); }
  60% { transform: rotate(22deg) translateX(-1px); }
  100% { transform: rotate(25deg) translateX(0); }
}
@keyframes daw-tick {
  0% { border-color: #6b5030; }
  100% { border-color: #4a3520; }
}

/* d.a.-laughs – Bright interior, humorous lawyer scene */
.scn-d\.a\.-laughs {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #e0c9a6 50%, #d4b898 100%),
    radial-gradient(ellipse at 55% 25%, #fff5e6 0%, transparent 70%);
}
.scn-d\.a\.-laughs .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d5b0 0%, #d4b898 100%);
  opacity: 0.6;
  animation: da-bg 8s ease-in-out infinite alternate;
}
.scn-d\.a\.-laughs .desk {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 38%;
  background: linear-gradient(180deg, #7a5c3a 0%, #5a4028 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.1);
  transform-origin: bottom center;
  animation: da-desk 10s ease-in-out infinite alternate;
}
.scn-d\.a\.-laughs .figure-sit {
  position: absolute; bottom: 28%; left: 25%; width: 20%; height: 45%;
  background: linear-gradient(180deg, #2e1e0e 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: da-sit 2.5s ease-in-out infinite;
}
.scn-d\.a\.-laughs .figure-stand {
  position: absolute; bottom: 40%; left: 60%; width: 18%; height: 55%;
  background: linear-gradient(180deg, #4a3828 0%, #2e1e0e 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 45% 45%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: da-stand 3s ease-in-out infinite;
}
.scn-d\.a\.-laughs .lamp {
  position: absolute; bottom: 30%; left: 10%; width: 4%; height: 8%;
  background: radial-gradient(circle at 50% 30%, #5e3a1a 0%, #3a220e 100%);
  border-radius: 10% 10% 30% 30%;
  box-shadow: 0 0 20px 10px rgba(255,214,128,0.6), 0 0 40px 20px rgba(255,214,128,0.3);
  animation: da-lamp 4s ease-in-out infinite alternate;
}
.scn-d\.a\.-laughs .papers {
  position: absolute; bottom: 22%; left: 40%; width: 12%; height: 6%;
  background: linear-gradient(135deg, #faf3e0 0%, #f0e6d6 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform-origin: bottom left;
  animation: da-papers 6s ease-in-out infinite;
}
.scn-d\.a\.-laughs .finger {
  position: absolute; bottom: 35%; left: 32%; width: 2%; height: 10%;
  background: linear-gradient(180deg, #2e1e0e 0%, #1a1008 100%);
  border-radius: 40% 40% 10% 10%;
  transform-origin: bottom center;
  animation: da-finger 1.8s ease-in-out infinite;
}
@keyframes da-bg {
  0% { opacity: 0.5; }
  50% { opacity: 0.7; }
  100% { opacity: 0.5; }
}
@keyframes da-desk {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(1px) scaleY(0.98); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes da-sit {
  0% { transform: translateY(0) rotate(0deg); }
  30% { transform: translateY(-4px) rotate(2deg); }
  60% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes da-stand {
  0% { transform: translateY(0) skewX(0deg); }
  40% { transform: translateY(3px) skewX(4deg); }
  80% { transform: translateY(-1px) skewX(-2deg); }
  100% { transform: translateY(0) skewX(0deg); }
}
@keyframes da-lamp {
  0% { box-shadow: 0 0 15px 8px rgba(255,214,128,0.5); opacity: 0.8; }
  50% { box-shadow: 0 0 25px 12px rgba(255,214,128,0.7); opacity: 1; }
  100% { box-shadow: 0 0 18px 10px rgba(255,214,128,0.6); opacity: 0.9; }
}
@keyframes da-papers {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(2px, -5px) rotate(5deg); }
  50% { transform: translate(-1px, -2px) rotate(-3deg); }
  75% { transform: translate(3px, -1px) rotate(4deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes da-finger {
  0% { transform: rotate(15deg) scaleY(1); }
  40% { transform: rotate(-10deg) scaleY(1.05); }
  70% { transform: rotate(12deg) scaleY(0.95); }
  100% { transform: rotate(15deg) scaleY(1); }
}

.scn-d\.a\.-camel-joke {
  background: linear-gradient(180deg, #f7e8d0 0%, #e6cba0 100%), radial-gradient(ellipse at 30% 20%, #fff4e0 0%, transparent 70%);
}

.scn-d\.a\.-camel-joke .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f7e8d0 0%, #e6cba0 100%);
  animation: caj-wall 10s ease-in-out infinite alternate;
}
.scn-d\.a\.-camel-joke .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c8a870 0%, #a08050 100%);
  border-top: 2px solid #8a6a3a;
  animation: caj-floor 15s linear infinite;
}
.scn-d\.a\.-camel-joke .bench {
  position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 60px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-d\.a\.-camel-joke .lamp {
  position: absolute; bottom: calc(30% + 50px); left: calc(50% + 30px);
  width: 16px; height: 24px;
  background: #a07040;
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 -8px 20px #ffd060;
  animation: caj-glow 2s ease-in-out infinite alternate;
}
.scn-d\.a\.-camel-joke .camel-body {
  position: absolute; bottom: 30%; left: 20%;
  width: 50px; height: 30px;
  background: #8a6a3a;
  border-radius: 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: caj-bounce 3s ease-in-out infinite;
}
.scn-d\.a\.-camel-joke .camel-head {
  position: absolute; bottom: calc(30% + 28px); left: calc(20% + 35px);
  width: 20px; height: 20px;
  background: #8a6a3a;
  border-radius: 50%;
  transform-origin: bottom center;
  animation: caj-nod 3s ease-in-out infinite;
}
.scn-d\.a\.-camel-joke .camel-legs {
  position: absolute; bottom: 30%; left: 22%;
  width: 20px; height: 35px;
  background: linear-gradient(90deg, #5a3a1a 0%, #5a3a1a 20%, transparent 20%, transparent 80%, #5a3a1a 80%, #5a3a1a 100%);
  transform-origin: top center;
  animation: caj-walk 3s ease-in-out infinite;
}
.scn-d\.a\.-camel-joke .lawyer {
  position: absolute; bottom: 30%; left: 65%;
  width: 25px; height: 50px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: caj-sway 4s ease-in-out infinite;
}

@keyframes caj-wall {
  0% { background-position: 0% 0%; }
  50% { background-position: 10% 5%; }
  100% { background-position: 0% 0%; }
}
@keyframes caj-floor {
  0% { background-position-x: 0%; }
  50% { background-position-x: 5%; }
  100% { background-position-x: 0%; }
}
@keyframes caj-glow {
  0% { box-shadow: 0 -8px 20px #ffd060; opacity: 0.8; }
  50% { box-shadow: 0 -8px 30px #ffd080, 0 -12px 40px rgba(255,208,96,0.5); opacity: 1; }
  100% { box-shadow: 0 -8px 20px #ffd060; opacity: 0.8; }
}
@keyframes caj-bounce {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes caj-nod {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}
@keyframes caj-walk {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.9) translateY(3px); }
  100% { transform: scaleY(1); }
}
@keyframes caj-sway {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2px) rotate(3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.cognac { position: absolute; pointer-events: none; }
.pigeon { position: absolute; pointer-events: none; }
.scn { position: absolute; pointer-events: none; }
.silhouette { position: absolute; pointer-events: none; }
.step { position: absolute; pointer-events: none; }

/* ============ tier A ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-yusuf-grabs-bed {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2c2c2c 40%, #3a3a3a 100%),
    radial-gradient(ellipse at 70% 60%, #4a3a2a 0%, transparent 60%);
}
.scn-yusuf-grabs-bed .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); }
.scn-yusuf-grabs-bed .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #3a3a2a 0%, #2a2a1a 100%); }
.scn-yusuf-grabs-bed .bed-frame { position:absolute; bottom:20%; left:20%; width:50%; height:25%; background: linear-gradient(135deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.6); }
.scn-yusuf-grabs-bed .bed-rail { position:absolute; bottom:30%; left:20%; width:50%; height:4%; background: #8a7a6a; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-yusuf-grabs-bed .figure { position:absolute; bottom:15%; left:60%; width:12%; height:25%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ygb-fig 4s ease-in-out infinite; }
.scn-yusuf-grabs-bed .arm { position:absolute; bottom:28%; left:65%; width:3%; height:20%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50%; transform-origin: top left; animation: ygb-arm 2s ease-in-out infinite alternate; }
.scn-yusuf-grabs-bed .shadow { position:absolute; bottom:15%; left:15%; width:30%; height:15%; background: radial-gradient(ellipse, #000 0%, transparent 70%); opacity: .4; animation: ygb-shadow 4s ease-in-out infinite; }
.scn-yusuf-grabs-bed .light-beam { position:absolute; top:0; left:30%; width:40%; height:70%; background: linear-gradient(180deg, rgba(255,220,150,.15) 0%, rgba(255,220,150,0) 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: ygb-beam 8s ease-in-out infinite alternate; }
@keyframes ygb-fig { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ygb-arm { 0% { transform: rotate(10deg); } 100% { transform: rotate(-20deg); } }
@keyframes ygb-shadow { 0% { opacity: .3; } 50% { opacity: .5; } 100% { opacity: .3; } }
@keyframes ygb-beam { 0% { opacity: .2; } 50% { opacity: .5; } 100% { opacity: .2; } }

.scn-murder-reported {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #5a4a3a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 80% 30%, #6a5a4a 0%, transparent 70%);
}
.scn-murder-reported .room-bg { position:absolute; inset:0; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); }
.scn-murder-reported .door { position:absolute; right:10%; bottom:20%; width:25%; height:60%; background: linear-gradient(180deg, #6a5a4a 0%, #2a1a0a 100%); border-radius: 4px 4px 0 0; box-shadow: inset 0 0 10px rgba(0,0,0,.5); animation: mr-door 6s ease-in-out infinite; }
.scn-murder-reported .door-frame { position:absolute; right:10%; bottom:20%; width:28%; height:65%; border: 4px solid #8a7a6a; border-radius: 6px 6px 0 0; }
.scn-murder-reported .figure { position:absolute; bottom:15%; left:30%; width:15%; height:35%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mr-fig 3s ease-in-out infinite; }
.scn-murder-reported .arm-raised { position:absolute; bottom:35%; left:35%; width:4%; height:20%; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 50%; transform: rotate(-30deg); transform-origin: bottom center; animation: mr-arm 1.5s ease-in-out infinite alternate; }
.scn-murder-reported .shadow-figure { position:absolute; bottom:10%; left:25%; width:20%; height:30%; background: radial-gradient(ellipse, #000 0%, transparent 70%); opacity: .4; animation: mr-shadow 3s ease-in-out infinite; }
.scn-murder-reported .light-flash { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, rgba(255,200,100,.3) 0%, transparent 80%); clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%); animation: mr-flash .5s ease-in-out infinite alternate; }
@keyframes mr-door { 0% { transform: rotateY(0deg); } 25% { transform: rotateY(15deg); } 50% { transform: rotateY(0deg); } 75% { transform: rotateY(15deg); } 100% { transform: rotateY(0deg); } }
@keyframes mr-fig { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(0); } }
@keyframes mr-arm { 0% { transform: rotate(-40deg); } 100% { transform: rotate(10deg); } }
@keyframes mr-shadow { 0% { opacity: .3; transform: scaleX(1); } 50% { opacity: .5; transform: scaleX(1.1); } 100% { opacity: .3; transform: scaleX(1); } }
@keyframes mr-flash { 0% { opacity: 0; } 50% { opacity: .6; } 100% { opacity: 0; } }

.scn-sardi-babu-murdered {
  background:
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 20%, #5a4a3a 0%, transparent 60%);
}
.scn-sardi-babu-murdered .attic-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); }
.scn-sardi-babu-murdered .attic-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); }
.scn-sardi-babu-murdered .hole { position:absolute; top:10%; left:35%; width:30%; height:15%; background: #0a0a0a; border-radius: 50%; box-shadow: inset 0 4px 8px rgba(0,0,0,.8); animation: sbm-hole 10s ease-in-out infinite; }
.scn-sardi-babu-murdered .camel-head { position:absolute; top:12%; left:40%; width:20%; height:18%; background: linear-gradient(135deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: center bottom; animation: sbm-camel 6s ease-in-out infinite; }
.scn-sardi-babu-murdered .camel-eye { position:absolute; top:17%; left:48%; width:4%; height:5%; background: radial-gradient(circle, #f0c060 0%, #b08040 70%); border-radius: 50%; box-shadow: 0 0 8px 2px #c08040; animation: sbm-eye 4s ease-in-out infinite alternate; }
.scn-sardi-babu-murdered .dust { position:absolute; top:20%; left:30%; width:40%; height:20%; background: radial-gradient(ellipse, rgba(200,180,150,.3) 0%, transparent 70%); filter: blur(4px); animation: sbm-dust 15s linear infinite; }
.scn-sardi-babu-murdered .light-ray { position:absolute; top:5%; left:30%; width:40%; height:40%; background: linear-gradient(180deg, rgba(255,200,150,.2) 0%, transparent 100%); clip-path: polygon(30% 0, 70% 0, 60% 100%, 40% 100%); animation: sbm-ray 20s ease-in-out infinite alternate; }
@keyframes sbm-hole { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); } }
@keyframes sbm-camel { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sbm-eye { 0% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.3); opacity: 1; } 100% { transform: scale(1); opacity: .8; } }
@keyframes sbm-dust { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes sbm-ray { 0% { opacity: .1; } 50% { opacity: .4; } 100% { opacity: .1; } }

.scn-chain-of-blame {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #6a5a4a 40%, #3a2a1a 100%),
    radial-gradient(ellipse at 60% 30%, #8a7a6a 0%, transparent 70%);
}
.scn-chain-of-blame .court-wall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); }
.scn-chain-of-blame .bench { position:absolute; bottom:25%; left:10%; width:80%; height:15%; background: linear-gradient(180deg, #8a7a6a 0%, #5a4a3a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-chain-of-blame .judge { position:absolute; bottom:28%; left:45%; width:12%; height:25%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cob-judge 5s ease-in-out infinite; }
.scn-chain-of-blame .gavel { position:absolute; bottom:40%; left:50%; width:2%; height:10%; background: #4a3a2a; border-radius: 2px; transform-origin: bottom center; animation: cob-gavel .8s ease-in-out infinite alternate; }
.scn-chain-of-blame .camel-head { position:absolute; top:15%; left:20%; width:25%; height:20%; background: linear-gradient(135deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: center bottom; animation: cob-camel 7s ease-in-out infinite; }
.scn-chain-of-blame .window-light { position:absolute; top:5%; left:10%; width:80%; height:20%; background: linear-gradient(180deg, rgba(255,200,100,.2) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); animation: cob-window 12s ease-in-out infinite alternate; }
.scn-chain-of-blame .shadow-bars { position:absolute; top:5%; left:10%; width:80%; height:20%; background: repeating-linear-gradient(90deg, rgba(0,0,0,.3) 0px, transparent 10px, transparent 20px); }
.scn-chain-of-blame .dust-motes { position:absolute; top:10%; left:30%; width:40%; height:30%; background: radial-gradient(circle, rgba(200,180,150,.2) 0%, transparent 50%); filter: blur(3px); animation: cob-dust 25s linear infinite; }
@keyframes cob-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cob-gavel { 0% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }
@keyframes cob-camel { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(4deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cob-window { 0% { opacity: .1; } 50% { opacity: .4; } 100% { opacity: .1; } }
@keyframes cob-dust { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }

.scn-trial-of-oconnell { background: linear-gradient(180deg, #c9b99a 0%, #a1866f 40%, #7a5c45 100%), radial-gradient(ellipse at 50% 30%, #ddd0b8 0%, transparent 60%); }
.scn-trial-of-oconnell .floor { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(0deg, #5a4030, #6b4d3a); box-shadow: inset 0 8px 20px rgba(0,0,0,.4); }
.scn-trial-of-oconnell .bench { position:absolute; bottom:25%; left:15%; width:70%; height:12%; background: linear-gradient(180deg, #8b6f55 0%, #6b4d3a 100%); border-radius: 4% 4% 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.5); }
.scn-trial-of-oconnell .jury { position:absolute; bottom:37%; left:20%; width:60%; height:8%; background: linear-gradient(90deg, #b89a7a 0%, #a18565 100%); border-radius: 8% 8% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: tr-jury 3s ease-in-out infinite alternate; }
.scn-trial-of-oconnell .crowd { position:absolute; top:40%; left:10%; width:80%; height:20%; background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 8px, #3a2a1a 8px, #3a2a1a 12px); clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%); opacity:0.8; }
.scn-trial-of-oconnell .defendant { position:absolute; bottom:37%; left:42%; width:16%; height:30%; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: tr-def 2s ease-in-out infinite alternate; }
.scn-trial-of-oconnell .judge { position:absolute; top:15%; left:45%; width:10%; height:25%; background: linear-gradient(180deg, #3a2a2a, #1a1a1a); border-radius: 50% 50% 0 0; box-shadow: 0 0 20px rgba(0,0,0,.4); }
.scn-trial-of-oconnell .glare { position:absolute; top:0; left:0; right:0; height:30%; background: radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 70%); animation: tr-glare 4s ease-in-out infinite alternate; }
@keyframes tr-jury { 0% { opacity:.6; transform: scaleY(1) } 50% { opacity:.8; transform: scaleY(1.03) } 100% { opacity:.6; transform: scaleY(1) } }
@keyframes tr-def { 0% { transform: translateX(0) scaleY(1) } 50% { transform: translateX(3px) scaleY(1.02) } 100% { transform: translateX(0) scaleY(1) } }
@keyframes tr-glare { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.3 } }

.scn-o-brien-calls-miss-beekman { background: linear-gradient(180deg, #d6c6a8 0%, #b49a78 40%, #80684c 100%), radial-gradient(ellipse at 50% 20%, #e8dcc8 0%, transparent 60%); }
.scn-o-brien-calls-miss-beekman .floor { position:absolute; bottom:0; left:0; right:0; height:28%; background: linear-gradient(0deg, #4a3525, #5a4533); box-shadow: inset 0 8px 15px rgba(0,0,0,.5); }
.scn-o-brien-calls-miss-beekman .bench { position:absolute; bottom:28%; left:10%; width:80%; height:10%; background: linear-gradient(180deg, #7a5c42 0%, #5a3d2a 100%); border-radius: 5% 5% 0 0; }
.scn-o-brien-calls-miss-beekman .lawyer { position:absolute; bottom:38%; left:25%; width:12%; height:35%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ob-law 3s ease-in-out infinite; }
.scn-o-brien-calls-miss-beekman .judge { position:absolute; top:12%; left:45%; width:10%; height:30%; background: linear-gradient(180deg, #2a1a1a, #1a0a0a); border-radius: 50% 50% 0 0; box-shadow: 0 0 15px rgba(0,0,0,.5); }
.scn-o-brien-calls-miss-beekman .witness-empty { position:absolute; bottom:38%; right:20%; width:10%; height:25%; background: linear-gradient(180deg, #6a5a4a, #4a3a2a); border-radius: 20% 20% 10% 10%; opacity:0.6; }
.scn-o-brien-calls-miss-beekman .clock { position:absolute; top:20%; right:8%; width:8%; height:8%; background: radial-gradient(circle, #d0c0a0 30%, #806040 70%); border-radius:50%; box-shadow: 0 0 10px #b09070; animation: ob-clock 5s ease-in-out infinite alternate; }
.scn-o-brien-calls-miss-beekman .shadow { position:absolute; bottom:38%; left:20%; width:20%; height:10%; background: rgba(0,0,0,.3); border-radius: 50%; filter: blur(8px); animation: ob-shadow 2s ease-in-out infinite alternate; }
@keyframes ob-law { 0% { transform: translateX(0) rotate(0deg) } 25% { transform: translateX(5px) rotate(2deg) } 50% { transform: translateX(0) rotate(-1deg) } 75% { transform: translateX(-5px) rotate(0deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ob-clock { 0% { border-radius:50%; } 50% { border-radius:45%; } 100% { border-radius:50%; } }
@keyframes ob-shadow { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.2) } 100% { opacity:.3; transform: scaleX(1) } }

.scn-miss-beekman-takes-stand { background: linear-gradient(180deg, #e0cfb5 0%, #c0a88a 35%, #8a6d52 100%), radial-gradient(ellipse at 50% 40%, #f0e4d0 0%, transparent 70%); }
.scn-miss-beekman-takes-stand .floor { position:absolute; bottom:0; left:0; right:0; height:22%; background: linear-gradient(0deg, #4a3525, #5a4533); box-shadow: inset 0 6px 12px rgba(0,0,0,.4); }
.scn-miss-beekman-takes-stand .stand { position:absolute; bottom:22%; left:40%; width:20%; height:18%; background: linear-gradient(180deg, #7a5c42 0%, #5a3d2a 100%); border-radius: 10% 10% 0 0; box-shadow: 0 0 15px rgba(0,0,0,.3); }
.scn-miss-beekman-takes-stand .figure { position:absolute; bottom:40%; left:43%; width:14%; height:28%; background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mb-fig 2s ease-in-out infinite alternate; }
.scn-miss-beekman-takes-stand .lawyer { position:absolute; bottom:35%; left:15%; width:12%; height:30%; background: linear-gradient(180deg, #1a1a2a, #0a0a1a); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; animation: mb-law 4s ease-in-out infinite; }
.scn-miss-beekman-takes-stand .scales { position:absolute; top:20%; left:10%; width:10%; height:10%; background: radial-gradient(circle, #c8a870 0%, #806040 100%); clip-path: polygon(50% 0%, 60% 30%, 100% 30%, 70% 60%, 80% 100%, 50% 80%, 20% 100%, 30% 60%, 0% 30%, 40% 30%); animation: mb-scale 6s ease-in-out infinite alternate; }
.scn-miss-beekman-takes-stand .clock { position:absolute; top:15%; right:10%; width:10%; height:10%; background: radial-gradient(circle, #d0c0a0 30%, #806040 70%); border-radius:50%; box-shadow: 0 0 8px #b09070; }
.scn-miss-beekman-takes-stand .light-ray { position:absolute; top:0; left:30%; width:40%; height:40%; background: linear-gradient(180deg, rgba(255,245,220,.6) 0%, transparent 100%); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); animation: mb-ray 3s ease-in-out infinite alternate; }
@keyframes mb-fig { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes mb-law { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(10px) rotate(2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes mb-scale { 0% { opacity:.7; transform: rotate(-5deg) } 50% { opacity:1; transform: rotate(0deg) } 100% { opacity:.7; transform: rotate(5deg) } }
@keyframes mb-ray { 0% { opacity:.3; clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%) } 50% { opacity:.6; clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%) } 100% { opacity:.3; clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%) } }

.scn-o-brien-traps-miss-beekman { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 80%, #3a2a4a 0%, transparent 70%); }
.scn-o-brien-traps-miss-beekman .floor { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, #1a1a2a, #2a2a3a); }
.scn-o-brien-traps-miss-beekman .counter { position:absolute; bottom:20%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%); border-radius: 5% 5% 0 0; }
.scn-o-brien-traps-miss-beekman .o-brien { position:absolute; bottom:30%; left:25%; width:12%; height:40%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: tp-ob 2s ease-in-out infinite alternate; }
.scn-o-brien-traps-miss-beekman .beekman { position:absolute; bottom:35%; right:28%; width:12%; height:35%; background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: tp-bek 3s ease-in-out infinite; }
.scn-o-brien-traps-miss-beekman .shadow-bars { position:absolute; top:0; left:10%; width:80%; height:100%; background: repeating-linear-gradient(90deg, rgba(0,0,0,.3) 0px, rgba(0,0,0,.3) 10px, transparent 10px, transparent 20px); animation: tp-bars 6s linear infinite; }
.scn-o-brien-traps-miss-beekman .spotlight { position:absolute; top:0; left:30%; width:40%; height:100%; background: linear-gradient(180deg, rgba(255,235,200,.15) 0%, transparent 60%); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); animation: tp-spot 1.5s ease-in-out infinite alternate; }
@keyframes tp-ob { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(3deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes tp-bek { 0% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.05); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes tp-bars { 0% { opacity:.5; } 50% { opacity:.8; } 100% { opacity:.5; } }
@keyframes tp-spot { 0% { clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); opacity:.6; } 100% { clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%); opacity:.3; } }

.scn-mc-gurk-threatens-delany { background: linear-gradient(180deg, #1a1a2e 0%, #2a2040 60%, #1a1028 100%), radial-gradient(ellipse at 30% 60%, #3a3a5e 0%, transparent 70%); }
.scn-mc-gurk-threatens-delany .wall { position:absolute; inset:0; background: linear-gradient(180deg, #2a2a44 0%, #1a1a2e 100%); }
.scn-mc-gurk-threatens-delany .window-broken { position:absolute; top:20%; left:55%; width:80px; height:100px; background: linear-gradient(135deg, #2a4a6a 0%, #6a8aaa 50%, #8ab0d0 80%); clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); border:4px solid #4a3a2a; box-shadow: inset 0 0 20px #8ab0d0, 0 0 40px rgba(138,176,208,.5); animation: mg-window 5s ease-in-out infinite alternate; }
.scn-mc-gurk-threatens-delany .light-shaft { position:absolute; top:20%; left:55%; width:80px; height:180px; background: linear-gradient(180deg, rgba(200,220,255,.4) 0%, transparent 100%); transform: skewX(-10deg); animation: mg-shaft 8s ease-in-out infinite; }
.scn-mc-gurk-threatens-delany .figure-delany { position:absolute; bottom:20%; left:30%; width:40px; height:80px; background: linear-gradient(135deg, #3a2a1a 0%, #1a120a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mg-delany 4s ease-in-out infinite; }
.scn-mc-gurk-threatens-delany .figure-mcgurk { position:absolute; bottom:22%; left:50%; width:55px; height:90px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mg-mcgurk 6s ease-in-out infinite; }
.scn-mc-gurk-threatens-delany .shadow-mcgurk { position:absolute; bottom:20%; left:48%; width:70px; height:20px; background: rgba(0,0,0,.6); border-radius: 50%; filter: blur(8px); animation: mg-shadow 6s ease-in-out infinite; }
@keyframes mg-window { 0% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:0.8; transform: scale(0.95); } }
@keyframes mg-shaft { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.4; } }
@keyframes mg-delany { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(0deg); } 100% { transform: translateX(0) rotate(2deg); } }
@keyframes mg-mcgurk { 0% { transform: translateX(0) translateY(0) scale(1); } 33% { transform: translateX(4px) translateY(-3px) scale(1.02); } 66% { transform: translateX(-2px) translateY(0) scale(0.98); } 100% { transform: translateX(0) translateY(0) scale(1); } }
@keyframes mg-shadow { 0% { transform: scaleX(1); opacity:0.5; } 50% { transform: scaleX(1.2); opacity:0.7; } 100% { transform: scaleX(0.9); opacity:0.4; } }

.scn-waiver-of-examination { background: linear-gradient(180deg, #f0e8d0 0%, #d8c8a8 40%, #b8a888 100%), radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 80%); }
.scn-waiver-of-examination .court-wall { position:absolute; inset:0; background: linear-gradient(180deg, #e8dcc0 0%, #c8b898 100%); }
.scn-waiver-of-examination .bench { position:absolute; bottom:30%; left:20%; right:20%; height:40px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-waiver-of-examination .judge { position:absolute; bottom:55%; left:40%; width:50px; height:60px; background: linear-gradient(135deg, #3a2a1a 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wa-judge 5s ease-in-out infinite; }
.scn-waiver-of-examination .clerk { position:absolute; bottom:50%; left:55%; width:30px; height:50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; animation: wa-clerk 7s ease-in-out infinite; }
.scn-waiver-of-examination .defendant-tony { position:absolute; bottom:20%; left:45%; width:35px; height:75px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a0a 100%); border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%; transform-origin: bottom center; animation: wa-tony 3s ease-in-out infinite; }
.scn-waiver-of-examination .lawyer-hogan { position:absolute; bottom:25%; left:55%; width:40px; height:70px; background: linear-gradient(135deg, #4a3a2a 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: wa-hogan 4s ease-in-out infinite; }
@keyframes wa-judge { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(0deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes wa-clerk { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes wa-tony { 0% { transform: translateX(0) rotate(0); } 33% { transform: translateX(6px) rotate(2deg); } 66% { transform: translateX(3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes wa-hogan { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.04); } 100% { transform: scaleY(1); } }

.scn-tony-goes-to-tombs { background: linear-gradient(180deg, #d4d4d4 0%, #b0b0b0 40%, #808080 100%), radial-gradient(ellipse at 50% 80%, #e0e0e0 0%, transparent 70%); }
.scn-tony-goes-to-tombs .jail-wall { position:absolute; inset:0; background: linear-gradient(180deg, #c8c8c8 0%, #a0a0a0 100%); }
.scn-tony-goes-to-tombs .cell-bars { position:absolute; top:10%; bottom:10%; left:20%; right:20%; border-left:3px solid #4a4a4a; border-right:3px solid #4a4a4a; box-shadow: inset 0 0 10px rgba(0,0,0,.3); animation: tg-bars 6s ease-in-out infinite; }
.scn-tony-goes-to-tombs .figure-tony { position:absolute; bottom:25%; left:40%; width:35px; height:70px; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tg-tony 4s ease-in-out infinite; }
.scn-tony-goes-to-tombs .figure-delany { position:absolute; bottom:30%; left:55%; width:40px; height:75px; background: linear-gradient(135deg, #4a4a4a 0%, #2a2a2a 100%); border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%; animation: tg-delany 5s ease-in-out infinite; }
.scn-tony-goes-to-tombs .light-strip { position:absolute; top:5%; left:10%; right:10%; height:8px; background: linear-gradient(90deg, transparent, #fff8e0 20%, #fff8e0 80%, transparent); filter: blur(2px); animation: tg-light 8s linear infinite; }
@keyframes tg-bars { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes tg-tony { 0% { transform: translateX(0) translateY(0) rotate(0deg); } 25% { transform: translateX(2px) translateY(-1px) rotate(1deg); } 50% { transform: translateX(0) translateY(0) rotate(0deg); } 75% { transform: translateX(-2px) translateY(1px) rotate(-1deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes tg-delany { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(0.98); } }
@keyframes tg-light { 0% { transform: translateX(-20%); } 100% { transform: translateX(20%); } }

.scn-grand-jury-indictment { background: linear-gradient(180deg, #f8f0e0 0%, #e8d8c0 50%, #c8b898 100%), radial-gradient(ellipse at 50% 30%, #fff8e8 0%, transparent 70%); }
.scn-grand-jury-indictment .room-wall { position:absolute; inset:0; background: linear-gradient(180deg, #e8dcc8 0%, #c0b098 100%); }
.scn-grand-jury-indictment .table { position:absolute; bottom:25%; left:10%; right:10%; height:30px; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a2a 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.scn-grand-jury-indictment .juror-row { position:absolute; bottom:45%; left:5%; right:5%; height:40px; display:flex; gap:15px; background: transparent; }
.scn-grand-jury-indictment .juror-row::before { content:''; display:block; width:30%; height:100%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 50%; animation: gj-jurors 8s ease-in-out infinite; }
.scn-grand-jury-indictment .juror-row::after { content:''; display:block; width:30%; height:100%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50%; animation: gj-jurors 8s ease-in-out infinite reverse; animation-delay: 2s; }
.scn-grand-jury-indictment .prosecutor { position:absolute; bottom:30%; left:15%; width:40px; height:70px; background: linear-gradient(135deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: gj-prosec 5s ease-in-out infinite; }
.scn-grand-jury-indictment .defendant { position:absolute; bottom:20%; left:45%; width:35px; height:65px; background: linear-gradient(180deg, #3a4a3a 0%, #1a2a1a 100%); border-radius: 35% 35% 25% 25% / 55% 55% 35% 35%; animation: gj-def 6s ease-in-out infinite; }
@keyframes gj-jurors { 0% { transform: translateY(0) scale(1); opacity:0.7; } 50% { transform: translateY(-3px) scale(1.05); opacity:1; } 100% { transform: translateY(0) scale(1); opacity:0.8; } }
@keyframes gj-prosec { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes gj-def { 0% { transform: translateX(0) translateY(0); } 50% { transform: translateX(8px) translateY(-2px); } 100% { transform: translateX(0) translateY(0); } }

/* solicitor-advises-surrender scene */
.scn-solcitor-advises-surrender {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2e2a3a 40%, #1a1622 100%),
    radial-gradient(ellipse at 30% 60%, #3a2a2a 0%, transparent 60%);
}
.scn-solcitor-advises-surrender .wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #2a2636 0%, #1a1622 100%);
  animation: sas-wall 20s ease-in-out infinite alternate;
}
.scn-solcitor-advises-surrender .desk {
  position: absolute; bottom: 12%; left: 10%; right: 10%; height: 20%;
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%);
  border-radius: 4px; box-shadow: 0 -4px 12px rgba(0,0,0,0.7);
}
.scn-solcitor-advises-surrender .lamp {
  position: absolute; bottom: 28%; left: 30%; width: 40px; height: 60px;
  background: radial-gradient(ellipse at 50% 0%, #ffd080 0%, transparent 70%);
  border-radius: 50% 50% 0 0; 
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.3);
  animation: sas-lamp 3s ease-in-out infinite alternate;
}
.scn-solcitor-advises-surrender .lawyer {
  position: absolute; bottom: 16%; left: 18%; width: 30px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sas-lawyer 6s ease-in-out infinite;
}
.scn-solcitor-advises-surrender .miss {
  position: absolute; bottom: 16%; right: 20%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: sas-miss 5s ease-in-out infinite alternate;
}
.scn-solcitor-advises-surrender .papers {
  position: absolute; bottom: 18%; left: 38%; width: 50px; height: 8px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 2px; 
  animation: sas-papers 12s linear infinite;
}
.scn-solcitor-advises-surrender .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%);
}
@keyframes sas-wall { 0%,100% { opacity:0.9 } 50% { opacity:1 } }
@keyframes sas-lamp { 0% { opacity:0.8; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } 100% { opacity:0.85; transform: scale(0.98) } }
@keyframes sas-lawyer { 0% { 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) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes sas-miss { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(1px) } }
@keyframes sas-papers { 0% { transform: translateX(0) } 50% { transform: translateX(4px) } 100% { transform: translateX(-2px) } }

/* miss-beekman-resolute scene */
.scn-miss-beekman-resolute {
  background: 
    linear-gradient(180deg, #1e1a2e 0%, #2a2636 50%, #1a1622 100%),
    radial-gradient(ellipse at 70% 50%, #2a202a 0%, transparent 50%);
}
.scn-miss-beekman-resolute .wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #2a2636 0%, #1e1a2e 50%, #2a2636 100%);
  animation: mbr-wall 15s ease-in-out infinite alternate;
}
.scn-miss-beekman-resolute .door {
  position: absolute; top: 10%; right: 15%; width: 60px; height: 80%;
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}
.scn-miss-beekman-resolute .miss {
  position: absolute; bottom: 15%; left: 30%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: mbr-miss 4s ease-in-out infinite alternate;
}
.scn-miss-beekman-resolute .chair {
  position: absolute; bottom: 12%; left: 38%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-miss-beekman-resolute .lightbar {
  position: absolute; top: 0; right: 22%; width: 8px; height: 100%;
  background: linear-gradient(180deg, rgba(255,220,180,0.2) 0%, rgba(255,220,180,0.05) 100%);
  box-shadow: 0 0 20px 10px rgba(255,220,180,0.1);
  animation: mbr-lightbar 8s ease-in-out infinite alternate;
}
.scn-miss-beekman-resolute .frame {
  position: absolute; top: 5%; left: 10%; width: 40px; height: 60px;
  border: 2px solid rgba(200,180,160,0.3);
  border-radius: 4px;
  background: linear-gradient(135deg, rgba(80,70,60,0.2), transparent);
}
@keyframes mbr-wall { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes mbr-miss { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.02) rotate(1deg) } 100% { transform: scale(0.98) rotate(-1deg) } }
@keyframes mbr-lightbar { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }

/* judge-babson-conference scene */
.scn-judge-babson-conference {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2636 40%, #1a1622 100%),
    radial-gradient(ellipse at 50% 70%, #2a2a2a 0%, transparent 70%);
}
.scn-judge-babson-conference .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2636 0%, #1e1a2a 100%);
  animation: jbc-bg 20s ease-in-out infinite alternate;
}
.scn-judge-babson-conference .table {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 18%;
  background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%);
  border-radius: 8px;
  box-shadow: 0 -2px 12px rgba(0,0,0,0.6);
}
.scn-judge-babson-conference .candle {
  position: absolute; bottom: 30%; left: 50%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #ffd080 0%, #b08040 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 0 24px 8px rgba(255,200,100,0.4);
  animation: jbc-candle 2s ease-in-out infinite alternate;
}
.scn-judge-babson-conference .judge {
  position: absolute; bottom: 18%; left: 20%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: jbc-judge 6s ease-in-out infinite;
}
.scn-judge-babson-conference .obrien {
  position: absolute; bottom: 18%; right: 20%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: jbc-obrien 5s ease-in-out infinite alternate;
}
.scn-judge-babson-conference .glasses {
  position: absolute; bottom: 42%; left: 20%; width: 20px; height: 8px;
  border: 2px solid rgba(200,180,160,0.3);
  border-radius: 10px;
  background: transparent;
  animation: jbc-glasses 6s ease-in-out infinite;
}
.scn-judge-babson-conference .ashtray {
  position: absolute; bottom: 22%; left: 40%; width: 24px; height: 6px;
  background: #2a2a2a;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
@keyframes jbc-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes jbc-candle { 0% { opacity:0.7; transform: scaleY(1) } 50% { opacity:1; transform: scaleY(1.05) } 100% { opacity:0.8; transform: scaleY(0.98) } }
@keyframes jbc-judge { 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 jbc-obrien { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes jbc-glasses { 0% { transform: translateX(0) } 50% { transform: translateX(3px) } 100% { transform: translateX(0) } }

/* babson-cites-baron-hotham scene */
.scn-babson-cites-baron-hotham {
  background: 
    linear-gradient(180deg, #c8b89a 0%, #b0a08a 30%, #908070 60%, #706050 100%),
    radial-gradient(ellipse at 60% 30%, rgba(255,240,220,0.4) 0%, transparent 60%);
}
.scn-babson-cites-baron-hotham .bench {
  position: absolute; top: 5%; left: 5%; right: 5%; height: 20%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-babson-cites-baron-hotham .window {
  position: absolute; top: 30%; right: 10%; width: 80px; height: 100px;
  background: linear-gradient(180deg, rgba(255,255,240,0.8) 0%, rgba(200,190,180,0.4) 100%);
  border: 4px solid #5a4a3a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,255,200,0.2);
  animation: bch-window 10s ease-in-out infinite alternate;
}
.scn-babson-cites-baron-hotham .judge {
  position: absolute; top: 8%; left: 20%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: bch-judge 4s ease-in-out infinite;
}
.scn-babson-cites-baron-hotham .miss {
  position: absolute; bottom: 15%; left: 35%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #3a2a3a 0%, #1a1a2a 100%);
  border-radius: 45% 45% 40% 40% / 60% 60% 40% 40%;
  animation: bch-miss 3s ease-in-out infinite alternate;
}
.scn-babson-cites-baron-hotham .gavel {
  position: absolute; top: 12%; left: 50%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4px;
  transform: rotate(-15deg);
  animation: bch-gavel 2s ease-in-out infinite;
}
.scn-babson-cites-baron-hotham .lightbeam {
  position: absolute; top: 30%; right: 15%; width: 60px; height: 200px;
  background: linear-gradient(180deg, rgba(255,255,240,0.15) 0%, transparent 100%);
  transform: skewX(-10deg);
  animation: bch-beam 8s ease-in-out infinite alternate;
}
.scn-babson-cites-baron-hotham .railing {
  position: absolute; bottom: 40%; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #5a4a3a, #3a2a1a, #5a4a3a);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
@keyframes bch-window { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes bch-judge { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-2px) rotate(1deg) } 50% { transform: translateY(0) rotate(0deg) } 75% { transform: translateY(2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes bch-miss { 0% { transform: scale(1) } 50% { transform: scale(1.02) } 100% { transform: scale(0.98) } }
@keyframes bch-gavel { 0% { transform: rotate(-15deg) } 50% { transform: rotate(-10deg) } 100% { transform: rotate(-15deg) } }
@keyframes bch-beam { 0% { opacity:0.1 } 50% { opacity:0.3 } 100% { opacity:0.15 } }

/* Scene 1: miss-beekman-law-worship */
.scn-miss-beekman-law-worship {
  background: linear-gradient(180deg, #f5f0e0 0%, #e8dcc8 30%, #d4c4a8 100%),
              radial-gradient(ellipse at 50% 30%, rgba(255,255,220,0.5) 0%, transparent 60%);
}
.scn-miss-beekman-law-worship .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #d4c4a8 0%, #e8dcc8 50%, #d4c4a8 100%);
}
.scn-miss-beekman-law-worship .desk {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #8b7355 0%, #6b5335 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-miss-beekman-law-worship .book {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: mblw-page 8s ease-in-out infinite;
}
@keyframes mblw-page {
  0%,100% { transform: rotateX(0deg); }
  50% { transform: rotateX(10deg); }
}
.scn-miss-beekman-law-worship .figure {
  position: absolute; bottom: 28%; left: 45%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #a08060 0%, #806040 50%, #604020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mblw-figure 6s ease-in-out infinite;
}
@keyframes mblw-figure {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(2%) rotate(2deg); }
}
.scn-miss-beekman-law-worship .window {
  position: absolute; top: 8%; left: 30%; width: 40%; height: 50%;
  background: linear-gradient(135deg, #b8d4e8 0%, #d6e8f0 50%, #eef4f8 100%);
  border: 6px solid #8b7355; border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: mblw-light 4s ease-in-out infinite alternate;
}
@keyframes mblw-light {
  0% { opacity: 0.7; box-shadow: inset 0 0 10px rgba(255,255,200,0.2); }
  100% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,200,0.5); }
}
.scn-miss-beekman-law-worship .light-shaft {
  position: absolute; top: 8%; left: 30%; width: 40%; height: 60%;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 100%);
  animation: mblw-shaft 6s ease-in-out infinite alternate;
}
@keyframes mblw-shaft {
  0% { opacity: 0.3; transform: skewX(-2deg); }
  100% { opacity: 0.6; transform: skewX(2deg); }
}
.scn-miss-beekman-law-worship .cross {
  position: absolute; top: 5%; left: 48%; width: 4%; height: 12%;
  background: #604020; border-radius: 2px;
  transform: translateX(-50%);
  animation: mblw-cross 12s ease-in-out infinite;
}
@keyframes mblw-cross {
  0%,100% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(5deg); }
}

/* Scene 2: miss-beekman-prison-visits */
.scn-miss-beekman-prison-visits {
  background: linear-gradient(180deg, #c8a070 0%, #a07850 30%, #705030 100%),
              radial-gradient(ellipse at 50% 80%, rgba(255,200,150,0.4) 0%, transparent 60%);
}
.scn-miss-beekman-prison-visits .cell-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(90deg, #604020 0%, #806040 50%, #604020 100%);
}
.scn-miss-beekman-prison-visits .cell-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #403020 0%, #201810 100%);
}
.scn-miss-beekman-prison-visits .bars {
  position: absolute; top: 10%; left: 20%; width: 60%; height: 60%;
  background: repeating-linear-gradient(90deg,
    #807060 0px, #807060 6px,
    transparent 6px, transparent 20px);
  border: 4px solid #605040;
  border-radius: 4px;
  animation: mbpv-bars 8s ease-in-out infinite;
}
@keyframes mbpv-bars {
  0%,100% { opacity: 0.6; }
  50% { opacity: 1; }
}
.scn-miss-beekman-prison-visits .prisoner {
  position: absolute; bottom: 22%; left: 35%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #403020 0%, #201810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mbpv-prisoner 5s ease-in-out infinite;
}
@keyframes mbpv-prisoner {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3%) rotate(-2deg); }
}
.scn-miss-beekman-prison-visits .visitor {
  position: absolute; bottom: 22%; right: 25%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #a08060 0%, #806040 50%, #604020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mbpv-visitor 6s ease-in-out infinite;
}
@keyframes mbpv-visitor {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-5%) rotate(3deg); }
}
.scn-miss-beekman-prison-visits .hand {
  position: absolute; bottom: 40%; right: 30%; width: 8%; height: 4%;
  background: #a08060;
  border-radius: 50%;
  animation: mbpv-hand 4s ease-in-out infinite;
}
@keyframes mbpv-hand {
  0%,100% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-10%) scaleX(1.2); }
}
.scn-miss-beekman-prison-visits .basket {
  position: absolute; bottom: 35%; left: 30%; width: 12%; height: 8%;
  background: linear-gradient(180deg, #8b7355 0%, #604020 100%);
  border-radius: 20% 20% 40% 40%;
  animation: mbpv-basket 7s ease-in-out infinite;
}
@keyframes mbpv-basket {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2%) rotate(5deg); }
}

/* Scene 3: oconnell-irish-clam */
.scn-oconnell-irish-clam {
  background: linear-gradient(180deg, #f0d860 0%, #e8c840 30%, #d4a820 100%),
              radial-gradient(ellipse at 70% 30%, rgba(255,240,200,0.6) 0%, transparent 50%);
}
.scn-oconnell-irish-clam .room-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #a08050 0%, #806040 100%);
}
.scn-oconnell-irish-clam .desk {
  position: absolute; bottom: 20%; left: 10%; width: 80%; height: 15%;
  background: linear-gradient(180deg, #8b6b45 0%, #6b4b25 100%);
  border-radius: 4px;
}
.scn-oconnell-irish-clam .client {
  position: absolute; bottom: 30%; left: 20%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #c04040 0%, #a03030 50%, #802020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oic-client 3s ease-in-out infinite;
}
@keyframes oic-client {
  0%,100% { transform: rotate(0deg); }
  25% { transform: rotate(-5deg); }
  75% { transform: rotate(5deg); }
}
.scn-oconnell-irish-clam .lawyer {
  position: absolute; bottom: 30%; right: 20%; width: 16%; height: 38%;
  background: linear-gradient(180deg, #304080 0%, #203060 50%, #102040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: oic-lawyer 4s ease-in-out infinite;
}
@keyframes oic-lawyer {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-10%) rotate(10deg); }
}
.scn-oconnell-irish-clam .phone {
  position: absolute; bottom: 25%; left: 50%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #202020 0%, #101010 100%);
  border-radius: 20% 20% 10% 10%;
  animation: oic-phone 5s ease-in-out infinite;
}
@keyframes oic-phone {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-20%); }
}
.scn-oconnell-irish-clam .lignt-bulb {
  position: absolute; top: 5%; left: 50%; width: 8%; height: 10%;
  background: radial-gradient(circle, #fff8e0 0%, #ffe080 60%, transparent 100%);
  border-radius: 50%;
  animation: oic-bulb 2s ease-in-out infinite alternate;
}
@keyframes oic-bulb {
  0% { opacity: 0.7; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1.1); }
}
.scn-oconnell-irish-clam .shamrock {
  position: absolute; top: 40%; left: 10%; width: 8%; height: 12%;
  background: radial-gradient(circle at 50% 50%, #40a040 0%, #206020 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  animation: oic-shamrock 6s linear infinite;
}
@keyframes oic-shamrock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Scene 4: oconnell-motive-rumors */
.scn-oconnell-motive-rumors {
  background: linear-gradient(180deg, #b0c0d0 0%, #8090a0 30%, #606880 100%),
              radial-gradient(ellipse at 50% 20%, rgba(200,220,240,0.4) 0%, transparent 60%);
}
.scn-oconnell-motive-rumors .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #708090 0%, #8090a0 50%, #708090 100%);
}
.scn-oconnell-motive-rumors .newspaper {
  position: absolute; bottom: 30%; left: 50%; width: 30%; height: 20%;
  background: linear-gradient(180deg, #e0d8c0 0%, #c8b898 100%);
  transform: translateX(-50%);
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: omr-paper 5s ease-in-out infinite;
}
@keyframes omr-paper {
  0%,100% { transform: translateX(-50%) rotate(0deg) scale(1); }
  50% { transform: translateX(-50%) rotate(-2deg) scale(1.02); }
}
.scn-oconnell-motive-rumors .figure {
  position: absolute; bottom: 15%; left: 30%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #303040 0%, #202030 50%, #101020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: omr-figure 4s ease-in-out infinite;
}
@keyframes omr-figure {
  0%,100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5%) rotate(-3deg); }
}
.scn-oconnell-motive-rumors .shadow-figure {
  position: absolute; bottom: 15%; right: 20%; width: 16%; 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: omr-shadow 6s ease-in-out infinite;
}
@keyframes omr-shadow {
  0%,100% { transform: translateX(0) scaleX(1); }
  50% { transform: translateX(-8%) scaleX(0.9); }
}
.scn-oconnell-motive-rumors .gun {
  position: absolute; bottom: 35%; right: 28%; width: 8%; height: 3%;
  background: linear-gradient(90deg, #202020 0%, #303030 50%, #202020 100%);
  border-radius: 30% 80% 80% 30%;
  transform: rotate(20deg);
  animation: omr-gun 3s ease-in-out infinite alternate;
}
@keyframes omr-gun {
  0% { transform: rotate(15deg) translateX(0); }
  100% { transform: rotate(25deg) translateX(5%); }
}
.scn-oconnell-motive-rumors .lamp {
  position: absolute; top: 10%; left: 50%; width: 20%; height: 30%;
  background: radial-gradient(ellipse at 50% 0%, #ffe080 0%, transparent 70%);
  border-radius: 50%;
  animation: omr-lamp 8s ease-in-out infinite alternate;
}
@keyframes omr-lamp {
  0% { opacity: 0.4; transform: scale(0.9); }
  100% { opacity: 0.8; transform: scale(1.1); }
}
.scn-oconnell-motive-rumors .tape {
  position: absolute; top: 50%; left: 10%; width: 15%; height: 4%;
  background: linear-gradient(90deg, #c0a080 0%, #b09070 50%, #c0a080 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  animation: omr-tape 10s linear infinite;
}
@keyframes omr-tape {
  0% { transform: rotate(-10deg) translateX(0); }
  100% { transform: rotate(-10deg) translateX(100%); }
}

.scn-jury-sworn { background: linear-gradient(180deg, #f5f0e8 0%, #e8ddd0 50%, #c8b8a0 100%), radial-gradient(ellipse at 50% 0%, #fff8ee 0%, transparent 60%); }
.scn-jury-sworn .scene-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #d4c8b4 0%, #b8a890 100%); }
.scn-jury-sworn .scene-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #957a5a 0%, #6b5438 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.3); }
.scn-jury-sworn .judge-bench { position:absolute; bottom:42%; left:10%; width:20%; height:22%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:6% 6% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.4); }
.scn-jury-sworn .judge-figure { position:absolute; bottom:44%; left:15%; width:8%; height:20%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-jury-sworn .jury-box { position:absolute; bottom:30%; left:45%; width:35%; height:25%; background: linear-gradient(135deg, #8a7050 0%, #5a4030 100%); border-radius:6% 6% 4% 4%; box-shadow: inset 0 4px 8px rgba(0,0,0,.3); animation: js-jury 15s ease-in-out infinite alternate; }
.scn-jury-sworn .witness-stand { position:absolute; bottom:32%; right:20%; width:12%; height:18%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius:4% 4% 2% 2%; }
.scn-jury-sworn .clerk-desk { position:absolute; bottom:36%; left:55%; width:14%; height:10%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4%; }
.scn-jury-sworn .light-beam { position:absolute; top:10%; left:30%; width:40%; height:6%; background: linear-gradient(90deg, transparent, rgba(255,240,200,.3), transparent); filter: blur(8px); animation: js-light 8s ease-in-out infinite alternate; }
.scn-jury-sworn .mace-gavel { position:absolute; bottom:46%; left:5%; width:4%; height:6%; background: linear-gradient(180deg, #b09070 0%, #6a4a30 100%); border-radius:30% 30% 40% 40%; transform:rotate(-10deg); animation: js-gavel 6s ease-in-out infinite; }

@keyframes js-jury { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(2px); } }
@keyframes js-light { 0% { opacity: .4; transform: scaleX(1); } 100% { opacity: .8; transform: scaleX(1.2); } }
@keyframes js-gavel { 0%,100% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } }

.scn-jury-picked { background: linear-gradient(180deg, #ece4d8 0%, #d4c8b8 50%, #b8a890 100%), radial-gradient(ellipse at 50% 0%, #fff8ee 0%, transparent 70%); }
.scn-jury-picked .scene-back { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c8b8a0 0%, #a09078 100%); }
.scn-jury-picked .scene-desk { position:absolute; bottom:30%; left:20%; right:20%; height:12%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius:4% 4% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-jury-picked .jury-row { position:absolute; bottom:32%; left:40%; width:40%; height:8%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4%; display: flex; }
.scn-jury-picked .juror { position:absolute; bottom:34%; height:16%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-jury-picked .juror-a { left:42%; width:5%; animation: jp-juror 10s ease-in-out infinite alternate; }
.scn-jury-picked .juror-b { left:49%; width:5%; animation: jp-juror 12s ease-in-out infinite alternate-reverse; }
.scn-jury-picked .juror-c { left:56%; width:5%; animation: jp-juror 8s ease-in-out infinite alternate; }
.scn-jury-picked .lawyer-podium { position:absolute; bottom:30%; left:60%; width:8%; height:14%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:4% 4% 2% 2%; }
.scn-jury-picked .judge-seat { position:absolute; bottom:30%; left:15%; width:16%; height:18%; background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%); border-radius:6% 6% 4% 4%; }
.scn-jury-picked .flag-drape { position:absolute; top:10%; right:8%; width:12%; height:20%; background: linear-gradient(180deg, #406080 0%, #202840 100%); clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); animation: jp-flag 20s linear infinite; }

@keyframes jp-juror { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(2px) rotate(-1deg); } }
@keyframes jp-flag { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.9); } 100% { transform: scaleX(1); } }

.scn-prosecution-witnesses { background: linear-gradient(180deg, #f0e8e0 0%, #dcd0c0 50%, #c0b0a0 100%), radial-gradient(ellipse at 50% 0%, #fff8ee 0%, transparent 60%); }
.scn-prosecution-witnesses .court-room-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #c8b8a8 0%, #a89888 100%); }
.scn-prosecution-witnesses .court-room-floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #8a7050 0%, #5a4030 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.3); }
.scn-prosecution-witnesses .witness-box { position:absolute; bottom:42%; right:25%; width:14%; height:20%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius:6% 6% 4% 4%; box-shadow: 0 6px 12px rgba(0,0,0,.4); }
.scn-prosecution-witnesses .witness-figure { position:absolute; bottom:44%; right:28%; width:6%; height:18%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: pw-witness 9s ease-in-out infinite alternate; }
.scn-prosecution-witnesses .prosecutor-table { position:absolute; bottom:34%; left:10%; width:18%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4%; }
.scn-prosecution-witnesses .defense-table { position:absolute; bottom:34%; left:35%; width:18%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4%; }
.scn-prosecution-witnesses .photographer { position:absolute; bottom:30%; left:60%; width:8%; height:16%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: pw-photo 12s ease-in-out infinite; }
.scn-prosecution-witnesses .policeman { position:absolute; bottom:30%; left:75%; width:7%; height:16%; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; }
.scn-prosecution-witnesses .document-pile { position:absolute; bottom:32%; left:12%; width:6%; height:4%; background: linear-gradient(180deg, #e0d0c0 0%, #c0b0a0 100%); border-radius:10%; box-shadow: 0 2px 4px rgba(0,0,0,.2); transform: rotate(-5deg); animation: pw-doc 4s ease-in-out infinite alternate; }

@keyframes pw-witness { 0% { transform: translateY(0); } 100% { transform: translateY(-3px); } }
@keyframes pw-photo { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes pw-doc { 0% { transform: rotate(-5deg) scale(1); } 100% { transform: rotate(5deg) scale(1.05); } }

.scn-kahoots-cross-examined { background: linear-gradient(180deg, #f0e8d8 0%, #e0d0b0 50%, #c0a880 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 70%); }
.scn-kahoots-cross-examined .funny-wall { position:absolute; inset:0 0 32% 0; background: linear-gradient(180deg, #d4c4a8 0%, #b8a490 100%); }
.scn-kahoots-cross-examined .funny-floor { position:absolute; bottom:0; left:0; right:0; height:32%; background: linear-gradient(180deg, #8a7a5a 0%, #5a4a30 100%); box-shadow: inset 0 8px 20px rgba(0,0,0,.3); }
.scn-kahoots-cross-examined .barrel-man { position:absolute; bottom:30%; left:25%; width:16%; height:26%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 35% 35%; animation: kc-barrel 6s ease-in-out infinite; }
.scn-kahoots-cross-examined .barrel-belly { position:absolute; bottom:28%; left:26%; width:14%; height:14%; background: radial-gradient(circle at 50% 50%, #3a3a4a 0%, #1a1a2a 100%); border-radius:50%; transform: translateY(-2px); animation: kc-belly 4s ease-in-out infinite alternate; }
.scn-kahoots-cross-examined .waistcoat { position:absolute; bottom:34%; left:27%; width:12%; height:10%; background: linear-gradient(180deg, #3a6a3a 0%, #2a4a2a 100%); border-radius:20% 20% 10% 10%; clip-path: polygon(0 0, 100% 0, 90% 100%, 10% 100%); animation: kc-waist 7s ease-in-out infinite; }
.scn-kahoots-cross-examined .gold-ring { position:absolute; bottom:34%; width:4%; height:4%; background: radial-gradient(circle, #f0d060 0%, #c0a030 100%); border-radius:50%; box-shadow: 0 2px 6px rgba(192,160,48,.5); }
.scn-kahoots-cross-examined .ring-left { left:28%; animation: kc-ring 5s ease-in-out infinite; }
.scn-kahoots-cross-examined .ring-right { left:38%; animation: kc-ring 5s ease-in-out infinite reverse; }
.scn-kahoots-cross-examined .judge-desk-funny { position:absolute; bottom:30%; right:15%; width:20%; height:20%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius:6% 6% 4% 4%; animation: kc-desk 8s ease-in-out infinite alternate; }
.scn-kahoots-cross-examined .spectator-silhouette { position:absolute; bottom:32%; right:5%; width:6%; height:18%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; }

@keyframes kc-barrel { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-3px) scaleY(1.02); } 50% { transform: translateY(1px) scaleY(0.98); } 75% { transform: translateY(-2px) scaleY(1.01); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes kc-belly { 0% { transform: translateY(-2px) scale(1); } 100% { transform: translateY(2px) scale(1.05); } }
@keyframes kc-waist { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(-2deg); } 75% { transform: rotate(1deg); } 100% { transform: rotate(0deg); } }
@keyframes kc-ring { 0% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(10deg) translateX(3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes kc-desk { 0% { transform: rotate(-1deg); } 100% { transform: rotate(1deg); } }

.scn-unwritten-law-discussion {
  background: 
    linear-gradient(180deg, #f5ebd0 0%, #e8d9b4 60%, #d4c09a 100%),
    radial-gradient(ellipse at 70% 30%, #faf3e0 0%, transparent 60%),
    linear-gradient(135deg, #f0e6cc 0%, #e0d0af 100%);
}
.scn-unwritten-law-discussion .room-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(180deg, #f0e6cc 0%, #ddd0b0 100%);
  animation: und1-wall 30s ease-in-out infinite alternate;
}
.scn-unwritten-law-discussion .window-frame {
  position: absolute; top: 12%; left: 10%; width: 120px; height: 160px;
  background: linear-gradient(90deg, #b0966e 0%, #a0855c 100%);
  border-radius: 4px; box-shadow: inset 2px 2px 6px rgba(0,0,0,0.2);
  border: 4px solid #8b704a;
}
.scn-unwritten-law-discussion .window-glass {
  position: absolute; top: 15%; left: 13%; width: 108px; height: 148px;
  background: linear-gradient(180deg, #d9effa 0%, #b6d8ea 100%);
  opacity: 0.7; border-radius: 2px;
  animation: und1-glass 6s ease-in-out infinite alternate;
}
.scn-unwritten-law-discussion .desk {
  position: absolute; bottom: 20%; left: 30%; right: 5%; height: 40px;
  background: linear-gradient(180deg, #6b4f32 0%, #4f3a24 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.1);
}
.scn-unwritten-law-discussion .figure-chair {
  position: absolute; bottom: 24%; left: 50%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3e32 0%, #2f261e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(-50%); 
  animation: und1-chair 8s ease-in-out infinite;
}
.scn-unwritten-law-discussion .figure-standing {
  position: absolute; bottom: 24%; left: 25%; width: 30px; height: 70px;
  background: linear-gradient(180deg, #3a322a 0%, #1f1a15 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: und1-stand 10s ease-in-out infinite;
}
.scn-unwritten-law-discussion .motes {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 40%, rgba(255,255,220,0.15) 0%, transparent 50%);
  animation: und1-dust 12s ease-in-out infinite;
}
@keyframes und1-wall { 0% { opacity:0.95 } 50% { opacity:1 } 100% { opacity:0.97 } }
@keyframes und1-glass { 0% { opacity:0.6; transform:scaleY(1) } 50% { opacity:0.8; transform:scaleY(1.02) } 100% { opacity:0.65; transform:scaleY(1) } }
@keyframes und1-chair { 0% { transform: translateX(-50%) rotate(-2deg) } 50% { transform: translateX(-50%) rotate(2deg) translateY(-3px) } 100% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes und1-stand { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes und1-dust { 0% { background-position:0% 0% } 50% { background-position:50% 30% } 100% { background-position:100% 0% } }

.scn-unwritten-law-percentage {
  background: 
    linear-gradient(160deg, #f5ebd0 0%, #e1d2b6 70%),
    radial-gradient(ellipse at 30% 60%, #fcf5e6 0%, transparent 70%);
}
.scn-unwritten-law-percentage .desk-surface {
  position: absolute; bottom: 15%; left: 5%; right: 5%; height: 60px;
  background: linear-gradient(180deg, #7b5f3e 0%, #5c442a 100%);
  border-radius: 8px; box-shadow: 0 -4px 12px rgba(0,0,0,0.15);
}
.scn-unwritten-law-percentage .book-stack {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 50px;
  background: linear-gradient(90deg, #3a2d1f 0%, #4b3b28 50%, #3a2d1f 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: unp2-books 14s ease-in-out infinite alternate;
}
.scn-unwritten-law-percentage .open-book {
  position: absolute; bottom: 26%; left: 20%; width: 100px; height: 30px;
  background: linear-gradient(180deg, #faf0dc 0%, #ecddc0 100%);
  border-radius: 4px; transform: perspective(200px) rotateX(20deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.scn-unwritten-law-percentage .lamp-base {
  position: absolute; bottom: 25%; left: 65%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #a89171 0%, #8b7555 100%);
  border-radius: 5px;
}
.scn-unwritten-law-percentage .lamp-glow {
  position: absolute; bottom: 35%; left: 62%; width: 50px; height: 50px;
  background: radial-gradient(circle, #ffedaa 0%, #ffe48a 40%, transparent 70%);
  border-radius: 50%; 
  animation: unp2-lamp 4s ease-in-out infinite alternate;
}
.scn-unwritten-law-percentage .quill {
  position: absolute; bottom: 22%; left: 45%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b88a 100%);
  transform: rotate(-30deg); transform-origin: bottom;
  animation: unp2-quill 6s ease-in-out infinite;
}
.scn-unwritten-law-percentage .inkwell {
  position: absolute; bottom: 20%; left: 42%; width: 16px; height: 20px;
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
}
@keyframes unp2-books { 0% { transform: translateY(0) scaleX(1) } 50% { transform: translateY(-4px) scaleX(0.98) } 100% { transform: translateY(0) scaleX(1) } }
@keyframes unp2-lamp { 0% { opacity:0.7; transform:scale(0.95) } 50% { opacity:1; transform:scale(1.05) } 100% { opacity:0.8; transform:scale(0.98) } }
@keyframes unp2-quill { 0% { transform: rotate(-32deg) } 50% { transform: rotate(-28deg) translateY(-2px) } 100% { transform: rotate(-32deg) } }

.scn-conscience-and-law {
  background: 
    linear-gradient(180deg, #e8ddc8 0%, #d9cab2 70%),
    radial-gradient(ellipse at 50% 30%, #faf5ea 0%, transparent 60%);
}
.scn-conscience-and-law .wall-panel {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #d9cab2 0%, #cbb89e 100%);
}
.scn-conscience-and-law .pedestal {
  position: absolute; bottom: 25%; left: 50%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #a88d72 0%, #8b735a 100%);
  transform: translateX(-50%); border-radius: 4px 4px 0 0;
}
.scn-conscience-and-law .bust {
  position: absolute; bottom: 38%; left: 50%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #6b5b4a 0%, #4a3d30 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  transform: translateX(-50%);
  animation: cal3-bust 12s ease-in-out infinite alternate;
}
.scn-conscience-and-law .figure-profile {
  position: absolute; bottom: 22%; right: 18%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3d342b 0%, #241e18 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: translateX(0);
  animation: cal3-profile 8s ease-in-out infinite;
}
.scn-conscience-and-law .halo-light {
  position: absolute; top: 12%; left: 45%; width: 80px; height: 80px;
  background: radial-gradient(circle, rgba(255,240,200,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: cal3-halo 10s ease-in-out infinite alternate;
}
.scn-conscience-and-law .shadow-floor {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.15) 100%);
  border-radius: 50%;
  animation: cal3-shadow 8s ease-in-out infinite alternate;
}
@keyframes cal3-bust { 0% { transform: translateX(-50%) rotate(-1deg) } 50% { transform: translateX(-50%) rotate(1deg) translateY(-2px) } 100% { transform: translateX(-50%) rotate(-1deg) } }
@keyframes cal3-profile { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes cal3-halo { 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 cal3-shadow { 0% { opacity:0.6; transform:scaleY(1) } 50% { opacity:1; transform:scaleY(1.2) } 100% { opacity:0.7; transform:scaleY(1) } }

.scn-chivalry-and-law {
  background: 
    linear-gradient(180deg, #e3d4b8 0%, #cfbb9a 70%),
    radial-gradient(ellipse at 60% 50%, #fcf0d8 0%, transparent 60%);
}
.scn-chivalry-and-law .hearth {
  position: absolute; bottom: 18%; left: 15%; right: 15%; height: 100px;
  background: linear-gradient(180deg, #6b4d32 0%, #4a3420 100%);
  border-radius: 20% 20% 4% 4% / 40% 40% 4% 4%;
}
.scn-chivalry-and-law .mantel {
  position: absolute; bottom: 48%; left: 12%; right: 12%; height: 20px;
  background: linear-gradient(180deg, #7a6040 0%, #5c452c 100%);
  border-radius: 2px; box-shadow: 0 -4px 8px rgba(0,0,0,0.2);
}
.scn-chivalry-and-law .fig-man {
  position: absolute; bottom: 25%; left: 30%; width: 26px; height: 70px;
  background: linear-gradient(180deg, #2e2620 0%, #1a1410 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  animation: chl4-man 9s ease-in-out infinite;
}
.scn-chivalry-and-law .fig-woman {
  position: absolute; bottom: 25%; right: 30%; width: 24px; height: 66px;
  background: linear-gradient(180deg, #352b24 0%, #1f1813 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 30% 30%;
  animation: chl4-woman 9s ease-in-out infinite reverse;
}
.scn-chivalry-and-law .shield {
  position: absolute; bottom: 28%; left: 48%; width: 24px; height: 30px;
  background: linear-gradient(180deg, #9a7a50 0%, #7a5e3a 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  transform: translateX(-50%);
  animation: chl4-shield 12s ease-in-out infinite alternate;
}
.scn-chivalry-and-law .fire-glow {
  position: absolute; bottom: 20%; left: 38%; width: 60px; height: 60px;
  background: radial-gradient(circle, #ffb070 0%, #e08040 40%, transparent 70%);
  border-radius: 50%;
  animation: chl4-fire 4s ease-in-out infinite alternate;
}
.scn-chivalry-and-law .hearth-stone {
  position: absolute; bottom: 15%; left: 8%; right: 8%; height: 16px;
  background: linear-gradient(180deg, #4d3a28 0%, #33271a 100%);
  border-radius: 4px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
}
@keyframes chl4-man { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes chl4-woman { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes chl4-shield { 0% { transform: translateX(-50%) scale(0.95) } 50% { transform: translateX(-50%) scale(1.05) } 100% { transform: translateX(-50%) scale(0.98) } }
@keyframes chl4-fire { 0% { opacity:0.5; transform:scale(0.9) } 50% { opacity:0.9; transform:scale(1.1) } 100% { opacity:0.6; transform:scale(0.95) } }

/* crime-is-good-for-lawyers */
.scn-crime-is-good-for-lawyers {
  background: linear-gradient(180deg, #fdf5e6 0%, #f5deb3 40%, #e8d5a3 100%),
              radial-gradient(ellipse at 50% 30%, #fff8e7 0%, transparent 70%);
}
.scn-crime-is-good-for-lawyers .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d5a3 100%);
}
.scn-crime-is-good-for-lawyers .table {
  position: absolute; bottom: 18%; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(180deg, #b8976a 0%, #8b6f47 100%);
  border-radius: 4% 4% 8% 8% / 30% 30% 10% 10%;
  box-shadow: 0 6px 12px rgba(0,0,0,.2);
}
.scn-crime-is-good-for-lawyers .teapot {
  position: absolute; bottom: 30%; left: 50%; width: 40px; height: 32px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 40%, #c8a87c 0%, #8b6f47 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: cgl-teapot 6s ease-in-out infinite;
}
.scn-crime-is-good-for-lawyers .cup-a {
  position: absolute; bottom: 26%; left: 40%; width: 20px; height: 18px;
  background: linear-gradient(180deg, #fdf5e6 0%, #e8d5a3 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.15);
  animation: cgl-cup 4s ease-in-out infinite alternate;
}
.scn-crime-is-good-for-lawyers .cup-b {
  position: absolute; bottom: 26%; left: 58%; width: 20px; height: 18px;
  background: linear-gradient(180deg, #fdf5e6 0%, #e8d5a3 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.15);
  animation: cgl-cup 4s ease-in-out infinite alternate-reverse;
}
.scn-crime-is-good-for-lawyers .lawyer {
  position: absolute; bottom: 20%; left: 30%; width: 28px; height: 48px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cgl-bow 8s ease-in-out infinite;
}
.scn-crime-is-good-for-lawyers .steam-1 {
  position: absolute; bottom: 40%; left: 48%; width: 12px; height: 20px;
  background: rgba(255,255,240,.4);
  border-radius: 50%;
  filter: blur(4px);
  animation: cgl-steam 3s ease-out infinite;
}
.scn-crime-is-good-for-lawyers .steam-2 {
  position: absolute; bottom: 40%; left: 52%; width: 10px; height: 18px;
  background: rgba(255,255,240,.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: cgl-steam 3.5s ease-out infinite 1s;
}
@keyframes cgl-teapot {
  0%, 100% { transform: translateX(-50%) rotate(0deg); }
  50% { transform: translateX(-50%) rotate(2deg) translateY(-1px); }
}
@keyframes cgl-cup {
  0% { transform: translateY(0); }
  100% { transform: translateY(-2px); }
}
@keyframes cgl-bow {
  0% { transform: rotate(0deg); }
  30% { transform: rotate(-8deg) translateX(-2px); }
  60% { transform: rotate(8deg) translateX(2px); }
  100% { transform: rotate(0deg); }
}
@keyframes cgl-steam {
  0% { transform: translateY(0) scale(1); opacity: .6; }
  100% { transform: translateY(-40px) scale(2); opacity: 0; }
}

/* bonnie-investigates-pumpelly */
.scn-bonnie-investigates-pumpelly {
  background: linear-gradient(180deg, #fdf5e6 0%, #f5deb3 60%, #e8d5a3 100%),
              radial-gradient(ellipse at 50% 80%, #fff8e7 0%, transparent 70%);
}
.scn-bonnie-investigates-pumpelly .bg-warm {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #e8d5a3 0%, #d4b87a 100%);
}
.scn-bonnie-investigates-pumpelly .wall-shelf {
  position: absolute; top: 12%; left: 10%; right: 10%; height: 6%;
  background: linear-gradient(180deg, #c8a87c 0%, #8b6f47 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,.15);
}
.scn-bonnie-investigates-pumpelly .bonnie {
  position: absolute; bottom: 28%; left: 38%; width: 24px; height: 42px;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bip-bonnie 5s ease-in-out infinite;
}
.scn-bonnie-investigates-pumpelly .can {
  position: absolute; bottom: 22%; left: 55%; width: 30px; height: 28px;
  background: linear-gradient(180deg, #a0a0a0 0%, #606060 100%);
  border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%;
  box-shadow: 0 4px 8px rgba(0,0,0,.25);
}
.scn-bonnie-investigates-pumpelly .lid {
  position: absolute; bottom: 36%; left: 54%; width: 34px; height: 6px;
  background: linear-gradient(180deg, #b0b0b0 0%, #808080 100%);
  border-radius: 20%;
  transform-origin: left center;
  animation: bip-lid 6s ease-in-out infinite;
}
.scn-bonnie-investigates-pumpelly .glow-spot {
  position: absolute; bottom: 40%; left: 50%; width: 60px; height: 40px;
  background: radial-gradient(ellipse, rgba(255,220,150,.3) 0%, transparent 60%);
  border-radius: 50%;
  filter: blur(8px);
  animation: bip-glow 7s ease-in-out infinite alternate;
}
.scn-bonnie-investigates-pumpelly .curtain-l {
  position: absolute; top: 0; left: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #d4a373 0%, #b08050 100%);
  border-radius: 0 30% 30% 0 / 0 20% 20% 0;
  opacity: .8;
}
.scn-bonnie-investigates-pumpelly .curtain-r {
  position: absolute; top: 0; right: 0; width: 20%; height: 100%;
  background: linear-gradient(180deg, #d4a373 0%, #b08050 100%);
  border-radius: 30% 0 0 30% / 20% 0 0 20%;
  opacity: .8;
}
@keyframes bip-bonnie {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-10deg) translateX(-3px); }
  60% { transform: rotate(10deg) translateX(3px); }
}
@keyframes bip-lid {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(15deg) translateY(-2px); }
}
@keyframes bip-glow {
  0% { opacity: .5; }
  100% { opacity: .9; transform: scale(1.1); }
}

/* summons-avalanche-begins */
.scn-summons-avalanche-begins {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%),
              radial-gradient(ellipse at 50% 30%, #3a3a4a 0%, transparent 80%);
}
.scn-summons-avalanche-begins .bg-dim {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
}
.scn-summons-avalanche-begins .door {
  position: absolute; left: 20%; bottom: 15%; width: 30%; height: 70%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0 / 6% 6% 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,.5);
  animation: sab-door 10s ease-in-out infinite alternate;
}
.scn-summons-avalanche-begins .pumpelly {
  position: absolute; bottom: 18%; left: 35%; width: 22px; height: 40px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sab-pumpelly 6s ease-in-out infinite;
}
.scn-summons-avalanche-begins .officer {
  position: absolute; bottom: 18%; left: 55%; width: 26px; height: 44px;
  background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sab-officer 6s ease-in-out infinite alternate;
}
.scn-summons-avalanche-begins .summons {
  position: absolute; bottom: 30%; left: 48%; width: 14px; height: 18px;
  background: linear-gradient(180deg, #f5f0e0 0%, #d4c8a0 100%);
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  transform-origin: left bottom;
  animation: sab-paper 4s ease-in-out infinite;
}
.scn-summons-avalanche-begins .lamplight {
  position: absolute; top: 10%; left: 60%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at center, rgba(255,200,100,.3) 0%, transparent 70%);
  filter: blur(12px);
  animation: sab-glow 8s ease-in-out infinite alternate;
}
.scn-summons-avalanche-begins .shadow-a {
  position: absolute; bottom: 0; left: 10%; width: 40%; height: 20%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.6) 100%);
  filter: blur(6px);
}
.scn-summons-avalanche-begins .shadow-b {
  position: absolute; bottom: 0; right: 10%; width: 50%; height: 25%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.5) 100%);
  filter: blur(8px);
}
@keyframes sab-door {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.02) translateX(2px); }
  100% { transform: scaleX(1); }
}
@keyframes sab-pumpelly {
  0%, 100% { transform: rotate(0deg); }
  40% { transform: rotate(-6deg) translateX(-2px); }
  80% { transform: rotate(6deg) translateX(2px); }
}
@keyframes sab-officer {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-4deg) translateX(-1px); }
  100% { transform: rotate(4deg) translateX(1px); }
}
@keyframes sab-paper {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(10deg) translateY(-4px); }
}
@keyframes sab-glow {
  0% { opacity: .6; }
  100% { opacity: 1; transform: scale(1.2); }
}

/* first-summons-served */
.scn-first-summons-served {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 50%, #0a0a1a 100%),
              radial-gradient(ellipse at 30% 50%, #3a2a3a 0%, transparent 70%);
}
.scn-first-summons-served .bg-shadow {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
}
.scn-first-summons-served .table-edge {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 10%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,.5);
}
.scn-first-summons-served .hand {
  position: absolute; bottom: 28%; left: 40%; width: 16px; height: 24px;
  background: linear-gradient(180deg, #c8a87c 0%, #8b6f47 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fss-hand 4s ease-in-out infinite;
}
.scn-first-summons-served .paper {
  position: absolute; bottom: 34%; left: 38%; width: 20px; height: 16px;
  background: linear-gradient(180deg, #f5f0e0 0%, #d4c8a0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  transform-origin: left bottom;
  animation: fss-paper 5s ease-in-out infinite;
}
.scn-first-summons-served .figure-receive {
  position: absolute; bottom: 18%; left: 55%; width: 28px; height: 44px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fss-figure 6s ease-in-out infinite alternate;
}
.scn-first-summons-served .candle {
  position: absolute; bottom: 30%; left: 65%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #f5e0c0 0%, #d4a060 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%;
  box-shadow: 0 0 16px 4px rgba(255,200,100,.5);
  animation: fss-candle 3s ease-in-out infinite alternate;
}
.scn-first-summons-served .flicker {
  position: absolute; bottom: 44%; left: 64.5%; width: 12px; height: 14px;
  background: radial-gradient(circle, #ffd060 0%, rgba(255,200,100,.3) 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: fss-flicker 2s ease-in-out infinite alternate;
}
.scn-first-summons-served .mug {
  position: absolute; bottom: 22%; left: 20%; width: 18px; height: 20px;
  background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 0 0 20% 20% / 0 0 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
@keyframes fss-hand {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(5deg); }
}
@keyframes fss-paper {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-8deg) translateY(-3px); }
}
@keyframes fss-figure {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(-4deg) translateX(-2px); }
  100% { transform: rotate(4deg) translateX(2px); }
}
@keyframes fss-candle {
  0% { opacity: .8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: .85; transform: scaleY(.95); }
}
@keyframes fss-flicker {
  0% { transform: scale(1) rotate(0deg); opacity: .7; }
  50% { transform: scale(1.1) rotate(5deg); opacity: 1; }
  100% { transform: scale(.9) rotate(-5deg); opacity: .6; }
}

/* Scene: tutt-office-shyster-debate */
.scn-tutt-office-shyster-debate {
  background: linear-gradient(180deg, #f5ead0 0%, #e0d0b0 100%),
    radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%);
}
.scn-tutt-office-shyster-debate .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a88a 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,.08);
}
.scn-tutt-office-shyster-debate .window {
  position: absolute; top: 5%; left: 25%; width: 30%; height: 50%;
  background: radial-gradient(ellipse at 50% 50%, #aee 0%, #8cc 70%, #6aa 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: inset 0 0 20px #fff, 0 4px 12px rgba(0,0,0,.1);
  animation: tod-window 12s ease-in-out infinite alternate;
}
.scn-tutt-office-shyster-debate .desk {
  position: absolute; bottom: 22%; left: 10%; width: 80%; height: 18%;
  background: linear-gradient(180deg, #8b6b4a 0%, #6a4e30 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.3);
  transform: perspective(300px) rotateX(4deg);
}
.scn-tutt-office-shyster-debate .figure-left {
  position: absolute; bottom: 28%; left: 20%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tod-figure-l 6s ease-in-out infinite;
}
.scn-tutt-office-shyster-debate .figure-right {
  position: absolute; bottom: 28%; right: 20%; width: 40px; height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tod-figure-r 6s ease-in-out infinite 3s;
}
.scn-tutt-office-shyster-debate .book {
  position: absolute; bottom: 30%; left: 45%; width: 30px; height: 40px;
  background: linear-gradient(135deg, #8b4513 0%, #a0522d 100%);
  border-radius: 4px;
  box-shadow: 2px 2px 6px rgba(0,0,0,.3);
  transform: rotate(-5deg);
  animation: tod-book 4s ease-in-out infinite;
}
.scn-tutt-office-shyster-debate .lamp {
  position: absolute; top: 15%; right: 20%; width: 20px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #f0d070 0%, #d0b050 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(240,208,112,0.4);
  animation: tod-lamp 8s ease-in-out infinite alternate;
}
@keyframes tod-window { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes tod-figure-l { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes tod-figure-r { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes tod-book { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-1px); } }
@keyframes tod-lamp { 0%,100% { transform: rotate(-2deg); box-shadow: 0 0 20px 8px rgba(240,208,112,0.3); } 50% { transform: rotate(2deg); box-shadow: 0 0 40px 15px rgba(240,208,112,0.5); } }

/* Scene: shyster-definition */
.scn-shyster-definition {
  background: linear-gradient(180deg, #fff5e0 0%, #f0e0c0 100%),
    radial-gradient(ellipse at 20% 80%, #ffe8a0 0%, transparent 50%);
}
.scn-shyster-definition .bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #e8d8b8 0%, #d0c0a0 100%);
  opacity: 0.6;
}
.scn-shyster-definition .book-large {
  position: absolute; top: 10%; left: 20%; width: 50%; height: 60%;
  background: linear-gradient(180deg, #c04000 0%, #a03000 100%);
  border-radius: 6px;
  box-shadow: 0 0 20px rgba(0,0,0,.2), inset 0 0 20px rgba(255,255,255,.1);
  transform: perspective(400px) rotateY(-10deg) rotateX(5deg);
  animation: sd-book 5s ease-in-out infinite;
}
.scn-shyster-definition .finger {
  position: absolute; top: 30%; left: 55%; width: 8px; height: 20px;
  background: linear-gradient(180deg, #e0b080 0%, #c09070 100%);
  border-radius: 40% 40% 0 0;
  transform-origin: bottom center;
  animation: sd-finger 2s ease-in-out infinite;
}
.scn-shyster-definition .client {
  position: absolute; bottom: 10%; left: 10%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: sd-client 4s ease-in-out infinite;
}
.scn-shyster-definition .speech-bubble {
  position: absolute; top: 20%; left: 60%; width: 50px; height: 30px;
  background: #fff;
  border-radius: 40% 40% 30% 30%;
  box-shadow: 0 4px 8px rgba(0,0,0,.1);
  animation: sd-bubble 3s ease-in-out infinite;
}
.scn-shyster-definition .dot1,
.scn-shyster-definition .dot2 {
  position: absolute; width: 6px; height: 6px;
  background: #ff9900;
  border-radius: 50%;
  animation: sd-dot 1s ease-in-out infinite;
}
.scn-shyster-definition .dot1 { top: 45%; left: 30%; animation-delay: 0s; }
.scn-shyster-definition .dot2 { top: 55%; left: 35%; animation-delay: 0.5s; }
@keyframes sd-book { 0%,100% { transform: perspective(400px) rotateY(-10deg) rotateX(5deg) translateY(0); } 50% { transform: perspective(400px) rotateY(-8deg) rotateX(3deg) translateY(-2px); } }
@keyframes sd-finger { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(5deg); } }
@keyframes sd-client { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes sd-bubble { 0%,100% { transform: scale(1) translateY(0); } 50% { transform: scale(1.05) translateY(-2px); } }
@keyframes sd-dot { 0%,100% { transform: translateY(0) scale(1); opacity:1; } 50% { transform: translateY(-10px) scale(1.5); opacity:0.5; } }

/* Scene: hogan-nominated-shyster */
.scn-hogan-nominated-shyster {
  background: linear-gradient(180deg, #2a1a0a 0%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 20%, #c0a070 0%, transparent 50%);
}
.scn-hogan-nominated-shyster .stage {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 0 0;
}
.scn-hogan-nominated-shyster .pedestal {
  position: absolute; bottom: 20%; left: 50%; width: 50px; height: 40px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #b09070 0%, #806040 100%);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,.5);
}
.scn-hogan-nominated-shyster .figure {
  position: absolute; bottom: 34%; left: 50%; width: 40px; height: 70px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: hns-figure 6s ease-in-out infinite;
}
.scn-hogan-nominated-shyster .spotlight {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,220,150,0.3) 0%, transparent 60%);
  clip-path: polygon(40% 0%, 60% 0%, 70% 100%, 30% 100%);
  animation: hns-spotlight 8s ease-in-out infinite alternate;
}
.scn-hogan-nominated-shyster .laurel {
  position: absolute; bottom: 38%; left: 50%; width: 30px; height: 20px;
  transform: translateX(-50%) rotate(10deg);
  background: linear-gradient(135deg, #c0a040 0%, #a08020 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: hns-laurel 4s ease-in-out infinite;
}
.scn-hogan-nominated-shyster .shadow {
  position: absolute; bottom: 18%; left: 48%; width: 80px; height: 10px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: hns-shadow 6s ease-in-out infinite;
}
@keyframes hns-figure { 0%,100% { transform: translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform: translateX(-50%) translateY(-3px) rotate(1deg); } }
@keyframes hns-spotlight { 0% { opacity: 0.8; transform: scaleY(1); } 100% { opacity: 1; transform: scaleY(1.05); } }
@keyframes hns-laurel { 0%,100% { transform: translateX(-50%) rotate(10deg) scale(1); } 50% { transform: translateX(-50%) rotate(15deg) scale(1.1); } }
@keyframes hns-shadow { 0%,100% { transform: scaleX(1); opacity:0.6; } 50% { transform: scaleX(1.1); opacity:0.9; } }

/* Scene: shyster-and-appearance */
.scn-shyster-and-appearance {
  background: linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%),
    radial-gradient(ellipse at 70% 50%, #fff0d0 0%, transparent 60%);
}
.scn-shyster-and-appearance .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #b8a888 0%, #887868 100%);
  border-radius: 20% 20% 0 0;
}
.scn-shyster-and-appearance .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b8a0 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,.05);
}
.scn-shyster-and-appearance .figure-rich {
  position: absolute; bottom: 20%; left: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sa-figure-r 5s ease-in-out infinite;
}
.scn-shyster-and-appearance .figure-rough {
  position: absolute; bottom: 20%; right: 25%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sa-figure-rou 5s ease-in-out infinite 2.5s;
}
.scn-shyster-and-appearance .scale {
  position: absolute; bottom: 30%; left: 50%; width: 60px; height: 10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #c0a080 0%, #908060 100%);
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: sa-scale 6s ease-in-out infinite;
}
.scn-shyster-and-appearance .coin1,
.scn-shyster-and-appearance .coin2 {
  position: absolute; bottom: 32%; width: 12px; height: 12px;
  background: radial-gradient(circle, #f0d070 0%, #d0b050 100%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  animation: sa-coin 3s ease-in-out infinite;
}
.scn-shyster-and-appearance .coin1 { left: 42%; }
.scn-shyster-and-appearance .coin2 { right: 42%; animation-delay: 1.5s; }
@keyframes sa-figure-r { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes sa-figure-rou { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-3px) rotate(-1deg); } }
@keyframes sa-scale { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(-3deg); } }
@keyframes sa-coin { 0%,100% { transform: translateY(0) scale(1); opacity:1; } 50% { transform: translateY(-6px) scale(1.2); opacity:0.8; } }

.scn-trial-of-danny-begins {
  background: linear-gradient(180deg, #f5e6c8 0%, #e3d5b8 40%, #c9b89a 100%), radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 70%);
}
.scn-trial-of-danny-begins .bg-walls   { position:absolute; inset:0; background: linear-gradient(90deg, #d4c4a8 0%, #e8dcca 50%, #d4c4a8 100%); }
.scn-trial-of-danny-begins .judge-bench{ position:absolute; bottom:30%; left:50%; width:160px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #8b6f47 0%, #5c4a2e 100%); border-radius:6px; box-shadow:0 4px 8px rgba(0,0,0,0.3); }
.scn-trial-of-danny-begins .judge      { position:absolute; bottom:50%; left:50%; width:40px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #221a10 100%); border-radius:50% 50% 30% 30% / 60% 60% 40% 40%; }
.scn-trial-of-danny-begins .attorney  { position:absolute; bottom:35%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom center; animation: tob-stand 6s ease-in-out infinite; }
.scn-trial-of-danny-begins .defendant { position:absolute; bottom:35%; left:65%; width:28px; height:65px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:45% 45% 30% 30% / 55% 55% 35% 35%; }
.scn-trial-of-danny-begins .window    { position:absolute; top:10%; left:10%; width:80px; height:100px; background: linear-gradient(180deg, #e8f4f8 0%, #b0d0e0 100%); border:3px solid #7a5a3a; border-radius:4px; }
.scn-trial-of-danny-begins .gavel     { position:absolute; bottom:32%; left:50%; width:12px; height:8px; transform:translateX(-50%); background:#5a3a1a; border-radius:2px; animation: tob-tap 4s ease-in-out infinite; }
.scn-trial-of-danny-begins .flag      { position:absolute; top:5%; right:8%; width:50px; height:30px; background: linear-gradient(90deg, #003366 0%, #cc3333 30%, #ffffff 30%, #ffffff 40%, #003366 40%, #003366 100%); border-radius:2px; transform:rotate(5deg); }
@keyframes tob-stand { 0%,100% { transform:translateX(-5px) } 50% { transform:translateX(5px) } }
@keyframes tob-tap   { 0%,80%,100% { transform:translateX(-50%) rotate(0deg) } 85% { transform:translateX(-50%) rotate(-15deg) } 90% { transform:translateX(-50%) rotate(0deg) } }

.scn-hingman-opens-case {
  background: linear-gradient(45deg, #f7e8c8 0%, #e8d4b0 50%, #d4b898 100%), radial-gradient(circle at 30% 70%, #fff5e0 0%, transparent 60%);
}
.scn-hingman-opens-case .bg-wall      { position:absolute; inset:0; background: linear-gradient(180deg, #e3d5b8 0%, #c9b89a 100%); }
.scn-hingman-opens-case .podium       { position:absolute; bottom:25%; left:30%; width:60px; height:30px; background: linear-gradient(180deg, #8b6f47 0%, #5c4a2e 100%); border-radius:4px; transform:skewX(-5deg); }
.scn-hingman-opens-case .hingman      { position:absolute; bottom:50%; left:30%; width:35px; height:75px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:45% 45% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom center; animation: hop-slouch 2s ease-in-out infinite; }
.scn-hingman-opens-case .jury-bank    { position:absolute; bottom:20%; right:10%; width:80px; height:40px; background: linear-gradient(90deg, #4a3a2a 0%, #5a4a3a 50%, #4a3a2a 100%); border-radius:8px; display:flex; gap:4px; }
.scn-hingman-opens-case .jury-bank::before { content:''; width:12px; height:28px; background:#3a2a1a; border-radius:50% 50% 20% 20%; }
.scn-hingman-opens-case .gavel       { position:absolute; bottom:28%; left:25%; width:10px; height:6px; background:#5a3a1a; animation: hop-bang 3s ease-in-out infinite; }
.scn-hingman-opens-case .sound-burst { position:absolute; bottom:55%; left:32%; width:30px; height:30px; background: radial-gradient(circle, #fff5d0 0%, transparent 70%); opacity:0; animation: hop-pop 4s ease-in-out infinite; }
.scn-hingman-opens-case .papers      { position:absolute; bottom:30%; left:35%; width:20px; height:12px; background:#f0e0c0; transform:rotate(10deg); border-radius:1px; box-shadow:0 2px 4px rgba(0,0,0,0.2); animation: hop-flip 2.5s ease-in-out infinite alternate; }
@keyframes hop-slouch { 0%,100% { transform:rotate(-5deg) translateX(2px) } 50% { transform:rotate(5deg) translateX(-2px) } }
@keyframes hop-bang   { 0%,80%,100% { transform:rotate(0deg) } 85% { transform:rotate(20deg) } 90% { transform:rotate(-10deg) } }
@keyframes hop-pop    { 0%,80%,100% { opacity:0; transform:scale(0.5) } 85% { opacity:0.6; transform:scale(1.2) } 90% { opacity:0; transform:scale(0.8) } }
@keyframes hop-flip   { 0% { transform:rotate(10deg) translateY(0) } 50% { transform:rotate(-10deg) translateY(-2px) } 100% { transform:rotate(8deg) translateY(0) } }

.scn-brown-testifies {
  background: linear-gradient(180deg, #f2e3cc 0%, #e0d0b8 50%, #c0ac90 100%), radial-gradient(ellipse at 60% 40%, #fff8e0 0%, transparent 60%);
}
.scn-brown-testifies .bg-court        { position:absolute; inset:0; background: linear-gradient(180deg, #dac8ae 0%, #bfaa8c 100%); }
.scn-brown-testifies .witness-box     { position:absolute; bottom:25%; left:50%; width:50px; height:60px; transform:translateX(-50%); background: linear-gradient(180deg, #8b6f47 0%, #5c4a2e 100%); border-radius:4px 4px 8px 8px; box-shadow:0 4px 8px rgba(0,0,0,0.3); }
.scn-brown-testifies .brown-figure    { position:absolute; bottom:55%; left:50%; width:35px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:45% 45% 30% 30% / 55% 55% 40% 40%; animation: bte-testify 3s ease-in-out infinite; }
.scn-brown-testifies .tutt-objecting  { position:absolute; bottom:50%; right:20%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom center; animation: bte-object 2s ease-in-out infinite alternate; }
.scn-brown-testifies .hat             { position:absolute; bottom:70%; left:50%; width:30px; height:12px; transform:translateX(-50%); background:#4a3a2a; border-radius:50% 50% 0 0; animation: bte-hat 3s ease-in-out infinite; }
.scn-brown-testifies .badge           { position:absolute; bottom:65%; left:55%; width:10px; height:10px; background:radial-gradient(circle, #c0a070 0%, #806040 100%); border-radius:50%; box-shadow:0 0 4px #c0a070; animation: bte-glow 2s ease-in-out infinite alternate; }
.scn-brown-testifies .spectator-rows  { position:absolute; bottom:10%; right:5%; width:40px; height:20px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:4px; }
@keyframes bte-testify { 0%,100% { transform:translateX(-50%) rotate(-2deg) } 50% { transform:translateX(-50%) rotate(2deg) translateY(-2px) } }
@keyframes bte-object  { 0% { transform:rotate(0deg) translateX(0) } 100% { transform:rotate(10deg) translateX(5px) } }
@keyframes bte-hat     { 0%,100% { transform:translateX(-50%) rotate(0deg) } 50% { transform:translateX(-50%) rotate(5deg) } }
@keyframes bte-glow    { 0% { box-shadow:0 0 2px #c0a070 } 100% { box-shadow:0 0 8px #e0c090 } }

.scn-tutt-cross-examines-brown {
  background: linear-gradient(135deg, #f0e0c8 0%, #dcc8ac 60%, #b09878 100%), radial-gradient(circle at 80% 30%, #fff5e0 0%, transparent 50%);
}
.scn-tutt-cross-examines-brown .bg-deep    { position:absolute; inset:0; background: linear-gradient(90deg, #d4b898 0%, #e8d4b0 50%, #d4b898 100%); }
.scn-tutt-cross-examines-brown .table      { position:absolute; bottom:20%; left:10%; width:80%; height:14px; background: linear-gradient(180deg, #8b6f47 0%, #5c4a2e 100%); border-radius:2px; box-shadow:0 3px 6px rgba(0,0,0,0.3); }
.scn-tutt-cross-examines-brown .tutt-figure{ position:absolute; bottom:50%; left:20%; width:30px; height:65px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin:bottom left; animation: tcb-lean 3s ease-in-out infinite alternate; }
.scn-tutt-cross-examines-brown .brown-figure{ position:absolute; bottom:50%; right:25%; width:30px; height:65px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius:45% 45% 30% 30% / 55% 55% 40% 40%; transform-origin:bottom right; animation: tcb-sway 4s ease-in-out infinite; }
.scn-tutt-cross-examines-brown .scales     { position:absolute; top:15%; left:50%; width:20px; height:20px; transform:translateX(-50%); background: linear-gradient(135deg, #c0a070 0%, #806040 100%); border-radius:50%; box-shadow: 0 0 8px rgba(192,160,112,0.5); animation: tcb-balance 5s ease-in-out infinite; }
.scn-tutt-cross-examines-brown .light-beam  { position:absolute; top:0; left:45%; width:10%; height:100%; background: linear-gradient(180deg, rgba(255,248,224,0.3) 0%, transparent 50%); opacity:0.5; animation: tcb-beam 6s ease-in-out infinite alternate; }
.scn-tutt-cross-examines-brown .shadow     { position:absolute; bottom:18%; left:15%; width:30%; height:4px; background: rgba(0,0,0,0.15); border-radius:50%; animation: tcb-shadow 3s ease-in-out infinite alternate; }
@keyframes tcb-lean   { 0% { transform:rotate(-5deg) } 100% { transform:rotate(5deg) translateX(3px) } }
@keyframes tcb-sway   { 0%,100% { transform:rotate(0deg) } 25% { transform:rotate(3deg) } 50% { transform:rotate(-2deg) } 75% { transform:rotate(4deg) } }
@keyframes tcb-balance{ 0%,100% { transform:translateX(-50%) rotate(0deg) } 25% { transform:translateX(-50%) rotate(5deg) } 75% { transform:translateX(-50%) rotate(-5deg) } }
@keyframes tcb-beam   { 0% { opacity:0.3 } 50% { opacity:0.6 } 100% { opacity:0.2 } }
@keyframes tcb-shadow  { 0% { transform:scaleX(1) } 100% { transform:scaleX(0.8) } }

/* caput-collapses-mentally */
.scn-caput-collapses-mentally {
  background:
    linear-gradient(180deg, #f5e6d0 0%, #e8d5b8 40%, #d4bfa0 100%),
    radial-gradient(ellipse at 50% 20%, #fff8f0 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}
.scn-caput-collapses-mentally .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c9b99a 0%, #a89572 100%);
  animation: capu-wall 20s ease-in-out infinite alternate;
}
.scn-caput-collapses-mentally .window {
  position: absolute; top: 8%; left: 10%; width: 28%; height: 40%;
  background: linear-gradient(180deg, #b8d4e8 0%, #9ab8d2 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,240,.6);
  animation: capu-light 6s ease-in-out infinite;
}
.scn-caput-collapses-mentally .table {
  position: absolute; bottom: 25%; left: 25%; right: 15%; height: 6%;
  background: linear-gradient(180deg, #6b4e2e 0%, #4d351c 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: capu-table 8s ease-in-out infinite alternate;
}
.scn-caput-collapses-mentally .caput-silhouette {
  position: absolute; bottom: 30%; left: 35%; width: 14%; height: 24%;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: capu-fall 4s ease-in-out infinite;
}
.scn-caput-collapses-mentally .judge-silhouette {
  position: absolute; top: 10%; right: 18%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3b2e22 0%, #1e1711 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  animation: capu-glance 5s ease-in-out infinite alternate;
}
.scn-caput-collapses-mentally .tutt-silhouette {
  position: absolute; bottom: 28%; left: 12%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #4a3b2e 0%, #251e16 100%);
  border-radius: 45% 45% 25% 25% / 55% 55% 25% 25%;
  animation: capu-smile 6s ease-in-out infinite;
}
.scn-caput-collapses-mentally .shadows-in {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 50%, transparent 30%, rgba(0,0,0,.2) 100%);
  pointer-events: none;
  animation: capu-shadow 10s ease-in-out infinite alternate;
}
@keyframes capu-wall { 0%{opacity:.9} 50%{opacity:1} 100%{opacity:.95} }
@keyframes capu-light { 0%,100%{opacity:.8} 50%{opacity:1} }
@keyframes capu-table { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }
@keyframes capu-fall { 0%{transform:translateY(0) rotate(0)} 25%{transform:translateY(3px) rotate(2deg)} 50%{transform:translateY(0) rotate(-1deg)} 75%{transform:translateY(2px) rotate(0)} 100%{transform:translateY(0) rotate(1deg)} }
@keyframes capu-glance { 0%{transform:translateX(0)} 50%{transform:translateX(2px)} 100%{transform:translateX(-1px)} }
@keyframes capu-smile { 0%,100%{transform:scaleY(1)} 50%{transform:scaleY(.95) translateY(1px)} }
@keyframes capu-shadow { 0%{opacity:.1} 50%{opacity:.2} 100%{opacity:.15} }

/* tomascene-testifies */
.scn-tomascene-testifies {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d5c6ae 50%, #bfae92 100%),
    radial-gradient(ellipse at 60% 30%, #fff5e8 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-tomascene-testifies .courtroom-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #b7a48a 0%, #9a8870 100%);
  animation: toma-wall 18s ease-in-out infinite alternate;
}
.scn-tomascene-testifies .witness-stand {
  position: absolute; bottom: 25%; left: 38%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #6b4e2e 0%, #4d351c 100%);
  border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,.3);
  animation: toma-stand 7s ease-in-out infinite;
}
.scn-tomascene-testifies .alvina-profile {
  position: absolute; bottom: 32%; left: 40%; width: 12%; height: 34%;
  background: linear-gradient(180deg, #3b2e22 0%, #1e1711 100%);
  border-radius: 45% 45% 30% 30% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: toma-wag 3s ease-in-out infinite;
}
.scn-tomascene-testifies .caput-relieved {
  position: absolute; bottom: 28%; left: 22%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #4a3b2e 0%, #251e16 100%);
  border-radius: 40% 40% 25% 25% / 50% 50% 25% 25%;
  animation: toma-breathe 5s ease-in-out infinite alternate;
}
.scn-tomascene-testifies .judge-bench {
  position: absolute; top: 12%; right: 15%; width: 20%; height: 20%;
  background: linear-gradient(180deg, #5c4730 0%, #3a2b1c 100%);
  border-radius: 10% 10% 5% 5%; box-shadow: 0 6px 12px rgba(0,0,0,.4);
  animation: toma-judge 9s ease-in-out infinite;
}
.scn-tomascene-testifies .tutt-silhouette-2 {
  position: absolute; bottom: 30%; left: 8%; width: 9%; height: 28%;
  background: linear-gradient(180deg, #4a3b2e 0%, #251e16 100%);
  border-radius: 45% 45% 20% 20% / 55% 55% 20% 20%;
  animation: toma-smile2 6s ease-in-out infinite;
}
.scn-tomascene-testifies .glare {
  position: absolute; top: 5%; left: 30%; width: 40%; height: 20%;
  background: radial-gradient(ellipse, rgba(255,255,240,.4) 0%, transparent 70%);
  animation: toma-glare 12s ease-in-out infinite alternate;
}
@keyframes toma-wall { 0%{opacity:.9} 50%{opacity:1} 100%{opacity:.93} }
@keyframes toma-stand { 0%,100%{transform: translateY(0)} 50%{transform: translateY(-2px)} }
@keyframes toma-wag { 0%{transform: translateY(0) rotate(-1deg)} 25%{transform: translateY(-3px) rotate(0)} 50%{transform: translateY(0) rotate(1deg)} 75%{transform: translateY(-2px) rotate(0)} 100%{transform: translateY(0) rotate(-1deg)} }
@keyframes toma-breathe { 0%{transform: scaleY(1)} 50%{transform: scaleY(.96) translateY(1px)} 100%{transform: scaleY(1) translateY(0)} }
@keyframes toma-judge { 0%,100%{transform: translateY(0) rotate(0)} 50%{transform: translateY(-1px) rotate(.5deg)} }
@keyframes toma-smile2 { 0%,100%{transform: scaleX(1)} 50%{transform: scaleX(.93) translateX(1px)} }
@keyframes toma-glare { 0%{opacity:.3} 50%{opacity:.6} 100%{opacity:.4} }

/* judge-asks-defense */
.scn-judge-asks-defense {
  background:
    linear-gradient(180deg, #e2d4be 0%, #cfbea4 50%, #b8a68a 100%),
    radial-gradient(ellipse at 40% 40%, #fff8ee 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-judge-asks-defense .bench-bg {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ab987d 0%, #8f7d64 100%);
  animation: judq-wall 22s ease-in-out infinite alternate;
}
.scn-judge-asks-defense .judge-desk {
  position: absolute; top: 10%; left: 15%; right: 15%; height: 12%;
  background: linear-gradient(180deg, #5c4730 0%, #3a2b1c 100%);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.35);
  animation: judq-desk 9s ease-in-out infinite;
}
.scn-judge-asks-defense .judge-figure {
  position: absolute; top: 8%; left: 45%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #3b2e22 0%, #1e1711 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: judq-lean 6s ease-in-out infinite alternate;
}
.scn-judge-asks-defense .tutt-figure {
  position: absolute; bottom: 28%; left: 20%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #4a3b2e 0%, #251e16 100%);
  border-radius: 45% 45% 25% 25% / 55% 55% 25% 25%;
  animation: judq-tilt 7s ease-in-out infinite;
}
.scn-judge-asks-defense .caput-back {
  position: absolute; bottom: 30%; right: 20%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: judq-sway 5s ease-in-out infinite;
}
.scn-judge-asks-defense .window-light {
  position: absolute; top: 5%; left: 5%; width: 30%; height: 50%;
  background: linear-gradient(135deg, #c8dce8 0%, #a8c4d6 100%);
  border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,255,240,.5);
  animation: judq-window 15s ease-in-out infinite alternate;
}
@keyframes judq-wall { 0%{opacity:.85} 50%{opacity:1} 100%{opacity:.92} }
@keyframes judq-desk { 0%,100%{transform: translateY(0)} 50%{transform: translateY(-2px)} }
@keyframes judq-lean { 0%{transform: rotate(0)} 50%{transform: rotate(2deg) translateX(2px)} 100%{transform: rotate(-1deg)} }
@keyframes judq-tilt { 0%,100%{transform: rotate(-1deg)} 50%{transform: rotate(1deg) translateX(-2px)} }
@keyframes judq-sway { 0%,100%{transform: rotate(0) translateY(0)} 50%{transform: rotate(2deg) translateY(2px)} }
@keyframes judq-window { 0%{opacity:.7} 50%{opacity:.95} 100%{opacity:.8} }

/* trigger-the-defense */
.scn-trigger-the-defense {
  background:
    linear-gradient(180deg, #e6d9c4 0%, #d2c1a9 50%, #baa78e 100%),
    radial-gradient(ellipse at 50% 20%, #fff9f2 0%, transparent 60%);
  position: relative; overflow: hidden;
}
.scn-trigger-the-defense .courtroom-background {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #b09b80 0%, #93806a 100%);
  animation: trgg-wall 20s ease-in-out infinite alternate;
}
.scn-trigger-the-defense .jury-box {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 12%;
  background: linear-gradient(180deg, #6b4e2e 0%, #4d351c 100%);
  border-radius: 4px; box-shadow: 0 6px 10px rgba(0,0,0,.3);
  animation: trgg-box 8s ease-in-out infinite;
}
.scn-trigger-the-defense .tutt-desk {
  position: absolute; bottom: 32%; left: 28%; right: 48%; height: 6%;
  background: linear-gradient(180deg, #5c4730 0%, #3a2b1c 100%);
  border-radius: 2px; animation: trgg-desk 7s ease-in-out infinite alternate;
}
.scn-trigger-the-defense .caput-stand {
  position: absolute; bottom: 30%; left: 35%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: trgg-stand 4s ease-in-out infinite;
}
.scn-trigger-the-defense .smithers-figure {
  position: absolute; bottom: 32%; left: 50%; width: 10%; height: 26%;
  background: linear-gradient(180deg, #4a3b2e 0%, #251e16 100%);
  border-radius: 45% 45% 25% 25% / 55% 55% 25% 25%;
  animation: trgg-smithers 5s ease-in-out infinite alternate;
}
.scn-trigger-the-defense .judge-overseer {
  position: absolute; top: 8%; right: 15%; width: 14%; height: 22%;
  background: linear-gradient(180deg, #3b2e22 0%, #1e1711 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  animation: trgg-judgeo 6s ease-in-out infinite;
}
.scn-trigger-the-defense .striped-light {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255,248,230,.08) 20px, rgba(255,248,230,.08) 40px);
  pointer-events: none;
  animation: trgg-stripe 30s linear infinite;
}
@keyframes trgg-wall { 0%{opacity:.88} 50%{opacity:1} 100%{opacity:.94} }
@keyframes trgg-box { 0%,100%{transform: translateY(0)} 50%{transform: translateY(-2px)} }
@keyframes trgg-desk { 0%{transform: rotate(0)} 50%{transform: rotate(1deg)} 100%{transform: rotate(-1deg)} }
@keyframes trgg-stand { 0%{transform: translateY(0) rotate(-1deg)} 25%{transform: translateY(-2px) rotate(0)} 50%{transform: translateY(0) rotate(1deg)} 75%{transform: translateY(-1px) rotate(0)} 100%{transform: translateY(0) rotate(-1deg)} }
@keyframes trgg-smithers { 0%{transform: scaleX(1)} 50%{transform: scaleX(.94) translateX(2px)} 100%{transform: scaleX(1)} }
@keyframes trgg-judgeo { 0%,100%{transform: rotate(0)} 50%{transform: rotate(2deg) translateY(-2px)} }
@keyframes trgg-stripe { 0%{background-position: 0 0} 100%{background-position: 200px 0} }

.scn-tutt-accepts-case {
  background: linear-gradient(180deg, #f5e6c8 0%, #e0c9a0 60%) , radial-gradient(circle at 70% 30%, #fff5e0 0%, transparent 60%);
  background-blend-mode: overlay;
}
.scn-tutt-accepts-case .office-wall { position:absolute; inset:0 0 0 0; background:linear-gradient(90deg, #c8b898 0%, #d9c9a9 100%); }
.scn-tutt-accepts-case .window { position:absolute; top:10%; left:60%; width:20%; height:40%; background:linear-gradient(180deg, #a0c0e0 0%, #c0d8f0 100%); border:4px solid #8a6e44; border-radius:8px; box-shadow:inset 0 0 30px rgba(255,255,200,.3); animation:ta-window 8s ease-in-out infinite alternate; }
.scn-tutt-accepts-case .desk { position:absolute; bottom:20%; left:20%; right:20%; height:10%; background:linear-gradient(180deg, #6a4a2a 0%, #4a2a10 100%); border-radius:4px; box-shadow:0 -4px 10px rgba(0,0,0,.1); }
.scn-tutt-accepts-case .tutt-silhouette { position:absolute; bottom:25%; left:30%; width:8%; height:20%; background:linear-gradient(180deg, #2a2a1a 0%, #1a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:ta-figure 6s ease-in-out infinite; }
.scn-tutt-accepts-case .lamp-glow { position:absolute; bottom:35%; left:28%; width:4%; height:6%; background:radial-gradient(circle, #ffe080 0%, transparent 70%); border-radius:50%; box-shadow:0 0 40px 15px rgba(255,200,80,.5); animation:ta-lamp 3s ease-in-out infinite alternate; }
.scn-tutt-accepts-case .papers { position:absolute; bottom:23%; left:40%; width:6%; height:4%; background:#f0e0c0; border-radius:2px; transform:rotate(10deg); box-shadow:2px 2px 4px rgba(0,0,0,.2); animation:ta-papers 12s ease-in-out infinite; }
@keyframes ta-window { 0% { opacity:.85; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.02); } 100% { opacity:.9; transform:scaleY(1); } }
@keyframes ta-figure { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-4px) rotate(1deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes ta-lamp { 0% { opacity:.6; transform:scale(1); } 100% { opacity:1; transform:scale(1.1); } }
@keyframes ta-papers { 0% { transform:rotate(10deg) translateY(0); } 50% { transform:rotate(15deg) translateY(-2px); } 100% { transform:rotate(8deg) translateY(0); } }

.scn-chief-clerk-complains {
  background: linear-gradient(180deg, #d4c8a8 0%, #bfb090 60%) , radial-gradient(ellipse at 30% 50%, #e8dcc0 0%, transparent 50%);
}
.scn-chief-clerk-complains .wall-shadow { position:absolute; inset:0; background:linear-gradient(135deg, #a89a80 0%, transparent 40%); }
.scn-chief-clerk-complains .desk-piles { position:absolute; bottom:15%; left:15%; right:15%; height:12%; background:linear-gradient(180deg, #5a3a1a 0%, #3a2a10 100%); border-radius:6px; box-shadow:0 -6px 15px rgba(0,0,0,.3); }
.scn-chief-clerk-complains .clerk-figure { position:absolute; bottom:20%; left:40%; width:10%; height:22%; background:linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation:cc-figure 2s ease-in-out infinite; }
.scn-chief-clerk-complains .clock { position:absolute; top:15%; right:20%; width:8%; height:8%; background:radial-gradient(circle, #f0e8d0 0%, #b0a080 100%); border-radius:50%; box-shadow:0 0 10px rgba(0,0,0,.3); animation:cc-clock 10s linear infinite; }
.scn-chief-clerk-complains .lamp-flicker { position:absolute; bottom:32%; left:42%; width:3%; height:5%; background:radial-gradient(circle, #d0b060 0%, transparent 80%); border-radius:50%; box-shadow:0 0 30px 10px rgba(208,176,96,.4); animation:cc-lamp 0.5s ease-in-out infinite alternate; }
.scn-chief-clerk-complains .papers-scattered { position:absolute; bottom:18%; left:25%; width:5%; height:3%; background:#d8c8a0; border-radius:1px; transform:rotate(-15deg); box-shadow:3px 3px 6px rgba(0,0,0,.2); animation:cc-papers 4s ease-in-out infinite; }
@keyframes cc-figure { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-8deg) translateY(-2px); } 100% { transform:rotate(-4deg) translateY(0); } }
@keyframes cc-clock { 0% { transform:rotate(0); } 100% { transform:rotate(360deg); } }
@keyframes cc-lamp { 0% { opacity:.6; transform:scale(1); } 100% { opacity:1; transform:scale(1.2); } }
@keyframes cc-papers { 0% { transform:rotate(-15deg) translateX(0); } 50% { transform:rotate(-20deg) translateX(-4px); } 100% { transform:rotate(-12deg) translateX(0); } }

.scn-da-and-camel-case {
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c098 60%) , radial-gradient(circle at 50% 20%, #fff8e0 0%, transparent 70%);
}
.scn-da-and-camel-case .da-backdrop { position:absolute; inset:0; background:linear-gradient(90deg, #b8a888 0%, #d0c0a0 100%); }
.scn-da-and-camel-case .desk-desk { position:absolute; bottom:20%; left:10%; right:10%; height:10%; background:linear-gradient(180deg, #5a3a1a 0%, #3a2a10 100%); border-radius:4px; box-shadow:0 -5px 12px rgba(0,0,0,.2); }
.scn-da-and-camel-case .da-figure { position:absolute; bottom:25%; left:25%; width:10%; height:22%; background:linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:dc-figure 3s ease-in-out infinite; }
.scn-da-and-camel-case .camel-silhouette { position:absolute; bottom:22%; right:15%; width:15%; height:18%; background:linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform:rotate(10deg); animation:dc-camel 2s ease-in-out infinite alternate; }
.scn-da-and-camel-case .flying-papers { position:absolute; bottom:30%; left:50%; width:4%; height:3%; background:#e0d0b0; border-radius:1px; transform:rotate(30deg); box-shadow:2px 2px 3px rgba(0,0,0,.1); animation:dc-papers 1s ease-in-out infinite; }
.scn-da-and-camel-case .lamp-bounce { position:absolute; bottom:35%; left:30%; width:4%; height:5%; background:radial-gradient(circle, #ffe080 0%, transparent 70%); border-radius:50%; box-shadow:0 0 30px 10px rgba(255,200,80,.4); animation:dc-lamp 0.8s ease-in-out infinite; }
@keyframes dc-figure { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-5px) rotate(3deg); } 100% { transform:translateY(0) rotate(0); } }
@keyframes dc-camel { 0% { transform:rotate(10deg) scaleX(1); } 100% { transform:rotate(15deg) scaleX(1.05); } }
@keyframes dc-papers { 0% { transform:rotate(30deg) translate(0,0); } 25% { transform:rotate(45deg) translate(10px,-5px); } 50% { transform:rotate(60deg) translate(20px,-10px); } 75% { transform:rotate(45deg) translate(10px,-5px); } 100% { transform:rotate(30deg) translate(0,0); } }
@keyframes dc-lamp { 0% { opacity:.5; transform:scale(1) rotate(0); } 50% { opacity:1; transform:scale(1.2) rotate(10deg); } 100% { opacity:.5; transform:scale(1) rotate(0); } }

.scn-pepperill-assigned {
  background: linear-gradient(180deg, #e8dcc0 0%, #d0c0a0 60%) , radial-gradient(ellipse at 50% 30%, #f0e4c8 0%, transparent 60%);
}
.scn-pepperill-assigned .court-wall { position:absolute; inset:0; background:linear-gradient(180deg, #b8a888 0%, #d0c0a0 100%); }
.scn-pepperill-assigned .bench { position:absolute; bottom:15%; left:20%; right:20%; height:10%; background:linear-gradient(180deg, #6a4a2a 0%, #4a2a10 100%); border-radius:6px 6px 0 0; box-shadow:0 -6px 15px rgba(0,0,0,.2); }
.scn-pepperill-assigned .judge-figure { position:absolute; bottom:20%; left:30%; width:12%; height:20%; background:linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform:rotate(-5deg); animation:pa-judge 10s ease-in-out infinite; }
.scn-pepperill-assigned .gavel { position:absolute; bottom:25%; left:50%; width:3%; height:6%; background:linear-gradient(180deg, #5a3a1a 0%, #3a2a10 100%); border-radius:2px; transform:rotate(20deg); animation:pa-gavel 4s ease-in-out infinite; }
.scn-pepperill-assigned .zzz-shape { position:absolute; top:30%; left:35%; width:10%; height:8%; background:radial-gradient(circle at 50% 50%, #a09080 0%, transparent 100%); border-radius:50%; filter:blur(2px); animation:pa-zzz 3s ease-in-out infinite; }
.scn-pepperill-assigned .lamp-drowsy { position:absolute; bottom:35%; left:35%; width:4%; height:5%; background:radial-gradient(circle, #c0a060 0%, transparent 70%); border-radius:50%; box-shadow:0 0 25px 8px rgba(192,160,96,.3); animation:pa-lamp 6s ease-in-out infinite alternate; }
@keyframes pa-judge { 0% { transform:rotate(-5deg) translateY(0); } 50% { transform:rotate(-7deg) translateY(-2px); } 100% { transform:rotate(-5deg) translateY(0); } }
@keyframes pa-gavel { 0% { transform:rotate(20deg) translateY(0); } 50% { transform:rotate(30deg) translateY(-3px); } 100% { transform:rotate(20deg) translateY(0); } }
@keyframes pa-zzz { 0% { opacity:.3; transform:scale(1) translateY(0); } 50% { opacity:.6; transform:scale(1.2) translateY(-5px); } 100% { opacity:.3; transform:scale(1) translateY(0); } }
@keyframes pa-lamp { 0% { opacity:.6; transform:scale(1); } 100% { opacity:.8; transform:scale(0.9); } }

/* multiplicity-of-statutes */
.scn-multiplicity-of-statutes {
  background: 
    linear-gradient(180deg, #e8dcc8 0%, #c4b49a 40%, #9a8a70 100%),
    radial-gradient(ellipse at 50% 50%, #c4a878 0%, transparent 70%);
}
.scn-multiplicity-of-statutes .wall { position:absolute; inset:0; background: linear-gradient(180deg, #e0d0b8 0%, #b8a088 100%); }
.scn-multiplicity-of-statutes .window-sill { position:absolute; top:20%; left:30%; right:30%; height:5%; background: #8a7a62; border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.scn-multiplicity-of-statutes .shelf-left { position:absolute; left:8%; top:30%; width:18%; height:60%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: 2px 0 6px rgba(0,0,0,0.3); }
.scn-multiplicity-of-statutes .shelf-right { position:absolute; right:8%; top:30%; width:18%; height:60%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 4px; box-shadow: -2px 0 6px rgba(0,0,0,0.3); }
.scn-multiplicity-of-statutes .lamp-glow { position:absolute; top:15%; left:45%; width:10%; height:20%; background: radial-gradient(circle, #ffe8c0 0%, transparent 100%); opacity:0.7; animation: ms-glow 4s ease-in-out infinite alternate; }
.scn-multiplicity-of-statutes .figure { position:absolute; bottom:10%; left:35%; width:12%; height:30%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: ms-figure 6s ease-in-out infinite; }
.scn-multiplicity-of-statutes .book { position:absolute; bottom:12%; left:43%; width:8%; height:12%; background: linear-gradient(135deg, #8a7a3a 0%, #5a4a1a 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.4); animation: ms-book 8s ease-in-out infinite; }
@keyframes ms-glow { 0% { opacity:0.6; transform: scale(1); } 50% { opacity:0.9; transform: scale(1.05); } 100% { opacity:0.7; transform: scale(0.98); } }
@keyframes ms-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 60% { transform: translateY(-1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ms-book { 0% { transform: translateY(0) rotate(0deg); } 40% { transform: translateY(-1px) rotate(2deg); } 80% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0); } }

/* choate-and-southmayde */
.scn-choate-and-southmayde {
  background: 
    linear-gradient(180deg, #d4c4a8 0%, #b8a084 50%, #9a7a5e 100%),
    radial-gradient(circle at 50% 30%, #ffe8c0 0%, transparent 60%);
}
.scn-choate-and-southmayde .desk { position:absolute; bottom:0; left:5%; right:5%; height:40%; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3); }
.scn-choate-and-southmayde .book-left { position:absolute; bottom:20%; left:20%; width:25%; height:20%; background: linear-gradient(135deg, #b89868 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.3); animation: cs-page-left 10s ease-in-out infinite alternate; }
.scn-choate-and-southmayde .book-right { position:absolute; bottom:20%; right:20%; width:25%; height:20%; background: linear-gradient(225deg, #b89868 0%, #8a6a3a 100%); border-radius: 2px; box-shadow: -2px 2px 6px rgba(0,0,0,0.3); animation: cs-page-right 10s ease-in-out infinite alternate; }
.scn-choate-and-southmayde .spine { position:absolute; bottom:20%; left:50%; width:6%; height:20%; background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%); transform:translateX(-50%); border-radius: 2px; }
.scn-choate-and-southmayde .lamp { position:absolute; top:10%; left:45%; width:10%; height:30%; background: radial-gradient(circle at 50% 80%, #ffe0a0 0%, #d4b87a 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 20px 10px #ffe0a0; animation: cs-lamp 3s ease-in-out infinite alternate; }
.scn-choate-and-southmayde .hand { position:absolute; bottom:35%; left:30%; width:8%; height:8%; background: radial-gradient(circle, #c8a878 0%, #8a6a4a 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom center; animation: cs-hand 5s ease-in-out infinite; }
.scn-choate-and-southmayde .spectacles { position:absolute; top:40%; left:43%; width:14%; height:8%; border: 2px solid #4a3a2a; border-radius: 50%; background: transparent; box-shadow: 0 0 6px rgba(0,0,0,0.2); animation: cs-glasses 8s ease-in-out infinite; }
@keyframes cs-page-left { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(5deg); } 100% { transform: rotateY(0); } }
@keyframes cs-page-right { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-5deg); } 100% { transform: rotateY(0); } }
@keyframes cs-lamp { 0% { box-shadow: 0 0 10px 5px #ffe0a0; } 50% { box-shadow: 0 0 25px 15px #ffe0a0; } 100% { box-shadow: 0 0 12px 6px #ffe0a0; } }
@keyframes cs-hand { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(-5deg) translateY(-3px); } 60% { transform: rotate(3deg) translateY(-1px); } 100% { transform: rotate(0); } }
@keyframes cs-glasses { 0% { transform: translateX(0); } 50% { transform: translateX(3px); } 100% { transform: translateX(0); } }

/* sociological-law-of-crime */
.scn-sociological-law-of-crime {
  background: 
    linear-gradient(180deg, #cebdac 0%, #b09980 40%, #8a7560 100%),
    radial-gradient(ellipse at 50% 100%, #c0a88a 0%, transparent 70%);
}
.scn-sociological-law-of-crime .table { position:absolute; bottom:0; left:0; right:0; height:50%; background: linear-gradient(180deg, #8a6a4a 0%, #5a4028 100%); border-radius: 0; }
.scn-sociological-law-of-crime .law-book { position:absolute; bottom:20%; left:25%; right:25%; height:25%; background: linear-gradient(135deg, #b09868 0%, #8a6a3a 100%); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); animation: sl-book 12s ease-in-out infinite alternate; }
.scn-sociological-law-of-crime .gavel { position:absolute; bottom:35%; left:60%; width:8%; height:15%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 100%); border-radius: 2px 2px 8px 8px; transform-origin: bottom center; animation: sl-gavel 4s ease-in-out infinite; }
.scn-sociological-law-of-crime .inkwell { position:absolute; bottom:30%; left:30%; width:6%; height:8%; background: #2a1a0a; border-radius: 30% 30% 10% 10%; box-shadow: inset 0 -2px 4px rgba(0,0,0,0.5); }
.scn-sociological-law-of-crime .quill { position:absolute; bottom:38%; left:33%; width:2%; height:15%; background: linear-gradient(180deg, #d4c0a0 0%, #a08868 100%); border-radius: 1px; transform: rotate(10deg); animation: sl-quill 6s ease-in-out infinite; }
.scn-sociological-law-of-crime .paper-edge { position:absolute; bottom:28%; left:20%; width:15%; height:2%; background: #e8dcc8; border-radius: 1px; box-shadow: 0 0 4px rgba(0,0,0,0.1); animation: sl-paper 8s ease-in-out infinite; }
@keyframes sl-book { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes sl-gavel { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(10deg) translateY(-2px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(-10deg) translateY(-2px); } 100% { transform: rotate(0); } }
@keyframes sl-quill { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(15deg) translateY(-4px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes sl-paper { 0% { opacity:0.8; transform: translateX(0); } 50% { opacity:1; transform: translateX(5px); } 100% { opacity:0.8; transform: translateX(0); } }

/* diminishing-returns-of-law */
.scn-diminishing-returns-of-law {
  background: 
    linear-gradient(180deg, #d4c8b8 0%, #b8a490 50%, #9a8068 100%),
    radial-gradient(ellipse at 50% 80%, #c0b098 0%, transparent 80%);
}
.scn-diminishing-returns-of-law .bookshelf-bg { position:absolute; inset:0; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 4px; }
.scn-diminishing-returns-of-law .book-tall { position:absolute; bottom:20%; left:20%; width:15%; height:40%; background: linear-gradient(180deg, #a0805a 0%, #70503a 100%); border-radius: 2px; box-shadow: 2px 0 6px rgba(0,0,0,0.3); animation: dr-tall 8s ease-in-out infinite alternate; }
.scn-diminishing-returns-of-law .book-medium { position:absolute; bottom:30%; left:40%; width:12%; height:30%; background: linear-gradient(180deg, #8a6a4a 0%, #5a4028 100%); border-radius: 2px; box-shadow: 2px 0 6px rgba(0,0,0,0.3); animation: dr-medium 10s ease-in-out infinite alternate; }
.scn-diminishing-returns-of-law .book-small { position:absolute; bottom:40%; left:60%; width:10%; height:20%; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius: 2px; box-shadow: 2px 0 6px rgba(0,0,0,0.3); animation: dr-small 12s ease-in-out infinite alternate; }
.scn-diminishing-returns-of-law .figure { position:absolute; bottom:5%; left:5%; width:10%; height:25%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: dr-figure 6s ease-in-out infinite; }
.scn-diminishing-returns-of-law .window-light { position:absolute; top:5%; left:30%; width:30%; height:20%; background: radial-gradient(ellipse at 50% 50%, #fff0d0 0%, transparent 100%); opacity:0.6; animation: dr-light 15s ease-in-out infinite alternate; }
@keyframes dr-tall { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes dr-medium { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-1px) scale(0.98); } 100% { transform: translateY(0); } }
@keyframes dr-small { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes dr-figure { 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); } }
@keyframes dr-light { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.5; } }

/* laws-and-lawyers */
.scn-laws-and-lawyers {
  background: linear-gradient(180deg, #f5e6c8 0%, #dcc8a0 40%, #b89a70 100%),
              radial-gradient(ellipse at 50% 20%, #fff5e0 0%, transparent 60%);
}
.scn-laws-and-lawyers .room-back { position:absolute; inset:0; background: linear-gradient(180deg, #e0d0b8 0%, #c4b098 100%); }
.scn-laws-and-lawyers .window { position:absolute; top:8%; left:60%; width:20%; height:35%; background: linear-gradient(180deg, #fff8dc 0%, #f0e0b0 100%); border:4px solid #7a5a3a; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); animation: ll-window 12s ease-in-out infinite alternate; }
.scn-laws-and-lawyers .bookshelf { position:absolute; top:12%; left:8%; width:18%; height:75%; background: linear-gradient(90deg, #6a4a2a 0%, #8b6f47 30%, #6a4a2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: ll-shelf 20s ease-in-out infinite; }
.scn-laws-and-lawyers .desk { position:absolute; bottom:20%; left:20%; width:55%; height:18%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius:6px 6px 2px 2px; box-shadow: 0 8px 12px rgba(0,0,0,0.4); }
.scn-laws-and-lawyers .figure-left { position:absolute; bottom:25%; left:28%; width:8%; height:40%; background: linear-gradient(180deg, #3e2c1a 0%, #1e1000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ll-figure-l 6s ease-in-out infinite; }
.scn-laws-and-lawyers .figure-right { position:absolute; bottom:25%; right:28%; width:8%; height:38%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ll-figure-r 8s ease-in-out infinite; }
.scn-laws-and-lawyers .lamp { position:absolute; bottom:38%; left:45%; width:3%; height:10%; background: radial-gradient(circle, #ffd080 0%, #b08040 70%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(255,208,128,0.5), 0 0 60px 20px rgba(255,208,128,0.2); animation: ll-lamp 4s ease-in-out infinite alternate; }
@keyframes ll-window { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.02); } 100% { opacity:0.85; transform: scaleY(1); } }
@keyframes ll-shelf { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.01); } 100% { transform: scaleX(1); } }
@keyframes ll-figure-l { 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 ll-figure-r { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-1px) rotate(1deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ll-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.4); } 50% { box-shadow: 0 0 40px 15px rgba(255,208,128,0.7); } 100% { box-shadow: 0 0 25px 8px rgba(255,208,128,0.5); } }

/* law-is-supplementary */
.scn-law-is-supplementary {
  background: linear-gradient(180deg, #f0e4c0 0%, #d8c8a0 50%, #b8a080 100%),
              radial-gradient(ellipse at 30% 40%, #fff5e0 0%, transparent 50%);
}
.scn-law-is-supplementary .wall { position:absolute; inset:0; background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 100%); }
.scn-law-is-supplementary .desk-top { position:absolute; bottom:20%; left:25%; width:50%; height:15%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a10 100%); border-radius:4px; box-shadow: 0 6px 10px rgba(0,0,0,0.3); }
.scn-law-is-supplementary .book-open { position:absolute; bottom:28%; left:42%; width:16%; height:12%; background: linear-gradient(180deg, #f5e6c8 0%, #dcc8a0 100%); border-radius:2px; box-shadow: 0 0 8px rgba(0,0,0,0.2); transform: skewX(-3deg); animation: ls-book 10s ease-in-out infinite; }
.scn-law-is-supplementary .lectern { position:absolute; bottom:12%; left:32%; width:12%; height:25%; background: linear-gradient(180deg, #6a4a2a 0%, #3a1a00 100%); border-radius:4px; box-shadow: 0 8px 12px rgba(0,0,0,0.4); }
.scn-law-is-supplementary .figure-standing { position:absolute; bottom:22%; left:34%; width:10%; height:45%; background: linear-gradient(180deg, #3e2c1a 0%, #1e1000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ls-figure 8s ease-in-out infinite; }
.scn-law-is-supplementary .lamp-shine { position:absolute; bottom:40%; left:28%; width:8%; height:20%; background: radial-gradient(ellipse, rgba(255,220,150,0.6) 0%, transparent 70%); border-radius:50%; filter: blur(8px); animation: ls-lamp 7s ease-in-out infinite alternate; }
.scn-law-is-supplementary .globe { position:absolute; bottom:32%; left:55%; width:10%; height:15%; background: radial-gradient(circle at 30% 30%, #6090b0 0%, #2a4a6a 100%); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: ls-globe 15s linear infinite; }
@keyframes ls-book { 0% { transform: skewX(-3deg) translateY(0); } 50% { transform: skewX(-3deg) translateY(-1px); } 100% { transform: skewX(-3deg) translateY(0); } }
@keyframes ls-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 ls-lamp { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:0.8; transform: scale(1.1); } 100% { opacity:0.6; transform: scale(1); } }
@keyframes ls-globe { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* arbitrary-distinctions */
.scn-arbitrary-distinctions {
  background: linear-gradient(180deg, #efe0c0 0%, #d0b898 50%, #b09878 100%),
              radial-gradient(ellipse at 60% 50%, #fff5e0 0%, transparent 50%);
}
.scn-arbitrary-distinctions .bench-back { position:absolute; top:5%; left:10%; width:80%; height:60%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a10 100%); border-radius:8px; box-shadow: 0 10px 15px rgba(0,0,0,0.4); }
.scn-arbitrary-distinctions .bench-top { position:absolute; top:8%; left:12%; width:76%; height:6%; background: linear-gradient(180deg, #8b6f47 0%, #5a3a1a 100%); border-radius:4px; }
.scn-arbitrary-distinctions .gavel { position:absolute; top:18%; left:30%; width:6%; height:12%; background: linear-gradient(180deg, #5a3a1a 0%, #2a1000 80%); border-radius:2px; transform: rotate(10deg); animation: ad-gavel 3s ease-in-out infinite; }
.scn-arbitrary-distinctions .scales { position:absolute; top:14%; left:50%; width:14%; height:20%; background: radial-gradient(ellipse, #c8a878 0%, #7a5a3a 100%); border-radius:50%; box-shadow: 0 4px 8px rgba(0,0,0,0.3); animation: ad-scales 8s ease-in-out infinite; }
.scn-arbitrary-distinctions .figure-judge { position:absolute; bottom:10%; left:42%; width:12%; height:50%; background: linear-gradient(180deg, #3e2c1a 0%, #1e1000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ad-judge 10s ease-in-out infinite; }
.scn-arbitrary-distinctions .law-book { position:absolute; top:24%; left:22%; width:8%; height:14%; background: linear-gradient(180deg, #b08040 0%, #7a5a3a 100%); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); transform: rotate(-5deg); animation: ad-book 12s ease-in-out infinite; }
.scn-arbitrary-distinctions .candlestick { position:absolute; top:10%; left:70%; width:4%; height:18%; background: linear-gradient(180deg, #d0a070 0%, #8b6f47 100%); border-radius:4px; box-shadow: 0 0 10px rgba(255,200,100,0.4); animation: ad-candle 5s ease-in-out infinite alternate; }
@keyframes ad-gavel { 0% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(10deg) translateY(0); } }
@keyframes ad-scales { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes ad-judge { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-2px) rotate(1deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ad-book { 0% { transform: rotate(-5deg) scale(1); } 50% { transform: rotate(-5deg) scale(1.02); } 100% { transform: rotate(-5deg) scale(1); } }
@keyframes ad-candle { 0% { box-shadow: 0 0 8px rgba(255,200,100,0.3); opacity:0.8; } 50% { box-shadow: 0 0 18px rgba(255,200,100,0.7); opacity:1; } 100% { box-shadow: 0 0 10px rgba(255,200,100,0.4); opacity:0.9; } }

/* criminal-law-history */
.scn-criminal-law-history {
  background: linear-gradient(180deg, #e8d8b8 0%, #c8b090 40%, #a88868 100%),
              radial-gradient(ellipse at 40% 30%, #fff5e0 0%, transparent 60%);
}
.scn-criminal-law-history .courtroom-wall { position:absolute; inset:0; background: linear-gradient(180deg, #d8c0a0 0%, #b89878 100%); }
.scn-criminal-law-history .barrier { position:absolute; bottom:15%; left:0; right:0; height:8%; background: linear-gradient(180deg, #6a4a2a 0%, #3a1a00 100%); border-radius:4px; }
.scn-criminal-law-history .figure-accused { position:absolute; bottom:20%; left:20%; width:10%; height:50%; background: linear-gradient(180deg, #3e2c1a 0%, #1e1000 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-accused 7s ease-in-out infinite; }
.scn-criminal-law-history .figure-victim { position:absolute; bottom:18%; right:22%; width:9%; height:45%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-victim 9s ease-in-out infinite; }
.scn-criminal-law-history .witness-stand { position:absolute; bottom:20%; left:50%; width:12%; height:40%; background: linear-gradient(180deg, #7a5a3a 0%, #4a2a10 100%); border-radius:4px; box-shadow: 0 6px 10px rgba(0,0,0,0.4); }
.scn-criminal-law-history .judge-bench { position:absolute; bottom:10%; left:30%; width:20%; height:20%; background: linear-gradient(180deg, #6a4a2a 0%, #3a1a00 100%); border-radius:6px; box-shadow: 0 8px 12px rgba(0,0,0,0.3); }
.scn-criminal-law-history .lamp-court { position:absolute; top:15%; left:45%; width:6%; height:15%; background: radial-gradient(circle, #ffd080 0%, #b08040 70%); border-radius:50%; box-shadow: 0 0 30px 10px rgba(255,208,128,0.5); animation: ch-lamp 8s ease-in-out infinite alternate; }
@keyframes ch-accused { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-1deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-1px) rotate(0deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ch-victim { 0% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-1px) rotate(1deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ch-lamp { 0% { box-shadow: 0 0 20px 5px rgba(255,208,128,0.4); transform: scale(1); } 50% { box-shadow: 0 0 40px 15px rgba(255,208,128,0.7); transform: scale(1.05); } 100% { box-shadow: 0 0 25px 8px rgba(255,208,128,0.5); transform: scale(1); } }

.scn-turk-and-christian-taunts {
  background: linear-gradient(180deg, #e8ddd0 0%, #c9bfb0 50%, #a89c8e 100%), radial-gradient(ellipse at 60% 30%, #c9bfb0 0%, transparent 60%);
}
.scn-turk-and-christian-taunts .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d9cec0 0%, #b8ab9a 100%); }
.scn-turk-and-christian-taunts .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, #7a6e5e 0%, #998c7c 60%, #b0a392 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.2); }
.scn-turk-and-christian-taunts .window { position:absolute; top:10%; left:20%; width:40%; height:50%; background: linear-gradient(135deg, #fff8e7 0%, #e8dcc8 100%); border: 6px solid #5a4e3e; border-radius: 4px; box-shadow: 0 0 30px 10px rgba(255,248,231,.3), inset 0 0 20px rgba(0,0,0,.15); animation: tct-window 12s ease-in-out infinite alternate; }
.scn-turk-and-christian-taunts .shadow-bar { position:absolute; top:30%; left:20%; width:40%; height:8px; background: rgba(0,0,0,.15); transform: skewX(-20deg); box-shadow: 0 4px 8px rgba(0,0,0,.1); animation: tct-bar 8s ease-in-out infinite alternate; }
.scn-turk-and-christian-taunts .table { position:absolute; bottom:30%; left:35%; width:30%; height:18%; background: linear-gradient(180deg, #8c7a68 0%, #5a4e3e 100%); border-radius: 4px 4px 0 0; box-shadow: 0 8px 16px rgba(0,0,0,.3); }
.scn-turk-and-christian-taunts .figure-left { position:absolute; bottom:25%; left:25%; width:14%; height:35%; background: linear-gradient(180deg, #3a3028 0%, #1e1814 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tct-figleft 3s ease-in-out infinite; }
.scn-turk-and-christian-taunts .figure-right { position:absolute; bottom:25%; right:28%; width:12%; height:38%; background: linear-gradient(180deg, #4a3c32 0%, #2a201a 100%); border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%; transform-origin: bottom center; animation: tct-figright 3.5s ease-in-out infinite; }
.scn-turk-and-christian-taunts .lamp { position:absolute; top:22%; left:45%; width:8%; height:12%; background: radial-gradient(ellipse at 50% 30%, #ffd080 0%, #c08040 50%, #402010 100%); border-radius: 50% 50% 0 0; box-shadow: 0 0 40px 20px rgba(255,208,128,.3), 0 0 80px 40px rgba(255,208,128,.15); animation: tct-lamp 4s ease-in-out infinite alternate; }
@keyframes tct-window { 0% { opacity:.9; transform:scale(1) } 50% { opacity:1; transform:scale(1.02) } 100% { opacity:.85; transform:scale(.98) } }
@keyframes tct-bar { 0% { transform:skewX(-20deg) translateX(0) } 50% { transform:skewX(-18deg) translateX(5px) } 100% { transform:skewX(-22deg) translateX(-3px) } }
@keyframes tct-figleft { 0% { transform:translateX(0) rotate(0) } 30% { transform:translateX(8px) rotate(4deg) } 60% { transform:translateX(-4px) rotate(-2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes tct-figright { 0% { transform:translateX(0) rotate(0) } 40% { transform:translateX(-6px) rotate(-3deg) } 80% { transform:translateX(4px) rotate(2deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes tct-lamp { 0% { opacity:.8; box-shadow:0 0 30px 10px rgba(255,208,128,.2) } 50% { opacity:1; box-shadow:0 0 60px 30px rgba(255,208,128,.4) } 100% { opacity:.85; box-shadow:0 0 35px 15px rgba(255,208,128,.25) } }

.scn-camel-removed {
  background: linear-gradient(180deg, #2c2a28 0%, #4a4540 50%, #6b645c 100%), radial-gradient(ellipse at 30% 50%, #3a3630 0%, transparent 70%);
}
.scn-camel-removed .ceiling { position:absolute; top:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #5a554e 0%, #3a3630 100%); box-shadow: inset 0 -20px 40px rgba(0,0,0,.3); }
.scn-camel-removed .hole { position:absolute; top:15%; left:45%; width:20%; height:30%; background: #1a1816; border-radius: 50% 50% 0 0; box-shadow: inset 0 10px 20px rgba(0,0,0,.5); animation: cmr-hole 6s ease-in-out infinite; }
.scn-camel-removed .camel-head { position:absolute; top:10%; left:46%; width:16%; height:25%; background: linear-gradient(180deg, #6b5540 0%, #4a3828 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; filter: blur(1px); animation: cmr-head 2s ease-in-out infinite; }
.scn-camel-removed .roof-beam { position:absolute; top:30%; left:20%; width:60%; height:6px; background: #3a3028; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: cmr-beam 10s ease-in-out infinite alternate; }
.scn-camel-removed .ladder { position:absolute; bottom:10%; left:30%; width:8%; height:50%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 4px; transform: rotate(5deg); }
.scn-camel-removed .shadow-man { position:absolute; bottom:15%; right:25%; width:12%; height:25%; background: #1e1c18; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: cmr-man 4s ease-in-out infinite; }
@keyframes cmr-hole { 0% { transform:scale(1) } 50% { transform:scale(1.05) translateY(-3px) } 100% { transform:scale(1) } }
@keyframes cmr-head { 0% { transform:translateY(0) rotate(-5deg) } 25% { transform:translateY(-4px) rotate(3deg) } 50% { transform:translateY(0) rotate(0) } 75% { transform:translateY(2px) rotate(-2deg) } 100% { transform:translateY(0) rotate(-5deg) } }
@keyframes cmr-beam { 0% { transform:translateX(0) } 50% { transform:translateX(8px) } 100% { transform:translateX(-5px) } }
@keyframes cmr-man { 0% { transform:translateX(0) } 30% { transform:translateX(12px) rotate(5deg) } 70% { transform:translateX(-6px) rotate(-3deg) } 100% { transform:translateX(0) } }

.scn-willie-and-camel-bond {
  background: linear-gradient(180deg, #f5e6c8 0%, #e6d4a8 40%, #d4bc90 100%), radial-gradient(ellipse at 50% 20%, #f5e6c8 0%, transparent 60%);
}
.scn-willie-and-camel-bond .wall-bright { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #f0dfb8 0%, #e0cca0 100%); }
.scn-willie-and-camel-bond .floor-warm { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, #b89870 0%, #c8a880 60%, #d8b890 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.1); }
.scn-willie-and-camel-bond .camel-silhouette { position:absolute; bottom:25%; left:20%; width:25%; height:40%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 80% 80% 20% 20%; filter: blur(1px); animation: wcb-camel 6s ease-in-out infinite; }
.scn-willie-and-camel-bond .willie-silhouette { position:absolute; bottom:25%; right:30%; width:10%; height:35%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: wcb-willie 4s ease-in-out infinite; }
.scn-willie-and-camel-bond .hay-bale { position:absolute; bottom:18%; left:48%; width:12%; height:10%; background: radial-gradient(ellipse, #c8a860 0%, #a88840 100%); border-radius: 50%; box-shadow: 0 4px 8px rgba(0,0,0,.15); animation: wcb-hay 8s ease-in-out infinite alternate; }
.scn-willie-and-camel-bond .sunbeam { position:absolute; top:5%; left:30%; width:40%; height:60%; background: linear-gradient(135deg, rgba(255,240,200,.3) 0%, transparent 80%); filter: blur(10px); animation: wcb-beam 12s ease-in-out infinite alternate; }
@keyframes wcb-camel { 0% { transform:scale(1) translateY(0) } 50% { transform:scale(1.02) translateY(-2px) } 100% { transform:scale(1) translateY(0) } }
@keyframes wcb-willie { 0% { transform:translateX(0) rotate(0) } 33% { transform:translateX(4px) rotate(2deg) } 66% { transform:translateX(-2px) rotate(-1deg) } 100% { transform:translateX(0) rotate(0) } }
@keyframes wcb-hay { 0% { opacity:.8; transform:scale(1) } 50% { opacity:1; transform:scale(1.05) } 100% { opacity:.85; transform:scale(.95) } }
@keyframes wcb-beam { 0% { opacity:.5; transform:rotate(-5deg) } 50% { opacity:.8; transform:rotate(2deg) } 100% { opacity:.6; transform:rotate(-2deg) } }

.scn-brass-beds-and-camels {
  background: linear-gradient(180deg, #f0e8d8 0%, #d8ccb4 50%, #bfb098 100%), radial-gradient(ellipse at 70% 60%, #e0d4c0 0%, transparent 60%);
}
.scn-brass-beds-and-camels .room-wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #e8dcc8 0%, #d0c4b0 100%); }
.scn-brass-beds-and-camels .bed-headboard { position:absolute; bottom:15%; left:10%; width:35%; height:40%; background: linear-gradient(180deg, #c0a880 0%, #a08860 100%); border-radius: 8px 8px 0 0; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.scn-brass-beds-and-camels .bed-frame { position:absolute; bottom:5%; left:10%; width:35%; height:12%; background: linear-gradient(180deg, #b09870 0%, #907858 100%); border-radius: 4px; }
.scn-brass-beds-and-camels .pillow { position:absolute; bottom:20%; left:18%; width:10%; height:8%; background: radial-gradient(ellipse, #f0e0c8 0%, #e0ccb0 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.1); animation: bbc-pillow 5s ease-in-out infinite alternate; }
.scn-brass-beds-and-camels .camel-peek { position:absolute; top:10%; right:20%; width:18%; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%; filter: blur(1px); animation: bbc-camel 3s ease-in-out infinite; }
.scn-brass-beds-and-camels .curtain-left { position:absolute; top:0; left:0; width:20%; height:100%; background: linear-gradient(180deg, #b09878 0%, #907858 50%, #705840 100%); filter: blur(2px); animation: bbc-curtain-l 12s ease-in-out infinite alternate; }
.scn-brass-beds-and-camels .curtain-right { position:absolute; top:0; right:0; width:20%; height:100%; background: linear-gradient(180deg, #b09878 0%, #907858 50%, #705840 100%); filter: blur(2px); animation: bbc-curtain-r 14s ease-in-out infinite alternate; }
@keyframes bbc-pillow { 0% { transform:scale(1) } 50% { transform:scale(1.04) } 100% { transform:scale(1) } }
@keyframes bbc-camel { 0% { transform:translateX(0) rotate(-8deg) } 30% { transform:translateX(-6px) rotate(2deg) } 60% { transform:translateX(4px) rotate(-4deg) } 100% { transform:translateX(0) rotate(-8deg) } }
@keyframes bbc-curtain-l { 0% { transform:translateX(0) } 50% { transform:translateX(5px) } 100% { transform:translateX(-3px) } }
@keyframes bbc-curtain-r { 0% { transform:translateX(0) } 50% { transform:translateX(-5px) } 100% { transform:translateX(3px) } }

/* asche-visits-tutt */
.scn-asche-visits-tutt { background: linear-gradient(180deg, #f5e6d3 0%, #e8d5b0 40%, #d4b88a 100%), radial-gradient(ellipse at 30% 40%, #fff8e7 0%, transparent 60%); }
.scn-asche-visits-tutt .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f2e0c0 0%, #e0c8a0 100%); }
.scn-asche-visits-tutt .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b89878 0%, #8a6e50 100%); }
.scn-asche-visits-tutt .desk { position:absolute; bottom:28%; left:15%; width:60%; height:8%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-asche-visits-tutt .lamp { position:absolute; bottom:44%; left:48%; width:8%; height:12%; background: linear-gradient(180deg, #c09868 0%, #8a6e40 100%); border-radius: 40% 40% 20% 20%; transform: scaleX(1.2); box-shadow: 0 0 20px 10px #f0d8a0; animation: asche-lamp 6s ease-in-out infinite alternate; }
.scn-asche-visits-tutt .papers { position:absolute; bottom:28%; left:20%; width:30%; height:4%; background: #f5f0e0; border-radius: 2px; opacity: .8; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: asche-papers 10s linear infinite; }
.scn-asche-visits-tutt .figure-left { position:absolute; bottom:27%; left:22%; width:8%; height:25%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: asche-figureL 4s ease-in-out infinite; }
.scn-asche-visits-tutt .figure-right { position:absolute; bottom:27%; right:25%; width:8%; height:24%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-3deg); animation: asche-figureR 4.5s ease-in-out infinite; }
.scn-asche-visits-tutt .window { position:absolute; top:12%; right:8%; width:18%; height:30%; background: linear-gradient(180deg, #c8e0f0 0%, #a0c0d8 100%); border: 4px solid #6a4a2a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,255,.3); }
.scn-asche-visits-tutt .window-light { position:absolute; top:12%; right:8%; width:18%; height:30%; background: radial-gradient(ellipse at 50% 50%, #fffbe0 0%, transparent 70%); opacity: .2; animation: asche-windowlight 8s ease-in-out infinite alternate; }

@keyframes asche-lamp { 0% { box-shadow: 0 0 15px 5px #f0d8a0; opacity: .9; } 50% { box-shadow: 0 0 25px 10px #ffe0b0; opacity: 1; } 100% { box-shadow: 0 0 10px 3px #d0b080; opacity: .8; } }
@keyframes asche-papers { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(1deg); } 50% { transform: translateX(-3px) rotate(-1deg); } 75% { transform: translateX(4px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes asche-figureL { 0%,100% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-3px) rotate(7deg); } }
@keyframes asche-figureR { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(-5deg); } }
@keyframes asche-windowlight { 0% { opacity: .1; } 50% { opacity: .3; } 100% { opacity: .15; } }

/* tutt-recognizes-hogan */
.scn-tutt-recognizes-hogan { background: linear-gradient(180deg, #f2d8a0 0%, #e0b870 40%, #c09850 100%), radial-gradient(ellipse at 60% 20%, #fff0c0 0%, transparent 50%); }
.scn-tutt-recognizes-hogan .floor-amber { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b88858 0%, #906840 100%); }
.scn-tutt-recognizes-hogan .wall-warm { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #f0d8a0 0%, #d8b880 100%); }
.scn-tutt-recognizes-hogan .desk-dark { position:absolute; bottom:20%; left:30%; width:40%; height:6%; background: linear-gradient(180deg, #5a3a1a 0%, #3a1a00 100%); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.4); }
.scn-tutt-recognizes-hogan .lamp-glow { position:absolute; bottom:30%; left:48%; width:4%; height:8%; background: radial-gradient(circle, #ffe080 0%, #d0a040 70%); border-radius: 50%; box-shadow: 0 0 30px 15px #ffd060, 0 0 60px 25px rgba(255,208,96,.3); animation: tutt-lamp 4s ease-in-out infinite alternate; }
.scn-tutt-recognizes-hogan .figure-tutt { position:absolute; bottom:20%; left:32%; width:10%; height:28%; background: linear-gradient(180deg, #4a3020 0%, #2a1505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg) scaleX(1.1); animation: tutt-tutt 5s ease-in-out infinite; }
.scn-tutt-recognizes-hogan .figure-hogan { position:absolute; bottom:20%; right:30%; width:9%; height:26%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 50% 50% 35% 40% / 55% 55% 40% 40%; transform: rotate(10deg); animation: tutt-hogan 4s ease-in-out infinite; }
.scn-tutt-recognizes-hogan .shadow-point { position:absolute; bottom:28%; left:44%; width:2%; height:2%; background: #2a1a0a; border-radius: 50%; box-shadow: 0 0 10px 2px rgba(0,0,0,.3); animation: tutt-point 3s ease-in-out infinite; }
.scn-tutt-recognizes-hogan .frame { position:absolute; top:8%; left:5%; width:90%; height:80%; border: 6px solid #6a4a2a; border-radius: 12px; pointer-events: none; }

@keyframes tutt-lamp { 0% { box-shadow: 0 0 20px 8px #ffd060, 0 0 40px 15px rgba(255,208,96,.3); opacity: .9; } 50% { box-shadow: 0 0 40px 18px #ffe080, 0 0 80px 40px rgba(255,224,128,.4); opacity: 1; } 100% { box-shadow: 0 0 15px 5px #d0a040, 0 0 30px 10px rgba(208,160,64,.2); opacity: .85; } }
@keyframes tutt-tutt { 0% { transform: rotate(-5deg) scaleX(1.1) translateY(0); } 30% { transform: rotate(-3deg) scaleX(1.05) translateY(-2px); } 70% { transform: rotate(-7deg) scaleX(1.15) translateY(1px); } 100% { transform: rotate(-5deg) scaleX(1.1) translateY(0); } }
@keyframes tutt-hogan { 0% { transform: rotate(10deg) translateX(0); } 50% { transform: rotate(12deg) translateX(4px); } 100% { transform: rotate(8deg) translateX(-2px); } }
@keyframes tutt-point { 0% { transform: translate(0,0); opacity: .7; } 50% { transform: translate(2px,-3px); opacity: 1; } 100% { transform: translate(-1px,1px); opacity: .8; } }

/* tutt-ponders-evils */
.scn-tutt-ponders-evils { background: linear-gradient(180deg, #1a1a3e 0%, #0e0e2a 50%, #08081a 100%), radial-gradient(ellipse at 60% 100%, #2a2a5a 0%, transparent 70%); }
.scn-tutt-ponders-evils .bg-night { position:absolute; inset:0; background: linear-gradient(180deg, #141428 0%, #0a0a1a 60%, #050510 100%); }
.scn-tutt-ponders-evils .bookshelf { position:absolute; top:10%; left:5%; width:20%; height:70%; background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 10%, #3a2a1a 20%, #2a1a0a 30%, #3a2a1a 40%, #2a1a0a 50%, #3a2a1a 60%, #2a1a0a 70%, #3a2a1a 80%, #2a1a0a 90%, #3a2a1a 100%); border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,.6); }
.scn-tutt-ponders-evils .chair { position:absolute; bottom:25%; left:55%; width:14%; height:30%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 4px 12px rgba(0,0,0,.5); }
.scn-tutt-ponders-evils .desk-lamp { position:absolute; bottom:20%; left:50%; width:30%; height:6%; background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%); border-radius: 4px; box-shadow: 0 -4px 8px rgba(0,0,0,.4); }
.scn-tutt-ponders-evils .lamp-circle { position:absolute; bottom:20%; left:50%; width:4%; height:4%; background: radial-gradient(circle, #ffd080 0%, #b08040 100%); border-radius: 50%; transform: translate(-50%,0); box-shadow: 0 0 25px 8px #ffb060, 0 0 50px 20px rgba(255,176,96,.3); animation: tutt-lampcircle 6s ease-in-out infinite alternate; }
.scn-tutt-ponders-evils .figure-silhouette { position:absolute; bottom:25%; left:52%; width:10%; height:30%; background: #0a0a0a; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(2deg); animation: tutt-silhouette 8s ease-in-out infinite; }
.scn-tutt-ponders-evils .window-moon { position:absolute; top:5%; right:10%; width:20%; height:25%; background: linear-gradient(180deg, #2a2a5a 0%, #1a1a3e 100%); border: 3px solid #4a4a6a; border-radius: 6px; }
.scn-tutt-ponders-evils .moon-beam { position:absolute; top:5%; right:10%; width:20%; height:25%; background: radial-gradient(ellipse at 30% 30%, #e0e8ff 0%, transparent 70%); opacity: .15; animation: tutt-moonbeam 12s ease-in-out infinite alternate; }

@keyframes tutt-lampcircle { 0% { box-shadow: 0 0 20px 6px #ffb060, 0 0 40px 15px rgba(255,176,96,.2); opacity: .7; } 50% { box-shadow: 0 0 35px 12px #ffc080, 0 0 70px 30px rgba(255,192,128,.4); opacity: 1; } 100% { box-shadow: 0 0 15px 4px #b08040, 0 0 30px 10px rgba(176,128,64,.15); opacity: .6; } }
@keyframes tutt-silhouette { 0% { transform: rotate(2deg) translateX(0); } 25% { transform: rotate(4deg) translateX(3px); } 50% { transform: rotate(0deg) translateX(-2px); } 75% { transform: rotate(-2deg) translateX(1px); } 100% { transform: rotate(2deg) translateX(0); } }
@keyframes tutt-moonbeam { 0% { opacity: .05; transform: scale(0.9); } 50% { opacity: .2; transform: scale(1.1); } 100% { opacity: .1; transform: scale(1); } }

/* judge-watkins-hearing */
.scn-judge-watkins-hearing { background: linear-gradient(180deg, #f0ebe0 0%, #e0d4c0 40%, #c8b8a0 100%), radial-gradient(ellipse at 50% 100%, #f5f0e8 0%, transparent 60%); }
.scn-judge-watkins-hearing .court-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #e8ddcc 0%, #d0c0a8 100%); }
.scn-judge-watkins-hearing .bench { position:absolute; bottom:40%; left:20%; width:60%; height:10%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a0a 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 10px rgba(0,0,0,.3); }
.scn-judge-watkins-hearing .judge { position:absolute; bottom:45%; left:40%; width:20%; height:30%; background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform: scaleX(0.9); animation: judge-watkins 3s ease-in-out infinite alternate; }
.scn-judge-watkins-hearing .gavel { position:absolute; bottom:48%; left:55%; width:3%; height:5%; background: linear-gradient(180deg, #8a6e50 0%, #5a3a1a 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: judge-gavel 1.5s ease-in-out infinite; }
.scn-judge-watkins-hearing .counsel-left { position:absolute; bottom:30%; left:10%; width:10%; height:28%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-5deg); animation: judge-counselL 5s ease-in-out infinite; }
.scn-judge-watkins-hearing .counsel-right { position:absolute; bottom:30%; right:10%; width:10%; height:26%; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: judge-counselR 4.5s ease-in-out infinite; }
.scn-judge-watkins-hearing .spectators { position:absolute; bottom:10%; left:5%; width:90%; height:20%; background: repeating-linear-gradient(90deg, #3a2a1a 0px, #3a2a1a 4px, #2a1a0a 4px, #2a1a0a 8px); border-radius: 4px; opacity: .6; }
.scn-judge-watkins-hearing .clock { position:absolute; top:8%; left:48%; width:6%; height:6%; background: radial-gradient(circle, #d0c0a8 0%, #a09078 100%); border-radius: 50%; border: 2px solid #6a5a4a; box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: judge-clock 10s linear infinite; }
.scn-judge-watkins-hearing .tension-lines { position:absolute; inset:0; background: repeating-linear-gradient(45deg, rgba(0,0,0,0.02) 0px, rgba(0,0,0,0.02) 2px, transparent 2px, transparent 4px); pointer-events: none; animation: judge-tension 2s linear infinite; }

@keyframes judge-watkins { 0% { transform: scaleX(0.9) translateY(0); } 50% { transform: scaleX(0.85) translateY(-2px); } 100% { transform: scaleX(0.9) translateY(0); } }
@keyframes judge-gavel { 0% { transform: rotate(-10deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(-15deg); } 75% { transform: rotate(15deg); } 100% { transform: rotate(-10deg); } }
@keyframes judge-counselL { 0% { transform: rotate(-5deg) translateY(0); } 30% { transform: rotate(-3deg) translateY(-3px); } 70% { transform: rotate(-7deg) translateY(2px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes judge-counselR { 0% { transform: rotate(5deg) translateY(0); } 30% { transform: rotate(3deg) translateY(-2px); } 70% { transform: rotate(7deg) translateY(1px); } 100% { transform: rotate(5deg) translateY(0); } }
@keyframes judge-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes judge-tension { 0% { background-position: 0 0; } 100% { background-position: 4px 4px; } }

.scn-simpkins-phone-plan {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2c2c3e 40%, #3a3a4e 70%, #2a2a3a 100%),
    radial-gradient(ellipse at 60% 70%, #3a3a4e 0%, transparent 70%);
}
.scn-simpkins-phone-plan .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3e 0%, transparent 60%);
  animation: spp-wall 12s ease-in-out infinite alternate;
}
.scn-simpkins-phone-plan .desk {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.6);
  animation: spp-desk 9s ease-in-out infinite;
}
.scn-simpkins-phone-plan .phone {
  position: absolute; bottom: 28%; left: 38%; width: 12%; height: 6%;
  background: radial-gradient(ellipse at 50% 40%, #5a5a5a 0%, #3a3a3a 70%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(-10deg);
  animation: spp-phone 4s ease-in-out infinite alternate;
}
.scn-simpkins-phone-plan .chair {
  position: absolute; bottom: 18%; left: 55%; width: 20%; height: 18%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  animation: spp-chair 8s ease-in-out infinite alternate;
}
.scn-simpkins-phone-plan .simpkins {
  position: absolute; bottom: 22%; left: 42%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: spp-fig 5s ease-in-out infinite alternate;
}
.scn-simpkins-phone-plan .lamp-glow {
  position: absolute; top: 30%; right: 15%; width: 20%; height: 25%;
  background: radial-gradient(ellipse, rgba(200,160,100,0.15) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: spp-lamp 3s ease-in-out infinite alternate;
}
.scn-simpkins-phone-plan .shadow {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 5%;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(6px);
  animation: spp-shadow 7s ease-in-out infinite alternate;
}
@keyframes spp-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes spp-desk {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes spp-phone {
  0% { transform: rotate(-10deg) scale(1); }
  50% { transform: rotate(-5deg) scale(1.01); }
  100% { transform: rotate(-12deg) scale(0.99); }
}
@keyframes spp-chair {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes spp-fig {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-2px) rotate(-1deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes spp-lamp {
  0% { opacity: 0.4; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(0.95); }
}
@keyframes spp-shadow {
  0% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.2); opacity: 0.7; }
  100% { transform: scaleX(0.9); opacity: 0.4; }
}

.scn-hogan-family-man {
  background: 
    linear-gradient(180deg, #1e1e2e 0%, #2e2e40 50%, #3e3e4e 100%),
    radial-gradient(ellipse at 40% 60%, #3e3e4e 0%, transparent 60%);
}
.scn-hogan-family-man .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3a 0%, transparent 50%);
  animation: hfm-wall 15s ease-in-out infinite alternate;
}
.scn-hogan-family-man .table {
  position: absolute; bottom: 25%; left: 15%; right: 15%; height: 10%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 5% 5% 0 0;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.5);
  animation: hfm-table 10s ease-in-out infinite;
}
.scn-hogan-family-man .hogan {
  position: absolute; bottom: 28%; left: 45%; width: 15%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: hfm-hogan 6s ease-in-out infinite alternate;
}
.scn-hogan-family-man .roses {
  position: absolute; bottom: 30%; left: 38%; width: 8%; height: 10%;
  background: radial-gradient(ellipse at 50% 60%, #7a3a2a 0%, #4a1a0a 70%);
  border-radius: 50% 50% 30% 30%;
  animation: hfm-roses 4s ease-in-out infinite alternate;
}
.scn-hogan-family-man .box {
  position: absolute; bottom: 26%; left: 55%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 10% 10%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: hfm-box 7s ease-in-out infinite;
}
.scn-hogan-family-man .lamp-glow {
  position: absolute; top: 25%; left: 20%; width: 25%; height: 30%;
  background: radial-gradient(ellipse, rgba(200,160,100,0.12) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: hfm-lamp 4s ease-in-out infinite alternate;
}
.scn-hogan-family-man .shadow {
  position: absolute; bottom: 22%; left: 35%; width: 30%; height: 6%;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(5px);
  animation: hfm-shadow 9s ease-in-out infinite alternate;
}
@keyframes hfm-wall {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes hfm-table {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-1px) scale(1.005); }
}
@keyframes hfm-hogan {
  0% { transform: rotate(0) translateX(0); }
  50% { transform: rotate(2deg) translateX(2px); }
  100% { transform: rotate(0) translateX(0); }
}
@keyframes hfm-roses {
  0% { transform: scale(0.95) rotate(-5deg); }
  50% { transform: scale(1.05) rotate(3deg); }
  100% { transform: scale(0.98) rotate(-2deg); }
}
@keyframes hfm-box {
  0%, 100% { transform: rotate(0) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
}
@keyframes hfm-lamp {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(0.85); }
}
@keyframes hfm-shadow {
  0% { transform: scaleX(1); opacity: 0.5; }
  50% { transform: scaleX(1.3); opacity: 0.8; }
  100% { transform: scaleX(0.8); opacity: 0.4; }
}

.scn-mrs-mathusek-poverty {
  background: 
    linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 50%, #3a3a4e 100%),
    radial-gradient(ellipse at 50% 30%, #3a3a4e 0%, transparent 60%);
}
.scn-mrs-mathusek-poverty .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2e2e3e 0%, transparent 40%);
  animation: mmp-wall 14s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .window {
  position: absolute; top: 15%; left: 60%; width: 18%; height: 25%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border: 3px solid #4a4a5a;
  border-radius: 5% 5% 15% 15%;
  box-shadow: inset 0 0 10px rgba(100,100,120,0.2);
  animation: mmp-window 20s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .chair {
  position: absolute; bottom: 20%; left: 25%; width: 20%; height: 20%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 40% 40% / 40% 40% 30% 30%;
  transform: rotate(-2deg);
  animation: mmp-chair 12s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .figure {
  position: absolute; bottom: 22%; left: 30%; width: 16%; height: 30%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: mmp-fig 8s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .shawl {
  position: absolute; bottom: 40%; left: 28%; width: 20%; height: 12%;
  background: radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, #1a0a00 70%);
  border-radius: 50% 50% 60% 60% / 70% 70% 40% 40%;
  animation: mmp-shawl 6s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .candle {
  position: absolute; bottom: 28%; left: 52%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #d4b080 0%, #a08050 100%);
  border-radius: 20% 20% 10% 10%;
  animation: mmp-candle 5s ease-in-out infinite alternate;
}
.scn-mrs-mathusek-poverty .candle-glow {
  position: absolute; bottom: 30%; left: 48%; width: 12%; height: 15%;
  background: radial-gradient(ellipse, rgba(220,180,100,0.2) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(6px);
  animation: mmp-glow 3s ease-in-out infinite alternate;
}
@keyframes mmp-wall {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 1; }
}
@keyframes mmp-window {
  0% { opacity: 0.6; transform: scale(0.98); }
  50% { opacity: 0.9; transform: scale(1); }
  100% { opacity: 0.7; transform: scale(0.99); }
}
@keyframes mmp-chair {
  0% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(0) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes mmp-fig {
  0% { transform: rotate(0) translateX(0); }
  50% { transform: rotate(1deg) translateX(2px); }
  100% { transform: rotate(0) translateX(0); }
}
@keyframes mmp-shawl {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
  100% { transform: scaleX(0.95); }
}
@keyframes mmp-candle {
  0% { transform: scaleY(1); opacity: 0.8; }
  50% { transform: scaleY(1.1); opacity: 1; }
  100% { transform: scaleY(0.9); opacity: 0.9; }
}
@keyframes mmp-glow {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 0.7; transform: scale(1.2); }
  100% { opacity: 0.4; transform: scale(0.9); }
}

.scn-simpkins-extorts-mother {
  background: 
    linear-gradient(180deg, #1a1a2a 0%, #2c2c3e 50%, #3a3a4e 100%),
    radial-gradient(ellipse at 50% 60%, #3a3a4e 0%, transparent 60%);
}
.scn-simpkins-extorts-mother .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #2a2a3a 0%, transparent 50%);
  animation: sem-wall 18s ease-in-out infinite alternate;
}
.scn-simpkins-extorts-mother .table {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.6);
  animation: sem-table 9s ease-in-out infinite;
}
.scn-simpkins-extorts-mother .simpkins {
  position: absolute; bottom: 24%; left: 45%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: sem-simp 5s ease-in-out infinite alternate;
}
.scn-simpkins-extorts-mother .mother {
  position: absolute; bottom: 24%; left: 60%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: sem-mother 7s ease-in-out infinite alternate;
}
.scn-simpkins-extorts-mother .lamp {
  position: absolute; top: 35%; left: 50%; width: 10%; height: 15%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 30% 30% 10% 10%;
  transform: translateX(-50%);
  animation: sem-lamp 8s ease-in-out infinite alternate;
}
.scn-simpkins-extorts-mother .lamp-glow {
  position: absolute; top: 30%; left: 45%; width: 20%; height: 25%;
  background: radial-gradient(ellipse, rgba(200,160,100,0.15) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: sem-glow 3s ease-in-out infinite alternate;
}
.scn-simpkins-extorts-mother .shadow {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 6%;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  filter: blur(6px);
  animation: sem-shadow 10s ease-in-out infinite alternate;
}
@keyframes sem-wall {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}
@keyframes sem-table {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes sem-simp {
  0% { transform: rotate(0) translateX(0); }
  50% { transform: rotate(-1deg) translateX(-2px); }
  100% { transform: rotate(0) translateX(0); }
}
@keyframes sem-mother {
  0% { transform: rotate(0) translateX(0) scale(1); }
  50% { transform: rotate(1deg) translateX(1px) scale(1.01); }
  100% { transform: rotate(0) translateX(0) scale(1); }
}
@keyframes sem-lamp {
  0% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.05); }
  100% { transform: translateX(-50%) scaleY(0.95); }
}
@keyframes sem-glow {
  0% { opacity: 0.3; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.4; transform: scale(0.95); }
}
@keyframes sem-shadow {
  0% { opacity: 0.4; transform: scaleX(1); }
  50% { opacity: 0.7; transform: scaleX(1.2); }
  100% { opacity: 0.5; transform: scaleX(0.8); }
}

/* Scene 1: tutt-opens-defense - courtroom interior, bright calm */
.scn-tutt-opens-defense {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #dcc9a6 40%, #c4af8f 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 60%);
}
.scn-tutt-opens-defense .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #dcc9a6 0%, #c4af8f 100%); }
.scn-tutt-opens-defense .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8b7355 0%, #6b5a42 100%); box-shadow: inset 0 20px 30px rgba(0,0,0,.2); }
.scn-tutt-opens-defense .bench { position:absolute; bottom:30%; left:10%; width:25%; height:40%; background: linear-gradient(180deg, #5c3d2e 0%, #3a251a 100%); border-radius: 4px 4px 0 0; box-shadow: 0 8px 12px rgba(0,0,0,.3); animation: tod-bench 12s ease-in-out infinite; }
.scn-tutt-opens-defense .lawyer { position:absolute; bottom:28%; left:40%; width:20px; height:60px; background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tod-lawyer 4s ease-in-out infinite; }
.scn-tutt-opens-defense .jurors { position:absolute; bottom:30%; right:10%; width:30%; height:35%; background: repeating-linear-gradient(90deg, #4a3a2a 0px, #4a3a2a 12px, #5a4a3a 12px, #5a4a3a 24px); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: tod-jurors 8s ease-in-out infinite; }
.scn-tutt-opens-defense .window { position:absolute; top:8%; left:20%; width:25%; height:30%; background: linear-gradient(180deg, #add8e6 0%, #87ceeb 100%); border: 4px solid #8b7355; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,255,.3), 0 8px 16px rgba(0,0,0,.2); animation: tod-window 20s ease-in-out infinite alternate; }
.scn-tutt-opens-defense .lamp { position:absolute; top:15%; left:55%; width:12px; height:20px; background: radial-gradient(circle, #fff4d0 0%, #d4b872 60%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 30px 8px rgba(212,184,114,.5); animation: tod-lamp 3s ease-in-out infinite alternate; }
.scn-tutt-opens-defense .papers { position:absolute; bottom:25%; left:42%; width:30px; height:20px; background: #f5f0e0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.2); transform: rotate(-5deg); animation: tod-papers 6s ease-in-out infinite; }
@keyframes tod-bench { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes tod-lawyer { 0%,100% { transform: translate(0,0) rotate(-1deg); } 25% { transform: translate(3px,-1px) rotate(1deg); } 50% { transform: translate(6px,0) rotate(-1deg); } 75% { transform: translate(3px,-1px) rotate(1deg); } }
@keyframes tod-jurors { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes tod-window { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes tod-lamp { 0%,100% { box-shadow: 0 0 20px 4px rgba(212,184,114,.5); } 50% { box-shadow: 0 0 40px 12px rgba(255,244,208,.7); } }
@keyframes tod-papers { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-2px); } }

/* Scene 2: syrian-witnesses-testify - courtroom, witness perspective */
.scn-syrian-witnesses-testify {
  background:
    linear-gradient(180deg, #f0e0c0 0%, #d8c8a8 40%, #b8a888 100%),
    radial-gradient(ellipse at 40% 20%, #fff8e0 0%, transparent 60%);
}
.scn-syrian-witnesses-testify .wall-depth { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #d8c8a8 0%, #b8a888 100%); }
.scn-syrian-witnesses-testify .witness-stand { position:absolute; bottom:25%; left:20%; width:30px; height:50px; background: linear-gradient(180deg, #6b4a32 0%, #4a2a1a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 6px 10px rgba(0,0,0,.4); animation: syw-stand 10s ease-in-out infinite; }
.scn-syrian-witnesses-testify .witness { position:absolute; bottom:28%; left:21%; width:18px; height:45px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: syw-witness 5s ease-in-out infinite; }
.scn-syrian-witnesses-testify .judge { position:absolute; bottom:30%; right:20%; width:25px; height:55px; background: linear-gradient(180deg, #2a1a1a 0%, #0d0d0d 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: syw-judge 7s ease-in-out infinite; }
.scn-syrian-witnesses-testify .clerk { position:absolute; bottom:28%; left:5%; width:15px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30%; animation: syw-clerk 9s ease-in-out infinite; }
.scn-syrian-witnesses-testify .flag { position:absolute; top:10%; left:5%; width:40px; height:25px; background: linear-gradient(180deg, #ffd700 0%, #ff8c00 50%, #ff4500 100%); border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,.2); transform: rotate(5deg); animation: syw-flag 15s ease-in-out infinite alternate; }
.scn-syrian-witnesses-testify .desk { position:absolute; bottom:25%; left:20%; width:40%; height:15px; background: linear-gradient(180deg, #5c3d2e 0%, #3a251a 100%); border-radius: 4px; box-shadow: 0 4px 6px rgba(0,0,0,.3); }
.scn-syrian-witnesses-testify .spectators { position:absolute; bottom:30%; right:8%; width:20%; height:30%; background: repeating-linear-gradient(0deg, #3a2a1a 0px, #3a2a1a 8px, #4a3a2a 8px, #4a3a2a 16px); border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: syw-spectators 12s ease-in-out infinite; }
@keyframes syw-stand { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes syw-witness { 0%,100% { 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); } }
@keyframes syw-judge { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes syw-clerk { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes syw-flag { 0% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(3deg); } }
@keyframes syw-spectators { 0%,100% { opacity:0.8; } 50% { opacity:1; } }

/* Scene 3: hung-juries-result - restaurant interior bright */
.scn-hung-juries-result {
  background:
    linear-gradient(180deg, #fce4c8 0%, #e0c8a0 40%, #c0a878 100%),
    radial-gradient(ellipse at 60% 30%, #fff8e0 0%, transparent 70%);
}
.scn-hung-juries-result .back-wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e0c8a0 0%, #c0a878 100%); }
.scn-hung-juries-result .counter { position:absolute; bottom:35%; left:0; right:60%; height:20%; background: linear-gradient(180deg, #5a4030 0%, #3a2518 100%); border-radius: 0 8px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,.2); }
.scn-hung-juries-result .table { position:absolute; bottom:30%; left:40%; width:35%; height:15%; background: linear-gradient(180deg, #6b4a32 0%, #4a2a1a 100%); border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,.3); animation: hjr-table 8s ease-in-out infinite; }
.scn-hung-juries-result .lawyer-seated { position:absolute; bottom:28%; left:45%; width:20px; height:40px; background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: hjr-lawyer 6s ease-in-out infinite; }
.scn-hung-juries-result .coffee-cup { position:absolute; bottom:34%; left:48%; width:12px; height:16px; background: linear-gradient(180deg, #d4b872 0%, #b89a5a 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: hjr-cup 4s ease-in-out infinite alternate; }
.scn-hung-juries-result .plate { position:absolute; bottom:33%; left:42%; width:20px; height:8px; background: #f5f0e0; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.2); animation: hjr-plate 10s ease-in-out infinite; }
.scn-hung-juries-result .lamp-overhead { position:absolute; top:12%; left:50%; width:16px; height:24px; background: radial-gradient(circle, #fff4d0 0%, #d4b872 60%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 40px 10px rgba(212,184,114,.6); animation: hjr-lamp 3s ease-in-out infinite alternate; }
.scn-hung-juries-result .doorway { position:absolute; bottom:35%; right:5%; width:20%; height:40%; border: 6px solid #5a4030; border-radius: 0 0 8px 8px; background: linear-gradient(180deg, #8b7355 0%, #6b5a42 100%); animation: hjr-door 15s ease-in-out infinite alternate; }
@keyframes hjr-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes hjr-lawyer { 0%,100% { transform: translate(0,0) rotate(-1deg); } 25% { transform: translate(2px,-1px) rotate(1deg); } 50% { transform: translate(0,0) rotate(-1deg); } 75% { transform: translate(-2px,-1px) rotate(1deg); } }
@keyframes hjr-cup { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes hjr-plate { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes hjr-lamp { 0%,100% { box-shadow: 0 0 30px 6px rgba(212,184,114,.5); } 50% { box-shadow: 0 0 50px 14px rgba(255,244,208,.7); } }
@keyframes hjr-door { 0% { opacity:0.7; } 50% { opacity:1; } 100% { opacity:0.8; } }

/* Scene 4: george-assad-revelation - dim warm interior, lawyer & boy */
.scn-george-assad-revelation {
  background:
    linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 40%, #1a0f05 100%),
    radial-gradient(ellipse at 50% 60%, #6b4a32 0%, transparent 70%);
}
.scn-george-assad-revelation .room-shadow { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 60%, transparent 0%, #0f0a05 70%); }
.scn-george-assad-revelation .table-lamp { position:absolute; top:30%; left:45%; width:20px; height:30px; background: radial-gradient(circle, #ffd080 0%, #c09050 60%); border-radius: 50% 50% 30% 30%; box-shadow: 0 0 60px 20px rgba(192,144,80,.5), 0 0 100px 40px rgba(192,144,80,.3); animation: gar-lamp 4s ease-in-out infinite alternate; }
.scn-george-assad-revelation .table { position:absolute; bottom:25%; left:30%; width:40%; height:20%; background: linear-gradient(180deg, #5a4030 0%, #3a2518 100%); border-radius: 6px; box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: gar-table 12s ease-in-out infinite; }
.scn-george-assad-revelation .lawyer-knees { position:absolute; bottom:30%; left:35%; width:25px; height:35px; background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%); border-radius: 50% 50% 30% 30%; animation: gar-knees 7s ease-in-out infinite; }
.scn-george-assad-revelation .boy { position:absolute; bottom:28%; left:50%; width:18px; height:40px; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: gar-boy 6s ease-in-out infinite; }
.scn-george-assad-revelation .book { position:absolute; bottom:30%; left:42%; width:28px; height:20px; background: linear-gradient(180deg, #8b7355 0%, #6b5a42 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.3); transform: rotate(-10deg); animation: gar-book 8s ease-in-out infinite; }
.scn-george-assad-revelation .glow { position:absolute; bottom:30%; left:40%; width:80px; height:60px; background: radial-gradient(ellipse, rgba(255,208,128,.15) 0%, transparent 70%); pointer-events: none; animation: gar-glow 5s ease-in-out infinite alternate; }
@keyframes gar-lamp { 0%,100% { box-shadow: 0 0 40px 12px rgba(192,144,80,.5), 0 0 80px 30px rgba(192,144,80,.3); } 50% { box-shadow: 0 0 60px 20px rgba(255,208,128,.6), 0 0 120px 40px rgba(255,208,128,.4); } }
@keyframes gar-table { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes gar-knees { 0%,100% { opacity:0.9; } 50% { opacity:1; } }
@keyframes gar-boy { 0%,100% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(1px,-1px) rotate(1deg); } 50% { transform: translate(0,0) rotate(-1deg); } 75% { transform: translate(-1px,-1px) rotate(0deg); } }
@keyframes gar-book { 0%,100% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } }
@keyframes gar-glow { 0%,100% { opacity:0.6; } 50% { opacity:1; } }

/* shane-remembers-katie */
.scn-shane-remembers-katie {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2a3e 40%, #3a2a2a 80%, #2a1a1a 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a3a 0%, transparent 60%);
}
.scn-shane-remembers-katie .wall {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 70%, #1a1a2a 100%);
  animation: srk-wall 12s ease-in-out infinite alternate;
}
.scn-shane-remembers-katie .door {
  position: absolute; bottom: 15%; left: 50%; width: 30%; height: 65%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border: 2px solid #3a2a1a;
  border-radius: 2% 2% 0 0;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.5);
  animation: srk-door 8s ease-in-out infinite;
}
.scn-shane-remembers-katie .lock {
  position: absolute; bottom: 40%; left: 50%; width: 8px; height: 10px;
  transform: translateX(-50%);
  background: radial-gradient(circle, #806040 0%, #604020 100%);
  border-radius: 30%;
  box-shadow: 0 0 6px 2px #604020;
  animation: srk-lock 4s ease-in-out infinite alternate;
}
.scn-shane-remembers-katie .figure-memory {
  position: absolute; bottom: 15%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  opacity: 0.6;
  animation: srk-figure 6s ease-in-out infinite;
}
.scn-shane-remembers-katie .fading-light {
  position: absolute; bottom: 15%; left: 60%; width: 12px; height: 20px;
  background: radial-gradient(circle, #b08060 0%, #806040 70%);
  border-radius: 50%;
  filter: blur(4px);
  opacity: 0.3;
  box-shadow: 0 0 20px 6px rgba(128,96,64,0.2);
  animation: srk-light 9s ease-in-out infinite alternate;
}
.scn-shane-remembers-katie .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%);
  box-shadow: inset 0 8px 12px rgba(0,0,0,0.6);
  animation: srk-floor 15s linear infinite;
}

@keyframes srk-wall { 0% { opacity:1; } 50% { opacity:0.9; } 100% { opacity:1; } }
@keyframes srk-door { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.98); } }
@keyframes srk-lock { 0% { opacity:0.7; transform: translateX(-50%) scale(1); } 100% { opacity:1; transform: translateX(-50%) scale(1.1); } }
@keyframes srk-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(2deg); } 50% { transform: translateX(10px) rotate(-1deg); } 75% { transform: translateX(15px) rotate(3deg); } 100% { transform: translateX(20px) rotate(0deg); } }
@keyframes srk-light { 0% { opacity:0.2; filter: blur(3px); } 100% { opacity:0.5; filter: blur(5px); } }
@keyframes srk-floor { 0% { background-position:0 0; } 100% { background-position:20px 0; } }

/* miss-beekman-humbled */
.scn-miss-beekman-humbled {
  background: linear-gradient(180deg, #1e1e2e 0%, #2a2a3e 50%, #3a2a2a 100%),
              radial-gradient(ellipse at 50% 70%, #4a3a3a 0%, transparent 60%);
}
.scn-miss-beekman-humbled .bg-room {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #2e2e3e 0%, #1e1e2e 100%);
  animation: mbh-bg 14s ease-in-out infinite alternate;
}
.scn-miss-beekman-humbled .table {
  position: absolute; bottom: 20%; left: 50%; width: 40%; height: 10%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 2%;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.5);
  animation: mbh-table 10s ease-in-out infinite;
}
.scn-miss-beekman-humbled .chair {
  position: absolute; bottom: 30%; left: 30%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 10% 10% 40% 40% / 10% 10% 60% 60%;
  box-shadow: 4px 0 6px rgba(0,0,0,0.4);
  animation: mbh-chair 6s ease-in-out infinite alternate;
}
.scn-miss-beekman-humbled .figure-beekman {
  position: absolute; bottom: 30%; left: 35%; width: 18px; height: 45px;
  background: linear-gradient(180deg, #2a1a2e 0%, #1a0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mbh-beekman 7s ease-in-out infinite;
}
.scn-miss-beekman-humbled .figure-criminal {
  position: absolute; bottom: 30%; left: 55%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mbh-criminal 8s ease-in-out infinite;
}
.scn-miss-beekman-humbled .lamp-glow {
  position: absolute; bottom: 45%; left: 50%; width: 10px; height: 14px;
  background: radial-gradient(circle, #c08040 0%, #a06030 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.3), 0 0 60px 20px rgba(160,96,48,0.1);
  animation: mbh-lamp 3s ease-in-out infinite alternate;
}

@keyframes mbh-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes mbh-table { 0%,100% { transform: translateX(-50%) rotate(0deg); } 50% { transform: translateX(-50%) rotate(1deg) scale(0.99); } }
@keyframes mbh-chair { 0% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(-3px) rotate(2deg); } }
@keyframes mbh-beekman { 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(0deg); } }
@keyframes mbh-criminal { 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 mbh-lamp { 0% { opacity:0.7; box-shadow: 0 0 20px 8px rgba(192,128,64,0.2); } 100% { opacity:1; box-shadow: 0 0 40px 15px rgba(192,128,64,0.4); } }

/* shane-confesses-to-miss-beekman */
.scn-shane-confesses-to-miss-beekman {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a3e 40%, #3a2a2a 100%),
              radial-gradient(ellipse at 50% 60%, #4a3a3a 0%, transparent 60%);
}
.scn-shane-confesses-to-miss-beekman .bg-study {
  position: absolute; inset: 0 0 12% 0;
  background: linear-gradient(180deg, #2e2e3e 0%, #1e1e2e 100%);
  animation: scm-bg 16s ease-in-out infinite alternate;
}
.scn-shane-confesses-to-miss-beekman .fireplace {
  position: absolute; bottom: 20%; left: 50%; width: 20%; height: 35%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 10% 10% 40% 40% / 10% 10% 60% 60%;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.6);
  animation: scm-fireplace 12s ease-in-out infinite;
}
.scn-shane-confesses-to-miss-beekman .flame {
  position: absolute; bottom: 35%; left: 50%; width: 8px; height: 20px;
  transform: translateX(-50%);
  background: radial-gradient(circle at bottom, #ff8040 0%, #ff6040 50%, transparent 70%);
  filter: blur(2px);
  box-shadow: 0 0 12px 6px #ff6040;
  animation: scm-flame 2s ease-in-out infinite alternate;
}
.scn-shane-confesses-to-miss-beekman .figure-shane {
  position: absolute; bottom: 18%; left: 38%; width: 18px; height: 48px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: scm-shane 9s ease-in-out infinite;
}
.scn-shane-confesses-to-miss-beekman .figure-miss {
  position: absolute; bottom: 18%; left: 55%; width: 16px; height: 44px;
  background: linear-gradient(180deg, #2a1a2e 0%, #1a0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: scm-miss 7s ease-in-out infinite;
}
.scn-shane-confesses-to-miss-beekman .rug {
  position: absolute; bottom: 12%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 80% 80% 60% 60%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);
  animation: scm-rug 20s linear infinite;
}

@keyframes scm-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.9; } }
@keyframes scm-fireplace { 0%,100% { transform: translateX(-50%) scaleY(1); } 50% { transform: translateX(-50%) scaleY(0.97); } }
@keyframes scm-flame { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); opacity:0.8; } 50% { transform: translateX(-50%) scaleY(1.1) rotate(2deg); opacity:1; } 100% { transform: translateX(-50%) scaleY(0.9) rotate(0deg); opacity:0.9; } }
@keyframes scm-shane { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(1px) rotate(1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes scm-miss { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 33% { transform: translateX(-2px) translateY(-2px) rotate(2deg); } 66% { transform: translateX(2px) translateY(-1px) rotate(-2deg); } 100% { transform: translateX(0) translateY(0) rotate(0deg); } }
@keyframes scm-rug { 0% { background-position:0 0; } 100% { background-position:30px 0; } }

/* conroy-overhears-confession */
.scn-conroy-overhears-confession {
  background: linear-gradient(180deg, #12121e 0%, #1e1e2e 50%, #2a1e1e 100%),
              radial-gradient(ellipse at 60% 50%, #3a2a2a 0%, transparent 70%);
}
.scn-conroy-overhears-confession .bg-corridor {
  position: absolute; inset: 0 0 10% 0;
  background: linear-gradient(180deg, #1e1e2e 0%, #12121e 100%);
  animation: coo-bg 18s ease-in-out infinite alternate;
}
.scn-conroy-overhears-confession .door-crack {
  position: absolute; bottom: 15%; left: 60%; width: 4%; height: 70%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%);
  border: 1px solid #3a2a1a;
  box-shadow: -2px 0 6px rgba(0,0,0,0.6), inset 0 0 4px #806040;
  animation: coo-door 10s ease-in-out infinite;
}
.scn-conroy-overhears-confession .eavesdropper {
  position: absolute; bottom: 20%; left: 50%; width: 18px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: coo-eavesdrop 5s ease-in-out infinite;
}
.scn-conroy-overhears-confession .hand-doorknob {
  position: absolute; bottom: 50%; left: 63%; width: 8px; height: 10px;
  background: radial-gradient(circle, #605040 0%, #403020 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.5);
  animation: coo-hand 8s ease-in-out infinite alternate;
}
.scn-conroy-overhears-confession .shadow-stretch {
  position: absolute; bottom: 10%; left: 30%; width: 20%; height: 20%;
  background: linear-gradient(180deg, rgba(10,10,20,0.3) 0%, transparent 100%);
  filter: blur(8px);
  border-radius: 50%;
  animation: coo-shadow 12s ease-in-out infinite;
}
.scn-conroy-overhears-confession .sconce {
  position: absolute; bottom: 35%; left: 20%; width: 6px; height: 12px;
  background: radial-gradient(circle, #b08060 0%, #806040 100%);
  border-radius: 30%;
  box-shadow: 0 0 12px 4px rgba(128,96,64,0.3);
  animation: coo-sconce 4s ease-in-out infinite alternate;
}

@keyframes coo-bg { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes coo-door { 0%,100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-1px) scaleX(0.98); } }
@keyframes coo-eavesdrop { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-3px) rotate(3deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(2px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes coo-hand { 0% { opacity:0.6; transform: translate(0,0); } 100% { opacity:1; transform: translate(1px,1px); } }
@keyframes coo-shadow { 0% { transform: scale(1); opacity:0.3; } 50% { transform: scale(1.1); opacity:0.5; } 100% { transform: scale(1); opacity:0.3; } }
@keyframes coo-sconce { 0% { opacity:0.5; box-shadow: 0 0 8px 2px rgba(128,96,64,0.2); } 100% { opacity:1; box-shadow: 0 0 16px 6px rgba(128,96,64,0.4); } }

/* brick-thrown-window */
.scn-brick-thrown-window {
  background: linear-gradient(180deg, #87CEEB 0%, #FFD700 60%, #D2691E 100%), radial-gradient(ellipse at 30% 70%, #FFD700 0%, transparent 60%);
}
.scn-brick-thrown-window .sky { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%); animation: brw-sky 8s ease-in-out infinite alternate; }
.scn-brick-thrown-window .wall { position:absolute; bottom:10%; left:10%; width:60%; height:70%; background: linear-gradient(180deg, #CD853F 0%, #8B4513 100%); border-radius: 5px; box-shadow: inset 0 4px 10px rgba(0,0,0,0.3); }
.scn-brick-thrown-window .window { position:absolute; bottom:30%; left:30%; width:25%; height:35%; background: linear-gradient(135deg, #B0E0E6 0%, #FFFFF0 70%), radial-gradient(circle at 50% 50%, #FFD700 0%, transparent 50%); border: 3px solid #8B4513; border-radius: 5px; box-shadow: inset 0 0 20px rgba(255,215,0,0.4); animation: brw-window 1.5s ease-in-out infinite; }
.scn-brick-thrown-window .brick { position:absolute; bottom:45%; left:25%; width:8%; height:5%; background: #C8553D; border-radius: 2px; transform: rotate(15deg); box-shadow: 0 2px 4px rgba(0,0,0,0.5); animation: brw-brick 0.3s ease-in-out infinite; }
.scn-brick-thrown-window .thrower { position:absolute; bottom:10%; left:5%; width:12%; height:40%; background: #2c2c2c; border-radius: 40% 40% 20% 20% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brw-thrower 2s ease-in-out infinite; }
.scn-brick-thrown-window .glass-shard { position:absolute; bottom:35%; left:28%; width:4%; height:6%; background: rgba(255,255,255,0.8); clip-path: polygon(50% 0%, 100% 100%, 0% 100%); filter: blur(1px); animation: brw-shard 0.8s ease-in-out infinite; }
@keyframes brw-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes brw-window { 0% { box-shadow: inset 0 0 20px rgba(255,215,0,0.4); } 25% { box-shadow: inset 0 0 40px rgba(255,215,0,0.8), 0 0 30px rgba(255,215,0,0.6); } 50% { box-shadow: inset 0 0 10px rgba(255,215,0,0.2); } 75% { box-shadow: inset 0 0 50px rgba(255,215,0,0.7); } 100% { box-shadow: inset 0 0 20px rgba(255,215,0,0.4); } }
@keyframes brw-brick { 0% { transform: rotate(15deg) translateY(0); } 25% { transform: rotate(20deg) translateY(-5px); } 50% { transform: rotate(10deg) translateY(0); } 75% { transform: rotate(25deg) translateY(-3px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes brw-thrower { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(5deg) translateX(2px); } 50% { transform: rotate(-2deg) translateX(0); } 75% { transform: rotate(5deg) translateX(-1px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes brw-shard { 0% { opacity:0; transform:translateY(0) rotate(0deg); } 20% { opacity:1; transform:translateY(-10px) rotate(45deg); } 40% { opacity:0.8; transform:translateY(5px) rotate(-30deg); } 60% { opacity:0.6; transform:translateY(-5px) rotate(60deg); } 80% { opacity:0.2; transform:translateY(15px) rotate(0deg); } 100% { opacity:0; transform:translateY(30px) rotate(-20deg); } }

/* delany-arrests-tony */
.scn-delany-arrests-tony {
  background: linear-gradient(180deg, #87CEEB 0%, #FFD700 40%, #D2691E 100%), radial-gradient(ellipse at 50% 20%, #FFD700 0%, transparent 70%);
}
.scn-delany-arrests-tony .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%); animation: dar-sky 10s ease-in-out infinite alternate; }
.scn-delany-arrests-tony .street { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #A0522D 0%, #5C4033 100%); border-radius: 20% 20% 0 0; }
.scn-delany-arrests-tony .building-bg { position:absolute; bottom:15%; left:0; width:30%; height:70%; background: linear-gradient(180deg, #8B7355 0%, #4A3728 100%); border-radius: 10px; box-shadow: inset -4px 0 10px rgba(0,0,0,0.5); }
.scn-delany-arrests-tony .delany { position:absolute; bottom:15%; left:35%; width:15%; height:45%; background: #1a1a4e; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dar-delany 2s ease-in-out infinite; }
.scn-delany-arrests-tony .tony { position:absolute; bottom:15%; left:45%; width:12%; height:40%; background: #2c2c2c; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dar-tony 2.5s ease-in-out infinite; }
.scn-delany-arrests-tony .red-sweater { position:absolute; bottom:30%; left:45%; width:12%; height:15%; background: #C8553D; border-radius: 10px; box-shadow: 0 2px 5px rgba(0,0,0,0.4); animation: dar-sweater 2.5s ease-in-out infinite; }
@keyframes dar-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.7; } }
@keyframes dar-delany { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(3deg) translateX(2px); } 50% { transform: rotate(-1deg) translateX(0); } 75% { transform: rotate(3deg) translateX(-2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes dar-tony { 0% { transform: rotate(0deg) translateX(0); } 20% { transform: rotate(5deg) translateX(5px); } 40% { transform: rotate(-3deg) translateX(-2px); } 60% { transform: rotate(4deg) translateX(3px); } 80% { transform: rotate(-2deg) translateX(-3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes dar-sweater { 0% { transform: scaleY(1); opacity:1; } 25% { transform: scaleY(0.9); opacity:0.8; } 50% { transform: scaleY(1.05); opacity:1; } 75% { transform: scaleY(0.95); opacity:0.9; } 100% { transform: scaleY(1); opacity:1; } }

/* protest-of-innocence */
.scn-protest-of-innocence {
  background: linear-gradient(180deg, #FFD700 0%, #FFFFE0 40%, #FFF8DC 100%), radial-gradient(ellipse at 60% 50%, #FFD700 0%, transparent 60%);
}
.scn-protest-of-innocence .sky { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #87CEEB 0%, #FFFACD 100%); animation: poi-sky 12s ease-in-out infinite alternate; }
.scn-protest-of-innocence .house { position:absolute; bottom:10%; right:10%; width:45%; height:60%; background: linear-gradient(180deg, #DEB887 0%, #A0522D 100%); border-radius: 8px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.scn-protest-of-innocence .doorway { position:absolute; bottom:10%; right:30%; width:15%; height:35%; background: linear-gradient(180deg, #8B4513 0%, #5C4033 100%); border-radius: 5px; box-shadow: inset 0 0 15px rgba(0,0,0,0.5); animation: poi-door 5s ease-in-out infinite; }
.scn-protest-of-innocence .tony-protest { position:absolute; bottom:15%; left:15%; width:12%; height:40%; background: #2c2c2c; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: poi-tony 3s ease-in-out infinite; }
.scn-protest-of-innocence .mother { position:absolute; bottom:10%; right:28%; width:10%; height:35%; background: #4A3728; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: poi-mother 4s ease-in-out infinite; }
.scn-protest-of-innocence .delany-arm { position:absolute; bottom:30%; left:15%; width:8%; height:3%; background: #1a1a4e; border-radius: 5px; transform: rotate(-30deg); transform-origin: right center; animation: poi-arm 1s ease-in-out infinite; }
@keyframes poi-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes poi-door { 0% { box-shadow: inset 0 0 15px rgba(0,0,0,0.5); } 50% { box-shadow: inset 0 0 25px rgba(0,0,0,0.7); } 100% { box-shadow: inset 0 0 15px rgba(0,0,0,0.5); } }
@keyframes poi-tony { 0% { transform: rotate(0deg) translateX(0); } 30% { transform: rotate(10deg) translateX(5px); } 60% { transform: rotate(-5deg) translateX(-3px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes poi-mother { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes poi-arm { 0% { transform: rotate(-30deg) scaleY(1); } 50% { transform: rotate(-15deg) scaleY(1.2); } 100% { transform: rotate(-30deg) scaleY(1); } }

/* delany-rough-justice */
.scn-delany-rough-justice {
  background: linear-gradient(180deg, #2F1B0E 0%, #8B4513 40%, #D2691E 100%), radial-gradient(ellipse at 50% 80%, #FFD700 0%, transparent 70%);
}
.scn-delany-rough-justice .sky { position:absolute; inset:0 0 50% 0; background: linear-gradient(180deg, #2F1B0E 0%, #1a1a1a 100%); animation: drj-sky 8s ease-in-out infinite alternate; }
.scn-delany-rough-justice .ground { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #5C4033 0%, #2E1B0E 100%); border-radius: 30% 70% 0 0; }
.scn-delany-rough-justice .delany-choke { position:absolute; bottom:20%; left:40%; width:12%; height:45%; background: #1a1a4e; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: drj-delany 1.5s ease-in-out infinite; }
.scn-delany-rough-justice .tony-victim { position:absolute; bottom:10%; left:35%; width:10%; height:30%; background: #2c2c2c; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: drj-tony 2s ease-in-out infinite; }
.scn-delany-rough-justice .hand { position:absolute; bottom:35%; left:45%; width:6%; height:10%; background: #D2B48C; border-radius: 30% 30% 30% 30%; transform: rotate(45deg); box-shadow: 0 2px 5px rgba(0,0,0,0.5); animation: drj-hand 0.5s ease-in-out infinite; }
.scn-delany-rough-justice .shadow-overlay { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%); animation: drj-shadow 6s ease-in-out infinite; }
@keyframes drj-sky { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes drj-delany { 0% { transform: rotate(0deg) translateY(0); } 30% { transform: rotate(5deg) translateY(-3px); } 60% { transform: rotate(-3deg) translateY(2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes drj-tony { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-10deg) translateY(5px); } 50% { transform: rotate(5deg) translateY(-2px); } 75% { transform: rotate(-5deg) translateY(3px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes drj-hand { 0% { transform: rotate(45deg) scaleY(1); } 50% { transform: rotate(30deg) scaleY(1.3); } 100% { transform: rotate(45deg) scaleY(1); } }
@keyframes drj-shadow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.5; } }

.scn-victory-and-collection { background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a8 40%, #d4b88a 100%), radial-gradient(ellipse at 30% 20%, #fff8e0 0%, transparent 60%); }
.scn-victory-and-collection .wall-bg { position:absolute; inset:0; background: linear-gradient(90deg, #e8d4a8 0%, #f0dbb0 40%, #e0c898 100%); box-shadow: inset 0 0 60px rgba(180,140,80,.3); }
.scn-victory-and-collection .window { position:absolute; top:8%; right:8%; width:34%; height:36%; background: linear-gradient(180deg, #fef8e0 0%, #e8e0c8 60%, #d0c8a8 100%); border:6px solid #c8a870; border-radius:4% 4% 0 0; box-shadow: inset 0 0 40px rgba(255,240,200,.5), 0 4px 12px rgba(0,0,0,.15); animation: vc-glow 8s ease-in-out infinite alternate; }
.scn-victory-and-collection .desk { position:absolute; bottom:18%; left:10%; width:50%; height:22%; background: linear-gradient(180deg, #8a6a3a 0%, #6a4e28 100%); border-radius:2% 2% 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,.2); }
.scn-victory-and-collection .typewriter { position:absolute; bottom:30%; left:18%; width:20%; height:10%; background: linear-gradient(180deg, #3a3a3a 0%, #1a1a1a 100%); border-radius:8% 8% 4% 4%; box-shadow: 0 2px 6px rgba(0,0,0,.4); animation: vc-type 2s ease-in-out infinite; }
.scn-victory-and-collection .figure-seated { position:absolute; bottom:18%; left:28%; width:16%; height:28%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2e22 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: vc-seated 6s ease-in-out infinite; }
.scn-victory-and-collection .lamp { position:absolute; bottom:52%; left:12%; width:6%; height:28%; background: linear-gradient(180deg, #c8a040 0%, #a08030 60%, #604818 100%); border-radius:40% 40% 10% 10%; box-shadow: 0 0 30px 8px rgba(200,160,64,.5), 0 0 60px 16px rgba(200,160,64,.2); animation: vc-lamp 4s ease-in-out infinite alternate; }
.scn-victory-and-collection .papers { position:absolute; bottom:20%; left:30%; width:18%; height:4%; background: linear-gradient(180deg, #f0e0b0 0%, #d8c898 100%); border-radius:4%; box-shadow: 0 2px 4px rgba(0,0,0,.15); animation: vc-papers 12s ease-in-out infinite; }
@keyframes vc-glow { 0% { opacity:.85; box-shadow: inset 0 0 30px rgba(255,240,200,.4), 0 4px 12px rgba(0,0,0,.15) } 50% { opacity:1; box-shadow: inset 0 0 50px rgba(255,240,200,.6), 0 4px 12px rgba(0,0,0,.1) } 100% { opacity:.9; box-shadow: inset 0 0 35px rgba(255,240,200,.45), 0 4px 12px rgba(0,0,0,.13) } }
@keyframes vc-type { 0% { transform: translateY(0) } 30% { transform: translateY(-2px) } 60% { transform: translateY(0) } 80% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes vc-seated { 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 vc-lamp { 0% { box-shadow: 0 0 20px 4px rgba(200,160,64,.4), 0 0 40px 10px rgba(200,160,64,.15); opacity:.9 } 50% { box-shadow: 0 0 40px 12px rgba(200,160,64,.6), 0 0 80px 20px rgba(200,160,64,.3); opacity:1 } 100% { box-shadow: 0 0 25px 6px rgba(200,160,64,.45), 0 0 50px 12px rgba(200,160,64,.18); opacity:.92 } }
@keyframes vc-papers { 0% { transform: translateX(0) rotate(0) } 33% { transform: translateX(3px) rotate(1deg) } 66% { transform: translateX(-2px) rotate(-1deg) } 100% { transform: translateX(0) rotate(0) } }

.scn-perjury-charges { background: linear-gradient(180deg, #c8a878 0%, #b89868 40%, #a08050 100%), radial-gradient(ellipse at 50% 0%, #e8d4a0 0%, transparent 60%); }
.scn-perjury-charges .court-wall { position:absolute; inset:0; background: linear-gradient(90deg, #b89068 0%, #c8a078 40%, #b88860 100%); box-shadow: inset 0 0 80px rgba(80,40,20,.2); }
.scn-perjury-charges .bench { position:absolute; top:8%; left:20%; width:60%; height:18%; background: linear-gradient(180deg, #6a4828 0%, #4a3018 100%); border-radius:4% 4% 2% 2%; box-shadow: 0 6px 16px rgba(0,0,0,.3); }
.scn-perjury-charges .witness-stand { position:absolute; bottom:30%; left:55%; width:14%; height:20%; background: linear-gradient(180deg, #7a5a3a 0%, #5a4028 100%); border-radius:6% 6% 2% 2%; box-shadow: 0 4px 10px rgba(0,0,0,.2); }
.scn-perjury-charges .judge { position:absolute; top:14%; left:38%; width:14%; height:22%; background: linear-gradient(180deg, #3a2e22 0%, #1a140e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pj-judge 10s ease-in-out infinite; }
.scn-perjury-charges .slump-figure { position:absolute; bottom:18%; left:22%; width:16%; height:26%; background: linear-gradient(180deg, #4a3e32 0%, #2a221a 100%); border-radius: 50% 50% 40% 40% / 50% 50% 50% 50%; transform: rotate(8deg); transform-origin: bottom center; animation: pj-slump 5s ease-in-out infinite alternate; }
.scn-perjury-charges .bailiff { position:absolute; bottom:12%; left:45%; width:14%; height:32%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: pj-bailiff 8s ease-in-out infinite; }
.scn-perjury-charges .court-window { position:absolute; top:12%; right:8%; width:22%; height:30%; background: linear-gradient(180deg, #f0e8d0 0%, #d8d0b8 60%, #c0b8a0 100%); border:4px solid #6a5030; border-radius:4% 4% 0 0; box-shadow: inset 0 0 30px rgba(255,240,200,.4); animation: pj-window 12s ease-in-out infinite alternate; }
@keyframes pj-judge { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes pj-slump { 0% { transform: rotate(6deg) translateY(0) } 50% { transform: rotate(10deg) translateY(-2px) } 100% { transform: rotate(6deg) translateY(0) } }
@keyframes pj-bailiff { 0% { transform: translateY(0) } 33% { transform: translateY(-3px) } 66% { transform: translateY(-1px) } 100% { transform: translateY(0) } }
@keyframes pj-window { 0% { opacity:.85; box-shadow: inset 0 0 20px rgba(255,240,200,.3) } 50% { opacity:1; box-shadow: inset 0 0 40px rgba(255,240,200,.5) } 100% { opacity:.9; box-shadow: inset 0 0 25px rgba(255,240,200,.35) } }

.scn-edgar-street-intro { background: linear-gradient(180deg, #8ab4d8 0%, #b8d0e0 30%, #e8d8b8 60%, #d0c098 100%), radial-gradient(ellipse at 60% 20%, #fef8e0 0%, transparent 50%); }
.scn-edgar-street-intro .sky-warm { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #8ab4d8 0%, #b8d0e0 40%, #e8d8b8 80%); opacity:.8; animation: es-sky 20s ease-in-out infinite alternate; }
.scn-edgar-street-intro .building-left { position:absolute; top:8%; left:0; width:38%; height:80%; background: linear-gradient(180deg, #c8a878 0%, #b09068 60%, #8a7050 100%); border-radius:0 4% 4% 0; box-shadow: 4px 0 20px rgba(0,0,0,.15); animation: es-build-l 30s ease-in-out infinite alternate; }
.scn-edgar-street-intro .building-right { position:absolute; top:5%; right:0; width:42%; height:85%; background: linear-gradient(180deg, #d0b888 0%, #b89868 50%, #987858 100%); border-radius:4% 0 0 4%; box-shadow: -4px 0 20px rgba(0,0,0,.15); animation: es-build-r 30s ease-in-out infinite alternate-reverse; }
.scn-edgar-street-intro .archway { position:absolute; bottom:25%; left:37%; width:26%; height:40%; background: radial-gradient(ellipse at 50% 100%, #1a1a2a 0%, #3a2a1a 60%, transparent 70%) no-repeat; border-radius: 50% 50% 0 0 / 80% 80% 0 0; box-shadow: inset 0 -10px 30px rgba(0,0,0,.3); }
.scn-edgar-street-intro .street { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #b09878 0%, #8a7858 40%, #6a5a40 100%); box-shadow: inset 0 20px 40px rgba(0,0,0,.1); }
.scn-edgar-street-intro .figure-distant { position:absolute; bottom:18%; left:44%; width:4%; height:10%; background: linear-gradient(180deg, #2a221a 0%, #0a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: es-figure 8s ease-in-out infinite; }
.scn-edgar-street-intro .sun-ray { position:absolute; top:8%; left:35%; width:30%; height:50%; background: linear-gradient(135deg, rgba(255,240,200,.3) 0%, rgba(255,240,200,.05) 60%, transparent 100%); filter: blur(8px); animation: es-sunray 12s ease-in-out infinite alternate; }
@keyframes es-sky { 0% { opacity:.75 } 50% { opacity:.95 } 100% { opacity:.8 } }
@keyframes es-build-l { 0% { transform: translateX(0) } 50% { transform: translateX(-2px) } 100% { transform: translateX(0) } }
@keyframes es-build-r { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(0) } }
@keyframes es-figure { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes es-sunray { 0% { opacity:.3; transform: rotate(-2deg) } 50% { opacity:.6; transform: rotate(0) } 100% { opacity:.35; transform: rotate(2deg) } }

.scn-camel-up-stairs { background: linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 30%, #4a3a2a 60%, #2a1a0a 100%), radial-gradient(ellipse at 50% 30%, #5a4a2a 0%, transparent 60%); }
.scn-camel-up-stairs .stair-well { position:absolute; inset:0; background: linear-gradient(180deg, #1a0a00 0%, #2a1a0a 40%, #3a2a1a 100%); box-shadow: inset 0 0 80px rgba(0,0,0,.5); }
.scn-camel-up-stairs .stairs { position:absolute; bottom:0; left:10%; width:80%; height:80%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 30%, #2a1a0a 100%); border-radius:4% 4% 0 0; box-shadow: 0 -4px 20px rgba(0,0,0,.4); animation: cu-stairs 6s ease-in-out infinite alternate; }
.scn-camel-up-stairs .camel-body { position:absolute; bottom:30%; left:30%; width:30%; height:40%; background: linear-gradient(180deg, #8a7050 0%, #6a5030 40%, #4a3820 100%); border-radius: 40% 60% 30% 50% / 30% 50% 40% 60%; transform-origin: center bottom; box-shadow: 0 8px 20px rgba(0,0,0,.3); animation: cu-camel-body 4s ease-in-out infinite; }
.scn-camel-up-stairs .camel-head { position:absolute; bottom:52%; right:22%; width:12%; height:20%; background: linear-gradient(180deg, #9a8060 0%, #7a6040 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cu-camel-head 4s ease-in-out infinite; }
.scn-camel-up-stairs .banister-broken { position:absolute; bottom:48%; left:15%; width:6%; height:25%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3018 100%); border-radius:4%; transform: rotate(15deg); transform-origin: top left; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: cu-banister 3s ease-in-out infinite; }
.scn-camel-up-stairs .kasheed { position:absolute; bottom:10%; left:50%; width:12%; height:22%; background: linear-gradient(180deg, #1a1a3a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: cu-kasheed 4s ease-in-out infinite; }
.scn-camel-up-stairs .dust-motes { position:absolute; top:20%; left:15%; width:60%; height:50%; background: radial-gradient(circle at 30% 40%, rgba(200,180,140,.15) 0%, transparent 30%), radial-gradient(circle at 70% 60%, rgba(200,180,140,.1) 0%, transparent 25%), radial-gradient(circle at 50% 20%, rgba(200,180,140,.08) 0%, transparent 20%); filter: blur(4px); animation: cu-dust 8s ease-in-out infinite alternate; }
@keyframes cu-stairs { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes cu-camel-body { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-6px) rotate(0) } 50% { transform: translateY(-3px) rotate(2deg) } 75% { transform: translateY(-5px) rotate(0) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes cu-camel-head { 0% { transform: translateY(0) rotate(3deg) } 30% { transform: translateY(-4px) rotate(-2deg) } 60% { transform: translateY(-2px) rotate(5deg) } 100% { transform: translateY(0) rotate(3deg) } }
@keyframes cu-banister { 0% { transform: rotate(12deg) } 50% { transform: rotate(18deg) } 100% { transform: rotate(12deg) } }
@keyframes cu-kasheed { 0% { transform: translateY(0) rotate(-2deg) } 25% { transform: translateY(-3px) rotate(2deg) } 50% { transform: translateY(-1px) rotate(-1deg) } 75% { transform: translateY(-2px) rotate(3deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes cu-dust { 0% { opacity:.3; transform: translateY(0) } 50% { opacity:.6; transform: translateY(-8px) } 100% { opacity:.35; transform: translateY(0) } }

/* ===== Bright Interior Courtrooms – caput- series ===== */

.scn-caput-opens-eloquently {
  background:
    linear-gradient(180deg, #f7eeda 0%, #e8dcc0 40%, #d4c8a8 100%),
    radial-gradient(ellipse at 50% 20%, #fff8e8 0%, transparent 60%);
}
.scn-caput-opens-eloquently .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f7eeda 0%, #ede3cc 100%);
  animation: coe-pan 30s ease-in-out infinite alternate;
}
.scn-caput-opens-eloquently .bench {
  position: absolute; bottom: 20%; left: 45%; width: 120px; height: 60px;
  background: linear-gradient(180deg, #a07850 0%, #7a5a3a 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-caput-opens-eloquently .judge {
  position: absolute; bottom: 22%; left: 48%; width: 40px; height: 70px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: coe-bob 8s ease-in-out infinite;
}
.scn-caput-opens-eloquently .podium {
  position: absolute; bottom: 22%; left: 28%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-caput-opens-eloquently .magnus {
  position: absolute; bottom: 23%; left: 28%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #f0e0c0 0%, #c8b898 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: coe-rise 6s ease-in-out infinite;
}
.scn-caput-opens-eloquently .table {
  position: absolute; bottom: 18%; left: 50%; width: 100px; height: 20px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 4px;
  transform: translateX(-50%);
}
.scn-caput-opens-eloquently .flash {
  position: absolute; bottom: 30%; left: 40%; width: 30px; height: 30px;
  background: radial-gradient(circle, #fff8e0 0%, transparent 70%);
  border-radius: 50%;
  animation: coe-flash 4s ease-in-out infinite alternate;
}
.scn-caput-opens-eloquently .glow {
  position: absolute; top: 10%; left: 20%; width: 120px; height: 80px;
  background: radial-gradient(ellipse, #fff8e0 0%, transparent 60%);
  filter: blur(10px);
  animation: coe-glow 12s ease-in-out infinite alternate;
}
.scn-caput-opens-eloquently .spectator {
  position: absolute; bottom: 15%; right: 10%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #a08060 0%, #5a3a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: coe-whisper 10s ease-in-out infinite;
}
@keyframes coe-pan {
  0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; }
}
@keyframes coe-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px) rotate(2deg); }
}
@keyframes coe-rise {
  0% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-4px) scaleY(1.03); }
  100% { transform: translateY(0) scaleY(1); }
}
@keyframes coe-flash {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes coe-glow {
  0% { opacity: 0.4; } 50% { opacity: 0.7; } 100% { opacity: 0.3; }
}
@keyframes coe-whisper {
  0% { transform: translateX(0); } 25% { transform: translateX(3px); } 75% { transform: translateX(-3px); } 100% { transform: translateX(0); }
}

/* --- caput-confuses-wives --- */
.scn-caput-confuses-wives {
  background:
    linear-gradient(180deg, #f5ecd5 0%, #e0d4b8 40%, #cdbe9c 100%),
    radial-gradient(ellipse at 30% 30%, #fff5e0 0%, transparent 70%);
}
.scn-caput-confuses-wives .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f5ecd5 0%, #e8dcc4 100%);
}
.scn-caput-confuses-wives .bench {
  position: absolute; bottom: 20%; left: 40%; width: 130px; height: 60px;
  background: linear-gradient(180deg, #a07850 0%, #7a5a3a 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-caput-confuses-wives .judge {
  position: absolute; bottom: 22%; left: 43%; width: 40px; height: 72px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ccw-tilt 9s ease-in-out infinite;
}
.scn-caput-confuses-wives .table {
  position: absolute; bottom: 18%; left: 30%; width: 90px; height: 20px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 4px;
}
.scn-caput-confuses-wives .tutt {
  position: absolute; bottom: 18%; left: 26%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #e0d0b8 0%, #b8a888 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ccw-busy 5s ease-in-out infinite;
}
.scn-caput-confuses-wives .da {
  position: absolute; bottom: 18%; left: 34%; width: 30px; height: 58px;
  background: linear-gradient(180deg, #d8c8b0 0%, #b0a088 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ccw-busy 5s ease-in-out infinite reverse;
}
.scn-caput-confuses-wives .jury-box {
  position: absolute; bottom: 16%; right: 10%; width: 80px; height: 50px;
  background: linear-gradient(180deg, #a08060 0%, #6a4a3a 100%);
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
.scn-caput-confuses-wives .glow {
  position: absolute; top: 15%; right: 25%; width: 100px; height: 60px;
  background: radial-gradient(ellipse, #fff8e0 0%, transparent 60%);
  filter: blur(8px);
  animation: ccw-glow 14s ease-in-out infinite alternate;
}
.scn-caput-confuses-wives .paper {
  position: absolute; bottom: 25%; left: 34%; width: 16px; height: 12px;
  background: #fff8e8;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  animation: ccw-paper 7s ease-in-out infinite;
}
@keyframes ccw-tilt {
  0%, 100% { transform: rotate(0); }
  50% { transform: rotate(2deg) translateY(-1px); }
}
@keyframes ccw-busy {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes ccw-glow {
  0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; }
}
@keyframes ccw-paper {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(4px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0); }
}

/* --- caput-speech-falters --- */
.scn-caput-speech-falters {
  background:
    linear-gradient(180deg, #f2e8d0 0%, #e0d4b8 30%, #ccb898 100%),
    radial-gradient(ellipse at 50% 40%, #fff5e0 0%, transparent 70%);
}
.scn-caput-speech-falters .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f2e8d0 0%, #e0d4bc 100%);
}
.scn-caput-speech-falters .podium {
  position: absolute; bottom: 22%; left: 50%; width: 34px; height: 44px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 10% 10% 0 0;
  transform: translateX(-50%);
}
.scn-caput-speech-falters .caput {
  position: absolute; bottom: 24%; left: 50%; width: 30px; height: 62px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c0b098 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: translateX(-50%);
  animation: csf-speak 4s ease-in-out infinite;
}
.scn-caput-speech-falters .arm {
  position: absolute; bottom: 28%; left: 52%; width: 20px; height: 6px;
  background: linear-gradient(180deg, #d8c8b0 0%, #b8a890 100%);
  border-radius: 50%;
  transform-origin: left center;
  animation: csf-gesture 5s ease-in-out infinite alternate;
}
.scn-caput-speech-falters .table {
  position: absolute; bottom: 18%; left: 30%; width: 100px; height: 20px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 4px;
}
.scn-caput-speech-falters .jury-blur {
  position: absolute; bottom: 16%; right: 10%; width: 100px; height: 50px;
  background: linear-gradient(180deg, #a08060 0%, #5a3a2a 100%);
  border-radius: 10px;
  filter: blur(3px);
  opacity: 0.5;
}
.scn-caput-speech-falters .stream {
  position: absolute; bottom: 30%; left: 45%; width: 60px; height: 10px;
  background: linear-gradient(90deg, transparent, #fff8e0 30%, transparent);
  border-radius: 50%;
  filter: blur(4px);
  animation: csf-stream 6s ease-in-out infinite alternate;
}
.scn-caput-speech-falters .glow {
  position: absolute; top: 10%; left: 40%; width: 100px; height: 80px;
  background: radial-gradient(ellipse, #fff8e0 0%, transparent 60%);
  filter: blur(12px);
  animation: csf-glow 10s ease-in-out infinite alternate;
}
@keyframes csf-speak {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-2px) rotate(1deg); }
}
@keyframes csf-gesture {
  0% { transform: rotate(-10deg); }
  50% { transform: rotate(20deg); }
  100% { transform: rotate(-10deg); }
}
@keyframes csf-stream {
  0% { opacity: 0.2; transform: scaleX(0.5); }
  50% { opacity: 0.8; transform: scaleX(1.2); }
  100% { opacity: 0.3; transform: scaleX(0.6); }
}
@keyframes csf-glow {
  0% { opacity: 0.4; transform: scale(0.9); }
  50% { opacity: 0.8; transform: scale(1.1); }
  100% { opacity: 0.5; transform: scale(1); }
}

/* --- juror-interrupts-caput --- */
.scn-juror-interrupts-caput {
  background:
    linear-gradient(180deg, #f0e5cc 0%, #ddd0b4 40%, #c8b898 100%),
    radial-gradient(ellipse at 60% 40%, #fff5e0 0%, transparent 70%);
}
.scn-juror-interrupts-caput .wall {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0e5cc 0%, #ddd0b8 100%);
}
.scn-juror-interrupts-caput .bench {
  position: absolute; bottom: 20%; left: 42%; width: 130px; height: 60px;
  background: linear-gradient(180deg, #a07850 0%, #7a5a3a 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}
.scn-juror-interrupts-caput .judge {
  position: absolute; bottom: 22%; left: 45%; width: 40px; height: 72px;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jic-startle 10s ease-in-out infinite;
}
.scn-juror-interrupts-caput .podium {
  position: absolute; bottom: 22%; left: 28%; width: 30px; height: 40px;
  background: linear-gradient(180deg, #b09070 0%, #8a6a4a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-juror-interrupts-caput .caput {
  position: absolute; bottom: 23%; left: 28%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #e8d8c0 0%, #c0b098 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jic-speak-pause 7s ease-in-out infinite;
}
.scn-juror-interrupts-caput .jury-box {
  position: absolute; bottom: 16%; right: 12%; width: 90px; height: 50px;
  background: linear-gradient(180deg, #a08060 0%, #6a4a3a 100%);
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
.scn-juror-interrupts-caput .juror {
  position: absolute; bottom: 18%; right: 14%; width: 30px; height: 55px;
  background: linear-gradient(180deg, #d8c8b0 0%, #b0a088 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jic-stand-up 6s ease-in-out infinite;
}
.scn-juror-interrupts-caput .feather {
  position: absolute; bottom: 30%; right: 20%; width: 8px; height: 12px;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(15deg);
  animation: jic-feather 5s ease-in-out infinite alternate;
}
.scn-juror-interrupts-caput .glow {
  position: absolute; top: 15%; left: 30%; width: 120px; height: 70px;
  background: radial-gradient(ellipse, #fff8e0 0%, transparent 60%);
  filter: blur(10px);
  animation: jic-glow 15s ease-in-out infinite alternate;
}
@keyframes jic-startle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px) rotate(-2deg); }
}
@keyframes jic-speak-pause {
  0% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}
@keyframes jic-stand-up {
  0% { transform: translateY(0); opacity: 0.8; }
  50% { transform: translateY(-8px); opacity: 1; }
  100% { transform: translateY(0); opacity: 0.8; }
}
@keyframes jic-feather {
  0% { transform: rotate(10deg) scaleY(1); }
  50% { transform: rotate(20deg) scaleY(1.2); }
  100% { transform: rotate(10deg) scaleY(1); }
}
@keyframes jic-glow {
  0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.4; }
}

.scn-miss-beekman-committed {
  background:
    linear-gradient(180deg, #e8dcc4 0%, #c8b89a 40%, #a0886e 100%),
    radial-gradient(ellipse at 30% 40%, #f0e8d8 0%, transparent 60%);
}
.scn-miss-beekman-committed .wall     { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d4c8b0, #b8a890); }
.scn-miss-beekman-committed .window   { position:absolute; top:8%; left:55%; width:120px; height:160px; background: linear-gradient(180deg, #faf4e8 0%, #e8ddcc 100%); border:6px solid #8a7a68; border-radius:4px; box-shadow: inset 0 0 20px rgba(255,245,220,.5); animation: mbk-window 8s ease-in-out infinite alternate; }
.scn-miss-beekman-committed .bench    { position:absolute; bottom:25%; left:10%; width:200px; height:60px; background: linear-gradient(180deg, #8a3a1a 0%, #6a2a0a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.4); }
.scn-miss-beekman-committed .judge    { position:absolute; bottom:28%; left:14%; width:40px; height:80px; background: linear-gradient(180deg, #2a1a0a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: mbk-judge 4s ease-in-out infinite alternate; }
.scn-miss-beekman-committed .witness  { position:absolute; bottom:20%; right:25%; width:28px; height:90px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mbk-witness 2.5s ease-in-out infinite; }
.scn-miss-beekman-committed .railing  { position:absolute; bottom:28%; left:0; right:0; height:12px; background: linear-gradient(90deg, #7a6a5a 0%, #9a8a7a 50%, #7a6a5a 100%); border-top:3px solid #5a4a3a; box-shadow: 0 2px 4px rgba(0,0,0,.3); }
.scn-miss-beekman-committed .shadow   { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 100%); animation: mbk-shadow 6s ease-in-out infinite alternate; }
@keyframes mbk-window  { 0% { opacity:.9; filter: brightness(1) } 50% { opacity:1; filter: brightness(1.05) } 100% { opacity:.85; filter: brightness(.95) } }
@keyframes mbk-judge   { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(-1deg) } }
@keyframes mbk-witness { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(4px) rotate(2deg) } 60% { transform: translateX(-3px) rotate(-3deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes mbk-shadow  { 0% { opacity:.5 } 50% { opacity:.7 } 100% { opacity:.4 } }

.scn-habeas-corpus-rescue {
  background:
    linear-gradient(180deg, #f5e8d0 0%, #dcc8a8 60%, #b8a080 100%),
    radial-gradient(ellipse at 70% 20%, #ffe8b0 0%, transparent 50%);
}
.scn-habeas-corpus-rescue .floor      { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); }
.scn-habeas-corpus-rescue .wall-left  { position:absolute; top:0; left:0; width:30%; bottom:25%; background: linear-gradient(180deg, #d4c4b0, #b8a48c); }
.scn-habeas-corpus-rescue .wall-right { position:absolute; top:0; right:0; width:30%; bottom:25%; background: linear-gradient(180deg, #d4c4b0, #b8a48c); }
.scn-habeas-corpus-rescue .doorway    { position:absolute; bottom:25%; left:50%; width:120px; height:180px; transform:translateX(-50%); background: #4a3a2a; border-radius:0 0 4px 4px; box-shadow: inset 0 0 30px rgba(255,220,160,.4); animation: hab-door 10s ease-in-out infinite alternate; }
.scn-habeas-corpus-rescue .figure-back { position:absolute; bottom:28%; left:48%; width:30px; height:100px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: hab-figure 6s ease-in-out infinite; }
.scn-habeas-corpus-rescue .officer    { position:absolute; bottom:28%; left:42%; width:32px; height:95px; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom; animation: hab-officer 6s ease-in-out infinite reverse; }
.scn-habeas-corpus-rescue .warm-glow  { position:absolute; bottom:30%; left:50%; width:80px; height:80px; transform:translateX(-50%); background: radial-gradient(circle, #ffdd88 0%, transparent 70%); opacity:.6; animation: hab-glow 4s ease-in-out infinite alternate; }
@keyframes hab-door    { 0% { box-shadow: inset 0 0 20px rgba(255,220,160,.3) } 50% { box-shadow: inset 0 0 50px rgba(255,220,160,.6) } 100% { box-shadow: inset 0 0 20px rgba(255,220,160,.3) } }
@keyframes hab-figure  { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-3px) rotate(1deg) } 60% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hab-officer { 0% { transform: translateY(0) rotate(0deg) } 30% { transform: translateY(-2px) rotate(-1deg) } 60% { transform: translateY(-1px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes hab-glow    { 0% { opacity:.4; transform:translateX(-50%) scale(1) } 50% { opacity:.7; transform:translateX(-50%) scale(1.1) } 100% { opacity:.4; transform:translateX(-50%) scale(1) } }

.scn-mc-gurk-furious {
  background:
    linear-gradient(180deg, #d4c8b0 0%, #b8a88c 50%, #9a8a70 100%),
    radial-gradient(ellipse at 60% 50%, #f0e4d0 0%, transparent 60%);
}
.scn-mc-gurk-furious .bg-panels  { position:absolute; inset:0 0 35% 0; background: linear-gradient(90deg, #b8a48c 0%, #c8b8a0 50%, #b8a48c 100%); }
.scn-mc-gurk-furious .bar-rail   { position:absolute; bottom:32%; left:0; right:0; height:16px; background: #6a5a4a; border-top:4px solid #8a7a6a; box-shadow: 0 3px 6px rgba(0,0,0,.3); }
.scn-mc-gurk-furious .jury-box   { position:absolute; bottom:38%; right:10%; width:180px; height:80px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius:6px; box-shadow: 0 4px 8px rgba(0,0,0,.4); animation: mcg-jury 5s ease-in-out infinite alternate; }
.scn-mc-gurk-furious .mc-figure  { position:absolute; bottom:24%; left:35%; width:34px; height:90px; background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mcg-spring 1.8s ease-in-out infinite; }
.scn-mc-gurk-furious .officer-hold { position:absolute; bottom:26%; left:31%; width:36px; height:85px; background: linear-gradient(180deg, #2a3a3a 0%, #0a1a1a 100%); border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom; animation: mcg-hold 1.8s ease-in-out infinite reverse; }
.scn-mc-gurk-furious .gavel      { position:absolute; bottom:50%; right:30%; width:8px; height:14px; background: #4a2a1a; border-radius:2px; transform-origin: top; animation: mcg-gavel 3s ease-in-out infinite; }
.scn-mc-gurk-furious .sharp-shadow { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.25) 100%); animation: mcg-shadow 4s ease-in-out infinite alternate; }
@keyframes mcg-jury    { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes mcg-spring  { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(-20px) rotate(8deg) } 50% { transform: translateY(0) rotate(-5deg) } 75% { transform: translateY(-10px) rotate(3deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mcg-hold    { 0% { transform: translateY(0) rotate(0deg) } 25% { transform: translateY(2px) rotate(-3deg) } 50% { transform: translateY(0) rotate(2deg) } 75% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mcg-gavel   { 0% { transform: rotate(-10deg) } 30% { transform: rotate(20deg) } 60% { transform: rotate(-15deg) } 100% { transform: rotate(-10deg) } }
@keyframes mcg-shadow  { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.35 } }

.scn-miss-beekman-discharged {
  background:
    linear-gradient(180deg, #e8dcc4 0%, #d0c0a8 50%, #b8a88c 100%),
    radial-gradient(ellipse at 50% 30%, #f4ecd8 0%, transparent 70%);
}
.scn-miss-beekman-discharged .courtroom-bg { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c8b8a0, #a89880); }
.scn-miss-beekman-discharged .crowd-left   { position:absolute; bottom:20%; left:5%; width:30%; height:60%; background: linear-gradient(90deg, rgba(40,30,20,.6) 0%, transparent 100%); animation: mbd-crowd 4s ease-in-out infinite alternate; }
.scn-miss-beekman-discharged .crowd-right  { position:absolute; bottom:20%; right:5%; width:30%; height:60%; background: linear-gradient(270deg, rgba(40,30,20,.6) 0%, transparent 100%); animation: mbd-crowd 4.5s ease-in-out infinite alternate-reverse; }
.scn-miss-beekman-discharged .center-figure { position:absolute; bottom:25%; left:50%; width:30px; height:95px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; animation: mbd-center 3s ease-in-out infinite; }
.scn-miss-beekman-discharged .papers-flying{ position:absolute; top:15%; left:20%; width:40px; height:30px; background: #f0e8d8; border-radius:2px; box-shadow: 2px 2px 4px rgba(0,0,0,.1); animation: mbd-papers 6s linear infinite; }
.scn-miss-beekman-discharged .bench-flash  { position:absolute; bottom:30%; left:25%; width:120px; height:20px; background: linear-gradient(90deg, transparent, #ffd080 50%, transparent); opacity:.3; animation: mbd-flash 2s ease-in-out infinite; }
.scn-miss-beekman-discharged .turbulence   { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 50%, rgba(200,180,120,.1) 0%, transparent 70%); animation: mbd-turb 8s ease-in-out infinite alternate; }
@keyframes mbd-crowd  { 0% { opacity:.4; transform: translateY(0) } 50% { opacity:.6; transform: translateY(-3px) } 100% { opacity:.4; transform: translateY(0) } }
@keyframes mbd-center { 0% { transform: translateX(-50%) translateY(0) rotate(0deg) } 30% { transform: translateX(-50%) translateY(-3px) rotate(1deg) } 60% { transform: translateX(-50%) translateY(-1px) rotate(-2deg) } 100% { transform: translateX(-50%) translateY(0) rotate(0deg) } }
@keyframes mbd-papers { 0% { transform: translateX(0) translateY(0) rotate(0deg); opacity:1 } 25% { transform: translateX(30px) translateY(-20px) rotate(15deg); opacity:.8 } 50% { transform: translateX(60px) translateY(-10px) rotate(-10deg); opacity:.6 } 75% { transform: translateX(90px) translateY(-30px) rotate(5deg); opacity:.4 } 100% { transform: translateX(120px) translateY(0) rotate(0deg); opacity:0 } }
@keyframes mbd-flash { 0% { opacity:0 } 30% { opacity:.4 } 60% { opacity:.1 } 100% { opacity:0 } }
@keyframes mbd-turb  { 0% { opacity:.1; transform: scale(1) } 50% { opacity:.3; transform: scale(1.02) } 100% { opacity:.1; transform: scale(1) } }

/* Scene: estate-value-revealed */
.scn-estate-value-revealed {
  background: linear-gradient(180deg, #faf3e0 0%, #e8dcc8 100%), radial-gradient(ellipse at 50% 20%, #fff8e0 0%, transparent 70%);
}
.scn-estate-value-revealed .evr-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5f0e0 0%, #d9ceb8 100%); animation: evr-bg 10s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-window {
  position: absolute; top: 8%; left: 65%; width: 20%; height: 40%; background: radial-gradient(ellipse at 50% 30%, #fff8d0 0%, #b8a888 100%); border-radius: 6% 6% 50% 50% / 10% 10% 60% 60%; box-shadow: inset 0 0 40px rgba(255,240,180,0.3); animation: evr-window 8s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-desk {
  position: absolute; bottom: 5%; left: 15%; right: 15%; height: 30%; background: linear-gradient(180deg, #a08060 0%, #604830 100%); border-radius: 4% 4% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.2); animation: evr-desk 12s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-document {
  position: absolute; bottom: 28%; left: 35%; width: 30%; height: 8%; background: linear-gradient(135deg, #fef8e0 0%, #f0e0c0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.15); transform: rotate(-2deg); animation: evr-document 6s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-lamp {
  position: absolute; bottom: 50%; left: 20%; width: 12%; height: 30%; background: linear-gradient(180deg, #c8b088 0%, #8a7050 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; animation: evr-lamp 5s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-figure {
  position: absolute; bottom: 10%; left: 45%; width: 12%; height: 35%; background: linear-gradient(180deg, #d0c0b0 0%, #a08a7a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: evr-figure 7s ease-in-out infinite alternate;
}
.scn-estate-value-revealed .evr-shadow {
  position: absolute; bottom: 0; left: 30%; right: 20%; height: 15%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.15) 0%, transparent 100%); animation: evr-shadow 10s ease-in-out infinite alternate;
}
@keyframes evr-bg { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes evr-window { 0% { opacity: 0.7; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.02); } 100% { opacity: 0.8; transform: scaleY(0.98); } }
@keyframes evr-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes evr-document { 0% { transform: rotate(-2deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-2deg); } }
@keyframes evr-lamp { 0% { transform: scaleY(1); opacity: 0.9; } 50% { transform: scaleY(1.05); opacity: 1; } 100% { transform: scaleY(0.95); opacity: 0.85; } }
@keyframes evr-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(-3px) rotate(-1deg); } }
@keyframes evr-shadow { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

/* Scene: letter-sadie-burch */
.scn-letter-sadie-burch {
  background: linear-gradient(180deg, #e0e0e8 0%, #b8bcc8 100%), radial-gradient(ellipse at 50% 30%, #d8dce0 0%, transparent 70%);
}
.scn-letter-sadie-burch .sad-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #e8eaf0 0%, #c0c4d0 100%); animation: sad-bg 4s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-desk {
  position: absolute; bottom: 8%; left: 10%; right: 10%; height: 25%; background: linear-gradient(180deg, #887868 0%, #4a3a2a 100%); border-radius: 6% 6% 0 0; box-shadow: 0 10px 30px rgba(0,0,0,0.3); animation: sad-desk 3s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-letter {
  position: absolute; bottom: 30%; left: 30%; width: 35%; height: 12%; background: linear-gradient(135deg, #f0e8d8 0%, #d8ccb8 100%); border-radius: 3px; box-shadow: 0 2px 8px rgba(0,0,0,0.25); transform: rotate(-4deg); animation: sad-letter 2s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-hand {
  position: absolute; bottom: 32%; left: 50%; width: 10%; height: 18%; background: linear-gradient(180deg, #c8b8a8 0%, #a09080 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: 50% 80%; animation: sad-hand 1.5s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-shadow {
  position: absolute; bottom: 0; left: 20%; right: 20%; height: 18%; background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.25) 0%, transparent 100%); animation: sad-shadow 3s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-lamp {
  position: absolute; bottom: 55%; left: 15%; width: 10%; height: 28%; background: linear-gradient(180deg, #a08870 0%, #605040 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; animation: sad-lamp 2.5s ease-in-out infinite alternate;
}
.scn-letter-sadie-burch .sad-chair {
  position: absolute; bottom: 10%; left: 60%; width: 20%; height: 40%; background: linear-gradient(180deg, #9a8a7a 0%, #5a4a3a 100%); border-radius: 10% 10% 30% 30% / 20% 20% 40% 40%; animation: sad-chair 3.5s ease-in-out infinite alternate;
}
@keyframes sad-bg { 0% { filter: brightness(0.9); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.95); } }
@keyframes sad-desk { 0% { transform: translateY(0); } 50% { transform: translateY(4px); } 100% { transform: translateY(-2px); } }
@keyframes sad-letter { 0% { transform: rotate(-4deg) scale(1); } 50% { transform: rotate(2deg) scale(1.03); } 100% { transform: rotate(-1deg) scale(0.98); } }
@keyframes sad-hand { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-5deg); } }
@keyframes sad-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }
@keyframes sad-lamp { 0% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(1.08) rotate(2deg); } 100% { transform: scaleY(0.95) rotate(-1deg); } }
@keyframes sad-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-5px); } 100% { transform: translateY(2px); } }

/* Scene: legal-advice-not-binding */
.scn-legal-advice-not-binding {
  background: linear-gradient(180deg, #f8f0e8 0%, #e0d4c8 100%), radial-gradient(ellipse at 50% 40%, #fff4e0 0%, transparent 70%);
}
.scn-legal-advice-not-binding .law-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5efe0 0%, #d8ccbc 100%); animation: law-bg 12s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-bookshelf {
  position: absolute; top: 8%; left: 5%; width: 25%; height: 70%; background: linear-gradient(180deg, #8a7a6a 0%, #4a3a2a 100%); border-radius: 4% 4% 8% 8%; box-shadow: inset 0 0 20px rgba(0,0,0,0.3); animation: law-bookshelf 15s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-desk {
  position: absolute; bottom: 5%; left: 15%; right: 15%; height: 28%; background: linear-gradient(180deg, #a09080 0%, #6a5a4a 100%); border-radius: 6% 6% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.2); animation: law-desk 10s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-chair-client {
  position: absolute; bottom: 10%; left: 55%; width: 18%; height: 45%; background: linear-gradient(180deg, #b0a090 0%, #7a6a5a 100%); border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%; animation: law-chair-client 8s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-figure-lawyer {
  position: absolute; bottom: 10%; left: 25%; width: 14%; height: 50%; background: linear-gradient(180deg, #c8b8a8 0%, #8a7a6a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: law-figure-lawyer 9s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-document {
  position: absolute; bottom: 28%; left: 35%; width: 28%; height: 8%; background: linear-gradient(135deg, #fef8e0 0%, #f0e0c0 100%); border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.15); transform: rotate(-1deg); animation: law-document 7s ease-in-out infinite alternate;
}
.scn-legal-advice-not-binding .law-lamp {
  position: absolute; bottom: 52%; left: 75%; width: 11%; height: 26%; background: linear-gradient(180deg, #b8a888 0%, #7a6858 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; animation: law-lamp 6s ease-in-out infinite alternate;
}
@keyframes law-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes law-bookshelf { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes law-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes law-chair-client { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes law-figure-lawyer { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(2px) rotate(1deg); } 100% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes law-document { 0% { transform: rotate(-1deg) scale(1); } 50% { transform: rotate(1deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(0.98); } }
@keyframes law-lamp { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }

/* Scene: letter-not-legal-will */
.scn-letter-not-legal-will {
  background: linear-gradient(180deg, #f0ece4 0%, #d8d0c4 100%), radial-gradient(ellipse at 50% 20%, #f8f0e0 0%, transparent 70%);
}
.scn-letter-not-legal-will .leg-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5efe0 0%, #d8ccbc 100%); animation: leg-bg 10s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-table {
  position: absolute; bottom: 5%; left: 10%; right: 10%; height: 25%; background: linear-gradient(180deg, #a08878 0%, #604838 100%); border-radius: 4% 4% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,0.2); animation: leg-table 12s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-letter {
  position: absolute; bottom: 28%; left: 30%; width: 35%; height: 12%; background: linear-gradient(135deg, #fcf4e0 0%, #e8d8c0 100%); border-radius: 3px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); transform: rotate(-3deg); animation: leg-letter 6s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-hand-point {
  position: absolute; bottom: 32%; left: 48%; width: 8%; height: 20%; background: linear-gradient(180deg, #c8b8a8 0%, #9a8a7a 100%); border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%; transform-origin: 50% 90%; animation: leg-hand-point 3s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-inkwell {
  position: absolute; bottom: 15%; left: 65%; width: 6%; height: 8%; background: radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, #1a1008 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; box-shadow: 0 2px 6px rgba(0,0,0,0.3); animation: leg-inkwell 8s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-quill {
  position: absolute; bottom: 20%; left: 62%; width: 3%; height: 20%; background: linear-gradient(180deg, #e8d8c0 0%, #b8a88a 100%); border-radius: 0 0 50% 50% / 0 0 60% 60%; transform: rotate(15deg); transform-origin: bottom center; animation: leg-quill 4s ease-in-out infinite alternate;
}
.scn-letter-not-legal-will .leg-lamp {
  position: absolute; bottom: 55%; left: 20%; width: 12%; height: 28%; background: linear-gradient(180deg, #b8a888 0%, #7a6858 100%); border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%; animation: leg-lamp 7s ease-in-out infinite alternate;
}
@keyframes leg-bg { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes leg-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes leg-letter { 0% { transform: rotate(-3deg) scale(1); } 50% { transform: rotate(1deg) scale(1.02); } 100% { transform: rotate(-2deg) scale(0.98); } }
@keyframes leg-hand-point { 0% { transform: rotate(0deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(-4deg); } }
@keyframes leg-inkwell { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes leg-quill { 0% { transform: rotate(15deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(18deg); } }
@keyframes leg-lamp { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.9; } }

.scn-etel-bleeds-ink {
  background: 
    linear-gradient(180deg, #2a1e1a 0%, #1f1410 40%, #1a1010 100%),
    radial-gradient(ellipse at 50% 30%, #3a2a22 0%, transparent 70%);
}
.scn-etel-bleeds-ink .attic-beams {
  position: absolute; top: 0; left: 0; right: 0; height: 40%;
  background: repeating-linear-gradient(90deg, 
    #3a2a22 0px, #3a2a22 4px, transparent 4px, transparent 12px);
  opacity: 0.5;
  animation: ebi-beams 6s ease-in-out infinite alternate;
}
.scn-etel-bleeds-ink .attic-roof {
  position: absolute; top: 0; left: 10%; right: 10%; height: 35%;
  background: linear-gradient(180deg, #4a382a 0%, #2a1e1a 100%);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-etel-bleeds-ink .figure-eset {
  position: absolute; bottom: 20%; left: 40%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2018 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ebi-eset 8s ease-in-out infinite;
}
.scn-etel-bleeds-ink .ink-splotch {
  position: absolute; bottom: 32%; left: 48%; width: 30px; height: 24px;
  background: radial-gradient(circle, #2a1a1a 0%, #1a0e0e 100%);
  border-radius: 0 60% 60% 60%;
  transform: rotate(-20deg);
  animation: ebi-ink 3s ease-in-out infinite alternate;
}
.scn-etel-bleeds-ink .unlucky-child {
  position: absolute; bottom: 22%; left: 56%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #c8553d 0%, #8a2a1a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: ebi-child 4s ease-in-out infinite;
}
.scn-etel-bleeds-ink .lantern-glow {
  position: absolute; top: 30%; left: 20%; width: 12px; height: 16px;
  background: radial-gradient(circle, #f0c068 30%, #b08040 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 24px 8px #c08040, 0 0 48px 16px rgba(192,128,64,.4);
  animation: ebi-lantern 5s ease-in-out infinite alternate;
}
.scn-etel-bleeds-ink .dust-motes {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 20% 50%, rgba(200,150,100,0.3) 0%, transparent 60%);
  animation: ebi-dust 10s ease-in-out infinite alternate;
}
@keyframes ebi-beams {
  0% { opacity: 0.4; }
  50% { opacity: 0.6; }
  100% { opacity: 0.3; }
}
@keyframes ebi-eset {
  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 ebi-ink {
  0% { transform: rotate(-20deg) scale(1); }
  50% { transform: rotate(-15deg) scale(1.2); }
  100% { transform: rotate(-20deg) scale(1); }
}
@keyframes ebi-child {
  0% { transform: translateX(0) translateY(0); }
  25% { transform: translateX(5px) translateY(-2px); }
  50% { transform: translateX(-2px) translateY(1px); }
  75% { transform: translateX(3px) translateY(-1px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes ebi-lantern {
  0% { opacity: 0.8; box-shadow: 0 0 20px 6px #b08040; }
  50% { opacity: 1; box-shadow: 0 0 30px 10px #f0c068; }
  100% { opacity: 0.85; box-shadow: 0 0 22px 8px #c08040; }
}
@keyframes ebi-dust {
  0% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(0.8); }
  100% { opacity: 0.2; transform: scaleY(1.2); }
}

.scn-willie-runs-to-murphy {
  background: 
    linear-gradient(180deg, #f9e8c0 0%, #e0c888 30%, #c0a870 60%, #8a6a3a 100%),
    radial-gradient(ellipse at 50% 0%, #fff9e0 0%, transparent 50%);
}
.scn-willie-runs-to-murphy .sunlit-sky {
  position: absolute; top: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #87ceeb 0%, #c0d8f0 100%);
  animation: wrm-sky 12s ease-in-out infinite alternate;
}
.scn-willie-runs-to-murphy .dusty-ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 40% 60% 0 0 / 60% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: wrm-ground 18s ease-in-out infinite alternate;
}
.scn-willie-runs-to-murphy .figure-willie {
  position: absolute; bottom: 28%; left: 30%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e08 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: wrm-willie 1.5s ease-in-out infinite;
}
.scn-willie-runs-to-murphy .camel-back {
  position: absolute; bottom: 35%; right: 20%; width: 80px; height: 60px;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, #d0a060 0%, #b08040 100%);
  border-radius: 50% 50% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: wrm-camel 6s ease-in-out infinite;
}
.scn-willie-runs-to-murphy .running-shadow {
  position: absolute; bottom: 22%; left: 28%; width: 25px; height: 10px;
  background: rgba(0,0,0,0.3);
  border-radius: 50%;
  transform: skewX(-20deg);
  animation: wrm-shadow 1.5s ease-in-out infinite;
}
.scn-willie-runs-to-murphy .heat-shimmer {
  position: absolute; top: 20%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(200,180,140,0.2) 50%, transparent 100%);
  filter: blur(4px);
  animation: wrm-shimmer 4s ease-in-out infinite alternate;
}
@keyframes wrm-sky {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes wrm-ground {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes wrm-willie {
  0% { transform: translateX(0) rotate(-5deg) scaleY(1); }
  25% { transform: translateX(6px) rotate(0deg) scaleY(0.95); }
  50% { transform: translateX(12px) rotate(5deg) scaleY(1); }
  75% { transform: translateX(18px) rotate(0deg) scaleY(0.95); }
  100% { transform: translateX(24px) rotate(-5deg) scaleY(1); }
}
@keyframes wrm-camel {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes wrm-shadow {
  0% { transform: skewX(-20deg) scaleX(1); }
  50% { transform: skewX(-15deg) scaleX(0.8); }
  100% { transform: skewX(-20deg) scaleX(1); }
}
@keyframes wrm-shimmer {
  0% { opacity: 0.3; transform: translateY(0); }
  50% { opacity: 0.6; transform: translateY(5px); }
  100% { opacity: 0.4; transform: translateY(-5px); }
}

.scn-camel-discovered {
  background: 
    linear-gradient(180deg, #f0d8a8 0%, #d8b880 40%, #b89050 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-camel-discovered .house-wall {
  position: absolute; bottom: 20%; left: 30%; right: 30%; height: 60%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.4);
}
.scn-camel-discovered .house-roof {
  position: absolute; bottom: 70%; left: 28%; right: 28%; height: 15%;
  background: linear-gradient(180deg, #8a6030 0%, #6a4020 100%);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}
.scn-camel-discovered .camel-head {
  position: absolute; bottom: 68%; left: 45%; width: 40px; height: 50px;
  background: radial-gradient(ellipse 70% 100% at 50% 0%, #d0a060 0%, #b08040 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cdi-head 4s ease-in-out infinite;
}
.scn-camel-discovered .camel-head::after {
  content: '';
  position: absolute; bottom: 10%; left: 0; right: 0; height: 12px;
  background: linear-gradient(180deg, #a06030 0%, #804020 100%);
  border-radius: 0 0 50% 50%;
}
.scn-camel-discovered .open-window {
  position: absolute; bottom: 45%; left: 38%; width: 30px; height: 30px;
  background: radial-gradient(circle, #f0e0b0 0%, #c0a060 100%);
  border: 4px solid #8a6030;
  border-radius: 10%;
  animation: cdi-window 5s ease-in-out infinite alternate;
}
.scn-camel-discovered .street-shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
}
.scn-camel-discovered .gawking-bystander {
  position: absolute; bottom: 18%; left: 20%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cdi-bystander 6s ease-in-out infinite;
}
@keyframes cdi-head {
  0% { transform: translateY(0) rotate(-3deg); }
  25% { transform: translateY(-2px) rotate(0deg); }
  50% { transform: translateY(0) rotate(3deg); }
  75% { transform: translateY(-1px) rotate(0deg); }
  100% { transform: translateY(0) rotate(-3deg); }
}
@keyframes cdi-window {
  0% { opacity: 0.7; box-shadow: inset 0 0 8px #f0d8a0; }
  50% { opacity: 1; box-shadow: inset 0 0 12px #fff0c0; }
  100% { opacity: 0.8; box-shadow: inset 0 0 6px #e0c080; }
}
@keyframes cdi-bystander {
  0% { transform: translateX(0) translateY(0); }
  25% { transform: translateX(3px) translateY(-2px); }
  50% { transform: translateX(-2px) translateY(1px); }
  75% { transform: translateX(4px) translateY(-1px); }
  100% { transform: translateX(0) translateY(0); }
}

.scn-crowd-gathers {
  background: 
    linear-gradient(180deg, #f0d8a8 0%, #d8b880 40%, #b89050 100%),
    radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-crowd-gathers .street-back {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(180deg, #d0b070 0%, #a08040 100%);
  border-radius: 20% 30% 0 0 / 40% 50% 0 0;
}
.scn-crowd-gathers .staircase {
  position: absolute; bottom: 20%; left: 40%; right: 30%; height: 40%;
  background: linear-gradient(180deg, #c0a060 0%, #a08040 100%);
  clip-path: polygon(0% 100%, 20% 0%, 80% 0%, 100% 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
  animation: cgr-stairs 10s ease-in-out infinite;
}
.scn-crowd-gathers .hay-bale {
  position: absolute; bottom: 40%; left: 35%; width: 30px; height: 20px;
  background: radial-gradient(ellipse at 50% 50%, #c8a050 0%, #a08030 100%);
  border-radius: 40% 60% 40% 60% / 60% 40% 60% 40%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: cgr-hay 8s ease-in-out infinite alternate;
}
.scn-crowd-gathers .crowd-figure-a {
  position: absolute; bottom: 18%; left: 25%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cgr-crowd 4s ease-in-out infinite;
}
.scn-crowd-gathers .crowd-figure-b {
  position: absolute; bottom: 20%; right: 25%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #2a3a2a 0%, #101a10 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: cgr-crowd 4.5s ease-in-out infinite;
}
.scn-crowd-gathers .doorway-arch {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 60%;
  background: radial-gradient(ellipse at 50% 100%, #6a4a2a 0%, #3a2010 100%);
  border-radius: 30% 30% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}
.scn-crowd-gathers .pigeon-scatter {
  position: absolute; top: 10%; left: 30%; width: 40px; height: 20px;
  background: radial-gradient(circle at 30% 50%, #a0a0a0 0%, #606060 100%);
  border-radius: 50%;
  filter: blur(2px);
  animation: cgr-pigeons 12s ease-in-out infinite alternate;
}
@keyframes cgr-stairs {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes cgr-hay {
  0% { transform: translateY(0) scaleX(1); }
  50% { transform: translateY(-3px) scaleX(0.9); }
  100% { transform: translateY(0) scaleX(1); }
}
@keyframes cgr-crowd {
  0% { transform: translateX(0) rotate(-2deg); }
  25% { transform: translateX(4px) rotate(0deg); }
  50% { transform: translateX(-2px) rotate(2deg); }
  75% { transform: translateX(6px) rotate(0deg); }
  100% { transform: translateX(0) rotate(-2deg); }
}
@keyframes cgr-pigeons {
  0% { transform: translateX(0) skewX(0deg); }
  50% { transform: translateX(20px) skewX(10deg); }
  100% { transform: translateX(-10px) skewX(-5deg); }
}

.scn-murphy-goes-upstairs {
  background: linear-gradient(180deg, #fce4c0 0%, #e8c88a 40%, #c8a060 100%),
              radial-gradient(ellipse at 30% 70%, rgba(255,230,180,.4) 0%, transparent 70%);
}
.scn-murphy-goes-upstairs .wall {
  position:absolute; inset:0 50% 0 0; background: linear-gradient(135deg, #d4b888 0%, #b09060 100%); 
  border-right: 2px solid #8a7040; animation: mgu-wall 8s ease-in-out infinite alternate;
}
.scn-murphy-goes-upstairs .stairs {
  position:absolute; bottom:0; left:10%; right:10%; height:60%; 
  background: repeating-linear-gradient(0deg, #7a5a3a 0px, #7a5a3a 8px, #8a6a4a 8px, #8a6a4a 16px);
  transform: perspective(400px) rotateX(20deg); transform-origin: bottom center;
  animation: mgu-stairs 6s ease-in-out infinite alternate;
}
.scn-murphy-goes-upstairs .window {
  position:absolute; top:10%; left:15%; width:20%; height:30%; 
  background: linear-gradient(180deg, #ffe8c0 0%, #f0c880 70%) ; 
  border: 4px solid #8a6a3a; border-radius: 4px; 
  box-shadow: inset 0 0 30px rgba(255,200,100,.4); animation: mgu-window 12s ease-in-out infinite;
}
.scn-murphy-goes-upstairs .shadow {
  position:absolute; bottom:0; left:20%; right:20%; height:40%; 
  background: linear-gradient(0deg, rgba(40,30,20,.6) 0%, transparent 100%);
  animation: mgu-shadow 9s ease-in-out infinite alternate;
}
.scn-murphy-goes-upstairs .figure {
  position:absolute; bottom:30%; left:30%; width:12%; height:30%; 
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%); 
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; 
  transform-origin: bottom center; animation: mgu-walk 4s ease-in-out infinite;
}
.scn-murphy-goes-upstairs .crowd-shadow {
  position:absolute; bottom:0; left:60%; right:5%; height:30%; 
  background: radial-gradient(ellipse at 50% 100%, rgba(20,15,10,.5) 0%, transparent 70%);
  animation: mgu-crowd 7s ease-in-out infinite alternate;
}
.scn-murphy-goes-upstairs .dust {
  position:absolute; bottom:20%; left:20%; width:8%; height:6%; 
  background: radial-gradient(circle, rgba(200,160,100,.3) 0%, transparent 100%);
  animation: mgu-dust 3s ease-in-out infinite;
}
@keyframes mgu-wall { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes mgu-stairs { 0% { transform: perspective(400px) rotateX(20deg) translateY(0) } 50% { transform: perspective(400px) rotateX(25deg) translateY(-4px) } 100% { transform: perspective(400px) rotateX(20deg) translateY(0) } }
@keyframes mgu-window { 0% { opacity:.8; transform: scaleX(1) } 50% { opacity:1; transform: scaleX(1.02) } 100% { opacity:.85; transform: scaleX(1) } }
@keyframes mgu-shadow { 0% { opacity:.3 } 50% { opacity:.6 } 100% { opacity:.4 } }
@keyframes mgu-walk { 0% { transform: translateX(0) rotate(-2deg) } 25% { transform: translateX(4%) rotate(2deg) } 50% { transform: translateX(8%) rotate(-2deg) } 75% { transform: translateX(12%) rotate(2deg) } 100% { transform: translateX(16%) rotate(0deg) } }
@keyframes mgu-crowd { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-5%) scaleY(1.05) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes mgu-dust { 0% { opacity:0; transform: translate(0,0) scale(1) } 50% { opacity:.6; transform: translate(10%,-20%) scale(1.3) } 100% { opacity:0; transform: translate(20%,-40%) scale(0.8) } }

.scn-police-court-camel {
  background: linear-gradient(90deg, #e8d4b0 0%, #f0deb8 30%, #f8e8c8 70%, #e8d4b0 100%),
              radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-police-court-camel .court-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #d4c0a0 0%, #c4b090 100%);
  animation: pcc-bg 10s ease-in-out infinite alternate;
}
.scn-police-court-camel .bench {
  position:absolute; bottom:20%; left:5%; right:5%; height:25%; 
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e28 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,.3);
  animation: pcc-bench 12s ease-in-out infinite;
}
.scn-police-court-camel .gavel {
  position:absolute; bottom:30%; left:22%; width:6%; height:4%; 
  background: #4a2a1a; border-radius: 2px; transform: rotate(-15deg);
  transform-origin: bottom left; animation: pcc-gavel 2s ease-in-out infinite;
}
.scn-police-court-camel .judge-sil {
  position:absolute; bottom:25%; left:18%; width:15%; height:40%; 
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0600 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  animation: pcc-judge 8s ease-in-out infinite alternate;
}
.scn-police-court-camel .murphy-sil {
  position:absolute; bottom:22%; left:40%; width:12%; height:35%; 
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center; animation: pcc-murphy 4s ease-in-out infinite alternate;
}
.scn-police-court-camel .babu-sil {
  position:absolute; bottom:20%; left:55%; width:10%; height:30%; 
  background: linear-gradient(180deg, #1a2a1a 0%, #0a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: pcc-babu 6s ease-in-out infinite alternate;
}
.scn-police-court-camel .crowd-blur {
  position:absolute; bottom:10%; right:5%; left:70%; height:30%; 
  background: radial-gradient(ellipse at 50% 100%, rgba(30,20,10,.4) 0%, transparent 70%);
  filter: blur(4px); animation: pcc-crowd 9s ease-in-out infinite;
}
@keyframes pcc-bg { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.95 } }
@keyframes pcc-bench { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes pcc-gavel { 0% { transform: rotate(-15deg) scale(1) } 50% { transform: rotate(10deg) scale(1.05) } 100% { transform: rotate(-15deg) scale(1) } }
@keyframes pcc-judge { 0% { transform: translateY(0) rotate(-2deg) } 50% { transform: translateY(-3%) rotate(2deg) } 100% { transform: translateY(0) rotate(-2deg) } }
@keyframes pcc-murphy { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(5%) rotate(3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes pcc-babu { 0% { transform: translateY(0) } 50% { transform: translateY(-2%) } 100% { transform: translateY(0) } }
@keyframes pcc-crowd { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.4 } }

.scn-judge-burke-and-camel {
  background: linear-gradient(180deg, #f0deb8 0%, #e0c8a0 50%, #c8b090 100%),
              radial-gradient(ellipse at 40% 60%, rgba(200,160,100,.2) 0%, transparent 60%);
}
.scn-judge-burke-and-camel .room-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #c4b090 0%, #b8a080 100%);
  animation: jbc-bg 15s ease-in-out infinite alternate;
}
.scn-judge-burke-and-camel .desk {
  position:absolute; bottom:15%; left:10%; right:10%; height:25%; 
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2e1a 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,.4);
  animation: jbc-desk 8s ease-in-out infinite;
}
.scn-judge-burke-and-camel .judge-fig {
  position:absolute; bottom:20%; left:15%; width:18%; height:45%; 
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0600 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center; animation: jbc-judge 6s ease-in-out infinite alternate;
}
.scn-judge-burke-and-camel .murphy-fig {
  position:absolute; bottom:18%; left:45%; width:14%; height:40%; 
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e00 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  animation: jbc-murphy 5s ease-in-out infinite alternate;
}
.scn-judge-burke-and-camel .camel-sil {
  position:absolute; bottom:10%; right:10%; width:20%; height:50%; 
  background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%);
  border-radius: 60% 40% 30% 40% / 70% 60% 40% 40%;
  transform-origin: bottom right; animation: jbc-camel 9s ease-in-out infinite;
}
.scn-judge-burke-and-camel .lamplight {
  position:absolute; top:0%; left:30%; width:40%; height:30%; 
  background: radial-gradient(ellipse at 50% 100%, rgba(255,220,150,.4) 0%, transparent 70%);
  animation: jbc-lamp 7s ease-in-out infinite alternate;
}
@keyframes jbc-bg { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes jbc-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes jbc-judge { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-2%) rotate(3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes jbc-murphy { 0% { transform: translateY(0) scaleY(1) } 50% { transform: translateY(-2%) scaleY(1.02) } 100% { transform: translateY(0) scaleY(1) } }
@keyframes jbc-camel { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-3%) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes jbc-lamp { 0% { opacity:.4; transform: scaleX(1) } 50% { opacity:.6; transform: scaleX(1.1) } 100% { opacity:.5; transform: scaleX(1) } }

.scn-camel-complaint-muddle {
  background: linear-gradient(180deg, #f0deb8 0%, #f8e8c8 40%, #e0c8a0 100%),
              radial-gradient(ellipse at 50% 30%, rgba(255,230,180,.2) 0%, transparent 70%);
}
.scn-camel-complaint-muddle .table {
  position:absolute; bottom:0; left:5%; right:5%; height:20%; 
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e28 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,.3);
  animation: ccm-table 10s ease-in-out infinite alternate;
}
.scn-camel-complaint-muddle .papers {
  position:absolute; bottom:10%; left:20%; width:25%; height:8%; 
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a0 100%);
  border: 1px solid #b0a080; border-radius: 2px; transform: rotate(-3deg);
  box-shadow: 2px 2px 6px rgba(0,0,0,.2); animation: ccm-papers 5s ease-in-out infinite;
}
.scn-camel-complaint-muddle .gavel {
  position:absolute; bottom:12%; left:55%; width:5%; height:6%; 
  background: #4a2a1a; border-radius: 2px; transform: rotate(20deg);
  transform-origin: bottom center; animation: ccm-gavel 3s ease-in-out infinite;
}
.scn-camel-complaint-muddle .judge-hand {
  position:absolute; bottom:15%; left:48%; width:8%; height:12%; 
  background: linear-gradient(180deg, #2a1a0e 0%, #0e0600 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform: rotate(-10deg); transform-origin: bottom left;
  animation: ccm-hand 4s ease-in-out infinite alternate;
}
.scn-camel-complaint-muddle .mug {
  position:absolute; bottom:10%; right:15%; width:6%; height:8%; 
  background: linear-gradient(180deg, #b09060 0%, #8a6a4a 100%);
  border-radius: 4px 4px 0 0; box-shadow: inset 0 2px 4px rgba(0,0,0,.2);
  animation: ccm-mug 8s ease-in-out infinite;
}
.scn-camel-complaint-muddle .camel-outline {
  position:absolute; bottom:20%; left:10%; width:15%; height:35%; 
  background: linear-gradient(180deg, #6a5040 0%, #3a2a1a 100%);
  border-radius: 50% 40% 30% 40% / 60% 50% 40% 40%;
  opacity:0.5; filter: blur(3px); animation: ccm-camel 11s ease-in-out infinite;
}
@keyframes ccm-table { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(1) } }
@keyframes ccm-papers { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(0deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes ccm-gavel { 0% { transform: rotate(20deg) scale(1) } 50% { transform: rotate(-10deg) scale(1.05) } 100% { transform: rotate(20deg) scale(1) } }
@keyframes ccm-hand { 0% { transform: rotate(-10deg) translateX(0) } 50% { transform: rotate(5deg) translateX(5%) } 100% { transform: rotate(-10deg) translateX(0) } }
@keyframes ccm-mug { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes ccm-camel { 0% { opacity:.3; transform: scaleX(1) } 50% { opacity:.5; transform: scaleX(1.05) } 100% { opacity:.3; transform: scaleX(1) } }

/* pepperill-background – bright interior with blue-tinted window */
.scn-pepperill-background {
  background: linear-gradient(180deg, #e8e0d0 0%, #d4c8b0 100%), radial-gradient(ellipse at 60% 40%, #fff8f0 0%, transparent 70%);
}
.scn-pepperill-background .wall {
  position: absolute; inset: 0 0 0 0; background: linear-gradient(135deg, #f0e8d8 0%, #d8d0c0 100%);
}
.scn-pepperill-background .window-frame {
  position: absolute; top: 12%; left: 25%; width: 50%; height: 55%;
  background: linear-gradient(180deg, #c8b898 0%, #a09078 100%);
  border-radius: 8px; box-shadow: inset 0 4px 12px rgba(0,0,0,.15);
  animation: pb-frame 8s ease-in-out infinite alternate;
}
.scn-pepperill-background .window-pane {
  position: absolute; top: 14%; left: 27%; width: 46%; height: 50%;
  background: linear-gradient(135deg, rgba(200,220,255,0.6) 0%, rgba(160,190,255,0.3) 100%);
  border-radius: 4px; filter: blur(1px);
  animation: pb-pane 6s ease-in-out infinite alternate;
}
.scn-pepperill-background .sill {
  position: absolute; bottom: 33%; left: 25%; width: 50%; height: 6%;
  background: linear-gradient(180deg, #b8a888 0%, #a09078 100%);
  border-radius: 0 0 6px 6px; box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.scn-pepperill-background .book {
  position: absolute; bottom: 34%; left: 30%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,.3);
  animation: pb-book 12s ease-in-out infinite alternate;
}
.scn-pepperill-background .lamp {
  position: absolute; bottom: 38%; right: 30%; width: 8%; height: 16%;
  background: linear-gradient(180deg, #d4b080 0%, #b09060 100%);
  border-radius: 50% 50% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 0 24px 8px rgba(255,200,100,0.4);
  animation: pb-lamp 5s ease-in-out infinite;
}
.scn-pepperill-background .curtain-l {
  position: absolute; top: 12%; left: 22%; width: 6%; height: 58%;
  background: linear-gradient(135deg, #d0c0a8 0%, #b0a088 100%);
  border-radius: 0 20% 20% 0; filter: blur(2px);
  animation: pb-curtain 20s linear infinite alternate;
}
.scn-pepperill-background .curtain-r {
  position: absolute; top: 12%; right: 22%; width: 6%; height: 58%;
  background: linear-gradient(225deg, #d0c0a8 0%, #b0a088 100%);
  border-radius: 20% 0 0 20%; filter: blur(2px);
  animation: pb-curtain 20s linear infinite alternate;
}
@keyframes pb-frame { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.005); } 100% { transform: scaleY(1); } }
@keyframes pb-pane { 0% { opacity: 0.5; } 50% { opacity: 0.7; } 100% { opacity: 0.6; } }
@keyframes pb-book { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes pb-lamp { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 20px 6px rgba(255,200,100,0.3); } 50% { transform: translateY(-3px) scale(1.02); box-shadow: 0 0 32px 12px rgba(255,200,100,0.5); } 100% { transform: translateY(0) scale(1); box-shadow: 0 0 24px 8px rgba(255,200,100,0.4); } }
@keyframes pb-curtain { 0% { filter: blur(2px) brightness(1); } 50% { filter: blur(4px) brightness(1.1); } 100% { filter: blur(2px) brightness(1); } }

/* pepperill-boston-snobbery – front of house with blue-tinted windows */
.scn-pepperill-boston-snobbery {
  background: linear-gradient(180deg, #dcd8d0 0%, #c0b8a8 100%), radial-gradient(ellipse at 50% 60%, #f0ece0 0%, transparent 80%);
}
.scn-pepperill-boston-snobbery .sky {
  position: absolute; top: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #a8c4d0 0%, #c8d8e0 80%);
  animation: ps-sky 20s ease-in-out infinite alternate;
}
.scn-pepperill-boston-snobbery .house-front {
  position: absolute; bottom: 0; left: 15%; width: 70%; height: 60%;
  background: linear-gradient(180deg, #e0d4c0 0%, #c8bca8 100%);
  border-radius: 12px 12px 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.1), 0 -4px 12px rgba(0,0,0,.15);
}
.scn-pepperill-boston-snobbery .door {
  position: absolute; bottom: 10%; left: 44%; width: 12%; height: 25%;
  background: linear-gradient(90deg, #6a5a4a 0%, #8a7a6a 50%, #6a5a4a 100%);
  border-radius: 6px 6px 0 0; box-shadow: inset 0 4px 8px rgba(0,0,0,.3);
}
.scn-pepperill-boston-snobbery .window-top {
  position: absolute; top: 10%; left: 25%; width: 20%; height: 18%;
  background: radial-gradient(ellipse, #b0c8e0 0%, #8aacd0 70%);
  border: 4px solid #a09078; border-radius: 4px; box-shadow: inset 0 0 12px rgba(0,0,0,.15);
  animation: ps-window 6s ease-in-out infinite alternate;
}
.scn-pepperill-boston-snobbery .window-bottom {
  position: absolute; top: 32%; left: 25%; width: 20%; height: 18%;
  background: radial-gradient(ellipse, #b0c8e0 0%, #8aacd0 70%);
  border: 4px solid #a09078; border-radius: 4px; box-shadow: inset 0 0 12px rgba(0,0,0,.15);
  animation: ps-window 6s ease-in-out infinite alternate;
}
.scn-pepperill-boston-snobbery .step1 {
  position: absolute; bottom: 5%; left: 40%; width: 20%; height: 5%;
  background: linear-gradient(180deg, #b8a898 0%, #a09080 100%);
  border-radius: 2px; box-shadow: 0 -2px 4px rgba(0,0,0,.2);
}
.scn-pepperill-boston-snobbery .step2 {
  position: absolute; bottom: 0; left: 38%; width: 24%; height: 5%;
  background: linear-gradient(180deg, #a89888 0%, #908070 100%);
  border-radius: 2px; box-shadow: 0 -2px 4px rgba(0,0,0,.25);
  animation: ps-step 10s ease-in-out infinite alternate;
}
.scn-pepperill-boston-snobbery .lantern {
  position: absolute; bottom: 20%; left: 48%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #d4b080 0%, #b09060 100%);
  border-radius: 50% 50% 10% 10% / 30% 30% 20% 20%;
  box-shadow: 0 0 18px 6px rgba(255,200,100,0.5);
  animation: ps-lantern 4s ease-in-out infinite;
}
@keyframes ps-sky { 0% { opacity: 0.7; } 50% { opacity: 0.9; } 100% { opacity: 0.8; } }
@keyframes ps-window { 0% { filter: brightness(1); } 50% { filter: brightness(1.1); } 100% { filter: brightness(0.95); } }
@keyframes ps-step { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.02); } 100% { transform: scaleX(1); } }
@keyframes ps-lantern { 0% { transform: translateY(0) rotate(-2deg); box-shadow: 0 0 14px 4px rgba(255,200,100,0.3); } 33% { transform: translateY(-2px) rotate(2deg); box-shadow: 0 0 24px 8px rgba(255,200,100,0.5); } 66% { transform: translateY(-1px) rotate(-1deg); box-shadow: 0 0 18px 6px rgba(255,200,100,0.4); } 100% { transform: translateY(0) rotate(0deg); box-shadow: 0 0 14px 4px rgba(255,200,100,0.3); } }

/* pepperill-new-york – desk with papers and inkwell */
.scn-pepperill-new-york {
  background: linear-gradient(180deg, #d0c8b8 0%, #b8b0a0 100%), radial-gradient(ellipse at 50% 40%, #e8e0d0 0%, transparent 70%);
}
.scn-pepperill-new-york .desk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 0 0 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,.3);
}
.scn-pepperill-new-york .paper.pile1 {
  position: absolute; bottom: 30%; left: 30%; width: 18%; height: 12%;
  background: linear-gradient(135deg, #f0e8d8 0%, #d8d0c0 100%);
  border-radius: 2px; box-shadow: 2px 4px 6px rgba(0,0,0,.15);
  animation: pn-paper 12s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .paper.pile2 {
  position: absolute; bottom: 28%; left: 50%; width: 16%; height: 10%;
  background: linear-gradient(225deg, #f0e8d8 0%, #d8d0c0 100%);
  border-radius: 2px; box-shadow: 2px 4px 6px rgba(0,0,0,.15);
  animation: pn-paper 15s ease-in-out infinite alternate;
  animation-delay: 2s;
}
.scn-pepperill-new-york .inkwell {
  position: absolute; bottom: 30%; left: 22%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.scn-pepperill-new-york .lamp {
  position: absolute; bottom: 25%; right: 25%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #d4b080 0%, #b09060 100%);
  border-radius: 50% 50% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(255,200,100,0.5);
  animation: pn-lamp 6s ease-in-out infinite;
}
.scn-pepperill-new-york .quill {
  position: absolute; bottom: 32%; left: 24%; width: 2%; height: 14%;
  background: linear-gradient(180deg, #f0e8d8 0%, #d0c8b8 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  transform: rotate(15deg);
  animation: pn-quill 10s ease-in-out infinite alternate;
}
.scn-pepperill-new-york .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 10%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 100%);
  animation: pn-shadow 18s ease-in-out infinite alternate;
}
@keyframes pn-paper { 0% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pn-lamp { 0% { transform: translateY(0) scale(1); box-shadow: 0 0 24px 8px rgba(255,200,100,0.4); } 50% { transform: translateY(-3px) scale(1.02); box-shadow: 0 0 36px 14px rgba(255,200,100,0.6); } 100% { transform: translateY(0) scale(1); box-shadow: 0 0 24px 8px rgba(255,200,100,0.4); } }
@keyframes pn-quill { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-2px); } 100% { transform: rotate(15deg) translateY(0); } }
@keyframes pn-shadow { 0% { opacity: 0.3; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }

/* pepperill-condescends – sitting room with fireplace */
.scn-pepperill-condescends {
  background: linear-gradient(180deg, #d8d0c0 0%, #c0b8a8 100%), radial-gradient(ellipse at 50% 30%, #ece4d4 0%, transparent 70%);
}
.scn-pepperill-condescends .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #e0d8c8 0%, #c8c0b0 100%);
}
.scn-pepperill-condescends .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 0 0 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.2);
}
.scn-pepperill-condescends .chair {
  position: absolute; bottom: 20%; left: 30%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: 4px 4px 12px rgba(0,0,0,.3);
  animation: pc-chair 12s ease-in-out infinite alternate;
}
.scn-pepperill-condescends .seat-cushion {
  position: absolute; bottom: 25%; left: 32%; width: 16%; height: 8%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.4);
}
.scn-pepperill-condescends .fireplace {
  position: absolute; bottom: 18%; right: 20%; width: 28%; height: 32%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 12px 12px 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,.4);
}
.scn-pepperill-condescends .fire {
  position: absolute; bottom: 18%; right: 24%; width: 20%; height: 20%;
  background: radial-gradient(ellipse at 50% 70%, #ffa040 0%, #ff8040 30%, #ff5020 60%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: pc-fire 3s ease-in-out infinite alternate;
}
.scn-pepperill-condescends .mantel {
  position: absolute; bottom: 46%; right: 20%; width: 28%; height: 4%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
@keyframes pc-chair { 0% { transform: translateY(0) rotate(-0.5deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pc-fire { 0% { transform: scaleY(0.9) translateY(2px); opacity: 0.8; } 50% { transform: scaleY(1.1) translateY(-2px); opacity: 1; } 100% { transform: scaleY(0.95) translateY(1px); opacity: 0.9; } }

/* scene 1: dim interior, O'Brien and chief plot */
.scn-o-brien-plans-subpoena {
  background: linear-gradient(135deg, #1a1a2e 0%, #2a1f2f 40%, #1f1a2a 100%), 
              radial-gradient(ellipse at 60% 40%, #3a2a3a 0%, transparent 60%);
}
.scn-o-brien-plans-subpoena .wall-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #1e1a2e 0%, #2a2235 50%, #1a1a2a 100%);
  animation: obp-wall 20s ease-in-out infinite alternate;
}
.scn-o-brien-plans-subpoena .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #2a2020 0%, #1a1210 100%);
  box-shadow: inset 0 12px 20px rgba(0,0,0,.5);
}
.scn-o-brien-plans-subpoena .table {
  position: absolute; bottom: 18%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a12 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.6);
  animation: obp-table 8s ease-in-out infinite;
}
.scn-o-brien-plans-subpoena .lamp-glow {
  position: absolute; bottom: 38%; left: 42%; width: 30px; height: 30px;
  background: radial-gradient(circle, #e0a050 0%, #b07030 50%, transparent 80%);
  border-radius: 50%;
  box-shadow: 0 0 40px 20px rgba(180, 100, 40, .4), 0 0 80px 40px rgba(100, 50, 20, .2);
  animation: obp-lamp 3s ease-in-out infinite alternate;
}
.scn-o-brien-plans-subpoena .figure-left {
  position: absolute; bottom: 18%; left: 28%; width: 22px; height: 45px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obp-figure-l 5s ease-in-out infinite;
}
.scn-o-brien-plans-subpoena .figure-right {
  position: absolute; bottom: 18%; right: 30%; width: 20px; height: 42px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: obp-figure-r 5s ease-in-out infinite;
}
.scn-o-brien-plans-subpoena .paper-stack {
  position: absolute; bottom: 22%; left: 45%; width: 20px; height: 6px;
  background: #c0b080;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: obp-paper 10s ease-in-out infinite;
}
.scn-o-brien-plans-subpoena .shadow-mist {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 100%);
  animation: obp-mist 12s ease-in-out infinite alternate;
}
@keyframes obp-wall { 0%,100% { opacity: .8 } 50% { opacity: 1 } }
@keyframes obp-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes obp-lamp { 0% { box-shadow: 0 0 30px 15px rgba(180,100,40,.3), 0 0 60px 30px rgba(100,50,20,.15); opacity: .8 } 50% { box-shadow: 0 0 50px 25px rgba(200,120,40,.5), 0 0 100px 50px rgba(120,60,20,.25); opacity: 1 } 100% { box-shadow: 0 0 35px 18px rgba(180,100,40,.35), 0 0 70px 35px rgba(100,50,20,.18); opacity: .9 } }
@keyframes obp-figure-l { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes obp-figure-r { 0% { transform: translateX(0) rotate(2deg) } 50% { transform: translateX(-3px) rotate(-2deg) } 100% { transform: translateX(0) rotate(2deg) } }
@keyframes obp-paper { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) rotate(2deg) } }
@keyframes obp-mist { 0% { opacity: 0 } 50% { opacity: .3 } 100% { opacity: 0 } }

/* scene 2: dim interior, scheming ambush, door and figure */
.scn-o-brien-schemes-ambush {
  background: linear-gradient(135deg, #15152a 0%, #251a30 50%, #151525 100%),
              radial-gradient(ellipse at 30% 60%, #2a2030 0%, transparent 50%);
}
.scn-o-brien-schemes-ambush .room-dark {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #1a1a2e 0%, #1a1a2e 60%, #0e0e1a 100%);
  animation: obs-room 15s ease-in-out infinite alternate;
}
.scn-o-brien-schemes-ambush .door {
  position: absolute; top: 15%; right: 15%; width: 50px; height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,.5), 2px 0 4px rgba(0,0,0,.3);
  animation: obs-door 12s ease-in-out infinite;
}
.scn-o-brien-schemes-ambush .figure-shadow {
  position: absolute; bottom: 18%; left: 25%; width: 24px; height: 50px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a14 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px 5px rgba(0,0,0,.5);
  animation: obs-figure 4s ease-in-out infinite;
}
.scn-o-brien-schemes-ambush .hat-rack {
  position: absolute; bottom: 22%; left: 55%; width: 6px; height: 30px;
  background: #2a1a0a;
  border-radius: 10%;
  box-shadow: 0 0 6px rgba(0,0,0,.4);
  animation: obs-rack 20s ease-in-out infinite;
}
.scn-o-brien-schemes-ambush .candle {
  position: absolute; bottom: 32%; left: 40%; width: 4px; height: 8px;
  background: #c0a070;
  border-radius: 20%;
}
.scn-o-brien-schemes-ambush .candle-glow {
  position: absolute; bottom: 30%; left: 38%; width: 20px; height: 20px;
  background: radial-gradient(circle, rgba(240,200,120,.6) 0%, transparent 70%);
  border-radius: 50%;
  animation: obs-candle 2s ease-in-out infinite alternate;
}
.scn-o-brien-schemes-ambush .floorboard {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: repeating-linear-gradient(90deg, #1a1410 0px, #1a1410 4px, #2a1c14 4px, #2a1c14 8px);
  box-shadow: inset 0 8px 16px rgba(0,0,0,.5);
}
@keyframes obs-room { 0%,100% { opacity: .9 } 50% { opacity: 1 } }
@keyframes obs-door { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(.98) } }
@keyframes obs-figure { 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(-1deg) } }
@keyframes obs-rack { 0%,100% { transform: rotate(0) } 50% { transform: rotate(3deg) } }
@keyframes obs-candle { 0% { opacity: .7; transform: scale(.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: .8; transform: scale(1) } }

/* scene 3: bright interior, Miss Beekman subpoenaed */
.scn-miss-beekman-subpoenaed {
  background: linear-gradient(180deg, #e8e0d8 0%, #d0c8b8 50%, #b8b0a0 100%),
              radial-gradient(ellipse at 40% 30%, #f0e8d8 0%, transparent 60%);
}
.scn-miss-beekman-subpoenaed .bright-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f2ecd8 0%, #e0d8c0 100%);
  animation: mbs-wall 18s ease-in-out infinite alternate;
}
.scn-miss-beekman-subpoenaed .desk {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,.2);
  animation: mbs-desk 8s ease-in-out infinite;
}
.scn-miss-beekman-subpoenaed .woman-silhouette {
  position: absolute; bottom: 15%; left: 30%; width: 26px; height: 55px;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a38 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: -4px 0 8px rgba(0,0,0,.2);
  animation: mbs-silhouette 6s ease-in-out infinite;
}
.scn-miss-beekman-subpoenaed .window-light {
  position: absolute; top: 12%; left: 60%; width: 80px; height: 60px;
  background: linear-gradient(135deg, #f0e8d0 0%, #d0c8b0 100%);
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(255,255,200,.3), 0 0 30px rgba(255,240,200,.2);
  animation: mbs-window 15s ease-in-out infinite alternate;
}
.scn-miss-beekman-subpoenaed .paper-sheets {
  position: absolute; bottom: 20%; left: 38%; width: 18px; height: 2px;
  background: #f0e8c8;
  border-radius: 1px;
  box-shadow: 0 2px 0 #d0c8a8, 0 4px 0 #c0b898;
  animation: mbs-papers 12s ease-in-out infinite;
}
.scn-miss-beekman-subpoenaed .inkwell {
  position: absolute; bottom: 18%; left: 50%; width: 8px; height: 8px;
  background: #2a2a3a;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.3);
  animation: mbs-ink 10s ease-in-out infinite;
}
.scn-miss-beekman-subpoenaed .shadow-stripe {
  position: absolute; top: 0; bottom: 0; left: 55%; width: 15%;
  background: rgba(0,0,0,.08);
  transform: skewX(-10deg);
  animation: mbs-stripe 20s ease-in-out infinite alternate;
}
@keyframes mbs-wall { 0%,100% { opacity: .95 } 50% { opacity: 1 } }
@keyframes mbs-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes mbs-silhouette { 0% { transform: translateX(0) rotate(-1deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes mbs-window { 0% { opacity: .9; transform: scale(1) } 50% { opacity: 1; transform: scale(1.02) } 100% { opacity: .95; transform: scale(1) } }
@keyframes mbs-papers { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) rotate(1deg) } }
@keyframes mbs-ink { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes mbs-stripe { 0% { opacity: 0 } 50% { opacity: .15 } 100% { opacity: 0 } }

/* scene 4: bright interior, Peckham warns O'Brien */
.scn-peckham-warns-obrien {
  background: linear-gradient(135deg, #e8dcc8 0%, #d4c8b0 50%, #c0b498 100%),
              radial-gradient(ellipse at 60% 40%, #f0e4d0 0%, transparent 50%);
}
.scn-peckham-warns-obrien .sunlit-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #f0e4d0 0%, #d8ccb8 100%);
  animation: pwo-wall 16s ease-in-out infinite alternate;
}
.scn-peckham-warns-obrien .table-large {
  position: absolute; bottom: 15%; left: 10%; width: 80%; height: 14%;
  background: linear-gradient(180deg, #7a6a4a 0%, #5a4a2a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,.2);
  animation: pwo-table 10s ease-in-out infinite;
}
.scn-peckham-warns-obrien .obrien-profile {
  position: absolute; bottom: 20%; left: 25%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a28 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: pwo-obrien 9s ease-in-out infinite;
}
.scn-peckham-warns-obrien .peckham-arm {
  position: absolute; bottom: 32%; left: 52%; width: 30px; height: 6px;
  background: linear-gradient(90deg, #2a2a3a 0%, #3a3a4a 80%);
  border-radius: 30% 30% 30% 30% / 50% 50% 50% 50%;
  transform-origin: left center;
  animation: pwo-arm 5s ease-in-out infinite;
}
.scn-peckham-warns-obrien .document-pile {
  position: absolute; bottom: 18%; left: 40%; width: 40px; height: 8px;
  background: #e0d8c0;
  border-radius: 2px;
  box-shadow: 0 2px 0 #c8c0a8, 0 4px 0 #b0a890;
  animation: pwo-docs 14s ease-in-out infinite;
}
.scn-peckham-warns-obrien .clock-dial {
  position: absolute; top: 12%; left: 70%; width: 30px; height: 30px;
  background: #e8e0d0;
  border: 2px solid #5a4a2a;
  border-radius: 50%;
  box-shadow: inset 0 0 6px rgba(0,0,0,.1);
  animation: pwo-clock 12s linear infinite;
}
.scn-peckham-warns-obrien .window-blinds {
  position: absolute; top: 8%; left: 55%; width: 60px; height: 80px;
  background: repeating-linear-gradient(180deg, #d0c8b0 0px, #d0c8b0 4px, #e8e0d0 4px, #e8e0d0 8px);
  border-radius: 2%;
  opacity: .3;
  animation: pwo-blinds 25s ease-in-out infinite alternate;
}
.scn-peckham-warns-obrien .dust-motes {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: rgba(255,240,200,.3);
  border-radius: 50%;
  box-shadow: 20px 30px 0 rgba(255,240,200,.2), 40px -10px 0 rgba(255,240,200,.15);
  animation: pwo-dust 8s ease-in-out infinite alternate;
}
@keyframes pwo-wall { 0%,100% { opacity: .95 } 50% { opacity: 1 } }
@keyframes pwo-table { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes pwo-obrien { 0% { transform: scaleX(-1) translateX(0) } 50% { transform: scaleX(-1) translateX(2px) } 100% { transform: scaleX(-1) translateX(0) } }
@keyframes pwo-arm { 0% { transform: rotate(-10deg) } 50% { transform: rotate(0deg) } 100% { transform: rotate(-10deg) } }
@keyframes pwo-docs { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes pwo-clock { 0% { transform: rotate(0) } 100% { transform: rotate(360deg) } }
@keyframes pwo-blinds { 0% { opacity: .2 } 50% { opacity: .4 } 100% { opacity: .2 } }
@keyframes pwo-dust { 0% { transform: translate(0,0) } 100% { transform: translate(10px, -12px) } }

.scn-miss-beekman-refuses-betrayal {
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b898 40%, #a08868 100%), radial-gradient(ellipse at 50% 60%, #fff6e8 0%, transparent 70%);
}
.scn-miss-beekman-refuses-betrayal .bg-wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #d4c8b0 0%, #c0b090 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
  animation: mb1-wall 8s ease-in-out infinite alternate;
}
.scn-miss-beekman-refuses-betrayal .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-miss-beekman-refuses-betrayal .judge-bench {
  position: absolute; bottom: 25%; left: 10%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3828 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
  animation: mb1-bench 6s ease-in-out infinite;
}
.scn-miss-beekman-refuses-betrayal .witness-stand {
  position: absolute; bottom: 25%; left: 50%; width: 18%; height: 35%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7050 0%, #5a4a30 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: mb1-stand 5s ease-in-out infinite alternate;
}
.scn-miss-beekman-refuses-betrayal .figure-witness {
  position: absolute; bottom: 30%; left: 52%; width: 8%; 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: mb1-figure 4s ease-in-out infinite;
}
.scn-miss-beekman-refuses-betrayal .gavel {
  position: absolute; bottom: 55%; left: 15%; width: 6%; height: 4%;
  background: #a08060;
  border-radius: 20% 20% 50% 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: mb1-gavel 2s ease-in-out infinite alternate;
}
.scn-miss-beekman-refuses-betrayal .clock {
  position: absolute; top: 10%; right: 20%; width: 12%; height: 12%;
  background: radial-gradient(circle, #f0e8d8 0%, #c0b8a8 70%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: mb1-clock 12s linear infinite;
}
.scn-miss-beekman-refuses-betrayal .light-ray {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,240,0.15) 0%, transparent 60%);
  filter: blur(8px);
  animation: mb1-light 6s ease-in-out infinite alternate;
}
@keyframes mb1-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mb1-bench { 0%, 100% { transform: scale(1); } 50% { transform: scale(0.98); } }
@keyframes mb1-stand { 0% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(-2px); } }
@keyframes mb1-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mb1-gavel { 0% { transform: rotate(-10deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(-10deg); } }
@keyframes mb1-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes mb1-light { 0% { opacity: 0.6; transform: translateY(0) scaleX(1); } 100% { opacity: 1; transform: translateY(-10px) scaleX(1.1); } }

.scn-miss-beekman-defies-court {
  background: linear-gradient(180deg, #e0d4c0 0%, #c0b0a0 50%, #9a8a7a 100%), radial-gradient(ellipse at 60% 50%, #fff8f0 0%, transparent 60%);
}
.scn-miss-beekman-defies-court .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d0c4b0 0%, #b0a090 100%);
  box-shadow: inset 0 6px 18px rgba(0,0,0,0.1);
  animation: mb2-wall 10s ease-in-out infinite alternate;
}
.scn-miss-beekman-defies-court .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 30% 30% 0 0 / 15% 15% 0 0;
}
.scn-miss-beekman-defies-court .judge-bench {
  position: absolute; bottom: 20%; left: 8%; width: 28%; height: 45%;
  background: linear-gradient(180deg, #6a5040 0%, #4a3828 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: mb2-bench 7s ease-in-out infinite;
}
.scn-miss-beekman-defies-court .witness-stand {
  position: absolute; bottom: 22%; left: 55%; width: 20%; height: 38%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7050 0%, #5a4a30 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: mb2-stand 6s ease-in-out infinite alternate;
}
.scn-miss-beekman-defies-court .figure-witness {
  position: absolute; bottom: 28%; left: 57%; width: 9%; height: 32%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb2-figure 3s ease-in-out infinite;
}
.scn-miss-beekman-defies-court .lawyer {
  position: absolute; bottom: 20%; left: 35%; width: 7%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb2-lawyer 5s ease-in-out infinite;
}
.scn-miss-beekman-defies-court .ledger {
  position: absolute; bottom: 32%; left: 56%; width: 10%; height: 3%;
  background: #b0a090;
  border-radius: 20%;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3);
  animation: mb2-ledger 4s ease-in-out infinite alternate;
}
.scn-miss-beekman-defies-court .light-ray {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,240,0.12) 0%, transparent 60%);
  filter: blur(10px);
  animation: mb2-light 8s ease-in-out infinite alternate;
}
@keyframes mb2-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes mb2-bench { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes mb2-stand { 0% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(-2px); } }
@keyframes mb2-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(6px) rotate(2deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mb2-lawyer { 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 mb2-ledger { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
@keyframes mb2-light { 0% { opacity: 0.5; transform: translateY(0) scaleX(1); } 100% { opacity: 1; transform: translateY(-8px) scaleX(1.1); } }

.scn-contempt-of-court {
  background: linear-gradient(180deg, #d4c8b8 0%, #b8a898 40%, #8a7a6a 100%), radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 80%);
}
.scn-contempt-of-court .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #c8b8a8 0%, #b0a090 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.15);
  animation: co-wall 12s ease-in-out infinite alternate;
}
.scn-contempt-of-court .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 0 0 / 20% 20% 0 0;
}
.scn-contempt-of-court .judge-bench {
  position: absolute; bottom: 15%; left: 5%; width: 35%; height: 55%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 5% 5% 2% 2%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.6);
  animation: co-bench 8s ease-in-out infinite;
}
.scn-contempt-of-court .judge-figure {
  position: absolute; bottom: 25%; left: 12%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: co-judge 6s ease-in-out infinite;
}
.scn-contempt-of-court .gavel {
  position: absolute; bottom: 55%; left: 10%; width: 7%; height: 4%;
  background: #a08060;
  border-radius: 20% 20% 50% 50%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.4);
  animation: co-gavel 1.5s ease-in-out infinite alternate;
}
.scn-contempt-of-court .witness-stand {
  position: absolute; bottom: 20%; left: 60%; width: 20%; height: 40%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7050 0%, #5a4a30 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: co-stand 7s ease-in-out infinite alternate;
}
.scn-contempt-of-court .figure-witness {
  position: absolute; bottom: 28%; left: 62%; width: 9%; height: 32%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: co-figure 3.5s ease-in-out infinite;
}
.scn-contempt-of-court .clock {
  position: absolute; top: 8%; left: 50%; width: 15%; height: 15%;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f0e8d8 0%, #c0b8a8 70%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: co-clock 10s linear infinite;
}
@keyframes co-wall { 0% { opacity: 0.85; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes co-bench { 0%, 100% { transform: scale(1) translateY(0); } 50% { transform: scale(0.97) translateY(-2px); } }
@keyframes co-judge { 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 co-gavel { 0% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-15deg); } }
@keyframes co-stand { 0% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(-2px); } }
@keyframes co-figure { 0% { transform: translateX(0) rotate(0deg); } 33% { transform: translateX(5px) rotate(2deg); } 66% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes co-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-miss-beekman-sentenced {
  background: linear-gradient(180deg, #ccc0b0 0%, #b0a090 40%, #8a7a6a 100%), radial-gradient(ellipse at 50% 70%, #fff8f0 0%, transparent 70%);
}
.scn-miss-beekman-sentenced .bg-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c0b0a0 0%, #a09080 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.12);
  animation: mb3-wall 10s ease-in-out infinite alternate;
}
.scn-miss-beekman-sentenced .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%);
  border-radius: 25% 25% 0 0 / 12% 12% 0 0;
}
.scn-miss-beekman-sentenced .judge-bench {
  position: absolute; bottom: 20%; left: 5%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2820 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: mb3-bench 9s ease-in-out infinite;
}
.scn-miss-beekman-sentenced .witness-stand {
  position: absolute; bottom: 22%; left: 50%; width: 20%; height: 40%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8a7050 0%, #5a4a30 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: mb3-stand 6s ease-in-out infinite alternate;
}
.scn-miss-beekman-sentenced .figure-witness {
  position: absolute; bottom: 28%; left: 52%; width: 9%; height: 32%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb3-figure 4s ease-in-out infinite;
}
.scn-miss-beekman-sentenced .shackle {
  position: absolute; bottom: 22%; left: 45%; width: 4%; height: 2%;
  background: #6a5a4a;
  border-radius: 30%;
  box-shadow: 0 1px 2px rgba(0,0,0,0.4);
  animation: mb3-shackle 3s ease-in-out infinite alternate;
}
.scn-miss-beekman-sentenced .light-ray {
  position: absolute; top: 0; left: 10%; width: 80%; height: 100%;
  background: linear-gradient(135deg, rgba(255,255,240,0.1) 0%, transparent 70%);
  filter: blur(12px);
  animation: mb3-light 9s ease-in-out infinite alternate;
}
@keyframes mb3-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mb3-bench { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes mb3-stand { 0% { transform: translateX(-50%) translateY(0); } 100% { transform: translateX(-50%) translateY(-2px); } }
@keyframes mb3-figure { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mb3-shackle { 0% { transform: translateY(0) scaleX(1); } 100% { transform: translateY(-3px) scaleX(1.2); } }
@keyframes mb3-light { 0% { opacity: 0.4; transform: translateY(0) scaleX(1); } 100% { opacity: 1; transform: translateY(-6px) scaleX(1.1); } }

/* ------------------------------------- */
/* Scene: pepperill-rejects-plea (pp1)   */
/* ------------------------------------- */
.scn-pepperill-rejects-plea {
  background: 
    linear-gradient(180deg, #b8a68c 0%, #8a7a64 40%, #5c4f3e 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e7 0%, transparent 60%);
}
.scn-pepperill-rejects-plea .wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #d0c4b0 0%, #b8a68c 100%);
  border-bottom: 4px solid #6b5b4a;
  animation: pp1-wall 20s ease-in-out infinite alternate;
}
.scn-pepperill-rejects-plea .bench {
  position: absolute; bottom: 25%; left: 10%; width: 70%; height: 8%;
  background: linear-gradient(180deg, #6b5b4a 0%, #4a3b2c 100%);
  border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  transform: perspective(800px) rotateX(5deg);
}
.scn-pepperill-rejects-plea .prosecutor {
  position: absolute; bottom: 33%; left: 20%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a2218 0%, #1a150e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: pp1-figure 6s ease-in-out infinite;
}
.scn-pepperill-rejects-plea .defense {
  position: absolute; bottom: 33%; right: 25%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #4a3b2c 0%, #2a2218 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: pp1-figure 8s ease-in-out infinite reverse;
}
.scn-pepperill-rejects-plea .jury {
  position: absolute; bottom: 35%; right: 5%; width: 15%; height: 18%;
  background: repeating-linear-gradient(90deg, 
    #3a2e1e 0px, #3a2e1e 8px, transparent 8px, transparent 12px);
  border-radius: 8px;
  animation: pp1-jury 12s ease-in-out infinite alternate;
}
.scn-pepperill-rejects-plea .clock {
  position: absolute; top: 8%; right: 10%; width: 40px; height: 40px;
  border: 3px solid #8a7a64; border-radius: 50%;
  background: radial-gradient(circle, #fff8e7 30%, #d0c4b0 70%);
  box-shadow: 0 0 12px rgba(0,0,0,0.3);
  animation: pp1-clock 2s ease-in-out infinite;
}
.scn-pepperill-rejects-plea .light {
  position: absolute; top: 0; left: 35%; width: 30%; height: 20%;
  background: linear-gradient(180deg, #fff8e7 0%, rgba(255,248,231,0) 100%);
  filter: blur(8px);
  animation: pp1-light 4s ease-in-out infinite alternate;
}
@keyframes pp1-wall { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes pp1-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes pp1-jury { 0% { opacity: 0.7; transform: scale(1) } 50% { opacity: 1; transform: scale(1.02) } 100% { opacity: 0.8; transform: scale(0.98) } }
@keyframes pp1-clock { 0%,100% { transform: rotate(0deg) } 50% { transform: rotate(180deg) } } /* pendulum effect */
@keyframes pp1-light { 0% { opacity: 0.4; transform: scaleY(0.8) } 50% { opacity: 1; transform: scaleY(1.2) } 100% { opacity: 0.6; transform: scaleY(0.9) } }

/* ------------------------------------- */
/* Scene: pepperill-righteous-refusal (pp2) */
/* ------------------------------------- */
.scn-pepperill-righteous-refusal {
  background: 
    linear-gradient(90deg, #e8dcc8 0%, #d4c4ae 50%, #b8a68c 100%),
    radial-gradient(ellipse at 30% 50%, #fff8e7 0%, transparent 70%);
}
.scn-pepperill-righteous-refusal .window {
  position: absolute; top: 0; left: 0; width: 40%; height: 100%;
  background: linear-gradient(135deg, #fff8e7 0%, #d4c4ae 100%);
  border-right: 6px solid #8a7a64;
  animation: pp2-window 10s ease-in-out infinite alternate;
}
.scn-pepperill-righteous-refusal .desk {
  position: absolute; bottom: 15%; left: 30%; width: 50%; height: 15%;
  background: linear-gradient(180deg, #6b5b4a 0%, #4a3b2c 100%);
  border-radius: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.4);
  transform: perspective(500px) rotateX(10deg);
}
.scn-pepperill-righteous-refusal .figure {
  position: absolute; bottom: 30%; left: 45%; width: 12%; height: 40%;
  background: linear-gradient(180deg, #2a2218 0%, #1a150e 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: pp2-figure 5s ease-in-out infinite;
}
.scn-pepperill-righteous-refusal .book {
  position: absolute; bottom: 20%; left: 35%; width: 10%; height: 6%;
  background: linear-gradient(135deg, #8b2218 0%, #5e1a1d 100%);
  border-radius: 2px; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  transform: rotate(-5deg);
  animation: pp2-book 3s ease-in-out infinite alternate;
}
.scn-pepperill-righteous-refusal .pen {
  position: absolute; bottom: 22%; left: 48%; width: 8%; height: 2%;
  background: linear-gradient(90deg, #4a3b2c 0%, #2a2218 100%);
  border-radius: 50%; transform: rotate(20deg);
  animation: pp2-pen 6s ease-in-out infinite;
}
.scn-pepperill-righteous-refusal .shadow {
  position: absolute; bottom: 0; left: 40%; width: 30%; height: 20%;
  background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: pp2-shadow 8s ease-in-out infinite alternate;
}
@keyframes pp2-window { 0% { opacity: 0.9; transform: scaleX(1) } 50% { opacity: 1; transform: scaleX(1.02) } 100% { opacity: 0.85; transform: scaleX(0.98) } }
@keyframes pp2-figure { 0% { transform: translateY(0) rotate(-1deg) } 30% { transform: translateY(-4px) rotate(1deg) } 70% { transform: translateY(-1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes pp2-book { 0% { transform: rotate(-5deg) translateY(0) } 50% { transform: rotate(-3deg) translateY(-2px) } 100% { transform: rotate(-5deg) translateY(0) } }
@keyframes pp2-pen { 0% { transform: rotate(20deg) translateX(0) } 50% { transform: rotate(30deg) translateX(5px) } 100% { transform: rotate(20deg) translateX(0) } }
@keyframes pp2-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: tutt-threatens-humiliation (tt3) */
/* ------------------------------------- */
.scn-tutt-threatens-humiliation {
  background: 
    linear-gradient(180deg, #d4c4ae 0%, #b8a68c 50%, #8a7a64 100%),
    radial-gradient(ellipse at 50% 20%, #fff8e7 0%, transparent 50%);
}
.scn-tutt-threatens-humiliation .wall-bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #c9b89a 0%, #8a7a64 100%);
  border-bottom: 3px solid #5c4f3e;
  animation: tt3-wall 15s ease-in-out infinite alternate;
}
.scn-tutt-threatens-humiliation .figure-tutt {
  position: absolute; bottom: 20%; left: 20%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #3a2e1e 0%, #1a150e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: tt3-tutt 7s ease-in-out infinite;
}
.scn-tutt-threatens-humiliation .figure-pepperill {
  position: absolute; bottom: 20%; right: 20%; width: 13%; height: 42%;
  background: linear-gradient(180deg, #4a3b2c 0%, #2a2218 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: tt3-pepperill 9s ease-in-out infinite reverse;
}
.scn-tutt-threatens-humiliation .desk {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #6b5b4a 0%, #4a3b2c 100%);
  border-radius: 6px; box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  transform: perspective(400px) rotateX(5deg);
}
.scn-tutt-threatens-humiliation .lamp {
  position: absolute; bottom: 25%; left: 50%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #c9b89a 0%, #8a7a64 100%);
  border-radius: 10px;
  transform: translateX(-50%);
  animation: tt3-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-threatens-humiliation .light-ray {
  position: absolute; bottom: 30%; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,248,231,0.6) 0%, transparent 100%);
  filter: blur(10px); opacity: 0.7;
  animation: tt3-ray 3s ease-in-out infinite alternate;
}
@keyframes tt3-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes tt3-tutt { 0% { transform: translateY(0) rotate(0deg) } 40% { transform: translateY(-5px) rotate(2deg) } 80% { transform: translateY(0) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes tt3-pepperill { 0% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes tt3-lamp { 0% { transform: translateX(-50%) rotate(-2deg) } 50% { transform: translateX(-50%) rotate(2deg) scaleY(1.05) } 100% { transform: translateX(-50%) rotate(-2deg) } }
@keyframes tt3-ray { 0% { opacity: 0.4; transform: scaleY(0.8) } 50% { opacity: 0.8; transform: scaleY(1.2) } 100% { opacity: 0.5; transform: scaleY(0.9) } }

/* ------------------------------------- */
/* Scene: pepperill-refuses-again (pp4)  */
/* ------------------------------------- */
.scn-pepperill-refuses-again {
  background: 
    linear-gradient(180deg, #c9b89a 0%, #a8967c 40%, #7a6a54 100%),
    radial-gradient(ellipse at 50% 60%, #fff8e7 0%, transparent 70%);
}
.scn-pepperill-refuses-again .desktop {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 40%;
  background: linear-gradient(180deg, #5c4f3e 0%, #3a2e1e 100%);
  border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,0.6);
  transform: perspective(600px) rotateX(30deg);
  transform-origin: bottom center;
  animation: pp4-desk 12s ease-in-out infinite alternate;
}
.scn-pepperill-refuses-again .papers {
  position: absolute; bottom: 25%; left: 25%; width: 30%; height: 12%;
  background: linear-gradient(135deg, #fff8e7 0%, #e8dcc8 100%);
  border-radius: 3px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transform: rotate(-3deg);
  animation: pp4-papers 5s ease-in-out infinite;
}
.scn-pepperill-refuses-again .hand {
  position: absolute; bottom: 30%; left: 55%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #c9a68c 0%, #a08060 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: 50% 100%;
  animation: pp4-hand 4s ease-in-out infinite;
}
.scn-pepperill-refuses-again .pen {
  position: absolute; bottom: 22%; left: 60%; width: 12%; height: 2%;
  background: linear-gradient(90deg, #4a3b2c 0%, #2a2218 100%);
  border-radius: 50%; transform: rotate(30deg);
  animation: pp4-pen 6s ease-in-out infinite reverse;
}
.scn-pepperill-refuses-again .inkwell {
  position: absolute; bottom: 20%; left: 20%; width: 5%; height: 5%;
  background: radial-gradient(circle, #2a2218 0%, #1a150e 100%);
  border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: pp4-inkwell 3s ease-in-out infinite alternate;
}
.scn-pepperill-refuses-again .lamp {
  position: absolute; bottom: 40%; left: 70%; width: 6%; height: 20%;
  background: linear-gradient(180deg, #c9b89a 0%, #8a7a64 100%);
  border-radius: 8px;
  animation: pp4-lamp 8s ease-in-out infinite alternate;
}
.scn-pepperill-refuses-again .shadow {
  position: absolute; bottom: 0; left: 30%; width: 40%; height: 30%;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 100%);
  filter: blur(10px);
  animation: pp4-shadow 10s ease-in-out infinite alternate;
}
@keyframes pp4-desk { 0% { transform: perspective(600px) rotateX(30deg) scale(1) } 50% { transform: perspective(600px) rotateX(33deg) scale(1.02) } 100% { transform: perspective(600px) rotateX(28deg) scale(0.98) } }
@keyframes pp4-papers { 0% { transform: rotate(-3deg) translateY(0) } 50% { transform: rotate(-1deg) translateY(-2px) } 100% { transform: rotate(-3deg) translateY(0) } }
@keyframes pp4-hand { 0% { transform: rotate(0deg) } 40% { transform: rotate(-15deg) } 80% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } }
@keyframes pp4-pen { 0% { transform: rotate(30deg) translateX(0) } 50% { transform: rotate(40deg) translateX(3px) } 100% { transform: rotate(30deg) translateX(0) } }
@keyframes pp4-inkwell { 0% { transform: scale(1) } 50% { transform: scale(1.1) } 100% { transform: scale(1) } }
@keyframes pp4-lamp { 0% { opacity: 0.8; transform: translateY(0) } 50% { opacity: 1; transform: translateY(-2px) } 100% { opacity: 0.9; transform: translateY(0) } }
@keyframes pp4-shadow { 0% { opacity: 0.4; transform: scaleX(0.9) } 50% { opacity: 0.7; transform: scaleX(1.1) } 100% { opacity: 0.5; transform: scaleX(1) } }

.scn-national-divorce-law-unlikely {
  background: 
    linear-gradient(180deg, #f5e6c8 0%, #d6b885 100%),
    radial-gradient(ellipse at 20% 30%, #fff5e0 0%, transparent 60%);
}
.scn-national-divorce-law-unlikely .wall {
  position: absolute; inset: 0 0 0 0; background: linear-gradient(135deg, #e3d5b8 0%, #c9b28b 100%); animation: nd1-wall 10s ease-in-out infinite;
}
.scn-national-divorce-law-unlikely .window {
  position: absolute; top: 10%; left: 55%; width: 120px; height: 160px; background: linear-gradient(180deg, #fef9e7 0%, #fff3cd 100%); border: 6px solid #7a5c3a; border-radius: 4px; box-shadow: inset 0 0 30px rgba(255,255,200,0.6); animation: nd1-window 12s ease-in-out infinite alternate;
}
.scn-national-divorce-law-unlikely .desk {
  position: absolute; bottom: 20%; left: 25%; width: 180px; height: 80px; background: linear-gradient(180deg, #6b4226 0%, #4a2e1a 100%); border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); animation: nd1-desk 8s ease-in-out infinite;
}
.scn-national-divorce-law-unlikely .chair {
  position: absolute; bottom: 15%; left: 35%; width: 50px; height: 70px; background: linear-gradient(180deg, #5a3d2a 0%, #3a2515 100%); border-radius: 30% 30% 10% 10%; transform: skewX(-5deg); animation: nd1-chair 6s ease-in-out infinite alternate;
}
.scn-national-divorce-law-unlikely .lamp {
  position: absolute; bottom: 35%; left: 20%; width: 30px; height: 60px; background: linear-gradient(180deg, #c9a84c 0%, #8b6f2e 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 -20px 40px 10px rgba(255,200,100,0.4); animation: nd1-lamp 4s ease-in-out infinite;
}
.scn-national-divorce-law-unlikely .papers {
  position: absolute; bottom: 25%; left: 30%; width: 80px; height: 10px; background: linear-gradient(90deg, #f5f0e0, #e8dcc0); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); animation: nd1-papers 5s ease-in-out infinite;
}
.scn-national-divorce-law-unlikely .lawyer {
  position: absolute; bottom: 22%; left: 40%; width: 30px; height: 80px; background: linear-gradient(180deg, #3a3028 0%, #1a1410 100%); border-radius: 45% 45% 30% 30%; transform-origin: bottom; animation: nd1-lawyer 7s ease-in-out infinite;
}
@keyframes nd1-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes nd1-window { 0% { box-shadow: inset 0 0 30px rgba(255,255,200,0.6); } 50% { box-shadow: inset 0 0 50px rgba(255,255,200,0.8); } 100% { box-shadow: inset 0 0 30px rgba(255,255,200,0.6); } }
@keyframes nd1-desk { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
@keyframes nd1-chair { 0% { transform: skewX(-5deg) rotate(0); } 50% { transform: skewX(-3deg) rotate(1deg); } 100% { transform: skewX(-5deg) rotate(0); } }
@keyframes nd1-lamp { 0% { box-shadow: 0 -20px 40px 10px rgba(255,200,100,0.4); } 50% { box-shadow: 0 -20px 60px 15px rgba(255,200,100,0.7); } 100% { box-shadow: 0 -20px 40px 10px rgba(255,200,100,0.4); } }
@keyframes nd1-papers { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes nd1-lawyer { 0% { transform: rotate(0); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }

.scn-marriage-valid-everywhere {
  background: 
    linear-gradient(180deg, #e8f4f8 0%, #c9dfe8 100%),
    radial-gradient(ellipse at 50% 80%, #ffffff 0%, transparent 70%);
}
.scn-marriage-valid-everywhere .room {
  position: absolute; inset: 0; background: linear-gradient(135deg, #d9e6ed 0%, #b6cdd9 100%); animation: mv2-room 15s ease-in-out infinite alternate;
}
.scn-marriage-valid-everywhere .counter {
  position: absolute; bottom: 25%; left: 20%; width: 200px; height: 30px; background: linear-gradient(180deg, #8b6f4e 0%, #5a3d26 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: mv2-counter 20s ease-in-out infinite;
}
.scn-marriage-valid-everywhere .clerk {
  position: absolute; bottom: 30%; left: 45%; width: 28px; height: 70px; background: linear-gradient(180deg, #4a6a7a 0%, #2a3a4a 100%); border-radius: 40% 40% 30% 30%; transform: rotate(-2deg); animation: mv2-clerk 8s ease-in-out infinite;
}
.scn-marriage-valid-everywhere .bride {
  position: absolute; bottom: 28%; left: 25%; width: 24px; height: 65px; background: linear-gradient(180deg, #d4c4a8 0%, #a89078 100%); border-radius: 45% 45% 35% 35%; animation: mv2-bride 10s ease-in-out infinite;
}
.scn-marriage-valid-everywhere .groom {
  position: absolute; bottom: 28%; left: 32%; width: 22px; height: 60px; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 45% 45% 35% 35%; animation: mv2-groom 10s ease-in-out infinite;
}
.scn-marriage-valid-everywhere .certificate {
  position: absolute; bottom: 40%; left: 50%; width: 50px; height: 35px; background: linear-gradient(180deg, #f5f0e0 0%, #e8dcc0 100%); border: 1px solid #8b7355; border-radius: 2px; transform: rotate(5deg); box-shadow: 2px 2px 4px rgba(0,0,0,0.1); animation: mv2-cert 6s ease-in-out infinite;
}
.scn-marriage-valid-everywhere .globe {
  position: absolute; top: 20%; right: 15%; width: 60px; height: 60px; background: radial-gradient(circle, #4a8a9a 0%, #2a5a6a 60%); border-radius: 50%; box-shadow: 0 0 20px rgba(40,80,100,0.3); animation: mv2-globe 30s linear infinite;
}
@keyframes mv2-room { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mv2-counter { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
@keyframes mv2-clerk { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes mv2-bride { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes mv2-groom { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mv2-cert { 0% { transform: rotate(5deg); } 50% { transform: rotate(8deg); } 100% { transform: rotate(5deg); } }
@keyframes mv2-globe { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-bigamy-and-legal-confusion {
  background: 
    linear-gradient(180deg, #fce4b8 0%, #f8d49a 100%),
    radial-gradient(ellipse at 50% 50%, #fff8e0 0%, transparent 80%);
}
.scn-bigamy-and-legal-confusion .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #c9a87a 0%, #8b6944 100%); border-radius: 40% 40% 0 0; animation: bc3-floor 12s ease-in-out infinite;
}
.scn-bigamy-and-legal-confusion .man {
  position: absolute; bottom: 25%; left: 45%; width: 35px; height: 90px; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a10 100%); border-radius: 45% 45% 30% 30%; transform-origin: bottom; animation: bc3-man 4s ease-in-out infinite;
}
.scn-bigamy-and-legal-confusion .woman1 {
  position: absolute; bottom: 30%; left: 30%; width: 28px; height: 70px; background: linear-gradient(180deg, #b85868 0%, #7a3040 100%); border-radius: 45% 45% 35% 35%; animation: bc3-woman 5s ease-in-out infinite;
}
.scn-bigamy-and-legal-confusion .woman2 {
  position: absolute; bottom: 32%; left: 55%; width: 28px; height: 70px; background: linear-gradient(180deg, #b87858 0%, #7a4830 100%); border-radius: 45% 45% 35% 35%; animation: bc3-woman 5s ease-in-out infinite 0.3s;
}
.scn-bigamy-and-legal-confusion .woman3 {
  position: absolute; bottom: 28%; left: 40%; width: 28px; height: 70px; background: linear-gradient(180deg, #a87888 0%, #6a4050 100%); border-radius: 45% 45% 35% 35%; animation: bc3-woman 5s ease-in-out infinite 0.6s;
}
.scn-bigamy-and-legal-confusion .heart {
  position: absolute; top: 15%; left: 20%; width: 25px; height: 25px; background: #c8553d; border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; transform: rotate(45deg); animation: bc3-heart 3s ease-in-out infinite;
}
.scn-bigamy-and-legal-confusion .question {
  position: absolute; top: 10%; right: 25%; width: 30px; height: 30px; border: 4px solid #8b5a3a; border-radius: 50%; background: transparent; animation: bc3-question 4s ease-in-out infinite;
}
@keyframes bc3-floor { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes bc3-man { 0% { transform: rotate(-2deg); } 25% { transform: rotate(2deg) translateX(5px); } 50% { transform: rotate(-3deg) translateX(-3px); } 75% { transform: rotate(3deg) translateX(4px); } 100% { transform: rotate(0deg); } }
@keyframes bc3-woman { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes bc3-heart { 0% { transform: scale(1) rotate(45deg); } 50% { transform: scale(1.3) rotate(45deg); } 100% { transform: scale(1) rotate(45deg); } }
@keyframes bc3-question { 0% { opacity: 0.4; } 50% { opacity: 1; } 100% { opacity: 0.4; } }

.scn-higgleby-traveling-man {
  background: 
    linear-gradient(180deg, #e8f0e0 0%, #c8d8b8 100%),
    radial-gradient(ellipse at 50% 0%, #f0f8e8 0%, transparent 60%);
}
.scn-higgleby-traveling-man .sky {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #d4e8c8 0%, #b4d0a0 100%); animation: ht4-sky 20s ease-in-out infinite alternate;
}
.scn-higgleby-traveling-man .train {
  position: absolute; bottom: 25%; left: 20%; width: 140px; height: 50px; background: linear-gradient(180deg, #6a8a6a 0%, #3a5a3a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: ht4-train 8s linear infinite;
}
.scn-higgleby-traveling-man .woman-chicago {
  position: absolute; bottom: 30%; left: 15%; width: 25px; height: 65px; background: linear-gradient(180deg, #d4a080 0%, #a06848 100%); border-radius: 45% 45% 35% 35%; animation: ht4-woman 6s ease-in-out infinite;
}
.scn-higgleby-traveling-man .woman-nyc {
  position: absolute; bottom: 30%; right: 15%; width: 25px; height: 65px; background: linear-gradient(180deg, #b8a0d0 0%, #7860a0 100%); border-radius: 45% 45% 35% 35%; animation: ht4-woman 6s ease-in-out infinite 0.3s;
}
.scn-higgleby-traveling-man .ring {
  position: absolute; bottom: 35%; left: 50%; width: 20px; height: 20px; border: 3px solid #c8a040; border-radius: 50%; background: transparent; transform: translateX(-50%); animation: ht4-ring 4s ease-in-out infinite;
}
.scn-higgleby-traveling-man .track {
  position: absolute; bottom: 22%; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 50%, #4a3a2a 100%); animation: ht4-track 3s linear infinite;
}
@keyframes ht4-sky { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.75; } }
@keyframes ht4-train { 0% { transform: translateX(-150px); } 100% { transform: translateX(150vw); } }
@keyframes ht4-woman { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes ht4-ring { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.2); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes ht4-track { 0% { background-position: 0 0; } 100% { background-position: 20px 0; } }

.scn-tit-for-tat-ends-it { background: linear-gradient(135deg, #3a2a1a 0%, #2a1a0a 40%, #4a3a2a 100%), radial-gradient(ellipse at 50% 0%, #5a4a3a 0%, transparent 60%); }
.scn-tit-for-tat-ends-it .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%); }
.scn-tit-for-tat-ends-it .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%); }
.scn-tit-for-tat-ends-it .table { position:absolute; bottom:20%; left:30%; width:40%; height:12%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:6% 6% 8% 8%; transform: perspective(400px) rotateX(8deg); animation: tt-table 6s ease-in-out infinite; }
.scn-tit-for-tat-ends-it .lamp { position:absolute; bottom:32%; left:50%; width:8px; height:14px; transform:translateX(-50%); background: linear-gradient(180deg, #b08040 0%, #8a6020 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 20px 6px #c09050, 0 0 40px 12px rgba(192,144,80,.3); animation: tt-lamp 2s ease-in-out infinite alternate; }
.scn-tit-for-tat-ends-it .figure-left { position:absolute; bottom:12%; left:22%; width:16%; height:28%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tt-left 4s ease-in-out infinite; }
.scn-tit-for-tat-ends-it .figure-right { position:absolute; bottom:12%; right:22%; width:16%; height:28%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0e04 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tt-right 4s ease-in-out infinite 0.5s; }
.scn-tit-for-tat-ends-it .book { position:absolute; bottom:20%; left:44%; width:12%; height:6%; background: linear-gradient(135deg, #5a3a2a 0%, #3a221a 100%); border-radius:6% 6% 4% 4%; box-shadow: 0 2px 6px rgba(0,0,0,.5); transform: rotate(-10deg); animation: tt-book 8s ease-in-out infinite; }
.scn-tit-for-tat-ends-it .beam { position:absolute; bottom:28%; left:48%; width:4%; height:12%; background: linear-gradient(180deg, rgba(255,200,100,.6) 0%, transparent 100%); filter: blur(6px); animation: tt-beam 3s ease-in-out infinite alternate; }
@keyframes tt-table { 0% { transform: perspective(400px) rotateX(8deg) translateY(0); } 50% { transform: perspective(400px) rotateX(8deg) translateY(-2px); } 100% { transform: perspective(400px) rotateX(8deg) translateY(0); } }
@keyframes tt-lamp { 0% { box-shadow: 0 0 16px 4px #c09050; } 50% { box-shadow: 0 0 28px 10px #d0a060; } 100% { box-shadow: 0 0 20px 6px #c09050; } }
@keyframes tt-left { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(8px) rotate(5deg); } 60% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(-4px) rotate(-3deg); } }
@keyframes tt-right { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(-8px) rotate(-5deg); } 60% { transform: translateX(0) rotate(0deg); } 100% { transform: translateX(4px) rotate(3deg); } }
@keyframes tt-book { 0% { transform: rotate(-10deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }
@keyframes tt-beam { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.5; } }

.scn-danny-lowry-intro { background: linear-gradient(180deg, #1a1a2e 0%, #2a2a4e 30%, #1a1a2e 100%), radial-gradient(ellipse at 50% 70%, #3a3a5e 0%, transparent 80%); }
.scn-danny-lowry-intro .bg { position:absolute; inset:0; background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 100%); }
.scn-danny-lowry-intro .desk { position:absolute; bottom:10%; left:10%; width:80%; height:40%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); border-radius:12% 12% 4% 4%; box-shadow: inset 0 -8px 20px rgba(0,0,0,.6); animation: dl-desk 10s ease-in-out infinite; }
.scn-danny-lowry-intro .chair { position:absolute; bottom:22%; left:20%; width:24%; height:22%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; }
.scn-danny-lowry-intro .figure { position:absolute; bottom:22%; left:20%; width:20%; height:40%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dl-figure 8s ease-in-out infinite; }
.scn-danny-lowry-intro .lamp { position:absolute; bottom:38%; left:35%; width:6px; height:12px; background: linear-gradient(180deg, #d0a050 0%, #a08030 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 0 24px 8px #c09050, 0 0 48px 16px rgba(192,144,80,.3); animation: dl-lamp 3s ease-in-out infinite alternate; }
.scn-danny-lowry-intro .paper { position:absolute; bottom:18%; left:30%; width:20%; height:10%; background: linear-gradient(135deg, #d0c8b8 0%, #b8a890 100%); border-radius:4%; transform: rotate(-5deg); animation: dl-paper 12s ease-in-out infinite; }
.scn-danny-lowry-intro .hand { position:absolute; bottom:28%; left:28%; width:6%; height:10%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dl-hand 2s ease-in-out infinite; }
@keyframes dl-desk { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes dl-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(-1deg); } 70% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes dl-lamp { 0% { box-shadow: 0 0 18px 4px #c09050; } 50% { box-shadow: 0 0 32px 12px #d0a060; } 100% { box-shadow: 0 0 20px 6px #c09050; } }
@keyframes dl-paper { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-3px); } 100% { transform: rotate(-5deg) translateY(0); } }
@keyframes dl-hand { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }

.scn-danny-old-and-wasted { background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 40%, #2a2a2a 100%), radial-gradient(ellipse at 50% 80%, #3a3a3a 0%, transparent 70%); }
.scn-danny-old-and-wasted .stable { position:absolute; inset:0; background: linear-gradient(135deg, #2a2a1a 0%, #1a1a0a 100%); }
.scn-danny-old-and-wasted .horse { position:absolute; bottom:20%; right:10%; width:30%; height:40%; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:50% 60% 40% 50% / 60% 70% 40% 40%; transform: scaleX(-1); animation: do-horse 6s ease-in-out infinite; }
.scn-danny-old-and-wasted .figure { position:absolute; bottom:15%; left:15%; width:18%; height:30%; background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%); border-radius:50% 50% 40% 40% / 50% 50% 30% 30%; transform-origin: bottom center; animation: do-figure 8s ease-in-out infinite; }
.scn-danny-old-and-wasted .straw { position:absolute; bottom:2%; left:0; width:100%; height:14%; background: linear-gradient(0deg, #5a4a2a 0%, #3a2a1a 100%); border-radius:50% 50% 0 0; filter: blur(4px); animation: do-straw 15s ease-in-out infinite; }
.scn-danny-old-and-wasted .bottle { position:absolute; bottom:22%; left:28%; width:4%; height:8%; background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%); border-radius:30% 30% 20% 20%; transform: rotate(20deg); animation: do-bottle 10s ease-in-out infinite; }
.scn-danny-old-and-wasted .lantern { position:absolute; bottom:45%; left:45%; width:6px; height:10px; background: radial-gradient(circle, #b08040 0%, #6a5020 70%); border-radius:30%; box-shadow: 0 0 20px 6px #806020, 0 0 40px 12px rgba(128,96,32,.3); animation: do-lantern 3s ease-in-out infinite alternate; }
.scn-danny-old-and-wasted .shadow { position:absolute; bottom:10%; left:20%; width:30%; height:16%; background: radial-gradient(ellipse, rgba(0,0,0,.8) 0%, transparent 80%); filter: blur(8px); animation: do-shadow 12s ease-in-out infinite; }
@keyframes do-horse { 0% { transform: scaleX(-1) translateY(0); } 50% { transform: scaleX(-1) translateY(-3px); } 100% { transform: scaleX(-1) translateY(0); } }
@keyframes do-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(2px) rotate(-2deg); } 70% { transform: translateY(-1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes do-straw { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes do-bottle { 0% { transform: rotate(20deg) translateY(0); } 50% { transform: rotate(18deg) translateY(-2px); } 100% { transform: rotate(20deg) translateY(0); } }
@keyframes do-lantern { 0% { box-shadow: 0 0 14px 3px #806020; } 50% { box-shadow: 0 0 28px 10px #a07030; } 100% { box-shadow: 0 0 18px 5px #806020; } }
@keyframes do-shadow { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }

.scn-tutts-friendship-with-danny { background: linear-gradient(180deg, #f0d8c0 0%, #d0b090 40%, #f0d8c0 100%), radial-gradient(ellipse at 30% 20%, #f8e8d8 0%, transparent 60%); }
.scn-tutts-friendship-with-danny .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #e8d0b8 0%, #c8a888 100%); }
.scn-tutts-friendship-with-danny .window { position:absolute; top:10%; left:10%; width:40%; height:50%; background: linear-gradient(180deg, #f8e8d0 0%, #e0c8a0 100%); border-radius:8% 8% 4% 4%; box-shadow: inset 0 0 40px rgba(255,200,100,.5); animation: tf-window 10s ease-in-out infinite; }
.scn-tutts-friendship-with-danny .chair-left { position:absolute; bottom:10%; left:8%; width:30%; height:40%; background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; }
.scn-tutts-friendship-with-danny .chair-right { position:absolute; bottom:10%; right:8%; width:30%; height:40%; background: linear-gradient(180deg, #8a7050 0%, #6a5030 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; }
.scn-tutts-friendship-with-danny .figure-left { position:absolute; bottom:14%; left:10%; width:18%; height:36%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tf-left 6s ease-in-out infinite; }
.scn-tutts-friendship-with-danny .figure-right { position:absolute; bottom:14%; right:10%; width:18%; height:36%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tf-right 6s ease-in-out infinite 0.8s; }
.scn-tutts-friendship-with-danny .table { position:absolute; bottom:18%; left:35%; width:30%; height:10%; background: linear-gradient(180deg, #7a6040 0%, #5a4020 100%); border-radius:6% 6% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,.2); animation: tf-table 8s ease-in-out infinite; }
.scn-tutts-friendship-with-danny .warm-glow { position:absolute; bottom:20%; left:30%; width:40%; height:40%; background: radial-gradient(ellipse, rgba(255,200,120,.3) 0%, transparent 70%); pointer-events:none; animation: tf-glow 5s ease-in-out infinite alternate; }
@keyframes tf-window { 0% { box-shadow: inset 0 0 30px rgba(255,200,100,.4); } 50% { box-shadow: inset 0 0 60px rgba(255,200,100,.7); } 100% { box-shadow: inset 0 0 30px rgba(255,200,100,.4); } }
@keyframes tf-left { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 75% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tf-right { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-1deg); } 75% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tf-table { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } 100% { transform: scaleY(1); } }
@keyframes tf-glow { 0% { opacity:0.3; transform: scale(0.9); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.3; transform: scale(0.9); } }

.scn-willie-catapult-construction {
  background: linear-gradient(180deg, #e8d8b8 0%, #c8b088 100%), radial-gradient(ellipse at 30% 60%, #d0b898 0%, transparent 70%);
}
.scn-willie-catapult-construction .wc-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a080 100%);
}
.scn-willie-catapult-construction .wc-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #a08060 0%, #806040 100%);
  border-radius: 10% 10% 0 0;
}
.scn-willie-catapult-construction .wc-desk {
  position: absolute; bottom: 22%; left: 20%; width: 50%; height: 8%;
  background: linear-gradient(90deg, #6a5030 0%, #8a6a4a 50%, #6a5030 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.scn-willie-catapult-construction .wc-catapult-base {
  position: absolute; bottom: 24%; left: 45%; width: 20%; height: 6%;
  background: #5a3a1a;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: wc-base-bounce 3s ease-in-out infinite;
}
.scn-willie-catapult-construction .wc-catapult-arm {
  position: absolute; bottom: 26%; left: 48%; width: 3%; height: 14%;
  background: linear-gradient(180deg, #4a2a0a 0%, #3a1a00 100%);
  border-radius: 3px;
  transform-origin: bottom center;
  animation: wc-arm-crank 2s ease-in-out infinite alternate;
}
.scn-willie-catapult-construction .wc-willie {
  position: absolute; bottom: 25%; left: 30%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #c8a070 40%, #a08060 70%, #705040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wc-willie-fidget 4s ease-in-out infinite;
}
.scn-willie-catapult-construction .wc-window {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #b0d0e0 0%, #8090a0 100%);
  border: 4px solid #6a4a2a;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: wc-window-light 6s ease-in-out infinite alternate;
}
.scn-willie-catapult-construction .wc-lamp {
  position: absolute; bottom: 35%; left: 60%; width: 4%; height: 6%;
  background: radial-gradient(circle at 50% 30%, #f0d080 0%, #c8a050 80%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(200,160,80,0.6);
  animation: wc-lamp-glow 3s ease-in-out infinite alternate;
}
@keyframes wc-base-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes wc-arm-crank {
  0% { transform: rotate(-15deg); }
  100% { transform: rotate(20deg); }
}
@keyframes wc-willie-fidget {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(4px) rotate(2deg); }
  75% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes wc-window-light {
  0% { opacity: 0.7; box-shadow: inset 0 0 10px rgba(255,255,200,0.2); }
  100% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,200,0.5); }
}
@keyframes wc-lamp-glow {
  0% { opacity: 0.8; transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1.05); }
}

.scn-willie-targets-scuttle {
  background: linear-gradient(180deg, #ded0b8 0%, #b8a88a 100%), radial-gradient(ellipse at 50% 80%, #c8b898 0%, transparent 70%);
}
.scn-willie-targets-scuttle .wt-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
}
.scn-willie-targets-scuttle .wt-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #887058 0%, #685038 100%);
  border-radius: 10% 10% 0 0;
}
.scn-willie-targets-scuttle .wt-scuttle {
  position: absolute; bottom: 18%; left: 35%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5), inset 0 -4px 6px rgba(100,70,40,0.4);
  animation: wt-scuttle-shake 8s ease-in-out infinite;
}
.scn-willie-targets-scuttle .wt-ink-bottle {
  position: absolute; bottom: 28%; left: 48%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #5a3a6a 0%, #3a1a4a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: wt-bottle-sway 4s ease-in-out infinite;
}
.scn-willie-targets-scuttle .wt-willie {
  position: absolute; bottom: 25%; left: 28%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #b8a080 40%, #907060 70%, #604040 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wt-willie-aim 5s ease-in-out infinite;
}
.scn-willie-targets-scuttle .wt-scraggs {
  position: absolute; bottom: 25%; left: 58%; width: 14%; height: 22%;
  background: radial-gradient(ellipse at 50% 30%, #b09070 40%, #887060 70%, #584840 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: wt-scraggs-reach 6s ease-in-out infinite;
}
.scn-willie-targets-scuttle .wt-pencil {
  position: absolute; bottom: 30%; left: 40%; width: 2%; height: 16%;
  background: linear-gradient(180deg, #d0a020 0%, #b08010 80%, #3a2a1a 100%);
  border-radius: 2px;
  transform-origin: bottom center;
  animation: wt-pencil-point 3s ease-in-out infinite alternate;
}
@keyframes wt-scuttle-shake {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-2px); }
  70% { transform: translateY(2px); }
}
@keyframes wt-bottle-sway {
  0%, 100% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(3deg) translateY(-1px); }
  75% { transform: rotate(-2deg) translateY(1px); }
}
@keyframes wt-willie-aim {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(5deg); }
}
@keyframes wt-scraggs-reach {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(8px); }
}
@keyframes wt-pencil-point {
  0% { transform: rotate(-10deg); }
  100% { transform: rotate(10deg); }
}

.scn-item-ink-bottle {
  background: linear-gradient(180deg, #d8c8a8 0%, #b8a080 100%), radial-gradient(ellipse at 50% 80%, #c8b090 0%, transparent 60%);
}
.scn-item-ink-bottle .ib-surface {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #987858 0%, #786038 100%);
  border-radius: 12% 12% 0 0;
}
.scn-item-ink-bottle .ib-bottle-body {
  position: absolute; bottom: 20%; left: 38%; width: 24%; height: 30%;
  background: linear-gradient(180deg, #5a3a6a 0%, #3a1a4a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4), inset 0 4px 8px rgba(200,150,220,0.2);
  animation: ib-bottle-glow 4s ease-in-out infinite alternate;
}
.scn-item-ink-bottle .ib-bottle-neck {
  position: absolute; bottom: 50%; left: 45%; width: 10%; height: 8%;
  background: linear-gradient(180deg, #6a4a7a 0%, #4a2a5a 100%);
  border-radius: 10% 10% 20% 20%;
}
.scn-item-ink-bottle .ib-ink {
  position: absolute; bottom: 22%; left: 40%; width: 20%; height: 18%;
  background: linear-gradient(180deg, #1a0a2a 0%, #2a1a3a 100%);
  border-radius: 30% 30% 20% 20%;
  animation: ib-ink-slosh 5s ease-in-out infinite;
}
.scn-item-ink-bottle .ib-splash {
  position: absolute; bottom: 18%; left: 44%; width: 12%; height: 8%;
  background: radial-gradient(circle, #3a1a4a 0%, transparent 70%);
  border-radius: 50%;
  animation: ib-splash-burst 3s ease-in-out infinite alternate;
}
.scn-item-ink-bottle .ib-shadow {
  position: absolute; bottom: 0%; left: 35%; width: 30%; height: 6%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.3) 0%, transparent 100%);
  border-radius: 50%;
  animation: ib-shadow-shift 4s ease-in-out infinite;
}
.scn-item-ink-bottle .ib-hand {
  position: absolute; bottom: 30%; left: 28%; width: 8%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #c8a080 40%, #a08060 70%, #705040 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: ib-hand-reach 6s ease-in-out infinite;
}
@keyframes ib-bottle-glow {
  0% { opacity: 0.8; box-shadow: 0 4px 12px rgba(90,58,106,0.3); }
  100% { opacity: 1; box-shadow: 0 8px 24px rgba(90,58,106,0.6); }
}
@keyframes ib-ink-slosh {
  0%, 100% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-2px) scale(1.02); }
  75% { transform: translateY(2px) scale(0.98); }
}
@keyframes ib-splash-burst {
  0% { transform: scale(1); opacity: 0.3; }
  100% { transform: scale(1.5); opacity: 0; }
}
@keyframes ib-shadow-shift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(5px); }
}
@keyframes ib-hand-reach {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-8px) rotate(5deg); }
}

.scn-ink-bottle-hits-camel {
  background: linear-gradient(180deg, #b8d8e8 0%, #d0e0f0 40%, #f0e0b0 80%, #e0c090 100%), radial-gradient(ellipse at 70% 10%, #e8e8c0 0%, transparent 60%);
}
.scn-ink-bottle-hits-camel .ic-sky {
  position: absolute; inset: 0 0 50% 0;
  background: linear-gradient(180deg, #a0c0e0 0%, #d0e0f0 100%);
  animation: ic-sky-pulse 12s ease-in-out infinite alternate;
}
.scn-ink-bottle-hits-camel .ic-buildings {
  position: absolute; bottom: 35%; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b0a090 0%, #807060 100%);
  clip-path: polygon(0% 100%, 5% 40%, 10% 100%, 20% 30%, 30% 100%, 45% 20%, 55% 100%, 70% 35%, 80% 100%, 90% 25%, 100% 100%);
}
.scn-ink-bottle-hits-camel .ic-street {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #887868 0%, #685848 100%);
}
.scn-ink-bottle-hits-camel .ic-parabola {
  position: absolute; bottom: 60%; left: 20%; width: 2%; height: 2%;
  background: #3a1a4a;
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(58,26,74,0.5);
  animation: ic-path 4s cubic-bezier(0.25,0.1,0.25,1) infinite alternate;
}
.scn-ink-bottle-hits-camel .ic-camel-face {
  position: absolute; bottom: 25%; right: 20%; width: 30%; height: 35%;
  background: radial-gradient(ellipse at 50% 40%, #e8d080 0%, #c8a050 60%, #a07030 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  animation: ic-camel-turn 6s ease-in-out infinite alternate;
}
.scn-ink-bottle-hits-camel .ic-sooty-lips {
  position: absolute; bottom: 30%; right: 26%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 40% 40% 50% 50%;
  animation: ic-lips-munch 3s ease-in-out infinite alternate;
}
.scn-ink-bottle-hits-camel .ic-ink-bottle {
  position: absolute; bottom: 55%; left: 25%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #5a3a6a 0%, #3a1a4a 100%);
  border-radius: 30% 30% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  animation: ic-bottle-fly 4s cubic-bezier(0.25,0.1,0.25,1) infinite alternate;
}
.scn-ink-bottle-hits-camel .ic-sun {
  position: absolute; top: 5%; left: 70%; width: 12%; height: 12%;
  background: radial-gradient(circle at 50% 50%, #ffe080 0%, #ffc040 50%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 60px 20px rgba(255,192,64,0.4);
  animation: ic-sun-glow 8s ease-in-out infinite alternate;
}
@keyframes ic-sky-pulse {
  0% { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes ic-path {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(40px, -60px) scale(1.2); }
  100% { transform: translate(80px, -20px) scale(0.8); }
}
@keyframes ic-camel-turn {
  0% { transform: rotate(-5deg) scale(0.98); }
  100% { transform: rotate(5deg) scale(1.02); }
}
@keyframes ic-lips-munch {
  0% { transform: scaleY(1); }
  100% { transform: scaleY(0.5); }
}
@keyframes ic-bottle-fly {
  0% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(60px, -70px) rotate(180deg); }
  100% { transform: translate(120px, -30px) rotate(360deg); }
}
@keyframes ic-sun-glow {
  0% { opacity: 0.7; transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1.05); }
}

.scn-station-house-plotting {
  background:
    linear-gradient(180deg, #1a1a1a 0%, #2b2218 40%, #3a2f1f 70%, #1f1a12 100%),
    radial-gradient(ellipse at 50% 100%, #4a3a2a 0%, transparent 70%);
}
.scn-station-house-plotting .wall-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2a2218 0%, #1f1a12 100%);
  animation: stn-wall 20s ease-in-out infinite alternate;
}
.scn-station-house-plotting .desk {
  position: absolute;
  bottom: 20%;
  left: 25%;
  width: 50%;
  height: 25%;
  background: linear-gradient(180deg, #5a4a2a 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.6);
  transform: perspective(600px) rotateX(5deg);
}
.scn-station-house-plotting .lamp {
  position: absolute;
  bottom: 40%;
  left: 35%;
  width: 8px;
  height: 20px;
  background: #8a7a5a;
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 2px #c0a060;
}
.scn-station-house-plotting .lamp-glow {
  position: absolute;
  bottom: 38%;
  left: 30%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, #d0b070 0%, rgba(200,160,80,0.3) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(8px);
  animation: stn-flicker 2s ease-in-out infinite alternate;
}
.scn-station-house-plotting .figure-delany {
  position: absolute;
  bottom: 16%;
  left: 30%;
  width: 30px;
  height: 60px;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: stn-delany 6s ease-in-out infinite alternate;
}
.scn-station-house-plotting .figure-tony {
  position: absolute;
  bottom: 18%;
  left: 52%;
  width: 24px;
  height: 48px;
  background: linear-gradient(180deg, #1f1a12 0%, #0f0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: stn-tony 4s ease-in-out infinite alternate;
  box-shadow: -4px 0 8px rgba(0,0,0,0.5);
}
.scn-station-house-plotting .shadow-shape {
  position: absolute;
  bottom: 12%;
  left: 25%;
  width: 60%;
  height: 15%;
  background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,0.4) 0%, transparent 100%);
  filter: blur(6px);
  animation: stn-shadow 8s ease-in-out infinite alternate;
}
.scn-station-house-plotting .paper {
  position: absolute;
  bottom: 32%;
  left: 40%;
  width: 30px;
  height: 20px;
  background: #8a7a5a;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transform: rotate(5deg);
  animation: stn-paper 5s ease-in-out infinite alternate;
}

@keyframes stn-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes stn-flicker { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.8; transform: scale(0.95); } }
@keyframes stn-delany { 0% { transform: translate(0,0) rotate(-2deg); } 50% { transform: translate(2px,-1px) rotate(2deg); } 100% { transform: translate(4px,0) rotate(-1deg); } }
@keyframes stn-tony { 0% { transform: translate(0,0) rotate(1deg); } 50% { transform: translate(-3px,-2px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(2deg); } }
@keyframes stn-shadow { 0% { opacity: 0.6; transform: scaleY(1); } 50% { opacity: 0.8; transform: scaleY(1.2); } 100% { opacity: 0.5; transform: scaleY(0.9); } }
@keyframes stn-paper { 0% { transform: rotate(5deg) translate(0,0); } 50% { transform: rotate(-2deg) translate(2px,-1px); } 100% { transform: rotate(8deg) translate(0,0); } }

.scn-magistrate-hearing {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e8dfd0 50%, #d4c8b8 100%),
    radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 70%);
}
.scn-magistrate-hearing .wall-court {
  position: absolute;
  inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e0d8c8 0%, #c8b8a8 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.1);
}
.scn-magistrate-hearing .bench {
  position: absolute;
  bottom: 30%;
  left: 10%;
  width: 80%;
  height: 20%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-magistrate-hearing .magistrate {
  position: absolute;
  bottom: 35%;
  left: 35%;
  width: 40px;
  height: 70px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1810 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mag-sit 8s ease-in-out infinite alternate;
}
.scn-magistrate-hearing .boy-stand {
  position: absolute;
  bottom: 20%;
  left: 50%;
  width: 28px;
  height: 60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1f14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: mag-stand 4s ease-in-out infinite alternate;
  box-shadow: 2px 0 6px rgba(0,0,0,0.2);
}
.scn-magistrate-hearing .table {
  position: absolute;
  bottom: 15%;
  left: 20%;
  width: 60%;
  height: 12%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
}
.scn-magistrate-hearing .gavel {
  position: absolute;
  bottom: 30%;
  left: 28%;
  width: 12px;
  height: 18px;
  background: #5a4a3a;
  border-radius: 20%;
  transform: rotate(-10deg);
  animation: mag-gavel 3s ease-in-out infinite alternate;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-magistrate-hearing .light-beam {
  position: absolute;
  top: 0;
  left: 30%;
  width: 40%;
  height: 80%;
  background: linear-gradient(180deg, rgba(255,255,240,0.15) 0%, transparent 100%);
  filter: blur(12px);
  animation: mag-light 6s ease-in-out infinite alternate;
}

@keyframes mag-sit { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(1px,-2px) rotate(1deg); } 100% { transform: translate(-1px,0) rotate(-1deg); } }
@keyframes mag-stand { 0% { transform: translate(0,0) rotate(-2deg); } 50% { transform: translate(3px,-1px) rotate(1deg); } 100% { transform: translate(0,0) rotate(2deg); } }
@keyframes mag-gavel { 0% { transform: rotate(-10deg) translate(0,0); } 50% { transform: rotate(5deg) translate(0,-2px); } 100% { transform: rotate(-10deg) translate(0,0); } }
@keyframes mag-light { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }

.scn-judge-harrison-suspicion {
  background:
    linear-gradient(180deg, #e8dfd0 0%, #d4c8b8 50%, #c0b0a0 100%),
    radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 80%);
}
.scn-judge-harrison-suspicion .bg-panel {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d0c8b8 0%, #b8a898 100%);
  box-shadow: inset 0 4px 16px rgba(0,0,0,0.05);
}
.scn-judge-harrison-suspicion .judge-desk {
  position: absolute;
  bottom: 22%;
  left: 15%;
  width: 70%;
  height: 22%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
}
.scn-judge-harrison-suspicion .judge-figure {
  position: absolute;
  bottom: 30%;
  left: 40%;
  width: 36px;
  height: 65px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1810 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jud-judge 6s ease-in-out infinite alternate;
}
.scn-judge-harrison-suspicion .tony-figure {
  position: absolute;
  bottom: 18%;
  left: 52%;
  width: 24px;
  height: 50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1f14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jud-tony 4s ease-in-out infinite alternate;
  box-shadow: 2px 0 6px rgba(0,0,0,0.2);
}
.scn-judge-harrison-suspicion .paper-stack {
  position: absolute;
  bottom: 25%;
  left: 35%;
  width: 20px;
  height: 12px;
  background: #8a7a5a;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: jud-paper 5s ease-in-out infinite alternate;
}
.scn-judge-harrison-suspicion .lamp-desk {
  position: absolute;
  bottom: 28%;
  left: 25%;
  width: 10px;
  height: 24px;
  background: #8a7a5a;
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 12px 2px #c0a060;
  animation: jud-lamp 2s ease-in-out infinite alternate;
}
.scn-judge-harrison-suspicion .suspicion-hover {
  position: absolute;
  top: 5%;
  left: 30%;
  width: 40%;
  height: 60%;
  background: radial-gradient(ellipse at 50% 50%, rgba(100,140,180,0.08) 0%, transparent 100%);
  filter: blur(20px);
  animation: jud-hover 8s ease-in-out infinite alternate;
}

@keyframes jud-judge { 0% { transform: translate(0,0) rotate(-1deg); } 50% { transform: translate(2px,-2px) rotate(2deg); } 100% { transform: translate(-2px,0) rotate(-1deg); } }
@keyframes jud-tony { 0% { transform: translate(0,0) rotate(2deg); } 50% { transform: translate(-4px,-1px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(-2deg); } }
@keyframes jud-paper { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(2px,-1px) rotate(3deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes jud-lamp { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.9; transform: scale(0.95); } }
@keyframes jud-hover { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.5; } }

.scn-tony-fears-railroad {
  background:
    linear-gradient(180deg, #c8b8a8 0%, #a89880 50%, #887868 100%),
    radial-gradient(ellipse at 50% 0%, #e0d0b8 0%, transparent 70%);
}
.scn-tony-fears-railroad .floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-tony-fears-railroad .wall-far {
  position: absolute;
  inset: 0 0 30% 0;
  background: linear-gradient(180deg, #b8a898 0%, #a09080 100%);
  box-shadow: inset 0 4px 16px rgba(0,0,0,0.1);
}
.scn-tony-fears-railroad .tony-silhouette {
  position: absolute;
  bottom: 22%;
  left: 30%;
  width: 28px;
  height: 60px;
  background: linear-gradient(180deg, #1f1810 0%, #0f0a08 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ton-stand 3s ease-in-out infinite alternate;
  box-shadow: -4px 0 12px rgba(0,0,0,0.4);
}
.scn-tony-fears-railroad .judge-silhouette {
  position: absolute;
  bottom: 20%;
  left: 55%;
  width: 34px;
  height: 65px;
  background: linear-gradient(180deg, #2a2218 0%, #1a1410 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  animation: ton-judge 5s ease-in-out infinite alternate;
}
.scn-tony-fears-railroad .mother-figure {
  position: absolute;
  bottom: 24%;
  left: 15%;
  width: 22px;
  height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1f14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ton-mother 6s ease-in-out infinite alternate;
}
.scn-tony-fears-railroad .janitor-figure {
  position: absolute;
  bottom: 20%;
  left: 70%;
  width: 24px;
  height: 52px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1f14 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: scaleX(-1);
  animation: ton-janitor 7s ease-in-out infinite alternate;
}
.scn-tony-fears-railroad .rabbi-figure {
  position: absolute;
  bottom: 22%;
  left: 85%;
  width: 20px;
  height: 48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f1810 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: ton-rabbi 8s ease-in-out infinite alternate;
}
.scn-tony-fears-railroad .gavel-heavy {
  position: absolute;
  bottom: 18%;
  left: 48%;
  width: 14px;
  height: 20px;
  background: #5a4a3a;
  border-radius: 20%;
  transform: rotate(15deg);
  box-shadow: 2px 4px 8px rgba(0,0,0,0.4);
  animation: ton-gavel 2s ease-in-out infinite alternate;
}

@keyframes ton-stand { 0% { transform: translate(0,0) rotate(-3deg); } 50% { transform: translate(5px,-2px) rotate(2deg); } 100% { transform: translate(0,0) rotate(-3deg); } }
@keyframes ton-judge { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(-2px,-1px) rotate(1deg); } 100% { transform: translate(2px,0) rotate(-1deg); } }
@keyframes ton-mother { 0% { transform: translate(0,0) rotate(-1deg); } 50% { transform: translate(3px,-2px) rotate(2deg); } 100% { transform: translate(0,0) rotate(-1deg); } }
@keyframes ton-janitor { 0% { transform: scaleX(-1) translate(0,0); } 50% { transform: scaleX(-1) translate(2px,-1px); } 100% { transform: scaleX(-1) translate(0,0); } }
@keyframes ton-rabbi { 0% { transform: translate(0,0) rotate(1deg); } 50% { transform: translate(-2px,-1px) rotate(-1deg); } 100% { transform: translate(0,0) rotate(1deg); } }
@keyframes ton-gavel { 0% { transform: rotate(15deg) translate(0,0); } 50% { transform: rotate(-5deg) translate(0,-3px); } 100% { transform: rotate(15deg) translate(0,0); } }

/* Scene 1: hogan-bluffs-and-fails */
.scn-hogan-bluffs-and-fails {
  background: 
    linear-gradient(180deg, #f9f3e0 0%, #e8d8b0 40%, #c8b088 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e0 0%, rgba(200,176,136,0.4) 70%);
}
.scn-hogan-bluffs-and-fails .bg-wall {
  position: absolute; inset: 0; 
  background: repeating-linear-gradient(90deg, #e8d8b0 0px, #e8d8b0 4px, #dcc8a0 4px, #dcc8a0 8px);
  opacity: 0.3;
  animation: hbf-wall 6s linear infinite;
}
.scn-hogan-bluffs-and-fails .judge-bench {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 30%;
  background: linear-gradient(180deg, #6b4a2e 0%, #4a3218 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 -8px 20px rgba(0,0,0,0.4);
}
.scn-hogan-bluffs-and-fails .judge-silhouette {
  position: absolute; bottom: 32%; left: 36%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0e05 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  animation: hbf-judge 2s ease-in-out infinite alternate;
}
.scn-hogan-bluffs-and-fails .gavel {
  position: absolute; bottom: 42%; left: 44%; width: 6%; height: 4%;
  background: #3a2810;
  border-radius: 20% 20% 20% 20% / 50% 50% 40% 40%;
  transform: rotate(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: hbf-gavel 1.5s ease-in-out infinite;
}
.scn-hogan-bluffs-and-fails .lawyer-podium {
  position: absolute; bottom: 20%; right: 15%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e22 100%);
  border-radius: 5px 5px 0 0;
}
.scn-hogan-bluffs-and-fails .lawyer-figure {
  position: absolute; bottom: 28%; right: 18%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: hbf-lawyer 3s ease-in-out infinite;
}
.scn-hogan-bluffs-and-fails .clock {
  position: absolute; top: 12%; left: 70%; width: 10%; height: 10%;
  background: radial-gradient(circle, #f0e0c0 0%, #b09060 70%);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(200,160,80,0.3);
  animation: hbf-clock 4s linear infinite;
}
.scn-hogan-bluffs-and-fails .shadow-stripe {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, transparent 30%, rgba(0,0,0,0.1) 50%, transparent 70%);
  animation: hbf-stripe 8s ease-in-out infinite alternate;
}

@keyframes hbf-wall {
  0%,100% { opacity: 0.3; }
  50% { opacity: 0.5; }
}
@keyframes hbf-judge {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.02); }
  100% { transform: translateY(2px) scale(0.98); }
}
@keyframes hbf-gavel {
  0%,100% { transform: rotate(-10deg) translateY(0); }
  25% { transform: rotate(-5deg) translateY(-3px); }
  50% { transform: rotate(5deg) translateY(0); }
  75% { transform: rotate(-5deg) translateY(-1px); }
}
@keyframes hbf-lawyer {
  0% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(6px) rotate(2deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(-6px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes hbf-clock {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.05); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes hbf-stripe {
  0% { transform: translateX(-20%); }
  50% { transform: translateX(20%); }
  100% { transform: translateX(-20%); }
}

/* Scene 2: tutt-assigned-defense */
.scn-tutt-assigned-defense {
  background:
    linear-gradient(180deg, #f1ead0 0%, #d4c4a0 40%, #a89070 100%),
    radial-gradient(ellipse at 30% 60%, #fff8e8 0%, rgba(200,180,140,0.3) 80%);
}
.scn-tutt-assigned-defense .courtroom-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #e5d8b8 0%, #d4c4a0 50%, #e5d8b8 100%);
  animation: tad-bg 10s linear infinite alternate;
}
.scn-tutt-assigned-defense .jury-box {
  position: absolute; bottom: 15%; left: 5%; width: 25%; height: 55%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3218 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.3);
  animation: tad-jury 12s ease-in-out infinite;
}
.scn-tutt-assigned-defense .tutt-silhouette {
  position: absolute; bottom: 20%; left: 40%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0e0a05 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: tad-tutt 4s ease-in-out infinite;
}
.scn-tutt-assigned-defense .defendant-profile {
  position: absolute; bottom: 22%; left: 52%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 30% 20% 30% / 60% 40% 40% 60%;
  filter: drop-shadow(2px 0 4px rgba(0,0,0,0.5));
  animation: tad-def 5s ease-in-out infinite alternate;
}
.scn-tutt-assigned-defense .defendant-arm {
  position: absolute; bottom: 26%; left: 56%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0e0a05 100%);
  border-radius: 40% 40% 20% 20%;
  transform: rotate(20deg);
  transform-origin: top left;
  animation: tad-arm 3s ease-in-out infinite;
}
.scn-tutt-assigned-defense .railing {
  position: absolute; bottom: 10%; left: 10%; right: 10%; height: 3%;
  background: repeating-linear-gradient(90deg, #6b4a2e 0px, #6b4a2e 10px, transparent 10px, transparent 20px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-tutt-assigned-defense .light-shaft {
  position: absolute; top: 0; left: 30%; width: 40%; height: 100%;
  background: linear-gradient(180deg, rgba(255,248,224,0.3) 0%, transparent 60%);
  animation: tad-light 6s linear infinite alternate;
}

@keyframes tad-bg {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes tad-jury {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.01); }
  100% { transform: translateY(1px) scale(0.99); }
}
@keyframes tad-tutt {
  0% { transform: translateY(0) rotate(0deg); }
  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 tad-def {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-3px) scale(0.98); }
  100% { transform: translateX(2px) scale(1.02); }
}
@keyframes tad-arm {
  0%,100% { transform: rotate(20deg) translateX(0); }
  50% { transform: rotate(25deg) translateX(2px); }
}
@keyframes tad-light {
  0% { transform: translateY(-10%); opacity: 0.3; }
  50% { transform: translateY(5%); opacity: 0.6; }
  100% { transform: translateY(-10%); opacity: 0.3; }
}

/* Scene 3: delany-testifies-and-faints */
.scn-delany-testifies-and-faints {
  background:
    linear-gradient(180deg, #f5eed8 0%, #d9c9a8 40%, #b8a080 100%),
    radial-gradient(ellipse at 70% 40%, #fff8e0 0%, rgba(200,180,140,0.2) 80%);
}
.scn-delany-testifies-and-faints .room-deep {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #e8d8b8 0%, #d4c4a0 50%, #e0d0b0 100%);
  animation: dte-room 8s linear infinite alternate;
}
.scn-delany-testifies-and-faints .spectator-rows {
  position: absolute; bottom: 10%; left: 0; right: 0; height: 40%;
  background: repeating-linear-gradient(180deg, #7a5a3a 0px, #7a5a3a 3px, #5a3e22 3px, #5a3e22 6px);
  opacity: 0.4;
  animation: dte-rows 5s ease-in-out infinite;
}
.scn-delany-testifies-and-faints .cowering-figure {
  position: absolute; bottom: 20%; left: 60%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dte-cower 2s ease-in-out infinite;
}
.scn-delany-testifies-and-faints .judge-arm-pointing {
  position: absolute; bottom: 50%; left: 20%; width: 4%; height: 25%;
  background: #2a1a0a;
  border-radius: 20% 20% 20% 20% / 30% 30% 20% 20%;
  transform: rotate(-30deg);
  transform-origin: bottom left;
  animation: dte-point 1.5s linear infinite;
}
.scn-delany-testifies-and-faints .podium {
  position: absolute; bottom: 18%; left: 25%; width: 12%; height: 18%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e22 100%);
  border-radius: 5px;
}
.scn-delany-testifies-and-faints .doorway {
  position: absolute; top: 0; right: 10%; width: 18%; height: 60%;
  background: #8a7050;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: dte-door 10s linear infinite;
}
.scn-delany-testifies-and-faints .fear-haze {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, transparent 30%, rgba(0,0,0,0.15) 70%);
  animation: dte-haze 4s ease-in-out infinite alternate;
}

@keyframes dte-room {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes dte-rows {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes dte-cower {
  0% { transform: scale(1) translateX(0); }
  25% { transform: scale(0.95) translateX(-4px); }
  50% { transform: scale(1.02) translateX(2px); }
  75% { transform: scale(0.98) translateX(-2px); }
  100% { transform: scale(1) translateX(0); }
}
@keyframes dte-point {
  0% { transform: rotate(-30deg) translateY(0); }
  25% { transform: rotate(-25deg) translateY(-2px); }
  50% { transform: rotate(-35deg) translateY(1px); }
  75% { transform: rotate(-28deg) translateY(-1px); }
  100% { transform: rotate(-30deg) translateY(0); }
}
@keyframes dte-door {
  0% { transform: translateX(0); opacity: 0.8; }
  50% { transform: translateX(5px); opacity: 0.5; }
  100% { transform: translateX(-5px); opacity: 0.8; }
}
@keyframes dte-haze {
  0% { opacity: 0.4; }
  50% { opacity: 0.8; }
  100% { opacity: 0.4; }
}

/* Scene 4: delany-collapses */
.scn-delany-collapses {
  background:
    linear-gradient(180deg, #e8d8c0 0%, #c8b098 50%, #a08870 100%),
    radial-gradient(ellipse at 50% 50%, rgba(255,240,200,0.3) 0%, transparent 70%);
}
.scn-delany-collapses .witness-stand {
  position: absolute; bottom: 20%; left: 35%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3218 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: 0 -4px 10px rgba(0,0,0,0.4);
}
.scn-delany-collapses .delany-silhouette {
  position: absolute; bottom: 28%; left: 40%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dtc-del 1.5s ease-in-out infinite;
}
.scn-delany-collapses .tutt-eyes {
  position: absolute; top: 30%; left: 25%; width: 6%; height: 4%;
  background: radial-gradient(circle, #ffffff 0%, #c0a070 40%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 20px 4px rgba(200,160,80,0.6);
  animation: dtc-eyes 2s ease-in-out infinite alternate;
}
.scn-delany-collapses .courtroom-swirl {
  position: absolute; inset: 0;
  background: repeating-conic-gradient(from 0deg, transparent 0deg, transparent 20deg, rgba(0,0,0,0.03) 20deg, rgba(0,0,0,0.03) 40deg);
  animation: dtc-swirl 12s linear infinite;
}
.scn-delany-collapses .brick {
  position: absolute; bottom: 22%; left: 52%; width: 6%; height: 4%;
  background: #9a4a2a;
  border-radius: 3px;
  transform: rotate(15deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: dtc-brick 8s ease-in-out infinite;
}
.scn-delany-collapses .shadow-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0,0,0,0.3) 100%);
  animation: dtc-vignette 5s ease-in-out infinite alternate;
}
.scn-delany-collapses .spiral-lines {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, transparent 0px, transparent 15px, rgba(0,0,0,0.05) 15px, rgba(0,0,0,0.05) 16px);
  animation: dtc-spiral 10s linear infinite;
}

@keyframes dtc-del {
  0% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-5px) rotate(2deg); }
  40% { transform: translateY(3px) rotate(-3deg); }
  60% { transform: translateY(-2px) rotate(1deg); }
  80% { transform: translateY(1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes dtc-eyes {
  0% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
  100% { opacity: 0.5; transform: scale(0.9); }
}
@keyframes dtc-swirl {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.05); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes dtc-brick {
  0%,100% { transform: rotate(15deg) translateY(0); }
  25% { transform: rotate(20deg) translateY(-4px); }
  50% { transform: rotate(10deg) translateY(2px); }
  75% { transform: rotate(18deg) translateY(-2px); }
}
@keyframes dtc-vignette {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
@keyframes dtc-spiral {
  0% { transform: translate(0,0); }
  25% { transform: translate(3px, -2px); }
  50% { transform: translate(-5px, 1px); }
  75% { transform: translate(2px, 3px); }
  100% { transform: translate(0,0); }
}

/* ===== Scene 1: nuncupative-will-explained ===== */
.scn-nuncupative-will-explained {
  background: linear-gradient(180deg, #f7f1e3 0%, #d9c9b8 50%), radial-gradient(ellipse at 40% 30%, rgba(255,255,240,0.6) 0%, transparent 70%);
}
.scn-nuncupative-will-explained .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8ddd0 0%, #cfbcab 100%);
}
.scn-nuncupative-will-explained .window-frame {
  position: absolute; top: 8%; left: 12%; width: 28%; height: 45%;
  border: 3px solid #8b7355; border-radius: 4px;
  background: linear-gradient(180deg, #b7cdd6 0%, #a2b9c4 100%);
  box-shadow: inset 0 0 20px rgba(0,0,0,0.1);
}
.scn-nuncupative-will-explained .window-light {
  position: absolute; top: 10%; left: 14%; width: 24%; height: 41%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,230,0.3) 0%, transparent 70%);
  filter: blur(8px);
  animation: nwe-window-light 8s ease-in-out infinite alternate;
}
.scn-nuncupative-will-explained .bookshelf {
  position: absolute; top: 10%; right: 8%; width: 30%; height: 50%;
  background: linear-gradient(90deg, #6b4f3a 0%, #5a3f2c 100%);
  border-radius: 2px;
  box-shadow: 3px 3px 8px rgba(0,0,0,0.3);
}
.scn-nuncupative-will-explained .bookshelf::after {
  content: ''; position: absolute; inset: 8% 8% 8% 8%;
  background: repeating-linear-gradient(0deg, #7a5c42 0px, #7a5c42 2px, #8b6b4e 2px, #8b6b4e 4px);
  opacity: 0.5;
}
.scn-nuncupative-will-explained .desk {
  position: absolute; bottom: 18%; left: 25%; width: 50%; height: 8%;
  background: linear-gradient(180deg, #9c7b5f 0%, #7b5f45 100%);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-nuncupative-will-explained .lamp-base {
  position: absolute; bottom: 25%; left: 38%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #d4af37 0%, #b8942e 100%);
  border-radius: 50% 50% 10% 10%;
  transform-origin: bottom center;
  animation: nwe-lamp-sway 6s ease-in-out infinite;
}
.scn-nuncupative-will-explained .lamp-glow {
  position: absolute; bottom: 37%; left: 37%; width: 8%; height: 10%;
  background: radial-gradient(circle, rgba(255,255,200,0.7) 0%, rgba(255,255,200,0) 70%);
  filter: blur(6px);
  animation: nwe-lamp-pulse 4s ease-in-out infinite alternate;
}
.scn-nuncupative-will-explained .figure-left {
  position: absolute; bottom: 18%; left: 30%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #3a3128 0%, #1f1813 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nwe-figure-left 7s ease-in-out infinite;
}
.scn-nuncupative-will-explained .figure-right {
  position: absolute; bottom: 18%; right: 35%; width: 8%; height: 32%;
  background: linear-gradient(180deg, #2e2620 0%, #140f0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: nwe-figure-right 8s ease-in-out infinite;
}
@keyframes nwe-window-light {
  0% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.02); }
  100% { opacity: 0.7; transform: scale(1); }
}
@keyframes nwe-lamp-sway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
}
@keyframes nwe-lamp-pulse {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(1); }
}
@keyframes nwe-figure-left {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-2px) rotate(-0.5deg); }
  66% { transform: translateY(1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes nwe-figure-right {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(1px) rotate(0.5deg); }
  50% { transform: translateY(-2px) rotate(-0.5deg); }
  75% { transform: translateY(1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

/* ===== Scene 2: incorporation-by-reference ===== */
.scn-incorporation-by-reference {
  background: linear-gradient(180deg, #f0ead6 0%, #d6c9b0 60%), radial-gradient(ellipse at 60% 40%, rgba(255,255,220,0.5) 0%, transparent 70%);
}
.scn-incorporation-by-reference .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e3d5c0 0%, #c9b69a 100%);
}
.scn-incorporation-by-reference .window-frame {
  position: absolute; top: 10%; left: 10%; width: 25%; height: 40%;
  border: 3px solid #7a6042;
  background: linear-gradient(180deg, #b7cbd6 0%, #a0b2c0 100%);
  border-radius: 4px;
}
.scn-incorporation-by-reference .window-light {
  position: absolute; top: 12%; left: 12%; width: 21%; height: 36%;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,240,0.25) 0%, transparent 70%);
  filter: blur(6px);
  animation: icr-window-light 10s ease-in-out infinite alternate;
}
.scn-incorporation-by-reference .bookshelf {
  position: absolute; top: 8%; right: 5%; width: 35%; height: 55%;
  background: linear-gradient(0deg, #5c4331 0%, #4a3324 100%);
  border-radius: 2px;
  box-shadow: -2px 2px 6px rgba(0,0,0,0.2);
}
.scn-incorporation-by-reference .bookshelf::after {
  content: ''; position: absolute; inset: 6% 6% 6% 6%;
  background: repeating-linear-gradient(0deg, #6b4f3a 0px, #6b4f3a 3px, #7d5d44 3px, #7d5d44 5px);
  opacity: 0.4;
}
.scn-incorporation-by-reference .desk {
  position: absolute; bottom: 16%; left: 20%; width: 60%; height: 7%;
  background: linear-gradient(180deg, #a88765 0%, #8a6b4c 100%);
  border-radius: 3px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}
.scn-incorporation-by-reference .paper-stack {
  position: absolute; bottom: 23%; left: 45%; width: 12%; height: 4%;
  background: linear-gradient(180deg, #faf7ed 0%, #e6dfd0 100%);
  border-radius: 1px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.15);
  transform: rotate(2deg);
  animation: icr-paper-stack 6s ease-in-out infinite alternate;
}
.scn-incorporation-by-reference .seal {
  position: absolute; bottom: 22%; left: 55%; width: 5%; height: 5%;
  background: radial-gradient(circle, #c8553d 0%, #a03a28 100%);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  animation: icr-seal 4s ease-in-out infinite;
}
.scn-incorporation-by-reference .figure-standing {
  position: absolute; bottom: 14%; left: 25%; width: 7%; height: 38%;
  background: linear-gradient(180deg, #2b2420 0%, #150f0d 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: icr-figure-stand 8s ease-in-out infinite;
}
.scn-incorporation-by-reference .figure-seated {
  position: absolute; bottom: 16%; right: 30%; width: 9%; height: 30%;
  background: linear-gradient(180deg, #332a24 0%, #19130f 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: icr-figure-seat 7s ease-in-out infinite;
}
@keyframes icr-window-light {
  0% { opacity: 0.5; transform: scale(0.98); }
  33% { opacity: 0.8; transform: scale(1.02); }
  66% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 0.6; transform: scale(0.99); }
}
@keyframes icr-paper-stack {
  0% { transform: rotate(2deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(-1px); }
  100% { transform: rotate(2deg) translateY(0); }
}
@keyframes icr-seal {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
@keyframes icr-figure-stand {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-2px) rotate(-0.5deg); }
  66% { transform: translateY(1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes icr-figure-seat {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(1px) rotate(0.5deg); }
  50% { transform: translateY(-1px) rotate(-0.5deg); }
  75% { transform: translateY(0) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

/* ===== Scene 3: later-paper-invalid ===== */
.scn-later-paper-invalid {
  background: linear-gradient(180deg, #ece5d8 0%, #d4c4b0 60%), radial-gradient(ellipse at 50% 30%, rgba(255,255,230,0.4) 0%, transparent 70%);
}
.scn-later-paper-invalid .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #ddd2c2 0%, #c5b49e 100%);
}
.scn-later-paper-invalid .window-frame {
  position: absolute; top: 12%; right: 10%; width: 30%; height: 42%;
  border: 3px solid #7a6042;
  background: linear-gradient(180deg, #b7cdd6 0%, #a2b9c4 100%);
  border-radius: 4px;
}
.scn-later-paper-invalid .window-light {
  position: absolute; top: 14%; right: 12%; width: 26%; height: 38%;
  background: radial-gradient(ellipse at 50% 20%, rgba(255,255,240,0.3) 0%, transparent 80%);
  filter: blur(6px);
  animation: lpi-window-light 12s ease-in-out infinite alternate;
}
.scn-later-paper-invalid .desk {
  position: absolute; bottom: 18%; left: 15%; width: 70%; height: 6%;
  background: linear-gradient(180deg, #a88765 0%, #8a6b4c 100%);
  border-radius: 3px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}
.scn-later-paper-invalid .letter {
  position: absolute; bottom: 22%; left: 40%; width: 18%; height: 5%;
  background: linear-gradient(180deg, #faf7ed 0%, #e6dfd0 100%);
  border-radius: 1px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.15);
  transform: rotate(-3deg);
  animation: lpi-letter 5s ease-in-out infinite alternate;
}
.scn-later-paper-invalid .hand-reach {
  position: absolute; bottom: 18%; left: 36%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #3a3128 0%, #1f1813 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  transform: rotate(-10deg);
  animation: lpi-hand 6s ease-in-out infinite alternate;
}
.scn-later-paper-invalid .inkwell {
  position: absolute; bottom: 24%; left: 60%; width: 5%; height: 5%;
  background: radial-gradient(circle, #2b2b2b 0%, #141414 100%);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.scn-later-paper-invalid .lamp-glow {
  position: absolute; bottom: 30%; left: 22%; width: 10%; height: 12%;
  background: radial-gradient(circle, rgba(255,255,200,0.6) 0%, rgba(255,255,200,0) 70%);
  filter: blur(8px);
  animation: lpi-lamp-pulse 3s ease-in-out infinite alternate;
}
@keyframes lpi-window-light {
  0% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.03); }
  100% { opacity: 0.6; transform: scale(0.98); }
}
@keyframes lpi-letter {
  0% { transform: rotate(-3deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-2px); }
  100% { transform: rotate(-3deg) translateY(0); }
}
@keyframes lpi-hand {
  0% { transform: rotate(-10deg) translateX(0); }
  50% { transform: rotate(-5deg) translateX(4px); }
  100% { transform: rotate(-10deg) translateX(0); }
}
@keyframes lpi-lamp-pulse {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(1); }
}

/* ===== Scene 4: moral-not-legal-duty ===== */
.scn-moral-not-legal-duty {
  background: linear-gradient(180deg, #efe8db 0%, #d8c9b8 60%), radial-gradient(ellipse at 30% 40%, rgba(255,255,230,0.4) 0%, transparent 70%);
}
.scn-moral-not-legal-duty .wall-bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #ddd2c2 0%, #c5b49e 100%);
}
.scn-moral-not-legal-duty .window-frame {
  position: absolute; top: 10%; left: 5%; width: 35%; height: 45%;
  border: 3px solid #7a6042;
  background: linear-gradient(180deg, #b7cdd6 0%, #a2b9c4 100%);
  border-radius: 4px;
}
.scn-moral-not-legal-duty .window-light {
  position: absolute; top: 12%; left: 7%; width: 31%; height: 41%;
  background: radial-gradient(ellipse at 50% 20%, rgba(255,255,240,0.3) 0%, transparent 80%);
  filter: blur(6px);
  animation: mnd-window-light 9s ease-in-out infinite alternate;
}
.scn-moral-not-legal-duty .rug {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #6a5c4a 0%, #4d4133 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 8px 15px rgba(0,0,0,0.2);
}
.scn-moral-not-legal-duty .armchair {
  position: absolute; bottom: 12%; left: 55%; width: 25%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #3a2c20 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.scn-moral-not-legal-duty .figure-standing {
  position: absolute; bottom: 12%; left: 20%; width: 8%; height: 40%;
  background: linear-gradient(180deg, #2b2420 0%, #150f0d 100%);
  border-radius: 50% 50% 40% 40% / 65% 65% 35% 35%;
  transform-origin: bottom center;
  animation: mnd-figure-stand 8s ease-in-out infinite;
}
.scn-moral-not-legal-duty .figure-sitting {
  position: absolute; bottom: 15%; left: 58%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #332a24 0%, #19130f 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 45% 45%;
  transform-origin: bottom center;
  animation: mnd-figure-sit 7s ease-in-out infinite;
}
.scn-moral-not-legal-duty .lamp-base {
  position: absolute; bottom: 20%; left: 35%; width: 5%; height: 14%;
  background: linear-gradient(180deg, #d4af37 0%, #b8942e 100%);
  border-radius: 50% 50% 10% 10%;
  transform-origin: bottom center;
  animation: mnd-lamp-sway 5s ease-in-out infinite;
}
.scn-moral-not-legal-duty .lamp-glow {
  position: absolute; bottom: 34%; left: 34%; width: 7%; height: 9%;
  background: radial-gradient(circle, rgba(255,255,200,0.7) 0%, rgba(255,255,200,0) 70%);
  filter: blur(6px);
  animation: mnd-lamp-pulse 4s ease-in-out infinite alternate;
}
@keyframes mnd-window-light {
  0% { opacity: 0.5; transform: scale(1); }
  33% { opacity: 0.8; transform: scale(1.02); }
  66% { opacity: 0.6; transform: scale(0.99); }
  100% { opacity: 0.7; transform: scale(1.01); }
}
@keyframes mnd-figure-stand {
  0% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-2px) rotate(-0.5deg); }
  66% { transform: translateY(1px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mnd-figure-sit {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(1px) rotate(0.5deg); }
  50% { transform: translateY(-1px) rotate(-0.5deg); }
  75% { transform: translateY(0) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mnd-lamp-sway {
  0%, 100% { transform: rotate(-1.5deg); }
  50% { transform: rotate(1.5deg); }
}
@keyframes mnd-lamp-pulse {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(1); }
}

.scn-peckham-cheers-tutt {
  background: linear-gradient(135deg, #e4c580 0%, #c8a060 40%, #a08040 100%), radial-gradient(ellipse at 70% 30%, #f0d8a0 0%, transparent 60%);
}
.scn-peckham-cheers-tutt .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #dbb878 0%, #c8a060 40%, #b89050 100%);
  border-radius: 0 0 20% 20%;
  animation: peck-wall 12s ease-in-out infinite alternate;
}
.scn-peckham-cheers-tutt .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(0deg, #8a6a3a 0%, #a07a4a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-peckham-cheers-tutt .bench {
  position: absolute; bottom: 25%; left: 10%; width: 30%; height: 15%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: peck-bench 8s ease-in-out infinite;
}
.scn-peckham-cheers-tutt .desk {
  position: absolute; bottom: 20%; right: 8%; width: 28%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.5);
}
.scn-peckham-cheers-tutt .lawyer {
  position: absolute; bottom: 22%; right: 15%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: peck-lawyer 5s ease-in-out infinite;
}
.scn-peckham-cheers-tutt .gavel {
  position: absolute; bottom: 28%; left: 18%; width: 4%; height: 8%;
  background: #5a3a2a;
  border-radius: 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: peck-gavel 3s ease-in-out infinite;
}
.scn-peckham-cheers-tutt .lamp {
  position: absolute; bottom: 40%; left: 48%; width: 10%; height: 25%;
  background: radial-gradient(ellipse at 50% 20%, #f0d8a0 0%, #c8a060 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px rgba(200,160,96,0.6);
  animation: peck-lamp 6s ease-in-out infinite alternate;
}
@keyframes peck-wall {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.95; transform: scaleY(0.98); }
}
@keyframes peck-bench {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes peck-lawyer {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(4px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(0) translateY(0) rotate(2deg); }
  75% { transform: translateX(-4px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(-2deg); }
}
@keyframes peck-gavel {
  0%,100% { transform: rotate(0deg) translateY(0); }
  30% { transform: rotate(-10deg) translateY(-3px); }
  60% { transform: rotate(10deg) translateY(-3px); }
}
@keyframes peck-lamp {
  0% { box-shadow: 0 0 20px 5px rgba(200,160,96,0.4); }
  50% { box-shadow: 0 0 40px 15px rgba(200,160,96,0.7); }
  100% { box-shadow: 0 0 25px 8px rgba(200,160,96,0.5); }
}

.scn-trial-preparations-begin {
  background: linear-gradient(180deg, #f0d8b0 0%, #dbb878 40%, #c8a060 100%), radial-gradient(ellipse at 60% 40%, #f5e0c0 0%, transparent 60%);
}
.scn-trial-preparations-begin .backdrop {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #e0c898 0%, #c8a060 100%);
  border-radius: 0 0 30% 30%;
  animation: tria-backdrop 15s ease-in-out infinite alternate;
}
.scn-trial-preparations-begin .table {
  position: absolute; bottom: 20%; left: 5%; right: 5%; height: 25%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
}
.scn-trial-preparations-begin .papers {
  position: absolute; bottom: 28%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(90deg, #f5f0e0 0%, #e8dcc0 50%, #f5f0e0 100%);
  border-radius: 2%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: tria-papers 10s ease-in-out infinite;
}
.scn-trial-preparations-begin .prosecutor {
  position: absolute; bottom: 22%; left: 12%; width: 14%; height: 40%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: tria-prosecutor 6s ease-in-out infinite;
}
.scn-trial-preparations-begin .assistant {
  position: absolute; bottom: 22%; right: 12%; width: 12%; height: 36%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  animation: tria-assistant 7s ease-in-out infinite alternate;
}
.scn-trial-preparations-begin .lamp {
  position: absolute; bottom: 42%; left: 48%; width: 8%; height: 22%;
  background: radial-gradient(ellipse at 50% 20%, #f0d8a0 0%, #c8a060 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 25px 8px rgba(200,160,96,0.5);
  animation: tria-lamp 8s ease-in-out infinite alternate;
}
.scn-trial-preparations-begin .window {
  position: absolute; top: 8%; right: 8%; width: 20%; height: 35%;
  background: linear-gradient(180deg, #b0d8f0 0%, #90b8d8 100%);
  border: 6px solid #6a4a2a;
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.3);
  animation: tria-window 20s ease-in-out infinite alternate;
}
@keyframes tria-backdrop {
  0% { opacity: 0.85; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.03); }
  100% { opacity: 0.9; transform: scaleY(0.97); }
}
@keyframes tria-papers {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(1deg); }
}
@keyframes tria-prosecutor {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(3px) translateY(-2px) rotate(2deg); }
  60% { transform: translateX(-2px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(1deg); }
}
@keyframes tria-assistant {
  0% { transform: translateX(0) translateY(0) scale(1); }
  50% { transform: translateX(-4px) translateY(-1px) scale(0.98); }
  100% { transform: translateX(2px) translateY(0) scale(1); }
}
@keyframes tria-lamp {
  0% { box-shadow: 0 0 15px 4px rgba(200,160,96,0.4); }
  50% { box-shadow: 0 0 35px 12px rgba(200,160,96,0.7); }
  100% { box-shadow: 0 0 20px 6px rgba(200,160,96,0.5); }
}
@keyframes tria-window {
  0% { opacity: 0.7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: 0.8; transform: scaleY(0.95); }
}

.scn-pepperill-prepares-case {
  background: linear-gradient(180deg, #e0c898 0%, #c8a060 50%, #a08040 100%), radial-gradient(ellipse at 30% 60%, #f0d8a0 0%, transparent 60%);
}
.scn-pepperill-prepares-case .bg-wall {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #dbb878 0%, #b89050 100%);
  border-radius: 0 0 40% 40%;
  animation: pepp-bgwall 20s ease-in-out infinite alternate;
}
.scn-pepperill-prepares-case .desk {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 30%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 6% 6% 0 0;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
}
.scn-pepperill-prepares-case .lamp {
  position: absolute; bottom: 35%; left: 45%; width: 10%; height: 30%;
  background: radial-gradient(ellipse at 50% 20%, #f5e0b0 0%, #d0a860 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(208,168,96,0.5);
  animation: pepp-lamp 10s ease-in-out infinite alternate;
}
.scn-pepperill-prepares-case .papers {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(90deg, #f5f0e0 0%, #e0d0b0 50%, #f5f0e0 100%);
  border-radius: 2%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: pepp-papers 12s ease-in-out infinite;
}
.scn-pepperill-prepares-case .chair {
  position: absolute; bottom: 18%; right: 8%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 20% 20% / 40% 40% 20% 20%;
  transform-origin: bottom center;
  animation: pepp-chair 8s ease-in-out infinite;
}
.scn-pepperill-prepares-case .figure {
  position: absolute; bottom: 20%; left: 12%; width: 12%; height: 38%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  animation: pepp-figure 6s ease-in-out infinite alternate;
}
@keyframes pepp-bgwall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes pepp-lamp {
  0% { box-shadow: 0 0 20px 5px rgba(208,168,96,0.3); transform: scaleY(1); }
  50% { box-shadow: 0 0 40px 15px rgba(208,168,96,0.6); transform: scaleY(1.02); }
  100% { box-shadow: 0 0 25px 8px rgba(208,168,96,0.4); transform: scaleY(0.98); }
}
@keyframes pepp-papers {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
}
@keyframes pepp-chair {
  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 pepp-figure {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  50% { transform: translateX(3px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(-2px) translateY(0) rotate(-1deg); }
}

.scn-sardi-dies {
  background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 30%, #4a3a6e 70%, #2a1a3a 100%), radial-gradient(ellipse at 50% 80%, #5a4a7e 0%, transparent 60%);
}
.scn-sardi-dies .shadow-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 70%, #3a2a5a 0%, transparent 60%);
  animation: sardi-shadowbg 8s ease-in-out infinite alternate;
}
.scn-sardi-dies .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #2a2a4e 0%, #1a1a3e 100%);
  border-radius: 0 0 30% 30%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}
.scn-sardi-dies .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(0deg, #0a0a1a 0%, #1a1a2a 100%);
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.6);
}
.scn-sardi-dies .attacker {
  position: absolute; bottom: 28%; left: 30%; width: 15%; height: 45%;
  background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sardi-attacker 2s ease-in-out infinite;
}
.scn-sardi-dies .victim {
  position: absolute; bottom: 22%; left: 48%; width: 12%; height: 35%;
  background: linear-gradient(180deg, #2a1a2a 0%, #1a0a1a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: sardi-victim 3s ease-in-out infinite alternate;
}
.scn-sardi-dies .door {
  position: absolute; bottom: 20%; right: 8%; width: 18%; height: 55%;
  background: linear-gradient(180deg, #3a2a4a 0%, #1a1a2a 100%);
  border: 2px solid #5a4a6e;
  border-radius: 2%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
  animation: sardi-door 15s ease-in-out infinite;
}
.scn-sardi-dies .lamp-glow {
  position: absolute; bottom: 50%; left: 48%; width: 6%; height: 12%;
  background: radial-gradient(circle, #c08040 0%, transparent 70%);
  border-radius: 50%;
  box-shadow: 0 0 30px 10px rgba(192,128,64,0.4);
  animation: sardi-lampglow 5s ease-in-out infinite alternate;
}
.scn-sardi-dies .shadow-fig {
  position: absolute; bottom: 26%; left: 60%; width: 10%; height: 38%;
  background: linear-gradient(180deg, #0a0a1a 0%, #000000 100%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  opacity: 0.6;
  animation: sardi-shadowfig 4s ease-in-out infinite;
}
@keyframes sardi-shadowbg {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes sardi-attacker {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(5px) translateY(-2px) rotate(5deg); }
  60% { transform: translateX(-3px) translateY(0) rotate(-3deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes sardi-victim {
  0% { transform: translateX(0) translateY(0) scale(1); }
  50% { transform: translateX(-4px) translateY(-3px) scale(0.9); }
  100% { transform: translateX(0) translateY(0) scale(1); }
}
@keyframes sardi-door {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
}
@keyframes sardi-lampglow {
  0% { box-shadow: 0 0 20px 5px rgba(192,128,64,0.3); }
  50% { box-shadow: 0 0 40px 15px rgba(192,128,64,0.6); }
  100% { box-shadow: 0 0 25px 8px rgba(192,128,64,0.4); }
}
@keyframes sardi-shadowfig {
  0% { opacity: 0.4; transform: translateX(0); }
  50% { opacity: 0.8; transform: translateX(6px); }
  100% { opacity: 0.5; transform: translateX(-2px); }
}

.scn-payson-hardens-heart {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b88a 50%, #b8986e 100%), radial-gradient(ellipse at 70% 20%, #fff5e0 0%, transparent 70%);
}
.scn-payson-hardens-heart .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #ecd7b0 0%, #c8a870 100%);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.15);
  animation: phh-wall 12s ease-in-out infinite alternate;
}
.scn-payson-hardens-heart .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #a07a50 0%, #6a5438 100%);
  border-radius: 20% 10% 0 0 / 40% 30% 0 0;
  animation: phh-floor 24s ease-in-out infinite alternate;
}
.scn-payson-hardens-heart .window {
  position: absolute; top: 10%; left: 15%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #ffe8b0 0%, #ffde9a 50%, #e6c078 100%);
  border-radius: 4px 4px 8px 8px;
  box-shadow: 0 0 30px rgba(255,200,120,0.6), inset 0 0 20px #ffd080;
  animation: phh-window 8s ease-in-out infinite alternate;
}
.scn-payson-hardens-heart .desk {
  position: absolute; bottom: 25%; left: 40%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #8b6f47 0%, #5e4630 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transform: perspective(400px) rotateX(5deg);
  animation: phh-desk 15s ease-in-out infinite;
}
.scn-payson-hardens-heart .letter {
  position: absolute; bottom: 30%; left: 55%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #f0e0c0 0%, #d4b88a 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  animation: phh-letter 5s ease-in-out infinite;
}
.scn-payson-hardens-heart .figure {
  position: absolute; bottom: 15%; left: 50%; width: 14%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: phh-figure 6s ease-in-out infinite;
}
.scn-payson-hardens-heart .shadow {
  position: absolute; bottom: 14%; left: 48%; width: 20%; height: 4%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  animation: phh-shadow 6s ease-in-out infinite;
}
@keyframes phh-wall { 0% { opacity: 1; } 50% { opacity: 0.85; } 100% { opacity: 1; } }
@keyframes phh-floor { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes phh-window { 0% { box-shadow: 0 0 20px rgba(255,200,120,0.4); } 50% { box-shadow: 0 0 50px rgba(255,200,120,0.8); } 100% { box-shadow: 0 0 25px rgba(255,200,120,0.5); } }
@keyframes phh-desk { 0%,100% { transform: perspective(400px) rotateX(5deg) translateY(0); } 50% { transform: perspective(400px) rotateX(6deg) translateY(-1px); } }
@keyframes phh-letter { 0%,100% { transform: rotate(-5deg) translate(0,0); } 50% { transform: rotate(-3deg) translate(2px,-2px); } }
@keyframes phh-figure { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-6px) rotate(2deg); } }
@keyframes phh-shadow { 0%,100% { transform: scaleX(1); opacity: 0.3; } 50% { transform: scaleX(1.2); opacity: 0.2; } }

.scn-miss-wiggin-intervenes {
  background: linear-gradient(180deg, #f0dbb0 0%, #d4b27a 50%, #b09060 100%), radial-gradient(ellipse at 30% 80%, #fff0d0 0%, transparent 60%);
}
.scn-miss-wiggin-intervenes .doorway {
  position: absolute; top: 0; left: 20%; width: 60%; height: 100%;
  background: linear-gradient(135deg, #c8a070 0%, #8a6a40 100%);
  border-radius: 0 0 30% 30% / 0 0 50% 50%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.3);
  animation: mwi-door 20s ease-in-out infinite alternate;
}
.scn-miss-wiggin-intervenes .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #9a7a50 0%, #6a5430 100%);
  border-radius: 10% 20% 0 0 / 30% 40% 0 0;
}
.scn-miss-wiggin-intervenes .figure-minerva {
  position: absolute; bottom: 25%; left: 30%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #5a4030 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwi-minerva 5s ease-in-out infinite;
}
.scn-miss-wiggin-intervenes .figure-tutt {
  position: absolute; bottom: 25%; left: 55%; width: 18%; height: 42%;
  background: linear-gradient(180deg, #4a3520 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwi-tutt 5s ease-in-out infinite reverse;
}
.scn-miss-wiggin-intervenes .hat {
  position: absolute; bottom: 62%; left: 54%; width: 12%; height: 6%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 50% 50% 0 0;
  transform: rotate(-10deg);
  animation: mwi-hat 5s ease-in-out infinite;
}
.scn-miss-wiggin-intervenes .shawl {
  position: absolute; bottom: 35%; left: 28%; width: 20%; height: 10%;
  background: linear-gradient(135deg, #7a5a3a 0%, #5a3a20 100%);
  border-radius: 0 50% 50% 0 / 0 40% 40% 0;
  animation: mwi-shawl 4s ease-in-out infinite alternate;
}
@keyframes mwi-door { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.03); } 100% { transform: scaleX(0.97); } }
@keyframes mwi-minerva { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(4px) rotate(3deg); } }
@keyframes mwi-tutt { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-4px) rotate(-3deg); } }
@keyframes mwi-hat { 0%,100% { transform: rotate(-10deg) translate(0,0); } 50% { transform: rotate(-5deg) translate(2px,-2px); } }
@keyframes mwi-shawl { 0% { transform: translateX(0) scaleY(1); } 100% { transform: translateX(6px) scaleY(1.1); } }

.scn-mr-tutt-confronts-tutt {
  background: linear-gradient(180deg, #e8d4a0 0%, #c8a870 40%, #a88850 100%), radial-gradient(ellipse at 80% 20%, #fff0c0 0%, transparent 70%);
}
.scn-mr-tutt-confronts-tutt .room {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #d8c090 0%, #b89060 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.2);
  animation: mtct-room 18s ease-in-out infinite alternate;
}
.scn-mr-tutt-confronts-tutt .window {
  position: absolute; top: 8%; right: 10%; width: 25%; height: 35%;
  background: linear-gradient(180deg, #ffe0a0 0%, #f0c880 100%);
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(255,200,100,0.5);
  animation: mtct-window 6s ease-in-out infinite alternate;
}
.scn-mr-tutt-confronts-tutt .desk {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 14%;
  background: linear-gradient(180deg, #8b6f47 0%, #5e4630 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transform: perspective(500px) rotateX(3deg);
}
.scn-mr-tutt-confronts-tutt .chair-left {
  position: absolute; bottom: 22%; left: 15%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #6a4a30 0%, #3a2a1a 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 40% 40%;
  transform: rotate(-2deg);
  animation: mtct-chair-left 10s ease-in-out infinite;
}
.scn-mr-tutt-confronts-tutt .chair-right {
  position: absolute; bottom: 22%; right: 15%; width: 15%; height: 30%;
  background: linear-gradient(180deg, #6a4a30 0%, #3a2a1a 100%);
  border-radius: 10% 10% 40% 40% / 20% 20% 40% 40%;
  transform: rotate(2deg);
  animation: mtct-chair-right 10s ease-in-out infinite reverse;
}
.scn-mr-tutt-confronts-tutt .figure-left {
  position: absolute; bottom: 28%; left: 38%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mtct-figure-left 5s ease-in-out infinite;
}
.scn-mr-tutt-confronts-tutt .figure-right {
  position: absolute; bottom: 28%; right: 38%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mtct-figure-right 5s ease-in-out infinite reverse;
}
.scn-mr-tutt-confronts-tutt .lamp {
  position: absolute; top: 12%; left: 50%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #c8a060 0%, #b08040 100%);
  border-radius: 4px;
  box-shadow: 0 0 40px rgba(255,180,60,0.6);
  animation: mtct-lamp 3s ease-in-out infinite alternate;
}
@keyframes mtct-room { 0% { opacity: 1; } 50% { opacity: 0.9; } 100% { opacity: 1; } }
@keyframes mtct-window { 0% { box-shadow: 0 0 20px rgba(255,200,100,0.3); } 100% { box-shadow: 0 0 50px rgba(255,200,100,0.7); } }
@keyframes mtct-chair-left { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-3px); } }
@keyframes mtct-chair-right { 0%,100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-3px); } }
@keyframes mtct-figure-left { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(2deg) translateX(-3px); } }
@keyframes mtct-figure-right { 0%,100% { transform: rotate(0deg) translateX(0); } 50% { transform: rotate(-2deg) translateX(3px); } }
@keyframes mtct-lamp { 0% { box-shadow: 0 0 20px rgba(255,180,60,0.4); opacity: 0.9; } 100% { box-shadow: 0 0 60px rgba(255,180,60,0.8); opacity: 1; } }

.scn-moral-duty-debate {
  background: linear-gradient(180deg, #f0dcc0 0%, #d4b88a 40%, #b8986e 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-moral-duty-debate .bg-bench {
  position: absolute; bottom: 0; left: 0; right: 0; top: 40%;
  background: linear-gradient(180deg, #a08050 0%, #7a6038 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
  animation: mdd-bench-bg 20s ease-in-out infinite alternate;
}
.scn-moral-duty-debate .bench {
  position: absolute; bottom: 30%; left: 10%; width: 80%; height: 20%;
  background: linear-gradient(180deg, #6a4a30 0%, #3a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  transform: perspective(300px) rotateX(10deg);
}
.scn-moral-duty-debate .scales {
  position: absolute; bottom: 45%; left: 40%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 50% 50% 0 0 / 60% 60% 0 0;
  box-shadow: 0 0 20px rgba(200,160,60,0.4);
  animation: mdd-scales 8s ease-in-out infinite alternate;
}
.scn-moral-duty-debate .law-books {
  position: absolute; bottom: 25%; right: 15%; width: 18%; height: 20%;
  background: linear-gradient(180deg, #5a4030 0%, #3a2a1a 100%);
  border-radius: 2px;
  box-shadow: 2px 0 6px rgba(0,0,0,0.3);
  animation: mdd-books 15s ease-in-out infinite;
}
.scn-moral-duty-debate .gavel {
  position: absolute; bottom: 35%; left: 30%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #8b6f47 0%, #5e4630 100%);
  border-radius: 4px;
  transform: rotate(-15deg);
  transform-origin: bottom center;
  animation: mdd-gavel 4s ease-in-out infinite;
}
.scn-moral-duty-debate .figure-judge {
  position: absolute; bottom: 25%; left: 50%; width: 16%; height: 40%;
  background: linear-gradient(180deg, #4a3520 0%, #1a1208 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mdd-judge 6s ease-in-out infinite;
}
.scn-moral-duty-debate .shadow-court {
  position: absolute; bottom: 22%; left: 45%; width: 30%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.25) 0%, transparent 70%);
  animation: mdd-shadow 6s ease-in-out infinite alternate;
}
@keyframes mdd-bench-bg { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes mdd-scales { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes mdd-books { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes mdd-gavel { 0%,100% { transform: rotate(-15deg) translate(0,0); } 50% { transform: rotate(-10deg) translate(2px,-2px); } }
@keyframes mdd-judge { 0%,100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(-5px) rotate(2deg); } }
@keyframes mdd-shadow { 0% { transform: scaleX(1); opacity: 0.25; } 100% { transform: scaleX(1.3); opacity: 0.15; } }

/* scene: conscience-truth-to-self */
.scn-conscience-truth-to-self {
  background: 
    linear-gradient(180deg, #fdf5e6 0%, #f0dbb0 40%, #d4a56a 100%),
    radial-gradient(ellipse at 50% 60%, #fff8e7 0%, transparent 60%);
}
.scn-conscience-truth-to-self .wall {
  position:absolute; inset:0; background: linear-gradient(180deg, #f8eedb 0%, #e8d4a0 100%);
  animation: ct-wall 20s ease-in-out infinite alternate;
}
.scn-conscience-truth-to-self .window-frame {
  position:absolute; top:8%; left:50%; width:120px; height:160px; transform:translateX(-50%);
  background: linear-gradient(135deg, #8b6f47 0%, #5c4830 100%);
  border-radius: 4px; box-shadow: inset 0 0 0 8px #6b5536, 0 4px 12px rgba(0,0,0,0.3);
}
.scn-conscience-truth-to-self .window-glass {
  position:absolute; top:12%; left:50%; width:104px; height:132px; transform:translateX(-50%);
  background: linear-gradient(135deg, rgba(200,220,255,0.6) 0%, rgba(255,255,200,0.3) 100%);
  border-radius: 2px; filter: blur(1px);
  animation: ct-glass 8s ease-in-out infinite alternate;
}
.scn-conscience-truth-to-self .desk {
  position:absolute; bottom:20%; left:50%; width:200px; height:40px; transform:translateX(-50%);
  background: linear-gradient(180deg, #b8956a 0%, #8b6f47 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-conscience-truth-to-self .lamp {
  position:absolute; bottom:42%; left:40%; width:20px; height:50px;
  background: linear-gradient(180deg, #d4a56a 0%, #8b6f47 100%);
  border-radius: 10px 10px 4px 4px; transform: rotate(-8deg);
  animation: ct-lamp 6s ease-in-out infinite;
}
.scn-conscience-truth-to-self .lamp::after {
  content:''; position:absolute; bottom:90%; left:50%; width:30px; height:12px;
  background: radial-gradient(circle, #ffe680 0%, #d4a56a 100%);
  border-radius: 50% 50% 0 0; transform:translateX(-50%);
  box-shadow: 0 0 20px 10px rgba(255,230,128,0.5);
  animation: ct-lamp-glow 3s ease-in-out infinite alternate;
}
.scn-conscience-truth-to-self .figure-stand {
  position:absolute; bottom:18%; left:55%; width:28px; height:70px;
  background: linear-gradient(180deg, #3a3228 0%, #1e1814 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: ct-figure 5s ease-in-out infinite;
}
.scn-conscience-truth-to-self .book-stack {
  position:absolute; bottom:20%; left:30%; width:30px; height:16px;
  background: linear-gradient(90deg, #6b4a2e 0%, #8b5e3c 50%, #5a3a22 100%);
  border-radius: 2px;
  animation: ct-book 12s ease-in-out infinite;
}
@keyframes ct-wall { 0% {opacity:0.9} 50% {opacity:1} 100% {opacity:0.92} }
@keyframes ct-glass { 0% {opacity:0.5; filter:blur(1px)} 50% {opacity:0.7; filter:blur(0.5px)} 100% {opacity:0.6; filter:blur(1.2px)} }
@keyframes ct-lamp { 0% {transform:rotate(-8deg)} 50% {transform:rotate(-6deg)} 100% {transform:rotate(-10deg)} }
@keyframes ct-lamp-glow { 0% {box-shadow:0 0 15px 6px rgba(255,230,128,0.4)} 50% {box-shadow:0 0 25px 12px rgba(255,230,128,0.6)} 100% {box-shadow:0 0 18px 8px rgba(255,230,128,0.45)} }
@keyframes ct-figure { 0% {transform:translateY(0) rotate(1deg)} 25% {transform:translateY(-2px) rotate(-1deg)} 50% {transform:translateY(-1px) rotate(0)} 75% {transform:translateY(-3px) rotate(1deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes ct-book { 0% {transform:scaleY(1)} 50% {transform:scaleY(0.95) translateY(1px)} 100% {transform:scaleY(1)} }

/* scene: law-vs-conscience */
.scn-law-vs-conscience {
  background: 
    linear-gradient(180deg, #f7ebd0 0%, #e5c090 40%, #c8966a 100%),
    radial-gradient(ellipse at 50% 40%, #fff3e0 0%, transparent 70%);
}
.scn-law-vs-conscience .panel {
  position:absolute; inset:0; background: linear-gradient(135deg, #f2e3c6 0%, #dfc49e 100%);
  animation: lv-panel 25s ease-in-out infinite alternate;
}
.scn-law-vs-conscience .table {
  position:absolute; bottom:22%; left:50%; width:260px; height:30px; transform:translateX(-50%);
  background: linear-gradient(180deg, #b8956a 0%, #8b6f47 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 6px 14px rgba(0,0,0,0.4);
}
.scn-law-vs-conscience .chair-left {
  position:absolute; bottom:16%; left:36%; width:40px; height:50px;
  background: linear-gradient(180deg, #7a5c3a 0%, #4c3622 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(5deg);
  animation: lv-chair-l 8s ease-in-out infinite;
}
.scn-law-vs-conscience .chair-right {
  position:absolute; bottom:16%; right:36%; width:40px; height:50px;
  background: linear-gradient(180deg, #7a5c3a 0%, #4c3622 100%);
  border-radius: 20% 20% 10% 10%; transform: rotate(-5deg);
  animation: lv-chair-r 8s ease-in-out infinite;
}
.scn-law-vs-conscience .scale {
  position:absolute; bottom:28%; left:50%; width:60px; height:30px; transform:translateX(-50%);
  background: linear-gradient(180deg, #c8966a 0%, #a07850 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: lv-scale 6s ease-in-out infinite;
}
.scn-law-vs-conscience .figure-point {
  position:absolute; bottom:16%; left:42%; width:24px; height:60px;
  background: linear-gradient(180deg, #3a3228 0%, #1e1814 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: lv-figure 4s ease-in-out infinite;
}
.scn-law-vs-conscience .figure-point::after {
  content:''; position:absolute; top:10%; right:-8px; width:10px; height:2px;
  background: #8b6f47; border-radius: 2px;
}
.scn-law-vs-conscience .lamp-glow {
  position:absolute; top:20%; left:50%; width:60px; height:60px; transform:translateX(-50%);
  background: radial-gradient(circle, rgba(255,230,180,0.6) 0%, transparent 70%);
  border-radius: 50%; filter: blur(10px);
  animation: lv-glow 4s ease-in-out infinite alternate;
}
@keyframes lv-panel { 0% {opacity:0.85} 50% {opacity:0.95} 100% {opacity:0.88} }
@keyframes lv-chair-l { 0% {transform:rotate(5deg) scaleX(1)} 50% {transform:rotate(3deg) scaleX(0.97)} 100% {transform:rotate(6deg) scaleX(1)} }
@keyframes lv-chair-r { 0% {transform:rotate(-5deg) scaleX(1)} 50% {transform:rotate(-3deg) scaleX(0.97)} 100% {transform:rotate(-6deg) scaleX(1)} }
@keyframes lv-scale { 0% {transform:translateX(-50%) rotate(-2deg)} 50% {transform:translateX(-50%) rotate(2deg)} 100% {transform:translateX(-50%) rotate(-1deg)} }
@keyframes lv-figure { 0% {transform:translateY(0) rotate(1deg)} 25% {transform:translateY(-2px) rotate(-1deg)} 50% {transform:translateY(-1px) rotate(0)} 75% {transform:translateY(-3px) rotate(2deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes lv-glow { 0% {opacity:0.3; transform:translateX(-50%) scale(1)} 50% {opacity:0.5; transform:translateX(-50%) scale(1.1)} 100% {opacity:0.35; transform:translateX(-50%) scale(0.95)} }

/* scene: honor-and-law-distinct */
.scn-honor-and-law-distinct {
  background: 
    linear-gradient(180deg, #f9efd9 0%, #e5c9a0 40%, #c8966a 100%),
    radial-gradient(ellipse at 50% 70%, #fff7e8 0%, transparent 60%);
}
.scn-honor-and-law-distinct .backdrop {
  position:absolute; inset:0; background: linear-gradient(135deg, #f3e5c8 0%, #ddbc8c 100%);
  animation: hl-backdrop 30s linear infinite alternate;
}
.scn-honor-and-law-distinct .lectern {
  position:absolute; bottom:24%; left:50%; width:70px; height:80px; transform:translateX(-50%);
  background: linear-gradient(180deg, #a07850 0%, #7a5c3a 100%);
  border-radius: 6px 6px 20% 20%; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-honor-and-law-distinct .book-open {
  position:absolute; bottom:36%; left:50%; width:50px; height:36px; transform:translateX(-50%);
  background: linear-gradient(180deg, #d4c4a0 0%, #b8a07a 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: inset 0 0 0 2px #8b6f47;
  animation: hl-book 10s ease-in-out infinite alternate;
}
.scn-honor-and-law-distinct .figure-gown {
  position:absolute; bottom:22%; left:36%; width:30px; height:80px;
  background: linear-gradient(180deg, #2a2420 0%, #0e0c0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: hl-figure 5s ease-in-out infinite;
}
.scn-honor-and-law-distinct .arm-point {
  position:absolute; bottom:44%; left:48%; width:30px; height:10px;
  background: linear-gradient(90deg, #3a3228 0%, #1e1814 100%);
  border-radius: 50px; transform: rotate(-30deg);
  transform-origin: left center;
  animation: hl-arm 7s ease-in-out infinite;
}
.scn-honor-and-law-distinct .heart-glow {
  position:absolute; bottom:52%; left:40%; width:20px; height:20px;
  background: radial-gradient(circle, #ffb380 0%, #e08050 60%, transparent 100%);
  border-radius: 50%; filter: blur(4px);
  animation: hl-heart 3s ease-in-out infinite alternate;
}
.scn-honor-and-law-distinct .gavel {
  position:absolute; bottom:26%; left:58%; width:12px; height:40px;
  background: linear-gradient(180deg, #c8966a 0%, #8b6f47 100%);
  border-radius: 4px 4px 10% 10%; transform: rotate(15deg);
  animation: hl-gavel 6s ease-in-out infinite;
}
@keyframes hl-backdrop { 0% {opacity:0.9} 50% {opacity:1} 100% {opacity:0.92} }
@keyframes hl-book { 0% {transform:translateX(-50%) rotate(0deg)} 50% {transform:translateX(-50%) rotate(3deg)} 100% {transform:translateX(-50%) rotate(-2deg)} }
@keyframes hl-figure { 0% {transform:translateY(0) rotate(0deg)} 25% {transform:translateY(-2px) rotate(1deg)} 50% {transform:translateY(-1px) rotate(-1deg)} 75% {transform:translateY(-3px) rotate(0)} 100% {transform:translateY(0) rotate(0)} }
@keyframes hl-arm { 0% {transform:rotate(-30deg)} 50% {transform:rotate(-20deg)} 100% {transform:rotate(-35deg)} }
@keyframes hl-heart { 0% {opacity:0.4; transform:scale(1)} 50% {opacity:0.7; transform:scale(1.2)} 100% {opacity:0.5; transform:scale(0.9)} }
@keyframes hl-gavel { 0% {transform:rotate(15deg) translateY(0)} 50% {transform:rotate(10deg) translateY(-2px)} 100% {transform:rotate(18deg) translateY(0)} }

/* scene: honor-reliable-than-law */
.scn-honor-reliable-than-law {
  background: 
    linear-gradient(180deg, #fcf3e0 0%, #ebd4b0 40%, #d4a56a 100%),
    radial-gradient(ellipse at 50% 50%, #fff5e0 0%, transparent 60%);
}
.scn-honor-reliable-than-law .study-wall {
  position:absolute; inset:0; background: linear-gradient(135deg, #f5e6c8 0%, #e0c49a 100%);
  animation: hr-wall 20s ease-in-out infinite alternate;
}
.scn-honor-reliable-than-law .desk-large {
  position:absolute; bottom:18%; left:50%; width:220px; height:36px; transform:translateX(-50%);
  background: linear-gradient(180deg, #b8956a 0%, #8b6f47 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 6px 14px rgba(0,0,0,0.4);
}
.scn-honor-reliable-than-law .inkwell {
  position:absolute; bottom:28%; left:43%; width:16px; height:20px;
  background: linear-gradient(180deg, #4c3622 0%, #2a1e12 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: hr-ink 9s ease-in-out infinite;
}
.scn-honor-reliable-than-law .figure-write {
  position:absolute; bottom:14%; left:52%; width:30px; height:70px;
  background: linear-gradient(180deg, #3a3228 0%, #1e1814 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: hr-figure 5s ease-in-out infinite;
}
.scn-honor-reliable-than-law .figure-write::before {
  content:''; position:absolute; top:30%; right:-10px; width:20px; height:4px;
  background: #6b5536; border-radius: 2px; transform: rotate(-40deg);
}
.scn-honor-reliable-than-law .candle {
  position:absolute; bottom:32%; left:38%; width:10px; height:30px;
  background: linear-gradient(180deg, #f0dbb0 0%, #d4a56a 100%);
  border-radius: 4px 4px 2px 2px;
  animation: hr-candle 7s ease-in-out infinite;
}
.scn-honor-reliable-than-law .candle::after {
  content:''; position:absolute; top:-8px; left:50%; width:6px; height:12px;
  background: radial-gradient(circle, #ffe680 0%, #d48a30 100%);
  border-radius: 50% 50% 10% 10%; transform:translateX(-50%);
  box-shadow: 0 0 16px 8px rgba(255,230,128,0.6);
  animation: hr-flame 2s ease-in-out infinite alternate;
}
.scn-honor-reliable-than-law .paper-glow {
  position:absolute; bottom:18%; left:50%; width:80px; height:10px; transform:translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255,255,220,0.5), transparent);
  border-radius: 2px; filter: blur(2px);
  animation: hr-paper 10s ease-in-out infinite;
}
.scn-honor-reliable-than-law .shelf-back {
  position:absolute; top:10%; left:10%; right:10%; height:20%;
  background: linear-gradient(180deg, #b8956a 0%, #8b6f47 100%);
  border-radius: 4px; box-shadow: inset 0 2px 8px rgba(0,0,0,0.3);
}
@keyframes hr-wall { 0% {opacity:0.92} 50% {opacity:1} 100% {opacity:0.94} }
@keyframes hr-ink { 0% {transform:translateY(0)} 50% {transform:translateY(-1px)} 100% {transform:translateY(0)} }
@keyframes hr-figure { 0% {transform:translateY(0) rotate(0deg)} 25% {transform:translateY(-2px) rotate(1deg)} 50% {transform:translateY(-1px) rotate(-1deg)} 75% {transform:translateY(-3px) rotate(0)} 100% {transform:translateY(0) rotate(0)} }
@keyframes hr-candle { 0% {transform:scaleY(1)} 50% {transform:scaleY(0.97)} 100% {transform:scaleY(1)} }
@keyframes hr-flame { 0% {transform:translateX(-50%) scale(1) rotate(-2deg)} 50% {transform:translateX(-50%) scale(1.12) rotate(2deg)} 100% {transform:translateX(-50%) scale(0.95) rotate(-1deg)} }
@keyframes hr-paper { 0% {opacity:0.2} 50% {opacity:0.4} 100% {opacity:0.25} }

/* problem-of-sadie-burch */
.scn-problem-of-sadie-burch {
  background: 
    linear-gradient(180deg, #2a1f1a 0%, #3a2b20 40%, #1e1510 100%),
    radial-gradient(ellipse at 40% 50%, #4a3525 0%, transparent 60%);
}
.scn-problem-of-sadie-burch .bg-wall { position:absolute; inset:0; background: linear-gradient(135deg, #3a2b20 0%, #2a1f1a 100%); animation: pb-wall 20s ease-in-out infinite alternate; }
.scn-problem-of-sadie-burch .fireplace { position:absolute; bottom:10%; left:50%; transform:translateX(-50%); width:120px; height:140px; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius:10px 10px 5px 5px; box-shadow: inset 0 -10px 20px rgba(0,0,0,.6), 0 0 30px rgba(200,100,30,0.4); }
.scn-problem-of-sadie-burch .hearth { position:absolute; bottom:10%; left:50%; transform:translateX(-50%); width:100px; height:30px; background: #5a3a2a; border-radius:0 0 10px 10px; }
.scn-problem-of-sadie-burch .flame { position:absolute; bottom:calc(10% + 30px); left:50%; transform:translateX(-50%); width:20px; height:40px; background: radial-gradient(ellipse at 50% 100%, #ffa050 0%, #ff6020 40%, transparent 70%); filter: blur(4px); animation: pb-flame 3s ease-in-out infinite alternate; }
.scn-problem-of-sadie-burch .figure-left { position:absolute; bottom:10%; left:20%; width:30px; height:80px; background: linear-gradient(180deg, #2a2018 0%, #1a1210 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pb-fig 6s ease-in-out infinite; }
.scn-problem-of-sadie-burch .figure-right { position:absolute; bottom:10%; right:20%; width:35px; height:85px; background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: pb-fig 6s ease-in-out 2s infinite reverse; }
.scn-problem-of-sadie-burch .desk { position:absolute; bottom:8%; left:35%; width:80px; height:40px; background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-problem-of-sadie-burch .lamp { position:absolute; bottom:30%; left:38%; width:10px; height:20px; background: radial-gradient(circle, #ffd080 0%, #b07030 70%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 15px 5px rgba(200,120,40,.3); animation: pb-glow 4s ease-in-out infinite alternate; }
.scn-problem-of-sadie-burch .window { position:absolute; top:20%; right:15%; width:60px; height:90px; background: linear-gradient(180deg, #1a2a3a 0%, #0a1a2a 100%); border:2px solid #4a3020; border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,.7); }
@keyframes pb-wall { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes pb-flame { 0% { transform:translateX(-50%) scale(1) rotate(-3deg); opacity:.7 } 50% { transform:translateX(-50%) scale(1.1) rotate(5deg); opacity:1 } 100% { transform:translateX(-50%) scale(0.9) rotate(2deg); opacity:.8 } }
@keyframes pb-fig { 0% { transform: rotate(-2deg) translateY(0) } 25% { transform: rotate(1deg) translateY(-2px) } 50% { transform: rotate(2deg) translateY(-1px) } 75% { transform: rotate(-1deg) translateY(0) } 100% { transform: rotate(0) translateY(1px) } }
@keyframes pb-glow { 0% { box-shadow: 0 0 10px 2px rgba(200,120,40,.2) } 50% { box-shadow: 0 0 25px 8px rgba(255,200,80,.4) } 100% { box-shadow: 0 0 12px 3px rgba(200,120,40,.3) } }

/* moral-argument-wins */
.scn-moral-argument-wins {
  background: 
    linear-gradient(180deg, #2a2018 0%, #3a2a1e 40%, #1a1210 100%),
    radial-gradient(ellipse at 50% 30%, #4a3525 0%, transparent 80%);
}
.scn-moral-argument-wins .bg-room { position:absolute; inset:0; background: linear-gradient(135deg, #3a2a1e 0%, #2a2018 100%); }
.scn-moral-argument-wins .desk-big { position:absolute; bottom:8%; left:25%; width:150px; height:60px; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); border-radius:8px 8px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,.5); }
.scn-moral-argument-wins .papers { position:absolute; bottom:20%; left:30%; width:40px; height:30px; background: linear-gradient(135deg, #b8a080 0%, #8a7050 100%); border-radius:2px; transform:rotate(-5deg); box-shadow: 1px 1px 3px rgba(0,0,0,.3); animation: ma-papers 12s ease-in-out infinite alternate; }
.scn-moral-argument-wins .chair-left { position:absolute; bottom:8%; left:12%; width:40px; height:70px; background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%); border-radius:20% 20% 10% 10%; transform-origin: bottom center; animation: ma-chair 8s ease-in-out infinite; }
.scn-moral-argument-wins .chair-right { position:absolute; bottom:8%; right:12%; width:40px; height:70px; background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%); border-radius:20% 20% 10% 10%; transform-origin: bottom center; animation: ma-chair 8s ease-in-out 4s infinite reverse; }
.scn-moral-argument-wins .figure-a { position:absolute; bottom:10%; left:14%; width:30px; height:80px; background: linear-gradient(180deg, #2a2018 0%, #1a1210 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ma-fig 6s ease-in-out infinite; }
.scn-moral-argument-wins .figure-b { position:absolute; bottom:10%; right:14%; width:30px; height:80px; background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: ma-fig 6s ease-in-out 3s infinite reverse; }
.scn-moral-argument-wins .lamp-desk { position:absolute; bottom:30%; left:30%; width:8px; height:16px; background: radial-gradient(circle, #ffd080 0%, #a07030 70%); border-radius:50% 50% 20% 20%; box-shadow: 0 0 12px 3px rgba(200,120,40,.3); animation: ma-lamp 4s ease-in-out infinite alternate; }
.scn-moral-argument-wins .rug { position:absolute; bottom:0; left:10%; width:80%; height:12%; background: linear-gradient(180deg, #6a4a3a 0%, #4a3020 100%); border-radius:50% 50% 0 0; opacity:.6; }
@keyframes ma-papers { 0% { transform:rotate(-5deg) translateY(0) } 50% { transform:rotate(2deg) translateY(-2px) } 100% { transform:rotate(-3deg) translateY(0) } }
@keyframes ma-chair { 0% { transform: rotate(-2deg) scale(1) } 50% { transform: rotate(3deg) scale(1.02) } 100% { transform: rotate(-1deg) scale(1) } }
@keyframes ma-fig { 0% { transform: rotate(-1deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-1px) } 50% { transform: rotate(1deg) translateY(-2px) } 75% { transform: rotate(-2deg) translateY(0) } 100% { transform: rotate(0) translateY(1px) } }
@keyframes ma-lamp { 0% { box-shadow: 0 0 8px 2px rgba(200,120,40,.2) } 50% { box-shadow: 0 0 20px 6px rgba(255,200,80,.4) } 100% { box-shadow: 0 0 10px 3px rgba(200,120,40,.3) } }

/* the-binding-moral-duty */
.scn-the-binding-moral-duty {
  background: 
    linear-gradient(180deg, #1f1815 0%, #2a2018 50%, #14100c 100%),
    radial-gradient(ellipse at 50% 50%, #3a2a1e 0%, transparent 70%);
}
.scn-the-binding-moral-duty .bg-close { position:absolute; inset:0; background: linear-gradient(180deg, #2a2018 0%, #1f1815 100%); }
.scn-the-binding-moral-duty .table-front { position:absolute; bottom:0; left:5%; right:5%; height:30%; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); border-radius:10px 10px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,.6); }
.scn-the-binding-moral-duty .paper-document { position:absolute; bottom:25%; left:35%; width:50px; height:40px; background: linear-gradient(135deg, #c8b098 0%, #a08060 100%); border-radius:2px; transform:rotate(-10deg); box-shadow: 4px 2px 6px rgba(0,0,0,.4); animation: bm-paper 8s ease-in-out infinite alternate; }
.scn-the-binding-moral-duty .hand-grip { position:absolute; bottom:30%; left:38%; width:22px; height:30px; background: linear-gradient(180deg, #6a5040 0%, #4a3020 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform:rotate(15deg); transform-origin: bottom center; animation: bm-hand 5s ease-in-out infinite; }
.scn-the-binding-moral-duty .inkwell { position:absolute; bottom:24%; left:50%; width:14px; height:18px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius:30% 30% 20% 20%; box-shadow: 0 2px 4px rgba(0,0,0,.5); }
.scn-the-binding-moral-duty .candle { position:absolute; bottom:30%; right:30%; width:8px; height:28px; background: linear-gradient(180deg, #e0c080 0%, #b09050 100%); border-radius:4px 4px 2px 2px; transform:rotate(2deg); box-shadow: 0 0 10px 2px rgba(200,150,60,.3); animation: bm-candle 6s ease-in-out infinite alternate; }
.scn-the-binding-moral-duty .shadow { position:absolute; bottom:0; left:10%; right:10%; height:15%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%); border-radius:50%; filter: blur(4px); animation: bm-shadow 10s ease-in-out infinite alternate; }
@keyframes bm-paper { 0% { transform:rotate(-10deg) translate(0,0) } 50% { transform:rotate(5deg) translate(2px,-1px) } 100% { transform:rotate(-8deg) translate(-1px,1px) } }
@keyframes bm-hand { 0% { transform: rotate(15deg) scale(1) } 25% { transform: rotate(10deg) scale(1.02) } 50% { transform: rotate(18deg) scale(0.98) } 75% { transform: rotate(12deg) scale(1) } 100% { transform: rotate(14deg) scale(1) } }
@keyframes bm-candle { 0% { opacity:.8; transform:rotate(2deg) } 50% { opacity:1; transform:rotate(-1deg) scaleY(1.05) } 100% { opacity:.9; transform:rotate(1deg) } }
@keyframes bm-shadow { 0% { opacity:.3 } 50% { opacity:.5 } 100% { opacity:.35 } }

/* sheridan-and-tailor */
.scn-sheridan-and-tailor {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e18 50%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 20%, #4a3020 0%, transparent 70%);
}
.scn-sheridan-and-tailor .bg-chamber { position:absolute; inset:0; background: linear-gradient(180deg, #2a1e18 0%, #1a1410 100%); }
.scn-sheridan-and-tailor .fire-hearth { position:absolute; bottom:8%; left:15%; width:100px; height:120px; background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%); border-radius:10px 10px 5px 5px; box-shadow: inset 0 -8px 16px rgba(0,0,0,.6), 0 0 40px rgba(200,100,30,0.3); }
.scn-sheridan-and-tailor .flame-burst { position:absolute; bottom:calc(8% + 100px); left:18%; width:25px; height:50px; background: radial-gradient(ellipse at 50% 100%, #ffa050 0%, #ff6020 40%, transparent 60%); filter: blur(6px); animation: st-flame 2s ease-in-out infinite alternate; }
.scn-sheridan-and-tailor .hand-throw { position:absolute; bottom:25%; left:40%; width:20px; height:30px; background: linear-gradient(180deg, #6a5040 0%, #4a3020 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform:rotate(-30deg); transform-origin: bottom center; animation: st-throw 4s ease-in-out infinite; }
.scn-sheridan-and-tailor .stogy { position:absolute; bottom:32%; left:42%; width:18px; height:6px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:50%; transform:rotate(45deg); animation: st-stogy 3s ease-in-out infinite; box-shadow: 0 0 4px rgba(200,80,20,0.5); }
.scn-sheridan-and-tailor .armchair { position:absolute; bottom:8%; right:25%; width:50px; height:70px; background: linear-gradient(180deg, #4a3525 0%, #2a1a10 100%); border-radius:20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.5); }
.scn-sheridan-and-tailor .window-drape { position:absolute; top:10%; right:5%; width:40px; height:120px; background: linear-gradient(180deg, #6a4a3a 0%, #4a3020 100%); border-radius:0 0 30% 30% / 0 0 40% 40%; transform-origin: top; animation: st-drape 15s ease-in-out infinite alternate; }
.scn-sheridan-and-tailor .figure-seated { position:absolute; bottom:10%; right:28%; width:35px; height:80px; background: linear-gradient(180deg, #1e1a16 0%, #0e0a08 100%); border-radius:45% 45% 35% 35% / 55% 55% 35% 35%; transform-origin: bottom center; animation: st-fig 6s ease-in-out infinite; }
.scn-sheridan-and-tailor .rug-oval { position:absolute; bottom:0; left:5%; width:90%; height:10%; background: linear-gradient(180deg, #6a4a3a 0%, #4a3020 100%); border-radius:50% 50% 0 0; opacity:.5; }
@keyframes st-flame { 0% { transform:scale(1) rotate(-5deg); opacity:.7 } 50% { transform:scale(1.15) rotate(5deg); opacity:1 } 100% { transform:scale(0.9) rotate(2deg); opacity:.8 } }
@keyframes st-throw { 0% { transform: rotate(-30deg) translate(0,0) } 25% { transform: rotate(0deg) translate(10px,-5px) } 50% { transform: rotate(-15deg) translate(20px,-10px) } 75% { transform: rotate(-5deg) translate(30px,-15px) } 100% { transform: rotate(-30deg) translate(40px,-20px) } }
@keyframes st-stogy { 0% { transform: rotate(45deg) scale(1) } 50% { transform: rotate(30deg) scale(0.8) } 100% { transform: rotate(60deg) scale(1) } }
@keyframes st-drape { 0% { transform: rotate(0) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes st-fig { 0% { transform: rotate(-1deg) translateY(0) } 25% { transform: rotate(2deg) translateY(-2px) } 50% { transform: rotate(1deg) translateY(-1px) } 75% { transform: rotate(-2deg) translateY(0) } 100% { transform: rotate(0) translateY(1px) } }

/* scene: pepperill-retained */
.scn-pepperill-retained {
  background: linear-gradient(180deg, #f7f2e6 0%, #e5dcc3 100%), radial-gradient(ellipse at 50% 0%, #fff8ed 0%, transparent 70%);
}
.scn-pepperill-retained .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(135deg, #e8ded0 0%, #d5cbbc 100%);
  box-shadow: inset 0 4px 20px rgba(0,0,0,0.08);
}
.scn-pepperill-retained .desk {
  position: absolute; bottom: 10%; left: 25%; width: 45%; height: 28%;
  background: linear-gradient(180deg, #8b6f4a 0%, #6a5238 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: pr-desk-bounce 6s ease-in-out infinite;
}
.scn-pepperill-retained .window {
  position: absolute; top: 8%; right: 15%; width: 20%; height: 35%;
  background: radial-gradient(ellipse at 50% 30%, #b8d4e6 0%, #8baec8 70%);
  border: 8px solid #aa8f6a;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(255,255,255,0.3);
  animation: pr-window-light 9s ease-in-out infinite alternate;
}
.scn-pepperill-retained .clock {
  position: absolute; top: 12%; left: 10%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #5c3a1e 0%, #3f2612 100%);
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: pr-clock-sway 12s ease-in-out infinite;
}
.scn-pepperill-retained .lamp {
  position: absolute; top: 18%; left: 35%; width: 8%; height: 20%;
  background: linear-gradient(180deg, #b8945a 0%, #9a7a46 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(255,215,140,0.4);
  animation: pr-lamp-glow 4s ease-in-out infinite alternate;
}
.scn-pepperill-retained .figure {
  position: absolute; bottom: 18%; left: 42%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #3a2e1e 0%, #1f170e 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: pr-figure-breathe 5s ease-in-out infinite;
}
.scn-pepperill-retained .papers {
  position: absolute; bottom: 15%; left: 30%; width: 14%; height: 6%;
  background: #f5eed6;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15), inset 0 0 8px rgba(0,0,0,0.05);
  animation: pr-papers-shuffle 7s ease-in-out infinite;
}
.scn-pepperill-retained .shadows {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 35% 60%, rgba(0,0,0,0.05) 0%, transparent 70%);
  pointer-events: none;
}
@keyframes pr-desk-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes pr-window-light { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pr-clock-sway { 0%,100% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 75% { transform: rotate(-1deg); } }
@keyframes pr-lamp-glow { 0% { box-shadow: 0 0 20px 5px rgba(255,215,140,0.3); opacity: 0.9; } 100% { box-shadow: 0 0 40px 15px rgba(255,215,140,0.5); opacity: 1; } }
@keyframes pr-figure-breathe { 0%,100% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.02) translateY(-2px); } }
@keyframes pr-papers-shuffle { 0%,100% { transform: rotate(0deg); } 30% { transform: rotate(2deg); } 70% { transform: rotate(-3deg); } }

/* scene: tutt-visits-pepperill */
.scn-tutt-visits-pepperill {
  background: linear-gradient(135deg, #eae3d7 0%, #cfc4b2 100%), radial-gradient(ellipse at 70% 40%, #fff5e0 0%, transparent 60%);
}
.scn-tutt-visits-pepperill .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #8b7a64 0%, #705f4c 100%);
  box-shadow: inset 0 6px 20px rgba(0,0,0,0.2);
}
.scn-tutt-visits-pepperill .doorway {
  position: absolute; top: 5%; left: 8%; width: 18%; height: 70%;
  background: #b8a58c;
  border: 6px solid #7a664a;
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  animation: tv-doorway-shimmer 10s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .cubicle-wall {
  position: absolute; top: 15%; left: 28%; width: 1%; height: 65%;
  background: linear-gradient(180deg, #9c8a72 0%, #7e6c56 100%);
  box-shadow: 2px 0 10px rgba(0,0,0,0.15);
}
.scn-tutt-visits-pepperill .figure-tutt {
  position: absolute; top: 22%; left: 12%; width: 8%; height: 35%;
  background: linear-gradient(180deg, #2a241a 0%, #130f0a 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 15% 15%;
  transform-origin: bottom center;
  animation: tv-tutt-roam 11s ease-in-out infinite;
}
.scn-tutt-visits-pepperill .figure-pepperill {
  position: absolute; bottom: 20%; left: 40%; width: 9%; height: 30%;
  background: linear-gradient(180deg, #2e281e 0%, #18130b 100%);
  border-radius: 25% 25% 20% 20% / 45% 45% 20% 20%;
  transform-origin: bottom center;
  animation: tv-pep-seated 8s ease-in-out infinite;
}
.scn-tutt-visits-pepperill .desk-pep {
  position: absolute; bottom: 15%; left: 38%; width: 30%; height: 15%;
  background: linear-gradient(180deg, #8a6e48 0%, #6a5234 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: tv-desk-gentle 13s ease-in-out infinite;
}
.scn-tutt-visits-pepperill .lightshaft {
  position: absolute; top: 0; right: 5%; width: 12%; height: 70%;
  background: linear-gradient(180deg, #d9d0c0 0%, #b8aa94 100%);
  opacity: 0.6;
  animation: tv-shaft-light 9s ease-in-out infinite alternate;
}
.scn-tutt-visits-pepperill .papers-on-desk {
  position: absolute; bottom: 18%; left: 42%; width: 12%; height: 4%;
  background: #f2e9d6;
  border-radius: 2px;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
  animation: tv-papers-flutter 6s ease-in-out infinite;
}
@keyframes tv-doorway-shimmer { 0% { box-shadow: 0 0 15px rgba(0,0,0,0.15); } 100% { box-shadow: 0 0 25px rgba(0,0,0,0.3); } }
@keyframes tv-tutt-roam { 0%,100% { transform: translateX(0) rotate(0deg); } 20% { transform: translateX(8px) rotate(2deg); } 60% { transform: translateX(4px) rotate(-1deg); } 80% { transform: translateX(-3px) rotate(0deg); } }
@keyframes tv-pep-seated { 0%,100% { transform: translateY(0); } 30% { transform: translateY(-1px); } 70% { transform: translateY(1px); } }
@keyframes tv-desk-gentle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes tv-shaft-light { 0% { opacity: 0.55; } 50% { opacity: 0.7; } 100% { opacity: 0.6; } }
@keyframes tv-papers-flutter { 0%,100% { transform: rotate(0deg); } 40% { transform: rotate(3deg); } 80% { transform: rotate(-2deg); } }

/* scene: tutt-pepperill-negotiation */
.scn-tutt-pepperill-negotiation {
  background: linear-gradient(180deg, #eeddcc 0%, #d4c0ab 100%), radial-gradient(ellipse at 30% 60%, #fff7eb 0%, transparent 70%);
}
.scn-tutt-pepperill-negotiation .bg-room {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #e5d4c0 0%, #cbb9a2 100%);
  box-shadow: inset 0 8px 30px rgba(0,0,0,0.1);
}
.scn-tutt-pepperill-negotiation .window-sill {
  position: absolute; top: 12%; right: 10%; width: 25%; height: 2%;
  background: #a08460;
  border-radius: 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: np-sill-tap 12s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .figure-tutt-side {
  position: absolute; bottom: 20%; left: 20%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a2218 0%, #140f09 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 15% 15%;
  transform-origin: bottom center;
  animation: np-tutt-lean 9s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .figure-pep-side {
  position: absolute; bottom: 22%; right: 22%; width: 9%; height: 32%;
  background: linear-gradient(180deg, #2a2218 0%, #140f09 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 15% 15%;
  transform-origin: bottom center;
  animation: np-pep-lean 11s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .desk-negotiation {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 18%;
  background: linear-gradient(180deg, #8b6e48 0%, #6a5030 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  animation: np-desk-settle 14s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .stogies {
  position: absolute; bottom: 25%; left: 38%; width: 4%; height: 2%;
  background: #5a3e1a;
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: np-stogie-smoke 7s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .papers-stack {
  position: absolute; bottom: 20%; left: 48%; width: 10%; height: 6%;
  background: #f0e4cc;
  border-radius: 2px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.1);
  animation: np-papers-slide 10s ease-in-out infinite;
}
.scn-tutt-pepperill-negotiation .chair-tutt {
  position: absolute; bottom: 12%; left: 18%; width: 12%; height: 20%;
  background: linear-gradient(180deg, #5a4228 0%, #3f2c18 100%);
  border-radius: 10% 10% 30% 30% / 30% 30% 20% 20%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: np-chair-rock 8s ease-in-out infinite;
}
@keyframes np-sill-tap { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes np-tutt-lean { 0%,100% { transform: rotate(0deg) translateX(0); } 30% { transform: rotate(5deg) translateX(2px); } 70% { transform: rotate(-4deg) translateX(-1px); } }
@keyframes np-pep-lean { 0%,100% { transform: rotate(0deg) translateX(0); } 40% { transform: rotate(-4deg) translateX(1px); } 80% { transform: rotate(3deg) translateX(-2px); } }
@keyframes np-desk-settle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes np-stogie-smoke { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(10deg) translateY(-2px); } 75% { transform: rotate(-8deg) translateY(1px); } }
@keyframes np-papers-slide { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg); } 70% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes np-chair-rock { 0%,100% { transform: rotate(0deg); } 30% { transform: rotate(2deg); } 70% { transform: rotate(-3deg); } }

/* scene: tutt-offers-plea */
.scn-tutt-offers-plea {
  background: linear-gradient(180deg, #f0e7dc 0%, #dbcebf 100%), radial-gradient(ellipse at 60% 30%, #fff9f0 0%, transparent 65%);
}
.scn-tutt-offers-plea .wall-panels {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #e2d7c8 0%, #cabdaa 100%);
  box-shadow: inset 0 6px 30px rgba(0,0,0,0.08);
}
.scn-tutt-offers-plea .window-bright {
  position: absolute; top: 8%; left: 8%; width: 22%; height: 40%;
  background: radial-gradient(ellipse at 50% 40%, #d6e8f2 0%, #b0ccde 80%);
  border: 6px solid #9a8262;
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(255,255,255,0.4), 0 0 20px rgba(0,0,0,0.1);
  animation: op-window-fade 12s ease-in-out infinite alternate;
}
.scn-tutt-offers-plea .figure-tutt-sit {
  position: absolute; bottom: 15%; left: 35%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #2d251a 0%, #18120b 100%);
  border-radius: 20% 20% 15% 15% / 40% 40% 15% 15%;
  transform-origin: bottom center;
  animation: op-tutt-sit 8s ease-in-out infinite;
}
.scn-tutt-offers-plea .chimney-pot {
  position: absolute; top: 28%; left: 38%; width: 5%; height: 6%;
  background: #3a2a1a;
  border-radius: 50% 50% 10% 10% / 60% 60% 10% 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: op-hat-sway 9s ease-in-out infinite;
}
.scn-tutt-offers-plea .papers-bundle {
  position: absolute; bottom: 18%; left: 45%; width: 10%; height: 4%;
  background: #f0e3cc;
  border-radius: 2px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.1);
  animation: op-bundle-shift 7s ease-in-out infinite;
}
.scn-tutt-offers-plea .table {
  position: absolute; bottom: 10%; left: 25%; width: 50%; height: 15%;
  background: linear-gradient(180deg, #8b6e48 0%, #6a5030 100%);
  border-radius: 2% 2% 0 0;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  animation: op-table-level 15s ease-in-out infinite;
}
.scn-tutt-offers-plea .shadows-soft {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 60%, rgba(0,0,0,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.scn-tutt-offers-plea .pen-and-ink {
  position: absolute; bottom: 13%; left: 48%; width: 2%; height: 3%;
  background: #1a100a;
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: op-pen-dip 11s ease-in-out infinite;
}
@keyframes op-window-fade { 0% { opacity: 0.75; } 50% { opacity: 0.95; } 100% { opacity: 0.8; } }
@keyframes op-tutt-sit { 0%,100% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(1deg); } 70% { transform: translateY(1px) rotate(-1deg); } }
@keyframes op-hat-sway { 0%,100% { transform: rotate(0deg); } 30% { transform: rotate(3deg); } 70% { transform: rotate(-2deg); } }
@keyframes op-bundle-shift { 0%,100% { transform: translateX(0) rotate(0deg); } 40% { transform: translateX(4px) rotate(2deg); } 80% { transform: translateX(-2px) rotate(-1deg); } }
@keyframes op-table-level { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-1px); } }
@keyframes op-pen-dip { 0%,100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(8deg) translateY(-2px); } 75% { transform: rotate(-6deg) translateY(1px); } }

.scn-chicago-unwritten-law { background: linear-gradient(180deg, #f5e6d0 0%, #e0c8a8 40%, #c8b090 100%), radial-gradient(circle at 70% 30%, rgba(255,230,180,0.3) 0%, transparent 60%); }
.scn-chicago-unwritten-law .bg-wall { position:absolute; inset:0; background: linear-gradient(180deg, #d4c4a8 0%, #b8a088 100%); }
.scn-chicago-unwritten-law .window-light { position:absolute; top:8%; left:55%; width:120px; height:160px; background: linear-gradient(180deg, #fff8e0 0%, #ffe0a0 50%, #f0c070 100%); border-radius:8px; box-shadow: inset 0 0 40px #ffe090, 0 0 60px rgba(255,224,144,0.5); animation: ch-window 4s ease-in-out infinite alternate; }
.scn-chicago-unwritten-law .bench { position:absolute; bottom:20%; left:10%; width:180px; height:70px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:4px 4px 2px 2px; box-shadow: 0 6px 12px rgba(0,0,0,0.4); }
.scn-chicago-unwritten-law .woman-figure { position:absolute; bottom:25%; left:30%; width:30px; height:90px; background: linear-gradient(180deg, #1a1a2e 0%, #0e0e1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-woman 3s ease-in-out infinite; }
.scn-chicago-unwritten-law .woman-figure::after { content:''; position:absolute; top:30%; left:-10px; width:16px; height:8px; background: #4a3a2a; border-radius: 0 50% 50% 0; transform: rotate(-20deg); } /* holding a "knife" shape */
.scn-chicago-unwritten-law .man-figure { position:absolute; bottom:25%; left:60%; width:36px; height:100px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ch-man 4s ease-in-out infinite; }
.scn-chicago-unwritten-law .scales-wobble { position:absolute; bottom:30%; left:50%; width:40px; height:60px; background: linear-gradient(180deg, #b08a5a 0%, #8a6a3a 100%); clip-path: polygon(0% 100%, 20% 30%, 50% 10%, 80% 30%, 100% 100%, 70% 70%, 30% 70%); transform-origin: bottom center; animation: ch-scales 6s ease-in-out infinite; }
.scn-chicago-unwritten-law .gavel-bounce { position:absolute; bottom:28%; left:20%; width:20px; height:40px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 4px; transform-origin: bottom center; animation: ch-gavel 2s ease-in-out infinite; }
@keyframes ch-window { 0% { opacity:0.7; box-shadow:0 0 30px #ffe090; } 50% { opacity:1; box-shadow:0 0 70px #ffd070; } 100% { opacity:0.8; box-shadow:0 0 40px #ffe090; } }
@keyframes ch-woman { 0% { transform: translateX(0) rotate(-3deg); } 50% { transform: translateX(8px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes ch-man { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-6px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ch-scales { 0% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-1deg); } }
@keyframes ch-gavel { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-15deg) translateY(-4px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }

.scn-women-equals-men { background: linear-gradient(180deg, #e8e0d0 0%, #c8c0b0 40%, #a8a090 100%), radial-gradient(ellipse at 50% 20%, rgba(255,245,220,0.4) 0%, transparent 70%); }
.scn-women-equals-men .bg-tunnel { position:absolute; inset:0; background: linear-gradient(180deg, #d0c8b8 0%, #b0a898 100%); }
.scn-women-equals-men .car-wall { position:absolute; top:10%; left:0; right:0; bottom:30%; background: linear-gradient(90deg, #908878 0%, #b0a898 20%, #b0a898 80%, #908878 100%); border-radius:8px; box-shadow: inset 0 8px 20px rgba(0,0,0,0.1); }
.scn-women-equals-men .seat-left { position:absolute; bottom:25%; left:10%; width:80px; height:40px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius:4px; transform-origin: center; animation: wm-seat 8s ease-in-out infinite; }
.scn-women-equals-men .seat-right { position:absolute; bottom:25%; right:10%; width:80px; height:40px; background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%); border-radius:4px; animation: wm-seat 8s ease-in-out infinite; }
.scn-women-equals-men .woman-subway { position:absolute; bottom:30%; left:16%; width:24px; height:70px; background: linear-gradient(180deg, #2a2a4a 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wm-figure-sway 6s ease-in-out infinite; }
.scn-women-equals-men .man-subway { position:absolute; bottom:30%; left:50%; width:30px; height:80px; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wm-figure-sway 7s ease-in-out infinite reverse; }
.scn-women-equals-men .grip-swing { position:absolute; top:12%; left:45%; width:6px; height:50px; background: #4a4a5a; border-radius:0 0 50% 50%; transform-origin: top center; animation: wm-grip 4s ease-in-out infinite; }
@keyframes wm-seat { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wm-figure-sway { 0% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(-1deg) translateY(0); } }
@keyframes wm-grip { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }

.scn-conscience-above-law { background: linear-gradient(180deg, #eee8d8 0%, #d8d0c0 40%, #c0b8a8 100%), radial-gradient(circle at 30% 40%, rgba(240,230,200,0.4) 0%, transparent 50%); }
.scn-conscience-above-law .bg-study { position:absolute; inset:0; background: linear-gradient(180deg, #d8d0c0 0%, #c0b8a8 100%); }
.scn-conscience-above-law .bookshelf { position:absolute; top:15%; left:5%; width:30%; height:60%; background: linear-gradient(90deg, #8a7a6a 0%, #a08a7a 20%, #a08a7a 80%, #8a7a6a 100%); border-radius:4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.1); }
.scn-conscience-above-law .desk { position:absolute; bottom:20%; left:25%; width:60%; height:50px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); }
.scn-conscience-above-law .tutt-figure { position:absolute; bottom:28%; left:35%; width:32px; height:90px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ca-tutt 5s ease-in-out infinite; }
.scn-conscience-above-law .tutt-figure::after { content:''; position:absolute; top:20%; left:60%; width:10px; height:20px; background: #1a1a2e; border-radius:50%; transform: rotate(20deg); } /* hand on chest */
.scn-conscience-above-law .bonnie-figure { position:absolute; bottom:28%; left:55%; width:26px; height:80px; background: linear-gradient(180deg, #3a2a4a 0%, #2a1a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ca-bonnie 6s ease-in-out infinite; }
.scn-conscience-above-law .lamp-glow { position:absolute; bottom:30%; left:45%; width:14px; height:20px; background: radial-gradient(circle, #ffe080 0%, #d0a040 80%); border-radius: 40% 40% 20% 20%; box-shadow: 0 0 40px #ffd070; animation: ca-lamp 3s ease-in-out infinite alternate; }
.scn-conscience-above-law .document { position:absolute; bottom:22%; left:40%; width:30px; height:40px; background: linear-gradient(180deg, #f0e8d8 0%, #d0c8b8 100%); transform: rotate(-5deg); border-radius:2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ca-doc 10s ease-in-out infinite; }
@keyframes ca-tutt { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(-2deg) scaleY(1.01); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ca-bonnie { 0% { transform: translateX(0) rotate(1deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ca-lamp { 0% { box-shadow:0 0 30px #ffd070; opacity:0.8; } 100% { box-shadow:0 0 60px #ffe090; opacity:1; } }
@keyframes ca-doc { 0% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-2px); } 100% { transform: rotate(-5deg) translateY(0); } }

.scn-dangerous-doctrine-of-honor { background: linear-gradient(180deg, #f0d8b0 0%, #d8b890 40%, #c0a078 100%), radial-gradient(circle at 60% 50%, rgba(255,200,120,0.3) 0%, transparent 60%); }
.scn-dangerous-doctrine-of-honor .bg-warm { position:absolute; inset:0; background: linear-gradient(180deg, #d8c0a8 0%, #c0a890 100%); }
.scn-dangerous-doctrine-of-honor .fireplace { position:absolute; bottom:15%; left:20%; width:30%; height:50%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a0a 100%); border-radius: 10% 10% 4% 4%; box-shadow: inset 0 -20px 40px rgba(255,150,50,0.2); }
.scn-dangerous-doctrine-of-honor .fireplace::before { content:''; position:absolute; top:20%; left:10%; width:80%; height:50%; background: radial-gradient(ellipse at 50% 80%, #ff6a20 0%, #d04010 60%, transparent 100%); animation: dh-fire 2s ease-in-out infinite alternate; }
.scn-dangerous-doctrine-of-honor .mantel { position:absolute; bottom:50%; left:18%; width:34%; height:8px; background: linear-gradient(90deg, #6a4a2a 0%, #8a6a4a 50%, #6a4a2a 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); }
.scn-dangerous-doctrine-of-honor .shield-shimmer { position:absolute; top:15%; left:50%; width:60px; height:70px; background: linear-gradient(180deg, #c0a878 0%, #a08858 100%); clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); transform-origin: center; animation: dh-shield 8s ease-in-out infinite; }
.scn-dangerous-doctrine-of-honor .sword-sway { position:absolute; top:22%; left:30%; width:8px; height:100px; background: linear-gradient(180deg, #d0c0a0 0%, #b0a080 100%); border-radius:0 0 50% 50%; transform-origin: top center; animation: dh-sword 6s ease-in-out infinite; }
.scn-dangerous-doctrine-of-honor .honor-figure { position:absolute; bottom:25%; left:55%; width:36px; height:100px; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dh-figure 5s ease-in-out infinite; }
@keyframes dh-fire { 0% { opacity:0.6; transform: scale(1); } 100% { opacity:1; transform: scale(1.2); } }
@keyframes dh-shield { 0% { transform: rotate(-2deg) scaleX(1); } 50% { transform: rotate(2deg) scaleX(1.05); } 100% { transform: rotate(-1deg) scaleX(1); } }
@keyframes dh-sword { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes dh-figure { 0% { transform: translateX(0) rotate(0deg) scaleY(1); } 50% { transform: translateX(4px) rotate(-2deg) scaleY(1.02); } 100% { transform: translateX(0) rotate(0deg) scaleY(1); } }

/* Scene 1: mc-gurk-demands-justice (tense, dim-interior) */
.scn-mc-gurk-demands-justice {
  background: linear-gradient(180deg, #2b1a10 0%, #1a0f08 40%, #0d0704 100%), radial-gradient(ellipse at 50% 30%, #3a2215 0%, transparent 60%);
}
.scn-mc-gurk-demands-justice .wall-bg {
  position:absolute; inset:0 0 30% 0;
  background: linear-gradient(180deg, #3b281a 0%, #1f1108 100%);
  animation: gj-wall 8s ease-in-out infinite alternate;
}
.scn-mc-gurk-demands-justice .floor {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(0deg, #1a0e06 0%, #2a180e 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.7);
}
.scn-mc-gurk-demands-justice .figure-gurk {
  position:absolute; bottom:20%; left:35%; width:50px; height:90px;
  background: linear-gradient(180deg, #0d0804 0%, #1a0e06 50%, #0d0804 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: gj-figure 6s ease-in-out infinite;
}
.scn-mc-gurk-demands-justice .table {
  position:absolute; bottom:15%; left:45%; width:80px; height:20px;
  background: linear-gradient(180deg, #3e2a18 0%, #1f1208 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.scn-mc-gurk-demands-justice .candle {
  position:absolute; bottom:33%; left:53%; width:8px; height:30px;
  background: linear-gradient(180deg, #e8d4a0 0%, #c4a86a 40%, #8a6a3a 100%);
  border-radius: 2px;
  box-shadow: 0 0 20px 6px rgba(232,212,160,0.5), 0 0 40px 12px rgba(232,212,160,0.2);
  animation: gj-candle 2s ease-in-out infinite alternate;
}
.scn-mc-gurk-demands-justice .shadow-gurk {
  position:absolute; bottom:8%; left:32%; width:70px; height:40px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.8) 0%, transparent 70%);
  animation: gj-shadow 6s ease-in-out infinite;
}
.scn-mc-gurk-demands-justice .shadow-wall {
  position:absolute; top:20%; left:25%; width:120px; height:180px;
  background: radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 60%);
  animation: gj-shadow2 6s ease-in-out infinite;
}
@keyframes gj-wall { 0% { opacity:0.9 } 50% { opacity:0.7 } 100% { opacity:0.85 } }
@keyframes gj-figure { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 50% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes gj-candle { 0% { box-shadow: 0 0 15px 4px rgba(232,212,160,0.4); opacity:0.9 } 50% { box-shadow: 0 0 30px 10px rgba(232,212,160,0.7); opacity:1 } 100% { box-shadow: 0 0 20px 6px rgba(232,212,160,0.5); opacity:0.95 } }
@keyframes gj-shadow { 0% { transform: scaleX(1) scaleY(1); opacity:0.6 } 50% { transform: scaleX(1.1) scaleY(0.9); opacity:0.8 } 100% { transform: scaleX(1) scaleY(1); opacity:0.65 } }
@keyframes gj-shadow2 { 0% { transform: skewX(0deg); opacity:0.4 } 50% { transform: skewX(3deg); opacity:0.6 } 100% { transform: skewX(-2deg); opacity:0.45 } }

/* Scene 2: shane-surrenders (tense, bright-interior) */
.scn-shane-surrenders {
  background: linear-gradient(180deg, #f5e6d0 0%, #d9c4a3 50%, #b89b78 100%), radial-gradient(ellipse at 40% 0%, #fff5e6 0%, transparent 70%);
}
.scn-shane-surrenders .window {
  position:absolute; top:10%; left:20%; width:120px; height:100px;
  background: linear-gradient(180deg, #cfe8ff 0%, #a3c8e6 100%);
  border-radius: 20% 20% 5% 5%;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.3);
  animation: ss-window 10s ease-in-out infinite alternate;
}
.scn-shane-surrenders .light-beam {
  position:absolute; top:10%; left:20%; width:80px; height:200px;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 100%);
  filter: blur(10px);
  animation: ss-beam 8s ease-in-out infinite alternate;
}
.scn-shane-surrenders .floor-sun {
  position:absolute; bottom:0; left:0; right:0; height:30%;
  background: linear-gradient(0deg, #b89b78 0%, #d9c4a3 100%);
  box-shadow: inset 0 8px 10px rgba(0,0,0,0.1);
}
.scn-shane-surrenders .table-sun {
  position:absolute; bottom:18%; left:35%; width:90px; height:25px;
  background: linear-gradient(180deg, #8a704c 0%, #5a4528 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.scn-shane-surrenders .figure-shane {
  position:absolute; bottom:22%; left:30%; width:45px; height:80px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1f140a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ss-shane 4s ease-in-out infinite;
}
.scn-shane-surrenders .figure-law {
  position:absolute; bottom:24%; left:52%; width:50px; height:85px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0f0f1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ss-law 5s ease-in-out infinite;
}
.scn-shane-surrenders .dust {
  position:absolute; top:30%; left:20%; width:200px; height:100px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  filter: blur(4px);
  animation: ss-dust 15s linear infinite;
}
@keyframes ss-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes ss-beam { 0% { transform: translateX(0) rotate(-2deg); opacity:0.6 } 50% { transform: translateX(5px) rotate(0deg); opacity:1 } 100% { transform: translateX(-3px) rotate(1deg); opacity:0.7 } }
@keyframes ss-shane { 0% { transform: translateX(0) translateY(0) rotate(0deg) } 25% { transform: translateX(8px) translateY(-3px) rotate(3deg) } 50% { transform: translateX(12px) translateY(0) rotate(0deg) } 75% { transform: translateX(6px) translateY(-2px) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(0deg) } }
@keyframes ss-law { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes ss-dust { 0% { transform: translateY(0) translateX(0) } 50% { transform: translateY(-10px) translateX(20px) } 100% { transform: translateY(0) translateX(40px) } }

/* Scene 3: shane-wont-talk (tense, bright-interior) */
.scn-shane-wont-talk {
  background: linear-gradient(180deg, #e8d8c8 0%, #c2ae96 50%, #9e8468 100%), radial-gradient(ellipse at 50% 0%, #fff5e0 0%, transparent 60%);
}
.scn-shane-wont-talk .ceiling-lamp {
  position:absolute; top:5%; left:50%; width:20px; height:40px; transform:translateX(-50%);
  background: linear-gradient(180deg, #c8a86a 0%, #a08040 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 10px rgba(200,168,106,0.6);
  animation: swt-lamp 3s ease-in-out infinite alternate;
}
.scn-shane-wont-talk .table-inter {
  position:absolute; bottom:22%; left:35%; width:100px; height:30px;
  background: linear-gradient(180deg, #7a6346 0%, #4c3822 100%);
  border-radius: 8% 8% 5% 5%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.scn-shane-wont-talk .chair-left {
  position:absolute; bottom:25%; left:30%; width:30px; height:50px;
  background: linear-gradient(180deg, #5a4028 0%, #2e1f12 100%);
  border-radius: 10% 10% 5% 5%;
  animation: swt-chair 6s ease-in-out infinite;
}
.scn-shane-wont-talk .chair-right {
  position:absolute; bottom:25%; right:30%; width:30px; height:50px;
  background: linear-gradient(180deg, #5a4028 0%, #2e1f12 100%);
  border-radius: 10% 10% 5% 5%;
  animation: swt-chair 6s ease-in-out infinite reverse;
  transform: scaleX(-1);
}
.scn-shane-wont-talk .figure-inter {
  position:absolute; bottom:22%; left:42%; width:45px; height:85px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: swt-inter 4s ease-in-out infinite;
}
.scn-shane-wont-talk .figure-shane-sit {
  position:absolute; bottom:20%; right:40%; width:40px; height:70px;
  background: linear-gradient(180deg, #2a1a0e 0%, #140e06 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: swt-shane 5s ease-in-out infinite;
}
.scn-shane-wont-talk .shadow-inter {
  position:absolute; bottom:8%; left:38%; width:100px; height:50px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: swt-shadow 4s ease-in-out infinite;
}
.scn-shane-wont-talk .lamp-swing {
  position:absolute; top:5%; left:50%; width:4px; height:60px; transform:translateX(-50%);
  background: linear-gradient(180deg, #a08040 0%, #604820 100%);
  border-radius: 2px;
  animation: swt-swing 4s ease-in-out infinite alternate;
}
@keyframes swt-lamp { 0% { box-shadow: 0 0 20px 5px rgba(200,168,106,0.4); opacity:0.8 } 50% { box-shadow: 0 0 40px 15px rgba(200,168,106,0.8); opacity:1 } 100% { box-shadow: 0 0 25px 8px rgba(200,168,106,0.5); opacity:0.9 } }
@keyframes swt-chair { 0% { transform: rotate(0deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes swt-inter { 0% { transform: translateX(0) rotate(0deg) } 30% { transform: translateX(5px) rotate(-2deg) } 60% { transform: translateX(-3px) rotate(2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes swt-shane { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-3px) rotate(-1deg) } 100% { transform: translateY(0) rotate(1deg) } }
@keyframes swt-shadow { 0% { transform: scaleX(1); opacity:0.5 } 50% { transform: scaleX(1.2); opacity:0.7 } 100% { transform: scaleX(0.9); opacity:0.55 } }
@keyframes swt-swing { 0% { transform: translateX(-50%) rotate(-5deg) } 50% { transform: translateX(-50%) rotate(5deg) } 100% { transform: translateX(-50%) rotate(-3deg) } }

/* Scene 4: miss-beekman-history (calm, bright-interior) */
.scn-miss-beekman-history {
  background: linear-gradient(180deg, #faf0e6 0%, #e0d5c0 50%, #c0b8a8 100%), radial-gradient(ellipse at 60% 20%, #fffaf0 0%, transparent 70%);
}
.scn-miss-beekman-history .window-soft {
  position:absolute; top:15%; left:15%; width:140px; height:110px;
  background: linear-gradient(180deg, #d4eaff 0%, #b6d0e6 100%);
  border-radius: 15% 15% 5% 5%;
  box-shadow: inset 0 0 25px rgba(255,255,240,0.4);
  animation: mb-window 12s ease-in-out infinite alternate;
}
.scn-miss-beekman-history .curtain-left {
  position:absolute; top:12%; left:8%; width:50px; height:140px;
  background: linear-gradient(180deg, #d0c0a0 0%, #a89870 100%);
  border-radius: 30% 10% 30% 10%;
  animation: mb-curtain 10s ease-in-out infinite;
}
.scn-miss-beekman-history .curtain-right {
  position:absolute; top:12%; right:8%; width:50px; height:140px;
  background: linear-gradient(180deg, #d0c0a0 0%, #a89870 100%);
  border-radius: 10% 30% 10% 30%;
  animation: mb-curtain 10s ease-in-out infinite reverse;
}
.scn-miss-beekman-history .chair-miss {
  position:absolute; bottom:25%; left:40%; width:60px; height:70px;
  background: linear-gradient(180deg, #8a704a 0%, #5a4528 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.scn-miss-beekman-history .figure-miss {
  position:absolute; bottom:30%; left:44%; width:40px; height:65px;
  background: linear-gradient(180deg, #2a1a0e 0%, #1a100a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb-figure 8s ease-in-out infinite;
}
.scn-miss-beekman-history .carpet {
  position:absolute; bottom:5%; left:25%; width:200px; height:30px;
  background: linear-gradient(90deg, #8a6a4a 0%, #b89870 20%, #8a6a4a 50%, #b89870 80%, #8a6a4a 100%);
  border-radius: 50% 50% 10% 10%;
  animation: mb-carpet 20s linear infinite;
}
.scn-miss-beekman-history .fireplace {
  position:absolute; bottom:15%; right:15%; width:80px; height:90px;
  background: linear-gradient(180deg, #4a3020 0%, #2e1a0e 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 0 15px rgba(0,0,0,0.5);
}
.scn-miss-beekman-history .portrait {
  position:absolute; top:20%; right:20%; width:40px; height:50px;
  background: linear-gradient(180deg, #c8b89a 0%, #a09070 100%);
  border-radius: 5%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: mb-portrait 6s ease-in-out infinite alternate;
}
@keyframes mb-window { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes mb-curtain { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes mb-figure { 0% { transform: translateY(0) rotate(0deg) } 50% { transform: translateY(-2px) rotate(1deg) } 100% { transform: translateY(0) rotate(0deg) } }
@keyframes mb-carpet { 0% { background-position: 0 0 } 100% { background-position: 200px 0 } }
@keyframes mb-portrait { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.02) rotate(1deg) } 100% { transform: scale(0.98) rotate(-1deg) } }

.scn-peckham-refuses-dismissal {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #b8926e 100%),
    radial-gradient(ellipse at 30% 80%, #e3c9a0 0%, transparent 60%);
}
.scn-peckham-refuses-dismissal .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0e0c0 0%, #d8c4a0 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
}
.scn-peckham-refuses-dismissal .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b8926e 0%, #9a7a5a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-peckham-refuses-dismissal .window {
  position: absolute; top: 10%; left: 15%; width: 25%; height: 35%;
  background: linear-gradient(135deg, #fff8e8 0%, #f0d8b0 60%, #d4b080 100%);
  border-radius: 8px;
  box-shadow: inset 0 0 40px rgba(255,240,200,0.5), 0 0 30px rgba(255,200,100,0.3);
  animation: pck-window 6s ease-in-out infinite alternate;
}
.scn-peckham-refuses-dismissal .desk {
  position: absolute; bottom: 30%; left: 35%; width: 30%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-peckham-refuses-dismissal .figure-left {
  position: absolute; bottom: 28%; left: 20%; width: 12%; height: 28%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 40%;
  transform-origin: bottom center;
  animation: pck-fig-left 4s ease-in-out infinite;
}
.scn-peckham-refuses-dismissal .figure-right {
  position: absolute; bottom: 28%; right: 20%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0a0a 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 40% 50%;
  transform-origin: bottom center;
  animation: pck-fig-right 4.5s ease-in-out infinite;
}
.scn-peckham-refuses-dismissal .lamp {
  position: absolute; top: 15%; left: 60%; width: 8%; height: 18%;
  background: radial-gradient(circle at 50% 20%, #ffe080 0%, #c09050 80%);
  border-radius: 50% 50% 20% 20% / 80% 80% 10% 10%;
  box-shadow: 0 0 50px 20px rgba(255,200,80,0.4);
  animation: pck-lamp 3s ease-in-out infinite alternate;
}
.scn-peckham-refuses-dismissal .papers {
  position: absolute; bottom: 32%; left: 40%; width: 8%; height: 4%;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: pck-papers 7s ease-in-out infinite;
}
@keyframes pck-window {
  0% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 0.85; transform: scale(0.98); }
}
@keyframes pck-fig-left {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-3px) rotate(1deg); }
  50% { transform: translateY(0) rotate(-0.5deg); }
  75% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pck-fig-right {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-4px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0.5deg); }
}
@keyframes pck-lamp {
  0% { box-shadow: 0 0 30px 10px rgba(255,200,80,0.3); opacity: 0.9; }
  50% { box-shadow: 0 0 60px 25px rgba(255,200,80,0.6); opacity: 1; }
  100% { box-shadow: 0 0 40px 15px rgba(255,200,80,0.4); opacity: 0.95; }
}
@keyframes pck-papers {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(-3px) rotate(-1deg); }
}

.scn-trade-refused {
  background:
    linear-gradient(180deg, #f2e0c0 0%, #d0b890 40%, #b09070 100%),
    radial-gradient(ellipse at 70% 60%, #e0c090 0%, transparent 70%);
}
.scn-trade-refused .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #ede0c8 0%, #d8c4a8 100%);
}
.scn-trade-refused .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #b09070 0%, #8a7050 100%);
  border-radius: 30% 20% 0 0 / 15% 10% 0 0;
}
.scn-trade-refused .table {
  position: absolute; bottom: 25%; left: 30%; width: 40%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}
.scn-trade-refused .scale {
  position: absolute; bottom: 28%; left: 45%; width: 10%; height: 12%;
  background: radial-gradient(ellipse at 50% 30%, #c0a070 0%, #806040 80%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 20px rgba(100,60,20,0.3);
  animation: trd-scale 5s ease-in-out infinite;
}
.scn-trade-refused .figure-left {
  position: absolute; bottom: 22%; left: 18%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #4a3a2a 0%, #1a0a00 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 40%;
  transform-origin: bottom center;
  animation: trd-fig-left 3.5s ease-in-out infinite;
}
.scn-trade-refused .figure-right {
  position: absolute; bottom: 22%; right: 18%; width: 14%; height: 34%;
  background: linear-gradient(180deg, #3a2a1a 0%, #0a0000 100%);
  border-radius: 40% 50% 40% 40% / 50% 60% 40% 50%;
  transform-origin: bottom center;
  animation: trd-fig-right 4s ease-in-out infinite;
}
.scn-trade-refused .paper-stack {
  position: absolute; bottom: 28%; left: 38%; width: 8%; height: 5%;
  background: #fff8e0;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: trd-papers 8s ease-in-out infinite alternate;
}
.scn-trade-refused .hand-offer {
  position: absolute; bottom: 30%; left: 42%; width: 6%; height: 8%;
  background: radial-gradient(circle at 50% 30%, #c09060 0%, #624020 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: trd-hand 3s ease-in-out infinite alternate;
}
@keyframes trd-scale {
  0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(-2deg); }
}
@keyframes trd-fig-left {
  0% { transform: translateY(0) rotate(1deg); }
  30% { transform: translateY(-5px) rotate(-1deg); }
  70% { transform: translateY(-2px) rotate(0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes trd-fig-right {
  0% { transform: translateY(0) rotate(-1deg); }
  40% { transform: translateY(-4px) rotate(1deg); }
  80% { transform: translateY(-1px) rotate(-0.5deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes trd-papers {
  0% { transform: translateX(0) rotate(0deg); opacity: 0.9; }
  50% { transform: translateX(4px) rotate(3deg); opacity: 1; }
  100% { transform: translateX(-2px) rotate(-2deg); opacity: 0.85; }
}
@keyframes trd-hand {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.05); }
  100% { transform: translateY(-2px) scale(0.98); }
}

.scn-peckham-forces-trial {
  background:
    linear-gradient(135deg, #3a2a1a 0%, #5a3a2a 30%, #4a2a1a 60%, #1a0a00 100%),
    radial-gradient(ellipse at 50% 70%, #6a4a2a 0%, transparent 50%);
}
.scn-peckham-forces-trial .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5);
}
.scn-peckham-forces-trial .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #4a2a1a 0%, #1a0a00 100%);
  border-radius: 10% 10% 0 0 / 5% 5% 0 0;
}
.scn-peckham-forces-trial .bench {
  position: absolute; bottom: 20%; left: 25%; width: 50%; height: 10%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.6);
}
.scn-peckham-forces-trial .gavel {
  position: absolute; bottom: 28%; left: 48%; width: 6%; height: 8%;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 20% 20% 40% 40% / 20% 20% 60% 60%;
  transform-origin: bottom center;
  animation: pft-gavel 2s ease-in-out infinite;
}
.scn-peckham-forces-trial .figure-standing {
  position: absolute; bottom: 18%; left: 15%; width: 16%; height: 36%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pft-stand 3s ease-in-out infinite;
  box-shadow: -10px 0 20px rgba(0,0,0,0.5);
}
.scn-peckham-forces-trial .figure-seated {
  position: absolute; bottom: 18%; right: 15%; width: 18%; height: 28%;
  background: linear-gradient(180deg, #1a0a00 0%, #0a0000 100%);
  border-radius: 50% 40% 40% 40% / 60% 50% 50% 40%;
  transform-origin: bottom center;
  animation: pft-seated 4.5s ease-in-out infinite;
}
.scn-peckham-forces-trial .clock {
  position: absolute; top: 10%; left: 80%; width: 10%; height: 10%;
  background: radial-gradient(circle at 50% 45%, #c0a070 0%, #806040 60%, #402010 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(200,160,100,0.3);
  animation: pft-clock 12s linear infinite;
}
.scn-peckham-forces-trial .shadow-stripe {
  position: absolute; top: 0; left: 50%; width: 2%; height: 100%;
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 40%, rgba(0,0,0,0.2) 80%);
  animation: pft-stripe 8s ease-in-out infinite alternate;
}
@keyframes pft-gavel {
  0% { transform: rotate(-5deg); }
  30% { transform: rotate(5deg) translateY(-3px); }
  60% { transform: rotate(-3deg); }
  100% { transform: rotate(2deg); }
}
@keyframes pft-stand {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-6px) rotate(2deg); }
  50% { transform: translateY(-3px) rotate(-1deg); }
  75% { transform: translateY(-8px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pft-seated {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-4px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0.5deg); }
}
@keyframes pft-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes pft-stripe {
  0% { opacity: 0.2; transform: scaleY(1); }
  50% { opacity: 0.6; transform: scaleY(0.8); }
  100% { opacity: 0.3; transform: scaleY(1.1); }
}

.scn-caput-must-try-case {
  background:
    linear-gradient(180deg, #f0e0c8 0%, #e0c8a0 30%, #d0b080 60%, #c09870 100%),
    radial-gradient(ellipse at 50% 80%, #ffe0b0 0%, transparent 60%);
}
.scn-caput-must-try-case .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f2e8d8 0%, #e0d0b8 100%);
  box-shadow: inset 0 20px 40px rgba(0,0,0,0.1);
}
.scn-caput-must-try-case .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #c09870 0%, #a07858 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
}
.scn-caput-must-try-case .judge-bench {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  animation: cap-bench 6s ease-in-out infinite;
}
.scn-caput-must-try-case .robe {
  position: absolute; bottom: 28%; left: 40%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: cap-robe 3s ease-in-out infinite;
}
.scn-caput-must-try-case .nervous-head {
  position: absolute; bottom: 52%; left: 45%; width: 10%; height: 12%;
  background: radial-gradient(circle at 50% 40%, #e0c8a0 0%, #c09870 80%);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  animation: cap-head 2s ease-in-out infinite alternate;
}
.scn-caput-must-try-case .gavel-shake {
  position: absolute; bottom: 32%; left: 35%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #a08060 0%, #604020 100%);
  border-radius: 20% 20% 40% 40% / 20% 20% 60% 60%;
  transform-origin: bottom center;
  animation: cap-gavel 0.8s ease-in-out infinite;
}
.scn-caput-must-try-case .falling-book {
  position: absolute; top: 10%; left: 20%; width: 8%; height: 6%;
  background: #8a6040;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: cap-book 4s ease-in-out infinite;
}
.scn-caput-must-try-case .bounce-desk {
  position: absolute; bottom: 24%; left: 42%; width: 12%; height: 4%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 2px;
  animation: cap-desk 3s ease-in-out infinite;
}
@keyframes cap-bench {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
  100% { transform: translateY(0) scale(0.98); }
}
@keyframes cap-robe {
  0% { transform: translateY(0) rotate(-1deg); }
  25% { transform: translateY(-8px) rotate(2deg); }
  50% { transform: translateY(-4px) rotate(-2deg); }
  75% { transform: translateY(-10px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes cap-head {
  0% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-6px) rotate(5deg); }
  100% { transform: translateY(-2px) rotate(-3deg); }
}
@keyframes cap-gavel {
  0% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg) translateY(-2px); }
  100% { transform: rotate(-10deg); }
}
@keyframes cap-book {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(80px) rotate(20deg); opacity: 0.8; }
  100% { transform: translateY(0) rotate(-5deg); opacity: 1; }
}
@keyframes cap-desk {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.03); }
  100% { transform: translateY(0) scale(0.97); }
}

/* summons-issued */
.scn-summons-issued {
  background: linear-gradient(135deg, #f8e8c8 0%, #f0d4a0 30%, #e0c080 70%, #d0b060 100%),
              radial-gradient(circle at 80% 20%, #fef0d0 0%, transparent 50%);
}
.scn-summons-issued .bg-wall {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f2debc 0%, #d9b87a 100%);
}
.scn-summons-issued .desk {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #8b6b4a 0%, #5a3e2a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: si-desk 6s ease-in-out infinite alternate;
}
.scn-summons-issued .lamp {
  position: absolute; bottom: 42%; left: 50%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #c0a070 0%, #8b6b4a 100%);
  transform: translateX(-50%); border-radius: 4px 4px 2px 2px;
}
.scn-summons-issued .lamp::after {
  content: ''; position: absolute; top: -18px; left: -12px; width: 38px; height: 20px;
  background: radial-gradient(circle, #ffe680 0%, #f0c040 60%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 40px 20px rgba(255,200,80,0.5);
  animation: si-lampglow 3s ease-in-out infinite alternate;
}
.scn-summons-issued .figure-clerk {
  position: absolute; bottom: 26%; left: 35%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: si-clerk 5s ease-in-out infinite;
}
.scn-summons-issued .figure-pumpelly {
  position: absolute; bottom: 26%; left: 55%; width: 22px; height: 48px;
  background: linear-gradient(180deg, #5e3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: si-pumpelly 5s ease-in-out infinite 1s;
}
.scn-summons-issued .paper-slip {
  position: absolute; bottom: 35%; left: 38%; width: 30px; height: 8px;
  background: #f5f0e0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: si-paper 8s ease-in-out infinite;
}
.scn-summons-issued .stamp {
  position: absolute; bottom: 38%; left: 42%; width: 10px; height: 10px;
  background: #b0302a; border-radius: 2px; box-shadow: 0 0 6px rgba(176,48,42,0.3);
  animation: si-stamp 10s ease-in-out infinite;
}
@keyframes si-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes si-lampglow { 0% { opacity: 0.7; box-shadow: 0 0 20px 10px rgba(255,200,80,0.3); } 100% { opacity: 1; box-shadow: 0 0 40px 20px rgba(255,200,80,0.6); } }
@keyframes si-clerk { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(0) rotate(-2deg); } 75% { transform: translateX(-4px) rotate(1deg); } }
@keyframes si-pumpelly { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(0) rotate(2deg); } 75% { transform: translateX(3px) rotate(0); } }
@keyframes si-paper { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(10px) rotate(10deg); } 60% { transform: translateX(5px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes si-stamp { 0%,100% { transform: scale(1); } 50% { transform: scale(1.3) rotate(15deg); } }

/* mrs-wells-summoned */
.scn-mrs-wells-summoned {
  background: linear-gradient(135deg, #f2e8d0 0%, #e0d4b8 40%, #c8b898 100%),
              radial-gradient(circle at 30% 40%, #fef8e8 0%, transparent 60%);
}
.scn-mrs-wells-summoned .bg-room { position: absolute; inset: 0; background: linear-gradient(180deg, #ede0c8 0%, #d4c4a0 100%); }
.scn-mrs-wells-summoned .door {
  position: absolute; bottom: 5%; left: 10%; width: 80px; height: 75%;
  background: linear-gradient(180deg, #8b6b4a 0%, #5a3e2a 100%);
  border-radius: 4% 4% 0 0; box-shadow: -4px 0 8px rgba(0,0,0,0.2);
  animation: mws-door 12s ease-in-out infinite alternate;
}
.scn-mrs-wells-summoned .door::after {
  content: ''; position: absolute; right: 10px; top: 50%; width: 8px; height: 8px;
  background: #c09860; border-radius: 50%;
}
.scn-mrs-wells-summoned .window {
  position: absolute; bottom: 55%; right: 8%; width: 60px; height: 80px;
  background: linear-gradient(180deg, #c0d8e8 0%, #a0b8d0 100%);
  border: 6px solid #6a4a2a; border-radius: 6px;
  box-shadow: inset 0 0 20px rgba(255,255,240,0.5);
  animation: mws-windowlight 8s ease-in-out infinite alternate;
}
.scn-mrs-wells-summoned .figure-hesitant {
  position: absolute; bottom: 20%; left: 45%; width: 22px; height: 52px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mws-hesitate 6s ease-in-out infinite;
}
.scn-mrs-wells-summoned .chair {
  position: absolute; bottom: 18%; left: 30%; width: 30px; height: 20px;
  background: linear-gradient(135deg, #7a5a3a 0%, #4a2e1a 100%);
  border-radius: 30% 30% 10% 10%; box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
.scn-mrs-wells-summoned .letter {
  position: absolute; bottom: 30%; left: 35%; width: 25px; height: 5px;
  background: #f8f0e0; border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  animation: mws-letter 10s ease-in-out infinite;
}
@keyframes mws-door { 0% { transform: translateX(0); } 50% { transform: translateX(8px) scaleX(0.9); } 100% { transform: translateX(0); } }
@keyframes mws-windowlight { 0% { opacity: 0.6; box-shadow: inset 0 0 10px rgba(255,255,240,0.3); } 100% { opacity: 1; box-shadow: inset 0 0 30px rgba(255,255,240,0.7); } }
@keyframes mws-hesitate { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-5px) rotate(-3deg); } 50% { transform: translateX(5px) rotate(2deg); } 75% { transform: translateX(-3px) rotate(-1deg); } }
@keyframes mws-letter { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(12px) rotate(15deg); } 60% { transform: translateX(-8px) rotate(-10deg); } 100% { transform: translateX(0) rotate(0); } }

/* mrs-wells-consults-tutt */
.scn-mrs-wells-consults-tutt {
  background: linear-gradient(135deg, #e8dcc8 0%, #d0c4ac 40%, #b8ac94 100%),
              radial-gradient(circle at 70% 30%, #fef0dc 0%, transparent 50%);
}
.scn-mrs-wells-consults-tutt .bg-office { position: absolute; inset: 0; background: linear-gradient(180deg, #e0d4b8 0%, #c8b898 100%); }
.scn-mrs-wells-consults-tutt .bookshelf {
  position: absolute; top: 8%; left: 5%; width: 40%; height: 40%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2e1a 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
  animation: mwt-shelf 20s ease-in-out infinite alternate;
}
.scn-mrs-wells-consults-tutt .bookshelf::after {
  content: ''; position: absolute; top: 10px; left: 10px; width: 80%; height: 80%;
  background: repeating-linear-gradient(90deg, #b89060 0px, #b89060 6px, transparent 6px, transparent 10px);
  opacity: 0.6;
}
.scn-mrs-wells-consults-tutt .desk-large {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 35%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2210 100%);
  border-radius: 6% 6% 0 0; box-shadow: 0 8px 16px rgba(0,0,0,0.3);
  animation: mwt-desk 8s ease-in-out infinite alternate;
}
.scn-mrs-wells-consults-tutt .tutt-silhouette {
  position: absolute; bottom: 25%; left: 35%; width: 24px; height: 56px;
  background: linear-gradient(180deg, #2a1a0a 0%, #0e0500 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwt-tutt 7s ease-in-out infinite;
}
.scn-mrs-wells-consults-tutt .wells-silhouette {
  position: absolute; bottom: 25%; left: 55%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3e2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mwt-wells 7s ease-in-out infinite 2s;
}
.scn-mrs-wells-consults-tutt .lamp-desk {
  position: absolute; bottom: 38%; left: 48%; width: 12px; height: 35px;
  background: linear-gradient(180deg, #c0a070 0%, #8b6b4a 100%);
  transform: translateX(-50%); border-radius: 3px;
}
.scn-mrs-wells-consults-tutt .lamp-desk::after {
  content: ''; position: absolute; top: -14px; left: -8px; width: 28px; height: 16px;
  background: radial-gradient(circle, #ffe680 0%, #f0c040 60%, transparent 70%);
  border-radius: 50%; box-shadow: 0 0 30px 15px rgba(255,200,80,0.5);
  animation: mwt-lamp 4s ease-in-out infinite alternate;
}
.scn-mrs-wells-consults-tutt .coffee-cup {
  position: absolute; bottom: 30%; left: 42%; width: 14px; height: 10px;
  background: #c0b090; border-radius: 0 0 4px 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mwt-cup 10s ease-in-out infinite;
}
@keyframes mwt-shelf { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mwt-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes mwt-tutt { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-3deg); } 75% { transform: translateX(4px) rotate(1deg); } }
@keyframes mwt-wells { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-4px) rotate(-2deg); } 50% { transform: translateX(2px) rotate(3deg); } 75% { transform: translateX(-3px) rotate(-1deg); } }
@keyframes mwt-lamp { 0% { opacity: 0.7; box-shadow: 0 0 15px 8px rgba(255,200,80,0.3); } 100% { opacity: 1; box-shadow: 0 0 35px 18px rgba(255,200,80,0.6); } }
@keyframes mwt-cup { 0% { transform: translateX(0) rotate(0); } 30% { transform: translateX(6px) rotate(8deg); } 60% { transform: translateX(-3px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0); } }

/* crime-and-progress-debate – calm mood, bright interior */
.scn-crime-and-progress-debate {
  background: linear-gradient(135deg, #eae2d6 0%, #d6cec2 40%, #b8b0a4 100%),
              radial-gradient(circle at 20% 60%, #f8f4ec 0%, transparent 50%);
}
.scn-crime-and-progress-debate .bg-parlor { position: absolute; inset: 0; background: linear-gradient(180deg, #e0d8cc 0%, #c8c0b4 100%); }
.scn-crime-and-progress-debate .fireplace {
  position: absolute; bottom: 5%; left: 25%; width: 50%; height: 40%;
  background: linear-gradient(180deg, #5a4a3a 0%, #2a1a10 100%);
  border-radius: 10% 10% 0 0; box-shadow: 0 0 40px 10px rgba(180,120,60,0.3);
  animation: cpd-fire 6s ease-in-out infinite alternate;
}
.scn-crime-and-progress-debate .fireplace::before {
  content: ''; position: absolute; bottom: 0; left: 20%; width: 60%; height: 30%;
  background: radial-gradient(circle, #f08040 0%, #c04020 60%, transparent 80%);
  border-radius: 50%; animation: cpd-flame 3s ease-in-out infinite alternate;
}
.scn-crime-and-progress-debate .armchair-left {
  position: absolute; bottom: 10%; left: 5%; width: 25%; height: 35%;
  background: linear-gradient(135deg, #7a6a5a 0%, #4a3a2a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: cpd-chairL 14s ease-in-out infinite alternate;
}
.scn-crime-and-progress-debate .armchair-right {
  position: absolute; bottom: 10%; right: 5%; width: 25%; height: 35%;
  background: linear-gradient(135deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
  animation: cpd-chairR 14s ease-in-out infinite alternate 1s;
}
.scn-crime-and-progress-debate .figure-left {
  position: absolute; bottom: 18%; left: 10%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #2a221a 0%, #0e0a05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cpd-figL 9s ease-in-out infinite;
}
.scn-crime-and-progress-debate .figure-right {
  position: absolute; bottom: 18%; right: 10%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e05 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: cpd-figR 9s ease-in-out infinite 3s;
}
.scn-crime-and-progress-debate .window-light {
  position: absolute; top: 12%; right: 10%; width: 80px; height: 60%;
  background: linear-gradient(180deg, #c8d8e8 0%, #a8b8c8 100%);
  border: 6px solid #6a5a4a; border-radius: 6px;
  box-shadow: inset 0 0 30px rgba(255,255,240,0.4);
  animation: cpd-window 16s ease-in-out infinite alternate;
}
.scn-crime-and-progress-debate .rug {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 8%;
  background: linear-gradient(90deg, #8a7a6a 0%, #b8a898 20%, #8a7a6a 40%, #b8a898 60%, #8a7a6a 80%, #b8a898 100%);
  border-radius: 20% 20% 0 0 / 100% 100% 0 0;
  animation: cpd-rug 22s ease-in-out infinite alternate;
}
@keyframes cpd-fire { 0% { box-shadow: 0 0 20px 5px rgba(180,120,60,0.2); } 100% { box-shadow: 0 0 60px 20px rgba(180,120,60,0.5); } }
@keyframes cpd-flame { 0% { transform: scale(1) translateY(0); opacity: 0.7; } 50% { transform: scale(1.1) translateY(-4px); opacity: 0.9; } 100% { transform: scale(0.9) translateY(2px); opacity: 0.8; } }
@keyframes cpd-chairL { 0% { transform: rotate(0); } 50% { transform: rotate(2deg) translateY(-3px); } 100% { transform: rotate(0); } }
@keyframes cpd-chairR { 0% { transform: rotate(0); } 50% { transform: rotate(-2deg) translateY(-3px); } 100% { transform: rotate(0); } }
@keyframes cpd-figL { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(3px) rotate(2deg); } 50% { transform: translateX(-2px) rotate(-1deg); } 75% { transform: translateX(4px) rotate(1deg); } }
@keyframes cpd-figR { 0%,100% { transform: translateX(0) rotate(0); } 25% { transform: translateX(-3px) rotate(-2deg); } 50% { transform: translateX(2px) rotate(1deg); } 75% { transform: translateX(-4px) rotate(-1deg); } }
@keyframes cpd-window { 0% { opacity: 0.5; box-shadow: inset 0 0 10px rgba(255,255,240,0.2); } 100% { opacity: 1; box-shadow: inset 0 0 40px rgba(255,255,240,0.6); } }
@keyframes cpd-rug { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.98) translateY(2px); } 100% { transform: scaleX(1); } }

/* foreman-pushes-prosecution */
.scn-foreman-pushes-prosecution {
  background: 
    linear-gradient(180deg, #3a2a1a 0%, #6a4a2a 30%, #a08060 70%, #c0a080 100%),
    radial-gradient(ellipse at 50% 100%, #8a6a4a 0%, transparent 60%);
}
.scn-foreman-pushes-prosecution .fp-bg {
  position: absolute; inset: 0; 
  background: linear-gradient(135deg, #4a3020, #2a1a10); 
  animation: fp-breath 6s ease-in-out infinite alternate;
}
.scn-foreman-pushes-prosecution .fp-window {
  position: absolute; top: 8%; left: 52%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #b0d0e0 0%, #a0b8c8 100%);
  border: 4px solid #3a2a1a; border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(200,200,255,0.3);
  animation: fp-window 15s ease-in-out infinite;
}
.scn-foreman-pushes-prosecution .fp-bench {
  position: absolute; bottom: 12%; left: 26%; width: 48%; height: 22%;
  background: linear-gradient(180deg, #7a5a3a, #4a3018); border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
  animation: fp-bench 10s ease-in-out infinite alternate;
}
.scn-foreman-pushes-prosecution .fp-foreman {
  position: absolute; bottom: 34%; left: 34%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 50%, #2a1a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: top center;
  animation: fp-stand 4s ease-in-out infinite;
}
.scn-foreman-pushes-prosecution .fp-gavel {
  position: absolute; bottom: 48%; left: 46%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #6a4a2a, #3a2a1a);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: fp-gavel 2s ease-in-out infinite;
}
.scn-foreman-pushes-prosecution .fp-shadow {
  position: absolute; bottom: 12%; left: 30%; width: 40%; height: 6%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4), transparent);
  filter: blur(6px);
  animation: fp-shadow 6s ease-in-out infinite alternate;
}
.scn-foreman-pushes-prosecution .fp-paper {
  position: absolute; top: 28%; left: 38%; width: 8%; height: 12%;
  background: linear-gradient(135deg, #f0e0c0, #d0c0a0);
  border: 1px solid #a09070; border-radius: 2px;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
  animation: fp-paper 8s ease-in-out infinite;
}
.scn-foreman-pushes-prosecution .fp-broken-glass {
  position: absolute; top: 10%; left: 53%; width: 24%; height: 32%;
  background: 
    linear-gradient(135deg, transparent 0%, transparent 30%, #c0d0e0 30%, #c0d0e0 32%, transparent 32%),
    linear-gradient(45deg, transparent 0%, transparent 45%, #c0d0e0 45%, #c0d0e0 47%, transparent 47%),
    radial-gradient(circle at 60% 40%, #e0e8f0 0%, transparent 50%);
  opacity: 0.3; filter: blur(1px);
  animation: fp-glass 12s ease-in-out infinite alternate;
}
@keyframes fp-breath { 0% { opacity:0.7 } 50% { opacity:1 } 100% { opacity:0.8 } }
@keyframes fp-window { 0% { background-position: 0 0 } 50% { background-position: 0 5% } 100% { background-position: 0 0 } }
@keyframes fp-bench { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes fp-stand { 0% { transform: rotate(-2deg) } 25% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 75% { transform: rotate(0deg) } 100% { transform: rotate(-2deg) } }
@keyframes fp-gavel { 0% { transform: rotate(-10deg) scale(1) } 30% { transform: rotate(10deg) scale(1.1) } 60% { transform: rotate(0deg) scale(1) } 100% { transform: rotate(-10deg) scale(1) } }
@keyframes fp-shadow { 0% { opacity:0.3 } 100% { opacity:0.6 } }
@keyframes fp-paper { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(8px) rotate(5deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes fp-glass { 0% { opacity:0.1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) } 50% { opacity:0.3; clip-path: polygon(10% 0, 90% 0, 80% 100%, 20% 100%) } 100% { opacity:0.1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) } }

/* hogan-bleeds-mother */
.scn-hogan-bleeds-mother {
  background: 
    linear-gradient(180deg, #1a0a0a 0%, #2a1810 30%, #3a2218 60%, #1a0a0a 100%),
    radial-gradient(ellipse at 30% 50%, #4a2a1a 0%, transparent 70%);
}
.scn-hogan-bleeds-mother .hb-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1010 0%, #2a1a14 100%);
  animation: hb-dim 10s ease-in-out infinite alternate;
}
.scn-hogan-bleeds-mother .hb-wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 20%;
  background: repeating-linear-gradient(90deg, transparent, transparent 8%, rgba(60,40,30,0.2) 8%, rgba(40,25,15,0.2) 10%);
  animation: hb-wall 20s linear infinite;
}
.scn-hogan-bleeds-mother .hb-table {
  position: absolute; bottom: 6%; left: 20%; width: 60%; height: 16%;
  background: linear-gradient(180deg, #4a3020, #2a1a10);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.7);
  animation: hb-table 8s ease-in-out infinite alternate;
}
.scn-hogan-bleeds-mother .hb-hogan {
  position: absolute; bottom: 22%; left: 18%; width: 18%; height: 36%;
  background: linear-gradient(180deg, #1a0a0a 0%, #2a1410 50%, #1a0a0a 100%);
  border-radius: 30% 30% 20% 20% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: hb-hogan 5s ease-in-out infinite;
}
.scn-hogan-bleeds-mother .hb-mother {
  position: absolute; bottom: 24%; left: 58%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #4a3828, #2a1a10);
  border-radius: 40% 40% 30% 30% / 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: hb-mother 6s ease-in-out infinite;
}
.scn-hogan-bleeds-mother .hb-lamp {
  position: absolute; bottom: 40%; left: 45%; width: 10%; height: 14%;
  background: radial-gradient(circle, #c08040, #8a5a2a);
  border-radius: 50% 50% 20% 20% / 60% 60% 10% 10%;
  box-shadow: 0 0 30px 10px #8a5a2a, 0 0 60px 20px rgba(138,90,42,0.3);
  animation: hb-lamp 4s ease-in-out infinite alternate;
}
.scn-hogan-bleeds-mother .hb-purse {
  position: absolute; bottom: 8%; left: 50%; width: 8%; height: 10%;
  background: linear-gradient(135deg, #5a3a2a, #3a2218);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: hb-purse 7s ease-in-out infinite;
}
@keyframes hb-dim { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes hb-wall { 0% { background-position: 0 0 } 100% { background-position: 50px 0 } }
@keyframes hb-table { 0% { transform: rotate(0) } 50% { transform: rotate(0.5deg) } 100% { transform: rotate(0) } }
@keyframes hb-hogan { 0% { transform: translateX(0) rotate(-1deg) } 25% { transform: translateX(4px) rotate(1deg) } 50% { transform: translateX(8px) rotate(-1deg) } 75% { transform: translateX(4px) rotate(1deg) } 100% { transform: translateX(0) rotate(-1deg) } }
@keyframes hb-mother { 0% { transform: translateY(0) scale(1) } 50% { transform: translateY(-3px) scale(0.98) } 100% { transform: translateY(0) scale(1) } }
@keyframes hb-lamp { 0% { box-shadow: 0 0 20px 6px #8a5a2a, 0 0 40px 12px rgba(138,90,42,0.2); opacity:0.8 } 50% { box-shadow: 0 0 40px 14px #c08040, 0 0 80px 28px rgba(192,128,64,0.4); opacity:1 } 100% { box-shadow: 0 0 20px 6px #8a5a2a, 0 0 40px 12px rgba(138,90,42,0.2); opacity:0.8 } }
@keyframes hb-purse { 0% { transform: translateX(0) rotate(-5deg) } 50% { transform: translateX(-3px) rotate(5deg) } 100% { transform: translateX(0) rotate(-5deg) } }

/* tutt-notices-case */
.scn-tutt-notices-case {
  background: 
    linear-gradient(180deg, #b0c0d0 0%, #d0d8e0 40%, #e8ece8 70%, #f0f0f0 100%),
    radial-gradient(ellipse at 30% 80%, #c0d0d8 0%, transparent 60%);
}
.scn-tutt-notices-case .tn-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8d0d8, #e0e4e8);
  animation: tn-bg 12s ease-in-out infinite alternate;
}
.scn-tutt-notices-case .tn-window {
  position: absolute; top: 6%; left: 55%; width: 30%; height: 40%;
  background: linear-gradient(180deg, #d8e8f0 0%, #c0d0e0 100%);
  border: 6px solid #a0a8b0; border-radius: 6px;
  box-shadow: inset 0 0 60px rgba(255,255,255,0.4), 0 4px 8px rgba(0,0,0,0.1);
  animation: tn-window 15s ease-in-out infinite;
}
.scn-tutt-notices-case .tn-desk {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, #b09080, #8a7060);
  border-radius: 6px; box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  animation: tn-desk 10s ease-in-out infinite alternate;
}
.scn-tutt-notices-case .tn-tutt {
  position: absolute; bottom: 30%; left: 28%; width: 12%; height: 34%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 50%, #6a5a4a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: tn-tutt 6s ease-in-out infinite;
}
.scn-tutt-notices-case .tn-papers {
  position: absolute; bottom: 18%; left: 38%; width: 12%; height: 8%;
  background: linear-gradient(135deg, #f0e8d8, #d0c8b8);
  border-radius: 2px; box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
  animation: tn-papers 8s ease-in-out infinite;
}
.scn-tutt-notices-case .tn-gavel {
  position: absolute; bottom: 44%; left: 48%; width: 6%; height: 12%;
  background: linear-gradient(135deg, #8a7050, #5a4030);
  border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: tn-gavel 3s ease-in-out infinite;
}
.scn-tutt-notices-case .tn-light {
  position: absolute; top: 2%; left: 40%; width: 20%; height: 50%;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,255,240,0.3) 0%, transparent 70%);
  filter: blur(20px);
  animation: tn-light 7s ease-in-out infinite alternate;
}
@keyframes tn-bg { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes tn-window { 0% { background-position: 0 0 } 50% { background-position: 0 3% } 100% { background-position: 0 0 } }
@keyframes tn-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-2px) } 100% { transform: translateY(0) } }
@keyframes tn-tutt { 0% { transform: rotate(-1deg) } 30% { transform: rotate(1deg) } 60% { transform: rotate(-1deg) } 100% { transform: rotate(-1deg) } }
@keyframes tn-papers { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(6px) rotate(3deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes tn-gavel { 0% { transform: rotate(-12deg) scale(1) } 30% { transform: rotate(12deg) scale(1.1) } 60% { transform: rotate(-5deg) scale(1) } 100% { transform: rotate(-12deg) scale(1) } }
@keyframes tn-light { 0% { opacity:0.2 } 100% { opacity:0.5 } }

/* asche-demands-trial */
.scn-asche-demands-trial {
  background: 
    linear-gradient(180deg, #d0c0b0 0%, #f0e0d0 40%, #e0d0c0 70%, #c0b0a0 100%),
    radial-gradient(ellipse at 50% 50%, #e8d8c8 0%, transparent 60%);
}
.scn-asche-demands-trial .ad-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #c8b8a8, #d8c8b8);
  animation: ad-bg 8s ease-in-out infinite alternate;
}
.scn-asche-demands-trial .ad-desk {
  position: absolute; bottom: 10%; left: 22%; width: 56%; height: 18%;
  background: linear-gradient(180deg, #9a8070, #6a5040);
  border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  animation: ad-desk 10s ease-in-out infinite alternate;
}
.scn-asche-demands-trial .ad-asche {
  position: absolute; bottom: 28%; left: 22%; width: 14%; height: 32%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 50%, #2a1a1a 100%);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ad-asche 3s ease-in-out infinite;
}
.scn-asche-demands-trial .ad-obrien {
  position: absolute; bottom: 28%; left: 60%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a, #2a1a10);
  border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ad-obrien 3.5s ease-in-out infinite;
}
.scn-asche-demands-trial .ad-documents {
  position: absolute; top: 22%; left: 38%; width: 10%; height: 14%;
  background: linear-gradient(135deg, #f0e0c0, #d0c0a0);
  border: 1px solid #b0a090; border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: ad-documents 2s ease-in-out infinite;
}
.scn-asche-demands-trial .ad-lamp {
  position: absolute; bottom: 42%; left: 46%; width: 8%; height: 12%;
  background: radial-gradient(circle, #f0e0c0, #c0a080);
  border-radius: 50% 50% 20% 20% / 60% 60% 10% 10%;
  box-shadow: 0 0 40px 15px #c0a080, 0 0 80px 30px rgba(192,160,128,0.3);
  animation: ad-lamp 5s ease-in-out infinite alternate;
}
.scn-asche-demands-trial .ad-shadow {
  position: absolute; bottom: 10%; left: 20%; width: 60%; height: 8%;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3), transparent);
  filter: blur(8px);
  animation: ad-shadow 4s ease-in-out infinite alternate;
}
@keyframes ad-bg { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes ad-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(0) } }
@keyframes ad-asche { 0% { transform: rotate(-2deg) scale(1) } 25% { transform: rotate(2deg) scale(1.05) } 50% { transform: rotate(-2deg) scale(1) } 75% { transform: rotate(2deg) scale(1.05) } 100% { transform: rotate(-2deg) scale(1) } }
@keyframes ad-obrien { 0% { transform: translateX(0) rotate(0) } 30% { transform: translateX(-4px) rotate(1deg) } 60% { transform: translateX(0) rotate(0) } 100% { transform: translateX(0) rotate(0) } }
@keyframes ad-documents { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-6px) rotate(-5deg) } 50% { transform: translateY(0) rotate(0) } 75% { transform: translateY(-4px) rotate(4deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes ad-lamp { 0% { box-shadow: 0 0 30px 10px #c0a080, 0 0 60px 20px rgba(192,160,128,0.2); opacity:0.8 } 50% { box-shadow: 0 0 50px 20px #f0e0c0, 0 0 100px 40px rgba(240,224,192,0.5); opacity:1 } 100% { box-shadow: 0 0 30px 10px #c0a080, 0 0 60px 20px rgba(192,160,128,0.2); opacity:0.8 } }
@keyframes ad-shadow { 0% { opacity:0.2 } 100% { opacity:0.5 } }

/* hogan-trapped-by-judge */
.scn-hogan-trapped-by-judge {
  background:
    linear-gradient(180deg, #f5e6c8 0%, #d4b896 40%, #b8976e 100%),
    radial-gradient(ellipse at 30% 60%, #fff3d0 0%, transparent 60%);
}
.scn-hogan-trapped-by-judge .bench {
  position: absolute; bottom: 20%; left: 5%; width: 25%; height: 50%;
  background: linear-gradient(90deg, #6b4c3a 0%, #8b5e3c 50%, #6b4c3a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 8px 20px rgba(0,0,0,.3);
}
.scn-hogan-trapped-by-judge .judge {
  position: absolute; bottom: 38%; left: 10%; width: 12%; height: 22%;
  background: radial-gradient(ellipse, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: htj-bow 6s ease-in-out infinite;
}
.scn-hogan-trapped-by-judge .hogan {
  position: absolute; bottom: 22%; left: 45%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: htj-sway 4s ease-in-out infinite;
}
.scn-hogan-trapped-by-judge .window {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #d0e8f0 0%, #b0d0e0 100%);
  border: 6px solid #8b5e3c; border-radius: 4px;
  animation: htj-light 8s ease-in-out infinite alternate;
}
.scn-hogan-trapped-by-judge .light-ray {
  position: absolute; top: 15%; right: 12%; width: 15%; height: 60%;
  background: linear-gradient(135deg, rgba(255,248,200,.4) 0%, transparent 100%);
  filter: blur(4px); animation: htj-ray 12s ease-in-out infinite alternate;
}
.scn-hogan-trapped-by-judge .dust {
  position: absolute; top: 20%; left: 30%; width: 4px; height: 4px;
  background: #fff8e7; border-radius: 50%;
  box-shadow: 10px 30px 4px #fff8e7, 20px 10px 3px #fff8e7, 40px 50px 2px #fff8e7;
  animation: htj-dust 15s linear infinite;
}
.scn-hogan-trapped-by-judge .gavel {
  position: absolute; bottom: 50%; left: 16%; width: 4%; height: 2%;
  background: #3a2a1a; border-radius: 2px;
  animation: htj-gavel 3s ease-in-out infinite;
}
@keyframes htj-bow {
  0% { transform: rotate(0deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); }
}
@keyframes htj-sway {
  0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes htj-light {
  0% { opacity: .7; box-shadow: inset 0 0 20px rgba(255,200,100,.2); } 50% { opacity: 1; box-shadow: inset 0 0 40px rgba(255,220,120,.4); } 100% { opacity: .8; box-shadow: inset 0 0 10px rgba(255,200,100,.1); }
}
@keyframes htj-ray {
  0% { transform: skewX(0deg) scaleX(1); opacity: .5; } 50% { transform: skewX(5deg) scaleX(1.1); opacity: .8; } 100% { transform: skewX(-5deg) scaleX(.9); opacity: .6; }
}
@keyframes htj-dust {
  0% { transform: translateY(0) translateX(0); opacity: .3; } 50% { transform: translateY(-30px) translateX(15px); opacity: .6; } 100% { transform: translateY(-60px) translateX(30px); opacity: .2; }
}
@keyframes htj-gavel {
  0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-6px) rotate(-10deg); } 60% { transform: translateY(0) rotate(0deg); } 100% { transform: translateY(0) rotate(0deg); }
}

/* examination-of-hogan */
.scn-examination-of-hogan {
  background:
    linear-gradient(180deg, #e8d0b0 0%, #c8a880 40%, #a88860 100%),
    radial-gradient(ellipse at 70% 40%, #fff0d0 0%, transparent 70%);
}
.scn-examination-of-hogan .desk {
  position: absolute; bottom: 15%; left: 30%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%);
  border-radius: 8% 8% 0 0; box-shadow: 0 6px 15px rgba(0,0,0,.4);
}
.scn-examination-of-hogan .hogan {
  position: absolute; bottom: 22%; left: 35%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: eoh-turn 5s ease-in-out infinite alternate;
}
.scn-examination-of-hogan .lawyer {
  position: absolute; bottom: 22%; right: 30%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: eoh-lean 6s ease-in-out infinite alternate;
}
.scn-examination-of-hogan .lamp {
  position: absolute; bottom: 30%; left: 55%; width: 6%; height: 12%;
  background: linear-gradient(180deg, #d4a06a 0%, #b08040 100%);
  border-radius: 10% 10% 20% 20%;
  box-shadow: 0 0 30px 10px rgba(200,160,80,.4);
  animation: eoh-lamp 3s ease-in-out infinite alternate;
}
.scn-examination-of-hogan .papers {
  position: absolute; bottom: 18%; left: 42%; width: 8%; height: 4%;
  background: #f5e6c8; border-radius: 2px;
  animation: eoh-papers 7s ease-in-out infinite;
}
.scn-examination-of-hogan .shadow {
  position: absolute; bottom: 12%; left: 30%; width: 40%; height: 6%;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.3), transparent);
  animation: eoh-shadow 10s ease-in-out infinite alternate;
}
.scn-examination-of-hogan .clock {
  position: absolute; top: 10%; right: 10%; width: 8%; height: 10%;
  background: radial-gradient(circle, #fff8e7 30%, #d4a06a 70%);
  border-radius: 50%; border: 3px solid #8b5e3c;
  animation: eoh-tick 2s steps(2) infinite;
}
@keyframes eoh-turn {
  0% { transform: rotate(0deg) scaleX(1); } 50% { transform: rotate(-5deg) scaleX(1.02); } 100% { transform: rotate(0deg) scaleX(1); }
}
@keyframes eoh-lean {
  0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-3px); } 100% { transform: rotate(0deg) translateY(0); }
}
@keyframes eoh-lamp {
  0% { box-shadow: 0 0 20px 5px rgba(200,160,80,.3); opacity: .8; } 50% { box-shadow: 0 0 40px 15px rgba(200,160,80,.6); opacity: 1; } 100% { box-shadow: 0 0 15px 3px rgba(200,160,80,.2); opacity: .85; }
}
@keyframes eoh-papers {
  0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(8px) rotate(2deg); } 70% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes eoh-shadow {
  0% { opacity: .3; transform: scaleX(1); } 50% { opacity: .6; transform: scaleX(1.1); } 100% { opacity: .4; transform: scaleX(.9); }
}
@keyframes eoh-tick {
  0% { transform: rotate(0deg); } 100% { transform: rotate(6deg); }
}

/* simpkins-summonsed */
.scn-simpkins-summonsed {
  background:
    linear-gradient(90deg, #d4b896 0%, #c0a080 40%, #b09070 100%),
    radial-gradient(ellipse at 80% 50%, #fff0d0 0%, transparent 60%);
}
.scn-simpkins-summonsed .door {
  position: absolute; left: 10%; top: 10%; width: 20%; height: 80%;
  background: linear-gradient(90deg, #6b4c3a 20%, #8b5e3c 50%, #6b4c3a 80%);
  border-radius: 2% 0 0 2%; box-shadow: 0 0 15px rgba(0,0,0,.5);
  animation: sss-door 4s ease-in-out infinite alternate;
}
.scn-simpkins-summonsed .simpkins {
  position: absolute; bottom: 20%; left: 35%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: sss-step 5s ease-in-out infinite;
}
.scn-simpkins-summonsed .hallway {
  position: absolute; left: 32%; top: 0; width: 68%; height: 100%;
  background: linear-gradient(180deg, #c8b090 0%, #a88870 100%);
  border-radius: 0 0 0 40px;
}
.scn-simpkins-summonsed .light-strip {
  position: absolute; top: 5%; left: 35%; width: 60%; height: 4%;
  background: linear-gradient(90deg, transparent, #fff8e7 20%, transparent 80%);
  animation: sss-light 6s ease-in-out infinite alternate;
}
.scn-simpkins-summonsed .figure {
  position: absolute; bottom: 20%; right: 15%; width: 10%; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: sss-bob 4s ease-in-out infinite alternate;
}
.scn-simpkins-summonsed .frame {
  position: absolute; left: 9%; top: 8%; width: 22%; height: 84%;
  border: 4px solid #5a3a1a; border-radius: 2px;
  box-shadow: inset 0 0 20px rgba(0,0,0,.4);
  animation: sss-frame 12s ease-in-out infinite alternate;
}
.scn-simpkins-summonsed .handle {
  position: absolute; left: 26%; top: 50%; width: 2%; height: 4%;
  background: #d4a06a; border-radius: 50%;
  animation: sss-handle 4s ease-in-out infinite;
}
.scn-simpkins-summonsed .crack {
  position: absolute; left: 15%; top: 30%; width: 4%; height: 20%;
  background: rgba(0,0,0,.2); border-radius: 2px;
  animation: sss-crack 18s ease-in-out infinite alternate;
}
@keyframes sss-door {
  0% { transform: rotateY(0deg); } 50% { transform: rotateY(15deg); } 100% { transform: rotateY(0deg); }
}
@keyframes sss-step {
  0% { transform: translateX(0) translateY(0); } 30% { transform: translateX(8px) translateY(-2px); } 70% { transform: translateX(16px) translateY(0); } 100% { transform: translateX(20px) translateY(-1px); }
}
@keyframes sss-light {
  0% { opacity: .3; } 50% { opacity: .8; } 100% { opacity: .5; }
}
@keyframes sss-bob {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sss-frame {
  0% { box-shadow: inset 0 0 10px rgba(0,0,0,.3); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,.6); } 100% { box-shadow: inset 0 0 15px rgba(0,0,0,.4); }
}
@keyframes sss-handle {
  0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(10deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes sss-crack {
  0% { transform: scaleY(1) translateX(0); opacity: .2; } 50% { transform: scaleY(1.2) translateX(2px); opacity: .4; } 100% { transform: scaleY(1) translateX(0); opacity: .3; }
}

/* simpkins-exposed */
.scn-simpkins-exposed {
  background:
    linear-gradient(180deg, #e0c8a8 0%, #c0a080 40%, #a08060 100%),
    radial-gradient(ellipse at 50% 30%, #fff0d0 0%, transparent 70%);
}
.scn-simpkins-exposed .stand {
  position: absolute; bottom: 20%; left: 50%; width: 8%; height: 30%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 10px 25px rgba(0,0,0,.5);
}
.scn-simpkins-exposed .simpkins {
  position: absolute; bottom: 40%; left: 50%; width: 12%; height: 30%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: se-tremble 2s ease-in-out infinite;
}
.scn-simpkins-exposed .judge {
  position: absolute; bottom: 30%; left: 10%; width: 14%; height: 20%;
  background: radial-gradient(ellipse, #3a2a1a 0%, #1a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: se-lean 5s ease-in-out infinite alternate;
}
.scn-simpkins-exposed .spectator {
  position: absolute; bottom: 25%; right: 10%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  animation: se-sway 6s ease-in-out infinite alternate;
}
.scn-simpkins-exposed .railing {
  position: absolute; bottom: 18%; left: 20%; width: 60%; height: 4%;
  background: linear-gradient(90deg, #6b4c3a 0%, #8b5e3c 50%, #6b4c3a 100%);
  border-radius: 2px;
}
.scn-simpkins-exposed .spotlight {
  position: absolute; top: 0; left: 40%; width: 20%; height: 100%;
  background: linear-gradient(180deg, rgba(255,248,200,.6) 0%, transparent 70%);
  filter: blur(8px);
  animation: se-spotlight 8s ease-in-out infinite alternate;
}
.scn-simpkins-exposed .papers {
  position: absolute; bottom: 22%; left: 48%; width: 4%; height: 3%;
  background: #f5e6c8; border-radius: 1px;
  animation: se-papers 5s ease-in-out infinite;
}
.scn-simpkins-exposed .gavel {
  position: absolute; bottom: 35%; left: 14%; width: 3%; height: 3%;
  background: #3a2a1a; border-radius: 2px;
  animation: se-gavel 3s ease-in-out infinite;
}
.scn-simpkins-exposed .shadow {
  position: absolute; bottom: 0; left: 20%; width: 60%; height: 20%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.4));
  animation: se-shadow 10s ease-in-out infinite alternate;
}
@keyframes se-tremble {
  0% { transform: translateX(-50%) rotate(0deg) scale(1); } 25% { transform: translateX(-50%) rotate(2deg) scale(1.02); } 50% { transform: translateX(-50%) rotate(-2deg) scale(1); } 75% { transform: translateX(-50%) rotate(1deg) scale(1.01); } 100% { transform: translateX(-50%) rotate(0deg) scale(1); }
}
@keyframes se-lean {
  0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-3px); } 100% { transform: rotate(0deg) translateY(0); }
}
@keyframes se-sway {
  0% { transform: rotate(0deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(0deg); }
}
@keyframes se-spotlight {
  0% { opacity: .4; transform: scaleY(1); } 50% { opacity: .8; transform: scaleY(1.1); } 100% { opacity: .6; transform: scaleY(.95); }
}
@keyframes se-papers {
  0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(5px) rotate(5deg); } 70% { transform: translateX(-3px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); }
}
@keyframes se-gavel {
  0% { transform: translateY(0) rotate(0deg); } 20% { transform: translateY(-8px) rotate(-15deg); } 50% { transform: translateY(0) rotate(0deg); } 80% { transform: translateY(-5px) rotate(10deg); } 100% { transform: translateY(0) rotate(0deg); }
}
@keyframes se-shadow {
  0% { opacity: .3; } 50% { opacity: .6; } 100% { opacity: .4; }
}

.scn-kahoots-contradictions { background: linear-gradient(180deg, #f5e6c8 0%, #c9b99a 50%, #8a7a5f 100%), radial-gradient(ellipse at 70% 40%, #fff5e0 10%, transparent 60%); }
.scn-kahoots-contradictions .bg-wall { position: absolute; inset: 0 0 30% 0; background: linear-gradient(90deg, #e3d5b8 0%, #d4c4a3 50%, #c5b490 100%); }
.scn-kahoots-contradictions .bg-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #6b5a45 0%, #4a3b2c 100%); }
.scn-kahoots-contradictions .window-light { position: absolute; top: 15%; right: 8%; width: 20%; height: 50%; background: linear-gradient(135deg, #fffbe0 30%, #f0e6a0 70%); clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%); opacity: 0.3; animation: kco-light 8s ease-in-out infinite alternate; }
.scn-kahoots-contradictions .flag { position: absolute; top: 8%; left: 5%; width: 40px; height: 30px; background: linear-gradient(90deg, #6a8cc0 0%, #f5d98b 50%, #c8553d 100%); border-radius: 2px; transform-origin: left center; animation: kco-flag 12s ease-in-out infinite; }
.scn-kahoots-contradictions .judge-bench { position: absolute; bottom: 28%; left: 10%; width: 180px; height: 50px; background: linear-gradient(180deg, #7a5a3a 0%, #4a3020 100%); border-radius: 8px 8px 0 0; box-shadow: 0 6px 10px rgba(0,0,0,0.3); }
.scn-kahoots-contradictions .witness-stand { position: absolute; bottom: 30%; right: 25%; width: 60px; height: 80px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 4px; border-left: 4px solid #4a2a1a; }
.scn-kahoots-contradictions .lawyer { position: absolute; bottom: 29%; left: 30%; width: 40px; height: 90px; background: linear-gradient(180deg, #2a3a5a 0%, #1a1a2a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; transform-origin: bottom center; animation: kco-lawyer 6s ease-in-out infinite; }
.scn-kahoots-contradictions .witness { position: absolute; bottom: 30%; right: 22%; width: 36px; height: 80px; background: linear-gradient(180deg, #4a5a6a 0%, #3a3a4a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: kco-witness 8s ease-in-out infinite; }
.scn-kahoots-contradictions .gavel-strike { position: absolute; bottom: 45%; left: 12%; width: 10px; height: 20px; background: #6a4a2a; border-radius: 4px; transform-origin: top center; animation: kco-gavel 3s ease-in-out infinite; }
@keyframes kco-light { 0% { opacity: 0.2; transform: scaleY(1); } 50% { opacity: 0.5; transform: scaleY(1.05); } 100% { opacity: 0.3; transform: scaleY(0.95); } }
@keyframes kco-flag { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-3deg); } }
@keyframes kco-lawyer { 0% { transform: translateX(0) rotate(-2deg); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(0) rotate(-1deg); } 75% { transform: translateX(-4px) rotate(4deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes kco-witness { 0% { transform: translateX(0) translateY(0) rotate(0); } 33% { transform: translateX(6px) translateY(-2px) rotate(5deg); } 66% { transform: translateX(-4px) translateY(2px) rotate(-3deg); } 100% { transform: translateX(0) translateY(0) rotate(0); } }
@keyframes kco-gavel { 0% { transform: rotate(15deg); } 20% { transform: rotate(-20deg); } 40% { transform: rotate(10deg); } 60% { transform: rotate(-15deg); } 80% { transform: rotate(5deg); } 100% { transform: rotate(15deg); } }

.scn-kahoots-testimony-crumbles { background: linear-gradient(180deg, #f0e2c5 0%, #bfaa7f 50%, #6a5a3a 100%), radial-gradient(ellipse at 30% 60%, #fff5d0 10%, transparent 50%); }
.scn-kahoots-testimony-crumbles .bg-interior { position: absolute; inset: 0 0 20% 0; background: linear-gradient(90deg, #d4c4a3 0%, #c4b491 50%, #b4a480 100%); }
.scn-kahoots-testimony-crumbles .bench { position: absolute; bottom: 20%; left: 10%; right: 10%; height: 30%; background: linear-gradient(180deg, #6a5030 0%, #3a2818 100%); border-radius: 10px 10px 0 0; }
.scn-kahoots-testimony-crumbles .witness-box { position: absolute; bottom: 30%; right: 20%; width: 70px; height: 90px; background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%); border: 3px solid #4a2a1a; border-radius: 4px; }
.scn-kahoots-testimony-crumbles .witness-figure { position: absolute; bottom: 35%; right: 25%; width: 40px; height: 90px; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: ktc-witness 9s ease-in-out infinite; }
.scn-kahoots-testimony-crumbles .lawyer-arm { position: absolute; bottom: 50%; left: 35%; width: 12px; height: 60px; background: #1a2a3a; border-radius: 6px; transform-origin: bottom center; animation: ktc-arm 4s ease-in-out infinite; }
.scn-kahoots-testimony-crumbles .paper-fall-1 { position: absolute; top: -10%; left: 40%; width: 30px; height: 40px; background: #fff5e0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ktc-paper 7s linear infinite; animation-delay: -1s; }
.scn-kahoots-testimony-crumbles .paper-fall-2 { position: absolute; top: -10%; left: 55%; width: 25px; height: 35px; background: #fff0d0; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: ktc-paper 8s linear infinite; animation-delay: -3s; }
.scn-kahoots-testimony-crumbles .sweat-drop { position: absolute; bottom: 55%; right: 30%; width: 6px; height: 6px; background: rgba(100,150,200,0.5); border-radius: 50%; animation: ktc-sweat 2s ease-out infinite; }
@keyframes ktc-witness { 0% { transform: translateX(0) scale(1); } 30% { transform: translateX(5px) scale(1.02); } 60% { transform: translateX(-5px) scale(0.98); } 100% { transform: translateX(0) scale(1); } }
@keyframes ktc-arm { 0% { transform: rotate(20deg); } 50% { transform: rotate(-10deg); } 100% { transform: rotate(20deg); } }
@keyframes ktc-paper { 0% { transform: translateY(0) rotate(0) scale(1); opacity: 1; } 100% { transform: translateY(120vh) rotate(360deg) scale(0.8); opacity: 0; } }
@keyframes ktc-sweat { 0% { transform: translateY(0) scale(1); opacity: 0; } 50% { opacity: 0.7; } 100% { transform: translateY(20px) scale(0); opacity: 0; } }

.scn-grand-jury-contradictions { background: linear-gradient(180deg, #e8dcc0 0%, #b09a7a 50%, #5a4a30 100%), radial-gradient(ellipse at 50% 80%, #fff0c0 10%, transparent 60%); }
.scn-grand-jury-contradictions .bg-panel { position: absolute; inset: 0 0 25% 0; background: linear-gradient(90deg, #c9b99a 0%, #b9a98a 50%, #a9997a 100%); }
.scn-grand-jury-contradictions .jury-rail { position: absolute; bottom: 30%; left: 5%; right: 5%; height: 10%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 4px; }
.scn-grand-jury-contradictions .juror-1 { position: absolute; bottom: 40%; left: 10%; width: 30px; height: 60px; background: linear-gradient(180deg, #6a7a8a 0%, #4a5a6a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: gjc-juror 7s ease-in-out infinite; }
.scn-grand-jury-contradictions .juror-2 { position: absolute; bottom: 40%; left: 25%; width: 30px; height: 60px; background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: gjc-juror 6s ease-in-out infinite; animation-delay: -2s; }
.scn-grand-jury-contradictions .juror-3 { position: absolute; bottom: 40%; left: 40%; width: 30px; height: 60px; background: linear-gradient(180deg, #5a6a7a 0%, #3a4a5a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: gjc-juror 8s ease-in-out infinite; animation-delay: -4s; }
.scn-grand-jury-contradictions .witness-head { position: absolute; bottom: 50%; right: 20%; width: 28px; height: 36px; background: #5a5a5a; border-radius: 50%; animation: gjc-head 5s ease-in-out infinite; }
.scn-grand-jury-contradictions .gavel { position: absolute; bottom: 45%; left: 15%; width: 8px; height: 24px; background: #7a5a3a; border-radius: 2px; transform-origin: top center; animation: gjc-gavel 3s ease-in-out infinite; }
.scn-grand-jury-contradictions .lawyer-hand { position: absolute; bottom: 55%; left: 50%; width: 14px; height: 40px; background: #2a3a4a; border-radius: 4px; transform-origin: bottom center; animation: gjc-hand 2s ease-in-out infinite; }
@keyframes gjc-juror { 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 gjc-head { 0% { transform: rotate(0); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0); } }
@keyframes gjc-gavel { 0% { transform: rotate(20deg); } 30% { transform: rotate(-10deg); } 60% { transform: rotate(15deg); } 100% { transform: rotate(20deg); } }
@keyframes gjc-hand { 0% { transform: rotate(-15deg); } 50% { transform: rotate(15deg); } 100% { transform: rotate(-15deg); } }

.scn-kahoots-criminal-record { background: linear-gradient(180deg, #f0e2c5 0%, #c5b490 50%, #8a7a5f 100%), radial-gradient(ellipse at 40% 50%, #fff8e0 10%, transparent 60%); }
.scn-kahoots-criminal-record .bg-courtroom { position: absolute; inset: 0 0 25% 0; background: linear-gradient(90deg, #d4c4a3 0%, #c4b491 50%, #b4a480 100%); }
.scn-kahoots-criminal-record .desk { position: absolute; bottom: 30%; left: 15%; right: 15%; height: 20%; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 8px 8px 0 0; }
.scn-kahoots-criminal-record .lawyer-figure { position: absolute; bottom: 35%; left: 20%; width: 40px; height: 90px; background: linear-gradient(180deg, #2a3a5a 0%, #1a1a2a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: kcr-lawyer 10s ease-in-out infinite; }
.scn-kahoots-criminal-record .witness-figure { position: absolute; bottom: 35%; right: 20%; width: 40px; height: 90px; background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 30% 30%; animation: kcr-witness 12s ease-in-out infinite; }
.scn-kahoots-criminal-record .papers-stack { position: absolute; bottom: 45%; left: 50%; width: 50px; height: 30px; background: #fff0d0; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 4px 6px rgba(0,0,0,0.3); animation: kcr-papers 5s ease-in-out infinite; }
.scn-kahoots-criminal-record .scales { position: absolute; bottom: 55%; left: 50%; width: 40px; height: 20px; background: #a08060; border-radius: 50% 50% 0 0; transform: translateX(-50%); animation: kcr-scales 7s ease-in-out infinite; }
.scn-kahoots-criminal-record .lamp { position: absolute; top: 10%; left: 10%; width: 20px; height: 30px; background: linear-gradient(180deg, #ffd080 0%, #b08040 100%); border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 10px rgba(255,208,128,0.4); animation: kcr-lamp 4s ease-in-out infinite; }
.scn-kahoots-criminal-record .paper-fall { position: absolute; top: -5%; left: 45%; width: 25px; height: 35px; background: #fff5e0; border-radius: 2px; animation: kcr-paperfall 10s linear infinite; }
@keyframes kcr-lawyer { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-2deg); } }
@keyframes kcr-witness { 0% { transform: translateX(0) scale(1); } 33% { transform: translateX(-3px) scale(1.02); } 66% { transform: translateX(3px) scale(0.98); } 100% { transform: translateX(0) scale(1); } }
@keyframes kcr-papers { 0% { transform: translateX(-50%) rotate(0); } 50% { transform: translateX(-50%) rotate(5deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes kcr-scales { 0% { transform: translateX(-50%) rotate(0); } 30% { transform: translateX(-50%) rotate(8deg); } 60% { transform: translateX(-50%) rotate(-8deg); } 100% { transform: translateX(-50%) rotate(0); } }
@keyframes kcr-lamp { 0% { opacity: 0.7; box-shadow: 0 0 20px 6px rgba(255,208,128,0.3); } 50% { opacity: 1; box-shadow: 0 0 40px 15px rgba(255,208,128,0.6); } 100% { opacity: 0.8; box-shadow: 0 0 25px 8px rgba(255,208,128,0.4); } }
@keyframes kcr-paperfall { 0% { transform: translateY(0) rotate(0); opacity: 1; } 100% { transform: translateY(120vh) rotate(720deg); opacity: 0; } }

.scn-parking-and-speed-summons {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 30%, #5a4a3a 0%, transparent 70%);
}
.scn-parking-and-speed-summons .bg-wall {
  position:absolute; inset:0; background:linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 100%);
}
.scn-parking-and-speed-summons .bg-window {
  position:absolute; top:8%; left:10%; width:20%; height:30%; background:radial-gradient(circle at 50% 50%, #c8a060 0%, #7a5a3a 100%); border-radius:10px; box-shadow:inset 0 0 20px #2a1a0a; animation:ps-window 8s ease-in-out infinite alternate;
}
.scn-parking-and-speed-summons .table {
  position:absolute; bottom:20%; left:15%; right:15%; height:12%; background:linear-gradient(180deg, #5a3a1a 0%, #3a2010 100%); border-radius:8px; box-shadow:0 -4px 10px rgba(0,0,0,.5);
}
.scn-parking-and-speed-summons .figure {
  position:absolute; bottom:22%; left:35%; width:18%; height:40%; background:linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:ps-figure 4s ease-in-out infinite;
}
.scn-parking-and-speed-summons .arm {
  position:absolute; bottom:45%; left:38%; width:6%; height:20%; background:linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 100%); border-radius:50% 50% 30% 30%; transform-origin:top center; animation:ps-arm 2s ease-in-out infinite alternate;
}
.scn-parking-and-speed-summons .highball {
  position:absolute; bottom:48%; left:42%; width:5%; height:10%; background:linear-gradient(180deg, rgba(200,160,96,.6) 0%, rgba(200,160,96,.2) 100%); border-radius:4px 4px 8px 8px; box-shadow:0 0 8px rgba(200,160,96,.4); animation:ps-highball 2s ease-in-out infinite alternate;
}
.scn-parking-and-speed-summons .summons {
  position:absolute; top:20%; right:10%; width:8%; height:12%; background:#c8a860; border-radius:2px; box-shadow:0 0 6px #c8a860; animation:ps-summons 6s ease-in-out infinite;
}
.scn-parking-and-speed-summons .glow {
  position:absolute; bottom:20%; left:30%; right:30%; height:30%; background:radial-gradient(ellipse at 50% 100%, rgba(200,160,96,.15) 0%, transparent 70%); animation:ps-glow 4s ease-in-out infinite alternate;
}
@keyframes ps-window { 0%{opacity:.5; transform:scaleX(.95)} 50%{opacity:1; transform:scaleX(1)} 100%{opacity:.7; transform:scaleX(.95)} }
@keyframes ps-figure { 0%{transform:rotate(-2deg)} 50%{transform:rotate(1deg) translateY(-2px)} 100%{transform:rotate(-2deg)} }
@keyframes ps-arm { 0%{transform:rotate(-10deg)} 50%{transform:rotate(15deg)} 100%{transform:rotate(-10deg)} }
@keyframes ps-highball { 0%{opacity:.6; transform:rotate(-5deg)} 50%{opacity:1; transform:rotate(0deg) scaleY(1.05)} 100%{opacity:.6; transform:rotate(-5deg)} }
@keyframes ps-summons { 0%{transform:translateY(0) rotate(0deg) scale(1); opacity:.8} 50%{transform:translateY(-10px) rotate(5deg) scale(1.05); opacity:1} 100%{transform:translateY(0) rotate(0deg) scale(1); opacity:.8} }
@keyframes ps-glow { 0%{opacity:.3} 50%{opacity:.6} 100%{opacity:.3} }

.scn-more-summonses-arrive {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 30% 20%, #5a4a3a 0%, transparent 60%);
}
.scn-more-summonses-arrive .bg-wall { position:absolute; inset:0; background:linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 100%); }
.scn-more-summonses-arrive .bg-window { position:absolute; top:5%; left:5%; width:25%; height:35%; background:radial-gradient(circle at 50% 50%, #c8a060 0%, #7a5a3a 100%); border-radius:10px; box-shadow:inset 0 0 20px #2a1a0a; animation:ms-window 8s ease-in-out infinite alternate; }
.scn-more-summonses-arrive .figure { position:absolute; bottom:22%; left:30%; width:20%; height:45%; background:linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:ms-figure 3s ease-in-out infinite; }
.scn-more-summonses-arrive .arm-left { position:absolute; bottom:50%; left:28%; width:5%; height:18%; background:linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 100%); border-radius:50% 50% 30% 30%; transform-origin:top center; animation:ms-arm-left 2s ease-in-out infinite alternate; }
.scn-more-summonses-arrive .arm-right { position:absolute; bottom:50%; right:28%; width:5%; height:18%; background:linear-gradient(180deg, #1a1a0a 0%, #2a1a0a 100%); border-radius:50% 50% 30% 30%; transform-origin:top center; animation:ms-arm-right 2s ease-in-out infinite alternate; }
.scn-more-summonses-arrive .summons-a { position:absolute; top:15%; left:10%; width:8%; height:11%; background:#c8a860; border-radius:2px; box-shadow:0 0 6px #c8a860; animation:ms-summons 5s ease-in-out infinite; }
.scn-more-summonses-arrive .summons-b { position:absolute; top:25%; right:15%; width:7%; height:10%; background:#c8a860; border-radius:2px; box-shadow:0 0 6px #c8a860; animation:ms-summons 6s ease-in-out infinite 1s; }
.scn-more-summonses-arrive .summons-c { position:absolute; top:35%; left:20%; width:9%; height:12%; background:#c8a860; border-radius:2px; box-shadow:0 0 6px #c8a860; animation:ms-summons 7s ease-in-out infinite 2s; }
.scn-more-summonses-arrive .glow { position:absolute; bottom:20%; left:20%; right:20%; height:25%; background:radial-gradient(ellipse at 50% 100%, rgba(200,160,96,.15) 0%, transparent 70%); animation:ms-glow 4s ease-in-out infinite alternate; }
@keyframes ms-window { 0%{opacity:.4; transform:scaleX(.9)} 50%{opacity:1; transform:scaleX(1)} 100%{opacity:.5; transform:scaleX(.9)} }
@keyframes ms-figure { 0%{transform:rotate(-1deg)} 50%{transform:rotate(2deg) translateY(-3px)} 100%{transform:rotate(-1deg)} }
@keyframes ms-arm-left { 0%{transform:rotate(10deg)} 50%{transform:rotate(-15deg)} 100%{transform:rotate(10deg)} }
@keyframes ms-arm-right { 0%{transform:rotate(-10deg)} 50%{transform:rotate(15deg)} 100%{transform:rotate(-10deg)} }
@keyframes ms-summons { 0%{transform:translateY(0) rotate(0deg) scale(1); opacity:.7} 50%{transform:translateY(-15px) rotate(10deg) scale(1.1); opacity:1} 100%{transform:translateY(0) rotate(0deg) scale(1); opacity:.7} }
@keyframes ms-glow { 0%{opacity:.2} 50%{opacity:.5} 100%{opacity:.2} }

.scn-cockatoo-summons {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 50%, #4a3a2a 100%),
    radial-gradient(ellipse at 70% 30%, #5a4a3a 0%, transparent 60%);
}
.scn-cockatoo-summons .bg-wall { position:absolute; inset:0; background:linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 100%); }
.scn-cockatoo-summons .bg-perch { position:absolute; bottom:25%; left:0; right:0; height:40%; background:linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%); }
.scn-cockatoo-summons .perch { position:absolute; bottom:40%; left:20%; right:20%; height:3%; background:#4a3a2a; border-radius:2px; box-shadow:0 4px 6px rgba(0,0,0,.5); }
.scn-cockatoo-summons .bird-body { position:absolute; bottom:43%; left:30%; width:15%; height:25%; background:linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:cs-body 3s ease-in-out infinite; }
.scn-cockatoo-summons .bird-crest { position:absolute; bottom:60%; left:32%; width:8%; height:15%; background:linear-gradient(180deg, #c8a860 0%, #b89850 100%); border-radius:50% 50% 0 0; transform-origin:bottom center; animation:cs-crest 2s ease-in-out infinite alternate; }
.scn-cockatoo-summons .summons { position:absolute; bottom:30%; right:15%; width:10%; height:13%; background:#c8a860; border-radius:2px; box-shadow:0 0 8px #c8a860; animation:cs-summons 5s ease-in-out infinite; }
.scn-cockatoo-summons .glow { position:absolute; bottom:30%; left:25%; right:25%; height:20%; background:radial-gradient(ellipse at 50% 100%, rgba(200,160,96,.12) 0%, transparent 70%); animation:cs-glow 4s ease-in-out infinite alternate; }
@keyframes cs-body { 0%{transform:rotate(-2deg)} 50%{transform:rotate(2deg) translateY(-2px)} 100%{transform:rotate(-2deg)} }
@keyframes cs-crest { 0%{transform:rotate(-10deg)} 50%{transform:rotate(15deg) scaleY(1.1)} 100%{transform:rotate(-10deg)} }
@keyframes cs-summons { 0%{transform:translateY(0) rotate(0deg); opacity:.7} 50%{transform:translateY(-8px) rotate(8deg); opacity:1} 100%{transform:translateY(0) rotate(0deg); opacity:.7} }
@keyframes cs-glow { 0%{opacity:.2} 50%{opacity:.5} 100%{opacity:.2} }

.scn-garbage-and-bird-law {
  background: 
    linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 40%, #4a3a2a 100%),
    radial-gradient(ellipse at 50% 70%, #5a4a3a 0%, transparent 50%);
}
.scn-garbage-and-bird-law .bg-wall { position:absolute; inset:0 0 30% 0; background:linear-gradient(180deg, #2a1a0a 0%, #3a2a1a 100%); }
.scn-garbage-and-bird-law .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(180deg, #3a2010 0%, #1a0a00 100%); }
.scn-garbage-and-bird-law .garbage-can { position:absolute; bottom:30%; left:25%; width:20%; height:40%; background:linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:5px 5px 10px 10px; box-shadow:0 -4px 10px rgba(0,0,0,.5); transform-origin:bottom center; animation:gb-can 6s ease-in-out infinite; }
.scn-garbage-and-bird-law .garbage-lid { position:absolute; bottom:68%; left:22%; width:26%; height:6%; background:linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:4px; box-shadow:0 4px 6px rgba(0,0,0,.5); transform-origin:center left; animation:gb-lid 3s ease-in-out infinite alternate; }
.scn-garbage-and-bird-law .bird { position:absolute; bottom:60%; left:15%; width:12%; height:20%; background:linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:gb-bird 4s ease-in-out infinite; }
.scn-garbage-and-bird-law .summons { position:absolute; bottom:45%; left:30%; width:8%; height:12%; background:#c8a860; border-radius:2px; box-shadow:0 0 6px #c8a860; animation:gb-summons 5s ease-in-out infinite; }
.scn-garbage-and-bird-law .glow { position:absolute; bottom:20%; left:20%; right:20%; height:30%; background:radial-gradient(ellipse at 50% 100%, rgba(200,160,96,.1) 0%, transparent 70%); animation:gb-glow 4s ease-in-out infinite alternate; }
@keyframes gb-can { 0%{transform:scaleY(1)} 50%{transform:scaleY(1.02) translateY(-2px)} 100%{transform:scaleY(1)} }
@keyframes gb-lid { 0%{transform:rotate(0deg)} 50%{transform:rotate(5deg) translateY(-3px)} 100%{transform:rotate(0deg)} }
@keyframes gb-bird { 0%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-5px) rotate(2deg)} 100%{transform:translateY(0) rotate(-2deg)} }
@keyframes gb-summons { 0%{transform:translateY(0) rotate(0deg); opacity:.7} 50%{transform:translateY(-10px) rotate(5deg); opacity:1} 100%{transform:translateY(0) rotate(0deg); opacity:.7} }
@keyframes gb-glow { 0%{opacity:.2} 50%{opacity:.4} 100%{opacity:.2} }

.scn-tutt-negotiates-with-peckham {
  background: 
    linear-gradient(180deg, #f3e0c0 0%, #d4b88a 40%, #b88a5e 100%),
    radial-gradient(ellipse at 50% 100%, #c49a6a 0%, transparent 60%);
}
.scn-tutt-negotiates-with-peckham .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #e6d2b5 0%, #c9ad88 100%); }
.scn-tutt-negotiates-with-peckham .warm-window { position:absolute; top:8%; right:10%; width:120px; height:160px; background: radial-gradient(ellipse at 50% 60%, #ffe9b0 0%, #c8a86a 60%, #8a6a3a 100%); border-radius: 10px 10px 0 0; box-shadow: inset 0 0 30px #ffd080, 0 0 20px rgba(200,168,106,0.5); animation: tnp-window 8s ease-in-out infinite alternate; }
.scn-tutt-negotiates-with-peckham .desk { position:absolute; bottom:20%; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #8b5e3c 0%, #6a4428 100%); border-radius: 20px 20px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.3); animation: tnp-desk 6s ease-in-out infinite; }
.scn-tutt-negotiates-with-peckham .paper { position:absolute; bottom:30%; left:30%; width:120px; height:80px; background: #f5eac1; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.2); transform: rotate(-5deg); animation: tnp-paper 12s ease-in-out infinite alternate; }
.scn-tutt-negotiates-with-peckham .cigar-smoke { position:absolute; bottom:45%; left:40%; width:40px; height:40px; background: radial-gradient(circle, rgba(200,180,140,0.6) 0%, rgba(200,180,140,0) 70%); border-radius:50%; filter: blur(10px); animation: tnp-smoke 5s ease-in-out infinite; }
.scn-tutt-negotiates-with-peckham .tutt { position:absolute; bottom:22%; left:25%; width:50px; height:90px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); animation: tnp-tutt 4s ease-in-out infinite; }
.scn-tutt-negotiates-with-peckham .peckham { position:absolute; bottom:22%; right:25%; width:50px; height:85px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); transform: scaleX(-1); animation: tnp-peckham 5s ease-in-out infinite alternate; }
.scn-tutt-negotiates-with-peckham .rubber-plant { position:absolute; bottom:20%; left:8%; width:60px; height:100px; background: linear-gradient(180deg, #3a6a3a 0%, #1a3a1a 100%); border-radius: 50% 50% 60% 60% / 70% 70% 50% 50%; box-shadow: 0 4px 10px rgba(0,0,0,0.3); animation: tnp-plant 10s ease-in-out infinite alternate; }
.scn-tutt-negotiates-with-peckham .lamp-glow { position:absolute; top:15%; left:55%; width:80px; height:80px; background: radial-gradient(circle, #ffd080 0%, #e8b060 40%, transparent 80%); border-radius:50%; filter: blur(15px); animation: tnp-lamp 4s ease-in-out infinite alternate; }
@keyframes tnp-window { 0% { opacity:0.7; transform: scaleY(0.95); } 50% { opacity:1; transform: scaleY(1); } 100% { opacity:0.8; transform: scaleY(0.98); } }
@keyframes tnp-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes tnp-paper { 0% { transform: rotate(-5deg) translate(0,0); } 50% { transform: rotate(-3deg) translate(2px,-1px); } 100% { transform: rotate(-6deg) translate(-1px,0); } }
@keyframes tnp-smoke { 0%,100% { opacity:0.2; transform: translate(0,0) scale(1); } 50% { opacity:0.6; transform: translate(10px,-20px) scale(1.3); } }
@keyframes tnp-tutt { 0%,100% { transform: translate(0,0) rotate(0); } 25% { transform: translate(2px,-1px) rotate(2deg); } 75% { transform: translate(-2px,-1px) rotate(-2deg); } }
@keyframes tnp-peckham { 0%,100% { transform: scaleX(-1) translate(0,0); } 50% { transform: scaleX(-1) translate(-3px,1px); } }
@keyframes tnp-plant { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-1deg); } }
@keyframes tnp-lamp { 0% { opacity:0.6; transform: scale(0.95); } 100% { opacity:1; transform: scale(1.05); } }

.scn-plea-bargaining-session {
  background: 
    linear-gradient(180deg, #eddcc0 0%, #d4b88a 40%, #b88a5e 100%),
    radial-gradient(ellipse at 30% 100%, #c49a6a 0%, transparent 60%);
}
.scn-plea-bargaining-session .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e6d2b5 0%, #c9ad88 100%); }
.scn-plea-bargaining-session .floor { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(180deg, #8b6a44 0%, #6a4a2a 100%); }
.scn-plea-bargaining-session .desk-wide { position:absolute; bottom:25%; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #7a4e2a 0%, #5a3420 100%); border-radius: 10px 10px 0 0; box-shadow: 0 -4px 15px rgba(0,0,0,0.3); animation: pbs-desk 8s ease-in-out infinite; }
.scn-plea-bargaining-session .papers-stack { position:absolute; bottom:30%; left:20%; width:90px; height:60px; background: linear-gradient(180deg, #f5eac1 0%, #e0d0a0 100%); border-radius: 3px; box-shadow: 2px 2px 6px rgba(0,0,0,0.2); animation: pbs-papers 12s ease-in-out infinite alternate; }
.scn-plea-bargaining-session .armchair { position:absolute; bottom:20%; right:12%; width:100px; height:90px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%; box-shadow: inset 0 -10px 20px rgba(0,0,0,0.5); animation: pbs-chair 6s ease-in-out infinite alternate; }
.scn-plea-bargaining-session .hat-on-floor { position:absolute; bottom:15%; left:40%; width:60px; height:30px; background: linear-gradient(180deg, #3a2a1a 0%, #1a1210 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: pbs-hat 10s ease-in-out infinite; }
.scn-plea-bargaining-session .tutt-seated { position:absolute; bottom:24%; left:15%; width:55px; height:80px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); animation: pbs-tutt 5s ease-in-out infinite; }
.scn-plea-bargaining-session .window-light { position:absolute; top:10%; left:5%; width:100px; height:150px; background: radial-gradient(ellipse at 50% 50%, #ffe9b0 0%, #c8a86a 50%, transparent 80%); border-radius: 10px; filter: blur(5px); animation: pbs-window 9s ease-in-out infinite alternate; }
.scn-plea-bargaining-session .file-folder { position:absolute; bottom:30%; left:5%; width:70px; height:50px; background: linear-gradient(180deg, #c8b080 0%, #a08860 100%); border-radius: 2px; transform: rotate(5deg); box-shadow: 1px 1px 4px rgba(0,0,0,0.2); animation: pbs-folder 14s ease-in-out infinite alternate; }
@keyframes pbs-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pbs-papers { 0% { transform: rotate(-2deg) translate(0,0); } 50% { transform: rotate(0deg) translate(2px,-1px); } 100% { transform: rotate(-3deg) translate(-1px,0); } }
@keyframes pbs-chair { 0% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes pbs-hat { 0%,100% { transform: rotate(-10deg) translate(0,0); } 50% { transform: rotate(-8deg) translate(3px,-2px); } }
@keyframes pbs-tutt { 0%,100% { transform: translate(0,0) rotate(0); } 25% { transform: translate(1px,-1px) rotate(2deg); } 75% { transform: translate(-1px,-1px) rotate(-2deg); } }
@keyframes pbs-window { 0% { opacity:0.6; transform: scale(0.95); } 100% { opacity:1; transform: scale(1); } }
@keyframes pbs-folder { 0% { transform: rotate(5deg) translate(0,0); } 50% { transform: rotate(7deg) translate(2px,-1px); } 100% { transform: rotate(4deg) translate(-1px,0); } }

.scn-tutt-trades-for-higgleby {
  background: 
    linear-gradient(180deg, #f0ddc0 0%, #d4b88a 35%, #b88a5e 100%),
    radial-gradient(ellipse at 70% 100%, #c49a6a 0%, transparent 60%);
}
.scn-tutt-trades-for-higgleby .wall { position:absolute; inset:0 0 38% 0; background: linear-gradient(180deg, #e6d2b5 0%, #c9ad88 100%); }
.scn-tutt-trades-for-higgleby .window-green { position:absolute; top:5%; right:15%; width:130px; height:170px; background: radial-gradient(ellipse at 50% 60%, #d4e8b0 0%, #88a86a 50%, #5a7a3a 100%); border-radius: 10px 10px 0 0; box-shadow: inset 0 0 20px #a0c07a, 0 0 15px rgba(136,168,106,0.4); animation: tth-window 8s ease-in-out infinite alternate; }
.scn-tutt-trades-for-higgleby .desk-long { position:absolute; bottom:22%; left:8%; right:8%; height:22%; background: linear-gradient(180deg, #8b5e3c 0%, #6a4428 100%); border-radius: 20px 20px 0 0; box-shadow: 0 -6px 15px rgba(0,0,0,0.3); animation: tth-desk 7s ease-in-out infinite; }
.scn-tutt-trades-for-higgleby .contract { position:absolute; bottom:30%; left:25%; width:130px; height:70px; background: #f5eac1; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.2); transform: rotate(-3deg); animation: tth-contract 12s ease-in-out infinite alternate; }
.scn-tutt-trades-for-higgleby .handshake { position:absolute; bottom:26%; left:40%; width:30px; height:40px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%; transform: rotate(15deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: tth-hand 4s ease-in-out infinite; }
.scn-tutt-trades-for-higgleby .scale { position:absolute; bottom:35%; left:10%; width:50px; height:60px; background: linear-gradient(180deg, #a08060 0%, #705040 100%); border-radius: 10px 10px 20px 20px / 20px 20px 30px 30px; box-shadow: 0 2px 10px rgba(0,0,0,0.3); animation: tth-scale 9s ease-in-out infinite alternate; }
.scn-tutt-trades-for-higgleby .tutt-leaning { position:absolute; bottom:20%; left:18%; width:50px; height:85px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: rotate(5deg); animation: tth-tutt 5s ease-in-out infinite; }
.scn-tutt-trades-for-higgleby .peckham-leaning { position:absolute; bottom:20%; right:18%; width:50px; height:85px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform: scaleX(-1) rotate(5deg); animation: tth-peckham 5.5s ease-in-out infinite alternate; }
.scn-tutt-trades-for-higgleby .lamp-shine { position:absolute; top:10%; left:60%; width:100px; height:100px; background: radial-gradient(circle, #ffd080 0%, #e8b060 30%, transparent 70%); border-radius:50%; filter: blur(20px); animation: tth-lamp 4s ease-in-out infinite alternate; }
@keyframes tth-window { 0% { opacity:0.7; transform: scaleY(0.95); } 50% { opacity:1; transform: scaleY(1); } 100% { opacity:0.8; transform: scaleY(0.98); } }
@keyframes tth-desk { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes tth-contract { 0% { transform: rotate(-3deg) translate(0,0); } 50% { transform: rotate(-1deg) translate(2px,-1px); } 100% { transform: rotate(-4deg) translate(-1px,0); } }
@keyframes tth-hand { 0%,100% { transform: rotate(15deg) translate(0,0); } 50% { transform: rotate(18deg) translate(1px,-1px); } }
@keyframes tth-scale { 0% { transform: rotate(-5deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(5deg); } }
@keyframes tth-tutt { 0%,100% { transform: rotate(5deg) translate(0,0); } 25% { transform: rotate(3deg) translate(2px,-1px); } 75% { transform: rotate(7deg) translate(-2px,-1px); } }
@keyframes tth-peckham { 0%,100% { transform: scaleX(-1) rotate(5deg) translate(0,0); } 50% { transform: scaleX(-1) rotate(7deg) translate(-3px,1px); } }
@keyframes tth-lamp { 0% { opacity:0.6; transform: scale(0.95); } 100% { opacity:1; transform: scale(1.05); } }

.scn-dismiss-higgleby-indictment {
  background: 
    linear-gradient(180deg, #f3e2c5 0%, #d6b88a 35%, #b88a5e 100%),
    radial-gradient(ellipse at 40% 100%, #c49a6a 0%, transparent 70%);
}
.scn-dismiss-higgleby-indictment .wall { position:absolute; inset:0 0 35% 0; background: linear-gradient(180deg, #e6d2b5 0%, #c9ad88 100%); }
.scn-dismiss-higgleby-indictment .desk-angle { position:absolute; bottom:20%; left:10%; right:10%; height:25%; background: linear-gradient(180deg, #8b5e3c 0%, #6a4428 100%); border-radius: 15px 15px 0 0; transform: rotate(-2deg); box-shadow: 0 -6px 15px rgba(0,0,0,0.3); animation: dhi-desk 8s ease-in-out infinite; }
.scn-dismiss-higgleby-indictment .indictment { position:absolute; bottom:30%; left:30%; width:140px; height:90px; background: #f5eac1; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.2); transform: rotate(-2deg); animation: dhi-indictment 12s ease-in-out infinite alternate; }
.scn-dismiss-higgleby-indictment .gavel { position:absolute; bottom:28%; right:20%; width:30px; height:50px; background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%); border-radius: 10% 10% 20% 20% / 30% 30% 20% 20%; transform: rotate(-20deg); box-shadow: 0 2px 8px rgba(0,0,0,0.4); animation: dhi-gavel 5s ease-in-out infinite; }
.scn-dismiss-higgleby-indictment .tutt-hand { position:absolute; bottom:25%; left:25%; width:25px; height:35px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform: rotate(10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: dhi-tutt 4s ease-in-out infinite; }
.scn-dismiss-higgleby-indictment .peckham-hand { position:absolute; bottom:26%; right:28%; width:25px; height:35px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 30% 30% 40% 40% / 50% 50% 40% 40%; transform: scaleX(-1) rotate(-10deg); box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: dhi-peckham 4.5s ease-in-out infinite alternate; }
.scn-dismiss-higgleby-indictment .inkwell { position:absolute; bottom:25%; left:15%; width:20px; height:25px; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; box-shadow: 0 0 6px rgba(0,0,0,0.5); animation: dhi-ink 10s ease-in-out infinite alternate; }
.scn-dismiss-higgleby-indictment .lamp-glow-soft { position:absolute; top:15%; left:45%; width:90px; height:90px; background: radial-gradient(circle, #ffd080 0%, #e8b060 30%, transparent 70%); border-radius:50%; filter: blur(15px); animation: dhi-lamp 5s ease-in-out infinite alternate; }
@keyframes dhi-desk { 0%,100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-3px); } }
@keyframes dhi-indictment { 0% { transform: rotate(-2deg) translate(0,0); } 50% { transform: rotate(0deg) translate(2px,-1px); } 100% { transform: rotate(-3deg) translate(-1px,0); } }
@keyframes dhi-gavel { 0%,100% { transform: rotate(-20deg) translate(0,0); } 50% { transform: rotate(-25deg) translate(1px,-2px); } }
@keyframes dhi-tutt { 0%,100% { transform: rotate(10deg) translate(0,0); } 25% { transform: rotate(8deg) translate(2px,-1px); } 75% { transform: rotate(12deg) translate(-2px,-1px); } }
@keyframes dhi-peckham { 0%,100% { transform: scaleX(-1) rotate(-10deg) translate(0,0); } 50% { transform: scaleX(-1) rotate(-12deg) translate(-2px,1px); } }
@keyframes dhi-ink { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(2px,-1px) scale(1.05); } 100% { transform: translate(-1px,0) scale(0.95); } }
@keyframes dhi-lamp { 0% { opacity:0.6; transform: scale(0.95); } 100% { opacity:1; transform: scale(1.05); } }

/* marriage-law-discussion */
.scn-marriage-law-discussion {
  background: linear-gradient(180deg, #f7e8d0 0%, #e6cfa0 100%),
              radial-gradient(ellipse at 20% 70%, #d4b080 0%, transparent 60%);
}
.scn-marriage-law-discussion .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #f2e0bf 0%, #dcc29b 100%);
}
.scn-marriage-law-discussion .window {
  position: absolute; top: 8%; left: 10%; width: 40%; height: 35%;
  background: linear-gradient(180deg, #b8d2e8 0%, #a0c4e0 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,240,0.4);
  animation: ml-window 12s ease-in-out infinite alternate;
}
.scn-marriage-law-discussion .desk {
  position: absolute; bottom: 18%; left: 25%; width: 50%; height: 18%;
  background: linear-gradient(180deg, #6b4226 0%, #4a2c16 100%);
  border-radius: 2px 2px 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-marriage-law-discussion .lamp {
  position: absolute; bottom: 36%; left: 48%; width: 20px; height: 25px;
  background: radial-gradient(circle, #ffe080 0%, #c8942a 70%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 0 30px 8px #e8b84b;
  animation: ml-lamp 4s ease-in-out infinite alternate;
}
.scn-marriage-law-discussion .figure-left {
  position: absolute; bottom: 18%; left: 28%; width: 22px; height: 42px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a140a 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ml-figure-l 3s ease-in-out infinite alternate;
}
.scn-marriage-law-discussion .figure-right {
  position: absolute; bottom: 18%; right: 28%; width: 22px; height: 44px;
  background: linear-gradient(180deg, #4a3824 0%, #2a1e12 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ml-figure-r 3.5s ease-in-out infinite alternate;
}
.scn-marriage-law-discussion .bookstack {
  position: absolute; bottom: 19%; left: 20%; width: 30px; height: 20px;
  background: linear-gradient(180deg, #7a3a1a 0%, #4a2210 100%);
  border-radius: 2px; box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
  animation: ml-books 8s ease-in-out infinite;
}
.scn-marriage-law-discussion .malt-bottle {
  position: absolute; bottom: 20%; left: 45%; width: 8px; height: 18px;
  background: linear-gradient(180deg, #c8a060 0%, #a08040 100%);
  border-radius: 3px 3px 1px 1px;
  animation: ml-bottle 6s ease-in-out infinite;
}
@keyframes ml-window { 0% { opacity:0.9; transform:scaleX(1); } 50% { opacity:1; transform:scaleX(1.02); } 100% { opacity:0.85; transform:scaleX(0.98); } }
@keyframes ml-lamp { 0% { box-shadow: 0 0 20px 4px #d4a030; opacity:0.8; } 50% { box-shadow: 0 0 40px 12px #f0c060; opacity:1; } 100% { box-shadow: 0 0 25px 6px #d4a030; opacity:0.9; } }
@keyframes ml-figure-l { 0% { transform: rotate(-1deg); } 50% { transform: rotate(1.5deg) translateY(-1px); } 100% { transform: rotate(0deg); } }
@keyframes ml-figure-r { 0% { transform: rotate(1deg); } 50% { transform: rotate(-1deg) translateY(-2px); } 100% { transform: rotate(0.5deg); } }
@keyframes ml-books { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes ml-bottle { 0%,100% { transform:rotate(-2deg); } 50% { transform:rotate(3deg) translateY(-1px); } }

/* marriage-troubles-never-end */
.scn-marriage-troubles-never-end {
  background: linear-gradient(180deg, #fdf4d4 0%, #f5dca0 100%),
              radial-gradient(ellipse at 70% 40%, #f2c470 0%, transparent 60%);
}
.scn-marriage-troubles-never-end .bg-shout {
  position: absolute; inset:0 0 35% 0;
  background: linear-gradient(90deg, #fce8b0 0%, #f8d488 100%);
  animation: mt-shout 5s ease-in-out infinite alternate;
}
.scn-marriage-troubles-never-end .paper-stack {
  position: absolute; bottom:25%; left:15%; width:50px; height:30px;
  background: linear-gradient(180deg, #fff8ec 0%, #e8dcc8 100%);
  border-radius: 2px; box-shadow: 2px 4px 8px rgba(0,0,0,0.2);
  animation: mt-stack 8s ease-in-out infinite;
}
.scn-marriage-troubles-never-end .paper-fly {
  position: absolute; bottom:40%; left:35%; width:20px; height:12px;
  background: linear-gradient(135deg, #fff5e0 0%, #e8dcc8 100%);
  border-radius: 1px; box-shadow: 1px 1px 4px rgba(0,0,0,0.1);
  animation: mt-paperfly 4s ease-in-out infinite;
}
.scn-marriage-troubles-never-end .gavel {
  position: absolute; bottom:20%; left:50%; width:12px; height:24px;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2212 100%);
  border-radius: 2px 2px 6px 6px;
  animation: mt-gavel 3s ease-in-out infinite;
}
.scn-marriage-troubles-never-end .figure-argue {
  position: absolute; bottom:18%; left:30%; width:24px; height:45px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: mt-argue 2.5s ease-in-out infinite alternate;
}
.scn-marriage-troubles-never-end .figure-soothe {
  position: absolute; bottom:18%; right:30%; width:22px; height:43px;
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: mt-soothe 3.5s ease-in-out infinite alternate;
}
.scn-marriage-troubles-never-end .desk-lamp {
  position: absolute; bottom:30%; left:48%; width:16px; height:20px;
  background: radial-gradient(circle, #ffe89a 0%, #d4a040 70%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 25px 6px #e8b84b;
  animation: mt-lamp 4s ease-in-out infinite alternate;
}
@keyframes mt-shout { 0% { opacity:0.9; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.03); } 100% { opacity:0.8; transform:scaleY(0.97); } }
@keyframes mt-stack { 0%,100% { transform: translateX(0); } 25% { transform: translateX(3px) rotate(-2deg); } 75% { transform: translateX(-2px) rotate(1deg); } }
@keyframes mt-paperfly { 0% { transform: translate(0,0) rotate(0deg); } 25% { transform: translate(8px,-6px) rotate(15deg); } 50% { transform: translate(15px,-2px) rotate(-10deg); } 75% { transform: translate(5px,5px) rotate(5deg); } 100% { transform: translate(0,0) rotate(0deg); } }
@keyframes mt-gavel { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-2px); } }
@keyframes mt-argue { 0% { transform: rotate(-4deg) translateX(0); } 50% { transform: rotate(6deg) translateX(3px); } 100% { transform: rotate(-3deg) translateX(0); } }
@keyframes mt-soothe { 0% { transform: rotate(2deg) translateX(0); } 50% { transform: rotate(-3deg) translateX(-2px); } 100% { transform: rotate(1deg) translateX(0); } }
@keyframes mt-lamp { 0% { box-shadow: 0 0 15px 4px #d4a030; opacity:0.85; } 50% { box-shadow: 0 0 35px 10px #f0c060; opacity:1; } 100% { box-shadow: 0 0 20px 5px #d4a030; opacity:0.9; } }

/* mongolian-marriage-usages */
.scn-mongolian-marriage-usages {
  background: linear-gradient(180deg, #e6d2b8 0%, #c8aa80 100%),
              radial-gradient(ellipse at 30% 50%, #b89870 0%, transparent 60%);
}
.scn-mongolian-marriage-usages .floor-map {
  position: absolute; bottom:10%; left:10%; width:80%; height:30%;
  background: linear-gradient(135deg, #d4b890 0%, #a88c66 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: inset 0 4px 12px rgba(0,0,0,0.2);
  animation: mm-map 20s ease-in-out infinite;
}
.scn-mongolian-marriage-usages .globe-stand {
  position: absolute; bottom:35%; left:20%; width:8px; height:50px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 2px;
}
.scn-mongolian-marriage-usages .globe {
  position: absolute; bottom:48%; left:18%; width:40px; height:40px;
  background: radial-gradient(circle at 40% 40%, #70a8d0 0%, #3a6a8a 60%, #1a3a4a 100%);
  border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: mm-globe 15s linear infinite;
}
.scn-mongolian-marriage-usages .yurt-mini {
  position: absolute; bottom:25%; left:45%; width:40px; height:30px;
  background: linear-gradient(180deg, #c8a86a 0%, #9a7a4a 100%);
  border-radius: 50% 50% 20% 20%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: mm-yurt 6s ease-in-out infinite alternate;
}
.scn-mongolian-marriage-usages .figure-capture {
  position: absolute; bottom:18%; left:35%; width:18px; height:38px;
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: mm-capture 4s ease-in-out infinite;
}
.scn-mongolian-marriage-usages .figure-purchase {
  position: absolute; bottom:18%; right:35%; width:18px; height:38px;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: mm-purchase 4.5s ease-in-out infinite;
}
.scn-mongolian-marriage-usages .rice-sack {
  position: absolute; bottom:15%; right:45%; width:16px; height:22px;
  background: linear-gradient(180deg, #e0c8a0 0%, #b09868 100%);
  border-radius: 4px 4px 6px 6px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: mm-rice 7s ease-in-out infinite;
}
@keyframes mm-map { 0%,100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(0.98) rotate(2deg); } }
@keyframes mm-globe { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes mm-yurt { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(0.95); } }
@keyframes mm-capture { 0%,100% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } }
@keyframes mm-purchase { 0%,100% { transform: translateX(0) rotate(2deg); } 50% { transform: translateX(-4px) rotate(-2deg); } }
@keyframes mm-rice { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

/* every-man-pays-for-wife */
.scn-every-man-pays-for-wife {
  background: linear-gradient(180deg, #f0e8d0 0%, #d4c49a 100%),
              radial-gradient(ellipse at 60% 30%, #e8d4a0 0%, transparent 50%);
}
.scn-every-man-pays-for-wife .bg-coins {
  position: absolute; bottom:0; left:0; right:0; height:20%;
  background: linear-gradient(180deg, #e8c870 0%, #b89040 100%);
  border-radius: 60% 40% 0 0 / 100% 80% 0 0;
  animation: ep-coins 6s ease-in-out infinite alternate;
}
.scn-every-man-pays-for-wife .desk-dollar {
  position: absolute; bottom:25%; left:20%; width:60%; height:15%;
  background: linear-gradient(180deg, #6b4226 0%, #4a2c16 100%);
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-every-man-pays-for-wife .money-bag {
  position: absolute; bottom:20%; left:40%; width:20px; height:28px;
  background: radial-gradient(circle at 50% 30%, #c8a86a 0%, #8a6a3a 100%);
  border-radius: 50% 50% 30% 30%; box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
  animation: ep-bag 4s ease-in-out infinite alternate;
}
.scn-every-man-pays-for-wife .rice-bowl {
  position: absolute; bottom:18%; right:25%; width:22px; height:12px;
  background: linear-gradient(180deg, #f0e0c0 0%, #c8b090 100%);
  border-radius: 50% 50% 15% 15%; box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  animation: ep-rice 5s ease-in-out infinite;
}
.scn-every-man-pays-for-wife .figure-tutt {
  position: absolute; bottom:18%; left:25%; width:22px; height:42px;
  background: linear-gradient(180deg, #3a2818 0%, #1a1008 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ep-tutt 3s ease-in-out infinite alternate;
}
.scn-every-man-pays-for-wife .figure-wife {
  position: absolute; bottom:18%; right:25%; width:20px; height:40px;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a10 100%);
  border-radius: 40% 40% 35% 35% / 55% 55% 40% 40%;
  transform-origin: bottom center;
  animation: ep-wife 3.5s ease-in-out infinite alternate;
}
.scn-every-man-pays-for-wife .grin-shadow {
  position: absolute; bottom:30%; left:22%; width:10px; height:4px;
  background: radial-gradient(circle, #f0b060 0%, transparent 100%);
  border-radius: 50%; opacity:0.6;
  animation: ep-grin 2s ease-in-out infinite alternate;
}
@keyframes ep-coins { 0% { opacity:0.8; transform: scaleY(1); } 50% { opacity:1; transform: scaleY(1.05); } 100% { opacity:0.7; transform: scaleY(0.95); } }
@keyframes ep-bag { 0% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } 100% { transform: rotate(-3deg) translateY(0); } }
@keyframes ep-rice { 0%,100% { transform: translateX(0) rotate(-1deg); } 50% { transform: translateX(3px) rotate(2deg); } }
@keyframes ep-tutt { 0% { transform: rotate(2deg) translateX(0); } 50% { transform: rotate(-2deg) translateX(4px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes ep-wife { 0% { transform: rotate(-3deg) translateX(0); } 50% { transform: rotate(1deg) translateX(-3px); } 100% { transform: rotate(-1deg) translateX(0); } }
@keyframes ep-grin { 0% { opacity:0.4; transform: scaleX(1); } 50% { opacity:0.8; transform: scaleX(1.5); } 100% { opacity:0.5; transform: scaleX(0.8); } }

.scn-perfectly-safe-not-to-pay {
  background: linear-gradient(180deg, #f5f0e8 0%, #ddd5c5 40%, #c8bca8 100%), radial-gradient(ellipse at 50% 30%, #fff8f0 0%, transparent 70%);
}
.scn-perfectly-safe-not-to-pay .wall-back {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #f0e8d8 0%, #d8d0c0 100%); border-bottom: 2px solid #b0a898; animation: psn-wall 12s ease-in-out infinite alternate;
}
.scn-perfectly-safe-not-to-pay .window {
  position: absolute; top: 5%; left: 20%; width: 30%; height: 45%; background: linear-gradient(135deg, #c8e0ff 0%, #a0c4f0 100%); border: 10px solid #b8a888; box-shadow: inset 0 0 20px rgba(255,255,200,0.3); border-radius: 4px; animation: psn-window 8s ease-in-out infinite alternate;
}
.scn-perfectly-safe-not-to-pay .desk {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 35%; background: linear-gradient(180deg, #6b5b4b 0%, #4d3f32 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.2); animation: psn-desk 15s ease-in-out infinite;
}
.scn-perfectly-safe-not-to-pay .chair-left {
  position: absolute; bottom: 10%; left: 15%; width: 20%; height: 30%; background: linear-gradient(180deg, #3d3528 0%, #2a241c 100%); border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%; transform-origin: bottom; animation: psn-chair 4s ease-in-out infinite alternate;
}
.scn-perfectly-safe-not-to-pay .chair-right {
  position: absolute; bottom: 10%; right: 15%; width: 20%; height: 30%; background: linear-gradient(180deg, #3d3528 0%, #2a241c 100%); border-radius: 30% 30% 10% 10% / 40% 40% 10% 10%; transform-origin: bottom; animation: psn-chair 4s ease-in-out infinite alternate reverse; animation-delay: -2s;
}
.scn-perfectly-safe-not-to-pay .figure-lawyer {
  position: absolute; bottom: 15%; left: 30%; width: 12%; height: 40%; background: radial-gradient(ellipse 60% 70% at 50% 30%, #2c3a2c, #1a221a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: psn-lawyer 5s ease-in-out infinite;
}
.scn-perfectly-safe-not-to-pay .figure-client {
  position: absolute; bottom: 15%; right: 30%; width: 12%; height: 40%; background: radial-gradient(ellipse 60% 70% at 50% 30%, #3a2c2c, #221a1a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: psn-client 6s ease-in-out infinite;
}
.scn-perfectly-safe-not-to-pay .papers {
  position: absolute; bottom: 15%; left: 45%; width: 10%; height: 5%; background: #faf5e8; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: psn-papers 3s ease-in-out infinite alternate;
}
.scn-perfectly-safe-not-to-pay .lamp-desk {
  position: absolute; bottom: 20%; left: 25%; width: 5%; height: 15%; background: linear-gradient(180deg, #c8a860 0%, #a08040 100%); border-radius: 10px 10px 2px 2px; box-shadow: 0 0 20px 6px rgba(255,200,100,0.4); animation: psn-lamp 7s ease-in-out infinite alternate;
}
@keyframes psn-wall { 0% { opacity: 0.9 } 50% { opacity: 0.95 } 100% { opacity: 0.85 } }
@keyframes psn-window { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(0.98) } }
@keyframes psn-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes psn-chair { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) translateY(-2px) } 100% { transform: rotate(-1deg) } }
@keyframes psn-lawyer { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-3px) rotate(1deg) } 100% { transform: translateY(1px) rotate(-0.5deg) } }
@keyframes psn-client { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-2px) rotate(-1deg) } 100% { transform: translateY(1px) rotate(0.5deg) } }
@keyframes psn-papers { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(2deg) } 100% { transform: translateX(-1px) rotate(-1deg) } }
@keyframes psn-lamp { 0% { opacity: 0.7; box-shadow: 0 0 15px 4px rgba(255,200,100,0.3) } 50% { opacity: 1; box-shadow: 0 0 30px 8px rgba(255,200,100,0.5) } 100% { opacity: 0.8; box-shadow: 0 0 20px 5px rgba(255,200,100,0.4) } }

.scn-knowledge-of-law-implies-intent {
  background: linear-gradient(180deg, #ebe4d8 0%, #d4cbb8 50%, #b8ab94 100%), radial-gradient(ellipse at 30% 60%, #fff8ee 0%, transparent 70%);
}
.scn-knowledge-of-law-implies-intent .wall-back {
  position: absolute; inset: 0 0 30% 0; background: linear-gradient(180deg, #e8e0d0 0%, #c8bca8 100%); border-bottom: 4px solid #a09080; animation: kli-wall 14s ease-in-out infinite alternate;
}
.scn-knowledge-of-law-implies-intent .bookcase {
  position: absolute; top: 5%; right: 5%; width: 25%; height: 70%; background: repeating-linear-gradient(0deg, #6a5e4e 0px, #6a5e4e 8px, #7c6e5c 8px, #7c6e5c 16px); border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); animation: kli-bookcase 30s linear infinite;
}
.scn-knowledge-of-law-implies-intent .desk {
  position: absolute; bottom: 0; left: 5%; width: 60%; height: 30%; background: linear-gradient(180deg, #6b5b4b 0%, #4d3f32 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.2); animation: kli-desk 12s ease-in-out infinite;
}
.scn-knowledge-of-law-implies-intent .documents {
  position: absolute; bottom: 10%; left: 25%; width: 15%; height: 8%; background: #faf5e8; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: kli-docs 5s ease-in-out infinite alternate;
}
.scn-knowledge-of-law-implies-intent .hand-desk {
  position: absolute; bottom: 10%; left: 35%; width: 6%; height: 12%; background: #b8a890; border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom; animation: kli-hand 4s ease-in-out infinite;
}
.scn-knowledge-of-law-implies-intent .figure-over {
  position: absolute; bottom: 12%; left: 20%; width: 15%; height: 45%; background: radial-gradient(ellipse 50% 60% at 50% 20%, #2c3a2c, #1a221a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: kli-over 6s ease-in-out infinite;
}
.scn-knowledge-of-law-implies-intent .figure-under {
  position: absolute; bottom: 12%; left: 50%; width: 15%; height: 45%; background: radial-gradient(ellipse 50% 60% at 50% 20%, #3a2c2c, #221a1a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: kli-under 6s ease-in-out infinite reverse;
}
.scn-knowledge-of-law-implies-intent .lamp-overhead {
  position: absolute; top: 0; left: 40%; width: 20%; height: 8%; background: linear-gradient(180deg, #d0b080, #b09060); border-radius: 50% 50% 0 0; box-shadow: 0 8px 20px 4px rgba(255,220,150,0.3); animation: kli-lamp 9s ease-in-out infinite alternate;
}
@keyframes kli-wall { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes kli-bookcase { 0% { background-position-y: 0 } 100% { background-position-y: 80px } }
@keyframes kli-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes kli-docs { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(3px) rotate(3deg) } 100% { transform: translateX(-2px) rotate(-2deg) } }
@keyframes kli-hand { 0% { transform: translateY(0) rotate(-5deg) } 50% { transform: translateY(-3px) rotate(3deg) } 100% { transform: translateY(2px) rotate(-2deg) } }
@keyframes kli-over { 0% { transform: translateY(0) rotate(-1deg) } 50% { transform: translateY(-4px) rotate(2deg) } 100% { transform: translateY(1px) rotate(0deg) } }
@keyframes kli-under { 0% { transform: translateY(0) rotate(1deg) } 50% { transform: translateY(-3px) rotate(-2deg) } 100% { transform: translateY(1px) rotate(0deg) } }
@keyframes kli-lamp { 0% { opacity: 0.8; transform: scaleY(1) } 50% { opacity: 1; transform: scaleY(1.1) } 100% { opacity: 0.7; transform: scaleY(0.9) } }

.scn-executor-cannot-pay {
  background: linear-gradient(180deg, #e0d8c8 0%, #c4b8a4 50%, #a89c88 100%), radial-gradient(ellipse at 60% 20%, #fffaf0 0%, transparent 70%);
}
.scn-executor-cannot-pay .wall-dark {
  position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #c4b8a0 0%, #a09078 100%); border-bottom: 4px solid #887a66; animation: ecp-wall 16s ease-in-out infinite;
}
.scn-executor-cannot-pay .desk-close {
  position: absolute; bottom: 0; left: 10%; width: 80%; height: 40%; background: linear-gradient(180deg, #5a4c3c 0%, #3d3024 100%); border-radius: 6px 6px 0 0; box-shadow: 0 -6px 14px rgba(0,0,0,0.3); animation: ecp-desk 10s ease-in-out infinite;
}
.scn-executor-cannot-pay .will {
  position: absolute; bottom: 20%; left: 35%; width: 20%; height: 12%; background: #fdf8ec; border: 2px solid #c0b09a; border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); animation: ecp-will 6s ease-in-out infinite alternate;
}
.scn-executor-cannot-pay .seal {
  position: absolute; bottom: 22%; left: 42%; width: 6%; height: 5%; background: radial-gradient(circle, #b04830 0%, #802820 70%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(176,72,48,0.3); animation: ecp-seal 4s ease-in-out infinite alternate;
}
.scn-executor-cannot-pay .lamp-brass {
  position: absolute; bottom: 30%; left: 20%; width: 6%; height: 14%; background: linear-gradient(180deg, #c0a050 0%, #a08030 100%); border-radius: 4px 4px 2px 2px; box-shadow: 0 0 18px 4px rgba(255,180,80,0.3); animation: ecp-lamp 8s ease-in-out infinite alternate;
}
.scn-executor-cannot-pay .figure-arm {
  position: absolute; bottom: 15%; left: 40%; width: 5%; height: 20%; background: #3a2c20; border-radius: 20% 20% 10% 10% / 30% 30% 10% 10%; transform-origin: bottom; animation: ecp-arm 5s ease-in-out infinite;
}
.scn-executor-cannot-pay .figure-torso {
  position: absolute; bottom: 10%; left: 20%; width: 18%; height: 45%; background: radial-gradient(ellipse 50% 60% at 50% 20%, #2c302c, #1a1e1a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: ecp-torso 7s ease-in-out infinite;
}
@keyframes ecp-wall { 0% { opacity: 0.9 } 50% { opacity: 0.95 } 100% { opacity: 0.85 } }
@keyframes ecp-desk { 0% { transform: translateY(0) } 50% { transform: translateY(-1px) } 100% { transform: translateY(1px) } }
@keyframes ecp-will { 0% { transform: translateX(0) rotate(0deg) } 50% { transform: translateX(2px) rotate(1deg) } 100% { transform: translateX(-1px) rotate(-1deg) } }
@keyframes ecp-seal { 0% { transform: scale(1) } 50% { transform: scale(1.15) } 100% { transform: scale(0.95) } }
@keyframes ecp-lamp { 0% { opacity: 0.7; box-shadow: 0 0 12px 2px rgba(255,180,80,0.2) } 50% { opacity: 1; box-shadow: 0 0 24px 6px rgba(255,180,80,0.5) } 100% { opacity: 0.8; box-shadow: 0 0 16px 3px rgba(255,180,80,0.3) } }
@keyframes ecp-arm { 0% { transform: rotate(-10deg) translateY(0) } 50% { transform: rotate(5deg) translateY(-5px) } 100% { transform: rotate(-5deg) translateY(2px) } }
@keyframes ecp-torso { 0% { transform: translateY(0) } 50% { transform: translateY(-3px) } 100% { transform: translateY(1px) } }

.scn-what-if-charity {
  background: linear-gradient(180deg, #d8cfc0 0%, #c0b4a0 40%, #a69880 100%), radial-gradient(ellipse at 50% 10%, #fffaf5 0%, transparent 60%);
}
.scn-what-if-charity .corridor-wall-l {
  position: absolute; top: 0; left: 0; width: 15%; height: 100%; background: linear-gradient(90deg, #8a7c6a 0%, #a09078 100%); box-shadow: 4px 0 8px rgba(0,0,0,0.2); animation: wic-wall-l 20s ease-in-out infinite alternate;
}
.scn-what-if-charity .corridor-wall-r {
  position: absolute; top: 0; right: 0; width: 15%; height: 100%; background: linear-gradient(-90deg, #8a7c6a 0%, #a09078 100%); box-shadow: -4px 0 8px rgba(0,0,0,0.2); animation: wic-wall-r 20s ease-in-out infinite alternate;
}
.scn-what-if-charity .floor-tiles {
  position: absolute; bottom: 0; left: 15%; width: 70%; height: 30%; background: repeating-conic-gradient(#8a7a66 0% 25%, #9a8a76 0% 50%) 50% 50% / 20px 20px; animation: wic-floor 8s linear infinite;
}
.scn-what-if-charity .door {
  position: absolute; bottom: 15%; left: 40%; width: 20%; height: 70%; background: linear-gradient(180deg, #5a4c3c 0%, #3d3024 100%); border: 4px solid #2a221a; border-radius: 4px; box-shadow: inset 0 0 10px rgba(0,0,0,0.3); animation: wic-door 12s ease-in-out infinite;
}
.scn-what-if-charity .figure-walking {
  position: absolute; bottom: 10%; left: 25%; width: 12%; height: 45%; background: radial-gradient(ellipse 50% 60% at 50% 20%, #2c2a2c, #1a181a); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom; animation: wic-walk 4s steps(4) infinite;
}
.scn-what-if-charity .light-beam {
  position: absolute; top: 0; left: 38%; width: 24%; height: 100%; background: linear-gradient(180deg, rgba(255,255,240,0.15) 0%, transparent 80%); transform-origin: top; animation: wic-beam 6s ease-in-out infinite alternate;
}
.scn-what-if-charity .shadow {
  position: absolute; bottom: 0; left: 20%; width: 20%; height: 10%; background: rgba(0,0,0,0.2); border-radius: 50% 50% 0 0; filter: blur(6px); animation: wic-shadow 4s steps(4) infinite;
}
@keyframes wic-wall-l { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes wic-wall-r { 0% { opacity: 0.9 } 50% { opacity: 1 } 100% { opacity: 0.85 } }
@keyframes wic-floor { 0% { background-position: 0 0 } 100% { background-position: 40px 0 } }
@keyframes wic-door { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.02) } 100% { transform: scaleX(0.98) } }
@keyframes wic-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 25% { transform: translateX(8px) translateY(-2px) rotate(1deg) } 50% { transform: translateX(16px) translateY(0) rotate(-1deg) } 75% { transform: translateX(24px) translateY(-2px) rotate(2deg) } 100% { transform: translateX(32px) translateY(0) rotate(0deg) } }
@keyframes wic-beam { 0% { transform: rotate(-3deg) scaleX(0.9); opacity: 0.3 } 50% { transform: rotate(0deg) scaleX(1); opacity: 0.6 } 100% { transform: rotate(2deg) scaleX(0.95); opacity: 0.4 } }
@keyframes wic-shadow { 0% { transform: translateX(0) scale(1) } 25% { transform: translateX(8px) scale(0.9) } 50% { transform: translateX(16px) scale(1) } 75% { transform: translateX(24px) scale(0.9) } 100% { transform: translateX(32px) scale(1) } }

/* payson-junior-prig */
.scn-payson-junior-prig {
  background: linear-gradient(180deg, #f5ecd7 0%, #e8d5b0 60%, #d4b896 100%), radial-gradient(ellipse at 70% 30%, #fff8e7 0%, transparent 60%);
}
.scn-payson-junior-prig .pjp-wall   { position:absolute; inset:0 35% 0 0; background: linear-gradient(180deg, #ede3c9 0%, #d9ccb3 100%); }
.scn-payson-junior-prig .pjp-window { position:absolute; top:10%; right:45%; width:80px; height:120px; background: linear-gradient(180deg, #c4dbf0 0%, #87b4d4 100%); border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,255,.6), 0 0 30px rgba(135,180,212,.4); animation: pjp-win 6s ease-in-out infinite alternate; }
.scn-payson-junior-prig .pjp-desk   { position:absolute; bottom:20%; left:10%; width:130px; height:10px; background: linear-gradient(90deg, #8b7355 0%, #a68a6a 50%, #7a6448 100%); border-radius:2px; box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.scn-payson-junior-prig .pjp-figure { position:absolute; bottom:22%; left:15%; width:24px; height:60px; background: linear-gradient(180deg, #4a4036 0%, #2c251f 100%); border-radius: 50% 50% 40% 40% / 80% 80% 40% 40%; transform-origin: bottom center; animation: pjp-fig 4s ease-in-out infinite; }
.scn-payson-junior-prig .pjp-book   { position:absolute; bottom:24%; left:22%; width:30px; height:8px; background: linear-gradient(90deg, #8a6e4a 0%, #b5956a 100%); border-radius:0 4px 4px 0; transform: rotate(5deg); animation: pjp-book 8s ease-in-out infinite; }
.scn-payson-junior-prig .pjp-lamp   { position:absolute; bottom:30%; left:8%; width:8px; height:20px; background: linear-gradient(180deg, #d4a656 0%, #b08030 100%); border-radius:4px; }
.scn-payson-junior-prig .pjp-lamp::after { content:''; position:absolute; top:-8px; left:-4px; width:16px; height:16px; background: radial-gradient(circle, #ffdd99 0%, #eebb66 50%, transparent 100%); border-radius:50%; animation: pjp-lamp 3s ease-in-out infinite alternate; }
.scn-payson-junior-prig .pjp-dust   { position:absolute; top:30%; left:20%; width:4px; height:4px; background: rgba(255,255,255,.3); border-radius:50%; filter: blur(2px); animation: pjp-dust 15s linear infinite; }
@keyframes pjp-win { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .7; } }
@keyframes pjp-fig { 0% { transform: translateX(0) rotate(0); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0); } 75% { transform: translateX(4px) rotate(-2deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes pjp-book { 0% { transform: rotate(5deg); } 50% { transform: rotate(-5deg); } 100% { transform: rotate(5deg); } }
@keyframes pjp-lamp { 0% { opacity: .9; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: .8; transform: scale(1); } }
@keyframes pjp-dust { 0% { transform: translate(0, 0) scale(1); opacity: .3; } 25% { transform: translate(20px, -10px) scale(.8); opacity: .1; } 50% { transform: translate(40px, 0) scale(1.2); opacity: .4; } 75% { transform: translate(60px, 10px) scale(.9); opacity: .15; } 100% { transform: translate(80px, 0) scale(1); opacity: .3; } }

/* father-and-son-divide */
.scn-father-and-son-divide {
  background: linear-gradient(180deg, #dcd0b4 0%, #c4b596 40%, #a89878 100%), radial-gradient(ellipse at 50% 80%, #e5d9c2 0%, transparent 50%);
}
.scn-father-and-son-divide .fsd-floor  { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8f7a5e 0%, #6b5a44 100%); }
.scn-father-and-son-divide .fsd-wall   { position:absolute; top:0; left:0; right:0; bottom:30%; background: linear-gradient(180deg, #e1d4bc 0%, #d1c2a8 100%); }
.scn-father-and-son-divide .fsd-column { position:absolute; left:48%; width:4%; top:0; bottom:30%; background: linear-gradient(90deg, #b5a082 0%, #d6c4a8 50%, #a18c70 100%); box-shadow: 2px 0 6px rgba(0,0,0,.15); }
.scn-father-and-son-divide .fsd-father { position:absolute; bottom:28%; left:15%; width:30px; height:70px; background: linear-gradient(180deg, #3d362f 0%, #231e1a 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: fsd-fig 6s ease-in-out infinite; }
.scn-father-and-son-divide .fsd-son    { position:absolute; bottom:28%; right:15%; width:26px; height:62px; background: linear-gradient(180deg, #3a332c 0%, #211c18 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: fsd-fig 6s ease-in-out infinite reverse; }
.scn-father-and-son-divide .fsd-picture { position:absolute; top:20%; left:25%; width:50px; height:40px; background: linear-gradient(180deg, #9b896e 0%, #7f6e54 100%); border:3px solid #a08b6d; box-shadow: 0 0 10px rgba(0,0,0,.2); animation: fsd-pic 12s ease-in-out infinite alternate; }
.scn-father-and-son-divide .fsd-shadow { position:absolute; bottom:30%; left:10%; width:30%; height:4px; background: rgba(0,0,0,.1); filter: blur(3px); animation: fsd-shad 8s ease-in-out infinite; }
@keyframes fsd-fig { 0% { transform: translateY(0) rotate(-1deg); } 25% { transform: translateY(-2px) rotate(1deg); } 50% { transform: translateY(0) rotate(0); } 75% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes fsd-pic { 0% { transform: rotate(0); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }
@keyframes fsd-shad { 0% { opacity: .6; transform: scaleX(1); } 50% { opacity: .9; transform: scaleX(1.2); } 100% { opacity: .6; transform: scaleX(1); } }

/* father-reflections */
.scn-father-reflections {
  background: linear-gradient(180deg, #e2d3b6 0%, #c9b694 50%, #b09d7a 100%), radial-gradient(ellipse at 30% 50%, #f2e3cc 0%, transparent 60%);
}
.scn-father-reflections .fref-bg       { position:absolute; inset:0; background: linear-gradient(135deg, #d6c5a5 0%, #b8a588 100%); }
.scn-father-reflections .fref-armchair { position:absolute; bottom:10%; left:20%; width:120px; height:80px; background: linear-gradient(180deg, #6b4e3a 0%, #503a2a 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow: inset 0 -10px 20px rgba(0,0,0,.3), 0 8px 12px rgba(0,0,0,.2); animation: fref-chair 10s ease-in-out infinite; }
.scn-father-reflections .fref-head     { position:absolute; bottom:38%; left:38%; width:30px; height:36px; background: radial-gradient(ellipse 50% 70%, #2b241e 0%, #1a1512 100%); border-radius:50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; animation: fref-head 5s ease-in-out infinite; }
.scn-father-reflections .fref-lamp     { position:absolute; bottom:36%; left:10%; width:6px; height:30px; background: linear-gradient(180deg, #c7a05a 0%, #a07d40 100%); border-radius:3px; transform: rotate(-10deg); }
.scn-father-reflections .fref-lamp::after { content:''; position:absolute; top:-6px; left:-4px; width:14px; height:14px; background: radial-gradient(circle, #ffd28a 0%, #e6b05a 50%, transparent 100%); border-radius:50%; animation: fref-lamp 3s ease-in-out infinite alternate; }
.scn-father-reflections .fref-clock    { position:absolute; top:10%; right:15%; width:40px; height:40px; border-radius:50%; background: radial-gradient(circle, #d4c4a8 0%, #a18c70 70%); box-shadow: 0 0 10px rgba(0,0,0,.2); animation: fref-clock 2s linear infinite; }
.scn-father-reflections .fref-glow     { position:absolute; bottom:20%; left:5%; width:100px; height:100px; background: radial-gradient(circle, rgba(255,210,138,.15) 0%, transparent 70%); animation: fref-glow 4s ease-in-out infinite alternate; }
@keyframes fref-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes fref-head { 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 fref-lamp { 0% { opacity: .8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } 100% { opacity: .9; transform: scale(1); } }
@keyframes fref-clock { 0% { transform: rotate(0); } 25% { transform: rotate(90deg); } 50% { transform: rotate(180deg); } 75% { transform: rotate(270deg); } 100% { transform: rotate(360deg); } }
@keyframes fref-glow { 0% { opacity: .5; transform: scale(1); } 50% { opacity: .8; transform: scale(1.1); } 100% { opacity: .6; transform: scale(1); } }

/* will-reading */
.scn-will-reading {
  background: linear-gradient(180deg, #dccfb8 0%, #c2b398 50%, #a89578 100%), radial-gradient(ellipse at 80% 40%, #f0e4d0 0%, transparent 60%);
}
.scn-will-reading .wr-wall    { position:absolute; inset:0; background: linear-gradient(135deg, #e2d1b6 0%, #cbb896 100%); }
.scn-will-reading .wr-window  { position:absolute; top:10%; right:10%; width:90px; height:140px; background: linear-gradient(180deg, #c2dae8 0%, #87aec4 100%); border-radius:4px; box-shadow: inset 0 0 20px rgba(255,255,255,.5), 0 0 40px rgba(135,174,196,.3); animation: wr-win 8s ease-in-out infinite alternate; }
.scn-will-reading .wr-table   { position:absolute; bottom:20%; left:20%; width:180px; height:12px; background: linear-gradient(90deg, #7d6a52 0%, #a48c6e 50%, #7d6a52 100%); border-radius:2px; box-shadow: 0 6px 10px rgba(0,0,0,.2); }
.scn-will-reading .wr-chair   { position:absolute; bottom:22%; left:55%; width:40px; height:50px; background: linear-gradient(180deg, #6d4f39 0%, #523a28 100%); border-radius:20% 20% 10% 10% / 40% 40% 20% 20%; animation: wr-chair 6s ease-in-out infinite; }
.scn-will-reading .wr-figure1 { position:absolute; bottom:26%; left:25%; width:30px; height:70px; background: linear-gradient(180deg, #3e352c 0%, #231d17 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wr-fig1 5s ease-in-out infinite; }
.scn-will-reading .wr-figure2 { position:absolute; bottom:22%; left:60%; width:26px; height:60px; background: linear-gradient(180deg, #3a3129 0%, #201b16 100%); border-radius:50% 50% 40% 40% / 70% 70% 40% 40%; transform-origin: bottom center; animation: wr-fig2 5s ease-in-out infinite reverse; }
.scn-will-reading .wr-doc     { position:absolute; bottom:28%; left:35%; width:50px; height:8px; background: linear-gradient(90deg, #ece1ca 0%, #f5edd9 50%, #e3d5bb 100%); border-radius:2px; transform: rotate(-3deg); animation: wr-doc 7s ease-in-out infinite alternate; }
@keyframes wr-win { 0% { opacity: .8; } 50% { opacity: 1; } 100% { opacity: .75; } }
@keyframes wr-chair { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wr-fig1 { 0% { transform: translateX(0) rotate(-1deg); } 25% { transform: translateX(3px) rotate(1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes wr-fig2 { 0% { transform: translateX(0) rotate(1deg); } 25% { transform: translateX(-3px) rotate(-1deg); } 50% { transform: translateX(0) rotate(0); } 75% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes wr-doc { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }

/* Scene 1: crime-and-poverty */
.scn-crime-and-poverty {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #d4c4a8 40%, #b8a88a 100%),
    radial-gradient(ellipse at 70% 20%, #fff8e0 0%, #c8b898 60%);
}
.scn-crime-and-poverty .window-frame {
  position: absolute; top: 8%; left: 5%; width: 35%; height: 55%;
  border: 6px solid #7a6a5a; background: #8a7a6a; border-radius: 4px;
  box-shadow: inset 0 0 0 2px #5a4a3a;
}
.scn-crime-and-poverty .window-pane {
  position: absolute; top: 10%; left: 8%; width: 32%; height: 50%;
  background: linear-gradient(135deg, #c0e0f0 0%, #a0c0d0 40%, #80a0b0 100%);
  opacity: 0.5; animation: cp1-pane 8s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .desk {
  position: absolute; bottom: 12%; left: 15%; width: 60%; height: 30%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
  animation: cp1-desk 12s ease-in-out infinite;
}
.scn-crime-and-poverty .lamp {
  position: absolute; bottom: 40%; left: 25%; width: 24px; height: 40px;
  background: linear-gradient(180deg, #c0a060 0%, #806040 100%);
  border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%;
  box-shadow: 0 0 30px 10px #e0c070, 0 0 60px 20px rgba(224,192,112,0.3);
  animation: cp1-lamp 3s ease-in-out infinite alternate;
}
.scn-crime-and-poverty .papers {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 12%;
  background: linear-gradient(135deg, #f8f0e0 0%, #e8dcc8 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: cp1-papers 6s ease-in-out infinite;
}
.scn-crime-and-poverty .figure-sit {
  position: absolute; bottom: 15%; left: 42%; width: 20px; height: 50px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center; animation: cp1-sit 5s ease-in-out infinite;
}
.scn-crime-and-poverty .coat-hook {
  position: absolute; top: 10%; right: 15%; width: 6px; height: 40px;
  background: #6a5a4a; border-radius: 50%; box-shadow: 0 20px 0 2px #4a3a2a;
  animation: cp1-coat 10s ease-in-out infinite alternate;
}
@keyframes cp1-pane { 0% { opacity:0.4; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.02); } 100% { opacity:0.5; transform: scale(1); } }
@keyframes cp1-desk { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes cp1-lamp { 0% { box-shadow:0 0 20px 6px #e0c070,0 0 40px 12px rgba(224,192,112,0.3); opacity:0.8; } 50% { box-shadow:0 0 40px 14px #f0d080,0 0 80px 24px rgba(240,208,128,0.5); opacity:1; } 100% { box-shadow:0 0 25px 8px #e0c070,0 0 50px 16px rgba(224,192,112,0.3); opacity:0.9; } }
@keyframes cp1-papers { 0% { transform: rotate(0deg); } 25% { transform: rotate(1deg); } 50% { transform: rotate(-1deg); } 75% { transform: rotate(0.5deg); } 100% { transform: rotate(0deg); } }
@keyframes cp1-sit { 0% { transform: translateY(0) rotate(-2deg); } 33% { transform: translateY(-1px) rotate(1deg); } 66% { transform: translateY(0) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cp1-coat { 0% { transform: rotate(0deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(0deg); } }

/* Scene 2: tea-and-necessity */
.scn-tea-and-necessity {
  background:
    linear-gradient(135deg, #fdf4e8 0%, #e8dcc8 50%, #c8b898 100%),
    radial-gradient(circle at 80% 30%, #fff0d0 0%, #d8c8a0 70%);
}
.scn-tea-and-necessity .wall-back {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #f0e4d0 0%, #d8c8a8 100%);
  animation: tn2-wall 10s ease-in-out infinite alternate;
}
.scn-tea-and-necessity .table {
  position: absolute; bottom: 10%; left: 10%; width: 80%; height: 30%;
  background: linear-gradient(180deg, #7a5a4a 0%, #5a3a2a 100%);
  border-radius: 8px 8px 0 0; box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
}
.scn-tea-and-necessity .kettle {
  position: absolute; bottom: 32%; left: 35%; width: 30px; height: 35px;
  background: linear-gradient(180deg, #b0a090 0%, #807060 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: tn2-kettle 4s ease-in-out infinite;
}
.scn-tea-and-necessity .steam {
  position: absolute; bottom: 48%; left: 37%; width: 10px; height: 20px;
  background: radial-gradient(ellipse, rgba(255,255,255,0.6) 0%, transparent 100%);
  filter: blur(4px); animation: tn2-steam 3s ease-in-out infinite alternate;
}
.scn-tea-and-necessity .teacup {
  position: absolute; bottom: 22%; right: 30%; width: 18px; height: 14px;
  background: linear-gradient(135deg, #f8f0e0 0%, #e0d0b0 100%);
  border-radius: 0 0 30% 30% / 0 0 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: tn2-cup 5s ease-in-out infinite;
}
.scn-tea-and-necessity .figure-pour {
  position: absolute; bottom: 15%; left: 25%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2a1a1a 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center;
  animation: tn2-pour 6s ease-in-out infinite;
}
.scn-tea-and-necessity .cat {
  position: absolute; bottom: 12%; right: 20%; width: 20px; height: 14px;
  background: linear-gradient(135deg, #8a6a5a 0%, #6a4a3a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: tn2-cat 8s ease-in-out infinite alternate;
}
@keyframes tn2-wall { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes tn2-kettle { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tn2-steam { 0% { opacity:0.3; transform: translateY(0) scaleY(1); } 50% { opacity:0.7; transform: translateY(-12px) scaleY(1.5); } 100% { opacity:0.4; transform: translateY(-8px) scaleY(1.2); } }
@keyframes tn2-cup { 0% { transform: rotate(0deg); } 33% { transform: rotate(1deg); } 66% { transform: rotate(-1deg); } 100% { transform: rotate(0deg); } }
@keyframes tn2-pour { 0% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-1px) rotate(1deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-1px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tn2-cat { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(4px) scale(1.05); } 100% { transform: translateX(0) scale(1); } }

/* Scene 3: necessity-and-law */
.scn-necessity-and-law {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 50%, #b8a88a 100%),
    radial-gradient(ellipse at 30% 40%, #fdf0e0 0%, #c8b898 70%);
}
.scn-necessity-and-law .shelf {
  position: absolute; top: 8%; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #6a5a4a 0%, #5a4a3a 100%);
  border-radius: 0 0 10% 10% / 0 0 20% 20%;
  box-shadow: inset 0 -4px 8px rgba(0,0,0,0.3);
}
.scn-necessity-and-law .books {
  position: absolute; top: 12%; left: 10%; width: 70%; height: 30%;
  background: repeating-linear-gradient(
    90deg,
    #a04030 0px, #a04030 8px,
    #3a6a4a 8px, #3a6a4a 16px,
    #605030 16px, #605030 24px,
    #8a6a5a 24px, #8a6a5a 32px
  );
  border-radius: 4px; opacity: 0.9; animation: nl3-books 12s ease-in-out infinite alternate;
}
.scn-necessity-and-law .desk-heavy {
  position: absolute; bottom: 10%; left: 5%; width: 90%; height: 35%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 10px 10px 0 0; box-shadow: 0 -6px 12px rgba(0,0,0,0.4);
}
.scn-necessity-and-law .gavel {
  position: absolute; bottom: 40%; left: 60%; width: 12px; height: 18px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3a2a 100%);
  border-radius: 20% 20% 40% 40% / 30% 30% 50% 50%;
  transform-origin: bottom center; animation: nl3-gavel 2s ease-in-out infinite;
}
.scn-necessity-and-law .bell {
  position: absolute; bottom: 42%; left: 30%; width: 14px; height: 14px;
  background: linear-gradient(135deg, #c0a060 0%, #a08040 100%);
  border-radius: 50%; box-shadow: 0 0 8px 2px #d0b070;
  animation: nl3-bell 4s ease-in-out infinite alternate;
}
.scn-necessity-and-law .figure-stand {
  position: absolute; bottom: 12%; left: 45%; width: 20px; 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: nl3-stand 7s ease-in-out infinite;
}
.scn-necessity-and-law .shadow-bar {
  position: absolute; bottom: 48%; left: 0; right: 0; height: 8px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.2), transparent);
  filter: blur(2px); animation: nl3-bar 9s linear infinite;
}
@keyframes nl3-books { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes nl3-gavel { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-5deg) translateY(-1px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(5deg) translateY(-1px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes nl3-bell { 0% { box-shadow:0 0 6px 1px #d0b070; transform: scale(1); } 50% { box-shadow:0 0 20px 6px #e0c080; transform: scale(1.1); } 100% { box-shadow:0 0 8px 2px #d0b070; transform: scale(1); } }
@keyframes nl3-stand { 0% { transform: translateX(0) rotate(-1deg); } 33% { transform: translateX(3px) rotate(1deg); } 66% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes nl3-bar { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }

/* Scene 4: shakspere-and-syrus */
.scn-shakspere-and-syrus {
  background:
    linear-gradient(135deg, #fdf4e0 0%, #e8dcc0 50%, #d4c4a0 100%),
    radial-gradient(circle at 20% 80%, #fff8e8 0%, #d8c8a0 70%);
}
.scn-shakspere-and-syrus .bookcase {
  position: absolute; top: 5%; left: 5%; width: 45%; height: 80%;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 6px; box-shadow: inset 0 0 0 4px #4a3a2a;
  animation: ss4-case 15s ease-in-out infinite alternate;
}
.scn-shakspere-and-syrus .floating-books {
  position: absolute; top: 15%; left: 10%; width: 35%; height: 50%;
  background: 
    radial-gradient(ellipse at 20% 30%, #a05040 12px, transparent 12px),
    radial-gradient(ellipse at 50% 60%, #4a7a3a 10px, transparent 10px),
    radial-gradient(ellipse at 80% 20%, #705030 14px, transparent 14px);
  animation: ss4-float 6s ease-in-out infinite;
}
.scn-shakspere-and-syrus .figure-left {
  position: absolute; bottom: 15%; left: 25%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center; animation: ss4-left 4s ease-in-out infinite;
}
.scn-shakspere-and-syrus .figure-right {
  position: absolute; bottom: 15%; right: 25%; width: 22px; height: 55px;
  background: linear-gradient(180deg, #2a2a1a 0%, #0a0a00 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 40% 40%;
  transform-origin: bottom center; animation: ss4-right 4s ease-in-out infinite reverse;
}
.scn-shakspere-and-syrus .speech-curl {
  position: absolute; bottom: 55%; left: 40%; width: 60px; height: 30px;
  background: radial-gradient(ellipse, rgba(200,180,140,0.4) 0%, transparent 100%);
  border-radius: 50%; filter: blur(8px);
  animation: ss4-curl 5s ease-in-out infinite alternate;
}
.scn-shakspere-and-syrus .lamp-fun {
  position: absolute; top: 10%; right: 15%; width: 20px; height: 30px;
  background: linear-gradient(180deg, #d0b060 0%, #806030 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 0 0 40px 12px #e0c070, 0 0 80px 20px rgba(224,192,112,0.2);
  animation: ss4-lamp 2s ease-in-out infinite alternate;
}
.scn-shakspere-and-syrus .quill {
  position: absolute; bottom: 30%; left: 50%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #f0e0c0 0%, #d0b890 100%);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  transform-origin: bottom center; animation: ss4-quill 3s ease-in-out infinite;
}
@keyframes ss4-case { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } 100% { transform: scaleY(1); } }
@keyframes ss4-float { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-8px) rotate(3deg); } 50% { transform: translateY(-4px) rotate(-2deg); } 75% { transform: translateY(-12px) rotate(4deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ss4-left { 0% { transform: translateX(0) rotate(-2deg); } 33% { transform: translateX(5px) rotate(2deg); } 66% { transform: translateX(-3px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ss4-right { 0% { transform: translateX(0) rotate(2deg); } 33% { transform: translateX(-5px) rotate(-2deg); } 66% { transform: translateX(3px) rotate(1deg); } 100% { transform: translateX(0) rotate(0); } }
@keyframes ss4-curl { 0% { opacity:0.2; transform: scale(0.8); } 50% { opacity:0.6; transform: scale(1.2); } 100% { opacity:0.3; transform: scale(0.9); } }
@keyframes ss4-lamp { 0% { box-shadow:0 0 20px 6px #e0c070,0 0 40px 12px rgba(224,192,112,0.2); opacity:0.9; } 50% { box-shadow:0 0 50px 18px #f0e080,0 0 100px 30px rgba(240,224,128,0.4); opacity:1; } 100% { box-shadow:0 0 25px 8px #e0c070,0 0 50px 16px rgba(224,192,112,0.2); opacity:0.9; } }
@keyframes ss4-quill { 0% { transform: rotate(-10deg) translateY(0); } 25% { transform: rotate(-5deg) translateY(-2px); } 50% { transform: rotate(5deg) translateY(0); } 75% { transform: rotate(0deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(0); } }

/* scene 1: hogan-retained-for-fee (dim interior, dark mood) */
.scn-hogan-retained-for-fee {
  background: 
    linear-gradient(180deg, #1a1212 0%, #2d1f1f 40%, #1e1414 100%),
    radial-gradient(ellipse at 50% 100%, #3a2828 0%, transparent 70%);
}
.scn-hogan-retained-for-fee .bg    { position:absolute; inset:0; background: linear-gradient(180deg, #1a1515 0%, #2a1e1e 60%, #0e0a0a 100%); animation: hrf-bg 12s ease-in-out infinite alternate; }
.scn-hogan-retained-for-fee .wall  { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #3d2b2b 0%, #2a1e1e 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 10px 30px rgba(0,0,0,.5); }
.scn-hogan-retained-for-fee .desk  { position:absolute; bottom:20%; left:30%; right:30%; height:12%; background: linear-gradient(180deg, #4a3535 0%, #2a1e1e 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 8px 16px rgba(0,0,0,.6); animation: hrf-desk 9s ease-in-out infinite; }
.scn-hogan-retained-for-fee .lamp-glow { position:absolute; bottom:32%; left:42%; width:18px; height:24px; background: radial-gradient(circle, #d9a060 0%, #b07030 60%, transparent 100%); border-radius: 50%; box-shadow: 0 0 30px 10px #b07030, 0 0 60px 20px rgba(176,112,48,.4); animation: hrf-lamp 4s ease-in-out infinite alternate; }
.scn-hogan-retained-for-fee .figure-sit { position:absolute; bottom:24%; left:48%; width:32px; height:48px; background: linear-gradient(180deg, #2a1e1e 0%, #0e0a0a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%; transform-origin: bottom center; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: hrf-figure 6s ease-in-out infinite; }
.scn-hogan-retained-for-fee .mattress { position:absolute; bottom:12%; left:20%; right:20%; height:14%; background: linear-gradient(180deg, #5a4040 0%, #3a2828 60%, #1e1414 100%); border-radius: 8% 8% 4% 4%; box-shadow: inset 0 4px 12px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.3); animation: hrf-mattress 8s ease-in-out infinite; }
.scn-hogan-retained-for-fee .coins  { position:absolute; bottom:18%; left:25%; width:20px; height:6px; background: radial-gradient(ellipse, #c8a860 0%, #8a6a30 100%); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); animation: hrf-coins 5s ease-in-out infinite; }
.scn-hogan-retained-for-fee .shadow { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(0deg, rgba(0,0,0,.6) 0%, transparent 100%);}
@keyframes hrf-bg      { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes hrf-desk    { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes hrf-lamp    { 0% { box-shadow: 0 0 20px 6px #b07030, 0 0 40px 12px rgba(176,112,48,.3); opacity:.85 } 50% { box-shadow: 0 0 35px 12px #d9a060, 0 0 70px 24px rgba(217,160,96,.5); opacity:1 } 100% { box-shadow: 0 0 25px 8px #b07030, 0 0 50px 16px rgba(176,112,48,.35); opacity:.9 } }
@keyframes hrf-figure  { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 25% { transform: translateX(3px) translateY(-1px) rotate(0) } 50% { transform: translateX(-2px) translateY(0) rotate(1deg) } 75% { transform: translateX(4px) translateY(-1px) rotate(-0.5deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes hrf-mattress { 0%,100% { transform: translateY(0) scale(1) } 50% { transform: translateY(-1px) scale(1.01) } }
@keyframes hrf-coins   { 0% { transform: scale(1) rotate(0deg) } 50% { transform: scale(1.05) rotate(5deg) } 100% { transform: scale(1) rotate(0deg) } }

/* scene 2: delany-threatened-by-hogan (dim interior, dark mood) */
.scn-delany-threatened-by-hogan {
  background: 
    linear-gradient(180deg, #1a1410 0%, #2a1e1a 40%, #0e0a08 100%),
    radial-gradient(ellipse at 50% 80%, #3a2822 0%, transparent 70%);
}
.scn-delany-threatened-by-hogan .bg    { position:absolute; inset:0; background: linear-gradient(180deg, #1e1814 0%, #2a1e1a 60%, #0e0a08 100%); animation: dth-bg 15s ease-in-out infinite alternate; }
.scn-delany-threatened-by-hogan .wall  { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #3a2a24 0%, #1e1814 100%); border-radius: 0 0 30% 30% / 0 0 15% 15%; box-shadow: inset 0 10px 25px rgba(0,0,0,.6); }
.scn-delany-threatened-by-hogan .figure-left  { position:absolute; bottom:20%; left:30%; width:28px; height:60px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: dth-figure-left 4s ease-in-out infinite; }
.scn-delany-threatened-by-hogan .figure-right { position:absolute; bottom:20%; right:30%; width:30px; height:62px; background: linear-gradient(180deg, #2a1e1a 0%, #0e0a08 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: dth-figure-right 4.2s ease-in-out infinite; }
.scn-delany-threatened-by-hogan .shadow-floor { position:absolute; bottom:0; left:10%; right:10%; height:8%; background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, transparent 100%); border-radius: 50%; animation: dth-shadow 5s ease-in-out infinite; }
.scn-delany-threatened-by-hogan .cigar  { position:absolute; bottom:36%; right:38%; width:24px; height:8px; background: linear-gradient(90deg, #8a6a4a 0%, #5a3a2a 100%); border-radius: 50% 20% 20% 50%; box-shadow: 0 0 8px 2px rgba(200,100,40,.3); animation: dth-cigar 3s ease-in-out infinite; }
@keyframes dth-bg      { 0% { opacity:.85 } 50% { opacity:1 } 100% { opacity:.8 } }
@keyframes dth-figure-left  { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 30% { transform: translateX(4px) translateY(-2px) rotate(2deg) } 60% { transform: translateX(-2px) translateY(0) rotate(-2deg) } 100% { transform: translateX(0) translateY(0) rotate(1deg) } }
@keyframes dth-figure-right { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 30% { transform: translateX(-4px) translateY(-2px) rotate(-2deg) } 60% { transform: translateX(2px) translateY(0) rotate(2deg) } 100% { transform: translateX(0) translateY(0) rotate(-1deg) } }
@keyframes dth-shadow  { 0%,100% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(1.05) } }
@keyframes dth-cigar   { 0% { transform: translate(0,0) rotate(-5deg) } 50% { transform: translate(2px,-2px) rotate(5deg) } 100% { transform: translate(0,0) rotate(-5deg) } }

/* scene 3: asche-pressures-delany (dim interior, tense mood) */
.scn-asche-pressures-delany {
  background: 
    linear-gradient(180deg, #1a181c 0%, #2a2228 40%, #0e0c10 100%),
    radial-gradient(ellipse at 50% 100%, #3a3038 0%, transparent 70%);
}
.scn-asche-pressures-delany .bg    { position:absolute; inset:0; background: linear-gradient(180deg, #1e1c22 0%, #2a2228 60%, #0e0c10 100%); animation: apd-bg 10s ease-in-out infinite alternate; }
.scn-asche-pressures-delany .window{ position:absolute; top:10%; right:10%; width:30%; height:35%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); border: 2px solid #5a4a3a; border-radius: 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.8), 0 0 10px rgba(0,0,0,.3); animation: apd-window 8s ease-in-out infinite; }
.scn-asche-pressures-delany .brick  { position:absolute; top:30%; right:25%; width:16px; height:10px; background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%); border-radius: 4%; transform: rotate(-20deg); box-shadow: 0 2px 6px rgba(0,0,0,.5); animation: apd-brick 4s ease-in-out infinite; }
.scn-asche-pressures-delany .figure-left { position:absolute; bottom:18%; left:28%; width:30px; height:58px; background: linear-gradient(180deg, #2a2228 0%, #0e0c10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: apd-figureL 4.5s ease-in-out infinite; }
.scn-asche-pressures-delany .figure-right{ position:absolute; bottom:20%; right:26%; width:28px; height:60px; background: linear-gradient(180deg, #2a2228 0%, #0e0c10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: apd-figureR 4.8s ease-in-out infinite; }
.scn-asche-pressures-delany .desk   { position:absolute; bottom:16%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #4a3a32 0%, #2a1e1a 100%); border-radius: 6% 6% 3% 3%; box-shadow: 0 6px 12px rgba(0,0,0,.6); animation: apd-desk 9s ease-in-out infinite; }
.scn-asche-pressures-delany .shadow-wall { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, rgba(0,0,0,.5) 0%, transparent 100%);}
@keyframes apd-bg      { 0% { opacity:.8 } 50% { opacity:1 } 100% { opacity:.9 } }
@keyframes apd-window  { 0%,100% { opacity:.7; transform: scale(1) } 50% { opacity:1; transform: scale(0.98) } }
@keyframes apd-brick   { 0% { transform: translate(0,0) rotate(-20deg) } 50% { transform: translate(3px,-2px) rotate(-15deg) } 100% { transform: translate(0,0) rotate(-20deg) } }
@keyframes apd-figureL { 0% { transform: translateX(0) translateY(0) rotate(-2deg) } 30% { transform: translateX(2px) translateY(-2px) rotate(3deg) } 60% { transform: translateX(-2px) translateY(0) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(2deg) } }
@keyframes apd-figureR { 0% { transform: translateX(0) translateY(0) rotate(2deg) } 30% { transform: translateX(-2px) translateY(-2px) rotate(-3deg) } 60% { transform: translateX(2px) translateY(0) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(-2deg) } }
@keyframes apd-desk    { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }

/* scene 4: froelich-recants-testimony (bright interior, tense mood) */
.scn-froelich-recants-testimony {
  background: 
    linear-gradient(180deg, #e8e0d8 0%, #d0c8c0 40%, #c0b8b0 100%),
    radial-gradient(ellipse at 50% 0%, #f0e8e0 0%, transparent 70%);
}
.scn-froelich-recants-testimony .bg    { position:absolute; inset:0; background: linear-gradient(180deg, #f0e8e0 0%, #d8d0c8 60%, #c0b8b0 100%); animation: frt-bg 12s ease-in-out infinite alternate; }
.scn-froelich-recants-testimony .wall  { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #d8d0c8 0%, #c0b8b0 100%); border-radius: 0 0 20% 20% / 0 0 10% 10%; box-shadow: inset 0 8px 20px rgba(0,0,0,.15); }
.scn-froelich-recants-testimony .desk  { position:absolute; bottom:20%; left:25%; right:25%; height:14%; background: linear-gradient(180deg, #b8a898 0%, #907868 100%); border-radius: 4% 4% 2% 2%; box-shadow: 0 6px 12px rgba(0,0,0,.2); animation: frt-desk 8s ease-in-out infinite; }
.scn-froelich-recants-testimony .chair { position:absolute; bottom:22%; left:20%; width:20px; height:30px; background: linear-gradient(180deg, #907868 0%, #685848 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,.2); animation: frt-chair 7s ease-in-out infinite; }
.scn-froelich-recants-testimony .figure-left { position:absolute; bottom:20%; left:35%; width:28px; height:52px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: frt-figL 4s ease-in-out infinite; }
.scn-froelich-recants-testimony .figure-right { position:absolute; bottom:20%; right:35%; width:28px; height:50px; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: frt-figR 4.3s ease-in-out infinite; }
.scn-froelich-recants-testimony .papers { position:absolute; bottom:26%; left:45%; width:16px; height:20px; background: linear-gradient(180deg, #f0e8e0 0%, #d8d0c8 100%); transform: rotate(10deg); box-shadow: 0 2px 6px rgba(0,0,0,.2); animation: frt-papers 6s ease-in-out infinite; }
.scn-froelich-recants-testimony .light-streak { position:absolute; top:0; left:40%; width:20%; height:100%; background: linear-gradient(180deg, rgba(255,255,230,.15) 0%, rgba(255,255,230,0) 100%); transform: rotate(-15deg); animation: frt-streak 5s ease-in-out infinite alternate; }
@keyframes frt-bg      { 0% { opacity:.9 } 50% { opacity:1 } 100% { opacity:.85 } }
@keyframes frt-desk    { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-1px) } }
@keyframes frt-chair   { 0% { transform: rotate(0deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(0deg) } }
@keyframes frt-figL    { 0% { transform: translateX(0) translateY(0) rotate(-1deg) } 30% { transform: translateX(2px) translateY(-1px) rotate(1deg) } 60% { transform: translateX(-1px) translateY(0) rotate(-1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes frt-figR    { 0% { transform: translateX(0) translateY(0) rotate(1deg) } 30% { transform: translateX(-2px) translateY(-1px) rotate(-1deg) } 60% { transform: translateX(1px) translateY(0) rotate(1deg) } 100% { transform: translateX(0) translateY(0) rotate(0) } }
@keyframes frt-papers  { 0% { transform: rotate(10deg) translateY(0) } 50% { transform: rotate(12deg) translateY(-1px) } 100% { transform: rotate(10deg) translateY(0) } }
@keyframes frt-streak  { 0% { opacity:.2; transform: rotate(-15deg) scale(1) } 100% { opacity:.4; transform: rotate(-15deg) scale(1.05) } }

/* stranger-with-sick-horse */
.scn-stranger-with-sick-horse {
  background:
    linear-gradient(180deg, #c86a3a 0%, #e8a85a 40%, #f0dcb0 80%, #fff5e6 100%),
    radial-gradient(ellipse at 30% 50%, #c86a3a 0%, transparent 60%);
}
.scn-stranger-with-sick-horse .dawn-sky {
  position:absolute; inset:0 0 55% 0;
  background: linear-gradient(180deg, #b84a2a 0%, #e89a4a 40%, #fedc90 80%, #fff5e6 100%);
  animation: sh-sky 8s ease-in-out infinite alternate;
}
.scn-stranger-with-sick-horse .far-horizon {
  position:absolute; bottom:55%; left:0; right:0; height:12%;
  background: linear-gradient(180deg, #8a6a3a 0%, #6a4a2a 100%);
  border-radius: 60% 40% 0 0 / 40% 30% 0 0;
  animation: sh-horizon 12s ease-in-out infinite alternate;
}
.scn-stranger-with-sick-horse .ground {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 40%, #3a2010 100%);
}
.scn-stranger-with-sick-horse .wagon {
  position:absolute; bottom:30%; left:15%; width:34%; height:28%;
  background: linear-gradient(135deg, #5a3a1a 0%, #3a2010 100%);
  border-radius: 10% / 20% 20% 10% 10%;
  box-shadow: 4px 8px 12px rgba(0,0,0,0.6);
  animation: sh-wagon 6s ease-in-out infinite;
}
.scn-stranger-with-sick-horse .horse {
  position:absolute; bottom:32%; left:48%; width:30%; height:38%;
  background: radial-gradient(ellipse at 40% 40%, #8a6a4a 0%, #4a3020 70%);
  border-radius: 50% 40% 20% 20% / 60% 50% 30% 30%;
  transform-origin: bottom center;
  animation: sh-horse 5s ease-in-out infinite;
}
.scn-stranger-with-sick-horse .stranger {
  position:absolute; bottom:26%; left:6%; width:12%; height:30%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sh-stranger 4s ease-in-out infinite alternate;
}
.scn-stranger-with-sick-horse .breath {
  position:absolute; bottom:38%; left:10%; width:20%; height:10%;
  background: radial-gradient(ellipse, rgba(255,230,200,0.6) 0%, transparent 70%);
  filter: blur(4px);
  animation: sh-breath 3s ease-in-out infinite;
}
.scn-stranger-with-sick-horse .dust-a {
  position:absolute; bottom:20%; left:10%; width:5%; height:5%;
  background: rgba(180,140,80,0.4);
  border-radius: 50%;
  filter: blur(2px);
  animation: sh-dust 10s linear infinite;
}
.scn-stranger-with-sick-horse .dust-b {
  position:absolute; bottom:18%; left:30%; width:7%; height:7%;
  background: rgba(180,140,80,0.3);
  border-radius: 50%;
  filter: blur(3px);
  animation: sh-dust 13s linear infinite 5s;
}
@keyframes sh-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes sh-horizon { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }
@keyframes sh-wagon { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(0.5deg); } }
@keyframes sh-horse { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(-2deg) scaleX(0.98); } }
@keyframes sh-stranger { 0% { transform: translateX(0) rotate(-3deg); } 50% { transform: translateX(10px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes sh-breath { 0% { opacity:0.2; transform: scale(1); } 50% { opacity:0.7; transform: scale(1.3); } 100% { opacity:0.2; transform: scale(1); } }
@keyframes sh-dust { 0% { transform: translateY(0) scale(1); opacity:0; } 20% { opacity:0.6; } 80% { opacity:0.6; } 100% { transform: translateY(-30px) scale(2); opacity:0; } }

/* doctor-simon-trap */
.scn-doctor-simon-trap {
  background:
    linear-gradient(180deg, #4a3a2a 0%, #6a5040 40%, #8a7050 80%, #b09060 100%),
    radial-gradient(ellipse at 70% 40%, #6a5040 0%, transparent 70%);
}
.scn-doctor-simon-trap .stable-wall {
  position:absolute; inset:0 20% 0 0;
  background: linear-gradient(180deg, #3a2a1a 0%, #5a4030 70%, #3a2a1a 100%);
  box-shadow: inset -10px 0 20px rgba(0,0,0,0.5);
}
.scn-doctor-simon-trap .doorway {
  position:absolute; top:20%; left:30%; width:40%; height:80%;
  background: #1a1008;
  border-radius: 0 0 20% 20% / 0 0 10% 10%;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.scn-doctor-simon-trap .horse-rump {
  position:absolute; bottom:18%; left:80%; width:20%; height:35%;
  background: radial-gradient(ellipse at 40% 30%, #8a6a4a 0%, #5a4030 80%);
  border-radius: 30% 40% 20% 20% / 40% 50% 20% 20%;
  animation: dt-horse 5s ease-in-out infinite;
}
.scn-doctor-simon-trap .doctor {
  position:absolute; bottom:22%; left:28%; width:16%; height:36%;
  background: linear-gradient(180deg, #3a2a20 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dt-doc 4s ease-in-out infinite alternate;
}
.scn-doctor-simon-trap .danny {
  position:absolute; bottom:20%; left:12%; width:14%; height:32%;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0800 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: dt-danny 4.5s ease-in-out infinite alternate;
}
.scn-doctor-simon-trap .hay {
  position:absolute; bottom:10%; left:40%; width:50%; height:12%;
  background: radial-gradient(ellipse, #b09050 0%, #8a7030 50%, transparent 100%);
  border-radius: 30% 40% 20% 20%;
  filter: blur(3px);
  animation: dt-hay 8s ease-in-out infinite;
}
.scn-doctor-simon-trap .lantern {
  position:absolute; top:20%; left:60%; width:6%; height:8%;
  background: radial-gradient(circle, #ffd080 0%, #c08040 70%);
  border-radius: 30%;
  box-shadow: 0 0 30px 10px #ffd080, 0 0 60px 20px rgba(255,208,128,0.4);
  animation: dt-lantern 3s ease-in-out infinite alternate;
}
.scn-doctor-simon-trap .beam {
  position:absolute; top:28%; left:60%; width:40%; height:5%;
  background: linear-gradient(90deg, rgba(255,200,100,0.5) 0%, transparent 100%);
  filter: blur(4px);
  transform-origin: left center;
  animation: dt-beam 4s ease-in-out infinite alternate;
}
@keyframes dt-horse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes dt-doc { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes dt-danny { 0% { transform: translateY(0) skewX(0deg); } 50% { transform: translateY(-2px) skewX(2deg); } 100% { transform: translateY(0) skewX(0deg); } }
@keyframes dt-hay { 0%,100% { opacity:0.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } }
@keyframes dt-lantern { 0% { opacity:0.8; box-shadow: 0 0 20px 8px #ffd080,0 0 40px 15px rgba(255,208,128,0.3); } 50% { opacity:1; box-shadow: 0 0 40px 15px #ffd080,0 0 80px 30px rgba(255,208,128,0.6); } 100% { opacity:0.9; box-shadow: 0 0 25px 10px #ffd080,0 0 50px 20px rgba(255,208,128,0.4); } }
@keyframes dt-beam { 0% { transform: rotate(-5deg) scaleY(1); opacity:0.4; } 50% { transform: rotate(5deg) scaleY(1.2); opacity:0.7; } 100% { transform: rotate(-5deg) scaleY(1); opacity:0.4; } }

/* simon-offers-trade */
.scn-simon-offers-trade {
  background:
    linear-gradient(180deg, #5a4a3a 0%, #7a6040 40%, #a08050 80%, #c0a060 100%),
    radial-gradient(ellipse at 40% 30%, #7a6040 0%, transparent 60%);
}
.scn-simon-offers-trade .shed-bg {
  position:absolute; inset:0 30% 0 0;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4030 100%);
  box-shadow: inset -8px 0 15px rgba(0,0,0,0.5);
}
.scn-simon-offers-trade .post {
  position:absolute; bottom:40%; left:28%; width:4%; height:60%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1810 100%);
  border-radius: 0 0 20% 20%;
  box-shadow: 2px 0 4px rgba(0,0,0,0.4);
  animation: ot-post 8s ease-in-out infinite alternate;
}
.scn-simon-offers-trade .simon {
  position:absolute; bottom:20%; left:22%; width:18%; height:38%;
  background: linear-gradient(180deg, #3a2a20 0%, #1a1008 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ot-simon 5s ease-in-out infinite alternate;
}
.scn-simon-offers-trade .danny-alt {
  position:absolute; bottom:22%; left:6%; width:16%; height:34%;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ot-danny 4s ease-in-out infinite;
}
.scn-simon-offers-trade .horse-head {
  position:absolute; bottom:38%; left:48%; width:22%; height:25%;
  background: radial-gradient(ellipse at 50% 40%, #8a6a4a 0%, #4a3020 80%);
  border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: ot-head 6s ease-in-out infinite;
}
.scn-simon-offers-trade .coin {
  position:absolute; bottom:32%; left:18%; width:6%; height:6%;
  background: radial-gradient(circle, #ffd080 0%, #b08030 80%);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: ot-coin 4s ease-in-out infinite;
}
.scn-simon-offers-trade .shadow-bar {
  position:absolute; bottom:0; left:0; right:0; height:10%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
}
.scn-simon-offers-trade .motes {
  position:absolute; top:10%; left:10%; width:80%; height:80%;
  background: radial-gradient(circle at 20% 30%, rgba(200,180,120,0.2) 0%, transparent 40%),
              radial-gradient(circle at 80% 50%, rgba(200,180,120,0.15) 0%, transparent 30%);
  filter: blur(8px);
  animation: ot-motes 12s ease-in-out infinite alternate;
}
@keyframes ot-post { 0% { transform: translateX(0); } 50% { transform: translateX(-2px); } 100% { transform: translateX(0); } }
@keyframes ot-simon { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes ot-danny { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(-2deg); } 75% { transform: translateY(-1px) rotate(1deg); } }
@keyframes ot-head { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-4px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ot-coin { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.1); opacity:0.9; } 100% { transform: translateY(0) scale(1); } }
@keyframes ot-motes { 0% { opacity:0.3; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.05); } 100% { opacity:0.2; transform: scale(0.95); } }

/* danny-arrested */
.scn-danny-arrested {
  background:
    linear-gradient(180deg, #c0a060 0%, #e0c080 40%, #f0e0b0 80%, #ffffe0 100%),
    radial-gradient(ellipse at 60% 30%, #e0c080 0%, transparent 60%);
}
.scn-danny-arrested .morning-sky {
  position:absolute; inset:0 0 60% 0;
  background: linear-gradient(180deg, #b0a070 0%, #d0c090 40%, #f0e0b0 80%, #ffffe0 100%);
  animation: ar-sky 8s ease-in-out infinite alternate;
}
.scn-danny-arrested .distant-trees {
  position:absolute; bottom:55%; left:0; right:0; height:12%;
  background: linear-gradient(180deg, #5a4a30 0%, #3a2a18 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  animation: ar-trees 12s ease-in-out infinite alternate;
}
.scn-danny-arrested .street {
  position:absolute; bottom:0; left:0; right:0; height:55%;
  background: linear-gradient(180deg, #b0a060 0%, #8a7a4a 40%, #6a5a30 100%);
}
.scn-danny-arrested .danny-fig {
  position:absolute; bottom:22%; left:20%; width:15%; height:34%;
  background: linear-gradient(180deg, #2a1a10 0%, #0a0000 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar-danny 4s ease-in-out infinite alternate;
}
.scn-danny-arrested .officer {
  position:absolute; bottom:20%; left:44%; width:18%; height:38%;
  background: linear-gradient(180deg, #3a3020 0%, #1a0e00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ar-officer 5s ease-in-out infinite;
}
.scn-danny-arrested .handcuff {
  position:absolute; bottom:40%; left:36%; width:8%; height:6%;
  background: radial-gradient(circle, #c0b080 0%, #8a7050 80%);
  border-radius: 30%;
  box-shadow: 0 0 6px rgba(0,0,0,0.6);
  animation: ar-cuff 3s ease-in-out infinite;
}
.scn-danny-arrested .badge {
  position:absolute; bottom:50%; left:48%; width:5%; height:5%;
  background: radial-gradient(circle, #ffd080 0%, #b08040 80%);
  border-radius: 50%;
  box-shadow: 0 0 8px 2px rgba(255,208,128,0.6);
  animation: ar-badge 2s ease-in-out infinite alternate;
}
.scn-danny-arrested .wagon-shadow {
  position:absolute; bottom:0; left:55%; width:40%; height:8%;
  background: linear-gradient(90deg, rgba(0,0,0,0.4) 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ar-shadow 8s ease-in-out infinite;
}
.scn-danny-arrested .dust-mot {
  position:absolute; bottom:10%; left:30%; width:4%; height:4%;
  background: rgba(180,140,80,0.3);
  border-radius: 50%;
  filter: blur(2px);
  animation: ar-dust 15s linear infinite;
}
@keyframes ar-sky { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.8; } }
@keyframes ar-trees { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.95); } 100% { transform: scaleY(1); } }
@keyframes ar-danny { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(5px) rotate(-2deg); } 100% { transform: translateX(0) rotate(1deg); } }
@keyframes ar-officer { 0%,100% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(2deg); } 75% { transform: translateY(-1px) rotate(-1deg); } }
@keyframes ar-cuff { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(5deg) scale(1.1); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes ar-badge { 0% { opacity:0.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.2); box-shadow: 0 0 12px 4px rgba(255,208,128,0.8); } 100% { opacity:0.9; transform: scale(1); } }
@keyframes ar-shadow { 0% { opacity:0.3; transform: scaleX(1); } 50% { opacity:0.6; transform: scaleX(1.05); } 100% { opacity:0.3; transform: scaleX(1); } }
@keyframes ar-dust { 0% { transform: translateY(0) scale(1); opacity:0; } 20% { opacity:0.5; } 80% { opacity:0.5; } 100% { transform: translateY(-40px) scale(2); opacity:0; } }

.scn-kahoots-tablecloth-cut {
  background:
    linear-gradient(180deg, #f5f0e6 0%, #e8dfd0 60%, #d9cbb0 100%),
    radial-gradient(ellipse at 70% 20%, #fff8e8 0%, transparent 60%);
}

.scn-kahoots-tablecloth-cut .wall { position:absolute; inset:0; background: linear-gradient(90deg, #f5f0e6 0%, #fff8e8 100%); opacity:0.4; }
.scn-kahoots-tablecloth-cut .window {
  position:absolute; top:8%; left:5%; width:30%; height:50%;
  background: linear-gradient(135deg, #fff8e8 0%, #d9cbb0 100%);
  border-radius: 10% / 15%; box-shadow: inset 0 0 30px rgba(255,248,232,0.3);
  animation: kt-light 8s ease-in-out infinite alternate;
}
.scn-kahoots-tablecloth-cut .tablecloth {
  position:absolute; bottom:15%; left:15%; right:15%; height:70%;
  background: linear-gradient(135deg, #c8b490 0%, #d9cbb0 40%, #b8a88a 100%);
  border-radius: 50% 50% 30% 30% / 20% 20% 60% 60%;
  box-shadow: 0 -10px 20px rgba(0,0,0,0.2);
  animation: kt-cloth 6s ease-in-out infinite;
}
.scn-kahoots-tablecloth-cut .figure-left {
  position:absolute; bottom:25%; left:22%; width:30px; height:80px;
  background: linear-gradient(90deg, #4a3a2a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: kt-arm-left 4s ease-in-out infinite;
}
.scn-kahoots-tablecloth-cut .figure-right {
  position:absolute; bottom:25%; right:22%; width:30px; height:80px;
  background: linear-gradient(90deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: kt-arm-right 4.5s ease-in-out infinite;
}
.scn-kahoots-tablecloth-cut .knife {
  position:absolute; bottom:45%; left:50%; width:8px; height:40px;
  background: linear-gradient(180deg, #d0c0a0 0%, #a09070 100%);
  border-radius: 20% 20% 10% 10%;
  transform: translateX(-50%) rotate(-30deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: kt-knife 3s ease-in-out infinite alternate;
}
.scn-kahoots-tablecloth-cut .cut-mark {
  position:absolute; bottom:40%; left:50%; width:60%; height:2px;
  background: #7a6a5a;
  transform: translateX(-50%);
  animation: kt-cut 6s ease-in-out infinite;
}
@keyframes kt-light { 0%{ opacity:0.6; } 50%{ opacity:1; } 100%{ opacity:0.7; } }
@keyframes kt-cloth { 0%{ transform: translateY(0) skewX(0deg); } 50%{ transform: translateY(-4px) skewX(2deg); } 100%{ transform: translateY(0) skewX(0deg); } }
@keyframes kt-arm-left { 0%,100%{ transform: translateX(0) rotate(0deg); } 50%{ transform: translateX(8px) rotate(5deg); } }
@keyframes kt-arm-right { 0%,100%{ transform: translateX(0) rotate(0deg); } 50%{ transform: translateX(-8px) rotate(-5deg); } }
@keyframes kt-knife { 0%{ transform: translateX(-50%) rotate(-30deg) translateY(0); } 100%{ transform: translateX(-50%) rotate(-10deg) translateY(8px); } }
@keyframes kt-cut { 0%{ width:0%; opacity:0; } 30%{ width:0%; opacity:0; } 50%{ width:60%; opacity:1; } 100%{ width:60%; opacity:0.5; } }

/* Scene 2: assault history */
.scn-kahoots-assault-history {
  background:
    linear-gradient(180deg, #e8dfd0 0%, #c8b490 60%, #a09070 100%),
    radial-gradient(ellipse at 30% 10%, #fff8e8 0%, transparent 50%);
}
.scn-kahoots-assault-history .bg-court { position:absolute; inset:0; background: linear-gradient(90deg, #d9cbb0 0%, #f5f0e6 100%); opacity:0.6; }
.scn-kahoots-assault-history .judge-bench {
  position:absolute; top:5%; left:20%; right:20%; height:25%;
  background: linear-gradient(180deg, #6a5a4a 0%, #8a7a6a 100%);
  border-radius: 30% 30% 10% 10% / 50% 50% 20% 20%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
  animation: ka-bench 12s ease-in-out infinite alternate;
}
.scn-kahoots-assault-history .witness-stand {
  position:absolute; bottom:30%; left:15%; width:20%; height:40%;
  background: linear-gradient(180deg, #b8a88a 0%, #a09070 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -10px 15px rgba(0,0,0,0.2);
  animation: ka-stand 6s ease-in-out infinite;
}
.scn-kahoots-assault-history .lawyer-table {
  position:absolute; bottom:20%; right:15%; width:30%; height:20%;
  background: linear-gradient(135deg, #c8b490 0%, #b8a88a 100%);
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}
.scn-kahoots-assault-history .figure-lawyer {
  position:absolute; bottom:30%; right:25%; width:24px; height:60px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ka-lawyer 4s ease-in-out infinite;
}
.scn-kahoots-assault-history .figure-witness {
  position:absolute; bottom:35%; left:22%; width:20px; height:55px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ka-witness 3.5s ease-in-out infinite alternate;
}
.scn-kahoots-assault-history .gavel {
  position:absolute; top:8%; left:45%; width:10px; height:20px;
  background: linear-gradient(180deg, #a09070 0%, #6a5a4a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: top center;
  animation: ka-gavel 2s ease-in-out infinite;
}
@keyframes ka-bench { 0%{ transform: scaleY(1); } 50%{ transform: scaleY(1.02); } 100%{ transform: scaleY(1); } }
@keyframes ka-stand { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-3px); } }
@keyframes ka-lawyer { 0%,100%{ transform: rotate(0deg) translateX(0); } 50%{ transform: rotate(4deg) translateX(5px); } }
@keyframes ka-witness { 0%{ transform: scaleY(1) translateX(0); } 100%{ transform: scaleY(1.03) translateX(3px); } }
@keyframes ka-gavel { 0%{ transform: rotate(0deg) scaleY(1); } 50%{ transform: rotate(-20deg) scaleY(0.8); } 100%{ transform: rotate(0deg) scaleY(1); } }

/* Scene 3: juror objects */
.scn-juror-objects-to-history {
  background:
    linear-gradient(180deg, #f5f0e6 0%, #d9cbb0 70%, #c8b490 100%),
    radial-gradient(ellipse at 50% 30%, #fff8e8 0%, transparent 60%);
}
.scn-juror-objects-to-history .bg-jury { position:absolute; inset:0; background: linear-gradient(90deg, #e8dfd0 0%, #f5f0e6 100%); opacity:0.5; }
.scn-juror-objects-to-history .judge-distant {
  position:absolute; top:5%; left:30%; right:30%; height:20%;
  background: linear-gradient(180deg, #6a5a4a 0%, #8a7a6a 100%);
  border-radius: 30% 30% 10% 10%/40% 40% 20% 20%;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  animation: jo-judge 8s ease-in-out infinite alternate;
}
.scn-juror-objects-to-history .juror-body {
  position:absolute; bottom:25%; left:40%; width:40px; height:80px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: jo-body 3s ease-in-out infinite;
}
.scn-juror-objects-to-history .juror-arm {
  position:absolute; bottom:55%; left:48%; width:10px; height:50px;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 20% 20%;
  transform-origin: bottom center;
  animation: jo-arm 2.5s ease-in-out infinite alternate;
}
.scn-juror-objects-to-history .object-speech {
  position:absolute; top:15%; left:50%; width:80px; height:50px;
  background: radial-gradient(ellipse at 50% 30%, rgba(255,248,232,0.8) 0%, transparent 70%);
  border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
  filter: blur(2px);
  animation: jo-speech 4s ease-in-out infinite;
}
.scn-juror-objects-to-history .lawyer-seated {
  position:absolute; bottom:20%; right:15%; width:30px; height:50px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: jo-lawyer 6s ease-in-out infinite;
}
@keyframes jo-judge { 0%,100%{ transform: scaleY(1) translateY(0); } 50%{ transform: scaleY(1.02) translateY(-2px); } }
@keyframes jo-body { 0%,100%{ transform: rotate(0deg); } 50%{ transform: rotate(-5deg); } }
@keyframes jo-arm { 0%{ transform: rotate(0deg) scaleY(1); } 100%{ transform: rotate(-40deg) scaleY(1.1); } }
@keyframes jo-speech { 0%{ transform: scale(0.8); opacity:0.5; } 50%{ transform: scale(1.1); opacity:1; } 100%{ transform: scale(0.9); opacity:0.7; } }
@keyframes jo-lawyer { 0%,100%{ transform: translateX(0); } 50%{ transform: translateX(-5px); } }

/* Scene 4: defense witnesses testify */
.scn-defense-witnesses-testify {
  background:
    linear-gradient(180deg, #f5f0e6 0%, #e8dfd0 60%, #d9cbb0 100%),
    radial-gradient(ellipse at 60% 40%, #fff8e8 0%, transparent 70%);
}
.scn-defense-witnesses-testify .bg-testify { position:absolute; inset:0; background: linear-gradient(135deg, #d9cbb0 0%, #f5f0e6 100%); opacity:0.5; }
.scn-defense-witnesses-testify .window-light {
  position:absolute; top:10%; left:10%; width:30%; height:50%;
  background: linear-gradient(135deg, #fff8e8 40%, #e8dfd0 100%);
  border-radius: 20% 20% 10% 10% / 30% 30% 20% 20%;
  filter: blur(8px);
  animation: dw-light 10s ease-in-out infinite alternate;
}
.scn-defense-witnesses-testify .witness-box {
  position:absolute; bottom:30%; left:15%; width:18%; height:45%;
  background: linear-gradient(180deg, #b8a88a 0%, #a09070 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.15);
}
.scn-defense-witnesses-testify .witness-figure {
  position:absolute; bottom:32%; left:16%; width:25px; height:60px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dw-witness 6s ease-in-out infinite;
}
.scn-defense-witnesses-testify .audience1 {
  position:absolute; bottom:20%; right:25%; width:28px; height:45px;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dw-aud1 8s ease-in-out infinite alternate;
}
.scn-defense-witnesses-testify .audience2 {
  position:absolute; bottom:22%; right:10%; width:24px; height:40px;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: dw-aud2 9s ease-in-out infinite alternate;
  animation-delay: -3s;
}
.scn-defense-witnesses-testify .plant {
  position:absolute; bottom:18%; left:5%; width:30px; height:40px;
  background: radial-gradient(ellipse at 50% 100%, #5a7a5a 0%, #3a5a3a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 20% 20%;
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  animation: dw-plant 5s ease-in-out infinite;
}
.scn-defense-witnesses-testify .judge {
  /* unused but kept for potential future use – hidden for now */
  display:none;
}
@keyframes dw-light { 0%{ opacity:0.6; transform: scaleX(1); } 100%{ opacity:1; transform: scaleX(1.05); } }
@keyframes dw-witness { 0%,100%{ transform: scaleY(1) translateY(0); } 50%{ transform: scaleY(1.02) translateY(-2px); } }
@keyframes dw-aud1 { 0%{ transform: rotate(0deg); } 100%{ transform: rotate(3deg); } }
@keyframes dw-aud2 { 0%{ transform: rotate(0deg); } 100%{ transform: rotate(-4deg); } }
@keyframes dw-plant { 0%,100%{ transform: rotate(0deg) scaleY(1); } 50%{ transform: rotate(-2deg) scaleY(1.05); } }

/* Scene: indictment-two-wives */
.scn-indictment-two-wives {
  background: linear-gradient(150deg, #fdf6e3 0%, #eaddb6 40%, #d4b896 100%),
              radial-gradient(ellipse at 80% 20%, rgba(255, 215, 0, 0.15) 0%, transparent 60%);
}
.scn-indictment-two-wives .bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(205, 179, 140, 0.3) 100%); }
.scn-indictment-two-wives .bench { position:absolute; bottom:0; left:10%; right:10%; height:18%; background: linear-gradient(180deg, #6b4226 0%, #4a2e1a 100%); border-radius: 6% 6% 0 0; }
.scn-indictment-two-wives .gavel { position:absolute; bottom:18%; left:50%; width:8px; height:14px; background: linear-gradient(180deg, #8b5a2b 0%, #5c3a1e 100%); border-radius: 2px 2px 0 0; transform-origin: bottom center; animation: i2w-gavel 1.5s ease-in-out infinite; }
.scn-indictment-two-wives .bride1 { position:absolute; bottom:10%; left:15%; width:40px; height:60px; background: linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(230,210,190,0.7) 40%, #6b4226 40%, #4a2e1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: i2w-bride 4s ease-in-out infinite; }
.scn-indictment-two-wives .bride2 { position:absolute; bottom:10%; right:15%; width:40px; height:60px; background: linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(230,210,190,0.7) 40%, #6b4226 40%, #4a2e1a 100%); border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%; animation: i2w-bride 4s ease-in-out infinite reverse; }
.scn-indictment-two-wives .groom { position:absolute; bottom:10%; left:50%; width:36px; height:56px; transform:translateX(-50%); background: linear-gradient(180deg, #3a2a1a 0%, #1a0a00 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; animation: i2w-groom 3s ease-in-out infinite; }
.scn-indictment-two-wives .lamp { position:absolute; top:12%; left:50%; width:20px; height:20px; background: radial-gradient(circle, #ffd700 0%, #ffaa00 40%, transparent 70%); border-radius: 50%; animation: i2w-lamp 2s ease-in-out infinite alternate; }
@keyframes i2w-gavel { 0% { transform: translateX(-50%) rotate(0deg) scaleY(1); } 30% { transform: translateX(-50%) rotate(15deg) scaleY(1.1); } 60% { transform: translateX(-50%) rotate(-10deg) scaleY(0.9); } 100% { transform: translateX(-50%) rotate(0deg) scaleY(1); } }
@keyframes i2w-bride { 0%,100% { transform: translateY(0) rotate(-2deg); } 25% { transform: translateY(-3px) rotate(2deg); } 50% { transform: translateY(0) rotate(1deg); } 75% { transform: translateY(-2px) rotate(-1deg); } }
@keyframes i2w-groom { 0%,100% { transform: translateX(-50%) translateY(0) scaleX(1); } 30% { transform: translateX(-50%) translateY(-2px) scaleX(0.95); } 60% { transform: translateX(-50%) translateY(1px) scaleX(1.05); } }
@keyframes i2w-lamp { 0% { opacity: 0.7; box-shadow: 0 0 20px 5px #ffaa00; } 50% { opacity: 1; box-shadow: 0 0 40px 10px #ffd700; } 100% { opacity: 0.8; box-shadow: 0 0 25px 6px #ffaa00; } }

/* Scene: caput-magnus-prepared */
.scn-caput-magnus-prepared {
  background: linear-gradient(135deg, #f7f3e8 0%, #d9d0c0 50%, #b8a898 100%),
              radial-gradient(ellipse at 30% 10%, rgba(198, 226, 255, 0.3) 0%, transparent 60%);
}
.scn-caput-magnus-prepared .bg { position:absolute; inset:0; background: linear-gradient(180deg, rgba(198,226,255,0.1) 0%, transparent 80%); animation: cmp-bg 12s ease-in-out infinite; }
.scn-caput-magnus-prepared .desk { position:absolute; bottom:0; left:8%; right:8%; height:22%; background: linear-gradient(180deg, #4e3b2c 0%, #2c1f14 100%); border-radius: 4% 4% 0 0; }
.scn-caput-magnus-prepared .books { position:absolute; bottom:22%; left:15%; width:60px; height:40px; background: linear-gradient(90deg, #8b5a2b 0%, #6b4226 30%, #5c3a1e 70%, #4a2e1a 100%); border-radius: 2px; transform: skewY(-5deg); animation: cmp-books 20s ease-in-out infinite; }
.scn-caput-magnus-prepared .figure { position:absolute; bottom:22%; left:55%; width:34px; height:50px; background: linear-gradient(180deg, #2a1f1a 0%, #1a0f0a 100%); border-radius: 45% 45% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cmp-figure 8s ease-in-out infinite; }
.scn-caput-magnus-prepared .lamp { position:absolute; top:15%; left:50%; width:16px; height:16px; background: radial-gradient(circle, #ffe68f 0%, #d4a040 50%, transparent 70%); border-radius: 50%; animation: cmp-lamp 4s ease-in-out infinite alternate; }
.scn-caput-magnus-prepared .window { position:absolute; top:8%; right:8%; width:70px; height:50px; background: linear-gradient(180deg, #cde0f0 0%, #a0b8d0 100%); border: 3px solid #4a3a2a; border-radius: 4px; animation: cmp-window 6s ease-in-out infinite; }
@keyframes cmp-bg { 0%,100% { opacity: 0.6; } 50% { opacity: 0.9; } }
@keyframes cmp-books { 0%,100% { transform: skewY(-5deg) translateY(0); } 50% { transform: skewY(-3deg) translateY(-2px); } }
@keyframes cmp-figure { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(2px) rotate(1deg); } 60% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes cmp-lamp { 0% { opacity: 0.6; box-shadow: 0 0 10px 3px #d4a040; } 50% { opacity: 1; box-shadow: 0 0 30px 8px #ffe68f; } 100% { opacity: 0.7; box-shadow: 0 0 15px 4px #d4a040; } }
@keyframes cmp-window { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.2); } }

/* Scene: complexity-of-indictments */
.scn-complexity-of-indictments {
  background: linear-gradient(180deg, #f9f4e6 0%, #e7dcc9 50%, #cbbca8 100%),
              radial-gradient(ellipse at 70% 20%, rgba(255, 215, 0, 0.1) 0%, transparent 50%);
}
.scn-complexity-of-indictments .bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(203, 188, 168, 0.2) 100%); }
.scn-complexity-of-indictments .desk { position:absolute; bottom:0; left:5%; right:5%; height:20%; background: linear-gradient(180deg, #5a4232 0%, #3a2a1a 100%); border-radius: 6% 6% 0 0; }
.scn-complexity-of-indictments .scroll { position:absolute; bottom:30%; left:25%; width:80px; height:20px; background: linear-gradient(90deg, #efe7d0 0%, #d4c4a8 50%, #efe7d0 100%); border-radius: 2px; transform-origin: left center; animation: coi-scroll 15s ease-in-out infinite; }
.scn-complexity-of-indictments .quill { position:absolute; bottom:30%; left:45%; width:6px; height:40px; background: linear-gradient(180deg, #e8dcc0 0%, #c0a88a 60%, #8a6a4a 100%); border-radius: 0 0 50% 50%; transform: rotate(-20deg); animation: coi-quill 4s ease-in-out infinite; }
.scn-complexity-of-indictments .hand { position:absolute; bottom:25%; left:38%; width:22px; height:30px; background: radial-gradient(circle at 50% 30%, #d4a46a 0%, #8a6a4a 100%); border-radius: 50% 50% 40% 40%; transform-origin: bottom center; animation: coi-hand 6s ease-in-out infinite; }
.scn-complexity-of-indictments .inkwell { position:absolute; bottom:20%; left:52%; width:16px; height:14px; background: radial-gradient(circle, #2a1a0a 0%, #0a0000 100%); border-radius: 50% 50% 10% 10%; animation: coi-ink 8s ease-in-out infinite; }
@keyframes coi-scroll { 0%,100% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.05) translateX(-2px); } }
@keyframes coi-quill { 0%,100% { transform: rotate(-20deg) translateY(0); } 30% { transform: rotate(-15deg) translateY(-3px); } 60% { transform: rotate(-25deg) translateY(2px); } }
@keyframes coi-hand { 0%,100% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(2deg); } 50% { transform: translateX(8px) rotate(0deg); } 75% { transform: translateX(4px) rotate(-2deg); } }
@keyframes coi-ink { 0%,100% { transform: scaleY(1); opacity: 0.8; } 50% { transform: scaleY(0.9); opacity: 1; } }

/* Scene: caput-pride-and-fall */
.scn-caput-pride-and-fall {
  background: linear-gradient(135deg, #f5efdf 0%, #dacbb5 50%, #bcaa90 100%),
              radial-gradient(ellipse at 50% 30%, rgba(198, 180, 140, 0.2) 0%, transparent 70%);
}
.scn-caput-pride-and-fall .bg { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(188, 170, 144, 0.15) 100%); }
.scn-caput-pride-and-fall .desk { position:absolute; bottom:0; left:10%; right:10%; height:18%; background: linear-gradient(180deg, #4b3828 0%, #2c1f14 100%); border-radius: 4% 4% 0 0; }
.scn-caput-pride-and-fall .chair { position:absolute; bottom:18%; left:35%; width:30px; height:50px; background: linear-gradient(180deg, #5a4232 0%, #3a2a1a 100%); border-radius: 20% 20% 10% 10%; transform-origin: bottom center; animation: cpf-chair 10s ease-in-out infinite; }
.scn-caput-pride-and-fall .figure { position:absolute; bottom:22%; left:40%; width:32px; height:48px; background: linear-gradient(180deg, #2f221a 0%, #1a0f0a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: cpf-figure 8s ease-in-out infinite; }
.scn-caput-pride-and-fall .painting { position:absolute; top:12%; right:10%; width:50px; height:40px; background: linear-gradient(135deg, #a89a80 0%, #7a6a52 100%); border: 3px solid #4a3a2a; border-radius: 2px; animation: cpf-painting 14s ease-in-out infinite; }
.scn-caput-pride-and-fall .bookshelf { position:absolute; top:18%; left:8%; width:30px; height:50px; background: linear-gradient(180deg, #6b4226 0%, #4a2e1a 50%, #3a2010 100%); border-radius: 2px; box-shadow: inset 0 0 0 2px #2c1f14; animation: cpf-shelf 12s ease-in-out infinite; }
@keyframes cpf-chair { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes cpf-figure { 0%,100% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(1px) rotate(1deg); } 60% { transform: translateX(-1px) rotate(-1deg); } }
@keyframes cpf-painting { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes cpf-shelf { 0%,100% { opacity: 0.8; } 50% { opacity: 1; } }

.scn-miss-beekman-meets-tutt {
  background: linear-gradient(180deg, #2d2420 0%, #4d3a2a 40%, #6b4f35 70%) , radial-gradient(ellipse at 50% 80%, #7a5c3a 0%, transparent 70%);
}
.scn-miss-beekman-meets-tutt .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #3a2a1e 0%, #2a1e14 100%);
  animation: mbt-wall 12s ease-in-out infinite alternate;
}
.scn-miss-beekman-meets-tutt .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #4a3520 0%, #2a1e0e 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-miss-beekman-meets-tutt .table {
  position: absolute; bottom: 32%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #6b4f35 0%, #4a3520 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-miss-beekman-meets-tutt .lamp {
  position: absolute; bottom: 48%; left: 50%; width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 30%, #dba050 0%, #a07830 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 6px rgba(200,140,60,0.6);
}
.scn-miss-beekman-meets-tutt .glow {
  position: absolute; bottom: 38%; left: 50%; width: 160px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(200,140,60,0.25) 0%, transparent 70%);
  animation: mbt-glow 4s ease-in-out infinite alternate;
}
.scn-miss-beekman-meets-tutt .figure-left {
  position: absolute; bottom: 26%; left: 34%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mbt-figure-l 5s ease-in-out infinite;
}
.scn-miss-beekman-meets-tutt .figure-right {
  position: absolute; bottom: 26%; left: 58%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mbt-figure-r 5s ease-in-out infinite 0.8s;
}
.scn-miss-beekman-meets-tutt .shadow {
  position: absolute; bottom: 26%; left: 30%; width: 80px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, transparent 70%);
  animation: mbt-shadow 5s ease-in-out infinite;
}
@keyframes mbt-wall {
  0% { opacity: 0.8; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes mbt-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.8; }
  50% { transform: translateX(-50%) scale(1.08); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95); opacity: 0.75; }
}
@keyframes mbt-figure-l {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-3px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mbt-figure-r {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes mbt-shadow {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(0.9); }
  100% { transform: scaleX(1); }
}

.scn-miss-beekman-reluctant-help {
  background: linear-gradient(180deg, #2a201a 0%, #3d2c20 40%, #5a4030 70%) , radial-gradient(ellipse at 50% 80%, #6b4f35 0%, transparent 70%);
}
.scn-miss-beekman-reluctant-help .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2e2218 0%, #1e1410 100%);
  animation: mbr-wall 10s ease-in-out infinite alternate;
}
.scn-miss-beekman-reluctant-help .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a2818 0%, #1e1208 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-miss-beekman-reluctant-help .table {
  position: absolute; bottom: 32%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-miss-beekman-reluctant-help .lamp {
  position: absolute; bottom: 48%; left: 50%; width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 30%, #c89040 0%, #8a6020 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 6px rgba(180,110,40,0.6);
}
.scn-miss-beekman-reluctant-help .glow {
  position: absolute; bottom: 38%; left: 50%; width: 160px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(180,110,40,0.3) 0%, transparent 70%);
  animation: mbr-glow 3s ease-in-out infinite alternate;
}
.scn-miss-beekman-reluctant-help .figure-left.recoil {
  position: absolute; bottom: 26%; left: 34%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mbr-recoil 2.5s ease-in-out infinite;
}
.scn-miss-beekman-reluctant-help .figure-left.recoil + .figure-right {
  position: absolute; bottom: 26%; left: 58%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #2a1e14 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: mbr-figure-r 4s ease-in-out infinite 0.5s;
}
.scn-miss-beekman-reluctant-help .shadow {
  position: absolute; bottom: 26%; left: 30%; width: 80px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: mbr-shadow 2.5s ease-in-out infinite;
}
@keyframes mbr-wall {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes mbr-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.7; }
  50% { transform: translateX(-50%) scale(1.12); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.9); opacity: 0.6; }
}
@keyframes mbr-recoil {
  0% { transform: translateY(0) rotate(-2deg); }
  30% { transform: translateY(-8px) rotate(4deg); scale(1.05); }
  60% { transform: translateY(0) rotate(1deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes mbr-figure-r {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes mbr-shadow {
  0% { transform: scaleX(1); }
  30% { transform: scaleX(0.8); opacity: 0.6; }
  60% { transform: scaleX(1.05); }
  100% { transform: scaleX(1); }
}

.scn-shane-confronts-miss-beekman {
  background: linear-gradient(180deg, #1f1a1a 0%, #362a20 40%, #4f3a2a 70%) , radial-gradient(ellipse at 50% 80%, #604530 0%, transparent 70%);
}
.scn-shane-confronts-miss-beekman .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #2a1e1a 0%, #1a100e 100%);
  animation: scm-wall 14s ease-in-out infinite alternate;
}
.scn-shane-confronts-miss-beekman .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #3a2a1e 0%, #1e1208 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}
.scn-shane-confronts-miss-beekman .table {
  position: absolute; bottom: 32%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #4f3a2a 0%, #2a1e12 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.6);
}
.scn-shane-confronts-miss-beekman .lamp {
  position: absolute; bottom: 48%; left: 50%; width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 30%, #b08840 0%, #785820 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 6px rgba(160,100,30,0.6);
}
.scn-shane-confronts-miss-beekman .glow {
  position: absolute; bottom: 38%; left: 50%; width: 160px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(160,100,30,0.25) 0%, transparent 70%);
  animation: scm-glow 4.5s ease-in-out infinite alternate;
}
.scn-shane-confronts-miss-beekman .figure-left {
  position: absolute; bottom: 26%; left: 34%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #1c1410 0%, #0e0a06 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: scm-sit-l 6s ease-in-out infinite;
}
.scn-shane-confronts-miss-beekman .figure-right {
  position: absolute; bottom: 26%; left: 58%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #1c1410 0%, #0e0a06 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: scm-sit-r 6s ease-in-out infinite 1s;
}
.scn-shane-confronts-miss-beekman .shadow {
  position: absolute; bottom: 26%; left: 30%; width: 80px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.5) 0%, transparent 70%);
  animation: scm-shadow 6s ease-in-out infinite;
}
@keyframes scm-wall {
  0% { opacity: 0.75; }
  50% { opacity: 1; }
  100% { opacity: 0.8; }
}
@keyframes scm-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.7; }
  50% { transform: translateX(-50%) scale(1.05); opacity: 1; }
  100% { transform: translateX(-50%) scale(0.95); opacity: 0.6; }
}
@keyframes scm-sit-l {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(-1deg); }
}
@keyframes scm-sit-r {
  0% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(1deg); }
}
@keyframes scm-shadow {
  0% { transform: scaleX(1); }
  50% { transform: scaleX(0.9); }
  100% { transform: scaleX(1); }
}

.scn-shane-accuses-miss-beekman {
  background: linear-gradient(180deg, #101010 0%, #20181a 40%, #2a1e20 70%) , radial-gradient(ellipse at 50% 80%, #3a2a2a 0%, transparent 70%);
}
.scn-shane-accuses-miss-beekman .bg-wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #1a1414 0%, #0e0a0a 100%);
  animation: sam-wall 16s ease-in-out infinite alternate;
}
.scn-shane-accuses-miss-beekman .bg-floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #2a1a1a 0%, #100808 100%);
  border-radius: 40% 60% 0 0 / 30% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.7);
}
.scn-shane-accuses-miss-beekman .table {
  position: absolute; bottom: 32%; left: 50%; width: 100px; height: 20px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1010 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.8);
}
.scn-shane-accuses-miss-beekman .lamp {
  position: absolute; bottom: 48%; left: 50%; width: 12px; height: 16px;
  transform: translateX(-50%);
  background: radial-gradient(circle at 50% 30%, #8a6030 0%, #5a3810 70%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 20px 6px rgba(100,50,10,0.6);
}
.scn-shane-accuses-miss-beekman .glow {
  position: absolute; bottom: 38%; left: 50%; width: 160px; height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(100,50,10,0.2) 0%, transparent 70%);
  animation: sam-glow 5s ease-in-out infinite alternate;
}
.scn-shane-accuses-miss-beekman .figure-left {
  position: absolute; bottom: 26%; left: 34%; width: 22px; height: 60px;
  background: linear-gradient(180deg, #0e0a08 0%, #060404 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: sam-accuse-l 4s ease-in-out infinite;
}
.scn-shane-accuses-miss-beekman .figure-right {
  position: absolute; bottom: 26%; left: 58%; width: 24px; height: 62px;
  background: linear-gradient(180deg, #0e0a08 0%, #060404 100%);
  border-radius: 50% 50% 40% 40% / 70% 70% 30% 30%;
  transform-origin: bottom center;
  animation: sam-accuse-r 4s ease-in-out infinite 0.6s;
}
.scn-shane-accuses-miss-beekman .shadow {
  position: absolute; bottom: 26%; left: 30%; width: 80px; height: 12px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.7) 0%, transparent 70%);
  animation: sam-shadow 4s ease-in-out infinite;
}
@keyframes sam-wall {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}
@keyframes sam-glow {
  0% { transform: translateX(-50%) scale(1); opacity: 0.5; }
  50% { transform: translateX(-50%) scale(1.1); opacity: 0.9; }
  100% { transform: translateX(-50%) scale(0.8); opacity: 0.4; }
}
@keyframes sam-accuse-l {
  0% { transform: translateY(0) rotate(-3deg); scale(1); }
  30% { transform: translateY(-6px) rotate(5deg); scale(1.05); }
  60% { transform: translateY(0) rotate(1deg); scale(1); }
  100% { transform: translateY(0) rotate(-2deg); scale(1); }
}
@keyframes sam-accuse-r {
  0% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-3px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes sam-shadow {
  0% { transform: scaleX(1); }
  30% { transform: scaleX(0.8); opacity: 0.5; }
  60% { transform: scaleX(1.1); }
  100% { transform: scaleX(1); }
}

/* Scene: more-violations-rain-down */
.scn-more-violations-rain-down {
  background: linear-gradient(180deg, #1e1a12 0%, #2d261a 40%, #1f1a0f 70%), radial-gradient(ellipse at 50% 0%, #3a3222 0%, transparent 60%);
}
.scn-more-violations-rain-down .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #2a2216 0%, #1a140c 100%);
}
.scn-more-violations-rain-down .wall {
  position: absolute; top: 0; left: 0; right: 0; bottom: 30%; background: linear-gradient(180deg, #3a3222 0%, #2a2216 100%); border-radius: 0 0 20% 20%; box-shadow: inset 0 8px 20px rgba(0,0,0,0.6);
}
.scn-more-violations-rain-down .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #2a1e12 0%, #1a1008 100%); border-radius: 10% 10% 0 0 / 20% 20% 0 0; box-shadow: inset 0 4px 12px rgba(0,0,0,0.5);
}
.scn-more-violations-rain-down .window-glow {
  position: absolute; top: 8%; left: 55%; width: 40px; height: 56px; background: radial-gradient(circle, #d4a96a 0%, #8a6a3a 70%); border-radius: 12% 12% 4% 4%; box-shadow: 0 0 20px 6px #b08040, 0 0 40px 12px rgba(176,128,64,0.3); animation: mvrd-glow 4s ease-in-out infinite alternate;
}
.scn-more-violations-rain-down .figure {
  position: absolute; bottom: 30%; left: 30%; width: 28px; height: 60px; background: linear-gradient(170deg, #1a1410 0%, #0a0806 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: mvrd-walk 6s ease-in-out infinite;
}
.scn-more-violations-rain-down .dog {
  position: absolute; bottom: 28%; left: 48%; width: 24px; height: 16px; background: linear-gradient(180deg, #3a2a1a 0%, #1a140c 100%); border-radius: 50% 50% 30% 30%; animation: mvrd-dog 3s ease-in-out infinite alternate;
}
.scn-more-violations-rain-down .paper-a,
.scn-more-violations-rain-down .paper-b,
.scn-more-violations-rain-down .paper-c {
  position: absolute; width: 20px; height: 26px; background: linear-gradient(180deg, #d4c8a8 0%, #a89870 100%); border-radius: 4%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); 
}
.scn-more-violations-rain-down .paper-a { top: 12%; left: 20%; animation: mvrd-fall-a 8s linear infinite; }
.scn-more-violations-rain-down .paper-b { top: 18%; left: 60%; animation: mvrd-fall-b 10s linear infinite 2s; }
.scn-more-violations-rain-down .paper-c { top: 10%; left: 75%; animation: mvrd-fall-c 7s linear infinite 1s; }

@keyframes mvrd-glow { 0% { box-shadow: 0 0 15px 4px #b08040; opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px #e0b060; opacity: 1; } 100% { box-shadow: 0 0 20px 6px #a07030; opacity: 0.85; } }
@keyframes mvrd-walk { 0% { transform: translateX(0) translateY(0) rotate(-2deg); } 25% { transform: translateX(10px) translateY(-2px) rotate(1deg); } 50% { transform: translateX(20px) translateY(0) rotate(-1deg); } 75% { transform: translateX(30px) translateY(-2px) rotate(2deg); } 100% { transform: translateX(40px) translateY(0) rotate(0); } }
@keyframes mvrd-dog { 0% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(-1.1) translateY(-2px); } 100% { transform: scaleX(1) translateY(0); } }
@keyframes mvrd-fall-a { 0% { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } 25% { transform: translateY(25vh) rotate(45deg) scale(0.9); } 50% { transform: translateY(50vh) rotate(90deg) scale(0.8); } 75% { transform: translateY(75vh) rotate(135deg) scale(0.7); opacity: 0.6; } 100% { transform: translateY(100vh) rotate(180deg) scale(0.6); opacity: 0; } }
@keyframes mvrd-fall-b { 0% { transform: translateY(0) rotate(10deg) scale(1); opacity: 1; } 30% { transform: translateY(30vh) rotate(-20deg) scale(0.85); } 60% { transform: translateY(60vh) rotate(40deg) scale(0.7); opacity: 0.7; } 100% { transform: translateY(100vh) rotate(80deg) scale(0.5); opacity: 0; } }
@keyframes mvrd-fall-c { 0% { transform: translateY(0) rotate(-15deg) scale(1); opacity: 1; } 20% { transform: translateY(20vh) rotate(30deg) scale(0.9); } 50% { transform: translateY(50vh) rotate(-45deg) scale(0.75); opacity: 0.8; } 80% { transform: translateY(80vh) rotate(60deg) scale(0.6); opacity: 0.5; } 100% { transform: translateY(100vh) rotate(100deg) scale(0.5); opacity: 0; } }

/* Scene: bonnie-doon-arrives */
.scn-bonnie-doon-arrives {
  background: linear-gradient(180deg, #1a1612 0%, #2a221c 50%, #1a140e 100%), radial-gradient(ellipse at 30% 100%, #3a2e22 0%, transparent 60%);
}
.scn-bonnie-doon-arrives .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #221c16 0%, #14100a 100%);
}
.scn-bonnie-doon-arrives .door-frame {
  position: absolute; bottom: 10%; left: 20%; width: 80px; height: 140px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 8% 8% 4% 4%; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-bonnie-doon-arrives .door-open {
  position: absolute; bottom: 10%; left: 20%; width: 76px; height: 138px; background: linear-gradient(170deg, #1a1410 0%, #0a0806 100%); border-radius: 6% 6% 3% 3%; transform-origin: left center; animation: bda-door 5s ease-in-out infinite alternate;
}
.scn-bonnie-doon-arrives .door-light {
  position: absolute; bottom: 10%; left: 20%; width: 76px; height: 138px; background: radial-gradient(ellipse at 40% 30%, #c8a060 0%, transparent 70%); opacity: 0.3; animation: bda-light 6s ease-in-out infinite alternate;
}
.scn-bonnie-doon-arrives .figure {
  position: absolute; bottom: 14%; left: 22%; width: 30px; height: 70px; background: linear-gradient(180deg, #1a1610 0%, #0a0804 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bda-walk 8s ease-in-out infinite;
}
.scn-bonnie-doon-arrives .paper {
  position: absolute; bottom: 18%; left: 30%; width: 24px; height: 32px; background: linear-gradient(180deg, #d4c8a8 0%, #a89870 100%); border-radius: 4%; box-shadow: 0 2px 4px rgba(0,0,0,0.3); animation: bda-paper 6s ease-in-out infinite alternate;
}
.scn-bonnie-doon-arrives .window-box {
  position: absolute; top: 18%; right: 12%; width: 50px; height: 40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10%; box-shadow: 0 2px 6px rgba(0,0,0,0.4); animation: bda-box 3s ease-in-out infinite alternate;
}

@keyframes bda-door { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(-40deg); } 100% { transform: rotateY(0deg); } }
@keyframes bda-light { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.3; } }
@keyframes bda-walk { 0% { transform: translateX(0) translateY(0) rotate(-1deg); } 30% { transform: translateX(15px) translateY(-2px) rotate(2deg); } 60% { transform: translateX(30px) translateY(0) rotate(-1deg); } 100% { transform: translateX(45px) translateY(-3px) rotate(1deg); } }
@keyframes bda-paper { 0% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-4px) rotate(5deg); } 100% { transform: translateY(0) rotate(-5deg); } }
@keyframes bda-box { 0% { transform: rotateX(0deg); } 30% { transform: rotateX(10deg); } 60% { transform: rotateX(-5deg); } 100% { transform: rotateX(0deg); } }

/* Scene: bonnie-lists-all-violations */
.scn-bonnie-lists-all-violations {
  background: linear-gradient(180deg, #1c1814 0%, #28221c 40%, #1a140e 100%), radial-gradient(ellipse at 50% 30%, #3a2e22 0%, transparent 70%);
}
.scn-bonnie-lists-all-violations .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #241e18 0%, #141008 100%);
}
.scn-bonnie-lists-all-violations .desk {
  position: absolute; bottom: 20%; left: 20%; right: 20%; height: 12%; background: linear-gradient(180deg, #5a4230 0%, #3a2a1a 100%); border-radius: 8% 8% 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.5);
}
.scn-bonnie-lists-all-violations .chair {
  position: absolute; bottom: 32%; left: 42%; width: 40px; height: 50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e12 100%); border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
}
.scn-bonnie-lists-all-violations .figure-profile {
  position: absolute; bottom: 32%; left: 46%; width: 28px; height: 60px; background: linear-gradient(170deg, #1a1410 0%, #0a0804 100%); border-radius: 45% 45% 40% 40% / 55% 55% 40% 40%; transform-origin: bottom center; animation: blv-figure 5s ease-in-out infinite alternate;
}
.scn-bonnie-lists-all-violations .list-paper {
  position: absolute; bottom: 24%; left: 24%; width: 40px; height: 60px; background: linear-gradient(180deg, #d4c8a8 0%, #a89870 100%); border-radius: 4%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); animation: blv-list 6s ease-in-out infinite;
}
.scn-bonnie-lists-all-violations .lamp-glow {
  position: absolute; bottom: 32%; left: 30%; width: 16px; height: 20px; background: radial-gradient(circle, #d4a060 0%, #a07030 70%); border-radius: 50%; box-shadow: 0 0 20px 8px #b08040, 0 0 40px 16px rgba(176,128,64,0.3); animation: blv-lamp 3s ease-in-out infinite alternate;
}
.scn-bonnie-lists-all-violations .pen {
  position: absolute; bottom: 24%; left: 38%; width: 4px; height: 28px; background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%); border-radius: 20%; transform-origin: bottom center; animation: blv-pen 2s ease-in-out infinite;
}

@keyframes blv-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes blv-list { 0% { transform: translateY(0) rotate(-2deg); } 30% { transform: translateY(-4px) rotate(3deg); } 60% { transform: translateY(-2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes blv-lamp { 0% { box-shadow: 0 0 15px 4px #b08040; opacity: 0.8; } 50% { box-shadow: 0 0 30px 12px #e0b060; opacity: 1; } 100% { box-shadow: 0 0 20px 6px #a07030; opacity: 0.85; } }
@keyframes blv-pen { 0% { transform: rotate(-10deg) translateY(0); } 25% { transform: rotate(0deg) translateY(-2px); } 50% { transform: rotate(10deg) translateY(0); } 75% { transform: rotate(5deg) translateY(-1px); } 100% { transform: rotate(-10deg) translateY(0); } }

/* Scene: compromise-reached */
.scn-compromise-reached {
  background: linear-gradient(180deg, #1e1814 0%, #2c241c 50%, #1a140e 100%), radial-gradient(ellipse at 60% 40%, #3a2e22 0%, transparent 60%);
}
.scn-compromise-reached .room-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #241e18 0%, #140e0a 100%);
}
.scn-compromise-reached .parrot {
  position: absolute; top: 20%; left: 15%; width: 30px; height: 40px; background: linear-gradient(180deg, #6a8a3a 0%, #4a6a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: cr-parrot 4s ease-in-out infinite alternate;
}
.scn-compromise-reached .dog {
  position: absolute; bottom: 10%; left: 25%; width: 28px; height: 20px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1e14 100%); border-radius: 50% 50% 30% 30%; animation: cr-dog 3s ease-in-out infinite alternate;
}
.scn-compromise-reached .garbage-can {
  position: absolute; bottom: 10%; right: 20%; width: 40px; height: 50px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 10% 10% 5% 5%; box-shadow: 0 2px 6px rgba(0,0,0,0.5); animation: cr-can 6s ease-in-out infinite;
}
.scn-compromise-reached .window-box {
  position: absolute; top: 10%; right: 10%; width: 60px; height: 40px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius: 10%; box-shadow: 0 2px 8px rgba(0,0,0,0.4); animation: cr-box 5s ease-in-out infinite alternate;
}
.scn-compromise-reached .scattered-paper-a,
.scn-compromise-reached .scattered-paper-b {
  position: absolute; width: 22px; height: 28px; background: linear-gradient(180deg, #d4c8a8 0%, #a89870 100%); border-radius: 4%; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.scn-compromise-reached .scattered-paper-a { top: 40%; left: 40%; animation: cr-paper-a 9s linear infinite; }
.scn-compromise-reached .scattered-paper-b { top: 30%; left: 60%; animation: cr-paper-b 7s linear infinite 1s; }

@keyframes cr-parrot { 0% { transform: rotate(-5deg) scaleX(1); } 50% { transform: rotate(10deg) scaleX(-1); } 100% { transform: rotate(-5deg) scaleX(1); } }
@keyframes cr-dog { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-3px) rotate(5deg); } 60% { transform: translateY(0) rotate(-3deg); } 100% { transform: translateY(-1px) rotate(0deg); } }
@keyframes cr-can { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(2deg); } 50% { transform: translateY(0) rotate(-1deg); } 75% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes cr-box { 0% { transform: rotateX(0deg) translateY(0); } 40% { transform: rotateX(15deg) translateY(-2px); } 80% { transform: rotateX(-5deg) translateY(0); } 100% { transform: rotateX(0deg) translateY(0); } }
@keyframes cr-paper-a { 0% { transform: translateX(0) rotate(0deg); opacity: 1; } 25% { transform: translateX(30px) rotate(45deg); opacity: 0.9; } 50% { transform: translateX(60px) rotate(90deg); opacity: 0.7; } 75% { transform: translateX(90px) rotate(135deg); opacity: 0.5; } 100% { transform: translateX(120px) rotate(180deg); opacity: 0.3; } }
@keyframes cr-paper-b { 0% { transform: translateX(0) rotate(-10deg); opacity: 1; } 20% { transform: translateX(-20px) rotate(20deg); opacity: 0.9; } 40% { transform: translateX(-40px) rotate(-30deg); opacity: 0.7; } 60% { transform: translateX(-60px) rotate(40deg); opacity: 0.5; } 80% { transform: translateX(-80px) rotate(-50deg); opacity: 0.3; } 100% { transform: translateX(-100px) rotate(60deg); opacity: 0.1; } }

.scn-reverend-reveals-trigamy {
  background: 
    linear-gradient(180deg, #f4e9d8 0%, #d4c5a9 100%),
    radial-gradient(ellipse at 50% 30%, #fff5e0 0%, transparent 70%);
}
.scn-reverend-reveals-trigamy .bg-wall {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, #e8dac4 0%, #d4c5a9 50%, #e8dac4 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.06);
  animation: rt-wall 12s ease-in-out infinite alternate;
}
.scn-reverend-reveals-trigamy .bench {
  position: absolute; bottom: 20%; left: 30%; width: 40%; height: 8%;
  background: linear-gradient(180deg, #8a6e4b 0%, #5a4028 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.scn-reverend-reveals-trigamy .judge {
  position: absolute; bottom: 30%; left: 42%; width: 16%; height: 28%;
  background: radial-gradient(ellipse 80% 60% at 50% 30%, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rt-judge 3s ease-in-out infinite;
}
.scn-reverend-reveals-trigamy .reverend {
  position: absolute; bottom: 24%; left: 18%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 70% 60% at 50% 30%, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: 70% 20%;
  animation: rt-reverend 3.5s ease-in-out infinite;
}
.scn-reverend-reveals-trigamy .defendant {
  position: absolute; bottom: 25%; left: 68%; width: 13%; height: 32%;
  background: radial-gradient(ellipse 75% 55% at 50% 30%, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rt-defendant 4s ease-in-out infinite alternate;
}
.scn-reverend-reveals-trigamy .wife {
  position: absolute; bottom: 22%; width: 8%; height: 26%;
  background: radial-gradient(ellipse 70% 60% at 50% 30%, #78685a 0%, #483828 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
}
.scn-reverend-reveals-trigamy .wife-a { left: 54%; animation: rt-wife-a 4.5s ease-in-out infinite; }
.scn-reverend-reveals-trigamy .wife-b { left: 62%; animation: rt-wife-b 4.5s ease-in-out infinite 0.5s; }
.scn-reverend-reveals-trigamy .wife-c { left: 70%; animation: rt-wife-c 4.5s ease-in-out infinite 1s; }

@keyframes rt-wall {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.92; }
}
@keyframes rt-judge {
  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 rt-reverend {
  0% { transform: rotate(0) scale(1); }
  33% { transform: rotate(6deg) scale(1.02); }
  66% { transform: rotate(-3deg) scale(0.98); }
  100% { transform: rotate(0) scale(1); }
}
@keyframes rt-defendant {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(2px) scale(1.03); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes rt-wife-a {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes rt-wife-b {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(2deg); }
}
@keyframes rt-wife-c {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-1px) rotate(-2deg); }
}

.scn-acquittal-and-aftermath {
  background:
    linear-gradient(180deg, #eee0c8 0%, #d9c8a8 100%),
    radial-gradient(ellipse at 30% 40%, #fff8e8 0%, transparent 70%);
}
.scn-acquittal-and-aftermath .bg-wall {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #e8dac4, #d4c5a9, #e8dac4);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.04);
}
.scn-acquittal-and-aftermath .bench {
  position: absolute; bottom: 15%; left: 20%; width: 60%; height: 10%;
  background: linear-gradient(180deg, #7a5e3a 0%, #4a3020 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}
.scn-acquittal-and-aftermath .judge {
  position: absolute; bottom: 28%; left: 40%; width: 20%; height: 32%;
  background: radial-gradient(ellipse 80% 60% at 50% 30%, #3a2a1a 0%, #1a120a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aa-judge 4s ease-in-out infinite;
}
.scn-acquittal-and-aftermath .defendant {
  position: absolute; bottom: 22%; left: 14%; width: 14%; height: 34%;
  background: radial-gradient(ellipse 75% 55% at 50% 30%, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: aa-defendant 3.5s ease-in-out infinite alternate;
}
.scn-acquittal-and-aftermath .caput {
  position: absolute; bottom: 20%; left: 70%; width: 12%; height: 28%;
  background: radial-gradient(ellipse 70% 50% at 50% 30%, #5a4a3a 0%, #2a1a10 100%);
  border-radius: 50% 50% 0 0;
  transform-origin: bottom center;
  animation: aa-caput 6s ease-in-out infinite;
}
.scn-acquittal-and-aftermath .lawyer {
  position: absolute; bottom: 26%; left: 55%; width: 12%; height: 30%;
  background: radial-gradient(ellipse 70% 60% at 50% 30%, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: 70% 20%;
  animation: aa-lawyer 4.2s ease-in-out infinite alternate;
}
@keyframes aa-judge {
  0% { transform: translateY(0) rotate(0); }
  20% { transform: translateY(-2px) rotate(2deg); }
  40% { transform: translateY(0) rotate(0); }
  60% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes aa-defendant {
  0% { transform: translateX(0) scale(1); }
  50% { transform: translateX(3px) scale(1.05); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes aa-caput {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-4px) scale(0.95); opacity: 0.5; }
}
@keyframes aa-lawyer {
  0% { transform: rotate(0) scale(1); }
  33% { transform: rotate(5deg) scale(1.02); }
  66% { transform: rotate(-2deg) scale(0.98); }
  100% { transform: rotate(0) scale(1); }
}

.scn-the-two-wives-remain {
  background:
    linear-gradient(180deg, #d3c5b0 0%, #b8a68e 100%),
    radial-gradient(ellipse at 50% 50%, #e8dcc8 0%, transparent 70%);
}
.scn-the-two-wives-remain .corridor {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #c4b49e 0%, #a8947c 40%, #c4b49e 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.08);
}
.scn-the-two-wives-remain .woman-left {
  position: absolute; bottom: 20%; left: 20%; width: 14%; height: 36%;
  background: radial-gradient(ellipse 70% 60% at 50% 40%, #78685a 0%, #483828 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: tw-woman-left 3s ease-in-out infinite alternate;
}
.scn-the-two-wives-remain .woman-right {
  position: absolute; bottom: 20%; right: 20%; width: 14%; height: 36%;
  background: radial-gradient(ellipse 70% 60% at 50% 40%, #785840 0%, #482818 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: tw-woman-right 3s ease-in-out infinite alternate 0.5s;
}
.scn-the-two-wives-remain .caput-sneak {
  position: absolute; bottom: 22%; left: 48%; width: 10%; height: 28%;
  background: radial-gradient(ellipse 70% 50% at 50% 30%, #5a4a3a 0%, #2a1a10 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 20% 20%;
  animation: tw-caput 5s ease-in-out infinite;
}
.scn-the-two-wives-remain .doorway {
  position: absolute; bottom: 10%; left: 65%; width: 15%; height: 70%;
  background: linear-gradient(180deg, #a08870 0%, #7a6048 100%);
  border-radius: 6px 6px 0 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
}
.scn-the-two-wives-remain .light {
  position: absolute; top: 10%; left: 30%; width: 20%; height: 20%;
  background: radial-gradient(ellipse at 50% 50%, #ffe8b0 0%, transparent 100%);
  opacity: 0.6;
  animation: tw-light 8s ease-in-out infinite alternate;
}
@keyframes tw-woman-left {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes tw-woman-right {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0); }
}
@keyframes tw-caput {
  0% { transform: translateX(0) scale(1); opacity: 0.9; }
  25% { transform: translateX(-10px) scale(0.95); opacity: 0.8; }
  50% { transform: translateX(-20px) scale(0.9); opacity: 0.6; }
  75% { transform: translateX(-10px) scale(0.95); opacity: 0.8; }
  100% { transform: translateX(0) scale(1); opacity: 0.9; }
}
@keyframes tw-light {
  0% { opacity: 0.4; transform: scale(0.95); }
  50% { opacity: 0.7; transform: scale(1.05); }
  100% { opacity: 0.5; transform: scale(1); }
}

.scn-payson-clifford-death {
  background:
    linear-gradient(180deg, #e8dcc8 0%, #d4c4a8 100%),
    radial-gradient(ellipse at 30% 40%, #fff5e0 0%, transparent 70%);
}
.scn-payson-clifford-death .room-bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #ddd0b8, #c8b89c, #ddd0b8);
  box-shadow: inset 0 0 40px rgba(0,0,0,0.05);
}
.scn-payson-clifford-death .desk {
  position: absolute; bottom: 10%; left: 15%; width: 70%; height: 12%;
  background: linear-gradient(180deg, #7a5e3a 0%, #4a3020 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.scn-payson-clifford-death .figure-one {
  position: absolute; bottom: 24%; left: 20%; width: 16%; height: 34%;
  background: radial-gradient(ellipse 75% 55% at 50% 30%, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pc-figure1 12s ease-in-out infinite alternate;
}
.scn-payson-clifford-death .figure-two {
  position: absolute; bottom: 24%; right: 18%; width: 16%; height: 34%;
  background: radial-gradient(ellipse 75% 55% at 50% 30%, #4a3a2a 0%, #2a1a10 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pc-figure2 10s ease-in-out infinite alternate;
}
.scn-payson-clifford-death .newspaper {
  position: absolute; bottom: 26%; left: 38%; width: 24%; height: 16%;
  background: linear-gradient(135deg, #f8f0e0 0%, #e0d0b0 50%, #f8f0e0 100%);
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transform-origin: 50% 100%;
  animation: pc-newspaper 14s ease-in-out infinite;
}
.scn-payson-clifford-death .lamp {
  position: absolute; top: 10%; left: 25%; width: 10%; height: 20%;
  background: radial-gradient(ellipse at 50% 100%, #ffe8b0 0%, transparent 100%);
  opacity: 0.7;
  animation: pc-lamp 8s ease-in-out infinite alternate;
}
@keyframes pc-figure1 {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pc-figure2 {
  0% { transform: translateY(0) rotate(0); }
  33% { transform: translateY(-1px) rotate(-1deg); }
  66% { transform: translateY(-2px) rotate(0); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes pc-newspaper {
  0% { transform: rotate(0) scale(1); }
  25% { transform: rotate(2deg) scale(1.01); }
  50% { transform: rotate(0) scale(1); }
  75% { transform: rotate(-1deg) scale(0.99); }
  100% { transform: rotate(0) scale(1); }
}
@keyframes pc-lamp {
  0% { opacity: 0.5; transform: scale(0.95); }
  50% { opacity: 0.8; transform: scale(1.05); }
  100% { opacity: 0.6; transform: scale(1); }
}

/* wrong-place-trouble - calm bright interior */
.scn-wrong-place-trouble {
  background: 
    linear-gradient(180deg, #fae6c8 0%, #e8d4b0 40%, #d4bc9a 100%),
    radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 60%);
}
.scn-wrong-place-trouble .room-bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(180deg, #f5e4c8 0%, #e2cbaa 100%);
  border-radius: 0 0 8% 8% / 0 0 20% 20%;
  animation: wpt-room 12s ease-in-out infinite alternate;
}
.scn-wrong-place-trouble .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 25%;
  background: linear-gradient(180deg, #b58a5f 0%, #8b6b45 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
  animation: wpt-floor 15s ease-in-out infinite alternate;
}
.scn-wrong-place-trouble .window {
  position: absolute; top: 8%; left: 20%; width: 30%; height: 35%;
  background: linear-gradient(180deg, #b0d4e8 0%, #8bbcd4 100%);
  border: 6px solid #6a4e3a;
  border-radius: 4%;
  box-shadow: inset 0 0 20px rgba(255,255,230,0.4), 0 4px 8px rgba(0,0,0,0.2);
  animation: wpt-window 20s ease-in-out infinite alternate;
}
.scn-wrong-place-trouble .brass-bed {
  position: absolute; bottom: 22%; left: 30%; width: 40%; height: 20%;
  background: linear-gradient(180deg, #d4a853 0%, #b8913a 100%);
  border-radius: 12px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3), inset 0 2px 6px rgba(255,200,100,0.5);
  animation: wpt-bed 8s ease-in-out infinite;
}
.scn-wrong-place-trouble .figure {
  position: absolute; bottom: 24%; left: 35%; width: 8%; height: 25%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wpt-figure 6s ease-in-out infinite;
}
.scn-wrong-place-trouble .lamp {
  position: absolute; bottom: 36%; left: 22%; width: 4%; height: 6%;
  background: radial-gradient(circle, #fce8b0 0%, #e8c880 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 24px 8px #fce8b0, 0 0 48px 16px rgba(252,232,176,0.4);
  animation: wpt-lamp 3s ease-in-out infinite alternate;
}
.scn-wrong-place-trouble .camel-outside {
  position: absolute; top: 18%; left: 22%; width: 12%; height: 14%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 60% 40% 30% 50% / 50% 60% 40% 50%;
  filter: blur(2px);
  opacity: 0.7;
  animation: wpt-camel 25s ease-in-out infinite;
}
@keyframes wpt-room {
  0% { transform: scale(1); }
  50% { transform: scale(1.02) translateY(-2px); }
  100% { transform: scale(1); }
}
@keyframes wpt-floor {
  0% { opacity: 0.9; }
  50% { opacity: 1; }
  100% { opacity: 0.85; }
}
@keyframes wpt-window {
  0% { background-position: 0 0; }
  100% { background-position: 10% 5%; }
}
@keyframes wpt-bed {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(-1deg); }
}
@keyframes wpt-figure {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(4px) translateY(0) rotate(-1deg); }
  75% { transform: translateX(6px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(8px) translateY(0) rotate(0deg); }
}
@keyframes wpt-lamp {
  0% { opacity: 0.8; box-shadow: 0 0 16px 4px #fce8b0, 0 0 32px 8px rgba(252,232,176,0.3); }
  50% { opacity: 1; box-shadow: 0 0 32px 10px #fff0c0, 0 0 64px 18px rgba(255,240,192,0.5); }
  100% { opacity: 0.85; box-shadow: 0 0 20px 5px #fce8b0, 0 0 40px 10px rgba(252,232,176,0.35); }
}
@keyframes wpt-camel {
  0% { transform: translateX(-10px) scaleX(1); }
  50% { transform: translateX(5px) scaleX(-1); }
  100% { transform: translateX(-10px) scaleX(1); }
}

/* brass-bed-yarn - funny bright interior */
.scn-brass-bed-yarn {
  background: 
    linear-gradient(180deg, #fdf0d8 0%, #f0d8b8 50%, #e0c4a0 100%),
    radial-gradient(ellipse at 60% 40%, #fff5e0 0%, transparent 50%);
}
.scn-brass-bed-yarn .room-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #f7e6cf 0%, #ebd1b0 100%);
  border-radius: 0 0 12% 12% / 0 0 30% 30%;
  animation: bby-room 10s ease-in-out infinite alternate;
}
.scn-brass-bed-yarn .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 20%;
  background: linear-gradient(180deg, #c49a6a 0%, #a07850 100%);
  border-radius: 30% 30% 0 0 / 60% 60% 0 0;
  box-shadow: inset 0 6px 15px rgba(0,0,0,0.12);
  animation: bby-floor 14s ease-in-out infinite alternate;
}
.scn-brass-bed-yarn .brass-bed {
  position: absolute; bottom: 18%; left: 25%; width: 50%; height: 25%;
  background: linear-gradient(180deg, #dbb050 0%, #c09530 100%);
  border-radius: 10px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.25), inset 0 3px 8px rgba(255,200,80,0.6);
  animation: bby-bed 4s ease-in-out infinite;
}
.scn-brass-bed-yarn .figure-tutt {
  position: absolute; bottom: 22%; left: 28%; width: 10%; height: 30%;
  background: linear-gradient(180deg, #3c2c1c 0%, #2c1c0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bby-tutt 6s ease-in-out infinite;
}
.scn-brass-bed-yarn .figure-wiggin {
  position: absolute; bottom: 22%; right: 28%; width: 9%; height: 28%;
  background: linear-gradient(180deg, #e8c8a0 0%, #d8b090 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bby-wiggin 5s ease-in-out infinite alternate;
}
.scn-brass-bed-yarn .turk-silhouette {
  position: absolute; bottom: 20%; left: 50%; width: 8%; height: 22%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 40% 30% 40% / 60% 50% 40% 50%;
  transform: translateX(-50%);
  animation: bby-turk 3s ease-in-out infinite;
}
@keyframes bby-room {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.01) translateY(-3px); }
  100% { transform: scale(1) translateY(0); }
}
@keyframes bby-floor {
  0% { opacity: 0.85; }
  50% { opacity: 1; }
  100% { opacity: 0.9; }
}
@keyframes bby-bed {
  0%,100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(-2px) rotate(1deg); }
  50% { transform: translateX(0) rotate(0deg); }
  75% { transform: translateX(2px) rotate(-1deg); }
}
@keyframes bby-tutt {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(3px) translateY(-2px) rotate(2deg); }
  50% { transform: translateX(6px) translateY(0) rotate(0deg); }
  75% { transform: translateX(9px) translateY(-2px) rotate(-2deg); }
  100% { transform: translateX(12px) translateY(0) rotate(0deg); }
}
@keyframes bby-wiggin {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(-3px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(-6px) translateY(0) rotate(0deg); }
}
@keyframes bby-turk {
  0%,100% { transform: translateX(-50%) scaleY(1); }
  50% { transform: translateX(-50%) scaleY(1.05); }
}

/* massacre-from-bed - dark bright interior */
.scn-massacre-from-bed {
  background: 
    linear-gradient(180deg, #3c2a2a 0%, #5a3a3a 30%, #7a5a4a 100%),
    radial-gradient(ellipse at 50% 60%, #8a6a4a 0%, transparent 70%);
}
.scn-massacre-from-bed .room-bg {
  position: absolute; inset: 0 0 15% 0;
  background: linear-gradient(180deg, #4a3a3a 0%, #6a4a3a 100%);
  border-radius: 0 0 20% 20% / 0 0 40% 40%;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
  animation: mfb-room 18s ease-in-out infinite alternate;
}
.scn-massacre-from-bed .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 40% 40% 0 0 / 80% 80% 0 0;
  box-shadow: inset 0 10px 25px rgba(0,0,0,0.6);
  animation: mfb-floor 22s ease-in-out infinite alternate;
}
.scn-massacre-from-bed .brass-bed {
  position: absolute; bottom: 12%; left: 20%; width: 60%; height: 22%;
  background: linear-gradient(180deg, #b89040 0%, #9a7028 100%);
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5), inset 0 3px 10px rgba(200,160,80,0.4);
  animation: mfb-bed 9s ease-in-out infinite;
}
.scn-massacre-from-bed .turk-figure {
  position: absolute; bottom: 16%; left: 28%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mfb-turk 7s ease-in-out infinite;
}
.scn-massacre-from-bed .friend-figure {
  position: absolute; bottom: 16%; right: 28%; width: 9%; height: 26%;
  background: linear-gradient(180deg, #3a1a1a 0%, #2a0a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mfb-friend 8s ease-in-out infinite alternate;
}
.scn-massacre-from-bed .hookah {
  position: absolute; bottom: 14%; left: 40%; width: 6%; height: 10%;
  background: linear-gradient(180deg, #6a4a3a 0%, #4a2a1a 100%);
  border-radius: 50% 50% 20% 20% / 40% 40% 20% 20%;
  animation: mfb-hookah 5s ease-in-out infinite;
}
.scn-massacre-from-bed .lantern {
  position: absolute; bottom: 28%; left: 30%; width: 4%; height: 6%;
  background: radial-gradient(circle, #f0c060 0%, #c08030 100%);
  border-radius: 50% 50% 30% 30%;
  box-shadow: 0 0 30px 10px #e0a040, 0 0 60px 20px rgba(200,100,40,0.4);
  animation: mfb-lantern 4s ease-in-out infinite alternate;
}
@keyframes mfb-room {
  0% { opacity: 0.7; }
  50% { opacity: 0.9; }
  100% { opacity: 0.75; }
}
@keyframes mfb-floor {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes mfb-bed {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(-0.5deg); }
}
@keyframes mfb-turk {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  50% { transform: translateX(4px) translateY(0) rotate(0deg); }
  75% { transform: translateX(6px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(8px) translateY(0) rotate(0deg); }
}
@keyframes mfb-friend {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(-3px) translateY(-2px) rotate(-2deg); }
  100% { transform: translateX(-6px) translateY(0) rotate(0deg); }
}
@keyframes mfb-hookah {
  0%,100% { transform: scaleY(1); }
  50% { transform: scaleY(1.04); }
}
@keyframes mfb-lantern {
  0% { opacity: 0.6; box-shadow: 0 0 20px 6px #e0a040, 0 0 40px 12px rgba(200,100,40,0.3); }
  50% { opacity: 1; box-shadow: 0 0 40px 14px #f0c060, 0 0 80px 24px rgba(240,192,96,0.5); }
  100% { opacity: 0.7; box-shadow: 0 0 25px 8px #e0a040, 0 0 50px 16px rgba(200,100,40,0.35); }
}

/* pawnbroker-takes-bed - dark bright interior */
.scn-pawnbroker-takes-bed {
  background: 
    linear-gradient(180deg, #2a2a2a 0%, #3a2a2a 30%, #4a3a2a 100%),
    radial-gradient(ellipse at 60% 30%, #6a4a2a 0%, transparent 60%);
}
.scn-pawnbroker-takes-bed .shop-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #4a3a2a 0%, #3a2a1a 100%);
  border-radius: 0 0 15% 15% / 0 0 35% 35%;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
  animation: ptb-shop 16s ease-in-out infinite alternate;
}
.scn-pawnbroker-takes-bed .counter {
  position: absolute; bottom: 20%; left: 10%; right: 10%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: ptb-counter 12s ease-in-out infinite alternate;
}
.scn-pawnbroker-takes-bed .brass-bed {
  position: absolute; bottom: 8%; right: 12%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #c09040 0%, #a07028 100%);
  border-radius: 8px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.5), inset 0 2px 8px rgba(200,160,80,0.4);
  animation: ptb-bed 7s ease-in-out infinite;
}
.scn-pawnbroker-takes-bed .pawnbroker {
  position: absolute; bottom: 22%; left: 15%; width: 8%; height: 24%;
  background: linear-gradient(180deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ptb-pawn 5s ease-in-out infinite alternate;
}
.scn-pawnbroker-takes-bed .turk-figure {
  position: absolute; bottom: 22%; right: 40%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #4a2a1a 0%, #3a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ptb-turk 6s ease-in-out infinite;
}
.scn-pawnbroker-takes-bed .doorway {
  position: absolute; bottom: 15%; left: 35%; width: 20%; height: 30%;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-radius: 20px 20px 0 0;
  box-shadow: inset 0 0 20px rgba(255,255,200,0.1);
  animation: ptb-door 20s ease-in-out infinite alternate;
}
.scn-pawnbroker-takes-bed .shadow {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
  animation: ptb-shadow 25s ease-in-out infinite alternate;
}
@keyframes ptb-shop {
  0% { opacity: 0.8; }
  50% { opacity: 0.95; }
  100% { opacity: 0.85; }
}
@keyframes ptb-counter {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}
@keyframes ptb-bed {
  0%,100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-2px) rotate(1deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(2px) rotate(-1deg); }
}
@keyframes ptb-pawn {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(4px) translateY(-1px) rotate(2deg); }
  100% { transform: translateX(8px) translateY(0) rotate(0deg); }
}
@keyframes ptb-turk {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(-2px) translateY(-1px) rotate(-1deg); }
  50% { transform: translateX(-4px) translateY(0) rotate(0deg); }
  75% { transform: translateX(-6px) translateY(-1px) rotate(1deg); }
  100% { transform: translateX(-8px) translateY(0) rotate(0deg); }
}
@keyframes ptb-door {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.02); }
  100% { transform: scaleY(1); }
}
@keyframes ptb-shadow {
  0% { opacity: 0.3; }
  50% { opacity: 0.5; }
  100% { opacity: 0.35; }
}

.scn-georges-secret-story {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #2a1a1e 40%, #1a0e12 100%),
    radial-gradient(ellipse at 15% 70%, #5a3a2a 0%, transparent 60%);
}
.scn-georges-secret-story .gss-room {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 60%, #3a2a22 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.scn-georges-secret-story .gss-desk {
  position: absolute;
  bottom: 12%;
  left: 15%;
  width: 55%;
  height: 8%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
}
.scn-georges-secret-story .gss-lamp-glow {
  position: absolute;
  bottom: 22%;
  left: 8%;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, #d4a060 0%, #8a5a30 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: gss-lamp 3s ease-in-out infinite alternate;
}
.scn-georges-secret-story .gss-figure-1 {
  position: absolute;
  bottom: 20%;
  left: 20%;
  width: 24px;
  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: gss-fig1 6s ease-in-out infinite;
}
.scn-georges-secret-story .gss-figure-2 {
  position: absolute;
  bottom: 20%;
  left: 55%;
  width: 30px;
  height: 72px;
  background: linear-gradient(180deg, #2a1a1e 0%, #1a0a0e 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: gss-fig2 4s ease-in-out infinite alternate;
}
.scn-georges-secret-story .gss-shadow-1 {
  position: absolute;
  bottom: 16%;
  left: 18%;
  width: 40px;
  height: 20px;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  filter: blur(6px);
  animation: gss-shade1 8s ease-in-out infinite;
}
.scn-georges-secret-story .gss-shadow-2 {
  position: absolute;
  bottom: 16%;
  left: 52%;
  width: 50px;
  height: 24px;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  filter: blur(6px);
  animation: gss-shade2 6s ease-in-out infinite alternate;
}
@keyframes gss-lamp {
  0% { opacity: 0.7; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1.05); }
  100% { opacity: 0.8; transform: scale(0.98); }
}
@keyframes gss-fig1 {
  0% { transform: translateX(0) translateY(0) rotate(-2deg); }
  33% { transform: translateX(4px) translateY(-2px) rotate(1deg); }
  66% { transform: translateX(8px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(2px) translateY(-1px) rotate(0); }
}
@keyframes gss-fig2 {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-4px) rotate(2deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes gss-shade1 {
  0% { transform: scaleX(1) translateX(0); }
  50% { transform: scaleX(1.2) translateX(6px); }
  100% { transform: scaleX(0.9) translateX(3px); }
}
@keyframes gss-shade2 {
  0% { transform: scaleY(1) translateX(0); }
  50% { transform: scaleY(1.3) translateX(-4px); }
  100% { transform: scaleY(0.9) translateX(2px); }
}

.scn-miss-beekman-katie-dismissal {
  background:
    linear-gradient(180deg, #f5f0e8 0%, #e8ded0 40%, #d4c8b8 100%),
    radial-gradient(ellipse at 70% 30%, #fff5e0 0%, transparent 60%);
}
.scn-miss-beekman-katie-dismissal .mbk-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #f0e8d8 60%, #d8c8b0 100%);
}
.scn-miss-beekman-katie-dismissal .mbk-window {
  position: absolute;
  top: 10%;
  left: 20%;
  width: 30%;
  height: 50%;
  background: linear-gradient(180deg, #c8e0f0 0%, #b0d0e0 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(180,210,230,0.5);
  animation: mbk-window 12s ease-in-out infinite alternate;
}
.scn-miss-beekman-katie-dismissal .mbk-curtain-l {
  position: absolute;
  top: 9%;
  left: 17%;
  width: 12%;
  height: 52%;
  background: linear-gradient(90deg, #e0d0b0 0%, #c8b898 30%, transparent 100%);
  border-radius: 0 20% 20% 0;
  animation: mbk-curtain 8s ease-in-out infinite alternate;
}
.scn-miss-beekman-katie-dismissal .mbk-curtain-r {
  position: absolute;
  top: 9%;
  right: 17%;
  width: 12%;
  height: 52%;
  background: linear-gradient(270deg, #e0d0b0 0%, #c8b898 30%, transparent 100%);
  border-radius: 20% 0 0 20%;
  animation: mbk-curtain 8s ease-in-out infinite alternate-reverse;
}
.scn-miss-beekman-katie-dismissal .mbk-miss-beekman {
  position: absolute;
  bottom: 15%;
  left: 30%;
  width: 32px;
  height: 80px;
  background: linear-gradient(180deg, #d0c8b0 0%, #b8a890 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mbk-miss 5s ease-in-out infinite alternate;
}
.scn-miss-beekman-katie-dismissal .mbk-housekeeper {
  position: absolute;
  bottom: 15%;
  left: 55%;
  width: 28px;
  height: 74px;
  background: linear-gradient(180deg, #8a7a6a 0%, #6a5a4a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mbk-house 6s ease-in-out infinite alternate;
}
.scn-miss-beekman-katie-dismissal .mbk-table {
  position: absolute;
  bottom: 16%;
  left: 42%;
  width: 20%;
  height: 6%;
  background: linear-gradient(180deg, #b8a080 0%, #8a7050 100%);
  border-radius: 10% 10% 0 0;
}
.scn-miss-beekman-katie-dismissal .mbk-teacup {
  position: absolute;
  bottom: 22%;
  left: 46%;
  width: 8%;
  height: 5%;
  background: radial-gradient(ellipse, #f0e8d8 0%, #d0c8b0 100%);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  animation: mbk-tea 10s ease-in-out infinite;
}
@keyframes mbk-window {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.95; transform: scaleY(0.98); }
}
@keyframes mbk-curtain {
  0% { transform: translateX(0); }
  50% { transform: translateX(-3px); }
  100% { transform: translateX(2px); }
}
@keyframes mbk-miss {
  0% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mbk-house {
  0% { transform: translateY(0) rotate(0); }
  33% { transform: translateY(-3px) rotate(2deg); }
  66% { transform: translateY(-1px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mbk-tea {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-1px) scale(1.03); }
}

.scn-miss-beekman-regrets {
  background:
    linear-gradient(180deg, #f0e8d8 0%, #d8c8b0 40%, #b8a890 100%),
    radial-gradient(ellipse at 70% 30%, #fff8e8 0%, transparent 70%);
}
.scn-miss-beekman-regrets .mbr-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #f0e0c8 60%, #c8b098 100%);
}
.scn-miss-beekman-regrets .mbr-window {
  position: absolute;
  top: 10%;
  left: 20%;
  width: 30%;
  height: 50%;
  background: linear-gradient(180deg, #b0d0e0 0%, #90b0c0 100%);
  border-radius: 4% 4% 2% 2%;
  box-shadow: inset 0 0 30px rgba(140,180,200,0.5);
  animation: mbr-window 4s ease-in-out infinite alternate;
}
.scn-miss-beekman-regrets .mbr-curtain-l {
  position: absolute;
  top: 9%;
  left: 17%;
  width: 12%;
  height: 52%;
  background: linear-gradient(90deg, #c8b898 0%, #b0a080 30%, transparent 100%);
  border-radius: 0 20% 20% 0;
  animation: mbr-curtain 3s ease-in-out infinite alternate;
}
.scn-miss-beekman-regrets .mbr-curtain-r {
  position: absolute;
  top: 9%;
  right: 17%;
  width: 12%;
  height: 52%;
  background: linear-gradient(270deg, #c8b898 0%, #b0a080 30%, transparent 100%);
  border-radius: 20% 0 0 20%;
  animation: mbr-curtain 3s ease-in-out infinite alternate-reverse;
}
.scn-miss-beekman-regrets .mbr-miss-beekman {
  position: absolute;
  bottom: 15%;
  left: 28%;
  width: 32px;
  height: 80px;
  background: linear-gradient(180deg, #c8b898 0%, #a89078 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mbr-miss 2.5s ease-in-out infinite alternate;
}
.scn-miss-beekman-regrets .mbr-housekeeper {
  position: absolute;
  bottom: 15%;
  left: 56%;
  width: 28px;
  height: 74px;
  background: linear-gradient(180deg, #7a6a5a 0%, #5a4a3a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: mbr-house 3s ease-in-out infinite alternate;
}
.scn-miss-beekman-regrets .mbr-table {
  position: absolute;
  bottom: 16%;
  left: 42%;
  width: 20%;
  height: 6%;
  background: linear-gradient(180deg, #a89070 0%, #7a6040 100%);
  border-radius: 10% 10% 0 0;
}
.scn-miss-beekman-regrets .mbr-teacup {
  position: absolute;
  bottom: 22%;
  left: 46%;
  width: 8%;
  height: 5%;
  background: radial-gradient(ellipse, #e0d0b8 0%, #c0b098 100%);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  animation: mbr-tea 2s ease-in-out infinite;
}
.scn-miss-beekman-regrets .mbr-clock {
  position: absolute;
  top: 8%;
  right: 12%;
  width: 20px;
  height: 24px;
  background: #8a7a6a;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  animation: mbr-clock 1s ease-in-out infinite;
}
@keyframes mbr-window {
  0% { opacity: 0.85; transform: scaleY(1); }
  25% { opacity: 1; transform: scaleY(1.03); }
  75% { opacity: 0.9; transform: scaleY(0.97); }
  100% { opacity: 0.95; transform: scaleY(1); }
}
@keyframes mbr-curtain {
  0% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(4px); }
  100% { transform: translateX(-2px); }
}
@keyframes mbr-miss {
  0% { transform: translateY(0) rotate(-2deg); }
  33% { transform: translateY(-5px) rotate(3deg); }
  66% { transform: translateY(2px) rotate(-1deg); }
  100% { transform: translateY(-1px) rotate(1deg); }
}
@keyframes mbr-house {
  0% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-5px) rotate(3deg); }
  75% { transform: translateY(2px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes mbr-tea {
  0%,100% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-3px) scale(1.05); }
  75% { transform: translateY(1px) scale(0.95); }
}
@keyframes mbr-clock {
  0%,100% { transform: rotate(0); }
  25% { transform: rotate(15deg); }
  75% { transform: rotate(-10deg); }
}

.scn-shane-kills-mc-gurk {
  background:
    linear-gradient(180deg, #1a1210 0%, #2a1a12 40%, #1a0e0a 100%),
    radial-gradient(ellipse at 30% 60%, #4a3020 0%, transparent 70%);
}
.scn-shane-kills-mc-gurk .skm-barroom {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2a1a10 60%, #1a0e08 100%);
}
.scn-shane-kills-mc-gurk .skm-lamp-glow {
  position: absolute;
  top: 12%;
  left: 28%;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, #b08040 0%, #5a3010 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(10px);
  animation: skm-lamp 2.5s ease-in-out infinite alternate;
}
.scn-shane-kills-mc-gurk .skm-shane {
  position: absolute;
  bottom: 18%;
  left: 22%;
  width: 26px;
  height: 70px;
  background: linear-gradient(180deg, #1a1212 0%, #0a0808 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: skm-shane 1.5s ease-in-out infinite;
}
.scn-shane-kills-mc-gurk .skm-shane::after {
  content: '';
  position: absolute;
  top: 20%;
  right: -6px;
  width: 14px;
  height: 4px;
  background: #3a2a1a;
  border-radius: 2px;
  transform: rotate(-20deg);
  animation: skm-gun 2s ease-in-out infinite;
}
.scn-shane-kills-mc-gurk .skm-mcgurk {
  position: absolute;
  bottom: 8%;
  left: 50%;
  width: 30px;
  height: 40px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0e0a 100%);
  border-radius: 50% 50% 20% 20% / 70% 70% 20% 20%;
  transform: rotate(20deg) translateX(10px);
  animation: skm-fall 2s ease-out infinite;
}
.scn-shane-kills-mc-gurk .skm-bar {
  position: absolute;
  bottom: 14%;
  left: 10%;
  width: 80%;
  height: 8%;
  background: linear-gradient(180deg, #4a3020 0%, #2a1a10 100%);
  border-radius: 4% 4% 0 0;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
}
.scn-shane-kills-mc-gurk .skm-bottle {
  position: absolute;
  bottom: 20%;
  left: 52%;
  width: 8px;
  height: 16px;
  background: #5a3a2a;
  border-radius: 0 0 30% 30%;
  box-shadow: 0 0 8px rgba(0,0,0,0.4);
  animation: skm-bottle 4s ease-in-out infinite;
}
.scn-shane-kills-mc-gurk .skm-smoke-1 {
  position: absolute;
  top: 15%;
  left: 35%;
  width: 30px;
  height: 30px;
  background: rgba(40,30,20,0.3);
  border-radius: 50%;
  filter: blur(12px);
  animation: skm-smoke1 6s linear infinite;
}
.scn-shane-kills-mc-gurk .skm-smoke-2 {
  position: absolute;
  top: 18%;
  right: 30%;
  width: 20px;
  height: 20px;
  background: rgba(40,30,20,0.2);
  border-radius: 50%;
  filter: blur(10px);
  animation: skm-smoke2 8s linear infinite reverse;
}
@keyframes skm-lamp {
  0% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.8; transform: scale(0.95); }
}
@keyframes skm-shane {
  0% { transform: translateY(0) rotate(-2deg); }
  25% { transform: translateY(-8px) rotate(3deg); }
  50% { transform: translateY(2px) rotate(-1deg); }
  75% { transform: translateY(-4px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0); }
}
@keyframes skm-gun {
  0%,100% { transform: rotate(-20deg); }
  50% { transform: rotate(-30deg); }
}
@keyframes skm-fall {
  0% { transform: translateY(0) rotate(0); opacity: 1; }
  50% { transform: translateY(20px) rotate(30deg); opacity: 0.5; }
  100% { transform: translateY(40px) rotate(60deg); opacity: 0; }
}
@keyframes skm-bottle {
  0% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-2px) rotate(5deg); }
  100% { transform: translateY(0) rotate(-5deg); }
}
@keyframes skm-smoke1 {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  50% { transform: translateY(-20px) scale(1.5); opacity: 0.1; }
  100% { transform: translateY(0) scale(1); opacity: 0.3; }
}
@keyframes skm-smoke2 {
  0% { transform: translateX(0) scale(1); opacity: 0.2; }
  50% { transform: translateX(-30px) scale(1.8); opacity: 0.05; }
  100% { transform: translateX(0) scale(1); opacity: 0.2; }
}

.scn-tutts-argue-ethics { background: linear-gradient(180deg, #f5e6d0 0%, #e8d4b8 40%, #d4b896 100%), radial-gradient(ellipse at 70% 30%, #fff8e0 0%, transparent 60%); }
.scn-tutts-argue-ethics .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(90deg, #f0e0c8 0%, #faf0e0 50%, #f0e0c8 100%); }
.scn-tutts-argue-ethics .window { position:absolute; top:8%; left:50%; width:120px; height:160px; transform:translateX(-50%); background: linear-gradient(180deg, #ddebff 0%, #d0d8f0 50%, #ffffff 100%); border:12px solid #8a6e4e; border-radius:4px; box-shadow:inset 0 0 40px rgba(255,255,200,0.3); animation: tae-window 6s ease-in-out infinite alternate; }
.scn-tutts-argue-ethics .sunbeam { position:absolute; top:8%; left:50%; width:80px; height:200px; transform:translateX(-50%) skewX(-6deg); background: linear-gradient(180deg, rgba(255,248,200,0.4) 0%, rgba(255,240,180,0.15) 80%); filter:blur(8px); animation: tae-beam 8s ease-in-out infinite alternate; }
.scn-tutts-argue-ethics .figure-left { position:absolute; bottom:30%; left:20%; width:60px; height:180px; background: linear-gradient(180deg, #2a2a38 0%, #1a1a28 40%, #0e0e1a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: tae-figure-left 4s ease-in-out infinite alternate; }
.scn-tutts-argue-ethics .figure-right { position:absolute; bottom:30%; right:20%; width:70px; height:185px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 40%, #1a0e0e 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: tae-figure-right 3.5s ease-in-out infinite alternate; }
.scn-tutts-argue-ethics .desk { position:absolute; bottom:10%; left:10%; right:10%; height:20%; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius:2px; box-shadow:0 -4px 12px rgba(0,0,0,0.3); animation: tae-desk 12s ease-in-out infinite; }
.scn-tutts-argue-ethics .papers { position:absolute; bottom:22%; left:25%; width:50px; height:30px; background: #f0e8d8; border-radius:2px; box-shadow:0 2px 4px rgba(0,0,0,0.2), 0 0 0 1px #d0c4b0; transform:rotate(-3deg); animation: tae-papers 5s ease-in-out infinite alternate; }
.scn-tutts-argue-ethics .inkwell { position:absolute; bottom:24%; left:40%; width:16px; height:24px; background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%); border-radius:40% 40% 30% 30%; box-shadow:0 2px 4px rgba(0,0,0,0.4); }
.scn-tutts-argue-ethics .dust-mote { position:absolute; top:20%; left:30%; width:6px; height:6px; background:rgba(255,240,200,0.6); border-radius:50%; filter:blur(2px); animation: tae-mote 9s linear infinite; }
@keyframes tae-window { 0% { box-shadow: inset 0 0 40px rgba(255,255,200,0.3), 0 0 0 0 rgba(255,255,200,0); } 50% { box-shadow: inset 0 0 60px rgba(255,255,200,0.4), 0 0 30px rgba(255,255,200,0.1); } 100% { box-shadow: inset 0 0 30px rgba(255,255,200,0.2), 0 0 10px rgba(255,255,200,0.05); } }
@keyframes tae-beam { 0% { opacity:0.6; transform: translateX(-50%) skewX(-6deg) scaleY(0.95); } 50% { opacity:1; transform: translateX(-50%) skewX(-4deg) scaleY(1); } 100% { opacity:0.7; transform: translateX(-50%) skewX(-8deg) scaleY(0.9); } }
@keyframes tae-figure-left { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes tae-figure-right { 0% { transform: translateY(0) rotate(3deg) scaleX(1); } 50% { transform: translateY(-2px) rotate(-3deg) scaleX(0.98); } 100% { transform: translateY(0) rotate(2deg) scaleX(1); } }
@keyframes tae-desk { 0%,100% { box-shadow:0 -4px 12px rgba(0,0,0,0.3); } 50% { box-shadow:0 -6px 18px rgba(0,0,0,0.4); } }
@keyframes tae-papers { 0% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-2px); } 100% { transform: rotate(-2deg) translateY(0); } }
@keyframes tae-mote { 0% { transform: translate(0, 0) scale(1); opacity:0; } 10% { opacity:0.6; } 90% { opacity:0.4; } 100% { transform: translate(80px, -60px) scale(0.5); opacity:0; } }

.scn-payson-wrestles-conscience { background: linear-gradient(180deg, #1a1a24 0%, #12121a 40%, #0a0a10 100%), radial-gradient(ellipse at 50% 60%, #2a2a3a 0%, transparent 70%); }
.scn-payson-wrestles-conscience .wall-dark { position:absolute; inset:10% 5% 25% 5%; background: linear-gradient(180deg, #1e1e2e 0%, #161626 50%, #0e0e1e 100%); border-radius:4px; box-shadow:inset 0 0 60px rgba(0,0,0,0.6); }
.scn-payson-wrestles-conscience .floor { position:absolute; bottom:10%; left:0; right:0; height:20%; background: linear-gradient(180deg, #2a2a1a 0%, #1a1a12 100%); border-radius:30% 70% 0 0 / 20% 40% 0 0; }
.scn-payson-wrestles-conscience .desk { position:absolute; bottom:22%; left:25%; right:25%; height:16%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius:4px; box-shadow:0 4px 12px rgba(0,0,0,0.5); animation: pwc-desk 15s ease-in-out infinite; }
.scn-payson-wrestles-conscience .candle { position:absolute; bottom:32%; left:50%; width:12px; height:40px; transform:translateX(-50%); background: linear-gradient(180deg, #e8d8b8 0%, #c8b898 30%, #a08868 100%); border-radius:20% 20% 10% 10%; box-shadow:0 0 20px 4px #d0b060; animation: pwc-candle 4s ease-in-out infinite alternate; }
.scn-payson-wrestles-conscience .candle-glow { position:absolute; bottom:32%; left:50%; width:100px; height:100px; transform:translate(-50%, -10%); background: radial-gradient(circle, rgba(200,160,80,0.3) 0%, rgba(200,160,80,0.1) 40%, transparent 70%); border-radius:50%; filter:blur(12px); animation: pwc-glow 3s ease-in-out infinite alternate; }
.scn-payson-wrestles-conscience .letter { position:absolute; bottom:30%; left:40%; width:40px; height:26px; background: #e8dcc8; border-radius:2px; box-shadow:0 2px 6px rgba(0,0,0,0.4); transform:rotate(-8deg); animation: pwc-letter 6s ease-in-out infinite alternate; }
.scn-payson-wrestles-conscience .figure-hunched { position:absolute; bottom:15%; left:35%; width:50px; height:100px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%); border-radius:40% 40% 50% 50% / 60% 60% 40% 40%; transform-origin: bottom center; animation: pwc-figure 5s ease-in-out infinite alternate; box-shadow:0 8px 20px rgba(0,0,0,0.5); }
.scn-payson-wrestles-conscience .shadow { position:absolute; bottom:22%; left:30%; right:30%; height:8px; background:rgba(0,0,0,0.5); border-radius:50%; filter:blur(4px); animation: pwc-shadow 5s ease-in-out infinite alternate; }
@keyframes pwc-desk { 0%,100% { box-shadow:0 4px 12px rgba(0,0,0,0.5); } 50% { box-shadow:0 6px 18px rgba(0,0,0,0.6); } }
@keyframes pwc-candle { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); box-shadow:0 0 15px 3px #d0b060; } 50% { transform: translateX(-50%) scaleY(1.05) rotate(0deg); box-shadow:0 0 25px 6px #e0c080; } 100% { transform: translateX(-50%) scaleY(0.95) rotate(2deg); box-shadow:0 0 12px 2px #c8a050; } }
@keyframes pwc-glow { 0% { opacity:0.6; transform: translate(-50%, -10%) scale(0.95); } 50% { opacity:1; transform: translate(-50%, -15%) scale(1.05); } 100% { opacity:0.7; transform: translate(-50%, -10%) scale(1); } }
@keyframes pwc-letter { 0% { transform: rotate(-8deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-2px); } 100% { transform: rotate(-10deg) translateY(1px); } }
@keyframes pwc-figure { 0% { transform: translateY(0) rotate(-3deg) scaleY(1); } 50% { transform: translateY(-2px) rotate(0deg) scaleY(0.98); } 100% { transform: translateY(0) rotate(2deg) scaleY(1); } }
@keyframes pwc-shadow { 0% { transform: scaleX(1); opacity:0.4; } 50% { transform: scaleX(0.9); opacity:0.6; } 100% { transform: scaleX(1.05); opacity:0.3; } }

.scn-dinner-with-tutt { background: linear-gradient(180deg, #2a1a1a 0%, #3a2222 30%, #4a2a2a 60%, #3a1a1a 100%), radial-gradient(ellipse at 50% 50%, #5a3a2a 0%, transparent 70%); }
.scn-dinner-with-tutt .bg-wall { position:absolute; inset:5% 5% 25% 5%; background: linear-gradient(180deg, #3a2a2a 0%, #2a1e1e 50%, #1a1212 100%); border-radius:8px; box-shadow:inset 0 0 80px rgba(0,0,0,0.5); }
.scn-dinner-with-tutt .table { position:absolute; bottom:15%; left:8%; right:8%; height:18%; background: linear-gradient(180deg, #5a3a2a 0%, #4a2a1a 50%, #3a1a0a 100%); border-radius:40% 40% 10% 10% / 60% 60% 20% 20%; box-shadow:0 -8px 20px rgba(0,0,0,0.4); }
.scn-dinner-with-tutt .figure-left-dwt { position:absolute; bottom:22%; left:15%; width:65px; height:170px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0e0e1a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: dwt-figure-left 6s ease-in-out infinite alternate; }
.scn-dinner-with-tutt .figure-right-dwt { position:absolute; bottom:22%; right:15%; width:75px; height:175px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 40%, #1a0e0e 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: dwt-figure-right 5s ease-in-out infinite alternate; }
.scn-dinner-with-tutt .plate-left { position:absolute; bottom:20%; left:22%; width:40px; height:12px; background: #e8d8c8; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,0.3), inset 0 -2px 4px rgba(0,0,0,0.2); animation: dwt-plate 10s ease-in-out infinite; }
.scn-dinner-with-tutt .plate-right { position:absolute; bottom:20%; right:22%; width:40px; height:12px; background: #e8d8c8; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,0.3), inset 0 -2px 4px rgba(0,0,0,0.2); animation: dwt-plate 10s ease-in-out infinite 2s; }
.scn-dinner-with-tutt .glass-left { position:absolute; bottom:24%; left:30%; width:14px; height:24px; background: linear-gradient(180deg, rgba(240,240,200,0.4) 0%, rgba(200,200,160,0.2) 100%); border-radius:20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow:0 0 0 1px rgba(255,255,200,0.3); transform:rotate(-4deg); }
.scn-dinner-with-tutt .glass-right { position:absolute; bottom:24%; right:30%; width:14px; height:24px; background: linear-gradient(180deg, rgba(240,240,200,0.4) 0%, rgba(200,200,160,0.2) 100%); border-radius:20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow:0 0 0 1px rgba(255,255,200,0.3); transform:rotate(4deg); }
.scn-dinner-with-tutt .candle-center { position:absolute; bottom:28%; left:50%; width:10px; height:30px; transform:translateX(-50%); background: linear-gradient(180deg, #f0e0c0 0%, #d0b898 100%); border-radius:20% 20% 10% 10%; box-shadow:0 0 40px 8px #d0a060; animation: dwt-candle 3s ease-in-out infinite alternate; }
@keyframes dwt-figure-left { 0% { transform: translateY(0) rotate(-2deg) scaleY(1); } 50% { transform: translateY(-3px) rotate(3deg) scaleY(0.97); } 100% { transform: translateY(0) rotate(1deg) scaleY(1); } }
@keyframes dwt-figure-right { 0% { transform: translateY(0) rotate(3deg) scaleX(1); } 50% { transform: translateY(-2px) rotate(-3deg) scaleX(0.98); } 100% { transform: translateY(0) rotate(2deg) scaleX(1); } }
@keyframes dwt-plate { 0%,100% { box-shadow: 0 2px 6px rgba(0,0,0,0.3), inset 0 -2px 4px rgba(0,0,0,0.2); } 50% { box-shadow: 0 4px 10px rgba(0,0,0,0.4), inset 0 -2px 4px rgba(0,0,0,0.2); } }
@keyframes dwt-candle { 0% { transform: translateX(-50%) scaleY(1) rotate(-2deg); box-shadow:0 0 30px 6px #d0a060; } 50% { transform: translateX(-50%) scaleY(1.04) rotate(0deg); box-shadow:0 0 50px 12px #e0b070; } 100% { transform: translateX(-50%) scaleY(0.96) rotate(2deg); box-shadow:0 0 25px 4px #c89050; } }

.scn-tutt-guides-payson { background: linear-gradient(180deg, #3a2a1a 0%, #2a1e12 40%, #1a120a 100%), radial-gradient(ellipse at 50% 70%, #4a3a2a 0%, transparent 70%); }
.scn-tutt-guides-payson .room-bg { position:absolute; inset:5% 5% 20% 5%; background: linear-gradient(180deg, #2a2218 0%, #1e1810 50%, #12100a 100%); border-radius:12px; box-shadow:inset 0 0 80px rgba(0,0,0,0.6); }
.scn-tutt-guides-payson .fireplace { position:absolute; bottom:18%; left:35%; right:35%; height:60px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow:inset 0 -8px 20px rgba(0,0,0,0.5); animation: tgp-fireplace 20s ease-in-out infinite; }
.scn-tutt-guides-payson .fire-glow { position:absolute; bottom:18%; left:50%; width:120px; height:100px; transform:translateX(-50%); background: radial-gradient(circle, rgba(200,120,40,0.3) 0%, rgba(200,120,40,0.1) 40%, transparent 70%); border-radius:50%; filter:blur(16px); animation: tgp-fireglow 4s ease-in-out infinite alternate; }
.scn-tutt-guides-payson .armchair-left { position:absolute; bottom:10%; left:12%; width:70px; height:90px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 40%, #1a0e0e 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow:4px 0 12px rgba(0,0,0,0.4); transform-origin: bottom center; animation: tgp-chair-left 8s ease-in-out infinite alternate; }
.scn-tutt-guides-payson .armchair-right { position:absolute; bottom:10%; right:12%; width:80px; height:95px; background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 40%, #1a0e0e 100%); border-radius:30% 30% 10% 10% / 50% 50% 20% 20%; box-shadow:-4px 0 12px rgba(0,0,0,0.4); transform-origin: bottom center; animation: tgp-chair-right 8s ease-in-out infinite alternate; }
.scn-tutt-guides-payson .cognac-left { position:absolute; bottom:20%; left:20%; width:12px; height:18px; background: linear-gradient(180deg, rgba(200,120,40,0.6) 0%, rgba(200,120,40,0.3) 100%); border-radius:20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow:0 0 0 1px rgba(200,120,40,0.4); transform:rotate(-6deg); animation: tgp-cognac 5s ease-in-out infinite alternate; }
.scn-tutt-guides-payson .cognac-right { position:absolute; bottom:20%; right:20%; width:12px; height:18px; background: linear-gradient(180deg, rgba(200,120,40,0.6) 0%, rgba(200,120,40,0.3) 100%); border-radius:20% 20% 10% 10% / 30% 30% 20% 20%; box-shadow:0 0 0 1px rgba(200,120,40,0.4); transform:rotate(6deg); animation: tgp-cognac 5s ease-in-out infinite alternate 1s; }
.scn-tutt-guides-payson .lamp { position:absolute; bottom:30%; left:48%; width:8px; height:12px; transform:translateX(-50%); background: #e8d8b8; border-radius:20% 20% 10% 10%; box-shadow:0 0 30px 6px #d0a060; animation: tgp-lamp 6s ease-in-out infinite alternate; }
.scn-tutt-guides-payson .lamp-light { position:absolute; bottom:30%; left:50%; width:200px; height:150px; transform:translate(-50%, 20%); background: radial-gradient(circle, rgba(200,160,80,0.15) 0%, rgba(200,160,80,0.05) 40%, transparent 70%); border-radius:50%; filter:blur(20px); animation: tgp-lamplight 7s ease-in-out infinite alternate; }
@keyframes tgp-fireplace { 0%,100% { box-shadow: inset 0 -8px 20px rgba(0,0,0,0.5), 0 0 0 0 rgba(200,120,40,0); } 50% { box-shadow: inset 0 -10px 30px rgba(0,0,0,0.5), 0 0 40px rgba(200,120,40,0.2); } }
@keyframes tgp-fireglow { 0% { opacity:0.5; transform: translateX(-50%) scale(0.95); } 50% { opacity:0.9; transform: translateX(-50%) scale(1.08); } 100% { opacity:0.6; transform: translateX(-50%) scale(1); } }
@keyframes tgp-chair-left { 0% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tgp-chair-right { 0% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tgp-cognac { 0% { transform: rotate(-6deg) scaleY(1); } 50% { transform: rotate(-2deg) scaleY(0.95); } 100% { transform: rotate(-8deg) scaleY(1); } }
@keyframes tgp-lamp { 0% { transform: translateX(-50%) scaleY(1); box-shadow:0 0 25px 4px #d0a060; } 50% { transform: translateX(-50%) scaleY(1.06); box-shadow:0 0 40px 10px #e0b070; } 100% { transform: translateX(-50%) scaleY(0.94); box-shadow:0 0 20px 3px #c89050; } }
@keyframes tgp-lamplight { 0% { opacity:0.4; transform: translate(-50%, 20%) scale(0.95); } 50% { opacity:0.8; transform: translate(-50%, 20%) scale(1.08); } 100% { opacity:0.5; transform: translate(-50%, 20%) scale(1); } }

.scn-bonnie-doon-staging {
  background: linear-gradient(180deg, #f5e6c8 0%, #d4b88a 40%, #b8945a 100%),
              radial-gradient(ellipse at 50% 80%, #ffebaa 0%, transparent 60%);
}
.scn-bonnie-doon-staging .curtain-left {
  position: absolute; left: 0; top: 0; width: 25%; height: 100%;
  background: linear-gradient(90deg, #a0461a 0%, #c8553d 50%, #a0461a 100%);
  border-radius: 0 60% 60% 0 / 0 20% 20% 0;
  animation: bd-curtain 8s ease-in-out infinite alternate;
}
.scn-bonnie-doon-staging .curtain-right {
  position: absolute; right: 0; top: 0; width: 25%; height: 100%;
  background: linear-gradient(270deg, #a0461a 0%, #c8553d 50%, #a0461a 100%);
  border-radius: 60% 0 0 60% / 20% 0 0 20%;
  animation: bd-curtain 8s ease-in-out infinite alternate-reverse;
}
.scn-bonnie-doon-staging .stage-floor {
  position: absolute; bottom: 0; left: 25%; right: 25%; height: 12%;
  background: linear-gradient(180deg, #8b6f3a 0%, #5a4520 100%);
  border-radius: 30% 30% 0 0 / 50% 50% 0 0;
}
.scn-bonnie-doon-staging .camel {
  position: absolute; bottom: 12%; left: 15%; width: 80px; height: 70px;
  background: radial-gradient(ellipse 40% 30% at 25% 35%, #5a3a1a 0%, transparent 100%),
              radial-gradient(ellipse 40% 30% at 75% 35%, #5a3a1a 0%, transparent 100%);
  background-size: 100% 100%;
  animation: bd-camel 3s ease-in-out infinite;
}
.scn-bonnie-doon-staging .hookah {
  position: absolute; bottom: 14%; left: 65%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #4a7a4a 0%, #2a5a2a 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 0 6px #8b6f3a;
  animation: bd-hookah 4s ease-in-out infinite;
}
.scn-bonnie-doon-staging .bead-strand {
  position: absolute; top: 20%; left: 10%; width: 6px; height: 60%;
  background: repeating-linear-gradient(180deg, #c8553d 0px, #c8553d 8px, transparent 8px, transparent 16px);
  opacity: 0.7;
  animation: bd-beads 3s ease-in-out infinite alternate;
}
.scn-bonnie-doon-staging .spotlight {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 50%;
  background: radial-gradient(ellipse, #ffebaa 0%, transparent 70%);
  opacity: 0.5;
  animation: bd-spotlight 6s ease-in-out infinite alternate;
}
@keyframes bd-curtain {
  0% { transform: skewX(0deg); }
  50% { transform: skewX(6deg); }
  100% { transform: skewX(-4deg); }
}
@keyframes bd-camel {
  0% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(1deg); }
  100% { transform: translateY(0) rotate(2deg); }
}
@keyframes bd-hookah {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.1); }
  100% { transform: scaleY(0.95); }
}
@keyframes bd-beads {
  0% { transform: translateY(0) skewX(0deg); }
  50% { transform: translateY(-6px) skewX(2deg); }
  100% { transform: translateY(4px) skewX(-2deg); }
}
@keyframes bd-spotlight {
  0% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 0.7; transform: scale(1.05); }
  100% { opacity: 0.4; transform: scale(1); }
}

.scn-courtroom-oriental {
  background: linear-gradient(180deg, #e8d5b0 0%, #c4a67a 50%, #a6845a 100%),
              radial-gradient(ellipse at 50% 0%, #f0e0c0 0%, transparent 60%);
}
.scn-courtroom-oriental .arch-bg {
  position: absolute; top: 0; left: 20%; right: 20%; height: 30%;
  background: radial-gradient(ellipse 50% 100% at 50% 100%, transparent 40%, #a6845a 40%);
  border-radius: 50% 50% 0 0;
  animation: co-arch 12s ease-in-out infinite alternate;
}
.scn-courtroom-oriental .bench {
  position: absolute; bottom: 10%; left: 30%; right: 30%; height: 20%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -6px 12px rgba(0,0,0,0.3);
}
.scn-courtroom-oriental .gavel {
  position: absolute; bottom: 22%; left: 42%; width: 20px; height: 40px;
  background: #3a2a1a;
  border-radius: 10% 10% 20% 20%;
  transform-origin: 50% 80%;
  animation: co-gavel 2s ease-in-out infinite;
}
.scn-courtroom-oriental .pillar-left {
  position: absolute; bottom: 20%; left: 12%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #c4a67a 0%, #e8d5b0 30%, #c4a67a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
}
.scn-courtroom-oriental .pillar-right {
  position: absolute; bottom: 20%; right: 12%; width: 8%; height: 60%;
  background: linear-gradient(90deg, #c4a67a 0%, #e8d5b0 30%, #c4a67a 100%);
  border-radius: 20% 20% 0 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
}
.scn-courtroom-oriental .audience {
  position: absolute; bottom: 0%; left: 25%; right: 25%; height: 10%;
  background: repeating-linear-gradient(90deg, #5a3a2a 0px, #5a3a2a 12px, transparent 12px, transparent 20px);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  animation: co-audience 5s ease-in-out infinite;
}
.scn-courtroom-oriental .incense {
  position: absolute; top: 20%; left: 10%; width: 30px; height: 80px;
  background: radial-gradient(ellipse, rgba(200,180,150,0.4) 0%, transparent 70%);
  filter: blur(6px);
  animation: co-incense 20s linear infinite;
}
.scn-courtroom-oriental .lamp {
  position: absolute; top: 10%; left: 60%; width: 30px; height: 20px;
  background: radial-gradient(circle at 50% 30%, #f0c060 0%, #c08040 100%);
  border-radius: 40% 40% 10% 10%;
  box-shadow: 0 0 20px 6px rgba(240,192,96,0.5);
  animation: co-lamp 4s ease-in-out infinite alternate;
}
@keyframes co-arch {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(1.05); }
  100% { transform: scaleY(0.95); }
}
@keyframes co-gavel {
  0% { transform: rotate(0deg); }
  30% { transform: rotate(15deg); }
  60% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}
@keyframes co-audience {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(1px); }
}
@keyframes co-incense {
  0% { transform: translateY(0) rotate(0deg) scaleX(1); }
  33% { transform: translateY(-10px) rotate(5deg) scaleX(1.2); }
  66% { transform: translateY(-20px) rotate(-3deg) scaleX(0.8); }
  100% { transform: translateY(-30px) rotate(0deg) scaleX(1); }
}
@keyframes co-lamp {
  0% { transform: rotate(-5deg); box-shadow: 0 0 15px 4px rgba(240,192,96,0.3); }
  50% { transform: rotate(5deg); box-shadow: 0 0 30px 10px rgba(240,192,96,0.7); }
  100% { transform: rotate(-3deg); box-shadow: 0 0 20px 6px rgba(240,192,96,0.5); }
}

.scn-jury-selection-begins {
  background: linear-gradient(180deg, #d4c4a8 0%, #b8a888 40%, #8a7a6a 100%),
              radial-gradient(ellipse at 50% 90%, #c8b898 0%, transparent 70%);
}
.scn-jury-selection-begins .wall-back {
  position: absolute; inset: 0 0 20% 0;
  background: repeating-linear-gradient(0deg, #b8a888 0px, #b8a888 4px, transparent 4px, transparent 8px);
  opacity: 0.2;
}
.scn-jury-selection-begins .man-body {
  position: absolute; bottom: 20%; left: 33%; width: 18%; height: 50%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  box-shadow: 2px 0 6px rgba(0,0,0,0.4);
  animation: jb-man 6s ease-in-out infinite alternate;
}
.scn-jury-selection-begins .man-head {
  position: absolute; bottom: 62%; left: 35%; width: 14%; height: 12%;
  background: #2a1a0a;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-jury-selection-begins .turban {
  position: absolute; bottom: 70%; left: 33%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #c8553d 0%, #a0461a 100%);
  border-radius: 50% 50% 30% 30% / 80% 80% 20% 20%;
  transform: rotate(-3deg);
}
.scn-jury-selection-begins .jury-box {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 18%;
  background: repeating-linear-gradient(90deg, #5a4a3a 0px, #5a4a3a 20px, #8a7a6a 20px, #8a7a6a 24px);
  border-radius: 20% 20% 0 0;
  animation: jb-jury 5s ease-in-out infinite;
}
.scn-jury-selection-begins .desk-front {
  position: absolute; bottom: 16%; left: 25%; right: 25%; height: 8%;
  background: linear-gradient(180deg, #6a4a2a 0%, #3a2a1a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.3);
  animation: jb-desk 7s ease-in-out infinite alternate;
}
.scn-jury-selection-begins .banner {
  position: absolute; top: 8%; left: 20%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #c8553d 0%, #702243 100%);
  border-radius: 0 10% 10% 0;
  transform: skewY(5deg);
  animation: jb-banner 10s ease-in-out infinite alternate;
}
@keyframes jb-man {
  0% { transform: translateX(0) rotate(-1deg); }
  50% { transform: translateX(4px) rotate(1deg); }
  100% { transform: translateX(-2px) rotate(0deg); }
}
@keyframes jb-jury {
  0% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(2px); }
}
@keyframes jb-desk {
  0% { box-shadow: 0 -4px 8px rgba(0,0,0,0.3); }
  50% { box-shadow: 0 -2px 12px rgba(0,0,0,0.5); }
  100% { box-shadow: 0 -6px 6px rgba(0,0,0,0.2); }
}
@keyframes jb-banner {
  0% { transform: skewY(5deg) scaleY(1); }
  50% { transform: skewY(7deg) scaleY(1.05); }
  100% { transform: skewY(3deg) scaleY(0.95); }
}

.scn-interpreter-confusion {
  background: linear-gradient(180deg, #e8d8c0 0%, #c8b8a0 50%, #a89880 100%),
              radial-gradient(ellipse at 50% 30%, #f0e0d0 0%, transparent 70%);
}
.scn-interpreter-confusion .desk-wide {
  position: absolute; bottom: 15%; left: 10%; right: 10%; height: 15%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a2a1a 100%);
  border-radius: 10% 10% 0 0;
}
.scn-interpreter-confusion .papers {
  position: absolute; bottom: 20%; left: 15%; width: 30%; height: 10%;
  background: #f0e8d0;
  transform: rotate(-5deg);
  box-shadow: 2px 4px 6px rgba(0,0,0,0.2);
  animation: ic-papers 6s ease-in-out infinite;
}
.scn-interpreter-confusion .lamp-stand {
  position: absolute; bottom: 20%; left: 60%; width: 8px; height: 40%;
  background: #4a3a2a;
  border-radius: 10%;
}
.scn-interpreter-confusion .lamp-stand::after {
  content: ''; position: absolute; top: -10px; left: -12px; width: 30px; height: 20px;
  background: radial-gradient(ellipse, #f0c060 0%, #c08040 100%);
  border-radius: 50% 50% 10% 10%;
  box-shadow: 0 0 30px 8px rgba(240,192,96,0.5);
  animation: ic-lamp 4s ease-in-out infinite alternate;
}
.scn-interpreter-confusion .interpreter {
  position: absolute; bottom: 20%; left: 30%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 40% 40% 20% 20% / 60% 60% 20% 20%;
  transform-origin: bottom center;
  animation: ic-arm 3s ease-in-out infinite;
}
.scn-interpreter-confusion .judge-sil {
  position: absolute; bottom: 20%; right: 20%; width: 20%; height: 40%;
  background: linear-gradient(180deg, #2a1a0a 0%, #0a0000 100%);
  border-radius: 40% 40% 10% 10% / 60% 60% 10% 10%;
  transform-origin: bottom center;
  animation: ic-yawn 8s ease-in-out infinite;
}
.scn-interpreter-confusion .yawn-shape {
  position: absolute; bottom: 50%; right: 22%; width: 30px; height: 20px;
  background: #1a0a0a;
  border-radius: 0 0 50% 50% / 0 0 80% 80%;
  opacity: 0;
  animation: ic-yawn 8s ease-in-out infinite;
  animation-delay: 0.2s;
}
.scn-interpreter-confusion .clock-circle {
  position: absolute; top: 12%; left: 10%; width: 40px; height: 40px;
  border: 4px solid #7a5a3a;
  border-radius: 50%;
  background: #f0e8d0;
  animation: ic-clock 60s linear infinite;
}
.scn-interpreter-confusion .clock-circle::before {
  content: ''; position: absolute; top: 50%; left: 50%; width: 2px; height: 16px;
  background: #3a2a1a; transform-origin: bottom center;
  animation: ic-clock 3600s linear infinite;
}
@keyframes ic-papers {
  0% { transform: rotate(-5deg) translateX(0); }
  50% { transform: rotate(-3deg) translateX(2px); }
  100% { transform: rotate(-7deg) translateX(-2px); }
}
@keyframes ic-lamp {
  0% { box-shadow: 0 0 20px 4px rgba(240,192,96,0.3); transform: rotate(-2deg); }
  50% { box-shadow: 0 0 40px 12px rgba(240,192,96,0.6); transform: rotate(2deg); }
  100% { box-shadow: 0 0 25px 6px rgba(240,192,96,0.4); transform: rotate(-1deg); }
}
@keyframes ic-arm {
  0% { transform: rotate(0deg); }
  30% { transform: rotate(10deg); }
  60% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}
@keyframes ic-yawn {
  0% { transform: scaleY(1); opacity: 0; }
  20% { transform: scaleY(1.3); opacity: 1; }
  40% { transform: scaleY(1); opacity: 0; }
  100% { transform: scaleY(1); opacity: 0; }
}
@keyframes ic-clock {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.scn-marriage-status-changed { background: linear-gradient(180deg, #f5e6d0 0%, #e0c9a6 50%, #c9b48a 100%), radial-gradient(ellipse at 50% 30%, #fff3e0 0%, transparent 60%); }
.scn-marriage-status-changed .window{position:absolute; right:5%; top:5%; width:45%; height:55%; background:linear-gradient(180deg, #a0c0e0 0%, #d8e8f8 100%); border:3px solid #c9b48a; border-radius:4px; box-shadow:0 0 30px 6px rgba(200,210,240,.3); animation:msc-window 12s ease-in-out infinite alternate;}
.scn-marriage-status-changed .curtain{position:absolute; right:5%; top:5%; width:20%; height:55%; background: linear-gradient(90deg, #e8c9a6 0%, #d4b08a 50%, #e8c9a6 100%); border-radius:0 8px 8px 0; transform-origin: left; animation:msc-curtain 18s ease-in-out infinite alternate;}
.scn-marriage-status-changed .desk{position:absolute; bottom:15%; left:10%; right:35%; height:20%; background:linear-gradient(180deg, #b5976a 0%, #8c6e4a 100%); border-radius:4px 4px 0 0; box-shadow:0 -4px 8px rgba(0,0,0,.3);}
.scn-marriage-status-changed .book{position:absolute; bottom:22%; left:15%; width:30%; height:8%; background:linear-gradient(180deg, #5a3e28 0%, #3f2a18 100%); border-radius:2px; transform:rotate(-2deg); animation:msc-book 6s ease-in-out infinite alternate;}
.scn-marriage-status-changed .figure-a{position:absolute; bottom:18%; left:38%; width:12%; height:40%; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation:msc-figa 4s ease-in-out infinite;}
.scn-marriage-status-changed .figure-b{position:absolute; bottom:18%; right:10%; width:10%; height:38%; background:linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation:msc-figb 5s ease-in-out infinite;}
.scn-marriage-status-changed .lamp{position:absolute; bottom:30%; left:10%; width:8%; height:14%; background:linear-gradient(180deg, #d4a06a 0%, #b5835a 100%); border-radius:50% 50% 20% 20% / 40% 40% 20% 20%; box-shadow:0 0 40px 12px rgba(220,180,120,.4); animation:msc-lamp 3s ease-in-out infinite alternate;}
@keyframes msc-window{0%{opacity:.85}50%{opacity:1}100%{opacity:.9}}
@keyframes msc-curtain{0%{transform:scaleX(1) translate(0,0)}50%{transform:scaleX(.95) translate(5px,0)}100%{transform:scaleX(1.02) translate(-3px,0)}}
@keyframes msc-book{0%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-1px)}100%{transform:rotate(-3deg) translateY(1px)}}
@keyframes msc-figa{0%{transform:translateX(0) translateY(0) rotate(0)}25%{transform:translateX(2px) translateY(-1px) rotate(1deg)}50%{transform:translateX(4px) translateY(0) rotate(-1deg)}75%{transform:translateX(6px) translateY(-1px) rotate(0)}100%{transform:translateX(8px) translateY(0) rotate(1deg)}}
@keyframes msc-figb{0%{transform:translateX(0) translateY(0) rotate(-1deg)}33%{transform:translateX(-2px) translateY(-1px) rotate(1deg)}66%{transform:translateX(-4px) translateY(0) rotate(0)}100%{transform:translateX(-6px) translateY(-1px) rotate(-1deg)}}
@keyframes msc-lamp{0%{box-shadow:0 0 30px 10px rgba(220,180,120,.35);opacity:.9}50%{box-shadow:0 0 50px 18px rgba(240,200,140,.6);opacity:1}100%{box-shadow:0 0 35px 12px rgba(220,180,120,.4);opacity:.95}}

.scn-state-interest-in-marriage { background: linear-gradient(180deg, #e8dcc8 0%, #cdbfa8 50%, #b0a288 100%), radial-gradient(ellipse at 50% 40%, #fff8e8 0%, transparent 50%); }
.scn-state-interest-in-marriage .bookshelf{position:absolute; left:2%; top:10%; width:20%; height:80%; background:linear-gradient(180deg, #8c7048 0%, #5a4428 100%); border-radius:2px; box-shadow:inset 0 0 10px rgba(0,0,0,.4);}
.scn-state-interest-in-marriage .bench{position:absolute; bottom:5%; left:30%; right:5%; height:18%; background:linear-gradient(180deg, #a08060 0%, #786048 100%); border-radius:4px; box-shadow:0 -4px 6px rgba(0,0,0,.2);}
.scn-state-interest-in-marriage .gavel{position:absolute; bottom:18%; left:45%; width:8%; height:4%; background:#c8a060; border-radius:2px; transform:rotate(5deg); animation:sim-gavel 2s ease-in-out infinite alternate;}
.scn-state-interest-in-marriage .figure-judge{position:absolute; bottom:20%; left:35%; width:14%; height:45%; background:linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation:sim-figure 6s ease-in-out infinite;}
.scn-state-interest-in-marriage .lamp{position:absolute; bottom:38%; left:30%; width:6%; height:18%; background:linear-gradient(180deg, #d4a06a 0%, #b5835a 100%); border-radius:50% 50% 20% 20% / 40% 40% 20% 20%; box-shadow:0 0 30px 8px rgba(220,180,120,.3); animation:sim-lamp 4s ease-in-out infinite alternate;}
.scn-state-interest-in-marriage .flag{position:absolute; top:5%; left:70%; width:12%; height:20%; background:linear-gradient(180deg, #4a6a8a 0%, #2a4a6a 100%); border-radius:2px; transform-origin: top left; animation:sim-flag 15s ease-in-out infinite alternate;}
.scn-state-interest-in-marriage .papers{position:absolute; bottom:22%; left:55%; width:20%; height:6%; background:#f0e0c0; border-radius:1px; transform:rotate(-3deg); box-shadow:1px 1px 3px rgba(0,0,0,.2); animation:sim-papers 7s ease-in-out infinite alternate;}
@keyframes sim-gavel{0%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(7deg) translateY(-2px)}100%{transform:rotate(4deg) translateY(0)}}
@keyframes sim-figure{0%{transform:translateX(0) translateY(0) rotate(0)}33%{transform:translateX(2px) translateY(-1px) rotate(1deg)}66%{transform:translateX(4px) translateY(0) rotate(-1deg)}100%{transform:translateX(6px) translateY(-1px) rotate(0)}}
@keyframes sim-lamp{0%{box-shadow:0 0 25px 6px rgba(220,180,120,.3);opacity:.9}50%{box-shadow:0 0 45px 14px rgba(240,200,140,.5);opacity:1}100%{box-shadow:0 0 30px 8px rgba(220,180,120,.35);opacity:.95}}
@keyframes sim-flag{0%{transform:rotate(0) scaleY(1)}50%{transform:rotate(3deg) scaleY(1.02)}100%{transform:rotate(-2deg) scaleY(.98)}}
@keyframes sim-papers{0%{transform:translateX(0) rotate(-3deg)}50%{transform:translateX(3px) rotate(-2deg)}100%{transform:translateX(-2px) rotate(-5deg)}}

.scn-ecclesiastical-courts-history { background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 50%, #1a0a00 100%), radial-gradient(ellipse at 30% 40%, #ffd700 0%, transparent 60%); }
.scn-ecclesiastical-courts-history .stained-glass{position:absolute; left:10%; top:5%; width:30%; height:40%; background:linear-gradient(135deg, #2a4a6a 0%, #4a6a8a 30%, #6a8aaa 50%, #4a6a8a 70%, #2a4a6a 100%); border-radius:50% 50% 0 0 / 60% 60% 0 0; box-shadow:0 0 40px 10px rgba(100,140,180,.5); animation:ech-glass 20s ease-in-out infinite alternate;}
.scn-ecclesiastical-courts-history .altar{position:absolute; bottom:20%; left:25%; right:25%; height:15%; background:linear-gradient(180deg, #8c7048 0%, #5a4428 100%); border-radius:10px 10px 0 0; box-shadow:0 -6px 12px rgba(0,0,0,.5);}
.scn-ecclesiastical-courts-history .candle{position:absolute; bottom:38%; left:45%; width:4%; height:18%; background:linear-gradient(180deg, #e8d0a0 0%, #c8a060 100%); border-radius:50% 50% 10% 10% / 30% 30% 10% 10%; box-shadow:0 0 20px 6px rgba(240,200,100,.6); animation:ech-candle 3s ease-in-out infinite alternate;}
.scn-ecclesiastical-courts-history .figure-priest{position:absolute; bottom:20%; left:35%; width:12%; height:40%; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation:ech-figure 8s ease-in-out infinite;}
.scn-ecclesiastical-courts-history .lectern{position:absolute; bottom:25%; left:60%; width:14%; height:22%; background:linear-gradient(180deg, #6a5038 0%, #4a3828 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.3);}
.scn-ecclesiastical-courts-history .book{position:absolute; bottom:28%; left:62%; width:8%; height:10%; background:linear-gradient(180deg, #5a3e28 0%, #3f2a18 100%); border-radius:2px; transform:rotate(2deg); animation:ech-book 5s ease-in-out infinite alternate;}
.scn-ecclesiastical-courts-history .cross-symbol{position:absolute; top:2%; left:48%; width:4%; height:20%; background:linear-gradient(90deg, #d4a060 0%, #b08040 100%); border-radius:2px; box-shadow:0 0 8px 2px rgba(200,160,80,.3); transform:rotate(0); animation:ech-cross 10s ease-in-out infinite alternate;}
@keyframes ech-glass{0%{opacity:.8;filter:hue-rotate(0deg)}50%{opacity:.95;filter:hue-rotate(5deg)}100%{opacity:.85;filter:hue-rotate(-3deg)}}
@keyframes ech-candle{0%{box-shadow:0 0 15px 4px rgba(240,200,100,.5);opacity:.9}50%{box-shadow:0 0 30px 10px rgba(255,220,120,.7);opacity:1}100%{box-shadow:0 0 18px 5px rgba(240,200,100,.55);opacity:.93}}
@keyframes ech-figure{0%{transform:translateY(0) rotate(0)}33%{transform:translateY(-2px) rotate(1deg)}66%{transform:translateY(1px) rotate(-1deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes ech-book{0%{transform:rotate(2deg) translateY(0)}50%{transform:rotate(3deg) translateY(-1px)}100%{transform:rotate(1deg) translateY(1px)}}
@keyframes ech-cross{0%{transform:rotate(0) scaleY(1)}50%{transform:rotate(2deg) scaleY(1.03)}100%{transform:rotate(-1deg) scaleY(.97)}}

.scn-american-divorce-mess { background: linear-gradient(180deg, #d4a373 0%, #b5835a 50%, #8c6239 100%), radial-gradient(ellipse at 50% 20%, #f0d0a0 0%, transparent 60%); }
.scn-american-divorce-mess .desk-scattered{position:absolute; bottom:5%; left:20%; right:10%; height:30%; background:linear-gradient(180deg, #a08060 0%, #786048 100%); border-radius:8px 8px 0 0; box-shadow:0 -4px 8px rgba(0,0,0,.3);}
.scn-american-divorce-mess .papers{position:absolute; bottom:25%; left:30%; width:20%; height:6%; background:#f0e0c0; border-radius:1px; transform:rotate(-8deg); box-shadow:1px 1px 3px rgba(0,0,0,.2); animation:adm-paper1 8s ease-in-out infinite alternate;}
.scn-american-divorce-mess .coffee{position:absolute; bottom:30%; right:15%; width:8%; height:10%; background:linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%); border-radius:50% 50% 10% 10% / 60% 60% 10% 10%; box-shadow:0 4px 6px rgba(0,0,0,.4);}
.scn-american-divorce-mess .lamp{position:absolute; bottom:40%; left:10%; width:6%; height:16%; background:linear-gradient(180deg, #d4a06a 0%, #b5835a 100%); border-radius:50% 50% 20% 20% / 40% 40% 20% 20%; box-shadow:0 0 35px 10px rgba(220,180,120,.5); animation:adm-lamp 3s ease-in-out infinite alternate;}
.scn-american-divorce-mess .figure-mess{position:absolute; bottom:18%; left:40%; width:14%; height:40%; background:linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation:adm-figure 5s ease-in-out infinite;}
.scn-american-divorce-mess .clock{position:absolute; top:5%; left:5%; width:12%; height:12%; background:radial-gradient(circle, #f0e0c0 0%, #c8b488 100%); border-radius:50%; box-shadow:0 0 10px 2px rgba(0,0,0,.3); animation:adm-clock 60s linear infinite;}
.scn-american-divorce-mess .window-blinds{position:absolute; right:2%; top:0; bottom:0; width:15%; background: repeating-linear-gradient(0deg, #e0c9a6 0px, #e0c9a6 8px, #c9b48a 8px, #c9b48a 16px); animation:adm-blinds 20s ease-in-out infinite alternate;}
@keyframes adm-paper1{0%{transform:rotate(-8deg) translateX(0)}50%{transform:rotate(-5deg) translateX(4px)}100%{transform:rotate(-11deg) translateX(-3px)}}
@keyframes adm-lamp{0%{box-shadow:0 0 25px 8px rgba(220,180,120,.4);opacity:.9}50%{box-shadow:0 0 45px 15px rgba(240,200,140,.6);opacity:1}100%{box-shadow:0 0 30px 10px rgba(220,180,120,.45);opacity:.95}}
@keyframes adm-figure{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1deg)}50%{transform:translateY(1px) rotate(-1deg)}75%{transform:translateY(-1px) rotate(0)}100%{transform:translateY(0) rotate(1deg)}}
@keyframes adm-clock{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes adm-blinds{0%{opacity:.7;transform:scaleX(1)}50%{opacity:.85;transform:scaleX(1.05)}100%{opacity:.75;transform:scaleX(.95)}}

/* === hogan-human-hyena === */
.scn-hogan-human-hyena {
  background: linear-gradient(180deg, #1a1a2e 0%, #2a2a44 40%, #3a3a5e 100%),
              radial-gradient(ellipse at 60% 30%, #4a4a6e 0%, transparent 70%);
}
.scn-hogan-human-hyena .wall { 
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(90deg, #2a2a44 0%, #3a3a5e 50%, #2a2a44 100%);
  animation: hh-wall 10s ease-in-out infinite alternate;
}
.scn-hogan-human-hyena .window {
  position: absolute; top: 10%; left: 20%; width: 40%; height: 40%;
  background: linear-gradient(180deg, #c0d0e0 0%, #8090b0 50%, #506080 100%);
  border-radius: 4px; box-shadow: inset 0 0 20px rgba(192,208,224,0.3);
  animation: hh-window 8s ease-in-out infinite alternate;
}
.scn-hogan-human-hyena .desk {
  position: absolute; bottom: 18%; left: 15%; right: 15%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 6px 6px 0 0; box-shadow: 0 -4px 10px rgba(0,0,0,0.6);
}
.scn-hogan-human-hyena .lamp {
  position: absolute; bottom: 35%; left: 25%; width: 14px; height: 40px;
  background: linear-gradient(180deg, #8a7a5a 0%, #5a4a3a 100%);
  border-radius: 4px 4px 0 0; transform-origin: bottom center;
  animation: hh-lamp 4s ease-in-out infinite;
}
.scn-hogan-human-hyena .figure {
  position: absolute; bottom: 20%; left: 55%; width: 22px; height: 50px;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1e 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: hh-figure 6s ease-in-out infinite alternate;
}
.scn-hogan-human-hyena .shadow-hyena {
  position: absolute; bottom: 22%; left: 20%; width: 60px; height: 30px;
  background: radial-gradient(ellipse at 50% 100%, #0a0a1e 0%, transparent 70%);
  border-radius: 60% 30% 50% 50% / 80% 40% 60% 60%;
  filter: blur(2px); opacity: 0.6;
  animation: hh-hyena 7s ease-in-out infinite alternate;
}
.scn-hogan-human-hyena .glow {
  position: absolute; bottom: 35%; left: 25%; width: 40px; height: 40px;
  background: radial-gradient(circle, #e0c080 0%, #c0a060 40%, transparent 70%);
  border-radius: 50%; animation: hh-glow 3s ease-in-out infinite alternate;
}
@keyframes hh-wall { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes hh-window { 0% { filter: brightness(1) } 50% { filter: brightness(1.2) } 100% { filter: brightness(0.9) } }
@keyframes hh-lamp { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(-1deg) } }
@keyframes hh-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(4px) rotate(2deg) } 100% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes hh-hyena { 0% { transform: scaleX(1) translateX(0) } 50% { transform: scaleX(1.1) translateX(3px) } 100% { transform: scaleX(0.95) translateX(-2px) } }
@keyframes hh-glow { 0% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }

/* === fleas-and-fleas === */
.scn-fleas-and-fleas {
  background: linear-gradient(180deg, #f5e6c8 0%, #e8d4a0 30%, #d4b888 70%, #c0a670 100%),
              radial-gradient(ellipse at 50% 30%, #ffe8b0 0%, transparent 60%);
}
.scn-fleas-and-fleas .backdrop {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #d4b888 0%, #c0a670 100%);
  border-radius: 0 0 40% 40%;
  animation: ff-backdrop 15s ease-in-out infinite alternate;
}
.scn-fleas-and-fleas .stage {
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 35%;
  background: linear-gradient(180deg, #b09060 0%, #8a7040 100%);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}
.scn-fleas-and-fleas .spotlight {
  position: absolute; top: 10%; left: 50%; width: 120px; height: 200px;
  background: linear-gradient(180deg, rgba(255,240,200,0.4) 0%, transparent 100%);
  transform: translateX(-50%) skewX(-5deg);
  filter: blur(6px);
  animation: ff-spotlight 6s ease-in-out infinite alternate;
}
.scn-fleas-and-fleas .flea-big {
  position: absolute; bottom: 35%; left: 40%; width: 30px; height: 18px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a0a0a 100%);
  border-radius: 50% 30% 50% 30%; transform: rotate(-10deg);
  animation: ff-flea-big 4s ease-in-out infinite;
}
.scn-fleas-and-fleas .flea-small {
  position: absolute; bottom: 40%; left: 55%; width: 14px; height: 10px;
  background: #2a1a0a; border-radius: 50% 20% 50% 20%; transform: rotate(15deg);
  animation: ff-flea-small 4s ease-in-out infinite 1s;
}
.scn-fleas-and-fleas .shadow-micro {
  position: absolute; bottom: 33%; left: 38%; width: 40px; height: 8px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.3) 0%, transparent 70%);
  border-radius: 50%; filter: blur(1px);
  animation: ff-shadow 4s ease-in-out infinite alternate;
}
.scn-fleas-and-fleas .confetti-1,
.scn-fleas-and-fleas .confetti-2 {
  position: absolute; top: 8%; width: 6px; height: 6px;
  background: #c07040; border-radius: 2px;
  animation: ff-confetti 8s linear infinite;
}
.scn-fleas-and-fleas .confetti-1 { left: 20%; animation-delay: 0s; }
.scn-fleas-and-fleas .confetti-2 { left: 70%; background: #b0a060; animation-delay: 3s; }
@keyframes ff-backdrop { 0% { opacity: 0.8 } 50% { opacity: 1 } 100% { opacity: 0.9 } }
@keyframes ff-spotlight { 0% { transform: translateX(-50%) skewX(-5deg) scaleY(1); opacity: 0.7 } 50% { transform: translateX(-45%) skewX(0) scaleY(1.1); opacity: 1 } 100% { transform: translateX(-55%) skewX(-3deg) scaleY(0.95); opacity: 0.8 } }
@keyframes ff-flea-big { 0% { transform: rotate(-10deg) translateX(0) } 50% { transform: rotate(0deg) translateX(2px) } 100% { transform: rotate(-5deg) translateX(-1px) } }
@keyframes ff-flea-small { 0% { transform: rotate(15deg) translateX(0) } 50% { transform: rotate(-5deg) translateX(3px) } 100% { transform: rotate(10deg) translateX(-2px) } }
@keyframes ff-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.3) } 100% { transform: scaleX(0.9) } }
@keyframes ff-confetti { 0% { transform: translateY(0) rotate(0deg); opacity: 0.7 } 50% { transform: translateY(40vh) rotate(180deg); opacity: 0.3 } 100% { transform: translateY(80vh) rotate(360deg); opacity: 0 } }

/* === hogan-home-life === */
.scn-hogan-home-life {
  background: linear-gradient(180deg, #1a1820 0%, #2a2830 40%, #3a3840 100%),
              radial-gradient(ellipse at 70% 50%, #4a4850 0%, transparent 60%);
}
.scn-hogan-home-life .room-bg {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #2a2830 0%, #1a1820 100%);
  animation: hl-bg 12s ease-in-out infinite alternate;
}
.scn-hogan-home-life .desk {
  position: absolute; bottom: 20%; left: 20%; right: 40%; height: 30%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 4px; box-shadow: 0 -2px 8px rgba(0,0,0,0.6);
}
.scn-hogan-home-life .chair {
  position: absolute; bottom: 22%; left: 18%; width: 30px; height: 40px;
  background: linear-gradient(90deg, #3a2a1a 0%, #2a1a0a 100%);
  border-radius: 30% 30% 10% 10%;
  transform-origin: bottom center;
  animation: hl-chair 8s ease-in-out infinite alternate;
}
.scn-hogan-home-life .window {
  position: absolute; top: 10%; right: 15%; width: 35%; height: 40%;
  background: linear-gradient(180deg, #202040 0%, #101030 100%);
  border: 2px solid #3a3a4a; border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}
.scn-hogan-home-life .cityscape {
  position: absolute; top: 18%; right: 17%; width: 31%; height: 25%;
  background: 
    radial-gradient(2px 2px at 30% 80%, #606080 0%, transparent 100%) no-repeat,
    radial-gradient(2px 2px at 60% 60%, #8080a0 0%, transparent 100%) no-repeat,
    radial-gradient(3px 3px at 80% 90%, #404060 0%, transparent 100%) no-repeat;
  filter: blur(1px);
  animation: hl-city 20s linear infinite;
}
.scn-hogan-home-life .figure {
  position: absolute; bottom: 28%; left: 50%; width: 20px; height: 48px;
  background: linear-gradient(180deg, #0a0a1a 0%, #000010 100%);
  border-radius: 40% 40% 35% 35% / 60% 60% 35% 35%;
  transform-origin: bottom center;
  animation: hl-figure 5s ease-in-out infinite alternate;
}
.scn-hogan-home-life .cigar-glow {
  position: absolute; bottom: 46%; left: 50%; width: 6px; height: 6px;
  background: radial-gradient(circle, #ffa060 0%, #e08040 50%, transparent 70%);
  border-radius: 50%;
  animation: hl-cigar 2s ease-in-out infinite alternate;
}
.scn-hogan-home-life .wolf-shadow {
  position: absolute; bottom: 30%; left: 30%; width: 50px; height: 25px;
  background: radial-gradient(ellipse at 50% 100%, #0a0a1a 0%, transparent 70%);
  border-radius: 70% 30% 50% 50% / 80% 40% 60% 60%;
  filter: blur(3px); opacity: 0.5;
  animation: hl-wolf 6s ease-in-out infinite alternate;
}
@keyframes hl-bg { 0% { opacity: 0.7 } 50% { opacity: 1 } 100% { opacity: 0.8 } }
@keyframes hl-chair { 0% { transform: rotate(0) } 50% { transform: rotate(2deg) translateY(-1px) } 100% { transform: rotate(-1deg) } }
@keyframes hl-city { 0% { background-position: 0 0, 0 0, 0 0; opacity: 0.6 } 50% { background-position: 2px 1px, -1px 0, 1px -1px; opacity: 0.8 } 100% { background-position: -2px 0, 1px 1px, -1px 0; opacity: 0.5 } }
@keyframes hl-figure { 0% { transform: translateX(0) rotate(0) } 50% { transform: translateX(3px) rotate(1deg) } 100% { transform: translateX(-2px) rotate(-1deg) } }
@keyframes hl-cigar { 0% { opacity: 0.3; transform: scale(0.8) } 50% { opacity: 1; transform: scale(1.3) } 100% { opacity: 0.5; transform: scale(0.9) } }
@keyframes hl-wolf { 0% { transform: scaleX(1) translateX(0); opacity: 0.4 } 50% { transform: scaleX(1.2) translateX(5px); opacity: 0.7 } 100% { transform: scaleX(0.9) translateX(-3px); opacity: 0.3 } }

/* === hogan-mask-of-benignity === */
.scn-hogan-mask-of-benignity {
  background: linear-gradient(180deg, #2a2320 0%, #3a3028 40%, #1a1815 100%),
              radial-gradient(ellipse at 50% 70%, #4a4038 0%, transparent 60%);
}
.scn-hogan-mask-of-benignity .dais {
  position: absolute; bottom: 0; left: 10%; right: 10%; height: 25%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: 0 -6px 15px rgba(0,0,0,0.7);
}
.scn-hogan-mask-of-benignity .figure {
  position: absolute; bottom: 25%; left: 50%; width: 28px; height: 55px;
  background: linear-gradient(180deg, #1a1815 0%, #0a0805 100%);
  border-radius: 45% 45% 35% 35% / 65% 65% 35% 35%;
  transform: translateX(-50%);
  animation: mb-figure 8s ease-in-out infinite alternate;
}
.scn-hogan-mask-of-benignity .mask {
  position: absolute; bottom: 55%; left: 50%; width: 24px; height: 16px;
  background: linear-gradient(180deg, #e8d0b0 0%, #c0a080 100%);
  border-radius: 50% 50% 20% 20% / 60% 60% 30% 30%;
  transform: translateX(-50%) rotate(5deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: mb-mask 4s ease-in-out infinite alternate;
}
.scn-hogan-mask-of-benignity .gavel {
  position: absolute; bottom: 28%; left: 35%; width: 14px; height: 28px;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 4px; transform: rotate(-20deg);
  animation: mb-gavel 6s ease-in-out infinite;
}
.scn-hogan-mask-of-benignity .books {
  position: absolute; bottom: 22%; right: 20%; width: 40px; height: 30px;
  background: linear-gradient(90deg, #3a2a1a 0%, #5a4a3a 50%, #4a3a2a 100%);
  border-radius: 2px; box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
  animation: mb-books 12s ease-in-out infinite alternate;
}
.scn-hogan-mask-of-benignity .shadow {
  position: absolute; bottom: 20%; left: 30%; width: 80px; height: 20px;
  background: radial-gradient(ellipse, #0a0805 0%, transparent 70%);
  border-radius: 50%; filter: blur(2px); opacity: 0.5;
  animation: mb-shadow 8s ease-in-out infinite alternate;
}
.scn-hogan-mask-of-benignity .lamp-glow {
  position: absolute; bottom: 40%; left: 25%; width: 30px; height: 30px;
  background: radial-gradient(circle, #d0b080 0%, #8a7050 40%, transparent 70%);
  border-radius: 50%;
  animation: mb-lamp 3s ease-in-out infinite alternate;
}
@keyframes mb-figure { 0% { transform: translateX(-50%) rotate(0) } 50% { transform: translateX(-48%) rotate(2deg) } 100% { transform: translateX(-52%) rotate(-1deg) } }
@keyframes mb-mask { 0% { transform: translateX(-50%) rotate(5deg) scaleY(1) } 50% { transform: translateX(-50%) rotate(10deg) scaleY(1.1) } 100% { transform: translateX(-50%) rotate(3deg) scaleY(0.95) } }
@keyframes mb-gavel { 0% { transform: rotate(-20deg) } 50% { transform: rotate(-15deg) translateY(-2px) } 100% { transform: rotate(-22deg) } }
@keyframes mb-books { 0% { transform: translateX(0) } 50% { transform: translateX(2px) } 100% { transform: translateX(-2px) } }
@keyframes mb-shadow { 0% { transform: scaleX(1) } 50% { transform: scaleX(1.1) } 100% { transform: scaleX(0.95) } }
@keyframes mb-lamp { 0% { opacity: 0.6; transform: scale(0.9) } 50% { opacity: 1; transform: scale(1.1) } 100% { opacity: 0.7; transform: scale(0.95) } }

/* limousine-confrontation – tense sunlit */
.scn-limousine-confrontation {
  background: 
    linear-gradient(180deg, #fce4c4 0%, #e8c9a0 30%, #c8a070 100%),
    radial-gradient(ellipse at 60% 20%, #fff7e0 0%, transparent 60%);
}
.scn-limousine-confrontation .sky {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #fbe9d2 0%, #f0d4b0 100%);
  animation: lc-sky 8s ease-in-out infinite alternate;
}
.scn-limousine-confrontation .ground {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #8b7355 0%, #5a4a30 100%);
  border-radius: 20% 20% 0 0 / 10% 10% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
}
.scn-limousine-confrontation .car-body {
  position: absolute; bottom: 22%; left: 15%; width: 55%; height: 20%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 80%, #0e0e1e 100%);
  border-radius: 8% 8% 4% 4% / 40% 40% 20% 20%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.6), inset 0 2px 4px rgba(255,255,255,0.1);
  animation: lc-car-idle 2s ease-in-out infinite alternate;
}
.scn-limousine-confrontation .car-window {
  position: absolute; bottom: 28%; left: 20%; width: 20%; height: 10%;
  background: radial-gradient(circle at 30% 40%, #a0b4d0 0%, #4a5a6a 100%);
  border-radius: 20% 20% 10% 10% / 40% 40% 20% 20%;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.5);
  animation: lc-window-gleam 6s ease-in-out infinite;
}
.scn-limousine-confrontation .car-wheel {
  position: absolute; bottom: 18%; width: 10%; height: 10%;
  background: radial-gradient(circle at 40% 40%, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.5);
  animation: lc-wheel-spin 3s linear infinite;
}
.scn-limousine-confrontation .car-wheel.front { left: 25%; }
.scn-limousine-confrontation .car-wheel.rear { right: 25%; }
.scn-limousine-confrontation .figure-confronting {
  position: absolute; bottom: 20%; right: 10%; width: 12%; height: 25%;
  background: linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: lc-confront 1.5s ease-in-out infinite alternate;
}
.scn-limousine-confrontation .figure-inside {
  position: absolute; bottom: 28%; left: 22%; width: 8%; height: 12%;
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  animation: lc-inside 4s ease-in-out infinite;
}
.scn-limousine-confrontation .sun-glare {
  position: absolute; top: 8%; left: 30%; width: 20%; height: 20%;
  background: radial-gradient(circle, #fff5d0 0%, #fce4a0 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(8px);
  animation: lc-glare 3s ease-in-out infinite alternate;
}

@keyframes lc-sky { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes lc-car-idle { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes lc-window-gleam { 0%, 100% { box-shadow: inset 0 2px 6px rgba(0,0,0,0.5); } 50% { box-shadow: inset 0 2px 12px rgba(255,240,200,0.6); } }
@keyframes lc-wheel-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes lc-confront { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(-5px) rotate(3deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes lc-inside { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes lc-glare { 0% { opacity: 0.6; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1.1); } }

/* edgerton-retained – bright interior funny */
.scn-edgerton-retained {
  background: 
    linear-gradient(180deg, #fcf6e8 0%, #efe0c0 40%, #d4b890 100%),
    radial-gradient(ellipse at 50% 100%, #d4b890 0%, transparent 80%);
}
.scn-edgerton-retained .wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #fef8ec 0%, #f0e0c0 100%);
  animation: er-wall 12s ease-in-out infinite alternate;
}
.scn-edgerton-retained .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b09878 0%, #8a7050 100%);
  border-radius: 10% 10% 0 0 / 5% 5% 0 0;
  box-shadow: inset 0 6px 12px rgba(0,0,0,0.3);
}
.scn-edgerton-retained .desk {
  position: absolute; bottom: 22%; left: 20%; width: 50%; height: 12%;
  background: linear-gradient(180deg, #7a6040 0%, #5a4020 100%);
  border-radius: 4% 4% 2% 2% / 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: er-desk-bounce 4s ease-in-out infinite;
}
.scn-edgerton-retained .lawyer {
  position: absolute; bottom: 25%; left: 25%; width: 10%; height: 22%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: er-lawyer-nod 2s ease-in-out infinite alternate;
}
.scn-edgerton-retained .client {
  position: absolute; bottom: 25%; right: 25%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: er-client-gesture 3s ease-in-out infinite;
}
.scn-edgerton-retained .window {
  position: absolute; top: 10%; right: 10%; width: 20%; height: 25%;
  background: linear-gradient(180deg, #d0e4f0 0%, #a0c0d0 100%);
  border-radius: 8% 8% 4% 4% / 15% 15% 5% 5%;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.5);
  animation: er-window-bright 5s ease-in-out infinite alternate;
}
.scn-edgerton-retained .lamp {
  position: absolute; top: 12%; left: 30%; width: 8%; height: 14%;
  background: radial-gradient(circle at 50% 30%, #ffe8c0 0%, #d0a070 100%);
  border-radius: 40% 40% 10% 10% / 30% 30% 50% 50%;
  box-shadow: 0 0 20px 8px rgba(255,220,160,0.4);
  animation: er-lamp-swing 6s ease-in-out infinite alternate;
}
.scn-edgerton-retained .papers {
  position: absolute; bottom: 28%; left: 40%; width: 10%; height: 6%;
  background: linear-gradient(180deg, #ffffff 0%, #e8e0d0 100%);
  border-radius: 4% 4% 2% 2% / 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: er-papers-float 8s ease-in-out infinite;
}

@keyframes er-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes er-desk-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes er-lawyer-nod { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes er-client-gesture { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(5px) rotate(3deg); } 50% { transform: translateX(8px) rotate(5deg); } 75% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes er-window-bright { 0% { opacity: 0.7; } 100% { opacity: 1; } }
@keyframes er-lamp-swing { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-3deg); } }
@keyframes er-papers-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(5deg); } }

/* wall-street-lawyers-baffled – bright interior chaotic */
.scn-wall-street-lawyers-baffled {
  background: 
    linear-gradient(180deg, #fcf6e8 0%, #efdcc0 50%, #d4b890 100%),
    radial-gradient(ellipse at 50% 80%, #e8d0b0 0%, transparent 80%);
}
.scn-wall-street-lawyers-baffled .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #fef8ec 0%, #f0e0c8 100%);
  animation: ws-wall 10s ease-in-out infinite alternate;
}
.scn-wall-street-lawyers-baffled .table {
  position: absolute; bottom: 18%; left: 10%; width: 80%; height: 18%;
  background: linear-gradient(180deg, #7a6040 0%, #5a4020 100%);
  border-radius: 6% 6% 3% 3% / 15% 15% 5% 5%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  animation: ws-table-tilt 6s ease-in-out infinite alternate;
}
.scn-wall-street-lawyers-baffled .lawyer-left {
  position: absolute; bottom: 22%; left: 12%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ws-left-baffle 2.5s ease-in-out infinite alternate;
}
.scn-wall-street-lawyers-baffled .lawyer-right {
  position: absolute; bottom: 22%; right: 12%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ws-right-baffle 3s ease-in-out infinite alternate;
}
.scn-wall-street-lawyers-baffled .lawyer-center {
  position: absolute; bottom: 24%; left: 40%; width: 20%; height: 26%;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: ws-center-shrug 4s ease-in-out infinite;
}
.scn-wall-street-lawyers-baffled .papers {
  position: absolute; bottom: 22%; left: 30%; width: 8%; height: 10%;
  background: linear-gradient(180deg, #ffffff 0%, #e8e0d0 100%);
  border-radius: 4% 4% 2% 2% / 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: ws-papers-wave 7s ease-in-out infinite;
}
.scn-wall-street-lawyers-baffled .confusion-a {
  position: absolute; top: 10%; left: 20%; width: 6%; height: 6%;
  background: radial-gradient(circle, #e0c0a0 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(3px);
  animation: ws-confuse-a 5s ease-in-out infinite alternate;
}
.scn-wall-street-lawyers-baffled .confusion-b {
  position: absolute; top: 15%; right: 20%; width: 8%; height: 8%;
  background: radial-gradient(circle, #c0a080 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(4px);
  animation: ws-confuse-b 6s ease-in-out infinite alternate;
}

@keyframes ws-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes ws-table-tilt { 0% { transform: rotate(0deg); } 50% { transform: rotate(1deg); } 100% { transform: rotate(-1deg); } }
@keyframes ws-left-baffle { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ws-right-baffle { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(-4deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ws-center-shrug { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-4px) scaleY(1.05); } 50% { transform: translateY(-6px) scaleY(1.1); } 75% { transform: translateY(-4px) scaleY(1.05); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ws-papers-wave { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(10deg); } }
@keyframes ws-confuse-a { 0% { opacity: 0.3; transform: scale(1); } 100% { opacity: 0.6; transform: scale(1.3); } }
@keyframes ws-confuse-b { 0% { opacity: 0.2; transform: scale(1); } 100% { opacity: 0.5; transform: scale(1.5); } }

/* maddox-learns-procedure – funny courtroom */
.scn-maddox-learns-procedure {
  background: 
    linear-gradient(180deg, #e8d8c0 0%, #d4b890 40%, #b09870 100%),
    radial-gradient(ellipse at 50% 100%, #c8b090 0%, transparent 80%);
}
.scn-maddox-learns-procedure .court-wall {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(180deg, #f0e0c8 0%, #d4b890 100%);
  border-bottom: 4px solid #8a7050;
  animation: ml-wall 12s ease-in-out infinite alternate;
}
.scn-maddox-learns-procedure .judge-bench {
  position: absolute; bottom: 22%; left: 5%; width: 25%; height: 20%;
  background: linear-gradient(180deg, #7a6040 0%, #4a3020 100%);
  border-radius: 6% 6% 3% 3% / 20% 20% 10% 10%;
  box-shadow: 0 8px 16px rgba(0,0,0,0.5);
}
.scn-maddox-learns-procedure .judge {
  position: absolute; bottom: 28%; left: 12%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: ml-judge-slam 2s ease-in-out infinite alternate;
}
.scn-maddox-learns-procedure .defendant {
  position: absolute; bottom: 20%; left: 40%; width: 12%; height: 26%;
  background: linear-gradient(180deg, #4a4a5a 0%, #2a2a3a 100%);
  border-radius: 45% 45% 35% 35% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: ml-defendant-cycle 3s ease-in-out infinite alternate;
}
.scn-maddox-learns-procedure .lawyer-maddox {
  position: absolute; bottom: 20%; right: 25%; width: 12%; height: 24%;
  background: linear-gradient(180deg, #5a5a6a 0%, #3a3a4a 100%);
  border-radius: 50% 50% 35% 35% / 55% 55% 30% 30%;
  transform-origin: bottom center;
  animation: ml-lawyer-shrug 4s ease-in-out infinite;
}
.scn-maddox-learns-procedure .jury-box {
  position: absolute; bottom: 25%; right: 5%; width: 15%; height: 18%;
  background: linear-gradient(180deg, #8a7858 0%, #6a5030 100%);
  border-radius: 8% 8% 4% 4% / 20% 20% 10% 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-maddox-learns-procedure .gavel {
  position: absolute; bottom: 30%; left: 8%; width: 6%; height: 4%;
  background: linear-gradient(180deg, #5a4020 0%, #3a2810 100%);
  border-radius: 20% 20% 10% 10% / 50% 50% 30% 30%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
  animation: ml-gavel-hit 1.5s ease-in-out infinite alternate;
}
.scn-maddox-learns-procedure .podium {
  position: absolute; bottom: 18%; left: 38%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%);
  border-radius: 10% 10% 5% 5% / 30% 30% 15% 15%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.scn-maddox-learns-procedure .confusion {
  position: absolute; top: 12%; left: 35%; width: 10%; height: 10%;
  background: radial-gradient(circle, #e0c8a0 0%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: ml-confusion 5s ease-in-out infinite alternate;
}

@keyframes ml-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.95; } }
@keyframes ml-judge-slam { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-5px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ml-defendant-cycle { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes ml-lawyer-shrug { 0% { transform: translateY(0) scaleY(1); } 25% { transform: translateY(-3px) scaleY(1.05); } 50% { transform: translateY(-5px) scaleY(1.1); } 75% { transform: translateY(-3px) scaleY(1.05); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes ml-gavel-hit { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(15deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes ml-confusion { 0% { opacity: 0.2; transform: scale(1); } 100% { opacity: 0.5; transform: scale(1.4); } }

/* caput-practices-opening — dim office corridor, funny mood */
.scn-caput-practices-opening {
  background: linear-gradient(180deg, #1a1a3e 0%, #2c2244 50%, #4a3a6e 100%), radial-gradient(ellipse at 30% 50%, #3a2a5a 0%, transparent 70%);
}
.scn-caput-practices-opening .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a3e 0%, #0e0e1e 60%, #050510 100%); animation: cp1-gloom 12s ease-in-out infinite alternate;
}
.scn-caput-practices-opening .wall-left {
  position: absolute; left: 0; top: 0; width: 40%; height: 100%; background: linear-gradient(90deg, #2a2244 0%, #1a1a3e 100%); border-right: 2px solid #3a3a5a; box-shadow: inset -8px 0 10px rgba(0,0,0,.5);
}
.scn-caput-practices-opening .wall-right {
  position: absolute; right: 0; top: 0; width: 40%; height: 100%; background: linear-gradient(90deg, #1a1a3e 0%, #2a2244 100%); border-left: 2px solid #3a3a5a; box-shadow: inset 8px 0 10px rgba(0,0,0,.5);
}
.scn-caput-practices-opening .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #0e0e1e 0%, #050510 100%); box-shadow: inset 0 10px 20px rgba(0,0,0,.6); animation: cp1-floor 20s ease-in-out infinite;
}
.scn-caput-practices-opening .door {
  position: absolute; bottom: 30%; left: 35%; width: 80px; height: 70%; background: linear-gradient(180deg, #3a2a1a 0%, #1a100a 100%); border-radius: 4px 4px 0 0; border: 2px solid #5a3a2a; box-shadow: 0 4px 8px rgba(0,0,0,.7); animation: cp1-door 8s ease-in-out infinite;
}
.scn-caput-practices-opening .rubber-plant {
  position: absolute; bottom: 30%; left: 15%; width: 40px; height: 60px; background: radial-gradient(ellipse 50% 100%, #2a5a2a 0%, #1a3a1a 70%) no-repeat 50% 100%, radial-gradient(ellipse 50% 60%, #3a7a3a 0%, #1a3a1a 100%) no-repeat 50% 20%; background-size: 60% 40%, 100% 50%; animation: cp1-plant 3s ease-in-out infinite alternate;
}
.scn-caput-practices-opening .figure {
  position: absolute; bottom: 30%; left: 60%; 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: cp1-figure 4s ease-in-out infinite;
}
.scn-caput-practices-opening .chair {
  position: absolute; bottom: 30%; left: 70%; width: 30px; height: 50px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 20% 20% 10% 10%; box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: cp1-chair 6s linear infinite;
}
@keyframes cp1-gloom {
  0% { opacity: .8; }
  50% { opacity: 1; }
  100% { opacity: .75; }
}
@keyframes cp1-floor {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.98); }
}
@keyframes cp1-door {
  0%, 100% { transform: translateX(0) scaleX(1); }
  25% { transform: translateX(2px) scaleX(1.02); }
  75% { transform: translateX(-2px) scaleX(0.98); }
}
@keyframes cp1-plant {
  0% { transform: rotate(-2deg) scaleX(1); }
  50% { transform: rotate(2deg) scaleX(1.05); }
  100% { transform: rotate(-1deg) scaleX(1); }
}
@keyframes cp1-figure {
  0%, 100% { transform: translateX(0) translateY(0) rotate(-1deg); }
  25% { transform: translateX(4px) translateY(-2px) rotate(2deg); }
  75% { transform: translateX(8px) translateY(-1px) rotate(-2deg); }
}
@keyframes cp1-chair {
  0% { transform: translateX(0) rotate(0); }
  20% { transform: translateX(2px) rotate(3deg); }
  40% { transform: translateX(-2px) rotate(-3deg); }
  60% { transform: translateX(3px) rotate(4deg); }
  80% { transform: translateX(-3px) rotate(-4deg); }
  100% { transform: translateX(0) rotate(0); }
}

/* caput-arrives-splendid — bright interior dawn, funny mood */
.scn-caput-arrives-splendid {
  background: linear-gradient(180deg, #ffe4b5 0%, #ffdab9 30%, #f0c8a0 70%, #deb887 100%), radial-gradient(ellipse at 70% 20%, #ffebcd 0%, transparent 80%);
}
.scn-caput-arrives-splendid .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #ffefd0 0%, #ffe4b5 50%, #f0d0a0 100%); animation: ca2-dawn 10s ease-in-out infinite alternate;
}
.scn-caput-arrives-splendid .window {
  position: absolute; top: 10%; right: 15%; width: 60px; height: 80px; background: radial-gradient(ellipse at 50% 30%, #87ceeb 0%, #b0e0e6 50%, transparent 100%); border: 3px solid #c8a070; border-radius: 4px; box-shadow: 0 0 20px 6px rgba(135,206,235,.4); animation: ca2-glow 4s ease-in-out infinite alternate;
}
.scn-caput-arrives-splendid .bed {
  position: absolute; bottom: 30%; left: 10%; width: 120px; height: 50px; background: linear-gradient(180deg, #f5deb3 0%, #deb887 100%); border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: ca2-bed 15s ease-in-out infinite;
}
.scn-caput-arrives-splendid .door {
  position: absolute; bottom: 20%; left: 40%; width: 70px; height: 80%; background: linear-gradient(180deg, #c8a070 0%, #a08050 100%); border: 2px solid #a08050; border-radius: 4px; transform-origin: left center; animation: ca2-door 12s ease-in-out infinite alternate;
}
.scn-caput-arrives-splendid .figure {
  position: absolute; bottom: 30%; left: 50%; width: 18px; height: 38px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ca2-figure 5s ease-in-out infinite;
}
.scn-caput-arrives-splendid .shadow {
  position: absolute; bottom: 28%; left: 45%; width: 60px; height: 10px; background: rgba(0,0,0,.2); border-radius: 50%; filter: blur(4px); animation: ca2-shadow 5s ease-in-out infinite;
}
.scn-caput-arrives-splendid .laughing-faces {
  position: absolute; bottom: 40%; right: 10%; width: 30px; height: 20px; background: radial-gradient(circle at 30% 50%, #1a1a2a 3px, transparent 3px), radial-gradient(circle at 70% 50%, #1a1a2a 3px, transparent 3px), radial-gradient(ellipse at 50% 70%, #2a1a1a 0%, transparent 100%); background-size: 10px 10px, 10px 10px, 100% 100%; background-repeat: no-repeat; animation: ca2-laugh 2s ease-in-out infinite;
}
@keyframes ca2-dawn {
  0% { opacity: .85; }
  100% { opacity: 1; }
}
@keyframes ca2-glow {
  0% { box-shadow: 0 0 15px 4px rgba(135,206,235,.3); opacity: .9; }
  100% { box-shadow: 0 0 30px 10px rgba(135,206,235,.6); opacity: 1; }
}
@keyframes ca2-bed {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes ca2-door {
  0% { transform: rotate(0); }
  50% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}
@keyframes ca2-figure {
  0%, 100% { transform: translateX(0) translateY(0) rotate(0); }
  25% { transform: translateX(3px) translateY(-1px) rotate(3deg); }
  75% { transform: translateX(-3px) translateY(1px) rotate(-3deg); }
}
@keyframes ca2-shadow {
  0%, 100% { transform: translateX(0) scaleX(1); opacity: .6; }
  50% { transform: translateX(3px) scaleX(1.2); opacity: .8; }
}
@keyframes ca2-laugh {
  0%, 100% { transform: translate(0,0) scaleY(1); }
  50% { transform: translate(2px,-2px) scaleY(1.3); }
}

/* courtroom-assembled — bright courtroom, funny mood */
.scn-courtroom-assembled {
  background: linear-gradient(180deg, #f5deb3 0%, #e8d5a0 40%, #d0b880 100%), radial-gradient(ellipse at 50% 30%, #ffe4b5 0%, transparent 70%);
}
.scn-courtroom-assembled .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5f0e0 0%, #e8ddc8 60%, #d4c4a0 100%); animation: ca3-day 20s ease-in-out infinite alternate;
}
.scn-courtroom-assembled .bench {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 15%; background: linear-gradient(180deg, #8b4513 0%, #6b3410 100%); border-radius: 8px 8px 4px 4px; box-shadow: 0 4px 12px rgba(0,0,0,.4); animation: ca3-bench 8s ease-in-out infinite;
}
.scn-courtroom-assembled .table-left {
  position: absolute; bottom: 40%; left: 15%; width: 20%; height: 12%; background: linear-gradient(180deg, #a08050 0%, #806040 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.scn-courtroom-assembled .table-right {
  position: absolute; bottom: 40%; right: 15%; width: 20%; height: 12%; background: linear-gradient(180deg, #a08050 0%, #806040 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.scn-courtroom-assembled .audience {
  position: absolute; bottom: 10%; left: 5%; right: 5%; height: 25%; background: repeating-linear-gradient(90deg, #c0a080 0px, #c0a080 6px, #d0b090 6px, #d0b090 12px); mask-image: linear-gradient(180deg, transparent 10%, #000 90%); animation: ca3-audience 30s linear infinite;
}
.scn-courtroom-assembled .figure-judge {
  position: absolute; top: 10%; left: 38%; width: 16%; height: 18%; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top; animation: ca3-judge 6s ease-in-out infinite alternate;
}
.scn-courtroom-assembled .figure-lawyer {
  position: absolute; bottom: 35%; left: 18%; width: 10%; height: 20%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ca3-lawyer 4s ease-in-out infinite;
}
.scn-courtroom-assembled .figure-clerk {
  position: absolute; bottom: 35%; right: 18%; width: 10%; height: 18%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ca3-clerk 5s ease-in-out infinite alternate;
}
@keyframes ca3-day {
  0% { opacity: .9; }
  100% { opacity: 1; }
}
@keyframes ca3-bench {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes ca3-audience {
  0% { transform: translateX(0); }
  100% { transform: translateX(-12px); }
}
@keyframes ca3-judge {
  0% { transform: rotate(-2deg); }
  100% { transform: rotate(2deg); }
}
@keyframes ca3-lawyer {
  0%, 100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(2px) rotate(3deg); }
}
@keyframes ca3-clerk {
  0% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0); }
}

/* caput-opens-case — bright courtroom, dramatic funny entrance */
.scn-caput-opens-case {
  background: linear-gradient(180deg, #ffe4b5 0%, #f0d0a0 50%, #deb887 100%), radial-gradient(ellipse at 50% 20%, #fff5e0 0%, transparent 80%);
}
.scn-caput-opens-case .bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f5f0e0 0%, #e8ddc8 60%, #d4c4a0 100%); animation: co4-bright 15s ease-in-out infinite alternate;
}
.scn-caput-opens-case .door {
  position: absolute; bottom: 20%; left: 5%; width: 80px; height: 90%; background: linear-gradient(180deg, #8b6b3a 0%, #6b4b2a 100%); border-radius: 0 4px 4px 0; box-shadow: 0 4px 12px rgba(0,0,0,.5); animation: co4-door 10s ease-in-out infinite alternate;
}
.scn-caput-opens-case .figure-caput {
  position: absolute; bottom: 30%; left: 25%; width: 24px; height: 50px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: co4-caput 6s ease-in-out infinite;
}
.scn-caput-opens-case .figure-caput::after {
  content: ""; position: absolute; top: -10%; left: 50%; width: 8px; height: 12px; background: radial-gradient(ellipse at 50% 50%, #3cb371 0%, #228B22 100%); border-radius: 50%; transform: translateX(-50%) rotate(30deg); box-shadow: 0 2px 4px rgba(0,0,0,.3); animation: co4-tie 2s ease-in-out infinite alternate;
}
.scn-caput-opens-case .audience {
  position: absolute; bottom: 10%; left: 30%; right: 10%; height: 20%; background: repeating-linear-gradient(90deg, #c0a080 0px, #c0a080 5px, #d0b090 5px, #d0b090 10px); mask-image: linear-gradient(180deg, transparent 10%, #000 90%); animation: co4-audience 25s linear infinite;
}
.scn-caput-opens-case .bench {
  position: absolute; top: 10%; left: 35%; width: 30%; height: 12%; background: linear-gradient(180deg, #8b4513 0%, #6b3410 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.4); animation: co4-bench 8s ease-in-out infinite;
}
.scn-caput-opens-case .table {
  position: absolute; bottom: 40%; left: 35%; width: 30%; height: 10%; background: linear-gradient(180deg, #a08050 0%, #806040 100%); border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.scn-caput-opens-case .rosebud {
  position: absolute; bottom: 33%; left: 27%; width: 8px; height: 10px; background: radial-gradient(ellipse at 50% 30%, #b87878 0%, #8b5050 100%); border-radius: 50%; box-shadow: 0 0 8px 2px rgba(184,120,120,.5); animation: co4-rose 3s ease-in-out infinite alternate;
}
@keyframes co4-bright {
  0% { opacity: .9; }
  100% { opacity: 1; }
}
@keyframes co4-door {
  0% { transform: rotate(0) scaleX(1); }
  50% { transform: rotate(3deg) scaleX(1.03); }
  100% { transform: rotate(0) scaleX(1); }
}
@keyframes co4-caput {
  0%, 100% { transform: translateX(0) translateY(0) rotate(-2deg); }
  25% { transform: translateX(5px) translateY(-3px) rotate(3deg); }
  75% { transform: translateX(10px) translateY(-2px) rotate(-3deg); }
}
@keyframes co4-tie {
  0% { transform: translateX(-50%) rotate(25deg); }
  100% { transform: translateX(-50%) rotate(35deg); }
}
@keyframes co4-audience {
  0% { transform: translateX(0); }
  100% { transform: translateX(-10px); }
}
@keyframes co4-bench {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes co4-rose {
  0% { transform: scale(1) rotate(0); opacity: .8; }
  100% { transform: scale(1.2) rotate(10deg); opacity: 1; }
}

/* dim‑interior scenes – all share warm brown/amber palette with flicker */

.scn-bently-persuades-majority {
  background: linear-gradient(180deg, #3a2a1a 0%, #1c120e 60%, #0d0a08 100%), radial-gradient(ellipse at 40% 30%, rgba(200,150,80,.15) 0%, transparent 60%);
}
.scn-bently-persuades-majority .wall {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(135deg, #4a3828 0%, #2c1e14 80%);
}
.scn-bently-persuades-majority .floor {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a120a 100%);
  border-top: 2px solid #5a4a3a;
}
.scn-bently-persuades-majority .window {
  position:absolute; top:8%; right:8%; width:60px; height:80px;
  background: radial-gradient(circle at 50% 30%, #f0d080 0%, #b89040 80%);
  border: 3px solid #5a3a1a; border-radius:4px;
  box-shadow: 0 0 40px 12px rgba(200,150,60,.4);
  animation: bp-window 4s ease-in-out infinite alternate;
}
.scn-bently-persuades-majority .bently {
  position:absolute; bottom:30%; left:25%; width:28px; height:50px;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bp-bently 3s ease-in-out infinite;
}
.scn-bently-persuades-majority .bently::after {
  content:''; position:absolute; top:-10px; left:50%; width:20px; height:8px;
  margin-left:-10px; border-radius:50%; background:#2a2018;
}
.scn-bently-persuades-majority .jury1 {
  position:absolute; bottom:34%; right:35%; width:16px; height:32px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: bp-jury 3.5s ease-in-out infinite 0.2s;
}
.scn-bently-persuades-majority .jury2 {
  position:absolute; bottom:34%; right:45%; width:16px; height:32px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: bp-jury 3.5s ease-in-out infinite 0.8s;
}
.scn-bently-persuades-majority .jury3 {
  position:absolute; bottom:34%; right:55%; width:16px; height:32px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: bp-jury 3.5s ease-in-out infinite 1.4s;
}
.scn-bently-persuades-majority .gavel {
  position:absolute; bottom:28%; left:50%; width:8px; height:14px;
  background: #6a4a2a;
  border-radius:2px;
  transform:translateX(-50%) rotate(10deg);
  animation: bp-gavel 2s ease-in-out infinite alternate;
}
.scn-bently-persuades-majority .gavel::before {
  content:''; position:absolute; top:-6px; left:-4px; width:16px; height:8px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius:3px;
}
.scn-bently-persuades-majority .desk {
  position:absolute; bottom:26%; left:20%; right:20%; height:12px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius:4px 4px 2px 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
}

@keyframes bp-window { 0% { opacity:.7; box-shadow:0 0 30px 8px rgba(200,150,60,.3); } 50% { opacity:1; box-shadow:0 0 50px 16px rgba(200,150,60,.5); } 100% { opacity:.8; box-shadow:0 0 35px 10px rgba(200,150,60,.35); } }
@keyframes bp-bently { 0% { transform:translateX(0) rotate(-2deg); } 50% { transform:translateX(4px) rotate(2deg); } 100% { transform:translateX(-2px) rotate(-1deg); } }
@keyframes bp-jury { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(3deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes bp-gavel { 0% { transform:translateX(-50%) rotate(0deg); } 50% { transform:translateX(-50%) rotate(15deg); } 100% { transform:translateX(-50%) rotate(-10deg); } }

.scn-bently-argues-craftily {
  background: linear-gradient(180deg, #332418 0%, #1a0f0a 60%, #0d0805 100%), radial-gradient(ellipse at 30% 40%, rgba(180,130,60,.12) 0%, transparent 60%);
}
.scn-bently-argues-craftily .wall {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(135deg, #4a3828 0%, #2c1e14 80%);
}
.scn-bently-argues-craftily .floor {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a120a 100%);
  border-top: 2px solid #5a4a3a;
}
.scn-bently-argues-craftily .window {
  position:absolute; top:10%; right:10%; width:50px; height:70px;
  background: radial-gradient(circle at 50% 30%, #e0c070 0%, #b08040 80%);
  border: 3px solid #5a3a1a; border-radius:4px;
  box-shadow: 0 0 40px 12px rgba(200,150,60,.4);
  animation: ba-window 4.5s ease-in-out infinite alternate;
}
.scn-bently-argues-craftily .bently {
  position:absolute; bottom:28%; left:20%; width:30px; height:52px;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ba-bently 3s ease-in-out infinite;
}
.scn-bently-argues-craftily .bently::after {
  content:''; position:absolute; top:-12px; left:50%; width:22px; height:10px;
  margin-left:-11px; border-radius:50%; background:#2a2018;
}
.scn-bently-argues-craftily .holdout1 {
  position:absolute; bottom:32%; right:30%; width:16px; height:30px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: ba-holdout 4s ease-in-out infinite 0.5s;
}
.scn-bently-argues-craftily .holdout2 {
  position:absolute; bottom:32%; right:42%; width:16px; height:30px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: ba-holdout 4s ease-in-out infinite 1.2s;
}
.scn-bently-argues-craftily .desk {
  position:absolute; bottom:24%; left:15%; right:15%; height:10px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius:4px 4px 2px 2px;
  box-shadow: 0 4px 8px rgba(0,0,0,.6);
}
.scn-bently-argues-craftily .scales {
  position:absolute; bottom:34%; left:50%; width:30px; height:24px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #b89850 0%, #8a6a30 100%);
  border-radius:50% 50% 0 0;
  animation: ba-scales 3.5s ease-in-out infinite alternate;
}
.scn-bently-argues-craftily .scales::before {
  content:''; position:absolute; bottom:-8px; left:2px; width:12px; height:10px;
  background: #8a6a30; border-radius:0 0 50% 50%;
  transform:rotate(-20deg);
}
.scn-bently-argues-craftily .scales::after {
  content:''; position:absolute; bottom:-8px; right:2px; width:12px; height:10px;
  background: #8a6a30; border-radius:0 0 50% 50%;
  transform:rotate(20deg);
}
.scn-bently-argues-craftily .hat {
  position:absolute; bottom:30%; left:35%; width:20px; height:12px;
  background: #3a2a1a; border-radius:50% 50% 0 0;
  transform:rotate(5deg);
  animation: ba-hat 2.8s ease-in-out infinite;
}

@keyframes ba-window { 0% { opacity:.6; box-shadow:0 0 30px 8px rgba(200,150,60,.3); } 50% { opacity:1; box-shadow:0 0 50px 16px rgba(200,150,60,.5); } 100% { opacity:.7; box-shadow:0 0 35px 10px rgba(200,150,60,.35); } }
@keyframes ba-bently { 0% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-3px) rotate(3deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes ba-holdout { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(-4deg); } 100% { transform:translateY(0) rotate(2deg); } }
@keyframes ba-scales { 0% { transform:translateX(-50%) rotate(-5deg); } 50% { transform:translateX(-50%) rotate(5deg); } 100% { transform:translateX(-50%) rotate(-3deg); } }
@keyframes ba-hat { 0% { transform:rotate(3deg); } 50% { transform:rotate(-5deg) translateY(-1px); } 100% { transform:rotate(4deg); } }

.scn-reasonable-doubt-prevails {
  background: linear-gradient(180deg, #2c1e14 0%, #140a06 60%, #0a0502 100%), radial-gradient(ellipse at 60% 35%, rgba(200,150,80,.10) 0%, transparent 60%);
}
.scn-reasonable-doubt-prevails .wall {
  position:absolute; inset:0 0 45% 0;
  background: linear-gradient(135deg, #4a3828 0%, #2c1e14 80%);
}
.scn-reasonable-doubt-prevails .floor {
  position:absolute; bottom:0; left:0; right:0; height:45%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a120a 100%);
  border-top: 2px solid #5a4a3a;
}
.scn-reasonable-doubt-prevails .window {
  position:absolute; top:6%; left:6%; width:40px; height:60px;
  background: radial-gradient(circle at 50% 30%, #e0c070 0%, #b08040 80%);
  border: 3px solid #5a3a1a; border-radius:4px;
  box-shadow: 0 0 35px 10px rgba(200,150,60,.35);
  animation: rd-window 5s ease-in-out infinite alternate;
}
.scn-reasonable-doubt-prevails .doubt {
  position:absolute; bottom:24%; left:30%; width:20px; height:48px;
  background: linear-gradient(180deg, #1a1410 0%, #0a0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: rd-doubt 4s ease-in-out infinite;
}
.scn-reasonable-doubt-prevails .doubt::after {
  content:''; position:absolute; top:-10px; left:50%; width:18px; height:8px;
  margin-left:-9px; border-radius:50%; background:#1a1410;
}
.scn-reasonable-doubt-prevails .friend {
  position:absolute; bottom:26%; right:30%; width:20px; height:40px;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: rd-friend 3.2s ease-in-out infinite 0.3s;
}
.scn-reasonable-doubt-prevails .scales {
  position:absolute; bottom:30%; left:50%; width:34px; height:28px;
  transform:translateX(-50%);
  background: linear-gradient(180deg, #b89850 0%, #8a6a30 100%);
  border-radius:50% 50% 0 0;
  animation: rd-scales 3.8s ease-in-out infinite alternate;
}
.scn-reasonable-doubt-prevails .scales::before {
  content:''; position:absolute; bottom:-10px; left:3px; width:14px; height:12px;
  background: #8a6a30; border-radius:0 0 50% 50%;
  transform:rotate(-15deg);
}
.scn-reasonable-doubt-prevails .scales::after {
  content:''; position:absolute; bottom:-10px; right:3px; width:14px; height:12px;
  background: #8a6a30; border-radius:0 0 50% 50%;
  transform:rotate(15deg);
}
.scn-reasonable-doubt-prevails .gavel {
  position:absolute; bottom:18%; left:55%; width:8px; height:14px;
  background: #6a4a2a; border-radius:2px;
  transform:rotate(25deg);
  animation: rd-gavel 2.5s ease-in-out infinite;
}
.scn-reasonable-doubt-prevails .gavel::before {
  content:''; position:absolute; top:-6px; left:-4px; width:16px; height:8px;
  background: linear-gradient(180deg, #8a6a3a 0%, #5a3a1a 100%);
  border-radius:3px;
}
.scn-reasonable-doubt-prevails .document {
  position:absolute; bottom:18%; left:20%; width:24px; height:30px;
  background: linear-gradient(180deg, #c8b088 0%, #a89068 100%);
  border-radius:2px;
  transform:rotate(-8deg);
  box-shadow: 0 2px 4px rgba(0,0,0,.5);
  animation: rd-doc 6s ease-in-out infinite alternate;
}

@keyframes rd-window { 0% { opacity:.6; box-shadow:0 0 25px 6px rgba(200,150,60,.25); } 50% { opacity:1; box-shadow:0 0 45px 14px rgba(200,150,60,.45); } 100% { opacity:.75; box-shadow:0 0 30px 8px rgba(200,150,60,.3); } }
@keyframes rd-doubt { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-4px) rotate(3deg); } 100% { transform:translateY(0) rotate(-2deg); } }
@keyframes rd-friend { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(-4deg); } 100% { transform:translateY(0) rotate(2deg); } }
@keyframes rd-scales { 0% { transform:translateX(-50%) rotate(-4deg); } 50% { transform:translateX(-50%) rotate(4deg); } 100% { transform:translateX(-50%) rotate(-2deg); } }
@keyframes rd-gavel { 0% { transform:rotate(20deg); } 50% { transform:rotate(30deg) translateY(-1px); } 100% { transform:rotate(22deg); } }
@keyframes rd-doc { 0% { transform:rotate(-6deg); } 50% { transform:rotate(2deg); } 100% { transform:rotate(-8deg); } }

.scn-final-holdout-convinced {
  background: linear-gradient(180deg, #2c1e14 0%, #140a06 60%, #0a0502 100%), radial-gradient(ellipse at 50% 30%, rgba(200,150,80,.08) 0%, transparent 60%);
}
.scn-final-holdout-convinced .wall {
  position:absolute; inset:0 0 40% 0;
  background: linear-gradient(135deg, #4a3828 0%, #2c1e14 80%);
}
.scn-final-holdout-convinced .floor {
  position:absolute; bottom:0; left:0; right:0; height:40%;
  background: linear-gradient(180deg, #2c1e14 0%, #1a120a 100%);
  border-top: 2px solid #5a4a3a;
}
.scn-final-holdout-convinced .window {
  position:absolute; top:8%; right:8%; width:55px; height:75px;
  background: radial-gradient(circle at 50% 30%, #e0c070 0%, #b08040 80%);
  border: 3px solid #5a3a1a; border-radius:4px;
  box-shadow: 0 0 40px 12px rgba(200,150,60,.4);
  animation: fh-window 4.2s ease-in-out infinite alternate;
}
.scn-final-holdout-convinced .bently {
  position:absolute; bottom:26%; left:20%; width:28px; height:50px;
  background: linear-gradient(180deg, #2a2018 0%, #14100c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: fh-bently 3s ease-in-out infinite;
}
.scn-final-holdout-convinced .bently::after {
  content:''; position:absolute; top:-12px; left:50%; width:22px; height:10px;
  margin-left:-11px; border-radius:50%; background:#2a2018;
}
.scn-final-holdout-convinced .holdout {
  position:absolute; bottom:28%; right:35%; width:18px; height:38px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 50% 50% 30% 30% / 55% 55% 35% 35%;
  animation: fh-holdout 3.5s ease-in-out infinite 0.5s;
}
.scn-final-holdout-convinced .holdout::after {
  content:''; position:absolute; top:-8px; left:50%; width:14px; height:8px;
  margin-left:-7px; border-radius:50%; background:#3a2a20;
}
.scn-final-holdout-convinced .jurors-block {
  position:absolute; bottom:28%; right:50%; width:40px; height:30px;
  background: linear-gradient(180deg, #3a2a20 0%, #1c1410 100%);
  border-radius: 30% 30% 10% 10%;
  animation: fh-jurors 4s ease-in-out infinite;
}
.scn-final-holdout-convinced .jurors-block::before {
  content:''; position:absolute; top:-6px; left:4px; width:10px; height:8px;
  background:#3a2a20; border-radius:50%;
  animation: fh-jurors 4s ease-in-out infinite 0.3s;
}
.scn-final-holdout-convinced .jurors-block::after {
  content:''; position:absolute; top:-5px; right:4px; width:10px; height:8px;
  background:#3a2a20; border-radius:50%;
  animation: fh-jurors 4s ease-in-out infinite 0.7s;
}
.scn-final-holdout-convinced .lamp {
  position:absolute; bottom:20%; left:45%; width:6px; height:10px;
  background: #6a4a2a; border-radius:2px;
  animation: fh-lamp 3s ease-in-out infinite alternate;
}
.scn-final-holdout-convinced .lamp::before {
  content:''; position:absolute; bottom:10px; left:-4px; width:14px; height:6px;
  background: radial-gradient(circle, #f0c060 0%, #b08030 80%);
  border-radius:50%;
  box-shadow: 0 0 12px 4px rgba(200,150,60,.3);
}

@keyframes fh-window { 0% { opacity:.7; box-shadow:0 0 30px 8px rgba(200,150,60,.3); } 50% { opacity:1; box-shadow:0 0 50px 16px rgba(200,150,60,.5); } 100% { opacity:.8; box-shadow:0 0 35px 10px rgba(200,150,60,.35); } }
@keyframes fh-bently { 0% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-2px) rotate(2deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes fh-holdout { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-4px) rotate(-3deg); } 100% { transform:translateY(0) rotate(2deg); } }
@keyframes fh-jurors { 0% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(2deg); } 100% { transform:translateY(0) rotate(-1deg); } }
@keyframes fh-lamp { 0% { transform:rotate(-5deg); } 50% { transform:rotate(5deg); } 100% { transform:rotate(-3deg); } }

/* privilege-question-resolved */
.scn-privilege-question-resolved {
  background: linear-gradient(180deg, #2a1e1a 0%, #3a2a22 40%, #1a1410 100%),
              radial-gradient(ellipse at 30% 50%, #4a3a2a 0%, transparent 70%);
}
.scn-privilege-question-resolved .room-back {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 30%, transparent 40%, rgba(10,5,3,0.6) 100%);
  animation: pqr-room 18s ease-in-out infinite alternate;
}
.scn-privilege-question-resolved .desk {
  position: absolute; bottom: 15%; left: 12%; width: 76%; height: 10%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2218 100%);
  border-radius: 6px; box-shadow: 0 6px 12px rgba(0,0,0,0.7);
  animation: pqr-desk 6s ease-in-out infinite;
}
.scn-privilege-question-resolved .lamp-shade {
  position: absolute; bottom: 38%; left: 48%; width: 24px; height: 20px;
  background: radial-gradient(ellipse at 50% 20%, #f0d080 0%, #c89850 60%, #a07030 100%);
  border-radius: 50% 50% 10% 10%; box-shadow: 0 0 30px 8px #c89850, 0 0 60px 16px rgba(200,152,80,0.4);
  transform: translateX(-50%); animation: pqr-lamp 3s ease-in-out infinite alternate;
}
.scn-privilege-question-resolved .lamp-base {
  position: absolute; bottom: 41%; left: 50%; width: 6px; height: 14px;
  background: linear-gradient(90deg, #4a3020, #3a2018); border-radius: 2px;
  transform: translateX(-50%); animation: pqr-lamp-base 4s ease-in-out infinite;
}
.scn-privilege-question-resolved .lawyer-fig {
  position: absolute; bottom: 30%; left: 25%; width: 20px; height: 40px;
  background: linear-gradient(180deg, #2a2030 0%, #1a1020 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pqr-lawyer 5s ease-in-out infinite;
}
.scn-privilege-question-resolved .doctor-fig {
  position: absolute; bottom: 30%; right: 25%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #2a2530 0%, #15101a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pqr-doctor 7s ease-in-out infinite;
}
.scn-privilege-question-resolved .papers {
  position: absolute; bottom: 23%; left: 60%; width: 18px; height: 14px;
  background: linear-gradient(135deg, #f5f0e0 0%, #c8b898 100%);
  border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: pqr-papers 10s ease-in-out infinite;
}
.scn-privilege-question-resolved .gavel {
  position: absolute; bottom: 24%; left: 40%; width: 16px; height: 10px;
  background: linear-gradient(180deg, #8a7050 0%, #5a4028 100%);
  border-radius: 4px 4px 0 0; box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  animation: pqr-gavel 2s ease-in-out infinite alternate;
}
@keyframes pqr-room { 0% { opacity:0.6 } 50% { opacity:1 } 100% { opacity:0.7 } }
@keyframes pqr-desk { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes pqr-lamp { 0% { box-shadow:0 0 20px 4px #c89850,0 0 40px 8px rgba(200,152,80,0.3); transform:translateX(-50%) scale(1); } 50% { box-shadow:0 0 40px 12px #f0d080,0 0 80px 20px rgba(240,208,128,0.5); transform:translateX(-50%) scale(1.05); } 100% { box-shadow:0 0 25px 6px #c89850,0 0 50px 12px rgba(200,152,80,0.35); transform:translateX(-50%) scale(1); } }
@keyframes pqr-lamp-base { 0%,100% { transform:translateX(-50%) rotate(0deg) } 50% { transform:translateX(-50%) rotate(2deg) } }
@keyframes pqr-lawyer { 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 pqr-doctor { 0% { transform:translateX(0) translateY(0) } 30% { transform:translateX(-2px) translateY(-1px) rotate(3deg) } 60% { transform:translateX(2px) translateY(0) rotate(-2deg) } 100% { transform:translateX(0) translateY(0) } }
@keyframes pqr-papers { 0%,100% { transform:translateY(0) scale(1) } 50% { transform:translateY(-3px) scale(1.02) } }
@keyframes pqr-gavel { 0% { transform:translateY(0) rotate(0deg) } 100% { transform:translateY(-2px) rotate(10deg) } }

/* bentlys-final-triumph */
.scn-bentlys-final-triumph {
  background: linear-gradient(180deg, #1c1815 0%, #2a221e 40%, #0e0a08 100%),
              radial-gradient(ellipse at 50% 40%, #3a3028 0%, transparent 60%);
}
.scn-bentlys-final-triumph .room {
  position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 30%, transparent 30%, rgba(0,0,0,0.4) 100%);
  animation: bt-room 15s ease-in-out infinite alternate;
}
.scn-bentlys-final-triumph .table {
  position: absolute; bottom: 18%; left: 10%; width: 80%; height: 12%;
  background: linear-gradient(180deg, #4a3828 0%, #2a1e12 100%);
  border-radius: 8px; box-shadow: 0 8px 16px rgba(0,0,0,0.6);
  animation: bt-table 8s ease-in-out infinite;
}
.scn-bentlys-final-triumph .chair-left {
  position: absolute; bottom: 24%; left: 18%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #3a2a1a, #1a1008);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: bt-chair 10s ease-in-out infinite;
}
.scn-bentlys-final-triumph .chair-right {
  position: absolute; bottom: 24%; right: 18%; width: 14px; height: 22px;
  background: linear-gradient(180deg, #3a2a1a, #1a1008);
  border-radius: 20% 20% 10% 10%; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: bt-chair 10s ease-in-out infinite reverse;
}
.scn-bentlys-final-triumph .bently {
  position: absolute; bottom: 30%; left: 44%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #2a2030 0%, #15101a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: bt-bently 4s ease-in-out infinite;
}
.scn-bentlys-final-triumph .other-1 {
  position: absolute; bottom: 26%; left: 25%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #2a2520 0%, #14100c 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: bt-other 9s ease-in-out infinite;
}
.scn-bentlys-final-triumph .other-2 {
  position: absolute; bottom: 26%; right: 25%; width: 16px; height: 30px;
  background: linear-gradient(180deg, #2a2520 0%, #14100c 100%);
  border-radius: 50% 50% 30% 30% / 50% 50% 30% 30%;
  animation: bt-other 9s ease-in-out infinite reverse;
}
.scn-bentlys-final-triumph .ceiling-light {
  position: absolute; top: 8%; left: 50%; width: 12px; height: 8px;
  background: radial-gradient(ellipse, #d4b080 0%, #a08050 100%);
  border-radius: 50%; box-shadow: 0 0 30px 10px #c89850, 0 0 60px 20px rgba(200,152,80,0.3);
  transform: translateX(-50%);
  animation: bt-light 5s ease-in-out infinite alternate;
}
.scn-bentlys-final-triumph .evidence {
  position: absolute; bottom: 26%; left: 50%; width: 10px; height: 12px;
  background: linear-gradient(135deg, #f0e8d0 0%, #c0b098 100%);
  border-radius: 2px; box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transform: translateX(-50%);
  animation: bt-evidence 7s ease-in-out infinite;
}
@keyframes bt-room { 0% { opacity:0.8 } 50% { opacity:1 } 100% { opacity:0.9 } }
@keyframes bt-table { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-2px) } }
@keyframes bt-chair { 0% { transform:translateY(0) rotate(0deg) } 30% { transform:translateY(-1px) rotate(2deg) } 60% { transform:translateY(0) rotate(-1deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes bt-bently { 0% { transform:translateX(0) translateY(0) rotate(0deg) } 25% { transform:translateX(3px) translateY(-2px) rotate(5deg) } 50% { transform:translateX(-2px) translateY(-1px) rotate(-3deg) } 75% { transform:translateX(2px) translateY(0) rotate(2deg) } 100% { transform:translateX(0) translateY(0) rotate(0deg) } }
@keyframes bt-other { 0% { transform:translateY(0) rotate(0deg) } 50% { transform:translateY(-2px) rotate(2deg) } 100% { transform:translateY(0) rotate(0deg) } }
@keyframes bt-light { 0% { box-shadow:0 0 20px 5px #c89850,0 0 40px 10px rgba(200,152,80,0.2); } 50% { box-shadow:0 0 40px 12px #f0d080,0 0 80px 20px rgba(240,208,128,0.5); } 100% { box-shadow:0 0 25px 6px #c89850,0 0 50px 12px rgba(200,152,80,0.3); } }
@keyframes bt-evidence { 0%,100% { transform:translateX(-50%) scale(1) } 50% { transform:translateX(-50%) scale(1.05) rotate(5deg) } }

/* bently-returns-home */
.scn-bently-returns-home {
  background: linear-gradient(180deg, #f5e8d0 0%, #e8d4b8 40%, #d8c0a0 100%),
              radial-gradient(ellipse at 50% 80%, #f0e0c8 0%, transparent 60%);
}
.scn-bently-returns-home .station-bg {
  position: absolute; inset: 0; background: linear-gradient(180deg, #f0e0c8 0%, #c8b098 100%);
  animation: brh-station 20s ease-in-out infinite alternate;
}
.scn-bently-returns-home .train {
  position: absolute; bottom: 30%; left: -20%; width: 180%; height: 40%;
  background: linear-gradient(180deg, #6a5030 0%, #4a3820 100%);
  border-radius: 20% 20% 0 0 / 80% 80% 0 0;
  box-shadow: 0 12px 24px rgba(0,0,0,0.3);
  animation: brh-train 12s ease-in-out infinite;
}
.scn-bently-returns-home .platform {
  position: absolute; bottom: 18%; left: 0; right: 0; height: 8%;
  background: linear-gradient(180deg, #b8a088 0%, #8a7058 100%);
  border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,0.2);
  animation: brh-platform 18s ease-in-out infinite alternate;
}
.scn-bently-returns-home .bently-fig {
  position: absolute; bottom: 22%; left: 35%; width: 20px; height: 38px;
  background: linear-gradient(180deg, #2a3840 0%, #1a2428 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brh-bently 4s ease-in-out infinite;
}
.scn-bently-returns-home .eleanor-fig {
  position: absolute; bottom: 22%; left: 55%; width: 18px; height: 36px;
  background: linear-gradient(180deg, #3a2a40 0%, #201828 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: brh-eleanor 4s ease-in-out infinite reverse;
}
.scn-bently-returns-home .suitcase {
  position: absolute; bottom: 20%; left: 42%; width: 14px; height: 10px;
  background: linear-gradient(180deg, #5a7050 0%, #3a5030 100%);
  border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  animation: brh-suitcase 7s ease-in-out infinite;
}
.scn-bently-returns-home .smoke {
  position: absolute; top: 8%; left: 60%; width: 30px; height: 20px;
  background: radial-gradient(ellipse, rgba(220,210,190,0.6) 0%, transparent 100%);
  border-radius: 50%; filter: blur(6px);
  animation: brh-smoke 25s linear infinite;
}
@keyframes brh-station { 0% { opacity:0.9 } 50% { opacity:1 } 100% { opacity:0.85 } }
@keyframes brh-train { 0%,100% { transform:translateX(0) } 50% { transform:translateX(2px) } }
@keyframes brh-platform { 0% { transform:translateY(0) } 50% { transform:translateY(-1px) } 100% { transform:translateY(0) } }
@keyframes brh-bently { 0% { transform:translateX(0) translateY(0) rotate(0deg) } 20% { transform:translateX(4px) translateY(-2px) rotate(4deg) } 40% { transform:translateX(-2px) translateY(-1px) rotate(-2deg) } 60% { transform:translateX(3px) translateY(0) rotate(3deg) } 80% { transform:translateX(-1px) translateY(-1px) rotate(-1deg) } 100% { transform:translateX(0) translateY(0) rotate(0deg) } }
@keyframes brh-eleanor { 0% { transform:translateX(0) translateY(0) rotate(0deg) } 25% { transform:translateX(-3px) translateY(-1px) rotate(-3deg) } 50% { transform:translateX(0) translateY(0) rotate(0deg) } 75% { transform:translateX(2px) translateY(-1px) rotate(2deg) } 100% { transform:translateX(0) translateY(0) rotate(0deg) } }
@keyframes brh-suitcase { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-3px) } }
@keyframes brh-smoke { 0% { transform:translateX(0) scale(1); opacity:0.6 } 50% { transform:translateX(30px) scale(1.5); opacity:0.3 } 100% { transform:translateX(60px) scale(2); opacity:0 } }

/* Scene: katie-lowry-pleads-with-tutt (klp) */
.scn-katie-lowry-pleads-with-tutt { background: linear-gradient(180deg, #0f0c29 0%, #302b63 40%, #24243e 100%), radial-gradient(ellipse at 15% 80%, #f0e6a0 0%, transparent 60%); }
.scn-katie-lowry-pleads-with-tutt .street { position: absolute; bottom: 0; left: 0; right: 0; height: 30%; background: linear-gradient(180deg, #1a1a2a 0%, #0d0d1a 100%); box-shadow: inset 0 12px 24px rgba(0,0,0,.6); }
.scn-katie-lowry-pleads-with-tutt .skyline { position: absolute; bottom: 30%; left: 0; right: 0; height: 15%; background: linear-gradient(180deg, #2a2a4e 0%, transparent 100%); opacity: 0.5; animation: klp-shimmer 12s ease-in-out infinite alternate; }
.scn-katie-lowry-pleads-with-tutt .doorway { position: absolute; bottom: 23%; left: 12%; width: 80px; height: 120px; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); border-radius: 12% 12% 4% 4% / 20% 20% 4% 4%; box-shadow: inset 0 0 20px rgba(0,0,0,.8), 0 8px 16px rgba(0,0,0,.5); }
.scn-katie-lowry-pleads-with-tutt .steps { position: absolute; bottom: 15%; left: 8%; right: 16%; height: 12%; background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.4); animation: klp-depth 18s ease-in-out infinite; }
.scn-katie-lowry-pleads-with-tutt .tutt-silhouette { position: absolute; bottom: 26%; left: 40%; width: 28px; height: 90px; background: linear-gradient(180deg, #0d0d1a 0%, #000 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: klp-breathe 4s ease-in-out infinite; }
.scn-katie-lowry-pleads-with-tutt .katie-silhouette { position: absolute; bottom: 12%; left: 14%; width: 20px; height: 52px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: klp-sway 6s ease-in-out infinite; }
.scn-katie-lowry-pleads-with-tutt .katie-eyes { position: absolute; bottom: 33%; left: 15%; width: 8px; height: 4px; background: radial-gradient(circle, #f2c94c 0%, #f2994a 70%); border-radius: 50%; box-shadow: 0 0 20px 6px rgba(242, 201, 76, 0.5), 0 0 40px 12px rgba(242, 201, 76, 0.2); animation: klp-glow 3s ease-in-out infinite alternate; }
.scn-katie-lowry-pleads-with-tutt .shawl-edge { position: absolute; bottom: 22%; left: 12%; width: 28px; height: 14px; background: linear-gradient(180deg, #4a4a5e 0%, transparent 100%); border-radius: 60% 40% 0 0; filter: blur(1px); animation: klp-drape 6s ease-in-out infinite; }
.scn-katie-lowry-pleads-with-tutt .streetlamp-glow { position: absolute; bottom: 50%; left: 60%; width: 60px; height: 120px; background: radial-gradient(ellipse at 50% 100%, rgba(240, 230, 160, 0.15) 0%, transparent 70%); animation: klp-lamp 8s ease-in-out infinite alternate; }

@keyframes klp-shimmer { 0% { opacity: 0.4; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes klp-depth { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes klp-breathe { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } }
@keyframes klp-sway { 0%, 100% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(4px) rotate(2deg); } }
@keyframes klp-glow { 0% { box-shadow: 0 0 10px 2px rgba(242, 201, 76, 0.4); opacity: 0.8; } 50% { box-shadow: 0 0 30px 10px rgba(242, 201, 76, 0.7); opacity: 1; } 100% { box-shadow: 0 0 15px 4px rgba(242, 201, 76, 0.5); opacity: 0.9; } }
@keyframes klp-drape { 0%, 100% { transform: translateX(0) rotate(-3deg); } 50% { transform: translateX(2px) rotate(3deg); } }
@keyframes klp-lamp { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.9; } }

/* Scene: tutt-agrees-help-danny (tah) */
.scn-tutt-agrees-help-danny { background: linear-gradient(180deg, #1f0a00 0%, #4a1a00 40%, #2c0e00 100%), radial-gradient(ellipse at 30% 70%, #ff8c42 0%, transparent 60%); }
.scn-tutt-agrees-help-danny .wall { position: absolute; inset: 0; background: linear-gradient(180deg, #3a1a0a 0%, #1a0a00 100%); }
.scn-tutt-agrees-help-danny .hearth { position: absolute; bottom: 0; left: 5%; right: 60%; height: 40%; background: linear-gradient(180deg, #2a1000 0%, #0d0400 100%); border-radius: 0 60% 0 0 / 0 80% 0 0; box-shadow: inset 0 12px 24px rgba(0,0,0,.6); }
.scn-tutt-agrees-help-danny .fire-glow { position: absolute; bottom: 15%; left: 15%; width: 120px; height: 120px; background: radial-gradient(circle, #ff9a56 0%, #e86b1a 40%, transparent 70%); filter: blur(8px); animation: tah-flicker 2s ease-in-out infinite alternate; }
.scn-tutt-agrees-help-danny .logs { position: absolute; bottom: 8%; left: 10%; right: 70%; height: 12%; background: linear-gradient(180deg, #2a1a0a 0%, #1a0a00 100%); border-radius: 20% 20% 40% 40%; box-shadow: inset 0 4px 8px rgba(0,0,0,.4); }
.scn-tutt-agrees-help-danny .tutt-armchair { position: absolute; bottom: 10%; right: 15%; width: 60px; height: 80px; background: linear-gradient(180deg, #2a1a0a 0%, #0d0d0d 100%); border-radius: 40% 40% 10% 10% / 60% 60% 20% 20%; box-shadow: 0 8px 16px rgba(0,0,0,.5); transform-origin: bottom center; animation: tah-nod 6s ease-in-out infinite; }
.scn-tutt-agrees-help-danny .katie-shape { position: absolute; bottom: 20%; left: 20%; width: 24px; height: 50px; background: linear-gradient(180deg, #2a1a1a 0%, #1a0a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tah-lean 5s ease-in-out infinite; }
.scn-tutt-agrees-help-danny .table { position: absolute; bottom: 10%; left: 25%; right: 40%; height: 8%; background: linear-gradient(180deg, #3a2a1a 0%, #1a1000 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-tutt-agrees-help-danny .lamp { position: absolute; bottom: 50%; left: 60%; width: 20px; height: 30px; background: radial-gradient(ellipse at 50% 100%, #ffd680 0%, transparent 70%); border-radius: 50% 50% 10% 10%; animation: tah-hum 4s ease-in-out infinite alternate; }
.scn-tutt-agrees-help-danny .embers { position: absolute; bottom: 10%; left: 12%; width: 6px; height: 6px; background: #ffb347; border-radius: 50%; box-shadow: 0 0 12px 4px rgba(255, 179, 71, 0.6); animation: tah-ember 3s ease-in-out infinite; }

@keyframes tah-flicker { 0% { opacity: 0.8; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); box-shadow: 0 0 60px rgba(255, 154, 86, 0.6); } 100% { opacity: 0.9; transform: scale(1); } }
@keyframes tah-nod { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
@keyframes tah-lean { 0%, 100% { transform: translateX(0) rotate(-4deg); } 50% { transform: translateX(5px) rotate(4deg); } }
@keyframes tah-hum { 0% { opacity: 0.7; box-shadow: 0 0 15px 2px #ffd680; } 50% { opacity: 1; box-shadow: 0 0 30px 8px #ffd680; } 100% { opacity: 0.8; box-shadow: 0 0 20px 4px #ffd680; } }
@keyframes tah-ember { 0% { transform: translate(0, 0) scale(1); opacity: 0.5; } 50% { transform: translate(10px, -15px) scale(1.5); opacity: 1; } 100% { transform: translate(20px, -5px) scale(0.8); opacity: 0.2; } }

/* Scene: tutt-defies-the-law (tdl) */
.scn-tutt-defies-the-law { background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 50%, #0a0a0a 100%), radial-gradient(ellipse at 70% 20%, #fdf5e6 0%, transparent 50%); }
.scn-tutt-defies-the-law .dark-wall { position: absolute; inset: 0; background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%); }
.scn-tutt-defies-the-law .high-window { position: absolute; top: 5%; right: 5%; width: 120px; height: 180px; background: linear-gradient(180deg, #fff8dc 0%, #fdf5e6 100%); border-radius: 8% 8% 4% 4% / 12% 12% 6% 6%; box-shadow: inset 0 0 40px rgba(255, 255, 255, 0.2); }
.scn-tutt-defies-the-law .light-beam { position: absolute; top: 5%; right: 5%; width: 120px; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 100%); transform: skewX(-10deg); transform-origin: top right; animation: tdl-beam 8s ease-in-out infinite alternate; }
.scn-tutt-defies-the-law .tutt-figure { position: absolute; bottom: 15%; left: 15%; width: 40px; height: 100px; background: linear-gradient(180deg, #0d0d0d 0%, #000 100%); border-radius: 30% 30% 10% 10% / 40% 40% 20% 20%; transform-origin: bottom center; animation: tdl-raise 6s ease-in-out infinite; }
.scn-tutt-defies-the-law .tutt-shadow { position: absolute; bottom: 15%; left: 25%; width: 60px; height: 80px; background: rgba(0, 0, 0, 0.6); border-radius: 50%; filter: blur(8px); transform-origin: bottom center; animation: tdl-stretch 6s ease-in-out infinite; }
.scn-tutt-defies-the-law .danny-figure { position: absolute; bottom: 15%; left: 55%; 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: tdl-cower 4s ease-in-out infinite; }
.scn-tutt-defies-the-law .dust-motes { position: absolute; top: 10%; right: 10%; width: 100%; height: 80%; background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.3) 0%, transparent 10%), radial-gradient(circle at 80% 40%, rgba(255, 255, 255, 0.2) 0%, transparent 15%), radial-gradient(circle at 40% 60%, rgba(255, 255, 255, 0.25) 0%, transparent 12%); filter: blur(1px); animation: tdl-drift 20s linear infinite; }
.scn-tutt-defies-the-law .window-cross { position: absolute; top: 5%; right: 5%; width: 120px; height: 180px; background: linear-gradient(90deg, transparent 45%, #1a1a1a 45%, #1a1a1a 55%, transparent 55%), linear-gradient(0deg, transparent 45%, #1a1a1a 45%, #1a1a1a 55%, transparent 55%); opacity: 0.8; }

@keyframes tdl-beam { 0% { opacity: 0.6; transform: skewX(-10deg) scaleX(1); } 50% { opacity: 0.9; transform: skewX(-8deg) scaleX(1.1); } 100% { opacity: 0.7; transform: skewX(-12deg) scaleX(0.95); } }
@keyframes tdl-raise { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(5deg) scaleY(1.05); } }
@keyframes tdl-stretch { 0%, 100% { transform: scaleX(1) scaleY(1); opacity: 0.6; } 50% { transform: scaleX(1.2) scaleY(0.8); opacity: 0.8; } }
@keyframes tdl-cower { 0%, 100% { transform: translateX(0) scaleX(1); } 50% { transform: translateX(-4px) scaleX(0.9); } }
@keyframes tdl-drift { 0% { transform: translateY(0) translateX(0); } 25% { transform: translateY(-20px) translateX(10px); } 50% { transform: translateY(-40px) translateX(-5px); } 75% { transform: translateY(-60px) translateX(15px); } 100% { transform: translateY(-80px) translateX(0); } }

/* Scene: bently-gibson-juror (bgj) */
.scn-bently-gibson-juror { background: linear-gradient(180deg, #8b8b83 0%, #c4c4b8 40%, #e0e0d0 100%), radial-gradient(ellipse at 80% 10%, #ffffff 0%, transparent 50%); }
.scn-bently-gibson-juror .court-panels { position: absolute; inset: 0; background: linear-gradient(90deg, #5e5e54 0%, #7a7a6e 50%, #5e5e54 100%); border-right: 4px solid #3a3a32; border-left: 4px solid #3a3a32; }
.scn-bently-gibson-juror .desk { position: absolute; bottom: 5%; left: 10%; right: 10%; height: 25%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4% 4% 2% 2% / 10% 10% 4% 4%; box-shadow: 0 8px 16px rgba(0,0,0,.4); }
.scn-bently-gibson-juror .law-book { position: absolute; bottom: 18%; left: 20%; width: 40px; height: 30px; background: linear-gradient(180deg, #5e1a1d 0%, #3a1012 100%); border-radius: 2px; box-shadow: inset 0 0 10px rgba(0,0,0,.5); transform: rotate(-4deg); }
.scn-bently-gibson-juror .gavel { position: absolute; bottom: 25%; right: 20%; width: 50px; height: 8px; background: linear-gradient(90deg, #8b5a2b 0%, #a06b3a 100%); border-radius: 4px; transform: rotate(15deg); transform-origin: right center; animation: bgj-shine 6s ease-in-out infinite alternate; }
.scn-bently-gibson-juror .bently-profile { position: absolute; bottom: 15%; left: 35%; width: 30px; height: 70px; background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bgj-turn 8s ease-in-out infinite; }
.scn-bently-gibson-juror .bently-eye { position: absolute; bottom: 62%; left: 42%; width: 4px; height: 4px; background: #0a0a0a; border-radius: 50%; animation: bgj-blink 4s ease-in-out infinite; }
.scn-bently-gibson-juror .badge { position: absolute; top: 15%; left: 15%; width: 20px; height: 20px; background: radial-gradient(circle, #d4af37 0%, #996515 100%); border-radius: 50%; box-shadow: 0 0 12px 4px rgba(212, 175, 55, 0.3); animation: bgj-badge-shine 5s ease-in-out infinite; }
.scn-bently-gibson-juror .window-light { position: absolute; top: 0; right: 0; width: 40%; height: 60%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 100%); animation: bgj-cloud 30s ease-in-out infinite alternate; }

@keyframes bgj-shine { 0% { box-shadow: 0 0 8px 2px rgba(160, 107, 58, 0.3); } 50% { box-shadow: 0 0 20px 6px rgba(160, 107, 58, 0.6); } 100% { box-shadow: 0 0 10px 3px rgba(160, 107, 58, 0.4); } }
@keyframes bgj-turn { 0%, 100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-2px); } }
@keyframes bgj-blink { 0%, 48%, 52%, 100% { height: 4px; } 50% { height: 1px; } }
@keyframes bgj-badge-shine { 0% { opacity: 0.8; box-shadow: 0 0 10px 2px rgba(212, 175, 55, 0.2); } 50% { opacity: 1; box-shadow: 0 0 25px 8px rgba(212, 175, 55, 0.5); } 100% { opacity: 0.9; box-shadow: 0 0 15px 4px rgba(212, 175, 55, 0.3); } }
@keyframes bgj-cloud { 0% { opacity: 0.8; transform: translateX(0); } 50% { opacity: 0.9; transform: translateX(-10px); } 100% { opacity: 0.7; transform: translateX(10px); } }

.scn-no-difference-who-she-is { background: linear-gradient(135deg, #2c1e16 0%, #1a110c 100%), radial-gradient(circle at 80% 20%, #3a251a 0%, transparent 60%); position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-no-difference-who-she-is .bg-night { position: absolute; inset: 10% 15% 30% 15%; background: linear-gradient(180deg, #0a1128 0%, #1c2a4a 50%, #0d1b2a 100%); border-radius: 4px; box-shadow: inset 0 0 40px rgba(0,0,0,0.9); animation: nd1-night 20s ease-in-out infinite alternate; }
.scn-no-difference-who-she-is .window-frame { position: absolute; inset: 8% 13% 28% 13%; border: 16px solid #3a251a; border-radius: 6px; background: transparent; box-shadow: 0 0 0 4px #1a110c, inset 0 0 0 4px #1a110c; }
.scn-no-difference-who-she-is .lamp-glow { position: absolute; bottom: 15%; left: 10%; width: 50%; height: 40%; background: radial-gradient(circle at 20% 80%, #ffb347 0%, #ff8c00 30%, transparent 70%); animation: nd1-lamp 4s ease-in-out infinite alternate; }
.scn-no-difference-who-she-is .old-man-profile { position: absolute; bottom: 22%; right: 22%; width: 40px; height: 60px; background: #1a110c; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: -4px 0 8px rgba(0,0,0,0.5); animation: nd1-sway 6s ease-in-out infinite; }
.scn-no-difference-who-she-is .river-front { position: absolute; bottom: 15%; left: 15%; right: 15%; height: 12%; background: linear-gradient(180deg, #0d1b2a 0%, #1b2a4a 100%); border-radius: 40% 60% 0 0 / 80% 80% 0 0; animation: nd1-ripple 8s ease-in-out infinite alternate; }
.scn-no-difference-who-she-is .distant-bridge { position: absolute; bottom: 24%; left: 30%; width: 40%; height: 3px; background: #0a0f1f; border-radius: 2px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); animation: nd1-fade 12s ease-in-out infinite alternate; }
.scn-no-difference-who-she-is .curtain-left { position: absolute; top: 0; left: 0; width: 12%; height: 100%; background: linear-gradient(90deg, #2c1e16 0%, #1a110c 80%); border-radius: 0 40% 40% 0; animation: nd1-drape 15s ease-in-out infinite alternate; }
.scn-no-difference-who-she-is .curtain-right { position: absolute; top: 0; right: 0; width: 12%; height: 100%; background: linear-gradient(90deg, #1a110c 20%, #2c1e16 100%); border-radius: 40% 0 0 40%; animation: nd1-drape 15s ease-in-out infinite alternate-reverse; }
@keyframes nd1-night { 0% { opacity: 0.8; } 50% { opacity: 1; box-shadow: inset 0 0 50px rgba(0,0,0,0.8); } 100% { opacity: 0.9; } }
@keyframes nd1-lamp { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.8; transform: scale(1); } }
@keyframes nd1-sway { 0% { transform: translateX(0) rotate(0deg); } 30% { transform: translateX(3px) rotate(2deg); } 70% { transform: translateX(-2px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes nd1-ripple { 0% { transform: scaleY(0.95); opacity: 0.8; } 50% { transform: scaleY(1.05); opacity: 1; } 100% { transform: scaleY(0.95); opacity: 0.8; } }
@keyframes nd1-fade { 0% { opacity: 0.4; } 50% { opacity: 0.8; } 100% { opacity: 0.5; } }
@keyframes nd1-drape { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.1); } 100% { transform: scaleX(1); } }

.scn-payson-instructs-payment { background: linear-gradient(180deg, #e8d5b7 0%, #c4a582 50%, #8c6a4e 100%); position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-payson-instructs-payment .office-wall { position: absolute; inset: 0 0 35% 0; background: linear-gradient(135deg, #d4c4af 0%, #b8a898 100%); box-shadow: inset 0 0 60px rgba(0,0,0,0.1); }
.scn-payson-instructs-payment .sunlight-beam { position: absolute; top: 0; left: 15%; width: 35%; height: 70%; background: linear-gradient(135deg, rgba(255, 235, 190, 0.6) 0%, rgba(255, 220, 150, 0.2) 50%, transparent 100%); animation: pi2-light 12s ease-in-out infinite alternate; transform-origin: top left; }
.scn-payson-instructs-payment .wooden-desk { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(180deg, #5c3a21 0%, #3a2210 100%); border-radius: 8px 8px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,0.3); }
.scn-payson-instructs-payment .payson-figure { position: absolute; bottom: 28%; left: 42%; width: 50px; height: 70px; background: #2c1a0e; border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; box-shadow: 0 4px 12px rgba(0,0,0,0.4); animation: pi2-write 3s ease-in-out infinite; }
.scn-payson-instructs-payment .letter-stack { position: absolute; bottom: 20%; right: 25%; width: 40px; height: 8px; background: #fdf5e6; border-radius: 2px; box-shadow: 0 6px 0 #eaddc5, 0 12px 0 #d4c4af, 0 18px 0 #c4b4a0; animation: pi2-float 8s ease-in-out infinite; }
.scn-payson-instructs-payment .inkwell-quill { position: absolute; bottom: 22%; left: 28%; width: 14px; height: 20px; background: #1a1a1a; border-radius: 50%; box-shadow: 0 0 0 2px #8c6a4e; animation: pi2-shadow 5s ease-in-out infinite alternate; }
.scn-payson-instructs-payment .seal-wax { position: absolute; bottom: 18%; left: 32%; width: 12px; height: 8px; background: #a0461a; border-radius: 50%; box-shadow: 0 0 6px rgba(160, 70, 26, 0.4); animation: pi2-shadow 5s ease-in-out infinite alternate-reverse; }
@keyframes pi2-light { 0% { transform: rotate(0deg) scaleX(1); opacity: 0.6; } 50% { transform: rotate(2deg) scaleX(1.1); opacity: 1; } 100% { transform: rotate(-1deg) scaleX(0.9); opacity: 0.7; } }
@keyframes pi2-write { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-4deg) translateY(-2px); } 75% { transform: rotate(4deg) translateY(0); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes pi2-float { 0% { transform: translateY(0); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0); } }
@keyframes pi2-shadow { 0% { box-shadow: 0 0 0 2px #8c6a4e; } 50% { box-shadow: 0 0 4px 4px #8c6a4e; } 100% { box-shadow: 0 0 0 2px #8c6a4e; } }

.scn-sadie-burch-revelation { background: linear-gradient(180deg, #87ceeb 0%, #f0f8ff 40%, #fdf5e6 100%); position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-sadie-burch-revelation .porch-bg { position: absolute; inset: 0 0 40% 0; background: linear-gradient(180deg, #e0f0ff 0%, #fdf5e6 100%); }
.scn-sadie-burch-revelation .porch-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 40%; background: repeating-linear-gradient(90deg, #d2b48c 0px, #d2b48c 12px, #c4a582 12px, #c4a582 14px); box-shadow: inset 0 20px 20px -10px rgba(0,0,0,0.1); }
.scn-sadie-burch-revelation .porch-railing { position: absolute; bottom: 38%; left: 0; right: 0; height: 6%; background: #fdf5e6; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1), 0 -2px 4px rgba(0,0,0,0.05); }
.scn-sadie-burch-revelation .wicker-chair { position: absolute; bottom: 22%; left: 15%; width: 35%; height: 28%; background: radial-gradient(ellipse at 50% 40%, #c4a582 0%, #a08060 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: 0 8px 20px rgba(0,0,0,0.15); animation: sb3-rock 5s ease-in-out infinite; transform-origin: bottom center; }
.scn-sadie-burch-revelation .woman-knitting { position: absolute; bottom: 30%; left: 22%; width: 30px; height: 45px; background: #fdf5e6; border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; box-shadow: 0 4px 8px rgba(0,0,0,0.1); animation: sb3-knit 3s ease-in-out infinite; transform-origin: bottom center; }
.scn-sadie-burch-revelation .sun-vines { position: absolute; inset: 0; background: radial-gradient(circle at 20% 10%, rgba(144, 238, 144, 0.4) 0%, transparent 20%), radial-gradient(circle at 80% 30%, rgba(144, 238, 144, 0.3) 0%, transparent 15%), radial-gradient(circle at 50% 70%, rgba(255, 255, 200, 0.2) 0%, transparent 30%); animation: sb3-dapple 15s ease-in-out infinite alternate; }
.scn-sadie-burch-revelation .flower-pot { position: absolute; bottom: 22%; left: 55%; width: 18px; height: 22px; background: #c8553d; border-radius: 4px 4px 8px 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); animation: sb3-bloom 7s ease-in-out infinite; transform-origin: bottom center; }
.scn-sadie-burch-revelation .cat-silhouette { position: absolute; bottom: 24%; right: 15%; width: 20px; height: 20px; background: #4a3a2a; border-radius: 50% 50% 40% 40%; box-shadow: 0 -10px 0 0 #4a3a2a; animation: sb3-stretch 10s ease-in-out infinite; }
@keyframes sb3-rock { 0% { transform: rotate(0deg); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes sb3-knit { 0% { transform: rotate(0deg) scale(1); } 30% { transform: rotate(-8deg) scale(1.02); } 70% { transform: rotate(8deg) scale(0.98); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes sb3-dapple { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes sb3-bloom { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.05); } 100% { transform: scaleY(1); } }
@keyframes sb3-stretch { 0% { transform: scaleX(1) scaleY(1); } 50% { transform: scaleX(1.1) scaleY(0.9); } 100% { transform: scaleX(1) scaleY(1); } }

.scn-mrs-pumpelly-intro { background: linear-gradient(180deg, #e8d8c8 0%, #d4c4b4 50%, #b8a898 100%), radial-gradient(circle at 50% 0%, #fff8dc 0%, transparent 60%); position: relative; overflow: hidden; width: 100%; height: 100%; }
.scn-mrs-pumpelly-intro .grand-hall { position: absolute; inset: 0 0 20% 0; background: linear-gradient(135deg, #d4c4b4 0%, #c4b4a4 100%); box-shadow: inset 0 0 80px rgba(0,0,0,0.2); }
.scn-mrs-pumpelly-intro .staircase-rail { position: absolute; bottom: 20%; right: 15%; width: 6px; height: 60%; background: linear-gradient(180deg, #d4af37 0%, #b8962e 100%); transform: rotate(-12deg); transform-origin: bottom center; border-radius: 4px; box-shadow: 0 0 10px rgba(212, 175, 55, 0.3); animation: mp4-gleam 8s ease-in-out infinite alternate; }
.scn-mrs-pumpelly-intro .chandelier { position: absolute; top: 2%; left: 25%; width: 50%; height: 30%; background: radial-gradient(circle, #ffd700 0%, #fff8dc 20%, rgba(255, 215, 0, 0.2) 50%, transparent 80%); animation: mp4-sparkle 4s ease-in-out infinite; transform-origin: top center; }
.scn-mrs-pumpelly-intro .edna-silhouette { position: absolute; bottom: 18%; left: 30%; width: 35px; height: 75px; background: #2a1a1a; border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; box-shadow: -4px 0 12px rgba(0,0,0,0.3); animation: mp4-glide 10s ease-in-out infinite; transform-origin: bottom center; }
.scn-mrs-pumpelly-intro .gilt-mirror { position: absolute; top: 8%; left: 8%; width: 35%; height: 40%; background: linear-gradient(135deg, #fff8dc 0%, #e8d8c8 100%); border-radius: 6px; box-shadow: inset 0 0 0 10px #d4af37, 0 0 40px rgba(212, 175, 55, 0.5); animation: mp4-gleam 8s ease-in-out infinite alternate-reverse; }
.scn-mrs-pumpelly-intro .marble-checker { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: repeating-conic-gradient(#e8d8c8 0% 25%, #b8a898 0% 50%) 0 0 / 24px 24px; box-shadow: inset 0 12px 20px -10px rgba(0,0,0,0.3); animation: mp4-shift 18s linear infinite; }
.scn-mrs-pumpelly-intro .candelabra { position: absolute; bottom: 25%; right: 8%; width: 20px; height: 50px; background: #d4af37; border-radius: 4px 4px 20% 20%; box-shadow: 0 0 20px rgba(255, 215, 0, 0.4), -20px 0 0 -2px #d4af37, 20px 0 0 -2px #d4af37; animation: mp4-gleam 8s ease-in-out infinite; }
@keyframes mp4-sparkle { 0% { opacity: 0.6; transform: scale(0.95); } 25% { opacity: 1; transform: scale(1.05); } 75% { opacity: 0.8; transform: scale(0.98); } 100% { opacity: 0.6; transform: scale(0.95); } }
@keyframes mp4-glide { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(1deg); } 75% { transform: translateX(-4px) rotate(-1deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mp4-gleam { 0% { box-shadow: inset 0 0 0 10px #d4af37, 0 0 30px rgba(212, 175, 55, 0.4); } 50% { box-shadow: inset 0 0 0 10px #e8c84a, 0 0 60px rgba(212, 175, 55, 0.7); } 100% { box-shadow: inset 0 0 0 10px #d4af37, 0 0 30px rgba(212, 175, 55, 0.4); } }
@keyframes mp4-shift { 0% { background-position: 0 0; } 100% { background-position: 48px 24px; } }

.scn-goddess-of-justice-smiles {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8d1b0 0%, #c49971 50%, #8c5d3d 100%),
              radial-gradient(ellipse at 70% 20%, #ffecb0 0%, transparent 60%);
}
.scn-goddess-of-justice-smiles .bg-window {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 20%, #fff8e0 0%, #f0d080 40%, transparent 70%);
  animation: gjs-glow 4s ease-in-out infinite alternate;
}
.scn-goddess-of-justice-smiles .statue-body {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 140px;
  background: linear-gradient(180deg, #3a2a22 0%, #1a1210 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
.scn-goddess-of-justice-smiles .statue-scales {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%);
  width: 40px; height: 20px;
  background: transparent;
  border-bottom: 3px solid #c08040;
  box-shadow: 0 -10px 0 0 #c08040, 0 -10px 0 6px #a06020;
  border-radius: 0 0 50% 50%;
  filter: drop-shadow(0 0 6px #c08040);
  animation: gjs-scales 6s ease-in-out infinite;
}
.scn-goddess-of-justice-smiles .statue-smile {
  position: absolute; bottom: 48%; left: 50%; transform: translateX(-60%);
  width: 10px; height: 4px;
  border-bottom: 2px solid #f0d080;
  border-radius: 0 0 50% 50%;
  box-shadow: 0 0 8px #f0d080;
  animation: gjs-smile 5s ease-in-out infinite alternate;
}
.scn-goddess-of-justice-smiles .beam-light {
  position: absolute; top: 10%; left: 45%; width: 200px; height: 100%;
  background: linear-gradient(135deg, rgba(255,240,200,0.4) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
  animation: gjs-beam 8s ease-in-out infinite alternate;
  filter: blur(4px);
}
.scn-goddess-of-justice-smiles .dust-mote-a,
.scn-goddess-of-justice-smiles .dust-mote-b {
  position: absolute; width: 4px; height: 4px;
  background: #fff8e0; border-radius: 50%;
  box-shadow: 0 0 6px #fff8e0;
}
.scn-goddess-of-justice-smiles .dust-mote-a {
  top: 30%; left: 50%;
  animation: gjs-dust-a 12s linear infinite;
}
.scn-goddess-of-justice-smiles .dust-mote-b {
  top: 40%; left: 60%;
  animation: gjs-dust-b 15s linear infinite 3s;
}
.scn-goddess-of-justice-smiles .desk {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #5a3a2a 0%, #2a1a12 100%);
  border-radius: 20% 20% 0 0 / 40% 40% 0 0;
  box-shadow: inset 0 10px 20px rgba(0,0,0,0.5);
}

@keyframes gjs-glow {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; box-shadow: 0 0 40px 10px #f0d080; }
}
@keyframes gjs-scales {
  0%, 100% { transform: translateX(-50%) rotate(-3deg); }
  50% { transform: translateX(-50%) rotate(3deg); }
}
@keyframes gjs-smile {
  0% { opacity: 0.3; transform: translateX(-60%) scaleY(0.5); }
  100% { opacity: 1; transform: translateX(-60%) scaleY(1); }
}
@keyframes gjs-beam {
  0% { transform: skewX(-5deg); opacity: 0.6; }
  50% { transform: skewX(5deg); opacity: 0.9; }
  100% { transform: skewX(-5deg); opacity: 0.5; }
}
@keyframes gjs-dust-a {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translate(30px, -40px) scale(0.5); opacity: 0; }
}
@keyframes gjs-dust-b {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translate(-20px, -50px) scale(0.5); opacity: 0; }
}

/* --- Higgleby Intro Bigamy --- */
.scn-higgleby-intro-bigamy {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #e8dcc4 0%, #d4c4a8 50%, #c0b08c 100%),
              repeating-linear-gradient(45deg, #e8dcc4 0px, #e8dcc4 6px, #d4c4a8 6px, #d4c4a8 12px);
}
.scn-higgleby-intro-bigamy .bg-wall {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, #f0e8d8 0%, transparent 70%);
}
.scn-higgleby-intro-bigamy .higgleby-body {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 120px; height: 130px;
  background: linear-gradient(180deg, #b08a7a 0%, #8a6a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: hi2-bob 4s ease-in-out infinite;
}
.scn-higgleby-intro-bigamy .higgleby-head {
  position: absolute; bottom: 48%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 80px;
  background: linear-gradient(180deg, #d4aa9a 0%, #c49a8a 100%);
  border-radius: 50% 50% 45% 45%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.scn-higgleby-intro-bigamy .higgleby-collar {
  position: absolute; bottom: 40%; left: 50%; transform: translateX(-50%);
  width: 30px; height: 15px;
  background: #f0ece8;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: hi2-collar 3s ease-in-out infinite;
}
.scn-higgleby-intro-bigamy .sweat-drop {
  position: absolute; top: 15%; left: 60%;
  width: 12px; height: 18px;
  background: radial-gradient(circle at 40% 30%, #a0d0e8, #6080a0);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  filter: blur(1px);
  animation: hi2-sweat 5s ease-in-out infinite;
}
.scn-higgleby-intro-bigamy .desk-front {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(180deg, #8a6a52 0%, #5a3a2a 100%);
  border-radius: 10% 10% 0 0;
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.4);
}
.scn-higgleby-intro-bigamy .nameplate {
  position: absolute; bottom: 16%; left: 50%; transform: translateX(-90px);
  width: 60px; height: 12px;
  background: #c0a88a;
  border: 2px solid #8a6a52;
  border-radius: 2px;
  animation: hi2-plate 6s ease-in-out infinite;
}

@keyframes hi2-bob {
  0%, 100% { transform: translateX(-50%) rotate(0deg); }
  25% { transform: translateX(-45%) rotate(2deg); }
  75% { transform: translateX(-55%) rotate(-2deg); }
}
@keyframes hi2-collar {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.1); }
}
@keyframes hi2-sweat {
  0% { transform: translateY(0) scale(1); opacity: 0; }
  10% { opacity: 0.8; }
  90% { opacity: 0.8; transform: translateY(30px) scale(1.2); }
  100% { transform: translateY(40px) scale(0.8); opacity: 0; }
}
@keyframes hi2-plate {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}

/* --- Higgleby Confesses Bigamy --- */
.scn-higgleby-confesses-bigamy {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 50%, #1a2a3a 100%),
              radial-gradient(circle at 30% 50%, #4a5a6a 0%, transparent 60%);
}
.scn-higgleby-confesses-bigamy .bg-shelf {
  position: absolute; top: 0; left: 0; right: 0; height: 40%;
  background: repeating-linear-gradient(180deg, #2a3a4a 0px, #2a3a4a 6px, #1a2a3a 6px, #1a2a3a 12px);
  border-bottom: 4px solid #4a3a2a;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}
.scn-higgleby-confesses-bigamy .tutt-body {
  position: absolute; bottom: 10%; left: 10%;
  width: 50px; height: 160px;
  background: linear-gradient(180deg, #4a4a4a 0%, #2a2a2a 100%);
  border-radius: 20% 20% 30% 30% / 40% 40% 30% 30%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
}
.scn-higgleby-confesses-bigamy .tutt-arm {
  position: absolute; bottom: 50%; left: 15%;
  width: 80px; height: 16px;
  background: linear-gradient(90deg, #4a4a4a 0%, #6a5a4a 100%);
  border-radius: 50% 0 0 50% / 80% 0 0 80%;
  transform-origin: right center;
  animation: hi3-point 2s ease-in-out infinite;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-higgleby-confesses-bigamy .higgleby-body {
  position: absolute; bottom: 10%; right: 10%;
  width: 70px; height: 120px;
  background: linear-gradient(180deg, #b08a7a 0%, #8a6a5a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: hi3-shrink 4s ease-in-out infinite;
  box-shadow: 0 10px 20px rgba(0,0,0,0.4);
}
.scn-higgleby-confesses-bigamy .higgleby-hands {
  position: absolute; bottom: 30%; right: 20%;
  width: 30px; height: 20px;
  background: transparent;
  box-shadow: -8px 0 0 0 #c49a8a, 8px 0 0 0 #c49a8a;
  border-radius: 50%;
  animation: hi3-hands 3s ease-in-out infinite;
}
.scn-higgleby-confesses-bigamy .shadow-wall {
  position: absolute; bottom: 5%; left: 5%;
  width: 120px; height: 180px;
  background: rgba(0,0,0,0.4);
  filter: blur(12px);
  animation: hi3-shadow 6s ease-in-out infinite;
  transform-origin: bottom center;
}

@keyframes hi3-point {
  0%, 100% { transform: rotate(-10deg); }
  50% { transform: rotate(20deg); }
}
@keyframes hi3-shrink {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(0.92); }
}
@keyframes hi3-hands {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(10deg); }
}
@keyframes hi3-shadow {
  0%, 100% { transform: skewX(0) scaleX(1); opacity: 0.4; }
  50% { transform: skewX(-5deg) scaleX(1.2); opacity: 0.6; }
}

/* --- Higgleby Proud Bigamist --- */
.scn-higgleby-proud-bigamist {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #f0e6d0 0%, #e0d0b0 50%, #c0a88a 100%),
              radial-gradient(circle at 50% 50%, #fff8e0 0%, transparent 70%);
}
.scn-higgleby-proud-bigamist .bg-radiant {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, #fff4d0 0%, transparent 60%);
  animation: hi4-radiant 5s ease-in-out infinite;
}
.scn-higgleby-proud-bigamist .higgleby-chest {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%);
  width: 140px; height: 140px;
  background: linear-gradient(180deg, #c49a8a 0%, #a07a6a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: hi4-puff 4s ease-in-out infinite;
}
.scn-higgleby-proud-bigamist .higgleby-head {
  position: absolute; bottom: 48%; left: 50%; transform: translateX(-50%);
  width: 80px; height: 80px;
  background: linear-gradient(180deg, #d4aa9a 0%, #c49a8a 100%);
  border-radius: 50% 50% 45% 45%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  clip-path: ellipse(50% 50% at 50% 50%);
}
.scn-higgleby-proud-bigamist .higgleby-button {
  position: absolute; bottom: 35%; left: 50%; transform: translateX(-50%);
  width: 12px; height: 12px;
  background: radial-gradient(circle, #5a3a2a, #3a221a);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  animation: hi4-button 3s ease-in-out infinite;
}
.scn-higgleby-proud-bigamist .sparkle-a,
.scn-higgleby-proud-bigamist .sparkle-b {
  position: absolute; width: 20px; height: 20px;
  background: #ffd080;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  box-shadow: 0 0 10px #ffd080;
}
.scn-higgleby-proud-bigamist .sparkle-a {
  top: 15%; left: 20%;
  animation: hi4-sparkle 3s ease-in-out infinite;
}
.scn-higgleby-proud-bigamist .sparkle-b {
  top: 25%; right: 15%;
  animation: hi4-sparkle 4s ease-in-out infinite 1s;
}
.scn-higgleby-proud-bigamist .shadow-ground {
  position: absolute; bottom: 5%; left: 50%; transform: translateX(-50%);
  width: 80%; height: 20px;
  background: rgba(0,0,0,0.15);
  border-radius: 50%;
  filter: blur(8px);
}

@keyframes hi4-radiant {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}
@keyframes hi4-puff {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.08); }
}
@keyframes hi4-button {
  0%, 100% { transform: translateX(-50%) scale(1) rotate(0deg); }
  50% { transform: translateX(-50%) scale(1.3) rotate(15deg); }
}
@keyframes hi4-sparkle {
  0%, 100% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1) rotate(180deg); opacity: 1; }
}

/* ===== katie-charms-jury ===== */
.scn-katie-charms-jury {
  background: linear-gradient(135deg, #f7e9d7, #e8d5b7), radial-gradient(ellipse at 80% 20%, rgba(255,230,180,.4), transparent);
}
.scn-katie-charms-jury .window {
  position: absolute; top: 5%; right: 5%; width: 40%; height: 60%;
  background: linear-gradient(135deg, #fffbe6, #fce8c8);
  border-radius: 4px; box-shadow: 0 0 60px rgba(255,230,180,.6);
  animation: kc-window 6s ease-in-out infinite alternate;
}
.scn-katie-charms-jury .blossoms {
  position: absolute; top: 20%; right: 10%; width: 60px; height: 60px;
  background: radial-gradient(circle at 40% 50%, #ffaf7a 0%, #f7c4a5 30%, transparent 70%);
  border-radius: 50%; filter: blur(2px);
  animation: kc-blossoms 8s ease-in-out infinite;
}
.scn-katie-charms-jury .figure {
  position: absolute; bottom: 20%; left: 18%; width: 50px; height: 80px;
  background: linear-gradient(180deg, #5c3a2e, #3a2218);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: kc-figure 4s ease-in-out infinite;
}
.scn-katie-charms-jury .table {
  position: absolute; bottom: 12%; left: 10%; width: 45%; height: 16px;
  background: linear-gradient(180deg, #a07850, #6b4528);
  border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3);
  animation: kc-table 5s ease-in-out infinite alternate;
}
.scn-katie-charms-jury .light-ray {
  position: absolute; top: 10%; left: 30%; width: 25%; height: 70%;
  background: linear-gradient(135deg, rgba(255,235,200,.4), transparent 80%);
  transform: skewX(-15deg); filter: blur(8px);
  animation: kc-light-ray 7s ease-in-out infinite alternate;
}
.scn-katie-charms-jury .shadow {
  position: absolute; bottom: 8%; left: 12%; width: 30%; height: 20px;
  background: radial-gradient(ellipse, rgba(0,0,0,.25), transparent 70%);
  border-radius: 50%;
  animation: kc-shadow 6s ease-in-out infinite alternate;
}
@keyframes kc-window   { 0%{opacity:.9; transform:scale(1)} 50%{opacity:1; transform:scale(1.02)} 100%{opacity:.95; transform:scale(0.98)} }
@keyframes kc-blossoms { 0%{transform:translate(0,0) rotate(0deg)} 50%{transform:translate(3px,-2px) rotate(5deg)} 100%{transform:translate(-2px,1px) rotate(-3deg)} }
@keyframes kc-figure   { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-1px) rotate(1deg)} 100%{transform:translateY(0) rotate(0)} }
@keyframes kc-table    { 0%{transform:translateY(0)} 50%{transform:translateY(-1px)} 100%{transform:translateY(0)} }
@keyframes kc-light-ray{ 0%{opacity:.3; transform:skewX(-15deg)} 50%{opacity:.5; transform:skewX(-12deg)} 100%{opacity:.4; transform:skewX(-18deg)} }
@keyframes kc-shadow   { 0%{transform:scale(1) translateY(0); opacity:.2} 50%{transform:scale(1.05) translateY(2px); opacity:.3} 100%{transform:scale(0.98) translateY(-1px); opacity:.25} }

/* ===== tutt-argues-reasonable-doubt ===== */
.scn-tutt-argues-reasonable-doubt {
  background: linear-gradient(180deg, #cda876, #8b5e3c), radial-gradient(ellipse at 50% 100%, rgba(255,200,130,.15), transparent);
}
.scn-tutt-argues-reasonable-doubt .podium {
  position: absolute; bottom: 8%; left: 20%; width: 60%; height: 14px;
  background: linear-gradient(180deg, #7a5432, #4d321c);
  border-radius: 6px; box-shadow: 0 3px 6px rgba(0,0,0,.4);
  animation: ta-podium 6s ease-in-out infinite alternate;
}
.scn-tutt-argues-reasonable-doubt .figure {
  position: absolute; bottom: 18%; left: 40%; width: 40px; height: 90px;
  background: linear-gradient(180deg, #3a2a1e, #1e140e);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: ta-figure 5s ease-in-out infinite alternate;
}
.scn-tutt-argues-reasonable-doubt .hand {
  position: absolute; bottom: 50%; left: 40%; width: 18px; height: 30px;
  background: linear-gradient(180deg, #3a2a1e 60%, transparent);
  border-radius: 60% 20% 20% 60% / 40% 30% 30% 40%;
  transform-origin: bottom left;
  animation: ta-hand 3s ease-in-out infinite;
}
.scn-tutt-argues-reasonable-doubt .papers {
  position: absolute; bottom: 15%; left: 22%; width: 90px; height: 6px;
  background: #e8d5b0;
  border-radius: 2px; box-shadow: 0 4px 0 #d0b88a, 0 8px 0 #b89868;
  animation: ta-papers 8s ease-in-out infinite alternate;
}
.scn-tutt-argues-reasonable-doubt .lamp {
  position: absolute; bottom: 40%; left: 20%; width: 40px; height: 50px;
  background: radial-gradient(ellipse at 50% 0%, #ffd080 0%, #b07030 100%);
  border-radius: 50% 50% 0 0; clip-path: polygon(10% 0%, 90% 0%, 80% 100%, 20% 100%);
  box-shadow: 0 0 30px rgba(255,200,100,.5);
  animation: ta-lamp 4s ease-in-out infinite alternate;
}
.scn-tutt-argues-reasonable-doubt .shadow {
  position: absolute; bottom: 6%; left: 35%; width: 25%; height: 40px;
  background: radial-gradient(ellipse, rgba(0,0,0,.3), transparent 70%);
  border-radius: 50%;
  animation: ta-shadow 5s ease-in-out infinite alternate;
}
@keyframes ta-podium { 0%{transform:translateY(0)} 100%{transform:translateY(-1px)} }
@keyframes ta-figure { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-2px) rotate(1deg)} 100%{transform:translateY(0) rotate(0)} }
@keyframes ta-hand   { 0%{transform:rotate(-30deg) scaleX(1)} 25%{transform:rotate(10deg) scaleX(1.2)} 50%{transform:rotate(-20deg) scaleX(1)} 75%{transform:rotate(20deg) scaleX(1.15)} 100%{transform:rotate(-10deg) scaleX(1)} }
@keyframes ta-papers { 0%{transform:translateY(0) rotate(1deg)} 50%{transform:translateY(2px) rotate(-1deg)} 100%{transform:translateY(1px) rotate(0)} }
@keyframes ta-lamp   { 0%{opacity:.9; box-shadow:0 0 20px rgba(255,200,100,.4)} 50%{opacity:1; box-shadow:0 0 40px rgba(255,200,100,.7)} 100%{opacity:.95; box-shadow:0 0 25px rgba(255,200,100,.5)} }
@keyframes ta-shadow { 0%{transform:scale(1) translateY(0); opacity:.3} 50%{transform:scale(1.03) translateY(3px); opacity:.4} 100%{transform:scale(0.97) translateY(-2px); opacity:.35} }

/* ===== judge-charges-jury ===== */
.scn-judge-charges-jury {
  background: linear-gradient(180deg, #f0e6d3, #dac4a0), radial-gradient(ellipse at 50% 0%, rgba(200,180,160,.3), transparent 70%);
}
.scn-judge-charges-jury .bench {
  position: absolute; bottom: 5%; left: 10%; width: 80%; height: 20px;
  background: linear-gradient(180deg, #6a4a2e, #3f2a18);
  border-radius: 6px 6px 0 0; box-shadow: 0 4px 8px rgba(0,0,0,.4);
  animation: jc-bench 12s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .judge {
  position: absolute; bottom: 20%; left: 30%; width: 60px; height: 130px;
  background: linear-gradient(180deg, #2a1e14, #140e08);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jc-judge 15s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .gavel {
  position: absolute; bottom: 12%; left: 25%; width: 12px; height: 30px;
  background: #5a3a1e;
  border-radius: 4px 4px 0 0; transform: rotate(12deg);
  box-shadow: 0 6px 0 #3a2a14, 0 10px 4px #1a120a;
  animation: jc-gavel 8s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .book {
  position: absolute; bottom: 10%; left: 55%; width: 50px; height: 40px;
  background: linear-gradient(180deg, #c8a878, #a07840);
  border-radius: 4px; box-shadow: 2px 4px 6px rgba(0,0,0,.3);
  animation: jc-book 20s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .window {
  position: absolute; top: 8%; right: 10%; width: 30%; height: 50%;
  background: linear-gradient(180deg, #fff6e0, #f0d8b0);
  border-radius: 4px; box-shadow: 0 0 40px rgba(255,240,200,.5);
  animation: jc-window 10s ease-in-out infinite alternate;
}
.scn-judge-charges-jury .light {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(ellipse at 70% 30%, rgba(255,245,220,.15), transparent 60%);
  animation: jc-light 14s ease-in-out infinite alternate;
}
@keyframes jc-bench  { 0%{transform:translateY(0)} 100%{transform:translateY(-1px)} }
@keyframes jc-judge  { 0%{transform:translateY(0) rotate(-.5deg)} 50%{transform:translateY(-2px) rotate(.5deg)} 100%{transform:translateY(0) rotate(0)} }
@keyframes jc-gavel  { 0%{transform:rotate(12deg)} 50%{transform:rotate(15deg)} 100%{transform:rotate(10deg)} }
@keyframes jc-book   { 0%{transform:scaleY(1)} 50%{transform:scaleY(1.02)} 100%{transform:scaleY(0.98)} }
@keyframes jc-window { 0%{opacity:.9; box-shadow:0 0 30px rgba(255,240,200,.4)} 50%{opacity:1; box-shadow:0 0 60px rgba(255,240,200,.7)} 100%{opacity:.95; box-shadow:0 0 40px rgba(255,240,200,.5)} }
@keyframes jc-light  { 0%{opacity:.3} 50%{opacity:.5} 100%{opacity:.4} }

/* ===== jury-deliberation-starts ===== */
.scn-jury-deliberation-starts {
  background: linear-gradient(180deg, #2a1e1e, #120c0c), radial-gradient(ellipse at 50% 30%, #3a2a2a, transparent 70%);
}
.scn-jury-deliberation-starts .table {
  position: absolute; bottom: 10%; left: 5%; width: 90%; height: 10px;
  background: linear-gradient(180deg, #3a2a1e, #1a1208);
  border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.6);
  animation: jd-table 8s ease-in-out infinite alternate;
}
.scn-jury-deliberation-starts .lamp {
  position: absolute; top: 20%; left: 45%; width: 30px; height: 40px;
  background: radial-gradient(ellipse at 50% 0%, #ffd080 0%, #b07030 100%);
  border-radius: 50% 50% 0 0; clip-path: polygon(10% 0%, 90% 0%, 80% 80%, 20% 80%);
  box-shadow: 0 0 50px rgba(255,200,80,.6);
  animation: jd-lamp 2s ease-in-out infinite alternate;
}
.scn-jury-deliberation-starts .light-cone {
  position: absolute; top: 35%; left: 35%; width: 30%; height: 60%;
  background: linear-gradient(180deg, rgba(255,200,80,.15), transparent 80%);
  transform: skewX(-5deg); filter: blur(10px);
  animation: jd-cone 3s ease-in-out infinite alternate;
}
.scn-jury-deliberation-starts .jury-row {
  position: absolute; bottom: 20%; left: 10%; width: 12px; height: 28px;
  background: #1a140e;
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 20px 0 0 #1a140e, 40px 0 0 #1a140e, 60px 0 0 #1a140e, 80px 0 0 #1a140e, 100px 0 0 #1a140e, 120px 0 0 #1a140e;
  animation: jd-jury 6s ease-in-out infinite alternate;
}
.scn-jury-deliberation-starts .figure-standing {
  position: absolute; bottom: 20%; left: 55%; width: 30px; height: 80px;
  background: linear-gradient(180deg, #2a221e, #0e0a08);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jd-standing 4s ease-in-out infinite;
}
.scn-jury-deliberation-starts .shadow-wall {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
  background: radial-gradient(ellipse at 60% 0%, rgba(0,0,0,.4), transparent);
  opacity: .7;
  animation: jd-wall 5s ease-in-out infinite alternate;
}
@keyframes jd-table    { 0%{transform:translateY(0)} 100%{transform:translateY(1px)} }
@keyframes jd-lamp     { 0%{opacity:.8; box-shadow:0 0 30px rgba(255,200,80,.4)} 50%{opacity:1; box-shadow:0 0 60px rgba(255,200,80,.8)} 100%{opacity:.9; box-shadow:0 0 40px rgba(255,200,80,.6)} }
@keyframes jd-cone     { 0%{opacity:.2; transform:skewX(-5deg)} 50%{opacity:.4; transform:skewX(0deg)} 100%{opacity:.3; transform:skewX(-8deg)} }
@keyframes jd-jury     { 0%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-2px) rotate(1deg)} 100%{transform:translateY(1px) rotate(0)} }
@keyframes jd-standing { 0%{transform:translateY(0) rotate(0)} 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 jd-wall     { 0%{opacity:.6; transform:scaleY(1)} 50%{opacity:.8; transform:scaleY(1.05)} 100%{opacity:.7; transform:scaleY(1)} }

.scn-brown-admits-trick { background: linear-gradient(180deg, #fff7e6 0%, #e8dccb 50%, #d4c4b0 100%), radial-gradient(ellipse at 50% 30%, #fff7e6 0%, transparent 70%); }
.scn-brown-admits-trick .desk { position:absolute; bottom:20%; left:10%; width:80%; height:15%; background:linear-gradient(180deg,#8b6b4a 0%,#6b4f32 100%); border-radius:4px; box-shadow:0 4px 8px rgba(0,0,0,.3); animation:bt-desk 6s ease-in-out infinite; }
.scn-brown-admits-trick .paper { position:absolute; bottom:32%; left:40%; width:12%; height:8%; background:linear-gradient(135deg,#f5f0e1 0%,#eaddca 100%); border-radius:2px; transform:rotate(2deg); animation:bt-paper 4s ease-in-out infinite; }
.scn-brown-admits-trick .figure-bt { position:absolute; bottom:35%; left:45%; width:10%; height:30%; background:linear-gradient(180deg,#2e2e3a 0%,#1a1a26 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation:bt-figure 5s ease-in-out infinite; }
.scn-brown-admits-trick .lamp-bt { position:absolute; bottom:25%; left:25%; width:6%; height:12%; background:radial-gradient(circle at 50% 30%,#ffd680 0%,#c08040 70%); border-radius:50% 50% 20% 20%; animation:bt-lamp 3s ease-in-out infinite alternate; }
.scn-brown-admits-trick .window-bt { position:absolute; top:10%; left:30%; width:30%; height:40%; background:linear-gradient(180deg,#e6f0ff 0%,#b0c8e8 100%); border-radius:10px; box-shadow:inset 0 0 20px rgba(255,255,230,.5), 0 0 30px rgba(255,255,230,.3); animation:bt-window 8s ease-in-out infinite; }
.scn-brown-admits-trick .gavel-bt { position:absolute; bottom:28%; left:60%; width:5%; height:8%; background:linear-gradient(180deg,#5a3a2a 0%,#3a2212 100%); border-radius:30% 30% 10% 10%; animation:bt-gavel 2s ease-in-out infinite; }
@keyframes bt-desk { 0% {transform:translateY(0)} 50% {transform:translateY(-2px)} 100% {transform:translateY(0)} }
@keyframes bt-paper { 0% {transform:translate(0,0) rotate(2deg)} 50% {transform:translate(3px,-1px) rotate(5deg)} 100% {transform:translate(0,0) rotate(2deg)} }
@keyframes bt-figure { 0% {transform:translateY(0) rotate(0)} 50% {transform:translateY(-2px) rotate(2deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes bt-lamp { 0% {transform:rotate(-3deg); opacity:.8} 50% {transform:rotate(3deg); opacity:1} 100% {transform:rotate(0); opacity:.9} }
@keyframes bt-window { 0% {opacity:.7; box-shadow:inset 0 0 20px rgba(255,255,230,.5), 0 0 30px rgba(255,255,230,.3)} 50% {opacity:1; box-shadow:inset 0 0 30px rgba(255,255,230,.7), 0 0 50px rgba(255,255,230,.5)} 100% {opacity:.8; box-shadow:inset 0 0 20px rgba(255,255,230,.5), 0 0 30px rgba(255,255,230,.3)} }
@keyframes bt-gavel { 0% {transform:translateY(0) rotate(0)} 50% {transform:translateY(-3px) rotate(10deg)} 100% {transform:translateY(0) rotate(0)} }

.scn-tutt-excites-emotions { background: linear-gradient(180deg, #f5e6cc 0%, #dcc4a8 50%, #c4ac90 100%), radial-gradient(ellipse at 50% 50%, #f5e6cc 0%, transparent 60%); }
.scn-tutt-excites-emotions .bench-te { position:absolute; bottom:10%; left:20%; width:60%; height:12%; background:linear-gradient(180deg,#7a5a3a 0%,#5a3a1a 100%); border-radius:6px 6px 2px 2px; box-shadow:0 4px 8px rgba(0,0,0,.3); animation:te-bench 5s ease-in-out infinite; }
.scn-tutt-excites-emotions .figure-te { position:absolute; bottom:22%; left:35%; width:8%; height:25%; background:linear-gradient(180deg,#3a3a4a 0%,#1a1a2a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation:te-judge 6s ease-in-out infinite; }
.scn-tutt-excites-emotions .bow-te { position:absolute; bottom:22%; left:50%; width:8%; height:22%; background:linear-gradient(180deg,#2a2a3a 0%,#0a0a1a 100%); border-radius:50% 50% 40% 40% / 70% 70% 30% 30%; transform-origin:bottom center; animation:te-bow 4s ease-in-out infinite; }
.scn-tutt-excites-emotions .stand-te { position:absolute; bottom:12%; left:55%; width:6%; height:15%; background:linear-gradient(180deg,#6a5a4a 0%,#4a3a2a 100%); border-radius:4px; animation:te-stand 7s ease-in-out infinite; }
.scn-tutt-excites-emotions .clock-te { position:absolute; top:5%; right:20%; width:12%; height:18%; background:radial-gradient(circle,#e8dcc8 0%,#b8a890 70%); border-radius:50%; box-shadow:0 0 10px rgba(0,0,0,.2); animation:te-clock 10s ease-in-out infinite; }
.scn-tutt-excites-emotions .light-te { position:absolute; top:0; left:50%; width:20%; height:10%; background:radial-gradient(ellipse at 50% 100%,#fff7e6 0%,transparent 80%); animation:te-light 8s ease-in-out infinite alternate; }
@keyframes te-bench { 0% {transform:translateY(0)} 50% {transform:translateY(-1px)} 100% {transform:translateY(0)} }
@keyframes te-judge { 0% {transform:translateY(0) rotate(0)} 50% {transform:translateY(-2px) rotate(1deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes te-bow { 0% {transform:translateY(0) rotate(0)} 30% {transform:translateY(-5px) rotate(-20deg)} 70% {transform:translateY(-3px) rotate(-15deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes te-stand { 0% {transform:scaleY(1)} 50% {transform:scaleY(1.02)} 100% {transform:scaleY(1)} }
@keyframes te-clock { 0% {transform:rotate(0)} 50% {transform:rotate(5deg)} 100% {transform:rotate(0)} }
@keyframes te-light { 0% {opacity:.6} 50% {opacity:1} 100% {opacity:.7} }

.scn-horse-leeches-union { background: linear-gradient(180deg, #d4bfaa 0%, #b8a08a 50%, #9a826a 100%), radial-gradient(ellipse at 30% 40%, #f0e0c0 0%, transparent 70%); }
.scn-horse-leeches-union .door-hu { position:absolute; bottom:10%; left:35%; width:30%; height:40%; background:linear-gradient(180deg,#5a3a2a 0%,#3a2212 100%); border-radius:30% 30% 0 0; animation:hu-door 6s ease-in-out infinite; }
.scn-horse-leeches-union .sign-hu { position:absolute; bottom:50%; left:38%; width:24%; height:8%; background:linear-gradient(180deg,#c8553d 0%,#a0461a 100%); border-radius:4px; animation:hu-sign 4s ease-in-out infinite; }
.scn-horse-leeches-union .horse-head-hu { position:absolute; bottom:40%; left:20%; width:8%; height:10%; background:#3a2a1a; border-radius:50%; animation:hu-horse-head 5s ease-in-out infinite; }
.scn-horse-leeches-union .horse-body-hu { position:absolute; bottom:45%; left:12%; width:15%; height:20%; background:#3a2a1a; border-radius:40% 60% 50% 50% / 60% 40% 50% 50%; animation:hu-horse-body 6s ease-in-out infinite; }
.scn-horse-leeches-union .lamp-hu { position:absolute; top:5%; left:15%; width:8%; height:12%; background:radial-gradient(circle,#ffd680 0%,#a06020 70%); border-radius:50%; animation:hu-lamp 3s ease-in-out infinite alternate; }
.scn-horse-leeches-union .figure-hu { position:absolute; bottom:20%; right:15%; width:8%; height:30%; background:linear-gradient(180deg,#2a2a3a 0%,#0a0a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation:hu-figure 7s ease-in-out infinite; }
.scn-horse-leeches-union .paper-hu { position:absolute; bottom:25%; right:20%; width:8%; height:6%; background:linear-gradient(135deg,#f5f0e1 0%,#eaddca 100%); border-radius:2px; transform:rotate(5deg); animation:hu-paper 4s ease-in-out infinite; }
@keyframes hu-door { 0% {transform:rotateY(0)} 50% {transform:rotateY(10deg)} 100% {transform:rotateY(0)} }
@keyframes hu-sign { 0% {opacity:.8} 50% {opacity:1; box-shadow:0 0 10px #c8553d} 100% {opacity:.8} }
@keyframes hu-horse-head { 0% {transform:translate(0,0)} 50% {transform:translate(2px,-2px)} 100% {transform:translate(0,0)} }
@keyframes hu-horse-body { 0% {transform:scaleY(1)} 50% {transform:scaleY(1.02)} 100% {transform:scaleY(1)} }
@keyframes hu-lamp { 0% {opacity:.7; transform:scale(1)} 50% {opacity:1; transform:scale(1.1)} 100% {opacity:.8; transform:scale(1)} }
@keyframes hu-figure { 0% {transform:translateY(0)} 50% {transform:translateY(-3px)} 100% {transform:translateY(0)} }
@keyframes hu-paper { 0% {transform:rotate(5deg) translate(0,0)} 50% {transform:rotate(8deg) translate(2px,-1px)} 100% {transform:rotate(5deg) translate(0,0)} }

.scn-defense-calls-witnesses { background: linear-gradient(180deg, #f0e6d8 0%, #dccfc0 50%, #c8b8a8 100%), radial-gradient(ellipse at 50% 30%, #f5efe5 0%, transparent 70%); }
.scn-defense-calls-witnesses .pulpit-dw { position:absolute; bottom:10%; left:30%; width:40%; height:25%; background:linear-gradient(180deg,#8a7a6a 0%,#6a5a4a 100%); border-radius:10% 10% 0 0; animation:dw-pulpit 8s ease-in-out infinite; }
.scn-defense-calls-witnesses .pew1-dw { position:absolute; bottom:15%; left:10%; width:25%; height:15%; background:linear-gradient(180deg,#4a3a2a 0%,#2a1a0a 100%); border-radius:0 10% 10% 0; animation:dw-pew1 10s ease-in-out infinite; }
.scn-defense-calls-witnesses .pew2-dw { position:absolute; bottom:15%; right:10%; width:25%; height:15%; background:linear-gradient(180deg,#4a3a2a 0%,#2a1a0a 100%); border-radius:10% 0 0 10%; animation:dw-pew2 10s ease-in-out infinite; }
.scn-defense-calls-witnesses .window-dw { position:absolute; top:5%; left:40%; width:20%; height:50%; background:linear-gradient(180deg,#b0d0e8 0%,#7090b0 100%); border-radius:30% 30% 0 0; box-shadow:inset 0 0 20px rgba(255,255,230,.3); animation:dw-window 12s ease-in-out infinite; }
.scn-defense-calls-witnesses .figure-dw { position:absolute; bottom:35%; left:45%; width:8%; height:30%; background:linear-gradient(180deg,#2a2a3a 0%,#0a0a1a 100%); border-radius:40% 40% 30% 30% / 60% 60% 40% 40%; animation:dw-figure 6s ease-in-out infinite; }
.scn-defense-calls-witnesses .candle-dw { position:absolute; bottom:20%; left:15%; width:3%; height:10%; background:radial-gradient(circle at 50% 30%, #ffd680 0%, #a06020 70%); border-radius:30% 30% 10% 10%; animation:dw-candle 3s ease-in-out infinite; }
@keyframes dw-pulpit { 0% {transform:translateY(0)} 50% {transform:translateY(-2px)} 100% {transform:translateY(0)} }
@keyframes dw-pew1 { 0% {transform:translateX(0)} 50% {transform:translateX(-2px)} 100% {transform:translateX(0)} }
@keyframes dw-pew2 { 0% {transform:translateX(0)} 50% {transform:translateX(2px)} 100% {transform:translateX(0)} }
@keyframes dw-window { 0% {opacity:.7; box-shadow:inset 0 0 20px rgba(255,255,230,.3)} 50% {opacity:1; box-shadow:inset 0 0 30px rgba(255,255,230,.6)} 100% {opacity:.8; box-shadow:inset 0 0 20px rgba(255,255,230,.3)} }
@keyframes dw-figure { 0% {transform:translateY(0) rotate(0)} 50% {transform:translateY(-3px) rotate(1deg)} 100% {transform:translateY(0) rotate(0)} }
@keyframes dw-candle { 0% {transform:scaleY(1) translateY(0); opacity:.8} 50% {transform:scaleY(1.1) translateY(-2px); opacity:1} 100% {transform:scaleY(1) translateY(0); opacity:.9} }

/* Scene: jury-argues-danny */
.scn-jury-argues-danny { background: linear-gradient(180deg, #2a1a12 0%, #1c0e06 100%), radial-gradient(ellipse at 50% 30%, #3a2216 0%, transparent 70%); }
.scn-jury-argues-danny .bg-walls { position:absolute; inset:0; background: linear-gradient(90deg, #1f110a 0%, #2a1a12 40%, #2a1a12 60%, #1f110a 100%); animation: ja-walls 20s ease-in-out infinite alternate; }
.scn-jury-argues-danny .table { position:absolute; bottom:15%; left:10%; right:10%; height:8%; background: linear-gradient(180deg, #3a2216 0%, #1c0e06 100%); border-radius: 4px; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-jury-argues-danny .lamp { position:absolute; top:10%; left:50%; width:40px; height:40px; transform:translateX(-50%); background: radial-gradient(circle, #f5c478 0%, #d48c3c 40%, transparent 70%); border-radius:50%; box-shadow: 0 0 40px 10px #d48c3c, 0 0 80px 20px rgba(212,140,60,.4); animation: ja-lamp 6s ease-in-out infinite alternate; }
.scn-jury-argues-danny .figure-phelan { position:absolute; bottom:23%; left:20%; width:24px; height:60px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; transform-origin: bottom center; animation: ja-phelan 8s ease-in-out infinite; }
.scn-jury-argues-danny .figure-danny { position:absolute; bottom:23%; left:55%; width:26px; height:62px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: ja-danny 4s ease-in-out infinite; }
.scn-jury-argues-danny .cuspidor { position:absolute; bottom:22%; right:15%; width:20px; height:14px; background: radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, #1c0e06 100%); border-radius: 50%; box-shadow: inset 0 -4px 4px rgba(0,0,0,.5); }
.scn-jury-argues-danny .smoke-haze { position:absolute; inset:0; background: radial-gradient(ellipse at 30% 40%, rgba(180,150,120,.15) 0%, transparent 50%), radial-gradient(ellipse at 70% 50%, rgba(180,150,120,.1) 0%, transparent 40%); filter: blur(8px); animation: ja-smoke 12s ease-in-out infinite alternate; }
.scn-jury-argues-danny .chair { position:absolute; bottom:23%; left:32%; width:20px; height:40px; background: linear-gradient(180deg, #2a1a12 0%, #1c0e06 100%); border-radius: 20% 20% 10% 10%; transform-origin: bottom center; animation: ja-chair 8s ease-in-out infinite; }
@keyframes ja-walls { 0% { opacity:.8 } 50% { opacity:.9 } 100% { opacity:1 } }
@keyframes ja-lamp { 0% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(3deg); box-shadow: 0 0 50px 15px #d48c3c; } 100% { transform: translateX(-50%) rotate(-2deg); } }
@keyframes ja-phelan { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(5deg); } 50% { transform: translateX(20px) rotate(0deg); } 75% { transform: translateX(10px) rotate(-5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes ja-danny { 0% { transform: rotate(-5deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(-15deg); } 75% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes ja-smoke { 0% { opacity:.3; transform: scale(1); } 50% { opacity:.6; transform: scale(1.1); } 100% { opacity:.4; transform: scale(.95); } }
@keyframes ja-chair { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(-10px) rotate(-10deg); } 50% { transform: translateX(-20px) rotate(0deg); } 75% { transform: translateX(-10px) rotate(10deg); } 100% { transform: translateX(0) rotate(0deg); } }

/* Scene: jury-confused-on-facts */
.scn-jury-confused-on-facts { background: linear-gradient(180deg, #2a1a12 0%, #1c0e06 100%), radial-gradient(ellipse at 50% 50%, #3a2216 0%, transparent 70%); }
.scn-jury-confused-on-facts .bg-walls { position:absolute; inset:0; background: linear-gradient(90deg, #1f110a 0%, #2a1a12 40%, #2a1a12 60%, #1f110a 100%); animation: jc-walls 15s ease-in-out infinite alternate; }
.scn-jury-confused-on-facts .table-edge { position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #3a2216 0%, #1c0e06 100%); border-radius: 20% 20% 0 0 / 40% 40% 0 0; box-shadow: inset 0 8px 16px rgba(0,0,0,.6); }
.scn-jury-confused-on-facts .juror-left { position:absolute; bottom:18%; left:20%; width:28px; height:64px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: top center; animation: jc-scratch 5s ease-in-out infinite; }
.scn-jury-confused-on-facts .juror-right { position:absolute; bottom:18%; right:20%; width:30px; height:68px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: jc-shrug 7s ease-in-out infinite; }
.scn-jury-confused-on-facts .lamp-glow { position:absolute; top:5%; left:40%; width:60px; height:60px; background: radial-gradient(circle, #f5c478 0%, #d48c3c 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 20px rgba(212,140,60,.5); animation: jc-lamp 4s ease-in-out infinite alternate; }
.scn-jury-confused-on-facts .smoke-haze { position:absolute; inset:0; background: radial-gradient(ellipse at 40% 30%, rgba(180,150,120,.2) 0%, transparent 50%); filter: blur(10px); animation: jc-smoke 8s ease-in-out infinite alternate; }
.scn-jury-confused-on-facts .evidence-paper { position:absolute; bottom:20%; left:50%; width:30px; height:20px; transform:translateX(-50%); background: linear-gradient(135deg, #c8b89a 0%, #a8987a 100%); border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); animation: jc-paper 3s ease-in-out infinite; }
@keyframes jc-walls { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:1 } }
@keyframes jc-scratch { 0% { transform: rotate(0deg); } 20% { transform: rotate(-15deg); } 40% { transform: rotate(-5deg); } 60% { transform: rotate(-20deg); } 80% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } }
@keyframes jc-shrug { 0% { transform: translateY(0) scaleY(1); } 30% { transform: translateY(-6px) scaleY(1.05); } 60% { transform: translateY(0) scaleY(1); } 100% { transform: translateY(0) scaleY(1); } }
@keyframes jc-lamp { 0% { opacity:.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.05); } 100% { opacity:.9; transform: scale(.98); } }
@keyframes jc-smoke { 0% { opacity:.2; transform: translateY(0); } 50% { opacity:.5; transform: translateY(-10px); } 100% { opacity:.3; transform: translateY(5px); } }
@keyframes jc-paper { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-45%) rotate(5deg); } 50% { transform: translateX(-50%) rotate(-5deg); } 75% { transform: translateX(-55%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }

/* Scene: bently-holds-out */
.scn-bently-holds-out { background: linear-gradient(180deg, #2a1a12 0%, #1c0e06 100%), radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, transparent 70%); }
.scn-bently-holds-out .bg-deep { position:absolute; inset:0; background: linear-gradient(180deg, #120906 0%, #1c0e06 100%); animation: bo-bg 10s ease-in-out infinite alternate; }
.scn-bently-holds-out .table { position:absolute; bottom:12%; left:5%; right:5%; height:10%; background: linear-gradient(180deg, #3a2216 0%, #1c0e06 100%); border-radius: 8px; box-shadow: inset 0 4px 8px rgba(0,0,0,.6); }
.scn-bently-holds-out .figure-bently { position:absolute; bottom:22%; left:50%; width:30px; height:70px; transform:translateX(-50%); background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bo-stand 6s ease-in-out infinite; }
.scn-bently-holds-out .ballot { position:absolute; bottom:48%; left:55%; width:12px; height:16px; background: #c8b89a; border-radius: 1px; box-shadow: 0 2px 4px rgba(0,0,0,.5); transform-origin: bottom center; animation: bo-ballot 6s ease-in-out infinite; }
.scn-bently-holds-out .lamp-spotlight { position:absolute; top:0; left:40%; width:80px; height:80px; background: radial-gradient(circle, #f5c478 0%, #d48c3c 20%, transparent 60%); border-radius:50%; box-shadow: 0 0 80px 30px rgba(212,140,60,.3); animation: bo-spotlight 8s ease-in-out infinite alternate; }
.scn-bently-holds-out .juror-far-left { position:absolute; bottom:20%; left:10%; width:24px; height:56px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: bo-fidget 9s ease-in-out infinite; }
.scn-bently-holds-out .juror-far-right { position:absolute; bottom:20%; right:10%; width:24px; height:56px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 40% 40% 30% 30% / 50% 50% 40% 40%; animation: bo-fidget 11s ease-in-out infinite reverse; }
.scn-bently-holds-out .smoke-haze { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, rgba(180,150,120,.15) 0%, transparent 50%); filter: blur(12px); animation: bo-smoke 15s linear infinite; }
@keyframes bo-bg { 0% { opacity:.6 } 50% { opacity:.8 } 100% { opacity:1 } }
@keyframes bo-stand { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(-3deg); } 50% { transform: translateX(-50%) rotate(2deg); } 75% { transform: translateX(-50%) rotate(-1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bo-ballot { 0% { transform: rotate(0deg); } 25% { transform: rotate(-10deg); } 50% { transform: rotate(5deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }
@keyframes bo-spotlight { 0% { opacity:.8; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.85; transform: scale(.95); } }
@keyframes bo-fidget { 0% { transform: rotate(0deg); } 30% { transform: rotate(4deg); } 60% { transform: rotate(-4deg); } 100% { transform: rotate(0deg); } }
@keyframes bo-smoke { 0% { opacity:.2; transform: translateY(0) scale(1); } 50% { opacity:.4; transform: translateY(-20px) scale(1.2); } 100% { opacity:.2; transform: translateY(0) scale(1); } }

/* Scene: bently-swings-jury */
.scn-bently-swings-jury { background: linear-gradient(180deg, #2a1a12 0%, #1c0e06 100%), radial-gradient(ellipse at 50% 40%, #4a2a1a 0%, #1c0e06 80%, transparent 100%); }
.scn-bently-swings-jury .bg-walls { position:absolute; inset:0; background: linear-gradient(90deg, #1f110a 0%, #2a1a12 40%, #2a1a12 60%, #1f110a 100%); animation: bj-walls 12s ease-in-out infinite alternate; }
.scn-bently-swings-jury .table-wide { position:absolute; bottom:10%; left:0; right:0; height:12%; background: linear-gradient(180deg, #3a2216 0%, #1c0e06 100%); border-radius: 8px 8px 0 0; box-shadow: inset 0 6px 12px rgba(0,0,0,.6); }
.scn-bently-swings-jury .figure-bently-lean { position:absolute; bottom:22%; left:45%; width:28px; height:68px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bj-lean 5s ease-in-out infinite; }
.scn-bently-swings-jury .juror-hand-up { position:absolute; bottom:22%; right:20%; width:26px; height:66px; background: linear-gradient(180deg, #1c0e06 0%, #0a0502 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom right; animation: bj-hand 7s ease-in-out infinite; }
.scn-bently-swings-jury .ballots { position:absolute; bottom:12%; left:30%; width:40px; height:4px; background: #c8b89a; border-radius: 2px; box-shadow: 0 4px 0 #b8a88a, 0 8px 0 #a8987a; animation: bj-ballots 3s ease-in-out infinite alternate; }
.scn-bently-swings-jury .lamp-glow { position:absolute; top:5%; left:50%; width:50px; height:50px; transform:translateX(-50%); background: radial-gradient(circle, #f5c478 0%, #d48c3c 30%, transparent 70%); border-radius:50%; box-shadow: 0 0 60px 15px rgba(212,140,60,.5); animation: bj-lamp 6s ease-in-out infinite alternate; }
.scn-bently-swings-jury .smoke-haze { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 40%, rgba(180,150,120,.15) 0%, transparent 50%); filter: blur(10px); animation: bj-smoke 10s ease-in-out infinite alternate; }
@keyframes bj-walls { 0% { opacity:.7 } 50% { opacity:.85 } 100% { opacity:1 } }
@keyframes bj-lean { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(10px) rotate(5deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes bj-hand { 0% { transform: rotate(0deg); } 25% { transform: rotate(-20deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-30deg); } 100% { transform: rotate(0deg); } }
@keyframes bj-ballots { 0% { opacity:.6; transform: translateY(0); } 50% { opacity:.8; transform: translateY(-1px); } 100% { opacity:1; transform: translateY(-2px); } }
@keyframes bj-lamp { 0% { transform: translateX(-50%) scale(1); opacity:.8; } 50% { transform: translateX(-50%) scale(1.05); opacity:1; } 100% { transform: translateX(-50%) scale(1); opacity:.9; } }
@keyframes bj-smoke { 0% { opacity:.2; transform: scale(1); } 50% { opacity:.5; transform: scale(1.1); } 100% { opacity:.3; transform: scale(.95); } }

/* Scene 1: miss-beekman-reluctant-help (tense, dim interior) */
.scn-miss-beekman-reluctant-help {
  background: 
    linear-gradient(135deg, #1a1210 0%, #2b1e1a 30%, #1f1614 70%, #0d0a08 100%),
    radial-gradient(ellipse at 30% 40%, #3a2820 0%, transparent 70%);
  position: relative;
  overflow: hidden;
}

.scn-miss-beekman-reluctant-help .room-bg {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 4px, rgba(0,0,0,0.08) 4px, rgba(0,0,0,0.08) 8px);
  animation: mrht-room-shimmer 8s ease-in-out infinite alternate;
}

.scn-miss-beekman-reluctant-help .window-faint {
  position: absolute;
  top: 8%;
  left: 75%;
  width: 18%;
  height: 30%;
  background: linear-gradient(180deg, #312a24 0%, #1e1814 100%);
  border: 1px solid #3a2c26;
  border-radius: 2px;
  filter: blur(1px);
  opacity: 0.4;
  animation: mrht-window-pulse 12s ease-in-out infinite;
}

.scn-miss-beekman-reluctant-help .lamp {
  position: absolute;
  bottom: 48%;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 28px;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a3e28 100%);
  border-radius: 4px 4px 2px 2px;
  z-index: 2;
}

.scn-miss-beekman-reluctant-help .lamp-glow {
  position: absolute;
  bottom: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, #d49a5a 0%, #a06030 30%, transparent 70%);
  border-radius: 50%;
  animation: mrht-lamp-flicker 1.2s ease-in-out infinite alternate;
  z-index: 1;
  opacity: 0.7;
}

.scn-miss-beekman-reluctant-help .figure-solicitor {
  position: absolute;
  bottom: 16%;
  left: 20%;
  width: 40px;
  height: 80px;
  background: linear-gradient(180deg, #1a1412 0%, #0c0806 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(5deg);
  animation: mrht-solicitor-sway 3s ease-in-out infinite alternate;
}

.scn-miss-beekman-reluctant-help .figure-miss {
  position: absolute;
  bottom: 16%;
  right: 22%;
  width: 36px;
  height: 76px;
  background: linear-gradient(180deg, #2a1c18 0%, #180e0c 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform: rotate(-8deg) translateX(0);
  animation: mrht-miss-recoil 2.5s ease-in-out infinite alternate;
}

.scn-miss-beekman-reluctant-help .chair {
  position: absolute;
  bottom: 14%;
  left: 55%;
  width: 30px;
  height: 40px;
  background: linear-gradient(180deg, #3a2820 0%, #1a1210 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -4px 6px rgba(0,0,0,0.6);
}

.scn-miss-beekman-reluctant-help .shadow-sway {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.6));
  animation: mrht-shadow-drift 4s ease-in-out infinite alternate;
}

@keyframes mrht-room-shimmer {
  0% { opacity: 0.3; }
  50% { opacity: 0.6; }
  100% { opacity: 0.2; }
}

@keyframes mrht-window-pulse {
  0% { opacity: 0.3; filter: blur(1px); }
  50% { opacity: 0.6; filter: blur(2px); }
  100% { opacity: 0.4; filter: blur(1px); }
}

@keyframes mrht-lamp-flicker {
  0% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.6; }
  30% { transform: translate(-50%, -50%) scale(1.08); opacity: 0.8; }
  50% { transform: translate(-50%, -50%) scale(1.02); opacity: 0.75; }
  70% { transform: translate(-50%, -50%) scale(0.98); opacity: 0.65; }
  100% { transform: translate(-50%, -50%) scale(1.05); opacity: 0.7; }
}

@keyframes mrht-solicitor-sway {
  0% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(6deg) translateY(-2px); }
  100% { transform: rotate(3deg) translateY(0); }
}

@keyframes mrht-miss-recoil {
  0% { transform: rotate(-6deg) translateX(0) scale(1); }
  40% { transform: rotate(-10deg) translateX(-8px) scale(0.95); }
  60% { transform: rotate(-9deg) translateX(-5px) scale(0.97); }
  100% { transform: rotate(-7deg) translateX(0) scale(1); }
}

@keyframes mrht-shadow-drift {
  0% { transform: translateY(0); opacity: 0.8; }
  50% { transform: translateY(4px); opacity: 0.9; }
  100% { transform: translateY(-2px); opacity: 0.7; }
}

/* Scene 2: solicitor-advises-surrender (dark, dim interior) */
.scn-solicitor-advises-surrender {
  background: 
    linear-gradient(180deg, #0f0c0e 0%, #1a1416 30%, #241c1e 60%, #0e0a0c 100%),
    radial-gradient(ellipse at 50% 80%, #1e181a 0%, transparent 60%);
  position: relative;
  overflow: hidden;
}

.scn-solicitor-advises-surrender .study-wall {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 20px, rgba(40,30,32,0.15) 20px, rgba(40,30,32,0.15) 21px);
  animation: sas-wall-crawl 20s linear infinite;
}

.scn-solicitor-advises-surrender .desk {
  position: absolute;
  bottom: 18%;
  left: 10%;
  right: 10%;
  height: 12%;
  background: linear-gradient(180deg, #2a1c1a 0%, #1e1210 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.6);
}

.scn-solicitor-advises-surrender .document {
  position: absolute;
  bottom: 22%;
  left: 35%;
  width: 30%;
  height: 6%;
  background: linear-gradient(0deg, #4a3a30 0%, #6a5244 100%);
  border-radius: 2px;
  transform: rotate(-2deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  animation: sas-document-tremble 6s ease-in-out infinite alternate;
}

.scn-solicitor-advises-surrender .candle {
  position: absolute;
  bottom: 32%;
  left: 48%;
  width: 8px;
  height: 30px;
  background: linear-gradient(180deg, #d4b080 0%, #8a6a4a 100%);
  border-radius: 2px 2px 0 0;
}

.scn-solicitor-advises-surrender .candle-glow {
  position: absolute;
  bottom: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, #e0b050 0%, #905030 40%, transparent 70%);
  border-radius: 50%;
  animation: sas-candle-flicker 2s ease-in-out infinite alternate;
  opacity: 0.6;
}

.scn-solicitor-advises-surrender .figure-solicitor-sit {
  position: absolute;
  bottom: 18%;
  left: 20%;
  width: 50px;
  height: 70px;
  background: linear-gradient(180deg, #1a1214 0%, #0c080a 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(3deg) scaleX(0.9);
  animation: sas-solicitor-nod 8s ease-in-out infinite;
}

.scn-solicitor-advises-surrender .figure-miss-sit {
  position: absolute;
  bottom: 18%;
  right: 22%;
  width: 44px;
  height: 66px;
  background: linear-gradient(180deg, #1e1416 0%, #0e0a0c 100%);
  border-radius: 50% 50% 30% 30% / 60% 60% 30% 30%;
  transform: rotate(-2deg) scaleX(0.85);
  animation: sas-miss-sit-still 12s ease-in-out infinite alternate;
}

.scn-solicitor-advises-surrender .silence-mist {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 50%, transparent 40%, rgba(10,8,12,0.4) 80%);
  mix-blend-mode: multiply;
  animation: sas-mist-drift 15s ease-in-out infinite alternate;
}

@keyframes sas-wall-crawl {
  0% { background-position: 0 0; }
  100% { background-position: -40px 0; }
}

@keyframes sas-document-tremble {
  0% { transform: rotate(-2deg) translateY(0); }
  30% { transform: rotate(-1deg) translateY(-1px); }
  50% { transform: rotate(-3deg) translateY(1px); }
  70% { transform: rotate(-1.5deg) translateY(-1px); }
  100% { transform: rotate(-2.5deg) translateY(0); }
}

@keyframes sas-candle-flicker {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
  25% { transform: translate(-50%, -50%) scale(1.05); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(0.95); opacity: 0.55; }
  75% { transform: translate(-50%, -50%) scale(1.02); opacity: 0.65; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
}

@keyframes sas-solicitor-nod {
  0% { transform: rotate(3deg) scaleX(0.9); }
  25% { transform: rotate(4deg) scaleX(0.92) translateY(-1px); }
  50% { transform: rotate(2deg) scaleX(0.9) translateY(1px); }
  75% { transform: rotate(3.5deg) scaleX(0.91) translateY(0); }
  100% { transform: rotate(3deg) scaleX(0.9); }
}

@keyframes sas-miss-sit-still {
  0% { transform: rotate(-2deg) scaleX(0.85); }
  50% { transform: rotate(-1deg) scaleX(0.86) translateY(-2px); }
  100% { transform: rotate(-2.5deg) scaleX(0.84) translateY(0); }
}

@keyframes sas-mist-drift {
  0% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.02); }
  100% { opacity: 0.4; transform: scale(0.98); }
}

.scn-miss-beekman-reluctant-help {
  background: 
    linear-gradient(180deg, #2a2a3e 0%, #1c1c2e 50%, #0e0e1a 100%),
    radial-gradient(ellipse at 70% 50%, #3a3a5e 0%, transparent 60%),
    linear-gradient(180deg, #1a1a2e 0%, #0a0a1a 100%);
}

.scn-miss-beekman-reluctant-help .bg-wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(90deg, #2e2e42 0%, #1a1a30 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
}

.scn-miss-beekman-reluctant-help .bg-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: linear-gradient(180deg, #1e1e2a 0%, #0e0e14 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.7);
}

.scn-miss-beekman-reluctant-help .window-frame {
  position: absolute;
  top: 8%;
  left: 15%;
  width: 80px;
  height: 100px;
  border: 4px solid #2a2a3a;
  border-radius: 4px;
  background: transparent;
  box-shadow: inset 0 0 15px rgba(0,0,0,0.5), 0 0 10px rgba(100,120,200,0.3);
}

.scn-miss-beekman-reluctant-help .window-sky {
  position: absolute;
  top: 8%;
  left: 15%;
  width: 80px;
  height: 100px;
  background: linear-gradient(180deg, #0f1830 0%, #1a2a4e 100%);
  border-radius: 2px;
  animation: mb-sky 30s ease-in-out infinite alternate;
}

.scn-miss-beekman-reluctant-help .moonlight {
  position: absolute;
  top: 12%;
  left: 30%;
  width: 200px;
  height: 300px;
  background: radial-gradient(ellipse at center, rgba(200,220,255,0.08) 0%, transparent 70%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  animation: mb-moon 40s ease-in-out infinite alternate;
}

.scn-miss-beekman-reluctant-help .lamp {
  position: absolute;
  bottom: 25%;
  left: 60%;
  width: 8px;
  height: 12px;
  background: radial-gradient(circle at 50% 60%, #ffc070 0%, #b88440 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 0 30px 8px #c89040, 0 0 60px 15px rgba(200,144,64,0.3);
  transform: translate(-50%, -50%);
  animation: mb-lamp 2s ease-in-out infinite;
}

.scn-miss-beekman-reluctant-help .figure-a {
  position: absolute;
  bottom: 18%;
  left: 45%;
  width: 40px;
  height: 90px;
  background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb-recoil 4s ease-in-out infinite;
}

.scn-miss-beekman-reluctant-help .figure-b {
  position: absolute;
  bottom: 18%;
  left: 30%;
  width: 35px;
  height: 80px;
  background: linear-gradient(180deg, #2a2a3e 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: mb-breathe 6s ease-in-out infinite;
}

@keyframes mb-sky {
  0%   { opacity: 0.7; background-position: 0 0; }
  50%  { opacity: 1;   background-position: 0 5%; }
  100% { opacity: 0.6; background-position: 0 0; }
}

@keyframes mb-moon {
  0%   { transform: translateX(0) scale(1); opacity: 0.7; }
  50%  { transform: translateX(10px) scale(1.05); opacity: 0.9; }
  100% { transform: translateX(0) scale(1); opacity: 0.7; }
}

@keyframes mb-lamp {
  0%   { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px 5px #c89040, 0 0 40px 10px rgba(200,144,64,0.2); }
  30%  { transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 0 40px 12px #ffd070, 0 0 80px 25px rgba(255,208,112,0.4); }
  60%  { transform: translate(-50%, -50%) scale(0.95); box-shadow: 0 0 25px 6px #b88a40, 0 0 50px 12px rgba(184,138,64,0.3); }
  100% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px 5px #c89040, 0 0 40px 10px rgba(200,144,64,0.2); }
}

@keyframes mb-recoil {
  0%   { transform: translateX(0) rotate(0deg); }
  20%  { transform: translateX(-8px) rotate(-5deg); }
  40%  { transform: translateX(-4px) rotate(-2deg); }
  60%  { transform: translateX(-12px) rotate(-8deg); }
  80%  { transform: translateX(-6px) rotate(-3deg); }
  100% { transform: translateX(0) rotate(0deg); }
}

@keyframes mb-breathe {
  0%   { transform: translateY(0) rotate(0deg); }
  50%  { transform: translateY(-2px) rotate(1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
/* end per-scene blocks */

/* auto-stub: parent tag-classes flagged by CSS audit */
.dot { position: absolute; pointer-events: none; }

/* ============ tier S ============ */
/* per-scene blocks (EXP step_scenes) */
.scn-delany-cold-feet { background: linear-gradient(180deg, #e8dcc8 0%, #c4b8a0 60%, #a0947e 100%), radial-gradient(ellipse at 60% 30%, #fff5e0 0%, transparent 60%); }
.scn-delany-cold-feet .wall { position:absolute; inset:0 0 40% 0; background: linear-gradient(180deg, #d6cbb8 0%, #c0b4a0 100%); box-shadow: inset 0 -10px 20px rgba(0,0,0,.1); }
.scn-delany-cold-feet .floor { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(180deg, #8b7d6a 0%, #6a5c4a 100%); border-top: 2px solid #7a6c58; }
.scn-delany-cold-feet .window { position:absolute; top:15%; right:20%; width:80px; height:100px; background: linear-gradient(180deg, #a8c8e8 0%, #7aa8d0 100%); border: 4px solid #6a5c4a; border-radius: 4px; box-shadow: inset 0 0 20px rgba(255,255,255,.3); animation: dcf-window 8s ease-in-out infinite; }
.scn-delany-cold-feet .figure { position:absolute; bottom:20%; left:30%; width:24px; height:50px; background: linear-gradient(180deg, #4a3e32 0%, #2e241c 100%); border-radius: 45% 45% 40% 40% / 55% 55% 45% 45%; transform-origin: bottom center; animation: dcf-figure 4s ease-in-out infinite; }
.scn-delany-cold-feet .brick { position:absolute; bottom:30%; left:60%; width:20px; height:12px; background: #a0461a; border-radius: 2px; transform: rotate(-15deg); box-shadow: 2px 2px 4px rgba(0,0,0,.4); animation: dcf-brick 6s ease-in-out infinite; }
.scn-delany-cold-feet .shadow { position:absolute; bottom:20%; left:30%; width:40px; height:10px; background: rgba(0,0,0,.25); border-radius: 50%; filter: blur(3px); animation: dcf-shadow 4s ease-in-out infinite; }
.scn-delany-cold-feet .door { position:absolute; bottom:20%; left:8%; width:50px; height:90px; background: linear-gradient(180deg, #7a6c58 0%, #5a4c3a 100%); border: 2px solid #4a3a2a; border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
@keyframes dcf-window { 0% { opacity:.85; } 50% { opacity:1; } 100% { opacity:.9; } }
@keyframes dcf-figure { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(8px) rotate(5deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes dcf-brick { 0% { transform: rotate(-15deg) translateY(0); } 50% { transform: rotate(-10deg) translateY(-4px); } 100% { transform: rotate(-15deg) translateY(0); } }
@keyframes dcf-shadow { 0% { transform: scaleX(1); opacity:.6; } 50% { transform: scaleX(1.3); opacity:.8; } 100% { transform: scaleX(1); opacity:.6; } }

.scn-asche-affidavits-rouse { background: linear-gradient(180deg, #2a2826 0%, #1c1a18 60%, #0e0c0a 100%), radial-gradient(circle at 40% 60%, #3a3228 0%, transparent 60%); }
.scn-asche-affidavits-rouse .bg-dark { position:absolute; inset:0; background: radial-gradient(ellipse at 50% 70%, #4a3e32 0%, #1a1612 100%); }
.scn-asche-affidavits-rouse .desk { position:absolute; bottom:25%; left:20%; right:20%; height:15%; background: linear-gradient(180deg, #6a5c4a 0%, #4a3c2a 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.6); }
.scn-asche-affidavits-rouse .lamp-glow { position:absolute; bottom:28%; left:35%; width:60px; height:60px; background: radial-gradient(circle, #d09040 0%, #b07030 40%, transparent 70%); border-radius: 50%; filter: blur(6px); animation: aar-lamp 3s ease-in-out infinite alternate; }
.scn-asche-affidavits-rouse .paper-stack { position:absolute; bottom:30%; left:45%; width:40px; height:8px; background: #d4c4a8; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.4); }
.scn-asche-affidavits-rouse .figure-sit { position:absolute; bottom:25%; left:40%; width:30px; height:50px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 45% 45% / 50% 50% 55% 55%; transform-origin: bottom center; animation: aar-sit 6s ease-in-out infinite; }
.scn-asche-affidavits-rouse .inkwell { position:absolute; bottom:28%; left:30%; width:12px; height:14px; background: #2a1a0a; border-radius: 50% 50% 30% 30%; box-shadow: inset 0 -2px 4px rgba(0,0,0,.5); }
@keyframes aar-lamp { 0% { opacity:.7; transform: scale(1); } 50% { opacity:1; transform: scale(1.1); } 100% { opacity:.8; transform: scale(1.05); } }
@keyframes aar-sit { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px) rotate(-1deg); } }

.scn-tutts-night-consipiracy { background: linear-gradient(180deg, #0f0c1a 0%, #1a142e 50%, #2a2040 100%), radial-gradient(ellipse at 50% 30%, #3a2e54 0%, transparent 70%); }
.scn-tutts-night-consipiracy .night-sky { position:absolute; inset:0 0 60% 0; background: linear-gradient(180deg, #0a0812 0%, #1a142e 100%); }
.scn-tutts-night-consipiracy .table { position:absolute; bottom:25%; left:15%; right:15%; height:12%; background: linear-gradient(180deg, #4a3c2a 0%, #2a1e12 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.7); }
.scn-tutts-night-consipiracy .wine-glass { position:absolute; bottom:35%; width:16px; height:30px; background: linear-gradient(180deg, rgba(200,160,120,.6) 0%, rgba(180,120,80,.4) 100%); border-radius: 0 0 20% 20%; box-shadow: 0 0 10px rgba(200,160,120,.3); }
.scn-tutts-night-consipiracy .wine-glass.left { left:30%; animation: tnc-glass 5s ease-in-out infinite; }
.scn-tutts-night-consipiracy .wine-glass.right { right:30%; animation: tnc-glass 5s ease-in-out infinite reverse; }
.scn-tutts-night-consipiracy .figure-tutt { position:absolute; bottom:20%; left:20%; width:28px; height:55px; background: linear-gradient(180deg, #2e241c 0%, #1a120c 100%); border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%; transform-origin: bottom center; animation: tnc-figure 7s ease-in-out infinite; }
.scn-tutts-night-consipiracy .figure-watkins { position:absolute; bottom:20%; right:20%; width:28px; height:55px; background: linear-gradient(180deg, #2e241c 0%, #1a120c 100%); border-radius: 45% 45% 40% 40% / 50% 50% 45% 45%; transform-origin: bottom center; animation: tnc-figure 7s ease-in-out infinite 2s; }
.scn-tutts-night-consipiracy .candle { position:absolute; bottom:30%; left:50%; width:8px; height:20px; background: linear-gradient(180deg, #d4a050 0%, #a07030 100%); border-radius: 2px; box-shadow: 0 0 20px 6px rgba(212,160,80,.6); animation: tnc-candle 2s ease-in-out infinite alternate; }
@keyframes tnc-glass { 0% { transform: rotate(0deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes tnc-figure { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes tnc-candle { 0% { box-shadow: 0 0 20px 6px rgba(212,160,80,.6); } 50% { box-shadow: 0 0 30px 10px rgba(212,160,80,.8); } 100% { box-shadow: 0 0 20px 6px rgba(212,160,80,.6); } }

.scn-delany-collapses-witness { background: linear-gradient(180deg, #e0d4c4 0%, #c8bca8 50%, #b0a48e 100%), radial-gradient(ellipse at 50% 20%, #f0e4d4 0%, transparent 60%); }
.scn-delany-collapses-witness .court-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c8bca8 0%, #b0a08a 100%); box-shadow: inset 0 -10px 20px rgba(0,0,0,.1); }
.scn-delany-collapses-witness .bench { position:absolute; top:5%; left:15%; right:15%; height:25%; background: linear-gradient(180deg, #7a6c58 0%, #5a4c3a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,.4); }
.scn-delany-collapses-witness .witness-stand { position:absolute; bottom:20%; left:10%; width:50px; height:70px; background: linear-gradient(180deg, #6a5c4a 0%, #4a3c2a 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-delany-collapses-witness .figure-collapsing { position:absolute; bottom:15%; left:45%; width:28px; height:60px; background: linear-gradient(180deg, #3a2e24 0%, #1e1610 100%); border-radius: 40% 40% 45% 45% / 50% 50% 55% 55%; transform-origin: bottom center; animation: dcw-collapse 5s ease-in-out infinite; }
.scn-delany-collapses-witness .gavel { position:absolute; top:20%; left:50%; width:6px; height:18px; background: #5a4c3a; border-radius: 2px; transform: rotate(15deg); box-shadow: 0 2px 4px rgba(0,0,0,.5); animation: dcw-gavel 3s ease-in-out infinite; }
.scn-delany-collapses-witness .spectators { position:absolute; bottom:10%; left:60%; right:5%; height:20%; background: repeating-linear-gradient(90deg, #4a3e32 0px, #4a3e32 8px, transparent 8px, transparent 12px); }
.scn-delany-collapses-witness .bar { position:absolute; bottom:10%; left:0; right:0; height:4px; background: #6a5c4a; box-shadow: 0 -2px 6px rgba(0,0,0,.3); }
@keyframes dcw-collapse { 0% { transform: translateY(0) rotate(0deg) scaleY(1); } 50% { transform: translateY(20px) rotate(10deg) scaleY(0.8); } 100% { transform: translateY(0) rotate(0deg) scaleY(1); } }
@keyframes dcw-gavel { 0% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-4px); } 100% { transform: rotate(15deg) translateY(0); } }

/* Ephraim Dinner Payson – warm firelit interior */
.scn-ephraim-dinner-payson {
  background: 
    linear-gradient(180deg, #4a2a1a 0%, #7a3a1a 30%, #2a1a0a 70%),
    radial-gradient(ellipse at 40% 60%, #ff8c40 0%, transparent 60%);
  overflow: hidden;
}
.scn-ephraim-dinner-payson .wall {
  position: absolute; inset: 0 0 35% 0;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  box-shadow: inset 0 -20px 40px rgba(0,0,0,.5);
}
.scn-ephraim-dinner-payson .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 35%;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  box-shadow: inset 0 10px 30px rgba(0,0,0,.6);
}
.scn-ephraim-dinner-payson .fire {
  position: absolute; bottom: 28%; left: 10%; width: 60px; height: 80px;
  background: radial-gradient(ellipse at 50% 80%, #ff6a20 0%, #cc3300 50%, transparent 70%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 60px 20px #ff5500, 0 0 120px 40px rgba(255,85,0,.3);
  animation: edp-fire 0.5s ease-in-out infinite alternate;
}
.scn-ephraim-dinner-payson .table {
  position: absolute; bottom: 22%; left: 30%; width: 180px; height: 20px;
  background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%);
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,.7);
  transform: perspective(300px) rotateX(10deg);
}
.scn-ephraim-dinner-payson .figure-tutt {
  position: absolute; bottom: 28%; left: 25%; width: 28px; height: 60px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: edp-figure1 6s ease-in-out infinite alternate;
}
.scn-ephraim-dinner-payson .figure-payson {
  position: absolute; bottom: 28%; left: 55%; width: 28px; height: 58px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: edp-figure2 5s ease-in-out infinite alternate;
}
.scn-ephraim-dinner-payson .wine-bottle {
  position: absolute; bottom: 30%; left: 42%; width: 10px; height: 30px;
  background: linear-gradient(180deg, #2a4a2a 0%, #1a3a1a 100%);
  border-radius: 20% 20% 10% 10%;
  transform: rotate(5deg);
}
.scn-ephraim-dinner-payson .lantern-hanging {
  position: absolute; top: 8%; left: 48%; width: 14px; height: 20px;
  background: radial-gradient(circle, #ffd080 0%, #cc8800 60%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 30px 10px #ffaa40, 0 0 60px 20px rgba(255,170,64,.3);
  animation: edp-lantern 4s ease-in-out infinite;
}
.scn-ephraim-dinner-payson .steam {
  position: absolute; bottom: 35%; left: 38%; width: 30px; height: 20px;
  background: radial-gradient(circle, rgba(255,200,150,.3) 0%, transparent 70%);
  filter: blur(4px);
  animation: edp-steam 3s ease-in-out infinite;
}
@keyframes edp-fire {
  0% { transform: scaleY(1) translateY(0); opacity: .9; }
  50% { transform: scaleY(1.1) translateY(-3px); opacity: 1; }
  100% { transform: scaleY(0.95) translateY(1px); opacity: .85; }
}
@keyframes edp-figure1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(5px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes edp-figure2 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(3px) rotate(1deg); }
}
@keyframes edp-lantern {
  0% { transform: rotate(-2deg); opacity: .9; }
  50% { transform: rotate(2deg); opacity: 1; }
  100% { transform: rotate(-1deg); opacity: .95; }
}
@keyframes edp-steam {
  0% { transform: translateY(0) scale(1); opacity: .3; }
  50% { transform: translateY(-15px) scale(1.5); opacity: .1; }
  100% { transform: translateY(-30px) scale(2); opacity: 0; }
}

/* Payson Concedes Honor – dim warm interior, corner */
.scn-payson-concedes-honor {
  background: 
    linear-gradient(180deg, #1a1208 0%, #2a1a0a 40%, #1a0e04 100%),
    radial-gradient(ellipse at 50% 50%, #3a2a1a 0%, transparent 70%);
  overflow: hidden;
}
.scn-payson-concedes-honor .bg-dark {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0e0a04 0%, #1a1208 100%);
}
.scn-payson-concedes-honor .wall-shadow {
  position: absolute; top: 0; left: 20%; right: 0; bottom: 0;
  background: linear-gradient(90deg, transparent 0%, #0e0a04 60%);
}
.scn-payson-concedes-honor .desk {
  position: absolute; bottom: 15%; left: 20%; width: 160px; height: 15px;
  background: linear-gradient(180deg, #3a2a1a 0%, #1a1008 100%);
  border-radius: 5px;
  box-shadow: 0 4px 12px rgba(0,0,0,.8);
}
.scn-payson-concedes-honor .document {
  position: absolute; bottom: 25%; left: 35%; width: 40px; height: 30px;
  background: linear-gradient(180deg, #c8b080 0%, #a89060 100%);
  border-radius: 2px;
  transform: rotate(-5deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  animation: pch-doc 8s ease-in-out infinite;
}
.scn-payson-concedes-honor .lamp {
  position: absolute; bottom: 30%; left: 45%; width: 20px; height: 30px;
  background: radial-gradient(circle at 50% 30%, #ffdd80 0%, #cc8800 60%, #5a3a00 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 0 30px 15px #aa6600, 0 0 60px 30px rgba(170,102,0,.3);
}
.scn-payson-concedes-honor .figure-tutt2 {
  position: absolute; bottom: 18%; left: 25%; width: 28px; height: 65px;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pch-fig1 7s ease-in-out infinite alternate;
}
.scn-payson-concedes-honor .figure-payson2 {
  position: absolute; bottom: 18%; left: 55%; width: 28px; height: 62px;
  background: linear-gradient(180deg, #3a2a2a 0%, #1a1a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pch-fig2 6s ease-in-out infinite alternate;
}
.scn-payson-concedes-honor .candle {
  position: absolute; bottom: 28%; left: 30%; width: 6px; height: 15px;
  background: linear-gradient(180deg, #ffdd88 0%, #cc6600 100%);
  border-radius: 50% 50% 20% 20%;
  box-shadow: 0 0 12px 4px #ffaa44;
  animation: pch-candle 3s ease-in-out infinite;
}
@keyframes pch-doc {
  0% { transform: rotate(-5deg) translateY(0); }
  50% { transform: rotate(3deg) translateY(-2px); }
  100% { transform: rotate(-4deg) translateY(0); }
}
@keyframes pch-fig1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(3px) rotate(2deg); }
  100% { transform: translateX(-2px) rotate(-1deg); }
}
@keyframes pch-fig2 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-4px) rotate(-2deg); }
  100% { transform: translateX(2px) rotate(1deg); }
}
@keyframes pch-candle {
  0% { opacity: .7; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.1); }
  100% { opacity: .8; transform: scaleY(0.95); }
}

/* Sadie Burch Visit Pumpelly – tense sunlit exterior */
.scn-sadie-burch-visit-pumpelly {
  background: 
    linear-gradient(180deg, #87ceeb 0%, #b0e0e6 40%, #f0f8ff 100%),
    radial-gradient(ellipse at 80% 30%, #fff8dc 0%, transparent 50%);
  overflow: hidden;
}
.scn-sadie-burch-visit-pumpelly .sky-sun {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #ffebaf 0%, #87ceeb 100%);
  animation: sbp-sky 10s ease-in-out infinite alternate;
}
.scn-sadie-burch-visit-pumpelly .cottage {
  position: absolute; bottom: 15%; left: 20%; width: 200px; height: 140px;
  background: linear-gradient(180deg, #fff5e6 0%, #f0dcc0 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 8px 25px rgba(0,0,0,.2), inset 0 -10px 20px rgba(0,0,0,.1);
}
.scn-sadie-burch-visit-pumpelly .door {
  position: absolute; bottom: 15%; left: 40%; width: 30px; height: 50px;
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%);
  border-radius: 15% 15% 5% 5%;
  box-shadow: inset 0 4px 8px rgba(0,0,0,.3);
  transform: scaleX(0.8);
}
.scn-sadie-burch-visit-pumpelly .flowers {
  position: absolute; bottom: 18%; left: 10%; width: 120px; height: 30px;
  background: radial-gradient(circle at 10% 50%, #d4a0d4 0%, transparent 30%),
              radial-gradient(circle at 30% 60%, #b87cb8 0%, transparent 30%),
              radial-gradient(circle at 50% 40%, #e0b0e0 0%, transparent 30%);
  filter: blur(2px);
  animation: sbp-flowers 15s ease-in-out infinite alternate;
}
.scn-sadie-burch-visit-pumpelly .figure-tutt3 {
  position: absolute; bottom: 20%; left: 50%; width: 28px; height: 70px;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sbp-fig1 5s ease-in-out infinite alternate;
}
.scn-sadie-burch-visit-pumpelly .figure-sadie {
  position: absolute; bottom: 20%; left: 62%; width: 24px; height: 60px;
  background: linear-gradient(180deg, #c08060 0%, #906040 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: sbp-fig2 4s ease-in-out infinite alternate;
}
.scn-sadie-burch-visit-pumpelly .bees {
  position: absolute; top: 20%; left: 30%; width: 8px; height: 8px;
  background: radial-gradient(circle, #ffcc00 0%, #cc9900 100%);
  border-radius: 50%;
  box-shadow: 0 0 6px 2px #ffcc00;
  animation: sbp-bees 3s linear infinite;
}
.scn-sadie-burch-visit-pumpelly .shadows {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.6) 0%, transparent 40%);
  opacity: .3;
  animation: sbp-shadows 8s ease-in-out infinite alternate;
}
@keyframes sbp-sky {
  0% { opacity: .8; }
  50% { opacity: .95; }
  100% { opacity: .7; }
}
@keyframes sbp-flowers {
  0% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.05) translateY(-3px); }
  100% { transform: scale(0.95) translateY(2px); }
}
@keyframes sbp-fig1 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(6px) rotate(2deg); }
  100% { transform: translateX(-3px) rotate(-1deg); }
}
@keyframes sbp-fig2 {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-8px) rotate(-3deg); }
  100% { transform: translateX(4px) rotate(2deg); }
}
@keyframes sbp-bees {
  0% { transform: translate(0, 0) scale(1); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translate(50px, -30px) scale(1.5); opacity: 0; }
}
@keyframes sbp-shadows {
  0% { opacity: .2; }
  50% { opacity: .4; }
  100% { opacity: .15; }
}

/* Edgertons Pumpelly Case – funny bright office interior */
.scn-edgertons-pumpelly-case {
  background: 
    linear-gradient(180deg, #f0e0c0 0%, #d0c0a0 100%),
    radial-gradient(ellipse at 50% 70%, #ffe0b0 0%, transparent 60%);
  overflow: hidden;
}
.scn-edgertons-pumpelly-case .office-wall {
  position: absolute; inset: 0 0 20% 0;
  background: linear-gradient(180deg, #c8b898 0%, #a89878 100%);
  box-shadow: inset 0 -10px 20px rgba(0,0,0,.1);
}
.scn-edgertons-pumpelly-case .window {
  position: absolute; top: 10%; right: 15%; width: 80px; height: 100px;
  background: linear-gradient(180deg, #b0d4e8 0%, #8cb0c8 100%);
  border: 6px solid #7a5a3a;
  border-radius: 5px;
  box-shadow: inset 0 0 20px rgba(255,255,255,.2), 0 4px 12px rgba(0,0,0,.1);
}
.scn-edgertons-pumpelly-case .desk-cluttered {
  position: absolute; bottom: 15%; left: 10%; width: 250px; height: 30px;
  background: linear-gradient(180deg, #8b5e3c 0%, #5a3a1a 100%);
  border-radius: 8px;
  box-shadow: 0 6px 15px rgba(0,0,0,.2);
  transform: perspective(200px) rotateX(5deg);
}
.scn-edgertons-pumpelly-case .figure-edgerton {
  position: absolute; bottom: 22%; left: 20%; width: 30px; height: 65px;
  background: linear-gradient(180deg, #2a3a3a 0%, #1a2a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: epc-fig1 3s ease-in-out infinite alternate;
}
.scn-edgertons-pumpelly-case .figure-winfred {
  position: absolute; bottom: 22%; left: 55%; width: 30px; height: 62px;
  background: linear-gradient(180deg, #3a2a3a 0%, #2a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: epc-fig2 2.5s ease-in-out infinite alternate;
}
.scn-edgertons-pumpelly-case .papers {
  position: absolute; bottom: 20%; left: 30%; width: 50px; height: 35px;
  background: linear-gradient(180deg, #fff5e0 0%, #f0e0c0 100%);
  border-radius: 2px;
  transform: rotate(-10deg);
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  animation: epc-papers 4s ease-in-out infinite;
}
.scn-edgertons-pumpelly-case .quill {
  position: absolute; bottom: 25%; left: 35%; width: 4px; height: 40px;
  background: linear-gradient(180deg, #c08040 0%, #604020 100%);
  border-radius: 0 0 50% 50%;
  transform: rotate(15deg);
  transform-origin: bottom center;
  animation: epc-quill 2s ease-in-out infinite alternate;
}
.scn-edgertons-pumpelly-case .lamp-bright {
  position: absolute; top: 5%; left: 45%; width: 30px; height: 40px;
  background: radial-gradient(circle at 50% 30%, #ffdd88 0%, #cc8800 70%);
  border-radius: 30% 30% 10% 10%;
  box-shadow: 0 0 40px 20px #ffcc44, 0 0 80px 40px rgba(255,204,68,.3);
  animation: epc-lamp 5s ease-in-out infinite;
}
.scn-edgertons-pumpelly-case .inkwell {
  position: absolute; bottom: 20%; left: 25%; width: 12px; height: 14px;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 20% 20% 40% 40%;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
}
@keyframes epc-fig1 {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(8px) rotate(3deg); }
  70% { transform: translateX(-5px) rotate(-2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes epc-fig2 {
  0% { transform: translateX(0) rotate(0deg); }
  30% { transform: translateX(-6px) rotate(-3deg); }
  70% { transform: translateX(4px) rotate(2deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
@keyframes epc-papers {
  0% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(15deg) translateY(-5px); }
  100% { transform: rotate(-8deg) translateY(0); }
}
@keyframes epc-quill {
  0% { transform: rotate(15deg) translateY(0); }
  50% { transform: rotate(-5deg) translateY(-3px); }
  100% { transform: rotate(10deg) translateY(0); }
}
@keyframes epc-lamp {
  0% { opacity: .8; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.05); }
  100% { opacity: .85; transform: scaleY(0.95); }
}

/* pumpelly-multiple-summons – funny, dim interior */
.scn-pumpelly-multiple-summons {
  background: linear-gradient(180deg, #2c2418 0%, #1a1410 50%, #3a2a1a 100%), radial-gradient(ellipse at 50% 80%, #3a2a1a 0%, transparent 70%);
}
.scn-pumpelly-multiple-summons .wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #4a3828 0%, #2c2018 100%); }
.scn-pumpelly-multiple-summons .floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #4a3828 0%, #3a2818 100%); border-radius:20% 20% 0 0; box-shadow: inset 0 8px 12px rgba(0,0,0,.6); }
.scn-pumpelly-multiple-summons .lamp { position:absolute; bottom:30%; left:20%; width:30px; height:60px; background: linear-gradient(90deg, #8a6a3a 0%, #6a4a2a 100%); border-radius:10% 10% 30% 30%; transform-origin: bottom center; animation: pmp-lamp 4s ease-in-out infinite alternate; }
.scn-pumpelly-multiple-summons .glow { position:absolute; bottom:35%; left:18%; width:60px; height:80px; background: radial-gradient(circle, #ffc070 0%, #e0a050 40%, transparent 100%); animation: pmp-glow 4s ease-in-out infinite alternate; }
.scn-pumpelly-multiple-summons .figure { position:absolute; bottom:30%; left:55%; width:30px; height:50px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pmp-figure 1.5s ease-in-out infinite; }
.scn-pumpelly-multiple-summons .summons { position:absolute; width:22px; height:16px; background: linear-gradient(135deg, #f0e0c0 0%, #d0c0a0 100%); border:1px solid #a03020; border-radius:2px; }
.scn-pumpelly-multiple-summons .summon-a { top:20%; left:40%; animation: pmp-summons-a 6s ease-in-out infinite; }
.scn-pumpelly-multiple-summons .summon-b { top:15%; left:60%; animation: pmp-summons-b 8s ease-in-out infinite; animation-delay:2s; }
.scn-pumpelly-multiple-summons .summon-c { top:25%; left:30%; animation: pmp-summons-c 7s ease-in-out infinite; animation-delay:4s; }
@keyframes pmp-lamp { 0% { transform: rotate(-2deg) } 50% { transform: rotate(2deg) } 100% { transform: rotate(-1deg) } }
@keyframes pmp-glow { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }
@keyframes pmp-figure { 0% { transform: translateX(0) rotate(-3deg) } 25% { transform: translateX(4px) rotate(3deg) } 50% { transform: translateX(-2px) rotate(-4deg) } 75% { transform: translateX(3px) rotate(5deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes pmp-summons-a { 0% { top:15%; left:35%; transform: rotate(0deg) } 25% { top:20%; left:45%; transform: rotate(15deg) } 50% { top:10%; left:55%; transform: rotate(-10deg) } 75% { top:25%; left:50%; transform: rotate(20deg) } 100% { top:15%; left:35%; transform: rotate(0) } }
@keyframes pmp-summons-b { 0% { top:10%; left:60%; transform: rotate(0) } 33% { top:18%; left:70%; transform: rotate(-20deg) } 66% { top:12%; left:50%; transform: rotate(10deg) } 100% { top:10%; left:60%; transform: rotate(0) } }
@keyframes pmp-summons-c { 0% { top:20%; left:25%; transform: rotate(0) } 40% { top:15%; left:35%; transform: rotate(25deg) } 80% { top:28%; left:45%; transform: rotate(-15deg) } 100% { top:20%; left:25%; transform: rotate(0) } }

/* bonnie-doon-compromise-danny – warm, bright interior */
.scn-bonnie-doon-compromise-danny {
  background: linear-gradient(180deg, #f8e8c0 0%, #e0d0a0 40%, #c8b888 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 60%);
}
.scn-bonnie-doon-compromise-danny .wall { position:absolute; inset:0 0 25% 0; background: linear-gradient(180deg, #f0e0c0 0%, #d8c8a8 100%); }
.scn-bonnie-doon-compromise-danny .window { position:absolute; top:10%; left:10%; width:80px; height:100px; background: linear-gradient(180deg, #c0e8ff 0%, #a0c8e0 100%); border:4px solid #8a7a5a; border-radius:6px; box-shadow: inset 0 0 30px rgba(255,255,200,.4); }
.scn-bonnie-doon-compromise-danny .table { position:absolute; bottom:30%; left:20%; right:20%; height:18px; background: linear-gradient(180deg, #b09060 0%, #8a6a3a 100%); border-radius:4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-bonnie-doon-compromise-danny .bonnie { position:absolute; bottom:30%; left:25%; width:28px; height:55px; background: linear-gradient(180deg, #f0b080 0%, #d09060 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: bnd-bonnie 3s ease-in-out infinite; }
.scn-bonnie-doon-compromise-danny .danny { position:absolute; bottom:30%; right:25%; width:30px; height:52px; background: linear-gradient(180deg, #8a6a4a 0%, #6a4a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: bnd-danny 4s ease-in-out infinite; }
.scn-bonnie-doon-compromise-danny .parrot { position:absolute; bottom:38%; left:50%; width:16px; height:20px; background: linear-gradient(180deg, #80c040 0%, #60a020 100%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; animation: bnd-parrot 2s ease-in-out infinite; }
.scn-bonnie-doon-compromise-danny .papers { position:absolute; bottom:30%; left:40%; width:24px; height:18px; background: #f8f0e0; border-radius:2px; box-shadow: 1px 1px 4px rgba(0,0,0,.2); transform: rotate(-5deg); animation: bnd-papers 6s ease-in-out infinite alternate; }
.scn-bonnie-doon-compromise-danny .sunbeam { position:absolute; top:0; left:5%; width:120px; height:100%; background: linear-gradient(180deg, rgba(255,255,200,.15) 0%, rgba(255,255,200,.05) 100%); transform: skewX(-10deg); animation: bnd-sunbeam 8s ease-in-out infinite alternate; }
@keyframes bnd-bonnie { 0% { transform: translateX(0) rotate(-2deg) } 50% { transform: translateX(5px) rotate(3deg) } 100% { transform: translateX(0) rotate(-2deg) } }
@keyframes bnd-danny { 0%,100% { transform: translateX(0) rotate(0) } 50% { transform: translateX(-4px) rotate(-1deg) } }
@keyframes bnd-parrot { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-3px) rotate(5deg) } 75% { transform: translateY(2px) rotate(-5deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes bnd-papers { 0% { transform: rotate(-5deg) } 100% { transform: rotate(8deg) } }
@keyframes bnd-sunbeam { 0% { opacity:.3 } 50% { opacity:.7 } 100% { opacity:.4 } }

/* item-roan-mare – warm, dim barn interior */
.scn-item-roan-mare {
  background: linear-gradient(180deg, #3a2818 0%, #2c1c10 50%, #1a1008 100%), radial-gradient(ellipse at 50% 100%, #4a3828 0%, transparent 70%);
}
.scn-item-roan-mare .barnwall { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #5a4030 0%, #3a2818 100%); }
.scn-item-roan-mare .straw { position:absolute; bottom:0; left:0; right:0; height:25%; background: linear-gradient(180deg, #b09050 0%, #8a7030 100%); border-radius:30% 30% 0 0; box-shadow: inset 0 6px 10px rgba(0,0,0,.5); }
.scn-item-roan-mare .mare { position:absolute; bottom:25%; left:30%; width:70px; height:40px; background: linear-gradient(180deg, #b07050 0%, #8a5030 100%); border-radius:40% 50% 30% 40% / 60% 40% 30% 50%; transform-origin: center bottom; animation: rm-mare 6s ease-in-out infinite; }
.scn-item-roan-mare .figure { position:absolute; bottom:25%; left:20%; width:20px; height:35px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: rm-figure 4s ease-in-out infinite; }
.scn-item-roan-mare .lantern { position:absolute; bottom:30%; left:65%; width:12px; height:16px; background: linear-gradient(180deg, #c08040 0%, #a06020 100%); border-radius:20% 20% 30% 30%; animation: rm-lantern 5s ease-in-out infinite alternate; }
.scn-item-roan-mare .bucket { position:absolute; bottom:25%; left:50%; width:20px; height:14px; background: linear-gradient(180deg, #8a6a3a 0%, #6a4a1a 100%); border-radius:0 0 30% 30%; transform: rotate(-5deg); animation: rm-bucket 8s ease-in-out infinite; }
.scn-item-roan-mare .lambglow { position:absolute; bottom:30%; left:63%; width:40px; height:40px; background: radial-gradient(circle, #ffc070 0%, #e0a050 40%, transparent 100%); animation: rm-lambglow 5s ease-in-out infinite alternate; }
@keyframes rm-mare { 0% { transform: scaleY(1) } 50% { transform: scaleY(1.02) } 100% { transform: scaleY(1) } }
@keyframes rm-figure { 0% { transform: translateX(0) rotate(-1deg) } 30% { transform: translateX(3px) rotate(1deg) } 60% { transform: translateX(-2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0) } }
@keyframes rm-lantern { 0% { transform: rotate(-3deg) } 50% { transform: rotate(3deg) } 100% { transform: rotate(-2deg) } }
@keyframes rm-bucket { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } }
@keyframes rm-lambglow { 0% { opacity:.6 } 50% { opacity:1 } 100% { opacity:.7 } }

/* item-veterinary-card – tense, bright courtroom */
.scn-item-veterinary-card {
  background: linear-gradient(180deg, #e8e8f0 0%, #d0d0d8 50%, #b8b8c0 100%), radial-gradient(ellipse at 50% 0%, #f0f0f8 0%, transparent 60%);
}
.scn-item-veterinary-card .courtroom { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #e0e0e8 0%, #c8c8d0 100%); }
.scn-item-veterinary-card .bench { position:absolute; bottom:30%; left:10%; right:10%; height:80px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:6px 6px 4px 4px; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.scn-item-veterinary-card .jury { position:absolute; bottom:30%; left:65%; width:24px; height:40px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: vc-jury 12s ease-in-out infinite; }
.scn-item-veterinary-card .prosecutor { position:absolute; bottom:30%; right:20%; width:26px; 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: vc-prosecutor 3s ease-in-out infinite; }
.scn-item-veterinary-card .defendant { position:absolute; bottom:30%; left:20%; width:28px; height:48px; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); border-radius:40% 40% 30% 30% / 50% 50% 30% 30%; transform-origin: bottom center; animation: vc-defendant 5s ease-in-out infinite; }
.scn-item-veterinary-card .table { position:absolute; bottom:30%; left:30%; right:30%; height:12px; background: linear-gradient(180deg, #a09080 0%, #807060 100%); border-radius:2px; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.scn-item-veterinary-card .gavel { position:absolute; bottom:38%; left:50%; width:10px; height:20px; background: linear-gradient(180deg, #6a4a2a 0%, #4a2a1a 100%); border-radius:2px 2px 4px 4px; transform-origin: bottom center; animation: vc-gavel 2s ease-in-out infinite; }
.scn-item-veterinary-card .handcuffs { position:absolute; bottom:32%; left:22%; width:12px; height:14px; background: radial-gradient(circle, #a0a0a0 0%, #808080 100%); border-radius:30%; box-shadow: 0 0 6px rgba(0,0,0,.4); animation: vc-handcuffs 6s ease-in-out infinite; }
@keyframes vc-jury { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-2px) } }
@keyframes vc-prosecutor { 0% { transform: translateX(0) rotate(-5deg) } 30% { transform: translateX(8px) rotate(3deg) } 60% { transform: translateX(-4px) rotate(-2deg) } 100% { transform: translateX(0) rotate(-5deg) } }
@keyframes vc-defendant { 0% { transform: translateY(0) rotate(0) } 25% { transform: translateY(-1px) rotate(1deg) } 75% { transform: translateY(1px) rotate(-1deg) } 100% { transform: translateY(0) rotate(0) } }
@keyframes vc-gavel { 0% { transform: rotate(0deg) } 20% { transform: rotate(30deg) } 40% { transform: rotate(-20deg) } 60% { transform: rotate(15deg) } 80% { transform: rotate(-10deg) } 100% { transform: rotate(0) } }
@keyframes vc-handcuffs { 0%,100% { opacity:.8 } 50% { opacity:1 } }

/* scene: item-brick-throw (tag brt) */
.scn-item-brick-throw {
  background: linear-gradient(180deg, #87CEEB 0%, #f0e68c 70%), radial-gradient(ellipse at 50% 100%, #d2b48c 0%, transparent 60%);
}
.scn-item-brick-throw .sky {
  position:absolute; inset:0 0 45% 0; background: linear-gradient(180deg, #87CEEB 0%, #b0e0e6 60%, transparent 100%); animation: brt-sky 20s ease-in-out infinite alternate;
}
.scn-item-brick-throw .building {
  position:absolute; bottom:30%; left:5%; width:35%; height:50%; background: linear-gradient(180deg, #c0a080 0%, #8b7355 100%); border-radius: 4% 4% 0 0; box-shadow: inset 0 8px 20px rgba(0,0,0,0.3); animation: brt-build 12s ease-in-out infinite;
}
.scn-item-brick-throw .window-frame {
  position:absolute; bottom:50%; left:12%; width:18%; height:18%; background: #2a1a0a; border: 4px solid #6b4226; border-radius: 4px; box-shadow: inset 0 0 0 2px #8b5a2b;
}
.scn-item-brick-throw .glass-shard-a {
  position:absolute; bottom:55%; left:14%; width:8%; height:12%; background: rgba(255,255,255,0.6); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); filter: blur(1px); animation: brt-shard 0.4s ease-in-out infinite alternate;
}
.scn-item-brick-throw .glass-shard-b {
  position:absolute; bottom:52%; left:24%; width:6%; height:8%; background: rgba(255,255,255,0.5); clip-path: polygon(0% 0%, 100% 20%, 80% 100%, 10% 80%); filter: blur(1px); animation: brt-shard 0.5s ease-in-out infinite alternate reverse;
}
.scn-item-brick-throw .brick {
  position:absolute; bottom:68%; left:38%; width:6%; height:4%; background: #a0461a; border-radius: 2px; box-shadow: 0 0 8px rgba(160,70,26,0.6); animation: brt-brick 0.8s ease-in-out infinite;
}
.scn-item-brick-throw .figure-thrower {
  position:absolute; bottom:25%; right:28%; width:10%; height:20%; background: radial-gradient(ellipse at 50% 40%, #2a1a0a 50%, #0a0505 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brt-throw 0.6s ease-in-out infinite;
}
.scn-item-brick-throw .figure-suspect {
  position:absolute; bottom:25%; left:42%; width:9%; height:18%; background: radial-gradient(ellipse at 50% 40%, #a0461a 50%, #702a10 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brt-suspect 2s ease-in-out infinite alternate;
}
.scn-item-brick-throw .figure-officer {
  position:absolute; bottom:25%; left:48%; width:10%; height:22%; background: radial-gradient(ellipse at 50% 40%, #2a4a6a 50%, #1a2a4a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: brt-officer 1.2s ease-in-out infinite alternate;
}
@keyframes brt-sky { 0% { opacity:0.8; transform: translateY(0); } 50% { opacity:1; transform: translateY(-5px); } 100% { opacity:0.9; transform: translateY(0); } }
@keyframes brt-build { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.01); } }
@keyframes brt-shard { 0% { opacity:0.3; transform: rotate(0deg); } 100% { opacity:0.8; transform: rotate(15deg); } }
@keyframes brt-brick { 0% { transform: translate(0,0) rotate(0deg); } 50% { transform: translate(20px, -10px) rotate(45deg); } 100% { transform: translate(40px, -20px) rotate(90deg); } }
@keyframes brt-throw { 0% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-10deg) translateY(-2px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(10deg) translateY(-2px); } 100% { transform: rotate(0deg) translateY(0); } }
@keyframes brt-suspect { 0% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(3px) rotate(2deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes brt-officer { 0% { transform: translateX(0) scale(1); } 50% { transform: translateX(-2px) scale(1.02); } 100% { transform: translateX(0) scale(1); } }

/* scene: arraignment-simpkins-bond (tag arb) */
.scn-arraignment-simpkins-bond {
  background: linear-gradient(180deg, #f5f0e0 0%, #e0d5b0 40%, #c8b88a 100%), radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 70%);
}
.scn-arraignment-simpkins-bond .courtroom-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #e5dcc8 0%, #b8a88a 100%);
}
.scn-arraignment-simpkins-bond .bench {
  position:absolute; bottom:40%; left:10%; right:10%; height:12%; background: linear-gradient(180deg, #6b4226 0%, #4a2a1a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}
.scn-arraignment-simpkins-bond .judge {
  position:absolute; bottom:54%; left:38%; width:8%; height:16%; background: radial-gradient(ellipse at 50% 30%, #3a2a1a 40%, #1a0a05 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arb-judge 8s ease-in-out infinite alternate;
}
.scn-arraignment-simpkins-bond .lawyer-simpkins {
  position:absolute; bottom:30%; left:48%; width:7%; height:18%; background: radial-gradient(ellipse at 50% 40%, #4a3a2a 50%, #2a1a0a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arb-simpkins 4s ease-in-out infinite;
}
.scn-arraignment-simpkins-bond .tony {
  position:absolute; bottom:30%; left:38%; width:7%; height:18%; background: radial-gradient(ellipse at 50% 40%, #7a5a3a 50%, #4a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: arb-tony 3s ease-in-out infinite alternate;
}
.scn-arraignment-simpkins-bond .bail-sign {
  position:absolute; bottom:55%; left:58%; width:12%; height:6%; background: #d4c4a0; border: 2px solid #8b7355; border-radius: 4px; box-shadow: inset 0 0 4px rgba(0,0,0,0.2); animation: arb-sign 6s ease-in-out infinite;
}
.scn-arraignment-simpkins-bond .gavel {
  position:absolute; bottom:50%; left:46%; width:2%; height:8%; background: #8b5a2b; border-radius: 2px; transform-origin: bottom center; animation: arb-gavel 1.5s ease-in-out infinite;
}
.scn-arraignment-simpkins-bond .light-glare {
  position:absolute; top:10%; left:30%; width:40%; height:20%; background: radial-gradient(ellipse, rgba(255,255,200,0.3) 0%, transparent 70%); animation: arb-glare 10s ease-in-out infinite alternate;
}
@keyframes arb-judge { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes arb-simpkins { 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 arb-tony { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes arb-sign { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.6; } }
@keyframes arb-gavel { 0% { transform: rotate(0deg); } 30% { transform: rotate(-15deg); } 60% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }
@keyframes arb-glare { 0% { opacity:0.2; transform: scale(1); } 50% { opacity:0.6; transform: scale(1.1); } 100% { opacity:0.3; transform: scale(0.9); } }

/* scene: debated-shysters-hogan (tag dsh) */
.scn-debated-shysters-hogan {
  background: linear-gradient(180deg, #1a1a2e 0%, #2c2244 40%, #4a3a6e 100%), radial-gradient(ellipse at 50% 100%, #2a1a3e 0%, transparent 70%);
}
.scn-debated-shysters-hogan .room-back {
  position:absolute; inset:0; background: linear-gradient(135deg, #2c2244 0%, #1a1a2e 100%);
}
.scn-debated-shysters-hogan .desk {
  position:absolute; bottom:25%; left:20%; right:20%; height:10%; background: linear-gradient(180deg, #4a2a1a 0%, #2a1a0a 100%); border-radius: 8px 8px 0 0; box-shadow: 0 6px 20px rgba(0,0,0,0.6);
}
.scn-debated-shysters-hogan .lamp-glow {
  position:absolute; bottom:45%; left:35%; width:20%; height:25%; background: radial-gradient(ellipse, #c08040 0%, rgba(192,128,64,0.3) 40%, transparent 70%); animation: dsh-lamp 6s ease-in-out infinite alternate;
}
.scn-debated-shysters-hogan .tutt-figure {
  position:absolute; bottom:30%; left:18%; width:8%; height:20%; background: radial-gradient(ellipse at 50% 40%, #3a4a3a 50%, #1a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dsh-tutt 5s ease-in-out infinite;
}
.scn-debated-shysters-hogan .hogan-figure {
  position:absolute; bottom:28%; right:20%; width:14%; height:24%; background: radial-gradient(ellipse at 50% 40%, #5a4030 50%, #3a2010 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dsh-hogan 8s ease-in-out infinite;
}
.scn-debated-shysters-hogan .wiggin-figure {
  position:absolute; bottom:30%; left:42%; width:6%; height:18%; background: radial-gradient(ellipse at 50% 40%, #4a3a5a 50%, #2a1a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: dsh-wiggin 7s ease-in-out infinite alternate;
}
.scn-debated-shysters-hogan .shadow-cast {
  position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.6) 100%); animation: dsh-shadow 10s ease-in-out infinite alternate;
}
@keyframes dsh-lamp { 0% { opacity:0.5; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } 100% { opacity:0.7; transform: scale(0.9); } }
@keyframes dsh-tutt { 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 dsh-hogan { 0% { transform: scale(1) rotate(0deg); } 50% { transform: scale(1.03) rotate(2deg); } 100% { transform: scale(1) rotate(0deg); } }
@keyframes dsh-wiggin { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes dsh-shadow { 0% { opacity:0.5; } 50% { opacity:1; } 100% { opacity:0.6; } }

/* scene: simkins-visits-mathusek (tag svm) */
.scn-simkins-visits-mathusek {
  background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 50%, #3a2a2a 100%), radial-gradient(ellipse at 50% 100%, #2a1a1a 0%, transparent 70%);
}
.scn-simkins-visits-mathusek .interior-bg {
  position:absolute; inset:0; background: linear-gradient(180deg, #2a2a3e 0%, #1a1a2e 100%);
}
.scn-simkins-visits-mathusek .table {
  position:absolute; bottom:25%; left:30%; right:30%; height:8%; background: linear-gradient(180deg, #5a3a2a 0%, #3a1a0a 100%); border-radius: 10px 10px 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.scn-simkins-visits-mathusek .teacup-left {
  position:absolute; bottom:30%; left:38%; width:4%; height:5%; background: #b8a88a; border-radius: 0 0 8px 8px; box-shadow: 0 0 6px rgba(255,255,200,0.2); animation: svm-tea 4s ease-in-out infinite alternate;
}
.scn-simkins-visits-mathusek .teacup-right {
  position:absolute; bottom:30%; left:58%; width:4%; height:5%; background: #c8b8a0; border-radius: 0 0 8px 8px; box-shadow: 0 0 6px rgba(255,255,200,0.2); animation: svm-tea 5s ease-in-out infinite alternate reverse;
}
.scn-simkins-visits-mathusek .mr-simpkins {
  position:absolute; bottom:22%; left:52%; width:8%; height:22%; background: radial-gradient(ellipse at 50% 40%, #3a4a5a 50%, #1a2a3a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: svm-simpkins 3s ease-in-out infinite;
}
.scn-simkins-visits-mathusek .mrs-mathusek {
  position:absolute; bottom:22%; left:38%; width:7%; height:20%; background: radial-gradient(ellipse at 50% 40%, #5a4a3a 50%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: svm-mathusek 5s ease-in-out infinite alternate;
}
.scn-simkins-visits-mathusek .window-light {
  position:absolute; top:20%; right:15%; width:20%; height:30%; background: radial-gradient(ellipse, rgba(200,200,255,0.15) 0%, transparent 70%); animation: svm-window 12s ease-in-out infinite alternate;
}
.scn-simkins-visits-mathusek .curtain {
  position:absolute; top:10%; right:10%; width:25%; height:50%; background: linear-gradient(180deg, #4a2a2a 0%, #2a1a1a 100%); border-radius: 0 0 8px 8px; opacity:0.6; animation: svm-curtain 15s ease-in-out infinite alternate;
}
@keyframes svm-tea { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes svm-simpkins { 0% { transform: rotate(0deg) translateX(0); } 25% { transform: rotate(2deg) translateX(2px); } 50% { transform: rotate(0deg) translateX(0); } 75% { transform: rotate(-2deg) translateX(-2px); } 100% { transform: rotate(0deg) translateX(0); } }
@keyframes svm-mathusek { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes svm-window { 0% { opacity:0.1; } 50% { opacity:0.3; } 100% { opacity:0.15; } }
@keyframes svm-curtain { 0% { transform: scaleX(1); } 50% { transform: scaleX(1.05); } 100% { transform: scaleX(1); } }

/* scene: beekman-subpoena-trial */
.scn-beekman-subpoena-trial {
  background: linear-gradient(180deg, #e8dcc8 0%, #c4b49a 50%, #a89880 100%), radial-gradient(ellipse at 50% 20%, rgba(255,255,220,0.3) 0%, transparent 70%);
}
.scn-beekman-subpoena-trial .bg {
  position: absolute; inset: 0; 
  background: linear-gradient(90deg, #d4c4a8 0%, #e8dcc8 50%, #d4c4a8 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.15);
  animation: bst-shadow 6s ease-in-out infinite alternate;
}
.scn-beekman-subpoena-trial .bench {
  position: absolute; bottom: 40%; left: 10%; width: 55%; height: 22%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  animation: bst-bench 12s ease-in-out infinite;
}
.scn-beekman-subpoena-trial .judge {
  position: absolute; bottom: 54%; left: 23%; width: 16%; height: 28%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bst-judge 8s ease-in-out infinite alternate;
}
.scn-beekman-subpoena-trial .stand {
  position: absolute; bottom: 42%; left: 45%; width: 14%; height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: bst-stand 10s ease-in-out infinite;
}
.scn-beekman-subpoena-trial .witness {
  position: absolute; bottom: 52%; left: 46%; width: 8%; height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bst-witness 4s ease-in-out infinite alternate;
}
.scn-beekman-subpoena-trial .prosecutor {
  position: absolute; bottom: 42%; left: 5%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: bst-table 14s ease-in-out infinite alternate;
}
.scn-beekman-subpoena-trial .defense {
  position: absolute; bottom: 42%; right: 5%; width: 14%; height: 20%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: bst-table 14s ease-in-out infinite alternate-reverse;
}
.scn-beekman-subpoena-trial .clock {
  position: absolute; top: 12%; right: 18%; width: 12%; height: 16%;
  background: radial-gradient(circle, #d4c4a8 30%, #a89880 33%, #7a6a5a 40%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  animation: bst-clock 2s ease-in-out infinite;
}
.scn-beekman-subpoena-trial .gavel {
  position: absolute; bottom: 47%; left: 38%; width: 4%; height: 8%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: bst-gavel 3s ease-in-out infinite;
}
@keyframes bst-shadow { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes bst-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bst-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bst-stand { 0% { transform: translateY(0); } 33% { transform: translateY(-1px); } 66% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes bst-witness { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-1px) rotate(1deg); } 75% { transform: translateY(1px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bst-table { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@keyframes bst-clock { 0% { transform: rotate(0deg); } 25% { transform: rotate(5deg); } 75% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }
@keyframes bst-gavel { 0% { transform: rotate(0deg); } 20% { transform: rotate(15deg); } 40% { transform: rotate(-15deg); } 60% { transform: rotate(10deg); } 80% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } }

/* scene: beekman-testimony-refusal */
.scn-beekman-testimony-refusal {
  background: linear-gradient(180deg, #dfd2be 0%, #c4b49a 50%, #a89880 100%), radial-gradient(ellipse at 50% 20%, rgba(255,255,240,0.2) 0%, transparent 70%);
}
.scn-beekman-testimony-refusal .bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d4c4a8 0%, #e8dcc8 50%, #d4c4a8 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.1);
  animation: btr-shadow 8s ease-in-out infinite alternate;
}
.scn-beekman-testimony-refusal .bench {
  position: absolute; bottom: 38%; left: 12%; width: 50%; height: 24%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  animation: btr-bench 14s ease-in-out infinite;
}
.scn-beekman-testimony-refusal .judge {
  position: absolute; bottom: 54%; left: 25%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: btr-judge 9s ease-in-out infinite alternate;
}
.scn-beekman-testimony-refusal .stand {
  position: absolute; bottom: 40%; left: 48%; width: 12%; height: 32%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  animation: btr-stand 8s ease-in-out infinite;
}
.scn-beekman-testimony-refusal .witness {
  position: absolute; bottom: 52%; left: 49%; width: 7%; 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: btr-witness 3s ease-in-out infinite alternate;
}
.scn-beekman-testimony-refusal .prosecutor {
  position: absolute; bottom: 40%; left: 4%; width: 16%; height: 22%;
  background: linear-gradient(180deg, #3a2a2a 0%, #2a1a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: btr-table 10s ease-in-out infinite alternate;
}
.scn-beekman-testimony-refusal .clerk {
  position: absolute; bottom: 38%; right: 6%; width: 10%; height: 24%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a3a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: btr-clerk 12s ease-in-out infinite;
}
.scn-beekman-testimony-refusal .book {
  position: absolute; bottom: 48%; left: 48%; width: 6%; height: 4%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 10%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: btr-book 5s ease-in-out infinite alternate;
}
@keyframes btr-shadow { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes btr-bench { 0% { transform: translateY(0); } 33% { transform: translateY(-2px); } 66% { transform: translateY(1px); } 100% { transform: translateY(0); } }
@keyframes btr-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(0.3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes btr-stand { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes btr-witness { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(2deg); } 70% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes btr-table { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.01); } 100% { transform: translateY(0) scale(1); } }
@keyframes btr-clerk { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes btr-book { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(10deg); } 100% { transform: translateY(0) rotate(0deg); } }

/* scene: beekman-contempt-resolve */
.scn-beekman-contempt-resolve {
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 0%, #3a3a5a 0%, transparent 70%);
}
.scn-beekman-contempt-resolve .bg {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  box-shadow: inset 0 0 80px rgba(0,0,0,0.5);
  animation: bcr-shadow 10s ease-in-out infinite alternate;
}
.scn-beekman-contempt-resolve .bench {
  position: absolute; bottom: 30%; left: 10%; width: 60%; height: 28%;
  background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6);
  animation: bcr-bench 15s ease-in-out infinite;
}
.scn-beekman-contempt-resolve .judge-shadow {
  position: absolute; bottom: 48%; left: 22%; width: 18%; height: 35%;
  background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  opacity: 0.8;
  animation: bcr-judge 7s ease-in-out infinite alternate;
}
.scn-beekman-contempt-resolve .lamplight {
  position: absolute; bottom: 60%; left: 35%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 0%, #ffd680 0%, transparent 70%);
  opacity: 0.3;
  animation: bcr-lamp 4s ease-in-out infinite alternate;
}
.scn-beekman-contempt-resolve .figure {
  position: absolute; bottom: 38%; left: 48%; width: 8%; height: 30%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  box-shadow: 0 0 20px rgba(255,214,128,0.2);
  animation: bcr-figure 3s ease-in-out infinite alternate;
}
.scn-beekman-contempt-resolve .books {
  position: absolute; bottom: 32%; right: 8%; width: 12%; height: 16%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 10%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  animation: bcr-books 8s ease-in-out infinite;
}
.scn-beekman-contempt-resolve .gavel {
  position: absolute; bottom: 42%; left: 40%; width: 4%; height: 10%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: bcr-gavel 2s ease-in-out infinite;
}
.scn-beekman-contempt-resolve .clock {
  position: absolute; top: 15%; right: 20%; width: 10%; height: 14%;
  background: radial-gradient(circle, #4a4a5a 30%, #2a2a3a 33%, #1a1a2a 40%);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(255,255,255,0.1);
  animation: bcr-clock 1.5s ease-in-out infinite;
}
@keyframes bcr-shadow { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.6; } }
@keyframes bcr-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes bcr-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(1px) rotate(1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bcr-lamp { 0% { opacity: 0.2; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.1); } 100% { opacity: 0.2; transform: scale(1); } }
@keyframes bcr-figure { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-2px) rotate(1deg); } 70% { transform: translateY(2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bcr-books { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bcr-gavel { 0% { transform: rotate(0deg); } 25% { transform: rotate(20deg); } 75% { transform: rotate(-20deg); } 100% { transform: rotate(0deg); } }
@keyframes bcr-clock { 0% { transform: rotate(0deg); } 33% { transform: rotate(10deg); } 66% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } }

/* scene: beekman-committed-verdict */
.scn-beekman-committed-verdict {
  background: linear-gradient(180deg, #e0d4c0 0%, #c4b49a 50%, #a89880 100%), radial-gradient(ellipse at 50% 20%, rgba(255,255,230,0.25) 0%, transparent 70%);
}
.scn-beekman-committed-verdict .bg {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #d4c4a8 0%, #e8dcc8 50%, #d4c4a8 100%);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.15);
  animation: bcv-shadow 9s ease-in-out infinite alternate;
}
.scn-beekman-committed-verdict .bench {
  position: absolute; bottom: 38%; left: 12%; width: 55%; height: 24%;
  background: linear-gradient(180deg, #7a5a3a 0%, #5a3a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  animation: bcv-bench 13s ease-in-out infinite;
}
.scn-beekman-committed-verdict .judge {
  position: absolute; bottom: 54%; left: 25%; width: 14%; height: 28%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcv-judge 9s ease-in-out infinite alternate;
}
.scn-beekman-committed-verdict .stand-empty {
  position: absolute; bottom: 40%; left: 48%; width: 12%; height: 30%;
  background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  opacity: 0.8;
  animation: bcv-empty 7s ease-in-out infinite;
}
.scn-beekman-committed-verdict .guard {
  position: absolute; bottom: 38%; left: 6%; width: 10%; height: 28%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcv-guard 4s ease-in-out infinite alternate;
}
.scn-beekman-committed-verdict .prisoner {
  position: absolute; bottom: 38%; left: 42%; width: 8%; height: 28%;
  background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: bcv-prisoner 3s ease-in-out infinite alternate;
}
.scn-beekman-committed-verdict .clock {
  position: absolute; top: 12%; right: 18%; width: 12%; height: 16%;
  background: radial-gradient(circle, #d4c4a8 30%, #a89880 33%, #7a6a5a 40%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  animation: bcv-clock 2.5s ease-in-out infinite;
}
.scn-beekman-committed-verdict .gavel-strike {
  position: absolute; bottom: 46%; left: 38%; width: 5%; height: 12%;
  background: linear-gradient(180deg, #5a3a1a 0%, #3a1a0a 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: 50% 100%;
  animation: bcv-gavel 1.5s ease-in-out infinite;
}
@keyframes bcv-shadow { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.7; } }
@keyframes bcv-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bcv-judge { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-1px) rotate(0.5deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bcv-empty { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes bcv-guard { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-1px) rotate(2deg); } 70% { transform: translateY(1px) rotate(-2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bcv-prisoner { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-2px) rotate(1deg); } 75% { transform: translateY(2px) rotate(-1deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes bcv-clock { 0% { transform: rotate(0deg); } 33% { transform: rotate(8deg); } 66% { transform: rotate(-8deg); } 100% { transform: rotate(0deg); } }
@keyframes bcv-gavel { 0% { transform: rotate(0deg) scaleY(1); } 20% { transform: rotate(25deg) scaleY(1.1); } 40% { transform: rotate(-20deg) scaleY(1); } 60% { transform: rotate(15deg) scaleY(1.05); } 80% { transform: rotate(-10deg) scaleY(1); } 100% { transform: rotate(0deg) scaleY(1); } }

/* Scene 1: magnus-trial-disaster */
.scn-magnus-trial-disaster {
  background: linear-gradient(180deg, #f5e6c8 0%, #d9c5a0 100%), radial-gradient(ellipse at 50% 0%, #fff8e0 0%, transparent 70%);
}
.scn-magnus-trial-disaster .bg {
  position: absolute; inset: 0 0 30% 0;
  background: linear-gradient(135deg, #e8dcc0 0%, #c4b08a 100%);
  animation: mg1-bg 12s ease-in-out infinite alternate;
}
.scn-magnus-trial-disaster .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 30%;
  background: linear-gradient(180deg, #b8956e 0%, #8f7555 100%);
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.3);
}
.scn-magnus-trial-disaster .bench {
  position: absolute; bottom: 30%; left: 15%; width: 20%; height: 18%;
  background: linear-gradient(180deg, #6b4c2e 0%, #3f2f1e 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: mg1-bench 8s ease-in-out infinite;
}
.scn-magnus-trial-disaster .witness-stand {
  position: absolute; bottom: 30%; right: 20%; width: 12%; height: 22%;
  background: linear-gradient(180deg, #a07d54 0%, #5c422b 100%);
  border-radius: 8% 8% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.scn-magnus-trial-disaster .caput-figure {
  position: absolute; bottom: 30%; left: 45%; width: 10%; height: 30%;
  background: radial-gradient(ellipse 90% 70% at 50% 30%, #e6d5b8 0%, #a08060 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: mg1-caput 4s ease-in-out infinite;
}
.scn-magnus-trial-disaster .book {
  position: absolute; bottom: 42%; left: 50%; width: 8%; height: 6%;
  background: linear-gradient(135deg, #f0d9b0 0%, #c8a87a 100%);
  border-radius: 2% 2% 10% 10% / 30% 30% 20% 20%;
  transform-origin: 50% 100%;
  animation: mg1-book 3s ease-in-out infinite;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.scn-magnus-trial-disaster .wig {
  position: absolute; bottom: 55%; left: 46%; width: 6%; height: 6%;
  background: radial-gradient(circle, #f5f0e0 0%, #d6ccb0 100%);
  border-radius: 50% 50% 10% 10%;
  animation: mg1-wig 2s ease-in-out infinite alternate;
  filter: blur(1px);
}
.scn-magnus-trial-disaster .spotlight {
  position: absolute; top: 0; left: 35%; width: 30%; height: 70%;
  background: linear-gradient(180deg, rgba(255,255,200,0.3) 0%, transparent 70%);
  border-radius: 50% / 10% 10% 100% 100%;
  animation: mg1-spotlight 5s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes mg1-bg { 0% { opacity:0.9; } 50% { opacity:1; } 100% { opacity:0.85; } }
@keyframes mg1-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes mg1-caput { 0% { transform: translateX(0) rotate(0deg); } 25% { transform: translateX(4px) rotate(3deg); } 50% { transform: translateX(0) rotate(0deg); } 75% { transform: translateX(-4px) rotate(-3deg); } 100% { transform: translateX(0) rotate(0deg); } }
@keyframes mg1-book { 0% { transform: translateY(0) rotate(0deg); } 30% { transform: translateY(-6px) rotate(15deg); } 60% { transform: translateY(-3px) rotate(-10deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes mg1-wig { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.1); } 100% { transform: translateY(0) scale(1); } }
@keyframes mg1-spotlight { 0% { opacity:0.3; transform: scaleY(1); } 50% { opacity:0.6; transform: scaleY(1.05); } 100% { opacity:0.3; transform: scaleY(1); } }

/* Scene 2: tutts-defense-higgleby */
.scn-tutts-defense-higgleby {
  background: linear-gradient(180deg, #f2e3c6 0%, #d4bd94 50%, #b5986e 100%), radial-gradient(ellipse at 50% 30%, #fff4e0 0%, transparent 60%);
}
.scn-tutts-defense-higgleby .bg {
  position: absolute; inset: 0 0 25% 0;
  background: linear-gradient(135deg, #eadbc0, #cbb59a);
}
.scn-tutts-defense-higgleby .floor {
  position: absolute; bottom:0; left:0; right:0; height:25%;
  background: linear-gradient(180deg, #a58464 0%, #7d6448 100%);
  box-shadow: inset 0 4px 12px rgba(0,0,0,0.3);
}
.scn-tutts-defense-higgleby .judge-bench {
  position: absolute; bottom:25%; left:10%; width:15%; height:20%;
  background: linear-gradient(180deg, #5a3f28 0%, #3a2a1a 100%);
  border-radius: 4% 4% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.scn-tutts-defense-higgleby .tutt-figure {
  position: absolute; bottom:25%; left:40%; width:12%; height:35%;
  background: radial-gradient(ellipse 80% 60% at 50% 20%, #d4b896 0%, #a68a70 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  animation: tut-tutt 6s ease-in-out infinite alternate;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
}
.scn-tutts-defense-higgleby .wife {
  position: absolute; bottom:25%; width:10%; height:30%;
  background: linear-gradient(180deg, #b59a80 0%, #806a52 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
}
.scn-tutts-defense-higgleby .left { left:55%; animation: tut-wife-left 7s ease-in-out infinite; }
.scn-tutts-defense-higgleby .right { left:70%; animation: tut-wife-right 7s ease-in-out infinite; }
.scn-tutts-defense-higgleby .gavel {
  position: absolute; bottom:28%; left:12%; width:4%; height:8%;
  background: linear-gradient(180deg, #3f2a1a 0%, #1f1008 100%);
  border-radius: 20% 20% 10% 10%;
  transform-origin: bottom center;
  animation: tut-gavel 2s ease-in-out infinite;
}
.scn-tutts-defense-higgleby .glow {
  position: absolute; top:20%; left:30%; width:40%; height:50%;
  background: radial-gradient(ellipse, rgba(255,235,180,0.15) 0%, transparent 70%);
  animation: tut-glow 9s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes tut-tutt { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(2deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes tut-wife-left { 0% { transform: translateX(0); } 33% { transform: translateX(2px); } 66% { transform: translateX(-1px); } 100% { transform: translateX(0); } }
@keyframes tut-wife-right { 0% { transform: translateX(0); } 33% { transform: translateX(-2px); } 66% { transform: translateX(1px); } 100% { transform: translateX(0); } }
@keyframes tut-gavel { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-5deg); } }
@keyframes tut-glow { 0% { opacity:0.4; } 50% { opacity:0.8; } 100% { opacity:0.4; } }

/* Scene 3: item-clifford-letter */
.scn-item-clifford-letter {
  background: linear-gradient(180deg, #f1e4cc 0%, #d9c6aa 50%, #b89f81 100%), radial-gradient(ellipse at 40% 30%, #fff3d6 0%, transparent 60%);
}
.scn-item-clifford-letter .wall {
  position: absolute; inset:0 0 30% 0;
  background: linear-gradient(135deg, #e5d2b6, #cbb596);
}
.scn-item-clifford-letter .desk {
  position: absolute; bottom:30%; left:25%; right:25%; height:20%;
  background: linear-gradient(180deg, #7a5e42 0%, #4d3824 100%);
  border-radius: 2% 2% 0 0; box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.scn-item-clifford-letter .tutt-figure {
  position: absolute; bottom:30%; left:20%; width:15%; height:40%;
  background: radial-gradient(ellipse 80% 60% at 50% 20%, #c8ac8c 0%, #9c8366 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: cli-tutt 5s ease-in-out infinite alternate;
}
.scn-item-clifford-letter .payson-figure {
  position: absolute; bottom:30%; right:20%; width:14%; height:38%;
  background: radial-gradient(ellipse 80% 60% at 50% 20%, #b39878 0%, #8c725a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: cli-payson 6s ease-in-out infinite alternate;
}
.scn-item-clifford-letter .letter {
  position: absolute; bottom:40%; left:45%; width:8%; height:6%;
  background: linear-gradient(135deg, #f7e8c8 0%, #dfcaa8 100%);
  border-radius: 2% 2% 4% 4%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform-origin: top center;
  animation: cli-letter 4s ease-in-out infinite;
}
.scn-item-clifford-letter .lamp {
  position: absolute; bottom:30%; right:10%; width:8%; height:15%;
  background: linear-gradient(180deg, #c9a87c 0%, #806040 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 12px 4px rgba(255,200,120,0.3);
  animation: cli-lamp 8s ease-in-out infinite alternate;
}
.scn-item-clifford-letter .inkwell {
  position: absolute; bottom:30%; left:38%; width:4%; height:4%;
  background: radial-gradient(circle, #3a2a1a 0%, #1f150a 100%);
  border-radius: 50%;
  border: 1px solid #5a3a1a;
  animation: cli-inkwell 10s linear infinite;
}
.scn-item-clifford-letter .shadow {
  position: absolute; bottom:30%; left:15%; right:15%; height:10%;
  background: linear-gradient(180deg, rgba(0,0,0,0.15), transparent);
  pointer-events: none;
}
@keyframes cli-tutt { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-2px) rotate(1deg); } 100% { transform: translateY(0) rotate(-1deg); } }
@keyframes cli-payson { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-3px) rotate(-1deg); } 100% { transform: translateY(0) rotate(1deg); } }
@keyframes cli-letter { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(5deg) scale(1.02); } 50% { transform: rotate(0deg) scale(1); } 75% { transform: rotate(-5deg) scale(1.02); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes cli-lamp { 0% { box-shadow: 0 0 8px 2px rgba(255,200,120,0.2); } 50% { box-shadow: 0 0 20px 6px rgba(255,200,120,0.5); } 100% { box-shadow: 0 0 8px 2px rgba(255,200,120,0.2); } }
@keyframes cli-inkwell { 0% { opacity:0.8; } 50% { opacity:1; } 100% { opacity:0.8; } }

/* Scene 4: payson-decides-ignore */
.scn-payson-decides-ignore {
  background: linear-gradient(180deg, #1f2835 0%, #14202e 50%, #0a141e 100%), radial-gradient(ellipse at 50% 40%, #2a3a4a 0%, transparent 70%);
}
.scn-payson-decides-ignore .wall {
  position: absolute; inset:0 0 30% 0;
  background: linear-gradient(135deg, #1e2a36, #121c26);
}
.scn-payson-decides-ignore .desk {
  position: absolute; bottom:30%; left:20%; right:20%; height:18%;
  background: linear-gradient(180deg, #2c3a44 0%, #1a242e 100%);
  border-radius: 2% 2% 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.scn-payson-decides-ignore .tutt-silhouette {
  position: absolute; bottom:30%; left:25%; width:16%; height:45%;
  background: radial-gradient(ellipse 80% 60% at 50% 20%, #2a3442 0%, #0e141c 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: pay-tutt 5s ease-in-out infinite alternate;
  filter: brightness(0.6) contrast(1.2);
}
.scn-payson-decides-ignore .payson-silhouette {
  position: absolute; bottom:30%; right:25%; width:15%; height:42%;
  background: radial-gradient(ellipse 80% 60% at 50% 20%, #2e3c4a 0%, #141e2a 100%);
  border-radius: 30% 30% 40% 40% / 50% 50% 30% 30%;
  clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
  animation: pay-payson 6s ease-in-out infinite alternate;
  filter: brightness(0.5) contrast(1.3);
}
.scn-payson-decides-ignore .lamp {
  position: absolute; bottom:30%; left:48%; width:6%; height:18%;
  background: linear-gradient(180deg, #a08860 0%, #604830 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 0 18px 4px rgba(255,180,80,0.4);
  animation: pay-lamp 7s ease-in-out infinite alternate;
}
.scn-payson-decides-ignore .lamplight {
  position: absolute; top:30%; left:35%; right:35%; height:40%;
  background: radial-gradient(ellipse, rgba(255,200,120,0.12) 0%, transparent 60%);
  pointer-events: none;
  animation: pay-lamplight 9s ease-in-out infinite alternate;
}
.scn-payson-decides-ignore .clock {
  position: absolute; top:12%; left:10%; width:8%; height:10%;
  background: radial-gradient(circle, #4a5a6a 0%, #2a3a4a 70%);
  border-radius: 50%;
  border: 2px solid #6a7a8a;
  animation: pay-clock 2s steps(2) infinite;
  transform-origin: center;
}
.scn-payson-decides-ignore .shadow-strong {
  position: absolute; bottom:30%; left:20%; right:20%; height:12%;
  background: linear-gradient(180deg, rgba(0,0,0,0.4), transparent);
  animation: pay-shadow 5s ease-in-out infinite alternate;
}
.scn-payson-decides-ignore .anxiety-pulse {
  position: absolute; bottom:35%; left:45%; width:10%; height:10%;
  background: radial-gradient(circle, rgba(255,100,100,0.08) 0%, transparent 70%);
  border-radius: 50%;
  animation: pay-pulse 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pay-tutt { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pay-payson { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes pay-lamp { 0% { box-shadow: 0 0 12px 2px rgba(255,180,80,0.2); } 50% { box-shadow: 0 0 28px 8px rgba(255,180,80,0.5); } 100% { box-shadow: 0 0 12px 2px rgba(255,180,80,0.2); } }
@keyframes pay-lamplight { 0% { opacity:0.3; } 50% { opacity:0.6; } 100% { opacity:0.3; } }
@keyframes pay-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(6deg); } }
@keyframes pay-shadow { 0% { opacity:0.5; } 50% { opacity:0.8; } 100% { opacity:0.5; } }
@keyframes pay-pulse { 0% { transform: scale(1); opacity:0.2; } 50% { transform: scale(2.5); opacity:0; } 100% { transform: scale(1); opacity:0.2; } }

/* tutts-cross-brown – tense bright interior courtroom cross-examination */
.scn-tutts-cross-brown {
  background: 
    linear-gradient(180deg, #e8ddc8 0%, #d5c7a8 50%, #c2b590 100%),
    radial-gradient(ellipse at 50% 0%, #fff5e6 0%, transparent 60%);
}
.scn-tutts-cross-brown .bg-wall {
  position: absolute;
  inset: 0 0 25% 0;
  background: linear-gradient(135deg, #e0d4bc 0%, #cec0a4 100%);
}
.scn-tutts-cross-brown .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 25%;
  background: linear-gradient(180deg, #b8a78c 0%, #a08e70 100%);
  border-top: 2px solid #8a7658;
}
.scn-tutts-cross-brown .bench {
  position: absolute;
  bottom: 25%; right: 5%;
  width: 30%;
  height: 18%;
  background: linear-gradient(180deg, #7a6a50 0%, #5a4a38 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -4px 8px rgba(0,0,0,0.2);
  transform: perspective(400px) rotateX(6deg);
}
.scn-tutts-cross-brown .witness-box {
  position: absolute;
  bottom: 25%; left: 10%;
  width: 22%;
  height: 45%;
  background: linear-gradient(180deg, #b8a078 0%, #8a7253 100%);
  border: 2px solid #6a5a3a;
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -8px 12px rgba(0,0,0,0.3);
}
.scn-tutts-cross-brown .figure-brown {
  position: absolute;
  bottom: 28%; left: 14%;
  width: 14%;
  height: 50%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: tcb-witness 4s ease-in-out infinite;
}
.scn-tutts-cross-brown .figure-tutt {
  position: absolute;
  bottom: 28%; right: 8%;
  width: 12%;
  height: 55%;
  background: linear-gradient(180deg, #2a2a3a 0%, #0e0e1a 100%);
  border-radius: 50% 50% 40% 40% / 50% 50% 40% 40%;
  transform-origin: bottom center;
  animation: tcb-lawyer 5s ease-in-out infinite;
}
.scn-tutts-cross-brown .window-blinds {
  position: absolute;
  top: 10%; right: 30%;
  width: 15%;
  height: 35%;
  background: repeating-linear-gradient(0deg, #a09078 0px, #a09078 4px, #d5c7a8 4px, #d5c7a8 8px);
  border-radius: 4px;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  animation: tcb-blinds 12s ease-in-out infinite alternate;
}
.scn-tutts-cross-brown .shadow-stripes {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 6px, rgba(0,0,0,0.08) 6px, rgba(0,0,0,0.08) 8px);
  pointer-events: none;
  animation: tcb-stripes 8s linear infinite;
}

@keyframes tcb-witness {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(2px) translateY(-1px) rotate(1deg); }
  60% { transform: translateX(-1px) translateY(0) rotate(-0.5deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes tcb-lawyer {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  25% { transform: translateX(-3px) translateY(-2px) rotate(2deg); }
  50% { transform: translateX(0) translateY(0) rotate(0deg); }
  75% { transform: translateX(1px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes tcb-blinds {
  0% { opacity: 0.9; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.02); }
  100% { opacity: 0.85; transform: scaleY(0.98); }
}
@keyframes tcb-stripes {
  0% { transform: translateX(0); }
  100% { transform: translateX(16px); }
}

/* item-katie-shawl – warm bright interior with two figures and a shawl */
.scn-item-katie-shawl {
  background:
    linear-gradient(180deg, #f5e1c0 0%, #ecc88a 40%, #dbb378 100%),
    radial-gradient(ellipse at 30% 80%, #ffeedd 0%, transparent 60%);
}
.scn-item-katie-shawl .bg-wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(135deg, #f0dbb5 0%, #e4c89c 100%);
}
.scn-item-katie-shawl .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 20%;
  background: linear-gradient(180deg, #c8a878 0%, #b09060 100%);
}
.scn-item-katie-shawl .figure-katie {
  position: absolute;
  bottom: 22%; left: 28%;
  width: 10%;
  height: 45%;
  background: linear-gradient(180deg, #6a5a4a 0%, #3a2a1a 100%);
  border-radius: 45% 55% 40% 40% / 55% 45% 35% 35%;
  transform-origin: bottom center;
  animation: kt-katie 6s ease-in-out infinite;
}
.scn-item-katie-shawl .figure-bently {
  position: absolute;
  bottom: 22%; right: 20%;
  width: 14%;
  height: 55%;
  background: linear-gradient(180deg, #2a3a2a 0%, #0e1a0e 100%);
  border-radius: 55% 45% 40% 40% / 50% 60% 35% 35%;
  transform-origin: bottom center;
  animation: kt-bently 7s ease-in-out infinite;
}
.scn-item-katie-shawl .shawl {
  position: absolute;
  bottom: 38%; left: 26%;
  width: 14%;
  height: 22%;
  background: radial-gradient(ellipse at 50% 100%, #d87858 0%, #b8583a 70%, transparent 100%);
  border-radius: 50% 50% 40% 40%;
  transform: rotate(-10deg);
  animation: kt-shawl 4s ease-in-out infinite alternate;
}
.scn-item-katie-shawl .window-glow {
  position: absolute;
  top: 10%; right: 8%;
  width: 20%;
  height: 40%;
  background: linear-gradient(135deg, #fff8e6 0%, #ffedcc 100%);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 0 40px 12px rgba(255, 237, 204, 0.6);
  animation: kt-glow 3s ease-in-out infinite alternate;
}
.scn-item-katie-shawl .warm-haze {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(255, 220, 160, 0.3) 0%, transparent 70%);
  pointer-events: none;
  animation: kt-haze 8s ease-in-out infinite;
}

@keyframes kt-katie {
  0% { transform: translateX(0) translateY(0) rotate(-1deg); }
  30% { transform: translateX(2px) translateY(-2px) rotate(1deg); }
  60% { transform: translateX(-1px) translateY(0) rotate(0deg); }
  100% { transform: translateX(0) translateY(0) rotate(-1deg); }
}
@keyframes kt-bently {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  20% { transform: translateX(-2px) translateY(-1px) rotate(2deg); }
  40% { transform: translateX(0) translateY(0) rotate(0deg); }
  60% { transform: translateX(1px) translateY(-1px) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes kt-shawl {
  0% { transform: rotate(-10deg) scale(1); opacity: 0.9; }
  50% { transform: rotate(-6deg) scale(1.03); opacity: 1; }
  100% { transform: rotate(-12deg) scale(0.97); opacity: 0.85; }
}
@keyframes kt-glow {
  0% { box-shadow: 0 0 30px 8px rgba(255,237,204,0.5); opacity: 0.9; }
  50% { box-shadow: 0 0 50px 16px rgba(255,237,204,0.8); opacity: 1; }
  100% { box-shadow: 0 0 35px 10px rgba(255,237,204,0.6); opacity: 0.95; }
}
@keyframes kt-haze {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.5; }
}

/* jury-shifts-conviction – tense dim interior jury room with shifting ballots */
.scn-jury-shifts-conviction {
  background:
    linear-gradient(180deg, #1a1a2e 0%, #16213e 60%, #0f1a30 100%),
    radial-gradient(ellipse at 50% 30%, #2a2a4e 0%, transparent 80%);
}
.scn-jury-shifts-conviction .bg-wall {
  position: absolute;
  inset: 0 0 15% 0;
  background: linear-gradient(0deg, #1e1e3a 0%, #14142a 100%);
}
.scn-jury-shifts-conviction .table {
  position: absolute;
  bottom: 15%; left: 15%; right: 15%;
  height: 30%;
  background: linear-gradient(180deg, #3a3a4a 0%, #2a2a38 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.5);
}
.scn-jury-shifts-conviction .chair-left {
  position: absolute;
  bottom: 35%; left: 10%;
  width: 12%;
  height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #12121a 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: jsc-chair 5s ease-in-out infinite;
}
.scn-jury-shifts-conviction .chair-right {
  position: absolute;
  bottom: 35%; right: 10%;
  width: 12%;
  height: 25%;
  background: linear-gradient(180deg, #2a2a3a 0%, #12121a 100%);
  border-radius: 50% 50% 30% 30%;
  transform-origin: bottom center;
  animation: jsc-chair 5s ease-in-out infinite reverse;
}
.scn-jury-shifts-conviction .chair-center {
  position: absolute;
  bottom: 35%; left: 42%;
  width: 16%;
  height: 28%;
  background: linear-gradient(180deg, #3a3a4e 0%, #1a1a2a 100%);
  border-radius: 50% 50% 35% 35%;
  transform-origin: bottom center;
  animation: jsc-chair-center 6s ease-in-out infinite;
}
.scn-jury-shifts-conviction .figure-standing {
  position: absolute;
  bottom: 45%; left: 42%;
  width: 14%;
  height: 50%;
  background: linear-gradient(180deg, #1e1e2e 0%, #0a0a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 30% 30%;
  transform-origin: bottom center;
  animation: jsc-standing 3s ease-in-out infinite;
}
.scn-jury-shifts-conviction .ballot-slips {
  position: absolute;
  top: 20%; left: 20%; right: 20%;
  height: 15%;
  background: transparent;
  animation: jsc-ballot 9s linear infinite;
}
.scn-jury-shifts-conviction .ballot-slips::before {
  content: '';
  display: block;
  width: 12%;
  height: 60%;
  background: #c8b080;
  border-radius: 2px;
  margin: 0 auto;
  box-shadow: 20px 0 #d0b888, 40px 0 #b8a068, 60px 0 #c0a878, 80px 0 #d0b080;
  transform: rotate(5deg);
  animation: jsc-ballot-shift 8s ease-in-out infinite alternate;
}
.scn-jury-shifts-conviction .lamp-glow {
  position: absolute;
  top: 8%; left: 45%;
  width: 10%;
  height: 12%;
  background: radial-gradient(circle, #ffd080 0%, #a08040 70%, transparent 100%);
  border-radius: 50%;
  box-shadow: 0 0 30px 8px rgba(255,208,128,0.4);
  animation: jsc-lamp 4s ease-in-out infinite alternate;
}

@keyframes jsc-chair {
  0% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(2deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-2px) rotate(-1deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes jsc-chair-center {
  0% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-6px) rotate(3deg); }
  40% { transform: translateY(0) rotate(0deg); }
  60% { transform: translateY(-3px) rotate(-2deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes jsc-standing {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  30% { transform: translateX(2px) translateY(-3px) rotate(2deg); }
  60% { transform: translateX(-1px) translateY(0) rotate(-1deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes jsc-ballot {
  0% { transform: translateY(0); }
  100% { transform: translateY(-30px); opacity: 0.7; }
}
@keyframes jsc-ballot-shift {
  0% { transform: rotate(3deg) scale(1); opacity: 0.8; }
  50% { transform: rotate(-5deg) scale(1.05); opacity: 1; }
  100% { transform: rotate(0deg) scale(0.95); opacity: 0.7; }
}
@keyframes jsc-lamp {
  0% { box-shadow: 0 0 20px 4px rgba(255,208,128,0.3); opacity: 0.8; }
  50% { box-shadow: 0 0 40px 12px rgba(255,208,128,0.6); opacity: 1; }
  100% { box-shadow: 0 0 25px 6px rgba(255,208,128,0.4); opacity: 0.9; }
}

/* acquittal-tutt-praise – warm bright interior triumphant courtroom */
.scn-acquittal-tutt-praise {
  background:
    linear-gradient(180deg, #fff4e6 0%, #fae5c3 50%, #f0d6a8 100%),
    radial-gradient(ellipse at 50% 20%, #fff9e6 0%, transparent 70%);
}
.scn-acquittal-tutt-praise .bg-wall {
  position: absolute;
  inset: 0 0 20% 0;
  background: linear-gradient(135deg, #e8dbb8 0%, #dccda4 100%);
}
.scn-acquittal-tutt-praise .floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 20%;
  background: linear-gradient(180deg, #c8b088 0%, #b09870 100%);
}
.scn-acquittal-tutt-praise .bench {
  position: absolute;
  bottom: 20%; left: 5%;
  width: 25%;
  height: 20%;
  background: linear-gradient(180deg, #8a7a5a 0%, #6a5a3a 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -6px 10px rgba(0,0,0,0.2);
}
.scn-acquittal-tutt-praise .figure-tutt {
  position: absolute;
  bottom: 25%; left: 40%;
  width: 15%;
  height: 60%;
  background: linear-gradient(180deg, #2a3a2a 0%, #0e1a0e 100%);
  border-radius: 50% 50% 40% 40% / 55% 55% 35% 35%;
  transform-origin: bottom center;
  animation: atp-tutt 2s ease-in-out infinite;
}
.scn-acquittal-tutt-praise .figure-jurors {
  position: absolute;
  bottom: 22%; right: 8%;
  width: 12%;
  height: 40%;
  background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2e 100%);
  border-radius: 50% 50% 40% 40% / 45% 45% 35% 35%;
  transform-origin: bottom center;
  animation: atp-jurors 4s ease-in-out infinite;
}
.scn-acquittal-tutt-praise .door-light {
  position: absolute;
  top: 15%; right: 15%;
  width: 20%;
  height: 50%;
  background: linear-gradient(135deg, #fff5e0 0%, #ffeabc 100%);
  border-radius: 8px;
  box-shadow: 0 0 50px 20px rgba(255, 234, 188, 0.6);
  animation: atp-door 3s ease-in-out infinite alternate;
}
.scn-acquittal-tutt-praise .rays {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent 0px, transparent 20px, rgba(255,255,200,0.08) 20px, rgba(255,255,200,0.08) 22px);
  pointer-events: none;
  animation: atp-rays 10s linear infinite;
}

@keyframes atp-tutt {
  0% { transform: translateX(0) translateY(0) rotate(0deg) scale(1); }
  25% { transform: translateX(3px) translateY(-5px) rotate(5deg) scale(1.05); }
  50% { transform: translateX(0) translateY(0) rotate(0deg) scale(1); }
  75% { transform: translateX(-2px) translateY(-3px) rotate(-3deg) scale(0.98); }
  100% { transform: translateX(0) translateY(0) rotate(0deg) scale(1); }
}
@keyframes atp-jurors {
  0% { transform: translateX(0) translateY(0) rotate(0deg); }
  50% { transform: translateX(4px) translateY(-2px) rotate(3deg); }
  100% { transform: translateX(0) translateY(0) rotate(0deg); }
}
@keyframes atp-door {
  0% { box-shadow: 0 0 30px 10px rgba(255,234,188,0.4); opacity: 0.8; }
  50% { box-shadow: 0 0 60px 20px rgba(255,234,188,0.7); opacity: 1; }
  100% { box-shadow: 0 0 40px 12px rgba(255,234,188,0.5); opacity: 0.9; }
}
@keyframes atp-rays {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.scn-item-eset-camel-ink { background: linear-gradient(180deg, #f0e6d2 0%, #d9c8a9 40%, #e8d8b8 100%), radial-gradient(ellipse at 50% 0%, #fff8e7 0%, transparent 60%); }
.scn-item-eset-camel-ink .building-bg { position:absolute; inset:0; background: linear-gradient(90deg, #c4b49a 0%, #b8a88c 50%, #c4b49a 100%); }
.scn-item-eset-camel-ink .stairwell { position:absolute; inset:10% 20% 10% 20%; background: linear-gradient(180deg, #2a2218 0%, #4a3828 30%, #2a2218 100%); border-radius: 4px; box-shadow: inset 0 0 30px rgba(0,0,0,0.6); }
.scn-item-eset-camel-ink .camel { position:absolute; bottom:40%; left:35%; width:30%; height:40%; background: linear-gradient(135deg, #8a6b4a 0%, #6a4f32 50%, #4a3520 100%); border-radius: 40% 20% 30% 40% / 60% 30% 40% 50%; transform: rotate(15deg); animation: si1-camel 4s ease-in-out infinite; }
.scn-item-eset-camel-ink .rope { position:absolute; bottom:60%; left:45%; width:2%; height:30%; background: #3a2a1a; transform: rotate(-10deg); transform-origin: top center; animation: si1-rope 2s ease-in-out infinite alternate; }
.scn-item-eset-camel-ink .man-a { position:absolute; bottom:55%; left:15%; width:12%; height:25%; background: linear-gradient(180deg, #4a5a6a 0%, #2a3a4a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: si1-pull 3s ease-in-out infinite; }
.scn-item-eset-camel-ink .man-b { position:absolute; bottom:55%; right:15%; width:12%; height:25%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: si1-pull 3s ease-in-out infinite 0.5s; }
.scn-item-eset-camel-ink .window-bright { position:absolute; top:5%; left:10%; width:15%; height:20%; background: radial-gradient(circle, #fff8e0 0%, #f0d8a0 60%, #c4a060 100%); border-radius: 4px; box-shadow: 0 0 40px 10px rgba(240,216,160,0.4); animation: si1-light 6s ease-in-out infinite alternate; }
@keyframes si1-camel { 0%,100% { transform: rotate(15deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-8px); } }
@keyframes si1-rope { 0% { transform: rotate(-10deg) scaleY(1); } 50% { transform: rotate(0deg) scaleY(1.03); } 100% { transform: rotate(5deg) scaleY(1.05); } }
@keyframes si1-pull { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg); } }
@keyframes si1-light { 0% { opacity: 0.8; box-shadow: 0 0 30px 5px rgba(240,216,160,0.3); } 50% { opacity: 1; box-shadow: 0 0 50px 15px rgba(255,240,200,0.5); } 100% { opacity: 0.9; box-shadow: 0 0 40px 10px rgba(240,216,160,0.4); } }

.scn-camel-discovery-alarm { background: linear-gradient(180deg, #0a0a14 0%, #141428 40%, #1a1a30 100%), radial-gradient(ellipse at 50% 30%, #2a2a4a 0%, transparent 70%); }
.scn-camel-discovery-alarm .room-dark { position:absolute; inset:0; background: linear-gradient(180deg, #0a0a14 0%, #141428 100%); }
.scn-camel-discovery-alarm .window-sky { position:absolute; top:5%; left:35%; width:30%; height:25%; background: radial-gradient(ellipse at 50% 100%, #3a4a6a 0%, #0a0a14 70%); border: 2px solid #2a2a3a; border-radius: 4px; overflow: hidden; animation: si2-sky 8s ease-in-out infinite alternate; }
.scn-camel-discovery-alarm .camel-head { position:absolute; top:10%; left:40%; width:20%; height:30%; background: linear-gradient(135deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; box-shadow: 0 0 20px 5px rgba(0,0,0,0.8); animation: si2-camel 3s ease-in-out infinite; }
.scn-camel-discovery-alarm .figure-panic { position:absolute; bottom:15%; left:20%; width:15%; height:40%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: si2-panic 0.5s ease-in-out infinite alternate; }
.scn-camel-discovery-alarm .blood-drop { position:absolute; top:35%; left:48%; width:4px; height:12px; background: #5e1a1d; border-radius: 50%; box-shadow: 0 0 6px 2px rgba(94,26,29,0.6); animation: si2-drip 4s ease-in-out infinite; }
.scn-camel-discovery-alarm .shadow-bars { position:absolute; inset:0; background: repeating-linear-gradient(90deg, transparent 0px, transparent 15px, rgba(0,0,0,0.4) 15px, rgba(0,0,0,0.4) 20px); animation: si2-creep 10s linear infinite; }
@keyframes si2-sky { 0% { opacity: 0.3; } 50% { opacity: 0.6; } 100% { opacity: 0.3; } }
@keyframes si2-camel { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(5px) rotate(2deg); } }
@keyframes si2-panic { 0% { transform: translateX(-3px) rotate(-1deg); } 50% { transform: translateX(0px) rotate(0deg); } 100% { transform: translateX(3px) rotate(1deg); } }
@keyframes si2-drip { 0%,90%,100% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 50% { transform: translateY(20px); opacity: 0.8; } }
@keyframes si2-creep { 0% { transform: translateX(0); } 50% { transform: translateX(-10px); } 100% { transform: translateX(-20px); } }

.scn-camel-court-hearing { background: linear-gradient(180deg, #e8dcca 0%, #d4c4a8 40%, #c4b49a 100%), radial-gradient(ellipse at 50% 0%, #f4ece0 0%, transparent 60%); }
.scn-camel-court-hearing .courtroom-wall { position:absolute; inset:0; background: linear-gradient(90deg, #c4b090 0%, #d4c4a8 50%, #c4b090 100%); }
.scn-camel-court-hearing .judge-bench { position:absolute; top:0; left:20%; width:60%; height:25%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 100%); border-radius: 0 0 10% 10%; box-shadow: 0 8px 20px rgba(0,0,0,0.3); animation: si3-gavel 3s ease-in-out infinite; }
.scn-camel-court-hearing .babu-figure { position:absolute; bottom:10%; left:25%; width:15%; height:35%; background: linear-gradient(180deg, #3a4a5a 0%, #2a3a4a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: si3-shriek 1s ease-in-out infinite; }
.scn-camel-court-hearing .hassoun-figure { position:absolute; bottom:10%; right:25%; width:15%; height:35%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; animation: si3-still 4s ease-in-out infinite; }
.scn-camel-court-hearing .guard { position:absolute; bottom:10%; left:48%; width:10%; height:30%; background: linear-gradient(180deg, #4a5a4a 0%, #2a3a2a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; }
.scn-camel-court-hearing .window-grille { position:absolute; top:5%; right:5%; width:20%; height:30%; background: radial-gradient(circle, #f4ece0 0%, #a09070 70%); border: 4px solid #4a3020; box-shadow: inset 0 0 20px rgba(0,0,0,0.2); animation: si3-light 5s ease-in-out infinite alternate; }
@keyframes si3-shriek { 0%,100% { transform: translateY(0) rotate(-3deg); } 25% { transform: translateY(-10px) rotate(5deg); } 50% { transform: translateY(-5px) rotate(0deg); } 75% { transform: translateY(-10px) rotate(-5deg); } }
@keyframes si3-still { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
@keyframes si3-gavel { 0%,100% { transform: translateY(0); } 10%,50%,90% { transform: translateY(-5px); } 30%,70% { transform: translateY(0); } }
@keyframes si3-light { 0% { box-shadow: inset 0 0 10px rgba(0,0,0,0.2); } 50% { box-shadow: inset 0 0 30px rgba(0,0,0,0.35); } 100% { box-shadow: inset 0 0 40px rgba(0,0,0,0.5); } }

.scn-camel-murder-pepperill { background: linear-gradient(180deg, #f0e6dc 0%, #dcd0c0 50%, #c8b8a0 100%), radial-gradient(ellipse at 50% 30%, #fff4ec 0%, transparent 70%); }
.scn-camel-murder-pepperill .wall-back { position:absolute; inset:0; background: linear-gradient(180deg, #d4c8b8 0%, #b8a88c 100%); }
.scn-camel-murder-pepperill .door { position:absolute; left:10%; top:10%; width:25%; height:90%; background: linear-gradient(90deg, #4a3020 0%, #5a4030 50%, #4a3020 100%); border-radius: 4px; box-shadow: 0 0 30px rgba(0,0,0,0.3); animation: si4-burst 6s ease-in-out infinite; }
.scn-camel-murder-pepperill .figure-burst { position:absolute; left:15%; bottom:15%; width:18%; height:40%; background: linear-gradient(180deg, #3a4a5a 0%, #1a2a3a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: si4-startle 1s ease-in-out infinite alternate; }
.scn-camel-murder-pepperill .tutt-desk { position:absolute; bottom:10%; right:10%; width:40%; height:20%; background: linear-gradient(180deg, #6a4a2a 0%, #4a3020 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.scn-camel-murder-pepperill .window-outside { position:absolute; top:5%; right:5%; width:20%; height:25%; background: radial-gradient(circle, #fff4ec 0%, #c8b8a0 70%); border: 3px solid #4a3020; border-radius: 4px; box-shadow: inset 0 0 20px rgba(0,0,0,0.2); animation: si4-light 4s ease-in-out infinite alternate; }
.scn-camel-murder-pepperill .papers-fly { position:absolute; top:20%; left:40%; width:8%; height:6%; background: #f4ece0; border-radius: 2px; box-shadow: 0 0 10px rgba(0,0,0,0.1); animation: si4-paper 3s ease-in-out infinite; }
@keyframes si4-burst { 0%,100% { transform: rotate(0deg) translateX(0); } 30% { transform: rotate(-15deg) translateX(10px); } 60% { transform: rotate(5deg) translateX(-5px); } }
@keyframes si4-startle { 0% { transform: translateX(0) rotate(0deg) scale(1); } 50% { transform: translateX(7px) rotate(3deg) scale(1.03); } 100% { transform: translateX(15px) rotate(5deg) scale(1.05); } }
@keyframes si4-light { 0% { opacity: 0.6; } 50% { opacity: 0.8; } 100% { opacity: 1; } }
@keyframes si4-paper { 0%,100% { transform: translate(0, 0) rotate(0deg); } 25% { transform: translate(20px, -15px) rotate(45deg); } 50% { transform: translate(40px, -10px) rotate(90deg); } 75% { transform: translate(60px, -20px) rotate(135deg); } }

/* Scene 1: pepperill-refuses-plea */
.scn-pepperill-refuses-plea {
  background: 
    linear-gradient(180deg, #f5e6d0 0%, #d4c4a8 40%, #b8a88c 100%),
    radial-gradient(ellipse at 70% 30%, rgba(255, 240, 200, 0.4) 0%, transparent 60%);
}
.scn-pepperill-refuses-plea .wall {
  position: absolute; inset: 0 0 45% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 100%);
  animation: pep-wall 12s ease-in-out infinite alternate;
}
.scn-pepperill-refuses-plea .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, #b8a88c 0%, #9a8a70 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.2);
}
.scn-pepperill-refuses-plea .bench {
  position: absolute; bottom: 50%; left: 20%; width: 30%; height: 12%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
  animation: pep-bench 15s ease-in-out infinite;
}
.scn-pepperill-refuses-plea .prosecutor-table {
  position: absolute; bottom: 30%; left: 10%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4a2a 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: pep-table 12s ease-in-out infinite alternate;
}
.scn-pepperill-refuses-plea .defense-table {
  position: absolute; bottom: 30%; right: 10%; width: 20%; height: 10%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4a2a 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: pep-table 14s ease-in-out infinite alternate-reverse;
}
.scn-pepperill-refuses-plea .prosecutor-figure {
  position: absolute; bottom: 38%; left: 17%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pep-figure 8s ease-in-out infinite;
}
.scn-pepperill-refuses-plea .defense-figure {
  position: absolute; bottom: 38%; right: 17%; width: 12%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: pep-figure 10s ease-in-out infinite reverse;
}
.scn-pepperill-refuses-plea .gavel {
  position: absolute; bottom: 52%; left: 34%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform-origin: 50% 90%;
  animation: pep-gavel 2s ease-in-out infinite;
}
.scn-pepperill-refuses-plea .light-beam {
  position: absolute; top: 0; left: 30%; width: 40%; height: 70%;
  background: linear-gradient(180deg, rgba(255,255,220,0.3) 0%, transparent 100%);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  animation: pep-light 7s ease-in-out infinite alternate;
}
@keyframes pep-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes pep-bench { 0% { transform: scale(1); } 50% { transform: scale(0.98) translateY(-2px); } 100% { transform: scale(1); } }
@keyframes pep-table { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes pep-figure { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(1deg) scale(1.01); } 50% { transform: rotate(-1deg) scale(0.99); } 75% { transform: rotate(0.5deg) scale(1); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes pep-gavel { 0% { transform: rotate(-10deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(-5deg); } 75% { transform: rotate(8deg); } 100% { transform: rotate(-10deg); } }
@keyframes pep-light { 0% { opacity: 0.3; } 50% { opacity: 0.7; } 100% { opacity: 0.4; } }

/* Scene 2: witnesses-testify-hassoun */
.scn-witnesses-testify-hassoun {
  background: 
    linear-gradient(180deg, #e2d6c0 0%, #c4b8a0 40%, #a89c84 100%),
    radial-gradient(ellipse at 60% 20%, rgba(255,240,210,0.5) 0%, transparent 60%);
}
.scn-witnesses-testify-hassoun .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #d8ccb8 0%, #bba890 100%);
  animation: wit-wall 10s ease-in-out infinite alternate;
}
.scn-witnesses-testify-hassoun .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #a89c84 0%, #8a7e68 100%);
  border-radius: 30% 30% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 20px rgba(0,0,0,0.15);
}
.scn-witnesses-testify-hassoun .judge-bench {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%); width: 25%; height: 15%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: wit-bench 14s ease-in-out infinite;
}
.scn-witnesses-testify-hassoun .witness-stand {
  position: absolute; bottom: 35%; left: 30%; width: 10%; height: 20%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: wit-stand 12s ease-in-out infinite alternate;
}
.scn-witnesses-testify-hassoun .witness-figure {
  position: absolute; bottom: 50%; left: 32%; width: 8%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: wit-figure 9s ease-in-out infinite;
}
.scn-witnesses-testify-hassoun .prosecutor-table {
  position: absolute; bottom: 28%; left: 10%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4a2a 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: wit-table 11s ease-in-out infinite alternate;
}
.scn-witnesses-testify-hassoun .defense-table {
  position: absolute; bottom: 28%; right: 10%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4a2a 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: wit-table 13s ease-in-out infinite alternate-reverse;
}
.scn-witnesses-testify-hassoun .jury-box {
  position: absolute; bottom: 35%; left: 60%; width: 30%; height: 18%;
  background: linear-gradient(180deg, #9a8a6a 0%, #6a5a3a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.2);
  animation: wit-jury 20s ease-in-out infinite;
}
.scn-witnesses-testify-hassoun .document {
  position: absolute; bottom: 30%; left: 15%; width: 6%; height: 4%;
  background: #e8dcc8;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: wit-doc 5s ease-in-out infinite alternate;
}
@keyframes wit-wall { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.9; } }
@keyframes wit-bench { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(0.98); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes wit-stand { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes wit-figure { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(1deg) scale(1.01); } 50% { transform: rotate(-1deg) scale(0.99); } 75% { transform: rotate(0.5deg) scale(1); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes wit-table { 0% { transform: translateY(0); } 50% { transform: translateY(-1px); } 100% { transform: translateY(0); } }
@keyframes wit-jury { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes wit-doc { 0% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(-2deg); } }

/* Scene 3: kahoots-cross-examined */
.scn-kahoots-cross-examined {
  background: 
    linear-gradient(180deg, #f0e6d0 0%, #daceb0 40%, #bca88a 100%),
    radial-gradient(ellipse at 50% 30%, rgba(255,235,180,0.6) 0%, transparent 60%);
}
.scn-kahoots-cross-examined .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 100%);
  animation: kah-wall 10s ease-in-out infinite alternate;
}
.scn-kahoots-cross-examined .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #c8b8a0 0%, #a89c84 100%);
  border-radius: 20% 20% 0 0 / 15% 15% 0 0;
  box-shadow: inset 0 10px 30px rgba(0,0,0,0.1);
}
.scn-kahoots-cross-examined .judge-figure {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%); width: 15%; height: 25%;
  background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #2a2a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  animation: kah-judge 7s ease-in-out infinite;
}
.scn-kahoots-cross-examined .witness-stand {
  position: absolute; bottom: 35%; left: 25%; width: 10%; height: 18%;
  background: linear-gradient(180deg, #7a5a3a 0%, #4a3a1a 100%);
  border-radius: 10% 10% 5% 5%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: kah-stand 12s ease-in-out infinite alternate;
}
.scn-kahoots-cross-examined .kahoots-figure {
  position: absolute; bottom: 50%; left: 27%; width: 8%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, #2a1a0a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: kah-figure 3s ease-in-out infinite;
}
.scn-kahoots-cross-examined .defense-table {
  position: absolute; bottom: 28%; right: 10%; width: 18%; height: 8%;
  background: linear-gradient(180deg, #8a6a4a 0%, #5a4a2a 100%);
  border-radius: 6% 6% 3% 3%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  animation: kah-table 14s ease-in-out infinite alternate-reverse;
}
.scn-kahoots-cross-examined .tutt-figure {
  position: absolute; bottom: 34%; right: 15%; width: 10%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: kah-tutt 9s ease-in-out infinite;
}
.scn-kahoots-cross-examined .jury-figure {
  position: absolute; bottom: 35%; left: 60%; width: 12%; height: 16%;
  background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: kah-jury 11s ease-in-out infinite alternate;
}
.scn-kahoots-cross-examined .motion-line {
  position: absolute; bottom: 50%; left: 35%; width: 15%; height: 2%;
  background: linear-gradient(90deg, transparent, #ffd060, transparent);
  filter: blur(2px);
  animation: kah-motion 2s ease-in-out infinite;
}
@keyframes kah-wall { 0% { opacity: 0.95; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes kah-judge { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(2deg); } 50% { transform: translateX(-50%) rotate(-1deg); } 75% { transform: translateX(-50%) rotate(1deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes kah-stand { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes kah-figure { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(5deg) scale(1.05); } 50% { transform: rotate(-5deg) scale(0.95); } 75% { transform: rotate(3deg) scale(1.02); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes kah-tutt { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes kah-jury { 0% { transform: scale(1); } 50% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes kah-motion { 0% { opacity: 0; transform: translateX(-10px); } 50% { opacity: 0.8; transform: translateX(0); } 100% { opacity: 0; transform: translateX(10px); } }

/* Scene 4: hung-juries-restaurant */
.scn-hung-juries-restaurant {
  background: 
    linear-gradient(180deg, #eedcc4 0%, #d4c4a8 40%, #b8a88c 100%),
    radial-gradient(ellipse at 40% 40%, rgba(255,220,170,0.5) 0%, transparent 70%);
}
.scn-hung-juries-restaurant .wall {
  position: absolute; inset: 0 0 40% 0;
  background: linear-gradient(180deg, #e8dcc8 0%, #c8b8a0 100%);
  animation: jur-wall 14s ease-in-out infinite alternate;
}
.scn-hung-juries-restaurant .floor {
  position: absolute; bottom: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg, #b8a88c 0%, #9a8a70 100%);
  border-radius: 25% 25% 0 0 / 20% 20% 0 0;
  box-shadow: inset 0 8px 25px rgba(0,0,0,0.1);
}
.scn-hung-juries-restaurant .judge-bench {
  position: absolute; bottom: 45%; left: 50%; transform: translateX(-50%); width: 28%; height: 14%;
  background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%);
  border-radius: 8% 8% 4% 4%;
  box-shadow: 0 6px 12px rgba(0,0,0,0.4);
  animation: jur-bench 16s ease-in-out infinite;
}
.scn-hung-juries-restaurant .jury-standing {
  position: absolute; bottom: 40%; left: 65%; width: 8%; height: 20%;
  background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  transform-origin: bottom center;
  animation: jur-stand 4s ease-in-out infinite;
}
.scn-hung-juries-restaurant .jury-sitting {
  position: absolute; bottom: 40%; left: 58%; width: 8%; height: 16%;
  background: radial-gradient(ellipse at 50% 30%, #3a3a2a 0%, #1a1a1a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jur-sit 12s ease-in-out infinite alternate;
}
.scn-hung-juries-restaurant .prosecutor-figure {
  position: absolute; bottom: 38%; left: 12%; width: 10%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jur-pros 9s ease-in-out infinite;
}
.scn-hung-juries-restaurant .defense-figure {
  position: absolute; bottom: 38%; right: 12%; width: 10%; height: 18%;
  background: radial-gradient(ellipse at 50% 30%, #2a2a3a 0%, #1a1a2a 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  animation: jur-def 11s ease-in-out infinite;
}
.scn-hung-juries-restaurant .plate {
  position: absolute; bottom: 30%; left: 45%; width: 6%; height: 3%;
  background: radial-gradient(circle, #e8dcc8 0%, #c8b8a0 100%);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  animation: jur-plate 6s ease-in-out infinite alternate;
}
.scn-hung-juries-restaurant .gavel {
  position: absolute; bottom: 52%; left: 40%; width: 4%; height: 6%;
  background: linear-gradient(180deg, #5a3a2a 0%, #3a2a1a 100%);
  border-radius: 20% 20% 10% 10%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.5);
  transform-origin: 50% 90%;
  animation: jur-gavel 2.5s ease-in-out infinite;
}
@keyframes jur-wall { 0% { opacity: 0.9; } 50% { opacity: 1; } 100% { opacity: 0.85; } }
@keyframes jur-bench { 0% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(0.98); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes jur-stand { 0% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(3deg) scale(1.05); } 50% { transform: rotate(-2deg) scale(0.95); } 75% { transform: rotate(2deg) scale(1.02); } 100% { transform: rotate(0deg) scale(1); } }
@keyframes jur-sit { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes jur-pros { 0% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } 100% { transform: rotate(0deg); } }
@keyframes jur-def { 0% { transform: rotate(0deg); } 50% { transform: rotate(-2deg); } 100% { transform: rotate(0deg); } }
@keyframes jur-plate { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes jur-gavel { 0% { transform: rotate(-15deg); } 25% { transform: rotate(15deg); } 50% { transform: rotate(-10deg); } 75% { transform: rotate(10deg); } 100% { transform: rotate(-15deg); } }

.scn-habeas-corpus-discharge { background: linear-gradient(180deg, #f5e6c8 0%, #e3d3b0 50%, #c9b594 100%), radial-gradient(ellipse at 50% 0, #ffffff80 0%, transparent 70%); }
.scn-habeas-corpus-discharge .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f5e6c8 0%, #e3d3b0 100%); }
.scn-habeas-corpus-discharge .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #8b7355 0%, #6b5a45 100%); }
.scn-habeas-corpus-discharge .bench { position:absolute; bottom:30%; left:10%; width:80%; height:8%; background: linear-gradient(180deg, #5c3a1e 0%, #3d2a14 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); animation: hcd-bench 6s ease-in-out infinite; }
.scn-habeas-corpus-discharge .judge { position:absolute; bottom:38%; left:15%; width:15%; height:20%; background: radial-gradient(ellipse at 50% 30%, #6a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 10% 10% / 60% 60% 20% 20%; animation: hcd-judge 8s ease-in-out infinite; }
.scn-habeas-corpus-discharge .tutt { position:absolute; bottom:38%; left:50%; width:12%; height:25%; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius: 30% 30% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: hcd-tutt 4s ease-in-out infinite alternate; }
.scn-habeas-corpus-discharge .babson { position:absolute; bottom:38%; left:70%; width:12%; height:22%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; animation: hcd-babson 5s ease-in-out infinite; }
.scn-habeas-corpus-discharge .beekman { position:absolute; bottom:35%; left:35%; width:8%; height:15%; background: linear-gradient(180deg, #7a6a5a 0%, #4a3a2a 100%); border-radius: 50% 50% 30% 30% / 70% 70% 30% 30%; animation: hcd-beekman 7s ease-in-out infinite; }
.scn-habeas-corpus-discharge .press { position:absolute; bottom:38%; left:85%; width:10%; height:10%; background: #d0c0a0; border-radius: 4px; box-shadow: 2px 2px 0 #a09070; animation: hcd-press 3s ease-in-out infinite; }
.scn-habeas-corpus-discharge .writ { position:absolute; bottom:45%; left:55%; width:6%; height:8%; background: #f0e0c0; border:1px solid #8a7a5a; transform: rotate(-15deg); animation: hcd-writ 2s ease-in-out infinite alternate; }
@keyframes hcd-bench { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }
@keyframes hcd-judge { 0% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } 100% { transform: rotate(-2deg); } }
@keyframes hcd-tutt { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(10px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes hcd-babson { 0% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } 100% { transform: rotate(-4deg); } }
@keyframes hcd-beekman { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.05); } 100% { transform: translateY(0) scale(1); } }
@keyframes hcd-press { 0% { transform: scaleY(1); } 50% { transform: scaleY(1.2); } 100% { transform: scaleY(1); } }
@keyframes hcd-writ { 0% { transform: rotate(-15deg) translateY(0); } 100% { transform: rotate(-15deg) translateY(-5px); } }

.scn-higgleby-bigamy-admission { background: linear-gradient(180deg, #f0e0c8 0%, #d8c8a8 50%, #b8a888 100%), radial-gradient(ellipse at 50% 0, #fffff0 0%, transparent 70%); }
.scn-higgleby-bigamy-admission .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #f0e0c8 0%, #d8c8a8 100%); }
.scn-higgleby-bigamy-admission .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #7a6a4a 0%, #5a4a3a 100%); }
.scn-higgleby-bigamy-admission .desk { position:absolute; bottom:35%; left:10%; width:80%; height:10%; background: linear-gradient(180deg, #5c3a1e 0%, #3d2a14 100%); border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,.3); }
.scn-higgleby-bigamy-admission .tutt-chair { position:absolute; bottom:40%; left:55%; width:14%; height:18%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 50% 50% 20% 20% / 70% 70% 20% 20%; animation: hba-tutt 5s ease-in-out infinite; }
.scn-higgleby-bigamy-admission .tutt { position:absolute; bottom:45%; left:58%; width:10%; height:20%; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius: 40% 40% 20% 20% / 60% 60% 30% 30%; transform-origin: bottom center; animation: hba-tutt-move 4s ease-in-out infinite; }
.scn-higgleby-bigamy-admission .higgleby { position:absolute; bottom:40%; left:25%; width:0; height:0; border-left: 25px solid transparent; border-right: 25px solid transparent; border-bottom: 40px solid #8a7a6a; animation: hba-higgleby 3s ease-in-out infinite; transform-origin: center; }
.scn-higgleby-bigamy-admission .clock { position:absolute; top:10%; right:10%; width:8%; height:12%; border-radius: 50%; background: radial-gradient(circle, #f0e0a0 0%, #c0b080 100%); border: 2px solid #8a7a5a; animation: hba-clock 60s linear infinite; }
@keyframes hba-tutt { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes hba-tutt-move { 0% { transform: translateX(0) rotate(-2deg); } 50% { transform: translateX(5px) rotate(2deg); } 100% { transform: translateX(0) rotate(-1deg); } }
@keyframes hba-higgleby { 0% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(10deg) scale(1.1); } 100% { transform: rotate(-10deg) scale(1); } }
@keyframes hba-clock { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.scn-item-bigamy-indictment { background: linear-gradient(180deg, #e8d8c0 0%, #d0c0a0 50%, #b0a080 100%), radial-gradient(ellipse at 50% 0, #ffffff80 0%, transparent 70%); }
.scn-item-bigamy-indictment .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #e8d8c0 0%, #d0c0a0 100%); }
.scn-item-bigamy-indictment .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #6a5a4a 0%, #4a3a2a 100%); }
.scn-item-bigamy-indictment .desk { position:absolute; bottom:35%; left:5%; width:90%; height:12%; background: linear-gradient(180deg, #5c3a1e 0%, #3d2a14 100%); border-radius: 4px; box-shadow: 0 6px 12px rgba(0,0,0,.3); }
.scn-item-bigamy-indictment .magnus { position:absolute; bottom:40%; left:40%; width:15%; height:25%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: ibi-magnus 6s ease-in-out infinite; }
.scn-item-bigamy-indictment .scrolls { position:absolute; bottom:38%; left:60%; width:20%; height:15%; background: linear-gradient(180deg, #f0e0c0 0%, #c0b080 100%); border-radius: 10px; box-shadow: 2px 2px 4px rgba(0,0,0,.2); animation: ibi-scrolls 8s ease-in-out infinite; }
.scn-item-bigamy-indictment .lasso-string { position:absolute; bottom:50%; left:30%; width:2%; height:20%; background: #8a7a5a; transform: rotate(30deg); border-radius: 1px; animation: ibi-lasso 4s ease-in-out infinite; transform-origin: top center; }
.scn-item-bigamy-indictment .inkwell { position:absolute; bottom:42%; left:50%; width:4%; height:6%; background: #2a2a4a; border-radius: 50%; box-shadow: 0 0 4px rgba(0,0,0,.5); animation: ibi-ink 3s ease-in-out infinite; }
@keyframes ibi-magnus { 0% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5px) rotate(3deg); } 100% { transform: translateY(0) rotate(-2deg); } }
@keyframes ibi-scrolls { 0% { transform: scaleY(1) translateY(0); } 50% { transform: scaleY(1.2) translateY(-5px); } 100% { transform: scaleY(1) translateY(0); } }
@keyframes ibi-lasso { 0% { transform: rotate(30deg) scaleX(1); } 50% { transform: rotate(60deg) scaleX(0.8); } 100% { transform: rotate(30deg) scaleX(1); } }
@keyframes ibi-ink { 0% { transform: translateY(0); } 50% { transform: translateY(-2px); } 100% { transform: translateY(0); } }

.scn-peckham-deadlocks-magnus { background: linear-gradient(180deg, #c0b0a0 0%, #a09080 50%, #807060 100%), radial-gradient(ellipse at 50% 0, #ffffff70 0%, transparent 70%); }
.scn-peckham-deadlocks-magnus .bg-wall { position:absolute; inset:0 0 30% 0; background: linear-gradient(180deg, #c0b0a0 0%, #a09080 100%); }
.scn-peckham-deadlocks-magnus .bg-floor { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); }
.scn-peckham-deadlocks-magnus .desk { position:absolute; bottom:35%; left:5%; width:90%; height:12%; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a0a 100%); border-radius: 4px; box-shadow: 0 8px 16px rgba(0,0,0,.5); }
.scn-peckham-deadlocks-magnus .peckham { position:absolute; bottom:40%; left:20%; width:15%; height:25%; background: linear-gradient(180deg, #2a2a3a 0%, #0a0a1a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pdm-peckham 3s ease-in-out infinite alternate; }
.scn-peckham-deadlocks-magnus .magnus { position:absolute; bottom:40%; right:20%; width:14%; height:24%; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius: 40% 40% 20% 20% / 50% 50% 30% 30%; transform-origin: bottom center; animation: pdm-magnus 3.5s ease-in-out infinite alternate; }
.scn-peckham-deadlocks-magnus .papers { position:absolute; bottom:38%; left:45%; width:10%; height:8%; background: #f0e0c0; border-radius: 2px; box-shadow: 2px 2px 0 #a09080, 4px 4px 0 #c0b0a0; animation: pdm-papers 0.8s ease-in-out infinite; }
.scn-peckham-deadlocks-magnus .shadow { position:absolute; inset:0; background: rgba(0,0,0,0.1); animation: pdm-shadow 10s ease-in-out infinite alternate; }
@keyframes pdm-peckham { 0% { transform: translateX(0) rotate(-5deg); } 50% { transform: translateX(10px) rotate(5deg); } 100% { transform: translateX(0) rotate(-3deg); } }
@keyframes pdm-magnus { 0% { transform: translateX(0) rotate(5deg); } 50% { transform: translateX(-10px) rotate(-5deg); } 100% { transform: translateX(0) rotate(3deg); } }
@keyframes pdm-papers { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-4px) rotate(5deg); } 50% { transform: translateY(0) rotate(-3deg); } 75% { transform: translateY(-2px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes pdm-shadow { 0% { opacity: 0.1; } 50% { opacity: 0.4; } 100% { opacity: 0.1; } }

.scn-item-revolver-babu { background: linear-gradient(180deg, #1a1512 0%, #2a2018 40%, #3a2a1a 100%), radial-gradient(ellipse at 50% 30%, #4a3a2a 0%, transparent 70%); }
.scn-item-revolver-babu .rev-bg-walls { position:absolute; inset:0 0 20% 0; background: linear-gradient(180deg, #2a1a10 0%, #1a1008 50%, #2a1a10 100%); border-bottom:2px solid #3a2a1a; animation:rev-walls 12s ease-in-out infinite alternate; }
.scn-item-revolver-babu .rev-bg-counter { position:absolute; bottom:20%; left:0; right:0; height:15%; background: linear-gradient(180deg, #3a2a1a 0%, #2a1a10 100%); border-radius:4px; box-shadow:inset 0 4px 8px rgba(0,0,0,.5); }
.scn-item-revolver-babu .rev-table { position:absolute; bottom:10%; left:20%; width:60%; height:12%; background: linear-gradient(180deg, #4a3a28 0%, #3a2a18 100%); border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.6); transform-origin:center; animation:rev-table 8s ease-in-out infinite; }
.scn-item-revolver-babu .rev-revolver { position:absolute; bottom:14%; left:45%; width:50px; height:10px; background: linear-gradient(90deg, #1a1a1a 0%, #2a2a2a 30%, #1a1a1a 100%); border-radius:40% 10% 10% 40%; box-shadow:0 2px 6px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.05); transform:rotate(-15deg); animation:rev-gun 5s ease-in-out infinite alternate; }
.scn-item-revolver-babu .rev-boy { position:absolute; bottom:10%; left:28%; width:24px; height:42px; background: linear-gradient(180deg, #1a2a2a 0%, #0a1a1a 80%); border-radius:50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin:bottom center; animation:rev-boy 6s ease-in-out infinite; }
.scn-item-revolver-babu .rev-lamp { position:absolute; bottom:35%; left:55%; width:16px; height:24px; background: radial-gradient(ellipse at 50% 20%, #c08040 0%, #8a6030 60%, #4a3a20 100%); border-radius:20% 20% 30% 30%; box-shadow:0 0 20px 8px #8a6030, 0 0 40px 12px rgba(138,96,48,.3); animation:rev-lamp 4s ease-in-out infinite alternate; }
.scn-item-revolver-babu .rev-shadow { position:absolute; bottom:0; left:0; right:0; height:40%; background: linear-gradient(0deg, rgba(0,0,0,.6) 0%, transparent 100%); pointer-events:none; animation:rev-shadow-pulse 8s ease-in-out infinite alternate; }
.scn-item-revolver-babu .rev-ambient { position:absolute; inset:0; background: radial-gradient(ellipse at 55% 35%, rgba(138,96,48,.08) 0%, transparent 60%); pointer-events:none; animation:rev-ambient 6s ease-in-out infinite alternate; }
@keyframes rev-walls { 0%{opacity:.8} 50%{opacity:.95} 100%{opacity:.7} }
@keyframes rev-table { 0%{transform:translateY(0)} 50%{transform:translateY(-2px)} 100%{transform:translateY(0)} }
@keyframes rev-gun { 0%{transform:rotate(-15deg) translateX(0)} 50%{transform:rotate(-12deg) translateX(2px)} 100%{transform:rotate(-15deg) translateX(0)} }
@keyframes rev-boy { 0%{transform:translateX(0) translateY(0)} 25%{transform:translateX(3px) translateY(-1px)} 50%{transform:translateX(0) translateY(0)} 75%{transform:translateX(-3px) translateY(-1px)} 100%{transform:translateX(0) translateY(0)} }
@keyframes rev-lamp { 0%{box-shadow:0 0 16px 6px #8a6030, 0 0 32px 10px rgba(138,96,48,.3);opacity:.85} 50%{box-shadow:0 0 24px 10px #c08040, 0 0 48px 16px rgba(192,128,64,.4);opacity:1} 100%{box-shadow:0 0 18px 7px #8a6030, 0 0 36px 12px rgba(138,96,48,.3);opacity:.9} }
@keyframes rev-shadow-pulse { 0%{opacity:.4} 50%{opacity:.7} 100%{opacity:.4} }
@keyframes rev-ambient { 0%{opacity:.3} 50%{opacity:.6} 100%{opacity:.3} }

.scn-beekman-shane-mcgurk { background: linear-gradient(180deg, #c8b898 0%, #a89070 50%, #8a7860 100%), radial-gradient(ellipse at 50% 0%, #e8d8b8 0%, transparent 60%); }
.scn-beekman-shane-mcgurk .bee-wall { position:absolute; inset:0 0 15% 0; background: linear-gradient(180deg, #d8c8a8 0%, #c0b090 60%, #a89880 100%); border-bottom:2px solid #8a7860; }
.scn-beekman-shane-mcgurk .bee-window { position:absolute; top:8%; left:65%; width:50px; height:60px; background: linear-gradient(180deg, #f0e8d0 0%, #d8d0b8 100%); border:4px solid #6a5a48; border-radius:4px; box-shadow:inset 0 0 20px #fff8e0, 0 0 30px 10px rgba(255,248,224,.3); animation:bee-light 6s ease-in-out infinite alternate; }
.scn-beekman-shane-mcgurk .bee-figure-a { position:absolute; bottom:15%; left:30%; width:28px; height:56px; background: linear-gradient(180deg, #3a3a5a 0%, #1a1a3a 100%); border-radius:50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin:bottom center; animation:bee-fig-a 5s ease-in-out infinite; }
.scn-beekman-shane-mcgurk .bee-figure-b { position:absolute; bottom:15%; left:52%; width:30px; height:58px; background: linear-gradient(180deg, #2a3a2a 0%, #0a1a0a 100%); border-radius:50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin:bottom center; animation:bee-fig-b 5s ease-in-out infinite 1s; }
.scn-beekman-shane-mcgurk .bee-table { position:absolute; bottom:15%; left:35%; width:40%; height:8%; background: linear-gradient(180deg, #6a5a48 0%, #5a4a38 100%); border-radius:6px; box-shadow:0 3px 8px rgba(0,0,0,.3); }
.scn-beekman-shane-mcgurk .bee-chair { position:absolute; bottom:15%; left:22%; width:20px; height:30px; background: linear-gradient(180deg, #5a4a38 0%, #4a3a28 100%); border-radius:10% 10% 20% 20%; box-shadow:0 2px 4px rgba(0,0,0,.3); animation:bee-chair 7s ease-in-out infinite; }
.scn-beekman-shane-mcgurk .bee-shadow { position:absolute; bottom:0; left:0; right:0; height:30%; background: linear-gradient(0deg, rgba(0,0,0,.15) 0%, transparent 100%); pointer-events:none; animation:bee-shadow-drift 10s ease-in-out infinite alternate; }
@keyframes bee-light { 0%{opacity:.8;box-shadow:inset 0 0 15px #fff8e0, 0 0 20px 6px rgba(255,248,224,.2)} 50%{opacity:1;box-shadow:inset 0 0 30px #fff8e0, 0 0 40px 12px rgba(255,248,224,.4)} 100%{opacity:.9;box-shadow:inset 0 0 20px #fff8e0, 0 0 30px 8px rgba(255,248,224,.3)} }
@keyframes bee-fig-a { 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 bee-fig-b { 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 bee-chair { 0%{transform:translateY(0)} 50%{transform:translateY(-1px)} 100%{transform:translateY(0)} }
@keyframes bee-shadow-drift { 0%{opacity:.3} 50%{opacity:.5} 100%{opacity:.3} }

.scn-unwritten-law-debate { background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 40%, #0a0a1a 100%), radial-gradient(ellipse at 50% 50%, #3a3a4a 0%, transparent 70%); }
.scn-unwritten-law-debate .deb-wall { position:absolute; inset:0 0 10% 0; background: linear-gradient(180deg, #1a1a2a 0%, #2a2a3a 30%, #1a1a2a 100%); border-bottom:2px solid #3a3a4a; }
.scn-unwritten-law-debate .deb-bars { position:absolute; inset:0 0 10% 0; background: repeating-linear-gradient(0deg, #4a4a5a 0px, #4a4a5a 4px, transparent 4px, transparent 20px); opacity:.8; animation:deb-bars 8s ease-in-out infinite alternate; }
.scn-unwritten-law-debate .deb-prisoner { position:absolute; bottom:12%; left:35%; width:26px; height:52px; background: linear-gradient(180deg, #3a3a4a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin:bottom center; animation:deb-prisoner 6s ease-in-out infinite; }
.scn-unwritten-law-debate .deb-visitor { position:absolute; bottom:12%; left:55%; width:28px; height:54px; background: linear-gradient(180deg, #4a3a3a 0%, #2a1a1a 100%); border-radius:50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin:bottom center; animation:deb-visitor 6s ease-in-out infinite 1s; }
.scn-unwritten-law-debate .deb-beam { position:absolute; top:5%; left:40%; width:60px; height:85%; background: linear-gradient(180deg, rgba(200,190,170,.08) 0%, rgba(200,190,170,.02) 100%); transform:skewX(-5deg); filter:blur(4px); animation:deb-beam 9s ease-in-out infinite alternate; }
.scn-unwritten-law-debate .deb-floor { position:absolute; bottom:0; left:0; right:0; height:12%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); box-shadow:inset 0 4px 8px rgba(0,0,0,.5); }
.scn-unwritten-law-debate .deb-dust { position:absolute; top:15%; left:25%; width:8px; height:8px; background: rgba(220,210,200,.3); border-radius:50%; filter:blur(2px); animation:deb-dust 15s linear infinite; }
@keyframes deb-bars { 0%{opacity:.6} 50%{opacity:.9} 100%{opacity:.7} }
@keyframes deb-prisoner { 0%{transform:translateX(0) translateY(0)} 25%{transform:translateX(1px) translateY(-1px)} 50%{transform:translateX(0) translateY(0)} 75%{transform:translateX(-1px) translateY(-1px)} 100%{transform:translateX(0) translateY(0)} }
@keyframes deb-visitor { 0%{transform:translateX(0) translateY(0)} 25%{transform:translateX(-1px) translateY(-1px)} 50%{transform:translateX(0) translateY(0)} 75%{transform:translateX(1px) translateY(-1px)} 100%{transform:translateX(0) translateY(0)} }
@keyframes deb-beam { 0%{opacity:.3;transform:skewX(-5deg) translateX(-2px)} 50%{opacity:.6;transform:skewX(-5deg) translateX(2px)} 100%{opacity:.3;transform:skewX(-5deg) translateX(-2px)} }
@keyframes deb-dust { 0%{transform:translate(0, 0);opacity:.3} 50%{transform:translate(10px, -20px);opacity:.6} 100%{transform:translate(20px, -40px);opacity:0} }

.scn-beekman-oconnell-talk { background: linear-gradient(180deg, #0a0a14 0%, #141428 40%, #1a1a30 100%), radial-gradient(ellipse at 50% 70%, #1a1a30 0%, transparent 60%); }
.scn-beekman-oconnell-talk .oco-wall { position:absolute; inset:0 0 8% 0; background: linear-gradient(180deg, #0a0a14 0%, #141428 60%, #0a0a14 100%); border-bottom:2px solid #1a1a30; }
.scn-beekman-oconnell-talk .oco-figure-back { position:absolute; bottom:10%; left:38%; width:30px; height:56px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius:40% 40% 35% 35% / 55% 55% 30% 30%; transform-origin:bottom center; opacity:.8; animation:oco-back 7s ease-in-out infinite; }
.scn-beekman-oconnell-talk .oco-figure-front { position:absolute; bottom:10%; left:52%; width:34px; height:60px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:50% 50% 40% 40% / 60% 60% 35% 35%; transform-origin:bottom center; animation:oco-front 5s ease-in-out infinite; }
.scn-beekman-oconnell-talk .oco-window { position:absolute; top:6%; right:15%; width:28px; height:16px; background: linear-gradient(180deg, #2a3a4a 0%, #1a2a3a 100%); border:3px solid #3a3a4a; border-radius:2px; box-shadow:inset 0 0 12px rgba(40,60,80,.3), 0 0 16px 4px rgba(40,60,80,.1); animation:oco-window 8s ease-in-out infinite alternate; }
.scn-beekman-oconnell-talk .oco-bench { position:absolute; bottom:10%; left:20%; width:18%; height:6%; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius:4px; box-shadow:0 2px 4px rgba(0,0,0,.4); }
.scn-beekman-oconnell-talk .oco-door { position:absolute; top:2%; left:8%; width:12%; height:90%; background: linear-gradient(180deg, #1a1a28 0%, #0a0a18 100%); border-right:2px solid #2a2a3a; box-shadow:inset -4px 0 8px rgba(0,0,0,.3); }
.scn-beekman-oconnell-talk .oco-shadow { position:absolute; bottom:0; left:0; right:0; height:35%; background: linear-gradient(0deg, rgba(0,0,0,.5) 0%, transparent 100%); pointer-events:none; animation:oco-shadow-pulse 9s ease-in-out infinite alternate; }
.scn-beekman-oconnell-talk .oco-glow { position:absolute; top:6%; right:15%; width:28px; height:16px; background: radial-gradient(ellipse, rgba(60,80,100,.15) 0%, transparent 70%); filter:blur(6px); animation:oco-glow 8s ease-in-out infinite alternate; }
@keyframes oco-back { 0%{transform:translateX(0) rotate(0deg)} 30%{transform:translateX(1px) rotate(1deg)} 60%{transform:translateX(0) rotate(0deg)} 100%{transform:translateX(-1px) rotate(-1deg)} }
@keyframes oco-front { 0%{transform:translateX(0) translateY(0)} 25%{transform:translateX(-1px) translateY(-1px)} 50%{transform:translateX(0) translateY(0)} 75%{transform:translateX(1px) translateY(-1px)} 100%{transform:translateX(0) translateY(0)} }
@keyframes oco-window { 0%{opacity:.5;box-shadow:inset 0 0 8px rgba(40,60,80,.2), 0 0 12px 2px rgba(40,60,80,.05)} 50%{opacity:.8;box-shadow:inset 0 0 16px rgba(40,60,80,.4), 0 0 20px 6px rgba(40,60,80,.15)} 100%{opacity:.6;box-shadow:inset 0 0 10px rgba(40,60,80,.3), 0 0 14px 3px rgba(40,60,80,.08)} }
@keyframes oco-shadow-pulse { 0%{opacity:.4} 50%{opacity:.6} 100%{opacity:.4} }
@keyframes oco-glow { 0%{opacity:.3} 50%{opacity:.6} 100%{opacity:.3} }

.scn-summons-debate-tutt { background: linear-gradient(180deg, #fdfbf7 0%, #d4b896 100%), radial-gradient(ellipse at 70% 30%, rgba(255,255,255,0.8) 0%, transparent 60%); }
.scn-summons-debate-tutt .wall-sdt { position:absolute; inset:0; background: linear-gradient(90deg, #e8dccc 0%, #fdfbf7 50%, #e8dccc 100%); }
.scn-summons-debate-tutt .blinds-sdt { position:absolute; inset:0; background: repeating-linear-gradient(0deg, transparent 0px, transparent 8px, rgba(0,0,0,0.08) 8px, rgba(0,0,0,0.25) 10px); animation: blinds-move-sdt 6s ease-in-out infinite alternate; }
.scn-summons-debate-tutt .desk-sdt { position:absolute; bottom:5%; left:8%; right:8%; height:35%; background: linear-gradient(180deg, #5a3a2a 0%, #2a1a10 100%); border-radius: 4px 4px 0 0; box-shadow: 0 -10px 30px rgba(0,0,0,0.5); }
.scn-summons-debate-tutt .figure-left-sdt { position:absolute; bottom:22%; left:22%; width:60px; height:140px; background: linear-gradient(180deg, #1a1a2a 0%, #0a0a1a 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: figure-tense-sdt 3s ease-in-out infinite; }
.scn-summons-debate-tutt .figure-right-sdt { position:absolute; bottom:20%; right:22%; width:70px; height:150px; background: linear-gradient(180deg, #2a2a3a 0%, #1a1a2a 100%); border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: figure-relax-sdt 5s ease-in-out infinite alternate; }
.scn-summons-debate-tutt .gavel-sdt { position:absolute; bottom:18%; left:50%; width:40px; height:20px; transform:translateX(-50%); background: #5a3a2a; border-radius: 4px; box-shadow: 0 4px 8px rgba(0,0,0,0.4); animation: gavel-tap-sdt 7s ease-in-out infinite; }
.scn-summons-debate-tutt .light-beam-sdt { position:absolute; top:0; left:20%; width:60%; height:100%; background: linear-gradient(135deg, rgba(255,255,255,0.4) 0%, transparent 100%); clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%); animation: beam-shift-sdt 8s ease-in-out infinite alternate; }
@keyframes blinds-move-sdt { 0% { transform: translateY(0) } 50% { transform: translateY(2px) } 100% { transform: translateY(-2px) } }
@keyframes figure-tense-sdt { 0% { transform: translateX(0) rotate(-1deg) } 30% { transform: translateX(3px) rotate(1deg) } 60% { transform: translateX(-2px) rotate(-2deg) } 100% { transform: translateX(0) rotate(0deg) } }
@keyframes figure-relax-sdt { 0% { transform: translateY(0) } 50% { transform: translateY(-4px) } 100% { transform: translateY(0) } }
@keyframes gavel-tap-sdt { 0%, 100% { transform: translateX(-50%) rotate(0deg) } 25% { transform: translateX(-50%) rotate(-12deg) } 75% { transform: translateX(-50%) rotate(12deg) } }
@keyframes beam-shift-sdt { 0% { transform: skewX(-6deg) } 50% { transform: skewX(0deg) } 100% { transform: skewX(6deg) } }

.scn-unwritten-law-discussion { background: linear-gradient(180deg, #fdfbf7 0%, #e8dccc 50%, #c3a88a 100%), radial-gradient(ellipse at 80% 20%, #fff8f0 0%, transparent 60%); }
.scn-unwritten-law-discussion .bg-books-uld { position:absolute; inset:0; background: repeating-linear-gradient(90deg, #8b5a2b 0px, #8b5a2b 30px, #7a4a1a 30px, #7a4a1a 32px); opacity:0.15; }
.scn-unwritten-law-discussion .window-uld { position:absolute; top:8%; right:10%; width:200px; height:260px; background: linear-gradient(180deg, #e0f0ff 0%, #fff8f0 100%); border-radius: 8px; box-shadow: 0 0 60px 30px rgba(255,248,240,0.3); animation: window-glow-uld 8s ease-in-out infinite alternate; }
.scn-unwritten-law-discussion .figure-tutt-uld { position:absolute; bottom:15%; left:12%; width:80px; height:160px; background: linear-gradient(180deg, #4a3a2a 0%, #2a1a10 100%); border-radius: 45% 45% 35% 35% / 60% 60% 40% 40%; transform-origin: bottom center; animation: tutt-ponder-uld 12s ease-in-out infinite; }
.scn-unwritten-law-discussion .figure-wiggin-uld { position:absolute; bottom:15%; right:18%; width:70px; height:140px; background: linear-gradient(180deg, #5a4a3a 0%, #3a2a1a 100%); border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%; transform-origin: bottom center; animation: wiggin-listen-uld 9s ease-in-out infinite; }
.scn-unwritten-law-discussion .table-uld { position:absolute; bottom:15%; left:35%; right:35%; height:18%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.scn-unwritten-law-discussion .mote-1-uld { position:absolute; top:30%; left:20%; width:6px; height:6px; background: #fff8f0; border-radius:50%; filter: blur(2px); box-shadow: 0 0 10px 2px rgba(255,248,240,0.5); animation: drift-1-uld 35s linear infinite; }
.scn-unwritten-law-discussion .mote-2-uld { position:absolute; top:60%; left:70%; width:5px; height:5px; background: #fff8f0; border-radius:50%; filter: blur(2px); box-shadow: 0 0 8px 2px rgba(255,248,240,0.4); animation: drift-2-uld 45s linear infinite; }
@keyframes window-glow-uld { 0% { opacity:0.7; box-shadow: 0 0 40px 20px rgba(255,248,240,0.2); } 50% { opacity:1; box-shadow: 0 0 80px 40px rgba(255,248,240,0.5); } 100% { opacity:0.8; box-shadow: 0 0 60px 30px rgba(255,248,240,0.3); } }
@keyframes tutt-ponder-uld { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(-3px) rotate(3deg); } 50% { transform: translateY(-5px) rotate(0deg); } 75% { transform: translateY(-3px) rotate(-3deg); } 100% { transform: translateY(0) rotate(0deg); } }
@keyframes wiggin-listen-uld { 0% { transform: translateY(0) skewX(0deg); } 50% { transform: translateY(-4px) skewX(2deg); } 100% { transform: translateY(0) skewX(0deg); } }
@keyframes drift-1-uld { 0% { transform: translate(0, 0) scale(1); opacity:0; } 10% { opacity:0.9; } 90% { opacity:0.9; } 100% { transform: translate(120px, -60px) scale(1.5); opacity:0; } }
@keyframes drift-2-uld { 0% { transform: translate(0, 0) scale(1.2); opacity:0.8; } 100% { transform: translate(-100px, 80px) scale(0.4); opacity:0; } }

.scn-pumpelly-summons-served { background: radial-gradient(ellipse at 50% 0%, #eaddcf 0%, #6a4a3a 50%, #2a1a10 100%), linear-gradient(180deg, #c87d37 0%, transparent 100%); }
.scn-pumpelly-summons-served .bg-warm-pss { position:absolute; inset:0; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.5) 100%); }
.scn-pumpelly-summons-served .poster-pss { position:absolute; top:12%; left:50%; width:130px; height:170px; transform:translateX(-50%); background: linear-gradient(180deg, #eaddcf 0%, #cba37a 100%); border: 6px solid #3a2a1a; border-radius: 4px; box-shadow: 0 8px 24px rgba(0,0,0,0.6); animation: poster-wobble-pss 6s cubic-bezier(0.25, 0.1, 0.25, 1) infinite; }
.scn-pumpelly-summons-served .figure-bonnie-pss { position:absolute; bottom:12%; left:15%; width:70px; height:140px; background: linear-gradient(180deg, #5a4a3a 0%, #2a1a10 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: bumble-walk-pss 4s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite; }
.scn-pumpelly-summons-served .magnifying-glass-pss { position:absolute; bottom:45%; left:35%; width:60px; height:60px; border: 8px solid #8b5a2b; border-radius:50%; background: rgba(255,248,240,0.15); box-shadow: 0 0 30px 8px rgba(255,248,240,0.1); animation: glass-swing-pss 5s ease-in-out infinite; }
.scn-pumpelly-summons-served .desk-clutter-pss { position:absolute; bottom:3%; left:8%; right:8%; height:22%; background: linear-gradient(180deg, #6a4a3a 0%, #3a2a1a 100%); border-radius: 8px; box-shadow: inset 0 4px 16px rgba(0,0,0,0.6); }
.scn-pumpelly-summons-served .lamp-pss { position:absolute; top:0; left:50%; width:12px; height:50px; background: #2a1a10; transform-origin: top center; transform: translateX(-50%); animation: lamp-swing-pss 3s ease-in-out infinite alternate; z-index:2; }
.scn-pumpelly-summons-served .lamp-light-pss { position:absolute; top:50px; left:50%; width:80px; height:60px; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 0%, #f2c79a 0%, transparent 100%); border-radius: 50%; animation: lamp-swing-pss 3s ease-in-out infinite alternate; }
.scn-pumpelly-summons-served .shadow-play-pss { position:absolute; inset:0; background: repeating-linear-gradient(45deg, transparent 0px, transparent 12px, rgba(0,0,0,0.08) 12px, rgba(0,0,0,0.15) 18px); animation: shadow-dance-pss 4s ease-in-out infinite; }
@keyframes poster-wobble-pss { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(3deg); } 50% { transform: translateX(-50%) rotate(-3deg); } 75% { transform: translateX(-50%) rotate(2deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes bumble-walk-pss { 0% { transform: translateX(0) rotate(0deg) scale(1); } 20% { transform: translateX(15px) rotate(6deg) scale(1.02); } 40% { transform: translateX(30px) rotate(-6deg) scale(0.98); } 60% { transform: translateX(45px) rotate(4deg) scale(1.01); } 80% { transform: translateX(60px) rotate(-4deg) scale(0.99); } 100% { transform: translateX(80px) rotate(0deg) scale(1); } }
@keyframes glass-swing-pss { 0% { transform: translate(0, 0) rotate(-15deg); } 50% { transform: translate(15px, -15px) rotate(15deg); } 100% { transform: translate(0, 0) rotate(-15deg); } }
@keyframes lamp-swing-pss { 0% { transform: translateX(-50%) rotate(-20deg); } 50% { transform: translateX(-50%) rotate(20deg); } 100% { transform: translateX(-50%) rotate(-20deg); } }
@keyframes shadow-dance-pss { 0% { opacity: 0.3; } 50% { opacity: 0.9; } 100% { opacity: 0.3; } }

.scn-item-pumpelly-summons { background: linear-gradient(180deg, #4a5b63 0%, #3a454a 50%, #2c353a 100%), radial-gradient(ellipse at 20% 80%, #5a6b73 0%, transparent 60%); }
.scn-item-pumpelly-summons .bg-dim-ips { position:absolute; inset:0; background: linear-gradient(135deg, transparent 60%, rgba(0,0,0,0.4) 100%); }
.scn-item-pumpelly-summons .document-ips { position:absolute; top:8%; left:50%; width:160px; height:220px; transform: translateX(-50%); background: linear-gradient(180deg, #eaddcf 0%, #cba37a 100%); border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,0.6); animation: document-sway-ips 8s ease-in-out infinite; transform-origin: top center; z-index:2; }
.scn-item-pumpelly-summons .clerk-ips { position:absolute; bottom:8%; right:10%; width:80px; height:140px; background: linear-gradient(180deg, #3a454a 0%, #1a2022 100%); border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%; transform-origin: bottom center; animation: clerk-hunch-ips 6s ease-in-out infinite; }
.scn-item-pumpelly-summons .inkwell-ips { position:absolute; bottom:18%; left:35%; width:34px; height:34px; background: #1a1a1a; border-radius: 50% 50% 20% 20%; box-shadow: 0 6px 12px rgba(0,0,0,0.6); animation: inkwell-tip-ips 10s ease-in-out infinite; transform-origin: bottom center; z-index:3; }
.scn-item-pumpelly-summons .animal-ips { position:absolute; bottom:4%; left:5%; width:40px; height:18px; background: #2a1a10; border-radius: 50% 50% 30% 30%; animation: animal-dart-ips 3.5s steps(4) infinite; z-index:4; }
.scn-item-pumpelly-summons .dust-1-ips { position:absolute; top:40%; left:15%; width:5px; height:5px; background: #a88c7a; border-radius:50%; filter: blur(1px); animation: dust-swirl-ips 25s linear infinite; }
.scn-item-pumpelly-summons .dust-2-ips { position:absolute; top:70%; left:80%; width:4px; height:4px; background: #a88c7a; border-radius:50%; filter: blur(1px); animation: dust-swirl-ips 35s linear infinite reverse; }
@keyframes document-sway-ips { 0% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(2deg); } 50% { transform: translateX(-50%) rotate(-1deg); } 75% { transform: translateX(-50%) rotate(3deg); } 100% { transform: translateX(-50%) rotate(0deg); } }
@keyframes clerk-hunch-ips { 0% { transform: translateY(0) scale(1); } 50% { transform: translateY(6px) scale(0.95); } 100% { transform: translateY(0) scale(1); } }
@keyframes inkwell-tip-ips { 0% { transform: rotate(0deg); } 15% { transform: rotate(18deg); } 30% { transform: rotate(-12deg); } 45% { transform: rotate(6deg); } 60% { transform: rotate(-6deg); } 100% { transform: rotate(0deg); } }
@keyframes animal-dart-ips { 0% { transform: translateX(0); } 25% { transform: translateX(60px); } 50% { transform: translateX(120px); } 75% { transform: translateX(60px); } 100% { transform: translateX(0); } }
@keyframes dust-swirl-ips { 0% { transform: translate(0, 0) scale(1); opacity: 0; } 10% { opacity: 0.7; } 90% { opacity: 0.7; } 100% { transform: translate(-30px, -50px) scale(2.5); opacity: 0; } }
/* end per-scene blocks */
